mirror of
https://github.com/NoFxAiOS/nofx.git
synced 2026-07-03 11:00:58 +08:00
Initial commit: NOFX AI Trading System
- Multi-AI competition mode (Qwen vs DeepSeek) - Binance Futures integration - AI self-learning mechanism - Professional web dashboard - Complete risk management system
This commit is contained in:
89
web/node_modules/tailwindcss/lib/lib/normalizeTailwindDirectives.js
generated
vendored
Normal file
89
web/node_modules/tailwindcss/lib/lib/normalizeTailwindDirectives.js
generated
vendored
Normal file
@@ -0,0 +1,89 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "default", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return normalizeTailwindDirectives;
|
||||
}
|
||||
});
|
||||
const _log = /*#__PURE__*/ _interop_require_default(require("../util/log"));
|
||||
function _interop_require_default(obj) {
|
||||
return obj && obj.__esModule ? obj : {
|
||||
default: obj
|
||||
};
|
||||
}
|
||||
function normalizeTailwindDirectives(root) {
|
||||
let tailwindDirectives = new Set();
|
||||
let layerDirectives = new Set();
|
||||
let applyDirectives = new Set();
|
||||
root.walkAtRules((atRule)=>{
|
||||
if (atRule.name === "apply") {
|
||||
applyDirectives.add(atRule);
|
||||
}
|
||||
if (atRule.name === "import") {
|
||||
if (atRule.params === '"tailwindcss/base"' || atRule.params === "'tailwindcss/base'") {
|
||||
atRule.name = "tailwind";
|
||||
atRule.params = "base";
|
||||
} else if (atRule.params === '"tailwindcss/components"' || atRule.params === "'tailwindcss/components'") {
|
||||
atRule.name = "tailwind";
|
||||
atRule.params = "components";
|
||||
} else if (atRule.params === '"tailwindcss/utilities"' || atRule.params === "'tailwindcss/utilities'") {
|
||||
atRule.name = "tailwind";
|
||||
atRule.params = "utilities";
|
||||
} else if (atRule.params === '"tailwindcss/screens"' || atRule.params === "'tailwindcss/screens'" || atRule.params === '"tailwindcss/variants"' || atRule.params === "'tailwindcss/variants'") {
|
||||
atRule.name = "tailwind";
|
||||
atRule.params = "variants";
|
||||
}
|
||||
}
|
||||
if (atRule.name === "tailwind") {
|
||||
if (atRule.params === "screens") {
|
||||
atRule.params = "variants";
|
||||
}
|
||||
tailwindDirectives.add(atRule.params);
|
||||
}
|
||||
if ([
|
||||
"layer",
|
||||
"responsive",
|
||||
"variants"
|
||||
].includes(atRule.name)) {
|
||||
if ([
|
||||
"responsive",
|
||||
"variants"
|
||||
].includes(atRule.name)) {
|
||||
_log.default.warn(`${atRule.name}-at-rule-deprecated`, [
|
||||
`The \`@${atRule.name}\` directive has been deprecated in Tailwind CSS v3.0.`,
|
||||
`Use \`@layer utilities\` or \`@layer components\` instead.`,
|
||||
"https://tailwindcss.com/docs/upgrade-guide#replace-variants-with-layer"
|
||||
]);
|
||||
}
|
||||
layerDirectives.add(atRule);
|
||||
}
|
||||
});
|
||||
if (!tailwindDirectives.has("base") || !tailwindDirectives.has("components") || !tailwindDirectives.has("utilities")) {
|
||||
for (let rule of layerDirectives){
|
||||
if (rule.name === "layer" && [
|
||||
"base",
|
||||
"components",
|
||||
"utilities"
|
||||
].includes(rule.params)) {
|
||||
if (!tailwindDirectives.has(rule.params)) {
|
||||
throw rule.error(`\`@layer ${rule.params}\` is used but no matching \`@tailwind ${rule.params}\` directive is present.`);
|
||||
}
|
||||
} else if (rule.name === "responsive") {
|
||||
if (!tailwindDirectives.has("utilities")) {
|
||||
throw rule.error("`@responsive` is used but `@tailwind utilities` is missing.");
|
||||
}
|
||||
} else if (rule.name === "variants") {
|
||||
if (!tailwindDirectives.has("utilities")) {
|
||||
throw rule.error("`@variants` is used but `@tailwind utilities` is missing.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return {
|
||||
tailwindDirectives,
|
||||
applyDirectives
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user