@typestyles/build-runner 0.0.0-unstable.cbf2959bc736 → 0.0.0-unstable.cc0f4376dfda
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/index.cjs +54 -5
- package/dist/index.d.cts +25 -1
- package/dist/index.d.ts +25 -1
- package/dist/index.js +52 -5
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -21,6 +21,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
21
21
|
var index_exports = {};
|
|
22
22
|
__export(index_exports, {
|
|
23
23
|
DEFAULT_EXTRACT_MODULE_CANDIDATES: () => DEFAULT_EXTRACT_MODULE_CANDIDATES,
|
|
24
|
+
DEFAULT_REGISTERED_COMPONENTS_MODULE_BASES: () => DEFAULT_REGISTERED_COMPONENTS_MODULE_BASES,
|
|
24
25
|
TYPESTYLES_IMPORT_RE: () => TYPESTYLES_IMPORT_RE,
|
|
25
26
|
VerifyTypestylesBuildError: () => VerifyTypestylesBuildError,
|
|
26
27
|
buildManifestV2: () => buildManifestV2,
|
|
@@ -28,6 +29,7 @@ __export(index_exports, {
|
|
|
28
29
|
createModuleLoader: () => createModuleLoader,
|
|
29
30
|
discoverDefaultExtractModules: () => discoverDefaultExtractModules,
|
|
30
31
|
discoverNextAppRoutes: () => discoverNextAppRoutes,
|
|
32
|
+
discoverRegisteredComponentsModule: () => discoverRegisteredComponentsModule,
|
|
31
33
|
extractNamespaces: () => extractNamespaces,
|
|
32
34
|
getRouteCss: () => getRouteCss,
|
|
33
35
|
isManifestV2: () => isManifestV2,
|
|
@@ -60,6 +62,12 @@ var DISCOVERY_EXTENSIONS = [".ts", ".tsx", ".js", ".mjs"];
|
|
|
60
62
|
var DEFAULT_EXTRACT_MODULE_CANDIDATES = DEFAULT_EXTRACT_MODULE_BASES.map(
|
|
61
63
|
(base) => `${base}.ts`
|
|
62
64
|
);
|
|
65
|
+
var DEFAULT_REGISTERED_COMPONENTS_MODULE_BASES = [
|
|
66
|
+
"src/themeable-refs",
|
|
67
|
+
"src/typestyles/themeable-refs",
|
|
68
|
+
"src/typestyles-registry",
|
|
69
|
+
"styles/themeable-refs"
|
|
70
|
+
];
|
|
63
71
|
function discoverDefaultExtractModules(root) {
|
|
64
72
|
const absRoot = (0, import_node_path.resolve)(root);
|
|
65
73
|
for (const base of DEFAULT_EXTRACT_MODULE_BASES) {
|
|
@@ -72,15 +80,44 @@ function discoverDefaultExtractModules(root) {
|
|
|
72
80
|
}
|
|
73
81
|
return [];
|
|
74
82
|
}
|
|
83
|
+
function discoverRegisteredComponentsModule(root) {
|
|
84
|
+
const absRoot = (0, import_node_path.resolve)(root);
|
|
85
|
+
for (const base of DEFAULT_REGISTERED_COMPONENTS_MODULE_BASES) {
|
|
86
|
+
for (const ext of DISCOVERY_EXTENSIONS) {
|
|
87
|
+
const rel = `${base}${ext}`;
|
|
88
|
+
if ((0, import_node_fs.existsSync)((0, import_node_path.resolve)(absRoot, rel))) {
|
|
89
|
+
return rel.replace(/\\/g, "/");
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return void 0;
|
|
94
|
+
}
|
|
75
95
|
|
|
76
96
|
// src/namespaces.ts
|
|
77
97
|
var STYLES_COMPONENT_RE = /styles\.component\(\s*['"]([^'"]+)['"]/g;
|
|
78
98
|
var STYLES_CLASS_RE = /styles\.class\(\s*['"]([^'"]+)['"]/g;
|
|
79
99
|
var TOKENS_CREATE_RE = /tokens\.create\(\s*['"]([^'"]+)['"]/g;
|
|
80
|
-
var
|
|
100
|
+
var CREATE_THEME_CALL_RE = /(?:tokens\.)?createTheme\s*\(/g;
|
|
81
101
|
var KEYFRAMES_CREATE_RE = /keyframes\.create\(\s*['"]([^'"]+)['"]/g;
|
|
82
102
|
var GLOBAL_STYLE_RE = /global\.style\(\s*['"]([^'"]+)['"]/g;
|
|
83
103
|
var GLOBAL_FONT_FACE_RE = /global\.fontFace\(\s*['"]([^'"]+)['"]/g;
|
|
104
|
+
var CREATE_THEME_ARG_SCAN = 4e3;
|
|
105
|
+
function extractCreateThemeNames(code) {
|
|
106
|
+
const names = [];
|
|
107
|
+
for (const match of code.matchAll(CREATE_THEME_CALL_RE)) {
|
|
108
|
+
const start = (match.index ?? 0) + match[0].length;
|
|
109
|
+
const args = code.slice(start, start + CREATE_THEME_ARG_SCAN);
|
|
110
|
+
const positional = args.match(/^\s*['"]([^'"]+)['"]/);
|
|
111
|
+
if (positional) {
|
|
112
|
+
names.push(positional[1]);
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
if (!/^\s*\{/.test(args)) continue;
|
|
116
|
+
const named = args.match(/\bname\s*:\s*['"]([^'"]+)['"]/);
|
|
117
|
+
if (named) names.push(named[1]);
|
|
118
|
+
}
|
|
119
|
+
return names;
|
|
120
|
+
}
|
|
84
121
|
var OVERRIDE_HMR_EXPORT_NAMES = /* @__PURE__ */ new Set(["createDesignTheme", "overrideComponent"]);
|
|
85
122
|
var TYPESTYLES_IMPORT_RE = /(?:from\s+|import\s+|require\s*\(\s*)['"]typestyles['"]/;
|
|
86
123
|
function stripCommentsForHmrScan(code) {
|
|
@@ -137,8 +174,8 @@ function extractNamespaces(code) {
|
|
|
137
174
|
for (const match of code.matchAll(TOKENS_CREATE_RE)) {
|
|
138
175
|
keys.push(`tokens:${match[1]}`);
|
|
139
176
|
}
|
|
140
|
-
for (const
|
|
141
|
-
keys.push(`theme:${
|
|
177
|
+
for (const themeName of extractCreateThemeNames(code)) {
|
|
178
|
+
keys.push(`theme:${themeName}`);
|
|
142
179
|
}
|
|
143
180
|
for (const match of code.matchAll(KEYFRAMES_CREATE_RE)) {
|
|
144
181
|
keys.push(`keyframes:${match[1]}`);
|
|
@@ -167,10 +204,20 @@ function reportDuplicateNamespaces(moduleNamespaces, id, prefixes, reporter) {
|
|
|
167
204
|
|
|
168
205
|
// src/resolve-extract.ts
|
|
169
206
|
function resolveExtractModules(root, extract) {
|
|
207
|
+
let modules;
|
|
170
208
|
if (extract?.modules !== void 0) {
|
|
171
|
-
|
|
209
|
+
modules = [...extract.modules];
|
|
210
|
+
} else {
|
|
211
|
+
modules = discoverDefaultExtractModules(root);
|
|
212
|
+
}
|
|
213
|
+
let registeredModule = extract?.registeredComponentsModule;
|
|
214
|
+
if (!registeredModule && extract?.include === "allRegisteredComponents") {
|
|
215
|
+
registeredModule = discoverRegisteredComponentsModule(root);
|
|
216
|
+
}
|
|
217
|
+
if (registeredModule && !modules.includes(registeredModule)) {
|
|
218
|
+
modules.push(registeredModule);
|
|
172
219
|
}
|
|
173
|
-
return
|
|
220
|
+
return modules;
|
|
174
221
|
}
|
|
175
222
|
function resolveExtractMode(explicitMode, resolvedModules) {
|
|
176
223
|
return explicitMode ?? (resolvedModules.length > 0 ? "build" : "runtime");
|
|
@@ -647,6 +694,7 @@ ${result.stderr || result.stdout || "unknown error"}`
|
|
|
647
694
|
// Annotate the CommonJS export names for ESM import in node:
|
|
648
695
|
0 && (module.exports = {
|
|
649
696
|
DEFAULT_EXTRACT_MODULE_CANDIDATES,
|
|
697
|
+
DEFAULT_REGISTERED_COMPONENTS_MODULE_BASES,
|
|
650
698
|
TYPESTYLES_IMPORT_RE,
|
|
651
699
|
VerifyTypestylesBuildError,
|
|
652
700
|
buildManifestV2,
|
|
@@ -654,6 +702,7 @@ ${result.stderr || result.stdout || "unknown error"}`
|
|
|
654
702
|
createModuleLoader,
|
|
655
703
|
discoverDefaultExtractModules,
|
|
656
704
|
discoverNextAppRoutes,
|
|
705
|
+
discoverRegisteredComponentsModule,
|
|
657
706
|
extractNamespaces,
|
|
658
707
|
getRouteCss,
|
|
659
708
|
isManifestV2,
|
package/dist/index.d.cts
CHANGED
|
@@ -3,11 +3,22 @@
|
|
|
3
3
|
* Shared by bundler integrations and `@typestyles/next/build`.
|
|
4
4
|
*/
|
|
5
5
|
declare const DEFAULT_EXTRACT_MODULE_CANDIDATES: readonly string[];
|
|
6
|
+
/**
|
|
7
|
+
* Side-effect modules that import every recipe and export `getRegisteredComponentRefs(styles)`.
|
|
8
|
+
* Used when `extract.include` is `"allRegisteredComponents"`.
|
|
9
|
+
*/
|
|
10
|
+
declare const DEFAULT_REGISTERED_COMPONENTS_MODULE_BASES: readonly ["src/themeable-refs", "src/typestyles/themeable-refs", "src/typestyles-registry", "styles/themeable-refs"];
|
|
6
11
|
/**
|
|
7
12
|
* Resolve the default extraction module when the user did not pass explicit `modules`.
|
|
8
13
|
* Returns at most one path using `/` separators, relative to `root`.
|
|
9
14
|
*/
|
|
10
15
|
declare function discoverDefaultExtractModules(root: string): string[];
|
|
16
|
+
/**
|
|
17
|
+
* Convention registry module for `extract.include: 'allRegisteredComponents'`.
|
|
18
|
+
* The file should import all recipe modules and
|
|
19
|
+
* export `getRegisteredComponentRefs(styles)` from your `createTypeStyles` entry.
|
|
20
|
+
*/
|
|
21
|
+
declare function discoverRegisteredComponentsModule(root: string): string | undefined;
|
|
11
22
|
|
|
12
23
|
declare const TYPESTYLES_IMPORT_RE: RegExp;
|
|
13
24
|
/**
|
|
@@ -48,6 +59,19 @@ interface TypestylesExtractOptions {
|
|
|
48
59
|
* Output CSS filename. Defaults to `typestyles.css`.
|
|
49
60
|
*/
|
|
50
61
|
fileName?: string;
|
|
62
|
+
/**
|
|
63
|
+
* Additional module that re-exports {@link getRegisteredComponentRefs} (or an
|
|
64
|
+
* equivalent object of every themeable recipe handle) so extract bundles retain
|
|
65
|
+
* full design-system CSS without a hand-maintained registry object.
|
|
66
|
+
*/
|
|
67
|
+
registeredComponentsModule?: string;
|
|
68
|
+
/**
|
|
69
|
+
* When `"allRegisteredComponents"`, appends a convention registry module if present
|
|
70
|
+
* ({@link discoverRegisteredComponentsModule}) or {@link registeredComponentsModule}
|
|
71
|
+
* when set. That file must side-effect-import every recipe and reference
|
|
72
|
+
* `getRegisteredComponentRefs(styles)` — the extract entry alone is not enough.
|
|
73
|
+
*/
|
|
74
|
+
include?: 'allRegisteredComponents';
|
|
51
75
|
}
|
|
52
76
|
/**
|
|
53
77
|
* Resolve extraction modules from explicit config or convention entry discovery.
|
|
@@ -203,4 +227,4 @@ interface RunTypestylesBuildOptions {
|
|
|
203
227
|
*/
|
|
204
228
|
declare function runTypestylesBuild({ root, modules, }: RunTypestylesBuildOptions): Promise<string>;
|
|
205
229
|
|
|
206
|
-
export { type CollectRouteCssOptions, type CollectRouteCssResult, DEFAULT_EXTRACT_MODULE_CANDIDATES, type DuplicateNamespaceReporter, type GetRouteCssOptions, type NextAppRoute, type RunTypestylesBuildOptions, TYPESTYLES_IMPORT_RE, type TypestylesExtractManifest, type TypestylesExtractManifestV1, type TypestylesExtractManifestV2, type TypestylesExtractOptions, type TypestylesIntegrationMode, type TypestylesRouteCssEntry, VerifyTypestylesBuildError, type VerifyTypestylesBuildOptions, type VerifyTypestylesBuildResult, buildManifestV2, collectAndWriteRouteCss, createModuleLoader, discoverDefaultExtractModules, discoverNextAppRoutes, extractNamespaces, getRouteCss, isManifestV2, moduleNeedsOverrideHmr, normalizeRoutePath, pageRelPathToRoutePath, readCssFile, readTypestylesManifest, reportDuplicateNamespaces, resolveExtractMode, resolveExtractModules, runTypestylesBuild, traceTypestylesModules, verifyTypestylesBuild };
|
|
230
|
+
export { type CollectRouteCssOptions, type CollectRouteCssResult, DEFAULT_EXTRACT_MODULE_CANDIDATES, DEFAULT_REGISTERED_COMPONENTS_MODULE_BASES, type DuplicateNamespaceReporter, type GetRouteCssOptions, type NextAppRoute, type RunTypestylesBuildOptions, TYPESTYLES_IMPORT_RE, type TypestylesExtractManifest, type TypestylesExtractManifestV1, type TypestylesExtractManifestV2, type TypestylesExtractOptions, type TypestylesIntegrationMode, type TypestylesRouteCssEntry, VerifyTypestylesBuildError, type VerifyTypestylesBuildOptions, type VerifyTypestylesBuildResult, buildManifestV2, collectAndWriteRouteCss, createModuleLoader, discoverDefaultExtractModules, discoverNextAppRoutes, discoverRegisteredComponentsModule, extractNamespaces, getRouteCss, isManifestV2, moduleNeedsOverrideHmr, normalizeRoutePath, pageRelPathToRoutePath, readCssFile, readTypestylesManifest, reportDuplicateNamespaces, resolveExtractMode, resolveExtractModules, runTypestylesBuild, traceTypestylesModules, verifyTypestylesBuild };
|
package/dist/index.d.ts
CHANGED
|
@@ -3,11 +3,22 @@
|
|
|
3
3
|
* Shared by bundler integrations and `@typestyles/next/build`.
|
|
4
4
|
*/
|
|
5
5
|
declare const DEFAULT_EXTRACT_MODULE_CANDIDATES: readonly string[];
|
|
6
|
+
/**
|
|
7
|
+
* Side-effect modules that import every recipe and export `getRegisteredComponentRefs(styles)`.
|
|
8
|
+
* Used when `extract.include` is `"allRegisteredComponents"`.
|
|
9
|
+
*/
|
|
10
|
+
declare const DEFAULT_REGISTERED_COMPONENTS_MODULE_BASES: readonly ["src/themeable-refs", "src/typestyles/themeable-refs", "src/typestyles-registry", "styles/themeable-refs"];
|
|
6
11
|
/**
|
|
7
12
|
* Resolve the default extraction module when the user did not pass explicit `modules`.
|
|
8
13
|
* Returns at most one path using `/` separators, relative to `root`.
|
|
9
14
|
*/
|
|
10
15
|
declare function discoverDefaultExtractModules(root: string): string[];
|
|
16
|
+
/**
|
|
17
|
+
* Convention registry module for `extract.include: 'allRegisteredComponents'`.
|
|
18
|
+
* The file should import all recipe modules and
|
|
19
|
+
* export `getRegisteredComponentRefs(styles)` from your `createTypeStyles` entry.
|
|
20
|
+
*/
|
|
21
|
+
declare function discoverRegisteredComponentsModule(root: string): string | undefined;
|
|
11
22
|
|
|
12
23
|
declare const TYPESTYLES_IMPORT_RE: RegExp;
|
|
13
24
|
/**
|
|
@@ -48,6 +59,19 @@ interface TypestylesExtractOptions {
|
|
|
48
59
|
* Output CSS filename. Defaults to `typestyles.css`.
|
|
49
60
|
*/
|
|
50
61
|
fileName?: string;
|
|
62
|
+
/**
|
|
63
|
+
* Additional module that re-exports {@link getRegisteredComponentRefs} (or an
|
|
64
|
+
* equivalent object of every themeable recipe handle) so extract bundles retain
|
|
65
|
+
* full design-system CSS without a hand-maintained registry object.
|
|
66
|
+
*/
|
|
67
|
+
registeredComponentsModule?: string;
|
|
68
|
+
/**
|
|
69
|
+
* When `"allRegisteredComponents"`, appends a convention registry module if present
|
|
70
|
+
* ({@link discoverRegisteredComponentsModule}) or {@link registeredComponentsModule}
|
|
71
|
+
* when set. That file must side-effect-import every recipe and reference
|
|
72
|
+
* `getRegisteredComponentRefs(styles)` — the extract entry alone is not enough.
|
|
73
|
+
*/
|
|
74
|
+
include?: 'allRegisteredComponents';
|
|
51
75
|
}
|
|
52
76
|
/**
|
|
53
77
|
* Resolve extraction modules from explicit config or convention entry discovery.
|
|
@@ -203,4 +227,4 @@ interface RunTypestylesBuildOptions {
|
|
|
203
227
|
*/
|
|
204
228
|
declare function runTypestylesBuild({ root, modules, }: RunTypestylesBuildOptions): Promise<string>;
|
|
205
229
|
|
|
206
|
-
export { type CollectRouteCssOptions, type CollectRouteCssResult, DEFAULT_EXTRACT_MODULE_CANDIDATES, type DuplicateNamespaceReporter, type GetRouteCssOptions, type NextAppRoute, type RunTypestylesBuildOptions, TYPESTYLES_IMPORT_RE, type TypestylesExtractManifest, type TypestylesExtractManifestV1, type TypestylesExtractManifestV2, type TypestylesExtractOptions, type TypestylesIntegrationMode, type TypestylesRouteCssEntry, VerifyTypestylesBuildError, type VerifyTypestylesBuildOptions, type VerifyTypestylesBuildResult, buildManifestV2, collectAndWriteRouteCss, createModuleLoader, discoverDefaultExtractModules, discoverNextAppRoutes, extractNamespaces, getRouteCss, isManifestV2, moduleNeedsOverrideHmr, normalizeRoutePath, pageRelPathToRoutePath, readCssFile, readTypestylesManifest, reportDuplicateNamespaces, resolveExtractMode, resolveExtractModules, runTypestylesBuild, traceTypestylesModules, verifyTypestylesBuild };
|
|
230
|
+
export { type CollectRouteCssOptions, type CollectRouteCssResult, DEFAULT_EXTRACT_MODULE_CANDIDATES, DEFAULT_REGISTERED_COMPONENTS_MODULE_BASES, type DuplicateNamespaceReporter, type GetRouteCssOptions, type NextAppRoute, type RunTypestylesBuildOptions, TYPESTYLES_IMPORT_RE, type TypestylesExtractManifest, type TypestylesExtractManifestV1, type TypestylesExtractManifestV2, type TypestylesExtractOptions, type TypestylesIntegrationMode, type TypestylesRouteCssEntry, VerifyTypestylesBuildError, type VerifyTypestylesBuildOptions, type VerifyTypestylesBuildResult, buildManifestV2, collectAndWriteRouteCss, createModuleLoader, discoverDefaultExtractModules, discoverNextAppRoutes, discoverRegisteredComponentsModule, extractNamespaces, getRouteCss, isManifestV2, moduleNeedsOverrideHmr, normalizeRoutePath, pageRelPathToRoutePath, readCssFile, readTypestylesManifest, reportDuplicateNamespaces, resolveExtractMode, resolveExtractModules, runTypestylesBuild, traceTypestylesModules, verifyTypestylesBuild };
|
package/dist/index.js
CHANGED
|
@@ -13,6 +13,12 @@ var DISCOVERY_EXTENSIONS = [".ts", ".tsx", ".js", ".mjs"];
|
|
|
13
13
|
var DEFAULT_EXTRACT_MODULE_CANDIDATES = DEFAULT_EXTRACT_MODULE_BASES.map(
|
|
14
14
|
(base) => `${base}.ts`
|
|
15
15
|
);
|
|
16
|
+
var DEFAULT_REGISTERED_COMPONENTS_MODULE_BASES = [
|
|
17
|
+
"src/themeable-refs",
|
|
18
|
+
"src/typestyles/themeable-refs",
|
|
19
|
+
"src/typestyles-registry",
|
|
20
|
+
"styles/themeable-refs"
|
|
21
|
+
];
|
|
16
22
|
function discoverDefaultExtractModules(root) {
|
|
17
23
|
const absRoot = resolvePath(root);
|
|
18
24
|
for (const base of DEFAULT_EXTRACT_MODULE_BASES) {
|
|
@@ -25,15 +31,44 @@ function discoverDefaultExtractModules(root) {
|
|
|
25
31
|
}
|
|
26
32
|
return [];
|
|
27
33
|
}
|
|
34
|
+
function discoverRegisteredComponentsModule(root) {
|
|
35
|
+
const absRoot = resolvePath(root);
|
|
36
|
+
for (const base of DEFAULT_REGISTERED_COMPONENTS_MODULE_BASES) {
|
|
37
|
+
for (const ext of DISCOVERY_EXTENSIONS) {
|
|
38
|
+
const rel = `${base}${ext}`;
|
|
39
|
+
if (existsSync(resolvePath(absRoot, rel))) {
|
|
40
|
+
return rel.replace(/\\/g, "/");
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return void 0;
|
|
45
|
+
}
|
|
28
46
|
|
|
29
47
|
// src/namespaces.ts
|
|
30
48
|
var STYLES_COMPONENT_RE = /styles\.component\(\s*['"]([^'"]+)['"]/g;
|
|
31
49
|
var STYLES_CLASS_RE = /styles\.class\(\s*['"]([^'"]+)['"]/g;
|
|
32
50
|
var TOKENS_CREATE_RE = /tokens\.create\(\s*['"]([^'"]+)['"]/g;
|
|
33
|
-
var
|
|
51
|
+
var CREATE_THEME_CALL_RE = /(?:tokens\.)?createTheme\s*\(/g;
|
|
34
52
|
var KEYFRAMES_CREATE_RE = /keyframes\.create\(\s*['"]([^'"]+)['"]/g;
|
|
35
53
|
var GLOBAL_STYLE_RE = /global\.style\(\s*['"]([^'"]+)['"]/g;
|
|
36
54
|
var GLOBAL_FONT_FACE_RE = /global\.fontFace\(\s*['"]([^'"]+)['"]/g;
|
|
55
|
+
var CREATE_THEME_ARG_SCAN = 4e3;
|
|
56
|
+
function extractCreateThemeNames(code) {
|
|
57
|
+
const names = [];
|
|
58
|
+
for (const match of code.matchAll(CREATE_THEME_CALL_RE)) {
|
|
59
|
+
const start = (match.index ?? 0) + match[0].length;
|
|
60
|
+
const args = code.slice(start, start + CREATE_THEME_ARG_SCAN);
|
|
61
|
+
const positional = args.match(/^\s*['"]([^'"]+)['"]/);
|
|
62
|
+
if (positional) {
|
|
63
|
+
names.push(positional[1]);
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
if (!/^\s*\{/.test(args)) continue;
|
|
67
|
+
const named = args.match(/\bname\s*:\s*['"]([^'"]+)['"]/);
|
|
68
|
+
if (named) names.push(named[1]);
|
|
69
|
+
}
|
|
70
|
+
return names;
|
|
71
|
+
}
|
|
37
72
|
var OVERRIDE_HMR_EXPORT_NAMES = /* @__PURE__ */ new Set(["createDesignTheme", "overrideComponent"]);
|
|
38
73
|
var TYPESTYLES_IMPORT_RE = /(?:from\s+|import\s+|require\s*\(\s*)['"]typestyles['"]/;
|
|
39
74
|
function stripCommentsForHmrScan(code) {
|
|
@@ -90,8 +125,8 @@ function extractNamespaces(code) {
|
|
|
90
125
|
for (const match of code.matchAll(TOKENS_CREATE_RE)) {
|
|
91
126
|
keys.push(`tokens:${match[1]}`);
|
|
92
127
|
}
|
|
93
|
-
for (const
|
|
94
|
-
keys.push(`theme:${
|
|
128
|
+
for (const themeName of extractCreateThemeNames(code)) {
|
|
129
|
+
keys.push(`theme:${themeName}`);
|
|
95
130
|
}
|
|
96
131
|
for (const match of code.matchAll(KEYFRAMES_CREATE_RE)) {
|
|
97
132
|
keys.push(`keyframes:${match[1]}`);
|
|
@@ -120,10 +155,20 @@ function reportDuplicateNamespaces(moduleNamespaces, id, prefixes, reporter) {
|
|
|
120
155
|
|
|
121
156
|
// src/resolve-extract.ts
|
|
122
157
|
function resolveExtractModules(root, extract) {
|
|
158
|
+
let modules;
|
|
123
159
|
if (extract?.modules !== void 0) {
|
|
124
|
-
|
|
160
|
+
modules = [...extract.modules];
|
|
161
|
+
} else {
|
|
162
|
+
modules = discoverDefaultExtractModules(root);
|
|
163
|
+
}
|
|
164
|
+
let registeredModule = extract?.registeredComponentsModule;
|
|
165
|
+
if (!registeredModule && extract?.include === "allRegisteredComponents") {
|
|
166
|
+
registeredModule = discoverRegisteredComponentsModule(root);
|
|
167
|
+
}
|
|
168
|
+
if (registeredModule && !modules.includes(registeredModule)) {
|
|
169
|
+
modules.push(registeredModule);
|
|
125
170
|
}
|
|
126
|
-
return
|
|
171
|
+
return modules;
|
|
127
172
|
}
|
|
128
173
|
function resolveExtractMode(explicitMode, resolvedModules) {
|
|
129
174
|
return explicitMode ?? (resolvedModules.length > 0 ? "build" : "runtime");
|
|
@@ -599,6 +644,7 @@ ${result.stderr || result.stdout || "unknown error"}`
|
|
|
599
644
|
}
|
|
600
645
|
export {
|
|
601
646
|
DEFAULT_EXTRACT_MODULE_CANDIDATES,
|
|
647
|
+
DEFAULT_REGISTERED_COMPONENTS_MODULE_BASES,
|
|
602
648
|
TYPESTYLES_IMPORT_RE,
|
|
603
649
|
VerifyTypestylesBuildError,
|
|
604
650
|
buildManifestV2,
|
|
@@ -606,6 +652,7 @@ export {
|
|
|
606
652
|
createModuleLoader,
|
|
607
653
|
discoverDefaultExtractModules,
|
|
608
654
|
discoverNextAppRoutes,
|
|
655
|
+
discoverRegisteredComponentsModule,
|
|
609
656
|
extractNamespaces,
|
|
610
657
|
getRouteCss,
|
|
611
658
|
isManifestV2,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typestyles/build-runner",
|
|
3
|
-
"version": "0.0.0-unstable.
|
|
3
|
+
"version": "0.0.0-unstable.cc0f4376dfda",
|
|
4
4
|
"description": "Shared module execution utilities for typestyles build integrations",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"eslint": "^9.39.2",
|
|
30
30
|
"tsup": "^8.0.0",
|
|
31
31
|
"typescript": "^5.4.0",
|
|
32
|
-
"typestyles": "0.0.0-unstable.
|
|
32
|
+
"typestyles": "0.0.0-unstable.cc0f4376dfda",
|
|
33
33
|
"vitest": "^3.0.0"
|
|
34
34
|
},
|
|
35
35
|
"license": "Apache-2.0",
|