tailwindcss 0.0.0-insiders.cf21d57 → 0.0.0-insiders.cfc853b

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 (180) hide show
  1. package/README.md +1 -1
  2. package/index.css +5 -0
  3. package/lib/cli/build/index.js +13 -8
  4. package/lib/cli/build/plugin.js +137 -82
  5. package/lib/cli/build/utils.js +18 -8
  6. package/lib/cli/build/watching.js +13 -11
  7. package/lib/cli/help/index.js +8 -6
  8. package/lib/cli/index.js +8 -7
  9. package/lib/cli/init/index.js +8 -6
  10. package/lib/cli.js +1 -5
  11. package/lib/corePluginList.js +4 -1
  12. package/lib/corePlugins.js +247 -186
  13. package/lib/css/preflight.css +7 -1
  14. package/lib/featureFlags.js +28 -21
  15. package/lib/index.js +1 -5
  16. package/lib/lib/cacheInvalidation.js +7 -5
  17. package/lib/lib/collapseAdjacentRules.js +3 -1
  18. package/lib/lib/collapseDuplicateDeclarations.js +10 -8
  19. package/lib/lib/content.js +46 -16
  20. package/lib/lib/defaultExtractor.js +6 -4
  21. package/lib/lib/detectNesting.js +3 -1
  22. package/lib/lib/evaluateTailwindFunctions.js +24 -20
  23. package/lib/lib/expandApplyAtRules.js +39 -32
  24. package/lib/lib/expandTailwindAtRules.js +72 -29
  25. package/lib/lib/findAtConfigPath.js +6 -4
  26. package/lib/lib/generateRules.js +63 -52
  27. package/lib/lib/getModuleDependencies.js +10 -8
  28. package/lib/lib/handleImportAtRules.js +50 -0
  29. package/lib/lib/load-config.js +14 -8
  30. package/lib/lib/normalizeTailwindDirectives.js +5 -18
  31. package/lib/lib/offsets.js +9 -7
  32. package/lib/lib/partitionApplyAtRules.js +3 -1
  33. package/lib/lib/regex.js +21 -7
  34. package/lib/lib/remap-bitfield.js +3 -1
  35. package/lib/lib/resolveDefaultsAtRules.js +25 -21
  36. package/lib/lib/setupContextUtils.js +134 -109
  37. package/lib/lib/setupTrackingContext.js +29 -25
  38. package/lib/lib/sharedState.js +29 -28
  39. package/lib/lib/substituteScreenAtRules.js +7 -5
  40. package/lib/plugin.js +95 -29
  41. package/lib/postcss-plugins/nesting/index.js +4 -2
  42. package/lib/postcss-plugins/nesting/plugin.js +10 -8
  43. package/lib/processTailwindFeatures.js +17 -15
  44. package/lib/public/colors.js +6 -4
  45. package/lib/public/create-plugin.js +5 -3
  46. package/lib/public/default-config.js +6 -4
  47. package/lib/public/default-theme.js +6 -4
  48. package/lib/public/load-config.js +5 -3
  49. package/lib/public/resolve-config.js +6 -4
  50. package/lib/util/applyImportantSelector.js +27 -13
  51. package/lib/util/bigSign.js +3 -1
  52. package/lib/util/buildMediaQuery.js +3 -1
  53. package/lib/util/cloneDeep.js +3 -1
  54. package/lib/util/cloneNodes.js +3 -1
  55. package/lib/util/color.js +13 -9
  56. package/lib/util/colorNames.js +752 -0
  57. package/lib/util/configurePlugins.js +3 -1
  58. package/lib/util/createPlugin.js +3 -1
  59. package/lib/util/createUtilityPlugin.js +7 -5
  60. package/lib/util/dataTypes.js +120 -28
  61. package/lib/util/defaults.js +9 -7
  62. package/lib/util/escapeClassName.js +9 -7
  63. package/lib/util/escapeCommas.js +3 -1
  64. package/lib/util/flattenColorPalette.js +3 -1
  65. package/lib/util/formatVariantSelector.js +39 -115
  66. package/lib/util/getAllConfigs.js +9 -6
  67. package/lib/util/hashConfig.js +6 -4
  68. package/lib/util/isKeyframeRule.js +3 -1
  69. package/lib/util/isPlainObject.js +3 -1
  70. package/lib/util/isSyntacticallyValidPropertyValue.js +3 -1
  71. package/lib/util/log.js +25 -4
  72. package/lib/util/nameClass.js +12 -6
  73. package/lib/util/negateValue.js +3 -1
  74. package/lib/util/normalizeConfig.js +66 -47
  75. package/lib/util/normalizeScreens.js +15 -7
  76. package/lib/util/parseAnimationValue.js +3 -1
  77. package/lib/util/parseBoxShadowValue.js +6 -2
  78. package/lib/util/parseDependency.js +3 -1
  79. package/lib/util/parseGlob.js +6 -4
  80. package/lib/util/parseObjectStyles.js +9 -7
  81. package/lib/util/pluginUtils.js +35 -25
  82. package/lib/util/prefixSelector.js +6 -4
  83. package/lib/util/pseudoElements.js +209 -0
  84. package/lib/util/removeAlphaVariables.js +3 -1
  85. package/lib/util/resolveConfig.js +20 -14
  86. package/lib/util/resolveConfigPath.js +9 -5
  87. package/lib/util/responsive.js +6 -4
  88. package/lib/util/splitAtTopLevelOnly.js +3 -1
  89. package/lib/util/tap.js +3 -1
  90. package/lib/util/toColorValue.js +3 -1
  91. package/lib/util/toPath.js +3 -1
  92. package/lib/util/transformThemeValue.js +6 -4
  93. package/lib/util/validateConfig.js +27 -3
  94. package/lib/util/validateFormalSyntax.js +3 -1
  95. package/lib/util/withAlphaVariable.js +7 -3
  96. package/lib/value-parser/LICENSE +22 -0
  97. package/lib/value-parser/README.md +3 -0
  98. package/lib/value-parser/index.d.js +2 -0
  99. package/lib/value-parser/index.js +22 -0
  100. package/lib/value-parser/parse.js +259 -0
  101. package/lib/value-parser/stringify.js +38 -0
  102. package/lib/value-parser/unit.js +86 -0
  103. package/lib/value-parser/walk.js +16 -0
  104. package/package.json +46 -59
  105. package/src/cli/build/index.js +4 -0
  106. package/src/cli/build/plugin.js +73 -48
  107. package/src/cli/index.js +1 -0
  108. package/src/cli.js +1 -5
  109. package/src/corePluginList.js +1 -1
  110. package/src/corePlugins.js +106 -27
  111. package/src/css/preflight.css +7 -1
  112. package/src/featureFlags.js +7 -10
  113. package/src/index.js +1 -5
  114. package/src/lib/content.js +33 -1
  115. package/src/lib/defaultExtractor.js +1 -1
  116. package/src/lib/evaluateTailwindFunctions.js +4 -1
  117. package/src/lib/expandApplyAtRules.js +6 -0
  118. package/src/lib/expandTailwindAtRules.js +70 -34
  119. package/src/lib/generateRules.js +20 -17
  120. package/src/lib/handleImportAtRules.js +34 -0
  121. package/src/lib/load-config.ts +9 -5
  122. package/src/lib/normalizeTailwindDirectives.js +0 -27
  123. package/src/lib/offsets.js +3 -3
  124. package/src/lib/setupContextUtils.js +24 -20
  125. package/src/lib/setupTrackingContext.js +2 -4
  126. package/src/lib/sharedState.js +10 -20
  127. package/src/plugin.js +86 -60
  128. package/src/processTailwindFeatures.js +3 -2
  129. package/src/util/applyImportantSelector.js +20 -12
  130. package/src/util/color.js +1 -1
  131. package/src/util/colorNames.js +150 -0
  132. package/src/util/dataTypes.js +75 -16
  133. package/src/util/formatVariantSelector.js +6 -101
  134. package/src/util/log.js +24 -0
  135. package/src/util/normalizeConfig.js +37 -27
  136. package/src/util/pluginUtils.js +1 -9
  137. package/src/util/prefixSelector.js +1 -0
  138. package/src/util/pseudoElements.js +167 -0
  139. package/src/util/validateConfig.js +23 -0
  140. package/src/value-parser/LICENSE +22 -0
  141. package/src/value-parser/README.md +3 -0
  142. package/src/value-parser/index.d.ts +177 -0
  143. package/src/value-parser/index.js +28 -0
  144. package/src/value-parser/parse.js +303 -0
  145. package/src/value-parser/stringify.js +41 -0
  146. package/src/value-parser/unit.js +118 -0
  147. package/src/value-parser/walk.js +18 -0
  148. package/stubs/config.full.js +37 -1
  149. package/stubs/config.simple.js +1 -1
  150. package/stubs/postcss.config.cjs +0 -1
  151. package/stubs/postcss.config.js +0 -1
  152. package/types/config.d.ts +8 -12
  153. package/types/generated/corePluginList.d.ts +1 -1
  154. package/types/generated/default-theme.d.ts +26 -1
  155. package/lib/cli/build/deps.js +0 -54
  156. package/lib/cli-peer-dependencies.js +0 -28
  157. package/lib/oxide/cli/build/deps.js +0 -81
  158. package/lib/oxide/cli/build/index.js +0 -51
  159. package/lib/oxide/cli/build/plugin.js +0 -373
  160. package/lib/oxide/cli/build/utils.js +0 -77
  161. package/lib/oxide/cli/build/watching.js +0 -177
  162. package/lib/oxide/cli/help/index.js +0 -70
  163. package/lib/oxide/cli/index.js +0 -214
  164. package/lib/oxide/cli/init/index.js +0 -50
  165. package/lib/oxide/cli.js +0 -5
  166. package/lib/oxide/postcss-plugin.js +0 -2
  167. package/peers/index.js +0 -79461
  168. package/scripts/swap-engines.js +0 -40
  169. package/src/cli/build/deps.js +0 -56
  170. package/src/cli-peer-dependencies.js +0 -15
  171. package/src/oxide/cli/build/deps.ts +0 -91
  172. package/src/oxide/cli/build/index.ts +0 -47
  173. package/src/oxide/cli/build/plugin.ts +0 -442
  174. package/src/oxide/cli/build/utils.ts +0 -74
  175. package/src/oxide/cli/build/watching.ts +0 -225
  176. package/src/oxide/cli/help/index.ts +0 -69
  177. package/src/oxide/cli/index.ts +0 -204
  178. package/src/oxide/cli/init/index.ts +0 -59
  179. package/src/oxide/cli.ts +0 -1
  180. package/src/oxide/postcss-plugin.ts +0 -1
package/README.md CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
 
16
16
  <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-stable.yml?branch=master" alt="Build Status"></a>
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>
18
18
  <a href="https://www.npmjs.com/package/tailwindcss"><img src="https://img.shields.io/npm/dt/tailwindcss.svg" alt="Total Downloads"></a>
19
19
  <a href="https://github.com/tailwindcss/tailwindcss/releases"><img src="https://img.shields.io/npm/v/tailwindcss.svg" alt="Latest Release"></a>
20
20
  <a href="https://github.com/tailwindcss/tailwindcss/blob/master/LICENSE"><img src="https://img.shields.io/npm/l/tailwindcss.svg" alt="License"></a>
package/index.css ADDED
@@ -0,0 +1,5 @@
1
+ @tailwind base;
2
+
3
+ @tailwind components;
4
+
5
+ @tailwind utilities;
@@ -5,13 +5,15 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  Object.defineProperty(exports, "build", {
7
7
  enumerable: true,
8
- get: ()=>build
8
+ get: function() {
9
+ return build;
10
+ }
9
11
  });
10
- const _fs = /*#__PURE__*/ _interopRequireDefault(require("fs"));
11
- const _path = /*#__PURE__*/ _interopRequireDefault(require("path"));
12
- const _resolveConfigPathJs = require("../../util/resolveConfigPath.js");
13
- const _pluginJs = require("./plugin.js");
14
- function _interopRequireDefault(obj) {
12
+ const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
13
+ const _path = /*#__PURE__*/ _interop_require_default(require("path"));
14
+ const _resolveConfigPath = require("../../util/resolveConfigPath.js");
15
+ const _plugin = require("./plugin.js");
16
+ function _interop_require_default(obj) {
15
17
  return obj && obj.__esModule ? obj : {
16
18
  default: obj
17
19
  };
@@ -32,9 +34,12 @@ async function build(args) {
32
34
  console.error(`Specified config file ${args["--config"]} does not exist.`);
33
35
  process.exit(9);
34
36
  }
37
+ if (args["--no-autoprefixer"]) {
38
+ console.error("[deprecation] The --no-autoprefixer flag is deprecated and has no effect.");
39
+ }
35
40
  // TODO: Reference the @config path here if exists
36
- let configPath = args["--config"] ? args["--config"] : (0, _resolveConfigPathJs.resolveDefaultConfigPath)();
37
- let processor = await (0, _pluginJs.createProcessor)(args, configPath);
41
+ let configPath = args["--config"] ? args["--config"] : (0, _resolveConfigPath.resolveDefaultConfigPath)();
42
+ let processor = await (0, _plugin.createProcessor)(args, configPath);
38
43
  if (shouldWatch) {
39
44
  // Abort the watcher if stdin is closed to avoid zombie processes
40
45
  // You can disable this behavior with --watch=always
@@ -5,33 +5,118 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  Object.defineProperty(exports, "createProcessor", {
7
7
  enumerable: true,
8
- get: ()=>createProcessor
8
+ get: function() {
9
+ return createProcessor;
10
+ }
9
11
  });
10
- const _path = /*#__PURE__*/ _interopRequireDefault(require("path"));
11
- const _fs = /*#__PURE__*/ _interopRequireDefault(require("fs"));
12
- const _postcssLoadConfig = /*#__PURE__*/ _interopRequireDefault(require("postcss-load-config"));
12
+ const _packagejson = /*#__PURE__*/ _interop_require_default(require("../../../package.json"));
13
+ const _path = /*#__PURE__*/ _interop_require_default(require("path"));
14
+ const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
15
+ const _postcss = /*#__PURE__*/ _interop_require_default(require("postcss"));
16
+ 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"));
13
19
  const _lilconfig = require("lilconfig");
14
- const _plugins = /*#__PURE__*/ _interopRequireDefault(require("postcss-load-config/src/plugins" // Little bit scary, looking at private/internal API
20
+ const _plugins = /*#__PURE__*/ _interop_require_default(require("postcss-load-config/src/plugins" // Little bit scary, looking at private/internal API
15
21
  ));
16
- const _options = /*#__PURE__*/ _interopRequireDefault(require("postcss-load-config/src/options" // Little bit scary, looking at private/internal API
22
+ const _options = /*#__PURE__*/ _interop_require_default(require("postcss-load-config/src/options" // Little bit scary, looking at private/internal API
17
23
  ));
18
- const _processTailwindFeatures = /*#__PURE__*/ _interopRequireDefault(require("../../processTailwindFeatures"));
19
- const _deps = require("./deps");
24
+ const _processTailwindFeatures = /*#__PURE__*/ _interop_require_default(require("../../processTailwindFeatures"));
20
25
  const _utils = require("./utils");
21
26
  const _sharedState = require("../../lib/sharedState");
22
- const _resolveConfigJs = /*#__PURE__*/ _interopRequireDefault(require("../../../resolveConfig.js"));
23
- const _contentJs = require("../../lib/content.js");
24
- const _watchingJs = require("./watching.js");
25
- const _fastGlob = /*#__PURE__*/ _interopRequireDefault(require("fast-glob"));
26
- const _findAtConfigPathJs = require("../../lib/findAtConfigPath.js");
27
- const _log = /*#__PURE__*/ _interopRequireDefault(require("../../util/log"));
28
- const _loadConfig = require("../../lib/load-config");
29
- const _getModuleDependencies = /*#__PURE__*/ _interopRequireDefault(require("../../lib/getModuleDependencies"));
30
- function _interopRequireDefault(obj) {
27
+ const _resolveConfig = /*#__PURE__*/ _interop_require_default(require("../../../resolveConfig.js"));
28
+ const _content = require("../../lib/content.js");
29
+ const _watching = require("./watching.js");
30
+ const _fastglob = /*#__PURE__*/ _interop_require_default(require("fast-glob"));
31
+ const _findAtConfigPath = require("../../lib/findAtConfigPath.js");
32
+ const _log = /*#__PURE__*/ _interop_require_default(require("../../util/log"));
33
+ const _loadconfig = require("../../lib/load-config");
34
+ 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
+ function _interop_require_default(obj) {
31
39
  return obj && obj.__esModule ? obj : {
32
40
  default: obj
33
41
  };
34
42
  }
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
+ }
35
120
  /**
36
121
  *
37
122
  * @param {string} [customPostCssPath ]
@@ -41,7 +126,7 @@ function _interopRequireDefault(obj) {
41
126
  let file = _path.default.resolve(customPostCssPath);
42
127
  // Implementation, see: https://unpkg.com/browse/postcss-load-config@3.1.0/src/index.js
43
128
  // @ts-ignore
44
- let { config ={} } = await (0, _lilconfig.lilconfig)("postcss").load(file);
129
+ let { config = {} } = await (0, _lilconfig.lilconfig)("postcss").load(file);
45
130
  if (typeof config === "function") {
46
131
  config = config();
47
132
  } else {
@@ -55,7 +140,7 @@ function _interopRequireDefault(obj) {
55
140
  plugins: (0, _plugins.default)(config, file),
56
141
  options: (0, _options.default)(config, file)
57
142
  };
58
- })() : await (0, _postcssLoadConfig.default)();
143
+ })() : await (0, _postcssloadconfig.default)();
59
144
  let configPlugins = config.plugins;
60
145
  let configPluginTailwindIdx = configPlugins.findIndex((plugin)=>{
61
146
  if (typeof plugin === "function" && plugin.name === "tailwindcss") {
@@ -74,48 +159,16 @@ function _interopRequireDefault(obj) {
74
159
  config.options
75
160
  ];
76
161
  }
77
- function loadBuiltinPostcssPlugins() {
78
- let postcss = (0, _deps.loadPostcss)();
79
- let IMPORT_COMMENT = "__TAILWIND_RESTORE_IMPORT__: ";
80
- return [
81
- [
82
- (root)=>{
83
- root.walkAtRules("import", (rule)=>{
84
- if (rule.params.slice(1).startsWith("tailwindcss/")) {
85
- rule.after(postcss.comment({
86
- text: IMPORT_COMMENT + rule.params
87
- }));
88
- rule.remove();
89
- }
90
- });
91
- },
92
- (0, _deps.loadPostcssImport)(),
93
- (root)=>{
94
- root.walkComments((rule)=>{
95
- if (rule.text.startsWith(IMPORT_COMMENT)) {
96
- rule.after(postcss.atRule({
97
- name: "import",
98
- params: rule.text.replace(IMPORT_COMMENT, "")
99
- }));
100
- rule.remove();
101
- }
102
- });
103
- }
104
- ],
105
- [],
106
- {}
107
- ];
108
- }
109
162
  let state = {
110
163
  /** @type {any} */ context: null,
111
164
  /** @type {ReturnType<typeof createWatcher> | null} */ watcher: null,
112
165
  /** @type {{content: string, extension: string}[]} */ changedContent: [],
113
- /** @type {ReturnType<typeof load> | null} */ configBag: null,
166
+ /** @type {{config: import('../../../types').Config, dependencies: Set<string>, dispose: Function } | null} */ configBag: null,
114
167
  contextDependencies: new Set(),
115
168
  /** @type {import('../../lib/content.js').ContentPath[]} */ contentPaths: [],
116
169
  refreshContentPaths () {
117
170
  var _this_context;
118
- this.contentPaths = (0, _contentJs.parseCandidateFiles)(this.context, (_this_context = this.context) === null || _this_context === void 0 ? void 0 : _this_context.tailwindConfig);
171
+ this.contentPaths = (0, _content.parseCandidateFiles)(this.context, (_this_context = this.context) === null || _this_context === void 0 ? void 0 : _this_context.tailwindConfig);
119
172
  },
120
173
  get config () {
121
174
  return this.context.tailwindConfig;
@@ -127,10 +180,11 @@ let state = {
127
180
  };
128
181
  },
129
182
  loadConfig (configPath, content) {
183
+ var _content;
130
184
  if (this.watcher && configPath) {
131
185
  this.refreshConfigDependencies();
132
186
  }
133
- let config = (0, _loadConfig.loadConfig)(configPath);
187
+ let config = (0, _loadconfig.loadConfig)(configPath);
134
188
  let dependencies = (0, _getModuleDependencies.default)(configPath);
135
189
  this.configBag = {
136
190
  config,
@@ -141,14 +195,9 @@ let state = {
141
195
  }
142
196
  }
143
197
  };
144
- // @ts-ignore
145
- this.configBag.config = (0, _resolveConfigJs.default)(this.configBag.config, {
146
- content: {
147
- files: []
148
- }
149
- });
198
+ this.configBag.config = (0, _validateConfig.validateConfig)((0, _resolveConfig.default)(this.configBag.config));
150
199
  // Override content files if `--content` has been passed explicitly
151
- if ((content === null || content === void 0 ? void 0 : content.length) > 0) {
200
+ if (((_content = content) === null || _content === void 0 ? void 0 : _content.length) > 0) {
152
201
  this.configBag.config.content.files = content;
153
202
  }
154
203
  return this.configBag.config;
@@ -163,9 +212,9 @@ let state = {
163
212
  let content = [];
164
213
  // Resolve globs from the content config
165
214
  // TODO: When we make the postcss plugin async-capable this can become async
166
- let files = _fastGlob.default.sync(this.contentPatterns.all);
215
+ let files = _fastglob.default.sync(this.contentPatterns.all);
167
216
  for (let file of files){
168
- if (_sharedState.env.OXIDE) {
217
+ if ((0, _featureFlags.flagEnabled)(this.config, "oxideParser")) {
169
218
  content.push({
170
219
  file,
171
220
  extension: _path.default.extname(file).slice(1)
@@ -181,7 +230,7 @@ let state = {
181
230
  let rawContent = this.config.content.files.filter((file)=>{
182
231
  return file !== null && typeof file === "object";
183
232
  });
184
- for (let { raw: htmlContent , extension ="html" } of rawContent){
233
+ for (let { raw: htmlContent, extension = "html" } of rawContent){
185
234
  content.push({
186
235
  content: htmlContent,
187
236
  extension
@@ -189,14 +238,14 @@ let state = {
189
238
  }
190
239
  return content;
191
240
  },
192
- getContext ({ createContext , cliConfigPath , root , result , content }) {
241
+ getContext ({ createContext, cliConfigPath, root, result, content }) {
193
242
  if (this.context) {
194
243
  this.context.changedContent = this.changedContent.splice(0);
195
244
  return this.context;
196
245
  }
197
246
  _sharedState.env.DEBUG && console.time("Searching for config");
198
- var _findAtConfigPath;
199
- let configPath = (_findAtConfigPath = (0, _findAtConfigPathJs.findAtConfigPath)(root, result)) !== null && _findAtConfigPath !== void 0 ? _findAtConfigPath : cliConfigPath;
247
+ var _findAtConfigPath1;
248
+ let configPath = (_findAtConfigPath1 = (0, _findAtConfigPath.findAtConfigPath)(root, result)) !== null && _findAtConfigPath1 !== void 0 ? _findAtConfigPath1 : cliConfigPath;
200
249
  _sharedState.env.DEBUG && console.timeEnd("Searching for config");
201
250
  _sharedState.env.DEBUG && console.time("Loading config");
202
251
  let config = this.loadConfig(configPath, content);
@@ -223,12 +272,16 @@ let state = {
223
272
  };
224
273
  async function createProcessor(args, cliConfigPath) {
225
274
  var _args_content;
226
- let postcss = (0, _deps.loadPostcss)();
227
275
  let input = args["--input"];
228
276
  let output = args["--output"];
229
277
  let includePostCss = args["--postcss"];
230
278
  let customPostCssPath = typeof args["--postcss"] === "string" ? args["--postcss"] : undefined;
231
- let [beforePlugins, afterPlugins, postcssOptions] = includePostCss ? await loadPostCssPlugins(customPostCssPath) : loadBuiltinPostcssPlugins();
279
+ let [beforePlugins, afterPlugins, postcssOptions] = includePostCss ? await loadPostCssPlugins(customPostCssPath) : [
280
+ [],
281
+ [],
282
+ {}
283
+ ];
284
+ beforePlugins.unshift(...(0, _handleImportAtRules.handleImportAtRules)());
232
285
  if (args["--purge"]) {
233
286
  _log.default.warn("purge-flag-deprecated", [
234
287
  "The `--purge` flag has been deprecated.",
@@ -243,9 +296,9 @@ async function createProcessor(args, cliConfigPath) {
243
296
  let tailwindPlugin = ()=>{
244
297
  return {
245
298
  postcssPlugin: "tailwindcss",
246
- Once (root, { result }) {
299
+ async Once (root, { result }) {
247
300
  _sharedState.env.DEBUG && console.time("Compiling CSS");
248
- (0, _processTailwindFeatures.default)(({ createContext })=>{
301
+ await (0, _processTailwindFeatures.default)(({ createContext })=>{
249
302
  console.error();
250
303
  console.error("Rebuilding...");
251
304
  return ()=>{
@@ -267,12 +320,10 @@ async function createProcessor(args, cliConfigPath) {
267
320
  ...beforePlugins,
268
321
  tailwindPlugin,
269
322
  !args["--minify"] && _utils.formatNodes,
270
- ...afterPlugins,
271
- !args["--no-autoprefixer"] && (0, _deps.loadAutoprefixer)(),
272
- args["--minify"] && (0, _deps.loadCssNano)()
323
+ ...afterPlugins
273
324
  ].filter(Boolean);
274
325
  /** @type {import('postcss').Processor} */ // @ts-ignore
275
- let processor = postcss(plugins);
326
+ let processor = (0, _postcss.default)(plugins);
276
327
  async function readInput() {
277
328
  // Piping in data, let's drain the stdin
278
329
  if (input === "-") {
@@ -287,10 +338,14 @@ async function createProcessor(args, cliConfigPath) {
287
338
  }
288
339
  async function build() {
289
340
  let start = process.hrtime.bigint();
290
- return readInput().then((css)=>processor.process(css, {
291
- ...postcssOptions,
292
- from: input,
293
- to: output
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"]
294
349
  })).then((result)=>{
295
350
  if (!state.watcher) {
296
351
  return result;
@@ -309,11 +364,11 @@ async function createProcessor(args, cliConfigPath) {
309
364
  return result;
310
365
  }).then((result)=>{
311
366
  if (!output) {
312
- process.stdout.write(result.css);
367
+ process.stdout.write(license() + result.css);
313
368
  return;
314
369
  }
315
370
  return Promise.all([
316
- (0, _utils.outputFile)(result.opts.to, result.css),
371
+ (0, _utils.outputFile)(result.opts.to, license() + result.css),
317
372
  result.map && (0, _utils.outputFile)(result.opts.to + ".map", result.map.toString())
318
373
  ]);
319
374
  }).then(()=>{
@@ -351,7 +406,7 @@ async function createProcessor(args, cliConfigPath) {
351
406
  return {
352
407
  build,
353
408
  watch: async ()=>{
354
- state.watcher = (0, _watchingJs.createWatcher)(args, {
409
+ state.watcher = (0, _watching.createWatcher)(args, {
355
410
  state,
356
411
  /**
357
412
  * @param {{file: string, content(): Promise<string>, extension: string}[]} changes
@@ -10,15 +10,25 @@ function _export(target, all) {
10
10
  });
11
11
  }
12
12
  _export(exports, {
13
- indentRecursive: ()=>indentRecursive,
14
- formatNodes: ()=>formatNodes,
15
- readFileWithRetries: ()=>readFileWithRetries,
16
- drainStdin: ()=>drainStdin,
17
- outputFile: ()=>outputFile
13
+ indentRecursive: function() {
14
+ return indentRecursive;
15
+ },
16
+ formatNodes: function() {
17
+ return formatNodes;
18
+ },
19
+ readFileWithRetries: function() {
20
+ return readFileWithRetries;
21
+ },
22
+ drainStdin: function() {
23
+ return drainStdin;
24
+ },
25
+ outputFile: function() {
26
+ return outputFile;
27
+ }
18
28
  });
19
- const _fs = /*#__PURE__*/ _interopRequireDefault(require("fs"));
20
- const _path = /*#__PURE__*/ _interopRequireDefault(require("path"));
21
- function _interopRequireDefault(obj) {
29
+ const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
30
+ const _path = /*#__PURE__*/ _interop_require_default(require("path"));
31
+ function _interop_require_default(obj) {
22
32
  return obj && obj.__esModule ? obj : {
23
33
  default: obj
24
34
  };
@@ -5,20 +5,22 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  Object.defineProperty(exports, "createWatcher", {
7
7
  enumerable: true,
8
- get: ()=>createWatcher
8
+ get: function() {
9
+ return createWatcher;
10
+ }
9
11
  });
10
- const _chokidar = /*#__PURE__*/ _interopRequireDefault(require("chokidar"));
11
- const _fs = /*#__PURE__*/ _interopRequireDefault(require("fs"));
12
- const _micromatch = /*#__PURE__*/ _interopRequireDefault(require("micromatch"));
13
- const _normalizePath = /*#__PURE__*/ _interopRequireDefault(require("normalize-path"));
14
- const _path = /*#__PURE__*/ _interopRequireDefault(require("path"));
15
- const _utilsJs = require("./utils.js");
16
- function _interopRequireDefault(obj) {
12
+ const _chokidar = /*#__PURE__*/ _interop_require_default(require("chokidar"));
13
+ const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
14
+ const _micromatch = /*#__PURE__*/ _interop_require_default(require("micromatch"));
15
+ const _normalizepath = /*#__PURE__*/ _interop_require_default(require("normalize-path"));
16
+ const _path = /*#__PURE__*/ _interop_require_default(require("path"));
17
+ const _utils = require("./utils.js");
18
+ function _interop_require_default(obj) {
17
19
  return obj && obj.__esModule ? obj : {
18
20
  default: obj
19
21
  };
20
22
  }
21
- function createWatcher(args, { state , rebuild }) {
23
+ function createWatcher(args, { state, rebuild }) {
22
24
  let shouldPoll = args["--poll"];
23
25
  let shouldCoalesceWriteEvents = shouldPoll || process.platform === "win32";
24
26
  // Polling interval in milliseconds
@@ -111,7 +113,7 @@ function createWatcher(args, { state , rebuild }) {
111
113
  // This can happen when a file is pseudo-atomically replaced (a copy is created, overwritten, the old one is unlinked, and the new one is renamed)
112
114
  // TODO: An an optimization we should allow removal when the config changes
113
115
  watcher.on("unlink", (file)=>{
114
- file = (0, _normalizePath.default)(file);
116
+ file = (0, _normalizepath.default)(file);
115
117
  // Only re-add the file if it's not covered by a dynamic pattern
116
118
  if (!_micromatch.default.some([
117
119
  file
@@ -150,7 +152,7 @@ function createWatcher(args, { state , rebuild }) {
150
152
  // We need to read the file as early as possible outside of the chain
151
153
  // because it may be gone by the time we get to it. doing the read
152
154
  // immediately increases the chance that the file is still there
153
- let content = await (0, _utilsJs.readFileWithRetries)(_path.default.resolve(filePath));
155
+ let content = await (0, _utils.readFileWithRetries)(_path.default.resolve(filePath));
154
156
  if (content === undefined) {
155
157
  return;
156
158
  }
@@ -5,19 +5,21 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  Object.defineProperty(exports, "help", {
7
7
  enumerable: true,
8
- get: ()=>help
8
+ get: function() {
9
+ return help;
10
+ }
9
11
  });
10
- const _packageJson = /*#__PURE__*/ _interopRequireDefault(require("../../../package.json"));
11
- function _interopRequireDefault(obj) {
12
+ const _packagejson = /*#__PURE__*/ _interop_require_default(require("../../../package.json"));
13
+ function _interop_require_default(obj) {
12
14
  return obj && obj.__esModule ? obj : {
13
15
  default: obj
14
16
  };
15
17
  }
16
- function help({ message , usage , commands , options }) {
18
+ function help({ message, usage, commands, options }) {
17
19
  let indent = 2;
18
20
  // Render header
19
21
  console.log();
20
- console.log(`${_packageJson.default.name} v${_packageJson.default.version}`);
22
+ console.log(`${_packagejson.default.name} v${_packagejson.default.version}`);
21
23
  // Render message
22
24
  if (message) {
23
25
  console.log();
@@ -58,7 +60,7 @@ function help({ message , usage , commands , options }) {
58
60
  }
59
61
  console.log();
60
62
  console.log("Options:");
61
- for (let { flags , description , deprecated } of Object.values(groupedOptions)){
63
+ for (let { flags, description, deprecated } of Object.values(groupedOptions)){
62
64
  if (deprecated) continue;
63
65
  if (flags.length === 1) {
64
66
  console.log(" ".repeat(indent + 4 /* 4 = "-i, ".length */ ), flags.slice().reverse().join(", ").padEnd(20, " "), description);
package/lib/cli/index.js CHANGED
@@ -3,13 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- const _path = /*#__PURE__*/ _interopRequireDefault(require("path"));
7
- const _arg = /*#__PURE__*/ _interopRequireDefault(require("arg"));
8
- const _fs = /*#__PURE__*/ _interopRequireDefault(require("fs"));
6
+ const _path = /*#__PURE__*/ _interop_require_default(require("path"));
7
+ const _arg = /*#__PURE__*/ _interop_require_default(require("arg"));
8
+ const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
9
9
  const _build = require("./build");
10
10
  const _help = require("./help");
11
11
  const _init = require("./init");
12
- function _interopRequireDefault(obj) {
12
+ function _interop_require_default(obj) {
13
13
  return obj && obj.__esModule ? obj : {
14
14
  default: obj
15
15
  };
@@ -91,6 +91,7 @@ let commands = {
91
91
  description: "Path to a custom config file"
92
92
  },
93
93
  "--no-autoprefixer": {
94
+ deprecated: true,
94
95
  type: Boolean,
95
96
  description: "Disable autoprefixer"
96
97
  },
@@ -143,15 +144,15 @@ if (commands[command] === undefined) {
143
144
  }
144
145
  }
145
146
  // Execute command
146
- let { args: flags , run } = commands[command];
147
+ let { args: flags, run } = commands[command];
147
148
  let args = (()=>{
148
149
  try {
149
150
  let result = (0, _arg.default)(Object.fromEntries(Object.entries({
150
151
  ...flags,
151
152
  ...sharedFlags
152
153
  }).filter(([_key, value])=>{
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);
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);
155
156
  }).map(([key, value])=>[
156
157
  key,
157
158
  typeof value === "object" ? value.type : value
@@ -5,11 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  Object.defineProperty(exports, "init", {
7
7
  enumerable: true,
8
- get: ()=>init
8
+ get: function() {
9
+ return init;
10
+ }
9
11
  });
10
- const _fs = /*#__PURE__*/ _interopRequireDefault(require("fs"));
11
- const _path = /*#__PURE__*/ _interopRequireDefault(require("path"));
12
- function _interopRequireDefault(obj) {
12
+ const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
13
+ const _path = /*#__PURE__*/ _interop_require_default(require("path"));
14
+ function _interop_require_default(obj) {
13
15
  return obj && obj.__esModule ? obj : {
14
16
  default: obj
15
17
  };
@@ -47,8 +49,8 @@ function init(args) {
47
49
  if (_fs.default.existsSync(postcssConfigLocation)) {
48
50
  messages.push(`${_path.default.basename(postcssConfigLocation)} already exists.`);
49
51
  } else {
50
- let stubFile1 = _fs.default.readFileSync(isProjectESM ? _path.default.resolve(__dirname, "../../../stubs/postcss.config.js") : _path.default.resolve(__dirname, "../../../stubs/postcss.config.cjs"), "utf8");
51
- _fs.default.writeFileSync(postcssConfigLocation, stubFile1, "utf8");
52
+ let stubFile = _fs.default.readFileSync(isProjectESM ? _path.default.resolve(__dirname, "../../../stubs/postcss.config.js") : _path.default.resolve(__dirname, "../../../stubs/postcss.config.cjs"), "utf8");
53
+ _fs.default.writeFileSync(postcssConfigLocation, stubFile, "utf8");
52
54
  messages.push(`Created PostCSS config file: ${_path.default.basename(postcssConfigLocation)}`);
53
55
  }
54
56
  }
package/lib/cli.js CHANGED
@@ -1,7 +1,3 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
- if (process.env.OXIDE) {
4
- module.exports = require("./oxide/cli");
5
- } else {
6
- module.exports = require("./cli/index");
7
- }
3
+ module.exports = require("./cli/index");
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  Object.defineProperty(exports, "default", {
6
6
  enumerable: true,
7
- get: ()=>_default
7
+ get: function() {
8
+ return _default;
9
+ }
8
10
  });
9
11
  const _default = [
10
12
  "preflight",
@@ -96,6 +98,7 @@ const _default = [
96
98
  "textOverflow",
97
99
  "hyphens",
98
100
  "whitespace",
101
+ "textWrap",
99
102
  "wordBreak",
100
103
  "borderRadius",
101
104
  "borderWidth",