tailwindcss 0.0.0-insiders.ca1dfd6 → 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 +60 -1
- package/lib/cli.js +73 -74
- package/lib/constants.js +1 -1
- package/lib/corePluginList.js +7 -1
- package/lib/corePlugins.js +295 -228
- package/lib/css/preflight.css +12 -0
- package/lib/featureFlags.js +12 -9
- 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 +170 -27
- package/lib/lib/normalizeTailwindDirectives.js +3 -2
- package/lib/lib/resolveDefaultsAtRules.js +44 -47
- package/lib/lib/setupContextUtils.js +192 -123
- 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 +4 -8
- package/lib/util/createUtilityPlugin.js +5 -5
- package/lib/util/dataTypes.js +24 -4
- package/lib/util/formatVariantSelector.js +102 -0
- package/lib/util/log.js +30 -18
- 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 +18 -77
- 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 +19 -13
- package/src/corePluginList.js +1 -1
- package/src/corePlugins.js +303 -366
- package/src/css/preflight.css +12 -0
- package/src/featureFlags.js +12 -6
- package/src/lib/collapseDuplicateDeclarations.js +28 -0
- package/src/lib/expandTailwindAtRules.js +15 -29
- package/src/lib/generateRules.js +194 -19
- package/src/lib/normalizeTailwindDirectives.js +3 -2
- package/src/lib/resolveDefaultsAtRules.js +39 -43
- package/src/lib/setupContextUtils.js +183 -105
- 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 +4 -9
- package/src/util/createUtilityPlugin.js +2 -2
- package/src/util/dataTypes.js +32 -5
- package/src/util/formatVariantSelector.js +105 -0
- package/src/util/log.js +18 -21
- 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 +11 -64
- package/src/util/transformThemeValue.js +22 -7
- package/stubs/defaultConfig.stub.js +134 -91
- package/stubs/simpleConfig.stub.js +0 -1
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,15 +51,22 @@ 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))
|
|
69
|
+
- Add `border-x` and `border-y` width and color utilities ([#5639](https://github.com/tailwindlabs/tailwindcss/pull/5639))
|
|
33
70
|
|
|
34
71
|
### Fixed
|
|
35
72
|
|
|
@@ -37,6 +74,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
37
74
|
- Fix using negated `content` globs ([#5625](https://github.com/tailwindlabs/tailwindcss/pull/5625))
|
|
38
75
|
- Fix using backslashes in `content` globs ([#5628](https://github.com/tailwindlabs/tailwindcss/pull/5628))
|
|
39
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
|
+
|
|
40
95
|
## [2.2.16] - 2021-09-26
|
|
41
96
|
|
|
42
97
|
### Fixed
|
|
@@ -1595,7 +1650,11 @@ No release notes
|
|
|
1595
1650
|
|
|
1596
1651
|
- Everything!
|
|
1597
1652
|
|
|
1598
|
-
[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
|
|
1599
1658
|
[2.2.16]: https://github.com/tailwindlabs/tailwindcss/compare/v2.2.15...v2.2.16
|
|
1600
1659
|
[2.2.15]: https://github.com/tailwindlabs/tailwindcss/compare/v2.2.14...v2.2.15
|
|
1601
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,27 +386,22 @@ async function build() {
|
|
|
386
386
|
let config = configPath ? require(configPath) : {
|
|
387
387
|
};
|
|
388
388
|
let resolvedConfig = (0, _resolveConfig).default(config);
|
|
389
|
-
if (
|
|
390
|
-
_log.default.warn([
|
|
389
|
+
if (args1['--purge']) {
|
|
390
|
+
_log.default.warn('purge-flag-deprecated', [
|
|
391
391
|
'The `--purge` flag has been deprecated.',
|
|
392
|
-
'Please use `--content` instead.'
|
|
392
|
+
'Please use `--content` instead.',
|
|
393
393
|
]);
|
|
394
|
-
if (!
|
|
395
|
-
|
|
396
|
-
'--purge'
|
|
397
|
-
];
|
|
394
|
+
if (!args1['--content']) {
|
|
395
|
+
args1['--content'] = args1['--purge'];
|
|
398
396
|
}
|
|
399
397
|
}
|
|
400
|
-
if (
|
|
401
|
-
resolvedConfig.content =
|
|
398
|
+
if (args1['--content']) {
|
|
399
|
+
resolvedConfig.content.files = args1['--content'].split(/(?<!{[^}]+),/);
|
|
402
400
|
}
|
|
403
401
|
return resolvedConfig;
|
|
404
402
|
}
|
|
405
|
-
function extractContent(config) {
|
|
406
|
-
return config.content.content.concat(config.content.safelist);
|
|
407
|
-
}
|
|
408
403
|
function extractFileGlobs(config) {
|
|
409
|
-
return
|
|
404
|
+
return config.content.files.filter((file)=>{
|
|
410
405
|
// Strings in this case are files / globs. If it is something else,
|
|
411
406
|
// like an object it's probably a raw content object. But this object
|
|
412
407
|
// is not watchable, so let's remove it.
|
|
@@ -415,7 +410,7 @@ async function build() {
|
|
|
415
410
|
);
|
|
416
411
|
}
|
|
417
412
|
function extractRawContent(config) {
|
|
418
|
-
return
|
|
413
|
+
return config.content.files.filter((file)=>{
|
|
419
414
|
return typeof file === 'object' && file !== null;
|
|
420
415
|
});
|
|
421
416
|
}
|
|
@@ -427,7 +422,7 @@ async function build() {
|
|
|
427
422
|
for (let file of files){
|
|
428
423
|
changedContent.push({
|
|
429
424
|
content: _fs.default.readFileSync(_path.default.resolve(file), 'utf8'),
|
|
430
|
-
extension: _path.default.extname(file)
|
|
425
|
+
extension: _path.default.extname(file).slice(1)
|
|
431
426
|
});
|
|
432
427
|
}
|
|
433
428
|
// Resolve raw content in the tailwind config
|
|
@@ -462,9 +457,9 @@ async function build() {
|
|
|
462
457
|
let plugins = [
|
|
463
458
|
...beforePlugins,
|
|
464
459
|
tailwindPlugin,
|
|
465
|
-
!
|
|
460
|
+
!args1['--minify'] && formatNodes,
|
|
466
461
|
...afterPlugins,
|
|
467
|
-
!
|
|
462
|
+
!args1['--no-autoprefixer'] && (()=>{
|
|
468
463
|
// Try to load a local `autoprefixer` version first
|
|
469
464
|
try {
|
|
470
465
|
return require('autoprefixer');
|
|
@@ -472,7 +467,7 @@ async function build() {
|
|
|
472
467
|
}
|
|
473
468
|
return (0, _indexJs).lazyAutoprefixer();
|
|
474
469
|
})(),
|
|
475
|
-
|
|
470
|
+
args1['--minify'] && (()=>{
|
|
476
471
|
let options = {
|
|
477
472
|
preset: [
|
|
478
473
|
'default',
|
|
@@ -515,8 +510,8 @@ async function build() {
|
|
|
515
510
|
console.error('Done in', (end - start) / BigInt(1000000) + 'ms.');
|
|
516
511
|
});
|
|
517
512
|
}
|
|
518
|
-
let
|
|
519
|
-
return processCSS(
|
|
513
|
+
let css1 = input ? _fs.default.readFileSync(_path.default.resolve(input), 'utf8') : '@tailwind base; @tailwind components; @tailwind utilities';
|
|
514
|
+
return processCSS(css1);
|
|
520
515
|
}
|
|
521
516
|
let context = null;
|
|
522
517
|
async function startWatcher() {
|
|
@@ -526,8 +521,8 @@ async function build() {
|
|
|
526
521
|
let watcher = null;
|
|
527
522
|
function refreshConfig() {
|
|
528
523
|
env.DEBUG && console.time('Module dependencies');
|
|
529
|
-
for (let
|
|
530
|
-
delete require.cache[require.resolve(
|
|
524
|
+
for (let file1 of configDependencies){
|
|
525
|
+
delete require.cache[require.resolve(file1)];
|
|
531
526
|
}
|
|
532
527
|
if (configPath) {
|
|
533
528
|
configDependencies = (0, _getModuleDependencies).default(configPath).map(({ file })=>file
|
|
@@ -546,9 +541,9 @@ async function build() {
|
|
|
546
541
|
let plugins = [
|
|
547
542
|
...beforePlugins,
|
|
548
543
|
'__TAILWIND_PLUGIN_POSITION__',
|
|
549
|
-
!
|
|
544
|
+
!args1['--minify'] && formatNodes,
|
|
550
545
|
...afterPlugins,
|
|
551
|
-
!
|
|
546
|
+
!args1['--no-autoprefixer'] && (()=>{
|
|
552
547
|
// Try to load a local `autoprefixer` version first
|
|
553
548
|
try {
|
|
554
549
|
return require('autoprefixer');
|
|
@@ -556,7 +551,7 @@ async function build() {
|
|
|
556
551
|
}
|
|
557
552
|
return (0, _indexJs).lazyAutoprefixer();
|
|
558
553
|
})(),
|
|
559
|
-
|
|
554
|
+
args1['--minify'] && (()=>{
|
|
560
555
|
let options = {
|
|
561
556
|
preset: [
|
|
562
557
|
'default',
|
|
@@ -641,44 +636,48 @@ async function build() {
|
|
|
641
636
|
}
|
|
642
637
|
});
|
|
643
638
|
}
|
|
644
|
-
let
|
|
645
|
-
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);
|
|
646
641
|
env.DEBUG && console.timeEnd('Finished in');
|
|
647
642
|
return result1;
|
|
648
643
|
}
|
|
649
|
-
let
|
|
644
|
+
let config1 = refreshConfig(configPath);
|
|
650
645
|
if (input) {
|
|
651
646
|
contextDependencies.add(_path.default.resolve(input));
|
|
652
647
|
}
|
|
653
648
|
watcher = _chokidar.default.watch([
|
|
654
649
|
...contextDependencies,
|
|
655
|
-
...extractFileGlobs(
|
|
650
|
+
...extractFileGlobs(config1)
|
|
656
651
|
], {
|
|
657
|
-
ignoreInitial: true
|
|
652
|
+
ignoreInitial: true,
|
|
653
|
+
awaitWriteFinish: process.platform === 'win32' ? {
|
|
654
|
+
stabilityThreshold: 50,
|
|
655
|
+
pollInterval: 10
|
|
656
|
+
} : false
|
|
658
657
|
});
|
|
659
658
|
let chain = Promise.resolve();
|
|
660
659
|
watcher.on('change', async (file)=>{
|
|
661
660
|
if (contextDependencies.has(file)) {
|
|
662
661
|
env.DEBUG && console.time('Resolve config');
|
|
663
662
|
context = null;
|
|
664
|
-
|
|
663
|
+
config1 = refreshConfig(configPath);
|
|
665
664
|
env.DEBUG && console.timeEnd('Resolve config');
|
|
666
665
|
env.DEBUG && console.time('Watch new files');
|
|
667
|
-
let globs = extractFileGlobs(
|
|
666
|
+
let globs = extractFileGlobs(config1);
|
|
668
667
|
watcher.add(configDependencies);
|
|
669
668
|
watcher.add(globs);
|
|
670
669
|
env.DEBUG && console.timeEnd('Watch new files');
|
|
671
670
|
chain = chain.then(async ()=>{
|
|
672
|
-
changedContent.push(...getChangedContent(
|
|
673
|
-
await rebuild(
|
|
671
|
+
changedContent.push(...getChangedContent(config1));
|
|
672
|
+
await rebuild(config1);
|
|
674
673
|
});
|
|
675
674
|
} else {
|
|
676
675
|
chain = chain.then(async ()=>{
|
|
677
676
|
changedContent.push({
|
|
678
677
|
content: _fs.default.readFileSync(_path.default.resolve(file), 'utf8'),
|
|
679
|
-
extension: _path.default.extname(file)
|
|
678
|
+
extension: _path.default.extname(file).slice(1)
|
|
680
679
|
});
|
|
681
|
-
await rebuild(
|
|
680
|
+
await rebuild(config1);
|
|
682
681
|
});
|
|
683
682
|
}
|
|
684
683
|
});
|
|
@@ -686,14 +685,14 @@ async function build() {
|
|
|
686
685
|
chain = chain.then(async ()=>{
|
|
687
686
|
changedContent.push({
|
|
688
687
|
content: _fs.default.readFileSync(_path.default.resolve(file), 'utf8'),
|
|
689
|
-
extension: _path.default.extname(file)
|
|
688
|
+
extension: _path.default.extname(file).slice(1)
|
|
690
689
|
});
|
|
691
|
-
await rebuild(
|
|
690
|
+
await rebuild(config1);
|
|
692
691
|
});
|
|
693
692
|
});
|
|
694
693
|
chain = chain.then(()=>{
|
|
695
|
-
changedContent.push(...getChangedContent(
|
|
696
|
-
return rebuild(
|
|
694
|
+
changedContent.push(...getChangedContent(config1));
|
|
695
|
+
return rebuild(config1);
|
|
697
696
|
});
|
|
698
697
|
}
|
|
699
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",
|