tailwindcss 0.0.0-insiders.d6301bd → 0.0.0-insiders.d87bdb2

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 (97) hide show
  1. package/CHANGELOG.md +221 -3
  2. package/LICENSE +1 -2
  3. package/README.md +8 -4
  4. package/colors.js +2 -1
  5. package/defaultConfig.js +2 -1
  6. package/defaultTheme.js +2 -1
  7. package/lib/cli.js +96 -61
  8. package/lib/constants.js +1 -1
  9. package/lib/corePluginList.js +4 -0
  10. package/lib/corePlugins.js +357 -368
  11. package/lib/css/preflight.css +6 -5
  12. package/lib/featureFlags.js +5 -6
  13. package/lib/index.js +1 -3
  14. package/lib/lib/collapseDuplicateDeclarations.js +54 -3
  15. package/lib/lib/defaultExtractor.js +42 -0
  16. package/lib/lib/detectNesting.js +17 -2
  17. package/lib/lib/evaluateTailwindFunctions.js +10 -6
  18. package/lib/lib/expandApplyAtRules.js +94 -45
  19. package/lib/lib/expandTailwindAtRules.js +49 -42
  20. package/lib/lib/generateRules.js +102 -38
  21. package/lib/lib/normalizeTailwindDirectives.js +10 -2
  22. package/lib/lib/partitionApplyAtRules.js +53 -0
  23. package/lib/lib/resolveDefaultsAtRules.js +28 -14
  24. package/lib/lib/setupContextUtils.js +102 -127
  25. package/lib/lib/setupTrackingContext.js +11 -10
  26. package/lib/lib/sharedState.js +34 -5
  27. package/lib/lib/substituteScreenAtRules.js +7 -4
  28. package/{nesting → lib/postcss-plugins/nesting}/README.md +0 -0
  29. package/lib/postcss-plugins/nesting/index.js +17 -0
  30. package/lib/postcss-plugins/nesting/plugin.js +53 -0
  31. package/lib/processTailwindFeatures.js +10 -2
  32. package/lib/util/buildMediaQuery.js +13 -24
  33. package/lib/util/color.js +23 -8
  34. package/lib/util/createPlugin.js +1 -2
  35. package/lib/util/createUtilityPlugin.js +6 -10
  36. package/lib/util/dataTypes.js +25 -3
  37. package/lib/util/defaults.js +6 -0
  38. package/lib/util/flattenColorPalette.js +1 -3
  39. package/lib/util/formatVariantSelector.js +93 -9
  40. package/lib/util/isValidArbitraryValue.js +64 -0
  41. package/lib/util/log.js +4 -0
  42. package/lib/util/nameClass.js +1 -0
  43. package/lib/util/normalizeConfig.js +54 -22
  44. package/lib/util/normalizeScreens.js +59 -0
  45. package/lib/util/parseBoxShadowValue.js +77 -0
  46. package/lib/util/pluginUtils.js +18 -24
  47. package/lib/util/resolveConfig.js +30 -31
  48. package/lib/util/resolveConfigPath.js +1 -2
  49. package/lib/util/toColorValue.js +1 -2
  50. package/lib/util/toPath.js +6 -1
  51. package/lib/util/transformThemeValue.js +4 -8
  52. package/nesting/index.js +2 -12
  53. package/package.json +22 -29
  54. package/peers/index.js +4867 -4370
  55. package/plugin.js +2 -1
  56. package/resolveConfig.js +2 -1
  57. package/src/cli.js +62 -15
  58. package/src/corePluginList.js +1 -1
  59. package/src/corePlugins.js +284 -249
  60. package/src/css/preflight.css +6 -5
  61. package/src/featureFlags.js +1 -1
  62. package/src/index.js +1 -7
  63. package/src/lib/collapseDuplicateDeclarations.js +66 -1
  64. package/src/lib/defaultExtractor.js +48 -0
  65. package/src/lib/detectNesting.js +22 -3
  66. package/src/lib/evaluateTailwindFunctions.js +6 -3
  67. package/src/lib/expandApplyAtRules.js +101 -45
  68. package/src/lib/expandTailwindAtRules.js +52 -32
  69. package/src/lib/generateRules.js +89 -21
  70. package/src/lib/normalizeTailwindDirectives.js +7 -1
  71. package/src/lib/partitionApplyAtRules.js +52 -0
  72. package/src/lib/resolveDefaultsAtRules.js +31 -10
  73. package/src/lib/setupContextUtils.js +82 -80
  74. package/src/lib/setupTrackingContext.js +11 -10
  75. package/src/lib/sharedState.js +40 -4
  76. package/src/lib/substituteScreenAtRules.js +6 -3
  77. package/src/postcss-plugins/nesting/README.md +42 -0
  78. package/src/postcss-plugins/nesting/index.js +13 -0
  79. package/{nesting → src/postcss-plugins/nesting}/plugin.js +7 -4
  80. package/src/processTailwindFeatures.js +12 -2
  81. package/src/util/buildMediaQuery.js +14 -18
  82. package/src/util/color.js +20 -7
  83. package/src/util/dataTypes.js +24 -6
  84. package/src/util/defaults.js +6 -0
  85. package/src/util/formatVariantSelector.js +92 -1
  86. package/src/util/isValidArbitraryValue.js +61 -0
  87. package/src/util/log.js +4 -0
  88. package/src/util/nameClass.js +1 -1
  89. package/src/util/normalizeConfig.js +24 -3
  90. package/src/util/normalizeScreens.js +45 -0
  91. package/src/util/parseBoxShadowValue.js +71 -0
  92. package/src/util/pluginUtils.js +3 -1
  93. package/src/util/resolveConfig.js +11 -1
  94. package/src/util/toPath.js +23 -1
  95. package/stubs/defaultConfig.stub.js +27 -11
  96. package/lib/lib/setupWatchingContext.js +0 -288
  97. package/src/lib/setupWatchingContext.js +0 -311
package/CHANGELOG.md CHANGED
@@ -7,6 +7,192 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Fixed
11
+
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
+ - Don't crash when scanning extremely long class candidates ([#7331](https://github.com/tailwindlabs/tailwindcss/pull/7331))
15
+
16
+ ## [3.0.18] - 2022-01-28
17
+
18
+ ### Fixed
19
+
20
+ - Fix `@apply` order regression (in `addComponents`, `addUtilities`, ...) ([#7232](https://github.com/tailwindlabs/tailwindcss/pull/7232))
21
+ - Quick fix for incorrect arbitrary properties when using URLs ([#7252](https://github.com/tailwindlabs/tailwindcss/pull/7252))
22
+
23
+ ## [3.0.17] - 2022-01-26
24
+
25
+ ### Fixed
26
+
27
+ - Remove false positive warning in CLI when using the `--content` option ([#7220](https://github.com/tailwindlabs/tailwindcss/pull/7220))
28
+
29
+ ## [3.0.16] - 2022-01-24
30
+
31
+ ### Fixed
32
+
33
+ - Ensure to transpile the PostCSS Nesting plugin (tailwindcss/nesting) ([#7080](https://github.com/tailwindlabs/tailwindcss/pull/7080))
34
+ - Improve various warnings ([#7118](https://github.com/tailwindlabs/tailwindcss/pull/7118))
35
+ - Fix grammatical mistake ([cca5a38](https://github.com/tailwindlabs/tailwindcss/commit/cca5a3804e1d3ee0214491921e1aec35bf62a813))
36
+
37
+ ## [3.0.15] - 2022-01-15
38
+
39
+ ### Fixed
40
+
41
+ - Temporarily remove optional chaining in nesting plugin ([#7077](https://github.com/tailwindlabs/tailwindcss/pull/7077))
42
+
43
+ ## [3.0.14] - 2022-01-14
44
+
45
+ ### Added
46
+
47
+ - Show warnings for invalid content config ([#7065](https://github.com/tailwindlabs/tailwindcss/pull/7065))
48
+
49
+ ### Fixed
50
+
51
+ - Only emit utility/component variants when those layers exist ([#7066](https://github.com/tailwindlabs/tailwindcss/pull/7066))
52
+ - Ensure nesting plugins can receive options ([#7016](https://github.com/tailwindlabs/tailwindcss/pull/7016))
53
+
54
+ ## [3.0.13] - 2022-01-11
55
+
56
+ ### Fixed
57
+
58
+ - Fix consecutive builds with at apply producing different CSS ([#6999](https://github.com/tailwindlabs/tailwindcss/pull/6999))
59
+
60
+ ## [3.0.12] - 2022-01-07
61
+
62
+ ### Fixed
63
+
64
+ - Allow use of falsy values in theme config ([#6917](https://github.com/tailwindlabs/tailwindcss/pull/6917))
65
+ - Ensure we can apply classes that are grouped with non-class selectors ([#6922](https://github.com/tailwindlabs/tailwindcss/pull/6922))
66
+ - Improve standalone CLI compatibility on Linux by switching to the `linuxstatic` build target ([#6914](https://github.com/tailwindlabs/tailwindcss/pull/6914))
67
+ - Ensure `@apply` works consistently with or without `@layer` ([#6938](https://github.com/tailwindlabs/tailwindcss/pull/6938))
68
+ - Only emit defaults when using base layer ([#6926](https://github.com/tailwindlabs/tailwindcss/pull/6926))
69
+ - Emit plugin defaults regardless of usage ([#6926](https://github.com/tailwindlabs/tailwindcss/pull/6926))
70
+ - Move default border color back to preflight ([#6926](https://github.com/tailwindlabs/tailwindcss/pull/6926))
71
+ - Change `experimental.optimizeUniversalDefaults` to only work with `@tailwind base` ([#6926](https://github.com/tailwindlabs/tailwindcss/pull/6926))
72
+
73
+ ## [3.0.11] - 2022-01-05
74
+
75
+ ### Fixed
76
+
77
+ - Preserve casing of CSS variables added by plugins ([#6888](https://github.com/tailwindlabs/tailwindcss/pull/6888))
78
+ - Ignore content paths that are passed in but don't actually exist ([#6901](https://github.com/tailwindlabs/tailwindcss/pull/6901))
79
+ - Revert change that applies Tailwind's defaults in isolated environments like CSS modules ([9fdc391](https://github.com/tailwindlabs/tailwindcss/commit/9fdc391d4ff93e7e350f5ce439060176b1f0162f))
80
+
81
+ ## [3.0.10] - 2022-01-04
82
+
83
+ ### Fixed
84
+
85
+ - Fix `@apply` in files without `@tailwind` directives ([#6580](https://github.com/tailwindlabs/tailwindcss/pull/6580), [#6875](https://github.com/tailwindlabs/tailwindcss/pull/6875))
86
+ - CLI: avoid unnecessary writes to output files ([#6550](https://github.com/tailwindlabs/tailwindcss/pull/6550))
87
+
88
+ ### Added
89
+
90
+ - Allow piping data into the CLI ([#6876](https://github.com/tailwindlabs/tailwindcss/pull/6876))
91
+
92
+ ## [3.0.9] - 2022-01-03
93
+
94
+ ### Fixed
95
+
96
+ - Improve `DEBUG` flag ([#6797](https://github.com/tailwindlabs/tailwindcss/pull/6797), [#6804](https://github.com/tailwindlabs/tailwindcss/pull/6804))
97
+ - Ensure we can use `<` and `>` characters in modifiers ([#6851](https://github.com/tailwindlabs/tailwindcss/pull/6851))
98
+ - Validate `theme()` works in arbitrary values ([#6852](https://github.com/tailwindlabs/tailwindcss/pull/6852))
99
+ - Properly detect `theme()` value usage in arbitrary properties ([#6854](https://github.com/tailwindlabs/tailwindcss/pull/6854))
100
+ - Improve collapsing of duplicate declarations ([#6856](https://github.com/tailwindlabs/tailwindcss/pull/6856))
101
+ - Remove support for `TAILWIND_MODE=watch` ([#6858](https://github.com/tailwindlabs/tailwindcss/pull/6858))
102
+
103
+ ## [3.0.8] - 2021-12-28
104
+
105
+ ### Fixed
106
+
107
+ - Reduce specificity of `abbr` rule in preflight ([#6671](https://github.com/tailwindlabs/tailwindcss/pull/6671))
108
+ - Support HSL with hue units in arbitrary values ([#6726](https://github.com/tailwindlabs/tailwindcss/pull/6726))
109
+ - Add `node16-linux-arm64` target for standalone CLI ([#6693](https://github.com/tailwindlabs/tailwindcss/pull/6693))
110
+
111
+ ## [3.0.7] - 2021-12-17
112
+
113
+ ### Fixed
114
+
115
+ - Don't mutate custom color palette when overriding per-plugin colors ([#6546](https://github.com/tailwindlabs/tailwindcss/pull/6546))
116
+ - Improve circular dependency detection when using `@apply` ([#6588](https://github.com/tailwindlabs/tailwindcss/pull/6588))
117
+ - Only generate variants for non-`user` layers ([#6589](https://github.com/tailwindlabs/tailwindcss/pull/6589))
118
+ - Properly extract classes with arbitrary values in arrays and classes followed by escaped quotes ([#6590](https://github.com/tailwindlabs/tailwindcss/pull/6590))
119
+ - Improve jsx interpolation candidate matching ([#6593](https://github.com/tailwindlabs/tailwindcss/pull/6593))
120
+ - Ensure `@apply` of a rule inside an AtRule works ([#6594](https://github.com/tailwindlabs/tailwindcss/pull/6594))
121
+
122
+ ## [3.0.6] - 2021-12-16
123
+
124
+ ### Fixed
125
+
126
+ - Support square bracket notation in paths ([#6519](https://github.com/tailwindlabs/tailwindcss/pull/6519))
127
+ - Ensure all plugins are executed for a given candidate ([#6540](https://github.com/tailwindlabs/tailwindcss/pull/6540))
128
+
129
+ ## [3.0.5] - 2021-12-15
130
+
131
+ ### Fixed
132
+
133
+ - Revert: add `li` to list-style reset ([9777562d](https://github.com/tailwindlabs/tailwindcss/commit/9777562da37ee631bbf77374c0d14825f09ef9af))
134
+
135
+ ## [3.0.4] - 2021-12-15
136
+
137
+ ### Fixed
138
+
139
+ - Insert always-on defaults layer in correct spot ([#6526](https://github.com/tailwindlabs/tailwindcss/pull/6526))
140
+
141
+ ## [3.0.3] - 2021-12-15
142
+
143
+ ### Added
144
+
145
+ - Warn about invalid globs in `content` ([#6449](https://github.com/tailwindlabs/tailwindcss/pull/6449))
146
+ - Add standalone tailwindcss CLI ([#6506](https://github.com/tailwindlabs/tailwindcss/pull/6506))
147
+ - Add `li` to list-style reset ([00f60e6](https://github.com/tailwindlabs/tailwindcss/commit/00f60e61013c6e4e3419e4b699371a13eb30b75d))
148
+
149
+ ### Fixed
150
+
151
+ - Don't output unparsable values ([#6469](https://github.com/tailwindlabs/tailwindcss/pull/6469))
152
+ - Fix text decoration utilities from overriding the new text decoration color/style/thickness utilities when used with a modifier ([#6378](https://github.com/tailwindlabs/tailwindcss/pull/6378))
153
+ - Move defaults to their own always-on layer ([#6500](https://github.com/tailwindlabs/tailwindcss/pull/6500))
154
+ - Support negative values in safelist patterns ([#6480](https://github.com/tailwindlabs/tailwindcss/pull/6480))
155
+
156
+ ## [3.0.2] - 2021-12-13
157
+
158
+ ### Fixed
159
+
160
+ - Temporarily disable optimize universal defaults, fixes issue with transforms/filters/rings not being `@apply`-able in CSS modules/Svelte components/Vue components ([#6461](https://github.com/tailwindlabs/tailwindcss/pull/6461))
161
+
162
+ ## [3.0.1] - 2021-12-10
163
+
164
+ ### Fixed
165
+
166
+ - Ensure complex variants with multiple classes work ([#6311](https://github.com/tailwindlabs/tailwindcss/pull/6311))
167
+ - Re-add `default` interop to public available functions ([#6348](https://github.com/tailwindlabs/tailwindcss/pull/6348))
168
+ - Detect circular dependencies when using `@apply` ([#6365](https://github.com/tailwindlabs/tailwindcss/pull/6365))
169
+ - Fix defaults optimization when vendor prefixes are involved ([#6369](https://github.com/tailwindlabs/tailwindcss/pull/6369))
170
+
171
+ ## [3.0.0] - 2021-12-09
172
+
173
+ ### Fixed
174
+
175
+ - Enforce the order of some variants (like `before` and `after`) ([#6018](https://github.com/tailwindlabs/tailwindcss/pull/6018))
176
+
177
+ ### Added
178
+
179
+ - Add `placeholder` variant ([#6106](https://github.com/tailwindlabs/tailwindcss/pull/6106))
180
+ - Add composable `touch-action` utilities ([#6115](https://github.com/tailwindlabs/tailwindcss/pull/6115))
181
+ - Add support for "arbitrary properties" ([#6161](https://github.com/tailwindlabs/tailwindcss/pull/6161))
182
+ - Add `portrait` and `landscape` variants ([#6046](https://github.com/tailwindlabs/tailwindcss/pull/6046))
183
+ - Add `text-decoration-style`, `text-decoration-thickness`, and `text-underline-offset` utilities ([#6004](https://github.com/tailwindlabs/tailwindcss/pull/6004))
184
+ - Add `menu` reset to preflight ([#6213](https://github.com/tailwindlabs/tailwindcss/pull/6213))
185
+ - Allow `0` as a valid `length` value ([#6233](https://github.com/tailwindlabs/tailwindcss/pull/6233), [#6259](https://github.com/tailwindlabs/tailwindcss/pull/6259))
186
+ - Add CSS functions to data types ([#6258](https://github.com/tailwindlabs/tailwindcss/pull/6258))
187
+ - Support negative values for `scale-*` utilities ([c48e629](https://github.com/tailwindlabs/tailwindcss/commit/c48e629955585ad18dadba9f470fda59cc448ab7))
188
+ - Improve `length` data type, by validating each value individually ([#6283](https://github.com/tailwindlabs/tailwindcss/pull/6283))
189
+
190
+ ### Changed
191
+
192
+ - Deprecate `decoration-slice` and `decoration-break` in favor `box-decoration-slice` and `box-decoration-break` _(non-breaking)_ ([#6004](https://github.com/tailwindlabs/tailwindcss/pull/6004))
193
+
194
+ ## [3.0.0-alpha.2] - 2021-11-08
195
+
10
196
  ### Changed
11
197
 
12
198
  - Don't use pointer cursor on disabled buttons by default ([#5772](https://github.com/tailwindlabs/tailwindcss/pull/5772))
@@ -22,7 +208,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
22
208
  - Add all standard `cursor-*` values by default ([#5734](https://github.com/tailwindlabs/tailwindcss/pull/5734))
23
209
  - Add `grow-*` and `shrink-*` utilities, deprecate `flex-grow-*` and `flex-shrink-*` ([#5733](https://github.com/tailwindlabs/tailwindcss/pull/5733))
24
210
  - Add `text-decoration-color` utilities ([#5760](https://github.com/tailwindlabs/tailwindcss/pull/5760))
25
- - Add declarative `addVariant` syntax ([#5809](https://github.com/tailwindlabs/tailwindcss/pull/5809))
211
+ - Add new declarative `addVariant` API ([#5809](https://github.com/tailwindlabs/tailwindcss/pull/5809))
212
+ - Add first-class `print` variant for targeting printed media ([#5885](https://github.com/tailwindlabs/tailwindcss/pull/5885))
213
+ - Add `outline-style`, `outline-color`, `outline-width` and `outline-offset` utilities ([#5887](https://github.com/tailwindlabs/tailwindcss/pull/5887))
214
+ - Add full color palette for `fill-*` and `stroke-*` utilities (#5933[](https://github.com/tailwindlabs/tailwindcss/pull/5933))
215
+ - Add composable API for colored box shadows ([#5979](https://github.com/tailwindlabs/tailwindcss/pull/5979))
26
216
 
27
217
  ### Fixed
28
218
 
@@ -33,6 +223,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
33
223
  - Allow `_` inside `url()` when using arbitrary values ([#5853](https://github.com/tailwindlabs/tailwindcss/pull/5853))
34
224
  - Prevent crashes when using comments in `@layer` AtRules ([#5854](https://github.com/tailwindlabs/tailwindcss/pull/5854))
35
225
  - 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))
226
+ - Ensure `@apply`-ing a utility with multiple definitions works ([#5870](https://github.com/tailwindlabs/tailwindcss/pull/5870))
36
227
 
37
228
  ## [3.0.0-alpha.1] - 2021-10-01
38
229
 
@@ -73,6 +264,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
73
264
  - Fix using negated `content` globs ([#5625](https://github.com/tailwindlabs/tailwindcss/pull/5625))
74
265
  - Fix using backslashes in `content` globs ([#5628](https://github.com/tailwindlabs/tailwindcss/pull/5628))
75
266
 
267
+ ## [2.2.19] - 2021-10-29
268
+
269
+ ### Fixed
270
+
271
+ - Ensure `corePlugins` order is consisent in AOT mode ([#5928](https://github.com/tailwindlabs/tailwindcss/pull/5928))
272
+
76
273
  ## [2.2.18] - 2021-10-29
77
274
 
78
275
  ### Fixed
@@ -1643,8 +1840,29 @@ No release notes
1643
1840
 
1644
1841
  - Everything!
1645
1842
 
1646
- [unreleased]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.0-alpha.1...HEAD
1647
- [3.0.0-alpha.1]: https://github.com/tailwindlabs/tailwindcss/compare/v2.2.18...v3.0.0-alpha.1
1843
+ [unreleased]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.18...HEAD
1844
+ [3.0.18]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.17...v3.0.18
1845
+ [3.0.17]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.16...v3.0.17
1846
+ [3.0.16]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.15...v3.0.16
1847
+ [3.0.15]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.14...v3.0.15
1848
+ [3.0.14]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.13...v3.0.14
1849
+ [3.0.13]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.12...v3.0.13
1850
+ [3.0.12]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.11...v3.0.12
1851
+ [3.0.11]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.10...v3.0.11
1852
+ [3.0.10]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.9...v3.0.10
1853
+ [3.0.9]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.8...v3.0.9
1854
+ [3.0.8]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.7...v3.0.8
1855
+ [3.0.7]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.6...v3.0.7
1856
+ [3.0.6]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.5...v3.0.6
1857
+ [3.0.5]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.4...v3.0.5
1858
+ [3.0.4]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.3...v3.0.4
1859
+ [3.0.3]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.2...v3.0.3
1860
+ [3.0.2]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.1...v3.0.2
1861
+ [3.0.1]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.0...v3.0.1
1862
+ [3.0.0]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.0-alpha.2...v3.0.0
1863
+ [3.0.0-alpha.2]: https://github.com/tailwindlabs/tailwindcss/compare/v3.0.0-alpha.1...v3.0.0-alpha.2
1864
+ [3.0.0-alpha.1]: https://github.com/tailwindlabs/tailwindcss/compare/v2.2.19...v3.0.0-alpha.1
1865
+ [2.2.19]: https://github.com/tailwindlabs/tailwindcss/compare/v2.2.18...v2.2.19
1648
1866
  [2.2.18]: https://github.com/tailwindlabs/tailwindcss/compare/v2.2.17...v2.2.18
1649
1867
  [2.2.17]: https://github.com/tailwindlabs/tailwindcss/compare/v2.2.16...v2.2.17
1650
1868
  [2.2.16]: https://github.com/tailwindlabs/tailwindcss/compare/v2.2.15...v2.2.16
package/LICENSE CHANGED
@@ -1,7 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) Adam Wathan <adam.wathan@gmail.com>
4
- Copyright (c) Jonathan Reinink <jonathan@reinink.ca>
3
+ Copyright (c) Tailwind Labs, Inc.
5
4
 
6
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
7
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,10 +1,14 @@
1
1
  <p>
2
- <a href="https://tailwindcss.com/" target="_blank">
3
- <img alt="Tailwind CSS" width="350" src="https://refactoringui.nyc3.cdn.digitaloceanspaces.com/tailwind-logo-sticker.svg">
4
- </a><br>
5
- A utility-first CSS framework for rapidly building custom user interfaces.
2
+ <a href="https://tailwindcss.com/#gh-light-mode-only" target="_blank">
3
+ <img src="./.github/logo-light.svg" alt="Tailwind CSS" width="350" height="70">
4
+ </a>
5
+ <a href="https://tailwindcss.com/#gh-dark-mode-only" target="_blank">
6
+ <img src="./.github/logo-dark.svg" alt="Tailwind CSS" width="350" height="70">
7
+ </a>
6
8
  </p>
7
9
 
10
+ A utility-first CSS framework for rapidly building custom user interfaces.
11
+
8
12
  <p>
9
13
  <a href="https://github.com/tailwindlabs/tailwindcss/actions"><img src="https://img.shields.io/github/workflow/status/tailwindlabs/tailwindcss/Node.js%20CI" alt="Build Status"></a>
10
14
  <a href="https://www.npmjs.com/package/tailwindcss"><img src="https://img.shields.io/npm/dt/tailwindcss.svg" alt="Total Downloads"></a>
package/colors.js CHANGED
@@ -1 +1,2 @@
1
- module.exports = require('./lib/public/colors').default
1
+ let colors = require('./lib/public/colors')
2
+ module.exports = (colors.__esModule ? colors : { default: colors }).default
package/defaultConfig.js CHANGED
@@ -1 +1,2 @@
1
- module.exports = require('./lib/public/default-config').default
1
+ let defaultConfig = require('./lib/public/default-config')
2
+ module.exports = (defaultConfig.__esModule ? defaultConfig : { default: defaultConfig }).default
package/defaultTheme.js CHANGED
@@ -1 +1,2 @@
1
- module.exports = require('./lib/public/default-theme').default
1
+ let defaultTheme = require('./lib/public/default-theme')
2
+ module.exports = (defaultTheme.__esModule ? defaultTheme : { default: defaultTheme }).default
package/lib/cli.js CHANGED
@@ -40,7 +40,26 @@ function formatNodes(root) {
40
40
  root.first.raws.before = '';
41
41
  }
42
42
  }
43
- function help({ message , usage , commands , options }) {
43
+ async function outputFile(file, contents) {
44
+ if (_fs.default.existsSync(file) && await _fs.default.promises.readFile(file, 'utf8') === contents) {
45
+ return; // Skip writing the file
46
+ }
47
+ // Write the file
48
+ await _fs.default.promises.writeFile(file, contents, 'utf8');
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
+ }
62
+ function help({ message , usage , commands: commands1 , options }) {
44
63
  let indent = 2;
45
64
  // Render header
46
65
  console.log();
@@ -61,17 +80,16 @@ function help({ message , usage , commands , options }) {
61
80
  }
62
81
  }
63
82
  // Render commands
64
- if (commands && commands.length > 0) {
83
+ if (commands1 && commands1.length > 0) {
65
84
  console.log();
66
85
  console.log('Commands:');
67
- for (let command of commands){
68
- console.log(' '.repeat(indent), command);
86
+ for (let command1 of commands1){
87
+ console.log(' '.repeat(indent), command1);
69
88
  }
70
89
  }
71
90
  // Render options
72
91
  if (options) {
73
- let groupedOptions = {
74
- };
92
+ let groupedOptions = {};
75
93
  for (let [key, value] of Object.entries(options)){
76
94
  if (typeof value === 'object') {
77
95
  groupedOptions[key] = {
@@ -86,12 +104,12 @@ function help({ message , usage , commands , options }) {
86
104
  }
87
105
  console.log();
88
106
  console.log('Options:');
89
- for (let { flags , description , deprecated } of Object.values(groupedOptions)){
107
+ for (let { flags: flags1 , description , deprecated } of Object.values(groupedOptions)){
90
108
  if (deprecated) continue;
91
- if (flags.length === 1) {
92
- console.log(' '.repeat(indent + 4 /* 4 = "-i, ".length */ ), flags.slice().reverse().join(', ').padEnd(20, ' '), description);
109
+ if (flags1.length === 1) {
110
+ console.log(' '.repeat(indent + 4 /* 4 = "-i, ".length */ ), flags1.slice().reverse().join(', ').padEnd(20, ' '), description);
93
111
  } else {
94
- console.log(' '.repeat(indent), flags.slice().reverse().join(', ').padEnd(24, ' '), description);
112
+ console.log(' '.repeat(indent), flags1.slice().reverse().join(', ').padEnd(24, ' '), description);
95
113
  }
96
114
  }
97
115
  }
@@ -187,8 +205,8 @@ if (process.stdout.isTTY /* Detect redirecting output to a file */ && (process.
187
205
  'tailwindcss [--input input.css] [--output output.css] [--watch] [options...]',
188
206
  'tailwindcss init [--full] [--postcss] [options...]',
189
207
  ],
190
- commands: Object.keys(commands).filter((command)=>command !== 'build'
191
- ).map((command)=>`${command} [options]`
208
+ commands: Object.keys(commands).filter((command2)=>command2 !== 'build'
209
+ ).map((command3)=>`${command3} [options]`
192
210
  ),
193
211
  options: {
194
212
  ...commands.build.args,
@@ -210,8 +228,8 @@ if (commands[command] === undefined) {
210
228
  usage: [
211
229
  'tailwindcss <command> [options]'
212
230
  ],
213
- commands: Object.keys(commands).filter((command)=>command !== 'build'
214
- ).map((command)=>`${command} [options]`
231
+ commands: Object.keys(commands).filter((command4)=>command4 !== 'build'
232
+ ).map((command5)=>`${command5} [options]`
215
233
  ),
216
234
  options: sharedFlags
217
235
  });
@@ -247,16 +265,16 @@ let args = (()=>{
247
265
  handler = flags[handler];
248
266
  }
249
267
  if (!handler) continue;
250
- let args = [];
268
+ let args1 = [];
251
269
  let offset = i + 1;
252
270
  // Parse args for current flag
253
271
  while(result['_'][offset] && !result['_'][offset].startsWith('-')){
254
- args.push(result['_'][offset++]);
272
+ args1.push(result['_'][offset++]);
255
273
  }
256
274
  // Cleanup manually parsed flags + args
257
- result['_'].splice(i, 1 + args.length);
275
+ result['_'].splice(i, 1 + args1.length);
258
276
  // Set the resolved value in the `result` object
259
- result[flagName] = handler.type(args.length === 0 ? undefined : args.length === 1 ? args[0] : args, flagName);
277
+ result[flagName] = handler.type(args1.length === 0 ? undefined : args1.length === 1 ? args1[0] : args1, flagName);
260
278
  }
261
279
  // Ensure that the `command` is always the first argument in the `args`.
262
280
  // This is important so that we don't have to check if a default command
@@ -336,7 +354,7 @@ async function build() {
336
354
  console.error('[deprecation] Running tailwindcss without -i, please provide an input file.');
337
355
  input = args['--input'] = args['_'][1];
338
356
  }
339
- if (input && !_fs.default.existsSync(input = _path.default.resolve(input))) {
357
+ if (input && input !== '-' && !_fs.default.existsSync(input = _path.default.resolve(input))) {
340
358
  console.error(`Specified input file ${args['--input']} does not exist.`);
341
359
  process.exit(9);
342
360
  }
@@ -351,13 +369,11 @@ async function build() {
351
369
  let { plugins: configPlugins } = customPostCssPath ? await (async ()=>{
352
370
  let file = _path.default.resolve(customPostCssPath);
353
371
  // Implementation, see: https://unpkg.com/browse/postcss-load-config@3.0.1/src/index.js
354
- let { config ={
355
- } } = await (0, _cosmiconfig).cosmiconfig('postcss').load(file);
372
+ let { config ={} } = await (0, _cosmiconfig).cosmiconfig('postcss').load(file);
356
373
  if (typeof config === 'function') {
357
374
  config = config();
358
375
  } else {
359
- config = Object.assign({
360
- }, config);
376
+ config = Object.assign({}, config);
361
377
  }
362
378
  if (!config.plugins) {
363
379
  config.plugins = [];
@@ -383,9 +399,7 @@ async function build() {
383
399
  ];
384
400
  }
385
401
  function resolveConfig() {
386
- let config = configPath ? require(configPath) : {
387
- };
388
- let resolvedConfig = (0, _resolveConfig).default(config);
402
+ let config = configPath ? require(configPath) : {};
389
403
  if (args['--purge']) {
390
404
  _log.default.warn('purge-flag-deprecated', [
391
405
  'The `--purge` flag has been deprecated.',
@@ -396,9 +410,16 @@ async function build() {
396
410
  }
397
411
  }
398
412
  if (args['--content']) {
399
- 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;
400
421
  }
401
- return resolvedConfig;
422
+ return (0, _resolveConfig).default(config);
402
423
  }
403
424
  function extractFileGlobs(config) {
404
425
  return config.content.files.filter((file)=>{
@@ -463,8 +484,7 @@ async function build() {
463
484
  // Try to load a local `autoprefixer` version first
464
485
  try {
465
486
  return require('autoprefixer');
466
- } catch {
467
- }
487
+ } catch {}
468
488
  return (0, _indexJs).lazyAutoprefixer();
469
489
  })(),
470
490
  args['--minify'] && (()=>{
@@ -479,8 +499,7 @@ async function build() {
479
499
  // Try to load a local `cssnano` version first
480
500
  try {
481
501
  return require('cssnano');
482
- } catch {
483
- }
502
+ } catch {}
484
503
  return (0, _indexJs).lazyCssnano()(options);
485
504
  })(),
486
505
  ].filter(Boolean);
@@ -499,10 +518,8 @@ async function build() {
499
518
  return process.stdout.write(result.css);
500
519
  }
501
520
  return Promise.all([
502
- _fs.default.promises.writeFile(output, result.css, ()=>true
503
- ),
504
- result.map && _fs.default.writeFile(output + '.map', result.map.toString(), ()=>true
505
- ),
521
+ outputFile(output, result.css),
522
+ result.map && outputFile(output + '.map', result.map.toString()),
506
523
  ].filter(Boolean));
507
524
  }).then(()=>{
508
525
  let end = process.hrtime.bigint();
@@ -510,8 +527,19 @@ async function build() {
510
527
  console.error('Done in', (end - start) / BigInt(1000000) + 'ms.');
511
528
  });
512
529
  }
513
- let css = input ? _fs.default.readFileSync(_path.default.resolve(input), 'utf8') : '@tailwind base; @tailwind components; @tailwind utilities';
514
- return processCSS(css);
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
+ })();
542
+ return processCSS(css1);
515
543
  }
516
544
  let context = null;
517
545
  async function startWatcher() {
@@ -521,8 +549,8 @@ async function build() {
521
549
  let watcher = null;
522
550
  function refreshConfig() {
523
551
  env.DEBUG && console.time('Module dependencies');
524
- for (let file of configDependencies){
525
- delete require.cache[require.resolve(file)];
552
+ for (let file1 of configDependencies){
553
+ delete require.cache[require.resolve(file1)];
526
554
  }
527
555
  if (configPath) {
528
556
  configDependencies = (0, _getModuleDependencies).default(configPath).map(({ file })=>file
@@ -547,8 +575,7 @@ async function build() {
547
575
  // Try to load a local `autoprefixer` version first
548
576
  try {
549
577
  return require('autoprefixer');
550
- } catch {
551
- }
578
+ } catch {}
552
579
  return (0, _indexJs).lazyAutoprefixer();
553
580
  })(),
554
581
  args['--minify'] && (()=>{
@@ -563,8 +590,7 @@ async function build() {
563
590
  // Try to load a local `cssnano` version first
564
591
  try {
565
592
  return require('cssnano');
566
- } catch {
567
- }
593
+ } catch {}
568
594
  return (0, _indexJs).lazyCssnano()(options);
569
595
  })(),
570
596
  ].filter(Boolean);
@@ -619,11 +645,9 @@ async function build() {
619
645
  if (!output) {
620
646
  return process.stdout.write(result.css);
621
647
  }
622
- await Promise.all([
623
- _fs.default.promises.writeFile(output, result.css, ()=>true
624
- ),
625
- result.map && _fs.default.writeFile(output + '.map', result.map.toString(), ()=>true
626
- ),
648
+ return Promise.all([
649
+ outputFile(output, result.css),
650
+ result.map && outputFile(output + '.map', result.map.toString()),
627
651
  ].filter(Boolean));
628
652
  }).then(()=>{
629
653
  let end = process.hrtime.bigint();
@@ -636,18 +660,29 @@ async function build() {
636
660
  }
637
661
  });
638
662
  }
639
- let css = input ? _fs.default.readFileSync(_path.default.resolve(input), 'utf8') : '@tailwind base; @tailwind components; @tailwind utilities';
640
- let result1 = await processCSS(css);
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
+ })();
675
+ let result1 = await processCSS(css2);
641
676
  env.DEBUG && console.timeEnd('Finished in');
642
677
  return result1;
643
678
  }
644
- let config = refreshConfig(configPath);
679
+ let config1 = refreshConfig(configPath);
645
680
  if (input) {
646
681
  contextDependencies.add(_path.default.resolve(input));
647
682
  }
648
683
  watcher = _chokidar.default.watch([
649
684
  ...contextDependencies,
650
- ...extractFileGlobs(config)
685
+ ...extractFileGlobs(config1)
651
686
  ], {
652
687
  ignoreInitial: true,
653
688
  awaitWriteFinish: process.platform === 'win32' ? {
@@ -660,16 +695,16 @@ async function build() {
660
695
  if (contextDependencies.has(file)) {
661
696
  env.DEBUG && console.time('Resolve config');
662
697
  context = null;
663
- config = refreshConfig(configPath);
698
+ config1 = refreshConfig(configPath);
664
699
  env.DEBUG && console.timeEnd('Resolve config');
665
700
  env.DEBUG && console.time('Watch new files');
666
- let globs = extractFileGlobs(config);
701
+ let globs = extractFileGlobs(config1);
667
702
  watcher.add(configDependencies);
668
703
  watcher.add(globs);
669
704
  env.DEBUG && console.timeEnd('Watch new files');
670
705
  chain = chain.then(async ()=>{
671
- changedContent.push(...getChangedContent(config));
672
- await rebuild(config);
706
+ changedContent.push(...getChangedContent(config1));
707
+ await rebuild(config1);
673
708
  });
674
709
  } else {
675
710
  chain = chain.then(async ()=>{
@@ -677,7 +712,7 @@ async function build() {
677
712
  content: _fs.default.readFileSync(_path.default.resolve(file), 'utf8'),
678
713
  extension: _path.default.extname(file).slice(1)
679
714
  });
680
- await rebuild(config);
715
+ await rebuild(config1);
681
716
  });
682
717
  }
683
718
  });
@@ -687,12 +722,12 @@ async function build() {
687
722
  content: _fs.default.readFileSync(_path.default.resolve(file), 'utf8'),
688
723
  extension: _path.default.extname(file).slice(1)
689
724
  });
690
- await rebuild(config);
725
+ await rebuild(config1);
691
726
  });
692
727
  });
693
728
  chain = chain.then(()=>{
694
- changedContent.push(...getChangedContent(config));
695
- return rebuild(config);
729
+ changedContent.push(...getChangedContent(config1));
730
+ return rebuild(config1);
696
731
  });
697
732
  }
698
733
  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.simpleConfigStubFile = exports.defaultPostCssConfigFile = exports.defaultConfigStubFile = exports.supportedPostCssConfigFile = exports.cjsConfigFile = exports.supportedConfigFiles = exports.defaultPostCssConfigStubFile = exports.cli = exports.cjsPostCssConfigFile = exports.defaultConfigFile = void 0;
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 : {