@weapp-tailwindcss/engine 0.1.2 → 0.1.4
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 +2 -0
- package/README.zh-CN.md +2 -0
- package/dist/{index-CHGSHPWB.d.ts → index-BCGhMfsk.d.ts} +14 -3
- package/dist/{index-BnvpPg0y.d.cts → index-ubIZsEf5.d.cts} +14 -3
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/v4/index.cjs +1 -1
- package/dist/v4/index.d.cts +2 -2
- package/dist/v4/index.d.ts +2 -2
- package/dist/v4/index.js +1 -1
- package/dist/{v4-Ct27rkAi.js → v4-C-xBi2Bh.js} +115 -30
- package/dist/{v4-_oyKsjgy.cjs → v4-CGN22VSy.cjs} +115 -30
- package/package.json +5 -5
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 {
|
|
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 {
|
|
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-
|
|
2
|
+
const require_v4 = require("./v4-CGN22VSy.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
|
|
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
|
|
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-
|
|
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-C-xBi2Bh.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-
|
|
2
|
+
const require_v4 = require("../v4-CGN22VSy.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;
|
package/dist/v4/index.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as
|
|
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 };
|
package/dist/v4/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as
|
|
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-
|
|
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-C-xBi2Bh.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 };
|
|
@@ -78,8 +78,14 @@ async function loadCachedModule(loader, file) {
|
|
|
78
78
|
const onDependency = (dependency) => {
|
|
79
79
|
dependencies.add(dependency);
|
|
80
80
|
};
|
|
81
|
-
let loaded
|
|
82
|
-
if (
|
|
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,
|
|
@@ -168,9 +174,33 @@ function prepareGenerationModuleRequests(css, base) {
|
|
|
168
174
|
};
|
|
169
175
|
}
|
|
170
176
|
//#endregion
|
|
177
|
+
//#region src/v4/node-adapter/cache.ts
|
|
178
|
+
/** 模块与 design system 的跨会话复用有界,命中时更新最近使用顺序。 */
|
|
179
|
+
var BoundedCache = class extends Map {
|
|
180
|
+
limit;
|
|
181
|
+
constructor(limit) {
|
|
182
|
+
super();
|
|
183
|
+
this.limit = limit;
|
|
184
|
+
}
|
|
185
|
+
get(key) {
|
|
186
|
+
const value = super.get(key);
|
|
187
|
+
if (super.has(key)) {
|
|
188
|
+
super.delete(key);
|
|
189
|
+
super.set(key, value);
|
|
190
|
+
}
|
|
191
|
+
return value;
|
|
192
|
+
}
|
|
193
|
+
set(key, value) {
|
|
194
|
+
super.delete(key);
|
|
195
|
+
super.set(key, value);
|
|
196
|
+
while (this.size > this.limit) super.delete(this.keys().next().value);
|
|
197
|
+
return this;
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
//#endregion
|
|
171
201
|
//#region src/v4/node-adapter.ts
|
|
172
|
-
const nodeModulePromiseCache =
|
|
173
|
-
const designSystemPromiseCache =
|
|
202
|
+
const nodeModulePromiseCache = new BoundedCache(64);
|
|
203
|
+
const designSystemPromiseCache = new BoundedCache(64);
|
|
174
204
|
function fingerprintDesignDependencies(files) {
|
|
175
205
|
const hash = createHash("sha256");
|
|
176
206
|
for (const file of [...files].sort()) {
|
|
@@ -3701,23 +3731,30 @@ async function collectRawCandidates(source, options, compiledRoot, compiledSourc
|
|
|
3701
3731
|
//#endregion
|
|
3702
3732
|
//#region src/v4/generation-session.ts
|
|
3703
3733
|
var TailwindGenerationSessionImpl = class {
|
|
3734
|
+
options;
|
|
3704
3735
|
currentSource;
|
|
3705
3736
|
runtimes = /* @__PURE__ */ new Map();
|
|
3706
|
-
|
|
3737
|
+
designSystems = /* @__PURE__ */ new Map();
|
|
3738
|
+
revision = 0;
|
|
3707
3739
|
disposed = false;
|
|
3708
3740
|
moduleDependencies = /* @__PURE__ */ new Set();
|
|
3709
|
-
constructor(source) {
|
|
3741
|
+
constructor(source, options = {}) {
|
|
3742
|
+
this.options = options;
|
|
3710
3743
|
this.currentSource = source;
|
|
3711
3744
|
}
|
|
3712
3745
|
get source() {
|
|
3713
3746
|
return this.currentSource;
|
|
3714
3747
|
}
|
|
3715
3748
|
async generate(request = {}) {
|
|
3749
|
+
const revision = this.revision;
|
|
3716
3750
|
const generated = await this.generateInternal(request);
|
|
3717
|
-
|
|
3751
|
+
this.assertRevision(revision);
|
|
3752
|
+
return cloneTailwindGenerationArtifact(createTailwindGenerationArtifact(generated.css, generated.source, request, generated.classSet, generated.rawCandidates, generated.dependencies));
|
|
3718
3753
|
}
|
|
3719
3754
|
async generateLegacy(options) {
|
|
3755
|
+
const revision = this.revision;
|
|
3720
3756
|
const generated = await this.generateInternal(toGenerationRequest(options));
|
|
3757
|
+
this.assertRevision(revision);
|
|
3721
3758
|
return {
|
|
3722
3759
|
css: generated.css,
|
|
3723
3760
|
classSet: generated.classSet,
|
|
@@ -3728,9 +3765,7 @@ var TailwindGenerationSessionImpl = class {
|
|
|
3728
3765
|
};
|
|
3729
3766
|
}
|
|
3730
3767
|
loadDesignSystem() {
|
|
3731
|
-
this.
|
|
3732
|
-
this.designSystemPromise ??= loadTailwindV4DesignSystem(this.currentSource, { cache: false });
|
|
3733
|
-
return this.designSystemPromise;
|
|
3768
|
+
return this.getDesignSystem(this.currentSource);
|
|
3734
3769
|
}
|
|
3735
3770
|
async validateCandidates(candidates) {
|
|
3736
3771
|
return resolveValidTailwindV4Candidates(await this.loadDesignSystem(), candidates);
|
|
@@ -3742,57 +3777,107 @@ var TailwindGenerationSessionImpl = class {
|
|
|
3742
3777
|
invalidateGenerationModuleCache();
|
|
3743
3778
|
this.moduleDependencies.clear();
|
|
3744
3779
|
this.runtimes.clear();
|
|
3745
|
-
this.
|
|
3780
|
+
this.designSystems.clear();
|
|
3781
|
+
this.revision += 1;
|
|
3746
3782
|
}
|
|
3747
3783
|
dispose() {
|
|
3748
3784
|
clearRequireCache([...this.moduleDependencies]);
|
|
3749
3785
|
this.moduleDependencies.clear();
|
|
3750
3786
|
this.runtimes.clear();
|
|
3751
|
-
this.
|
|
3787
|
+
this.designSystems.clear();
|
|
3788
|
+
this.revision += 1;
|
|
3752
3789
|
this.disposed = true;
|
|
3753
3790
|
}
|
|
3754
3791
|
assertActive() {
|
|
3755
3792
|
if (this.disposed) throw new Error("Tailwind generation session has been disposed.");
|
|
3756
3793
|
}
|
|
3757
|
-
|
|
3794
|
+
assertRevision(revision) {
|
|
3795
|
+
this.assertActive();
|
|
3796
|
+
if (revision !== this.revision) throw new Error("Tailwind generation session changed during generation.");
|
|
3797
|
+
}
|
|
3798
|
+
getDesignSystem(source) {
|
|
3799
|
+
this.assertActive();
|
|
3800
|
+
const cached = this.designSystems.get(source.css);
|
|
3801
|
+
if (cached) return cached;
|
|
3802
|
+
const revision = this.revision;
|
|
3803
|
+
const promise = loadTailwindV4DesignSystem(source, { cache: false }).then((designSystem) => {
|
|
3804
|
+
this.assertRevision(revision);
|
|
3805
|
+
return designSystem;
|
|
3806
|
+
});
|
|
3807
|
+
this.designSystems.set(source.css, promise);
|
|
3808
|
+
promise.catch(() => {
|
|
3809
|
+
if (this.designSystems.get(source.css) === promise) this.designSystems.delete(source.css);
|
|
3810
|
+
});
|
|
3811
|
+
return promise;
|
|
3812
|
+
}
|
|
3813
|
+
getRuntime(compileSourceEntries, previous) {
|
|
3758
3814
|
this.assertActive();
|
|
3759
3815
|
const cached = this.runtimes.get(compileSourceEntries);
|
|
3760
3816
|
if (cached) return cached;
|
|
3817
|
+
const revision = this.revision;
|
|
3761
3818
|
const source = compileSourceEntries ? this.currentSource : stripCompiledSourceEntries(this.currentSource);
|
|
3762
|
-
const
|
|
3763
|
-
|
|
3764
|
-
|
|
3765
|
-
designSystem
|
|
3766
|
-
|
|
3767
|
-
|
|
3819
|
+
const designSystemPromise = previous ? Promise.resolve(previous.designSystem) : this.getDesignSystem(source);
|
|
3820
|
+
const preparedSource = previous ? Promise.resolve(previous.source) : this.options.prepareSource ? designSystemPromise.then(async (designSystem) => {
|
|
3821
|
+
this.assertRevision(revision);
|
|
3822
|
+
const css = await this.options.prepareSource(source, designSystem);
|
|
3823
|
+
this.assertRevision(revision);
|
|
3824
|
+
return {
|
|
3825
|
+
...source,
|
|
3826
|
+
css
|
|
3827
|
+
};
|
|
3828
|
+
}) : Promise.resolve(source);
|
|
3829
|
+
const promise = Promise.all([preparedSource.then(async (prepared) => {
|
|
3830
|
+
this.assertRevision(revision);
|
|
3831
|
+
return {
|
|
3832
|
+
...await compileTailwindV4Source(prepared),
|
|
3833
|
+
source: prepared
|
|
3834
|
+
};
|
|
3835
|
+
}), designSystemPromise]).then(([compiledSource, designSystem]) => {
|
|
3836
|
+
this.assertRevision(revision);
|
|
3837
|
+
return {
|
|
3838
|
+
source: compiledSource.source,
|
|
3839
|
+
compiled: compiledSource.compiled,
|
|
3840
|
+
dependencies: compiledSource.dependencies,
|
|
3841
|
+
designSystem,
|
|
3842
|
+
builtCandidates: /* @__PURE__ */ new Set()
|
|
3843
|
+
};
|
|
3844
|
+
});
|
|
3768
3845
|
this.runtimes.set(compileSourceEntries, promise);
|
|
3769
3846
|
promise.catch(() => {
|
|
3770
3847
|
if (this.runtimes.get(compileSourceEntries) === promise) this.runtimes.delete(compileSourceEntries);
|
|
3771
3848
|
});
|
|
3772
3849
|
return promise;
|
|
3773
3850
|
}
|
|
3774
|
-
async resetRuntime(compileSourceEntries,
|
|
3851
|
+
async resetRuntime(compileSourceEntries, runtime) {
|
|
3775
3852
|
this.runtimes.delete(compileSourceEntries);
|
|
3776
|
-
return this.getRuntime(compileSourceEntries,
|
|
3853
|
+
return this.getRuntime(compileSourceEntries, runtime);
|
|
3777
3854
|
}
|
|
3778
3855
|
async generateInternal(request) {
|
|
3779
3856
|
this.assertActive();
|
|
3857
|
+
const revision = this.revision;
|
|
3858
|
+
const source = this.currentSource;
|
|
3780
3859
|
const options = toGenerateOptions(request);
|
|
3781
3860
|
const compileSourceEntries = shouldCompileSourceEntries(options);
|
|
3782
3861
|
let runtime = await this.getRuntime(compileSourceEntries);
|
|
3862
|
+
this.assertRevision(revision);
|
|
3783
3863
|
const sourceFiles = [];
|
|
3784
|
-
let rawCandidates = await collectRawCandidates(
|
|
3864
|
+
let rawCandidates = await collectRawCandidates(source, options, runtime.compiled.root, runtime.compiled.sources, (files) => sourceFiles.push(...files));
|
|
3865
|
+
this.assertRevision(revision);
|
|
3785
3866
|
if (request.prepareCandidates) rawCandidates = new Set(request.prepareCandidates(rawCandidates));
|
|
3786
3867
|
const classSet = resolveValidTailwindV4Candidates(runtime.designSystem, rawCandidates, { ...options.bareArbitraryValues === void 0 ? {} : { bareArbitraryValues: options.bareArbitraryValues } });
|
|
3787
|
-
const inlineSources = extractTailwindV4InlineSourceCandidates(
|
|
3868
|
+
const inlineSources = extractTailwindV4InlineSourceCandidates(source.css);
|
|
3788
3869
|
for (const candidate of inlineSources.excluded) classSet.delete(candidate);
|
|
3789
3870
|
const buildCandidates = new Set(canonicalizeBareArbitraryValueCandidates(classSet, options.bareArbitraryValues));
|
|
3790
|
-
if ([...runtime.builtCandidates].some((candidate) => !buildCandidates.has(candidate)))
|
|
3871
|
+
if ([...runtime.builtCandidates].some((candidate) => !buildCandidates.has(candidate))) {
|
|
3872
|
+
runtime = await this.resetRuntime(compileSourceEntries, runtime);
|
|
3873
|
+
this.assertRevision(revision);
|
|
3874
|
+
}
|
|
3791
3875
|
const css = replaceBareArbitraryValueSelectors(runtime.compiled.build([...buildCandidates]), classSet, options.bareArbitraryValues);
|
|
3792
3876
|
runtime.builtCandidates = new Set(buildCandidates);
|
|
3793
3877
|
for (const dependency of runtime.dependencies) this.moduleDependencies.add(dependency);
|
|
3794
3878
|
const dependencies = [.../* @__PURE__ */ new Set([...runtime.dependencies, ...sourceFiles])];
|
|
3795
3879
|
return {
|
|
3880
|
+
source,
|
|
3796
3881
|
css,
|
|
3797
3882
|
classSet,
|
|
3798
3883
|
rawCandidates,
|
|
@@ -3802,16 +3887,16 @@ var TailwindGenerationSessionImpl = class {
|
|
|
3802
3887
|
};
|
|
3803
3888
|
}
|
|
3804
3889
|
};
|
|
3805
|
-
function createTailwindGenerationSession(source) {
|
|
3806
|
-
return new TailwindGenerationSessionImpl(source);
|
|
3890
|
+
function createTailwindGenerationSession(source, options) {
|
|
3891
|
+
return new TailwindGenerationSessionImpl(source, options);
|
|
3807
3892
|
}
|
|
3808
|
-
function createTailwindV4EngineGenerationSession(source) {
|
|
3809
|
-
return new TailwindGenerationSessionImpl(source);
|
|
3893
|
+
function createTailwindV4EngineGenerationSession(source, options) {
|
|
3894
|
+
return new TailwindGenerationSessionImpl(source, options);
|
|
3810
3895
|
}
|
|
3811
3896
|
//#endregion
|
|
3812
3897
|
//#region src/v4/engine.ts
|
|
3813
|
-
function createTailwindV4Engine(source) {
|
|
3814
|
-
const session = createTailwindV4EngineGenerationSession(source);
|
|
3898
|
+
function createTailwindV4Engine(source, options) {
|
|
3899
|
+
const session = createTailwindV4EngineGenerationSession(source, options);
|
|
3815
3900
|
return {
|
|
3816
3901
|
source,
|
|
3817
3902
|
dispose() {
|
|
@@ -103,8 +103,14 @@ async function loadCachedModule(loader, file) {
|
|
|
103
103
|
const onDependency = (dependency) => {
|
|
104
104
|
dependencies.add(dependency);
|
|
105
105
|
};
|
|
106
|
-
let loaded
|
|
107
|
-
if (
|
|
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,
|
|
@@ -193,9 +199,33 @@ function prepareGenerationModuleRequests(css, base) {
|
|
|
193
199
|
};
|
|
194
200
|
}
|
|
195
201
|
//#endregion
|
|
202
|
+
//#region src/v4/node-adapter/cache.ts
|
|
203
|
+
/** 模块与 design system 的跨会话复用有界,命中时更新最近使用顺序。 */
|
|
204
|
+
var BoundedCache = class extends Map {
|
|
205
|
+
limit;
|
|
206
|
+
constructor(limit) {
|
|
207
|
+
super();
|
|
208
|
+
this.limit = limit;
|
|
209
|
+
}
|
|
210
|
+
get(key) {
|
|
211
|
+
const value = super.get(key);
|
|
212
|
+
if (super.has(key)) {
|
|
213
|
+
super.delete(key);
|
|
214
|
+
super.set(key, value);
|
|
215
|
+
}
|
|
216
|
+
return value;
|
|
217
|
+
}
|
|
218
|
+
set(key, value) {
|
|
219
|
+
super.delete(key);
|
|
220
|
+
super.set(key, value);
|
|
221
|
+
while (this.size > this.limit) super.delete(this.keys().next().value);
|
|
222
|
+
return this;
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
//#endregion
|
|
196
226
|
//#region src/v4/node-adapter.ts
|
|
197
|
-
const nodeModulePromiseCache =
|
|
198
|
-
const designSystemPromiseCache =
|
|
227
|
+
const nodeModulePromiseCache = new BoundedCache(64);
|
|
228
|
+
const designSystemPromiseCache = new BoundedCache(64);
|
|
199
229
|
function fingerprintDesignDependencies(files) {
|
|
200
230
|
const hash = (0, node_crypto.createHash)("sha256");
|
|
201
231
|
for (const file of [...files].sort()) {
|
|
@@ -3726,23 +3756,30 @@ async function collectRawCandidates(source, options, compiledRoot, compiledSourc
|
|
|
3726
3756
|
//#endregion
|
|
3727
3757
|
//#region src/v4/generation-session.ts
|
|
3728
3758
|
var TailwindGenerationSessionImpl = class {
|
|
3759
|
+
options;
|
|
3729
3760
|
currentSource;
|
|
3730
3761
|
runtimes = /* @__PURE__ */ new Map();
|
|
3731
|
-
|
|
3762
|
+
designSystems = /* @__PURE__ */ new Map();
|
|
3763
|
+
revision = 0;
|
|
3732
3764
|
disposed = false;
|
|
3733
3765
|
moduleDependencies = /* @__PURE__ */ new Set();
|
|
3734
|
-
constructor(source) {
|
|
3766
|
+
constructor(source, options = {}) {
|
|
3767
|
+
this.options = options;
|
|
3735
3768
|
this.currentSource = source;
|
|
3736
3769
|
}
|
|
3737
3770
|
get source() {
|
|
3738
3771
|
return this.currentSource;
|
|
3739
3772
|
}
|
|
3740
3773
|
async generate(request = {}) {
|
|
3774
|
+
const revision = this.revision;
|
|
3741
3775
|
const generated = await this.generateInternal(request);
|
|
3742
|
-
|
|
3776
|
+
this.assertRevision(revision);
|
|
3777
|
+
return cloneTailwindGenerationArtifact(createTailwindGenerationArtifact(generated.css, generated.source, request, generated.classSet, generated.rawCandidates, generated.dependencies));
|
|
3743
3778
|
}
|
|
3744
3779
|
async generateLegacy(options) {
|
|
3780
|
+
const revision = this.revision;
|
|
3745
3781
|
const generated = await this.generateInternal(toGenerationRequest(options));
|
|
3782
|
+
this.assertRevision(revision);
|
|
3746
3783
|
return {
|
|
3747
3784
|
css: generated.css,
|
|
3748
3785
|
classSet: generated.classSet,
|
|
@@ -3753,9 +3790,7 @@ var TailwindGenerationSessionImpl = class {
|
|
|
3753
3790
|
};
|
|
3754
3791
|
}
|
|
3755
3792
|
loadDesignSystem() {
|
|
3756
|
-
this.
|
|
3757
|
-
this.designSystemPromise ??= loadTailwindV4DesignSystem(this.currentSource, { cache: false });
|
|
3758
|
-
return this.designSystemPromise;
|
|
3793
|
+
return this.getDesignSystem(this.currentSource);
|
|
3759
3794
|
}
|
|
3760
3795
|
async validateCandidates(candidates) {
|
|
3761
3796
|
return resolveValidTailwindV4Candidates(await this.loadDesignSystem(), candidates);
|
|
@@ -3767,57 +3802,107 @@ var TailwindGenerationSessionImpl = class {
|
|
|
3767
3802
|
invalidateGenerationModuleCache();
|
|
3768
3803
|
this.moduleDependencies.clear();
|
|
3769
3804
|
this.runtimes.clear();
|
|
3770
|
-
this.
|
|
3805
|
+
this.designSystems.clear();
|
|
3806
|
+
this.revision += 1;
|
|
3771
3807
|
}
|
|
3772
3808
|
dispose() {
|
|
3773
3809
|
(0, _tailwindcss_node_require_cache.clearRequireCache)([...this.moduleDependencies]);
|
|
3774
3810
|
this.moduleDependencies.clear();
|
|
3775
3811
|
this.runtimes.clear();
|
|
3776
|
-
this.
|
|
3812
|
+
this.designSystems.clear();
|
|
3813
|
+
this.revision += 1;
|
|
3777
3814
|
this.disposed = true;
|
|
3778
3815
|
}
|
|
3779
3816
|
assertActive() {
|
|
3780
3817
|
if (this.disposed) throw new Error("Tailwind generation session has been disposed.");
|
|
3781
3818
|
}
|
|
3782
|
-
|
|
3819
|
+
assertRevision(revision) {
|
|
3820
|
+
this.assertActive();
|
|
3821
|
+
if (revision !== this.revision) throw new Error("Tailwind generation session changed during generation.");
|
|
3822
|
+
}
|
|
3823
|
+
getDesignSystem(source) {
|
|
3824
|
+
this.assertActive();
|
|
3825
|
+
const cached = this.designSystems.get(source.css);
|
|
3826
|
+
if (cached) return cached;
|
|
3827
|
+
const revision = this.revision;
|
|
3828
|
+
const promise = loadTailwindV4DesignSystem(source, { cache: false }).then((designSystem) => {
|
|
3829
|
+
this.assertRevision(revision);
|
|
3830
|
+
return designSystem;
|
|
3831
|
+
});
|
|
3832
|
+
this.designSystems.set(source.css, promise);
|
|
3833
|
+
promise.catch(() => {
|
|
3834
|
+
if (this.designSystems.get(source.css) === promise) this.designSystems.delete(source.css);
|
|
3835
|
+
});
|
|
3836
|
+
return promise;
|
|
3837
|
+
}
|
|
3838
|
+
getRuntime(compileSourceEntries, previous) {
|
|
3783
3839
|
this.assertActive();
|
|
3784
3840
|
const cached = this.runtimes.get(compileSourceEntries);
|
|
3785
3841
|
if (cached) return cached;
|
|
3842
|
+
const revision = this.revision;
|
|
3786
3843
|
const source = compileSourceEntries ? this.currentSource : stripCompiledSourceEntries(this.currentSource);
|
|
3787
|
-
const
|
|
3788
|
-
|
|
3789
|
-
|
|
3790
|
-
designSystem
|
|
3791
|
-
|
|
3792
|
-
|
|
3844
|
+
const designSystemPromise = previous ? Promise.resolve(previous.designSystem) : this.getDesignSystem(source);
|
|
3845
|
+
const preparedSource = previous ? Promise.resolve(previous.source) : this.options.prepareSource ? designSystemPromise.then(async (designSystem) => {
|
|
3846
|
+
this.assertRevision(revision);
|
|
3847
|
+
const css = await this.options.prepareSource(source, designSystem);
|
|
3848
|
+
this.assertRevision(revision);
|
|
3849
|
+
return {
|
|
3850
|
+
...source,
|
|
3851
|
+
css
|
|
3852
|
+
};
|
|
3853
|
+
}) : Promise.resolve(source);
|
|
3854
|
+
const promise = Promise.all([preparedSource.then(async (prepared) => {
|
|
3855
|
+
this.assertRevision(revision);
|
|
3856
|
+
return {
|
|
3857
|
+
...await compileTailwindV4Source(prepared),
|
|
3858
|
+
source: prepared
|
|
3859
|
+
};
|
|
3860
|
+
}), designSystemPromise]).then(([compiledSource, designSystem]) => {
|
|
3861
|
+
this.assertRevision(revision);
|
|
3862
|
+
return {
|
|
3863
|
+
source: compiledSource.source,
|
|
3864
|
+
compiled: compiledSource.compiled,
|
|
3865
|
+
dependencies: compiledSource.dependencies,
|
|
3866
|
+
designSystem,
|
|
3867
|
+
builtCandidates: /* @__PURE__ */ new Set()
|
|
3868
|
+
};
|
|
3869
|
+
});
|
|
3793
3870
|
this.runtimes.set(compileSourceEntries, promise);
|
|
3794
3871
|
promise.catch(() => {
|
|
3795
3872
|
if (this.runtimes.get(compileSourceEntries) === promise) this.runtimes.delete(compileSourceEntries);
|
|
3796
3873
|
});
|
|
3797
3874
|
return promise;
|
|
3798
3875
|
}
|
|
3799
|
-
async resetRuntime(compileSourceEntries,
|
|
3876
|
+
async resetRuntime(compileSourceEntries, runtime) {
|
|
3800
3877
|
this.runtimes.delete(compileSourceEntries);
|
|
3801
|
-
return this.getRuntime(compileSourceEntries,
|
|
3878
|
+
return this.getRuntime(compileSourceEntries, runtime);
|
|
3802
3879
|
}
|
|
3803
3880
|
async generateInternal(request) {
|
|
3804
3881
|
this.assertActive();
|
|
3882
|
+
const revision = this.revision;
|
|
3883
|
+
const source = this.currentSource;
|
|
3805
3884
|
const options = toGenerateOptions(request);
|
|
3806
3885
|
const compileSourceEntries = shouldCompileSourceEntries(options);
|
|
3807
3886
|
let runtime = await this.getRuntime(compileSourceEntries);
|
|
3887
|
+
this.assertRevision(revision);
|
|
3808
3888
|
const sourceFiles = [];
|
|
3809
|
-
let rawCandidates = await collectRawCandidates(
|
|
3889
|
+
let rawCandidates = await collectRawCandidates(source, options, runtime.compiled.root, runtime.compiled.sources, (files) => sourceFiles.push(...files));
|
|
3890
|
+
this.assertRevision(revision);
|
|
3810
3891
|
if (request.prepareCandidates) rawCandidates = new Set(request.prepareCandidates(rawCandidates));
|
|
3811
3892
|
const classSet = resolveValidTailwindV4Candidates(runtime.designSystem, rawCandidates, { ...options.bareArbitraryValues === void 0 ? {} : { bareArbitraryValues: options.bareArbitraryValues } });
|
|
3812
|
-
const inlineSources = extractTailwindV4InlineSourceCandidates(
|
|
3893
|
+
const inlineSources = extractTailwindV4InlineSourceCandidates(source.css);
|
|
3813
3894
|
for (const candidate of inlineSources.excluded) classSet.delete(candidate);
|
|
3814
3895
|
const buildCandidates = new Set(canonicalizeBareArbitraryValueCandidates(classSet, options.bareArbitraryValues));
|
|
3815
|
-
if ([...runtime.builtCandidates].some((candidate) => !buildCandidates.has(candidate)))
|
|
3896
|
+
if ([...runtime.builtCandidates].some((candidate) => !buildCandidates.has(candidate))) {
|
|
3897
|
+
runtime = await this.resetRuntime(compileSourceEntries, runtime);
|
|
3898
|
+
this.assertRevision(revision);
|
|
3899
|
+
}
|
|
3816
3900
|
const css = replaceBareArbitraryValueSelectors(runtime.compiled.build([...buildCandidates]), classSet, options.bareArbitraryValues);
|
|
3817
3901
|
runtime.builtCandidates = new Set(buildCandidates);
|
|
3818
3902
|
for (const dependency of runtime.dependencies) this.moduleDependencies.add(dependency);
|
|
3819
3903
|
const dependencies = [.../* @__PURE__ */ new Set([...runtime.dependencies, ...sourceFiles])];
|
|
3820
3904
|
return {
|
|
3905
|
+
source,
|
|
3821
3906
|
css,
|
|
3822
3907
|
classSet,
|
|
3823
3908
|
rawCandidates,
|
|
@@ -3827,16 +3912,16 @@ var TailwindGenerationSessionImpl = class {
|
|
|
3827
3912
|
};
|
|
3828
3913
|
}
|
|
3829
3914
|
};
|
|
3830
|
-
function createTailwindGenerationSession(source) {
|
|
3831
|
-
return new TailwindGenerationSessionImpl(source);
|
|
3915
|
+
function createTailwindGenerationSession(source, options) {
|
|
3916
|
+
return new TailwindGenerationSessionImpl(source, options);
|
|
3832
3917
|
}
|
|
3833
|
-
function createTailwindV4EngineGenerationSession(source) {
|
|
3834
|
-
return new TailwindGenerationSessionImpl(source);
|
|
3918
|
+
function createTailwindV4EngineGenerationSession(source, options) {
|
|
3919
|
+
return new TailwindGenerationSessionImpl(source, options);
|
|
3835
3920
|
}
|
|
3836
3921
|
//#endregion
|
|
3837
3922
|
//#region src/v4/engine.ts
|
|
3838
|
-
function createTailwindV4Engine(source) {
|
|
3839
|
-
const session = createTailwindV4EngineGenerationSession(source);
|
|
3923
|
+
function createTailwindV4Engine(source, options) {
|
|
3924
|
+
const session = createTailwindV4EngineGenerationSession(source, options);
|
|
3840
3925
|
return {
|
|
3841
3926
|
source,
|
|
3842
3927
|
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.
|
|
4
|
+
"version": "0.1.4",
|
|
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/
|
|
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/
|
|
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.
|
|
70
|
-
"postcss": "^8.5.
|
|
69
|
+
"@weapp-tailwindcss/source-scan": "0.1.2",
|
|
70
|
+
"postcss": "^8.5.29"
|
|
71
71
|
},
|
|
72
72
|
"devDependencies": {
|
|
73
73
|
"htmlparser2": "^12.0.0",
|