one 1.21.2 → 1.21.3

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.
Files changed (53) hide show
  1. package/dist/cjs/cli/build.cjs +8 -4
  2. package/dist/cjs/cli/build.native.js +16 -12
  3. package/dist/cjs/cli/build.native.js.map +1 -1
  4. package/dist/cjs/router/getRoutes.cjs +1 -2
  5. package/dist/cjs/router/getRoutes.native.js +1 -2
  6. package/dist/cjs/router/getRoutes.native.js.map +1 -1
  7. package/dist/cjs/router/matchers.cjs +7 -0
  8. package/dist/cjs/router/matchers.native.js +8 -0
  9. package/dist/cjs/router/matchers.native.js.map +1 -1
  10. package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +37 -2
  11. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +70 -8
  12. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  13. package/dist/cjs/vite/plugins/virtualEntryPlugin.test.cjs +58 -0
  14. package/dist/cjs/vite/plugins/virtualEntryPlugin.test.native.js +62 -0
  15. package/dist/cjs/vite/plugins/virtualEntryPlugin.test.native.js.map +1 -1
  16. package/dist/esm/cli/build.mjs +8 -4
  17. package/dist/esm/cli/build.mjs.map +1 -1
  18. package/dist/esm/cli/build.native.js +16 -12
  19. package/dist/esm/cli/build.native.js.map +1 -1
  20. package/dist/esm/getURL.native.test.mjs +1 -1
  21. package/dist/esm/router/getRoutes.mjs +2 -3
  22. package/dist/esm/router/getRoutes.mjs.map +1 -1
  23. package/dist/esm/router/getRoutes.native.js +2 -3
  24. package/dist/esm/router/getRoutes.native.js.map +1 -1
  25. package/dist/esm/router/hmrImport.native.test.mjs +1 -1
  26. package/dist/esm/router/matchers.mjs +7 -1
  27. package/dist/esm/router/matchers.mjs.map +1 -1
  28. package/dist/esm/router/matchers.native.js +8 -1
  29. package/dist/esm/router/matchers.native.js.map +1 -1
  30. package/dist/esm/router/routeHmr.native.test.mjs +1 -1
  31. package/dist/esm/router/routeHmr.native.test.mjs.map +1 -1
  32. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +26 -2
  33. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
  34. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +59 -8
  35. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  36. package/dist/esm/vite/plugins/virtualEntryPlugin.test.mjs +58 -0
  37. package/dist/esm/vite/plugins/virtualEntryPlugin.test.mjs.map +1 -1
  38. package/dist/esm/vite/plugins/virtualEntryPlugin.test.native.js +62 -0
  39. package/dist/esm/vite/plugins/virtualEntryPlugin.test.native.js.map +1 -1
  40. package/package.json +9 -9
  41. package/src/cli/build.ts +17 -10
  42. package/src/router/getRoutes.ts +2 -3
  43. package/src/router/matchers.ts +10 -0
  44. package/src/vite/plugins/virtualEntryPlugin.test.ts +70 -0
  45. package/src/vite/plugins/virtualEntryPlugin.ts +48 -2
  46. package/src/vite/types.ts +9 -0
  47. package/types/cli/build.d.ts.map +1 -1
  48. package/types/router/getRoutes.d.ts.map +1 -1
  49. package/types/router/matchers.d.ts +2 -0
  50. package/types/router/matchers.d.ts.map +1 -1
  51. package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
  52. package/types/vite/types.d.ts +8 -0
  53. package/types/vite/types.d.ts.map +1 -1
@@ -1,6 +1,8 @@
1
+ var __create = Object.create;
1
2
  var __defProp = Object.defineProperty;
2
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
4
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
7
  var __export = (target, all) => {
6
8
  for (var name in all) __defProp(target, name, {
@@ -17,6 +19,15 @@ var __copyProps = (to, from, except, desc) => {
17
19
  }
18
20
  return to;
19
21
  };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: true
30
+ }) : target, mod));
20
31
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
32
  value: true
22
33
  }), mod);
@@ -28,8 +39,10 @@ module.exports = __toCommonJS(virtualEntryPlugin_exports);
28
39
  var import_node_path = require("node:path");
29
40
  var import_node_url = require("node:url");
30
41
  var import_compiler = require("@vxrn/compiler");
42
+ var import_fast_glob = __toESM(require("fast-glob"), 1);
31
43
  var import_vxrn = require("vxrn");
32
44
  var import_glob_patterns = require("../../router/glob-patterns.cjs");
45
+ var import_matchers = require("../../router/matchers.cjs");
33
46
  var import_virtualEntryConstants = require("./virtualEntryConstants.cjs");
34
47
  function normalizeSetupFile(setupFile) {
35
48
  if (!setupFile) return {};
@@ -115,6 +128,25 @@ function createVirtualEntry(options) {
115
128
  if (id === import_virtualEntryConstants.resolvedVirtualEntryId) {
116
129
  const isNative = (0, import_vxrn.isNativeEnvironment)(this.environment);
117
130
  const isSSR = this.environment.name === "ssr";
131
+ const serverSpaRouteFiles = isSSR ? import_fast_glob.default.sync("**/*.{ts,tsx}", {
132
+ cwd: (0, import_node_path.resolve)(viteRoot, options.root),
133
+ ignore: [...import_glob_patterns.ROUTE_WEB_EXCLUSION_GLOB_PATTERNS, ...(options.router?.ignoredRouteFiles || [])]
134
+ }).map(file => file.replaceAll("\\", "/")).filter(file => {
135
+ const parts = file.split("/");
136
+ const filename = parts.at(-1) || "";
137
+ if (filename.startsWith("_layout") || filename.startsWith("_middleware")) {
138
+ return false;
139
+ }
140
+ const fileMode = (0, import_matchers.matchFileRenderMode)(filename);
141
+ if (fileMode) return fileMode === "spa";
142
+ let parentMode;
143
+ for (const directory of parts.slice(0, -1)) {
144
+ parentMode = (0, import_matchers.matchDirectoryRenderMode)(directory)?.renderMode ?? parentMode;
145
+ }
146
+ return parentMode === "spa";
147
+ }) : [];
148
+ const serverSpaRouteStubs = serverSpaRouteFiles.map(file => `${JSON.stringify(`/${options.root}/${file}`)}: () => Promise.resolve({})`).join(",\n ");
149
+ const webRouteGlobs = [...routeGlobs, ...import_glob_patterns.ROUTE_WEB_EXCLUSION_GLOB_PATTERNS.map(pattern => `!${pattern}`), ...serverSpaRouteFiles.map(file => `!/${options.root}/${file}`)];
118
150
  const useStaticImport = isNative || isSSR && isDevMode;
119
151
  const setupResult = getSetupFileImport(this.environment.name, setupFiles, useStaticImport, viteRoot);
120
152
  const nativewindImport = import_compiler.configuration.enableNativewind ? `import 'react-native-css-interop/dist/runtime/components'` : "";
@@ -138,10 +170,13 @@ if (typeof window !== 'undefined') {
138
170
  window.__oneRegisterPreloadedRoute = registerPreloadedRoute
139
171
  }
140
172
 
141
- // globbing ${JSON.stringify(routeGlobs)}
173
+ // globbing ${JSON.stringify(webRouteGlobs)}
142
174
  export default createApp({
143
175
  ${setupPromiseArg}
144
- routes: import.meta.glob(${JSON.stringify([...routeGlobs, ...import_glob_patterns.ROUTE_WEB_EXCLUSION_GLOB_PATTERNS.map(p => `!${p}`)])}, { exhaustive: true }),
176
+ routes: {
177
+ ...import.meta.glob(${JSON.stringify(webRouteGlobs)}, { exhaustive: true }),
178
+ ${serverSpaRouteStubs}
179
+ },
145
180
  routerRoot: ${JSON.stringify(options.root)},
146
181
  flags: ${JSON.stringify(options.flags)},
147
182
  ${linkingArg}
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
 
3
+ var __create = Object.create;
3
4
  var __defProp = Object.defineProperty;
4
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
6
8
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
9
  var __export = (target, all) => {
8
10
  for (var name in all) __defProp(target, name, {
@@ -19,6 +21,15 @@ var __copyProps = (to, from, except, desc) => {
19
21
  }
20
22
  return to;
21
23
  };
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
+ value: mod,
31
+ enumerable: true
32
+ }) : target, mod));
22
33
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
34
  value: true
24
35
  }), mod);
@@ -30,8 +41,10 @@ module.exports = __toCommonJS(virtualEntryPlugin_exports);
30
41
  var import_path = require("path");
31
42
  var import_url = require("url");
32
43
  var import_compiler = require("@vxrn/compiler");
44
+ var import_fast_glob = __toESM(require("fast-glob"), 1);
33
45
  var import_vxrn = require("vxrn");
34
46
  var import_glob_patterns = require("../../router/glob-patterns.native.js");
47
+ var import_matchers = require("../../router/matchers.native.js");
35
48
  var import_virtualEntryConstants = require("./virtualEntryConstants.native.js");
36
49
  function normalizeSetupFile(setupFile) {
37
50
  if (!setupFile) return {};
@@ -118,14 +131,62 @@ function createVirtualEntry(options) {
118
131
  },
119
132
  load(id) {
120
133
  if (id === import_virtualEntryConstants.resolvedVirtualEntryId) {
121
- var _options_router2;
134
+ var _options_router2, _options_router1;
122
135
  var isNative = (0, import_vxrn.isNativeEnvironment)(this.environment);
123
136
  var isSSR = this.environment.name === "ssr";
137
+ var serverSpaRouteFiles = isSSR ? import_fast_glob.default.sync("**/*.{ts,tsx}", {
138
+ cwd: (0, import_path.resolve)(viteRoot, options.root),
139
+ ignore: [...import_glob_patterns.ROUTE_WEB_EXCLUSION_GLOB_PATTERNS, ...(((_options_router2 = options.router) === null || _options_router2 === void 0 ? void 0 : _options_router2.ignoredRouteFiles) || [])]
140
+ }).map(function (file) {
141
+ return file.replaceAll("\\", "/");
142
+ }).filter(function (file) {
143
+ var parts = file.split("/");
144
+ var filename = parts.at(-1) || "";
145
+ if (filename.startsWith("_layout") || filename.startsWith("_middleware")) {
146
+ return false;
147
+ }
148
+ var fileMode = (0, import_matchers.matchFileRenderMode)(filename);
149
+ if (fileMode) return fileMode === "spa";
150
+ var parentMode;
151
+ var _iteratorNormalCompletion = true,
152
+ _didIteratorError = false,
153
+ _iteratorError = void 0;
154
+ try {
155
+ for (var _iterator = parts.slice(0, -1)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
156
+ var directory = _step.value;
157
+ var _ref;
158
+ var _matchDirectoryRenderMode;
159
+ parentMode = (_ref = (_matchDirectoryRenderMode = (0, import_matchers.matchDirectoryRenderMode)(directory)) === null || _matchDirectoryRenderMode === void 0 ? void 0 : _matchDirectoryRenderMode.renderMode) !== null && _ref !== void 0 ? _ref : parentMode;
160
+ }
161
+ } catch (err) {
162
+ _didIteratorError = true;
163
+ _iteratorError = err;
164
+ } finally {
165
+ try {
166
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
167
+ _iterator.return();
168
+ }
169
+ } finally {
170
+ if (_didIteratorError) {
171
+ throw _iteratorError;
172
+ }
173
+ }
174
+ }
175
+ return parentMode === "spa";
176
+ }) : [];
177
+ var serverSpaRouteStubs = serverSpaRouteFiles.map(function (file) {
178
+ return `${JSON.stringify(`/${options.root}/${file}`)}: () => Promise.resolve({})`;
179
+ }).join(",\n ");
180
+ var webRouteGlobs = [...routeGlobs, ...import_glob_patterns.ROUTE_WEB_EXCLUSION_GLOB_PATTERNS.map(function (pattern) {
181
+ return `!${pattern}`;
182
+ }), ...serverSpaRouteFiles.map(function (file) {
183
+ return `!/${options.root}/${file}`;
184
+ })];
124
185
  var useStaticImport = isNative || isSSR && isDevMode;
125
186
  var setupResult = getSetupFileImport(this.environment.name, setupFiles, useStaticImport, viteRoot);
126
187
  var nativewindImport = import_compiler.configuration.enableNativewind ? `import 'react-native-css-interop/dist/runtime/components'` : "";
127
188
  var setupPromiseArg = setupResult.promiseVarName ? `getSetupPromise: ${setupResult.promiseVarName},` : "";
128
- var linkingArg = ((_options_router2 = options.router) === null || _options_router2 === void 0 ? void 0 : _options_router2.linking) ? `linking: ${JSON.stringify(options.router.linking)},` : "";
189
+ var linkingArg = ((_options_router1 = options.router) === null || _options_router1 === void 0 ? void 0 : _options_router1.linking) ? `linking: ${JSON.stringify(options.router.linking)},` : "";
129
190
  return `
130
191
  ${setupResult.promiseDeclaration}
131
192
  ${nativewindImport}
@@ -144,12 +205,13 @@ if (typeof window !== 'undefined') {
144
205
  window.__oneRegisterPreloadedRoute = registerPreloadedRoute
145
206
  }
146
207
 
147
- // globbing ${JSON.stringify(routeGlobs)}
208
+ // globbing ${JSON.stringify(webRouteGlobs)}
148
209
  export default createApp({
149
210
  ${setupPromiseArg}
150
- routes: import.meta.glob(${JSON.stringify([...routeGlobs, ...import_glob_patterns.ROUTE_WEB_EXCLUSION_GLOB_PATTERNS.map(function (p) {
151
- return `!${p}`;
152
- })])}, { exhaustive: true }),
211
+ routes: {
212
+ ...import.meta.glob(${JSON.stringify(webRouteGlobs)}, { exhaustive: true }),
213
+ ${serverSpaRouteStubs}
214
+ },
153
215
  routerRoot: ${JSON.stringify(options.root)},
154
216
  flags: ${JSON.stringify(options.flags)},
155
217
  ${linkingArg}
@@ -157,10 +219,10 @@ export default createApp({
157
219
  `;
158
220
  }
159
221
  if (id === import_virtualEntryConstants.resolvedVirtualEntryIdNative) {
160
- var _options_router1;
222
+ var _options_router22;
161
223
  var isNative1 = (0, import_vxrn.isNativeEnvironment)(this.environment);
162
224
  var setupResult1 = getSetupFileImport(this.environment.name, setupFiles, isNative1, viteRoot);
163
- var linkingArg1 = ((_options_router1 = options.router) === null || _options_router1 === void 0 ? void 0 : _options_router1.linking) ? `linking: ${JSON.stringify(options.router.linking)},` : "";
225
+ var linkingArg1 = ((_options_router22 = options.router) === null || _options_router22 === void 0 ? void 0 : _options_router22.linking) ? `linking: ${JSON.stringify(options.router.linking)},` : "";
164
226
  return `
165
227
  import { createApp } from 'one'
166
228
  ${setupResult1.importStatement}
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","virtualEntryPlugin_exports","__export","createVirtualEntry","module","exports","import_path","require","import_url","import_compiler","import_vxrn","import_glob_patterns","import_virtualEntryConstants","normalizeSetupFile","setupFile","client","server","ios","android","native","sf","getSetupFileImport","environmentName","setupFiles","useStaticImport","root","envMap","ssr","key","importStatement","promiseDeclaration","promiseVarName","resolvedSetupFile","pathToFileURL","resolve","href","JSON","stringify","options","_options_router_ignoredRouteFiles","_options_router","routeGlobs","ROUTE_GLOB_PATTERN","router","ignoredRouteFiles","map","pattern","apiRouteGlobs","API_ROUTE_GLOB_PATTERN","viteRoot","isDevMode","name","enforce","configResolved","config","command","resolveId","id","virtualEntryId","resolvedVirtualEntryId","virtualEntryIdNative","resolvedVirtualEntryIdNative","load","_options_router2","isNative","isNativeEnvironment","environment","isSSR","setupResult","nativewindImport","configuration","enableNativewind","setupPromiseArg","linkingArg","linking","ROUTE_WEB_EXCLUSION_GLOB_PATTERNS","p","flags","_options_router1","isNative1","setupResult1","linkingArg1","ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS"],"sources":["../../../../src/vite/plugins/virtualEntryPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","virtualEntryPlugin_exports","__export","createVirtualEntry","module","exports","import_path","require","import_url","import_compiler","import_fast_glob","__toESM","import_vxrn","import_glob_patterns","import_matchers","import_virtualEntryConstants","normalizeSetupFile","setupFile","client","server","ios","android","native","sf","getSetupFileImport","environmentName","setupFiles","useStaticImport","root","envMap","ssr","key","importStatement","promiseDeclaration","promiseVarName","resolvedSetupFile","pathToFileURL","resolve","href","JSON","stringify","options","_options_router_ignoredRouteFiles","_options_router","routeGlobs","ROUTE_GLOB_PATTERN","router","ignoredRouteFiles","map","pattern","apiRouteGlobs","API_ROUTE_GLOB_PATTERN","viteRoot","isDevMode","name","enforce","configResolved","config","command","resolveId","id","virtualEntryId","resolvedVirtualEntryId","virtualEntryIdNative","resolvedVirtualEntryIdNative","load","_options_router2","_options_router1","isNative","isNativeEnvironment","environment","isSSR","serverSpaRouteFiles","default","sync","cwd","ignore","ROUTE_WEB_EXCLUSION_GLOB_PATTERNS","file","replaceAll","filter","parts","split","filename","at","startsWith","fileMode","matchFileRenderMode","parentMode","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","slice","Symbol","iterator","_step","next","done","directory","_ref","_matchDirectoryRenderMode","matchDirectoryRenderMode","renderMode","err","return","serverSpaRouteStubs","join","webRouteGlobs","setupResult","nativewindImport","configuration","enableNativewind","setupPromiseArg","linkingArg","linking"],"sources":["../../../../src/vite/plugins/virtualEntryPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,9 @@
1
+ var import_node_buffer = require("node:buffer");
2
+ var import_node_fs = require("node:fs");
3
+ var import_node_os = require("node:os");
4
+ var import_node_path = require("node:path");
1
5
  var import_vitest = require("vitest");
6
+ var import_vite = require("vite");
2
7
  var import_virtualEntryPlugin = require("./virtualEntryPlugin.cjs");
3
8
  import_vitest.vi.mock("vxrn", () => ({
4
9
  isNativeEnvironment: env => {
@@ -23,6 +28,59 @@ function loadEntry(plugin, envName, command = "build") {
23
28
  return plugin.load.call(ctx, "\0virtual:one-entry");
24
29
  }
25
30
  (0, import_vitest.describe)("virtualEntryPlugin", () => {
31
+ (0, import_vitest.it)("keeps spa route matching without bundling the client module on the server", async () => {
32
+ const root = (0, import_node_fs.mkdtempSync)((0, import_node_path.join)((0, import_node_os.tmpdir)(), "one-spa-server-"));
33
+ const appDir = (0, import_node_path.join)(root, "app");
34
+ (0, import_node_fs.mkdirSync)(appDir);
35
+ const spaRoute = (0, import_node_path.join)(appDir, "client-only+spa.tsx");
36
+ (0, import_node_fs.writeFileSync)(spaRoute, `export const browserPayload = 'must-not-enter-server-graph'
37
+ export default function ClientOnlyPage() { return null }
38
+ `);
39
+ try {
40
+ const result = await (0, import_vite.build)({
41
+ root,
42
+ configFile: false,
43
+ logLevel: "silent",
44
+ plugins: [{
45
+ name: "test-one-entry",
46
+ enforce: "pre",
47
+ resolveId(id) {
48
+ if (id === "one") return "\0test-one-entry";
49
+ },
50
+ load(id) {
51
+ if (id === "\0test-one-entry") {
52
+ return `export const createApp = (options) => options
53
+ export const registerPreloadedRoute = () => {}`;
54
+ }
55
+ }
56
+ }, (0, import_virtualEntryPlugin.createVirtualEntry)({
57
+ root: "app",
58
+ flags: {}
59
+ })],
60
+ build: {
61
+ ssr: true,
62
+ write: false,
63
+ rolldownOptions: {
64
+ input: "virtual:one-entry"
65
+ }
66
+ }
67
+ });
68
+ if (Array.isArray(result)) throw new Error("expected one server build output");
69
+ if (!("output" in result)) throw new Error("expected completed server build");
70
+ const moduleIds = result.output.flatMap(output => output.type === "chunk" ? output.moduleIds : []);
71
+ (0, import_vitest.expect)(moduleIds).not.toContain((0, import_node_path.resolve)(spaRoute));
72
+ const entry = result.output.find(output => output.type === "chunk" && output.isEntry);
73
+ if (!entry || entry.type !== "chunk") throw new Error("missing server entry chunk");
74
+ const built = await import(`data:text/javascript;base64,${import_node_buffer.Buffer.from(entry.code).toString("base64")}`);
75
+ (0, import_vitest.expect)(Object.keys(built.default.routes)).toContain("/app/client-only+spa.tsx");
76
+ await (0, import_vitest.expect)(built.default.routes["/app/client-only+spa.tsx"]()).resolves.toEqual({});
77
+ } finally {
78
+ (0, import_node_fs.rmSync)(root, {
79
+ recursive: true,
80
+ force: true
81
+ });
82
+ }
83
+ });
26
84
  (0, import_vitest.describe)("setupFile", () => {
27
85
  const base = {
28
86
  root: "app",
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ var import_buffer = require("buffer");
4
+ var import_fs = require("fs");
5
+ var import_os = require("os");
6
+ var import_path = require("path");
3
7
  var import_vitest = require("vitest");
8
+ var import_vite = require("vite");
4
9
  var import_virtualEntryPlugin = require("./virtualEntryPlugin.native.js");
5
10
  import_vitest.vi.mock("vxrn", function () {
6
11
  return {
@@ -31,6 +36,63 @@ function loadEntry(plugin, envName) {
31
36
  return plugin.load.call(ctx, "\0virtual:one-entry");
32
37
  }
33
38
  (0, import_vitest.describe)("virtualEntryPlugin", function () {
39
+ (0, import_vitest.it)("keeps spa route matching without bundling the client module on the server", async function () {
40
+ var root = (0, import_fs.mkdtempSync)((0, import_path.join)((0, import_os.tmpdir)(), "one-spa-server-"));
41
+ var appDir = (0, import_path.join)(root, "app");
42
+ (0, import_fs.mkdirSync)(appDir);
43
+ var spaRoute = (0, import_path.join)(appDir, "client-only+spa.tsx");
44
+ (0, import_fs.writeFileSync)(spaRoute, `export const browserPayload = 'must-not-enter-server-graph'
45
+ export default function ClientOnlyPage() { return null }
46
+ `);
47
+ try {
48
+ var result = await (0, import_vite.build)({
49
+ root,
50
+ configFile: false,
51
+ logLevel: "silent",
52
+ plugins: [{
53
+ name: "test-one-entry",
54
+ enforce: "pre",
55
+ resolveId(id) {
56
+ if (id === "one") return "\0test-one-entry";
57
+ },
58
+ load(id) {
59
+ if (id === "\0test-one-entry") {
60
+ return `export const createApp = (options) => options
61
+ export const registerPreloadedRoute = () => {}`;
62
+ }
63
+ }
64
+ }, (0, import_virtualEntryPlugin.createVirtualEntry)({
65
+ root: "app",
66
+ flags: {}
67
+ })],
68
+ build: {
69
+ ssr: true,
70
+ write: false,
71
+ rolldownOptions: {
72
+ input: "virtual:one-entry"
73
+ }
74
+ }
75
+ });
76
+ if (Array.isArray(result)) throw new Error("expected one server build output");
77
+ if (!("output" in result)) throw new Error("expected completed server build");
78
+ var moduleIds = result.output.flatMap(function (output) {
79
+ return output.type === "chunk" ? output.moduleIds : [];
80
+ });
81
+ (0, import_vitest.expect)(moduleIds).not.toContain((0, import_path.resolve)(spaRoute));
82
+ var entry = result.output.find(function (output) {
83
+ return output.type === "chunk" && output.isEntry;
84
+ });
85
+ if (!entry || entry.type !== "chunk") throw new Error("missing server entry chunk");
86
+ var built = await import(`data:text/javascript;base64,${import_buffer.Buffer.from(entry.code).toString("base64")}`);
87
+ (0, import_vitest.expect)(Object.keys(built.default.routes)).toContain("/app/client-only+spa.tsx");
88
+ await (0, import_vitest.expect)(built.default.routes["/app/client-only+spa.tsx"]()).resolves.toEqual({});
89
+ } finally {
90
+ (0, import_fs.rmSync)(root, {
91
+ recursive: true,
92
+ force: true
93
+ });
94
+ }
95
+ });
34
96
  (0, import_vitest.describe)("setupFile", function () {
35
97
  var base = {
36
98
  root: "app",
@@ -1 +1 @@
1
- {"version":3,"names":["import_vitest","require","import_virtualEntryPlugin","vi","mock","isNativeEnvironment","env","name","configuration","enableNativewind","loadEntry","plugin","envName","command","arguments","length","_plugin_configResolved","configResolved","call","root","ctx","environment","load","describe","base","flags","it","createVirtualEntry","setupFile","client","server","code","expect","not","toContain","native","ssrCode","clientCode","iosCode"],"sources":["../../../../src/vite/plugins/virtualEntryPlugin.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["import_buffer","require","import_fs","import_os","import_path","import_vitest","import_vite","import_virtualEntryPlugin","vi","mock","isNativeEnvironment","env","name","configuration","enableNativewind","loadEntry","plugin","envName","command","arguments","length","_plugin_configResolved","configResolved","call","root","ctx","environment","load","describe","it","mkdtempSync","join","tmpdir","appDir","mkdirSync","spaRoute","writeFileSync","result","build","configFile","logLevel","plugins","enforce","resolveId","id","createVirtualEntry","flags","ssr","write","rolldownOptions","input","Array","isArray","Error","moduleIds","output","flatMap","type","expect","not","toContain","resolve","entry","find","isEntry","built","Buffer","from","code","toString","Object","keys","default","routes","resolves","toEqual","rmSync","recursive","force","base","setupFile","client","server","native","ssrCode","clientCode","iosCode"],"sources":["../../../../src/vite/plugins/virtualEntryPlugin.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -220,7 +220,6 @@ async function getCloudflareProjectName(root) {
220
220
  return "one-app";
221
221
  }
222
222
  process.env.ONE_CACHE_KEY = constants.CACHE_KEY;
223
- const BUILD_CONCURRENCY = process.env.ONE_BUILD_CONCURRENCY ? Math.max(1, parseInt(process.env.ONE_BUILD_CONCURRENCY, 10)) : Math.max(1, Math.min(cpus().length, 8));
224
223
  function shouldUseWorkers(oneOptions) {
225
224
  if (process.env.ONE_BUILD_WORKERS === "0") return false;
226
225
  if (process.env.ONE_BUILD_WORKERS === "1") return true;
@@ -287,6 +286,11 @@ async function build(args) {
287
286
  config: viteLoadedConfig
288
287
  } = await loadUserOneOptions("build");
289
288
  const routerRoot = getRouterRootFromOneOptions(oneOptions);
289
+ const configuredBuildConcurrency = process.env.ONE_BUILD_CONCURRENCY ?? oneOptions.build?.concurrency;
290
+ const buildConcurrency = configuredBuildConcurrency === void 0 ? Math.max(1, Math.min(cpus().length, 8)) : Number(configuredBuildConcurrency);
291
+ if (!Number.isInteger(buildConcurrency) || buildConcurrency < 1) {
292
+ throw new Error(`build.concurrency must be a positive integer, received ${JSON.stringify(configuredBuildConcurrency)}`);
293
+ }
290
294
  if (oneOptions.web?.defaultRenderMode) {
291
295
  process.env.ONE_DEFAULT_RENDER_MODE = oneOptions.web.defaultRenderMode;
292
296
  }
@@ -489,15 +493,15 @@ async function build(args) {
489
493
  const collectImportsCache = /* @__PURE__ */new Map();
490
494
  const cssFileContentsCache = /* @__PURE__ */new Map();
491
495
  const criticalCSSOutputPaths = getCriticalCSSOutputPaths(vxrnOutput.clientManifest);
492
- const limit = pLimit(BUILD_CONCURRENCY);
496
+ const limit = pLimit(buildConcurrency);
493
497
  const useWorkers = shouldUseWorkers(oneOptions);
494
- const workerPool = useWorkers ? getWorkerPool(BUILD_CONCURRENCY) : null;
498
+ const workerPool = useWorkers ? getWorkerPool(buildConcurrency) : null;
495
499
  if (workerPool) {
496
500
  const serializableOptions = JSON.parse(JSON.stringify(oneOptions, (_key, value) => typeof value === "function" ? void 0 : value));
497
501
  await workerPool.initialize(serializableOptions);
498
502
  }
499
503
  const staticStartTime = performance.now();
500
- const modeLabel = useWorkers ? `workers: ${workerPool?.size}` : `concurrency: ${BUILD_CONCURRENCY}`;
504
+ const modeLabel = useWorkers ? `workers: ${workerPool?.size}` : `concurrency: ${buildConcurrency}`;
501
505
  console.info(`
502
506
  \u{1F528} build static routes (${modeLabel})
503
507
  `);