tailwindcss 0.0.0-insiders.cf21d57 → 0.0.0-insiders.cfc853b
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 +13 -8
- package/lib/cli/build/plugin.js +137 -82
- package/lib/cli/build/utils.js +18 -8
- package/lib/cli/build/watching.js +13 -11
- package/lib/cli/help/index.js +8 -6
- package/lib/cli/index.js +8 -7
- package/lib/cli/init/index.js +8 -6
- package/lib/cli.js +1 -5
- package/lib/corePluginList.js +4 -1
- package/lib/corePlugins.js +247 -186
- package/lib/css/preflight.css +7 -1
- package/lib/featureFlags.js +28 -21
- package/lib/index.js +1 -5
- 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 +46 -16
- package/lib/lib/defaultExtractor.js +6 -4
- package/lib/lib/detectNesting.js +3 -1
- package/lib/lib/evaluateTailwindFunctions.js +24 -20
- package/lib/lib/expandApplyAtRules.js +39 -32
- package/lib/lib/expandTailwindAtRules.js +72 -29
- package/lib/lib/findAtConfigPath.js +6 -4
- package/lib/lib/generateRules.js +63 -52
- package/lib/lib/getModuleDependencies.js +10 -8
- package/lib/lib/handleImportAtRules.js +50 -0
- package/lib/lib/load-config.js +14 -8
- package/lib/lib/normalizeTailwindDirectives.js +5 -18
- package/lib/lib/offsets.js +9 -7
- package/lib/lib/partitionApplyAtRules.js +3 -1
- package/lib/lib/regex.js +21 -7
- package/lib/lib/remap-bitfield.js +3 -1
- package/lib/lib/resolveDefaultsAtRules.js +25 -21
- package/lib/lib/setupContextUtils.js +134 -109
- package/lib/lib/setupTrackingContext.js +29 -25
- package/lib/lib/sharedState.js +29 -28
- package/lib/lib/substituteScreenAtRules.js +7 -5
- package/lib/plugin.js +95 -29
- package/lib/postcss-plugins/nesting/index.js +4 -2
- package/lib/postcss-plugins/nesting/plugin.js +10 -8
- package/lib/processTailwindFeatures.js +17 -15
- package/lib/public/colors.js +6 -4
- 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 +5 -3
- package/lib/public/resolve-config.js +6 -4
- package/lib/util/applyImportantSelector.js +27 -13
- 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 +3 -1
- package/lib/util/color.js +13 -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 +7 -5
- package/lib/util/dataTypes.js +120 -28
- package/lib/util/defaults.js +9 -7
- package/lib/util/escapeClassName.js +9 -7
- package/lib/util/escapeCommas.js +3 -1
- package/lib/util/flattenColorPalette.js +3 -1
- package/lib/util/formatVariantSelector.js +39 -115
- package/lib/util/getAllConfigs.js +9 -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 +3 -1
- package/lib/util/normalizeConfig.js +66 -47
- package/lib/util/normalizeScreens.js +15 -7
- 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 +35 -25
- package/lib/util/prefixSelector.js +6 -4
- package/lib/util/pseudoElements.js +209 -0
- package/lib/util/removeAlphaVariables.js +3 -1
- package/lib/util/resolveConfig.js +20 -14
- package/lib/util/resolveConfigPath.js +9 -5
- package/lib/util/responsive.js +6 -4
- package/lib/util/splitAtTopLevelOnly.js +3 -1
- 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 +7 -3
- 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/package.json +46 -59
- package/src/cli/build/index.js +4 -0
- package/src/cli/build/plugin.js +73 -48
- package/src/cli/index.js +1 -0
- package/src/cli.js +1 -5
- package/src/corePluginList.js +1 -1
- package/src/corePlugins.js +106 -27
- package/src/css/preflight.css +7 -1
- package/src/featureFlags.js +7 -10
- package/src/index.js +1 -5
- package/src/lib/content.js +33 -1
- package/src/lib/defaultExtractor.js +1 -1
- package/src/lib/evaluateTailwindFunctions.js +4 -1
- package/src/lib/expandApplyAtRules.js +6 -0
- package/src/lib/expandTailwindAtRules.js +70 -34
- package/src/lib/generateRules.js +20 -17
- package/src/lib/handleImportAtRules.js +34 -0
- package/src/lib/load-config.ts +9 -5
- package/src/lib/normalizeTailwindDirectives.js +0 -27
- package/src/lib/offsets.js +3 -3
- package/src/lib/setupContextUtils.js +24 -20
- package/src/lib/setupTrackingContext.js +2 -4
- package/src/lib/sharedState.js +10 -20
- package/src/plugin.js +86 -60
- package/src/processTailwindFeatures.js +3 -2
- package/src/util/applyImportantSelector.js +20 -12
- package/src/util/color.js +1 -1
- package/src/util/colorNames.js +150 -0
- package/src/util/dataTypes.js +75 -16
- package/src/util/formatVariantSelector.js +6 -101
- package/src/util/log.js +24 -0
- package/src/util/normalizeConfig.js +37 -27
- package/src/util/pluginUtils.js +1 -9
- package/src/util/prefixSelector.js +1 -0
- package/src/util/pseudoElements.js +167 -0
- 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/config.full.js +37 -1
- package/stubs/config.simple.js +1 -1
- package/stubs/postcss.config.cjs +0 -1
- package/stubs/postcss.config.js +0 -1
- package/types/config.d.ts +8 -12
- package/types/generated/corePluginList.d.ts +1 -1
- package/types/generated/default-theme.d.ts +26 -1
- package/lib/cli/build/deps.js +0 -54
- package/lib/cli-peer-dependencies.js +0 -28
- package/lib/oxide/cli/build/deps.js +0 -81
- package/lib/oxide/cli/build/index.js +0 -51
- package/lib/oxide/cli/build/plugin.js +0 -373
- package/lib/oxide/cli/build/utils.js +0 -77
- package/lib/oxide/cli/build/watching.js +0 -177
- package/lib/oxide/cli/help/index.js +0 -70
- package/lib/oxide/cli/index.js +0 -214
- package/lib/oxide/cli/init/index.js +0 -50
- package/lib/oxide/cli.js +0 -5
- package/lib/oxide/postcss-plugin.js +0 -2
- package/peers/index.js +0 -79461
- package/scripts/swap-engines.js +0 -40
- package/src/cli/build/deps.js +0 -56
- package/src/cli-peer-dependencies.js +0 -15
- package/src/oxide/cli/build/deps.ts +0 -91
- package/src/oxide/cli/build/index.ts +0 -47
- package/src/oxide/cli/build/plugin.ts +0 -442
- package/src/oxide/cli/build/utils.ts +0 -74
- package/src/oxide/cli/build/watching.ts +0 -225
- package/src/oxide/cli/help/index.ts +0 -69
- package/src/oxide/cli/index.ts +0 -204
- package/src/oxide/cli/init/index.ts +0 -59
- package/src/oxide/cli.ts +0 -1
- package/src/oxide/postcss-plugin.ts +0 -1
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/actions/workflow/status/tailwindlabs/tailwindcss/ci
|
|
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,13 +5,15 @@ 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
|
-
const
|
|
14
|
-
function
|
|
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) {
|
|
15
17
|
return obj && obj.__esModule ? obj : {
|
|
16
18
|
default: obj
|
|
17
19
|
};
|
|
@@ -32,9 +34,12 @@ async function build(args) {
|
|
|
32
34
|
console.error(`Specified config file ${args["--config"]} does not exist.`);
|
|
33
35
|
process.exit(9);
|
|
34
36
|
}
|
|
37
|
+
if (args["--no-autoprefixer"]) {
|
|
38
|
+
console.error("[deprecation] The --no-autoprefixer flag is deprecated and has no effect.");
|
|
39
|
+
}
|
|
35
40
|
// TODO: Reference the @config path here if exists
|
|
36
|
-
let configPath = args["--config"] ? args["--config"] : (0,
|
|
37
|
-
let processor = await (0,
|
|
41
|
+
let configPath = args["--config"] ? args["--config"] : (0, _resolveConfigPath.resolveDefaultConfigPath)();
|
|
42
|
+
let processor = await (0, _plugin.createProcessor)(args, configPath);
|
|
38
43
|
if (shouldWatch) {
|
|
39
44
|
// Abort the watcher if stdin is closed to avoid zombie processes
|
|
40
45
|
// You can disable this behavior with --watch=always
|
package/lib/cli/build/plugin.js
CHANGED
|
@@ -5,33 +5,118 @@ 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_wildcard(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
26
|
const _sharedState = require("../../lib/sharedState");
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
const
|
|
27
|
-
const _log = /*#__PURE__*/
|
|
28
|
-
const
|
|
29
|
-
const _getModuleDependencies = /*#__PURE__*/
|
|
30
|
-
|
|
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) {
|
|
31
39
|
return obj && obj.__esModule ? obj : {
|
|
32
40
|
default: obj
|
|
33
41
|
};
|
|
34
42
|
}
|
|
43
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
44
|
+
if (typeof WeakMap !== "function") return null;
|
|
45
|
+
var cacheBabelInterop = new WeakMap();
|
|
46
|
+
var cacheNodeInterop = new WeakMap();
|
|
47
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
48
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
49
|
+
})(nodeInterop);
|
|
50
|
+
}
|
|
51
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
52
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
53
|
+
return obj;
|
|
54
|
+
}
|
|
55
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
56
|
+
return {
|
|
57
|
+
default: obj
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
61
|
+
if (cache && cache.has(obj)) {
|
|
62
|
+
return cache.get(obj);
|
|
63
|
+
}
|
|
64
|
+
var newObj = {};
|
|
65
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
66
|
+
for(var key in obj){
|
|
67
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
68
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
69
|
+
if (desc && (desc.get || desc.set)) {
|
|
70
|
+
Object.defineProperty(newObj, key, desc);
|
|
71
|
+
} else {
|
|
72
|
+
newObj[key] = obj[key];
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
newObj.default = obj;
|
|
77
|
+
if (cache) {
|
|
78
|
+
cache.set(obj, newObj);
|
|
79
|
+
}
|
|
80
|
+
return newObj;
|
|
81
|
+
}
|
|
82
|
+
function license() {
|
|
83
|
+
return `/* ! tailwindcss v${_packagejson.default.version} | MIT License | https://tailwindcss.com */\n`;
|
|
84
|
+
}
|
|
85
|
+
async function lightningcss(result, { map = true, minify = true } = {}) {
|
|
86
|
+
try {
|
|
87
|
+
var _browserslist_findConfig;
|
|
88
|
+
var _result_opts_from;
|
|
89
|
+
let resolvedBrowsersListConfig = (_browserslist_findConfig = _browserslist.default.findConfig((_result_opts_from = result.opts.from) !== null && _result_opts_from !== void 0 ? _result_opts_from : process.cwd())) === null || _browserslist_findConfig === void 0 ? void 0 : _browserslist_findConfig.defaults;
|
|
90
|
+
let defaultBrowsersListConfig = _packagejson.default.browserslist;
|
|
91
|
+
let browsersListConfig = resolvedBrowsersListConfig !== null && resolvedBrowsersListConfig !== void 0 ? resolvedBrowsersListConfig : defaultBrowsersListConfig;
|
|
92
|
+
let transformed = _lightningcss.default.transform({
|
|
93
|
+
filename: result.opts.from || "input.css",
|
|
94
|
+
code: Buffer.from(result.css, "utf-8"),
|
|
95
|
+
minify,
|
|
96
|
+
sourceMap: result.map === undefined ? map : !!result.map,
|
|
97
|
+
inputSourceMap: result.map ? result.map.toString() : undefined,
|
|
98
|
+
targets: _lightningcss.default.browserslistToTargets((0, _browserslist.default)(browsersListConfig)),
|
|
99
|
+
drafts: {
|
|
100
|
+
nesting: true
|
|
101
|
+
},
|
|
102
|
+
include: _lightningcss.Features.Nesting,
|
|
103
|
+
exclude: _lightningcss.Features.LogicalProperties
|
|
104
|
+
});
|
|
105
|
+
return Object.assign(result, {
|
|
106
|
+
css: transformed.code.toString("utf8"),
|
|
107
|
+
map: result.map ? Object.assign(result.map, {
|
|
108
|
+
toString () {
|
|
109
|
+
var _transformed_map;
|
|
110
|
+
return (_transformed_map = transformed.map) === null || _transformed_map === void 0 ? void 0 : _transformed_map.toString();
|
|
111
|
+
}
|
|
112
|
+
}) : result.map
|
|
113
|
+
});
|
|
114
|
+
} catch (err) {
|
|
115
|
+
console.error("Unable to use Lightning CSS. Using raw version instead.");
|
|
116
|
+
console.error(err);
|
|
117
|
+
return result;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
35
120
|
/**
|
|
36
121
|
*
|
|
37
122
|
* @param {string} [customPostCssPath ]
|
|
@@ -41,7 +126,7 @@ function _interopRequireDefault(obj) {
|
|
|
41
126
|
let file = _path.default.resolve(customPostCssPath);
|
|
42
127
|
// Implementation, see: https://unpkg.com/browse/postcss-load-config@3.1.0/src/index.js
|
|
43
128
|
// @ts-ignore
|
|
44
|
-
let { config ={}
|
|
129
|
+
let { config = {} } = await (0, _lilconfig.lilconfig)("postcss").load(file);
|
|
45
130
|
if (typeof config === "function") {
|
|
46
131
|
config = config();
|
|
47
132
|
} else {
|
|
@@ -55,7 +140,7 @@ function _interopRequireDefault(obj) {
|
|
|
55
140
|
plugins: (0, _plugins.default)(config, file),
|
|
56
141
|
options: (0, _options.default)(config, file)
|
|
57
142
|
};
|
|
58
|
-
})() : await (0,
|
|
143
|
+
})() : await (0, _postcssloadconfig.default)();
|
|
59
144
|
let configPlugins = config.plugins;
|
|
60
145
|
let configPluginTailwindIdx = configPlugins.findIndex((plugin)=>{
|
|
61
146
|
if (typeof plugin === "function" && plugin.name === "tailwindcss") {
|
|
@@ -74,48 +159,16 @@ function _interopRequireDefault(obj) {
|
|
|
74
159
|
config.options
|
|
75
160
|
];
|
|
76
161
|
}
|
|
77
|
-
function loadBuiltinPostcssPlugins() {
|
|
78
|
-
let postcss = (0, _deps.loadPostcss)();
|
|
79
|
-
let IMPORT_COMMENT = "__TAILWIND_RESTORE_IMPORT__: ";
|
|
80
|
-
return [
|
|
81
|
-
[
|
|
82
|
-
(root)=>{
|
|
83
|
-
root.walkAtRules("import", (rule)=>{
|
|
84
|
-
if (rule.params.slice(1).startsWith("tailwindcss/")) {
|
|
85
|
-
rule.after(postcss.comment({
|
|
86
|
-
text: IMPORT_COMMENT + rule.params
|
|
87
|
-
}));
|
|
88
|
-
rule.remove();
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
},
|
|
92
|
-
(0, _deps.loadPostcssImport)(),
|
|
93
|
-
(root)=>{
|
|
94
|
-
root.walkComments((rule)=>{
|
|
95
|
-
if (rule.text.startsWith(IMPORT_COMMENT)) {
|
|
96
|
-
rule.after(postcss.atRule({
|
|
97
|
-
name: "import",
|
|
98
|
-
params: rule.text.replace(IMPORT_COMMENT, "")
|
|
99
|
-
}));
|
|
100
|
-
rule.remove();
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
],
|
|
105
|
-
[],
|
|
106
|
-
{}
|
|
107
|
-
];
|
|
108
|
-
}
|
|
109
162
|
let state = {
|
|
110
163
|
/** @type {any} */ context: null,
|
|
111
164
|
/** @type {ReturnType<typeof createWatcher> | null} */ watcher: null,
|
|
112
165
|
/** @type {{content: string, extension: string}[]} */ changedContent: [],
|
|
113
|
-
/** @type {
|
|
166
|
+
/** @type {{config: import('../../../types').Config, dependencies: Set<string>, dispose: Function } | null} */ configBag: null,
|
|
114
167
|
contextDependencies: new Set(),
|
|
115
168
|
/** @type {import('../../lib/content.js').ContentPath[]} */ contentPaths: [],
|
|
116
169
|
refreshContentPaths () {
|
|
117
170
|
var _this_context;
|
|
118
|
-
this.contentPaths = (0,
|
|
171
|
+
this.contentPaths = (0, _content.parseCandidateFiles)(this.context, (_this_context = this.context) === null || _this_context === void 0 ? void 0 : _this_context.tailwindConfig);
|
|
119
172
|
},
|
|
120
173
|
get config () {
|
|
121
174
|
return this.context.tailwindConfig;
|
|
@@ -127,10 +180,11 @@ let state = {
|
|
|
127
180
|
};
|
|
128
181
|
},
|
|
129
182
|
loadConfig (configPath, content) {
|
|
183
|
+
var _content;
|
|
130
184
|
if (this.watcher && configPath) {
|
|
131
185
|
this.refreshConfigDependencies();
|
|
132
186
|
}
|
|
133
|
-
let config = (0,
|
|
187
|
+
let config = (0, _loadconfig.loadConfig)(configPath);
|
|
134
188
|
let dependencies = (0, _getModuleDependencies.default)(configPath);
|
|
135
189
|
this.configBag = {
|
|
136
190
|
config,
|
|
@@ -141,14 +195,9 @@ let state = {
|
|
|
141
195
|
}
|
|
142
196
|
}
|
|
143
197
|
};
|
|
144
|
-
|
|
145
|
-
this.configBag.config = (0, _resolveConfigJs.default)(this.configBag.config, {
|
|
146
|
-
content: {
|
|
147
|
-
files: []
|
|
148
|
-
}
|
|
149
|
-
});
|
|
198
|
+
this.configBag.config = (0, _validateConfig.validateConfig)((0, _resolveConfig.default)(this.configBag.config));
|
|
150
199
|
// Override content files if `--content` has been passed explicitly
|
|
151
|
-
if ((content === null ||
|
|
200
|
+
if (((_content = content) === null || _content === void 0 ? void 0 : _content.length) > 0) {
|
|
152
201
|
this.configBag.config.content.files = content;
|
|
153
202
|
}
|
|
154
203
|
return this.configBag.config;
|
|
@@ -163,9 +212,9 @@ let state = {
|
|
|
163
212
|
let content = [];
|
|
164
213
|
// Resolve globs from the content config
|
|
165
214
|
// TODO: When we make the postcss plugin async-capable this can become async
|
|
166
|
-
let files =
|
|
215
|
+
let files = _fastglob.default.sync(this.contentPatterns.all);
|
|
167
216
|
for (let file of files){
|
|
168
|
-
if (
|
|
217
|
+
if ((0, _featureFlags.flagEnabled)(this.config, "oxideParser")) {
|
|
169
218
|
content.push({
|
|
170
219
|
file,
|
|
171
220
|
extension: _path.default.extname(file).slice(1)
|
|
@@ -181,7 +230,7 @@ let state = {
|
|
|
181
230
|
let rawContent = this.config.content.files.filter((file)=>{
|
|
182
231
|
return file !== null && typeof file === "object";
|
|
183
232
|
});
|
|
184
|
-
for (let { raw: htmlContent
|
|
233
|
+
for (let { raw: htmlContent, extension = "html" } of rawContent){
|
|
185
234
|
content.push({
|
|
186
235
|
content: htmlContent,
|
|
187
236
|
extension
|
|
@@ -189,14 +238,14 @@ let state = {
|
|
|
189
238
|
}
|
|
190
239
|
return content;
|
|
191
240
|
},
|
|
192
|
-
getContext ({ createContext
|
|
241
|
+
getContext ({ createContext, cliConfigPath, root, result, content }) {
|
|
193
242
|
if (this.context) {
|
|
194
243
|
this.context.changedContent = this.changedContent.splice(0);
|
|
195
244
|
return this.context;
|
|
196
245
|
}
|
|
197
246
|
_sharedState.env.DEBUG && console.time("Searching for config");
|
|
198
|
-
var
|
|
199
|
-
let configPath = (
|
|
247
|
+
var _findAtConfigPath1;
|
|
248
|
+
let configPath = (_findAtConfigPath1 = (0, _findAtConfigPath.findAtConfigPath)(root, result)) !== null && _findAtConfigPath1 !== void 0 ? _findAtConfigPath1 : cliConfigPath;
|
|
200
249
|
_sharedState.env.DEBUG && console.timeEnd("Searching for config");
|
|
201
250
|
_sharedState.env.DEBUG && console.time("Loading config");
|
|
202
251
|
let config = this.loadConfig(configPath, content);
|
|
@@ -223,12 +272,16 @@ let state = {
|
|
|
223
272
|
};
|
|
224
273
|
async function createProcessor(args, cliConfigPath) {
|
|
225
274
|
var _args_content;
|
|
226
|
-
let postcss = (0, _deps.loadPostcss)();
|
|
227
275
|
let input = args["--input"];
|
|
228
276
|
let output = args["--output"];
|
|
229
277
|
let includePostCss = args["--postcss"];
|
|
230
278
|
let customPostCssPath = typeof args["--postcss"] === "string" ? args["--postcss"] : undefined;
|
|
231
|
-
let [beforePlugins, afterPlugins, postcssOptions] = includePostCss ? await loadPostCssPlugins(customPostCssPath) :
|
|
279
|
+
let [beforePlugins, afterPlugins, postcssOptions] = includePostCss ? await loadPostCssPlugins(customPostCssPath) : [
|
|
280
|
+
[],
|
|
281
|
+
[],
|
|
282
|
+
{}
|
|
283
|
+
];
|
|
284
|
+
beforePlugins.unshift(...(0, _handleImportAtRules.handleImportAtRules)());
|
|
232
285
|
if (args["--purge"]) {
|
|
233
286
|
_log.default.warn("purge-flag-deprecated", [
|
|
234
287
|
"The `--purge` flag has been deprecated.",
|
|
@@ -243,9 +296,9 @@ async function createProcessor(args, cliConfigPath) {
|
|
|
243
296
|
let tailwindPlugin = ()=>{
|
|
244
297
|
return {
|
|
245
298
|
postcssPlugin: "tailwindcss",
|
|
246
|
-
Once (root, { result
|
|
299
|
+
async Once (root, { result }) {
|
|
247
300
|
_sharedState.env.DEBUG && console.time("Compiling CSS");
|
|
248
|
-
(0, _processTailwindFeatures.default)(({ createContext
|
|
301
|
+
await (0, _processTailwindFeatures.default)(({ createContext })=>{
|
|
249
302
|
console.error();
|
|
250
303
|
console.error("Rebuilding...");
|
|
251
304
|
return ()=>{
|
|
@@ -267,12 +320,10 @@ async function createProcessor(args, cliConfigPath) {
|
|
|
267
320
|
...beforePlugins,
|
|
268
321
|
tailwindPlugin,
|
|
269
322
|
!args["--minify"] && _utils.formatNodes,
|
|
270
|
-
...afterPlugins
|
|
271
|
-
!args["--no-autoprefixer"] && (0, _deps.loadAutoprefixer)(),
|
|
272
|
-
args["--minify"] && (0, _deps.loadCssNano)()
|
|
323
|
+
...afterPlugins
|
|
273
324
|
].filter(Boolean);
|
|
274
325
|
/** @type {import('postcss').Processor} */ // @ts-ignore
|
|
275
|
-
let processor =
|
|
326
|
+
let processor = (0, _postcss.default)(plugins);
|
|
276
327
|
async function readInput() {
|
|
277
328
|
// Piping in data, let's drain the stdin
|
|
278
329
|
if (input === "-") {
|
|
@@ -287,10 +338,14 @@ async function createProcessor(args, cliConfigPath) {
|
|
|
287
338
|
}
|
|
288
339
|
async function build() {
|
|
289
340
|
let start = process.hrtime.bigint();
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
341
|
+
let options = {
|
|
342
|
+
...postcssOptions,
|
|
343
|
+
from: input,
|
|
344
|
+
to: output
|
|
345
|
+
};
|
|
346
|
+
return readInput().then((css)=>processor.process(css, options)).then((result)=>lightningcss(result, {
|
|
347
|
+
...options,
|
|
348
|
+
minify: !!args["--minify"]
|
|
294
349
|
})).then((result)=>{
|
|
295
350
|
if (!state.watcher) {
|
|
296
351
|
return result;
|
|
@@ -309,11 +364,11 @@ async function createProcessor(args, cliConfigPath) {
|
|
|
309
364
|
return result;
|
|
310
365
|
}).then((result)=>{
|
|
311
366
|
if (!output) {
|
|
312
|
-
process.stdout.write(result.css);
|
|
367
|
+
process.stdout.write(license() + result.css);
|
|
313
368
|
return;
|
|
314
369
|
}
|
|
315
370
|
return Promise.all([
|
|
316
|
-
(0, _utils.outputFile)(result.opts.to, result.css),
|
|
371
|
+
(0, _utils.outputFile)(result.opts.to, license() + result.css),
|
|
317
372
|
result.map && (0, _utils.outputFile)(result.opts.to + ".map", result.map.toString())
|
|
318
373
|
]);
|
|
319
374
|
}).then(()=>{
|
|
@@ -351,7 +406,7 @@ async function createProcessor(args, cliConfigPath) {
|
|
|
351
406
|
return {
|
|
352
407
|
build,
|
|
353
408
|
watch: async ()=>{
|
|
354
|
-
state.watcher = (0,
|
|
409
|
+
state.watcher = (0, _watching.createWatcher)(args, {
|
|
355
410
|
state,
|
|
356
411
|
/**
|
|
357
412
|
* @param {{file: string, content(): Promise<string>, extension: string}[]} changes
|
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,20 +5,22 @@ 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
|
};
|
|
20
22
|
}
|
|
21
|
-
function createWatcher(args, { state
|
|
23
|
+
function createWatcher(args, { state, rebuild }) {
|
|
22
24
|
let shouldPoll = args["--poll"];
|
|
23
25
|
let shouldCoalesceWriteEvents = shouldPoll || process.platform === "win32";
|
|
24
26
|
// Polling interval in milliseconds
|
|
@@ -111,7 +113,7 @@ function createWatcher(args, { state , rebuild }) {
|
|
|
111
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)
|
|
112
114
|
// TODO: An an optimization we should allow removal when the config changes
|
|
113
115
|
watcher.on("unlink", (file)=>{
|
|
114
|
-
file = (0,
|
|
116
|
+
file = (0, _normalizepath.default)(file);
|
|
115
117
|
// Only re-add the file if it's not covered by a dynamic pattern
|
|
116
118
|
if (!_micromatch.default.some([
|
|
117
119
|
file
|
|
@@ -150,7 +152,7 @@ function createWatcher(args, { state , rebuild }) {
|
|
|
150
152
|
// We need to read the file as early as possible outside of the chain
|
|
151
153
|
// because it may be gone by the time we get to it. doing the read
|
|
152
154
|
// immediately increases the chance that the file is still there
|
|
153
|
-
let content = await (0,
|
|
155
|
+
let content = await (0, _utils.readFileWithRetries)(_path.default.resolve(filePath));
|
|
154
156
|
if (content === undefined) {
|
|
155
157
|
return;
|
|
156
158
|
}
|
package/lib/cli/help/index.js
CHANGED
|
@@ -5,19 +5,21 @@ 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
|
};
|
|
15
17
|
}
|
|
16
|
-
function help({ message
|
|
18
|
+
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();
|
|
@@ -58,7 +60,7 @@ function help({ message , usage , commands , options }) {
|
|
|
58
60
|
}
|
|
59
61
|
console.log();
|
|
60
62
|
console.log("Options:");
|
|
61
|
-
for (let { flags
|
|
63
|
+
for (let { flags, description, deprecated } of Object.values(groupedOptions)){
|
|
62
64
|
if (deprecated) continue;
|
|
63
65
|
if (flags.length === 1) {
|
|
64
66
|
console.log(" ".repeat(indent + 4 /* 4 = "-i, ".length */ ), flags.slice().reverse().join(", ").padEnd(20, " "), description);
|
package/lib/cli/index.js
CHANGED
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
const _path = /*#__PURE__*/
|
|
7
|
-
const _arg = /*#__PURE__*/
|
|
8
|
-
const _fs = /*#__PURE__*/
|
|
6
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
7
|
+
const _arg = /*#__PURE__*/ _interop_require_default(require("arg"));
|
|
8
|
+
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
9
9
|
const _build = require("./build");
|
|
10
10
|
const _help = require("./help");
|
|
11
11
|
const _init = require("./init");
|
|
12
|
-
function
|
|
12
|
+
function _interop_require_default(obj) {
|
|
13
13
|
return obj && obj.__esModule ? obj : {
|
|
14
14
|
default: obj
|
|
15
15
|
};
|
|
@@ -91,6 +91,7 @@ let commands = {
|
|
|
91
91
|
description: "Path to a custom config file"
|
|
92
92
|
},
|
|
93
93
|
"--no-autoprefixer": {
|
|
94
|
+
deprecated: true,
|
|
94
95
|
type: Boolean,
|
|
95
96
|
description: "Disable autoprefixer"
|
|
96
97
|
},
|
|
@@ -143,15 +144,15 @@ if (commands[command] === undefined) {
|
|
|
143
144
|
}
|
|
144
145
|
}
|
|
145
146
|
// Execute command
|
|
146
|
-
let { args: flags
|
|
147
|
+
let { args: flags, run } = commands[command];
|
|
147
148
|
let args = (()=>{
|
|
148
149
|
try {
|
|
149
150
|
let result = (0, _arg.default)(Object.fromEntries(Object.entries({
|
|
150
151
|
...flags,
|
|
151
152
|
...sharedFlags
|
|
152
153
|
}).filter(([_key, value])=>{
|
|
153
|
-
var _value_type;
|
|
154
|
-
return !(value === null ||
|
|
154
|
+
var _value_type, _value;
|
|
155
|
+
return !((_value = value) === null || _value === void 0 ? void 0 : (_value_type = _value.type) === null || _value_type === void 0 ? void 0 : _value_type.manualParsing);
|
|
155
156
|
}).map(([key, value])=>[
|
|
156
157
|
key,
|
|
157
158
|
typeof value === "object" ? value.type : value
|
package/lib/cli/init/index.js
CHANGED
|
@@ -5,11 +5,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
Object.defineProperty(exports, "init", {
|
|
7
7
|
enumerable: true,
|
|
8
|
-
get: ()
|
|
8
|
+
get: function() {
|
|
9
|
+
return init;
|
|
10
|
+
}
|
|
9
11
|
});
|
|
10
|
-
const _fs = /*#__PURE__*/
|
|
11
|
-
const _path = /*#__PURE__*/
|
|
12
|
-
function
|
|
12
|
+
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
13
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
14
|
+
function _interop_require_default(obj) {
|
|
13
15
|
return obj && obj.__esModule ? obj : {
|
|
14
16
|
default: obj
|
|
15
17
|
};
|
|
@@ -47,8 +49,8 @@ function init(args) {
|
|
|
47
49
|
if (_fs.default.existsSync(postcssConfigLocation)) {
|
|
48
50
|
messages.push(`${_path.default.basename(postcssConfigLocation)} already exists.`);
|
|
49
51
|
} else {
|
|
50
|
-
let
|
|
51
|
-
_fs.default.writeFileSync(postcssConfigLocation,
|
|
52
|
+
let stubFile = _fs.default.readFileSync(isProjectESM ? _path.default.resolve(__dirname, "../../../stubs/postcss.config.js") : _path.default.resolve(__dirname, "../../../stubs/postcss.config.cjs"), "utf8");
|
|
53
|
+
_fs.default.writeFileSync(postcssConfigLocation, stubFile, "utf8");
|
|
52
54
|
messages.push(`Created PostCSS config file: ${_path.default.basename(postcssConfigLocation)}`);
|
|
53
55
|
}
|
|
54
56
|
}
|
package/lib/cli.js
CHANGED
package/lib/corePluginList.js
CHANGED
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "default", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return _default;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
const _default = [
|
|
10
12
|
"preflight",
|
|
@@ -96,6 +98,7 @@ const _default = [
|
|
|
96
98
|
"textOverflow",
|
|
97
99
|
"hyphens",
|
|
98
100
|
"whitespace",
|
|
101
|
+
"textWrap",
|
|
99
102
|
"wordBreak",
|
|
100
103
|
"borderRadius",
|
|
101
104
|
"borderWidth",
|