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