tailwindcss 3.4.1 → 4.0.0-alpha.2

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 (280) hide show
  1. package/README.md +5 -6
  2. package/dist/lib.d.mts +324 -0
  3. package/dist/lib.d.ts +324 -0
  4. package/dist/lib.js +11 -0
  5. package/dist/lib.mjs +11 -0
  6. package/index.css +5 -0
  7. package/package.json +29 -107
  8. package/preflight.css +355 -0
  9. package/theme.css +465 -0
  10. package/CHANGELOG.md +0 -2571
  11. package/base.css +0 -1
  12. package/colors.d.ts +0 -3
  13. package/colors.js +0 -2
  14. package/components.css +0 -1
  15. package/defaultConfig.d.ts +0 -3
  16. package/defaultConfig.js +0 -2
  17. package/defaultTheme.d.ts +0 -4
  18. package/defaultTheme.js +0 -2
  19. package/lib/cli/build/deps.js +0 -62
  20. package/lib/cli/build/index.js +0 -54
  21. package/lib/cli/build/plugin.js +0 -378
  22. package/lib/cli/build/utils.js +0 -88
  23. package/lib/cli/build/watching.js +0 -182
  24. package/lib/cli/help/index.js +0 -73
  25. package/lib/cli/index.js +0 -230
  26. package/lib/cli/init/index.js +0 -63
  27. package/lib/cli-peer-dependencies.js +0 -36
  28. package/lib/cli.js +0 -7
  29. package/lib/corePluginList.js +0 -190
  30. package/lib/corePlugins.js +0 -4282
  31. package/lib/css/LICENSE +0 -25
  32. package/lib/css/preflight.css +0 -385
  33. package/lib/featureFlags.js +0 -83
  34. package/lib/index.js +0 -2
  35. package/lib/lib/cacheInvalidation.js +0 -92
  36. package/lib/lib/collapseAdjacentRules.js +0 -61
  37. package/lib/lib/collapseDuplicateDeclarations.js +0 -85
  38. package/lib/lib/content.js +0 -181
  39. package/lib/lib/defaultExtractor.js +0 -251
  40. package/lib/lib/detectNesting.js +0 -45
  41. package/lib/lib/evaluateTailwindFunctions.js +0 -238
  42. package/lib/lib/expandApplyAtRules.js +0 -540
  43. package/lib/lib/expandTailwindAtRules.js +0 -291
  44. package/lib/lib/findAtConfigPath.js +0 -46
  45. package/lib/lib/generateRules.js +0 -904
  46. package/lib/lib/getModuleDependencies.js +0 -99
  47. package/lib/lib/load-config.js +0 -53
  48. package/lib/lib/normalizeTailwindDirectives.js +0 -89
  49. package/lib/lib/offsets.js +0 -306
  50. package/lib/lib/partitionApplyAtRules.js +0 -58
  51. package/lib/lib/regex.js +0 -74
  52. package/lib/lib/remap-bitfield.js +0 -89
  53. package/lib/lib/resolveDefaultsAtRules.js +0 -165
  54. package/lib/lib/setupContextUtils.js +0 -1294
  55. package/lib/lib/setupTrackingContext.js +0 -166
  56. package/lib/lib/sharedState.js +0 -87
  57. package/lib/lib/substituteScreenAtRules.js +0 -31
  58. package/lib/oxide/cli/build/deps.js +0 -89
  59. package/lib/oxide/cli/build/index.js +0 -53
  60. package/lib/oxide/cli/build/plugin.js +0 -375
  61. package/lib/oxide/cli/build/utils.js +0 -87
  62. package/lib/oxide/cli/build/watching.js +0 -179
  63. package/lib/oxide/cli/help/index.js +0 -72
  64. package/lib/oxide/cli/index.js +0 -214
  65. package/lib/oxide/cli/init/index.js +0 -52
  66. package/lib/oxide/cli.js +0 -5
  67. package/lib/oxide/postcss-plugin.js +0 -2
  68. package/lib/plugin.js +0 -98
  69. package/lib/postcss-plugins/nesting/README.md +0 -42
  70. package/lib/postcss-plugins/nesting/index.js +0 -21
  71. package/lib/postcss-plugins/nesting/plugin.js +0 -89
  72. package/lib/processTailwindFeatures.js +0 -64
  73. package/lib/public/colors.js +0 -355
  74. package/lib/public/create-plugin.js +0 -17
  75. package/lib/public/default-config.js +0 -18
  76. package/lib/public/default-theme.js +0 -18
  77. package/lib/public/load-config.js +0 -12
  78. package/lib/public/resolve-config.js +0 -24
  79. package/lib/util/applyImportantSelector.js +0 -36
  80. package/lib/util/bigSign.js +0 -13
  81. package/lib/util/buildMediaQuery.js +0 -27
  82. package/lib/util/cloneDeep.js +0 -22
  83. package/lib/util/cloneNodes.js +0 -54
  84. package/lib/util/color.js +0 -116
  85. package/lib/util/colorNames.js +0 -752
  86. package/lib/util/configurePlugins.js +0 -23
  87. package/lib/util/createPlugin.js +0 -32
  88. package/lib/util/createUtilityPlugin.js +0 -53
  89. package/lib/util/dataTypes.js +0 -415
  90. package/lib/util/defaults.js +0 -27
  91. package/lib/util/escapeClassName.js +0 -24
  92. package/lib/util/escapeCommas.js +0 -13
  93. package/lib/util/flattenColorPalette.js +0 -18
  94. package/lib/util/formatVariantSelector.js +0 -270
  95. package/lib/util/getAllConfigs.js +0 -50
  96. package/lib/util/hashConfig.js +0 -21
  97. package/lib/util/isKeyframeRule.js +0 -13
  98. package/lib/util/isPlainObject.js +0 -17
  99. package/lib/util/isSyntacticallyValidPropertyValue.js +0 -74
  100. package/lib/util/log.js +0 -61
  101. package/lib/util/nameClass.js +0 -49
  102. package/lib/util/negateValue.js +0 -36
  103. package/lib/util/normalizeConfig.js +0 -282
  104. package/lib/util/normalizeScreens.js +0 -178
  105. package/lib/util/parseAnimationValue.js +0 -93
  106. package/lib/util/parseBoxShadowValue.js +0 -88
  107. package/lib/util/parseDependency.js +0 -47
  108. package/lib/util/parseGlob.js +0 -36
  109. package/lib/util/parseObjectStyles.js +0 -36
  110. package/lib/util/pluginUtils.js +0 -289
  111. package/lib/util/prefixSelector.js +0 -39
  112. package/lib/util/pseudoElements.js +0 -212
  113. package/lib/util/removeAlphaVariables.js +0 -31
  114. package/lib/util/resolveConfig.js +0 -256
  115. package/lib/util/resolveConfigPath.js +0 -70
  116. package/lib/util/responsive.js +0 -24
  117. package/lib/util/splitAtTopLevelOnly.js +0 -51
  118. package/lib/util/tap.js +0 -14
  119. package/lib/util/toColorValue.js +0 -13
  120. package/lib/util/toPath.js +0 -32
  121. package/lib/util/transformThemeValue.js +0 -73
  122. package/lib/util/validateConfig.js +0 -37
  123. package/lib/util/validateFormalSyntax.js +0 -26
  124. package/lib/util/withAlphaVariable.js +0 -79
  125. package/lib/value-parser/LICENSE +0 -22
  126. package/lib/value-parser/README.md +0 -3
  127. package/lib/value-parser/index.d.js +0 -2
  128. package/lib/value-parser/index.js +0 -22
  129. package/lib/value-parser/parse.js +0 -259
  130. package/lib/value-parser/stringify.js +0 -38
  131. package/lib/value-parser/unit.js +0 -86
  132. package/lib/value-parser/walk.js +0 -16
  133. package/loadConfig.d.ts +0 -4
  134. package/loadConfig.js +0 -2
  135. package/nesting/index.d.ts +0 -4
  136. package/nesting/index.js +0 -2
  137. package/peers/index.js +0 -96624
  138. package/plugin.d.ts +0 -11
  139. package/plugin.js +0 -2
  140. package/prettier.config.js +0 -19
  141. package/resolveConfig.d.ts +0 -31
  142. package/resolveConfig.js +0 -2
  143. package/screens.css +0 -1
  144. package/scripts/create-plugin-list.js +0 -10
  145. package/scripts/generate-types.js +0 -104
  146. package/scripts/release-channel.js +0 -18
  147. package/scripts/release-notes.js +0 -21
  148. package/scripts/swap-engines.js +0 -40
  149. package/scripts/type-utils.js +0 -27
  150. package/src/cli/build/deps.js +0 -56
  151. package/src/cli/build/index.js +0 -49
  152. package/src/cli/build/plugin.js +0 -444
  153. package/src/cli/build/utils.js +0 -76
  154. package/src/cli/build/watching.js +0 -229
  155. package/src/cli/help/index.js +0 -70
  156. package/src/cli/index.js +0 -216
  157. package/src/cli/init/index.js +0 -79
  158. package/src/cli-peer-dependencies.js +0 -15
  159. package/src/cli.js +0 -7
  160. package/src/corePluginList.js +0 -1
  161. package/src/corePlugins.js +0 -2943
  162. package/src/css/LICENSE +0 -25
  163. package/src/css/preflight.css +0 -385
  164. package/src/featureFlags.js +0 -66
  165. package/src/index.js +0 -1
  166. package/src/lib/cacheInvalidation.js +0 -52
  167. package/src/lib/collapseAdjacentRules.js +0 -58
  168. package/src/lib/collapseDuplicateDeclarations.js +0 -93
  169. package/src/lib/content.js +0 -208
  170. package/src/lib/defaultExtractor.js +0 -230
  171. package/src/lib/detectNesting.js +0 -47
  172. package/src/lib/evaluateTailwindFunctions.js +0 -272
  173. package/src/lib/expandApplyAtRules.js +0 -620
  174. package/src/lib/expandTailwindAtRules.js +0 -300
  175. package/src/lib/findAtConfigPath.js +0 -48
  176. package/src/lib/generateRules.js +0 -951
  177. package/src/lib/getModuleDependencies.js +0 -79
  178. package/src/lib/load-config.ts +0 -39
  179. package/src/lib/normalizeTailwindDirectives.js +0 -84
  180. package/src/lib/offsets.js +0 -373
  181. package/src/lib/partitionApplyAtRules.js +0 -52
  182. package/src/lib/regex.js +0 -74
  183. package/src/lib/remap-bitfield.js +0 -82
  184. package/src/lib/resolveDefaultsAtRules.js +0 -163
  185. package/src/lib/setupContextUtils.js +0 -1366
  186. package/src/lib/setupTrackingContext.js +0 -169
  187. package/src/lib/sharedState.js +0 -61
  188. package/src/lib/substituteScreenAtRules.js +0 -19
  189. package/src/oxide/cli/build/deps.ts +0 -91
  190. package/src/oxide/cli/build/index.ts +0 -47
  191. package/src/oxide/cli/build/plugin.ts +0 -442
  192. package/src/oxide/cli/build/utils.ts +0 -74
  193. package/src/oxide/cli/build/watching.ts +0 -225
  194. package/src/oxide/cli/help/index.ts +0 -69
  195. package/src/oxide/cli/index.ts +0 -204
  196. package/src/oxide/cli/init/index.ts +0 -59
  197. package/src/oxide/cli.ts +0 -1
  198. package/src/oxide/postcss-plugin.ts +0 -1
  199. package/src/plugin.js +0 -107
  200. package/src/postcss-plugins/nesting/README.md +0 -42
  201. package/src/postcss-plugins/nesting/index.js +0 -13
  202. package/src/postcss-plugins/nesting/plugin.js +0 -80
  203. package/src/processTailwindFeatures.js +0 -59
  204. package/src/public/colors.js +0 -322
  205. package/src/public/create-plugin.js +0 -2
  206. package/src/public/default-config.js +0 -4
  207. package/src/public/default-theme.js +0 -4
  208. package/src/public/load-config.js +0 -2
  209. package/src/public/resolve-config.js +0 -7
  210. package/src/util/applyImportantSelector.js +0 -27
  211. package/src/util/bigSign.js +0 -3
  212. package/src/util/buildMediaQuery.js +0 -22
  213. package/src/util/cloneDeep.js +0 -11
  214. package/src/util/cloneNodes.js +0 -49
  215. package/src/util/color.js +0 -88
  216. package/src/util/colorNames.js +0 -150
  217. package/src/util/configurePlugins.js +0 -23
  218. package/src/util/createPlugin.js +0 -27
  219. package/src/util/createUtilityPlugin.js +0 -37
  220. package/src/util/dataTypes.js +0 -406
  221. package/src/util/defaults.js +0 -17
  222. package/src/util/escapeClassName.js +0 -8
  223. package/src/util/escapeCommas.js +0 -3
  224. package/src/util/flattenColorPalette.js +0 -13
  225. package/src/util/formatVariantSelector.js +0 -324
  226. package/src/util/getAllConfigs.js +0 -38
  227. package/src/util/hashConfig.js +0 -5
  228. package/src/util/isKeyframeRule.js +0 -3
  229. package/src/util/isPlainObject.js +0 -8
  230. package/src/util/isSyntacticallyValidPropertyValue.js +0 -61
  231. package/src/util/log.js +0 -29
  232. package/src/util/nameClass.js +0 -30
  233. package/src/util/negateValue.js +0 -24
  234. package/src/util/normalizeConfig.js +0 -301
  235. package/src/util/normalizeScreens.js +0 -140
  236. package/src/util/parseAnimationValue.js +0 -68
  237. package/src/util/parseBoxShadowValue.js +0 -72
  238. package/src/util/parseDependency.js +0 -44
  239. package/src/util/parseGlob.js +0 -24
  240. package/src/util/parseObjectStyles.js +0 -19
  241. package/src/util/pluginUtils.js +0 -307
  242. package/src/util/prefixSelector.js +0 -33
  243. package/src/util/pseudoElements.js +0 -171
  244. package/src/util/removeAlphaVariables.js +0 -24
  245. package/src/util/resolveConfig.js +0 -277
  246. package/src/util/resolveConfigPath.js +0 -66
  247. package/src/util/responsive.js +0 -10
  248. package/src/util/splitAtTopLevelOnly.js +0 -52
  249. package/src/util/tap.js +0 -4
  250. package/src/util/toColorValue.js +0 -3
  251. package/src/util/toPath.js +0 -26
  252. package/src/util/transformThemeValue.js +0 -62
  253. package/src/util/validateConfig.js +0 -26
  254. package/src/util/validateFormalSyntax.js +0 -34
  255. package/src/util/withAlphaVariable.js +0 -49
  256. package/src/value-parser/LICENSE +0 -22
  257. package/src/value-parser/README.md +0 -3
  258. package/src/value-parser/index.d.ts +0 -177
  259. package/src/value-parser/index.js +0 -28
  260. package/src/value-parser/parse.js +0 -303
  261. package/src/value-parser/stringify.js +0 -41
  262. package/src/value-parser/unit.js +0 -118
  263. package/src/value-parser/walk.js +0 -18
  264. package/stubs/.gitignore +0 -1
  265. package/stubs/.prettierrc.json +0 -6
  266. package/stubs/config.full.js +0 -1062
  267. package/stubs/config.simple.js +0 -7
  268. package/stubs/postcss.config.cjs +0 -6
  269. package/stubs/postcss.config.js +0 -6
  270. package/stubs/tailwind.config.cjs +0 -2
  271. package/stubs/tailwind.config.js +0 -2
  272. package/stubs/tailwind.config.ts +0 -3
  273. package/tailwind.css +0 -5
  274. package/types/config.d.ts +0 -376
  275. package/types/generated/.gitkeep +0 -0
  276. package/types/generated/colors.d.ts +0 -298
  277. package/types/generated/corePluginList.d.ts +0 -1
  278. package/types/generated/default-theme.d.ts +0 -397
  279. package/types/index.d.ts +0 -11
  280. package/variants.css +0 -1
@@ -1,169 +0,0 @@
1
- // @ts-check
2
-
3
- import fs from 'fs'
4
- import LRU from '@alloc/quick-lru'
5
-
6
- import hash from '../util/hashConfig'
7
- import resolveConfig from '../public/resolve-config'
8
- import resolveConfigPath from '../util/resolveConfigPath'
9
- import { getContext, getFileModifiedMap } from './setupContextUtils'
10
- import parseDependency from '../util/parseDependency'
11
- import { validateConfig } from '../util/validateConfig.js'
12
- import { parseCandidateFiles, resolvedChangedContent } from './content.js'
13
- import { loadConfig } from '../lib/load-config'
14
- import getModuleDependencies from './getModuleDependencies'
15
-
16
- let configPathCache = new LRU({ maxSize: 100 })
17
-
18
- let candidateFilesCache = new WeakMap()
19
-
20
- function getCandidateFiles(context, tailwindConfig) {
21
- if (candidateFilesCache.has(context)) {
22
- return candidateFilesCache.get(context)
23
- }
24
-
25
- let candidateFiles = parseCandidateFiles(context, tailwindConfig)
26
-
27
- return candidateFilesCache.set(context, candidateFiles).get(context)
28
- }
29
-
30
- // Get the config object based on a path
31
- function getTailwindConfig(configOrPath) {
32
- let userConfigPath = resolveConfigPath(configOrPath)
33
-
34
- if (userConfigPath !== null) {
35
- let [prevConfig, prevConfigHash, prevDeps, prevModified] =
36
- configPathCache.get(userConfigPath) || []
37
-
38
- let newDeps = getModuleDependencies(userConfigPath)
39
-
40
- let modified = false
41
- let newModified = new Map()
42
- for (let file of newDeps) {
43
- let time = fs.statSync(file).mtimeMs
44
- newModified.set(file, time)
45
- if (!prevModified || !prevModified.has(file) || time > prevModified.get(file)) {
46
- modified = true
47
- }
48
- }
49
-
50
- // It hasn't changed (based on timestamps)
51
- if (!modified) {
52
- return [prevConfig, userConfigPath, prevConfigHash, prevDeps]
53
- }
54
-
55
- // It has changed (based on timestamps), or first run
56
- for (let file of newDeps) {
57
- delete require.cache[file]
58
- }
59
- let newConfig = validateConfig(resolveConfig(loadConfig(userConfigPath)))
60
- let newHash = hash(newConfig)
61
- configPathCache.set(userConfigPath, [newConfig, newHash, newDeps, newModified])
62
- return [newConfig, userConfigPath, newHash, newDeps]
63
- }
64
-
65
- // It's a plain object, not a path
66
- let newConfig = resolveConfig(configOrPath?.config ?? configOrPath ?? {})
67
-
68
- newConfig = validateConfig(newConfig)
69
-
70
- return [newConfig, null, hash(newConfig), []]
71
- }
72
-
73
- // DISABLE_TOUCH = TRUE
74
-
75
- // Retrieve an existing context from cache if possible (since contexts are unique per
76
- // source path), or set up a new one (including setting up watchers and registering
77
- // plugins) then return it
78
- export default function setupTrackingContext(configOrPath) {
79
- return ({ tailwindDirectives, registerDependency }) => {
80
- return (root, result) => {
81
- let [tailwindConfig, userConfigPath, tailwindConfigHash, configDependencies] =
82
- getTailwindConfig(configOrPath)
83
-
84
- let contextDependencies = new Set(configDependencies)
85
-
86
- // If there are no @tailwind or @apply rules, we don't consider this CSS
87
- // file or its dependencies to be dependencies of the context. Can reuse
88
- // the context even if they change. We may want to think about `@layer`
89
- // being part of this trigger too, but it's tough because it's impossible
90
- // for a layer in one file to end up in the actual @tailwind rule in
91
- // another file since independent sources are effectively isolated.
92
- if (tailwindDirectives.size > 0) {
93
- // Add current css file as a context dependencies.
94
- contextDependencies.add(result.opts.from)
95
-
96
- // Add all css @import dependencies as context dependencies.
97
- for (let message of result.messages) {
98
- if (message.type === 'dependency') {
99
- contextDependencies.add(message.file)
100
- }
101
- }
102
- }
103
-
104
- let [context, , mTimesToCommit] = getContext(
105
- root,
106
- result,
107
- tailwindConfig,
108
- userConfigPath,
109
- tailwindConfigHash,
110
- contextDependencies
111
- )
112
-
113
- let fileModifiedMap = getFileModifiedMap(context)
114
-
115
- let candidateFiles = getCandidateFiles(context, tailwindConfig)
116
-
117
- // If there are no @tailwind or @apply rules, we don't consider this CSS file or it's
118
- // dependencies to be dependencies of the context. Can reuse the context even if they change.
119
- // We may want to think about `@layer` being part of this trigger too, but it's tough
120
- // because it's impossible for a layer in one file to end up in the actual @tailwind rule
121
- // in another file since independent sources are effectively isolated.
122
- if (tailwindDirectives.size > 0) {
123
- // Add template paths as postcss dependencies.
124
- for (let contentPath of candidateFiles) {
125
- for (let dependency of parseDependency(contentPath)) {
126
- registerDependency(dependency)
127
- }
128
- }
129
-
130
- let [changedContent, contentMTimesToCommit] = resolvedChangedContent(
131
- context,
132
- candidateFiles,
133
- fileModifiedMap
134
- )
135
-
136
- for (let content of changedContent) {
137
- context.changedContent.push(content)
138
- }
139
-
140
- // Add the mtimes of the content files to the commit list
141
- // We can overwrite the existing values because unconditionally
142
- // This is because:
143
- // 1. Most of the files here won't be in the map yet
144
- // 2. If they are that means it's a context dependency
145
- // and we're reading this after the context. This means
146
- // that the mtime we just read is strictly >= the context
147
- // mtime. Unless the user / os is doing something weird
148
- // in which the mtime would be going backwards. If that
149
- // happens there's already going to be problems.
150
- for (let [path, mtime] of contentMTimesToCommit.entries()) {
151
- mTimesToCommit.set(path, mtime)
152
- }
153
- }
154
-
155
- for (let file of configDependencies) {
156
- registerDependency({ type: 'dependency', file })
157
- }
158
-
159
- // "commit" the new modified time for all context deps
160
- // We do this here because we want content tracking to
161
- // read the "old" mtime even when it's a context dependency.
162
- for (let [path, mtime] of mTimesToCommit.entries()) {
163
- fileModifiedMap.set(path, mtime)
164
- }
165
-
166
- return context
167
- }
168
- }
169
- }
@@ -1,61 +0,0 @@
1
- import pkg from '../../package.json'
2
-
3
- export const env =
4
- typeof process !== 'undefined'
5
- ? {
6
- NODE_ENV: process.env.NODE_ENV,
7
- DEBUG: resolveDebug(process.env.DEBUG),
8
- ENGINE: pkg.tailwindcss.engine,
9
- }
10
- : {
11
- NODE_ENV: 'production',
12
- DEBUG: false,
13
- ENGINE: pkg.tailwindcss.engine,
14
- }
15
-
16
- export const contextMap = new Map()
17
- export const configContextMap = new Map()
18
- export const contextSourcesMap = new Map()
19
- export const sourceHashMap = new Map()
20
- export const NOT_ON_DEMAND = new String('*')
21
-
22
- export const NONE = Symbol('__NONE__')
23
-
24
- export function resolveDebug(debug) {
25
- if (debug === undefined) {
26
- return false
27
- }
28
-
29
- // Environment variables are strings, so convert to boolean
30
- if (debug === 'true' || debug === '1') {
31
- return true
32
- }
33
-
34
- if (debug === 'false' || debug === '0') {
35
- return false
36
- }
37
-
38
- // Keep the debug convention into account:
39
- // DEBUG=* -> This enables all debug modes
40
- // DEBUG=projectA,projectB,projectC -> This enables debug for projectA, projectB and projectC
41
- // DEBUG=projectA:* -> This enables all debug modes for projectA (if you have sub-types)
42
- // DEBUG=projectA,-projectB -> This enables debug for projectA and explicitly disables it for projectB
43
-
44
- if (debug === '*') {
45
- return true
46
- }
47
-
48
- let debuggers = debug.split(',').map((d) => d.split(':')[0])
49
-
50
- // Ignoring tailwindcss
51
- if (debuggers.includes('-tailwindcss')) {
52
- return false
53
- }
54
-
55
- // Including tailwindcss
56
- if (debuggers.includes('tailwindcss')) {
57
- return true
58
- }
59
-
60
- return false
61
- }
@@ -1,19 +0,0 @@
1
- import { normalizeScreens } from '../util/normalizeScreens'
2
- import buildMediaQuery from '../util/buildMediaQuery'
3
-
4
- export default function ({ tailwindConfig: { theme } }) {
5
- return function (css) {
6
- css.walkAtRules('screen', (atRule) => {
7
- let screen = atRule.params
8
- let screens = normalizeScreens(theme.screens)
9
- let screenDefinition = screens.find(({ name }) => name === screen)
10
-
11
- if (!screenDefinition) {
12
- throw atRule.error(`No \`${screen}\` screen found.`)
13
- }
14
-
15
- atRule.name = 'media'
16
- atRule.params = buildMediaQuery(screenDefinition)
17
- })
18
- }
19
- }
@@ -1,91 +0,0 @@
1
- import packageJson from '../../../../package.json'
2
- import browserslist from 'browserslist'
3
- import { Result } from 'postcss'
4
-
5
- import {
6
- // @ts-ignore
7
- lazyPostcss,
8
-
9
- // @ts-ignore
10
- lazyPostcssImport,
11
-
12
- // @ts-ignore
13
- lazyCssnano,
14
-
15
- // @ts-ignore
16
- } from '../../../../peers/index'
17
-
18
- export function lazyLightningCss() {
19
- // TODO: Make this lazy/bundled
20
- return require('lightningcss')
21
- }
22
-
23
- let lightningCss
24
-
25
- function loadLightningCss() {
26
- if (lightningCss) {
27
- return lightningCss
28
- }
29
-
30
- // Try to load a local version first
31
- try {
32
- return (lightningCss = require('lightningcss'))
33
- } catch {}
34
-
35
- return (lightningCss = lazyLightningCss())
36
- }
37
-
38
- export async function lightningcss(shouldMinify: boolean, result: Result) {
39
- let css = loadLightningCss()
40
-
41
- try {
42
- let transformed = css.transform({
43
- filename: result.opts.from || 'input.css',
44
- code: Buffer.from(result.css, 'utf-8'),
45
- minify: shouldMinify,
46
- sourceMap: !!result.map,
47
- inputSourceMap: result.map ? result.map.toString() : undefined,
48
- targets: css.browserslistToTargets(browserslist(packageJson.browserslist)),
49
- drafts: {
50
- nesting: true,
51
- },
52
- })
53
-
54
- return Object.assign(result, {
55
- css: transformed.code.toString('utf8'),
56
- map: result.map
57
- ? Object.assign(result.map, {
58
- toString() {
59
- return transformed.map.toString()
60
- },
61
- })
62
- : result.map,
63
- })
64
- } catch (err) {
65
- console.error('Unable to use Lightning CSS. Using raw version instead.')
66
- console.error(err)
67
-
68
- return result
69
- }
70
- }
71
-
72
- /**
73
- * @returns {import('postcss')}
74
- */
75
- export function loadPostcss() {
76
- // Try to load a local `postcss` version first
77
- try {
78
- return require('postcss')
79
- } catch {}
80
-
81
- return lazyPostcss()
82
- }
83
-
84
- export function loadPostcssImport() {
85
- // Try to load a local `postcss-import` version first
86
- try {
87
- return require('postcss-import')
88
- } catch {}
89
-
90
- return lazyPostcssImport()
91
- }
@@ -1,47 +0,0 @@
1
- import fs from 'fs'
2
- import path from 'path'
3
- import { resolveDefaultConfigPath } from '../../../util/resolveConfigPath'
4
- import { createProcessor } from './plugin'
5
-
6
- export async function build(args) {
7
- let input = args['--input']
8
- let shouldWatch = args['--watch']
9
-
10
- // TODO: Deprecate this in future versions
11
- if (!input && args['_'][1]) {
12
- console.error('[deprecation] Running tailwindcss without -i, please provide an input file.')
13
- input = args['--input'] = args['_'][1]
14
- }
15
-
16
- if (input && input !== '-' && !fs.existsSync((input = path.resolve(input)))) {
17
- console.error(`Specified input file ${args['--input']} does not exist.`)
18
- process.exit(9)
19
- }
20
-
21
- if (args['--config'] && !fs.existsSync((args['--config'] = path.resolve(args['--config'])))) {
22
- console.error(`Specified config file ${args['--config']} does not exist.`)
23
- process.exit(9)
24
- }
25
-
26
- // TODO: Reference the @config path here if exists
27
- let configPath = args['--config'] ? args['--config'] : resolveDefaultConfigPath()
28
-
29
- let processor = await createProcessor(args, configPath)
30
-
31
- if (shouldWatch) {
32
- // Abort the watcher if stdin is closed to avoid zombie processes
33
- // You can disable this behavior with --watch=always
34
- if (args['--watch'] !== 'always') {
35
- process.stdin.on('end', () => process.exit(0))
36
- }
37
-
38
- process.stdin.resume()
39
-
40
- await processor.watch()
41
- } else {
42
- await processor.build().catch((e) => {
43
- console.error(e)
44
- process.exit(1)
45
- })
46
- }
47
- }