tailwind-styled-v4 5.1.16 → 5.1.17
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/dist/atomic.js +16 -4
- package/dist/atomic.js.map +1 -1
- package/dist/atomic.mjs +13 -2
- package/dist/atomic.mjs.map +1 -1
- package/dist/cli.js +80 -68
- package/dist/cli.js.map +1 -1
- package/dist/cli.mjs +77 -66
- package/dist/cli.mjs.map +1 -1
- package/dist/compiler.d.mts +84 -4
- package/dist/compiler.d.ts +84 -4
- package/dist/compiler.js +245 -15
- package/dist/compiler.js.map +1 -1
- package/dist/compiler.mjs +240 -14
- package/dist/compiler.mjs.map +1 -1
- package/dist/engine.js +209 -167
- package/dist/engine.js.map +1 -1
- package/dist/engine.mjs +200 -159
- package/dist/engine.mjs.map +1 -1
- package/dist/index.browser.mjs +1 -1
- package/dist/index.browser.mjs.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/next.d.mts +16 -0
- package/dist/next.d.ts +16 -0
- package/dist/next.js +458 -158
- package/dist/next.js.map +1 -1
- package/dist/next.mjs +454 -154
- package/dist/next.mjs.map +1 -1
- package/dist/runtime.js +1 -1
- package/dist/runtime.js.map +1 -1
- package/dist/runtime.mjs +1 -1
- package/dist/runtime.mjs.map +1 -1
- package/dist/shared.js +106 -64
- package/dist/shared.js.map +1 -1
- package/dist/shared.mjs +101 -60
- package/dist/shared.mjs.map +1 -1
- package/dist/theme.js +1 -1
- package/dist/theme.js.map +1 -1
- package/dist/theme.mjs +1 -1
- package/dist/theme.mjs.map +1 -1
- package/dist/turbopackLoader.js +94 -52
- package/dist/turbopackLoader.js.map +1 -1
- package/dist/turbopackLoader.mjs +92 -51
- package/dist/turbopackLoader.mjs.map +1 -1
- package/dist/tw.js +80 -68
- package/dist/tw.js.map +1 -1
- package/dist/tw.mjs +77 -66
- package/dist/tw.mjs.map +1 -1
- package/dist/vite.js +172 -130
- package/dist/vite.js.map +1 -1
- package/dist/vite.mjs +166 -125
- package/dist/vite.mjs.map +1 -1
- package/dist/webpackLoader.js +28 -10
- package/dist/webpackLoader.js.map +1 -1
- package/dist/webpackLoader.mjs +26 -9
- package/dist/webpackLoader.mjs.map +1 -1
- package/package.json +1 -1
package/dist/compiler.mjs
CHANGED
|
@@ -171,7 +171,7 @@ var init_nativeBridge = __esm({
|
|
|
171
171
|
"use strict";
|
|
172
172
|
init_esm_shims();
|
|
173
173
|
init_src();
|
|
174
|
-
_loadNative = (
|
|
174
|
+
_loadNative = (path6) => __require(path6);
|
|
175
175
|
log = (...args) => {
|
|
176
176
|
if (process.env.DEBUG?.includes("compiler:native")) {
|
|
177
177
|
console.log("[compiler:native]", ...args);
|
|
@@ -2014,9 +2014,202 @@ var init_watch = __esm({
|
|
|
2014
2014
|
}
|
|
2015
2015
|
});
|
|
2016
2016
|
|
|
2017
|
-
// packages/domain/compiler/src/
|
|
2017
|
+
// packages/domain/compiler/src/routeGraph.ts
|
|
2018
2018
|
import fs3 from "fs";
|
|
2019
2019
|
import path4 from "path";
|
|
2020
|
+
function deriveRouteFromPageFile(normalizedFile) {
|
|
2021
|
+
const rootMatch = normalizedFile.match(ROOT_PAGE_RE);
|
|
2022
|
+
if (rootMatch) return "/";
|
|
2023
|
+
const match = normalizedFile.match(PAGE_RE);
|
|
2024
|
+
if (!match) return null;
|
|
2025
|
+
const segments = match[1].split("/").filter((s) => !(s.startsWith("(") && s.endsWith(")")));
|
|
2026
|
+
return `/${segments.join("/")}`;
|
|
2027
|
+
}
|
|
2028
|
+
function stripJsonComments(input) {
|
|
2029
|
+
let out = "";
|
|
2030
|
+
let i = 0;
|
|
2031
|
+
let inString = false;
|
|
2032
|
+
let stringChar = "";
|
|
2033
|
+
while (i < input.length) {
|
|
2034
|
+
const ch = input[i];
|
|
2035
|
+
if (inString) {
|
|
2036
|
+
out += ch;
|
|
2037
|
+
if (ch === "\\" && i + 1 < input.length) {
|
|
2038
|
+
out += input[i + 1];
|
|
2039
|
+
i += 2;
|
|
2040
|
+
continue;
|
|
2041
|
+
}
|
|
2042
|
+
if (ch === stringChar) inString = false;
|
|
2043
|
+
i++;
|
|
2044
|
+
continue;
|
|
2045
|
+
}
|
|
2046
|
+
if (ch === '"' || ch === "'") {
|
|
2047
|
+
inString = true;
|
|
2048
|
+
stringChar = ch;
|
|
2049
|
+
out += ch;
|
|
2050
|
+
i++;
|
|
2051
|
+
continue;
|
|
2052
|
+
}
|
|
2053
|
+
if (ch === "/" && input[i + 1] === "/") {
|
|
2054
|
+
while (i < input.length && input[i] !== "\n") i++;
|
|
2055
|
+
continue;
|
|
2056
|
+
}
|
|
2057
|
+
if (ch === "/" && input[i + 1] === "*") {
|
|
2058
|
+
i += 2;
|
|
2059
|
+
while (i < input.length && !(input[i] === "*" && input[i + 1] === "/")) i++;
|
|
2060
|
+
i += 2;
|
|
2061
|
+
continue;
|
|
2062
|
+
}
|
|
2063
|
+
out += ch;
|
|
2064
|
+
i++;
|
|
2065
|
+
}
|
|
2066
|
+
return out;
|
|
2067
|
+
}
|
|
2068
|
+
function loadTsconfigAliases(root) {
|
|
2069
|
+
for (const candidate of ["tsconfig.json", "jsconfig.json"]) {
|
|
2070
|
+
const configPath = path4.join(root, candidate);
|
|
2071
|
+
if (!fs3.existsSync(configPath)) continue;
|
|
2072
|
+
try {
|
|
2073
|
+
const raw = stripJsonComments(fs3.readFileSync(configPath, "utf-8"));
|
|
2074
|
+
const parsed = JSON.parse(raw);
|
|
2075
|
+
const co = parsed.compilerOptions;
|
|
2076
|
+
if (!co?.paths) continue;
|
|
2077
|
+
const baseDir = path4.join(root, co.baseUrl ?? ".");
|
|
2078
|
+
const paths = Object.entries(co.paths).map(([prefix, targets]) => ({
|
|
2079
|
+
prefix: prefix.replace(/\*$/, ""),
|
|
2080
|
+
targets: targets.map((t) => t.replace(/\*$/, ""))
|
|
2081
|
+
}));
|
|
2082
|
+
return { baseDir, paths };
|
|
2083
|
+
} catch {
|
|
2084
|
+
continue;
|
|
2085
|
+
}
|
|
2086
|
+
}
|
|
2087
|
+
return null;
|
|
2088
|
+
}
|
|
2089
|
+
function resolveSpecifier(specifier, fromFile, aliasInfo) {
|
|
2090
|
+
let candidate = null;
|
|
2091
|
+
if (specifier.startsWith(".")) {
|
|
2092
|
+
candidate = path4.resolve(path4.dirname(fromFile), specifier);
|
|
2093
|
+
} else if (aliasInfo) {
|
|
2094
|
+
for (const { prefix, targets } of aliasInfo.paths) {
|
|
2095
|
+
if (specifier.startsWith(prefix)) {
|
|
2096
|
+
const rest = specifier.slice(prefix.length);
|
|
2097
|
+
candidate = path4.join(aliasInfo.baseDir, targets[0] ?? "", rest);
|
|
2098
|
+
break;
|
|
2099
|
+
}
|
|
2100
|
+
}
|
|
2101
|
+
}
|
|
2102
|
+
if (!candidate) return null;
|
|
2103
|
+
if (/\.(css|scss|sass|less|svg|png|jpe?g|gif|webp|json|woff2?|ttf|eot)$/i.test(candidate)) return null;
|
|
2104
|
+
if (fs3.existsSync(candidate) && fs3.statSync(candidate).isFile()) return candidate;
|
|
2105
|
+
for (const ext of CODE_EXTENSIONS) {
|
|
2106
|
+
if (fs3.existsSync(candidate + ext)) return candidate + ext;
|
|
2107
|
+
}
|
|
2108
|
+
for (const ext of CODE_EXTENSIONS) {
|
|
2109
|
+
const indexPath = path4.join(candidate, `index${ext}`);
|
|
2110
|
+
if (fs3.existsSync(indexPath)) return indexPath;
|
|
2111
|
+
}
|
|
2112
|
+
return null;
|
|
2113
|
+
}
|
|
2114
|
+
function extractImportSpecifiers(source) {
|
|
2115
|
+
const specs = /* @__PURE__ */ new Set();
|
|
2116
|
+
for (const re of [IMPORT_FROM_RE, SIDE_EFFECT_IMPORT_RE, DYNAMIC_IMPORT_RE]) {
|
|
2117
|
+
re.lastIndex = 0;
|
|
2118
|
+
let m;
|
|
2119
|
+
while (m = re.exec(source)) {
|
|
2120
|
+
if (m[1]) specs.add(m[1]);
|
|
2121
|
+
}
|
|
2122
|
+
}
|
|
2123
|
+
return [...specs];
|
|
2124
|
+
}
|
|
2125
|
+
function buildRouteClassBuckets(root, srcDir, files) {
|
|
2126
|
+
const aliasInfo = loadTsconfigAliases(root);
|
|
2127
|
+
const classesByFile = /* @__PURE__ */ new Map();
|
|
2128
|
+
const adjacency = /* @__PURE__ */ new Map();
|
|
2129
|
+
for (const f of files) {
|
|
2130
|
+
const normalized = path4.normalize(f.file);
|
|
2131
|
+
classesByFile.set(normalized, f.classes);
|
|
2132
|
+
if (!adjacency.has(normalized)) adjacency.set(normalized, /* @__PURE__ */ new Set());
|
|
2133
|
+
}
|
|
2134
|
+
for (const f of files) {
|
|
2135
|
+
const normalized = path4.normalize(f.file);
|
|
2136
|
+
let source;
|
|
2137
|
+
try {
|
|
2138
|
+
source = fs3.readFileSync(normalized, "utf-8");
|
|
2139
|
+
} catch {
|
|
2140
|
+
continue;
|
|
2141
|
+
}
|
|
2142
|
+
const edges = adjacency.get(normalized);
|
|
2143
|
+
for (const spec of extractImportSpecifiers(source)) {
|
|
2144
|
+
const resolved = resolveSpecifier(spec, normalized, aliasInfo);
|
|
2145
|
+
if (resolved && classesByFile.has(resolved)) edges.add(resolved);
|
|
2146
|
+
}
|
|
2147
|
+
}
|
|
2148
|
+
const routeEntries = [];
|
|
2149
|
+
for (const f of files) {
|
|
2150
|
+
const normalized = path4.normalize(f.file).replace(/\\/g, "/");
|
|
2151
|
+
const route = deriveRouteFromPageFile(normalized);
|
|
2152
|
+
if (route) routeEntries.push({ route, file: path4.normalize(f.file) });
|
|
2153
|
+
}
|
|
2154
|
+
const reachableByRoute = /* @__PURE__ */ new Map();
|
|
2155
|
+
for (const { route, file } of routeEntries) {
|
|
2156
|
+
const visited = /* @__PURE__ */ new Set();
|
|
2157
|
+
const queue = [file];
|
|
2158
|
+
while (queue.length > 0) {
|
|
2159
|
+
const current = queue.shift();
|
|
2160
|
+
if (visited.has(current)) continue;
|
|
2161
|
+
visited.add(current);
|
|
2162
|
+
for (const next of adjacency.get(current) ?? []) {
|
|
2163
|
+
if (!visited.has(next)) queue.push(next);
|
|
2164
|
+
}
|
|
2165
|
+
}
|
|
2166
|
+
reachableByRoute.set(route, visited);
|
|
2167
|
+
}
|
|
2168
|
+
const routesByFile = /* @__PURE__ */ new Map();
|
|
2169
|
+
for (const [route, fileSet] of reachableByRoute) {
|
|
2170
|
+
for (const file of fileSet) {
|
|
2171
|
+
if (!routesByFile.has(file)) routesByFile.set(file, /* @__PURE__ */ new Set());
|
|
2172
|
+
routesByFile.get(file).add(route);
|
|
2173
|
+
}
|
|
2174
|
+
}
|
|
2175
|
+
const result = { routes: /* @__PURE__ */ new Map(), global: /* @__PURE__ */ new Set() };
|
|
2176
|
+
for (const [file, classes] of classesByFile) {
|
|
2177
|
+
const normalizedSlash = file.replace(/\\/g, "/");
|
|
2178
|
+
const isSharedSegment = SHARED_SEGMENT_RE.test(normalizedSlash);
|
|
2179
|
+
const reachingRoutes = isSharedSegment ? /* @__PURE__ */ new Set() : routesByFile.get(file);
|
|
2180
|
+
if (!isSharedSegment && reachingRoutes && reachingRoutes.size === 1) {
|
|
2181
|
+
const [route] = reachingRoutes;
|
|
2182
|
+
if (!result.routes.has(route)) result.routes.set(route, /* @__PURE__ */ new Set());
|
|
2183
|
+
const bucket = result.routes.get(route);
|
|
2184
|
+
for (const cls of classes) bucket.add(cls);
|
|
2185
|
+
} else {
|
|
2186
|
+
for (const cls of classes) result.global.add(cls);
|
|
2187
|
+
}
|
|
2188
|
+
}
|
|
2189
|
+
return result;
|
|
2190
|
+
}
|
|
2191
|
+
function routeToCssFilename(route) {
|
|
2192
|
+
const slug = route.replace(/^\/+/, "").replace(/[^a-zA-Z0-9_-]+/g, "_").replace(/^_+|_+$/g, "");
|
|
2193
|
+
return `route_${slug || "root"}.css`;
|
|
2194
|
+
}
|
|
2195
|
+
var CODE_EXTENSIONS, SHARED_SEGMENT_RE, PAGE_RE, ROOT_PAGE_RE, IMPORT_FROM_RE, SIDE_EFFECT_IMPORT_RE, DYNAMIC_IMPORT_RE;
|
|
2196
|
+
var init_routeGraph = __esm({
|
|
2197
|
+
"packages/domain/compiler/src/routeGraph.ts"() {
|
|
2198
|
+
"use strict";
|
|
2199
|
+
init_esm_shims();
|
|
2200
|
+
CODE_EXTENSIONS = [".tsx", ".ts", ".jsx", ".js", ".mjs", ".cjs"];
|
|
2201
|
+
SHARED_SEGMENT_RE = /(?:^|[\\/])(layout|loading|error|template|not-found|default)\.(?:tsx|ts|jsx|js)$/;
|
|
2202
|
+
PAGE_RE = /(?:^|[\\/])app[\\/](.*?)[\\/]page\.(?:tsx|ts|jsx|js)$/;
|
|
2203
|
+
ROOT_PAGE_RE = /(?:^|[\\/])app[\\/]page\.(?:tsx|ts|jsx|js)$/;
|
|
2204
|
+
IMPORT_FROM_RE = /(?:import|export)(?:[^'"`;]*?)from\s+["']([^"']+)["']/g;
|
|
2205
|
+
SIDE_EFFECT_IMPORT_RE = /^\s*import\s+["']([^"']+)["']/gm;
|
|
2206
|
+
DYNAMIC_IMPORT_RE = /\bimport\s*\(\s*["']([^"']+)["']\s*\)/g;
|
|
2207
|
+
}
|
|
2208
|
+
});
|
|
2209
|
+
|
|
2210
|
+
// packages/domain/compiler/src/index.ts
|
|
2211
|
+
import fs4 from "fs";
|
|
2212
|
+
import path5 from "path";
|
|
2020
2213
|
import { createRequire as createRequire5 } from "module";
|
|
2021
2214
|
function _layoutClassesToCss(classes) {
|
|
2022
2215
|
const native = getNativeBridge();
|
|
@@ -2052,7 +2245,7 @@ function extractContainerCssFromSource(source) {
|
|
|
2052
2245
|
}
|
|
2053
2246
|
return rules.join("\n");
|
|
2054
2247
|
}
|
|
2055
|
-
var _require3, transformSource, hasTwUsage, isAlreadyTransformed, shouldProcess, compileCssFromClasses, buildStyleTag, generateCssForClasses, eliminateDeadCss, findDeadVariants, runElimination, scanProjectUsage, generateSafelist, loadSafelist, loadTailwindConfig, getContentPaths, _CONTAINER_BREAKPOINTS, runLoaderTransform, shouldSkipFile, fileToRoute, getAllRoutes, getRouteClasses, registerFileClasses, registerGlobalClasses, _incrementalEngineInstance, getIncrementalEngine, resetIncrementalEngine, IncrementalEngine, getBucketEngine, resetBucketEngine, BucketEngine, classifyNode, detectConflicts, bucketSort, analyzeFile, analyzeVariantUsage, injectClientDirective, injectServerOnlyComment, analyzeClasses, extractTwStateConfigs, generateStaticStateCss, extractAndGenerateStateCss;
|
|
2248
|
+
var _require3, transformSource, hasTwUsage, isAlreadyTransformed, shouldProcess, compileCssFromClasses, buildStyleTag, generateCssForClasses, eliminateDeadCss, findDeadVariants, runElimination, scanProjectUsage, generateSafelist, loadSafelist, loadTailwindConfig, getContentPaths, _CONTAINER_BREAKPOINTS, runLoaderTransform, shouldSkipFile, fileToRoute, getAllRoutes, _fileClassesMap, _globalClasses, getRouteClasses, getAllRegisteredClasses, registerFileClasses, registerGlobalClasses, resetRouteClassRegistry, _incrementalEngineInstance, getIncrementalEngine, resetIncrementalEngine, IncrementalEngine, getBucketEngine, resetBucketEngine, BucketEngine, classifyNode, detectConflicts, bucketSort, analyzeFile, analyzeVariantUsage, injectClientDirective, injectServerOnlyComment, analyzeClasses, extractTwStateConfigs, generateStaticStateCss, extractAndGenerateStateCss;
|
|
2056
2249
|
var init_src2 = __esm({
|
|
2057
2250
|
"packages/domain/compiler/src/index.ts"() {
|
|
2058
2251
|
"use strict";
|
|
@@ -2064,6 +2257,7 @@ var init_src2 = __esm({
|
|
|
2064
2257
|
init_cache();
|
|
2065
2258
|
init_redis();
|
|
2066
2259
|
init_watch();
|
|
2260
|
+
init_routeGraph();
|
|
2067
2261
|
_require3 = createRequire5(
|
|
2068
2262
|
typeof __require !== "undefined" ? typeof __filename !== "undefined" ? `file://${__filename}` : "file://unknown" : import.meta.url
|
|
2069
2263
|
);
|
|
@@ -2158,7 +2352,7 @@ var init_src2 = __esm({
|
|
|
2158
2352
|
};
|
|
2159
2353
|
scanProjectUsage = (dirs, cwd) => {
|
|
2160
2354
|
const { batchExtractClasses: batchExtractClasses2 } = _require3("./parser");
|
|
2161
|
-
const files = dirs.map((dir) =>
|
|
2355
|
+
const files = dirs.map((dir) => path5.resolve(cwd, dir));
|
|
2162
2356
|
const results = batchExtractClasses2(files) || [];
|
|
2163
2357
|
const combined = {};
|
|
2164
2358
|
for (const result of results) {
|
|
@@ -2175,13 +2369,13 @@ var init_src2 = __esm({
|
|
|
2175
2369
|
const classes = scanProjectUsage(scanDirs, cwd || process.cwd());
|
|
2176
2370
|
const allClasses = Object.keys(classes).sort();
|
|
2177
2371
|
if (outputPath) {
|
|
2178
|
-
|
|
2372
|
+
fs4.writeFileSync(outputPath, JSON.stringify(allClasses, null, 2));
|
|
2179
2373
|
}
|
|
2180
2374
|
return allClasses;
|
|
2181
2375
|
};
|
|
2182
2376
|
loadSafelist = (safelistPath) => {
|
|
2183
2377
|
try {
|
|
2184
|
-
const content =
|
|
2378
|
+
const content = fs4.readFileSync(safelistPath, "utf-8");
|
|
2185
2379
|
return JSON.parse(content);
|
|
2186
2380
|
} catch {
|
|
2187
2381
|
return [];
|
|
@@ -2195,8 +2389,8 @@ var init_src2 = __esm({
|
|
|
2195
2389
|
"tailwind.config.cjs"
|
|
2196
2390
|
];
|
|
2197
2391
|
for (const file of configFiles) {
|
|
2198
|
-
const fullPath =
|
|
2199
|
-
if (
|
|
2392
|
+
const fullPath = path5.join(cwd, file);
|
|
2393
|
+
if (fs4.existsSync(fullPath)) {
|
|
2200
2394
|
const mod = __require(fullPath);
|
|
2201
2395
|
return mod.default || mod;
|
|
2202
2396
|
}
|
|
@@ -2206,9 +2400,9 @@ var init_src2 = __esm({
|
|
|
2206
2400
|
getContentPaths = (cwd = process.cwd()) => {
|
|
2207
2401
|
return {
|
|
2208
2402
|
content: [
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
|
|
2403
|
+
path5.join(cwd, "src/**/*.{js,ts,jsx,tsx}"),
|
|
2404
|
+
path5.join(cwd, "app/**/*.{js,ts,jsx,tsx}"),
|
|
2405
|
+
path5.join(cwd, "pages/**/*.{js,ts,jsx,tsx}")
|
|
2212
2406
|
]
|
|
2213
2407
|
};
|
|
2214
2408
|
};
|
|
@@ -2279,10 +2473,38 @@ var init_src2 = __esm({
|
|
|
2279
2473
|
}
|
|
2280
2474
|
return ["/", "__global"];
|
|
2281
2475
|
};
|
|
2282
|
-
|
|
2283
|
-
|
|
2476
|
+
_fileClassesMap = /* @__PURE__ */ new Map();
|
|
2477
|
+
_globalClasses = /* @__PURE__ */ new Set();
|
|
2478
|
+
getRouteClasses = (route) => {
|
|
2479
|
+
const result = /* @__PURE__ */ new Set();
|
|
2480
|
+
for (const [filepath, classes] of _fileClassesMap) {
|
|
2481
|
+
const fileRoute = fileToRoute(filepath) ?? "__global";
|
|
2482
|
+
if (fileRoute === route) {
|
|
2483
|
+
for (const cls of classes) result.add(cls);
|
|
2484
|
+
}
|
|
2485
|
+
}
|
|
2486
|
+
return result;
|
|
2487
|
+
};
|
|
2488
|
+
getAllRegisteredClasses = () => {
|
|
2489
|
+
const result = new Set(_globalClasses);
|
|
2490
|
+
for (const classes of _fileClassesMap.values()) {
|
|
2491
|
+
for (const cls of classes) result.add(cls);
|
|
2492
|
+
}
|
|
2493
|
+
return result;
|
|
2494
|
+
};
|
|
2495
|
+
registerFileClasses = (filepath, classes) => {
|
|
2496
|
+
if (!classes || classes.length === 0) {
|
|
2497
|
+
_fileClassesMap.delete(filepath);
|
|
2498
|
+
return;
|
|
2499
|
+
}
|
|
2500
|
+
_fileClassesMap.set(filepath, new Set(classes));
|
|
2501
|
+
};
|
|
2502
|
+
registerGlobalClasses = (classes) => {
|
|
2503
|
+
for (const cls of classes) _globalClasses.add(cls);
|
|
2284
2504
|
};
|
|
2285
|
-
|
|
2505
|
+
resetRouteClassRegistry = () => {
|
|
2506
|
+
_fileClassesMap.clear();
|
|
2507
|
+
_globalClasses.clear();
|
|
2286
2508
|
};
|
|
2287
2509
|
_incrementalEngineInstance = null;
|
|
2288
2510
|
getIncrementalEngine = () => {
|
|
@@ -2421,6 +2643,7 @@ export {
|
|
|
2421
2643
|
batchExtractClasses,
|
|
2422
2644
|
batchExtractClassesNative,
|
|
2423
2645
|
bucketSort,
|
|
2646
|
+
buildRouteClassBuckets,
|
|
2424
2647
|
buildStyleTag,
|
|
2425
2648
|
cachePriority,
|
|
2426
2649
|
cacheRead,
|
|
@@ -2480,6 +2703,7 @@ export {
|
|
|
2480
2703
|
generateStaticStateCss,
|
|
2481
2704
|
generateStaticStateCssNative,
|
|
2482
2705
|
generateSubComponentTypes,
|
|
2706
|
+
getAllRegisteredClasses,
|
|
2483
2707
|
getAllRoutes,
|
|
2484
2708
|
getBucketEngine,
|
|
2485
2709
|
getCacheOptimizationHints,
|
|
@@ -2583,6 +2807,7 @@ export {
|
|
|
2583
2807
|
resetMemoryStats,
|
|
2584
2808
|
resetNativeBridgeCache,
|
|
2585
2809
|
resetResolverPoolStats,
|
|
2810
|
+
resetRouteClassRegistry,
|
|
2586
2811
|
resolveCascade,
|
|
2587
2812
|
resolveClassNames,
|
|
2588
2813
|
resolveColorCached,
|
|
@@ -2594,6 +2819,7 @@ export {
|
|
|
2594
2819
|
resolveVariants,
|
|
2595
2820
|
reverseLookupProperty,
|
|
2596
2821
|
reverseLookupValue,
|
|
2822
|
+
routeToCssFilename,
|
|
2597
2823
|
runCssPipeline,
|
|
2598
2824
|
runElimination,
|
|
2599
2825
|
runLoaderTransform,
|