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.
Files changed (48) hide show
  1. package/CHANGELOG.md +87 -2
  2. package/lib/cli.js +56 -26
  3. package/lib/corePlugins.js +185 -281
  4. package/lib/css/preflight.css +1 -1
  5. package/lib/featureFlags.js +2 -5
  6. package/lib/lib/expandApplyAtRules.js +0 -40
  7. package/lib/lib/expandTailwindAtRules.js +41 -38
  8. package/lib/lib/generateRules.js +10 -3
  9. package/lib/lib/normalizeTailwindDirectives.js +2 -1
  10. package/lib/lib/partitionApplyAtRules.js +53 -0
  11. package/lib/lib/resolveDefaultsAtRules.js +4 -4
  12. package/lib/lib/setupContextUtils.js +52 -54
  13. package/{nesting → lib/postcss-plugins/nesting}/README.md +0 -0
  14. package/lib/postcss-plugins/nesting/index.js +17 -0
  15. package/lib/postcss-plugins/nesting/plugin.js +53 -0
  16. package/lib/processTailwindFeatures.js +8 -1
  17. package/lib/util/createPlugin.js +1 -2
  18. package/lib/util/createUtilityPlugin.js +4 -8
  19. package/lib/util/flattenColorPalette.js +1 -3
  20. package/lib/util/normalizeConfig.js +19 -16
  21. package/lib/util/normalizeScreens.js +2 -4
  22. package/lib/util/parseBoxShadowValue.js +1 -1
  23. package/lib/util/pluginUtils.js +6 -13
  24. package/lib/util/resolveConfig.js +9 -18
  25. package/lib/util/resolveConfigPath.js +1 -2
  26. package/lib/util/toColorValue.js +1 -2
  27. package/lib/util/transformThemeValue.js +4 -8
  28. package/nesting/index.js +2 -12
  29. package/package.json +15 -17
  30. package/peers/index.js +1049 -1240
  31. package/src/cli.js +49 -12
  32. package/src/corePlugins.js +122 -155
  33. package/src/css/preflight.css +1 -1
  34. package/src/featureFlags.js +1 -5
  35. package/src/lib/expandApplyAtRules.js +0 -42
  36. package/src/lib/expandTailwindAtRules.js +43 -27
  37. package/src/lib/generateRules.js +8 -1
  38. package/src/lib/normalizeTailwindDirectives.js +1 -0
  39. package/src/lib/partitionApplyAtRules.js +52 -0
  40. package/src/lib/resolveDefaultsAtRules.js +5 -5
  41. package/src/lib/setupContextUtils.js +39 -18
  42. package/src/postcss-plugins/nesting/README.md +42 -0
  43. package/src/postcss-plugins/nesting/index.js +13 -0
  44. package/{nesting → src/postcss-plugins/nesting}/plugin.js +7 -4
  45. package/src/processTailwindFeatures.js +10 -1
  46. package/src/util/normalizeConfig.js +12 -4
  47. package/src/util/parseBoxShadowValue.js +1 -1
  48. 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 `@apply` in files without `@tailwind` directives ([#6580](https://github.com/tailwindlabs/tailwindcss/pull/6580))
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.9...HEAD
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
- resolvedConfig.content.files = args['--content'].split(/(?<!{[^}]+),/);
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 resolvedConfig;
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
- _fs.default.promises.writeFile(output, result.css, ()=>true
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 = input ? _fs.default.readFileSync(_path.default.resolve(input), 'utf8') : '@tailwind base; @tailwind components; @tailwind utilities';
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 = input ? _fs.default.readFileSync(_path.default.resolve(input), 'utf8') : '@tailwind base; @tailwind components; @tailwind utilities';
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;