tailwindcss 0.0.0-insiders.fde30c3 → 0.0.0-insiders.fe48ca8
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 +4 -5
- package/lib/cli/build/deps.js +17 -9
- package/lib/cli/build/index.js +15 -9
- package/lib/cli/build/plugin.js +74 -63
- package/lib/cli/build/utils.js +18 -8
- package/lib/cli/build/watching.js +17 -13
- package/lib/cli/help/index.js +6 -4
- package/lib/cli/index.js +222 -10
- package/lib/cli/init/index.js +28 -11
- package/lib/cli-peer-dependencies.js +12 -4
- package/lib/cli.js +1 -237
- package/lib/corePluginList.js +12 -2
- package/lib/corePlugins.js +512 -73
- package/lib/css/preflight.css +27 -8
- package/lib/featureFlags.js +15 -7
- package/lib/index.js +1 -47
- package/lib/lib/cacheInvalidation.js +7 -5
- package/lib/lib/collapseAdjacentRules.js +3 -1
- package/lib/lib/collapseDuplicateDeclarations.js +10 -8
- package/lib/lib/content.js +89 -30
- package/lib/lib/defaultExtractor.js +67 -30
- package/lib/lib/evaluateTailwindFunctions.js +20 -16
- package/lib/lib/expandApplyAtRules.js +60 -33
- package/lib/lib/expandTailwindAtRules.js +50 -18
- package/lib/lib/findAtConfigPath.js +6 -4
- package/lib/lib/generateRules.js +182 -92
- package/lib/lib/getModuleDependencies.js +85 -37
- package/lib/lib/load-config.js +61 -0
- package/lib/lib/normalizeTailwindDirectives.js +5 -3
- package/lib/lib/offsets.js +144 -6
- 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 +38 -34
- package/lib/lib/setupContextUtils.js +234 -126
- 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 +48 -0
- package/lib/postcss-plugins/nesting/index.js +3 -1
- package/lib/postcss-plugins/nesting/plugin.js +8 -6
- package/lib/processTailwindFeatures.js +15 -15
- 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 +38 -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 +36 -14
- package/lib/util/color.js +27 -9
- 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 +5 -3
- package/lib/util/dataTypes.js +229 -27
- package/lib/util/defaults.js +6 -4
- package/lib/util/escapeClassName.js +7 -5
- package/lib/util/escapeCommas.js +3 -1
- package/lib/util/flattenColorPalette.js +3 -1
- package/lib/util/formatVariantSelector.js +145 -168
- package/lib/util/getAllConfigs.js +6 -4
- package/lib/util/hashConfig.js +6 -4
- package/lib/util/isKeyframeRule.js +3 -1
- package/lib/util/isPlainObject.js +4 -2
- package/lib/util/isSyntacticallyValidPropertyValue.js +3 -1
- package/lib/util/log.js +8 -4
- package/lib/util/nameClass.js +12 -6
- package/lib/util/negateValue.js +4 -2
- package/lib/util/normalizeConfig.js +10 -10
- package/lib/util/normalizeScreens.js +12 -4
- package/lib/util/parseAnimationValue.js +4 -2
- package/lib/util/parseBoxShadowValue.js +6 -2
- package/lib/util/parseDependency.js +3 -1
- package/lib/util/parseGlob.js +7 -6
- package/lib/util/parseObjectStyles.js +9 -7
- package/lib/util/pluginUtils.js +49 -43
- package/lib/util/prefixSelector.js +27 -11
- package/lib/util/pseudoElements.js +212 -0
- package/lib/util/removeAlphaVariables.js +3 -1
- package/lib/util/resolveConfig.js +10 -8
- package/lib/util/resolveConfigPath.js +28 -10
- package/lib/util/responsive.js +6 -4
- package/lib/util/splitAtTopLevelOnly.js +6 -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 +16 -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/nesting/index.d.ts +4 -0
- package/package.json +39 -35
- package/peers/index.js +62803 -44307
- package/resolveConfig.d.ts +22 -3
- package/scripts/generate-types.js +1 -2
- package/src/cli/build/index.js +7 -7
- package/src/cli/build/plugin.js +41 -34
- package/src/cli/build/watching.js +5 -3
- package/src/cli/index.js +216 -3
- package/src/cli/init/index.js +37 -8
- package/src/cli.js +1 -232
- package/src/corePluginList.js +1 -1
- package/src/corePlugins.js +390 -57
- package/src/css/preflight.css +27 -8
- package/src/featureFlags.js +3 -5
- package/src/index.js +1 -47
- package/src/lib/content.js +85 -17
- package/src/lib/defaultExtractor.js +63 -19
- package/src/lib/evaluateTailwindFunctions.js +4 -1
- package/src/lib/expandApplyAtRules.js +32 -1
- package/src/lib/expandTailwindAtRules.js +37 -9
- package/src/lib/generateRules.js +167 -61
- package/src/lib/getModuleDependencies.js +70 -30
- package/src/lib/load-config.ts +55 -0
- package/src/lib/offsets.js +165 -3
- package/src/lib/remap-bitfield.js +82 -0
- package/src/lib/resolveDefaultsAtRules.js +16 -14
- package/src/lib/setupContextUtils.js +179 -79
- package/src/lib/setupTrackingContext.js +37 -14
- package/src/lib/sharedState.js +11 -4
- package/src/plugin.js +47 -0
- package/src/processTailwindFeatures.js +3 -5
- 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 +26 -0
- package/src/util/cloneNodes.js +35 -14
- package/src/util/color.js +19 -4
- package/src/util/colorNames.js +150 -0
- package/src/util/dataTypes.js +199 -13
- package/src/util/formatVariantSelector.js +168 -174
- package/src/util/getAllConfigs.js +2 -2
- package/src/util/isPlainObject.js +1 -1
- package/src/util/negateValue.js +1 -1
- package/src/util/normalizeConfig.js +3 -4
- package/src/util/parseAnimationValue.js +1 -1
- package/src/util/parseGlob.js +1 -2
- package/src/util/pluginUtils.js +28 -35
- package/src/util/prefixSelector.js +29 -10
- package/src/util/pseudoElements.js +171 -0
- package/src/util/resolveConfigPath.js +14 -1
- package/src/util/splitAtTopLevelOnly.js +4 -1
- package/src/util/validateConfig.js +13 -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} +125 -16
- package/stubs/{simpleConfig.stub.js → config.simple.js} +0 -1
- package/stubs/postcss.config.js +6 -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 +28 -14
- package/types/generated/colors.d.ts +22 -0
- package/types/generated/corePluginList.d.ts +1 -1
- package/types/generated/default-theme.d.ts +66 -11
- package/types/index.d.ts +7 -3
- package/CHANGELOG.md +0 -2347
- package/lib/cli/shared.js +0 -12
- package/lib/constants.js +0 -44
- package/lib/lib/detectNesting.js +0 -37
- package/scripts/install-integrations.js +0 -27
- package/scripts/rebuildFixtures.js +0 -68
- package/src/cli/shared.js +0 -5
- package/src/constants.js +0 -17
- package/src/lib/detectNesting.js +0 -39
- /package/stubs/{defaultPostCssConfig.stub.js → postcss.config.cjs} +0 -0
package/README.md
CHANGED
|
@@ -12,15 +12,14 @@
|
|
|
12
12
|
A utility-first CSS framework for rapidly building custom user interfaces.
|
|
13
13
|
</p>
|
|
14
14
|
|
|
15
|
-
|
|
16
15
|
<p align="center">
|
|
17
|
-
<a href="https://github.com/tailwindlabs/tailwindcss/actions"><img src="https://img.shields.io/github/workflow/status/tailwindlabs/tailwindcss/
|
|
16
|
+
<a href="https://github.com/tailwindlabs/tailwindcss/actions"><img src="https://img.shields.io/github/actions/workflow/status/tailwindlabs/tailwindcss/ci.yml?branch=main" alt="Build Status"></a>
|
|
18
17
|
<a href="https://www.npmjs.com/package/tailwindcss"><img src="https://img.shields.io/npm/dt/tailwindcss.svg" alt="Total Downloads"></a>
|
|
19
18
|
<a href="https://github.com/tailwindcss/tailwindcss/releases"><img src="https://img.shields.io/npm/v/tailwindcss.svg" alt="Latest Release"></a>
|
|
20
|
-
<a href="https://github.com/tailwindcss/tailwindcss/blob/
|
|
19
|
+
<a href="https://github.com/tailwindcss/tailwindcss/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/tailwindcss.svg" alt="License"></a>
|
|
21
20
|
</p>
|
|
22
21
|
|
|
23
|
-
|
|
22
|
+
---
|
|
24
23
|
|
|
25
24
|
## Documentation
|
|
26
25
|
|
|
@@ -38,4 +37,4 @@ For casual chit-chat with others using the framework:
|
|
|
38
37
|
|
|
39
38
|
## Contributing
|
|
40
39
|
|
|
41
|
-
If you're interested in contributing to Tailwind CSS, please read our [contributing docs](https://github.com/tailwindcss/tailwindcss/blob/
|
|
40
|
+
If you're interested in contributing to Tailwind CSS, please read our [contributing docs](https://github.com/tailwindcss/tailwindcss/blob/main/.github/CONTRIBUTING.md) **before submitting a pull request**.
|
package/lib/cli/build/deps.js
CHANGED
|
@@ -10,25 +10,33 @@ function _export(target, all) {
|
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
_export(exports, {
|
|
13
|
-
loadPostcss: ()
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
loadPostcss: function() {
|
|
14
|
+
return loadPostcss;
|
|
15
|
+
},
|
|
16
|
+
loadPostcssImport: function() {
|
|
17
|
+
return loadPostcssImport;
|
|
18
|
+
},
|
|
19
|
+
loadCssNano: function() {
|
|
20
|
+
return loadCssNano;
|
|
21
|
+
},
|
|
22
|
+
loadAutoprefixer: function() {
|
|
23
|
+
return loadAutoprefixer;
|
|
24
|
+
}
|
|
17
25
|
});
|
|
18
|
-
const
|
|
26
|
+
const _index = require("../../../peers/index.js");
|
|
19
27
|
function loadPostcss() {
|
|
20
28
|
// Try to load a local `postcss` version first
|
|
21
29
|
try {
|
|
22
30
|
return require("postcss");
|
|
23
31
|
} catch {}
|
|
24
|
-
return (0,
|
|
32
|
+
return (0, _index.lazyPostcss)();
|
|
25
33
|
}
|
|
26
34
|
function loadPostcssImport() {
|
|
27
35
|
// Try to load a local `postcss-import` version first
|
|
28
36
|
try {
|
|
29
37
|
return require("postcss-import");
|
|
30
38
|
} catch {}
|
|
31
|
-
return (0,
|
|
39
|
+
return (0, _index.lazyPostcssImport)();
|
|
32
40
|
}
|
|
33
41
|
function loadCssNano() {
|
|
34
42
|
let options = {
|
|
@@ -43,12 +51,12 @@ function loadCssNano() {
|
|
|
43
51
|
try {
|
|
44
52
|
return require("cssnano");
|
|
45
53
|
} catch {}
|
|
46
|
-
return (0,
|
|
54
|
+
return (0, _index.lazyCssnano)()(options);
|
|
47
55
|
}
|
|
48
56
|
function loadAutoprefixer() {
|
|
49
57
|
// Try to load a local `autoprefixer` version first
|
|
50
58
|
try {
|
|
51
59
|
return require("autoprefixer");
|
|
52
60
|
} catch {}
|
|
53
|
-
return (0,
|
|
61
|
+
return (0, _index.lazyAutoprefixer)();
|
|
54
62
|
}
|
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
|
|
@@ -32,8 +35,8 @@ async function build(args, configs) {
|
|
|
32
35
|
process.exit(9);
|
|
33
36
|
}
|
|
34
37
|
// TODO: Reference the @config path here if exists
|
|
35
|
-
let configPath = args["--config"] ? args["--config"] : (
|
|
36
|
-
let processor = await (0,
|
|
38
|
+
let configPath = args["--config"] ? args["--config"] : (0, _resolveConfigPath.resolveDefaultConfigPath)();
|
|
39
|
+
let processor = await (0, _plugin.createProcessor)(args, configPath);
|
|
37
40
|
if (shouldWatch) {
|
|
38
41
|
// Abort the watcher if stdin is closed to avoid zombie processes
|
|
39
42
|
// You can disable this behavior with --watch=always
|
|
@@ -43,6 +46,9 @@ async function build(args, configs) {
|
|
|
43
46
|
process.stdin.resume();
|
|
44
47
|
await processor.watch();
|
|
45
48
|
} else {
|
|
46
|
-
await processor.build()
|
|
49
|
+
await processor.build().catch((e)=>{
|
|
50
|
+
console.error(e);
|
|
51
|
+
process.exit(1);
|
|
52
|
+
});
|
|
47
53
|
}
|
|
48
54
|
}
|
package/lib/cli/build/plugin.js
CHANGED
|
@@ -5,28 +5,31 @@ 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 _path = /*#__PURE__*/
|
|
11
|
-
const _fs = /*#__PURE__*/
|
|
12
|
-
const
|
|
12
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
13
|
+
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
14
|
+
const _postcssloadconfig = /*#__PURE__*/ _interop_require_default(require("postcss-load-config"));
|
|
13
15
|
const _lilconfig = require("lilconfig");
|
|
14
|
-
const _plugins = /*#__PURE__*/
|
|
16
|
+
const _plugins = /*#__PURE__*/ _interop_require_default(require("postcss-load-config/src/plugins" // Little bit scary, looking at private/internal API
|
|
15
17
|
));
|
|
16
|
-
const _options = /*#__PURE__*/
|
|
18
|
+
const _options = /*#__PURE__*/ _interop_require_default(require("postcss-load-config/src/options" // Little bit scary, looking at private/internal API
|
|
17
19
|
));
|
|
18
|
-
const _processTailwindFeatures = /*#__PURE__*/
|
|
20
|
+
const _processTailwindFeatures = /*#__PURE__*/ _interop_require_default(require("../../processTailwindFeatures"));
|
|
19
21
|
const _deps = require("./deps");
|
|
20
22
|
const _utils = require("./utils");
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
const
|
|
27
|
-
const
|
|
28
|
-
const
|
|
29
|
-
|
|
23
|
+
const _sharedState = require("../../lib/sharedState");
|
|
24
|
+
const _resolveConfig = /*#__PURE__*/ _interop_require_default(require("../../../resolveConfig.js"));
|
|
25
|
+
const _content = require("../../lib/content.js");
|
|
26
|
+
const _watching = require("./watching.js");
|
|
27
|
+
const _fastglob = /*#__PURE__*/ _interop_require_default(require("fast-glob"));
|
|
28
|
+
const _findAtConfigPath = require("../../lib/findAtConfigPath.js");
|
|
29
|
+
const _log = /*#__PURE__*/ _interop_require_default(require("../../util/log"));
|
|
30
|
+
const _loadconfig = require("../../lib/load-config");
|
|
31
|
+
const _getModuleDependencies = /*#__PURE__*/ _interop_require_default(require("../../lib/getModuleDependencies"));
|
|
32
|
+
function _interop_require_default(obj) {
|
|
30
33
|
return obj && obj.__esModule ? obj : {
|
|
31
34
|
default: obj
|
|
32
35
|
};
|
|
@@ -54,7 +57,7 @@ function _interopRequireDefault(obj) {
|
|
|
54
57
|
plugins: (0, _plugins.default)(config, file),
|
|
55
58
|
options: (0, _options.default)(config, file)
|
|
56
59
|
};
|
|
57
|
-
})() : await (0,
|
|
60
|
+
})() : await (0, _postcssloadconfig.default)();
|
|
58
61
|
let configPlugins = config.plugins;
|
|
59
62
|
let configPluginTailwindIdx = configPlugins.findIndex((plugin)=>{
|
|
60
63
|
if (typeof plugin === "function" && plugin.name === "tailwindcss") {
|
|
@@ -109,12 +112,12 @@ let state = {
|
|
|
109
112
|
/** @type {any} */ context: null,
|
|
110
113
|
/** @type {ReturnType<typeof createWatcher> | null} */ watcher: null,
|
|
111
114
|
/** @type {{content: string, extension: string}[]} */ changedContent: [],
|
|
112
|
-
|
|
115
|
+
/** @type {ReturnType<typeof load> | null} */ configBag: null,
|
|
113
116
|
contextDependencies: new Set(),
|
|
114
117
|
/** @type {import('../../lib/content.js').ContentPath[]} */ contentPaths: [],
|
|
115
118
|
refreshContentPaths () {
|
|
116
119
|
var _this_context;
|
|
117
|
-
this.contentPaths = (0,
|
|
120
|
+
this.contentPaths = (0, _content.parseCandidateFiles)(this.context, (_this_context = this.context) === null || _this_context === void 0 ? void 0 : _this_context.tailwindConfig);
|
|
118
121
|
},
|
|
119
122
|
get config () {
|
|
120
123
|
return this.context.tailwindConfig;
|
|
@@ -127,40 +130,45 @@ let state = {
|
|
|
127
130
|
},
|
|
128
131
|
loadConfig (configPath, content) {
|
|
129
132
|
if (this.watcher && configPath) {
|
|
130
|
-
this.refreshConfigDependencies(
|
|
133
|
+
this.refreshConfigDependencies();
|
|
131
134
|
}
|
|
132
|
-
let config =
|
|
135
|
+
let config = (0, _loadconfig.loadConfig)(configPath);
|
|
136
|
+
let dependencies = (0, _getModuleDependencies.default)(configPath);
|
|
137
|
+
this.configBag = {
|
|
138
|
+
config,
|
|
139
|
+
dependencies,
|
|
140
|
+
dispose () {
|
|
141
|
+
for (let file of dependencies){
|
|
142
|
+
delete require.cache[require.resolve(file)];
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
};
|
|
133
146
|
// @ts-ignore
|
|
134
|
-
config = (0,
|
|
147
|
+
this.configBag.config = (0, _resolveConfig.default)(this.configBag.config, {
|
|
135
148
|
content: {
|
|
136
149
|
files: []
|
|
137
150
|
}
|
|
138
151
|
});
|
|
139
152
|
// Override content files if `--content` has been passed explicitly
|
|
140
153
|
if ((content === null || content === void 0 ? void 0 : content.length) > 0) {
|
|
141
|
-
config.content.files = content;
|
|
154
|
+
this.configBag.config.content.files = content;
|
|
142
155
|
}
|
|
143
|
-
return config;
|
|
156
|
+
return this.configBag.config;
|
|
144
157
|
},
|
|
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");
|
|
158
|
+
refreshConfigDependencies () {
|
|
159
|
+
var _this_configBag;
|
|
160
|
+
_sharedState.env.DEBUG && console.time("Module dependencies");
|
|
161
|
+
(_this_configBag = this.configBag) === null || _this_configBag === void 0 ? void 0 : _this_configBag.dispose();
|
|
162
|
+
_sharedState.env.DEBUG && console.timeEnd("Module dependencies");
|
|
157
163
|
},
|
|
158
164
|
readContentPaths () {
|
|
159
165
|
let content = [];
|
|
160
166
|
// Resolve globs from the content config
|
|
161
167
|
// TODO: When we make the postcss plugin async-capable this can become async
|
|
162
|
-
let files =
|
|
168
|
+
let files = _fastglob.default.sync(this.contentPatterns.all);
|
|
169
|
+
let checkBroadPattern = (0, _content.createBroadPatternCheck)(this.contentPatterns.all);
|
|
163
170
|
for (let file of files){
|
|
171
|
+
checkBroadPattern(file);
|
|
164
172
|
content.push({
|
|
165
173
|
content: _fs.default.readFileSync(_path.default.resolve(file), "utf8"),
|
|
166
174
|
extension: _path.default.extname(file).slice(1)
|
|
@@ -179,36 +187,34 @@ let state = {
|
|
|
179
187
|
return content;
|
|
180
188
|
},
|
|
181
189
|
getContext ({ createContext , cliConfigPath , root , result , content }) {
|
|
190
|
+
_sharedState.env.DEBUG && console.time("Searching for config");
|
|
191
|
+
var _findAtConfigPath1;
|
|
192
|
+
let configPath = (_findAtConfigPath1 = (0, _findAtConfigPath.findAtConfigPath)(root, result)) !== null && _findAtConfigPath1 !== void 0 ? _findAtConfigPath1 : cliConfigPath;
|
|
193
|
+
_sharedState.env.DEBUG && console.timeEnd("Searching for config");
|
|
182
194
|
if (this.context) {
|
|
183
195
|
this.context.changedContent = this.changedContent.splice(0);
|
|
184
196
|
return this.context;
|
|
185
197
|
}
|
|
186
|
-
|
|
187
|
-
var _findAtConfigPath;
|
|
188
|
-
let configPath = (_findAtConfigPath = (0, _findAtConfigPathJs.findAtConfigPath)(root, result)) !== null && _findAtConfigPath !== void 0 ? _findAtConfigPath : cliConfigPath;
|
|
189
|
-
_shared.env.DEBUG && console.timeEnd("Searching for config");
|
|
190
|
-
_shared.env.DEBUG && console.time("Loading config");
|
|
198
|
+
_sharedState.env.DEBUG && console.time("Loading config");
|
|
191
199
|
let config = this.loadConfig(configPath, content);
|
|
192
|
-
|
|
193
|
-
|
|
200
|
+
_sharedState.env.DEBUG && console.timeEnd("Loading config");
|
|
201
|
+
_sharedState.env.DEBUG && console.time("Creating context");
|
|
194
202
|
this.context = createContext(config, []);
|
|
195
203
|
Object.assign(this.context, {
|
|
196
204
|
userConfigPath: configPath
|
|
197
205
|
});
|
|
198
|
-
|
|
199
|
-
|
|
206
|
+
_sharedState.env.DEBUG && console.timeEnd("Creating context");
|
|
207
|
+
_sharedState.env.DEBUG && console.time("Resolving content paths");
|
|
200
208
|
this.refreshContentPaths();
|
|
201
|
-
|
|
209
|
+
_sharedState.env.DEBUG && console.timeEnd("Resolving content paths");
|
|
202
210
|
if (this.watcher) {
|
|
203
|
-
|
|
211
|
+
_sharedState.env.DEBUG && console.time("Watch new files");
|
|
204
212
|
this.watcher.refreshWatchedFiles();
|
|
205
|
-
|
|
213
|
+
_sharedState.env.DEBUG && console.timeEnd("Watch new files");
|
|
206
214
|
}
|
|
207
|
-
_shared.env.DEBUG && console.time("Reading content files");
|
|
208
215
|
for (let file of this.readContentPaths()){
|
|
209
216
|
this.context.changedContent.push(file);
|
|
210
217
|
}
|
|
211
|
-
_shared.env.DEBUG && console.timeEnd("Reading content files");
|
|
212
218
|
return this.context;
|
|
213
219
|
}
|
|
214
220
|
};
|
|
@@ -234,9 +240,9 @@ async function createProcessor(args, cliConfigPath) {
|
|
|
234
240
|
let tailwindPlugin = ()=>{
|
|
235
241
|
return {
|
|
236
242
|
postcssPlugin: "tailwindcss",
|
|
237
|
-
Once (root, { result }) {
|
|
238
|
-
|
|
239
|
-
(0, _processTailwindFeatures.default)(({ createContext })=>{
|
|
243
|
+
async Once (root, { result }) {
|
|
244
|
+
_sharedState.env.DEBUG && console.time("Compiling CSS");
|
|
245
|
+
await (0, _processTailwindFeatures.default)(({ createContext })=>{
|
|
240
246
|
console.error();
|
|
241
247
|
console.error("Rebuilding...");
|
|
242
248
|
return ()=>{
|
|
@@ -249,7 +255,7 @@ async function createProcessor(args, cliConfigPath) {
|
|
|
249
255
|
});
|
|
250
256
|
};
|
|
251
257
|
})(root, result);
|
|
252
|
-
|
|
258
|
+
_sharedState.env.DEBUG && console.timeEnd("Compiling CSS");
|
|
253
259
|
}
|
|
254
260
|
};
|
|
255
261
|
};
|
|
@@ -273,7 +279,7 @@ async function createProcessor(args, cliConfigPath) {
|
|
|
273
279
|
if (input) {
|
|
274
280
|
return _fs.default.promises.readFile(_path.default.resolve(input), "utf8");
|
|
275
281
|
}
|
|
276
|
-
// No input file provided, fallback to default
|
|
282
|
+
// No input file provided, fallback to default at-rules
|
|
277
283
|
return "@tailwind base; @tailwind components; @tailwind utilities";
|
|
278
284
|
}
|
|
279
285
|
async function build() {
|
|
@@ -286,17 +292,17 @@ async function createProcessor(args, cliConfigPath) {
|
|
|
286
292
|
if (!state.watcher) {
|
|
287
293
|
return result;
|
|
288
294
|
}
|
|
289
|
-
|
|
295
|
+
_sharedState.env.DEBUG && console.time("Recording PostCSS dependencies");
|
|
290
296
|
for (let message of result.messages){
|
|
291
297
|
if (message.type === "dependency") {
|
|
292
298
|
state.contextDependencies.add(message.file);
|
|
293
299
|
}
|
|
294
300
|
}
|
|
295
|
-
|
|
301
|
+
_sharedState.env.DEBUG && console.timeEnd("Recording PostCSS dependencies");
|
|
296
302
|
// TODO: This needs to be in a different spot
|
|
297
|
-
|
|
303
|
+
_sharedState.env.DEBUG && console.time("Watch new files");
|
|
298
304
|
state.watcher.refreshWatchedFiles();
|
|
299
|
-
|
|
305
|
+
_sharedState.env.DEBUG && console.timeEnd("Watch new files");
|
|
300
306
|
return result;
|
|
301
307
|
}).then((result)=>{
|
|
302
308
|
if (!output) {
|
|
@@ -321,7 +327,11 @@ async function createProcessor(args, cliConfigPath) {
|
|
|
321
327
|
// If you fix it and then save the main CSS file so there's no error
|
|
322
328
|
// The watcher will start watching the imported CSS files and will be
|
|
323
329
|
// resilient to future errors.
|
|
324
|
-
|
|
330
|
+
if (state.watcher) {
|
|
331
|
+
console.error(err);
|
|
332
|
+
} else {
|
|
333
|
+
return Promise.reject(err);
|
|
334
|
+
}
|
|
325
335
|
});
|
|
326
336
|
}
|
|
327
337
|
/**
|
|
@@ -338,13 +348,14 @@ async function createProcessor(args, cliConfigPath) {
|
|
|
338
348
|
return {
|
|
339
349
|
build,
|
|
340
350
|
watch: async ()=>{
|
|
341
|
-
state.watcher = (0,
|
|
351
|
+
state.watcher = (0, _watching.createWatcher)(args, {
|
|
342
352
|
state,
|
|
343
353
|
/**
|
|
344
354
|
* @param {{file: string, content(): Promise<string>, extension: string}[]} changes
|
|
345
355
|
*/ async rebuild (changes) {
|
|
346
356
|
let needsNewContext = changes.some((change)=>{
|
|
347
|
-
|
|
357
|
+
var _state_configBag;
|
|
358
|
+
return ((_state_configBag = state.configBag) === null || _state_configBag === void 0 ? void 0 : _state_configBag.dependencies.has(change.file)) || state.contextDependencies.has(change.file);
|
|
348
359
|
});
|
|
349
360
|
if (needsNewContext) {
|
|
350
361
|
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
|
|
@@ -122,7 +126,7 @@ function createWatcher(args, { state , rebuild }) {
|
|
|
122
126
|
// This is very likely a chokidar bug but it's one we need to work around
|
|
123
127
|
// We treat this as a change event and rebuild the CSS
|
|
124
128
|
watcher.on("raw", (evt, filePath, meta)=>{
|
|
125
|
-
if (evt !== "rename") {
|
|
129
|
+
if (evt !== "rename" || filePath === null) {
|
|
126
130
|
return;
|
|
127
131
|
}
|
|
128
132
|
let watchedPath = meta.watchedPath;
|
|
@@ -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();
|