@weapp-tailwindcss/engine 0.1.3 → 0.1.5

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 CHANGED
@@ -20,6 +20,8 @@ The root entry exports candidate extraction, position reports, source scanning,
20
20
 
21
21
  Supports `@source`, multiple CSS sources, the design system, bare arbitrary values, incremental generation sessions, and cache disposal. Only Tailwind CSS 4 is supported. There are no v3, multi-version dispatcher, custom generator, or HTML parser compatibility entry points. Platform compatibility transforms belong to `@weapp-tailwindcss/postcss`.
22
22
 
23
+ `createTailwindGenerationSession(source, options)` and `createTailwindV4Engine(source, options)` accept an optional `prepareSource(source, designSystem)` callback. It receives the actual CSS selected for the scan mode and returns CSS while sharing the design system used for candidate validation. Limit preparation to generated rule ordering or nonsemantic markers; do not change themes, utilities, variants, configuration, plugins, imports, or source directives. The session retains source metadata, reruns preparation after invalidation, and reuses prepared CSS when candidates are deleted. Keep the callback and its configuration unchanged for the session lifetime.
24
+
23
25
  ## Source
24
26
 
25
27
  The source and corresponding v4 and extraction tests were migrated from the MIT-licensed [tailwindcss-mangle](https://github.com/sonofmagic/tailwindcss-mangle/tree/6bf58cebe073a06dfeac7ed44f55ecff50deb763/packages/engine) commit identified by the npm provenance for `@tailwindcss-mangle/engine@0.2.0`. The original [MIT license](./LICENSE) is retained. This package is maintained independently and does not depend on the old engine or a local submodule at runtime.
package/README.zh-CN.md CHANGED
@@ -20,6 +20,8 @@ console.log(result.css)
20
20
 
21
21
  支持 `@source`、多 CSS 来源、design system、裸任意值、增量生成会话与缓存释放。只支持 Tailwind CSS 4;不提供 v3、多版本分发、自定义生成器或 HTML parser 兼容入口。小程序平台兼容转换由 `@weapp-tailwindcss/postcss` 完成。
22
22
 
23
+ `createTailwindGenerationSession(source, options)` 和 `createTailwindV4Engine(source, options)` 可接收可选的 `prepareSource(source, designSystem)` 回调。回调接收当前扫描模式的实际 CSS,返回准备后的 CSS,并与候选校验共享 design system。该步骤仅用于生成规则排序或非语义标记清理,不得修改主题、utility、variant、配置、插件、导入或来源指令。会话保留来源元数据,失效后重新准备;候选删除只重建编译器并复用已准备的 CSS。会话存活期间,回调及其闭包配置必须保持不变。
24
+
23
25
  ## 来源
24
26
 
25
27
  源码及对应 v4、提取测试迁自 MIT 项目 [tailwindcss-mangle](https://github.com/sonofmagic/tailwindcss-mangle/tree/6bf58cebe073a06dfeac7ed44f55ecff50deb763/packages/engine),对应 npm `@tailwindcss-mangle/engine@0.2.0` 的发布证明。保留原始 [MIT 许可证](./LICENSE)。本包独立维护,不在运行时依赖旧 engine 或本地 submodule。
@@ -118,6 +118,15 @@ interface TailwindGenerationArtifact {
118
118
  dependencies: string[];
119
119
  sourceEntries: SourceEntry$1[];
120
120
  }
121
+ interface TailwindGenerationSessionOptions {
122
+ /**
123
+ * 使用当前实际编译来源的 design system 准备 CSS,结果与候选校验共享该实例。
124
+ * 仅允许调整生成规则的顺序或非语义标记,不能改变主题、utility、variant、
125
+ * 配置、插件、导入或来源指令;其他来源元数据由会话保留。
126
+ * 回调及其闭包配置在会话存活期间必须保持不变。
127
+ */
128
+ prepareSource?: ((source: Readonly<TailwindV4ResolvedSource>, designSystem: TailwindV4DesignSystem) => string | Promise<string>) | undefined;
129
+ }
121
130
  interface TailwindGenerationSession {
122
131
  readonly source: TailwindV4ResolvedSource;
123
132
  generate: (request?: GenerationRequest) => Promise<TailwindGenerationArtifact>;
@@ -181,6 +190,8 @@ interface TailwindV4StyleGenerateResult extends TailwindV4GenerateResult {
181
190
  interface TailwindV4DesignSystem {
182
191
  parseCandidate: (candidate: string) => unknown[];
183
192
  candidatesToCss: (candidates: string[]) => Array<string | null | undefined>;
193
+ /** 当前候选集合的生成顺序;可选以兼容只提供校验能力的实现。 */
194
+ getClassOrder?: ((candidates: string[]) => Array<[string, bigint | null]>) | undefined;
184
195
  }
185
196
  interface TailwindV4Engine {
186
197
  /** 释放内部生成会话;可选以兼容自定义引擎实现。 */
@@ -205,10 +216,10 @@ declare function replaceBareArbitraryValueSelectors(css: string, candidates: Ite
205
216
  declare function canonicalizeBareArbitraryValueCandidates(candidates: Iterable<string>, options?: boolean | BareArbitraryValueOptions): string[];
206
217
  //#endregion
207
218
  //#region src/v4/engine.d.ts
208
- declare function createTailwindV4Engine(source: TailwindV4ResolvedSource): TailwindV4Engine;
219
+ declare function createTailwindV4Engine(source: TailwindV4ResolvedSource, options?: TailwindGenerationSessionOptions): TailwindV4Engine;
209
220
  //#endregion
210
221
  //#region src/v4/generation-session.d.ts
211
- declare function createTailwindGenerationSession(source: TailwindV4ResolvedSource): TailwindGenerationSession;
222
+ declare function createTailwindGenerationSession(source: TailwindV4ResolvedSource, options?: TailwindGenerationSessionOptions): TailwindGenerationSession;
212
223
  //#endregion
213
224
  //#region src/v4/node-adapter.d.ts
214
225
  interface TailwindV4CompiledSource {
@@ -267,4 +278,4 @@ declare function resolveTailwindV4Source(options?: TailwindV4SourceOptions): Pro
267
278
  declare function collectTailwindV4StyleCandidates(options: Pick<TailwindV4StyleGenerateOptions, 'bareArbitraryValues' | 'candidates' | 'sources'>): Promise<Set<string>>;
268
279
  declare function generateTailwindV4Style(options?: TailwindV4StyleGenerateOptions): Promise<TailwindV4StyleGenerateResult>;
269
280
  //#endregion
270
- export { TailwindV4StyleGenerateOptions as $, createTailwindGenerationSession as A, SourceEntry$1 as B, isFileExcludedByTailwindV4SourceEntries as C, getTailwindV4DesignSystemCacheKey as D, compileTailwindV4Source as E, extractTailwindV4InlineSourceCandidates as F, TailwindV4CssSource as G, TailwindGenerationSession as H, CssFragment as I, TailwindV4GenerateOptions as J, TailwindV4DesignSystem as K, CssFragmentKind as L, canonicalizeBareArbitraryValueCandidates as M, replaceBareArbitraryValueSelectors as N, loadTailwindV4DesignSystem as O, resolveValidTailwindV4Candidates as P, TailwindV4SourcePattern as Q, GenerationChange as R, groupTailwindV4SourceEntriesByBase as S, mergeTailwindV4SourceEntries as T, TailwindV4CandidateSource as U, TailwindGenerationArtifact as V, TailwindV4CompiledSourceRoot as W, TailwindV4ResolvedSource as X, TailwindV4GenerateResult as Y, TailwindV4SourceOptions as Z, resolveTailwindV4SourceEntry as _, TAILWIND_V4_IGNORED_CONTENT_DIRS as a, isBareArbitraryValuesEnabled as at, createTailwindV4SourceExclusionMatcher as b, createTailwindV4CompiledSourceEntries as c, extractBareArbitraryValueSourceCandidatesWithPositions as ct, expandTailwindV4SourceEntryBraces as d, BareArbitraryValueSourceCandidate as dt, TailwindV4StyleGenerateResult as et, normalizeGlobPattern as f, escapeCssClassName as ft, resolveTailwindV4SourceBaseCandidates as g, resolveSourceScanPath$1 as h, TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN as i, collectTailwindStyleCandidates as it, createTailwindV4Engine as j, loadTailwindV4NodeModule as k, createTailwindV4DefaultIgnoreSources as l, BareArbitraryValueOptions as lt, normalizeTailwindV4SourceEntries as m, generateTailwindV4Style as n, TailwindStyleCandidateOptions as nt, TAILWIND_V4_IGNORED_EXTENSIONS as o, resolveBareArbitraryValueCandidate as ot, normalizeTailwindV4ScannerSources as p, TailwindV4Engine as q, resolveTailwindV4Source as r, TailwindStyleSource as rt, TAILWIND_V4_IGNORED_FILES as s, extractBareArbitraryValueSourceCandidates as st, collectTailwindV4StyleCandidates as t, TailwindV4StyleSource as tt, createTailwindV4RootSources as u, BareArbitraryValueResolveResult as ut, toPosixPath as v, isFileMatchedByTailwindV4SourceEntries as w, expandTailwindV4SourceEntries as x, createTailwindV4SourceEntryMatcher as y, GenerationRequest as z };
281
+ export { TailwindV4SourcePattern as $, createTailwindGenerationSession as A, SourceEntry$1 as B, isFileExcludedByTailwindV4SourceEntries as C, getTailwindV4DesignSystemCacheKey as D, compileTailwindV4Source as E, extractTailwindV4InlineSourceCandidates as F, TailwindV4CompiledSourceRoot as G, TailwindGenerationSession as H, CssFragment as I, TailwindV4Engine as J, TailwindV4CssSource as K, CssFragmentKind as L, canonicalizeBareArbitraryValueCandidates as M, replaceBareArbitraryValueSelectors as N, loadTailwindV4DesignSystem as O, resolveValidTailwindV4Candidates as P, TailwindV4SourceOptions as Q, GenerationChange as R, groupTailwindV4SourceEntriesByBase as S, mergeTailwindV4SourceEntries as T, TailwindGenerationSessionOptions as U, TailwindGenerationArtifact as V, TailwindV4CandidateSource as W, TailwindV4GenerateResult as X, TailwindV4GenerateOptions as Y, TailwindV4ResolvedSource as Z, resolveTailwindV4SourceEntry as _, TAILWIND_V4_IGNORED_CONTENT_DIRS as a, collectTailwindStyleCandidates as at, createTailwindV4SourceExclusionMatcher as b, createTailwindV4CompiledSourceEntries as c, extractBareArbitraryValueSourceCandidates as ct, expandTailwindV4SourceEntryBraces as d, BareArbitraryValueResolveResult as dt, TailwindV4StyleGenerateOptions as et, normalizeGlobPattern as f, BareArbitraryValueSourceCandidate as ft, resolveTailwindV4SourceBaseCandidates as g, resolveSourceScanPath$1 as h, TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN as i, TailwindStyleSource as it, createTailwindV4Engine as j, loadTailwindV4NodeModule as k, createTailwindV4DefaultIgnoreSources as l, extractBareArbitraryValueSourceCandidatesWithPositions as lt, normalizeTailwindV4SourceEntries as m, generateTailwindV4Style as n, TailwindV4StyleSource as nt, TAILWIND_V4_IGNORED_EXTENSIONS as o, isBareArbitraryValuesEnabled as ot, normalizeTailwindV4ScannerSources as p, escapeCssClassName as pt, TailwindV4DesignSystem as q, resolveTailwindV4Source as r, TailwindStyleCandidateOptions as rt, TAILWIND_V4_IGNORED_FILES as s, resolveBareArbitraryValueCandidate as st, collectTailwindV4StyleCandidates as t, TailwindV4StyleGenerateResult as tt, createTailwindV4RootSources as u, BareArbitraryValueOptions as ut, toPosixPath as v, isFileMatchedByTailwindV4SourceEntries as w, expandTailwindV4SourceEntries as x, createTailwindV4SourceEntryMatcher as y, GenerationRequest as z };
@@ -118,6 +118,15 @@ interface TailwindGenerationArtifact {
118
118
  dependencies: string[];
119
119
  sourceEntries: SourceEntry$1[];
120
120
  }
121
+ interface TailwindGenerationSessionOptions {
122
+ /**
123
+ * 使用当前实际编译来源的 design system 准备 CSS,结果与候选校验共享该实例。
124
+ * 仅允许调整生成规则的顺序或非语义标记,不能改变主题、utility、variant、
125
+ * 配置、插件、导入或来源指令;其他来源元数据由会话保留。
126
+ * 回调及其闭包配置在会话存活期间必须保持不变。
127
+ */
128
+ prepareSource?: ((source: Readonly<TailwindV4ResolvedSource>, designSystem: TailwindV4DesignSystem) => string | Promise<string>) | undefined;
129
+ }
121
130
  interface TailwindGenerationSession {
122
131
  readonly source: TailwindV4ResolvedSource;
123
132
  generate: (request?: GenerationRequest) => Promise<TailwindGenerationArtifact>;
@@ -181,6 +190,8 @@ interface TailwindV4StyleGenerateResult extends TailwindV4GenerateResult {
181
190
  interface TailwindV4DesignSystem {
182
191
  parseCandidate: (candidate: string) => unknown[];
183
192
  candidatesToCss: (candidates: string[]) => Array<string | null | undefined>;
193
+ /** 当前候选集合的生成顺序;可选以兼容只提供校验能力的实现。 */
194
+ getClassOrder?: ((candidates: string[]) => Array<[string, bigint | null]>) | undefined;
184
195
  }
185
196
  interface TailwindV4Engine {
186
197
  /** 释放内部生成会话;可选以兼容自定义引擎实现。 */
@@ -205,10 +216,10 @@ declare function replaceBareArbitraryValueSelectors(css: string, candidates: Ite
205
216
  declare function canonicalizeBareArbitraryValueCandidates(candidates: Iterable<string>, options?: boolean | BareArbitraryValueOptions): string[];
206
217
  //#endregion
207
218
  //#region src/v4/engine.d.ts
208
- declare function createTailwindV4Engine(source: TailwindV4ResolvedSource): TailwindV4Engine;
219
+ declare function createTailwindV4Engine(source: TailwindV4ResolvedSource, options?: TailwindGenerationSessionOptions): TailwindV4Engine;
209
220
  //#endregion
210
221
  //#region src/v4/generation-session.d.ts
211
- declare function createTailwindGenerationSession(source: TailwindV4ResolvedSource): TailwindGenerationSession;
222
+ declare function createTailwindGenerationSession(source: TailwindV4ResolvedSource, options?: TailwindGenerationSessionOptions): TailwindGenerationSession;
212
223
  //#endregion
213
224
  //#region src/v4/node-adapter.d.ts
214
225
  interface TailwindV4CompiledSource {
@@ -267,4 +278,4 @@ declare function resolveTailwindV4Source(options?: TailwindV4SourceOptions): Pro
267
278
  declare function collectTailwindV4StyleCandidates(options: Pick<TailwindV4StyleGenerateOptions, 'bareArbitraryValues' | 'candidates' | 'sources'>): Promise<Set<string>>;
268
279
  declare function generateTailwindV4Style(options?: TailwindV4StyleGenerateOptions): Promise<TailwindV4StyleGenerateResult>;
269
280
  //#endregion
270
- export { TailwindV4StyleGenerateOptions as $, createTailwindGenerationSession as A, SourceEntry$1 as B, isFileExcludedByTailwindV4SourceEntries as C, getTailwindV4DesignSystemCacheKey as D, compileTailwindV4Source as E, extractTailwindV4InlineSourceCandidates as F, TailwindV4CssSource as G, TailwindGenerationSession as H, CssFragment as I, TailwindV4GenerateOptions as J, TailwindV4DesignSystem as K, CssFragmentKind as L, canonicalizeBareArbitraryValueCandidates as M, replaceBareArbitraryValueSelectors as N, loadTailwindV4DesignSystem as O, resolveValidTailwindV4Candidates as P, TailwindV4SourcePattern as Q, GenerationChange as R, groupTailwindV4SourceEntriesByBase as S, mergeTailwindV4SourceEntries as T, TailwindV4CandidateSource as U, TailwindGenerationArtifact as V, TailwindV4CompiledSourceRoot as W, TailwindV4ResolvedSource as X, TailwindV4GenerateResult as Y, TailwindV4SourceOptions as Z, resolveTailwindV4SourceEntry as _, TAILWIND_V4_IGNORED_CONTENT_DIRS as a, isBareArbitraryValuesEnabled as at, createTailwindV4SourceExclusionMatcher as b, createTailwindV4CompiledSourceEntries as c, extractBareArbitraryValueSourceCandidatesWithPositions as ct, expandTailwindV4SourceEntryBraces as d, BareArbitraryValueSourceCandidate as dt, TailwindV4StyleGenerateResult as et, normalizeGlobPattern as f, escapeCssClassName as ft, resolveTailwindV4SourceBaseCandidates as g, resolveSourceScanPath as h, TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN as i, collectTailwindStyleCandidates as it, createTailwindV4Engine as j, loadTailwindV4NodeModule as k, createTailwindV4DefaultIgnoreSources as l, BareArbitraryValueOptions as lt, normalizeTailwindV4SourceEntries as m, generateTailwindV4Style as n, TailwindStyleCandidateOptions as nt, TAILWIND_V4_IGNORED_EXTENSIONS as o, resolveBareArbitraryValueCandidate as ot, normalizeTailwindV4ScannerSources as p, TailwindV4Engine as q, resolveTailwindV4Source as r, TailwindStyleSource as rt, TAILWIND_V4_IGNORED_FILES as s, extractBareArbitraryValueSourceCandidates as st, collectTailwindV4StyleCandidates as t, TailwindV4StyleSource as tt, createTailwindV4RootSources as u, BareArbitraryValueResolveResult as ut, toPosixPath as v, isFileMatchedByTailwindV4SourceEntries as w, expandTailwindV4SourceEntries as x, createTailwindV4SourceEntryMatcher as y, GenerationRequest as z };
281
+ export { TailwindV4SourcePattern as $, createTailwindGenerationSession as A, SourceEntry$1 as B, isFileExcludedByTailwindV4SourceEntries as C, getTailwindV4DesignSystemCacheKey as D, compileTailwindV4Source as E, extractTailwindV4InlineSourceCandidates as F, TailwindV4CompiledSourceRoot as G, TailwindGenerationSession as H, CssFragment as I, TailwindV4Engine as J, TailwindV4CssSource as K, CssFragmentKind as L, canonicalizeBareArbitraryValueCandidates as M, replaceBareArbitraryValueSelectors as N, loadTailwindV4DesignSystem as O, resolveValidTailwindV4Candidates as P, TailwindV4SourceOptions as Q, GenerationChange as R, groupTailwindV4SourceEntriesByBase as S, mergeTailwindV4SourceEntries as T, TailwindGenerationSessionOptions as U, TailwindGenerationArtifact as V, TailwindV4CandidateSource as W, TailwindV4GenerateResult as X, TailwindV4GenerateOptions as Y, TailwindV4ResolvedSource as Z, resolveTailwindV4SourceEntry as _, TAILWIND_V4_IGNORED_CONTENT_DIRS as a, collectTailwindStyleCandidates as at, createTailwindV4SourceExclusionMatcher as b, createTailwindV4CompiledSourceEntries as c, extractBareArbitraryValueSourceCandidates as ct, expandTailwindV4SourceEntryBraces as d, BareArbitraryValueResolveResult as dt, TailwindV4StyleGenerateOptions as et, normalizeGlobPattern as f, BareArbitraryValueSourceCandidate as ft, resolveTailwindV4SourceBaseCandidates as g, resolveSourceScanPath as h, TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN as i, TailwindStyleSource as it, createTailwindV4Engine as j, loadTailwindV4NodeModule as k, createTailwindV4DefaultIgnoreSources as l, extractBareArbitraryValueSourceCandidatesWithPositions as lt, normalizeTailwindV4SourceEntries as m, generateTailwindV4Style as n, TailwindV4StyleSource as nt, TAILWIND_V4_IGNORED_EXTENSIONS as o, isBareArbitraryValuesEnabled as ot, normalizeTailwindV4ScannerSources as p, escapeCssClassName as pt, TailwindV4DesignSystem as q, resolveTailwindV4Source as r, TailwindStyleCandidateOptions as rt, TAILWIND_V4_IGNORED_FILES as s, resolveBareArbitraryValueCandidate as st, collectTailwindV4StyleCandidates as t, TailwindV4StyleGenerateResult as tt, createTailwindV4RootSources as u, BareArbitraryValueOptions as ut, toPosixPath as v, isFileMatchedByTailwindV4SourceEntries as w, expandTailwindV4SourceEntries as x, createTailwindV4SourceEntryMatcher as y, GenerationRequest as z };
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_v4 = require("./v4-CgRRASej.cjs");
2
+ const require_v4 = require("./v4-B5YEEbhA.cjs");
3
3
  let node_process = require("node:process");
4
4
  node_process = require_v4.__toESM(node_process, 1);
5
5
  let _weapp_tailwindcss_source_scan = require("@weapp-tailwindcss/source-scan");
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as TailwindV4StyleGenerateOptions, A as createTailwindGenerationSession, B as SourceEntry, C as isFileExcludedByTailwindV4SourceEntries, D as getTailwindV4DesignSystemCacheKey, E as compileTailwindV4Source, F as extractTailwindV4InlineSourceCandidates, G as TailwindV4CssSource, H as TailwindGenerationSession, I as CssFragment, J as TailwindV4GenerateOptions, K as TailwindV4DesignSystem, L as CssFragmentKind, M as canonicalizeBareArbitraryValueCandidates, N as replaceBareArbitraryValueSelectors, O as loadTailwindV4DesignSystem, P as resolveValidTailwindV4Candidates, Q as TailwindV4SourcePattern, R as GenerationChange, S as groupTailwindV4SourceEntriesByBase, T as mergeTailwindV4SourceEntries, U as TailwindV4CandidateSource, V as TailwindGenerationArtifact, W as TailwindV4CompiledSourceRoot, X as TailwindV4ResolvedSource, Y as TailwindV4GenerateResult, Z as TailwindV4SourceOptions, _ as resolveTailwindV4SourceEntry, a as TAILWIND_V4_IGNORED_CONTENT_DIRS, at as isBareArbitraryValuesEnabled, b as createTailwindV4SourceExclusionMatcher, c as createTailwindV4CompiledSourceEntries, ct as extractBareArbitraryValueSourceCandidatesWithPositions, d as expandTailwindV4SourceEntryBraces, dt as BareArbitraryValueSourceCandidate, et as TailwindV4StyleGenerateResult, f as normalizeGlobPattern, ft as escapeCssClassName, g as resolveTailwindV4SourceBaseCandidates, h as resolveSourceScanPath, i as TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN, it as collectTailwindStyleCandidates, j as createTailwindV4Engine, k as loadTailwindV4NodeModule, l as createTailwindV4DefaultIgnoreSources, lt as BareArbitraryValueOptions, m as normalizeTailwindV4SourceEntries, n as generateTailwindV4Style, nt as TailwindStyleCandidateOptions, o as TAILWIND_V4_IGNORED_EXTENSIONS, ot as resolveBareArbitraryValueCandidate, p as normalizeTailwindV4ScannerSources, q as TailwindV4Engine, r as resolveTailwindV4Source, rt as TailwindStyleSource, s as TAILWIND_V4_IGNORED_FILES, st as extractBareArbitraryValueSourceCandidates, t as collectTailwindV4StyleCandidates, tt as TailwindV4StyleSource, u as createTailwindV4RootSources, ut as BareArbitraryValueResolveResult, v as toPosixPath, w as isFileMatchedByTailwindV4SourceEntries, x as expandTailwindV4SourceEntries, y as createTailwindV4SourceEntryMatcher, z as GenerationRequest } from "./index-BnvpPg0y.cjs";
1
+ import { $ as TailwindV4SourcePattern, A as createTailwindGenerationSession, B as SourceEntry, C as isFileExcludedByTailwindV4SourceEntries, D as getTailwindV4DesignSystemCacheKey, E as compileTailwindV4Source, F as extractTailwindV4InlineSourceCandidates, G as TailwindV4CompiledSourceRoot, H as TailwindGenerationSession, I as CssFragment, J as TailwindV4Engine, K as TailwindV4CssSource, L as CssFragmentKind, M as canonicalizeBareArbitraryValueCandidates, N as replaceBareArbitraryValueSelectors, O as loadTailwindV4DesignSystem, P as resolveValidTailwindV4Candidates, Q as TailwindV4SourceOptions, R as GenerationChange, S as groupTailwindV4SourceEntriesByBase, T as mergeTailwindV4SourceEntries, U as TailwindGenerationSessionOptions, V as TailwindGenerationArtifact, W as TailwindV4CandidateSource, X as TailwindV4GenerateResult, Y as TailwindV4GenerateOptions, Z as TailwindV4ResolvedSource, _ as resolveTailwindV4SourceEntry, a as TAILWIND_V4_IGNORED_CONTENT_DIRS, at as collectTailwindStyleCandidates, b as createTailwindV4SourceExclusionMatcher, c as createTailwindV4CompiledSourceEntries, ct as extractBareArbitraryValueSourceCandidates, d as expandTailwindV4SourceEntryBraces, dt as BareArbitraryValueResolveResult, et as TailwindV4StyleGenerateOptions, f as normalizeGlobPattern, ft as BareArbitraryValueSourceCandidate, g as resolveTailwindV4SourceBaseCandidates, h as resolveSourceScanPath, i as TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN, it as TailwindStyleSource, j as createTailwindV4Engine, k as loadTailwindV4NodeModule, l as createTailwindV4DefaultIgnoreSources, lt as extractBareArbitraryValueSourceCandidatesWithPositions, m as normalizeTailwindV4SourceEntries, n as generateTailwindV4Style, nt as TailwindV4StyleSource, o as TAILWIND_V4_IGNORED_EXTENSIONS, ot as isBareArbitraryValuesEnabled, p as normalizeTailwindV4ScannerSources, pt as escapeCssClassName, q as TailwindV4DesignSystem, r as resolveTailwindV4Source, rt as TailwindStyleCandidateOptions, s as TAILWIND_V4_IGNORED_FILES, st as resolveBareArbitraryValueCandidate, t as collectTailwindV4StyleCandidates, tt as TailwindV4StyleGenerateResult, u as createTailwindV4RootSources, ut as BareArbitraryValueOptions, v as toPosixPath, w as isFileMatchedByTailwindV4SourceEntries, x as expandTailwindV4SourceEntries, y as createTailwindV4SourceEntryMatcher, z as GenerationRequest } from "./index-ubIZsEf5.cjs";
2
2
  import { SourceEntry as SourceEntry$1 } from "@tailwindcss/oxide";
3
3
  //#region src/types.d.ts
4
4
  export interface TailwindTokenLocation {
@@ -81,4 +81,4 @@ export declare const validateCandidateTokenRE: RegExp;
81
81
  export declare function isValidCandidateToken(token?: string): token is string;
82
82
  export declare function splitCandidateTokens(code: string): string[];
83
83
  //#endregion
84
- export { type BareArbitraryValueOptions, type BareArbitraryValueResolveResult, type BareArbitraryValueSourceCandidate, type CssFragment, type CssFragmentKind, type ExtractCandidateOptions, type ExtractSourceCandidate, type GenerationChange, type GenerationRequest, type SourceEntry, TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN, TAILWIND_V4_IGNORED_CONTENT_DIRS, TAILWIND_V4_IGNORED_EXTENSIONS, TAILWIND_V4_IGNORED_FILES, type TailwindGenerationArtifact, type TailwindGenerationSession, TailwindStyleCandidateOptions, TailwindStyleSource, type TailwindV4CandidateSource, type TailwindV4CompiledSourceRoot, type TailwindV4CssSource, type TailwindV4DesignSystem, type TailwindV4Engine, type TailwindV4GenerateOptions, type TailwindV4GenerateResult, type TailwindV4ResolvedSource, type TailwindV4SourceOptions, type TailwindV4SourcePattern, type TailwindV4StyleGenerateOptions, type TailwindV4StyleGenerateResult, type TailwindV4StyleSource, canonicalizeBareArbitraryValueCandidates, collectTailwindStyleCandidates, collectTailwindV4StyleCandidates, compileTailwindV4Source, createTailwindGenerationSession, createTailwindV4CompiledSourceEntries, createTailwindV4DefaultIgnoreSources, createTailwindV4Engine, createTailwindV4RootSources, createTailwindV4SourceEntryMatcher, createTailwindV4SourceExclusionMatcher, escapeCssClassName, expandTailwindV4SourceEntries, expandTailwindV4SourceEntryBraces, extractBareArbitraryValueSourceCandidates, extractBareArbitraryValueSourceCandidatesWithPositions, extractTailwindV4InlineSourceCandidates, generateTailwindV4Style, getTailwindV4DesignSystemCacheKey, groupTailwindV4SourceEntriesByBase, isBareArbitraryValuesEnabled, isFileExcludedByTailwindV4SourceEntries, isFileMatchedByTailwindV4SourceEntries, loadTailwindV4DesignSystem, loadTailwindV4NodeModule, mergeTailwindV4SourceEntries, normalizeGlobPattern, normalizeTailwindV4ScannerSources, normalizeTailwindV4SourceEntries, replaceBareArbitraryValueSelectors, resolveBareArbitraryValueCandidate, resolveSourceScanPath, resolveTailwindV4Source, resolveTailwindV4SourceBaseCandidates, resolveTailwindV4SourceEntry, resolveValidTailwindV4Candidates, toPosixPath };
84
+ export { type BareArbitraryValueOptions, type BareArbitraryValueResolveResult, type BareArbitraryValueSourceCandidate, type CssFragment, type CssFragmentKind, type ExtractCandidateOptions, type ExtractSourceCandidate, type GenerationChange, type GenerationRequest, type SourceEntry, TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN, TAILWIND_V4_IGNORED_CONTENT_DIRS, TAILWIND_V4_IGNORED_EXTENSIONS, TAILWIND_V4_IGNORED_FILES, type TailwindGenerationArtifact, type TailwindGenerationSession, type TailwindGenerationSessionOptions, TailwindStyleCandidateOptions, TailwindStyleSource, type TailwindV4CandidateSource, type TailwindV4CompiledSourceRoot, type TailwindV4CssSource, type TailwindV4DesignSystem, type TailwindV4Engine, type TailwindV4GenerateOptions, type TailwindV4GenerateResult, type TailwindV4ResolvedSource, type TailwindV4SourceOptions, type TailwindV4SourcePattern, type TailwindV4StyleGenerateOptions, type TailwindV4StyleGenerateResult, type TailwindV4StyleSource, canonicalizeBareArbitraryValueCandidates, collectTailwindStyleCandidates, collectTailwindV4StyleCandidates, compileTailwindV4Source, createTailwindGenerationSession, createTailwindV4CompiledSourceEntries, createTailwindV4DefaultIgnoreSources, createTailwindV4Engine, createTailwindV4RootSources, createTailwindV4SourceEntryMatcher, createTailwindV4SourceExclusionMatcher, escapeCssClassName, expandTailwindV4SourceEntries, expandTailwindV4SourceEntryBraces, extractBareArbitraryValueSourceCandidates, extractBareArbitraryValueSourceCandidatesWithPositions, extractTailwindV4InlineSourceCandidates, generateTailwindV4Style, getTailwindV4DesignSystemCacheKey, groupTailwindV4SourceEntriesByBase, isBareArbitraryValuesEnabled, isFileExcludedByTailwindV4SourceEntries, isFileMatchedByTailwindV4SourceEntries, loadTailwindV4DesignSystem, loadTailwindV4NodeModule, mergeTailwindV4SourceEntries, normalizeGlobPattern, normalizeTailwindV4ScannerSources, normalizeTailwindV4SourceEntries, replaceBareArbitraryValueSelectors, resolveBareArbitraryValueCandidate, resolveSourceScanPath, resolveTailwindV4Source, resolveTailwindV4SourceBaseCandidates, resolveTailwindV4SourceEntry, resolveValidTailwindV4Candidates, toPosixPath };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as TailwindV4StyleGenerateOptions, A as createTailwindGenerationSession, B as SourceEntry, C as isFileExcludedByTailwindV4SourceEntries, D as getTailwindV4DesignSystemCacheKey, E as compileTailwindV4Source, F as extractTailwindV4InlineSourceCandidates, G as TailwindV4CssSource, H as TailwindGenerationSession, I as CssFragment, J as TailwindV4GenerateOptions, K as TailwindV4DesignSystem, L as CssFragmentKind, M as canonicalizeBareArbitraryValueCandidates, N as replaceBareArbitraryValueSelectors, O as loadTailwindV4DesignSystem, P as resolveValidTailwindV4Candidates, Q as TailwindV4SourcePattern, R as GenerationChange, S as groupTailwindV4SourceEntriesByBase, T as mergeTailwindV4SourceEntries, U as TailwindV4CandidateSource, V as TailwindGenerationArtifact, W as TailwindV4CompiledSourceRoot, X as TailwindV4ResolvedSource, Y as TailwindV4GenerateResult, Z as TailwindV4SourceOptions, _ as resolveTailwindV4SourceEntry, a as TAILWIND_V4_IGNORED_CONTENT_DIRS, at as isBareArbitraryValuesEnabled, b as createTailwindV4SourceExclusionMatcher, c as createTailwindV4CompiledSourceEntries, ct as extractBareArbitraryValueSourceCandidatesWithPositions, d as expandTailwindV4SourceEntryBraces, dt as BareArbitraryValueSourceCandidate, et as TailwindV4StyleGenerateResult, f as normalizeGlobPattern, ft as escapeCssClassName, g as resolveTailwindV4SourceBaseCandidates, h as resolveSourceScanPath, i as TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN, it as collectTailwindStyleCandidates, j as createTailwindV4Engine, k as loadTailwindV4NodeModule, l as createTailwindV4DefaultIgnoreSources, lt as BareArbitraryValueOptions, m as normalizeTailwindV4SourceEntries, n as generateTailwindV4Style, nt as TailwindStyleCandidateOptions, o as TAILWIND_V4_IGNORED_EXTENSIONS, ot as resolveBareArbitraryValueCandidate, p as normalizeTailwindV4ScannerSources, q as TailwindV4Engine, r as resolveTailwindV4Source, rt as TailwindStyleSource, s as TAILWIND_V4_IGNORED_FILES, st as extractBareArbitraryValueSourceCandidates, t as collectTailwindV4StyleCandidates, tt as TailwindV4StyleSource, u as createTailwindV4RootSources, ut as BareArbitraryValueResolveResult, v as toPosixPath, w as isFileMatchedByTailwindV4SourceEntries, x as expandTailwindV4SourceEntries, y as createTailwindV4SourceEntryMatcher, z as GenerationRequest } from "./index-CHGSHPWB.js";
1
+ import { $ as TailwindV4SourcePattern, A as createTailwindGenerationSession, B as SourceEntry, C as isFileExcludedByTailwindV4SourceEntries, D as getTailwindV4DesignSystemCacheKey, E as compileTailwindV4Source, F as extractTailwindV4InlineSourceCandidates, G as TailwindV4CompiledSourceRoot, H as TailwindGenerationSession, I as CssFragment, J as TailwindV4Engine, K as TailwindV4CssSource, L as CssFragmentKind, M as canonicalizeBareArbitraryValueCandidates, N as replaceBareArbitraryValueSelectors, O as loadTailwindV4DesignSystem, P as resolveValidTailwindV4Candidates, Q as TailwindV4SourceOptions, R as GenerationChange, S as groupTailwindV4SourceEntriesByBase, T as mergeTailwindV4SourceEntries, U as TailwindGenerationSessionOptions, V as TailwindGenerationArtifact, W as TailwindV4CandidateSource, X as TailwindV4GenerateResult, Y as TailwindV4GenerateOptions, Z as TailwindV4ResolvedSource, _ as resolveTailwindV4SourceEntry, a as TAILWIND_V4_IGNORED_CONTENT_DIRS, at as collectTailwindStyleCandidates, b as createTailwindV4SourceExclusionMatcher, c as createTailwindV4CompiledSourceEntries, ct as extractBareArbitraryValueSourceCandidates, d as expandTailwindV4SourceEntryBraces, dt as BareArbitraryValueResolveResult, et as TailwindV4StyleGenerateOptions, f as normalizeGlobPattern, ft as BareArbitraryValueSourceCandidate, g as resolveTailwindV4SourceBaseCandidates, h as resolveSourceScanPath, i as TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN, it as TailwindStyleSource, j as createTailwindV4Engine, k as loadTailwindV4NodeModule, l as createTailwindV4DefaultIgnoreSources, lt as extractBareArbitraryValueSourceCandidatesWithPositions, m as normalizeTailwindV4SourceEntries, n as generateTailwindV4Style, nt as TailwindV4StyleSource, o as TAILWIND_V4_IGNORED_EXTENSIONS, ot as isBareArbitraryValuesEnabled, p as normalizeTailwindV4ScannerSources, pt as escapeCssClassName, q as TailwindV4DesignSystem, r as resolveTailwindV4Source, rt as TailwindStyleCandidateOptions, s as TAILWIND_V4_IGNORED_FILES, st as resolveBareArbitraryValueCandidate, t as collectTailwindV4StyleCandidates, tt as TailwindV4StyleGenerateResult, u as createTailwindV4RootSources, ut as BareArbitraryValueOptions, v as toPosixPath, w as isFileMatchedByTailwindV4SourceEntries, x as expandTailwindV4SourceEntries, y as createTailwindV4SourceEntryMatcher, z as GenerationRequest } from "./index-BCGhMfsk.js";
2
2
  import { SourceEntry as SourceEntry$1 } from "@tailwindcss/oxide";
3
3
  //#region src/types.d.ts
4
4
  export interface TailwindTokenLocation {
@@ -81,4 +81,4 @@ export declare const validateCandidateTokenRE: RegExp;
81
81
  export declare function isValidCandidateToken(token?: string): token is string;
82
82
  export declare function splitCandidateTokens(code: string): string[];
83
83
  //#endregion
84
- export { type BareArbitraryValueOptions, type BareArbitraryValueResolveResult, type BareArbitraryValueSourceCandidate, type CssFragment, type CssFragmentKind, type ExtractCandidateOptions, type ExtractSourceCandidate, type GenerationChange, type GenerationRequest, type SourceEntry, TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN, TAILWIND_V4_IGNORED_CONTENT_DIRS, TAILWIND_V4_IGNORED_EXTENSIONS, TAILWIND_V4_IGNORED_FILES, type TailwindGenerationArtifact, type TailwindGenerationSession, TailwindStyleCandidateOptions, TailwindStyleSource, type TailwindV4CandidateSource, type TailwindV4CompiledSourceRoot, type TailwindV4CssSource, type TailwindV4DesignSystem, type TailwindV4Engine, type TailwindV4GenerateOptions, type TailwindV4GenerateResult, type TailwindV4ResolvedSource, type TailwindV4SourceOptions, type TailwindV4SourcePattern, type TailwindV4StyleGenerateOptions, type TailwindV4StyleGenerateResult, type TailwindV4StyleSource, canonicalizeBareArbitraryValueCandidates, collectTailwindStyleCandidates, collectTailwindV4StyleCandidates, compileTailwindV4Source, createTailwindGenerationSession, createTailwindV4CompiledSourceEntries, createTailwindV4DefaultIgnoreSources, createTailwindV4Engine, createTailwindV4RootSources, createTailwindV4SourceEntryMatcher, createTailwindV4SourceExclusionMatcher, escapeCssClassName, expandTailwindV4SourceEntries, expandTailwindV4SourceEntryBraces, extractBareArbitraryValueSourceCandidates, extractBareArbitraryValueSourceCandidatesWithPositions, extractTailwindV4InlineSourceCandidates, generateTailwindV4Style, getTailwindV4DesignSystemCacheKey, groupTailwindV4SourceEntriesByBase, isBareArbitraryValuesEnabled, isFileExcludedByTailwindV4SourceEntries, isFileMatchedByTailwindV4SourceEntries, loadTailwindV4DesignSystem, loadTailwindV4NodeModule, mergeTailwindV4SourceEntries, normalizeGlobPattern, normalizeTailwindV4ScannerSources, normalizeTailwindV4SourceEntries, replaceBareArbitraryValueSelectors, resolveBareArbitraryValueCandidate, resolveSourceScanPath, resolveTailwindV4Source, resolveTailwindV4SourceBaseCandidates, resolveTailwindV4SourceEntry, resolveValidTailwindV4Candidates, toPosixPath };
84
+ export { type BareArbitraryValueOptions, type BareArbitraryValueResolveResult, type BareArbitraryValueSourceCandidate, type CssFragment, type CssFragmentKind, type ExtractCandidateOptions, type ExtractSourceCandidate, type GenerationChange, type GenerationRequest, type SourceEntry, TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN, TAILWIND_V4_IGNORED_CONTENT_DIRS, TAILWIND_V4_IGNORED_EXTENSIONS, TAILWIND_V4_IGNORED_FILES, type TailwindGenerationArtifact, type TailwindGenerationSession, type TailwindGenerationSessionOptions, TailwindStyleCandidateOptions, TailwindStyleSource, type TailwindV4CandidateSource, type TailwindV4CompiledSourceRoot, type TailwindV4CssSource, type TailwindV4DesignSystem, type TailwindV4Engine, type TailwindV4GenerateOptions, type TailwindV4GenerateResult, type TailwindV4ResolvedSource, type TailwindV4SourceOptions, type TailwindV4SourcePattern, type TailwindV4StyleGenerateOptions, type TailwindV4StyleGenerateResult, type TailwindV4StyleSource, canonicalizeBareArbitraryValueCandidates, collectTailwindStyleCandidates, collectTailwindV4StyleCandidates, compileTailwindV4Source, createTailwindGenerationSession, createTailwindV4CompiledSourceEntries, createTailwindV4DefaultIgnoreSources, createTailwindV4Engine, createTailwindV4RootSources, createTailwindV4SourceEntryMatcher, createTailwindV4SourceExclusionMatcher, escapeCssClassName, expandTailwindV4SourceEntries, expandTailwindV4SourceEntryBraces, extractBareArbitraryValueSourceCandidates, extractBareArbitraryValueSourceCandidatesWithPositions, extractTailwindV4InlineSourceCandidates, generateTailwindV4Style, getTailwindV4DesignSystemCacheKey, groupTailwindV4SourceEntriesByBase, isBareArbitraryValuesEnabled, isFileExcludedByTailwindV4SourceEntries, isFileMatchedByTailwindV4SourceEntries, loadTailwindV4DesignSystem, loadTailwindV4NodeModule, mergeTailwindV4SourceEntries, normalizeGlobPattern, normalizeTailwindV4ScannerSources, normalizeTailwindV4SourceEntries, replaceBareArbitraryValueSelectors, resolveBareArbitraryValueCandidate, resolveSourceScanPath, resolveTailwindV4Source, resolveTailwindV4SourceBaseCandidates, resolveTailwindV4SourceEntry, resolveValidTailwindV4Candidates, toPosixPath };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { A as expandTailwindV4SourceEntryBraces, B as expandTailwindV4SourceEntries, C as TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN, D as createTailwindV4CompiledSourceEntries, E as TAILWIND_V4_IGNORED_FILES, F as resolveTailwindV4SourceBaseCandidates, G as compileTailwindV4Source, H as isFileExcludedByTailwindV4SourceEntries, I as resolveTailwindV4SourceEntry, J as loadTailwindV4NodeModule, K as getTailwindV4DesignSystemCacheKey, L as toPosixPath, M as normalizeTailwindV4ScannerSources, N as normalizeTailwindV4SourceEntries, O as createTailwindV4DefaultIgnoreSources, P as resolveSourceScanPath, R as createTailwindV4SourceEntryMatcher, S as resolveProjectSourceFiles, T as TAILWIND_V4_IGNORED_EXTENSIONS, U as isFileMatchedByTailwindV4SourceEntries, V as groupTailwindV4SourceEntriesByBase, W as mergeTailwindV4SourceEntries, _ as isBareArbitraryValuesEnabled, a as createTailwindGenerationSession, b as extractProjectCandidatesWithPositions, c as replaceBareArbitraryValueSelectors, d as extractRawCandidates, f as extractRawCandidatesWithPositions, g as extractBareArbitraryValueSourceCandidatesWithPositions, h as extractBareArbitraryValueSourceCandidates, i as createTailwindV4Engine, j as normalizeGlobPattern, k as createTailwindV4RootSources, l as resolveValidTailwindV4Candidates, m as extractSourceCandidatesWithPositions, n as generateTailwindV4Style, o as collectTailwindStyleCandidates, p as extractSourceCandidates, q as loadTailwindV4DesignSystem, r as resolveTailwindV4Source, s as canonicalizeBareArbitraryValueCandidates, t as collectTailwindV4StyleCandidates, u as extractTailwindV4InlineSourceCandidates, v as resolveBareArbitraryValueCandidate, w as TAILWIND_V4_IGNORED_CONTENT_DIRS, x as groupTokensByFile, y as escapeCssClassName, z as createTailwindV4SourceExclusionMatcher } from "./v4-DXSYux_T.js";
1
+ import { A as expandTailwindV4SourceEntryBraces, B as expandTailwindV4SourceEntries, C as TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN, D as createTailwindV4CompiledSourceEntries, E as TAILWIND_V4_IGNORED_FILES, F as resolveTailwindV4SourceBaseCandidates, G as compileTailwindV4Source, H as isFileExcludedByTailwindV4SourceEntries, I as resolveTailwindV4SourceEntry, J as loadTailwindV4NodeModule, K as getTailwindV4DesignSystemCacheKey, L as toPosixPath, M as normalizeTailwindV4ScannerSources, N as normalizeTailwindV4SourceEntries, O as createTailwindV4DefaultIgnoreSources, P as resolveSourceScanPath, R as createTailwindV4SourceEntryMatcher, S as resolveProjectSourceFiles, T as TAILWIND_V4_IGNORED_EXTENSIONS, U as isFileMatchedByTailwindV4SourceEntries, V as groupTailwindV4SourceEntriesByBase, W as mergeTailwindV4SourceEntries, _ as isBareArbitraryValuesEnabled, a as createTailwindGenerationSession, b as extractProjectCandidatesWithPositions, c as replaceBareArbitraryValueSelectors, d as extractRawCandidates, f as extractRawCandidatesWithPositions, g as extractBareArbitraryValueSourceCandidatesWithPositions, h as extractBareArbitraryValueSourceCandidates, i as createTailwindV4Engine, j as normalizeGlobPattern, k as createTailwindV4RootSources, l as resolveValidTailwindV4Candidates, m as extractSourceCandidatesWithPositions, n as generateTailwindV4Style, o as collectTailwindStyleCandidates, p as extractSourceCandidates, q as loadTailwindV4DesignSystem, r as resolveTailwindV4Source, s as canonicalizeBareArbitraryValueCandidates, t as collectTailwindV4StyleCandidates, u as extractTailwindV4InlineSourceCandidates, v as resolveBareArbitraryValueCandidate, w as TAILWIND_V4_IGNORED_CONTENT_DIRS, x as groupTokensByFile, y as escapeCssClassName, z as createTailwindV4SourceExclusionMatcher } from "./v4-sBv0Uojf.js";
2
2
  import process from "node:process";
3
3
  //#region src/extraction/candidate-extractor/valid.ts
4
4
  const designSystemCandidateCache = /* @__PURE__ */ new WeakMap();
package/dist/v4/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_v4 = require("../v4-CgRRASej.cjs");
2
+ const require_v4 = require("../v4-B5YEEbhA.cjs");
3
3
  let _weapp_tailwindcss_source_scan = require("@weapp-tailwindcss/source-scan");
4
4
  exports.TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN = require_v4.TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN;
5
5
  exports.TAILWIND_V4_IGNORED_CONTENT_DIRS = require_v4.TAILWIND_V4_IGNORED_CONTENT_DIRS;
@@ -1,2 +1,2 @@
1
- import { $ as TailwindV4StyleGenerateOptions, A as createTailwindGenerationSession, B as SourceEntry, C as isFileExcludedByTailwindV4SourceEntries, D as getTailwindV4DesignSystemCacheKey, E as compileTailwindV4Source, F as extractTailwindV4InlineSourceCandidates, G as TailwindV4CssSource, H as TailwindGenerationSession, I as CssFragment, J as TailwindV4GenerateOptions, K as TailwindV4DesignSystem, L as CssFragmentKind, M as canonicalizeBareArbitraryValueCandidates, N as replaceBareArbitraryValueSelectors, O as loadTailwindV4DesignSystem, P as resolveValidTailwindV4Candidates, Q as TailwindV4SourcePattern, R as GenerationChange, S as groupTailwindV4SourceEntriesByBase, T as mergeTailwindV4SourceEntries, U as TailwindV4CandidateSource, V as TailwindGenerationArtifact, W as TailwindV4CompiledSourceRoot, X as TailwindV4ResolvedSource, Y as TailwindV4GenerateResult, Z as TailwindV4SourceOptions, _ as resolveTailwindV4SourceEntry, a as TAILWIND_V4_IGNORED_CONTENT_DIRS, at as isBareArbitraryValuesEnabled, b as createTailwindV4SourceExclusionMatcher, c as createTailwindV4CompiledSourceEntries, ct as extractBareArbitraryValueSourceCandidatesWithPositions, d as expandTailwindV4SourceEntryBraces, dt as BareArbitraryValueSourceCandidate, et as TailwindV4StyleGenerateResult, f as normalizeGlobPattern, ft as escapeCssClassName, g as resolveTailwindV4SourceBaseCandidates, h as resolveSourceScanPath, i as TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN, j as createTailwindV4Engine, k as loadTailwindV4NodeModule, l as createTailwindV4DefaultIgnoreSources, lt as BareArbitraryValueOptions, m as normalizeTailwindV4SourceEntries, n as generateTailwindV4Style, o as TAILWIND_V4_IGNORED_EXTENSIONS, ot as resolveBareArbitraryValueCandidate, p as normalizeTailwindV4ScannerSources, q as TailwindV4Engine, r as resolveTailwindV4Source, s as TAILWIND_V4_IGNORED_FILES, st as extractBareArbitraryValueSourceCandidates, t as collectTailwindV4StyleCandidates, tt as TailwindV4StyleSource, u as createTailwindV4RootSources, ut as BareArbitraryValueResolveResult, v as toPosixPath, w as isFileMatchedByTailwindV4SourceEntries, x as expandTailwindV4SourceEntries, y as createTailwindV4SourceEntryMatcher, z as GenerationRequest } from "../index-BnvpPg0y.cjs";
2
- export { type BareArbitraryValueOptions, type BareArbitraryValueResolveResult, type BareArbitraryValueSourceCandidate, type CssFragment, type CssFragmentKind, type GenerationChange, type GenerationRequest, type SourceEntry, TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN, TAILWIND_V4_IGNORED_CONTENT_DIRS, TAILWIND_V4_IGNORED_EXTENSIONS, TAILWIND_V4_IGNORED_FILES, type TailwindGenerationArtifact, type TailwindGenerationSession, type TailwindV4CandidateSource, type TailwindV4CompiledSourceRoot, type TailwindV4CssSource, type TailwindV4DesignSystem, type TailwindV4Engine, type TailwindV4GenerateOptions, type TailwindV4GenerateResult, type TailwindV4ResolvedSource, type TailwindV4SourceOptions, type TailwindV4SourcePattern, type TailwindV4StyleGenerateOptions, type TailwindV4StyleGenerateResult, type TailwindV4StyleSource, canonicalizeBareArbitraryValueCandidates, collectTailwindV4StyleCandidates, compileTailwindV4Source, createTailwindGenerationSession, createTailwindV4CompiledSourceEntries, createTailwindV4DefaultIgnoreSources, createTailwindV4Engine, createTailwindV4RootSources, createTailwindV4SourceEntryMatcher, createTailwindV4SourceExclusionMatcher, escapeCssClassName, expandTailwindV4SourceEntries, expandTailwindV4SourceEntryBraces, extractBareArbitraryValueSourceCandidates, extractBareArbitraryValueSourceCandidatesWithPositions, extractTailwindV4InlineSourceCandidates, generateTailwindV4Style, getTailwindV4DesignSystemCacheKey, groupTailwindV4SourceEntriesByBase, isBareArbitraryValuesEnabled, isFileExcludedByTailwindV4SourceEntries, isFileMatchedByTailwindV4SourceEntries, loadTailwindV4DesignSystem, loadTailwindV4NodeModule, mergeTailwindV4SourceEntries, normalizeGlobPattern, normalizeTailwindV4ScannerSources, normalizeTailwindV4SourceEntries, replaceBareArbitraryValueSelectors, resolveBareArbitraryValueCandidate, resolveSourceScanPath, resolveTailwindV4Source, resolveTailwindV4SourceBaseCandidates, resolveTailwindV4SourceEntry, resolveValidTailwindV4Candidates, toPosixPath };
1
+ import { $ as TailwindV4SourcePattern, A as createTailwindGenerationSession, B as SourceEntry, C as isFileExcludedByTailwindV4SourceEntries, D as getTailwindV4DesignSystemCacheKey, E as compileTailwindV4Source, F as extractTailwindV4InlineSourceCandidates, G as TailwindV4CompiledSourceRoot, H as TailwindGenerationSession, I as CssFragment, J as TailwindV4Engine, K as TailwindV4CssSource, L as CssFragmentKind, M as canonicalizeBareArbitraryValueCandidates, N as replaceBareArbitraryValueSelectors, O as loadTailwindV4DesignSystem, P as resolveValidTailwindV4Candidates, Q as TailwindV4SourceOptions, R as GenerationChange, S as groupTailwindV4SourceEntriesByBase, T as mergeTailwindV4SourceEntries, U as TailwindGenerationSessionOptions, V as TailwindGenerationArtifact, W as TailwindV4CandidateSource, X as TailwindV4GenerateResult, Y as TailwindV4GenerateOptions, Z as TailwindV4ResolvedSource, _ as resolveTailwindV4SourceEntry, a as TAILWIND_V4_IGNORED_CONTENT_DIRS, b as createTailwindV4SourceExclusionMatcher, c as createTailwindV4CompiledSourceEntries, ct as extractBareArbitraryValueSourceCandidates, d as expandTailwindV4SourceEntryBraces, dt as BareArbitraryValueResolveResult, et as TailwindV4StyleGenerateOptions, f as normalizeGlobPattern, ft as BareArbitraryValueSourceCandidate, g as resolveTailwindV4SourceBaseCandidates, h as resolveSourceScanPath, i as TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN, j as createTailwindV4Engine, k as loadTailwindV4NodeModule, l as createTailwindV4DefaultIgnoreSources, lt as extractBareArbitraryValueSourceCandidatesWithPositions, m as normalizeTailwindV4SourceEntries, n as generateTailwindV4Style, nt as TailwindV4StyleSource, o as TAILWIND_V4_IGNORED_EXTENSIONS, ot as isBareArbitraryValuesEnabled, p as normalizeTailwindV4ScannerSources, pt as escapeCssClassName, q as TailwindV4DesignSystem, r as resolveTailwindV4Source, s as TAILWIND_V4_IGNORED_FILES, st as resolveBareArbitraryValueCandidate, t as collectTailwindV4StyleCandidates, tt as TailwindV4StyleGenerateResult, u as createTailwindV4RootSources, ut as BareArbitraryValueOptions, v as toPosixPath, w as isFileMatchedByTailwindV4SourceEntries, x as expandTailwindV4SourceEntries, y as createTailwindV4SourceEntryMatcher, z as GenerationRequest } from "../index-ubIZsEf5.cjs";
2
+ export { type BareArbitraryValueOptions, type BareArbitraryValueResolveResult, type BareArbitraryValueSourceCandidate, type CssFragment, type CssFragmentKind, type GenerationChange, type GenerationRequest, type SourceEntry, TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN, TAILWIND_V4_IGNORED_CONTENT_DIRS, TAILWIND_V4_IGNORED_EXTENSIONS, TAILWIND_V4_IGNORED_FILES, type TailwindGenerationArtifact, type TailwindGenerationSession, type TailwindGenerationSessionOptions, type TailwindV4CandidateSource, type TailwindV4CompiledSourceRoot, type TailwindV4CssSource, type TailwindV4DesignSystem, type TailwindV4Engine, type TailwindV4GenerateOptions, type TailwindV4GenerateResult, type TailwindV4ResolvedSource, type TailwindV4SourceOptions, type TailwindV4SourcePattern, type TailwindV4StyleGenerateOptions, type TailwindV4StyleGenerateResult, type TailwindV4StyleSource, canonicalizeBareArbitraryValueCandidates, collectTailwindV4StyleCandidates, compileTailwindV4Source, createTailwindGenerationSession, createTailwindV4CompiledSourceEntries, createTailwindV4DefaultIgnoreSources, createTailwindV4Engine, createTailwindV4RootSources, createTailwindV4SourceEntryMatcher, createTailwindV4SourceExclusionMatcher, escapeCssClassName, expandTailwindV4SourceEntries, expandTailwindV4SourceEntryBraces, extractBareArbitraryValueSourceCandidates, extractBareArbitraryValueSourceCandidatesWithPositions, extractTailwindV4InlineSourceCandidates, generateTailwindV4Style, getTailwindV4DesignSystemCacheKey, groupTailwindV4SourceEntriesByBase, isBareArbitraryValuesEnabled, isFileExcludedByTailwindV4SourceEntries, isFileMatchedByTailwindV4SourceEntries, loadTailwindV4DesignSystem, loadTailwindV4NodeModule, mergeTailwindV4SourceEntries, normalizeGlobPattern, normalizeTailwindV4ScannerSources, normalizeTailwindV4SourceEntries, replaceBareArbitraryValueSelectors, resolveBareArbitraryValueCandidate, resolveSourceScanPath, resolveTailwindV4Source, resolveTailwindV4SourceBaseCandidates, resolveTailwindV4SourceEntry, resolveValidTailwindV4Candidates, toPosixPath };
@@ -1,2 +1,2 @@
1
- import { $ as TailwindV4StyleGenerateOptions, A as createTailwindGenerationSession, B as SourceEntry, C as isFileExcludedByTailwindV4SourceEntries, D as getTailwindV4DesignSystemCacheKey, E as compileTailwindV4Source, F as extractTailwindV4InlineSourceCandidates, G as TailwindV4CssSource, H as TailwindGenerationSession, I as CssFragment, J as TailwindV4GenerateOptions, K as TailwindV4DesignSystem, L as CssFragmentKind, M as canonicalizeBareArbitraryValueCandidates, N as replaceBareArbitraryValueSelectors, O as loadTailwindV4DesignSystem, P as resolveValidTailwindV4Candidates, Q as TailwindV4SourcePattern, R as GenerationChange, S as groupTailwindV4SourceEntriesByBase, T as mergeTailwindV4SourceEntries, U as TailwindV4CandidateSource, V as TailwindGenerationArtifact, W as TailwindV4CompiledSourceRoot, X as TailwindV4ResolvedSource, Y as TailwindV4GenerateResult, Z as TailwindV4SourceOptions, _ as resolveTailwindV4SourceEntry, a as TAILWIND_V4_IGNORED_CONTENT_DIRS, at as isBareArbitraryValuesEnabled, b as createTailwindV4SourceExclusionMatcher, c as createTailwindV4CompiledSourceEntries, ct as extractBareArbitraryValueSourceCandidatesWithPositions, d as expandTailwindV4SourceEntryBraces, dt as BareArbitraryValueSourceCandidate, et as TailwindV4StyleGenerateResult, f as normalizeGlobPattern, ft as escapeCssClassName, g as resolveTailwindV4SourceBaseCandidates, h as resolveSourceScanPath, i as TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN, j as createTailwindV4Engine, k as loadTailwindV4NodeModule, l as createTailwindV4DefaultIgnoreSources, lt as BareArbitraryValueOptions, m as normalizeTailwindV4SourceEntries, n as generateTailwindV4Style, o as TAILWIND_V4_IGNORED_EXTENSIONS, ot as resolveBareArbitraryValueCandidate, p as normalizeTailwindV4ScannerSources, q as TailwindV4Engine, r as resolveTailwindV4Source, s as TAILWIND_V4_IGNORED_FILES, st as extractBareArbitraryValueSourceCandidates, t as collectTailwindV4StyleCandidates, tt as TailwindV4StyleSource, u as createTailwindV4RootSources, ut as BareArbitraryValueResolveResult, v as toPosixPath, w as isFileMatchedByTailwindV4SourceEntries, x as expandTailwindV4SourceEntries, y as createTailwindV4SourceEntryMatcher, z as GenerationRequest } from "../index-CHGSHPWB.js";
2
- export { type BareArbitraryValueOptions, type BareArbitraryValueResolveResult, type BareArbitraryValueSourceCandidate, type CssFragment, type CssFragmentKind, type GenerationChange, type GenerationRequest, type SourceEntry, TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN, TAILWIND_V4_IGNORED_CONTENT_DIRS, TAILWIND_V4_IGNORED_EXTENSIONS, TAILWIND_V4_IGNORED_FILES, type TailwindGenerationArtifact, type TailwindGenerationSession, type TailwindV4CandidateSource, type TailwindV4CompiledSourceRoot, type TailwindV4CssSource, type TailwindV4DesignSystem, type TailwindV4Engine, type TailwindV4GenerateOptions, type TailwindV4GenerateResult, type TailwindV4ResolvedSource, type TailwindV4SourceOptions, type TailwindV4SourcePattern, type TailwindV4StyleGenerateOptions, type TailwindV4StyleGenerateResult, type TailwindV4StyleSource, canonicalizeBareArbitraryValueCandidates, collectTailwindV4StyleCandidates, compileTailwindV4Source, createTailwindGenerationSession, createTailwindV4CompiledSourceEntries, createTailwindV4DefaultIgnoreSources, createTailwindV4Engine, createTailwindV4RootSources, createTailwindV4SourceEntryMatcher, createTailwindV4SourceExclusionMatcher, escapeCssClassName, expandTailwindV4SourceEntries, expandTailwindV4SourceEntryBraces, extractBareArbitraryValueSourceCandidates, extractBareArbitraryValueSourceCandidatesWithPositions, extractTailwindV4InlineSourceCandidates, generateTailwindV4Style, getTailwindV4DesignSystemCacheKey, groupTailwindV4SourceEntriesByBase, isBareArbitraryValuesEnabled, isFileExcludedByTailwindV4SourceEntries, isFileMatchedByTailwindV4SourceEntries, loadTailwindV4DesignSystem, loadTailwindV4NodeModule, mergeTailwindV4SourceEntries, normalizeGlobPattern, normalizeTailwindV4ScannerSources, normalizeTailwindV4SourceEntries, replaceBareArbitraryValueSelectors, resolveBareArbitraryValueCandidate, resolveSourceScanPath, resolveTailwindV4Source, resolveTailwindV4SourceBaseCandidates, resolveTailwindV4SourceEntry, resolveValidTailwindV4Candidates, toPosixPath };
1
+ import { $ as TailwindV4SourcePattern, A as createTailwindGenerationSession, B as SourceEntry, C as isFileExcludedByTailwindV4SourceEntries, D as getTailwindV4DesignSystemCacheKey, E as compileTailwindV4Source, F as extractTailwindV4InlineSourceCandidates, G as TailwindV4CompiledSourceRoot, H as TailwindGenerationSession, I as CssFragment, J as TailwindV4Engine, K as TailwindV4CssSource, L as CssFragmentKind, M as canonicalizeBareArbitraryValueCandidates, N as replaceBareArbitraryValueSelectors, O as loadTailwindV4DesignSystem, P as resolveValidTailwindV4Candidates, Q as TailwindV4SourceOptions, R as GenerationChange, S as groupTailwindV4SourceEntriesByBase, T as mergeTailwindV4SourceEntries, U as TailwindGenerationSessionOptions, V as TailwindGenerationArtifact, W as TailwindV4CandidateSource, X as TailwindV4GenerateResult, Y as TailwindV4GenerateOptions, Z as TailwindV4ResolvedSource, _ as resolveTailwindV4SourceEntry, a as TAILWIND_V4_IGNORED_CONTENT_DIRS, b as createTailwindV4SourceExclusionMatcher, c as createTailwindV4CompiledSourceEntries, ct as extractBareArbitraryValueSourceCandidates, d as expandTailwindV4SourceEntryBraces, dt as BareArbitraryValueResolveResult, et as TailwindV4StyleGenerateOptions, f as normalizeGlobPattern, ft as BareArbitraryValueSourceCandidate, g as resolveTailwindV4SourceBaseCandidates, h as resolveSourceScanPath, i as TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN, j as createTailwindV4Engine, k as loadTailwindV4NodeModule, l as createTailwindV4DefaultIgnoreSources, lt as extractBareArbitraryValueSourceCandidatesWithPositions, m as normalizeTailwindV4SourceEntries, n as generateTailwindV4Style, nt as TailwindV4StyleSource, o as TAILWIND_V4_IGNORED_EXTENSIONS, ot as isBareArbitraryValuesEnabled, p as normalizeTailwindV4ScannerSources, pt as escapeCssClassName, q as TailwindV4DesignSystem, r as resolveTailwindV4Source, s as TAILWIND_V4_IGNORED_FILES, st as resolveBareArbitraryValueCandidate, t as collectTailwindV4StyleCandidates, tt as TailwindV4StyleGenerateResult, u as createTailwindV4RootSources, ut as BareArbitraryValueOptions, v as toPosixPath, w as isFileMatchedByTailwindV4SourceEntries, x as expandTailwindV4SourceEntries, y as createTailwindV4SourceEntryMatcher, z as GenerationRequest } from "../index-BCGhMfsk.js";
2
+ export { type BareArbitraryValueOptions, type BareArbitraryValueResolveResult, type BareArbitraryValueSourceCandidate, type CssFragment, type CssFragmentKind, type GenerationChange, type GenerationRequest, type SourceEntry, TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN, TAILWIND_V4_IGNORED_CONTENT_DIRS, TAILWIND_V4_IGNORED_EXTENSIONS, TAILWIND_V4_IGNORED_FILES, type TailwindGenerationArtifact, type TailwindGenerationSession, type TailwindGenerationSessionOptions, type TailwindV4CandidateSource, type TailwindV4CompiledSourceRoot, type TailwindV4CssSource, type TailwindV4DesignSystem, type TailwindV4Engine, type TailwindV4GenerateOptions, type TailwindV4GenerateResult, type TailwindV4ResolvedSource, type TailwindV4SourceOptions, type TailwindV4SourcePattern, type TailwindV4StyleGenerateOptions, type TailwindV4StyleGenerateResult, type TailwindV4StyleSource, canonicalizeBareArbitraryValueCandidates, collectTailwindV4StyleCandidates, compileTailwindV4Source, createTailwindGenerationSession, createTailwindV4CompiledSourceEntries, createTailwindV4DefaultIgnoreSources, createTailwindV4Engine, createTailwindV4RootSources, createTailwindV4SourceEntryMatcher, createTailwindV4SourceExclusionMatcher, escapeCssClassName, expandTailwindV4SourceEntries, expandTailwindV4SourceEntryBraces, extractBareArbitraryValueSourceCandidates, extractBareArbitraryValueSourceCandidatesWithPositions, extractTailwindV4InlineSourceCandidates, generateTailwindV4Style, getTailwindV4DesignSystemCacheKey, groupTailwindV4SourceEntriesByBase, isBareArbitraryValuesEnabled, isFileExcludedByTailwindV4SourceEntries, isFileMatchedByTailwindV4SourceEntries, loadTailwindV4DesignSystem, loadTailwindV4NodeModule, mergeTailwindV4SourceEntries, normalizeGlobPattern, normalizeTailwindV4ScannerSources, normalizeTailwindV4SourceEntries, replaceBareArbitraryValueSelectors, resolveBareArbitraryValueCandidate, resolveSourceScanPath, resolveTailwindV4Source, resolveTailwindV4SourceBaseCandidates, resolveTailwindV4SourceEntry, resolveValidTailwindV4Candidates, toPosixPath };
package/dist/v4/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import { A as expandTailwindV4SourceEntryBraces, B as expandTailwindV4SourceEntries, C as TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN, D as createTailwindV4CompiledSourceEntries, E as TAILWIND_V4_IGNORED_FILES, F as resolveTailwindV4SourceBaseCandidates, G as compileTailwindV4Source, H as isFileExcludedByTailwindV4SourceEntries, I as resolveTailwindV4SourceEntry, J as loadTailwindV4NodeModule, K as getTailwindV4DesignSystemCacheKey, L as toPosixPath, M as normalizeTailwindV4ScannerSources, N as normalizeTailwindV4SourceEntries, O as createTailwindV4DefaultIgnoreSources, P as resolveSourceScanPath, R as createTailwindV4SourceEntryMatcher, T as TAILWIND_V4_IGNORED_EXTENSIONS, U as isFileMatchedByTailwindV4SourceEntries, V as groupTailwindV4SourceEntriesByBase, W as mergeTailwindV4SourceEntries, _ as isBareArbitraryValuesEnabled, a as createTailwindGenerationSession, c as replaceBareArbitraryValueSelectors, g as extractBareArbitraryValueSourceCandidatesWithPositions, h as extractBareArbitraryValueSourceCandidates, i as createTailwindV4Engine, j as normalizeGlobPattern, k as createTailwindV4RootSources, l as resolveValidTailwindV4Candidates, n as generateTailwindV4Style, q as loadTailwindV4DesignSystem, r as resolveTailwindV4Source, s as canonicalizeBareArbitraryValueCandidates, t as collectTailwindV4StyleCandidates, u as extractTailwindV4InlineSourceCandidates, v as resolveBareArbitraryValueCandidate, w as TAILWIND_V4_IGNORED_CONTENT_DIRS, y as escapeCssClassName, z as createTailwindV4SourceExclusionMatcher } from "../v4-DXSYux_T.js";
1
+ import { A as expandTailwindV4SourceEntryBraces, B as expandTailwindV4SourceEntries, C as TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN, D as createTailwindV4CompiledSourceEntries, E as TAILWIND_V4_IGNORED_FILES, F as resolveTailwindV4SourceBaseCandidates, G as compileTailwindV4Source, H as isFileExcludedByTailwindV4SourceEntries, I as resolveTailwindV4SourceEntry, J as loadTailwindV4NodeModule, K as getTailwindV4DesignSystemCacheKey, L as toPosixPath, M as normalizeTailwindV4ScannerSources, N as normalizeTailwindV4SourceEntries, O as createTailwindV4DefaultIgnoreSources, P as resolveSourceScanPath, R as createTailwindV4SourceEntryMatcher, T as TAILWIND_V4_IGNORED_EXTENSIONS, U as isFileMatchedByTailwindV4SourceEntries, V as groupTailwindV4SourceEntriesByBase, W as mergeTailwindV4SourceEntries, _ as isBareArbitraryValuesEnabled, a as createTailwindGenerationSession, c as replaceBareArbitraryValueSelectors, g as extractBareArbitraryValueSourceCandidatesWithPositions, h as extractBareArbitraryValueSourceCandidates, i as createTailwindV4Engine, j as normalizeGlobPattern, k as createTailwindV4RootSources, l as resolveValidTailwindV4Candidates, n as generateTailwindV4Style, q as loadTailwindV4DesignSystem, r as resolveTailwindV4Source, s as canonicalizeBareArbitraryValueCandidates, t as collectTailwindV4StyleCandidates, u as extractTailwindV4InlineSourceCandidates, v as resolveBareArbitraryValueCandidate, w as TAILWIND_V4_IGNORED_CONTENT_DIRS, y as escapeCssClassName, z as createTailwindV4SourceExclusionMatcher } from "../v4-sBv0Uojf.js";
2
2
  export { TAILWIND_V4_AUTO_SOURCE_SCAN_PATTERN, TAILWIND_V4_IGNORED_CONTENT_DIRS, TAILWIND_V4_IGNORED_EXTENSIONS, TAILWIND_V4_IGNORED_FILES, canonicalizeBareArbitraryValueCandidates, collectTailwindV4StyleCandidates, compileTailwindV4Source, createTailwindGenerationSession, createTailwindV4CompiledSourceEntries, createTailwindV4DefaultIgnoreSources, createTailwindV4Engine, createTailwindV4RootSources, createTailwindV4SourceEntryMatcher, createTailwindV4SourceExclusionMatcher, escapeCssClassName, expandTailwindV4SourceEntries, expandTailwindV4SourceEntryBraces, extractBareArbitraryValueSourceCandidates, extractBareArbitraryValueSourceCandidatesWithPositions, extractTailwindV4InlineSourceCandidates, generateTailwindV4Style, getTailwindV4DesignSystemCacheKey, groupTailwindV4SourceEntriesByBase, isBareArbitraryValuesEnabled, isFileExcludedByTailwindV4SourceEntries, isFileMatchedByTailwindV4SourceEntries, loadTailwindV4DesignSystem, loadTailwindV4NodeModule, mergeTailwindV4SourceEntries, normalizeGlobPattern, normalizeTailwindV4ScannerSources, normalizeTailwindV4SourceEntries, replaceBareArbitraryValueSelectors, resolveBareArbitraryValueCandidate, resolveSourceScanPath, resolveTailwindV4Source, resolveTailwindV4SourceBaseCandidates, resolveTailwindV4SourceEntry, resolveValidTailwindV4Candidates, toPosixPath };
@@ -20,12 +20,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
20
20
  enumerable: true
21
21
  }) : target, mod));
22
22
  //#endregion
23
- let node_fs = require("node:fs");
24
23
  let node_path = require("node:path");
25
24
  node_path = __toESM(node_path, 1);
26
25
  let node_process = require("node:process");
27
26
  node_process = __toESM(node_process, 1);
28
27
  let node_crypto = require("node:crypto");
28
+ let node_fs = require("node:fs");
29
29
  let node_module = require("node:module");
30
30
  let node_url = require("node:url");
31
31
  let node_async_hooks = require("node:async_hooks");
@@ -103,8 +103,14 @@ async function loadCachedModule(loader, file) {
103
103
  const onDependency = (dependency) => {
104
104
  dependencies.add(dependency);
105
105
  };
106
- let loaded = previous || !canUseCommonJsGraph(file) ? void 0 : await loader.loadModule(file, base, onDependency);
107
- if (!loaded || !collectCommonJsDependencies(file, dependencies)) loaded = await loader.loadModule(`./${node_path.default.basename(file)}`, base, onDependency);
106
+ let loaded;
107
+ if (node_path.default.extname(file) === ".cjs") {
108
+ loaded = { module: require$1(file) };
109
+ collectCommonJsDependencies(file, dependencies);
110
+ } else {
111
+ const initial = previous || !canUseCommonJsGraph(file) ? void 0 : await loader.loadModule(file, base, onDependency);
112
+ loaded = initial && collectCommonJsDependencies(file, dependencies) ? initial : await loader.loadModule(`./${node_path.default.basename(file)}`, base, onDependency);
113
+ }
108
114
  const files = [...dependencies].sort();
109
115
  return {
110
116
  dependencies: files,
@@ -472,6 +478,37 @@ function resolveTailwindV4SourceBaseCandidates(projectRoot, base, baseFallbacks)
472
478
  ]);
473
479
  }
474
480
  //#endregion
481
+ //#region src/extraction/file-io.ts
482
+ const CANDIDATE_FILE_CONCURRENCY = 8;
483
+ let activeReads = 0;
484
+ let pendingOffset = 0;
485
+ const pendingReads = [];
486
+ /** 原始补扫、任意值补扫与位置报告共享读取预算,避免多生成请求耗尽文件描述符。 */
487
+ async function readCandidateFile(file) {
488
+ if (activeReads >= CANDIDATE_FILE_CONCURRENCY) await new Promise((resolve) => {
489
+ pendingReads.push(resolve);
490
+ });
491
+ else activeReads++;
492
+ try {
493
+ return await node_fs.promises.readFile(file, "utf8");
494
+ } finally {
495
+ if (pendingOffset < pendingReads.length) {
496
+ const next = pendingReads[pendingOffset++];
497
+ if (pendingOffset === pendingReads.length) {
498
+ pendingReads.length = 0;
499
+ pendingOffset = 0;
500
+ }
501
+ next();
502
+ } else activeReads--;
503
+ }
504
+ }
505
+ /** 分批遍历避免为全部文件同时分配 Promise,输出沿用文件枚举顺序。 */
506
+ async function mapCandidateFiles(files, handle) {
507
+ const results = [];
508
+ for (let start = 0; start < files.length; start += CANDIDATE_FILE_CONCURRENCY) results.push(...await Promise.all(files.slice(start, start + CANDIDATE_FILE_CONCURRENCY).map(handle)));
509
+ return results;
510
+ }
511
+ //#endregion
475
512
  //#region src/extraction/oxide.ts
476
513
  let oxideImportPromise;
477
514
  function createOxideRuntimeDependencyError(cause) {
@@ -595,7 +632,7 @@ async function extractProjectCandidatesWithPositions(options) {
595
632
  const batchSize = 32;
596
633
  for (let start = 0; start < files.length; start += batchSize) {
597
634
  const batch = files.slice(start, start + batchSize);
598
- const contents = await Promise.allSettled(batch.map((file) => node_fs.promises.readFile(file, "utf8")));
635
+ const contents = await Promise.allSettled(batch.map(readCandidateFile));
599
636
  for (const [index, file] of batch.entries()) {
600
637
  const result = contents[index];
601
638
  if (result.status === "rejected") {
@@ -3392,27 +3429,27 @@ async function extractRawCandidates(sources, options) {
3392
3429
  if (cached) return [...cached.candidates];
3393
3430
  const scannedCandidates = scanner.scan();
3394
3431
  if (scannedCandidates.length === 0 && files.length > 0) {
3395
- const changedContents = (await Promise.all(files.map(async (file) => {
3432
+ const changedContents = (await mapCandidateFiles(files, async (file) => {
3396
3433
  try {
3397
3434
  return {
3398
- content: await node_fs.promises.readFile(file, "utf8"),
3435
+ content: await readCandidateFile(file),
3399
3436
  extension: toExtension(file)
3400
3437
  };
3401
3438
  } catch {
3402
3439
  return;
3403
3440
  }
3404
- }))).filter((entry) => entry !== void 0);
3441
+ })).filter((entry) => entry !== void 0);
3405
3442
  scannedCandidates.push(...scanner.scanFiles(changedContents));
3406
3443
  }
3407
3444
  const candidates = new Set(scannedCandidates);
3408
- if (options?.bareArbitraryValues !== void 0 && options.bareArbitraryValues !== false) await Promise.all(files.map(async (file) => {
3445
+ if (options?.bareArbitraryValues !== void 0 && options.bareArbitraryValues !== false) await mapCandidateFiles(files, async (file) => {
3409
3446
  try {
3410
- const content = await node_fs.promises.readFile(file, "utf8");
3447
+ const content = await readCandidateFile(file);
3411
3448
  const extension = toExtension(file);
3412
3449
  const jsStringStaticRanges = JS_LIKE_SOURCE_EXTENSION_RE.test(extension) ? createJsStringStaticRanges(content) : void 0;
3413
3450
  for (const candidate of extractBareArbitraryValueSourceCandidatesWithPositions(content, options.bareArbitraryValues)) if (shouldKeepSourceCandidate(content, extension, candidate, jsStringStaticRanges)) candidates.add(candidate.rawCandidate);
3414
3451
  } catch {}
3415
- }));
3452
+ });
3416
3453
  const result = [...candidates];
3417
3454
  setRawCandidateCacheEntry(cacheKey, fingerprint, result);
3418
3455
  return [...result];
@@ -3750,23 +3787,30 @@ async function collectRawCandidates(source, options, compiledRoot, compiledSourc
3750
3787
  //#endregion
3751
3788
  //#region src/v4/generation-session.ts
3752
3789
  var TailwindGenerationSessionImpl = class {
3790
+ options;
3753
3791
  currentSource;
3754
3792
  runtimes = /* @__PURE__ */ new Map();
3755
- designSystemPromise;
3793
+ designSystems = /* @__PURE__ */ new Map();
3794
+ revision = 0;
3756
3795
  disposed = false;
3757
3796
  moduleDependencies = /* @__PURE__ */ new Set();
3758
- constructor(source) {
3797
+ constructor(source, options = {}) {
3798
+ this.options = options;
3759
3799
  this.currentSource = source;
3760
3800
  }
3761
3801
  get source() {
3762
3802
  return this.currentSource;
3763
3803
  }
3764
3804
  async generate(request = {}) {
3805
+ const revision = this.revision;
3765
3806
  const generated = await this.generateInternal(request);
3766
- return cloneTailwindGenerationArtifact(createTailwindGenerationArtifact(generated.css, this.currentSource, request, generated.classSet, generated.rawCandidates, generated.dependencies));
3807
+ this.assertRevision(revision);
3808
+ return cloneTailwindGenerationArtifact(createTailwindGenerationArtifact(generated.css, generated.source, request, generated.classSet, generated.rawCandidates, generated.dependencies));
3767
3809
  }
3768
3810
  async generateLegacy(options) {
3811
+ const revision = this.revision;
3769
3812
  const generated = await this.generateInternal(toGenerationRequest(options));
3813
+ this.assertRevision(revision);
3770
3814
  return {
3771
3815
  css: generated.css,
3772
3816
  classSet: generated.classSet,
@@ -3777,9 +3821,7 @@ var TailwindGenerationSessionImpl = class {
3777
3821
  };
3778
3822
  }
3779
3823
  loadDesignSystem() {
3780
- this.assertActive();
3781
- this.designSystemPromise ??= loadTailwindV4DesignSystem(this.currentSource, { cache: false });
3782
- return this.designSystemPromise;
3824
+ return this.getDesignSystem(this.currentSource);
3783
3825
  }
3784
3826
  async validateCandidates(candidates) {
3785
3827
  return resolveValidTailwindV4Candidates(await this.loadDesignSystem(), candidates);
@@ -3791,57 +3833,107 @@ var TailwindGenerationSessionImpl = class {
3791
3833
  invalidateGenerationModuleCache();
3792
3834
  this.moduleDependencies.clear();
3793
3835
  this.runtimes.clear();
3794
- this.designSystemPromise = void 0;
3836
+ this.designSystems.clear();
3837
+ this.revision += 1;
3795
3838
  }
3796
3839
  dispose() {
3797
3840
  (0, _tailwindcss_node_require_cache.clearRequireCache)([...this.moduleDependencies]);
3798
3841
  this.moduleDependencies.clear();
3799
3842
  this.runtimes.clear();
3800
- this.designSystemPromise = void 0;
3843
+ this.designSystems.clear();
3844
+ this.revision += 1;
3801
3845
  this.disposed = true;
3802
3846
  }
3803
3847
  assertActive() {
3804
3848
  if (this.disposed) throw new Error("Tailwind generation session has been disposed.");
3805
3849
  }
3806
- getRuntime(compileSourceEntries, designSystem) {
3850
+ assertRevision(revision) {
3851
+ this.assertActive();
3852
+ if (revision !== this.revision) throw new Error("Tailwind generation session changed during generation.");
3853
+ }
3854
+ getDesignSystem(source) {
3855
+ this.assertActive();
3856
+ const cached = this.designSystems.get(source.css);
3857
+ if (cached) return cached;
3858
+ const revision = this.revision;
3859
+ const promise = loadTailwindV4DesignSystem(source, { cache: false }).then((designSystem) => {
3860
+ this.assertRevision(revision);
3861
+ return designSystem;
3862
+ });
3863
+ this.designSystems.set(source.css, promise);
3864
+ promise.catch(() => {
3865
+ if (this.designSystems.get(source.css) === promise) this.designSystems.delete(source.css);
3866
+ });
3867
+ return promise;
3868
+ }
3869
+ getRuntime(compileSourceEntries, previous) {
3807
3870
  this.assertActive();
3808
3871
  const cached = this.runtimes.get(compileSourceEntries);
3809
3872
  if (cached) return cached;
3873
+ const revision = this.revision;
3810
3874
  const source = compileSourceEntries ? this.currentSource : stripCompiledSourceEntries(this.currentSource);
3811
- const promise = Promise.all([compileTailwindV4Source(source), designSystem ?? loadTailwindV4DesignSystem(source, { cache: false })]).then(([compiledSource, designSystem]) => ({
3812
- compiled: compiledSource.compiled,
3813
- dependencies: compiledSource.dependencies,
3814
- designSystem,
3815
- builtCandidates: /* @__PURE__ */ new Set()
3816
- }));
3875
+ const designSystemPromise = previous ? Promise.resolve(previous.designSystem) : this.getDesignSystem(source);
3876
+ const preparedSource = previous ? Promise.resolve(previous.source) : this.options.prepareSource ? designSystemPromise.then(async (designSystem) => {
3877
+ this.assertRevision(revision);
3878
+ const css = await this.options.prepareSource(source, designSystem);
3879
+ this.assertRevision(revision);
3880
+ return {
3881
+ ...source,
3882
+ css
3883
+ };
3884
+ }) : Promise.resolve(source);
3885
+ const promise = Promise.all([preparedSource.then(async (prepared) => {
3886
+ this.assertRevision(revision);
3887
+ return {
3888
+ ...await compileTailwindV4Source(prepared),
3889
+ source: prepared
3890
+ };
3891
+ }), designSystemPromise]).then(([compiledSource, designSystem]) => {
3892
+ this.assertRevision(revision);
3893
+ return {
3894
+ source: compiledSource.source,
3895
+ compiled: compiledSource.compiled,
3896
+ dependencies: compiledSource.dependencies,
3897
+ designSystem,
3898
+ builtCandidates: /* @__PURE__ */ new Set()
3899
+ };
3900
+ });
3817
3901
  this.runtimes.set(compileSourceEntries, promise);
3818
3902
  promise.catch(() => {
3819
3903
  if (this.runtimes.get(compileSourceEntries) === promise) this.runtimes.delete(compileSourceEntries);
3820
3904
  });
3821
3905
  return promise;
3822
3906
  }
3823
- async resetRuntime(compileSourceEntries, designSystem) {
3907
+ async resetRuntime(compileSourceEntries, runtime) {
3824
3908
  this.runtimes.delete(compileSourceEntries);
3825
- return this.getRuntime(compileSourceEntries, designSystem);
3909
+ return this.getRuntime(compileSourceEntries, runtime);
3826
3910
  }
3827
3911
  async generateInternal(request) {
3828
3912
  this.assertActive();
3913
+ const revision = this.revision;
3914
+ const source = this.currentSource;
3829
3915
  const options = toGenerateOptions(request);
3830
3916
  const compileSourceEntries = shouldCompileSourceEntries(options);
3831
3917
  let runtime = await this.getRuntime(compileSourceEntries);
3918
+ this.assertRevision(revision);
3832
3919
  const sourceFiles = [];
3833
- let rawCandidates = await collectRawCandidates(this.currentSource, options, runtime.compiled.root, runtime.compiled.sources, (files) => sourceFiles.push(...files));
3920
+ let rawCandidates = await collectRawCandidates(source, options, runtime.compiled.root, runtime.compiled.sources, (files) => sourceFiles.push(...files));
3921
+ this.assertRevision(revision);
3834
3922
  if (request.prepareCandidates) rawCandidates = new Set(request.prepareCandidates(rawCandidates));
3835
3923
  const classSet = resolveValidTailwindV4Candidates(runtime.designSystem, rawCandidates, { ...options.bareArbitraryValues === void 0 ? {} : { bareArbitraryValues: options.bareArbitraryValues } });
3836
- const inlineSources = extractTailwindV4InlineSourceCandidates(this.currentSource.css);
3924
+ const inlineSources = extractTailwindV4InlineSourceCandidates(source.css);
3837
3925
  for (const candidate of inlineSources.excluded) classSet.delete(candidate);
3838
3926
  const buildCandidates = new Set(canonicalizeBareArbitraryValueCandidates(classSet, options.bareArbitraryValues));
3839
- if ([...runtime.builtCandidates].some((candidate) => !buildCandidates.has(candidate))) runtime = await this.resetRuntime(compileSourceEntries, runtime.designSystem);
3927
+ if ([...runtime.builtCandidates].some((candidate) => !buildCandidates.has(candidate))) {
3928
+ runtime = await this.resetRuntime(compileSourceEntries, runtime);
3929
+ this.assertRevision(revision);
3930
+ }
3840
3931
  const css = replaceBareArbitraryValueSelectors(runtime.compiled.build([...buildCandidates]), classSet, options.bareArbitraryValues);
3841
3932
  runtime.builtCandidates = new Set(buildCandidates);
3842
3933
  for (const dependency of runtime.dependencies) this.moduleDependencies.add(dependency);
3843
3934
  const dependencies = [.../* @__PURE__ */ new Set([...runtime.dependencies, ...sourceFiles])];
3844
3935
  return {
3936
+ source,
3845
3937
  css,
3846
3938
  classSet,
3847
3939
  rawCandidates,
@@ -3851,16 +3943,16 @@ var TailwindGenerationSessionImpl = class {
3851
3943
  };
3852
3944
  }
3853
3945
  };
3854
- function createTailwindGenerationSession(source) {
3855
- return new TailwindGenerationSessionImpl(source);
3946
+ function createTailwindGenerationSession(source, options) {
3947
+ return new TailwindGenerationSessionImpl(source, options);
3856
3948
  }
3857
- function createTailwindV4EngineGenerationSession(source) {
3858
- return new TailwindGenerationSessionImpl(source);
3949
+ function createTailwindV4EngineGenerationSession(source, options) {
3950
+ return new TailwindGenerationSessionImpl(source, options);
3859
3951
  }
3860
3952
  //#endregion
3861
3953
  //#region src/v4/engine.ts
3862
- function createTailwindV4Engine(source) {
3863
- const session = createTailwindV4EngineGenerationSession(source);
3954
+ function createTailwindV4Engine(source, options) {
3955
+ const session = createTailwindV4EngineGenerationSession(source, options);
3864
3956
  return {
3865
3957
  source,
3866
3958
  dispose() {
@@ -1,8 +1,8 @@
1
1
  import { createRequire, findPackageJSON } from "node:module";
2
- import { promises, readFileSync } from "node:fs";
3
2
  import path from "node:path";
4
3
  import process from "node:process";
5
4
  import { createHash } from "node:crypto";
5
+ import { promises, readFileSync } from "node:fs";
6
6
  import { fileURLToPath, pathToFileURL } from "node:url";
7
7
  import { AsyncLocalStorage } from "node:async_hooks";
8
8
  import { clearRequireCache } from "@tailwindcss/node/require-cache";
@@ -78,8 +78,14 @@ async function loadCachedModule(loader, file) {
78
78
  const onDependency = (dependency) => {
79
79
  dependencies.add(dependency);
80
80
  };
81
- let loaded = previous || !canUseCommonJsGraph(file) ? void 0 : await loader.loadModule(file, base, onDependency);
82
- if (!loaded || !collectCommonJsDependencies(file, dependencies)) loaded = await loader.loadModule(`./${path.basename(file)}`, base, onDependency);
81
+ let loaded;
82
+ if (path.extname(file) === ".cjs") {
83
+ loaded = { module: require(file) };
84
+ collectCommonJsDependencies(file, dependencies);
85
+ } else {
86
+ const initial = previous || !canUseCommonJsGraph(file) ? void 0 : await loader.loadModule(file, base, onDependency);
87
+ loaded = initial && collectCommonJsDependencies(file, dependencies) ? initial : await loader.loadModule(`./${path.basename(file)}`, base, onDependency);
88
+ }
83
89
  const files = [...dependencies].sort();
84
90
  return {
85
91
  dependencies: files,
@@ -447,6 +453,37 @@ function resolveTailwindV4SourceBaseCandidates(projectRoot, base, baseFallbacks)
447
453
  ]);
448
454
  }
449
455
  //#endregion
456
+ //#region src/extraction/file-io.ts
457
+ const CANDIDATE_FILE_CONCURRENCY = 8;
458
+ let activeReads = 0;
459
+ let pendingOffset = 0;
460
+ const pendingReads = [];
461
+ /** 原始补扫、任意值补扫与位置报告共享读取预算,避免多生成请求耗尽文件描述符。 */
462
+ async function readCandidateFile(file) {
463
+ if (activeReads >= CANDIDATE_FILE_CONCURRENCY) await new Promise((resolve) => {
464
+ pendingReads.push(resolve);
465
+ });
466
+ else activeReads++;
467
+ try {
468
+ return await promises.readFile(file, "utf8");
469
+ } finally {
470
+ if (pendingOffset < pendingReads.length) {
471
+ const next = pendingReads[pendingOffset++];
472
+ if (pendingOffset === pendingReads.length) {
473
+ pendingReads.length = 0;
474
+ pendingOffset = 0;
475
+ }
476
+ next();
477
+ } else activeReads--;
478
+ }
479
+ }
480
+ /** 分批遍历避免为全部文件同时分配 Promise,输出沿用文件枚举顺序。 */
481
+ async function mapCandidateFiles(files, handle) {
482
+ const results = [];
483
+ for (let start = 0; start < files.length; start += CANDIDATE_FILE_CONCURRENCY) results.push(...await Promise.all(files.slice(start, start + CANDIDATE_FILE_CONCURRENCY).map(handle)));
484
+ return results;
485
+ }
486
+ //#endregion
450
487
  //#region src/extraction/oxide.ts
451
488
  let oxideImportPromise;
452
489
  function createOxideRuntimeDependencyError(cause) {
@@ -570,7 +607,7 @@ async function extractProjectCandidatesWithPositions(options) {
570
607
  const batchSize = 32;
571
608
  for (let start = 0; start < files.length; start += batchSize) {
572
609
  const batch = files.slice(start, start + batchSize);
573
- const contents = await Promise.allSettled(batch.map((file) => promises.readFile(file, "utf8")));
610
+ const contents = await Promise.allSettled(batch.map(readCandidateFile));
574
611
  for (const [index, file] of batch.entries()) {
575
612
  const result = contents[index];
576
613
  if (result.status === "rejected") {
@@ -3367,27 +3404,27 @@ async function extractRawCandidates(sources, options) {
3367
3404
  if (cached) return [...cached.candidates];
3368
3405
  const scannedCandidates = scanner.scan();
3369
3406
  if (scannedCandidates.length === 0 && files.length > 0) {
3370
- const changedContents = (await Promise.all(files.map(async (file) => {
3407
+ const changedContents = (await mapCandidateFiles(files, async (file) => {
3371
3408
  try {
3372
3409
  return {
3373
- content: await promises.readFile(file, "utf8"),
3410
+ content: await readCandidateFile(file),
3374
3411
  extension: toExtension(file)
3375
3412
  };
3376
3413
  } catch {
3377
3414
  return;
3378
3415
  }
3379
- }))).filter((entry) => entry !== void 0);
3416
+ })).filter((entry) => entry !== void 0);
3380
3417
  scannedCandidates.push(...scanner.scanFiles(changedContents));
3381
3418
  }
3382
3419
  const candidates = new Set(scannedCandidates);
3383
- if (options?.bareArbitraryValues !== void 0 && options.bareArbitraryValues !== false) await Promise.all(files.map(async (file) => {
3420
+ if (options?.bareArbitraryValues !== void 0 && options.bareArbitraryValues !== false) await mapCandidateFiles(files, async (file) => {
3384
3421
  try {
3385
- const content = await promises.readFile(file, "utf8");
3422
+ const content = await readCandidateFile(file);
3386
3423
  const extension = toExtension(file);
3387
3424
  const jsStringStaticRanges = JS_LIKE_SOURCE_EXTENSION_RE.test(extension) ? createJsStringStaticRanges(content) : void 0;
3388
3425
  for (const candidate of extractBareArbitraryValueSourceCandidatesWithPositions(content, options.bareArbitraryValues)) if (shouldKeepSourceCandidate(content, extension, candidate, jsStringStaticRanges)) candidates.add(candidate.rawCandidate);
3389
3426
  } catch {}
3390
- }));
3427
+ });
3391
3428
  const result = [...candidates];
3392
3429
  setRawCandidateCacheEntry(cacheKey, fingerprint, result);
3393
3430
  return [...result];
@@ -3725,23 +3762,30 @@ async function collectRawCandidates(source, options, compiledRoot, compiledSourc
3725
3762
  //#endregion
3726
3763
  //#region src/v4/generation-session.ts
3727
3764
  var TailwindGenerationSessionImpl = class {
3765
+ options;
3728
3766
  currentSource;
3729
3767
  runtimes = /* @__PURE__ */ new Map();
3730
- designSystemPromise;
3768
+ designSystems = /* @__PURE__ */ new Map();
3769
+ revision = 0;
3731
3770
  disposed = false;
3732
3771
  moduleDependencies = /* @__PURE__ */ new Set();
3733
- constructor(source) {
3772
+ constructor(source, options = {}) {
3773
+ this.options = options;
3734
3774
  this.currentSource = source;
3735
3775
  }
3736
3776
  get source() {
3737
3777
  return this.currentSource;
3738
3778
  }
3739
3779
  async generate(request = {}) {
3780
+ const revision = this.revision;
3740
3781
  const generated = await this.generateInternal(request);
3741
- return cloneTailwindGenerationArtifact(createTailwindGenerationArtifact(generated.css, this.currentSource, request, generated.classSet, generated.rawCandidates, generated.dependencies));
3782
+ this.assertRevision(revision);
3783
+ return cloneTailwindGenerationArtifact(createTailwindGenerationArtifact(generated.css, generated.source, request, generated.classSet, generated.rawCandidates, generated.dependencies));
3742
3784
  }
3743
3785
  async generateLegacy(options) {
3786
+ const revision = this.revision;
3744
3787
  const generated = await this.generateInternal(toGenerationRequest(options));
3788
+ this.assertRevision(revision);
3745
3789
  return {
3746
3790
  css: generated.css,
3747
3791
  classSet: generated.classSet,
@@ -3752,9 +3796,7 @@ var TailwindGenerationSessionImpl = class {
3752
3796
  };
3753
3797
  }
3754
3798
  loadDesignSystem() {
3755
- this.assertActive();
3756
- this.designSystemPromise ??= loadTailwindV4DesignSystem(this.currentSource, { cache: false });
3757
- return this.designSystemPromise;
3799
+ return this.getDesignSystem(this.currentSource);
3758
3800
  }
3759
3801
  async validateCandidates(candidates) {
3760
3802
  return resolveValidTailwindV4Candidates(await this.loadDesignSystem(), candidates);
@@ -3766,57 +3808,107 @@ var TailwindGenerationSessionImpl = class {
3766
3808
  invalidateGenerationModuleCache();
3767
3809
  this.moduleDependencies.clear();
3768
3810
  this.runtimes.clear();
3769
- this.designSystemPromise = void 0;
3811
+ this.designSystems.clear();
3812
+ this.revision += 1;
3770
3813
  }
3771
3814
  dispose() {
3772
3815
  clearRequireCache([...this.moduleDependencies]);
3773
3816
  this.moduleDependencies.clear();
3774
3817
  this.runtimes.clear();
3775
- this.designSystemPromise = void 0;
3818
+ this.designSystems.clear();
3819
+ this.revision += 1;
3776
3820
  this.disposed = true;
3777
3821
  }
3778
3822
  assertActive() {
3779
3823
  if (this.disposed) throw new Error("Tailwind generation session has been disposed.");
3780
3824
  }
3781
- getRuntime(compileSourceEntries, designSystem) {
3825
+ assertRevision(revision) {
3826
+ this.assertActive();
3827
+ if (revision !== this.revision) throw new Error("Tailwind generation session changed during generation.");
3828
+ }
3829
+ getDesignSystem(source) {
3830
+ this.assertActive();
3831
+ const cached = this.designSystems.get(source.css);
3832
+ if (cached) return cached;
3833
+ const revision = this.revision;
3834
+ const promise = loadTailwindV4DesignSystem(source, { cache: false }).then((designSystem) => {
3835
+ this.assertRevision(revision);
3836
+ return designSystem;
3837
+ });
3838
+ this.designSystems.set(source.css, promise);
3839
+ promise.catch(() => {
3840
+ if (this.designSystems.get(source.css) === promise) this.designSystems.delete(source.css);
3841
+ });
3842
+ return promise;
3843
+ }
3844
+ getRuntime(compileSourceEntries, previous) {
3782
3845
  this.assertActive();
3783
3846
  const cached = this.runtimes.get(compileSourceEntries);
3784
3847
  if (cached) return cached;
3848
+ const revision = this.revision;
3785
3849
  const source = compileSourceEntries ? this.currentSource : stripCompiledSourceEntries(this.currentSource);
3786
- const promise = Promise.all([compileTailwindV4Source(source), designSystem ?? loadTailwindV4DesignSystem(source, { cache: false })]).then(([compiledSource, designSystem]) => ({
3787
- compiled: compiledSource.compiled,
3788
- dependencies: compiledSource.dependencies,
3789
- designSystem,
3790
- builtCandidates: /* @__PURE__ */ new Set()
3791
- }));
3850
+ const designSystemPromise = previous ? Promise.resolve(previous.designSystem) : this.getDesignSystem(source);
3851
+ const preparedSource = previous ? Promise.resolve(previous.source) : this.options.prepareSource ? designSystemPromise.then(async (designSystem) => {
3852
+ this.assertRevision(revision);
3853
+ const css = await this.options.prepareSource(source, designSystem);
3854
+ this.assertRevision(revision);
3855
+ return {
3856
+ ...source,
3857
+ css
3858
+ };
3859
+ }) : Promise.resolve(source);
3860
+ const promise = Promise.all([preparedSource.then(async (prepared) => {
3861
+ this.assertRevision(revision);
3862
+ return {
3863
+ ...await compileTailwindV4Source(prepared),
3864
+ source: prepared
3865
+ };
3866
+ }), designSystemPromise]).then(([compiledSource, designSystem]) => {
3867
+ this.assertRevision(revision);
3868
+ return {
3869
+ source: compiledSource.source,
3870
+ compiled: compiledSource.compiled,
3871
+ dependencies: compiledSource.dependencies,
3872
+ designSystem,
3873
+ builtCandidates: /* @__PURE__ */ new Set()
3874
+ };
3875
+ });
3792
3876
  this.runtimes.set(compileSourceEntries, promise);
3793
3877
  promise.catch(() => {
3794
3878
  if (this.runtimes.get(compileSourceEntries) === promise) this.runtimes.delete(compileSourceEntries);
3795
3879
  });
3796
3880
  return promise;
3797
3881
  }
3798
- async resetRuntime(compileSourceEntries, designSystem) {
3882
+ async resetRuntime(compileSourceEntries, runtime) {
3799
3883
  this.runtimes.delete(compileSourceEntries);
3800
- return this.getRuntime(compileSourceEntries, designSystem);
3884
+ return this.getRuntime(compileSourceEntries, runtime);
3801
3885
  }
3802
3886
  async generateInternal(request) {
3803
3887
  this.assertActive();
3888
+ const revision = this.revision;
3889
+ const source = this.currentSource;
3804
3890
  const options = toGenerateOptions(request);
3805
3891
  const compileSourceEntries = shouldCompileSourceEntries(options);
3806
3892
  let runtime = await this.getRuntime(compileSourceEntries);
3893
+ this.assertRevision(revision);
3807
3894
  const sourceFiles = [];
3808
- let rawCandidates = await collectRawCandidates(this.currentSource, options, runtime.compiled.root, runtime.compiled.sources, (files) => sourceFiles.push(...files));
3895
+ let rawCandidates = await collectRawCandidates(source, options, runtime.compiled.root, runtime.compiled.sources, (files) => sourceFiles.push(...files));
3896
+ this.assertRevision(revision);
3809
3897
  if (request.prepareCandidates) rawCandidates = new Set(request.prepareCandidates(rawCandidates));
3810
3898
  const classSet = resolveValidTailwindV4Candidates(runtime.designSystem, rawCandidates, { ...options.bareArbitraryValues === void 0 ? {} : { bareArbitraryValues: options.bareArbitraryValues } });
3811
- const inlineSources = extractTailwindV4InlineSourceCandidates(this.currentSource.css);
3899
+ const inlineSources = extractTailwindV4InlineSourceCandidates(source.css);
3812
3900
  for (const candidate of inlineSources.excluded) classSet.delete(candidate);
3813
3901
  const buildCandidates = new Set(canonicalizeBareArbitraryValueCandidates(classSet, options.bareArbitraryValues));
3814
- if ([...runtime.builtCandidates].some((candidate) => !buildCandidates.has(candidate))) runtime = await this.resetRuntime(compileSourceEntries, runtime.designSystem);
3902
+ if ([...runtime.builtCandidates].some((candidate) => !buildCandidates.has(candidate))) {
3903
+ runtime = await this.resetRuntime(compileSourceEntries, runtime);
3904
+ this.assertRevision(revision);
3905
+ }
3815
3906
  const css = replaceBareArbitraryValueSelectors(runtime.compiled.build([...buildCandidates]), classSet, options.bareArbitraryValues);
3816
3907
  runtime.builtCandidates = new Set(buildCandidates);
3817
3908
  for (const dependency of runtime.dependencies) this.moduleDependencies.add(dependency);
3818
3909
  const dependencies = [.../* @__PURE__ */ new Set([...runtime.dependencies, ...sourceFiles])];
3819
3910
  return {
3911
+ source,
3820
3912
  css,
3821
3913
  classSet,
3822
3914
  rawCandidates,
@@ -3826,16 +3918,16 @@ var TailwindGenerationSessionImpl = class {
3826
3918
  };
3827
3919
  }
3828
3920
  };
3829
- function createTailwindGenerationSession(source) {
3830
- return new TailwindGenerationSessionImpl(source);
3921
+ function createTailwindGenerationSession(source, options) {
3922
+ return new TailwindGenerationSessionImpl(source, options);
3831
3923
  }
3832
- function createTailwindV4EngineGenerationSession(source) {
3833
- return new TailwindGenerationSessionImpl(source);
3924
+ function createTailwindV4EngineGenerationSession(source, options) {
3925
+ return new TailwindGenerationSessionImpl(source, options);
3834
3926
  }
3835
3927
  //#endregion
3836
3928
  //#region src/v4/engine.ts
3837
- function createTailwindV4Engine(source) {
3838
- const session = createTailwindV4EngineGenerationSession(source);
3929
+ function createTailwindV4Engine(source, options) {
3930
+ const session = createTailwindV4EngineGenerationSession(source, options);
3839
3931
  return {
3840
3932
  source,
3841
3933
  dispose() {
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@weapp-tailwindcss/engine",
3
3
  "type": "module",
4
- "version": "0.1.3",
4
+ "version": "0.1.5",
5
5
  "description": "Tailwind CSS 4 候选提取、源码扫描与样式生成引擎。",
6
6
  "author": "ice breaker <1324318532@qq.com>",
7
7
  "license": "MIT",
8
8
  "homepage": "https://tw.weapp.dev",
9
9
  "repository": {
10
10
  "type": "git",
11
- "url": "git+https://github.com/sonofmagic/weapp-tailwindcss.git",
11
+ "url": "git+https://github.com/weapp-tailwindcss/weapp-tailwindcss.git",
12
12
  "directory": "packages/engine"
13
13
  },
14
14
  "bugs": {
15
- "url": "https://github.com/sonofmagic/weapp-tailwindcss/issues"
15
+ "url": "https://github.com/weapp-tailwindcss/weapp-tailwindcss/issues"
16
16
  },
17
17
  "keywords": [
18
18
  "tailwindcss",
@@ -66,8 +66,8 @@
66
66
  "dependencies": {
67
67
  "@tailwindcss/node": "^4.3.3",
68
68
  "@tailwindcss/oxide": "^4.3.3",
69
- "@weapp-tailwindcss/source-scan": "0.1.1",
70
- "postcss": "^8.5.28"
69
+ "@weapp-tailwindcss/source-scan": "0.1.2",
70
+ "postcss": "^8.5.29"
71
71
  },
72
72
  "devDependencies": {
73
73
  "htmlparser2": "^12.0.0",