tailwindcss 0.0.0-insiders.41e32bd → 0.0.0-insiders.45e17dd
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 +87 -2
- package/lib/cli.js +56 -26
- package/lib/corePlugins.js +185 -281
- package/lib/css/preflight.css +1 -1
- package/lib/featureFlags.js +2 -5
- package/lib/lib/expandApplyAtRules.js +0 -40
- package/lib/lib/expandTailwindAtRules.js +41 -38
- package/lib/lib/generateRules.js +10 -3
- package/lib/lib/normalizeTailwindDirectives.js +2 -1
- package/lib/lib/partitionApplyAtRules.js +53 -0
- package/lib/lib/resolveDefaultsAtRules.js +4 -4
- package/lib/lib/setupContextUtils.js +52 -54
- package/{nesting → lib/postcss-plugins/nesting}/README.md +0 -0
- package/lib/postcss-plugins/nesting/index.js +17 -0
- package/lib/postcss-plugins/nesting/plugin.js +53 -0
- package/lib/processTailwindFeatures.js +8 -1
- package/lib/util/createPlugin.js +1 -2
- package/lib/util/createUtilityPlugin.js +4 -8
- package/lib/util/flattenColorPalette.js +1 -3
- package/lib/util/normalizeConfig.js +19 -16
- package/lib/util/normalizeScreens.js +2 -4
- package/lib/util/parseBoxShadowValue.js +1 -1
- package/lib/util/pluginUtils.js +6 -13
- package/lib/util/resolveConfig.js +9 -18
- package/lib/util/resolveConfigPath.js +1 -2
- package/lib/util/toColorValue.js +1 -2
- package/lib/util/transformThemeValue.js +4 -8
- package/nesting/index.js +2 -12
- package/package.json +15 -17
- package/peers/index.js +1049 -1240
- package/src/cli.js +49 -12
- package/src/corePlugins.js +122 -155
- package/src/css/preflight.css +1 -1
- package/src/featureFlags.js +1 -5
- package/src/lib/expandApplyAtRules.js +0 -42
- package/src/lib/expandTailwindAtRules.js +43 -27
- package/src/lib/generateRules.js +8 -1
- package/src/lib/normalizeTailwindDirectives.js +1 -0
- package/src/lib/partitionApplyAtRules.js +52 -0
- package/src/lib/resolveDefaultsAtRules.js +5 -5
- package/src/lib/setupContextUtils.js +39 -18
- package/src/postcss-plugins/nesting/README.md +42 -0
- package/src/postcss-plugins/nesting/index.js +13 -0
- package/{nesting → src/postcss-plugins/nesting}/plugin.js +7 -4
- package/src/processTailwindFeatures.js +10 -1
- package/src/util/normalizeConfig.js +12 -4
- package/src/util/parseBoxShadowValue.js +1 -1
- package/src/util/pluginUtils.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -9,9 +9,85 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
9
9
|
|
|
10
10
|
### Fixed
|
|
11
11
|
|
|
12
|
-
- Fix
|
|
12
|
+
- Fix preflight border color fallback ([#7288](https://github.com/tailwindlabs/tailwindcss/pull/7288))
|
|
13
|
+
- Correctly parse shadow lengths without a leading zero ([#7289](https://github.com/tailwindlabs/tailwindcss/pull/7289))
|
|
14
|
+
|
|
15
|
+
## [3.0.18] - 2022-01-28
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
|
|
19
|
+
- Fix `@apply` order regression (in `addComponents`, `addUtilities`, ...) ([#7232](https://github.com/tailwindlabs/tailwindcss/pull/7232))
|
|
20
|
+
- Quick fix for incorrect arbitrary properties when using URLs ([#7252](https://github.com/tailwindlabs/tailwindcss/pull/7252))
|
|
21
|
+
|
|
22
|
+
## [3.0.17] - 2022-01-26
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
|
|
26
|
+
- Remove false positive warning in CLI when using the `--content` option ([#7220](https://github.com/tailwindlabs/tailwindcss/pull/7220))
|
|
27
|
+
|
|
28
|
+
## [3.0.16] - 2022-01-24
|
|
29
|
+
|
|
30
|
+
### Fixed
|
|
31
|
+
|
|
32
|
+
- Ensure to transpile the PostCSS Nesting plugin (tailwindcss/nesting) ([#7080](https://github.com/tailwindlabs/tailwindcss/pull/7080))
|
|
33
|
+
- Improve various warnings ([#7118](https://github.com/tailwindlabs/tailwindcss/pull/7118))
|
|
34
|
+
- Fix grammatical mistake ([cca5a38](https://github.com/tailwindlabs/tailwindcss/commit/cca5a3804e1d3ee0214491921e1aec35bf62a813))
|
|
35
|
+
|
|
36
|
+
## [3.0.15] - 2022-01-15
|
|
37
|
+
|
|
38
|
+
### Fixed
|
|
39
|
+
|
|
40
|
+
- Temporarily remove optional chaining in nesting plugin ([#7077](https://github.com/tailwindlabs/tailwindcss/pull/7077))
|
|
41
|
+
|
|
42
|
+
## [3.0.14] - 2022-01-14
|
|
43
|
+
|
|
44
|
+
### Added
|
|
45
|
+
|
|
46
|
+
- Show warnings for invalid content config ([#7065](https://github.com/tailwindlabs/tailwindcss/pull/7065))
|
|
47
|
+
|
|
48
|
+
### Fixed
|
|
49
|
+
|
|
50
|
+
- Only emit utility/component variants when those layers exist ([#7066](https://github.com/tailwindlabs/tailwindcss/pull/7066))
|
|
51
|
+
- Ensure nesting plugins can receive options ([#7016](https://github.com/tailwindlabs/tailwindcss/pull/7016))
|
|
52
|
+
|
|
53
|
+
## [3.0.13] - 2022-01-11
|
|
54
|
+
|
|
55
|
+
### Fixed
|
|
56
|
+
|
|
57
|
+
- Fix consecutive builds with at apply producing different CSS ([#6999](https://github.com/tailwindlabs/tailwindcss/pull/6999))
|
|
58
|
+
|
|
59
|
+
## [3.0.12] - 2022-01-07
|
|
60
|
+
|
|
61
|
+
### Fixed
|
|
62
|
+
|
|
63
|
+
- Allow use of falsy values in theme config ([#6917](https://github.com/tailwindlabs/tailwindcss/pull/6917))
|
|
64
|
+
- Ensure we can apply classes that are grouped with non-class selectors ([#6922](https://github.com/tailwindlabs/tailwindcss/pull/6922))
|
|
65
|
+
- Improve standalone CLI compatibility on Linux by switching to the `linuxstatic` build target ([#6914](https://github.com/tailwindlabs/tailwindcss/pull/6914))
|
|
66
|
+
- Ensure `@apply` works consistently with or without `@layer` ([#6938](https://github.com/tailwindlabs/tailwindcss/pull/6938))
|
|
67
|
+
- Only emit defaults when using base layer ([#6926](https://github.com/tailwindlabs/tailwindcss/pull/6926))
|
|
68
|
+
- Emit plugin defaults regardless of usage ([#6926](https://github.com/tailwindlabs/tailwindcss/pull/6926))
|
|
69
|
+
- Move default border color back to preflight ([#6926](https://github.com/tailwindlabs/tailwindcss/pull/6926))
|
|
70
|
+
- Change `experimental.optimizeUniversalDefaults` to only work with `@tailwind base` ([#6926](https://github.com/tailwindlabs/tailwindcss/pull/6926))
|
|
71
|
+
|
|
72
|
+
## [3.0.11] - 2022-01-05
|
|
73
|
+
|
|
74
|
+
### Fixed
|
|
75
|
+
|
|
76
|
+
- Preserve casing of CSS variables added by plugins ([#6888](https://github.com/tailwindlabs/tailwindcss/pull/6888))
|
|
77
|
+
- Ignore content paths that are passed in but don't actually exist ([#6901](https://github.com/tailwindlabs/tailwindcss/pull/6901))
|
|
78
|
+
- Revert change that applies Tailwind's defaults in isolated environments like CSS modules ([9fdc391](https://github.com/tailwindlabs/tailwindcss/commit/9fdc391d4ff93e7e350f5ce439060176b1f0162f))
|
|
79
|
+
|
|
80
|
+
## [3.0.10] - 2022-01-04
|
|
81
|
+
|
|
82
|
+
### Fixed
|
|
83
|
+
|
|
84
|
+
- Fix `@apply` in files without `@tailwind` directives ([#6580](https://github.com/tailwindlabs/tailwindcss/pull/6580), [#6875](https://github.com/tailwindlabs/tailwindcss/pull/6875))
|
|
13
85
|
- CLI: avoid unnecessary writes to output files ([#6550](https://github.com/tailwindlabs/tailwindcss/pull/6550))
|
|
14
86
|
|
|
87
|
+
### Added
|
|
88
|
+
|
|
89
|
+
- Allow piping data into the CLI ([#6876](https://github.com/tailwindlabs/tailwindcss/pull/6876))
|
|
90
|
+
|
|
15
91
|
## [3.0.9] - 2022-01-03
|
|
16
92
|
|
|
17
93
|
### Fixed
|
|
@@ -1763,7 +1839,16 @@ No release notes
|
|
|
1763
1839
|
|
|
1764
1840
|
- Everything!
|
|
1765
1841
|
|
|
1766
|
-
[unreleased]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.
|
|
1842
|
+
[unreleased]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.18...HEAD
|
|
1843
|
+
[3.0.18]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.17...v3.0.18
|
|
1844
|
+
[3.0.17]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.16...v3.0.17
|
|
1845
|
+
[3.0.16]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.15...v3.0.16
|
|
1846
|
+
[3.0.15]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.14...v3.0.15
|
|
1847
|
+
[3.0.14]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.13...v3.0.14
|
|
1848
|
+
[3.0.13]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.12...v3.0.13
|
|
1849
|
+
[3.0.12]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.11...v3.0.12
|
|
1850
|
+
[3.0.11]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.10...v3.0.11
|
|
1851
|
+
[3.0.10]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.9...v3.0.10
|
|
1767
1852
|
[3.0.9]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.8...v3.0.9
|
|
1768
1853
|
[3.0.8]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.7...v3.0.8
|
|
1769
1854
|
[3.0.7]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.6...v3.0.7
|
package/lib/cli.js
CHANGED
|
@@ -47,6 +47,18 @@ async function outputFile(file, contents) {
|
|
|
47
47
|
// Write the file
|
|
48
48
|
await _fs.default.promises.writeFile(file, contents, 'utf8');
|
|
49
49
|
}
|
|
50
|
+
function drainStdin() {
|
|
51
|
+
return new Promise((resolve, reject)=>{
|
|
52
|
+
let result = '';
|
|
53
|
+
process.stdin.on('data', (chunk)=>{
|
|
54
|
+
result += chunk;
|
|
55
|
+
});
|
|
56
|
+
process.stdin.on('end', ()=>resolve(result)
|
|
57
|
+
);
|
|
58
|
+
process.stdin.on('error', (err)=>reject(err)
|
|
59
|
+
);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
50
62
|
function help({ message , usage , commands: commands1 , options }) {
|
|
51
63
|
let indent = 2;
|
|
52
64
|
// Render header
|
|
@@ -77,8 +89,7 @@ function help({ message , usage , commands: commands1 , options }) {
|
|
|
77
89
|
}
|
|
78
90
|
// Render options
|
|
79
91
|
if (options) {
|
|
80
|
-
let groupedOptions = {
|
|
81
|
-
};
|
|
92
|
+
let groupedOptions = {};
|
|
82
93
|
for (let [key, value] of Object.entries(options)){
|
|
83
94
|
if (typeof value === 'object') {
|
|
84
95
|
groupedOptions[key] = {
|
|
@@ -343,7 +354,7 @@ async function build() {
|
|
|
343
354
|
console.error('[deprecation] Running tailwindcss without -i, please provide an input file.');
|
|
344
355
|
input = args['--input'] = args['_'][1];
|
|
345
356
|
}
|
|
346
|
-
if (input && !_fs.default.existsSync(input = _path.default.resolve(input))) {
|
|
357
|
+
if (input && input !== '-' && !_fs.default.existsSync(input = _path.default.resolve(input))) {
|
|
347
358
|
console.error(`Specified input file ${args['--input']} does not exist.`);
|
|
348
359
|
process.exit(9);
|
|
349
360
|
}
|
|
@@ -358,13 +369,11 @@ async function build() {
|
|
|
358
369
|
let { plugins: configPlugins } = customPostCssPath ? await (async ()=>{
|
|
359
370
|
let file = _path.default.resolve(customPostCssPath);
|
|
360
371
|
// Implementation, see: https://unpkg.com/browse/postcss-load-config@3.0.1/src/index.js
|
|
361
|
-
let { config ={
|
|
362
|
-
} } = await (0, _cosmiconfig).cosmiconfig('postcss').load(file);
|
|
372
|
+
let { config ={} } = await (0, _cosmiconfig).cosmiconfig('postcss').load(file);
|
|
363
373
|
if (typeof config === 'function') {
|
|
364
374
|
config = config();
|
|
365
375
|
} else {
|
|
366
|
-
config = Object.assign({
|
|
367
|
-
}, config);
|
|
376
|
+
config = Object.assign({}, config);
|
|
368
377
|
}
|
|
369
378
|
if (!config.plugins) {
|
|
370
379
|
config.plugins = [];
|
|
@@ -390,9 +399,7 @@ async function build() {
|
|
|
390
399
|
];
|
|
391
400
|
}
|
|
392
401
|
function resolveConfig() {
|
|
393
|
-
let config = configPath ? require(configPath) : {
|
|
394
|
-
};
|
|
395
|
-
let resolvedConfig = (0, _resolveConfig).default(config);
|
|
402
|
+
let config = configPath ? require(configPath) : {};
|
|
396
403
|
if (args['--purge']) {
|
|
397
404
|
_log.default.warn('purge-flag-deprecated', [
|
|
398
405
|
'The `--purge` flag has been deprecated.',
|
|
@@ -403,9 +410,16 @@ async function build() {
|
|
|
403
410
|
}
|
|
404
411
|
}
|
|
405
412
|
if (args['--content']) {
|
|
406
|
-
|
|
413
|
+
let files = args['--content'].split(/(?<!{[^}]+),/);
|
|
414
|
+
let resolvedConfig = (0, _resolveConfig).default(config, {
|
|
415
|
+
content: {
|
|
416
|
+
files
|
|
417
|
+
}
|
|
418
|
+
});
|
|
419
|
+
resolvedConfig.content.files = files;
|
|
420
|
+
return resolvedConfig;
|
|
407
421
|
}
|
|
408
|
-
return
|
|
422
|
+
return (0, _resolveConfig).default(config);
|
|
409
423
|
}
|
|
410
424
|
function extractFileGlobs(config) {
|
|
411
425
|
return config.content.files.filter((file)=>{
|
|
@@ -470,8 +484,7 @@ async function build() {
|
|
|
470
484
|
// Try to load a local `autoprefixer` version first
|
|
471
485
|
try {
|
|
472
486
|
return require('autoprefixer');
|
|
473
|
-
} catch {
|
|
474
|
-
}
|
|
487
|
+
} catch {}
|
|
475
488
|
return (0, _indexJs).lazyAutoprefixer();
|
|
476
489
|
})(),
|
|
477
490
|
args['--minify'] && (()=>{
|
|
@@ -486,8 +499,7 @@ async function build() {
|
|
|
486
499
|
// Try to load a local `cssnano` version first
|
|
487
500
|
try {
|
|
488
501
|
return require('cssnano');
|
|
489
|
-
} catch {
|
|
490
|
-
}
|
|
502
|
+
} catch {}
|
|
491
503
|
return (0, _indexJs).lazyCssnano()(options);
|
|
492
504
|
})(),
|
|
493
505
|
].filter(Boolean);
|
|
@@ -506,10 +518,8 @@ async function build() {
|
|
|
506
518
|
return process.stdout.write(result.css);
|
|
507
519
|
}
|
|
508
520
|
return Promise.all([
|
|
509
|
-
|
|
510
|
-
),
|
|
511
|
-
result.map && _fs.default.writeFile(output + '.map', result.map.toString(), ()=>true
|
|
512
|
-
),
|
|
521
|
+
outputFile(output, result.css),
|
|
522
|
+
result.map && outputFile(output + '.map', result.map.toString()),
|
|
513
523
|
].filter(Boolean));
|
|
514
524
|
}).then(()=>{
|
|
515
525
|
let end = process.hrtime.bigint();
|
|
@@ -517,7 +527,18 @@ async function build() {
|
|
|
517
527
|
console.error('Done in', (end - start) / BigInt(1000000) + 'ms.');
|
|
518
528
|
});
|
|
519
529
|
}
|
|
520
|
-
let css1 =
|
|
530
|
+
let css1 = await (()=>{
|
|
531
|
+
// Piping in data, let's drain the stdin
|
|
532
|
+
if (input === '-') {
|
|
533
|
+
return drainStdin();
|
|
534
|
+
}
|
|
535
|
+
// Input file has been provided
|
|
536
|
+
if (input) {
|
|
537
|
+
return _fs.default.readFileSync(_path.default.resolve(input), 'utf8');
|
|
538
|
+
}
|
|
539
|
+
// No input file provided, fallback to default atrules
|
|
540
|
+
return '@tailwind base; @tailwind components; @tailwind utilities';
|
|
541
|
+
})();
|
|
521
542
|
return processCSS(css1);
|
|
522
543
|
}
|
|
523
544
|
let context = null;
|
|
@@ -554,8 +575,7 @@ async function build() {
|
|
|
554
575
|
// Try to load a local `autoprefixer` version first
|
|
555
576
|
try {
|
|
556
577
|
return require('autoprefixer');
|
|
557
|
-
} catch {
|
|
558
|
-
}
|
|
578
|
+
} catch {}
|
|
559
579
|
return (0, _indexJs).lazyAutoprefixer();
|
|
560
580
|
})(),
|
|
561
581
|
args['--minify'] && (()=>{
|
|
@@ -570,8 +590,7 @@ async function build() {
|
|
|
570
590
|
// Try to load a local `cssnano` version first
|
|
571
591
|
try {
|
|
572
592
|
return require('cssnano');
|
|
573
|
-
} catch {
|
|
574
|
-
}
|
|
593
|
+
} catch {}
|
|
575
594
|
return (0, _indexJs).lazyCssnano()(options);
|
|
576
595
|
})(),
|
|
577
596
|
].filter(Boolean);
|
|
@@ -641,7 +660,18 @@ async function build() {
|
|
|
641
660
|
}
|
|
642
661
|
});
|
|
643
662
|
}
|
|
644
|
-
let css2 =
|
|
663
|
+
let css2 = await (()=>{
|
|
664
|
+
// Piping in data, let's drain the stdin
|
|
665
|
+
if (input === '-') {
|
|
666
|
+
return drainStdin();
|
|
667
|
+
}
|
|
668
|
+
// Input file has been provided
|
|
669
|
+
if (input) {
|
|
670
|
+
return _fs.default.readFileSync(_path.default.resolve(input), 'utf8');
|
|
671
|
+
}
|
|
672
|
+
// No input file provided, fallback to default atrules
|
|
673
|
+
return '@tailwind base; @tailwind components; @tailwind utilities';
|
|
674
|
+
})();
|
|
645
675
|
let result1 = await processCSS(css2);
|
|
646
676
|
env.DEBUG && console.timeEnd('Finished in');
|
|
647
677
|
return result1;
|