Skip to content

Commit 20ac2a1

Browse files
committed
feat(tailwindcss-patch): split v2 and v3 option types
1 parent 3e1c464 commit 20ac2a1

File tree

9 files changed

+46
-25
lines changed

9 files changed

+46
-25
lines changed

.changeset/friendly-trainers-share.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
"@tailwindcss-mangle/config": minor
44
---
55

6-
Remove legacy public option type aliases from the v9 alpha line and keep only the modern option names such as `TailwindCssPatchOptions`, `TailwindCssOptions`, `TailwindV2V3Options`, and `TailwindV4Options`.
6+
Remove legacy public option type aliases from the v9 alpha line and keep only the modern option names such as `TailwindCssPatchOptions`, `TailwindCssOptions`, `TailwindV2Options`, `TailwindV3Options`, and `TailwindV4Options`.

packages/config/src/types.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,15 @@ export interface TransformerOptions {
4646
preserve?: TransformerPreserveOptions
4747
}
4848

49-
export interface TailwindV2V3Options {
49+
interface TailwindRuntimeOptionsBase {
5050
cwd?: string
5151
config?: string
5252
}
5353

54+
export interface TailwindV2Options extends TailwindRuntimeOptionsBase {}
55+
56+
export interface TailwindV3Options extends TailwindRuntimeOptionsBase {}
57+
5458
export interface TailwindV4Options {
5559
sources?: SourceEntry[]
5660
base?: string
@@ -98,8 +102,8 @@ export interface TailwindCssOptions {
98102
version?: 2 | 3 | 4
99103
packageName?: string
100104
resolve?: PackageResolvingOptions
101-
v2?: TailwindV2V3Options
102-
v3?: TailwindV2V3Options
105+
v2?: TailwindV2Options
106+
v3?: TailwindV3Options
103107
v4?: TailwindV4Options
104108
cwd?: string
105109
config?: string

packages/tailwindcss-patch/MIGRATION.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,8 @@ Use these names in user code:
7777

7878
- `TailwindCssPatchOptions`
7979
- `TailwindCssOptions`
80-
- `TailwindV2V3Options`
80+
- `TailwindV2Options`
81+
- `TailwindV3Options`
8182
- `TailwindV4Options`
8283
- `ApplyOptions`
8384
- `ExtractOptions`

packages/tailwindcss-patch/README-cn.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ import type {
7171
ExtractOptions,
7272
TailwindCssOptions,
7373
TailwindCssPatchOptions,
74-
TailwindV2V3Options,
74+
TailwindV2Options,
75+
TailwindV3Options,
7576
TailwindV4Options,
7677
NormalizedTailwindCssPatchOptions,
7778
} from 'tailwindcss-patch'

packages/tailwindcss-patch/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,8 @@ import type {
128128
ExtractOptions,
129129
TailwindCssOptions,
130130
TailwindCssPatchOptions,
131-
TailwindV2V3Options,
131+
TailwindV2Options,
132+
TailwindV3Options,
132133
TailwindV4Options,
133134
NormalizedTailwindCssPatchOptions,
134135
} from 'tailwindcss-patch'

packages/tailwindcss-patch/src/config/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ export type {
1212
NormalizedExtendLengthUnitsOptions,
1313
TailwindCssOptions,
1414
TailwindCssPatchOptions,
15-
TailwindV2V3Options,
15+
TailwindV2Options,
16+
TailwindV3Options,
1617
TailwindV4Options,
1718
} from '../options/types'
1819
export {

packages/tailwindcss-patch/src/options/types.ts

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,7 @@ export interface ApplyOptions {
7070
extendLengthUnits?: false | ExtendLengthUnitsOptions
7171
}
7272

73-
/**
74-
* Shared configuration used for Tailwind v2/v3 patching flows.
75-
*/
76-
export interface TailwindV2V3Options {
73+
interface TailwindRuntimeOptionsBase {
7774
/** Path to a Tailwind config file when auto-detection is insufficient. */
7875
config?: string
7976
/** Custom working directory used when resolving config-relative paths. */
@@ -82,6 +79,16 @@ export interface TailwindV2V3Options {
8279
postcssPlugin?: string
8380
}
8481

82+
/**
83+
* Configuration specific to Tailwind CSS v2 patching flows.
84+
*/
85+
export interface TailwindV2Options extends TailwindRuntimeOptionsBase {}
86+
87+
/**
88+
* Configuration specific to Tailwind CSS v3 patching flows.
89+
*/
90+
export interface TailwindV3Options extends TailwindRuntimeOptionsBase {}
91+
8592
/**
8693
* Additional configuration specific to Tailwind CSS v4 extraction.
8794
*/
@@ -99,17 +106,17 @@ export interface TailwindV4Options {
99106
/**
100107
* High-level Tailwind patch configuration shared across versions.
101108
*/
102-
export interface TailwindCssOptions extends TailwindV2V3Options {
109+
export interface TailwindCssOptions extends TailwindRuntimeOptionsBase {
103110
/** Explicit Tailwind CSS major version used by the current project. When omitted, the installed package version is inferred. */
104111
version?: 2 | 3 | 4
105112
/** Tailwind package name if the project uses a fork. */
106113
packageName?: string
107114
/** Package resolution options forwarded to `local-pkg`. */
108115
resolve?: PackageResolvingOptions
109116
/** Overrides applied when patching Tailwind CSS v2. */
110-
v2?: TailwindV2V3Options
117+
v2?: TailwindV2Options
111118
/** Overrides applied when patching Tailwind CSS v3. */
112-
v3?: TailwindV2V3Options
119+
v3?: TailwindV3Options
113120
/** Options specific to Tailwind CSS v4 patching. */
114121
v4?: TailwindV4Options
115122
}
@@ -183,12 +190,12 @@ export interface NormalizedTailwindV4Options {
183190
/**
184191
* Tailwind configuration ready for consumption by the runtime after normalization.
185192
*/
186-
export interface NormalizedTailwindConfigOptions extends TailwindV2V3Options {
193+
export interface NormalizedTailwindConfigOptions extends TailwindRuntimeOptionsBase {
187194
packageName: string
188195
versionHint?: 2 | 3 | 4
189196
resolve?: PackageResolvingOptions
190-
v2?: TailwindV2V3Options
191-
v3?: TailwindV2V3Options
197+
v2?: TailwindV2Options
198+
v3?: TailwindV3Options
192199
v4?: NormalizedTailwindV4Options
193200
}
194201

packages/tailwindcss-patch/src/types.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ import type {
1111
NormalizedTailwindCssPatchOptions,
1212
TailwindCssOptions,
1313
TailwindCssPatchOptions,
14-
TailwindV2V3Options,
14+
TailwindV2Options,
15+
TailwindV3Options,
1516
TailwindV4Options,
1617
} from './options/types'
1718

@@ -115,7 +116,8 @@ export type {
115116
NormalizedTailwindCssPatchOptions,
116117
TailwindCssOptions,
117118
TailwindCssPatchOptions,
118-
TailwindV2V3Options,
119+
TailwindV2Options,
120+
TailwindV3Options,
119121
TailwindV4Options,
120122
}
121123

packages/tailwindcss-patch/test-d/public-options.test-d.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ import {
1313
type NormalizedTailwindCssPatchOptions,
1414
type TailwindCssOptions,
1515
type TailwindCssPatchOptions,
16-
type TailwindV2V3Options,
16+
type TailwindV2Options,
17+
type TailwindV3Options,
1718
type TailwindV4Options,
1819
} from '..'
1920

@@ -50,7 +51,12 @@ const cacheOptions: CacheOptions = {
5051
driver: 'memory',
5152
}
5253

53-
const v3Options: TailwindV2V3Options = {
54+
const v2Options: TailwindV2Options = {
55+
cwd: 'apps/legacy',
56+
config: 'tailwind.config.js',
57+
}
58+
59+
const v3Options: TailwindV3Options = {
5460
cwd: 'apps/web',
5561
config: 'tailwind.config.ts',
5662
postcssPlugin: '@tailwindcss/postcss',
@@ -90,9 +96,7 @@ expectAssignable<TailwindCssOptions>({
9096
version: 3,
9197
cwd: 'apps/docs',
9298
config: 'tailwind.config.ts',
93-
v2: {
94-
cwd: 'apps/legacy',
95-
},
99+
v2: v2Options,
96100
v3: {
97101
config: 'tailwind.config.cjs',
98102
postcssPlugin: '@tailwindcss/postcss',

0 commit comments

Comments
 (0)