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.
- package/README.md +5 -6
- package/dist/lib.d.mts +324 -0
- package/dist/lib.d.ts +324 -0
- package/dist/lib.js +11 -0
- package/dist/lib.mjs +11 -0
- package/index.css +5 -0
- package/package.json +29 -107
- package/preflight.css +355 -0
- package/theme.css +465 -0
- package/CHANGELOG.md +0 -2571
- package/base.css +0 -1
- package/colors.d.ts +0 -3
- package/colors.js +0 -2
- package/components.css +0 -1
- package/defaultConfig.d.ts +0 -3
- package/defaultConfig.js +0 -2
- package/defaultTheme.d.ts +0 -4
- package/defaultTheme.js +0 -2
- package/lib/cli/build/deps.js +0 -62
- package/lib/cli/build/index.js +0 -54
- package/lib/cli/build/plugin.js +0 -378
- package/lib/cli/build/utils.js +0 -88
- package/lib/cli/build/watching.js +0 -182
- package/lib/cli/help/index.js +0 -73
- package/lib/cli/index.js +0 -230
- package/lib/cli/init/index.js +0 -63
- package/lib/cli-peer-dependencies.js +0 -36
- package/lib/cli.js +0 -7
- package/lib/corePluginList.js +0 -190
- package/lib/corePlugins.js +0 -4282
- package/lib/css/LICENSE +0 -25
- package/lib/css/preflight.css +0 -385
- package/lib/featureFlags.js +0 -83
- package/lib/index.js +0 -2
- package/lib/lib/cacheInvalidation.js +0 -92
- package/lib/lib/collapseAdjacentRules.js +0 -61
- package/lib/lib/collapseDuplicateDeclarations.js +0 -85
- package/lib/lib/content.js +0 -181
- package/lib/lib/defaultExtractor.js +0 -251
- package/lib/lib/detectNesting.js +0 -45
- package/lib/lib/evaluateTailwindFunctions.js +0 -238
- package/lib/lib/expandApplyAtRules.js +0 -540
- package/lib/lib/expandTailwindAtRules.js +0 -291
- package/lib/lib/findAtConfigPath.js +0 -46
- package/lib/lib/generateRules.js +0 -904
- package/lib/lib/getModuleDependencies.js +0 -99
- package/lib/lib/load-config.js +0 -53
- package/lib/lib/normalizeTailwindDirectives.js +0 -89
- package/lib/lib/offsets.js +0 -306
- package/lib/lib/partitionApplyAtRules.js +0 -58
- package/lib/lib/regex.js +0 -74
- package/lib/lib/remap-bitfield.js +0 -89
- package/lib/lib/resolveDefaultsAtRules.js +0 -165
- package/lib/lib/setupContextUtils.js +0 -1294
- package/lib/lib/setupTrackingContext.js +0 -166
- package/lib/lib/sharedState.js +0 -87
- package/lib/lib/substituteScreenAtRules.js +0 -31
- package/lib/oxide/cli/build/deps.js +0 -89
- package/lib/oxide/cli/build/index.js +0 -53
- package/lib/oxide/cli/build/plugin.js +0 -375
- package/lib/oxide/cli/build/utils.js +0 -87
- package/lib/oxide/cli/build/watching.js +0 -179
- package/lib/oxide/cli/help/index.js +0 -72
- package/lib/oxide/cli/index.js +0 -214
- package/lib/oxide/cli/init/index.js +0 -52
- package/lib/oxide/cli.js +0 -5
- package/lib/oxide/postcss-plugin.js +0 -2
- package/lib/plugin.js +0 -98
- package/lib/postcss-plugins/nesting/README.md +0 -42
- package/lib/postcss-plugins/nesting/index.js +0 -21
- package/lib/postcss-plugins/nesting/plugin.js +0 -89
- package/lib/processTailwindFeatures.js +0 -64
- package/lib/public/colors.js +0 -355
- package/lib/public/create-plugin.js +0 -17
- package/lib/public/default-config.js +0 -18
- package/lib/public/default-theme.js +0 -18
- package/lib/public/load-config.js +0 -12
- package/lib/public/resolve-config.js +0 -24
- package/lib/util/applyImportantSelector.js +0 -36
- package/lib/util/bigSign.js +0 -13
- package/lib/util/buildMediaQuery.js +0 -27
- package/lib/util/cloneDeep.js +0 -22
- package/lib/util/cloneNodes.js +0 -54
- package/lib/util/color.js +0 -116
- package/lib/util/colorNames.js +0 -752
- package/lib/util/configurePlugins.js +0 -23
- package/lib/util/createPlugin.js +0 -32
- package/lib/util/createUtilityPlugin.js +0 -53
- package/lib/util/dataTypes.js +0 -415
- package/lib/util/defaults.js +0 -27
- package/lib/util/escapeClassName.js +0 -24
- package/lib/util/escapeCommas.js +0 -13
- package/lib/util/flattenColorPalette.js +0 -18
- package/lib/util/formatVariantSelector.js +0 -270
- package/lib/util/getAllConfigs.js +0 -50
- package/lib/util/hashConfig.js +0 -21
- package/lib/util/isKeyframeRule.js +0 -13
- package/lib/util/isPlainObject.js +0 -17
- package/lib/util/isSyntacticallyValidPropertyValue.js +0 -74
- package/lib/util/log.js +0 -61
- package/lib/util/nameClass.js +0 -49
- package/lib/util/negateValue.js +0 -36
- package/lib/util/normalizeConfig.js +0 -282
- package/lib/util/normalizeScreens.js +0 -178
- package/lib/util/parseAnimationValue.js +0 -93
- package/lib/util/parseBoxShadowValue.js +0 -88
- package/lib/util/parseDependency.js +0 -47
- package/lib/util/parseGlob.js +0 -36
- package/lib/util/parseObjectStyles.js +0 -36
- package/lib/util/pluginUtils.js +0 -289
- package/lib/util/prefixSelector.js +0 -39
- package/lib/util/pseudoElements.js +0 -212
- package/lib/util/removeAlphaVariables.js +0 -31
- package/lib/util/resolveConfig.js +0 -256
- package/lib/util/resolveConfigPath.js +0 -70
- package/lib/util/responsive.js +0 -24
- package/lib/util/splitAtTopLevelOnly.js +0 -51
- package/lib/util/tap.js +0 -14
- package/lib/util/toColorValue.js +0 -13
- package/lib/util/toPath.js +0 -32
- package/lib/util/transformThemeValue.js +0 -73
- package/lib/util/validateConfig.js +0 -37
- package/lib/util/validateFormalSyntax.js +0 -26
- package/lib/util/withAlphaVariable.js +0 -79
- package/lib/value-parser/LICENSE +0 -22
- package/lib/value-parser/README.md +0 -3
- package/lib/value-parser/index.d.js +0 -2
- package/lib/value-parser/index.js +0 -22
- package/lib/value-parser/parse.js +0 -259
- package/lib/value-parser/stringify.js +0 -38
- package/lib/value-parser/unit.js +0 -86
- package/lib/value-parser/walk.js +0 -16
- package/loadConfig.d.ts +0 -4
- package/loadConfig.js +0 -2
- package/nesting/index.d.ts +0 -4
- package/nesting/index.js +0 -2
- package/peers/index.js +0 -96624
- package/plugin.d.ts +0 -11
- package/plugin.js +0 -2
- package/prettier.config.js +0 -19
- package/resolveConfig.d.ts +0 -31
- package/resolveConfig.js +0 -2
- package/screens.css +0 -1
- package/scripts/create-plugin-list.js +0 -10
- package/scripts/generate-types.js +0 -104
- package/scripts/release-channel.js +0 -18
- package/scripts/release-notes.js +0 -21
- package/scripts/swap-engines.js +0 -40
- package/scripts/type-utils.js +0 -27
- package/src/cli/build/deps.js +0 -56
- package/src/cli/build/index.js +0 -49
- package/src/cli/build/plugin.js +0 -444
- package/src/cli/build/utils.js +0 -76
- package/src/cli/build/watching.js +0 -229
- package/src/cli/help/index.js +0 -70
- package/src/cli/index.js +0 -216
- package/src/cli/init/index.js +0 -79
- package/src/cli-peer-dependencies.js +0 -15
- package/src/cli.js +0 -7
- package/src/corePluginList.js +0 -1
- package/src/corePlugins.js +0 -2943
- package/src/css/LICENSE +0 -25
- package/src/css/preflight.css +0 -385
- package/src/featureFlags.js +0 -66
- package/src/index.js +0 -1
- package/src/lib/cacheInvalidation.js +0 -52
- package/src/lib/collapseAdjacentRules.js +0 -58
- package/src/lib/collapseDuplicateDeclarations.js +0 -93
- package/src/lib/content.js +0 -208
- package/src/lib/defaultExtractor.js +0 -230
- package/src/lib/detectNesting.js +0 -47
- package/src/lib/evaluateTailwindFunctions.js +0 -272
- package/src/lib/expandApplyAtRules.js +0 -620
- package/src/lib/expandTailwindAtRules.js +0 -300
- package/src/lib/findAtConfigPath.js +0 -48
- package/src/lib/generateRules.js +0 -951
- package/src/lib/getModuleDependencies.js +0 -79
- package/src/lib/load-config.ts +0 -39
- package/src/lib/normalizeTailwindDirectives.js +0 -84
- package/src/lib/offsets.js +0 -373
- package/src/lib/partitionApplyAtRules.js +0 -52
- package/src/lib/regex.js +0 -74
- package/src/lib/remap-bitfield.js +0 -82
- package/src/lib/resolveDefaultsAtRules.js +0 -163
- package/src/lib/setupContextUtils.js +0 -1366
- package/src/lib/setupTrackingContext.js +0 -169
- package/src/lib/sharedState.js +0 -61
- package/src/lib/substituteScreenAtRules.js +0 -19
- package/src/oxide/cli/build/deps.ts +0 -91
- package/src/oxide/cli/build/index.ts +0 -47
- package/src/oxide/cli/build/plugin.ts +0 -442
- package/src/oxide/cli/build/utils.ts +0 -74
- package/src/oxide/cli/build/watching.ts +0 -225
- package/src/oxide/cli/help/index.ts +0 -69
- package/src/oxide/cli/index.ts +0 -204
- package/src/oxide/cli/init/index.ts +0 -59
- package/src/oxide/cli.ts +0 -1
- package/src/oxide/postcss-plugin.ts +0 -1
- package/src/plugin.js +0 -107
- package/src/postcss-plugins/nesting/README.md +0 -42
- package/src/postcss-plugins/nesting/index.js +0 -13
- package/src/postcss-plugins/nesting/plugin.js +0 -80
- package/src/processTailwindFeatures.js +0 -59
- package/src/public/colors.js +0 -322
- package/src/public/create-plugin.js +0 -2
- package/src/public/default-config.js +0 -4
- package/src/public/default-theme.js +0 -4
- package/src/public/load-config.js +0 -2
- package/src/public/resolve-config.js +0 -7
- package/src/util/applyImportantSelector.js +0 -27
- package/src/util/bigSign.js +0 -3
- package/src/util/buildMediaQuery.js +0 -22
- package/src/util/cloneDeep.js +0 -11
- package/src/util/cloneNodes.js +0 -49
- package/src/util/color.js +0 -88
- package/src/util/colorNames.js +0 -150
- package/src/util/configurePlugins.js +0 -23
- package/src/util/createPlugin.js +0 -27
- package/src/util/createUtilityPlugin.js +0 -37
- package/src/util/dataTypes.js +0 -406
- package/src/util/defaults.js +0 -17
- package/src/util/escapeClassName.js +0 -8
- package/src/util/escapeCommas.js +0 -3
- package/src/util/flattenColorPalette.js +0 -13
- package/src/util/formatVariantSelector.js +0 -324
- package/src/util/getAllConfigs.js +0 -38
- package/src/util/hashConfig.js +0 -5
- package/src/util/isKeyframeRule.js +0 -3
- package/src/util/isPlainObject.js +0 -8
- package/src/util/isSyntacticallyValidPropertyValue.js +0 -61
- package/src/util/log.js +0 -29
- package/src/util/nameClass.js +0 -30
- package/src/util/negateValue.js +0 -24
- package/src/util/normalizeConfig.js +0 -301
- package/src/util/normalizeScreens.js +0 -140
- package/src/util/parseAnimationValue.js +0 -68
- package/src/util/parseBoxShadowValue.js +0 -72
- package/src/util/parseDependency.js +0 -44
- package/src/util/parseGlob.js +0 -24
- package/src/util/parseObjectStyles.js +0 -19
- package/src/util/pluginUtils.js +0 -307
- package/src/util/prefixSelector.js +0 -33
- package/src/util/pseudoElements.js +0 -171
- package/src/util/removeAlphaVariables.js +0 -24
- package/src/util/resolveConfig.js +0 -277
- package/src/util/resolveConfigPath.js +0 -66
- package/src/util/responsive.js +0 -10
- package/src/util/splitAtTopLevelOnly.js +0 -52
- package/src/util/tap.js +0 -4
- package/src/util/toColorValue.js +0 -3
- package/src/util/toPath.js +0 -26
- package/src/util/transformThemeValue.js +0 -62
- package/src/util/validateConfig.js +0 -26
- package/src/util/validateFormalSyntax.js +0 -34
- package/src/util/withAlphaVariable.js +0 -49
- package/src/value-parser/LICENSE +0 -22
- package/src/value-parser/README.md +0 -3
- package/src/value-parser/index.d.ts +0 -177
- package/src/value-parser/index.js +0 -28
- package/src/value-parser/parse.js +0 -303
- package/src/value-parser/stringify.js +0 -41
- package/src/value-parser/unit.js +0 -118
- package/src/value-parser/walk.js +0 -18
- package/stubs/.gitignore +0 -1
- package/stubs/.prettierrc.json +0 -6
- package/stubs/config.full.js +0 -1062
- package/stubs/config.simple.js +0 -7
- package/stubs/postcss.config.cjs +0 -6
- package/stubs/postcss.config.js +0 -6
- package/stubs/tailwind.config.cjs +0 -2
- package/stubs/tailwind.config.js +0 -2
- package/stubs/tailwind.config.ts +0 -3
- package/tailwind.css +0 -5
- package/types/config.d.ts +0 -376
- package/types/generated/.gitkeep +0 -0
- package/types/generated/colors.d.ts +0 -298
- package/types/generated/corePluginList.d.ts +0 -1
- package/types/generated/default-theme.d.ts +0 -397
- package/types/index.d.ts +0 -11
- 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
package/prettier.config.js
DELETED
@@ -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
|
-
}
|
package/resolveConfig.d.ts
DELETED
@@ -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
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
|
-
}
|
package/scripts/release-notes.js
DELETED
@@ -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
|
-
}
|
package/scripts/swap-engines.js
DELETED
@@ -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
|
-
)
|
package/scripts/type-utils.js
DELETED
@@ -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
|
-
}
|
package/src/cli/build/deps.js
DELETED
@@ -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
|
-
}
|
package/src/cli/build/index.js
DELETED
@@ -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
|
-
}
|