@stacksjs/stx 0.2.144 → 0.2.145
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/cli.js +401 -409
- package/dist/client-script-bundler.js +0 -2
- package/dist/client-script.d.ts +1 -0
- package/dist/client-script.js +12 -6
- package/dist/craft.js +228 -236
- package/dist/pwa.js +195 -203
- package/dist/runtime-injection.d.ts +3 -2
- package/dist/signal-processing.d.ts +3 -2
- package/dist/signal-processing.js +1 -2
- package/dist/ssg.js +198 -206
- package/dist/variable-extractor.js +7 -5
- package/package.json +5 -5
|
@@ -32,8 +32,6 @@ export function hasUserImports(code) {
|
|
|
32
32
|
const source = match[1];
|
|
33
33
|
if (/\.css(?:\?.*)?$/.test(source))
|
|
34
34
|
continue;
|
|
35
|
-
if (source === "@stacksjs/browser")
|
|
36
|
-
continue;
|
|
37
35
|
if (!EXTERNAL_PATTERNS.some((p) => p.test(source))) {
|
|
38
36
|
logBundlerDiagnostic("detected side-effect import:", source);
|
|
39
37
|
return !0;
|
package/dist/client-script.d.ts
CHANGED
package/dist/client-script.js
CHANGED
|
@@ -270,13 +270,19 @@ export function injectBrowserCoreAutoImports(code) {
|
|
|
270
270
|
if (explicitlyImported.has(symbol) || locallyDeclared.has(symbol))
|
|
271
271
|
return !1;
|
|
272
272
|
return new RegExp(`\\b${symbol}\\b`).test(code);
|
|
273
|
-
});
|
|
274
|
-
if (imports.length === 0)
|
|
275
|
-
return { code, imports };
|
|
273
|
+
}), models = detectModelUsage(code).filter((model) => !explicitlyImported.has(model) && !locallyDeclared.has(model));
|
|
274
|
+
if (imports.length === 0 && models.length === 0)
|
|
275
|
+
return { code, imports, models };
|
|
276
276
|
return {
|
|
277
|
-
code:
|
|
277
|
+
code: `${[
|
|
278
|
+
imports.length > 0 ? `import { ${imports.join(", ")} } from '@stacksjs/browser'` : "",
|
|
279
|
+
models.length > 0 ? "import '@stacksjs/browser'" : "",
|
|
280
|
+
models.length > 0 ? `const { ${models.join(", ")} } = window.StacksBrowser || {}` : ""
|
|
281
|
+
].filter(Boolean).join(`
|
|
282
|
+
`)}
|
|
278
283
|
${code}`,
|
|
279
|
-
imports
|
|
284
|
+
imports,
|
|
285
|
+
models
|
|
280
286
|
};
|
|
281
287
|
}
|
|
282
288
|
const JS_BUILTINS = new Set([
|
|
@@ -813,7 +819,7 @@ export async function processClientScript(scriptContent, options = {}) {
|
|
|
813
819
|
code = cssExtraction.code;
|
|
814
820
|
const vendorStyleTags = renderVendorStyleTags(cssExtraction.styles), browserCoreImports = injectBrowserCoreAutoImports(code);
|
|
815
821
|
code = browserCoreImports.code;
|
|
816
|
-
bundledBrowserImports = browserCoreImports.imports;
|
|
822
|
+
bundledBrowserImports = [...browserCoreImports.imports, ...browserCoreImports.models];
|
|
817
823
|
const { hasUserImports, bundleClientScript } = await importOnce("stx/client-script-bundler", () => import("./client-script-bundler.js"));
|
|
818
824
|
if (hasUserImports(code)) {
|
|
819
825
|
code = await bundleClientScript(code, options.filePath || "", {
|