tailwindcss 0.0.0-insiders.26c4cb3 → 0.0.0-insiders.2702cfc

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 (110) hide show
  1. package/README.md +4 -5
  2. package/lib/cli/build/deps.js +62 -0
  3. package/lib/cli/build/index.js +0 -3
  4. package/lib/cli/build/plugin.js +69 -127
  5. package/lib/cli/build/watching.js +2 -2
  6. package/lib/cli/help/index.js +2 -2
  7. package/lib/cli/index.js +3 -4
  8. package/lib/cli-peer-dependencies.js +36 -0
  9. package/lib/corePluginList.js +4 -1
  10. package/lib/corePlugins.js +332 -188
  11. package/lib/css/preflight.css +21 -10
  12. package/lib/featureFlags.js +9 -15
  13. package/lib/lib/content.js +68 -28
  14. package/lib/lib/defaultExtractor.js +56 -26
  15. package/lib/lib/evaluateTailwindFunctions.js +4 -4
  16. package/lib/lib/expandApplyAtRules.js +19 -0
  17. package/lib/lib/expandTailwindAtRules.js +24 -60
  18. package/lib/lib/generateRules.js +47 -27
  19. package/lib/lib/load-config.js +22 -3
  20. package/lib/lib/normalizeTailwindDirectives.js +15 -0
  21. package/lib/lib/offsets.js +53 -4
  22. package/lib/lib/resolveDefaultsAtRules.js +17 -17
  23. package/lib/lib/setupContextUtils.js +108 -80
  24. package/lib/lib/setupTrackingContext.js +2 -3
  25. package/lib/lib/substituteScreenAtRules.js +2 -2
  26. package/lib/plugin.js +0 -116
  27. package/lib/postcss-plugins/nesting/index.js +1 -1
  28. package/lib/postcss-plugins/nesting/plugin.js +2 -2
  29. package/lib/processTailwindFeatures.js +1 -3
  30. package/lib/public/colors.js +1 -1
  31. package/lib/util/applyImportantSelector.js +5 -3
  32. package/lib/util/cloneNodes.js +33 -13
  33. package/lib/util/color.js +4 -4
  34. package/lib/util/createUtilityPlugin.js +2 -2
  35. package/lib/util/dataTypes.js +92 -6
  36. package/lib/util/defaults.js +4 -4
  37. package/lib/util/escapeClassName.js +2 -2
  38. package/lib/util/formatVariantSelector.js +12 -7
  39. package/lib/util/getAllConfigs.js +2 -3
  40. package/lib/util/isPlainObject.js +1 -1
  41. package/lib/util/log.js +0 -17
  42. package/lib/util/normalizeConfig.js +29 -61
  43. package/lib/util/normalizeScreens.js +3 -3
  44. package/lib/util/parseAnimationValue.js +1 -1
  45. package/lib/util/parseGlob.js +1 -2
  46. package/lib/util/pluginUtils.js +22 -7
  47. package/lib/util/pseudoElements.js +3 -0
  48. package/lib/util/removeAlphaVariables.js +2 -0
  49. package/lib/util/resolveConfig.js +6 -10
  50. package/lib/util/resolveConfigPath.js +3 -1
  51. package/lib/util/splitAtTopLevelOnly.js +1 -5
  52. package/lib/util/validateConfig.js +0 -11
  53. package/lib/util/withAlphaVariable.js +3 -3
  54. package/nesting/index.d.ts +4 -0
  55. package/package.json +50 -45
  56. package/peers/index.js +97869 -0
  57. package/resolveConfig.d.ts +22 -3
  58. package/scripts/generate-types.js +1 -2
  59. package/src/cli/build/deps.js +56 -0
  60. package/src/cli/build/index.js +0 -4
  61. package/src/cli/build/plugin.js +59 -87
  62. package/src/cli/build/watching.js +1 -1
  63. package/src/cli/index.js +0 -1
  64. package/src/cli-peer-dependencies.js +15 -0
  65. package/src/corePluginList.js +1 -1
  66. package/src/corePlugins.js +187 -57
  67. package/src/css/preflight.css +21 -10
  68. package/src/featureFlags.js +3 -9
  69. package/src/lib/content.js +88 -33
  70. package/src/lib/defaultExtractor.js +56 -18
  71. package/src/lib/expandApplyAtRules.js +24 -0
  72. package/src/lib/expandTailwindAtRules.js +20 -57
  73. package/src/lib/generateRules.js +43 -22
  74. package/src/lib/load-config.ts +24 -0
  75. package/src/lib/normalizeTailwindDirectives.js +27 -0
  76. package/src/lib/offsets.js +62 -3
  77. package/src/lib/resolveDefaultsAtRules.js +16 -14
  78. package/src/lib/setupContextUtils.js +79 -39
  79. package/src/plugin.js +0 -86
  80. package/src/processTailwindFeatures.js +0 -3
  81. package/src/util/applyImportantSelector.js +5 -6
  82. package/src/util/cloneNodes.js +35 -14
  83. package/src/util/color.js +1 -1
  84. package/src/util/dataTypes.js +108 -6
  85. package/src/util/formatVariantSelector.js +7 -0
  86. package/src/util/isPlainObject.js +1 -1
  87. package/src/util/log.js +0 -24
  88. package/src/util/normalizeConfig.js +12 -41
  89. package/src/util/parseAnimationValue.js +1 -1
  90. package/src/util/parseGlob.js +1 -2
  91. package/src/util/pluginUtils.js +21 -1
  92. package/src/util/pseudoElements.js +4 -0
  93. package/src/util/removeAlphaVariables.js +2 -0
  94. package/src/util/resolveConfigPath.js +2 -0
  95. package/src/util/splitAtTopLevelOnly.js +1 -5
  96. package/src/util/validateConfig.js +0 -10
  97. package/src/util/withAlphaVariable.js +2 -2
  98. package/stubs/config.full.js +75 -16
  99. package/stubs/config.simple.js +1 -1
  100. package/stubs/postcss.config.cjs +1 -0
  101. package/stubs/postcss.config.js +1 -0
  102. package/types/config.d.ts +18 -8
  103. package/types/generated/corePluginList.d.ts +1 -1
  104. package/types/generated/default-theme.d.ts +34 -9
  105. package/types/index.d.ts +7 -3
  106. package/index.css +0 -5
  107. package/lib/lib/detectNesting.js +0 -45
  108. package/lib/lib/handleImportAtRules.js +0 -50
  109. package/src/lib/detectNesting.js +0 -47
  110. package/src/lib/handleImportAtRules.js +0 -34
package/README.md CHANGED
@@ -12,15 +12,14 @@
12
12
  A utility-first CSS framework for rapidly building custom user interfaces.
13
13
  </p>
14
14
 
15
-
16
15
  <p align="center">
17
- <a href="https://github.com/tailwindlabs/tailwindcss/actions"><img src="https://img.shields.io/github/actions/workflow/status/tailwindlabs/tailwindcss/ci.yml?branch=master" alt="Build Status"></a>
16
+ <a href="https://github.com/tailwindlabs/tailwindcss/actions"><img src="https://img.shields.io/github/actions/workflow/status/tailwindlabs/tailwindcss/ci.yml?branch=main" alt="Build Status"></a>
18
17
  <a href="https://www.npmjs.com/package/tailwindcss"><img src="https://img.shields.io/npm/dt/tailwindcss.svg" alt="Total Downloads"></a>
19
18
  <a href="https://github.com/tailwindcss/tailwindcss/releases"><img src="https://img.shields.io/npm/v/tailwindcss.svg" alt="Latest Release"></a>
20
- <a href="https://github.com/tailwindcss/tailwindcss/blob/master/LICENSE"><img src="https://img.shields.io/npm/l/tailwindcss.svg" alt="License"></a>
19
+ <a href="https://github.com/tailwindcss/tailwindcss/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/tailwindcss.svg" alt="License"></a>
21
20
  </p>
22
21
 
23
- ------
22
+ ---
24
23
 
25
24
  ## Documentation
26
25
 
@@ -38,4 +37,4 @@ For casual chit-chat with others using the framework:
38
37
 
39
38
  ## Contributing
40
39
 
41
- If you're interested in contributing to Tailwind CSS, please read our [contributing docs](https://github.com/tailwindcss/tailwindcss/blob/master/.github/CONTRIBUTING.md) **before submitting a pull request**.
40
+ If you're interested in contributing to Tailwind CSS, please read our [contributing docs](https://github.com/tailwindcss/tailwindcss/blob/main/.github/CONTRIBUTING.md) **before submitting a pull request**.
@@ -0,0 +1,62 @@
1
+ // @ts-check
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ function _export(target, all) {
7
+ for(var name in all)Object.defineProperty(target, name, {
8
+ enumerable: true,
9
+ get: all[name]
10
+ });
11
+ }
12
+ _export(exports, {
13
+ loadPostcss: function() {
14
+ return loadPostcss;
15
+ },
16
+ loadPostcssImport: function() {
17
+ return loadPostcssImport;
18
+ },
19
+ loadCssNano: function() {
20
+ return loadCssNano;
21
+ },
22
+ loadAutoprefixer: function() {
23
+ return loadAutoprefixer;
24
+ }
25
+ });
26
+ const _index = require("../../../peers/index.js");
27
+ function loadPostcss() {
28
+ // Try to load a local `postcss` version first
29
+ try {
30
+ return require("postcss");
31
+ } catch {}
32
+ return (0, _index.lazyPostcss)();
33
+ }
34
+ function loadPostcssImport() {
35
+ // Try to load a local `postcss-import` version first
36
+ try {
37
+ return require("postcss-import");
38
+ } catch {}
39
+ return (0, _index.lazyPostcssImport)();
40
+ }
41
+ function loadCssNano() {
42
+ let options = {
43
+ preset: [
44
+ "default",
45
+ {
46
+ cssDeclarationSorter: false
47
+ }
48
+ ]
49
+ };
50
+ // Try to load a local `cssnano` version first
51
+ try {
52
+ return require("cssnano");
53
+ } catch {}
54
+ return (0, _index.lazyCssnano)()(options);
55
+ }
56
+ function loadAutoprefixer() {
57
+ // Try to load a local `autoprefixer` version first
58
+ try {
59
+ return require("autoprefixer");
60
+ } catch {}
61
+ return (0, _index.lazyAutoprefixer)();
62
+ }
@@ -34,9 +34,6 @@ async function build(args) {
34
34
  console.error(`Specified config file ${args["--config"]} does not exist.`);
35
35
  process.exit(9);
36
36
  }
37
- if (args["--no-autoprefixer"]) {
38
- console.error("[deprecation] The --no-autoprefixer flag is deprecated and has no effect.");
39
- }
40
37
  // TODO: Reference the @config path here if exists
41
38
  let configPath = args["--config"] ? args["--config"] : (0, _resolveConfigPath.resolveDefaultConfigPath)();
42
39
  let processor = await (0, _plugin.createProcessor)(args, configPath);
@@ -9,19 +9,16 @@ Object.defineProperty(exports, "createProcessor", {
9
9
  return createProcessor;
10
10
  }
11
11
  });
12
- const _packagejson = /*#__PURE__*/ _interop_require_default(require("../../../package.json"));
13
12
  const _path = /*#__PURE__*/ _interop_require_default(require("path"));
14
13
  const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
15
- const _postcss = /*#__PURE__*/ _interop_require_default(require("postcss"));
16
14
  const _postcssloadconfig = /*#__PURE__*/ _interop_require_default(require("postcss-load-config"));
17
- const _browserslist = /*#__PURE__*/ _interop_require_default(require("browserslist"));
18
- const _lightningcss = /*#__PURE__*/ _interop_require_wildcard(require("lightningcss"));
19
15
  const _lilconfig = require("lilconfig");
20
16
  const _plugins = /*#__PURE__*/ _interop_require_default(require("postcss-load-config/src/plugins" // Little bit scary, looking at private/internal API
21
17
  ));
22
18
  const _options = /*#__PURE__*/ _interop_require_default(require("postcss-load-config/src/options" // Little bit scary, looking at private/internal API
23
19
  ));
24
20
  const _processTailwindFeatures = /*#__PURE__*/ _interop_require_default(require("../../processTailwindFeatures"));
21
+ const _deps = require("./deps");
25
22
  const _utils = require("./utils");
26
23
  const _sharedState = require("../../lib/sharedState");
27
24
  const _resolveConfig = /*#__PURE__*/ _interop_require_default(require("../../../resolveConfig.js"));
@@ -32,91 +29,11 @@ const _findAtConfigPath = require("../../lib/findAtConfigPath.js");
32
29
  const _log = /*#__PURE__*/ _interop_require_default(require("../../util/log"));
33
30
  const _loadconfig = require("../../lib/load-config");
34
31
  const _getModuleDependencies = /*#__PURE__*/ _interop_require_default(require("../../lib/getModuleDependencies"));
35
- const _validateConfig = require("../../util/validateConfig");
36
- const _handleImportAtRules = require("../../lib/handleImportAtRules");
37
- const _featureFlags = require("../../featureFlags");
38
32
  function _interop_require_default(obj) {
39
33
  return obj && obj.__esModule ? obj : {
40
34
  default: obj
41
35
  };
42
36
  }
43
- function _getRequireWildcardCache(nodeInterop) {
44
- if (typeof WeakMap !== "function") return null;
45
- var cacheBabelInterop = new WeakMap();
46
- var cacheNodeInterop = new WeakMap();
47
- return (_getRequireWildcardCache = function(nodeInterop) {
48
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
49
- })(nodeInterop);
50
- }
51
- function _interop_require_wildcard(obj, nodeInterop) {
52
- if (!nodeInterop && obj && obj.__esModule) {
53
- return obj;
54
- }
55
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
56
- return {
57
- default: obj
58
- };
59
- }
60
- var cache = _getRequireWildcardCache(nodeInterop);
61
- if (cache && cache.has(obj)) {
62
- return cache.get(obj);
63
- }
64
- var newObj = {};
65
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
66
- for(var key in obj){
67
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
68
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
69
- if (desc && (desc.get || desc.set)) {
70
- Object.defineProperty(newObj, key, desc);
71
- } else {
72
- newObj[key] = obj[key];
73
- }
74
- }
75
- }
76
- newObj.default = obj;
77
- if (cache) {
78
- cache.set(obj, newObj);
79
- }
80
- return newObj;
81
- }
82
- function license() {
83
- return `/* ! tailwindcss v${_packagejson.default.version} | MIT License | https://tailwindcss.com */\n`;
84
- }
85
- async function lightningcss(result, { map = true, minify = true } = {}) {
86
- try {
87
- var _browserslist_findConfig;
88
- var _result_opts_from;
89
- let resolvedBrowsersListConfig = (_browserslist_findConfig = _browserslist.default.findConfig((_result_opts_from = result.opts.from) !== null && _result_opts_from !== void 0 ? _result_opts_from : process.cwd())) === null || _browserslist_findConfig === void 0 ? void 0 : _browserslist_findConfig.defaults;
90
- let defaultBrowsersListConfig = _packagejson.default.browserslist;
91
- let browsersListConfig = resolvedBrowsersListConfig !== null && resolvedBrowsersListConfig !== void 0 ? resolvedBrowsersListConfig : defaultBrowsersListConfig;
92
- let transformed = _lightningcss.default.transform({
93
- filename: result.opts.from || "input.css",
94
- code: Buffer.from(result.css, "utf-8"),
95
- minify,
96
- sourceMap: result.map === undefined ? map : !!result.map,
97
- inputSourceMap: result.map ? result.map.toString() : undefined,
98
- targets: _lightningcss.default.browserslistToTargets((0, _browserslist.default)(browsersListConfig)),
99
- drafts: {
100
- nesting: true
101
- },
102
- include: _lightningcss.Features.Nesting,
103
- exclude: _lightningcss.Features.LogicalProperties
104
- });
105
- return Object.assign(result, {
106
- css: transformed.code.toString("utf8"),
107
- map: result.map ? Object.assign(result.map, {
108
- toString () {
109
- var _transformed_map;
110
- return (_transformed_map = transformed.map) === null || _transformed_map === void 0 ? void 0 : _transformed_map.toString();
111
- }
112
- }) : result.map
113
- });
114
- } catch (err) {
115
- console.error("Unable to use Lightning CSS. Using raw version instead.");
116
- console.error(err);
117
- return result;
118
- }
119
- }
120
37
  /**
121
38
  *
122
39
  * @param {string} [customPostCssPath ]
@@ -126,7 +43,7 @@ async function lightningcss(result, { map = true, minify = true } = {}) {
126
43
  let file = _path.default.resolve(customPostCssPath);
127
44
  // Implementation, see: https://unpkg.com/browse/postcss-load-config@3.1.0/src/index.js
128
45
  // @ts-ignore
129
- let { config = {} } = await (0, _lilconfig.lilconfig)("postcss").load(file);
46
+ let { config ={} } = await (0, _lilconfig.lilconfig)("postcss").load(file);
130
47
  if (typeof config === "function") {
131
48
  config = config();
132
49
  } else {
@@ -159,11 +76,43 @@ async function lightningcss(result, { map = true, minify = true } = {}) {
159
76
  config.options
160
77
  ];
161
78
  }
79
+ function loadBuiltinPostcssPlugins() {
80
+ let postcss = (0, _deps.loadPostcss)();
81
+ let IMPORT_COMMENT = "__TAILWIND_RESTORE_IMPORT__: ";
82
+ return [
83
+ [
84
+ (root)=>{
85
+ root.walkAtRules("import", (rule)=>{
86
+ if (rule.params.slice(1).startsWith("tailwindcss/")) {
87
+ rule.after(postcss.comment({
88
+ text: IMPORT_COMMENT + rule.params
89
+ }));
90
+ rule.remove();
91
+ }
92
+ });
93
+ },
94
+ (0, _deps.loadPostcssImport)(),
95
+ (root)=>{
96
+ root.walkComments((rule)=>{
97
+ if (rule.text.startsWith(IMPORT_COMMENT)) {
98
+ rule.after(postcss.atRule({
99
+ name: "import",
100
+ params: rule.text.replace(IMPORT_COMMENT, "")
101
+ }));
102
+ rule.remove();
103
+ }
104
+ });
105
+ }
106
+ ],
107
+ [],
108
+ {}
109
+ ];
110
+ }
162
111
  let state = {
163
112
  /** @type {any} */ context: null,
164
113
  /** @type {ReturnType<typeof createWatcher> | null} */ watcher: null,
165
114
  /** @type {{content: string, extension: string}[]} */ changedContent: [],
166
- /** @type {{config: import('../../../types').Config, dependencies: Set<string>, dispose: Function } | null} */ configBag: null,
115
+ /** @type {ReturnType<typeof load> | null} */ configBag: null,
167
116
  contextDependencies: new Set(),
168
117
  /** @type {import('../../lib/content.js').ContentPath[]} */ contentPaths: [],
169
118
  refreshContentPaths () {
@@ -180,7 +129,6 @@ let state = {
180
129
  };
181
130
  },
182
131
  loadConfig (configPath, content) {
183
- var _content;
184
132
  if (this.watcher && configPath) {
185
133
  this.refreshConfigDependencies();
186
134
  }
@@ -195,9 +143,14 @@ let state = {
195
143
  }
196
144
  }
197
145
  };
198
- this.configBag.config = (0, _validateConfig.validateConfig)((0, _resolveConfig.default)(this.configBag.config));
146
+ // @ts-ignore
147
+ this.configBag.config = (0, _resolveConfig.default)(this.configBag.config, {
148
+ content: {
149
+ files: []
150
+ }
151
+ });
199
152
  // Override content files if `--content` has been passed explicitly
200
- if (((_content = content) === null || _content === void 0 ? void 0 : _content.length) > 0) {
153
+ if ((content === null || content === void 0 ? void 0 : content.length) > 0) {
201
154
  this.configBag.config.content.files = content;
202
155
  }
203
156
  return this.configBag.config;
@@ -213,24 +166,19 @@ let state = {
213
166
  // Resolve globs from the content config
214
167
  // TODO: When we make the postcss plugin async-capable this can become async
215
168
  let files = _fastglob.default.sync(this.contentPatterns.all);
169
+ let checkBroadPattern = (0, _content.createBroadPatternCheck)(this.contentPatterns.all);
216
170
  for (let file of files){
217
- if ((0, _featureFlags.flagEnabled)(this.config, "oxideParser")) {
218
- content.push({
219
- file,
220
- extension: _path.default.extname(file).slice(1)
221
- });
222
- } else {
223
- content.push({
224
- content: _fs.default.readFileSync(_path.default.resolve(file), "utf8"),
225
- extension: _path.default.extname(file).slice(1)
226
- });
227
- }
171
+ checkBroadPattern(file);
172
+ content.push({
173
+ content: _fs.default.readFileSync(_path.default.resolve(file), "utf8"),
174
+ extension: _path.default.extname(file).slice(1)
175
+ });
228
176
  }
229
177
  // Resolve raw content in the tailwind config
230
178
  let rawContent = this.config.content.files.filter((file)=>{
231
179
  return file !== null && typeof file === "object";
232
180
  });
233
- for (let { raw: htmlContent, extension = "html" } of rawContent){
181
+ for (let { raw: htmlContent , extension ="html" } of rawContent){
234
182
  content.push({
235
183
  content: htmlContent,
236
184
  extension
@@ -238,15 +186,15 @@ let state = {
238
186
  }
239
187
  return content;
240
188
  },
241
- getContext ({ createContext, cliConfigPath, root, result, content }) {
242
- if (this.context) {
243
- this.context.changedContent = this.changedContent.splice(0);
244
- return this.context;
245
- }
189
+ getContext ({ createContext , cliConfigPath , root , result , content }) {
246
190
  _sharedState.env.DEBUG && console.time("Searching for config");
247
191
  var _findAtConfigPath1;
248
192
  let configPath = (_findAtConfigPath1 = (0, _findAtConfigPath.findAtConfigPath)(root, result)) !== null && _findAtConfigPath1 !== void 0 ? _findAtConfigPath1 : cliConfigPath;
249
193
  _sharedState.env.DEBUG && console.timeEnd("Searching for config");
194
+ if (this.context) {
195
+ this.context.changedContent = this.changedContent.splice(0);
196
+ return this.context;
197
+ }
250
198
  _sharedState.env.DEBUG && console.time("Loading config");
251
199
  let config = this.loadConfig(configPath, content);
252
200
  _sharedState.env.DEBUG && console.timeEnd("Loading config");
@@ -272,16 +220,12 @@ let state = {
272
220
  };
273
221
  async function createProcessor(args, cliConfigPath) {
274
222
  var _args_content;
223
+ let postcss = (0, _deps.loadPostcss)();
275
224
  let input = args["--input"];
276
225
  let output = args["--output"];
277
226
  let includePostCss = args["--postcss"];
278
227
  let customPostCssPath = typeof args["--postcss"] === "string" ? args["--postcss"] : undefined;
279
- let [beforePlugins, afterPlugins, postcssOptions] = includePostCss ? await loadPostCssPlugins(customPostCssPath) : [
280
- [],
281
- [],
282
- {}
283
- ];
284
- beforePlugins.unshift(...(0, _handleImportAtRules.handleImportAtRules)());
228
+ let [beforePlugins, afterPlugins, postcssOptions] = includePostCss ? await loadPostCssPlugins(customPostCssPath) : loadBuiltinPostcssPlugins();
285
229
  if (args["--purge"]) {
286
230
  _log.default.warn("purge-flag-deprecated", [
287
231
  "The `--purge` flag has been deprecated.",
@@ -296,9 +240,9 @@ async function createProcessor(args, cliConfigPath) {
296
240
  let tailwindPlugin = ()=>{
297
241
  return {
298
242
  postcssPlugin: "tailwindcss",
299
- async Once (root, { result }) {
243
+ async Once (root, { result }) {
300
244
  _sharedState.env.DEBUG && console.time("Compiling CSS");
301
- await (0, _processTailwindFeatures.default)(({ createContext })=>{
245
+ await (0, _processTailwindFeatures.default)(({ createContext })=>{
302
246
  console.error();
303
247
  console.error("Rebuilding...");
304
248
  return ()=>{
@@ -320,10 +264,12 @@ async function createProcessor(args, cliConfigPath) {
320
264
  ...beforePlugins,
321
265
  tailwindPlugin,
322
266
  !args["--minify"] && _utils.formatNodes,
323
- ...afterPlugins
267
+ ...afterPlugins,
268
+ !args["--no-autoprefixer"] && (0, _deps.loadAutoprefixer)(),
269
+ args["--minify"] && (0, _deps.loadCssNano)()
324
270
  ].filter(Boolean);
325
271
  /** @type {import('postcss').Processor} */ // @ts-ignore
326
- let processor = (0, _postcss.default)(plugins);
272
+ let processor = postcss(plugins);
327
273
  async function readInput() {
328
274
  // Piping in data, let's drain the stdin
329
275
  if (input === "-") {
@@ -333,19 +279,15 @@ async function createProcessor(args, cliConfigPath) {
333
279
  if (input) {
334
280
  return _fs.default.promises.readFile(_path.default.resolve(input), "utf8");
335
281
  }
336
- // No input file provided, fallback to default atrules
282
+ // No input file provided, fallback to default at-rules
337
283
  return "@tailwind base; @tailwind components; @tailwind utilities";
338
284
  }
339
285
  async function build() {
340
286
  let start = process.hrtime.bigint();
341
- let options = {
342
- ...postcssOptions,
343
- from: input,
344
- to: output
345
- };
346
- return readInput().then((css)=>processor.process(css, options)).then((result)=>lightningcss(result, {
347
- ...options,
348
- minify: !!args["--minify"]
287
+ return readInput().then((css)=>processor.process(css, {
288
+ ...postcssOptions,
289
+ from: input,
290
+ to: output
349
291
  })).then((result)=>{
350
292
  if (!state.watcher) {
351
293
  return result;
@@ -364,11 +306,11 @@ async function createProcessor(args, cliConfigPath) {
364
306
  return result;
365
307
  }).then((result)=>{
366
308
  if (!output) {
367
- process.stdout.write(license() + result.css);
309
+ process.stdout.write(result.css);
368
310
  return;
369
311
  }
370
312
  return Promise.all([
371
- (0, _utils.outputFile)(result.opts.to, license() + result.css),
313
+ (0, _utils.outputFile)(result.opts.to, result.css),
372
314
  result.map && (0, _utils.outputFile)(result.opts.to + ".map", result.map.toString())
373
315
  ]);
374
316
  }).then(()=>{
@@ -20,7 +20,7 @@ function _interop_require_default(obj) {
20
20
  default: obj
21
21
  };
22
22
  }
23
- function createWatcher(args, { state, rebuild }) {
23
+ function createWatcher(args, { state , rebuild }) {
24
24
  let shouldPoll = args["--poll"];
25
25
  let shouldCoalesceWriteEvents = shouldPoll || process.platform === "win32";
26
26
  // Polling interval in milliseconds
@@ -126,7 +126,7 @@ function createWatcher(args, { state, rebuild }) {
126
126
  // This is very likely a chokidar bug but it's one we need to work around
127
127
  // We treat this as a change event and rebuild the CSS
128
128
  watcher.on("raw", (evt, filePath, meta)=>{
129
- if (evt !== "rename") {
129
+ if (evt !== "rename" || filePath === null) {
130
130
  return;
131
131
  }
132
132
  let watchedPath = meta.watchedPath;
@@ -15,7 +15,7 @@ function _interop_require_default(obj) {
15
15
  default: obj
16
16
  };
17
17
  }
18
- function help({ message, usage, commands, options }) {
18
+ function help({ message , usage , commands , options }) {
19
19
  let indent = 2;
20
20
  // Render header
21
21
  console.log();
@@ -60,7 +60,7 @@ function help({ message, usage, commands, options }) {
60
60
  }
61
61
  console.log();
62
62
  console.log("Options:");
63
- for (let { flags, description, deprecated } of Object.values(groupedOptions)){
63
+ for (let { flags , description , deprecated } of Object.values(groupedOptions)){
64
64
  if (deprecated) continue;
65
65
  if (flags.length === 1) {
66
66
  console.log(" ".repeat(indent + 4 /* 4 = "-i, ".length */ ), flags.slice().reverse().join(", ").padEnd(20, " "), description);
package/lib/cli/index.js CHANGED
@@ -91,7 +91,6 @@ let commands = {
91
91
  description: "Path to a custom config file"
92
92
  },
93
93
  "--no-autoprefixer": {
94
- deprecated: true,
95
94
  type: Boolean,
96
95
  description: "Disable autoprefixer"
97
96
  },
@@ -144,15 +143,15 @@ if (commands[command] === undefined) {
144
143
  }
145
144
  }
146
145
  // Execute command
147
- let { args: flags, run } = commands[command];
146
+ let { args: flags , run } = commands[command];
148
147
  let args = (()=>{
149
148
  try {
150
149
  let result = (0, _arg.default)(Object.fromEntries(Object.entries({
151
150
  ...flags,
152
151
  ...sharedFlags
153
152
  }).filter(([_key, value])=>{
154
- var _value_type, _value;
155
- return !((_value = value) === null || _value === void 0 ? void 0 : (_value_type = _value.type) === null || _value_type === void 0 ? void 0 : _value_type.manualParsing);
153
+ var _value_type;
154
+ return !(value === null || value === void 0 ? void 0 : (_value_type = value.type) === null || _value_type === void 0 ? void 0 : _value_type.manualParsing);
156
155
  }).map(([key, value])=>[
157
156
  key,
158
157
  typeof value === "object" ? value.type : value
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ lazyPostcss: function() {
13
+ return lazyPostcss;
14
+ },
15
+ lazyPostcssImport: function() {
16
+ return lazyPostcssImport;
17
+ },
18
+ lazyAutoprefixer: function() {
19
+ return lazyAutoprefixer;
20
+ },
21
+ lazyCssnano: function() {
22
+ return lazyCssnano;
23
+ }
24
+ });
25
+ function lazyPostcss() {
26
+ return require("postcss");
27
+ }
28
+ function lazyPostcssImport() {
29
+ return require("postcss-import");
30
+ }
31
+ function lazyAutoprefixer() {
32
+ return require("autoprefixer");
33
+ }
34
+ function lazyCssnano() {
35
+ return require("cssnano");
36
+ }
@@ -32,6 +32,7 @@ const _default = [
32
32
  "lineClamp",
33
33
  "display",
34
34
  "aspectRatio",
35
+ "size",
35
36
  "height",
36
37
  "maxHeight",
37
38
  "minHeight",
@@ -184,5 +185,7 @@ const _default = [
184
185
  "transitionDuration",
185
186
  "transitionTimingFunction",
186
187
  "willChange",
187
- "content"
188
+ "contain",
189
+ "content",
190
+ "forcedColorAdjust"
188
191
  ];