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
package/plugin.d.ts DELETED
@@ -1,11 +0,0 @@
1
- import type { Config, PluginCreator } from './types/config'
2
- type Plugin = {
3
- withOptions<T>(
4
- plugin: (options: T) => PluginCreator,
5
- config?: (options: T) => Partial<Config>
6
- ): { (options: T): { handler: PluginCreator; config?: Partial<Config> }; __isOptionsFunction: true }
7
- (plugin: PluginCreator, config?: Partial<Config>): { handler: PluginCreator; config?: Partial<Config> }
8
- }
9
-
10
- declare const plugin: Plugin
11
- export = plugin
package/plugin.js DELETED
@@ -1,2 +0,0 @@
1
- let createPlugin = require('./lib/public/create-plugin')
2
- module.exports = (createPlugin.__esModule ? createPlugin : { default: createPlugin }).default
@@ -1,19 +0,0 @@
1
- module.exports = {
2
- // These settings are duplicated in .editorconfig:
3
- tabWidth: 2, // indent_size = 2
4
- useTabs: false, // indent_style = space
5
- endOfLine: 'lf', // end_of_line = lf
6
- semi: false, // default: true
7
- singleQuote: true, // default: false
8
- printWidth: 100, // default: 80
9
- trailingComma: 'es5',
10
- bracketSpacing: true,
11
- overrides: [
12
- {
13
- files: '*.js',
14
- options: {
15
- parser: 'flow',
16
- },
17
- },
18
- ],
19
- }
@@ -1,31 +0,0 @@
1
- import { Config, ResolvableTo, ThemeConfig } from './types/config'
2
- import { DefaultTheme } from './types/generated/default-theme'
3
- import { DefaultColors } from './types/generated/colors'
4
-
5
- type ResolvedConfig<T extends Config> = Omit<T, 'theme'> & {
6
- theme: MergeThemes<
7
- UnwrapResolvables<Omit<T['theme'], 'extend'>>,
8
- T['theme'] extends { extend: infer TExtend } ? UnwrapResolvables<TExtend> : {}
9
- >
10
- }
11
-
12
- type UnwrapResolvables<T> = {
13
- [K in keyof T]: T[K] extends ResolvableTo<infer R> ? R : T[K]
14
- }
15
-
16
- type ThemeConfigResolved = UnwrapResolvables<ThemeConfig>
17
- type DefaultThemeFull = DefaultTheme & { colors: DefaultColors }
18
-
19
- type MergeThemes<Overrides extends object, Extensions extends object> = {
20
- [K in keyof ThemeConfigResolved | keyof Overrides]: (K extends keyof Overrides
21
- ? Overrides[K]
22
- : K extends keyof DefaultThemeFull
23
- ? DefaultThemeFull[K]
24
- : K extends keyof ThemeConfigResolved
25
- ? ThemeConfigResolved[K]
26
- : never) &
27
- (K extends keyof Extensions ? Extensions[K] : {})
28
- }
29
-
30
- declare function resolveConfig<T extends Config>(config: T): ResolvedConfig<T>
31
- export = resolveConfig
package/resolveConfig.js DELETED
@@ -1,2 +0,0 @@
1
- let resolveConfig = require('./lib/public/resolve-config')
2
- module.exports = (resolveConfig.__esModule ? resolveConfig : { default: resolveConfig }).default
package/screens.css DELETED
@@ -1 +0,0 @@
1
- @tailwind screens;
@@ -1,10 +0,0 @@
1
- import { corePlugins } from '../src/corePlugins'
2
- import fs from 'fs'
3
- import path from 'path'
4
-
5
- let corePluginList = Object.keys(corePlugins)
6
-
7
- fs.writeFileSync(
8
- path.join(process.cwd(), 'src', 'corePluginList.js'),
9
- `export default ${JSON.stringify(corePluginList)}`
10
- )
@@ -1,104 +0,0 @@
1
- import prettier from 'prettier'
2
- import { corePlugins } from '../src/corePlugins'
3
- import colors from '../src/public/colors'
4
- import defaultTheme from '../src/public/default-theme'
5
- import fs from 'fs'
6
- import path from 'path'
7
- import * as types from './type-utils'
8
-
9
- fs.writeFileSync(
10
- path.join(process.cwd(), 'types', 'generated', 'corePluginList.d.ts'),
11
- `export type CorePluginList = ${Object.keys(corePlugins)
12
- .map((p) => `'${p}'`)
13
- .join(' | ')}`
14
- )
15
-
16
- let colorsWithoutDeprecatedColors = Object.fromEntries(
17
- Object.entries(Object.getOwnPropertyDescriptors(colors))
18
- .filter(([_, { value }]) => {
19
- return typeof value !== 'undefined'
20
- })
21
- .map(([name, definition]) => [name, definition.value])
22
- )
23
-
24
- let deprecatedColors = Object.entries(Object.getOwnPropertyDescriptors(colors))
25
- .filter(([_, { value }]) => {
26
- return typeof value === 'undefined'
27
- })
28
- .map(([name, definition]) => {
29
- let warn = console.warn
30
- let messages = []
31
- console.warn = (...args) => messages.push(args.pop())
32
- definition.get()
33
- console.warn = warn
34
- let message = messages.join(' ').trim()
35
- let newColor = message.match(/renamed to `(.*)`/)[1]
36
- return `/** @deprecated ${message} */${name}: DefaultColors['${newColor}'],`
37
- })
38
- .join('\n')
39
-
40
- fs.writeFileSync(
41
- path.join(process.cwd(), 'types', 'generated', 'colors.d.ts'),
42
- prettier.format(
43
- `export interface DefaultColors { ${JSON.stringify(colorsWithoutDeprecatedColors).slice(
44
- 1,
45
- -1
46
- )}\n${deprecatedColors}\n}`,
47
- {
48
- semi: false,
49
- singleQuote: true,
50
- printWidth: 100,
51
- parser: 'typescript',
52
- }
53
- )
54
- )
55
-
56
- const defaultThemeTypes = Object.entries(defaultTheme)
57
- .map(([name, value]) => {
58
- // Special cases for slightly more accurate types
59
- if (name === 'keyframes') {
60
- return [name, `Record<${types.forKeys(value)}, Record<string, CSSDeclarationList>>`]
61
- }
62
-
63
- if (name === 'fontSize') {
64
- return [name, `Record<${types.forKeys(value)}, [string, { lineHeight: string }]>`]
65
- }
66
-
67
- // General cases
68
- if (typeof value === 'string') {
69
- return [name, `string`]
70
- }
71
-
72
- if (typeof value === 'function') {
73
- return [name, null]
74
- }
75
-
76
- if (typeof value === 'object') {
77
- if (Object.keys(value).length === 0) {
78
- return [name, null]
79
- }
80
-
81
- return [name, types.forValue(value)]
82
- }
83
-
84
- return [name, `unknown`]
85
- })
86
- .filter(([, type]) => type !== null)
87
- .map(([name, type]) => `${name}: ${type}`)
88
- .join('\n')
89
-
90
- fs.writeFileSync(
91
- path.join(process.cwd(), 'types', 'generated', 'default-theme.d.ts'),
92
- prettier.format(
93
- `
94
- type CSSDeclarationList = Record<string, string>
95
- export type DefaultTheme = { ${defaultThemeTypes} }
96
- `,
97
- {
98
- semi: false,
99
- singleQuote: true,
100
- printWidth: 100,
101
- parser: 'typescript',
102
- }
103
- )
104
- )
@@ -1,18 +0,0 @@
1
- // Given a version, figure out what the release channel is so that we can publish to the correct
2
- // channel on npm.
3
- //
4
- // E.g.:
5
- //
6
- // 1.2.3 -> latest (default)
7
- // 0.0.0-insiders.ffaa88 -> insiders
8
- // 4.1.0-alpha.4 -> alpha
9
-
10
- let version =
11
- process.argv[2] || process.env.npm_package_version || require('../package.json').version
12
-
13
- let match = /\d+\.\d+\.\d+-(.*)\.\d+/g.exec(version)
14
- if (match) {
15
- console.log(match[1])
16
- } else {
17
- console.log('latest')
18
- }
@@ -1,21 +0,0 @@
1
- // Given a version, figure out what the release notes are so that we can use this to pre-fill the
2
- // relase notes on a GitHub release for the current version.
3
-
4
- let path = require('path')
5
- let fs = require('fs')
6
-
7
- let version =
8
- process.argv[2] || process.env.npm_package_version || require('../package.json').version
9
-
10
- let changelog = fs.readFileSync(path.resolve(__dirname, '..', 'CHANGELOG.md'), 'utf8')
11
- let match = new RegExp(
12
- `## \\[${version}\\] - (.*)\\n\\n([\\s\\S]*?)\\n(?:(?:##\\s)|(?:\\[))`,
13
- 'g'
14
- ).exec(changelog)
15
-
16
- if (match) {
17
- let [, , notes] = match
18
- console.log(notes.trim())
19
- } else {
20
- console.log(`Placeholder release notes for version: v${version}`)
21
- }
@@ -1,40 +0,0 @@
1
- let fs = require('fs')
2
- let path = require('path')
3
-
4
- let engines = {
5
- stable: {
6
- files: [
7
- path.resolve(__dirname, '..', 'package.stable.json'),
8
- path.resolve(__dirname, '..', 'package-lock.stable.json'),
9
- ],
10
- },
11
- oxide: {
12
- files: [
13
- path.resolve(__dirname, '..', 'package.oxide.json'),
14
- path.resolve(__dirname, '..', 'package-lock.oxide.json'),
15
- ],
16
- },
17
- }
18
-
19
- // Find out what the current engine is that we are using:
20
- let [otherEngine, info] = Object.entries(engines).find(([, info]) =>
21
- info.files.every((file) => fs.existsSync(file))
22
- )
23
- let currentEngine = otherEngine === 'oxide' ? 'stable' : 'oxide'
24
-
25
- console.log(`Current engine: \`${currentEngine}\`, swapping to \`${otherEngine}\``)
26
-
27
- // Swap the engines
28
- for (let file of info.files) {
29
- fs.renameSync(
30
- file.replace(`.${otherEngine}`, ''),
31
- file.replace(`.${otherEngine}`, `.${currentEngine}`)
32
- )
33
- }
34
- for (let file of engines[otherEngine].files) {
35
- fs.renameSync(file, file.replace(`.${otherEngine}`, ''))
36
- }
37
-
38
- console.log(
39
- 'Engines have been swapped. Make sure to run `npm install` to update your dependencies.'
40
- )
@@ -1,27 +0,0 @@
1
- export function union(types) {
2
- return [...new Set(types)].join(' | ')
3
- }
4
-
5
- export function unionValues(values) {
6
- return union(values.map(forValue))
7
- }
8
-
9
- export function forKeys(value) {
10
- return union(Object.keys(value).map((key) => `'${key}'`))
11
- }
12
-
13
- export function forValue(value) {
14
- if (Array.isArray(value)) {
15
- return `(${unionValues(value)})[]`
16
- }
17
-
18
- if (typeof value === 'object') {
19
- return `Record<${forKeys(value)}, ${unionValues(Object.values(value))}>`
20
- }
21
-
22
- if (typeof value === 'string') {
23
- return `string`
24
- }
25
-
26
- return `any`
27
- }
@@ -1,56 +0,0 @@
1
- // @ts-check
2
-
3
- import {
4
- // @ts-ignore
5
- lazyPostcss,
6
-
7
- // @ts-ignore
8
- lazyPostcssImport,
9
-
10
- // @ts-ignore
11
- lazyCssnano,
12
-
13
- // @ts-ignore
14
- lazyAutoprefixer,
15
- } from '../../../peers/index.js'
16
-
17
- /**
18
- * @returns {import('postcss')}
19
- */
20
- export function loadPostcss() {
21
- // Try to load a local `postcss` version first
22
- try {
23
- return require('postcss')
24
- } catch {}
25
-
26
- return lazyPostcss()
27
- }
28
-
29
- export function loadPostcssImport() {
30
- // Try to load a local `postcss-import` version first
31
- try {
32
- return require('postcss-import')
33
- } catch {}
34
-
35
- return lazyPostcssImport()
36
- }
37
-
38
- export function loadCssNano() {
39
- let options = { preset: ['default', { cssDeclarationSorter: false }] }
40
-
41
- // Try to load a local `cssnano` version first
42
- try {
43
- return require('cssnano')
44
- } catch {}
45
-
46
- return lazyCssnano()(options)
47
- }
48
-
49
- export function loadAutoprefixer() {
50
- // Try to load a local `autoprefixer` version first
51
- try {
52
- return require('autoprefixer')
53
- } catch {}
54
-
55
- return lazyAutoprefixer()
56
- }
@@ -1,49 +0,0 @@
1
- // @ts-check
2
-
3
- import fs from 'fs'
4
- import path from 'path'
5
- import { resolveDefaultConfigPath } from '../../util/resolveConfigPath.js'
6
- import { createProcessor } from './plugin.js'
7
-
8
- export async function build(args) {
9
- let input = args['--input']
10
- let shouldWatch = args['--watch']
11
-
12
- // TODO: Deprecate this in future versions
13
- if (!input && args['_'][1]) {
14
- console.error('[deprecation] Running tailwindcss without -i, please provide an input file.')
15
- input = args['--input'] = args['_'][1]
16
- }
17
-
18
- if (input && input !== '-' && !fs.existsSync((input = path.resolve(input)))) {
19
- console.error(`Specified input file ${args['--input']} does not exist.`)
20
- process.exit(9)
21
- }
22
-
23
- if (args['--config'] && !fs.existsSync((args['--config'] = path.resolve(args['--config'])))) {
24
- console.error(`Specified config file ${args['--config']} does not exist.`)
25
- process.exit(9)
26
- }
27
-
28
- // TODO: Reference the @config path here if exists
29
- let configPath = args['--config'] ? args['--config'] : resolveDefaultConfigPath()
30
-
31
- let processor = await createProcessor(args, configPath)
32
-
33
- if (shouldWatch) {
34
- // Abort the watcher if stdin is closed to avoid zombie processes
35
- // You can disable this behavior with --watch=always
36
- if (args['--watch'] !== 'always') {
37
- process.stdin.on('end', () => process.exit(0))
38
- }
39
-
40
- process.stdin.resume()
41
-
42
- await processor.watch()
43
- } else {
44
- await processor.build().catch((e) => {
45
- console.error(e)
46
- process.exit(1)
47
- })
48
- }
49
- }