tailwindcss-patch 9.4.1 → 9.4.3
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 +69 -0
- package/dist/{cli-CBVPia5Z.js → cli-BztQHMRp.js} +63 -64
- package/dist/{cli-CgBdW1U5.mjs → cli-D0jXMGXf.mjs} +1 -1
- package/dist/cli.js +5 -6
- package/dist/cli.mjs +2 -2
- package/dist/commands/cli-runtime.d.mts +1 -1
- package/dist/commands/cli-runtime.d.ts +1 -1
- package/dist/commands/cli-runtime.js +6 -6
- package/dist/commands/cli-runtime.mjs +2 -2
- package/dist/{dist-B1VBpHtd.js → dist-DDcbvOwe.js} +2 -2
- package/dist/index.d.mts +105 -5
- package/dist/index.d.ts +105 -5
- package/dist/index.js +325 -62
- package/dist/index.mjs +253 -4
- package/dist/{migrate-config-DqknZpUe.mjs → validate-Bug_WYcU.mjs} +193 -93
- package/dist/{validate-CaJv2g5K.d.ts → validate-BuqRodYI.d.ts} +65 -16
- package/dist/{migrate-config-Dn9OTXpO.js → validate-DbuKewV-.js} +257 -100
- package/dist/{validate-Dr7IkGU8.d.mts → validate-oAkURzUC.d.mts} +65 -15
- package/package.json +9 -9
- package/src/extraction/candidate-extractor.ts +76 -12
- package/src/public-api.ts +54 -13
- package/src/style-candidates.ts +35 -0
- package/src/style-generator.ts +80 -0
- package/src/v3/index.ts +11 -0
- package/src/v3/style-generator.ts +384 -0
- package/src/v4/bare-arbitrary-values.ts +127 -2
- package/src/v4/engine.ts +5 -2
- package/src/v4/index.ts +20 -4
- package/src/v4/node-adapter.ts +1 -1
- package/src/v4/source-scan.ts +1 -1
- package/src/v4/style-generator.ts +44 -0
- package/src/v4/types.ts +23 -0
- package/dist/chunk-8l464Juk.js +0 -28
- /package/dist/{dist-BjUV1yEM.mjs → dist-CxmNpfyy.mjs} +0 -0
package/dist/index.mjs
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { $ as
|
|
1
|
+
import { $ as resolveBareArbitraryValueCandidate, A as createTailwindV4RootSources, B as resolveSourceScanPath, C as resolveProjectSourceFiles, D as TAILWIND_V4_IGNORED_FILES, E as TAILWIND_V4_IGNORED_EXTENSIONS, F as isFileExcludedByTailwindV4SourceEntries, G as canonicalizeBareArbitraryValueCandidates, H as resolveTailwindV4SourceEntry, I as isFileMatchedByTailwindV4SourceEntries, J as resolveValidTailwindV4Candidates, K as extractTailwindV4InlineSourceCandidates, L as mergeTailwindV4SourceEntries, M as createTailwindV4SourceExclusionMatcher, N as expandTailwindV4SourceEntries, O as createTailwindV4CompiledSourceEntries, P as expandTailwindV4SourceEntryBraces, Q as isBareArbitraryValuesEnabled, R as normalizeTailwindV4ScannerSources, S as groupTokensByFile, T as TAILWIND_V4_IGNORED_CONTENT_DIRS, U as compileTailwindV4Source, V as resolveTailwindV4SourceBaseCandidates, W as loadTailwindV4DesignSystem, X as extractBareArbitraryValueSourceCandidates, Y as escapeCssClassName, Z as extractBareArbitraryValueSourceCandidatesWithPositions, _ as extractRawCandidates, a as tailwindcssPatchCommands, b as extractSourceCandidatesWithPositions, c as MIGRATION_REPORT_KIND, d as getPatchStatusReport, f as runTailwindBuild, g as extractProjectCandidatesWithPositions, h as collectClassesFromTailwindV4, it as logger, j as createTailwindV4SourceEntryMatcher, k as createTailwindV4DefaultIgnoreSources, l as MIGRATION_REPORT_SCHEMA_VERSION, m as collectClassesFromContexts, n as VALIDATE_FAILURE_REASONS, nt as normalizeOptions, o as migrateConfigFiles, p as loadRuntimeContexts, q as replaceBareArbitraryValueSelectors, r as ValidateCommandError, rt as CacheStore, s as restoreConfigFiles, t as VALIDATE_EXIT_CODES, u as TailwindcssPatcher, v as extractRawCandidatesWithPositions, w as TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN, x as extractValidCandidates, y as extractSourceCandidates, z as normalizeTailwindV4SourceEntries } from "./validate-Bug_WYcU.mjs";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import process from "node:process";
|
|
4
4
|
import path from "pathe";
|
|
5
5
|
import { promises } from "node:fs";
|
|
6
|
+
import postcss from "postcss";
|
|
6
7
|
//#region src/extraction/split-candidate-tokens.ts
|
|
7
8
|
const validateCandidateTokenRE = /[\w\u00A0-\uFFFF%-?]/;
|
|
8
9
|
function isValidCandidateToken(token = "") {
|
|
@@ -62,6 +63,196 @@ function splitCandidateTokens(code) {
|
|
|
62
63
|
return result;
|
|
63
64
|
}
|
|
64
65
|
//#endregion
|
|
66
|
+
//#region src/style-candidates.ts
|
|
67
|
+
async function collectTailwindStyleCandidates(options = {}) {
|
|
68
|
+
const candidates = /* @__PURE__ */ new Set();
|
|
69
|
+
for (const candidate of options.candidates ?? []) candidates.add(candidate);
|
|
70
|
+
for (const source of options.sources ?? []) {
|
|
71
|
+
const sourceCandidates = await extractSourceCandidates(source.content, source.extension, { bareArbitraryValues: options.bareArbitraryValues });
|
|
72
|
+
for (const candidate of sourceCandidates) candidates.add(candidate);
|
|
73
|
+
}
|
|
74
|
+
return candidates;
|
|
75
|
+
}
|
|
76
|
+
//#endregion
|
|
77
|
+
//#region src/v3/style-generator.ts
|
|
78
|
+
function createPackageRequire(cwd) {
|
|
79
|
+
return createRequire(path.join(path.resolve(cwd ?? process.cwd()), "package.json"));
|
|
80
|
+
}
|
|
81
|
+
function createDefaultTailwindV3Config(tokens) {
|
|
82
|
+
return {
|
|
83
|
+
content: [{
|
|
84
|
+
raw: [...tokens].join(" "),
|
|
85
|
+
extension: "html"
|
|
86
|
+
}],
|
|
87
|
+
theme: { extend: {} },
|
|
88
|
+
plugins: []
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
function getDefaultExport(module) {
|
|
92
|
+
if (module && typeof module === "object" && "default" in module) return module.default;
|
|
93
|
+
return module;
|
|
94
|
+
}
|
|
95
|
+
function loadTailwindV3Modules(options) {
|
|
96
|
+
const packageName = options.packageName ?? "tailwindcss";
|
|
97
|
+
const moduleRequire = createPackageRequire(options.cwd);
|
|
98
|
+
const resolveConfig = getDefaultExport(moduleRequire(`${packageName}/lib/public/resolve-config`));
|
|
99
|
+
const contextModule = moduleRequire(`${packageName}/lib/lib/setupContextUtils`);
|
|
100
|
+
const generateRulesModule = moduleRequire(`${packageName}/lib/lib/generateRules`);
|
|
101
|
+
const collapseAdjacentRulesModule = moduleRequire(`${packageName}/lib/lib/collapseAdjacentRules`);
|
|
102
|
+
const collapseDuplicateDeclarationsModule = moduleRequire(`${packageName}/lib/lib/collapseDuplicateDeclarations`);
|
|
103
|
+
const processTailwindFeaturesModule = moduleRequire(`${packageName}/lib/processTailwindFeatures`);
|
|
104
|
+
const resolveDefaultsAtRulesModule = moduleRequire(`${packageName}/lib/lib/resolveDefaultsAtRules`);
|
|
105
|
+
const sharedStateModule = moduleRequire(`${packageName}/lib/lib/sharedState`);
|
|
106
|
+
const validateConfigModule = moduleRequire(`${packageName}/lib/util/validateConfig.js`);
|
|
107
|
+
return {
|
|
108
|
+
collapseAdjacentRules: getDefaultExport(collapseAdjacentRulesModule),
|
|
109
|
+
collapseDuplicateDeclarations: getDefaultExport(collapseDuplicateDeclarationsModule),
|
|
110
|
+
createContext: contextModule.createContext,
|
|
111
|
+
generateRules: generateRulesModule.generateRules,
|
|
112
|
+
notOnDemandCandidate: sharedStateModule.NOT_ON_DEMAND ?? "*",
|
|
113
|
+
processTailwindFeatures: getDefaultExport(processTailwindFeaturesModule),
|
|
114
|
+
resolveDefaultsAtRules: getDefaultExport(resolveDefaultsAtRulesModule),
|
|
115
|
+
resolveConfig,
|
|
116
|
+
validateConfig: validateConfigModule.validateConfig
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
function createRawContentEntries(candidates, sources) {
|
|
120
|
+
const entries = [];
|
|
121
|
+
const candidateContent = [...candidates].join(" ");
|
|
122
|
+
if (candidateContent.length > 0) entries.push({
|
|
123
|
+
raw: candidateContent,
|
|
124
|
+
extension: "html"
|
|
125
|
+
});
|
|
126
|
+
for (const source of sources) entries.push({
|
|
127
|
+
raw: source.content,
|
|
128
|
+
extension: source.extension ?? "html"
|
|
129
|
+
});
|
|
130
|
+
return entries;
|
|
131
|
+
}
|
|
132
|
+
function createChangedContentEntries(candidates, sources) {
|
|
133
|
+
return createRawContentEntries(candidates, sources).map((entry) => ({
|
|
134
|
+
content: entry.raw,
|
|
135
|
+
extension: entry.extension
|
|
136
|
+
}));
|
|
137
|
+
}
|
|
138
|
+
function createTailwindConfigWithContent(config, tokens, sources) {
|
|
139
|
+
const userContent = config?.content;
|
|
140
|
+
return {
|
|
141
|
+
...createDefaultTailwindV3Config(tokens),
|
|
142
|
+
...config ?? {},
|
|
143
|
+
content: [...Array.isArray(userContent) ? userContent : [], ...createRawContentEntries(tokens, sources)]
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
function isDirectUtilitiesOnlyCss(css) {
|
|
147
|
+
return css.replace(/\s+/g, "") === "@tailwindutilities;";
|
|
148
|
+
}
|
|
149
|
+
function sortCandidates(candidates) {
|
|
150
|
+
return [...candidates].sort((a, z) => {
|
|
151
|
+
if (a === z) return 0;
|
|
152
|
+
return a < z ? -1 : 1;
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
function appendUtilityRules(root, context, rules) {
|
|
156
|
+
const sortedRules = context.offsets.sort(rules);
|
|
157
|
+
for (const [sort, rule] of sortedRules) {
|
|
158
|
+
const tailwindRaw = rule.raws.tailwind;
|
|
159
|
+
if (sort.layer === "utilities" || sort.layer === "variants" && tailwindRaw?.parentLayer === "utilities") root.append(rule.clone());
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
function collectClassSet(context, notOnDemandCandidate) {
|
|
163
|
+
const classSet = /* @__PURE__ */ new Set();
|
|
164
|
+
for (const candidate of context.classCache.keys()) if (String(candidate) !== String(notOnDemandCandidate)) classSet.add(candidate);
|
|
165
|
+
return classSet;
|
|
166
|
+
}
|
|
167
|
+
function collectDependencyMessages(result) {
|
|
168
|
+
const dependencies = /* @__PURE__ */ new Set();
|
|
169
|
+
for (const message of result.messages) {
|
|
170
|
+
const file = message.file;
|
|
171
|
+
if (message.type === "dependency" && typeof file === "string") dependencies.add(file);
|
|
172
|
+
}
|
|
173
|
+
return [...dependencies];
|
|
174
|
+
}
|
|
175
|
+
function buildStylesheetNodes(rules, context, layers) {
|
|
176
|
+
const sortedRules = context.offsets.sort(rules);
|
|
177
|
+
const nodes = [];
|
|
178
|
+
const layerSet = new Set(layers);
|
|
179
|
+
for (const [sort, rule] of sortedRules) {
|
|
180
|
+
const layer = sort.layer === "defaults" ? "base" : sort.layer;
|
|
181
|
+
if (layerSet.has(layer)) nodes.push(rule.clone());
|
|
182
|
+
}
|
|
183
|
+
return nodes;
|
|
184
|
+
}
|
|
185
|
+
function createRootFromNodes(nodes) {
|
|
186
|
+
const root = postcss.root();
|
|
187
|
+
for (const node of nodes) root.append(node);
|
|
188
|
+
return root;
|
|
189
|
+
}
|
|
190
|
+
async function generateTailwindV3Style(options = {}) {
|
|
191
|
+
const tokens = await collectTailwindStyleCandidates(options);
|
|
192
|
+
const { createContext, generateRules, resolveConfig } = loadTailwindV3Modules(options);
|
|
193
|
+
const userContent = options.config?.content;
|
|
194
|
+
const config = resolveConfig({
|
|
195
|
+
...createDefaultTailwindV3Config(tokens),
|
|
196
|
+
...options.config ?? {},
|
|
197
|
+
content: [...Array.isArray(userContent) ? userContent : [], {
|
|
198
|
+
raw: [...tokens].join(" "),
|
|
199
|
+
extension: "html"
|
|
200
|
+
}]
|
|
201
|
+
});
|
|
202
|
+
const context = createContext(config, [], postcss.root());
|
|
203
|
+
return {
|
|
204
|
+
version: 3,
|
|
205
|
+
css: createRootFromNodes(buildStylesheetNodes(generateRules(tokens, context), context, options.layers ?? [
|
|
206
|
+
"base",
|
|
207
|
+
"components",
|
|
208
|
+
"utilities",
|
|
209
|
+
"variants"
|
|
210
|
+
])).toString(),
|
|
211
|
+
tokens,
|
|
212
|
+
classSet: new Set(context.classCache.keys()),
|
|
213
|
+
sources: options.sources ?? [],
|
|
214
|
+
config
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
async function generateTailwindV3RawStyle(options = {}) {
|
|
218
|
+
const tokens = await collectTailwindStyleCandidates(options);
|
|
219
|
+
const { collapseAdjacentRules, collapseDuplicateDeclarations, createContext, generateRules, notOnDemandCandidate, processTailwindFeatures, resolveConfig, resolveDefaultsAtRules, validateConfig } = loadTailwindV3Modules(options);
|
|
220
|
+
const css = options.css ?? "@tailwind utilities;";
|
|
221
|
+
const config = validateConfig(resolveConfig(createTailwindConfigWithContent(options.config, tokens, options.sources ?? [])));
|
|
222
|
+
const root = postcss.parse(css, { from: void 0 });
|
|
223
|
+
const result = {
|
|
224
|
+
css: "",
|
|
225
|
+
messages: []
|
|
226
|
+
};
|
|
227
|
+
const changedContent = createChangedContentEntries(tokens, options.sources ?? []);
|
|
228
|
+
const shouldUseDirectUtilities = options.directUtilitiesOnly === true || options.directUtilitiesOnly !== false && isDirectUtilitiesOnlyCss(css);
|
|
229
|
+
let context;
|
|
230
|
+
if (shouldUseDirectUtilities) {
|
|
231
|
+
context = createContext(config, changedContent, root);
|
|
232
|
+
generateRules(new Set(sortCandidates([notOnDemandCandidate, ...tokens])), context);
|
|
233
|
+
root.removeAll();
|
|
234
|
+
appendUtilityRules(root, context, [...context.ruleCache]);
|
|
235
|
+
resolveDefaultsAtRules(context)(root, result);
|
|
236
|
+
collapseAdjacentRules(context)(root, result);
|
|
237
|
+
collapseDuplicateDeclarations(context)(root, result);
|
|
238
|
+
} else {
|
|
239
|
+
const setupContext = () => {
|
|
240
|
+
return (currentRoot) => createContext(config, changedContent, currentRoot);
|
|
241
|
+
};
|
|
242
|
+
context = await processTailwindFeatures(setupContext)(root, result);
|
|
243
|
+
}
|
|
244
|
+
return {
|
|
245
|
+
version: 3,
|
|
246
|
+
css: root.toString(),
|
|
247
|
+
tokens,
|
|
248
|
+
classSet: collectClassSet(context, notOnDemandCandidate),
|
|
249
|
+
context,
|
|
250
|
+
dependencies: collectDependencyMessages(result),
|
|
251
|
+
sources: options.sources ?? [],
|
|
252
|
+
config
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
//#endregion
|
|
65
256
|
//#region src/v4/engine.ts
|
|
66
257
|
function resolveScanSources(options, source, compiledRoot, compiledSources) {
|
|
67
258
|
if (Array.isArray(options?.scanSources)) return options.scanSources;
|
|
@@ -70,13 +261,14 @@ function resolveScanSources(options, source, compiledRoot, compiledSources) {
|
|
|
70
261
|
}
|
|
71
262
|
async function collectRawCandidates(source, options, compiledRoot, compiledSources = []) {
|
|
72
263
|
const rawCandidates = /* @__PURE__ */ new Set();
|
|
264
|
+
const extractOptions = options?.bareArbitraryValues === void 0 ? void 0 : { bareArbitraryValues: options.bareArbitraryValues };
|
|
73
265
|
for (const candidate of options?.candidates ?? []) rawCandidates.add(candidate);
|
|
74
266
|
for (const candidateSource of options?.sources ?? []) {
|
|
75
|
-
const candidates = await extractRawCandidatesWithPositions(candidateSource.content, candidateSource.extension);
|
|
267
|
+
const candidates = await extractRawCandidatesWithPositions(candidateSource.content, candidateSource.extension, extractOptions);
|
|
76
268
|
for (const candidate of candidates) rawCandidates.add(candidate.rawCandidate);
|
|
77
269
|
}
|
|
78
270
|
const filesystemSources = resolveScanSources(options, source, compiledRoot, compiledSources);
|
|
79
|
-
if (filesystemSources.length > 0) for (const candidate of await extractRawCandidates(filesystemSources)) rawCandidates.add(candidate);
|
|
271
|
+
if (filesystemSources.length > 0) for (const candidate of await extractRawCandidates(filesystemSources, extractOptions)) rawCandidates.add(candidate);
|
|
80
272
|
const inlineSources = extractTailwindV4InlineSourceCandidates(source.css);
|
|
81
273
|
for (const candidate of inlineSources.included) rawCandidates.add(candidate);
|
|
82
274
|
for (const candidate of inlineSources.excluded) rawCandidates.delete(candidate);
|
|
@@ -262,6 +454,63 @@ async function resolveTailwindV4SourceFromPatchOptions(options) {
|
|
|
262
454
|
return resolveTailwindV4Source(tailwindV4SourceOptionsFromPatchOptions(options));
|
|
263
455
|
}
|
|
264
456
|
//#endregion
|
|
457
|
+
//#region src/v4/style-generator.ts
|
|
458
|
+
function createSourceOptions(options) {
|
|
459
|
+
return {
|
|
460
|
+
...options.projectRoot === void 0 ? {} : { projectRoot: options.projectRoot },
|
|
461
|
+
...options.cwd === void 0 ? {} : { cwd: options.cwd },
|
|
462
|
+
...options.base === void 0 ? {} : { base: options.base },
|
|
463
|
+
...options.baseFallbacks === void 0 ? {} : { baseFallbacks: options.baseFallbacks },
|
|
464
|
+
...options.css === void 0 ? {} : { css: options.css },
|
|
465
|
+
...options.cssSources === void 0 ? {} : { cssSources: options.cssSources },
|
|
466
|
+
...options.cssEntries === void 0 ? {} : { cssEntries: options.cssEntries },
|
|
467
|
+
...options.packageName === void 0 ? {} : { packageName: options.packageName }
|
|
468
|
+
};
|
|
469
|
+
}
|
|
470
|
+
async function collectTailwindV4StyleCandidates(options) {
|
|
471
|
+
return collectTailwindStyleCandidates(options);
|
|
472
|
+
}
|
|
473
|
+
async function generateTailwindV4Style(options = {}) {
|
|
474
|
+
const source = options.source ?? await resolveTailwindV4Source(createSourceOptions(options));
|
|
475
|
+
const candidates = await collectTailwindV4StyleCandidates(options);
|
|
476
|
+
const result = await createTailwindV4Engine(source).generate({
|
|
477
|
+
candidates,
|
|
478
|
+
...options.bareArbitraryValues === void 0 ? {} : { bareArbitraryValues: options.bareArbitraryValues },
|
|
479
|
+
...options.scanSources === void 0 ? {} : { scanSources: options.scanSources }
|
|
480
|
+
});
|
|
481
|
+
return {
|
|
482
|
+
...result,
|
|
483
|
+
tokens: result.rawCandidates,
|
|
484
|
+
source
|
|
485
|
+
};
|
|
486
|
+
}
|
|
487
|
+
//#endregion
|
|
488
|
+
//#region src/style-generator.ts
|
|
489
|
+
async function generateCustomStyle(options) {
|
|
490
|
+
const tokens = await collectTailwindStyleCandidates(options);
|
|
491
|
+
const classSet = new Set(tokens);
|
|
492
|
+
const sources = options.sources ?? [];
|
|
493
|
+
return {
|
|
494
|
+
version: "custom",
|
|
495
|
+
css: await options.generate({
|
|
496
|
+
tokens,
|
|
497
|
+
classSet,
|
|
498
|
+
sources
|
|
499
|
+
}),
|
|
500
|
+
tokens,
|
|
501
|
+
classSet,
|
|
502
|
+
sources
|
|
503
|
+
};
|
|
504
|
+
}
|
|
505
|
+
async function generateTailwindStyle(options) {
|
|
506
|
+
if (options.version === 3) return generateTailwindV3Style(options);
|
|
507
|
+
if (options.version === 4) return {
|
|
508
|
+
...await generateTailwindV4Style(options),
|
|
509
|
+
version: 4
|
|
510
|
+
};
|
|
511
|
+
return generateCustomStyle(options);
|
|
512
|
+
}
|
|
513
|
+
//#endregion
|
|
265
514
|
//#region src/public-api.ts
|
|
266
515
|
function defineConfig(config) {
|
|
267
516
|
return config;
|
|
@@ -279,4 +528,4 @@ function createTailwindcssPatchCli(options = {}) {
|
|
|
279
528
|
return loadCliModule().createTailwindcssPatchCli(options);
|
|
280
529
|
}
|
|
281
530
|
//#endregion
|
|
282
|
-
export { CacheStore, MIGRATION_REPORT_KIND, MIGRATION_REPORT_SCHEMA_VERSION, TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN, TAILWIND_V4_IGNORED_CONTENT_DIRS, TAILWIND_V4_IGNORED_EXTENSIONS, TAILWIND_V4_IGNORED_FILES, TailwindcssPatcher, VALIDATE_EXIT_CODES, VALIDATE_FAILURE_REASONS, ValidateCommandError, collectClassesFromContexts, collectClassesFromTailwindV4, createTailwindV4CompiledSourceEntries, createTailwindV4DefaultIgnoreSources, createTailwindV4Engine, createTailwindV4RootSources, createTailwindV4SourceEntryMatcher, createTailwindV4SourceExclusionMatcher, createTailwindcssPatchCli, defineConfig, expandTailwindV4SourceEntries, expandTailwindV4SourceEntryBraces, extractProjectCandidatesWithPositions, extractRawCandidates, extractRawCandidatesWithPositions, extractSourceCandidates, extractSourceCandidatesWithPositions, extractValidCandidates, getPatchStatusReport, groupTokensByFile, isFileExcludedByTailwindV4SourceEntries, isFileMatchedByTailwindV4SourceEntries, isValidCandidateToken, loadRuntimeContexts, loadTailwindV4DesignSystem, logger, mergeTailwindV4SourceEntries, migrateConfigFiles, mountTailwindcssPatchCommands, normalizeOptions, normalizeTailwindV4ScannerSources, normalizeTailwindV4SourceEntries, resolveProjectSourceFiles, resolveSourceScanPath, resolveTailwindV4Source, resolveTailwindV4SourceBaseCandidates, resolveTailwindV4SourceEntry, resolveTailwindV4SourceFromPatchOptions, resolveValidTailwindV4Candidates, restoreConfigFiles, runTailwindBuild, splitCandidateTokens, tailwindcssPatchCommands, validateCandidateTokenRE };
|
|
531
|
+
export { CacheStore, MIGRATION_REPORT_KIND, MIGRATION_REPORT_SCHEMA_VERSION, TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN, TAILWIND_V4_IGNORED_CONTENT_DIRS, TAILWIND_V4_IGNORED_EXTENSIONS, TAILWIND_V4_IGNORED_FILES, TailwindcssPatcher, VALIDATE_EXIT_CODES, VALIDATE_FAILURE_REASONS, ValidateCommandError, canonicalizeBareArbitraryValueCandidates, collectClassesFromContexts, collectClassesFromTailwindV4, collectTailwindStyleCandidates, collectTailwindV4StyleCandidates, createTailwindV4CompiledSourceEntries, createTailwindV4DefaultIgnoreSources, createTailwindV4Engine, createTailwindV4RootSources, createTailwindV4SourceEntryMatcher, createTailwindV4SourceExclusionMatcher, createTailwindcssPatchCli, defineConfig, escapeCssClassName, expandTailwindV4SourceEntries, expandTailwindV4SourceEntryBraces, extractBareArbitraryValueSourceCandidates, extractBareArbitraryValueSourceCandidatesWithPositions, extractProjectCandidatesWithPositions, extractRawCandidates, extractRawCandidatesWithPositions, extractSourceCandidates, extractSourceCandidatesWithPositions, extractValidCandidates, generateCustomStyle, generateTailwindStyle, generateTailwindV3RawStyle, generateTailwindV3Style, generateTailwindV4Style, getPatchStatusReport, groupTokensByFile, isBareArbitraryValuesEnabled, isFileExcludedByTailwindV4SourceEntries, isFileMatchedByTailwindV4SourceEntries, isValidCandidateToken, loadRuntimeContexts, loadTailwindV4DesignSystem, logger, mergeTailwindV4SourceEntries, migrateConfigFiles, mountTailwindcssPatchCommands, normalizeOptions, normalizeTailwindV4ScannerSources, normalizeTailwindV4SourceEntries, replaceBareArbitraryValueSelectors, resolveBareArbitraryValueCandidate, resolveProjectSourceFiles, resolveSourceScanPath, resolveTailwindV4Source, resolveTailwindV4SourceBaseCandidates, resolveTailwindV4SourceEntry, resolveTailwindV4SourceFromPatchOptions, resolveValidTailwindV4Candidates, restoreConfigFiles, runTailwindBuild, splitCandidateTokens, tailwindcssPatchCommands, validateCandidateTokenRE };
|