tailwindcss 0.0.0-insiders.eb8d929 → 0.0.0-insiders.ec0049a

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 (277) hide show
  1. package/README.md +5 -6
  2. package/dist/chunk-AZANAYY2.mjs +1 -0
  3. package/dist/chunk-CH45MXZF.mjs +10 -0
  4. package/dist/chunk-V2K3XTS4.mjs +1 -0
  5. package/dist/colors-b_6i0Oi7.d.ts +295 -0
  6. package/dist/colors.d.mts +295 -0
  7. package/dist/colors.d.ts +5 -0
  8. package/dist/colors.js +1 -0
  9. package/dist/colors.mjs +1 -0
  10. package/dist/default-theme.d.mts +1147 -0
  11. package/dist/default-theme.d.ts +1147 -0
  12. package/dist/default-theme.js +1 -0
  13. package/dist/default-theme.mjs +1 -0
  14. package/dist/flatten-color-palette.d.mts +6 -0
  15. package/dist/flatten-color-palette.d.ts +6 -0
  16. package/dist/flatten-color-palette.js +1 -0
  17. package/dist/flatten-color-palette.mjs +1 -0
  18. package/dist/lib.d.mts +260 -0
  19. package/dist/lib.d.ts +3 -0
  20. package/dist/lib.js +33 -0
  21. package/dist/lib.mjs +24 -0
  22. package/dist/plugin.d.mts +11 -0
  23. package/dist/plugin.d.ts +104 -0
  24. package/dist/plugin.js +1 -0
  25. package/dist/plugin.mjs +1 -0
  26. package/dist/resolve-config-BIFUA2FY.d.ts +29 -0
  27. package/dist/resolve-config-QUZ9b-Gn.d.mts +190 -0
  28. package/dist/types-B254mqw1.d.mts +98 -0
  29. package/index.css +863 -3
  30. package/package.json +73 -102
  31. package/preflight.css +383 -0
  32. package/theme.css +453 -0
  33. package/base.css +0 -1
  34. package/colors.d.ts +0 -3
  35. package/colors.js +0 -2
  36. package/components.css +0 -1
  37. package/defaultConfig.d.ts +0 -3
  38. package/defaultConfig.js +0 -2
  39. package/defaultTheme.d.ts +0 -4
  40. package/defaultTheme.js +0 -2
  41. package/lib/cli/build/index.js +0 -57
  42. package/lib/cli/build/plugin.js +0 -381
  43. package/lib/cli/build/utils.js +0 -88
  44. package/lib/cli/build/watching.js +0 -182
  45. package/lib/cli/help/index.js +0 -73
  46. package/lib/cli/index.js +0 -231
  47. package/lib/cli/init/index.js +0 -63
  48. package/lib/cli.js +0 -3
  49. package/lib/corePluginList.js +0 -188
  50. package/lib/corePlugins.js +0 -4197
  51. package/lib/css/LICENSE +0 -25
  52. package/lib/css/preflight.css +0 -375
  53. package/lib/featureFlags.js +0 -84
  54. package/lib/index.js +0 -2
  55. package/lib/lib/cacheInvalidation.js +0 -92
  56. package/lib/lib/collapseAdjacentRules.js +0 -61
  57. package/lib/lib/collapseDuplicateDeclarations.js +0 -85
  58. package/lib/lib/content.js +0 -207
  59. package/lib/lib/defaultExtractor.js +0 -243
  60. package/lib/lib/detectNesting.js +0 -45
  61. package/lib/lib/evaluateTailwindFunctions.js +0 -238
  62. package/lib/lib/expandApplyAtRules.js +0 -534
  63. package/lib/lib/expandTailwindAtRules.js +0 -314
  64. package/lib/lib/findAtConfigPath.js +0 -46
  65. package/lib/lib/generateRules.js +0 -879
  66. package/lib/lib/getModuleDependencies.js +0 -99
  67. package/lib/lib/handleImportAtRules.js +0 -50
  68. package/lib/lib/load-config.js +0 -42
  69. package/lib/lib/normalizeTailwindDirectives.js +0 -74
  70. package/lib/lib/offsets.js +0 -306
  71. package/lib/lib/partitionApplyAtRules.js +0 -58
  72. package/lib/lib/regex.js +0 -74
  73. package/lib/lib/remap-bitfield.js +0 -89
  74. package/lib/lib/resolveDefaultsAtRules.js +0 -165
  75. package/lib/lib/setupContextUtils.js +0 -1245
  76. package/lib/lib/setupTrackingContext.js +0 -166
  77. package/lib/lib/sharedState.js +0 -79
  78. package/lib/lib/substituteScreenAtRules.js +0 -31
  79. package/lib/plugin.js +0 -116
  80. package/lib/postcss-plugins/nesting/README.md +0 -42
  81. package/lib/postcss-plugins/nesting/index.js +0 -21
  82. package/lib/postcss-plugins/nesting/plugin.js +0 -89
  83. package/lib/processTailwindFeatures.js +0 -64
  84. package/lib/public/colors.js +0 -355
  85. package/lib/public/create-plugin.js +0 -17
  86. package/lib/public/default-config.js +0 -18
  87. package/lib/public/default-theme.js +0 -18
  88. package/lib/public/load-config.js +0 -12
  89. package/lib/public/resolve-config.js +0 -24
  90. package/lib/util/applyImportantSelector.js +0 -36
  91. package/lib/util/bigSign.js +0 -13
  92. package/lib/util/buildMediaQuery.js +0 -27
  93. package/lib/util/cloneDeep.js +0 -22
  94. package/lib/util/cloneNodes.js +0 -34
  95. package/lib/util/color.js +0 -116
  96. package/lib/util/colorNames.js +0 -752
  97. package/lib/util/configurePlugins.js +0 -23
  98. package/lib/util/createPlugin.js +0 -32
  99. package/lib/util/createUtilityPlugin.js +0 -53
  100. package/lib/util/dataTypes.js +0 -304
  101. package/lib/util/defaults.js +0 -27
  102. package/lib/util/escapeClassName.js +0 -24
  103. package/lib/util/escapeCommas.js +0 -13
  104. package/lib/util/flattenColorPalette.js +0 -18
  105. package/lib/util/formatVariantSelector.js +0 -263
  106. package/lib/util/getAllConfigs.js +0 -50
  107. package/lib/util/hashConfig.js +0 -21
  108. package/lib/util/isKeyframeRule.js +0 -13
  109. package/lib/util/isPlainObject.js +0 -17
  110. package/lib/util/isSyntacticallyValidPropertyValue.js +0 -74
  111. package/lib/util/log.js +0 -78
  112. package/lib/util/nameClass.js +0 -49
  113. package/lib/util/negateValue.js +0 -36
  114. package/lib/util/normalizeConfig.js +0 -308
  115. package/lib/util/normalizeScreens.js +0 -178
  116. package/lib/util/parseAnimationValue.js +0 -93
  117. package/lib/util/parseBoxShadowValue.js +0 -88
  118. package/lib/util/parseDependency.js +0 -47
  119. package/lib/util/parseGlob.js +0 -36
  120. package/lib/util/parseObjectStyles.js +0 -36
  121. package/lib/util/pluginUtils.js +0 -274
  122. package/lib/util/prefixSelector.js +0 -39
  123. package/lib/util/pseudoElements.js +0 -229
  124. package/lib/util/removeAlphaVariables.js +0 -31
  125. package/lib/util/resolveConfig.js +0 -256
  126. package/lib/util/resolveConfigPath.js +0 -70
  127. package/lib/util/responsive.js +0 -24
  128. package/lib/util/splitAtTopLevelOnly.js +0 -51
  129. package/lib/util/tap.js +0 -14
  130. package/lib/util/toColorValue.js +0 -13
  131. package/lib/util/toPath.js +0 -32
  132. package/lib/util/transformThemeValue.js +0 -73
  133. package/lib/util/validateConfig.js +0 -48
  134. package/lib/util/validateFormalSyntax.js +0 -26
  135. package/lib/util/withAlphaVariable.js +0 -79
  136. package/lib/value-parser/LICENSE +0 -22
  137. package/lib/value-parser/README.md +0 -3
  138. package/lib/value-parser/index.d.js +0 -2
  139. package/lib/value-parser/index.js +0 -22
  140. package/lib/value-parser/parse.js +0 -259
  141. package/lib/value-parser/stringify.js +0 -38
  142. package/lib/value-parser/unit.js +0 -86
  143. package/lib/value-parser/walk.js +0 -16
  144. package/loadConfig.d.ts +0 -4
  145. package/loadConfig.js +0 -2
  146. package/nesting/index.js +0 -2
  147. package/plugin.d.ts +0 -11
  148. package/plugin.js +0 -2
  149. package/prettier.config.js +0 -19
  150. package/resolveConfig.d.ts +0 -12
  151. package/resolveConfig.js +0 -2
  152. package/screens.css +0 -1
  153. package/scripts/create-plugin-list.js +0 -10
  154. package/scripts/generate-types.js +0 -105
  155. package/scripts/release-channel.js +0 -18
  156. package/scripts/release-notes.js +0 -21
  157. package/scripts/type-utils.js +0 -27
  158. package/src/cli/build/index.js +0 -53
  159. package/src/cli/build/plugin.js +0 -457
  160. package/src/cli/build/utils.js +0 -76
  161. package/src/cli/build/watching.js +0 -229
  162. package/src/cli/help/index.js +0 -70
  163. package/src/cli/index.js +0 -217
  164. package/src/cli/init/index.js +0 -79
  165. package/src/cli.js +0 -3
  166. package/src/corePluginList.js +0 -1
  167. package/src/corePlugins.js +0 -2877
  168. package/src/css/LICENSE +0 -25
  169. package/src/css/preflight.css +0 -375
  170. package/src/featureFlags.js +0 -68
  171. package/src/index.js +0 -1
  172. package/src/lib/cacheInvalidation.js +0 -52
  173. package/src/lib/collapseAdjacentRules.js +0 -58
  174. package/src/lib/collapseDuplicateDeclarations.js +0 -93
  175. package/src/lib/content.js +0 -240
  176. package/src/lib/defaultExtractor.js +0 -217
  177. package/src/lib/detectNesting.js +0 -47
  178. package/src/lib/evaluateTailwindFunctions.js +0 -272
  179. package/src/lib/expandApplyAtRules.js +0 -613
  180. package/src/lib/expandTailwindAtRules.js +0 -315
  181. package/src/lib/findAtConfigPath.js +0 -48
  182. package/src/lib/generateRules.js +0 -923
  183. package/src/lib/getModuleDependencies.js +0 -79
  184. package/src/lib/handleImportAtRules.js +0 -34
  185. package/src/lib/load-config.ts +0 -31
  186. package/src/lib/normalizeTailwindDirectives.js +0 -57
  187. package/src/lib/offsets.js +0 -373
  188. package/src/lib/partitionApplyAtRules.js +0 -52
  189. package/src/lib/regex.js +0 -74
  190. package/src/lib/remap-bitfield.js +0 -82
  191. package/src/lib/resolveDefaultsAtRules.js +0 -163
  192. package/src/lib/setupContextUtils.js +0 -1318
  193. package/src/lib/setupTrackingContext.js +0 -169
  194. package/src/lib/sharedState.js +0 -57
  195. package/src/lib/substituteScreenAtRules.js +0 -19
  196. package/src/plugin.js +0 -124
  197. package/src/postcss-plugins/nesting/README.md +0 -42
  198. package/src/postcss-plugins/nesting/index.js +0 -13
  199. package/src/postcss-plugins/nesting/plugin.js +0 -80
  200. package/src/processTailwindFeatures.js +0 -58
  201. package/src/public/colors.js +0 -322
  202. package/src/public/create-plugin.js +0 -2
  203. package/src/public/default-config.js +0 -4
  204. package/src/public/default-theme.js +0 -4
  205. package/src/public/load-config.js +0 -2
  206. package/src/public/resolve-config.js +0 -7
  207. package/src/util/applyImportantSelector.js +0 -27
  208. package/src/util/bigSign.js +0 -3
  209. package/src/util/buildMediaQuery.js +0 -22
  210. package/src/util/cloneDeep.js +0 -11
  211. package/src/util/cloneNodes.js +0 -28
  212. package/src/util/color.js +0 -88
  213. package/src/util/colorNames.js +0 -150
  214. package/src/util/configurePlugins.js +0 -23
  215. package/src/util/createPlugin.js +0 -27
  216. package/src/util/createUtilityPlugin.js +0 -37
  217. package/src/util/dataTypes.js +0 -292
  218. package/src/util/defaults.js +0 -17
  219. package/src/util/escapeClassName.js +0 -8
  220. package/src/util/escapeCommas.js +0 -3
  221. package/src/util/flattenColorPalette.js +0 -13
  222. package/src/util/formatVariantSelector.js +0 -316
  223. package/src/util/getAllConfigs.js +0 -38
  224. package/src/util/hashConfig.js +0 -5
  225. package/src/util/isKeyframeRule.js +0 -3
  226. package/src/util/isPlainObject.js +0 -8
  227. package/src/util/isSyntacticallyValidPropertyValue.js +0 -61
  228. package/src/util/log.js +0 -53
  229. package/src/util/nameClass.js +0 -30
  230. package/src/util/negateValue.js +0 -24
  231. package/src/util/normalizeConfig.js +0 -328
  232. package/src/util/normalizeScreens.js +0 -140
  233. package/src/util/parseAnimationValue.js +0 -68
  234. package/src/util/parseBoxShadowValue.js +0 -72
  235. package/src/util/parseDependency.js +0 -44
  236. package/src/util/parseGlob.js +0 -24
  237. package/src/util/parseObjectStyles.js +0 -19
  238. package/src/util/pluginUtils.js +0 -287
  239. package/src/util/prefixSelector.js +0 -32
  240. package/src/util/pseudoElements.js +0 -170
  241. package/src/util/removeAlphaVariables.js +0 -24
  242. package/src/util/resolveConfig.js +0 -277
  243. package/src/util/resolveConfigPath.js +0 -66
  244. package/src/util/responsive.js +0 -10
  245. package/src/util/splitAtTopLevelOnly.js +0 -52
  246. package/src/util/tap.js +0 -4
  247. package/src/util/toColorValue.js +0 -3
  248. package/src/util/toPath.js +0 -26
  249. package/src/util/transformThemeValue.js +0 -62
  250. package/src/util/validateConfig.js +0 -36
  251. package/src/util/validateFormalSyntax.js +0 -34
  252. package/src/util/withAlphaVariable.js +0 -49
  253. package/src/value-parser/LICENSE +0 -22
  254. package/src/value-parser/README.md +0 -3
  255. package/src/value-parser/index.d.ts +0 -177
  256. package/src/value-parser/index.js +0 -28
  257. package/src/value-parser/parse.js +0 -303
  258. package/src/value-parser/stringify.js +0 -41
  259. package/src/value-parser/unit.js +0 -118
  260. package/src/value-parser/walk.js +0 -18
  261. package/stubs/.gitignore +0 -1
  262. package/stubs/.prettierrc.json +0 -6
  263. package/stubs/config.full.js +0 -1003
  264. package/stubs/config.simple.js +0 -7
  265. package/stubs/postcss.config.cjs +0 -5
  266. package/stubs/postcss.config.js +0 -5
  267. package/stubs/tailwind.config.cjs +0 -2
  268. package/stubs/tailwind.config.js +0 -2
  269. package/stubs/tailwind.config.ts +0 -3
  270. package/tailwind.css +0 -5
  271. package/types/config.d.ts +0 -369
  272. package/types/generated/.gitkeep +0 -0
  273. package/types/generated/colors.d.ts +0 -298
  274. package/types/generated/corePluginList.d.ts +0 -1
  275. package/types/generated/default-theme.d.ts +0 -372
  276. package/types/index.d.ts +0 -7
  277. package/variants.css +0 -1
@@ -1,166 +0,0 @@
1
- // @ts-check
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, // DISABLE_TOUCH = TRUE
7
- // Retrieve an existing context from cache if possible (since contexts are unique per
8
- // source path), or set up a new one (including setting up watchers and registering
9
- // plugins) then return it
10
- "default", {
11
- enumerable: true,
12
- get: function() {
13
- return setupTrackingContext;
14
- }
15
- });
16
- const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
17
- const _quicklru = /*#__PURE__*/ _interop_require_default(require("@alloc/quick-lru"));
18
- const _hashConfig = /*#__PURE__*/ _interop_require_default(require("../util/hashConfig"));
19
- const _resolveconfig = /*#__PURE__*/ _interop_require_default(require("../public/resolve-config"));
20
- const _resolveConfigPath = /*#__PURE__*/ _interop_require_default(require("../util/resolveConfigPath"));
21
- const _setupContextUtils = require("./setupContextUtils");
22
- const _parseDependency = /*#__PURE__*/ _interop_require_default(require("../util/parseDependency"));
23
- const _validateConfig = require("../util/validateConfig.js");
24
- const _content = require("./content.js");
25
- const _loadconfig = require("../lib/load-config");
26
- const _getModuleDependencies = /*#__PURE__*/ _interop_require_default(require("./getModuleDependencies"));
27
- function _interop_require_default(obj) {
28
- return obj && obj.__esModule ? obj : {
29
- default: obj
30
- };
31
- }
32
- let configPathCache = new _quicklru.default({
33
- maxSize: 100
34
- });
35
- let candidateFilesCache = new WeakMap();
36
- function getCandidateFiles(context, tailwindConfig) {
37
- if (candidateFilesCache.has(context)) {
38
- return candidateFilesCache.get(context);
39
- }
40
- let candidateFiles = (0, _content.parseCandidateFiles)(context, tailwindConfig);
41
- return candidateFilesCache.set(context, candidateFiles).get(context);
42
- }
43
- // Get the config object based on a path
44
- function getTailwindConfig(configOrPath) {
45
- let userConfigPath = (0, _resolveConfigPath.default)(configOrPath);
46
- if (userConfigPath !== null) {
47
- let [prevConfig, prevConfigHash, prevDeps, prevModified] = configPathCache.get(userConfigPath) || [];
48
- let newDeps = (0, _getModuleDependencies.default)(userConfigPath);
49
- let modified = false;
50
- let newModified = new Map();
51
- for (let file of newDeps){
52
- let time = _fs.default.statSync(file).mtimeMs;
53
- newModified.set(file, time);
54
- if (!prevModified || !prevModified.has(file) || time > prevModified.get(file)) {
55
- modified = true;
56
- }
57
- }
58
- // It hasn't changed (based on timestamps)
59
- if (!modified) {
60
- return [
61
- prevConfig,
62
- userConfigPath,
63
- prevConfigHash,
64
- prevDeps
65
- ];
66
- }
67
- // It has changed (based on timestamps), or first run
68
- for (let file of newDeps){
69
- delete require.cache[file];
70
- }
71
- let newConfig = (0, _validateConfig.validateConfig)((0, _resolveconfig.default)((0, _loadconfig.loadConfig)(userConfigPath)));
72
- let newHash = (0, _hashConfig.default)(newConfig);
73
- configPathCache.set(userConfigPath, [
74
- newConfig,
75
- newHash,
76
- newDeps,
77
- newModified
78
- ]);
79
- return [
80
- newConfig,
81
- userConfigPath,
82
- newHash,
83
- newDeps
84
- ];
85
- }
86
- var _configOrPath_config, _ref;
87
- // It's a plain object, not a path
88
- let newConfig = (0, _resolveconfig.default)((_ref = (_configOrPath_config = configOrPath === null || configOrPath === void 0 ? void 0 : configOrPath.config) !== null && _configOrPath_config !== void 0 ? _configOrPath_config : configOrPath) !== null && _ref !== void 0 ? _ref : {});
89
- newConfig = (0, _validateConfig.validateConfig)(newConfig);
90
- return [
91
- newConfig,
92
- null,
93
- (0, _hashConfig.default)(newConfig),
94
- []
95
- ];
96
- }
97
- function setupTrackingContext(configOrPath) {
98
- return ({ tailwindDirectives , registerDependency })=>{
99
- return (root, result)=>{
100
- let [tailwindConfig, userConfigPath, tailwindConfigHash, configDependencies] = getTailwindConfig(configOrPath);
101
- let contextDependencies = new Set(configDependencies);
102
- // If there are no @tailwind or @apply rules, we don't consider this CSS
103
- // file or its dependencies to be dependencies of the context. Can reuse
104
- // the context even if they change. We may want to think about `@layer`
105
- // being part of this trigger too, but it's tough because it's impossible
106
- // for a layer in one file to end up in the actual @tailwind rule in
107
- // another file since independent sources are effectively isolated.
108
- if (tailwindDirectives.size > 0) {
109
- // Add current css file as a context dependencies.
110
- contextDependencies.add(result.opts.from);
111
- // Add all css @import dependencies as context dependencies.
112
- for (let message of result.messages){
113
- if (message.type === "dependency") {
114
- contextDependencies.add(message.file);
115
- }
116
- }
117
- }
118
- let [context, , mTimesToCommit] = (0, _setupContextUtils.getContext)(root, result, tailwindConfig, userConfigPath, tailwindConfigHash, contextDependencies);
119
- let fileModifiedMap = (0, _setupContextUtils.getFileModifiedMap)(context);
120
- let candidateFiles = getCandidateFiles(context, tailwindConfig);
121
- // If there are no @tailwind or @apply rules, we don't consider this CSS file or it's
122
- // dependencies to be dependencies of the context. Can reuse the context even if they change.
123
- // We may want to think about `@layer` being part of this trigger too, but it's tough
124
- // because it's impossible for a layer in one file to end up in the actual @tailwind rule
125
- // in another file since independent sources are effectively isolated.
126
- if (tailwindDirectives.size > 0) {
127
- // Add template paths as postcss dependencies.
128
- for (let contentPath of candidateFiles){
129
- for (let dependency of (0, _parseDependency.default)(contentPath)){
130
- registerDependency(dependency);
131
- }
132
- }
133
- let [changedContent, contentMTimesToCommit] = (0, _content.resolvedChangedContent)(context, candidateFiles, fileModifiedMap);
134
- for (let content of changedContent){
135
- context.changedContent.push(content);
136
- }
137
- // Add the mtimes of the content files to the commit list
138
- // We can overwrite the existing values because unconditionally
139
- // This is because:
140
- // 1. Most of the files here won't be in the map yet
141
- // 2. If they are that means it's a context dependency
142
- // and we're reading this after the context. This means
143
- // that the mtime we just read is strictly >= the context
144
- // mtime. Unless the user / os is doing something weird
145
- // in which the mtime would be going backwards. If that
146
- // happens there's already going to be problems.
147
- for (let [path, mtime] of contentMTimesToCommit.entries()){
148
- mTimesToCommit.set(path, mtime);
149
- }
150
- }
151
- for (let file of configDependencies){
152
- registerDependency({
153
- type: "dependency",
154
- file
155
- });
156
- }
157
- // "commit" the new modified time for all context deps
158
- // We do this here because we want content tracking to
159
- // read the "old" mtime even when it's a context dependency.
160
- for (let [path, mtime] of mTimesToCommit.entries()){
161
- fileModifiedMap.set(path, mtime);
162
- }
163
- return context;
164
- };
165
- };
166
- }
@@ -1,79 +0,0 @@
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
- env: function() {
13
- return env;
14
- },
15
- contextMap: function() {
16
- return contextMap;
17
- },
18
- configContextMap: function() {
19
- return configContextMap;
20
- },
21
- contextSourcesMap: function() {
22
- return contextSourcesMap;
23
- },
24
- sourceHashMap: function() {
25
- return sourceHashMap;
26
- },
27
- NOT_ON_DEMAND: function() {
28
- return NOT_ON_DEMAND;
29
- },
30
- NONE: function() {
31
- return NONE;
32
- },
33
- resolveDebug: function() {
34
- return resolveDebug;
35
- }
36
- });
37
- const env = typeof process !== "undefined" ? {
38
- NODE_ENV: process.env.NODE_ENV,
39
- DEBUG: resolveDebug(process.env.DEBUG)
40
- } : {
41
- NODE_ENV: "production",
42
- DEBUG: false
43
- };
44
- const contextMap = new Map();
45
- const configContextMap = new Map();
46
- const contextSourcesMap = new Map();
47
- const sourceHashMap = new Map();
48
- const NOT_ON_DEMAND = new String("*");
49
- const NONE = Symbol("__NONE__");
50
- function resolveDebug(debug) {
51
- if (debug === undefined) {
52
- return false;
53
- }
54
- // Environment variables are strings, so convert to boolean
55
- if (debug === "true" || debug === "1") {
56
- return true;
57
- }
58
- if (debug === "false" || debug === "0") {
59
- return false;
60
- }
61
- // Keep the debug convention into account:
62
- // DEBUG=* -> This enables all debug modes
63
- // DEBUG=projectA,projectB,projectC -> This enables debug for projectA, projectB and projectC
64
- // DEBUG=projectA:* -> This enables all debug modes for projectA (if you have sub-types)
65
- // DEBUG=projectA,-projectB -> This enables debug for projectA and explicitly disables it for projectB
66
- if (debug === "*") {
67
- return true;
68
- }
69
- let debuggers = debug.split(",").map((d)=>d.split(":")[0]);
70
- // Ignoring tailwindcss
71
- if (debuggers.includes("-tailwindcss")) {
72
- return false;
73
- }
74
- // Including tailwindcss
75
- if (debuggers.includes("tailwindcss")) {
76
- return true;
77
- }
78
- return false;
79
- }
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- const _normalizeScreens = require("../util/normalizeScreens");
12
- const _buildMediaQuery = /*#__PURE__*/ _interop_require_default(require("../util/buildMediaQuery"));
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- function _default({ tailwindConfig: { theme } }) {
19
- return function(css) {
20
- css.walkAtRules("screen", (atRule)=>{
21
- let screen = atRule.params;
22
- let screens = (0, _normalizeScreens.normalizeScreens)(theme.screens);
23
- let screenDefinition = screens.find(({ name })=>name === screen);
24
- if (!screenDefinition) {
25
- throw atRule.error(`No \`${screen}\` screen found.`);
26
- }
27
- atRule.name = "media";
28
- atRule.params = (0, _buildMediaQuery.default)(screenDefinition);
29
- });
30
- };
31
- }
package/lib/plugin.js DELETED
@@ -1,116 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- const _postcss = /*#__PURE__*/ _interop_require_default(require("postcss"));
6
- const _lightningcss = /*#__PURE__*/ _interop_require_default(require("lightningcss"));
7
- const _browserslist = /*#__PURE__*/ _interop_require_default(require("browserslist"));
8
- const _setupTrackingContext = /*#__PURE__*/ _interop_require_default(require("./lib/setupTrackingContext"));
9
- const _processTailwindFeatures = /*#__PURE__*/ _interop_require_default(require("./processTailwindFeatures"));
10
- const _sharedState = require("./lib/sharedState");
11
- const _findAtConfigPath = require("./lib/findAtConfigPath");
12
- const _handleImportAtRules = require("./lib/handleImportAtRules");
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- module.exports = function tailwindcss(configOrPath) {
19
- return {
20
- postcssPlugin: "tailwindcss",
21
- plugins: [
22
- _sharedState.env.DEBUG && function(root) {
23
- console.log("\n");
24
- console.time("JIT TOTAL");
25
- return root;
26
- },
27
- ...(0, _handleImportAtRules.handleImportAtRules)(),
28
- function(root, result) {
29
- var _findAtConfigPath1;
30
- // Use the path for the `@config` directive if it exists, otherwise use the
31
- // path for the file being processed
32
- configOrPath = (_findAtConfigPath1 = (0, _findAtConfigPath.findAtConfigPath)(root, result)) !== null && _findAtConfigPath1 !== void 0 ? _findAtConfigPath1 : configOrPath;
33
- let context = (0, _setupTrackingContext.default)(configOrPath);
34
- if (root.type === "document") {
35
- let roots = root.nodes.filter((node)=>node.type === "root");
36
- for (const root of roots){
37
- if (root.type === "root") {
38
- (0, _processTailwindFeatures.default)(context)(root, result);
39
- }
40
- }
41
- return;
42
- }
43
- (0, _processTailwindFeatures.default)(context)(root, result);
44
- },
45
- function lightningCssPlugin(_root, result) {
46
- var _intermediateResult_map, _intermediateResult_map_toJSON;
47
- var _result_map;
48
- let map = (_result_map = result.map) !== null && _result_map !== void 0 ? _result_map : result.opts.map;
49
- let intermediateResult = result.root.toResult({
50
- map: map ? {
51
- inline: true
52
- } : false
53
- });
54
- var _intermediateResult_map_toJSON1;
55
- let intermediateMap = (_intermediateResult_map_toJSON1 = (_intermediateResult_map = intermediateResult.map) === null || _intermediateResult_map === void 0 ? void 0 : (_intermediateResult_map_toJSON = _intermediateResult_map.toJSON) === null || _intermediateResult_map_toJSON === void 0 ? void 0 : _intermediateResult_map_toJSON.call(_intermediateResult_map)) !== null && _intermediateResult_map_toJSON1 !== void 0 ? _intermediateResult_map_toJSON1 : map;
56
- try {
57
- let transformed = _lightningcss.default.transform({
58
- filename: result.opts.from,
59
- code: Buffer.from(intermediateResult.css),
60
- minify: false,
61
- sourceMap: !!intermediateMap,
62
- targets: typeof process !== "undefined" && process.env.JEST_WORKER_ID ? {
63
- chrome: 111 << 16
64
- } : _lightningcss.default.browserslistToTargets((0, _browserslist.default)(require("../package.json").browserslist)),
65
- drafts: {
66
- nesting: true,
67
- customMedia: true
68
- },
69
- nonStandard: {
70
- deepSelectorCombinator: true
71
- }
72
- });
73
- let code = transformed.code.toString();
74
- // https://postcss.org/api/#sourcemapoptions
75
- if (intermediateMap && transformed.map != null) {
76
- let prev = transformed.map.toString();
77
- if (typeof intermediateMap === "object") {
78
- intermediateMap.prev = prev;
79
- } else {
80
- code = `${code}\n/*# sourceMappingURL=data:application/json;base64,${Buffer.from(prev).toString("base64")} */`;
81
- }
82
- }
83
- result.root = _postcss.default.parse(code, {
84
- ...result.opts,
85
- map: intermediateMap
86
- });
87
- } catch (err) {
88
- if (err.source && typeof process !== "undefined" && process.env.JEST_WORKER_ID) {
89
- let lines = err.source.split("\n");
90
- err = new Error([
91
- "Error formatting using Lightning CSS:",
92
- "",
93
- ...[
94
- "```css",
95
- ...lines.slice(Math.max(err.loc.line - 3, 0), err.loc.line),
96
- " ".repeat(err.loc.column - 1) + "^-- " + err.toString(),
97
- ...lines.slice(err.loc.line, err.loc.line + 2),
98
- "```"
99
- ]
100
- ].join("\n"));
101
- }
102
- if (Error.captureStackTrace) {
103
- Error.captureStackTrace(err, lightningCssPlugin);
104
- }
105
- throw err;
106
- }
107
- },
108
- _sharedState.env.DEBUG && function(root) {
109
- console.timeEnd("JIT TOTAL");
110
- console.log("\n");
111
- return root;
112
- }
113
- ].filter(Boolean)
114
- };
115
- };
116
- module.exports.postcss = true;
@@ -1,42 +0,0 @@
1
- # tailwindcss/nesting
2
-
3
- This is a PostCSS plugin that wraps [postcss-nested](https://github.com/postcss/postcss-nested) or [postcss-nesting](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-nesting) and acts as a compatibility layer to make sure your nesting plugin of choice properly understands Tailwind's custom syntax like `@apply` and `@screen`.
4
-
5
- Add it to your PostCSS configuration, somewhere before Tailwind itself:
6
-
7
- ```js
8
- // postcss.config.js
9
- module.exports = {
10
- plugins: [
11
- require('postcss-import'),
12
- require('tailwindcss/nesting'),
13
- require('tailwindcss'),
14
- require('autoprefixer'),
15
- ]
16
- }
17
- ```
18
-
19
- By default, it uses the [postcss-nested](https://github.com/postcss/postcss-nested) plugin under the hood, which uses a Sass-like syntax and is the plugin that powers nesting support in the [Tailwind CSS plugin API](https://tailwindcss.com/docs/plugins#css-in-js-syntax).
20
-
21
- If you'd rather use [postcss-nesting](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-nesting) (which is based on the work-in-progress [CSS Nesting](https://drafts.csswg.org/css-nesting-1/) specification), first install the plugin alongside:
22
-
23
- ```shell
24
- npm install postcss-nesting
25
- ```
26
-
27
- Then pass the plugin itself as an argument to `tailwindcss/nesting` in your PostCSS configuration:
28
-
29
- ```js
30
- // postcss.config.js
31
- module.exports = {
32
- plugins: [
33
- require('postcss-import'),
34
- require('tailwindcss/nesting')(require('postcss-nesting')),
35
- require('tailwindcss'),
36
- require('autoprefixer'),
37
- ]
38
- }
39
- ```
40
-
41
- This can also be helpful if for whatever reason you need to use a very specific version of `postcss-nested` and want to override the version we bundle with `tailwindcss/nesting` itself.
42
-
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- const _plugin = require("./plugin");
12
- const _default = Object.assign(function(opts) {
13
- return {
14
- postcssPlugin: "tailwindcss/nesting",
15
- Once (root, { result }) {
16
- return (0, _plugin.nesting)(opts)(root, result);
17
- }
18
- };
19
- }, {
20
- postcss: true
21
- });
@@ -1,89 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "nesting", {
6
- enumerable: true,
7
- get: function() {
8
- return nesting;
9
- }
10
- });
11
- const _postcss = /*#__PURE__*/ _interop_require_default(require("postcss"));
12
- const _postcssnested = /*#__PURE__*/ _interop_require_default(require("postcss-nested"));
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- function nesting(opts = _postcssnested.default) {
19
- return (root, result)=>{
20
- root.walkAtRules("screen", (rule)=>{
21
- rule.name = "media";
22
- rule.params = `screen(${rule.params})`;
23
- });
24
- root.walkAtRules("apply", (rule)=>{
25
- rule.before(_postcss.default.decl({
26
- prop: "__apply",
27
- value: rule.params,
28
- source: rule.source
29
- }));
30
- rule.remove();
31
- });
32
- let plugin = (()=>{
33
- var _opts_hasOwnProperty;
34
- if (typeof opts === "function" || typeof opts === "object" && (opts === null || opts === void 0 ? void 0 : (_opts_hasOwnProperty = opts.hasOwnProperty) === null || _opts_hasOwnProperty === void 0 ? void 0 : _opts_hasOwnProperty.call(opts, "postcssPlugin"))) {
35
- return opts;
36
- }
37
- if (typeof opts === "string") {
38
- return require(opts);
39
- }
40
- if (Object.keys(opts).length <= 0) {
41
- return _postcssnested.default;
42
- }
43
- throw new Error("tailwindcss/nesting should be loaded with a nesting plugin.");
44
- })();
45
- (0, _postcss.default)([
46
- plugin
47
- ]).process(root, result.opts).sync();
48
- root.walkDecls("__apply", (decl)=>{
49
- decl.before(_postcss.default.atRule({
50
- name: "apply",
51
- params: decl.value,
52
- source: decl.source
53
- }));
54
- decl.remove();
55
- });
56
- /**
57
- * Use a private PostCSS API to remove the "clean" flag from the entire AST.
58
- * This is done because running process() on the AST will set the "clean"
59
- * flag on all nodes, which we don't want.
60
- *
61
- * This causes downstream plugins using the visitor API to be skipped.
62
- *
63
- * This is guarded because the PostCSS API is not public
64
- * and may change in future versions of PostCSS.
65
- *
66
- * See https://github.com/postcss/postcss/issues/1712 for more details
67
- *
68
- * @param {import('postcss').Node} node
69
- */ function markDirty(node) {
70
- if (!("markDirty" in node)) {
71
- return;
72
- }
73
- // Traverse the tree down to the leaf nodes
74
- if (node.nodes) {
75
- node.nodes.forEach((n)=>markDirty(n));
76
- }
77
- // If it's a leaf node mark it as dirty
78
- // We do this here because marking a node as dirty
79
- // will walk up the tree and mark all parents as dirty
80
- // resulting in a lot of unnecessary work if we did this
81
- // for every single node
82
- if (!node.nodes) {
83
- node.markDirty();
84
- }
85
- }
86
- markDirty(root);
87
- return root;
88
- };
89
- }
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return processTailwindFeatures;
9
- }
10
- });
11
- const _normalizeTailwindDirectives = /*#__PURE__*/ _interop_require_default(require("./lib/normalizeTailwindDirectives"));
12
- const _expandTailwindAtRules = /*#__PURE__*/ _interop_require_default(require("./lib/expandTailwindAtRules"));
13
- const _expandApplyAtRules = /*#__PURE__*/ _interop_require_default(require("./lib/expandApplyAtRules"));
14
- const _evaluateTailwindFunctions = /*#__PURE__*/ _interop_require_default(require("./lib/evaluateTailwindFunctions"));
15
- const _substituteScreenAtRules = /*#__PURE__*/ _interop_require_default(require("./lib/substituteScreenAtRules"));
16
- const _resolveDefaultsAtRules = /*#__PURE__*/ _interop_require_default(require("./lib/resolveDefaultsAtRules"));
17
- const _collapseAdjacentRules = /*#__PURE__*/ _interop_require_default(require("./lib/collapseAdjacentRules"));
18
- const _collapseDuplicateDeclarations = /*#__PURE__*/ _interop_require_default(require("./lib/collapseDuplicateDeclarations"));
19
- const _partitionApplyAtRules = /*#__PURE__*/ _interop_require_default(require("./lib/partitionApplyAtRules"));
20
- const _detectNesting = /*#__PURE__*/ _interop_require_default(require("./lib/detectNesting"));
21
- const _setupContextUtils = require("./lib/setupContextUtils");
22
- const _featureFlags = require("./featureFlags");
23
- function _interop_require_default(obj) {
24
- return obj && obj.__esModule ? obj : {
25
- default: obj
26
- };
27
- }
28
- function processTailwindFeatures(setupContext) {
29
- return function(root, result) {
30
- let { tailwindDirectives , applyDirectives } = (0, _normalizeTailwindDirectives.default)(root);
31
- (0, _detectNesting.default)()(root, result);
32
- // Partition apply rules that are found in the css
33
- // itself.
34
- (0, _partitionApplyAtRules.default)()(root, result);
35
- let context = setupContext({
36
- tailwindDirectives,
37
- applyDirectives,
38
- registerDependency (dependency) {
39
- result.messages.push({
40
- plugin: "tailwindcss",
41
- parent: result.opts.from,
42
- ...dependency
43
- });
44
- },
45
- createContext (tailwindConfig, changedContent) {
46
- return (0, _setupContextUtils.createContext)(tailwindConfig, changedContent, root);
47
- }
48
- })(root, result);
49
- if (context.tailwindConfig.separator === "-") {
50
- throw new Error("The '-' character cannot be used as a custom separator in JIT mode due to parsing ambiguity. Please use another character like '_' instead.");
51
- }
52
- (0, _featureFlags.issueFlagNotices)(context.tailwindConfig);
53
- (0, _expandTailwindAtRules.default)(context)(root, result);
54
- // Partition apply rules that are generated by
55
- // addComponents, addUtilities and so on.
56
- (0, _partitionApplyAtRules.default)()(root, result);
57
- (0, _expandApplyAtRules.default)(context)(root, result);
58
- (0, _evaluateTailwindFunctions.default)(context)(root, result);
59
- (0, _substituteScreenAtRules.default)(context)(root, result);
60
- (0, _resolveDefaultsAtRules.default)(context)(root, result);
61
- (0, _collapseAdjacentRules.default)(context)(root, result);
62
- (0, _collapseDuplicateDeclarations.default)(context)(root, result);
63
- };
64
- }