tailwindcss 3.3.1 → 3.3.3
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/CHANGELOG.md +47 -6
- package/lib/cli/build/deps.js +17 -9
- package/lib/cli/build/index.js +10 -8
- package/lib/cli/build/plugin.js +29 -27
- package/lib/cli/build/utils.js +18 -8
- package/lib/cli/build/watching.js +12 -10
- package/lib/cli/help/index.js +6 -4
- package/lib/cli/index.js +4 -4
- package/lib/cli/init/index.js +8 -6
- package/lib/cli-peer-dependencies.js +12 -4
- package/lib/cli.js +1 -1
- package/lib/corePluginList.js +3 -1
- package/lib/corePlugins.js +52 -42
- package/lib/css/preflight.css +9 -0
- package/lib/featureFlags.js +14 -9
- 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 +18 -14
- package/lib/lib/defaultExtractor.js +6 -4
- package/lib/lib/detectNesting.js +3 -1
- package/lib/lib/evaluateTailwindFunctions.js +20 -16
- package/lib/lib/expandApplyAtRules.js +37 -40
- package/lib/lib/expandTailwindAtRules.js +19 -17
- package/lib/lib/findAtConfigPath.js +6 -4
- package/lib/lib/generateRules.js +52 -38
- package/lib/lib/getModuleDependencies.js +10 -8
- package/lib/lib/load-config.js +5 -3
- package/lib/lib/normalizeTailwindDirectives.js +5 -3
- package/lib/lib/offsets.js +7 -5
- 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 +24 -20
- package/lib/lib/setupContextUtils.js +91 -63
- package/lib/lib/setupTrackingContext.js +27 -24
- package/lib/lib/sharedState.js +28 -24
- package/lib/lib/substituteScreenAtRules.js +5 -3
- package/lib/oxide/cli/build/deps.js +16 -8
- package/lib/oxide/cli/build/index.js +6 -4
- package/lib/oxide/cli/build/plugin.js +19 -17
- package/lib/oxide/cli/build/utils.js +18 -8
- package/lib/oxide/cli/build/watching.js +10 -8
- package/lib/oxide/cli/help/index.js +6 -4
- package/lib/oxide/cli/index.js +4 -4
- package/lib/oxide/cli/init/index.js +6 -4
- package/lib/plugin.js +9 -9
- package/lib/postcss-plugins/nesting/index.js +3 -1
- package/lib/postcss-plugins/nesting/plugin.js +8 -6
- package/lib/processTailwindFeatures.js +16 -14
- package/lib/public/colors.js +5 -3
- 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 +9 -10
- 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 +10 -6
- 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 +59 -21
- 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 +30 -110
- 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 +3 -1
- 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 +3 -1
- package/lib/util/normalizeConfig.js +7 -5
- 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 +30 -18
- 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 +10 -8
- 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 +5 -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/package.json +30 -35
- package/peers/index.js +65828 -48819
- package/src/cli/build/plugin.js +3 -3
- package/src/cli.js +1 -1
- package/src/corePlugins.js +29 -24
- package/src/css/preflight.css +9 -0
- package/src/featureFlags.js +2 -3
- package/src/index.js +1 -5
- package/src/lib/defaultExtractor.js +1 -1
- package/src/lib/evaluateTailwindFunctions.js +4 -1
- package/src/lib/expandApplyAtRules.js +2 -8
- package/src/lib/expandTailwindAtRules.js +12 -10
- package/src/lib/generateRules.js +15 -8
- package/src/lib/setupContextUtils.js +18 -5
- package/src/lib/setupTrackingContext.js +2 -4
- package/src/lib/sharedState.js +0 -15
- package/src/oxide/cli/build/plugin.ts +1 -1
- package/src/plugin.js +4 -4
- package/src/processTailwindFeatures.js +3 -2
- package/src/util/applyImportantSelector.js +2 -5
- package/src/util/color.js +1 -1
- package/src/util/colorNames.js +150 -0
- package/src/util/dataTypes.js +17 -6
- package/src/util/formatVariantSelector.js +4 -126
- package/src/util/pluginUtils.js +1 -5
- package/src/util/prefixSelector.js +1 -0
- package/src/util/pseudoElements.js +167 -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 +1 -0
- package/types/generated/default-theme.d.ts +1 -0
|
@@ -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 expandApplyAtRules;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
function partitionRules(root) {
|
|
10
12
|
if (!root.walkAtRules) return;
|
package/lib/lib/regex.js
CHANGED
|
@@ -9,13 +9,27 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
pattern: ()
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
pattern: function() {
|
|
13
|
+
return pattern;
|
|
14
|
+
},
|
|
15
|
+
withoutCapturing: function() {
|
|
16
|
+
return withoutCapturing;
|
|
17
|
+
},
|
|
18
|
+
any: function() {
|
|
19
|
+
return any;
|
|
20
|
+
},
|
|
21
|
+
optional: function() {
|
|
22
|
+
return optional;
|
|
23
|
+
},
|
|
24
|
+
zeroOrMore: function() {
|
|
25
|
+
return zeroOrMore;
|
|
26
|
+
},
|
|
27
|
+
nestedBrackets: function() {
|
|
28
|
+
return nestedBrackets;
|
|
29
|
+
},
|
|
30
|
+
escape: function() {
|
|
31
|
+
return escape;
|
|
32
|
+
}
|
|
19
33
|
});
|
|
20
34
|
const REGEX_SPECIAL = /[\\^$.*+?()[\]{}|]/g;
|
|
21
35
|
const REGEX_HAS_SPECIAL = RegExp(REGEX_SPECIAL.source);
|
|
@@ -69,7 +69,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
69
69
|
});
|
|
70
70
|
Object.defineProperty(exports, "remapBitfield", {
|
|
71
71
|
enumerable: true,
|
|
72
|
-
get: ()
|
|
72
|
+
get: function() {
|
|
73
|
+
return remapBitfield;
|
|
74
|
+
}
|
|
73
75
|
});
|
|
74
76
|
function remapBitfield(num, mapping) {
|
|
75
77
|
// Create masks for the old and new bits that are set
|
|
@@ -9,20 +9,24 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
elementSelectorParser: ()
|
|
13
|
-
|
|
12
|
+
elementSelectorParser: function() {
|
|
13
|
+
return elementSelectorParser;
|
|
14
|
+
},
|
|
15
|
+
default: function() {
|
|
16
|
+
return resolveDefaultsAtRules;
|
|
17
|
+
}
|
|
14
18
|
});
|
|
15
|
-
const _postcss = /*#__PURE__*/
|
|
16
|
-
const
|
|
19
|
+
const _postcss = /*#__PURE__*/ _interop_require_default(require("postcss"));
|
|
20
|
+
const _postcssselectorparser = /*#__PURE__*/ _interop_require_default(require("postcss-selector-parser"));
|
|
17
21
|
const _featureFlags = require("../featureFlags");
|
|
18
|
-
function
|
|
22
|
+
function _interop_require_default(obj) {
|
|
19
23
|
return obj && obj.__esModule ? obj : {
|
|
20
24
|
default: obj
|
|
21
25
|
};
|
|
22
26
|
}
|
|
23
27
|
let getNode = {
|
|
24
28
|
id (node) {
|
|
25
|
-
return
|
|
29
|
+
return _postcssselectorparser.default.attribute({
|
|
26
30
|
attribute: "id",
|
|
27
31
|
operator: "=",
|
|
28
32
|
value: node.value,
|
|
@@ -60,14 +64,14 @@ function minimumImpactSelector(nodes) {
|
|
|
60
64
|
let combinatorIdx = rest.findIndex((n)=>n.type === "combinator" && n.value === ">");
|
|
61
65
|
if (combinatorIdx !== -1) {
|
|
62
66
|
rest.splice(0, combinatorIdx);
|
|
63
|
-
rest.unshift(
|
|
67
|
+
rest.unshift(_postcssselectorparser.default.universal());
|
|
64
68
|
}
|
|
65
69
|
return [
|
|
66
70
|
bestNode,
|
|
67
71
|
...rest.reverse()
|
|
68
72
|
].join("").trim();
|
|
69
73
|
}
|
|
70
|
-
let elementSelectorParser = (0,
|
|
74
|
+
let elementSelectorParser = (0, _postcssselectorparser.default)((selectors)=>{
|
|
71
75
|
return selectors.map((s)=>{
|
|
72
76
|
let nodes = s.split((n)=>n.type === "combinator" && n.value === " ").pop();
|
|
73
77
|
return minimumImpactSelector(nodes);
|
|
@@ -119,12 +123,12 @@ function resolveDefaultsAtRules({ tailwindConfig }) {
|
|
|
119
123
|
universal.remove();
|
|
120
124
|
continue;
|
|
121
125
|
}
|
|
122
|
-
for (let [,
|
|
126
|
+
for (let [, selectors] of selectorGroups){
|
|
123
127
|
let universalRule = _postcss.default.rule({
|
|
124
128
|
source: universal.source
|
|
125
129
|
});
|
|
126
130
|
universalRule.selectors = [
|
|
127
|
-
...
|
|
131
|
+
...selectors
|
|
128
132
|
];
|
|
129
133
|
universalRule.append(universal.nodes.map((node)=>node.clone()));
|
|
130
134
|
universal.before(universalRule);
|
|
@@ -133,29 +137,29 @@ function resolveDefaultsAtRules({ tailwindConfig }) {
|
|
|
133
137
|
universal.remove();
|
|
134
138
|
}
|
|
135
139
|
} else if (universals.size) {
|
|
136
|
-
let
|
|
140
|
+
let universalRule = _postcss.default.rule({
|
|
137
141
|
selectors: [
|
|
138
142
|
"*",
|
|
139
143
|
"::before",
|
|
140
144
|
"::after"
|
|
141
145
|
]
|
|
142
146
|
});
|
|
143
|
-
for (let
|
|
144
|
-
|
|
145
|
-
if (!
|
|
146
|
-
|
|
147
|
+
for (let universal of universals){
|
|
148
|
+
universalRule.append(universal.nodes);
|
|
149
|
+
if (!universalRule.parent) {
|
|
150
|
+
universal.before(universalRule);
|
|
147
151
|
}
|
|
148
|
-
if (!
|
|
149
|
-
|
|
152
|
+
if (!universalRule.source) {
|
|
153
|
+
universalRule.source = universal.source;
|
|
150
154
|
}
|
|
151
|
-
|
|
155
|
+
universal.remove();
|
|
152
156
|
}
|
|
153
|
-
let backdropRule =
|
|
157
|
+
let backdropRule = universalRule.clone({
|
|
154
158
|
selectors: [
|
|
155
159
|
"::backdrop"
|
|
156
160
|
]
|
|
157
161
|
});
|
|
158
|
-
|
|
162
|
+
universalRule.after(backdropRule);
|
|
159
163
|
}
|
|
160
164
|
};
|
|
161
165
|
}
|
|
@@ -9,36 +9,49 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
INTERNAL_FEATURES: function() {
|
|
13
|
+
return INTERNAL_FEATURES;
|
|
14
|
+
},
|
|
15
|
+
isValidVariantFormatString: function() {
|
|
16
|
+
return isValidVariantFormatString;
|
|
17
|
+
},
|
|
18
|
+
parseVariant: function() {
|
|
19
|
+
return parseVariant;
|
|
20
|
+
},
|
|
21
|
+
getFileModifiedMap: function() {
|
|
22
|
+
return getFileModifiedMap;
|
|
23
|
+
},
|
|
24
|
+
createContext: function() {
|
|
25
|
+
return createContext;
|
|
26
|
+
},
|
|
27
|
+
getContext: function() {
|
|
28
|
+
return getContext;
|
|
29
|
+
}
|
|
17
30
|
});
|
|
18
|
-
const _fs = /*#__PURE__*/
|
|
19
|
-
const _url = /*#__PURE__*/
|
|
20
|
-
const _postcss = /*#__PURE__*/
|
|
21
|
-
const _dlv = /*#__PURE__*/
|
|
22
|
-
const
|
|
23
|
-
const _transformThemeValue = /*#__PURE__*/
|
|
24
|
-
const _parseObjectStyles = /*#__PURE__*/
|
|
25
|
-
const _prefixSelector = /*#__PURE__*/
|
|
26
|
-
const _isPlainObject = /*#__PURE__*/
|
|
27
|
-
const _escapeClassName = /*#__PURE__*/
|
|
28
|
-
const _nameClass = /*#__PURE__*/
|
|
31
|
+
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
32
|
+
const _url = /*#__PURE__*/ _interop_require_default(require("url"));
|
|
33
|
+
const _postcss = /*#__PURE__*/ _interop_require_default(require("postcss"));
|
|
34
|
+
const _dlv = /*#__PURE__*/ _interop_require_default(require("dlv"));
|
|
35
|
+
const _postcssselectorparser = /*#__PURE__*/ _interop_require_default(require("postcss-selector-parser"));
|
|
36
|
+
const _transformThemeValue = /*#__PURE__*/ _interop_require_default(require("../util/transformThemeValue"));
|
|
37
|
+
const _parseObjectStyles = /*#__PURE__*/ _interop_require_default(require("../util/parseObjectStyles"));
|
|
38
|
+
const _prefixSelector = /*#__PURE__*/ _interop_require_default(require("../util/prefixSelector"));
|
|
39
|
+
const _isPlainObject = /*#__PURE__*/ _interop_require_default(require("../util/isPlainObject"));
|
|
40
|
+
const _escapeClassName = /*#__PURE__*/ _interop_require_default(require("../util/escapeClassName"));
|
|
41
|
+
const _nameClass = /*#__PURE__*/ _interop_require_wildcard(require("../util/nameClass"));
|
|
29
42
|
const _pluginUtils = require("../util/pluginUtils");
|
|
30
43
|
const _corePlugins = require("../corePlugins");
|
|
31
|
-
const _sharedState = /*#__PURE__*/
|
|
44
|
+
const _sharedState = /*#__PURE__*/ _interop_require_wildcard(require("./sharedState"));
|
|
32
45
|
const _toPath = require("../util/toPath");
|
|
33
|
-
const _log = /*#__PURE__*/
|
|
34
|
-
const _negateValue = /*#__PURE__*/
|
|
35
|
-
const _isSyntacticallyValidPropertyValue = /*#__PURE__*/
|
|
46
|
+
const _log = /*#__PURE__*/ _interop_require_default(require("../util/log"));
|
|
47
|
+
const _negateValue = /*#__PURE__*/ _interop_require_default(require("../util/negateValue"));
|
|
48
|
+
const _isSyntacticallyValidPropertyValue = /*#__PURE__*/ _interop_require_default(require("../util/isSyntacticallyValidPropertyValue"));
|
|
36
49
|
const _generateRules = require("./generateRules");
|
|
37
|
-
const
|
|
38
|
-
const
|
|
39
|
-
const
|
|
50
|
+
const _cacheInvalidation = require("./cacheInvalidation.js");
|
|
51
|
+
const _offsets = require("./offsets.js");
|
|
52
|
+
const _featureFlags = require("../featureFlags.js");
|
|
40
53
|
const _formatVariantSelector = require("../util/formatVariantSelector");
|
|
41
|
-
function
|
|
54
|
+
function _interop_require_default(obj) {
|
|
42
55
|
return obj && obj.__esModule ? obj : {
|
|
43
56
|
default: obj
|
|
44
57
|
};
|
|
@@ -51,7 +64,7 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
51
64
|
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
52
65
|
})(nodeInterop);
|
|
53
66
|
}
|
|
54
|
-
function
|
|
67
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
55
68
|
if (!nodeInterop && obj && obj.__esModule) {
|
|
56
69
|
return obj;
|
|
57
70
|
}
|
|
@@ -82,6 +95,7 @@ function _interopRequireWildcard(obj, nodeInterop) {
|
|
|
82
95
|
}
|
|
83
96
|
return newObj;
|
|
84
97
|
}
|
|
98
|
+
const INTERNAL_FEATURES = Symbol();
|
|
85
99
|
const VARIANT_TYPES = {
|
|
86
100
|
AddVariant: Symbol.for("ADD_VARIANT"),
|
|
87
101
|
MatchVariant: Symbol.for("MATCH_VARIANT")
|
|
@@ -175,7 +189,7 @@ function parseStyles(styles) {
|
|
|
175
189
|
});
|
|
176
190
|
}
|
|
177
191
|
function getClasses(selector, mutate) {
|
|
178
|
-
let parser = (0,
|
|
192
|
+
let parser = (0, _postcssselectorparser.default)((selectors)=>{
|
|
179
193
|
let allClasses = [];
|
|
180
194
|
if (mutate) {
|
|
181
195
|
mutate(selectors);
|
|
@@ -260,11 +274,14 @@ function parseVariant(variant) {
|
|
|
260
274
|
if (!str.startsWith("@")) {
|
|
261
275
|
return ({ format })=>format(str);
|
|
262
276
|
}
|
|
263
|
-
let [, name, params] = /@(
|
|
264
|
-
|
|
277
|
+
let [, name, params] = /@(\S*)( .+|[({].*)?/g.exec(str);
|
|
278
|
+
var _params_trim;
|
|
279
|
+
return ({ wrap })=>{
|
|
280
|
+
return wrap(_postcss.default.atRule({
|
|
265
281
|
name,
|
|
266
|
-
params: params.trim()
|
|
282
|
+
params: (_params_trim = params === null || params === void 0 ? void 0 : params.trim()) !== null && _params_trim !== void 0 ? _params_trim : ""
|
|
267
283
|
}));
|
|
284
|
+
};
|
|
268
285
|
}).reverse();
|
|
269
286
|
return (api)=>{
|
|
270
287
|
for (let fn of fns){
|
|
@@ -451,7 +468,7 @@ function parseVariant(variant) {
|
|
|
451
468
|
return utilityModifier;
|
|
452
469
|
}
|
|
453
470
|
};
|
|
454
|
-
let modifiersEnabled = (0,
|
|
471
|
+
let modifiersEnabled = (0, _featureFlags.flagEnabled)(tailwindConfig, "generalizedModifiers");
|
|
455
472
|
let ruleSets = [].concat(modifiersEnabled ? rule(value, extras) : rule(value)).filter(Boolean).map((declaration)=>({
|
|
456
473
|
[(0, _nameClass.default)(identifier, modifier)]: declaration
|
|
457
474
|
}));
|
|
@@ -517,7 +534,7 @@ function parseVariant(variant) {
|
|
|
517
534
|
return utilityModifier;
|
|
518
535
|
}
|
|
519
536
|
};
|
|
520
|
-
let modifiersEnabled = (0,
|
|
537
|
+
let modifiersEnabled = (0, _featureFlags.flagEnabled)(tailwindConfig, "generalizedModifiers");
|
|
521
538
|
let ruleSets = [].concat(modifiersEnabled ? rule(value, extras) : rule(value)).filter(Boolean).map((declaration)=>({
|
|
522
539
|
[(0, _nameClass.default)(identifier, modifier)]: declaration
|
|
523
540
|
}));
|
|
@@ -578,7 +595,7 @@ function parseVariant(variant) {
|
|
|
578
595
|
// This is for internal use only which is why it is not present in the types
|
|
579
596
|
let id = (_options_id = options === null || options === void 0 ? void 0 : options.id) !== null && _options_id !== void 0 ? _options_id : ++variantIdentifier;
|
|
580
597
|
let isSpecial = variant === "@";
|
|
581
|
-
let modifiersEnabled = (0,
|
|
598
|
+
let modifiersEnabled = (0, _featureFlags.flagEnabled)(tailwindConfig, "generalizedModifiers");
|
|
582
599
|
var _options_values;
|
|
583
600
|
for (let [key, value] of Object.entries((_options_values = options === null || options === void 0 ? void 0 : options.values) !== null && _options_values !== void 0 ? _options_values : {})){
|
|
584
601
|
if (key === "DEFAULT") continue;
|
|
@@ -689,9 +706,9 @@ function collectLayerPlugins(root) {
|
|
|
689
706
|
}
|
|
690
707
|
layerRule.remove();
|
|
691
708
|
} else if (layerRule.params === "components") {
|
|
692
|
-
for (let
|
|
709
|
+
for (let node of layerRule.nodes){
|
|
693
710
|
layerPlugins.push(function({ addComponents }) {
|
|
694
|
-
addComponents(
|
|
711
|
+
addComponents(node, {
|
|
695
712
|
respectPrefix: false,
|
|
696
713
|
preserveSource: true
|
|
697
714
|
});
|
|
@@ -699,9 +716,9 @@ function collectLayerPlugins(root) {
|
|
|
699
716
|
}
|
|
700
717
|
layerRule.remove();
|
|
701
718
|
} else if (layerRule.params === "utilities") {
|
|
702
|
-
for (let
|
|
719
|
+
for (let node of layerRule.nodes){
|
|
703
720
|
layerPlugins.push(function({ addUtilities }) {
|
|
704
|
-
addUtilities(
|
|
721
|
+
addUtilities(node, {
|
|
705
722
|
respectPrefix: false,
|
|
706
723
|
preserveSource: true
|
|
707
724
|
});
|
|
@@ -759,7 +776,7 @@ function registerPlugins(plugins, context) {
|
|
|
759
776
|
let variantList = [];
|
|
760
777
|
let variantMap = new Map();
|
|
761
778
|
context.variantMap = variantMap;
|
|
762
|
-
let offsets = new
|
|
779
|
+
let offsets = new _offsets.Offsets();
|
|
763
780
|
context.offsets = offsets;
|
|
764
781
|
let classList = new Set();
|
|
765
782
|
let pluginApi = buildPluginApi(context.tailwindConfig, context, {
|
|
@@ -850,7 +867,7 @@ function registerPlugins(plugins, context) {
|
|
|
850
867
|
})() : [
|
|
851
868
|
util
|
|
852
869
|
];
|
|
853
|
-
for (let
|
|
870
|
+
for (let util of utils){
|
|
854
871
|
for (let { pattern , variants =[] } of checks){
|
|
855
872
|
// RegExp with the /g flag are stateful, so let's reset the last
|
|
856
873
|
// index pointer to reset the state.
|
|
@@ -858,15 +875,15 @@ function registerPlugins(plugins, context) {
|
|
|
858
875
|
if (!patternMatchingCount.has(pattern)) {
|
|
859
876
|
patternMatchingCount.set(pattern, 0);
|
|
860
877
|
}
|
|
861
|
-
if (!pattern.test(
|
|
878
|
+
if (!pattern.test(util)) continue;
|
|
862
879
|
patternMatchingCount.set(pattern, patternMatchingCount.get(pattern) + 1);
|
|
863
880
|
context.changedContent.push({
|
|
864
|
-
content:
|
|
881
|
+
content: util,
|
|
865
882
|
extension: "html"
|
|
866
883
|
});
|
|
867
884
|
for (let variant of variants){
|
|
868
885
|
context.changedContent.push({
|
|
869
|
-
content: variant + context.tailwindConfig.separator +
|
|
886
|
+
content: variant + context.tailwindConfig.separator + util,
|
|
870
887
|
extension: "html"
|
|
871
888
|
});
|
|
872
889
|
}
|
|
@@ -914,7 +931,11 @@ function registerPlugins(plugins, context) {
|
|
|
914
931
|
rules = context.offsets.sort(rules);
|
|
915
932
|
let idx = BigInt(parasiteUtilities.length);
|
|
916
933
|
for (const [, rule] of rules){
|
|
917
|
-
|
|
934
|
+
let candidate = rule.raws.tailwind.candidate;
|
|
935
|
+
var _sortedClassNames_get;
|
|
936
|
+
// When multiple rules match a candidate
|
|
937
|
+
// always take the position of the first one
|
|
938
|
+
sortedClassNames.set(candidate, (_sortedClassNames_get = sortedClassNames.get(candidate)) !== null && _sortedClassNames_get !== void 0 ? _sortedClassNames_get : idx++);
|
|
918
939
|
}
|
|
919
940
|
return classes.map((className)=>{
|
|
920
941
|
var _sortedClassNames_get;
|
|
@@ -963,11 +984,11 @@ function registerPlugins(plugins, context) {
|
|
|
963
984
|
metadata
|
|
964
985
|
] : cls);
|
|
965
986
|
if ((utilOptions === null || utilOptions === void 0 ? void 0 : utilOptions.supportsNegativeValues) && (0, _negateValue.default)(value)) {
|
|
966
|
-
let
|
|
987
|
+
let cls = (0, _nameClass.formatClass)(utilName, `-${key}`);
|
|
967
988
|
negativeClasses.push(includeMetadata ? [
|
|
968
|
-
|
|
989
|
+
cls,
|
|
969
990
|
metadata
|
|
970
|
-
] :
|
|
991
|
+
] : cls);
|
|
971
992
|
}
|
|
972
993
|
}
|
|
973
994
|
output.push(...negativeClasses);
|
|
@@ -1060,7 +1081,7 @@ function registerPlugins(plugins, context) {
|
|
|
1060
1081
|
// as well. E.g.: `${variant}${separator}${className}`.
|
|
1061
1082
|
// However, plugin authors probably also prepend or append certain
|
|
1062
1083
|
// classes, pseudos, ids, ...
|
|
1063
|
-
let rebuiltBase = (0,
|
|
1084
|
+
let rebuiltBase = (0, _postcssselectorparser.default)((selectors)=>{
|
|
1064
1085
|
selectors.walkClasses((classNode)=>{
|
|
1065
1086
|
classNode.value = `${name}${context.tailwindConfig.separator}${classNode.value}`;
|
|
1066
1087
|
});
|
|
@@ -1085,13 +1106,20 @@ function registerPlugins(plugins, context) {
|
|
|
1085
1106
|
}
|
|
1086
1107
|
var _options_values1;
|
|
1087
1108
|
let isArbitraryVariant = !(value in ((_options_values1 = options.values) !== null && _options_values1 !== void 0 ? _options_values1 : {}));
|
|
1109
|
+
var _options_INTERNAL_FEATURES;
|
|
1110
|
+
let internalFeatures = (_options_INTERNAL_FEATURES = options[INTERNAL_FEATURES]) !== null && _options_INTERNAL_FEATURES !== void 0 ? _options_INTERNAL_FEATURES : {};
|
|
1111
|
+
let respectPrefix = (()=>{
|
|
1112
|
+
if (isArbitraryVariant) return false;
|
|
1113
|
+
if (internalFeatures.respectPrefix === false) return false;
|
|
1114
|
+
return true;
|
|
1115
|
+
})();
|
|
1088
1116
|
formatStrings = formatStrings.map((format)=>format.map((str)=>({
|
|
1089
1117
|
format: str,
|
|
1090
|
-
|
|
1118
|
+
respectPrefix
|
|
1091
1119
|
})));
|
|
1092
1120
|
manualFormatStrings = manualFormatStrings.map((format)=>({
|
|
1093
1121
|
format,
|
|
1094
|
-
|
|
1122
|
+
respectPrefix
|
|
1095
1123
|
}));
|
|
1096
1124
|
let opts = {
|
|
1097
1125
|
candidate,
|
|
@@ -1184,7 +1212,7 @@ function getContext(root, result, tailwindConfig, userConfigPath, tailwindConfig
|
|
|
1184
1212
|
contextMap.set(sourcePath, context);
|
|
1185
1213
|
existingContext = context;
|
|
1186
1214
|
}
|
|
1187
|
-
let cssDidChange = (0,
|
|
1215
|
+
let cssDidChange = (0, _cacheInvalidation.hasContentChanged)(sourcePath, root);
|
|
1188
1216
|
// If there's already a context in the cache and we don't need to
|
|
1189
1217
|
// reset the context, return the cached context.
|
|
1190
1218
|
if (existingContext) {
|
|
@@ -1210,9 +1238,9 @@ function getContext(root, result, tailwindConfig, userConfigPath, tailwindConfig
|
|
|
1210
1238
|
contextSourcesMap.get(oldContext).delete(sourcePath);
|
|
1211
1239
|
if (contextSourcesMap.get(oldContext).size === 0) {
|
|
1212
1240
|
contextSourcesMap.delete(oldContext);
|
|
1213
|
-
for (let [
|
|
1214
|
-
if (
|
|
1215
|
-
configContextMap.delete(
|
|
1241
|
+
for (let [tailwindConfigHash, context] of configContextMap){
|
|
1242
|
+
if (context === oldContext) {
|
|
1243
|
+
configContextMap.delete(tailwindConfigHash);
|
|
1216
1244
|
}
|
|
1217
1245
|
}
|
|
1218
1246
|
for (let disposable of oldContext.disposables.splice(0)){
|
|
@@ -1222,24 +1250,24 @@ function getContext(root, result, tailwindConfig, userConfigPath, tailwindConfig
|
|
|
1222
1250
|
}
|
|
1223
1251
|
}
|
|
1224
1252
|
_sharedState.env.DEBUG && console.log("Setting up new context...");
|
|
1225
|
-
let
|
|
1226
|
-
Object.assign(
|
|
1253
|
+
let context = createContext(tailwindConfig, [], root);
|
|
1254
|
+
Object.assign(context, {
|
|
1227
1255
|
userConfigPath
|
|
1228
1256
|
});
|
|
1229
|
-
let [,
|
|
1257
|
+
let [, mtimesToCommit] = trackModified([
|
|
1230
1258
|
...contextDependencies
|
|
1231
|
-
], getFileModifiedMap(
|
|
1259
|
+
], getFileModifiedMap(context));
|
|
1232
1260
|
// ---
|
|
1233
1261
|
// Update all context tracking state
|
|
1234
|
-
configContextMap.set(tailwindConfigHash,
|
|
1235
|
-
contextMap.set(sourcePath,
|
|
1236
|
-
if (!contextSourcesMap.has(
|
|
1237
|
-
contextSourcesMap.set(
|
|
1262
|
+
configContextMap.set(tailwindConfigHash, context);
|
|
1263
|
+
contextMap.set(sourcePath, context);
|
|
1264
|
+
if (!contextSourcesMap.has(context)) {
|
|
1265
|
+
contextSourcesMap.set(context, new Set());
|
|
1238
1266
|
}
|
|
1239
|
-
contextSourcesMap.get(
|
|
1267
|
+
contextSourcesMap.get(context).add(sourcePath);
|
|
1240
1268
|
return [
|
|
1241
|
-
|
|
1269
|
+
context,
|
|
1242
1270
|
true,
|
|
1243
|
-
|
|
1271
|
+
mtimesToCommit
|
|
1244
1272
|
];
|
|
1245
1273
|
}
|
|
@@ -9,25 +9,27 @@ Object.defineProperty(exports, // DISABLE_TOUCH = TRUE
|
|
|
9
9
|
// plugins) then return it
|
|
10
10
|
"default", {
|
|
11
11
|
enumerable: true,
|
|
12
|
-
get: ()
|
|
12
|
+
get: function() {
|
|
13
|
+
return setupTrackingContext;
|
|
14
|
+
}
|
|
13
15
|
});
|
|
14
|
-
const _fs = /*#__PURE__*/
|
|
15
|
-
const
|
|
16
|
-
const _hashConfig = /*#__PURE__*/
|
|
17
|
-
const
|
|
18
|
-
const _resolveConfigPath = /*#__PURE__*/
|
|
16
|
+
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
17
|
+
const _quicklru = /*#__PURE__*/ _interop_require_default(require("@alloc/quick-lru"));
|
|
18
|
+
const _hashConfig = /*#__PURE__*/ _interop_require_default(require("../util/hashConfig"));
|
|
19
|
+
const _resolveconfig = /*#__PURE__*/ _interop_require_default(require("../public/resolve-config"));
|
|
20
|
+
const _resolveConfigPath = /*#__PURE__*/ _interop_require_default(require("../util/resolveConfigPath"));
|
|
19
21
|
const _setupContextUtils = require("./setupContextUtils");
|
|
20
|
-
const _parseDependency = /*#__PURE__*/
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
const _getModuleDependencies = /*#__PURE__*/
|
|
25
|
-
function
|
|
22
|
+
const _parseDependency = /*#__PURE__*/ _interop_require_default(require("../util/parseDependency"));
|
|
23
|
+
const _validateConfig = require("../util/validateConfig.js");
|
|
24
|
+
const _content = require("./content.js");
|
|
25
|
+
const _loadconfig = require("../lib/load-config");
|
|
26
|
+
const _getModuleDependencies = /*#__PURE__*/ _interop_require_default(require("./getModuleDependencies"));
|
|
27
|
+
function _interop_require_default(obj) {
|
|
26
28
|
return obj && obj.__esModule ? obj : {
|
|
27
29
|
default: obj
|
|
28
30
|
};
|
|
29
31
|
}
|
|
30
|
-
let configPathCache = new
|
|
32
|
+
let configPathCache = new _quicklru.default({
|
|
31
33
|
maxSize: 100
|
|
32
34
|
});
|
|
33
35
|
let candidateFilesCache = new WeakMap();
|
|
@@ -35,7 +37,7 @@ function getCandidateFiles(context, tailwindConfig) {
|
|
|
35
37
|
if (candidateFilesCache.has(context)) {
|
|
36
38
|
return candidateFilesCache.get(context);
|
|
37
39
|
}
|
|
38
|
-
let candidateFiles = (0,
|
|
40
|
+
let candidateFiles = (0, _content.parseCandidateFiles)(context, tailwindConfig);
|
|
39
41
|
return candidateFilesCache.set(context, candidateFiles).get(context);
|
|
40
42
|
}
|
|
41
43
|
// Get the config object based on a path
|
|
@@ -63,10 +65,10 @@ function getTailwindConfig(configOrPath) {
|
|
|
63
65
|
];
|
|
64
66
|
}
|
|
65
67
|
// It has changed (based on timestamps), or first run
|
|
66
|
-
for (let
|
|
67
|
-
delete require.cache[
|
|
68
|
+
for (let file of newDeps){
|
|
69
|
+
delete require.cache[file];
|
|
68
70
|
}
|
|
69
|
-
let newConfig = (0,
|
|
71
|
+
let newConfig = (0, _validateConfig.validateConfig)((0, _resolveconfig.default)((0, _loadconfig.loadConfig)(userConfigPath)));
|
|
70
72
|
let newHash = (0, _hashConfig.default)(newConfig);
|
|
71
73
|
configPathCache.set(userConfigPath, [
|
|
72
74
|
newConfig,
|
|
@@ -81,13 +83,14 @@ function getTailwindConfig(configOrPath) {
|
|
|
81
83
|
newDeps
|
|
82
84
|
];
|
|
83
85
|
}
|
|
86
|
+
var _configOrPath_config, _ref;
|
|
84
87
|
// It's a plain object, not a path
|
|
85
|
-
let
|
|
86
|
-
|
|
88
|
+
let newConfig = (0, _resolveconfig.default)((_ref = (_configOrPath_config = configOrPath === null || configOrPath === void 0 ? void 0 : configOrPath.config) !== null && _configOrPath_config !== void 0 ? _configOrPath_config : configOrPath) !== null && _ref !== void 0 ? _ref : {});
|
|
89
|
+
newConfig = (0, _validateConfig.validateConfig)(newConfig);
|
|
87
90
|
return [
|
|
88
|
-
|
|
91
|
+
newConfig,
|
|
89
92
|
null,
|
|
90
|
-
(0, _hashConfig.default)(
|
|
93
|
+
(0, _hashConfig.default)(newConfig),
|
|
91
94
|
[]
|
|
92
95
|
];
|
|
93
96
|
}
|
|
@@ -127,7 +130,7 @@ function setupTrackingContext(configOrPath) {
|
|
|
127
130
|
registerDependency(dependency);
|
|
128
131
|
}
|
|
129
132
|
}
|
|
130
|
-
let [changedContent, contentMTimesToCommit] = (0,
|
|
133
|
+
let [changedContent, contentMTimesToCommit] = (0, _content.resolvedChangedContent)(context, candidateFiles, fileModifiedMap);
|
|
131
134
|
for (let content of changedContent){
|
|
132
135
|
context.changedContent.push(content);
|
|
133
136
|
}
|
|
@@ -154,8 +157,8 @@ function setupTrackingContext(configOrPath) {
|
|
|
154
157
|
// "commit" the new modified time for all context deps
|
|
155
158
|
// We do this here because we want content tracking to
|
|
156
159
|
// read the "old" mtime even when it's a context dependency.
|
|
157
|
-
for (let [
|
|
158
|
-
fileModifiedMap.set(
|
|
160
|
+
for (let [path, mtime] of mTimesToCommit.entries()){
|
|
161
|
+
fileModifiedMap.set(path, mtime);
|
|
159
162
|
}
|
|
160
163
|
return context;
|
|
161
164
|
};
|