one 1.25.16 → 1.26.0
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/native-transforms.cjs +28 -0
- package/dist/cjs/native-transforms.native.js +31 -0
- package/dist/cjs/native-transforms.native.js.map +1 -0
- package/dist/cjs/router/useViteRoutes.cjs +3 -2
- package/dist/cjs/router/useViteRoutes.native.js +3 -2
- package/dist/cjs/router/useViteRoutes.native.js.map +1 -1
- package/dist/cjs/router/useViteRoutes.test.cjs +101 -1
- package/dist/cjs/router/useViteRoutes.test.native.js +109 -1
- package/dist/cjs/router/useViteRoutes.test.native.js.map +1 -1
- package/dist/cjs/vercel/build/generate/createApiServerlessFunction.cjs +45 -44
- package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js +64 -39
- package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -1
- package/dist/cjs/vite/one.cjs +10 -2
- package/dist/cjs/vite/one.native.js +13 -4
- package/dist/cjs/vite/one.native.js.map +1 -1
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.cjs +597 -92
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.native.js +1358 -113
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.cjs +185 -0
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.native.js +185 -0
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.native.js.map +1 -1
- package/dist/cjs/vite/plugins/useDomPlugin.cjs +14 -37
- package/dist/cjs/vite/plugins/useDomPlugin.native.js +14 -36
- package/dist/cjs/vite/plugins/useDomPlugin.native.js.map +1 -1
- package/dist/esm/native-transforms.mjs +3 -0
- package/dist/esm/native-transforms.mjs.map +1 -0
- package/dist/esm/native-transforms.native.js +3 -0
- package/dist/esm/native-transforms.native.js.map +1 -0
- package/dist/esm/router/useViteRoutes.mjs +3 -2
- package/dist/esm/router/useViteRoutes.mjs.map +1 -1
- package/dist/esm/router/useViteRoutes.native.js +3 -2
- package/dist/esm/router/useViteRoutes.native.js.map +1 -1
- package/dist/esm/router/useViteRoutes.test.mjs +77 -1
- package/dist/esm/router/useViteRoutes.test.mjs.map +1 -1
- package/dist/esm/router/useViteRoutes.test.native.js +85 -1
- package/dist/esm/router/useViteRoutes.test.native.js.map +1 -1
- package/dist/esm/vercel/build/generate/createApiServerlessFunction.mjs +45 -44
- package/dist/esm/vercel/build/generate/createApiServerlessFunction.mjs.map +1 -1
- package/dist/esm/vercel/build/generate/createApiServerlessFunction.native.js +64 -39
- package/dist/esm/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -1
- package/dist/esm/vite/one.mjs +10 -2
- package/dist/esm/vite/one.mjs.map +1 -1
- package/dist/esm/vite/one.native.js +13 -4
- package/dist/esm/vite/one.native.js.map +1 -1
- package/dist/esm/vite/plugins/clientTreeShakePlugin.mjs +597 -92
- package/dist/esm/vite/plugins/clientTreeShakePlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/clientTreeShakePlugin.native.js +1358 -113
- package/dist/esm/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/clientTreeShakePlugin.test.mjs +185 -0
- package/dist/esm/vite/plugins/clientTreeShakePlugin.test.mjs.map +1 -1
- package/dist/esm/vite/plugins/clientTreeShakePlugin.test.native.js +185 -0
- package/dist/esm/vite/plugins/clientTreeShakePlugin.test.native.js.map +1 -1
- package/dist/esm/vite/plugins/useDomPlugin.mjs +13 -25
- package/dist/esm/vite/plugins/useDomPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/useDomPlugin.native.js +14 -25
- package/dist/esm/vite/plugins/useDomPlugin.native.js.map +1 -1
- package/package.json +15 -10
- package/src/createApp.tsx +0 -1
- package/src/headless.tsx +0 -1
- package/src/native-transforms.ts +11 -0
- package/src/router/useViteRoutes.test.ts +91 -0
- package/src/router/useViteRoutes.tsx +7 -4
- package/src/vercel/build/generate/createApiServerlessFunction.ts +65 -112
- package/src/vite/one.ts +22 -2
- package/src/vite/plugins/clientTreeShakePlugin.test.ts +201 -0
- package/src/vite/plugins/clientTreeShakePlugin.ts +732 -152
- package/src/vite/plugins/useDomPlugin.ts +20 -32
- package/src/vite/types.ts +60 -5
- package/types/native-transforms.d.ts +11 -0
- package/types/native-transforms.d.ts.map +1 -0
- package/types/router/useViteRoutes.d.ts.map +1 -1
- package/types/vercel/build/generate/createApiServerlessFunction.d.ts.map +1 -1
- package/types/vite/one.d.ts.map +1 -1
- package/types/vite/plugins/clientTreeShakePlugin.d.ts +1 -9
- package/types/vite/plugins/clientTreeShakePlugin.d.ts.map +1 -1
- package/types/vite/plugins/useDomPlugin.d.ts.map +1 -1
- package/types/vite/types.d.ts +57 -5
- package/types/vite/types.d.ts.map +1 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
14
|
+
get: () => from[key],
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
+
value: true
|
|
22
|
+
}), mod);
|
|
23
|
+
var native_transforms_exports = {};
|
|
24
|
+
__export(native_transforms_exports, {
|
|
25
|
+
transformTreeShakeClient: () => import_clientTreeShakePlugin.transformTreeShakeClient
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(native_transforms_exports);
|
|
28
|
+
var import_clientTreeShakePlugin = require("./vite/plugins/clientTreeShakePlugin.cjs");
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
}), mod);
|
|
25
|
+
var native_transforms_exports = {};
|
|
26
|
+
__export(native_transforms_exports, {
|
|
27
|
+
transformTreeShakeClient: () => import_clientTreeShakePlugin.transformTreeShakeClient
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(native_transforms_exports);
|
|
30
|
+
var import_clientTreeShakePlugin = require("./vite/plugins/clientTreeShakePlugin.native.js");
|
|
31
|
+
//# sourceMappingURL=native-transforms.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","native_transforms_exports","__export","transformTreeShakeClient","import_clientTreeShakePlugin","module","exports"],"sources":["../../src/native-transforms.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,yBAAA;AAAAC,QAAA,CAAAD,yBAAA;EAAAE,wBAAA,EAAAA,CAAA,KAAAC,4BAAA,CAAAD;AAAA;AAUAE,MAAA,CAAAC,OAAA,GAAAV,YAAA,CAAAK,yBAAyC","ignoreList":[]}
|
|
@@ -31,6 +31,7 @@ __export(useViteRoutes_exports, {
|
|
|
31
31
|
useViteRoutes: () => useViteRoutes
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(useViteRoutes_exports);
|
|
34
|
+
var import_constants = require("../constants.cjs");
|
|
34
35
|
var import_dynamicImport = require("../utils/dynamicImport.cjs");
|
|
35
36
|
var import_diagnoseRouteLoadFailure = require("./diagnoseRouteLoadFailure.cjs");
|
|
36
37
|
var import_hmrImport = require("./hmrImport.cjs");
|
|
@@ -216,10 +217,10 @@ function globbedRoutesToRouteContext(paths, routerRoot, options) {
|
|
|
216
217
|
message: err instanceof Error ? err.message : String(err),
|
|
217
218
|
stack: err instanceof Error ? err.stack : void 0
|
|
218
219
|
});
|
|
219
|
-
if (
|
|
220
|
+
if (import_constants.hasWebHistory && routePaths[id]) {
|
|
220
221
|
(0, import_diagnoseRouteLoadFailure.diagnoseRouteLoadFailure)(id, routePaths[id]).then(message => {
|
|
221
222
|
if (message) console.error(message);
|
|
222
|
-
});
|
|
223
|
+
}).catch(() => {});
|
|
223
224
|
}
|
|
224
225
|
}
|
|
225
226
|
loadedRoutes[id] = {
|
|
@@ -33,6 +33,7 @@ __export(useViteRoutes_exports, {
|
|
|
33
33
|
useViteRoutes: () => useViteRoutes
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(useViteRoutes_exports);
|
|
36
|
+
var import_constants = require("../constants.native.js");
|
|
36
37
|
var import_dynamicImport = require("../utils/dynamicImport.native.js");
|
|
37
38
|
var import_diagnoseRouteLoadFailure = require("./diagnoseRouteLoadFailure.native.js");
|
|
38
39
|
var import_hmrImport = require("./hmrImport.native.js");
|
|
@@ -274,10 +275,10 @@ function globbedRoutesToRouteContext(paths, routerRoot, options) {
|
|
|
274
275
|
message: _instanceof(err, Error) ? err.message : String(err),
|
|
275
276
|
stack: _instanceof(err, Error) ? err.stack : void 0
|
|
276
277
|
});
|
|
277
|
-
if (
|
|
278
|
+
if (import_constants.hasWebHistory && routePaths[id]) {
|
|
278
279
|
(0, import_diagnoseRouteLoadFailure.diagnoseRouteLoadFailure)(id, routePaths[id]).then(function (message) {
|
|
279
280
|
if (message) console.error(message);
|
|
280
|
-
});
|
|
281
|
+
}).catch(function () {});
|
|
281
282
|
}
|
|
282
283
|
}
|
|
283
284
|
loadedRoutes[id] = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useViteRoutes_exports","__export","getPreloadedModule","getPreloadedModuleKeys","globbedRoutesToRouteContext","loadRoutes","preloadRouteModules","registerPreloadedRoute","useViteRoutes","module","exports","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useViteRoutes_exports","__export","getPreloadedModule","getPreloadedModuleKeys","globbedRoutesToRouteContext","loadRoutes","preloadRouteModules","registerPreloadedRoute","useViteRoutes","module","exports","import_constants","require","import_dynamicImport","import_diagnoseRouteLoadFailure","import_hmrImport","_instanceof","left","right","Symbol","hasInstance","lastVersion","context","routes","routerRoot","options","version","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","keys","preloadedModules","iterator","_step","next","done","key","err","return","module2","matchDynamicRoute","routePattern","actualPath","routeSegments","split","pathSegments","hasCatchAll","some","s","startsWith","catchAllIdx","findIndex","i","length","i1","routeSeg","pathSeg","endsWith","href","globbed","globalThis","normalizedHref","replace","promises","_loop","routePath","isStaticMatch","isDynamicMatch","includes","push","then","catch","isChunkLoadError","handleSkewError","Promise","all","paths","routesSync","routePaths","loadedRoutes","clears","forEach","path","_options_routeModes","console","error","loadRouteFunction","pathWithoutRelative","originalPath","slice","routeModes","info","moduleKeys","hmrVersion","window","__oneRouteCache","clear","clearFile","file","normalizedFile","routeId","find","getVersion","resolve","id","clearTimeout","preloadKey","preloaded","importPromise","process","env","NODE_ENV"],"sources":["../../../src/router/useViteRoutes.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,17 +1,117 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __copyProps = (to, from, except, desc) => {
|
|
8
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
9
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
10
|
+
get: () => from[key],
|
|
11
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
return to;
|
|
15
|
+
};
|
|
16
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
17
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
18
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
19
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
20
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
22
|
+
value: mod,
|
|
23
|
+
enumerable: true
|
|
24
|
+
}) : target, mod));
|
|
1
25
|
var import_vitest = require("vitest");
|
|
2
26
|
var import_useViteRoutes = require("./useViteRoutes.cjs");
|
|
3
27
|
const mocks = import_vitest.vi.hoisted(() => ({
|
|
4
|
-
hmrImport: import_vitest.vi.fn()
|
|
28
|
+
hmrImport: import_vitest.vi.fn(),
|
|
29
|
+
diagnoseRouteLoadFailure: import_vitest.vi.fn()
|
|
5
30
|
}));
|
|
6
31
|
import_vitest.vi.mock("./hmrImport", () => ({
|
|
7
32
|
hmrImport: mocks.hmrImport
|
|
8
33
|
}));
|
|
34
|
+
import_vitest.vi.mock("./diagnoseRouteLoadFailure", () => ({
|
|
35
|
+
diagnoseRouteLoadFailure: mocks.diagnoseRouteLoadFailure
|
|
36
|
+
}));
|
|
9
37
|
const realWindow = globalThis.window;
|
|
10
38
|
(0, import_vitest.afterEach)(() => {
|
|
11
39
|
import_vitest.vi.unstubAllEnvs();
|
|
40
|
+
import_vitest.vi.unstubAllGlobals();
|
|
41
|
+
import_vitest.vi.restoreAllMocks();
|
|
12
42
|
mocks.hmrImport.mockReset();
|
|
43
|
+
mocks.diagnoseRouteLoadFailure.mockReset();
|
|
13
44
|
globalThis.window = realWindow;
|
|
14
45
|
});
|
|
46
|
+
(0, import_vitest.describe)("route load error diagnostics", () => {
|
|
47
|
+
import_vitest.it.each(["native", "server", "web shim", "browser"])("%s preserves the original route error", async environment => {
|
|
48
|
+
import_vitest.vi.stubEnv("NODE_ENV", "development");
|
|
49
|
+
import_vitest.vi.stubEnv("TAMAGUI_TARGET", environment === "native" ? "native" : "web");
|
|
50
|
+
import_vitest.vi.stubGlobal("window", environment === "server" ? void 0 : environment === "browser" ? {
|
|
51
|
+
history: {},
|
|
52
|
+
location: {
|
|
53
|
+
href: "http://localhost/",
|
|
54
|
+
origin: "http://localhost"
|
|
55
|
+
}
|
|
56
|
+
} : {});
|
|
57
|
+
const report = import_vitest.vi.fn();
|
|
58
|
+
import_vitest.vi.stubGlobal("__oneReportRouteLoadError", report);
|
|
59
|
+
import_vitest.vi.spyOn(console, "error").mockImplementation(() => {});
|
|
60
|
+
mocks.diagnoseRouteLoadFailure.mockResolvedValue(null);
|
|
61
|
+
import_vitest.vi.resetModules();
|
|
62
|
+
const {
|
|
63
|
+
globbedRoutesToRouteContext: globbedRoutesToRouteContext2
|
|
64
|
+
} = await import("./useViteRoutes");
|
|
65
|
+
const error = new Error("original route failure");
|
|
66
|
+
const context = globbedRoutesToRouteContext2({
|
|
67
|
+
"/app/index.tsx": () => Promise.reject(error)
|
|
68
|
+
}, "app");
|
|
69
|
+
const route = await resolveRoute(context);
|
|
70
|
+
(0, import_vitest.expect)(route.default()).toBeNull();
|
|
71
|
+
(0, import_vitest.expect)(report).toHaveBeenCalledExactlyOnceWith({
|
|
72
|
+
id: "./index.tsx",
|
|
73
|
+
message: error.message,
|
|
74
|
+
stack: error.stack
|
|
75
|
+
});
|
|
76
|
+
if (environment === "browser") {
|
|
77
|
+
(0, import_vitest.expect)(mocks.diagnoseRouteLoadFailure).toHaveBeenCalledExactlyOnceWith("./index.tsx", "/app/index.tsx");
|
|
78
|
+
} else {
|
|
79
|
+
(0, import_vitest.expect)(mocks.diagnoseRouteLoadFailure).not.toHaveBeenCalled();
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
(0, import_vitest.it)("keeps the original report when a browser diagnostic rejects", async () => {
|
|
83
|
+
import_vitest.vi.stubEnv("NODE_ENV", "development");
|
|
84
|
+
import_vitest.vi.stubEnv("TAMAGUI_TARGET", "web");
|
|
85
|
+
import_vitest.vi.stubGlobal("window", {
|
|
86
|
+
history: {},
|
|
87
|
+
location: {
|
|
88
|
+
href: "http://localhost/",
|
|
89
|
+
origin: "http://localhost"
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
const report = import_vitest.vi.fn();
|
|
93
|
+
import_vitest.vi.stubGlobal("__oneReportRouteLoadError", report);
|
|
94
|
+
import_vitest.vi.spyOn(console, "error").mockImplementation(() => {});
|
|
95
|
+
mocks.diagnoseRouteLoadFailure.mockRejectedValue(new Error("diagnostic failed"));
|
|
96
|
+
import_vitest.vi.resetModules();
|
|
97
|
+
const {
|
|
98
|
+
globbedRoutesToRouteContext: globbedRoutesToRouteContext2
|
|
99
|
+
} = await import("./useViteRoutes");
|
|
100
|
+
const error = new Error("original route failure");
|
|
101
|
+
const context = globbedRoutesToRouteContext2({
|
|
102
|
+
"/app/index.tsx": () => Promise.reject(error)
|
|
103
|
+
}, "app");
|
|
104
|
+
const route = await resolveRoute(context);
|
|
105
|
+
await new Promise(resolve => setImmediate(resolve));
|
|
106
|
+
(0, import_vitest.expect)(route.default()).toBeNull();
|
|
107
|
+
(0, import_vitest.expect)(report).toHaveBeenCalledExactlyOnceWith({
|
|
108
|
+
id: "./index.tsx",
|
|
109
|
+
message: error.message,
|
|
110
|
+
stack: error.stack
|
|
111
|
+
});
|
|
112
|
+
(0, import_vitest.expect)(mocks.diagnoseRouteLoadFailure).toHaveBeenCalledExactlyOnceWith("./index.tsx", "/app/index.tsx");
|
|
113
|
+
});
|
|
114
|
+
});
|
|
15
115
|
async function resolveRoute(context) {
|
|
16
116
|
try {
|
|
17
117
|
return context("./index.tsx");
|
|
@@ -1,10 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
12
|
+
get: () => from[key],
|
|
13
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
19
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
20
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
21
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
22
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
23
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
24
|
+
value: mod,
|
|
25
|
+
enumerable: true
|
|
26
|
+
}) : target, mod));
|
|
3
27
|
var import_vitest = require("vitest");
|
|
4
28
|
var import_useViteRoutes = require("./useViteRoutes.native.js");
|
|
5
29
|
var mocks = import_vitest.vi.hoisted(function () {
|
|
6
30
|
return {
|
|
7
|
-
hmrImport: import_vitest.vi.fn()
|
|
31
|
+
hmrImport: import_vitest.vi.fn(),
|
|
32
|
+
diagnoseRouteLoadFailure: import_vitest.vi.fn()
|
|
8
33
|
};
|
|
9
34
|
});
|
|
10
35
|
import_vitest.vi.mock("./hmrImport", function () {
|
|
@@ -12,12 +37,95 @@ import_vitest.vi.mock("./hmrImport", function () {
|
|
|
12
37
|
hmrImport: mocks.hmrImport
|
|
13
38
|
};
|
|
14
39
|
});
|
|
40
|
+
import_vitest.vi.mock("./diagnoseRouteLoadFailure", function () {
|
|
41
|
+
return {
|
|
42
|
+
diagnoseRouteLoadFailure: mocks.diagnoseRouteLoadFailure
|
|
43
|
+
};
|
|
44
|
+
});
|
|
15
45
|
var realWindow = globalThis.window;
|
|
16
46
|
(0, import_vitest.afterEach)(function () {
|
|
17
47
|
import_vitest.vi.unstubAllEnvs();
|
|
48
|
+
import_vitest.vi.unstubAllGlobals();
|
|
49
|
+
import_vitest.vi.restoreAllMocks();
|
|
18
50
|
mocks.hmrImport.mockReset();
|
|
51
|
+
mocks.diagnoseRouteLoadFailure.mockReset();
|
|
19
52
|
globalThis.window = realWindow;
|
|
20
53
|
});
|
|
54
|
+
(0, import_vitest.describe)("route load error diagnostics", function () {
|
|
55
|
+
import_vitest.it.each(["native", "server", "web shim", "browser"])("%s preserves the original route error", async function (environment) {
|
|
56
|
+
import_vitest.vi.stubEnv("NODE_ENV", "development");
|
|
57
|
+
import_vitest.vi.stubEnv("TAMAGUI_TARGET", environment === "native" ? "native" : "web");
|
|
58
|
+
import_vitest.vi.stubGlobal("window", environment === "server" ? void 0 : environment === "browser" ? {
|
|
59
|
+
history: {},
|
|
60
|
+
location: {
|
|
61
|
+
href: "http://localhost/",
|
|
62
|
+
origin: "http://localhost"
|
|
63
|
+
}
|
|
64
|
+
} : {});
|
|
65
|
+
var report = import_vitest.vi.fn();
|
|
66
|
+
import_vitest.vi.stubGlobal("__oneReportRouteLoadError", report);
|
|
67
|
+
import_vitest.vi.spyOn(console, "error").mockImplementation(function () {});
|
|
68
|
+
mocks.diagnoseRouteLoadFailure.mockResolvedValue(null);
|
|
69
|
+
import_vitest.vi.resetModules();
|
|
70
|
+
var {
|
|
71
|
+
globbedRoutesToRouteContext: globbedRoutesToRouteContext2
|
|
72
|
+
} = await import("./useViteRoutes");
|
|
73
|
+
var error = new Error("original route failure");
|
|
74
|
+
var context = globbedRoutesToRouteContext2({
|
|
75
|
+
"/app/index.tsx": function () {
|
|
76
|
+
return Promise.reject(error);
|
|
77
|
+
}
|
|
78
|
+
}, "app");
|
|
79
|
+
var route = await resolveRoute(context);
|
|
80
|
+
(0, import_vitest.expect)(route.default()).toBeNull();
|
|
81
|
+
(0, import_vitest.expect)(report).toHaveBeenCalledExactlyOnceWith({
|
|
82
|
+
id: "./index.tsx",
|
|
83
|
+
message: error.message,
|
|
84
|
+
stack: error.stack
|
|
85
|
+
});
|
|
86
|
+
if (environment === "browser") {
|
|
87
|
+
(0, import_vitest.expect)(mocks.diagnoseRouteLoadFailure).toHaveBeenCalledExactlyOnceWith("./index.tsx", "/app/index.tsx");
|
|
88
|
+
} else {
|
|
89
|
+
(0, import_vitest.expect)(mocks.diagnoseRouteLoadFailure).not.toHaveBeenCalled();
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
(0, import_vitest.it)("keeps the original report when a browser diagnostic rejects", async function () {
|
|
93
|
+
import_vitest.vi.stubEnv("NODE_ENV", "development");
|
|
94
|
+
import_vitest.vi.stubEnv("TAMAGUI_TARGET", "web");
|
|
95
|
+
import_vitest.vi.stubGlobal("window", {
|
|
96
|
+
history: {},
|
|
97
|
+
location: {
|
|
98
|
+
href: "http://localhost/",
|
|
99
|
+
origin: "http://localhost"
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
var report = import_vitest.vi.fn();
|
|
103
|
+
import_vitest.vi.stubGlobal("__oneReportRouteLoadError", report);
|
|
104
|
+
import_vitest.vi.spyOn(console, "error").mockImplementation(function () {});
|
|
105
|
+
mocks.diagnoseRouteLoadFailure.mockRejectedValue(new Error("diagnostic failed"));
|
|
106
|
+
import_vitest.vi.resetModules();
|
|
107
|
+
var {
|
|
108
|
+
globbedRoutesToRouteContext: globbedRoutesToRouteContext2
|
|
109
|
+
} = await import("./useViteRoutes");
|
|
110
|
+
var error = new Error("original route failure");
|
|
111
|
+
var context = globbedRoutesToRouteContext2({
|
|
112
|
+
"/app/index.tsx": function () {
|
|
113
|
+
return Promise.reject(error);
|
|
114
|
+
}
|
|
115
|
+
}, "app");
|
|
116
|
+
var route = await resolveRoute(context);
|
|
117
|
+
await new Promise(function (resolve) {
|
|
118
|
+
return setImmediate(resolve);
|
|
119
|
+
});
|
|
120
|
+
(0, import_vitest.expect)(route.default()).toBeNull();
|
|
121
|
+
(0, import_vitest.expect)(report).toHaveBeenCalledExactlyOnceWith({
|
|
122
|
+
id: "./index.tsx",
|
|
123
|
+
message: error.message,
|
|
124
|
+
stack: error.stack
|
|
125
|
+
});
|
|
126
|
+
(0, import_vitest.expect)(mocks.diagnoseRouteLoadFailure).toHaveBeenCalledExactlyOnceWith("./index.tsx", "/app/index.tsx");
|
|
127
|
+
});
|
|
128
|
+
});
|
|
21
129
|
async function resolveRoute(context) {
|
|
22
130
|
try {
|
|
23
131
|
return context("./index.tsx");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["import_vitest","require","import_useViteRoutes","mocks","vi","hoisted","hmrImport","fn","mock","realWindow","globalThis","window","afterEach","unstubAllEnvs","mockReset","
|
|
1
|
+
{"version":3,"names":["import_vitest","require","import_useViteRoutes","mocks","vi","hoisted","hmrImport","fn","diagnoseRouteLoadFailure","mock","realWindow","globalThis","window","afterEach","unstubAllEnvs","unstubAllGlobals","restoreAllMocks","mockReset","describe","it","each","environment","stubEnv","stubGlobal","history","location","href","origin","report","spyOn","console","mockImplementation","mockResolvedValue","resetModules","globbedRoutesToRouteContext","globbedRoutesToRouteContext2","error","Error","context","/app/index.tsx","Promise","reject","route","resolveRoute","expect","default","toBeNull","toHaveBeenCalledExactlyOnceWith","id","message","stack","not","toHaveBeenCalled","mockRejectedValue","resolve","setImmediate","pending","initialRoute"],"sources":["../../../src/router/useViteRoutes.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -37,10 +37,8 @@ __export(createApiServerlessFunction_exports, {
|
|
|
37
37
|
});
|
|
38
38
|
module.exports = __toCommonJS(createApiServerlessFunction_exports);
|
|
39
39
|
var import_node_path = require("node:path");
|
|
40
|
-
var
|
|
41
|
-
var
|
|
42
|
-
var import_traverse = __toESM(require("@babel/traverse"), 1);
|
|
43
|
-
var import_types = __toESM(require("@babel/types"), 1);
|
|
40
|
+
var import_oxc_parser = require("oxc-parser");
|
|
41
|
+
var import_magic_string = __toESM(require("magic-string"), 1);
|
|
44
42
|
var import_resolve = require("@vxrn/resolve");
|
|
45
43
|
var import_fs_extra = __toESM(require("fs-extra"), 1);
|
|
46
44
|
var import_fs_extra2 = __toESM(require("fs-extra"), 1);
|
|
@@ -83,45 +81,48 @@ async function createApiServerlessFunction(route, code, oneOptionsRoot, postBuil
|
|
|
83
81
|
}
|
|
84
82
|
}
|
|
85
83
|
function wrapHandlerFunctions(code) {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
const paramsDecl = import_types.default.variableDeclaration("const", [import_types.default.variableDeclarator(paramsIdentifier, import_types.default.callExpression(import_types.default.memberExpression(import_types.default.identifier("Object"), import_types.default.identifier("fromEntries")), [import_types.default.callExpression(import_types.default.memberExpression(import_types.default.memberExpression(urlIdentifier, import_types.default.identifier("searchParams")), import_types.default.identifier("entries")), [])]))]);
|
|
108
|
-
const callOrigFnStatement = import_types.default.callExpression(import_types.default.identifier(originalName), [requestIdentifier, import_types.default.objectExpression([import_types.default.objectProperty(import_types.default.identifier("params"), paramsIdentifier)])]);
|
|
109
|
-
const wrapperFunction = import_types.default.functionDeclaration(import_types.default.identifier(node.id.name + ""), wrapperParams, import_types.default.blockStatement([urlDecl, paramsDecl, import_types.default.returnStatement(callOrigFnStatement)])
|
|
110
|
-
// No need to care if the wrapper function should be async,
|
|
111
|
-
// since we didn't use any await in the wrapper function, and we'll
|
|
112
|
-
// just return what the original function returns.
|
|
113
|
-
);
|
|
114
|
-
node.extra = node.extra || {};
|
|
115
|
-
node.extra.isWrapped = true;
|
|
116
|
-
wrapperFunction.extra = wrapperFunction.extra || {};
|
|
117
|
-
wrapperFunction.extra.isWrapper = true;
|
|
118
|
-
if (path.parentPath.isExportNamedDeclaration()) {
|
|
119
|
-
path.replaceWithMultiple([originalFunction, import_types.default.exportNamedDeclaration(wrapperFunction, [])]);
|
|
120
|
-
} else {
|
|
121
|
-
path.replaceWithMultiple([originalFunction, wrapperFunction]);
|
|
122
|
-
}
|
|
84
|
+
let parsed;
|
|
85
|
+
try {
|
|
86
|
+
parsed = (0, import_oxc_parser.parseSync)("api.js", code);
|
|
87
|
+
} catch {
|
|
88
|
+
return code;
|
|
89
|
+
}
|
|
90
|
+
if (!parsed?.program) return code;
|
|
91
|
+
const functionNamesToHandle = /* @__PURE__ */new Set(["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"]);
|
|
92
|
+
const ms = new import_magic_string.default(code);
|
|
93
|
+
const wrappersToAppend = [];
|
|
94
|
+
for (const item of parsed.program.body || []) {
|
|
95
|
+
let fnDecl = null;
|
|
96
|
+
let isExported = false;
|
|
97
|
+
let exportNode = null;
|
|
98
|
+
if (item.type === "ExportNamedDeclaration" && item.declaration?.type === "FunctionDeclaration") {
|
|
99
|
+
fnDecl = item.declaration;
|
|
100
|
+
isExported = true;
|
|
101
|
+
exportNode = item;
|
|
102
|
+
} else if (item.type === "FunctionDeclaration") {
|
|
103
|
+
fnDecl = item;
|
|
104
|
+
isExported = false;
|
|
123
105
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
106
|
+
if (!fnDecl || !fnDecl.id?.name || !functionNamesToHandle.has(fnDecl.id.name)) {
|
|
107
|
+
continue;
|
|
108
|
+
}
|
|
109
|
+
const name = fnDecl.id.name;
|
|
110
|
+
const originalName = `orig_${name}`;
|
|
111
|
+
if (isExported) {
|
|
112
|
+
ms.remove(exportNode.start, fnDecl.start);
|
|
113
|
+
}
|
|
114
|
+
ms.overwrite(fnDecl.id.start, fnDecl.id.end, originalName);
|
|
115
|
+
const exportPrefix = isExported ? "export " : "";
|
|
116
|
+
wrappersToAppend.push(`
|
|
117
|
+
${exportPrefix}function ${name}(request) {
|
|
118
|
+
const url = new URL(request.url);
|
|
119
|
+
const params = Object.fromEntries(url.searchParams.entries());
|
|
120
|
+
return ${originalName}(request, { params });
|
|
121
|
+
}`);
|
|
122
|
+
}
|
|
123
|
+
if (wrappersToAppend.length > 0) {
|
|
124
|
+
ms.append(wrappersToAppend.join("\n"));
|
|
125
|
+
return ms.toString();
|
|
126
|
+
}
|
|
127
|
+
return code;
|
|
127
128
|
}
|