tailwindcss 0.0.0-insiders.9e8d37a → 0.0.0-insiders.9ebaaac

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 (203) hide show
  1. package/README.md +1 -1
  2. package/lib/cli/build/deps.js +17 -9
  3. package/lib/cli/build/index.js +15 -9
  4. package/lib/cli/build/plugin.js +89 -68
  5. package/lib/cli/build/utils.js +18 -8
  6. package/lib/cli/build/watching.js +16 -12
  7. package/lib/cli/help/index.js +6 -4
  8. package/lib/cli/index.js +222 -10
  9. package/lib/cli/init/index.js +32 -11
  10. package/lib/cli-peer-dependencies.js +12 -4
  11. package/lib/cli.js +4 -236
  12. package/lib/corePluginList.js +7 -1
  13. package/lib/corePlugins.js +324 -51
  14. package/lib/css/preflight.css +9 -1
  15. package/lib/featureFlags.js +19 -7
  16. package/lib/index.js +1 -47
  17. package/lib/lib/cacheInvalidation.js +7 -5
  18. package/lib/lib/collapseAdjacentRules.js +3 -1
  19. package/lib/lib/collapseDuplicateDeclarations.js +10 -8
  20. package/lib/lib/content.js +57 -32
  21. package/lib/lib/defaultExtractor.js +12 -5
  22. package/lib/lib/detectNesting.js +10 -2
  23. package/lib/lib/evaluateTailwindFunctions.js +20 -16
  24. package/lib/lib/expandApplyAtRules.js +41 -33
  25. package/lib/lib/expandTailwindAtRules.js +42 -15
  26. package/lib/lib/findAtConfigPath.js +6 -4
  27. package/lib/lib/generateRules.js +142 -77
  28. package/lib/lib/getModuleDependencies.js +85 -37
  29. package/lib/lib/handleImportAtRules.js +49 -0
  30. package/lib/lib/load-config.js +42 -0
  31. package/lib/lib/normalizeTailwindDirectives.js +20 -16
  32. package/lib/lib/offsets.js +93 -4
  33. package/lib/lib/partitionApplyAtRules.js +3 -1
  34. package/lib/lib/regex.js +21 -7
  35. package/lib/lib/remap-bitfield.js +89 -0
  36. package/lib/lib/resolveDefaultsAtRules.js +24 -20
  37. package/lib/lib/setupContextUtils.js +156 -91
  38. package/lib/lib/setupTrackingContext.js +49 -26
  39. package/lib/lib/sharedState.js +37 -10
  40. package/lib/lib/substituteScreenAtRules.js +5 -3
  41. package/lib/oxide/cli/build/deps.js +89 -0
  42. package/lib/oxide/cli/build/index.js +53 -0
  43. package/lib/oxide/cli/build/plugin.js +354 -0
  44. package/lib/oxide/cli/build/utils.js +87 -0
  45. package/lib/oxide/cli/build/watching.js +179 -0
  46. package/lib/oxide/cli/help/index.js +72 -0
  47. package/lib/oxide/cli/index.js +214 -0
  48. package/lib/oxide/cli/init/index.js +56 -0
  49. package/lib/oxide/cli.js +5 -0
  50. package/lib/oxide/postcss-plugin.js +2 -0
  51. package/lib/plugin.js +100 -0
  52. package/lib/postcss-plugins/nesting/index.js +3 -1
  53. package/lib/postcss-plugins/nesting/plugin.js +8 -6
  54. package/lib/processTailwindFeatures.js +14 -12
  55. package/lib/public/colors.js +49 -25
  56. package/lib/public/create-plugin.js +5 -3
  57. package/lib/public/default-config.js +6 -4
  58. package/lib/public/default-theme.js +6 -4
  59. package/lib/public/load-config.js +12 -0
  60. package/lib/public/resolve-config.js +6 -4
  61. package/lib/util/applyImportantSelector.js +36 -0
  62. package/lib/util/bigSign.js +3 -1
  63. package/lib/util/buildMediaQuery.js +3 -1
  64. package/lib/util/cloneDeep.js +3 -1
  65. package/lib/util/cloneNodes.js +3 -1
  66. package/lib/util/color.js +26 -8
  67. package/lib/util/colorNames.js +752 -0
  68. package/lib/util/configurePlugins.js +3 -1
  69. package/lib/util/createPlugin.js +3 -1
  70. package/lib/util/createUtilityPlugin.js +5 -3
  71. package/lib/util/dataTypes.js +85 -23
  72. package/lib/util/defaults.js +6 -4
  73. package/lib/util/escapeClassName.js +7 -5
  74. package/lib/util/escapeCommas.js +3 -1
  75. package/lib/util/flattenColorPalette.js +3 -1
  76. package/lib/util/formatVariantSelector.js +138 -168
  77. package/lib/util/getAllConfigs.js +8 -4
  78. package/lib/util/hashConfig.js +6 -4
  79. package/lib/util/isKeyframeRule.js +3 -1
  80. package/lib/util/isPlainObject.js +3 -1
  81. package/lib/util/isSyntacticallyValidPropertyValue.js +3 -1
  82. package/lib/util/log.js +8 -4
  83. package/lib/util/nameClass.js +12 -6
  84. package/lib/util/negateValue.js +4 -2
  85. package/lib/util/normalizeConfig.js +39 -16
  86. package/lib/util/normalizeScreens.js +12 -4
  87. package/lib/util/parseAnimationValue.js +3 -1
  88. package/lib/util/parseBoxShadowValue.js +6 -2
  89. package/lib/util/parseDependency.js +3 -1
  90. package/lib/util/parseGlob.js +6 -4
  91. package/lib/util/parseObjectStyles.js +9 -7
  92. package/lib/util/pluginUtils.js +35 -42
  93. package/lib/util/prefixSelector.js +27 -11
  94. package/lib/util/pseudoElements.js +229 -0
  95. package/lib/util/removeAlphaVariables.js +3 -1
  96. package/lib/util/resolveConfig.js +10 -8
  97. package/lib/util/resolveConfigPath.js +26 -10
  98. package/lib/util/responsive.js +6 -4
  99. package/lib/util/splitAtTopLevelOnly.js +10 -2
  100. package/lib/util/tap.js +3 -1
  101. package/lib/util/toColorValue.js +3 -1
  102. package/lib/util/toPath.js +3 -1
  103. package/lib/util/transformThemeValue.js +6 -4
  104. package/lib/util/validateConfig.js +23 -4
  105. package/lib/util/validateFormalSyntax.js +3 -1
  106. package/lib/util/withAlphaVariable.js +6 -2
  107. package/lib/value-parser/LICENSE +22 -0
  108. package/lib/value-parser/README.md +3 -0
  109. package/lib/value-parser/index.d.js +2 -0
  110. package/lib/value-parser/index.js +22 -0
  111. package/lib/value-parser/parse.js +259 -0
  112. package/lib/value-parser/stringify.js +38 -0
  113. package/lib/value-parser/unit.js +86 -0
  114. package/lib/value-parser/walk.js +16 -0
  115. package/loadConfig.d.ts +4 -0
  116. package/loadConfig.js +2 -0
  117. package/package.json +49 -37
  118. package/peers/index.js +63312 -46419
  119. package/scripts/swap-engines.js +40 -0
  120. package/src/cli/build/index.js +7 -7
  121. package/src/cli/build/plugin.js +47 -30
  122. package/src/cli/build/watching.js +4 -2
  123. package/src/cli/index.js +216 -3
  124. package/src/cli/init/index.js +42 -8
  125. package/src/cli.js +4 -231
  126. package/src/corePluginList.js +1 -1
  127. package/src/corePlugins.js +207 -32
  128. package/src/css/preflight.css +9 -1
  129. package/src/featureFlags.js +6 -0
  130. package/src/index.js +1 -47
  131. package/src/lib/content.js +43 -21
  132. package/src/lib/defaultExtractor.js +8 -2
  133. package/src/lib/detectNesting.js +9 -1
  134. package/src/lib/evaluateTailwindFunctions.js +4 -1
  135. package/src/lib/expandApplyAtRules.js +8 -1
  136. package/src/lib/expandTailwindAtRules.js +36 -7
  137. package/src/lib/generateRules.js +124 -42
  138. package/src/lib/getModuleDependencies.js +70 -30
  139. package/src/lib/handleImportAtRules.js +33 -0
  140. package/src/lib/load-config.ts +31 -0
  141. package/src/lib/normalizeTailwindDirectives.js +26 -24
  142. package/src/lib/offsets.js +104 -1
  143. package/src/lib/remap-bitfield.js +82 -0
  144. package/src/lib/setupContextUtils.js +99 -43
  145. package/src/lib/setupTrackingContext.js +36 -11
  146. package/src/lib/sharedState.js +15 -4
  147. package/src/oxide/cli/build/deps.ts +91 -0
  148. package/src/oxide/cli/build/index.ts +47 -0
  149. package/src/oxide/cli/build/plugin.ts +419 -0
  150. package/src/oxide/cli/build/utils.ts +74 -0
  151. package/src/oxide/cli/build/watching.ts +225 -0
  152. package/src/oxide/cli/help/index.ts +69 -0
  153. package/src/oxide/cli/index.ts +204 -0
  154. package/src/oxide/cli/init/index.ts +64 -0
  155. package/src/oxide/cli.ts +1 -0
  156. package/src/oxide/postcss-plugin.ts +1 -0
  157. package/src/plugin.js +109 -0
  158. package/src/public/colors.js +22 -0
  159. package/src/public/default-config.js +1 -1
  160. package/src/public/default-theme.js +2 -2
  161. package/src/public/load-config.js +2 -0
  162. package/src/util/applyImportantSelector.js +27 -0
  163. package/src/util/color.js +18 -3
  164. package/src/util/colorNames.js +150 -0
  165. package/src/util/dataTypes.js +45 -9
  166. package/src/util/formatVariantSelector.js +160 -174
  167. package/src/util/getAllConfigs.js +9 -2
  168. package/src/util/negateValue.js +1 -1
  169. package/src/util/normalizeConfig.js +53 -18
  170. package/src/util/pluginUtils.js +11 -34
  171. package/src/util/prefixSelector.js +28 -10
  172. package/src/util/pseudoElements.js +170 -0
  173. package/src/util/resolveConfigPath.js +12 -1
  174. package/src/util/splitAtTopLevelOnly.js +8 -1
  175. package/src/util/validateConfig.js +21 -1
  176. package/src/value-parser/LICENSE +22 -0
  177. package/src/value-parser/README.md +3 -0
  178. package/src/value-parser/index.d.ts +177 -0
  179. package/src/value-parser/index.js +28 -0
  180. package/src/value-parser/parse.js +303 -0
  181. package/src/value-parser/stringify.js +41 -0
  182. package/src/value-parser/unit.js +118 -0
  183. package/src/value-parser/walk.js +18 -0
  184. package/stubs/.gitignore +1 -0
  185. package/stubs/.prettierrc.json +6 -0
  186. package/stubs/{defaultConfig.stub.js → config.full.js} +39 -1
  187. package/stubs/{simpleConfig.stub.js → config.simple.js} +0 -1
  188. package/stubs/postcss.config.js +6 -0
  189. package/stubs/tailwind.config.cjs +2 -0
  190. package/stubs/tailwind.config.js +2 -0
  191. package/stubs/tailwind.config.ts +3 -0
  192. package/types/config.d.ts +14 -8
  193. package/types/generated/colors.d.ts +22 -0
  194. package/types/generated/corePluginList.d.ts +1 -1
  195. package/types/generated/default-theme.d.ts +32 -2
  196. package/CHANGELOG.md +0 -2346
  197. package/lib/cli/shared.js +0 -12
  198. package/lib/constants.js +0 -44
  199. package/scripts/install-integrations.js +0 -27
  200. package/scripts/rebuildFixtures.js +0 -68
  201. package/src/cli/shared.js +0 -5
  202. package/src/constants.js +0 -17
  203. /package/stubs/{defaultPostCssConfig.stub.js → postcss.config.cjs} +0 -0
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/workflow/status/tailwindlabs/tailwindcss/Node.js%20CI" 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-stable.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>
@@ -10,25 +10,33 @@ function _export(target, all) {
10
10
  });
11
11
  }
12
12
  _export(exports, {
13
- loadPostcss: ()=>loadPostcss,
14
- loadPostcssImport: ()=>loadPostcssImport,
15
- loadCssNano: ()=>loadCssNano,
16
- loadAutoprefixer: ()=>loadAutoprefixer
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
+ }
17
25
  });
18
- const _indexJs = require("../../../peers/index.js");
26
+ const _index = require("../../../peers/index.js");
19
27
  function loadPostcss() {
20
28
  // Try to load a local `postcss` version first
21
29
  try {
22
30
  return require("postcss");
23
31
  } catch {}
24
- return (0, _indexJs.lazyPostcss)();
32
+ return (0, _index.lazyPostcss)();
25
33
  }
26
34
  function loadPostcssImport() {
27
35
  // Try to load a local `postcss-import` version first
28
36
  try {
29
37
  return require("postcss-import");
30
38
  } catch {}
31
- return (0, _indexJs.lazyPostcssImport)();
39
+ return (0, _index.lazyPostcssImport)();
32
40
  }
33
41
  function loadCssNano() {
34
42
  let options = {
@@ -43,12 +51,12 @@ function loadCssNano() {
43
51
  try {
44
52
  return require("cssnano");
45
53
  } catch {}
46
- return (0, _indexJs.lazyCssnano)()(options);
54
+ return (0, _index.lazyCssnano)()(options);
47
55
  }
48
56
  function loadAutoprefixer() {
49
57
  // Try to load a local `autoprefixer` version first
50
58
  try {
51
59
  return require("autoprefixer");
52
60
  } catch {}
53
- return (0, _indexJs.lazyAutoprefixer)();
61
+ return (0, _index.lazyAutoprefixer)();
54
62
  }
@@ -5,17 +5,20 @@ 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 _pluginJs = require("./plugin.js");
13
- 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) {
14
17
  return obj && obj.__esModule ? obj : {
15
18
  default: obj
16
19
  };
17
20
  }
18
- async function build(args, configs) {
21
+ async function build(args) {
19
22
  let input = args["--input"];
20
23
  let shouldWatch = args["--watch"];
21
24
  // TODO: Deprecate this in future versions
@@ -32,8 +35,8 @@ async function build(args, configs) {
32
35
  process.exit(9);
33
36
  }
34
37
  // TODO: Reference the @config path here if exists
35
- let configPath = args["--config"] ? args["--config"] : ((defaultPath)=>_fs.default.existsSync(defaultPath) ? defaultPath : null)(_path.default.resolve(`./${configs.tailwind}`));
36
- let processor = await (0, _pluginJs.createProcessor)(args, configPath);
38
+ let configPath = args["--config"] ? args["--config"] : (0, _resolveConfigPath.resolveDefaultConfigPath)();
39
+ let processor = await (0, _plugin.createProcessor)(args, configPath);
37
40
  if (shouldWatch) {
38
41
  // Abort the watcher if stdin is closed to avoid zombie processes
39
42
  // You can disable this behavior with --watch=always
@@ -43,6 +46,9 @@ async function build(args, configs) {
43
46
  process.stdin.resume();
44
47
  await processor.watch();
45
48
  } else {
46
- await processor.build();
49
+ await processor.build().catch((e)=>{
50
+ console.error(e);
51
+ process.exit(1);
52
+ });
47
53
  }
48
54
  }
@@ -5,28 +5,32 @@ 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 _path = /*#__PURE__*/ _interop_require_default(require("path"));
13
+ const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
14
+ const _postcssloadconfig = /*#__PURE__*/ _interop_require_default(require("postcss-load-config"));
13
15
  const _lilconfig = require("lilconfig");
14
- const _plugins = /*#__PURE__*/ _interopRequireDefault(require("postcss-load-config/src/plugins" // Little bit scary, looking at private/internal API
16
+ const _plugins = /*#__PURE__*/ _interop_require_default(require("postcss-load-config/src/plugins" // Little bit scary, looking at private/internal API
15
17
  ));
16
- const _options = /*#__PURE__*/ _interopRequireDefault(require("postcss-load-config/src/options" // Little bit scary, looking at private/internal API
18
+ const _options = /*#__PURE__*/ _interop_require_default(require("postcss-load-config/src/options" // Little bit scary, looking at private/internal API
17
19
  ));
18
- const _processTailwindFeatures = /*#__PURE__*/ _interopRequireDefault(require("../../processTailwindFeatures"));
20
+ const _processTailwindFeatures = /*#__PURE__*/ _interop_require_default(require("../../processTailwindFeatures"));
19
21
  const _deps = require("./deps");
20
22
  const _utils = require("./utils");
21
- const _shared = require("../shared");
22
- const _resolveConfigJs = /*#__PURE__*/ _interopRequireDefault(require("../../../resolveConfig.js"));
23
- const _getModuleDependenciesJs = /*#__PURE__*/ _interopRequireDefault(require("../../lib/getModuleDependencies.js"));
24
- const _contentJs = require("../../lib/content.js");
25
- const _watchingJs = require("./watching.js");
26
- const _fastGlob = /*#__PURE__*/ _interopRequireDefault(require("fast-glob"));
27
- const _findAtConfigPathJs = require("../../lib/findAtConfigPath.js");
28
- const _log = /*#__PURE__*/ _interopRequireDefault(require("../../util/log"));
29
- function _interopRequireDefault(obj) {
23
+ const _sharedState = require("../../lib/sharedState");
24
+ const _resolveConfig = /*#__PURE__*/ _interop_require_default(require("../../../resolveConfig.js"));
25
+ const _content = require("../../lib/content.js");
26
+ const _watching = require("./watching.js");
27
+ const _fastglob = /*#__PURE__*/ _interop_require_default(require("fast-glob"));
28
+ const _findAtConfigPath = require("../../lib/findAtConfigPath.js");
29
+ const _log = /*#__PURE__*/ _interop_require_default(require("../../util/log"));
30
+ const _loadconfig = require("../../lib/load-config");
31
+ const _getModuleDependencies = /*#__PURE__*/ _interop_require_default(require("../../lib/getModuleDependencies"));
32
+ const _validateConfig = require("../../util/validateConfig");
33
+ function _interop_require_default(obj) {
30
34
  return obj && obj.__esModule ? obj : {
31
35
  default: obj
32
36
  };
@@ -54,7 +58,7 @@ function _interopRequireDefault(obj) {
54
58
  plugins: (0, _plugins.default)(config, file),
55
59
  options: (0, _options.default)(config, file)
56
60
  };
57
- })() : await (0, _postcssLoadConfig.default)();
61
+ })() : await (0, _postcssloadconfig.default)();
58
62
  let configPlugins = config.plugins;
59
63
  let configPluginTailwindIdx = configPlugins.findIndex((plugin)=>{
60
64
  if (typeof plugin === "function" && plugin.name === "tailwindcss") {
@@ -109,12 +113,12 @@ let state = {
109
113
  /** @type {any} */ context: null,
110
114
  /** @type {ReturnType<typeof createWatcher> | null} */ watcher: null,
111
115
  /** @type {{content: string, extension: string}[]} */ changedContent: [],
112
- configDependencies: new Set(),
116
+ /** @type {ReturnType<typeof load> | null} */ configBag: null,
113
117
  contextDependencies: new Set(),
114
118
  /** @type {import('../../lib/content.js').ContentPath[]} */ contentPaths: [],
115
119
  refreshContentPaths () {
116
120
  var _this_context;
117
- this.contentPaths = (0, _contentJs.parseCandidateFiles)(this.context, (_this_context = this.context) === null || _this_context === void 0 ? void 0 : _this_context.tailwindConfig);
121
+ this.contentPaths = (0, _content.parseCandidateFiles)(this.context, (_this_context = this.context) === null || _this_context === void 0 ? void 0 : _this_context.tailwindConfig);
118
122
  },
119
123
  get config () {
120
124
  return this.context.tailwindConfig;
@@ -127,44 +131,58 @@ let state = {
127
131
  },
128
132
  loadConfig (configPath, content) {
129
133
  if (this.watcher && configPath) {
130
- this.refreshConfigDependencies(configPath);
134
+ this.refreshConfigDependencies();
131
135
  }
132
- let config = configPath ? require(configPath) : {};
133
- // @ts-ignore
134
- config = (0, _resolveConfigJs.default)(config, {
135
- content: {
136
- files: []
136
+ let config = (0, _loadconfig.loadConfig)(configPath);
137
+ let dependencies = (0, _getModuleDependencies.default)(configPath);
138
+ this.configBag = {
139
+ config,
140
+ dependencies,
141
+ dispose () {
142
+ for (let file of dependencies){
143
+ delete require.cache[require.resolve(file)];
144
+ }
137
145
  }
138
- });
146
+ };
147
+ // @ts-ignore
148
+ if (false) {
149
+ this.configBag.config = (0, _validateConfig.validateConfig)((0, _resolveConfig.default)(this.configBag.config));
150
+ } else {
151
+ this.configBag.config = (0, _validateConfig.validateConfig)((0, _resolveConfig.default)(this.configBag.config, {
152
+ content: {
153
+ files: []
154
+ }
155
+ }));
156
+ }
139
157
  // Override content files if `--content` has been passed explicitly
140
158
  if ((content === null || content === void 0 ? void 0 : content.length) > 0) {
141
- config.content.files = content;
159
+ this.configBag.config.content.files = content;
142
160
  }
143
- return config;
161
+ return this.configBag.config;
144
162
  },
145
- refreshConfigDependencies (configPath) {
146
- _shared.env.DEBUG && console.time("Module dependencies");
147
- for (let file of this.configDependencies){
148
- delete require.cache[require.resolve(file)];
149
- }
150
- if (configPath) {
151
- let deps = (0, _getModuleDependenciesJs.default)(configPath).map(({ file })=>file);
152
- for (let dependency of deps){
153
- this.configDependencies.add(dependency);
154
- }
155
- }
156
- _shared.env.DEBUG && console.timeEnd("Module dependencies");
163
+ refreshConfigDependencies () {
164
+ var _this_configBag;
165
+ _sharedState.env.DEBUG && console.time("Module dependencies");
166
+ (_this_configBag = this.configBag) === null || _this_configBag === void 0 ? void 0 : _this_configBag.dispose();
167
+ _sharedState.env.DEBUG && console.timeEnd("Module dependencies");
157
168
  },
158
169
  readContentPaths () {
159
170
  let content = [];
160
171
  // Resolve globs from the content config
161
172
  // TODO: When we make the postcss plugin async-capable this can become async
162
- let files = _fastGlob.default.sync(this.contentPatterns.all);
173
+ let files = _fastglob.default.sync(this.contentPatterns.all);
163
174
  for (let file of files){
164
- content.push({
165
- content: _fs.default.readFileSync(_path.default.resolve(file), "utf8"),
166
- extension: _path.default.extname(file).slice(1)
167
- });
175
+ if (false) {
176
+ content.push({
177
+ file,
178
+ extension: _path.default.extname(file).slice(1)
179
+ });
180
+ } else {
181
+ content.push({
182
+ content: _fs.default.readFileSync(_path.default.resolve(file), "utf8"),
183
+ extension: _path.default.extname(file).slice(1)
184
+ });
185
+ }
168
186
  }
169
187
  // Resolve raw content in the tailwind config
170
188
  let rawContent = this.config.content.files.filter((file)=>{
@@ -183,32 +201,30 @@ let state = {
183
201
  this.context.changedContent = this.changedContent.splice(0);
184
202
  return this.context;
185
203
  }
186
- _shared.env.DEBUG && console.time("Searching for config");
187
- var _findAtConfigPath;
188
- let configPath = (_findAtConfigPath = (0, _findAtConfigPathJs.findAtConfigPath)(root, result)) !== null && _findAtConfigPath !== void 0 ? _findAtConfigPath : cliConfigPath;
189
- _shared.env.DEBUG && console.timeEnd("Searching for config");
190
- _shared.env.DEBUG && console.time("Loading config");
204
+ _sharedState.env.DEBUG && console.time("Searching for config");
205
+ var _findAtConfigPath1;
206
+ let configPath = (_findAtConfigPath1 = (0, _findAtConfigPath.findAtConfigPath)(root, result)) !== null && _findAtConfigPath1 !== void 0 ? _findAtConfigPath1 : cliConfigPath;
207
+ _sharedState.env.DEBUG && console.timeEnd("Searching for config");
208
+ _sharedState.env.DEBUG && console.time("Loading config");
191
209
  let config = this.loadConfig(configPath, content);
192
- _shared.env.DEBUG && console.timeEnd("Loading config");
193
- _shared.env.DEBUG && console.time("Creating context");
210
+ _sharedState.env.DEBUG && console.timeEnd("Loading config");
211
+ _sharedState.env.DEBUG && console.time("Creating context");
194
212
  this.context = createContext(config, []);
195
213
  Object.assign(this.context, {
196
214
  userConfigPath: configPath
197
215
  });
198
- _shared.env.DEBUG && console.timeEnd("Creating context");
199
- _shared.env.DEBUG && console.time("Resolving content paths");
216
+ _sharedState.env.DEBUG && console.timeEnd("Creating context");
217
+ _sharedState.env.DEBUG && console.time("Resolving content paths");
200
218
  this.refreshContentPaths();
201
- _shared.env.DEBUG && console.timeEnd("Resolving content paths");
219
+ _sharedState.env.DEBUG && console.timeEnd("Resolving content paths");
202
220
  if (this.watcher) {
203
- _shared.env.DEBUG && console.time("Watch new files");
221
+ _sharedState.env.DEBUG && console.time("Watch new files");
204
222
  this.watcher.refreshWatchedFiles();
205
- _shared.env.DEBUG && console.timeEnd("Watch new files");
223
+ _sharedState.env.DEBUG && console.timeEnd("Watch new files");
206
224
  }
207
- _shared.env.DEBUG && console.time("Reading content files");
208
225
  for (let file of this.readContentPaths()){
209
226
  this.context.changedContent.push(file);
210
227
  }
211
- _shared.env.DEBUG && console.timeEnd("Reading content files");
212
228
  return this.context;
213
229
  }
214
230
  };
@@ -235,7 +251,7 @@ async function createProcessor(args, cliConfigPath) {
235
251
  return {
236
252
  postcssPlugin: "tailwindcss",
237
253
  Once (root, { result }) {
238
- _shared.env.DEBUG && console.time("Compiling CSS");
254
+ _sharedState.env.DEBUG && console.time("Compiling CSS");
239
255
  (0, _processTailwindFeatures.default)(({ createContext })=>{
240
256
  console.error();
241
257
  console.error("Rebuilding...");
@@ -249,7 +265,7 @@ async function createProcessor(args, cliConfigPath) {
249
265
  });
250
266
  };
251
267
  })(root, result);
252
- _shared.env.DEBUG && console.timeEnd("Compiling CSS");
268
+ _sharedState.env.DEBUG && console.timeEnd("Compiling CSS");
253
269
  }
254
270
  };
255
271
  };
@@ -286,17 +302,17 @@ async function createProcessor(args, cliConfigPath) {
286
302
  if (!state.watcher) {
287
303
  return result;
288
304
  }
289
- _shared.env.DEBUG && console.time("Recording PostCSS dependencies");
305
+ _sharedState.env.DEBUG && console.time("Recording PostCSS dependencies");
290
306
  for (let message of result.messages){
291
307
  if (message.type === "dependency") {
292
308
  state.contextDependencies.add(message.file);
293
309
  }
294
310
  }
295
- _shared.env.DEBUG && console.timeEnd("Recording PostCSS dependencies");
311
+ _sharedState.env.DEBUG && console.timeEnd("Recording PostCSS dependencies");
296
312
  // TODO: This needs to be in a different spot
297
- _shared.env.DEBUG && console.time("Watch new files");
313
+ _sharedState.env.DEBUG && console.time("Watch new files");
298
314
  state.watcher.refreshWatchedFiles();
299
- _shared.env.DEBUG && console.timeEnd("Watch new files");
315
+ _sharedState.env.DEBUG && console.timeEnd("Watch new files");
300
316
  return result;
301
317
  }).then((result)=>{
302
318
  if (!output) {
@@ -321,7 +337,11 @@ async function createProcessor(args, cliConfigPath) {
321
337
  // If you fix it and then save the main CSS file so there's no error
322
338
  // The watcher will start watching the imported CSS files and will be
323
339
  // resilient to future errors.
324
- console.error(err);
340
+ if (state.watcher) {
341
+ console.error(err);
342
+ } else {
343
+ return Promise.reject(err);
344
+ }
325
345
  });
326
346
  }
327
347
  /**
@@ -338,13 +358,14 @@ async function createProcessor(args, cliConfigPath) {
338
358
  return {
339
359
  build,
340
360
  watch: async ()=>{
341
- state.watcher = (0, _watchingJs.createWatcher)(args, {
361
+ state.watcher = (0, _watching.createWatcher)(args, {
342
362
  state,
343
363
  /**
344
364
  * @param {{file: string, content(): Promise<string>, extension: string}[]} changes
345
365
  */ async rebuild (changes) {
346
366
  let needsNewContext = changes.some((change)=>{
347
- return state.configDependencies.has(change.file) || state.contextDependencies.has(change.file);
367
+ var _state_configBag;
368
+ return ((_state_configBag = state.configBag) === null || _state_configBag === void 0 ? void 0 : _state_configBag.dependencies.has(change.file)) || state.contextDependencies.has(change.file);
348
369
  });
349
370
  if (needsNewContext) {
350
371
  state.context = null;
@@ -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,15 +5,17 @@ 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
  };
@@ -64,7 +66,9 @@ function createWatcher(args, { state , rebuild }) {
64
66
  // Clear all pending rebuilds for the about-to-be-built files
65
67
  changes.forEach((change)=>pendingRebuilds.delete(change.file));
66
68
  // Resolve the promise even when the rebuild fails
67
- return rebuild(changes).then(()=>{}, ()=>{});
69
+ return rebuild(changes).then(()=>{}, (e)=>{
70
+ console.error(e.toString());
71
+ });
68
72
  }
69
73
  /**
70
74
  *
@@ -109,7 +113,7 @@ function createWatcher(args, { state , rebuild }) {
109
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)
110
114
  // TODO: An an optimization we should allow removal when the config changes
111
115
  watcher.on("unlink", (file)=>{
112
- file = (0, _normalizePath.default)(file);
116
+ file = (0, _normalizepath.default)(file);
113
117
  // Only re-add the file if it's not covered by a dynamic pattern
114
118
  if (!_micromatch.default.some([
115
119
  file
@@ -148,7 +152,7 @@ function createWatcher(args, { state , rebuild }) {
148
152
  // We need to read the file as early as possible outside of the chain
149
153
  // because it may be gone by the time we get to it. doing the read
150
154
  // immediately increases the chance that the file is still there
151
- let content = await (0, _utilsJs.readFileWithRetries)(_path.default.resolve(filePath));
155
+ let content = await (0, _utils.readFileWithRetries)(_path.default.resolve(filePath));
152
156
  if (content === undefined) {
153
157
  return;
154
158
  }
@@ -171,7 +175,7 @@ function createWatcher(args, { state , rebuild }) {
171
175
  fswatcher: watcher,
172
176
  refreshWatchedFiles () {
173
177
  watcher.add(Array.from(state.contextDependencies));
174
- watcher.add(Array.from(state.configDependencies));
178
+ watcher.add(Array.from(state.configBag.dependencies));
175
179
  watcher.add(state.contentPatterns.all);
176
180
  }
177
181
  };
@@ -5,10 +5,12 @@ 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
  };
@@ -17,7 +19,7 @@ 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();