tailwindcss 0.0.0-insiders.cd5cb00 → 0.0.0-insiders.d1f066d
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 +59 -1
- package/lib/cli.js +71 -70
- package/lib/constants.js +1 -1
- package/lib/corePluginList.js +7 -1
- package/lib/corePlugins.js +294 -227
- package/lib/css/preflight.css +12 -0
- package/lib/featureFlags.js +11 -8
- package/lib/lib/collapseDuplicateDeclarations.js +29 -0
- package/lib/lib/evaluateTailwindFunctions.js +3 -3
- package/lib/lib/expandApplyAtRules.js +7 -7
- package/lib/lib/expandTailwindAtRules.js +14 -26
- package/lib/lib/generateRules.js +118 -31
- package/lib/lib/normalizeTailwindDirectives.js +2 -1
- package/lib/lib/resolveDefaultsAtRules.js +44 -47
- package/lib/lib/setupContextUtils.js +190 -116
- package/lib/lib/setupTrackingContext.js +3 -3
- package/lib/lib/setupWatchingContext.js +8 -4
- package/lib/lib/sharedState.js +2 -12
- package/lib/processTailwindFeatures.js +4 -0
- package/lib/public/colors.js +2 -2
- package/lib/util/createUtilityPlugin.js +5 -5
- package/lib/util/dataTypes.js +24 -4
- package/lib/util/formatVariantSelector.js +102 -0
- package/lib/util/nameClass.js +1 -1
- package/lib/util/negateValue.js +3 -1
- package/lib/util/normalizeConfig.js +208 -0
- package/lib/util/parseBoxShadowValue.js +77 -0
- package/lib/util/pluginUtils.js +62 -158
- package/lib/util/prefixSelector.js +1 -3
- package/lib/util/resolveConfig.js +15 -69
- package/lib/util/transformThemeValue.js +23 -13
- package/package.json +11 -11
- package/peers/index.js +955 -2671
- package/scripts/create-plugin-list.js +2 -2
- package/src/cli.js +14 -11
- package/src/corePluginList.js +1 -1
- package/src/corePlugins.js +302 -365
- package/src/css/preflight.css +12 -0
- package/src/featureFlags.js +11 -5
- package/src/lib/collapseDuplicateDeclarations.js +28 -0
- package/src/lib/expandTailwindAtRules.js +15 -29
- package/src/lib/generateRules.js +125 -27
- package/src/lib/normalizeTailwindDirectives.js +2 -1
- package/src/lib/resolveDefaultsAtRules.js +39 -43
- package/src/lib/setupContextUtils.js +181 -98
- package/src/lib/setupTrackingContext.js +3 -5
- package/src/lib/setupWatchingContext.js +10 -5
- package/src/lib/sharedState.js +1 -4
- package/src/processTailwindFeatures.js +5 -0
- package/src/public/colors.js +2 -2
- package/src/util/createUtilityPlugin.js +2 -2
- package/src/util/dataTypes.js +32 -5
- package/src/util/formatVariantSelector.js +105 -0
- package/src/util/nameClass.js +1 -1
- package/src/util/negateValue.js +4 -2
- package/src/util/normalizeConfig.js +249 -0
- package/src/util/parseBoxShadowValue.js +71 -0
- package/src/util/pluginUtils.js +50 -146
- package/src/util/prefixSelector.js +1 -4
- package/src/util/resolveConfig.js +8 -54
- package/src/util/transformThemeValue.js +22 -7
- package/stubs/defaultConfig.stub.js +101 -58
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
9
9
|
|
|
10
10
|
### Changed
|
|
11
11
|
|
|
12
|
+
- Don't use pointer cursor on disabled buttons by default ([#5772](https://github.com/tailwindlabs/tailwindcss/pull/5772))
|
|
13
|
+
- Set default content value in preflight instead of within each before/after utility ([#5820](https://github.com/tailwindlabs/tailwindcss/pull/5820))
|
|
14
|
+
- Remove `prefix` as a function ([#5829](https://github.com/tailwindlabs/tailwindcss/pull/5829))
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
|
|
18
|
+
- Add `flex-basis` utilities ([#5671](https://github.com/tailwindlabs/tailwindcss/pull/5671))
|
|
19
|
+
- Make negative values a first-class feature ([#5709](https://github.com/tailwindlabs/tailwindcss/pull/5709))
|
|
20
|
+
- Add `fit-content` values for `min/max-width/height` utilities ([#5638](https://github.com/tailwindlabs/tailwindcss/pull/5638))
|
|
21
|
+
- Add `min/max-content` values for `min/max-height` utilities ([#5729](https://github.com/tailwindlabs/tailwindcss/pull/5729))
|
|
22
|
+
- Add all standard `cursor-*` values by default ([#5734](https://github.com/tailwindlabs/tailwindcss/pull/5734))
|
|
23
|
+
- Add `grow-*` and `shrink-*` utilities, deprecate `flex-grow-*` and `flex-shrink-*` ([#5733](https://github.com/tailwindlabs/tailwindcss/pull/5733))
|
|
24
|
+
- Add `text-decoration-color` utilities ([#5760](https://github.com/tailwindlabs/tailwindcss/pull/5760))
|
|
25
|
+
- Add new declarative `addVariant` API ([#5809](https://github.com/tailwindlabs/tailwindcss/pull/5809))
|
|
26
|
+
- Add full color palette for `fill-*` and `stroke-*` utilities (#5933[](https://github.com/tailwindlabs/tailwindcss/pull/5933))
|
|
27
|
+
|
|
28
|
+
### Fixed
|
|
29
|
+
|
|
30
|
+
- Configure chokidar's `awaitWriteFinish` setting to avoid occasional stale builds on Windows ([#5774](https://github.com/tailwindlabs/tailwindcss/pull/5774))
|
|
31
|
+
- Fix CLI `--content` option ([#5775](https://github.com/tailwindlabs/tailwindcss/pull/5775))
|
|
32
|
+
- Fix before/after utilities overriding custom content values at larger breakpoints ([#5820](https://github.com/tailwindlabs/tailwindcss/pull/5820))
|
|
33
|
+
- Cleanup duplicate properties ([#5830](https://github.com/tailwindlabs/tailwindcss/pull/5830))
|
|
34
|
+
- Allow `_` inside `url()` when using arbitrary values ([#5853](https://github.com/tailwindlabs/tailwindcss/pull/5853))
|
|
35
|
+
- Prevent crashes when using comments in `@layer` AtRules ([#5854](https://github.com/tailwindlabs/tailwindcss/pull/5854))
|
|
36
|
+
- Handle color transformations properly with `theme(...)` for all relevant plugins ([#4533](https://github.com/tailwindlabs/tailwindcss/pull/4533), [#5871](https://github.com/tailwindlabs/tailwindcss/pull/5871))
|
|
37
|
+
|
|
38
|
+
## [3.0.0-alpha.1] - 2021-10-01
|
|
39
|
+
|
|
40
|
+
### Changed
|
|
41
|
+
|
|
12
42
|
- Remove AOT engine, make JIT the default ([#5340](https://github.com/tailwindlabs/tailwindcss/pull/5340))
|
|
13
43
|
- Throw when trying to `@apply` the `group` class ([#4666](https://github.com/tailwindlabs/tailwindcss/pull/4666))
|
|
14
44
|
- Remove dependency on `modern-normalize`, inline and consolidate with Preflight ([#5358](https://github.com/tailwindlabs/tailwindcss/pull/5358))
|
|
@@ -21,14 +51,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
21
51
|
- Add native `aspect-ratio` utilities ([#5359](https://github.com/tailwindlabs/tailwindcss/pull/5359))
|
|
22
52
|
- Unify config callback helpers into single object ([#5382](https://github.com/tailwindlabs/tailwindcss/pull/5382))
|
|
23
53
|
- Preserve original color format when adding opacity whenever possible ([#5154](https://github.com/tailwindlabs/tailwindcss/pull/5154))
|
|
54
|
+
- Add `accent-color` utilities ([#5387](https://github.com/tailwindlabs/tailwindcss/pull/5387))
|
|
24
55
|
- Add `scroll-behavior` utilities ([#5388](https://github.com/tailwindlabs/tailwindcss/pull/5388))
|
|
56
|
+
- Add `will-change` utilities ([#5448](https://github.com/tailwindlabs/tailwindcss/pull/5448))
|
|
57
|
+
- Add `text-indent` utilities ([#5449](https://github.com/tailwindlabs/tailwindcss/pull/5449))
|
|
58
|
+
- Add `column` utilities ([#5457](https://github.com/tailwindlabs/tailwindcss/pull/5457))
|
|
25
59
|
- Add `border-hidden` utility ([#5485](https://github.com/tailwindlabs/tailwindcss/pull/5485))
|
|
26
60
|
- Add `align-sub` and `align-super` utilities by default ([#5486](https://github.com/tailwindlabs/tailwindcss/pull/5486))
|
|
27
61
|
- Add `break-before`, `break-inside` and `break-after` utilities ([#5530](https://github.com/tailwindlabs/tailwindcss/pull/5530))
|
|
28
62
|
- Add `file` variant for `::file-selector-button` pseudo element ([#4936](https://github.com/tailwindlabs/tailwindcss/pull/4936))
|
|
63
|
+
- Add comprehensive arbitrary value support ([#5568](https://github.com/tailwindlabs/tailwindcss/pull/5568))
|
|
29
64
|
- Add `touch-action` utilities ([#5603](https://github.com/tailwindlabs/tailwindcss/pull/5603))
|
|
30
65
|
- Add `inherit` to default color palette ([#5597](https://github.com/tailwindlabs/tailwindcss/pull/5597))
|
|
31
66
|
- Add `overflow-clip`, `overflow-x-clip` and `overflow-y-clip` utilities ([#5630](https://github.com/tailwindlabs/tailwindcss/pull/5630))
|
|
67
|
+
- Add `[open]` variant ([#5627](https://github.com/tailwindlabs/tailwindcss/pull/5627))
|
|
32
68
|
- Add `scroll-snap` utilities ([#5637](https://github.com/tailwindlabs/tailwindcss/pull/5637))
|
|
33
69
|
- Add `border-x` and `border-y` width and color utilities ([#5639](https://github.com/tailwindlabs/tailwindcss/pull/5639))
|
|
34
70
|
|
|
@@ -38,6 +74,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
38
74
|
- Fix using negated `content` globs ([#5625](https://github.com/tailwindlabs/tailwindcss/pull/5625))
|
|
39
75
|
- Fix using backslashes in `content` globs ([#5628](https://github.com/tailwindlabs/tailwindcss/pull/5628))
|
|
40
76
|
|
|
77
|
+
## [2.2.19] - 2021-10-29
|
|
78
|
+
|
|
79
|
+
### Fixed
|
|
80
|
+
|
|
81
|
+
- Ensure `corePlugins` order is consisent in AOT mode ([#5928](https://github.com/tailwindlabs/tailwindcss/pull/5928))
|
|
82
|
+
|
|
83
|
+
## [2.2.18] - 2021-10-29
|
|
84
|
+
|
|
85
|
+
### Fixed
|
|
86
|
+
|
|
87
|
+
- Bump versions for security vulnerabilities ([#5924](https://github.com/tailwindlabs/tailwindcss/pull/5924))
|
|
88
|
+
|
|
89
|
+
## [2.2.17] - 2021-10-13
|
|
90
|
+
|
|
91
|
+
### Fixed
|
|
92
|
+
|
|
93
|
+
- Configure chokidar's `awaitWriteFinish` setting to avoid occasional stale builds on Windows ([#5758](https://github.com/tailwindlabs/tailwindcss/pull/5758))
|
|
94
|
+
|
|
41
95
|
## [2.2.16] - 2021-09-26
|
|
42
96
|
|
|
43
97
|
### Fixed
|
|
@@ -1596,7 +1650,11 @@ No release notes
|
|
|
1596
1650
|
|
|
1597
1651
|
- Everything!
|
|
1598
1652
|
|
|
1599
|
-
[unreleased]: https://github.com/tailwindlabs/tailwindcss/compare/
|
|
1653
|
+
[unreleased]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.0-alpha.1...HEAD
|
|
1654
|
+
[3.0.0-alpha.1]: https://github.com/tailwindlabs/tailwindcss/compare/v2.2.19...v3.0.0-alpha.1
|
|
1655
|
+
[2.2.19]: https://github.com/tailwindlabs/tailwindcss/compare/v2.2.18...v2.2.19
|
|
1656
|
+
[2.2.18]: https://github.com/tailwindlabs/tailwindcss/compare/v2.2.17...v2.2.18
|
|
1657
|
+
[2.2.17]: https://github.com/tailwindlabs/tailwindcss/compare/v2.2.16...v2.2.17
|
|
1600
1658
|
[2.2.16]: https://github.com/tailwindlabs/tailwindcss/compare/v2.2.15...v2.2.16
|
|
1601
1659
|
[2.2.15]: https://github.com/tailwindlabs/tailwindcss/compare/v2.2.14...v2.2.15
|
|
1602
1660
|
[2.2.14]: https://github.com/tailwindlabs/tailwindcss/compare/v2.2.13...v2.2.14
|
package/lib/cli.js
CHANGED
|
@@ -22,7 +22,7 @@ function _interopRequireDefault(obj) {
|
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
let env = {
|
|
25
|
-
DEBUG: process.env.DEBUG !== undefined
|
|
25
|
+
DEBUG: process.env.DEBUG !== undefined && process.env.DEBUG !== '0'
|
|
26
26
|
};
|
|
27
27
|
// ---
|
|
28
28
|
function indentRecursive(node, indent = 0) {
|
|
@@ -110,7 +110,7 @@ function oneOf(...options) {
|
|
|
110
110
|
manualParsing: true
|
|
111
111
|
});
|
|
112
112
|
}
|
|
113
|
-
let
|
|
113
|
+
let commands1 = {
|
|
114
114
|
init: {
|
|
115
115
|
run: init,
|
|
116
116
|
args: {
|
|
@@ -187,30 +187,30 @@ if (process.stdout.isTTY /* Detect redirecting output to a file */ && (process.
|
|
|
187
187
|
'tailwindcss [--input input.css] [--output output.css] [--watch] [options...]',
|
|
188
188
|
'tailwindcss init [--full] [--postcss] [options...]',
|
|
189
189
|
],
|
|
190
|
-
commands: Object.keys(
|
|
190
|
+
commands: Object.keys(commands1).filter((command)=>command !== 'build'
|
|
191
191
|
).map((command)=>`${command} [options]`
|
|
192
192
|
),
|
|
193
193
|
options: {
|
|
194
|
-
...
|
|
194
|
+
...commands1.build.args,
|
|
195
195
|
...sharedFlags
|
|
196
196
|
}
|
|
197
197
|
});
|
|
198
198
|
process.exit(0);
|
|
199
199
|
}
|
|
200
|
-
let
|
|
200
|
+
let command1 = ((arg = '')=>arg.startsWith('-') ? undefined : arg
|
|
201
201
|
)(process.argv[2]) || 'build';
|
|
202
|
-
if (
|
|
203
|
-
if (_fs.default.existsSync(_path.default.resolve(
|
|
202
|
+
if (commands1[command1] === undefined) {
|
|
203
|
+
if (_fs.default.existsSync(_path.default.resolve(command1))) {
|
|
204
204
|
// TODO: Deprecate this in future versions
|
|
205
205
|
// Check if non-existing command, might be a file.
|
|
206
|
-
|
|
206
|
+
command1 = 'build';
|
|
207
207
|
} else {
|
|
208
208
|
help({
|
|
209
|
-
message: `Invalid command: ${
|
|
209
|
+
message: `Invalid command: ${command1}`,
|
|
210
210
|
usage: [
|
|
211
211
|
'tailwindcss <command> [options]'
|
|
212
212
|
],
|
|
213
|
-
commands: Object.keys(
|
|
213
|
+
commands: Object.keys(commands1).filter((command)=>command !== 'build'
|
|
214
214
|
).map((command)=>`${command} [options]`
|
|
215
215
|
),
|
|
216
216
|
options: sharedFlags
|
|
@@ -219,11 +219,11 @@ if (commands[command] === undefined) {
|
|
|
219
219
|
}
|
|
220
220
|
}
|
|
221
221
|
// Execute command
|
|
222
|
-
let { args:
|
|
223
|
-
let
|
|
222
|
+
let { args: flags1 , run } = commands1[command1];
|
|
223
|
+
let args1 = (()=>{
|
|
224
224
|
try {
|
|
225
225
|
let result = (0, _arg).default(Object.fromEntries(Object.entries({
|
|
226
|
-
...
|
|
226
|
+
...flags1,
|
|
227
227
|
...sharedFlags
|
|
228
228
|
}).filter(([_key, value])=>{
|
|
229
229
|
var ref;
|
|
@@ -240,11 +240,11 @@ let args = (()=>{
|
|
|
240
240
|
let flag = result['_'][i];
|
|
241
241
|
if (!flag.startsWith('-')) continue;
|
|
242
242
|
let flagName = flag;
|
|
243
|
-
let handler =
|
|
243
|
+
let handler = flags1[flag];
|
|
244
244
|
// Resolve flagName & handler
|
|
245
245
|
while(typeof handler === 'string'){
|
|
246
246
|
flagName = handler;
|
|
247
|
-
handler =
|
|
247
|
+
handler = flags1[handler];
|
|
248
248
|
}
|
|
249
249
|
if (!handler) continue;
|
|
250
250
|
let args = [];
|
|
@@ -264,8 +264,8 @@ let args = (()=>{
|
|
|
264
264
|
//
|
|
265
265
|
// E.g.: tailwindcss input.css -> _: ['build', 'input.css']
|
|
266
266
|
// E.g.: tailwindcss build input.css -> _: ['build', 'input.css']
|
|
267
|
-
if (result['_'][0] !==
|
|
268
|
-
result['_'].unshift(
|
|
267
|
+
if (result['_'][0] !== command1) {
|
|
268
|
+
result['_'].unshift(command1);
|
|
269
269
|
}
|
|
270
270
|
return result;
|
|
271
271
|
} catch (err) {
|
|
@@ -282,14 +282,14 @@ let args = (()=>{
|
|
|
282
282
|
throw err;
|
|
283
283
|
}
|
|
284
284
|
})();
|
|
285
|
-
if (
|
|
285
|
+
if (args1['--help']) {
|
|
286
286
|
help({
|
|
287
287
|
options: {
|
|
288
|
-
...
|
|
288
|
+
...flags1,
|
|
289
289
|
...sharedFlags
|
|
290
290
|
},
|
|
291
291
|
usage: [
|
|
292
|
-
`tailwindcss ${
|
|
292
|
+
`tailwindcss ${command1} [options]`
|
|
293
293
|
]
|
|
294
294
|
});
|
|
295
295
|
process.exit(0);
|
|
@@ -299,17 +299,17 @@ run();
|
|
|
299
299
|
function init() {
|
|
300
300
|
let messages = [];
|
|
301
301
|
var ref;
|
|
302
|
-
let tailwindConfigLocation = _path.default.resolve((ref =
|
|
302
|
+
let tailwindConfigLocation = _path.default.resolve((ref = args1['_'][1]) !== null && ref !== void 0 ? ref : './tailwind.config.js');
|
|
303
303
|
if (_fs.default.existsSync(tailwindConfigLocation)) {
|
|
304
304
|
messages.push(`${_path.default.basename(tailwindConfigLocation)} already exists.`);
|
|
305
305
|
} else {
|
|
306
|
-
let stubFile = _fs.default.readFileSync(
|
|
306
|
+
let stubFile = _fs.default.readFileSync(args1['--full'] ? _path.default.resolve(__dirname, '../stubs/defaultConfig.stub.js') : _path.default.resolve(__dirname, '../stubs/simpleConfig.stub.js'), 'utf8');
|
|
307
307
|
// Change colors import
|
|
308
308
|
stubFile = stubFile.replace('../colors', 'tailwindcss/colors');
|
|
309
309
|
_fs.default.writeFileSync(tailwindConfigLocation, stubFile, 'utf8');
|
|
310
310
|
messages.push(`Created Tailwind CSS config file: ${_path.default.basename(tailwindConfigLocation)}`);
|
|
311
311
|
}
|
|
312
|
-
if (
|
|
312
|
+
if (args1['--postcss']) {
|
|
313
313
|
let postcssConfigLocation = _path.default.resolve('./postcss.config.js');
|
|
314
314
|
if (_fs.default.existsSync(postcssConfigLocation)) {
|
|
315
315
|
messages.push(`${_path.default.basename(postcssConfigLocation)} already exists.`);
|
|
@@ -327,27 +327,27 @@ function init() {
|
|
|
327
327
|
}
|
|
328
328
|
}
|
|
329
329
|
async function build() {
|
|
330
|
-
let input =
|
|
331
|
-
let output =
|
|
332
|
-
let shouldWatch =
|
|
333
|
-
let includePostCss =
|
|
330
|
+
let input = args1['--input'];
|
|
331
|
+
let output = args1['--output'];
|
|
332
|
+
let shouldWatch = args1['--watch'];
|
|
333
|
+
let includePostCss = args1['--postcss'];
|
|
334
334
|
// TODO: Deprecate this in future versions
|
|
335
|
-
if (!input &&
|
|
335
|
+
if (!input && args1['_'][1]) {
|
|
336
336
|
console.error('[deprecation] Running tailwindcss without -i, please provide an input file.');
|
|
337
|
-
input =
|
|
337
|
+
input = args1['--input'] = args1['_'][1];
|
|
338
338
|
}
|
|
339
339
|
if (input && !_fs.default.existsSync(input = _path.default.resolve(input))) {
|
|
340
|
-
console.error(`Specified input file ${
|
|
340
|
+
console.error(`Specified input file ${args1['--input']} does not exist.`);
|
|
341
341
|
process.exit(9);
|
|
342
342
|
}
|
|
343
|
-
if (
|
|
344
|
-
console.error(`Specified config file ${
|
|
343
|
+
if (args1['--config'] && !_fs.default.existsSync(args1['--config'] = _path.default.resolve(args1['--config']))) {
|
|
344
|
+
console.error(`Specified config file ${args1['--config']} does not exist.`);
|
|
345
345
|
process.exit(9);
|
|
346
346
|
}
|
|
347
|
-
let configPath =
|
|
347
|
+
let configPath = args1['--config'] ? args1['--config'] : ((defaultPath)=>_fs.default.existsSync(defaultPath) ? defaultPath : null
|
|
348
348
|
)(_path.default.resolve('./tailwind.config.js'));
|
|
349
349
|
async function loadPostCssPlugins() {
|
|
350
|
-
let customPostCssPath = typeof
|
|
350
|
+
let customPostCssPath = typeof args1['--postcss'] === 'string' ? args1['--postcss'] : undefined;
|
|
351
351
|
let { plugins: configPlugins } = customPostCssPath ? await (async ()=>{
|
|
352
352
|
let file = _path.default.resolve(customPostCssPath);
|
|
353
353
|
// Implementation, see: https://unpkg.com/browse/postcss-load-config@3.0.1/src/index.js
|
|
@@ -386,25 +386,22 @@ async function build() {
|
|
|
386
386
|
let config = configPath ? require(configPath) : {
|
|
387
387
|
};
|
|
388
388
|
let resolvedConfig = (0, _resolveConfig).default(config);
|
|
389
|
-
if (
|
|
389
|
+
if (args1['--purge']) {
|
|
390
390
|
_log.default.warn('purge-flag-deprecated', [
|
|
391
391
|
'The `--purge` flag has been deprecated.',
|
|
392
392
|
'Please use `--content` instead.',
|
|
393
393
|
]);
|
|
394
|
-
if (!
|
|
395
|
-
|
|
394
|
+
if (!args1['--content']) {
|
|
395
|
+
args1['--content'] = args1['--purge'];
|
|
396
396
|
}
|
|
397
397
|
}
|
|
398
|
-
if (
|
|
399
|
-
resolvedConfig.content =
|
|
398
|
+
if (args1['--content']) {
|
|
399
|
+
resolvedConfig.content.files = args1['--content'].split(/(?<!{[^}]+),/);
|
|
400
400
|
}
|
|
401
401
|
return resolvedConfig;
|
|
402
402
|
}
|
|
403
|
-
function extractContent(config) {
|
|
404
|
-
return config.content.content.concat(config.content.safelist);
|
|
405
|
-
}
|
|
406
403
|
function extractFileGlobs(config) {
|
|
407
|
-
return
|
|
404
|
+
return config.content.files.filter((file)=>{
|
|
408
405
|
// Strings in this case are files / globs. If it is something else,
|
|
409
406
|
// like an object it's probably a raw content object. But this object
|
|
410
407
|
// is not watchable, so let's remove it.
|
|
@@ -413,7 +410,7 @@ async function build() {
|
|
|
413
410
|
);
|
|
414
411
|
}
|
|
415
412
|
function extractRawContent(config) {
|
|
416
|
-
return
|
|
413
|
+
return config.content.files.filter((file)=>{
|
|
417
414
|
return typeof file === 'object' && file !== null;
|
|
418
415
|
});
|
|
419
416
|
}
|
|
@@ -425,7 +422,7 @@ async function build() {
|
|
|
425
422
|
for (let file of files){
|
|
426
423
|
changedContent.push({
|
|
427
424
|
content: _fs.default.readFileSync(_path.default.resolve(file), 'utf8'),
|
|
428
|
-
extension: _path.default.extname(file)
|
|
425
|
+
extension: _path.default.extname(file).slice(1)
|
|
429
426
|
});
|
|
430
427
|
}
|
|
431
428
|
// Resolve raw content in the tailwind config
|
|
@@ -460,9 +457,9 @@ async function build() {
|
|
|
460
457
|
let plugins = [
|
|
461
458
|
...beforePlugins,
|
|
462
459
|
tailwindPlugin,
|
|
463
|
-
!
|
|
460
|
+
!args1['--minify'] && formatNodes,
|
|
464
461
|
...afterPlugins,
|
|
465
|
-
!
|
|
462
|
+
!args1['--no-autoprefixer'] && (()=>{
|
|
466
463
|
// Try to load a local `autoprefixer` version first
|
|
467
464
|
try {
|
|
468
465
|
return require('autoprefixer');
|
|
@@ -470,7 +467,7 @@ async function build() {
|
|
|
470
467
|
}
|
|
471
468
|
return (0, _indexJs).lazyAutoprefixer();
|
|
472
469
|
})(),
|
|
473
|
-
|
|
470
|
+
args1['--minify'] && (()=>{
|
|
474
471
|
let options = {
|
|
475
472
|
preset: [
|
|
476
473
|
'default',
|
|
@@ -513,8 +510,8 @@ async function build() {
|
|
|
513
510
|
console.error('Done in', (end - start) / BigInt(1000000) + 'ms.');
|
|
514
511
|
});
|
|
515
512
|
}
|
|
516
|
-
let
|
|
517
|
-
return processCSS(
|
|
513
|
+
let css1 = input ? _fs.default.readFileSync(_path.default.resolve(input), 'utf8') : '@tailwind base; @tailwind components; @tailwind utilities';
|
|
514
|
+
return processCSS(css1);
|
|
518
515
|
}
|
|
519
516
|
let context = null;
|
|
520
517
|
async function startWatcher() {
|
|
@@ -524,8 +521,8 @@ async function build() {
|
|
|
524
521
|
let watcher = null;
|
|
525
522
|
function refreshConfig() {
|
|
526
523
|
env.DEBUG && console.time('Module dependencies');
|
|
527
|
-
for (let
|
|
528
|
-
delete require.cache[require.resolve(
|
|
524
|
+
for (let file1 of configDependencies){
|
|
525
|
+
delete require.cache[require.resolve(file1)];
|
|
529
526
|
}
|
|
530
527
|
if (configPath) {
|
|
531
528
|
configDependencies = (0, _getModuleDependencies).default(configPath).map(({ file })=>file
|
|
@@ -544,9 +541,9 @@ async function build() {
|
|
|
544
541
|
let plugins = [
|
|
545
542
|
...beforePlugins,
|
|
546
543
|
'__TAILWIND_PLUGIN_POSITION__',
|
|
547
|
-
!
|
|
544
|
+
!args1['--minify'] && formatNodes,
|
|
548
545
|
...afterPlugins,
|
|
549
|
-
!
|
|
546
|
+
!args1['--no-autoprefixer'] && (()=>{
|
|
550
547
|
// Try to load a local `autoprefixer` version first
|
|
551
548
|
try {
|
|
552
549
|
return require('autoprefixer');
|
|
@@ -554,7 +551,7 @@ async function build() {
|
|
|
554
551
|
}
|
|
555
552
|
return (0, _indexJs).lazyAutoprefixer();
|
|
556
553
|
})(),
|
|
557
|
-
|
|
554
|
+
args1['--minify'] && (()=>{
|
|
558
555
|
let options = {
|
|
559
556
|
preset: [
|
|
560
557
|
'default',
|
|
@@ -639,44 +636,48 @@ async function build() {
|
|
|
639
636
|
}
|
|
640
637
|
});
|
|
641
638
|
}
|
|
642
|
-
let
|
|
643
|
-
let result1 = await processCSS(
|
|
639
|
+
let css2 = input ? _fs.default.readFileSync(_path.default.resolve(input), 'utf8') : '@tailwind base; @tailwind components; @tailwind utilities';
|
|
640
|
+
let result1 = await processCSS(css2);
|
|
644
641
|
env.DEBUG && console.timeEnd('Finished in');
|
|
645
642
|
return result1;
|
|
646
643
|
}
|
|
647
|
-
let
|
|
644
|
+
let config1 = refreshConfig(configPath);
|
|
648
645
|
if (input) {
|
|
649
646
|
contextDependencies.add(_path.default.resolve(input));
|
|
650
647
|
}
|
|
651
648
|
watcher = _chokidar.default.watch([
|
|
652
649
|
...contextDependencies,
|
|
653
|
-
...extractFileGlobs(
|
|
650
|
+
...extractFileGlobs(config1)
|
|
654
651
|
], {
|
|
655
|
-
ignoreInitial: true
|
|
652
|
+
ignoreInitial: true,
|
|
653
|
+
awaitWriteFinish: process.platform === 'win32' ? {
|
|
654
|
+
stabilityThreshold: 50,
|
|
655
|
+
pollInterval: 10
|
|
656
|
+
} : false
|
|
656
657
|
});
|
|
657
658
|
let chain = Promise.resolve();
|
|
658
659
|
watcher.on('change', async (file)=>{
|
|
659
660
|
if (contextDependencies.has(file)) {
|
|
660
661
|
env.DEBUG && console.time('Resolve config');
|
|
661
662
|
context = null;
|
|
662
|
-
|
|
663
|
+
config1 = refreshConfig(configPath);
|
|
663
664
|
env.DEBUG && console.timeEnd('Resolve config');
|
|
664
665
|
env.DEBUG && console.time('Watch new files');
|
|
665
|
-
let globs = extractFileGlobs(
|
|
666
|
+
let globs = extractFileGlobs(config1);
|
|
666
667
|
watcher.add(configDependencies);
|
|
667
668
|
watcher.add(globs);
|
|
668
669
|
env.DEBUG && console.timeEnd('Watch new files');
|
|
669
670
|
chain = chain.then(async ()=>{
|
|
670
|
-
changedContent.push(...getChangedContent(
|
|
671
|
-
await rebuild(
|
|
671
|
+
changedContent.push(...getChangedContent(config1));
|
|
672
|
+
await rebuild(config1);
|
|
672
673
|
});
|
|
673
674
|
} else {
|
|
674
675
|
chain = chain.then(async ()=>{
|
|
675
676
|
changedContent.push({
|
|
676
677
|
content: _fs.default.readFileSync(_path.default.resolve(file), 'utf8'),
|
|
677
|
-
extension: _path.default.extname(file)
|
|
678
|
+
extension: _path.default.extname(file).slice(1)
|
|
678
679
|
});
|
|
679
|
-
await rebuild(
|
|
680
|
+
await rebuild(config1);
|
|
680
681
|
});
|
|
681
682
|
}
|
|
682
683
|
});
|
|
@@ -684,14 +685,14 @@ async function build() {
|
|
|
684
685
|
chain = chain.then(async ()=>{
|
|
685
686
|
changedContent.push({
|
|
686
687
|
content: _fs.default.readFileSync(_path.default.resolve(file), 'utf8'),
|
|
687
|
-
extension: _path.default.extname(file)
|
|
688
|
+
extension: _path.default.extname(file).slice(1)
|
|
688
689
|
});
|
|
689
|
-
await rebuild(
|
|
690
|
+
await rebuild(config1);
|
|
690
691
|
});
|
|
691
692
|
});
|
|
692
693
|
chain = chain.then(()=>{
|
|
693
|
-
changedContent.push(...getChangedContent(
|
|
694
|
-
return rebuild(
|
|
694
|
+
changedContent.push(...getChangedContent(config1));
|
|
695
|
+
return rebuild(config1);
|
|
695
696
|
});
|
|
696
697
|
}
|
|
697
698
|
if (shouldWatch) {
|
package/lib/constants.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports.
|
|
5
|
+
exports.defaultPostCssConfigStubFile = exports.simpleConfigStubFile = exports.defaultConfigStubFile = exports.supportedPostCssConfigFile = exports.supportedConfigFiles = exports.cjsPostCssConfigFile = exports.cjsConfigFile = exports.defaultPostCssConfigFile = exports.defaultConfigFile = exports.cli = void 0;
|
|
6
6
|
var _path = _interopRequireDefault(require("path"));
|
|
7
7
|
function _interopRequireDefault(obj) {
|
|
8
8
|
return obj && obj.__esModule ? obj : {
|
package/lib/corePluginList.js
CHANGED
|
@@ -35,6 +35,7 @@ var _default = [
|
|
|
35
35
|
"flex",
|
|
36
36
|
"flexShrink",
|
|
37
37
|
"flexGrow",
|
|
38
|
+
"flexBasis",
|
|
38
39
|
"tableLayout",
|
|
39
40
|
"borderCollapse",
|
|
40
41
|
"transformOrigin",
|
|
@@ -124,6 +125,7 @@ var _default = [
|
|
|
124
125
|
"textColor",
|
|
125
126
|
"textOpacity",
|
|
126
127
|
"textDecoration",
|
|
128
|
+
"textDecorationColor",
|
|
127
129
|
"fontSmoothing",
|
|
128
130
|
"placeholderColor",
|
|
129
131
|
"placeholderOpacity",
|
|
@@ -133,7 +135,11 @@ var _default = [
|
|
|
133
135
|
"backgroundBlendMode",
|
|
134
136
|
"mixBlendMode",
|
|
135
137
|
"boxShadow",
|
|
136
|
-
"
|
|
138
|
+
"boxShadowColor",
|
|
139
|
+
"outlineStyle",
|
|
140
|
+
"outlineWidth",
|
|
141
|
+
"outlineOffset",
|
|
142
|
+
"outlineColor",
|
|
137
143
|
"ringWidth",
|
|
138
144
|
"ringColor",
|
|
139
145
|
"ringOpacity",
|