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.
Files changed (65) hide show
  1. package/CHANGELOG.md +60 -1
  2. package/lib/cli.js +73 -74
  3. package/lib/constants.js +1 -1
  4. package/lib/corePluginList.js +7 -1
  5. package/lib/corePlugins.js +295 -228
  6. package/lib/css/preflight.css +12 -0
  7. package/lib/featureFlags.js +12 -9
  8. package/lib/lib/collapseDuplicateDeclarations.js +29 -0
  9. package/lib/lib/evaluateTailwindFunctions.js +3 -3
  10. package/lib/lib/expandApplyAtRules.js +7 -7
  11. package/lib/lib/expandTailwindAtRules.js +14 -26
  12. package/lib/lib/generateRules.js +170 -27
  13. package/lib/lib/normalizeTailwindDirectives.js +3 -2
  14. package/lib/lib/resolveDefaultsAtRules.js +44 -47
  15. package/lib/lib/setupContextUtils.js +192 -123
  16. package/lib/lib/setupTrackingContext.js +3 -3
  17. package/lib/lib/setupWatchingContext.js +8 -4
  18. package/lib/lib/sharedState.js +2 -12
  19. package/lib/processTailwindFeatures.js +4 -0
  20. package/lib/public/colors.js +4 -8
  21. package/lib/util/createUtilityPlugin.js +5 -5
  22. package/lib/util/dataTypes.js +24 -4
  23. package/lib/util/formatVariantSelector.js +102 -0
  24. package/lib/util/log.js +30 -18
  25. package/lib/util/nameClass.js +1 -1
  26. package/lib/util/negateValue.js +3 -1
  27. package/lib/util/normalizeConfig.js +208 -0
  28. package/lib/util/parseBoxShadowValue.js +77 -0
  29. package/lib/util/pluginUtils.js +62 -158
  30. package/lib/util/prefixSelector.js +1 -3
  31. package/lib/util/resolveConfig.js +18 -77
  32. package/lib/util/transformThemeValue.js +23 -13
  33. package/package.json +11 -11
  34. package/peers/index.js +955 -2671
  35. package/scripts/create-plugin-list.js +2 -2
  36. package/src/cli.js +19 -13
  37. package/src/corePluginList.js +1 -1
  38. package/src/corePlugins.js +303 -366
  39. package/src/css/preflight.css +12 -0
  40. package/src/featureFlags.js +12 -6
  41. package/src/lib/collapseDuplicateDeclarations.js +28 -0
  42. package/src/lib/expandTailwindAtRules.js +15 -29
  43. package/src/lib/generateRules.js +194 -19
  44. package/src/lib/normalizeTailwindDirectives.js +3 -2
  45. package/src/lib/resolveDefaultsAtRules.js +39 -43
  46. package/src/lib/setupContextUtils.js +183 -105
  47. package/src/lib/setupTrackingContext.js +3 -5
  48. package/src/lib/setupWatchingContext.js +10 -5
  49. package/src/lib/sharedState.js +1 -4
  50. package/src/processTailwindFeatures.js +5 -0
  51. package/src/public/colors.js +4 -9
  52. package/src/util/createUtilityPlugin.js +2 -2
  53. package/src/util/dataTypes.js +32 -5
  54. package/src/util/formatVariantSelector.js +105 -0
  55. package/src/util/log.js +18 -21
  56. package/src/util/nameClass.js +1 -1
  57. package/src/util/negateValue.js +4 -2
  58. package/src/util/normalizeConfig.js +249 -0
  59. package/src/util/parseBoxShadowValue.js +71 -0
  60. package/src/util/pluginUtils.js +50 -146
  61. package/src/util/prefixSelector.js +1 -4
  62. package/src/util/resolveConfig.js +11 -64
  63. package/src/util/transformThemeValue.js +22 -7
  64. package/stubs/defaultConfig.stub.js +134 -91
  65. 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/v2.2.16...HEAD
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 commands = {
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(commands).filter((command)=>command !== 'build'
190
+ commands: Object.keys(commands1).filter((command)=>command !== 'build'
191
191
  ).map((command)=>`${command} [options]`
192
192
  ),
193
193
  options: {
194
- ...commands.build.args,
194
+ ...commands1.build.args,
195
195
  ...sharedFlags
196
196
  }
197
197
  });
198
198
  process.exit(0);
199
199
  }
200
- let command = ((arg = '')=>arg.startsWith('-') ? undefined : arg
200
+ let command1 = ((arg = '')=>arg.startsWith('-') ? undefined : arg
201
201
  )(process.argv[2]) || 'build';
202
- if (commands[command] === undefined) {
203
- if (_fs.default.existsSync(_path.default.resolve(command))) {
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
- command = 'build';
206
+ command1 = 'build';
207
207
  } else {
208
208
  help({
209
- message: `Invalid command: ${command}`,
209
+ message: `Invalid command: ${command1}`,
210
210
  usage: [
211
211
  'tailwindcss <command> [options]'
212
212
  ],
213
- commands: Object.keys(commands).filter((command)=>command !== 'build'
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: flags , run } = commands[command];
223
- let args = (()=>{
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
- ...flags,
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 = flags[flag];
243
+ let handler = flags1[flag];
244
244
  // Resolve flagName & handler
245
245
  while(typeof handler === 'string'){
246
246
  flagName = handler;
247
- handler = flags[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] !== command) {
268
- result['_'].unshift(command);
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 (args['--help']) {
285
+ if (args1['--help']) {
286
286
  help({
287
287
  options: {
288
- ...flags,
288
+ ...flags1,
289
289
  ...sharedFlags
290
290
  },
291
291
  usage: [
292
- `tailwindcss ${command} [options]`
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 = args['_'][1]) !== null && ref !== void 0 ? ref : './tailwind.config.js');
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(args['--full'] ? _path.default.resolve(__dirname, '../stubs/defaultConfig.stub.js') : _path.default.resolve(__dirname, '../stubs/simpleConfig.stub.js'), 'utf8');
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 (args['--postcss']) {
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 = args['--input'];
331
- let output = args['--output'];
332
- let shouldWatch = args['--watch'];
333
- let includePostCss = args['--postcss'];
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 && args['_'][1]) {
335
+ if (!input && args1['_'][1]) {
336
336
  console.error('[deprecation] Running tailwindcss without -i, please provide an input file.');
337
- input = args['--input'] = args['_'][1];
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 ${args['--input']} does not exist.`);
340
+ console.error(`Specified input file ${args1['--input']} does not exist.`);
341
341
  process.exit(9);
342
342
  }
343
- if (args['--config'] && !_fs.default.existsSync(args['--config'] = _path.default.resolve(args['--config']))) {
344
- console.error(`Specified config file ${args['--config']} does not exist.`);
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 = args['--config'] ? args['--config'] : ((defaultPath)=>_fs.default.existsSync(defaultPath) ? defaultPath : null
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 args['--postcss'] === 'string' ? args['--postcss'] : undefined;
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 (args['--purge']) {
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 (!args['--content']) {
395
- args['--content'] = [
396
- '--purge'
397
- ];
394
+ if (!args1['--content']) {
395
+ args1['--content'] = args1['--purge'];
398
396
  }
399
397
  }
400
- if (args['--content']) {
401
- resolvedConfig.content = args['--content'].split(/(?<!{[^}]+),/);
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 extractContent(config).filter((file)=>{
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 extractContent(config).filter((file)=>{
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
- !args['--minify'] && formatNodes,
460
+ !args1['--minify'] && formatNodes,
466
461
  ...afterPlugins,
467
- !args['--no-autoprefixer'] && (()=>{
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
- args['--minify'] && (()=>{
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 css = input ? _fs.default.readFileSync(_path.default.resolve(input), 'utf8') : '@tailwind base; @tailwind components; @tailwind utilities';
519
- return processCSS(css);
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 file of configDependencies){
530
- delete require.cache[require.resolve(file)];
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
- !args['--minify'] && formatNodes,
544
+ !args1['--minify'] && formatNodes,
550
545
  ...afterPlugins,
551
- !args['--no-autoprefixer'] && (()=>{
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
- args['--minify'] && (()=>{
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 css = input ? _fs.default.readFileSync(_path.default.resolve(input), 'utf8') : '@tailwind base; @tailwind components; @tailwind utilities';
645
- let result1 = await processCSS(css);
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 config = refreshConfig(configPath);
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(config)
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
- config = refreshConfig(configPath);
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(config);
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(config));
673
- await rebuild(config);
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(config);
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(config);
690
+ await rebuild(config1);
692
691
  });
693
692
  });
694
693
  chain = chain.then(()=>{
695
- changedContent.push(...getChangedContent(config));
696
- return rebuild(config);
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.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 : {
@@ -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
- "outline",
138
+ "boxShadowColor",
139
+ "outlineStyle",
140
+ "outlineWidth",
141
+ "outlineOffset",
142
+ "outlineColor",
137
143
  "ringWidth",
138
144
  "ringColor",
139
145
  "ringOpacity",