tailwindcss 0.0.0-insiders.ea10bb9 → 0.0.0-insiders.ea3d9cd
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/index.css +5 -0
- package/lib/cli/build/index.js +23 -10
- package/lib/cli/build/plugin.js +136 -117
- package/lib/cli/build/utils.js +18 -8
- package/lib/cli/build/watching.js +16 -12
- package/lib/cli/help/index.js +6 -4
- package/lib/cli/index.js +223 -10
- package/lib/cli/init/index.js +29 -12
- package/lib/cli.js +1 -227
- package/lib/corePluginList.js +8 -1
- package/lib/corePlugins.js +374 -77
- package/lib/css/preflight.css +9 -1
- package/lib/featureFlags.js +30 -17
- package/lib/index.js +1 -47
- package/lib/lib/cacheInvalidation.js +7 -5
- package/lib/lib/collapseAdjacentRules.js +5 -3
- package/lib/lib/collapseDuplicateDeclarations.js +12 -10
- package/lib/lib/content.js +61 -31
- package/lib/lib/defaultExtractor.js +15 -8
- package/lib/lib/detectNesting.js +10 -2
- package/lib/lib/evaluateTailwindFunctions.js +24 -20
- package/lib/lib/expandApplyAtRules.js +43 -35
- package/lib/lib/expandTailwindAtRules.js +89 -22
- package/lib/lib/findAtConfigPath.js +9 -7
- package/lib/lib/generateRules.js +160 -98
- package/lib/lib/getModuleDependencies.js +85 -37
- package/lib/lib/handleImportAtRules.js +50 -0
- package/lib/lib/load-config.js +42 -0
- package/lib/lib/normalizeTailwindDirectives.js +5 -18
- package/lib/lib/offsets.js +93 -4
- package/lib/lib/partitionApplyAtRules.js +3 -1
- package/lib/lib/regex.js +21 -7
- package/lib/lib/remap-bitfield.js +89 -0
- package/lib/lib/resolveDefaultsAtRules.js +28 -24
- package/lib/lib/setupContextUtils.js +191 -142
- package/lib/lib/setupTrackingContext.js +50 -26
- package/lib/lib/sharedState.js +28 -9
- package/lib/lib/substituteScreenAtRules.js +5 -3
- package/lib/plugin.js +116 -0
- package/lib/postcss-plugins/nesting/index.js +3 -1
- package/lib/postcss-plugins/nesting/plugin.js +10 -8
- package/lib/processTailwindFeatures.js +14 -12
- package/lib/public/colors.js +49 -25
- package/lib/public/create-plugin.js +5 -3
- package/lib/public/default-config.js +6 -4
- package/lib/public/default-theme.js +6 -4
- package/lib/public/load-config.js +12 -0
- package/lib/public/resolve-config.js +6 -4
- package/lib/util/applyImportantSelector.js +36 -0
- package/lib/util/bigSign.js +3 -1
- package/lib/util/buildMediaQuery.js +3 -1
- package/lib/util/cloneDeep.js +3 -1
- package/lib/util/cloneNodes.js +5 -3
- package/lib/util/color.js +30 -12
- package/lib/util/colorNames.js +752 -0
- package/lib/util/configurePlugins.js +3 -1
- package/lib/util/createPlugin.js +3 -1
- package/lib/util/createUtilityPlugin.js +7 -5
- package/lib/util/dataTypes.js +88 -23
- package/lib/util/defaults.js +9 -7
- package/lib/util/escapeClassName.js +10 -8
- package/lib/util/escapeCommas.js +3 -1
- package/lib/util/flattenColorPalette.js +3 -1
- package/lib/util/formatVariantSelector.js +138 -160
- package/lib/util/getAllConfigs.js +8 -6
- package/lib/util/hashConfig.js +6 -4
- package/lib/util/isKeyframeRule.js +3 -1
- package/lib/util/isPlainObject.js +3 -1
- package/lib/util/isSyntacticallyValidPropertyValue.js +3 -1
- package/lib/util/log.js +25 -4
- package/lib/util/nameClass.js +12 -6
- package/lib/util/negateValue.js +4 -2
- package/lib/util/normalizeConfig.js +63 -36
- package/lib/util/normalizeScreens.js +12 -4
- package/lib/util/parseAnimationValue.js +3 -1
- package/lib/util/parseBoxShadowValue.js +6 -2
- package/lib/util/parseDependency.js +3 -1
- package/lib/util/parseGlob.js +6 -4
- package/lib/util/parseObjectStyles.js +9 -7
- package/lib/util/pluginUtils.js +53 -55
- package/lib/util/prefixSelector.js +27 -11
- package/lib/util/pseudoElements.js +209 -0
- package/lib/util/removeAlphaVariables.js +3 -1
- package/lib/util/resolveConfig.js +17 -15
- package/lib/util/resolveConfigPath.js +26 -10
- package/lib/util/responsive.js +6 -4
- package/lib/util/splitAtTopLevelOnly.js +10 -2
- package/lib/util/tap.js +3 -1
- package/lib/util/toColorValue.js +3 -1
- package/lib/util/toPath.js +3 -1
- package/lib/util/transformThemeValue.js +6 -4
- package/lib/util/validateConfig.js +27 -3
- package/lib/util/validateFormalSyntax.js +3 -1
- package/lib/util/withAlphaVariable.js +6 -2
- package/lib/value-parser/LICENSE +22 -0
- package/lib/value-parser/README.md +3 -0
- package/lib/value-parser/index.d.js +2 -0
- package/lib/value-parser/index.js +22 -0
- package/lib/value-parser/parse.js +259 -0
- package/lib/value-parser/stringify.js +38 -0
- package/lib/value-parser/unit.js +86 -0
- package/lib/value-parser/walk.js +16 -0
- package/loadConfig.d.ts +4 -0
- package/loadConfig.js +2 -0
- package/package.json +46 -45
- package/resolveConfig.d.ts +11 -2
- package/src/cli/build/index.js +17 -9
- package/src/cli/build/plugin.js +96 -73
- package/src/cli/build/watching.js +4 -2
- package/src/cli/index.js +217 -3
- package/src/cli/init/index.js +37 -8
- package/src/cli.js +1 -221
- package/src/corePluginList.js +1 -1
- package/src/corePlugins.js +237 -34
- package/src/css/preflight.css +9 -1
- package/src/featureFlags.js +7 -3
- package/src/index.js +1 -47
- package/src/lib/content.js +45 -18
- package/src/lib/defaultExtractor.js +9 -3
- package/src/lib/detectNesting.js +9 -1
- package/src/lib/evaluateTailwindFunctions.js +4 -1
- package/src/lib/expandApplyAtRules.js +8 -1
- package/src/lib/expandTailwindAtRules.js +73 -12
- package/src/lib/generateRules.js +127 -49
- package/src/lib/getModuleDependencies.js +70 -30
- package/src/lib/handleImportAtRules.js +34 -0
- package/src/lib/load-config.ts +31 -0
- package/src/lib/normalizeTailwindDirectives.js +0 -27
- package/src/lib/offsets.js +104 -1
- package/src/lib/remap-bitfield.js +82 -0
- package/src/lib/setupContextUtils.js +109 -69
- package/src/lib/setupTrackingContext.js +37 -14
- package/src/lib/sharedState.js +11 -4
- package/src/plugin.js +124 -0
- package/src/public/colors.js +22 -0
- package/src/public/default-config.js +1 -1
- package/src/public/default-theme.js +2 -2
- package/src/public/load-config.js +2 -0
- package/src/util/applyImportantSelector.js +27 -0
- package/src/util/color.js +18 -3
- package/src/util/colorNames.js +150 -0
- package/src/util/dataTypes.js +49 -9
- package/src/util/formatVariantSelector.js +160 -163
- package/src/util/getAllConfigs.js +2 -2
- package/src/util/log.js +24 -0
- package/src/util/negateValue.js +1 -1
- package/src/util/normalizeConfig.js +39 -11
- package/src/util/pluginUtils.js +16 -35
- package/src/util/prefixSelector.js +28 -10
- package/src/util/pseudoElements.js +167 -0
- package/src/util/resolveConfigPath.js +12 -1
- package/src/util/splitAtTopLevelOnly.js +8 -1
- package/src/util/validateConfig.js +23 -0
- package/src/value-parser/LICENSE +22 -0
- package/src/value-parser/README.md +3 -0
- package/src/value-parser/index.d.ts +177 -0
- package/src/value-parser/index.js +28 -0
- package/src/value-parser/parse.js +303 -0
- package/src/value-parser/stringify.js +41 -0
- package/src/value-parser/unit.js +118 -0
- package/src/value-parser/walk.js +18 -0
- package/stubs/.gitignore +1 -0
- package/stubs/.prettierrc.json +6 -0
- package/stubs/{defaultConfig.stub.js → config.full.js} +197 -147
- package/stubs/{simpleConfig.stub.js → config.simple.js} +1 -2
- package/stubs/{defaultPostCssConfig.stub.js → postcss.config.cjs} +0 -1
- package/stubs/postcss.config.js +5 -0
- package/stubs/tailwind.config.cjs +2 -0
- package/stubs/tailwind.config.js +2 -0
- package/stubs/tailwind.config.ts +3 -0
- package/types/config.d.ts +17 -10
- package/types/generated/colors.d.ts +22 -0
- package/types/generated/corePluginList.d.ts +1 -1
- package/types/generated/default-theme.d.ts +110 -80
- package/CHANGELOG.md +0 -2336
- package/lib/cli/build/deps.js +0 -54
- package/lib/cli/shared.js +0 -12
- package/lib/cli-peer-dependencies.js +0 -28
- package/lib/constants.js +0 -44
- package/peers/index.js +0 -79512
- package/scripts/install-integrations.js +0 -27
- package/scripts/rebuildFixtures.js +0 -68
- package/src/cli/build/deps.js +0 -56
- package/src/cli/shared.js +0 -5
- package/src/cli-peer-dependencies.js +0 -15
- package/src/constants.js +0 -17
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
<p align="center">
|
|
17
|
-
<a href="https://github.com/tailwindlabs/tailwindcss/actions"><img src="https://img.shields.io/github/workflow/status/tailwindlabs/tailwindcss/
|
|
17
|
+
<a href="https://github.com/tailwindlabs/tailwindcss/actions"><img src="https://img.shields.io/github/actions/workflow/status/tailwindlabs/tailwindcss/ci.yml?branch=master" alt="Build Status"></a>
|
|
18
18
|
<a href="https://www.npmjs.com/package/tailwindcss"><img src="https://img.shields.io/npm/dt/tailwindcss.svg" alt="Total Downloads"></a>
|
|
19
19
|
<a href="https://github.com/tailwindcss/tailwindcss/releases"><img src="https://img.shields.io/npm/v/tailwindcss.svg" alt="Latest Release"></a>
|
|
20
20
|
<a href="https://github.com/tailwindcss/tailwindcss/blob/master/LICENSE"><img src="https://img.shields.io/npm/l/tailwindcss.svg" alt="License"></a>
|
package/index.css
ADDED
package/lib/cli/build/index.js
CHANGED
|
@@ -5,17 +5,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
Object.defineProperty(exports, "build", {
|
|
7
7
|
enumerable: true,
|
|
8
|
-
get: ()
|
|
8
|
+
get: function() {
|
|
9
|
+
return build;
|
|
10
|
+
}
|
|
9
11
|
});
|
|
10
|
-
const _fs = /*#__PURE__*/
|
|
11
|
-
const _path = /*#__PURE__*/
|
|
12
|
-
const
|
|
13
|
-
|
|
12
|
+
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
13
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
14
|
+
const _resolveConfigPath = require("../../util/resolveConfigPath.js");
|
|
15
|
+
const _plugin = require("./plugin.js");
|
|
16
|
+
function _interop_require_default(obj) {
|
|
14
17
|
return obj && obj.__esModule ? obj : {
|
|
15
18
|
default: obj
|
|
16
19
|
};
|
|
17
20
|
}
|
|
18
|
-
async function build(args
|
|
21
|
+
async function build(args) {
|
|
19
22
|
let input = args["--input"];
|
|
20
23
|
let shouldWatch = args["--watch"];
|
|
21
24
|
// TODO: Deprecate this in future versions
|
|
@@ -31,14 +34,24 @@ async function build(args, configs) {
|
|
|
31
34
|
console.error(`Specified config file ${args["--config"]} does not exist.`);
|
|
32
35
|
process.exit(9);
|
|
33
36
|
}
|
|
37
|
+
if (args["--no-autoprefixer"]) {
|
|
38
|
+
console.error("[deprecation] The --no-autoprefixer flag is deprecated and has no effect.");
|
|
39
|
+
}
|
|
34
40
|
// TODO: Reference the @config path here if exists
|
|
35
|
-
let configPath = args["--config"] ? args["--config"] : (
|
|
36
|
-
let processor = await (0,
|
|
41
|
+
let configPath = args["--config"] ? args["--config"] : (0, _resolveConfigPath.resolveDefaultConfigPath)();
|
|
42
|
+
let processor = await (0, _plugin.createProcessor)(args, configPath);
|
|
37
43
|
if (shouldWatch) {
|
|
38
|
-
|
|
44
|
+
// Abort the watcher if stdin is closed to avoid zombie processes
|
|
45
|
+
// You can disable this behavior with --watch=always
|
|
46
|
+
if (args["--watch"] !== "always") {
|
|
47
|
+
process.stdin.on("end", ()=>process.exit(0));
|
|
48
|
+
}
|
|
39
49
|
process.stdin.resume();
|
|
40
50
|
await processor.watch();
|
|
41
51
|
} else {
|
|
42
|
-
await processor.build()
|
|
52
|
+
await processor.build().catch((e)=>{
|
|
53
|
+
console.error(e);
|
|
54
|
+
process.exit(1);
|
|
55
|
+
});
|
|
43
56
|
}
|
|
44
57
|
}
|
package/lib/cli/build/plugin.js
CHANGED
|
@@ -5,32 +5,69 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
Object.defineProperty(exports, "createProcessor", {
|
|
7
7
|
enumerable: true,
|
|
8
|
-
get: ()
|
|
8
|
+
get: function() {
|
|
9
|
+
return createProcessor;
|
|
10
|
+
}
|
|
9
11
|
});
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
12
|
+
const _packagejson = /*#__PURE__*/ _interop_require_default(require("../../../package.json"));
|
|
13
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
14
|
+
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
15
|
+
const _postcss = /*#__PURE__*/ _interop_require_default(require("postcss"));
|
|
16
|
+
const _postcssloadconfig = /*#__PURE__*/ _interop_require_default(require("postcss-load-config"));
|
|
17
|
+
const _browserslist = /*#__PURE__*/ _interop_require_default(require("browserslist"));
|
|
18
|
+
const _lightningcss = /*#__PURE__*/ _interop_require_default(require("lightningcss"));
|
|
13
19
|
const _lilconfig = require("lilconfig");
|
|
14
|
-
const _plugins = /*#__PURE__*/
|
|
20
|
+
const _plugins = /*#__PURE__*/ _interop_require_default(require("postcss-load-config/src/plugins" // Little bit scary, looking at private/internal API
|
|
15
21
|
));
|
|
16
|
-
const _options = /*#__PURE__*/
|
|
22
|
+
const _options = /*#__PURE__*/ _interop_require_default(require("postcss-load-config/src/options" // Little bit scary, looking at private/internal API
|
|
17
23
|
));
|
|
18
|
-
const _processTailwindFeatures = /*#__PURE__*/
|
|
19
|
-
const _deps = require("./deps");
|
|
24
|
+
const _processTailwindFeatures = /*#__PURE__*/ _interop_require_default(require("../../processTailwindFeatures"));
|
|
20
25
|
const _utils = require("./utils");
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
const
|
|
27
|
-
const
|
|
28
|
-
const
|
|
29
|
-
|
|
26
|
+
const _sharedState = require("../../lib/sharedState");
|
|
27
|
+
const _resolveConfig = /*#__PURE__*/ _interop_require_default(require("../../../resolveConfig.js"));
|
|
28
|
+
const _content = require("../../lib/content.js");
|
|
29
|
+
const _watching = require("./watching.js");
|
|
30
|
+
const _fastglob = /*#__PURE__*/ _interop_require_default(require("fast-glob"));
|
|
31
|
+
const _findAtConfigPath = require("../../lib/findAtConfigPath.js");
|
|
32
|
+
const _log = /*#__PURE__*/ _interop_require_default(require("../../util/log"));
|
|
33
|
+
const _loadconfig = require("../../lib/load-config");
|
|
34
|
+
const _getModuleDependencies = /*#__PURE__*/ _interop_require_default(require("../../lib/getModuleDependencies"));
|
|
35
|
+
const _validateConfig = require("../../util/validateConfig");
|
|
36
|
+
const _handleImportAtRules = require("../../lib/handleImportAtRules");
|
|
37
|
+
const _featureFlags = require("../../featureFlags");
|
|
38
|
+
function _interop_require_default(obj) {
|
|
30
39
|
return obj && obj.__esModule ? obj : {
|
|
31
40
|
default: obj
|
|
32
41
|
};
|
|
33
42
|
}
|
|
43
|
+
async function lightningcss(result, { map =true , minify =true } = {}) {
|
|
44
|
+
try {
|
|
45
|
+
let transformed = _lightningcss.default.transform({
|
|
46
|
+
filename: result.opts.from || "input.css",
|
|
47
|
+
code: Buffer.from(result.css, "utf-8"),
|
|
48
|
+
minify,
|
|
49
|
+
sourceMap: result.map === undefined ? map : !!result.map,
|
|
50
|
+
inputSourceMap: result.map ? result.map.toString() : undefined,
|
|
51
|
+
targets: _lightningcss.default.browserslistToTargets((0, _browserslist.default)(_packagejson.default.browserslist)),
|
|
52
|
+
drafts: {
|
|
53
|
+
nesting: true
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
return Object.assign(result, {
|
|
57
|
+
css: transformed.code.toString("utf8"),
|
|
58
|
+
map: result.map ? Object.assign(result.map, {
|
|
59
|
+
toString () {
|
|
60
|
+
var _transformed_map;
|
|
61
|
+
return (_transformed_map = transformed.map) === null || _transformed_map === void 0 ? void 0 : _transformed_map.toString();
|
|
62
|
+
}
|
|
63
|
+
}) : result.map
|
|
64
|
+
});
|
|
65
|
+
} catch (err) {
|
|
66
|
+
console.error("Unable to use Lightning CSS. Using raw version instead.");
|
|
67
|
+
console.error(err);
|
|
68
|
+
return result;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
34
71
|
/**
|
|
35
72
|
*
|
|
36
73
|
* @param {string} [customPostCssPath ]
|
|
@@ -54,7 +91,7 @@ function _interopRequireDefault(obj) {
|
|
|
54
91
|
plugins: (0, _plugins.default)(config, file),
|
|
55
92
|
options: (0, _options.default)(config, file)
|
|
56
93
|
};
|
|
57
|
-
})() : await (0,
|
|
94
|
+
})() : await (0, _postcssloadconfig.default)();
|
|
58
95
|
let configPlugins = config.plugins;
|
|
59
96
|
let configPluginTailwindIdx = configPlugins.findIndex((plugin)=>{
|
|
60
97
|
if (typeof plugin === "function" && plugin.name === "tailwindcss") {
|
|
@@ -73,48 +110,16 @@ function _interopRequireDefault(obj) {
|
|
|
73
110
|
config.options
|
|
74
111
|
];
|
|
75
112
|
}
|
|
76
|
-
function loadBuiltinPostcssPlugins() {
|
|
77
|
-
let postcss = (0, _deps.loadPostcss)();
|
|
78
|
-
let IMPORT_COMMENT = "__TAILWIND_RESTORE_IMPORT__: ";
|
|
79
|
-
return [
|
|
80
|
-
[
|
|
81
|
-
(root)=>{
|
|
82
|
-
root.walkAtRules("import", (rule)=>{
|
|
83
|
-
if (rule.params.slice(1).startsWith("tailwindcss/")) {
|
|
84
|
-
rule.after(postcss.comment({
|
|
85
|
-
text: IMPORT_COMMENT + rule.params
|
|
86
|
-
}));
|
|
87
|
-
rule.remove();
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
},
|
|
91
|
-
(0, _deps.loadPostcssImport)(),
|
|
92
|
-
(root)=>{
|
|
93
|
-
root.walkComments((rule)=>{
|
|
94
|
-
if (rule.text.startsWith(IMPORT_COMMENT)) {
|
|
95
|
-
rule.after(postcss.atRule({
|
|
96
|
-
name: "import",
|
|
97
|
-
params: rule.text.replace(IMPORT_COMMENT, "")
|
|
98
|
-
}));
|
|
99
|
-
rule.remove();
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
],
|
|
104
|
-
[],
|
|
105
|
-
{}
|
|
106
|
-
];
|
|
107
|
-
}
|
|
108
113
|
let state = {
|
|
109
114
|
/** @type {any} */ context: null,
|
|
110
115
|
/** @type {ReturnType<typeof createWatcher> | null} */ watcher: null,
|
|
111
116
|
/** @type {{content: string, extension: string}[]} */ changedContent: [],
|
|
112
|
-
|
|
117
|
+
/** @type {{config: import('../../../types').Config, dependencies: Set<string>, dispose: Function } | null} */ configBag: null,
|
|
113
118
|
contextDependencies: new Set(),
|
|
114
119
|
/** @type {import('../../lib/content.js').ContentPath[]} */ contentPaths: [],
|
|
115
120
|
refreshContentPaths () {
|
|
116
|
-
var
|
|
117
|
-
this.contentPaths = (0,
|
|
121
|
+
var _this_context;
|
|
122
|
+
this.contentPaths = (0, _content.parseCandidateFiles)(this.context, (_this_context = this.context) === null || _this_context === void 0 ? void 0 : _this_context.tailwindConfig);
|
|
118
123
|
},
|
|
119
124
|
get config () {
|
|
120
125
|
return this.context.tailwindConfig;
|
|
@@ -127,44 +132,49 @@ let state = {
|
|
|
127
132
|
},
|
|
128
133
|
loadConfig (configPath, content) {
|
|
129
134
|
if (this.watcher && configPath) {
|
|
130
|
-
this.refreshConfigDependencies(
|
|
135
|
+
this.refreshConfigDependencies();
|
|
131
136
|
}
|
|
132
|
-
let config =
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
+
let config = (0, _loadconfig.loadConfig)(configPath);
|
|
138
|
+
let dependencies = (0, _getModuleDependencies.default)(configPath);
|
|
139
|
+
this.configBag = {
|
|
140
|
+
config,
|
|
141
|
+
dependencies,
|
|
142
|
+
dispose () {
|
|
143
|
+
for (let file of dependencies){
|
|
144
|
+
delete require.cache[require.resolve(file)];
|
|
145
|
+
}
|
|
137
146
|
}
|
|
138
|
-
}
|
|
147
|
+
};
|
|
148
|
+
this.configBag.config = (0, _validateConfig.validateConfig)((0, _resolveConfig.default)(this.configBag.config));
|
|
139
149
|
// Override content files if `--content` has been passed explicitly
|
|
140
150
|
if ((content === null || content === void 0 ? void 0 : content.length) > 0) {
|
|
141
|
-
config.content.files = content;
|
|
151
|
+
this.configBag.config.content.files = content;
|
|
142
152
|
}
|
|
143
|
-
return config;
|
|
153
|
+
return this.configBag.config;
|
|
144
154
|
},
|
|
145
|
-
refreshConfigDependencies (
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
if (configPath) {
|
|
151
|
-
let deps = (0, _getModuleDependenciesJs.default)(configPath).map(({ file })=>file);
|
|
152
|
-
for (let dependency of deps){
|
|
153
|
-
this.configDependencies.add(dependency);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
_shared.env.DEBUG && console.timeEnd("Module dependencies");
|
|
155
|
+
refreshConfigDependencies () {
|
|
156
|
+
var _this_configBag;
|
|
157
|
+
_sharedState.env.DEBUG && console.time("Module dependencies");
|
|
158
|
+
(_this_configBag = this.configBag) === null || _this_configBag === void 0 ? void 0 : _this_configBag.dispose();
|
|
159
|
+
_sharedState.env.DEBUG && console.timeEnd("Module dependencies");
|
|
157
160
|
},
|
|
158
161
|
readContentPaths () {
|
|
159
162
|
let content = [];
|
|
160
163
|
// Resolve globs from the content config
|
|
161
164
|
// TODO: When we make the postcss plugin async-capable this can become async
|
|
162
|
-
let files =
|
|
165
|
+
let files = _fastglob.default.sync(this.contentPatterns.all);
|
|
163
166
|
for (let file of files){
|
|
164
|
-
|
|
165
|
-
content
|
|
166
|
-
|
|
167
|
-
|
|
167
|
+
if ((0, _featureFlags.flagEnabled)(this.config, "oxideParser")) {
|
|
168
|
+
content.push({
|
|
169
|
+
file,
|
|
170
|
+
extension: _path.default.extname(file).slice(1)
|
|
171
|
+
});
|
|
172
|
+
} else {
|
|
173
|
+
content.push({
|
|
174
|
+
content: _fs.default.readFileSync(_path.default.resolve(file), "utf8"),
|
|
175
|
+
extension: _path.default.extname(file).slice(1)
|
|
176
|
+
});
|
|
177
|
+
}
|
|
168
178
|
}
|
|
169
179
|
// Resolve raw content in the tailwind config
|
|
170
180
|
let rawContent = this.config.content.files.filter((file)=>{
|
|
@@ -183,43 +193,45 @@ let state = {
|
|
|
183
193
|
this.context.changedContent = this.changedContent.splice(0);
|
|
184
194
|
return this.context;
|
|
185
195
|
}
|
|
186
|
-
|
|
187
|
-
var
|
|
188
|
-
let configPath = (
|
|
189
|
-
|
|
190
|
-
|
|
196
|
+
_sharedState.env.DEBUG && console.time("Searching for config");
|
|
197
|
+
var _findAtConfigPath1;
|
|
198
|
+
let configPath = (_findAtConfigPath1 = (0, _findAtConfigPath.findAtConfigPath)(root, result)) !== null && _findAtConfigPath1 !== void 0 ? _findAtConfigPath1 : cliConfigPath;
|
|
199
|
+
_sharedState.env.DEBUG && console.timeEnd("Searching for config");
|
|
200
|
+
_sharedState.env.DEBUG && console.time("Loading config");
|
|
191
201
|
let config = this.loadConfig(configPath, content);
|
|
192
|
-
|
|
193
|
-
|
|
202
|
+
_sharedState.env.DEBUG && console.timeEnd("Loading config");
|
|
203
|
+
_sharedState.env.DEBUG && console.time("Creating context");
|
|
194
204
|
this.context = createContext(config, []);
|
|
195
205
|
Object.assign(this.context, {
|
|
196
206
|
userConfigPath: configPath
|
|
197
207
|
});
|
|
198
|
-
|
|
199
|
-
|
|
208
|
+
_sharedState.env.DEBUG && console.timeEnd("Creating context");
|
|
209
|
+
_sharedState.env.DEBUG && console.time("Resolving content paths");
|
|
200
210
|
this.refreshContentPaths();
|
|
201
|
-
|
|
211
|
+
_sharedState.env.DEBUG && console.timeEnd("Resolving content paths");
|
|
202
212
|
if (this.watcher) {
|
|
203
|
-
|
|
213
|
+
_sharedState.env.DEBUG && console.time("Watch new files");
|
|
204
214
|
this.watcher.refreshWatchedFiles();
|
|
205
|
-
|
|
215
|
+
_sharedState.env.DEBUG && console.timeEnd("Watch new files");
|
|
206
216
|
}
|
|
207
|
-
_shared.env.DEBUG && console.time("Reading content files");
|
|
208
217
|
for (let file of this.readContentPaths()){
|
|
209
218
|
this.context.changedContent.push(file);
|
|
210
219
|
}
|
|
211
|
-
_shared.env.DEBUG && console.timeEnd("Reading content files");
|
|
212
220
|
return this.context;
|
|
213
221
|
}
|
|
214
222
|
};
|
|
215
223
|
async function createProcessor(args, cliConfigPath) {
|
|
216
|
-
var
|
|
217
|
-
let postcss = (0, _deps.loadPostcss)();
|
|
224
|
+
var _args_content;
|
|
218
225
|
let input = args["--input"];
|
|
219
226
|
let output = args["--output"];
|
|
220
227
|
let includePostCss = args["--postcss"];
|
|
221
228
|
let customPostCssPath = typeof args["--postcss"] === "string" ? args["--postcss"] : undefined;
|
|
222
|
-
let [beforePlugins, afterPlugins, postcssOptions] = includePostCss ? await loadPostCssPlugins(customPostCssPath) :
|
|
229
|
+
let [beforePlugins, afterPlugins, postcssOptions] = includePostCss ? await loadPostCssPlugins(customPostCssPath) : [
|
|
230
|
+
[],
|
|
231
|
+
[],
|
|
232
|
+
{}
|
|
233
|
+
];
|
|
234
|
+
beforePlugins.unshift(...(0, _handleImportAtRules.handleImportAtRules)());
|
|
223
235
|
if (args["--purge"]) {
|
|
224
236
|
_log.default.warn("purge-flag-deprecated", [
|
|
225
237
|
"The `--purge` flag has been deprecated.",
|
|
@@ -229,13 +241,13 @@ async function createProcessor(args, cliConfigPath) {
|
|
|
229
241
|
args["--content"] = args["--purge"];
|
|
230
242
|
}
|
|
231
243
|
}
|
|
232
|
-
var
|
|
233
|
-
let content = (
|
|
244
|
+
var _args_content_split;
|
|
245
|
+
let content = (_args_content_split = (_args_content = args["--content"]) === null || _args_content === void 0 ? void 0 : _args_content.split(/(?<!{[^}]+),/)) !== null && _args_content_split !== void 0 ? _args_content_split : [];
|
|
234
246
|
let tailwindPlugin = ()=>{
|
|
235
247
|
return {
|
|
236
248
|
postcssPlugin: "tailwindcss",
|
|
237
249
|
Once (root, { result }) {
|
|
238
|
-
|
|
250
|
+
_sharedState.env.DEBUG && console.time("Compiling CSS");
|
|
239
251
|
(0, _processTailwindFeatures.default)(({ createContext })=>{
|
|
240
252
|
console.error();
|
|
241
253
|
console.error("Rebuilding...");
|
|
@@ -249,7 +261,7 @@ async function createProcessor(args, cliConfigPath) {
|
|
|
249
261
|
});
|
|
250
262
|
};
|
|
251
263
|
})(root, result);
|
|
252
|
-
|
|
264
|
+
_sharedState.env.DEBUG && console.timeEnd("Compiling CSS");
|
|
253
265
|
}
|
|
254
266
|
};
|
|
255
267
|
};
|
|
@@ -258,12 +270,10 @@ async function createProcessor(args, cliConfigPath) {
|
|
|
258
270
|
...beforePlugins,
|
|
259
271
|
tailwindPlugin,
|
|
260
272
|
!args["--minify"] && _utils.formatNodes,
|
|
261
|
-
...afterPlugins
|
|
262
|
-
!args["--no-autoprefixer"] && (0, _deps.loadAutoprefixer)(),
|
|
263
|
-
args["--minify"] && (0, _deps.loadCssNano)()
|
|
273
|
+
...afterPlugins
|
|
264
274
|
].filter(Boolean);
|
|
265
275
|
/** @type {import('postcss').Processor} */ // @ts-ignore
|
|
266
|
-
let processor =
|
|
276
|
+
let processor = (0, _postcss.default)(plugins);
|
|
267
277
|
async function readInput() {
|
|
268
278
|
// Piping in data, let's drain the stdin
|
|
269
279
|
if (input === "-") {
|
|
@@ -278,25 +288,29 @@ async function createProcessor(args, cliConfigPath) {
|
|
|
278
288
|
}
|
|
279
289
|
async function build() {
|
|
280
290
|
let start = process.hrtime.bigint();
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
291
|
+
let options = {
|
|
292
|
+
...postcssOptions,
|
|
293
|
+
from: input,
|
|
294
|
+
to: output
|
|
295
|
+
};
|
|
296
|
+
return readInput().then((css)=>processor.process(css, options)).then((result)=>lightningcss(result, {
|
|
297
|
+
...options,
|
|
298
|
+
minify: !!args["--minify"]
|
|
285
299
|
})).then((result)=>{
|
|
286
300
|
if (!state.watcher) {
|
|
287
301
|
return result;
|
|
288
302
|
}
|
|
289
|
-
|
|
303
|
+
_sharedState.env.DEBUG && console.time("Recording PostCSS dependencies");
|
|
290
304
|
for (let message of result.messages){
|
|
291
305
|
if (message.type === "dependency") {
|
|
292
306
|
state.contextDependencies.add(message.file);
|
|
293
307
|
}
|
|
294
308
|
}
|
|
295
|
-
|
|
309
|
+
_sharedState.env.DEBUG && console.timeEnd("Recording PostCSS dependencies");
|
|
296
310
|
// TODO: This needs to be in a different spot
|
|
297
|
-
|
|
311
|
+
_sharedState.env.DEBUG && console.time("Watch new files");
|
|
298
312
|
state.watcher.refreshWatchedFiles();
|
|
299
|
-
|
|
313
|
+
_sharedState.env.DEBUG && console.timeEnd("Watch new files");
|
|
300
314
|
return result;
|
|
301
315
|
}).then((result)=>{
|
|
302
316
|
if (!output) {
|
|
@@ -304,8 +318,8 @@ async function createProcessor(args, cliConfigPath) {
|
|
|
304
318
|
return;
|
|
305
319
|
}
|
|
306
320
|
return Promise.all([
|
|
307
|
-
(0, _utils.outputFile)(
|
|
308
|
-
result.map && (0, _utils.outputFile)(
|
|
321
|
+
(0, _utils.outputFile)(result.opts.to, result.css),
|
|
322
|
+
result.map && (0, _utils.outputFile)(result.opts.to + ".map", result.map.toString())
|
|
309
323
|
]);
|
|
310
324
|
}).then(()=>{
|
|
311
325
|
let end = process.hrtime.bigint();
|
|
@@ -321,7 +335,11 @@ async function createProcessor(args, cliConfigPath) {
|
|
|
321
335
|
// If you fix it and then save the main CSS file so there's no error
|
|
322
336
|
// The watcher will start watching the imported CSS files and will be
|
|
323
337
|
// resilient to future errors.
|
|
324
|
-
|
|
338
|
+
if (state.watcher) {
|
|
339
|
+
console.error(err);
|
|
340
|
+
} else {
|
|
341
|
+
return Promise.reject(err);
|
|
342
|
+
}
|
|
325
343
|
});
|
|
326
344
|
}
|
|
327
345
|
/**
|
|
@@ -338,13 +356,14 @@ async function createProcessor(args, cliConfigPath) {
|
|
|
338
356
|
return {
|
|
339
357
|
build,
|
|
340
358
|
watch: async ()=>{
|
|
341
|
-
state.watcher = (0,
|
|
359
|
+
state.watcher = (0, _watching.createWatcher)(args, {
|
|
342
360
|
state,
|
|
343
361
|
/**
|
|
344
362
|
* @param {{file: string, content(): Promise<string>, extension: string}[]} changes
|
|
345
363
|
*/ async rebuild (changes) {
|
|
346
364
|
let needsNewContext = changes.some((change)=>{
|
|
347
|
-
|
|
365
|
+
var _state_configBag;
|
|
366
|
+
return ((_state_configBag = state.configBag) === null || _state_configBag === void 0 ? void 0 : _state_configBag.dependencies.has(change.file)) || state.contextDependencies.has(change.file);
|
|
348
367
|
});
|
|
349
368
|
if (needsNewContext) {
|
|
350
369
|
state.context = null;
|
package/lib/cli/build/utils.js
CHANGED
|
@@ -10,15 +10,25 @@ function _export(target, all) {
|
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
_export(exports, {
|
|
13
|
-
indentRecursive: ()
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
indentRecursive: function() {
|
|
14
|
+
return indentRecursive;
|
|
15
|
+
},
|
|
16
|
+
formatNodes: function() {
|
|
17
|
+
return formatNodes;
|
|
18
|
+
},
|
|
19
|
+
readFileWithRetries: function() {
|
|
20
|
+
return readFileWithRetries;
|
|
21
|
+
},
|
|
22
|
+
drainStdin: function() {
|
|
23
|
+
return drainStdin;
|
|
24
|
+
},
|
|
25
|
+
outputFile: function() {
|
|
26
|
+
return outputFile;
|
|
27
|
+
}
|
|
18
28
|
});
|
|
19
|
-
const _fs = /*#__PURE__*/
|
|
20
|
-
const _path = /*#__PURE__*/
|
|
21
|
-
function
|
|
29
|
+
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
30
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
31
|
+
function _interop_require_default(obj) {
|
|
22
32
|
return obj && obj.__esModule ? obj : {
|
|
23
33
|
default: obj
|
|
24
34
|
};
|
|
@@ -5,15 +5,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
Object.defineProperty(exports, "createWatcher", {
|
|
7
7
|
enumerable: true,
|
|
8
|
-
get: ()
|
|
8
|
+
get: function() {
|
|
9
|
+
return createWatcher;
|
|
10
|
+
}
|
|
9
11
|
});
|
|
10
|
-
const _chokidar = /*#__PURE__*/
|
|
11
|
-
const _fs = /*#__PURE__*/
|
|
12
|
-
const _micromatch = /*#__PURE__*/
|
|
13
|
-
const
|
|
14
|
-
const _path = /*#__PURE__*/
|
|
15
|
-
const
|
|
16
|
-
function
|
|
12
|
+
const _chokidar = /*#__PURE__*/ _interop_require_default(require("chokidar"));
|
|
13
|
+
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
14
|
+
const _micromatch = /*#__PURE__*/ _interop_require_default(require("micromatch"));
|
|
15
|
+
const _normalizepath = /*#__PURE__*/ _interop_require_default(require("normalize-path"));
|
|
16
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
17
|
+
const _utils = require("./utils.js");
|
|
18
|
+
function _interop_require_default(obj) {
|
|
17
19
|
return obj && obj.__esModule ? obj : {
|
|
18
20
|
default: obj
|
|
19
21
|
};
|
|
@@ -64,7 +66,9 @@ function createWatcher(args, { state , rebuild }) {
|
|
|
64
66
|
// Clear all pending rebuilds for the about-to-be-built files
|
|
65
67
|
changes.forEach((change)=>pendingRebuilds.delete(change.file));
|
|
66
68
|
// Resolve the promise even when the rebuild fails
|
|
67
|
-
return rebuild(changes).then(()=>{}, ()=>{
|
|
69
|
+
return rebuild(changes).then(()=>{}, (e)=>{
|
|
70
|
+
console.error(e.toString());
|
|
71
|
+
});
|
|
68
72
|
}
|
|
69
73
|
/**
|
|
70
74
|
*
|
|
@@ -109,7 +113,7 @@ function createWatcher(args, { state , rebuild }) {
|
|
|
109
113
|
// This can happen when a file is pseudo-atomically replaced (a copy is created, overwritten, the old one is unlinked, and the new one is renamed)
|
|
110
114
|
// TODO: An an optimization we should allow removal when the config changes
|
|
111
115
|
watcher.on("unlink", (file)=>{
|
|
112
|
-
file = (0,
|
|
116
|
+
file = (0, _normalizepath.default)(file);
|
|
113
117
|
// Only re-add the file if it's not covered by a dynamic pattern
|
|
114
118
|
if (!_micromatch.default.some([
|
|
115
119
|
file
|
|
@@ -148,7 +152,7 @@ function createWatcher(args, { state , rebuild }) {
|
|
|
148
152
|
// We need to read the file as early as possible outside of the chain
|
|
149
153
|
// because it may be gone by the time we get to it. doing the read
|
|
150
154
|
// immediately increases the chance that the file is still there
|
|
151
|
-
let content = await (0,
|
|
155
|
+
let content = await (0, _utils.readFileWithRetries)(_path.default.resolve(filePath));
|
|
152
156
|
if (content === undefined) {
|
|
153
157
|
return;
|
|
154
158
|
}
|
|
@@ -171,7 +175,7 @@ function createWatcher(args, { state , rebuild }) {
|
|
|
171
175
|
fswatcher: watcher,
|
|
172
176
|
refreshWatchedFiles () {
|
|
173
177
|
watcher.add(Array.from(state.contextDependencies));
|
|
174
|
-
watcher.add(Array.from(state.
|
|
178
|
+
watcher.add(Array.from(state.configBag.dependencies));
|
|
175
179
|
watcher.add(state.contentPatterns.all);
|
|
176
180
|
}
|
|
177
181
|
};
|
package/lib/cli/help/index.js
CHANGED
|
@@ -5,10 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
Object.defineProperty(exports, "help", {
|
|
7
7
|
enumerable: true,
|
|
8
|
-
get: ()
|
|
8
|
+
get: function() {
|
|
9
|
+
return help;
|
|
10
|
+
}
|
|
9
11
|
});
|
|
10
|
-
const
|
|
11
|
-
function
|
|
12
|
+
const _packagejson = /*#__PURE__*/ _interop_require_default(require("../../../package.json"));
|
|
13
|
+
function _interop_require_default(obj) {
|
|
12
14
|
return obj && obj.__esModule ? obj : {
|
|
13
15
|
default: obj
|
|
14
16
|
};
|
|
@@ -17,7 +19,7 @@ function help({ message , usage , commands , options }) {
|
|
|
17
19
|
let indent = 2;
|
|
18
20
|
// Render header
|
|
19
21
|
console.log();
|
|
20
|
-
console.log(`${
|
|
22
|
+
console.log(`${_packagejson.default.name} v${_packagejson.default.version}`);
|
|
21
23
|
// Render message
|
|
22
24
|
if (message) {
|
|
23
25
|
console.log();
|