vike 0.4.152 → 0.4.153-commit-159c659
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/node/cli/bin.js +2 -2
- package/dist/cjs/node/plugin/index.js +2 -2
- package/dist/cjs/node/plugin/plugins/autoFullBuild.js +2 -2
- package/dist/cjs/node/plugin/plugins/envVars.js +1 -1
- package/dist/cjs/node/plugin/plugins/{assertFileEnv.js → fileEnv.js} +4 -4
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +1 -9
- package/dist/cjs/node/prerender/index.js +1 -1
- package/dist/cjs/node/prerender/runPrerender.js +21 -13
- package/dist/cjs/node/runtime/html/serializePageContextClientSide.js +5 -3
- package/dist/cjs/node/runtime/html/stream.js +2 -1
- package/dist/cjs/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.js +2 -1
- package/dist/cjs/node/runtime/renderPage/isNewError.js +1 -1
- package/dist/cjs/node/runtime/renderPage/{loadPageFilesServerSide.js → loadUserFilesServerSide.js} +5 -5
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +5 -4
- package/dist/cjs/node/runtime/renderPage.js +2 -2
- package/dist/cjs/node/runtime/utils.js +1 -2
- package/dist/cjs/shared/hooks/getHook.js +14 -8
- package/dist/cjs/shared/misc/isRenderFailure.js +4 -0
- package/dist/cjs/shared/misc/pageContextInitIsPassedToClient.js +4 -0
- package/dist/cjs/shared/route/abort.js +15 -4
- package/dist/cjs/shared/route/loadPageRoutes.js +1 -9
- package/dist/cjs/utils/isSameErrorMessage.js +10 -0
- package/dist/cjs/utils/projectInfo.js +1 -1
- package/dist/esm/client/client-routing-runtime/createPageContext.d.ts +0 -1
- package/dist/esm/client/client-routing-runtime/createPageContext.js +0 -3
- package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.d.ts +28 -33
- package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.js +42 -58
- package/dist/esm/client/client-routing-runtime/installClientRouter.d.ts +1 -1
- package/dist/esm/client/client-routing-runtime/installClientRouter.js +8 -2
- package/dist/esm/client/client-routing-runtime/onBrowserHistoryNavigation.js +2 -2
- package/dist/esm/client/client-routing-runtime/onLinkClick.js +2 -2
- package/dist/esm/client/client-routing-runtime/prefetch/getPrefetchSettings.d.ts +1 -3
- package/dist/esm/client/client-routing-runtime/prefetch/getPrefetchSettings.js +1 -1
- package/dist/esm/client/client-routing-runtime/prefetch.d.ts +0 -1
- package/dist/esm/client/client-routing-runtime/prefetch.js +2 -2
- package/dist/esm/client/client-routing-runtime/renderPageClientSide.d.ts +1 -1
- package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +298 -204
- package/dist/esm/client/client-routing-runtime/utils.d.ts +1 -1
- package/dist/esm/client/client-routing-runtime/utils.js +1 -1
- package/dist/esm/client/server-routing-runtime/getPageContext.d.ts +2 -2
- package/dist/esm/client/server-routing-runtime/getPageContext.js +5 -4
- package/dist/esm/client/shared/executeOnRenderClientHook.d.ts +4 -2
- package/dist/esm/client/shared/getPageContextSerializedInHtml.d.ts +0 -1
- package/dist/esm/client/shared/getPageContextSerializedInHtml.js +1 -4
- package/dist/esm/client/shared/{loadPageFilesClientSide.d.ts → loadUserFilesClientSide.d.ts} +7 -6
- package/dist/esm/client/shared/{loadPageFilesClientSide.js → loadUserFilesClientSide.js} +4 -4
- package/dist/esm/node/cli/bin.js +3 -3
- package/dist/esm/node/plugin/index.js +2 -2
- package/dist/esm/node/plugin/plugins/autoFullBuild.js +3 -3
- package/dist/esm/node/plugin/plugins/envVars.js +1 -1
- package/dist/esm/node/plugin/plugins/fileEnv.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/{assertFileEnv.js → fileEnv.js} +3 -3
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +1 -9
- package/dist/esm/node/prerender/index.d.ts +1 -1
- package/dist/esm/node/prerender/index.js +1 -1
- package/dist/esm/node/prerender/runPrerender.d.ts +8 -8
- package/dist/esm/node/prerender/runPrerender.js +22 -14
- package/dist/esm/node/runtime/html/serializePageContextClientSide.d.ts +0 -1
- package/dist/esm/node/runtime/html/serializePageContextClientSide.js +5 -3
- package/dist/esm/node/runtime/html/stream.js +3 -2
- package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.js +2 -1
- package/dist/esm/node/runtime/renderPage/isNewError.js +2 -2
- package/dist/esm/node/runtime/renderPage/{loadPageFilesServerSide.d.ts → loadUserFilesServerSide.d.ts} +6 -6
- package/dist/esm/node/runtime/renderPage/{loadPageFilesServerSide.js → loadUserFilesServerSide.js} +4 -4
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +5 -4
- package/dist/esm/node/runtime/renderPage.js +2 -2
- package/dist/esm/node/runtime/utils.d.ts +1 -2
- package/dist/esm/node/runtime/utils.js +1 -2
- package/dist/esm/shared/hooks/getHook.d.ts +2 -0
- package/dist/esm/shared/hooks/getHook.js +13 -7
- package/dist/esm/shared/misc/isRenderFailure.d.ts +1 -0
- package/dist/esm/shared/misc/isRenderFailure.js +1 -0
- package/dist/esm/shared/misc/pageContextInitIsPassedToClient.d.ts +1 -0
- package/dist/esm/shared/misc/pageContextInitIsPassedToClient.js +1 -0
- package/dist/esm/shared/page-configs/Config.d.ts +1 -1
- package/dist/esm/shared/route/abort.d.ts +1 -1
- package/dist/esm/shared/route/abort.js +16 -5
- package/dist/esm/shared/route/loadPageRoutes.js +1 -9
- package/dist/esm/utils/isSameErrorMessage.d.ts +2 -0
- package/dist/esm/utils/isSameErrorMessage.js +7 -0
- package/dist/esm/utils/projectInfo.d.ts +2 -2
- package/dist/esm/utils/projectInfo.js +1 -1
- package/package.json +2 -2
- package/dist/cjs/utils/dynamicImport.js +0 -8
- package/dist/cjs/utils/isEquivalentError.js +0 -18
- package/dist/esm/node/plugin/plugins/assertFileEnv.d.ts +0 -3
- package/dist/esm/utils/dynamicImport.d.ts +0 -2
- package/dist/esm/utils/dynamicImport.js +0 -4
- package/dist/esm/utils/isEquivalentError.d.ts +0 -2
- package/dist/esm/utils/isEquivalentError.js +0 -15
|
@@ -26,7 +26,7 @@ export * from '../../utils/filesystemPathHandling.js';
|
|
|
26
26
|
export * from '../../utils/getOutDirs.js';
|
|
27
27
|
export * from '../../utils/capitalizeFirstLetter.js';
|
|
28
28
|
export * from '../../utils/debugGlob.js';
|
|
29
|
-
export * from '../../utils/
|
|
29
|
+
export * from '../../utils/isSameErrorMessage.js';
|
|
30
30
|
export * from '../../utils/styleFileRE.js';
|
|
31
31
|
export * from '../../utils/isPropertyGetter.js';
|
|
32
32
|
export * from '../../utils/debug.js';
|
|
@@ -48,7 +48,6 @@ export * from '../../utils/path-shim.js';
|
|
|
48
48
|
export * from '../../utils/nodeEnv.js';
|
|
49
49
|
export * from '../../utils/isHtml.js';
|
|
50
50
|
export * from '../../utils/warnIfErrorIsNotObject.js';
|
|
51
|
-
export * from '../../utils/dynamicImport.js';
|
|
52
51
|
export * from '../../utils/stripAnsi.js';
|
|
53
52
|
export * from '../../utils/getTerminWidth.js';
|
|
54
53
|
export * from '../../utils/truncateString.js';
|
|
@@ -2,6 +2,7 @@ export { getHook };
|
|
|
2
2
|
export { getHookFromPageConfig };
|
|
3
3
|
export { getHookFromPageConfigGlobal };
|
|
4
4
|
export { assertHook };
|
|
5
|
+
export { setIsPrerenderering };
|
|
5
6
|
export type { Hook };
|
|
6
7
|
export type { HookName };
|
|
7
8
|
export type { HookLoc };
|
|
@@ -32,3 +33,4 @@ declare function assertHook<TPageContext extends PageContextExports, THookName e
|
|
|
32
33
|
exports: Record<THookName, Function | undefined>;
|
|
33
34
|
};
|
|
34
35
|
declare function getHookTimeoutDefault(hookName: HookName): HookTimeout;
|
|
36
|
+
declare function setIsPrerenderering(): void;
|
|
@@ -2,12 +2,17 @@ export { getHook };
|
|
|
2
2
|
export { getHookFromPageConfig };
|
|
3
3
|
export { getHookFromPageConfigGlobal };
|
|
4
4
|
export { assertHook };
|
|
5
|
+
export { setIsPrerenderering };
|
|
5
6
|
// TODO/v1-release: remove
|
|
6
7
|
// We export for old V0.4 design which doesn't support config.hooksTimeout
|
|
7
8
|
export { getHookTimeoutDefault };
|
|
9
|
+
import { getGlobalObject } from '../../utils/getGlobalObject.js';
|
|
8
10
|
import { getConfigValue, getHookFilePathToShowToUser } from '../page-configs/helpers.js';
|
|
9
11
|
import { assert, assertUsage, checkType, isCallable, isObject } from '../utils.js';
|
|
10
12
|
import pc from '@brillout/picocolors';
|
|
13
|
+
const globalObject = getGlobalObject('getHook.ts', {
|
|
14
|
+
isPrerendering: false
|
|
15
|
+
});
|
|
11
16
|
function getHook(pageContext, hookName) {
|
|
12
17
|
if (!(hookName in pageContext.exports)) {
|
|
13
18
|
return null;
|
|
@@ -110,19 +115,20 @@ function getHookTimeoutDefault(hookName) {
|
|
|
110
115
|
warning: 1 * 1000
|
|
111
116
|
};
|
|
112
117
|
}
|
|
113
|
-
if (
|
|
114
|
-
hookName === 'onBeforePrerenderStart' ||
|
|
115
|
-
// TODO/v1-release: remove
|
|
116
|
-
// Old V0.4 design hooks (https://vike.dev/migration/v1-design#renamed-hooks)
|
|
117
|
-
hookName === 'onBeforePrerender' ||
|
|
118
|
-
hookName === 'prerender') {
|
|
118
|
+
if (globalObject.isPrerendering) {
|
|
119
119
|
return {
|
|
120
|
-
error:
|
|
120
|
+
error: 2 * 60 * 1000,
|
|
121
121
|
warning: 30 * 1000
|
|
122
122
|
};
|
|
123
123
|
}
|
|
124
|
+
else {
|
|
125
|
+
assert(!hookName.toLowerCase().includes('prerender'));
|
|
126
|
+
}
|
|
124
127
|
return {
|
|
125
128
|
error: 30 * 1000,
|
|
126
129
|
warning: 4 * 1000
|
|
127
130
|
};
|
|
128
131
|
}
|
|
132
|
+
function setIsPrerenderering() {
|
|
133
|
+
globalObject.isPrerendering = true;
|
|
134
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isRenderFailure = "_isRenderFailure";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const isRenderFailure = '_isRenderFailure';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const pageContextInitIsPassedToClient = "_pageContextInitIsPassedToClient";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const pageContextInitIsPassedToClient = '_pageContextInitIsPassedToClient';
|
|
@@ -29,13 +29,13 @@ export type { OnRenderHtmlAsync };
|
|
|
29
29
|
export type { OnRenderHtmlSync };
|
|
30
30
|
export type { RouteAsync };
|
|
31
31
|
export type { RouteSync };
|
|
32
|
-
import type { PrefetchStaticAssets } from '../../client/client-routing-runtime/prefetch/getPrefetchSettings.js';
|
|
33
32
|
import type { ConfigDefinition } from '../../node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js';
|
|
34
33
|
import type { DocumentHtml } from '../../node/runtime/html/renderHtml.js';
|
|
35
34
|
import type { ConfigVikeUserProvided } from '../ConfigVike.js';
|
|
36
35
|
import type { Vike, VikePackages } from '../VikeNamespace.js';
|
|
37
36
|
import type { HooksTimeoutProvidedByUser } from '../hooks/getHook.js';
|
|
38
37
|
import type { PageContextClient, PageContextServer } from '../types.js';
|
|
38
|
+
import type { PrefetchStaticAssets } from '../types/PrefetchStaticAssets.js';
|
|
39
39
|
type HookName = HookNamePage | HookNameGlobal | HookNameOldDesign;
|
|
40
40
|
type HookNamePage = 'onHydrationEnd' | 'onBeforePrerenderStart' | 'onBeforeRender' | 'onPageTransitionStart' | 'onPageTransitionEnd' | 'onRenderHtml' | 'onRenderClient' | 'guard' | 'data';
|
|
41
41
|
type HookNameGlobal = 'onBeforePrerender' | 'onBeforeRoute' | 'onPrerenderStart';
|
|
@@ -57,7 +57,7 @@ declare function render(abortStatusCode: 401 | 403 | 404 | 410 | 429 | 500 | 503
|
|
|
57
57
|
* @param abortReason Sets `pageContext.abortReason` which is used by the error page to show a message to the user, see https://vike.dev/error-page
|
|
58
58
|
*/
|
|
59
59
|
declare function render(url: `/${string}`, abortReason?: AbortReason): Error;
|
|
60
|
-
type AbortCall = `
|
|
60
|
+
type AbortCall = `redirect(${string})` | `render(${string})` | `RenderErrorPage()`;
|
|
61
61
|
type PageContextAbort = {
|
|
62
62
|
_abortCall: AbortCall;
|
|
63
63
|
} & (({
|
|
@@ -7,7 +7,7 @@ export { logAbortErrorHandled };
|
|
|
7
7
|
export { getPageContextFromAllRewrites };
|
|
8
8
|
export { AbortRender };
|
|
9
9
|
export { assertNoInfiniteAbortLoop };
|
|
10
|
-
import { assert, assertInfo, assertUsage, assertWarning, checkType, hasProp, joinEnglish, objectAssign, projectInfo, truncateString } from './utils.js';
|
|
10
|
+
import { assert, assertInfo, assertUsage, assertWarning, checkType, hasProp, isUserHookError, joinEnglish, objectAssign, projectInfo, truncateString } from './utils.js';
|
|
11
11
|
import pc from '@brillout/picocolors';
|
|
12
12
|
/**
|
|
13
13
|
* Abort the rendering of the current page, and redirect the user to another URL instead.
|
|
@@ -30,7 +30,7 @@ function redirect(url, statusCode) {
|
|
|
30
30
|
const pageContextAbort = {};
|
|
31
31
|
objectAssign(pageContextAbort, {
|
|
32
32
|
_abortCaller: abortCaller,
|
|
33
|
-
_abortCall: `
|
|
33
|
+
_abortCall: `redirect(${args.join(', ')})`,
|
|
34
34
|
_urlRedirect: {
|
|
35
35
|
url,
|
|
36
36
|
statusCode
|
|
@@ -43,7 +43,7 @@ function render(value, abortReason) {
|
|
|
43
43
|
if (abortReason !== undefined)
|
|
44
44
|
args.push(truncateString(JSON.stringify(abortReason), 30));
|
|
45
45
|
const abortCaller = 'throw render()';
|
|
46
|
-
const abortCall = `
|
|
46
|
+
const abortCall = `render(${args.join(', ')})`;
|
|
47
47
|
return render_(value, abortReason, abortCall, abortCaller);
|
|
48
48
|
}
|
|
49
49
|
function render_(value, abortReason, abortCall, abortCaller, pageContextAddendum) {
|
|
@@ -92,7 +92,7 @@ function RenderErrorPage({ pageContext = {} } = {}) {
|
|
|
92
92
|
abortReason = 'Something went wrong';
|
|
93
93
|
}
|
|
94
94
|
objectAssign(pageContext, { _isLegacyRenderErrorPage: true });
|
|
95
|
-
return render_(abortStatusCode, abortReason, '
|
|
95
|
+
return render_(abortStatusCode, abortReason, 'RenderErrorPage()', 'throw RenderErrorPage()', pageContext);
|
|
96
96
|
}
|
|
97
97
|
const stamp = '_isAbortError';
|
|
98
98
|
function isAbortError(thing) {
|
|
@@ -115,7 +115,18 @@ function logAbortErrorHandled(err, isProduction, pageContext) {
|
|
|
115
115
|
const urlCurrent = pageContext._urlRewrite ?? pageContext.urlOriginal;
|
|
116
116
|
assert(urlCurrent);
|
|
117
117
|
const abortCall = err._pageContextAbort._abortCall;
|
|
118
|
-
|
|
118
|
+
assert(abortCall);
|
|
119
|
+
const hookLoc = isUserHookError(err);
|
|
120
|
+
let thrownBy = '';
|
|
121
|
+
if (hookLoc) {
|
|
122
|
+
thrownBy = ` by ${pc.cyan(`${hookLoc.hookName}()`)} hook defined at ${hookLoc.hookFilePath}`;
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
// hookLoc is missing when serializing abort errors from server to client
|
|
126
|
+
}
|
|
127
|
+
assertInfo(false, `${pc.cyan(abortCall)} thrown${thrownBy} while rendering ${pc.cyan(urlCurrent)}`, {
|
|
128
|
+
onlyOnce: false
|
|
129
|
+
});
|
|
119
130
|
}
|
|
120
131
|
function assertStatusCode(statusCode, expected, caller) {
|
|
121
132
|
const expectedEnglish = joinEnglish(expected.map((s) => s.toString()), 'or');
|
|
@@ -16,7 +16,6 @@ pageFilesAll, pageConfigs, pageConfigGlobal, allPageIds) {
|
|
|
16
16
|
}
|
|
17
17
|
function getPageRoutes(filesystemRoots, pageFilesAll, pageConfigs, allPageIds) {
|
|
18
18
|
const pageRoutes = [];
|
|
19
|
-
let pageIds = [...allPageIds];
|
|
20
19
|
// V1 Design
|
|
21
20
|
if (pageConfigs.length > 0) {
|
|
22
21
|
assert(filesystemRoots === null);
|
|
@@ -25,7 +24,6 @@ function getPageRoutes(filesystemRoots, pageFilesAll, pageConfigs, allPageIds) {
|
|
|
25
24
|
.filter((p) => !p.isErrorPage)
|
|
26
25
|
.forEach((pageConfig) => {
|
|
27
26
|
const pageId = pageConfig.pageId;
|
|
28
|
-
pageIds = removePageId(pageIds, pageId);
|
|
29
27
|
let pageRoute = null;
|
|
30
28
|
{
|
|
31
29
|
const configName = 'route';
|
|
@@ -79,7 +77,7 @@ function getPageRoutes(filesystemRoots, pageFilesAll, pageConfigs, allPageIds) {
|
|
|
79
77
|
if (pageConfigs.length === 0) {
|
|
80
78
|
assert(filesystemRoots);
|
|
81
79
|
const comesFromV1PageConfig = false;
|
|
82
|
-
|
|
80
|
+
allPageIds
|
|
83
81
|
.filter((pageId) => !isErrorPageId(pageId, false))
|
|
84
82
|
.forEach((pageId) => {
|
|
85
83
|
const pageRouteFile = pageFilesAll.find((p) => p.pageId === pageId && p.fileType === '.page.route');
|
|
@@ -179,9 +177,3 @@ function dirname(filePath) {
|
|
|
179
177
|
assert(!dirPath.endsWith('/') || dirPath === '/');
|
|
180
178
|
return dirPath;
|
|
181
179
|
}
|
|
182
|
-
function removePageId(pageIds, pageId) {
|
|
183
|
-
const { length } = pageIds;
|
|
184
|
-
pageIds = pageIds.filter((id) => id !== pageId);
|
|
185
|
-
assert(pageIds.length === length - 1);
|
|
186
|
-
return pageIds;
|
|
187
|
-
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export { projectInfo };
|
|
2
2
|
export type { ProjectTag };
|
|
3
3
|
export { PROJECT_VERSION };
|
|
4
|
-
declare const PROJECT_VERSION: "0.4.
|
|
4
|
+
declare const PROJECT_VERSION: "0.4.153-commit-159c659";
|
|
5
5
|
type PackageName = typeof projectInfo.npmPackageName;
|
|
6
6
|
type ProjectVersion = typeof projectInfo.projectVersion;
|
|
7
7
|
type ProjectTag = `[${PackageName}]` | `[${PackageName}@${ProjectVersion}]`;
|
|
8
8
|
declare const projectInfo: {
|
|
9
9
|
projectName: "Vike";
|
|
10
|
-
projectVersion: "0.4.
|
|
10
|
+
projectVersion: "0.4.153-commit-159c659";
|
|
11
11
|
npmPackageName: "vike";
|
|
12
12
|
githubRepository: "https://github.com/vikejs/vike";
|
|
13
13
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { projectInfo };
|
|
2
2
|
export { PROJECT_VERSION };
|
|
3
3
|
import { onProjectInfo } from './assertSingleInstance.js';
|
|
4
|
-
const PROJECT_VERSION = '0.4.
|
|
4
|
+
const PROJECT_VERSION = '0.4.153-commit-159c659';
|
|
5
5
|
const projectInfo = {
|
|
6
6
|
projectName: 'Vike',
|
|
7
7
|
projectVersion: PROJECT_VERSION,
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vike",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.153-commit-159c659",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"dev": "tsc --watch",
|
|
6
6
|
"build": "rimraf dist/ && pnpm run build:esm && pnpm run build:cjs",
|
|
7
7
|
"build:esm": "tsc",
|
|
8
8
|
"build:cjs": "pnpm run build:cjs:ts && pnpm run build:cjs:fixup",
|
|
9
|
-
"build:cjs:ts": "tsc --
|
|
9
|
+
"build:cjs:ts": "tsc --project ./tsconfig.cjs.json",
|
|
10
10
|
"build:cjs:fixup": "node ./dist-cjs-fixup.mjs",
|
|
11
11
|
"release": "release-me patch",
|
|
12
12
|
"release:commit": "release-me commit"
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.dynamicImport = void 0;
|
|
4
|
-
/** Only works for npm packages, for files use @brillout/import instead */
|
|
5
|
-
function dynamicImport(mod) {
|
|
6
|
-
return new Function('mod', 'return import(mod)')(mod);
|
|
7
|
-
}
|
|
8
|
-
exports.dynamicImport = dynamicImport;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isEquivalentError = void 0;
|
|
4
|
-
const isObject_js_1 = require("./isObject.js");
|
|
5
|
-
const deepEqual_js_1 = require("./deepEqual.js");
|
|
6
|
-
function isEquivalentError(err1, err2) {
|
|
7
|
-
return ((0, isObject_js_1.isObject)(err1) &&
|
|
8
|
-
(0, isObject_js_1.isObject)(err2) &&
|
|
9
|
-
err1.constructor === err2.constructor &&
|
|
10
|
-
(0, deepEqual_js_1.deepEqual)({ ...err1, stack: null }, { ...err2, stack: null }) &&
|
|
11
|
-
// 'message' and 'stack' are usually non-emurable
|
|
12
|
-
err2.message === err2.message
|
|
13
|
-
/* Doesn't work because: the stack trace isn't exactly the same between the original page rendering and the fallback error page rendering
|
|
14
|
-
err2.stack === err2.stack
|
|
15
|
-
*/
|
|
16
|
-
);
|
|
17
|
-
}
|
|
18
|
-
exports.isEquivalentError = isEquivalentError;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { isObject } from './isObject.js';
|
|
2
|
-
import { deepEqual } from './deepEqual.js';
|
|
3
|
-
export { isEquivalentError };
|
|
4
|
-
function isEquivalentError(err1, err2) {
|
|
5
|
-
return (isObject(err1) &&
|
|
6
|
-
isObject(err2) &&
|
|
7
|
-
err1.constructor === err2.constructor &&
|
|
8
|
-
deepEqual({ ...err1, stack: null }, { ...err2, stack: null }) &&
|
|
9
|
-
// 'message' and 'stack' are usually non-emurable
|
|
10
|
-
err2.message === err2.message
|
|
11
|
-
/* Doesn't work because: the stack trace isn't exactly the same between the original page rendering and the fallback error page rendering
|
|
12
|
-
err2.stack === err2.stack
|
|
13
|
-
*/
|
|
14
|
-
);
|
|
15
|
-
}
|