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.
- package/dist/cjs/cli/build.cjs +8 -4
- package/dist/cjs/cli/build.native.js +16 -12
- package/dist/cjs/cli/build.native.js.map +1 -1
- package/dist/cjs/router/getRoutes.cjs +1 -2
- package/dist/cjs/router/getRoutes.native.js +1 -2
- package/dist/cjs/router/getRoutes.native.js.map +1 -1
- package/dist/cjs/router/matchers.cjs +7 -0
- package/dist/cjs/router/matchers.native.js +8 -0
- package/dist/cjs/router/matchers.native.js.map +1 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +37 -2
- package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +70 -8
- package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.test.cjs +58 -0
- package/dist/cjs/vite/plugins/virtualEntryPlugin.test.native.js +62 -0
- package/dist/cjs/vite/plugins/virtualEntryPlugin.test.native.js.map +1 -1
- package/dist/esm/cli/build.mjs +8 -4
- package/dist/esm/cli/build.mjs.map +1 -1
- package/dist/esm/cli/build.native.js +16 -12
- package/dist/esm/cli/build.native.js.map +1 -1
- package/dist/esm/getURL.native.test.mjs +1 -1
- package/dist/esm/router/getRoutes.mjs +2 -3
- package/dist/esm/router/getRoutes.mjs.map +1 -1
- package/dist/esm/router/getRoutes.native.js +2 -3
- package/dist/esm/router/getRoutes.native.js.map +1 -1
- package/dist/esm/router/hmrImport.native.test.mjs +1 -1
- package/dist/esm/router/matchers.mjs +7 -1
- package/dist/esm/router/matchers.mjs.map +1 -1
- package/dist/esm/router/matchers.native.js +8 -1
- package/dist/esm/router/matchers.native.js.map +1 -1
- package/dist/esm/router/routeHmr.native.test.mjs +1 -1
- package/dist/esm/router/routeHmr.native.test.mjs.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +26 -2
- package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +59 -8
- package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.test.mjs +58 -0
- package/dist/esm/vite/plugins/virtualEntryPlugin.test.mjs.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.test.native.js +62 -0
- package/dist/esm/vite/plugins/virtualEntryPlugin.test.native.js.map +1 -1
- package/package.json +9 -9
- package/src/cli/build.ts +17 -10
- package/src/router/getRoutes.ts +2 -3
- package/src/router/matchers.ts +10 -0
- package/src/vite/plugins/virtualEntryPlugin.test.ts +70 -0
- package/src/vite/plugins/virtualEntryPlugin.ts +48 -2
- package/src/vite/types.ts +9 -0
- package/types/cli/build.d.ts.map +1 -1
- package/types/router/getRoutes.d.ts.map +1 -1
- package/types/router/matchers.d.ts +2 -0
- package/types/router/matchers.d.ts.map +1 -1
- package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
- package/types/vite/types.d.ts +8 -0
- 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(
|
|
173
|
+
// globbing ${JSON.stringify(webRouteGlobs)}
|
|
142
174
|
export default createApp({
|
|
143
175
|
${setupPromiseArg}
|
|
144
|
-
routes:
|
|
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 = ((
|
|
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(
|
|
208
|
+
// globbing ${JSON.stringify(webRouteGlobs)}
|
|
148
209
|
export default createApp({
|
|
149
210
|
${setupPromiseArg}
|
|
150
|
-
routes:
|
|
151
|
-
|
|
152
|
-
|
|
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
|
|
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 = ((
|
|
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","
|
|
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":["
|
|
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":[]}
|
package/dist/esm/cli/build.mjs
CHANGED
|
@@ -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(
|
|
496
|
+
const limit = pLimit(buildConcurrency);
|
|
493
497
|
const useWorkers = shouldUseWorkers(oneOptions);
|
|
494
|
-
const workerPool = useWorkers ? getWorkerPool(
|
|
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: ${
|
|
504
|
+
const modeLabel = useWorkers ? `workers: ${workerPool?.size}` : `concurrency: ${buildConcurrency}`;
|
|
501
505
|
console.info(`
|
|
502
506
|
\u{1F528} build static routes (${modeLabel})
|
|
503
507
|
`);
|