vike 0.4.252 → 0.4.253-commit-1658209

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 (47) hide show
  1. package/dist/client/runtime-client-routing/createPageContextClient.d.ts +1 -1
  2. package/dist/client/runtime-client-routing/entry.js +0 -4
  3. package/dist/client/runtime-client-routing/getGlobalContextClientInternal.d.ts +1 -1
  4. package/dist/client/runtime-client-routing/getPageContextCurrent.js +1 -1
  5. package/dist/client/runtime-client-routing/getPageContextFromHooks.d.ts +12 -4
  6. package/dist/client/runtime-client-routing/getPageContextFromHooks.js +1 -1
  7. package/dist/client/runtime-client-routing/history.d.ts +1 -1
  8. package/dist/client/runtime-client-routing/history.js +2 -2
  9. package/dist/client/runtime-client-routing/initClientRouter.d.ts +1 -1
  10. package/dist/client/runtime-client-routing/initClientRouter.js +13 -6
  11. package/dist/client/runtime-client-routing/navigate.js +4 -3
  12. package/dist/client/runtime-client-routing/prefetch.js +1 -1
  13. package/dist/client/runtime-client-routing/renderPageClient.d.ts +4 -6
  14. package/dist/client/runtime-client-routing/renderPageClient.js +25 -19
  15. package/dist/client/runtime-client-routing/scrollRestoration.js +1 -1
  16. package/dist/client/runtime-client-routing/setScrollPosition.d.ts +3 -0
  17. package/dist/client/runtime-client-routing/setScrollPosition.js +6 -2
  18. package/dist/node/prerender/runPrerender.d.ts +6 -4
  19. package/dist/node/vite/plugins/pluginReplaceConstantsEnvVars.js +27 -12
  20. package/dist/node/vite/plugins/pluginReplaceConstantsGlobalThis.d.ts +2 -0
  21. package/dist/node/vite/plugins/pluginReplaceConstantsGlobalThis.js +1 -0
  22. package/dist/node/vite/shared/loggerVite.js +11 -4
  23. package/dist/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +7 -3
  24. package/dist/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +7 -2
  25. package/dist/server/runtime/globalContext.d.ts +10 -10
  26. package/dist/server/runtime/renderPageServer/addErrorHint.js +2 -1
  27. package/dist/server/runtime/renderPageServer/createPageContextServer.d.ts +9 -5
  28. package/dist/server/runtime/renderPageServer/execHookOnRenderHtml.d.ts +2 -2
  29. package/dist/server/runtime/renderPageServer/handlePageContextRequestUrl.js +5 -5
  30. package/dist/server/runtime/renderPageServer/loadPageConfigsLazyServerSide.d.ts +6 -4
  31. package/dist/server/runtime/renderPageServer/renderPageServerAfterRoute.d.ts +24 -16
  32. package/dist/server/runtime/renderPageServer.d.ts +6 -4
  33. package/dist/shared-server-client/assertVirtualFileExports.js +3 -3
  34. package/dist/shared-server-client/createGlobalContextShared.d.ts +2 -2
  35. package/dist/shared-server-client/hooks/execHook.d.ts +13 -7
  36. package/dist/shared-server-client/hooks/execHook.js +1 -0
  37. package/dist/shared-server-client/hooks/getHook.d.ts +7 -7
  38. package/dist/shared-server-client/route/abort.js +1 -4
  39. package/dist/shared-server-client/route/loadPageRoutes.d.ts +3 -3
  40. package/dist/types/Config.d.ts +2 -5
  41. package/dist/types/PageContext.d.ts +2 -1
  42. package/dist/utils/PROJECT_VERSION.d.ts +1 -1
  43. package/dist/utils/PROJECT_VERSION.js +1 -1
  44. package/dist/utils/debug.js +8 -12
  45. package/dist/utils/isBrowser.d.ts +1 -0
  46. package/dist/utils/isBrowser.js +5 -3
  47. package/package.json +17 -17
@@ -4,7 +4,7 @@ export { getHookFromPageConfig };
4
4
  export { getHookFromPageConfigGlobal };
5
5
  export { getHooksFromPageConfigGlobalCumulative };
6
6
  export { getHook_setIsPrerenderering };
7
- export type { Hook };
7
+ export type { HookInternal };
8
8
  export type { HookLoc };
9
9
  export type { HookTimeout };
10
10
  export type { HooksTimeoutProvidedByUser };
@@ -15,7 +15,7 @@ import type { PageConfigGlobalRuntime, PageConfigRuntime } from '../../types/Pag
15
15
  import type { GlobalContextPublicMinimum } from '../getGlobalContextPublicShared.js';
16
16
  import type { PageContextPublicMinimum } from '../getPageContextPublicShared.js';
17
17
  type HookArgDefault = PageContextPublicMinimum;
18
- type Hook<HookArg = HookArgDefault> = HookLoc & {
18
+ type HookInternal<HookArg = HookArgDefault> = HookLoc & {
19
19
  hookFn: HookFn<HookArg>;
20
20
  hookTimeout: HookTimeout;
21
21
  };
@@ -29,10 +29,10 @@ type HookTimeout = {
29
29
  warning: number | false;
30
30
  };
31
31
  type HooksTimeoutProvidedByUser = false | Partial<Record<HookNameOld, false | Partial<HookTimeout>>>;
32
- declare function getHookFromPageContext(pageContext: PageContextConfig, hookName: HookNameOld): null | Hook;
33
- declare function getHooksFromPageContextNew(hookName: HookName, pageContext: PageContextConfig): Hook[];
34
- declare function getHookFromPageConfig(pageConfig: PageConfigRuntime, hookName: HookNamePage): null | Hook;
35
- declare function getHookFromPageConfigGlobal(pageConfigGlobal: PageConfigGlobalRuntime, hookName: HookNameGlobal): null | Hook;
36
- declare function getHooksFromPageConfigGlobalCumulative<HookArg = GlobalContextPublicMinimum>(pageConfigGlobal: PageConfigGlobalRuntime, hookName: HookNameGlobal): Hook<HookArg>[];
32
+ declare function getHookFromPageContext(pageContext: PageContextConfig, hookName: HookNameOld): null | HookInternal;
33
+ declare function getHooksFromPageContextNew(hookName: HookName, pageContext: PageContextConfig): HookInternal[];
34
+ declare function getHookFromPageConfig(pageConfig: PageConfigRuntime, hookName: HookNamePage): null | HookInternal;
35
+ declare function getHookFromPageConfigGlobal(pageConfigGlobal: PageConfigGlobalRuntime, hookName: HookNameGlobal): null | HookInternal;
36
+ declare function getHooksFromPageConfigGlobalCumulative<HookArg = GlobalContextPublicMinimum>(pageConfigGlobal: PageConfigGlobalRuntime, hookName: HookNameGlobal): HookInternal<HookArg>[];
37
37
  declare function getHookTimeoutDefault(hookName: HookNameOld): HookTimeout;
38
38
  declare function getHook_setIsPrerenderering(): void;
@@ -163,15 +163,12 @@ function assertStatusCode(statusCode, expected, caller) {
163
163
  }
164
164
  else {
165
165
  assert(!isBrowser());
166
- if (import.meta.env) {
166
+ if (globalThis.__VIKE__NO_EXTERNAL) {
167
167
  assert(typeof globalThis.__VIKE__IS_DEV === 'boolean');
168
168
  assert(typeof globalThis.__VIKE__IS_CLIENT === 'boolean');
169
169
  assert(import.meta.env.SSR === true);
170
170
  assert(import.meta.env.DEV === globalThis.__VIKE__IS_DEV);
171
171
  }
172
- else {
173
- // import.meta.env isn't defined when 'vike' is ssr.external
174
- }
175
172
  }
176
173
  const expectedEnglish = joinEnglish(expected.map((s) => pc.bold(String(s))), 'or');
177
174
  const statusCodeWithColor = pc.bold(String(statusCode));
@@ -4,7 +4,7 @@ export type { PageRoutes };
4
4
  export type { RouteType };
5
5
  import type { PageFile } from '../getPageFiles.js';
6
6
  import type { PageConfigRuntime, PageConfigGlobalRuntime } from '../../types/PageConfig.js';
7
- import { type Hook } from '../hooks/getHook.js';
7
+ import { type HookInternal } from '../hooks/getHook.js';
8
8
  type PageRoute = {
9
9
  pageId: string;
10
10
  comesFromV1PageConfig: boolean;
@@ -27,9 +27,9 @@ type PageRoutes = PageRoute[];
27
27
  type RouteType = 'STRING' | 'FUNCTION' | 'FILESYSTEM';
28
28
  declare function loadPageRoutes(pageFilesAll: PageFile[], pageConfigs: PageConfigRuntime[], pageConfigGlobal: PageConfigGlobalRuntime, allPageIds: string[]): Promise<{
29
29
  pageRoutes: PageRoutes;
30
- onBeforeRouteHook: null | Hook;
30
+ onBeforeRouteHook: null | HookInternal;
31
31
  }>;
32
32
  declare function loadPageRoutesSync(pageFilesAll: PageFile[], pageConfigs: PageConfigRuntime[], pageConfigGlobal: PageConfigGlobalRuntime, allPageIds: string[]): {
33
33
  pageRoutes: PageRoutes;
34
- onBeforeRouteHook: null | Hook;
34
+ onBeforeRouteHook: null | HookInternal;
35
35
  };
@@ -48,6 +48,7 @@ import type { PassToClientPublic } from '../server/runtime/renderPageServer/html
48
48
  import type { CliPreviewConfig } from '../node/api/preview.js';
49
49
  import type { StaticReplace } from '../node/vite/plugins/pluginStaticReplace/applyStaticReplace.js';
50
50
  import type { ImportStringList } from '../node/vite/shared/importString.js';
51
+ import type { HookPublic } from '../shared-server-client/hooks/execHook.js';
51
52
  type HookNameOld = HookName | HookNameOldDesign;
52
53
  type HookName = HookNamePage | HookNameGlobal;
53
54
  type HookNamePage = 'onHydrationEnd' | 'onBeforePrerenderStart' | 'onBeforeRender' | 'onPageTransitionStart' | 'onPageTransitionEnd' | 'onRenderHtml' | 'onRenderClient' | 'guard' | 'data' | 'onData' | 'route';
@@ -296,11 +297,7 @@ type ConfigBuiltIn = {
296
297
  *
297
298
  * https://vike.dev/onHookCall
298
299
  */
299
- onHookCall?: ((hook: {
300
- name: HookName;
301
- filePath: string;
302
- call: () => void | Promise<void>;
303
- }, pageContext: PageContextClient | PageContextServer | null) => void | Promise<void>) | ImportStringList;
300
+ onHookCall?: ((hook: HookPublic, pageContext: PageContextServer | null) => void | Promise<void>) | ImportStringList;
304
301
  /** Hook for fetching data.
305
302
  *
306
303
  * https://vike.dev/data
@@ -131,7 +131,6 @@ type PageContextInit = {
131
131
  */
132
132
  headersOriginal?: unknown;
133
133
  /** @deprecated Set `pageContextInit.urlOriginal` instead */ url?: string;
134
- /** @deprecated Set pageContextInit.headersOriginal instead */ headers?: Record<string, string>;
135
134
  };
136
135
  type PageContextBuiltInServer<Data> = PageContextBuiltInCommon<Data> & PageContextInit & PageContextUrlServer & {
137
136
  /**
@@ -270,6 +269,8 @@ type PageContextClientCommon = {
270
269
  * https://vike.dev/pageContext#isPrerendering
271
270
  */
272
271
  isPrerendering: false;
272
+ cspNonce?: undefined;
273
+ headers?: undefined;
273
274
  };
274
275
  type PageContextInternalServer = Omit<PageContextBuiltInCommon<unknown> & PageContextUrlInternal, 'data' | 'globalContext'>;
275
276
  type OnlyUsers = 'data' | 'Page' | 'globalContext';
@@ -1 +1 @@
1
- export declare const PROJECT_VERSION: "0.4.252";
1
+ export declare const PROJECT_VERSION: "0.4.253-commit-1658209";
@@ -1,2 +1,2 @@
1
1
  // Automatically updated by @brillout/release-me
2
- export const PROJECT_VERSION = '0.4.252';
2
+ export const PROJECT_VERSION = '0.4.253-commit-1658209';
@@ -175,22 +175,18 @@ function getFlagsActivated() {
175
175
  }
176
176
  function getDEBUG() {
177
177
  assert(isUsed);
178
- let DEBUG;
179
178
  // ssr.noExternal
180
- /* // Full implementation:
181
- // - https://github.com/vikejs/vike/commit/7637564a98f43e23834bcae2f7ada8d941958a34
182
- // - https://github.com/vikejs/vike/pull/2718
183
- // - We don't implement this yet because it crashes @cloudflare/vite-plugin
184
- if (import.meta.env) {
185
- return import.meta.env.DEBUG
179
+ // - @cloudflare/vite-plugin
180
+ try {
181
+ return import.meta.env.DEBUG;
186
182
  }
187
- //*/
183
+ catch { }
188
184
  // ssr.external
189
- // - `process` can be undefined in edge workers
190
- // - We want bundlers to be able to statically replace `process.env.*`
185
+ // - `process` can be `undefined` (e.g. edge workers)
186
+ // - We want bundlers (e.g. webpack) to be able to statically replace `process.env.*`
191
187
  try {
192
- DEBUG = process.env.DEBUG;
188
+ return process.env.DEBUG;
193
189
  }
194
190
  catch { }
195
- return DEBUG;
191
+ return null;
196
192
  }
@@ -1 +1,2 @@
1
+ /** Test whether the environment is a *real* browser (not a browser simulation such as `jsdom`). */
1
2
  export declare function isBrowser(): boolean;
@@ -1,5 +1,7 @@
1
+ /** Test whether the environment is a *real* browser (not a browser simulation such as `jsdom`). */
1
2
  export function isBrowser() {
2
- // Using `typeof window !== 'undefined'` alone is not enough because some users use https://www.npmjs.com/package/ssr-window
3
- return typeof window !== 'undefined' && typeof window.scrollY === 'number';
4
- // Alternatively, test whether environment is a *real* browser: https://github.com/brillout/picocolors/blob/d59a33a0fd52a8a33e4158884069192a89ce0113/picocolors.js#L87-L89
3
+ // - Using `typeof window !== 'undefined'` alone isn't narrow enough because some users use https://www.npmjs.com/package/ssr-window
4
+ // - Using `typeof window !== "undefined" && typeof window.scrollY === "number"` still isn't narrow enough because of jsdom
5
+ // - https://github.com/jsdom/jsdom/issues/1537#issuecomment-1689368267
6
+ return Object.getOwnPropertyDescriptor(globalThis, 'window')?.get?.toString().includes('[native code]') ?? false;
5
7
  }
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "vike",
3
- "version": "0.4.252",
3
+ "version": "0.4.253-commit-1658209",
4
4
  "repository": "https://github.com/vikejs/vike",
5
5
  "exports": {
6
6
  "./server": {
7
+ "types": "./dist/server/runtime/index.d.ts",
7
8
  "worker": "./dist/server/runtime/index.js",
8
9
  "workerd": "./dist/server/runtime/index.js",
9
10
  "node": "./dist/server/runtime/index.js",
10
11
  "browser": "./dist/client/node.js",
11
- "types": "./dist/server/runtime/index.d.ts",
12
12
  "default": "./dist/server/runtime/index.js"
13
13
  },
14
14
  "./client": {
@@ -19,89 +19,89 @@
19
19
  "default": "./dist/types/index.js"
20
20
  },
21
21
  "./client/router": {
22
+ "types": "./dist/client/runtime-client-routing/index.d.ts",
22
23
  "worker": "./dist/server/client/router.js",
23
24
  "workerd": "./dist/server/client/router.js",
24
25
  "node": "./dist/server/client/router.js",
25
26
  "browser": "./dist/client/runtime-client-routing/index.js",
26
- "types": "./dist/client/runtime-client-routing/index.d.ts",
27
27
  "default": "./dist/client/runtime-client-routing/index.js"
28
28
  },
29
29
  "./routing": {
30
+ "types": "./dist/shared-server-client/route/routing.d.ts",
30
31
  "worker": "./dist/shared-server-client/route/routing.js",
31
32
  "workerd": "./dist/shared-server-client/route/routing.js",
32
33
  "node": "./dist/shared-server-client/route/routing.js",
33
34
  "browser": "./dist/shared-server-client/route/routing.js",
34
- "types": "./dist/shared-server-client/route/routing.d.ts",
35
35
  "default": "./dist/shared-server-client/route/routing.js"
36
36
  },
37
37
  "./cli": {
38
- "node": "./dist/node/cli/index.js",
39
38
  "types": "./dist/node/cli/index.d.ts",
39
+ "node": "./dist/node/cli/index.js",
40
40
  "default": "./dist/node/cli/index.js"
41
41
  },
42
42
  "./api": {
43
- "node": "./dist/node/api/index.js",
44
43
  "types": "./dist/node/api/index.d.ts",
44
+ "node": "./dist/node/api/index.js",
45
45
  "default": "./dist/node/api/index.js"
46
46
  },
47
47
  "./prerender": {
48
- "node": "./dist/node/prerender/index.js",
49
48
  "types": "./dist/node/prerender/index.d.ts",
49
+ "node": "./dist/node/prerender/index.js",
50
50
  "default": "./dist/node/prerender/index.js"
51
51
  },
52
52
  "./plugin": {
53
- "node": "./dist/node/vite/index.js",
54
53
  "types": "./dist/node/vite/index.d.ts",
54
+ "node": "./dist/node/vite/index.js",
55
55
  "default": "./dist/node/vite/index.js"
56
56
  },
57
57
  "./RenderErrorPage": {
58
+ "types": "./dist/shared-server-client/RenderErrorPage.d.ts",
58
59
  "worker": "./dist/shared-server-client/RenderErrorPage.js",
59
60
  "workerd": "./dist/shared-server-client/RenderErrorPage.js",
60
61
  "node": "./dist/shared-server-client/RenderErrorPage.js",
61
62
  "browser": "./dist/shared-server-client/RenderErrorPage.js",
62
- "types": "./dist/shared-server-client/RenderErrorPage.d.ts",
63
63
  "default": "./dist/shared-server-client/RenderErrorPage.js"
64
64
  },
65
65
  "./abort": {
66
+ "types": "./dist/shared-server-client/abort.d.ts",
66
67
  "worker": "./dist/shared-server-client/abort.js",
67
68
  "workerd": "./dist/shared-server-client/abort.js",
68
69
  "node": "./dist/shared-server-client/abort.js",
69
70
  "browser": "./dist/shared-server-client/abort.js",
70
- "types": "./dist/shared-server-client/abort.d.ts",
71
71
  "default": "./dist/shared-server-client/abort.js"
72
72
  },
73
73
  "./getPageContext": {
74
+ "types": "./dist/server/runtime/getPageContext.d.ts",
74
75
  "worker": "./dist/server/runtime/getPageContext.js",
75
76
  "workerd": "./dist/server/runtime/getPageContext.js",
76
77
  "node": "./dist/server/runtime/getPageContext.js",
77
78
  "browser": "./dist/client/runtime-client-routing/getPageContext.js",
78
- "types": "./dist/server/runtime/getPageContext.d.ts",
79
79
  "default": "./dist/server/runtime/getPageContext.js"
80
80
  },
81
81
  "./modifyUrl": {
82
+ "types": "./dist/shared-server-client/modifyUrl.d.ts",
82
83
  "worker": "./dist/shared-server-client/modifyUrl.js",
83
84
  "workerd": "./dist/shared-server-client/modifyUrl.js",
84
85
  "node": "./dist/shared-server-client/modifyUrl.js",
85
86
  "browser": "./dist/shared-server-client/modifyUrl.js",
86
- "types": "./dist/shared-server-client/modifyUrl.d.ts",
87
87
  "default": "./dist/shared-server-client/modifyUrl.js"
88
88
  },
89
89
  "./universal-middleware": {
90
+ "types": "./dist/server/runtime/universal-middleware.d.ts",
90
91
  "worker": "./dist/server/runtime/universal-middleware.js",
91
92
  "workerd": "./dist/server/runtime/universal-middleware.js",
92
93
  "node": "./dist/server/runtime/universal-middleware.js",
93
94
  "browser": "./dist/client/node.js",
94
- "types": "./dist/server/runtime/universal-middleware.d.ts",
95
95
  "default": "./dist/server/runtime/universal-middleware.js"
96
96
  },
97
97
  "./__internal": {
98
- "node": "./dist/server/__internal/index.js",
99
98
  "types": "./dist/server/__internal/index.d.ts",
99
+ "node": "./dist/server/__internal/index.js",
100
100
  "default": "./dist/server/__internal/index.js"
101
101
  },
102
102
  "./__internal/setup": {
103
- "node": "./dist/server/runtime/page-files/setup.js",
104
103
  "types": "./dist/server/runtime/page-files/setup.d.ts",
104
+ "node": "./dist/server/runtime/page-files/setup.js",
105
105
  "default": "./dist/server/runtime/page-files/setup.js"
106
106
  },
107
107
  "./__internal/vite": {
@@ -109,11 +109,11 @@
109
109
  "default": "./dist/server/__internal/vite.js"
110
110
  },
111
111
  ".": {
112
+ "types": "./dist/server/runtime/index.d.ts",
112
113
  "worker": "./dist/server/runtime/index.js",
113
114
  "workerd": "./dist/server/runtime/index.js",
114
115
  "node": "./dist/server/runtime/index.js",
115
116
  "browser": "./dist/client/index.js",
116
- "types": "./dist/server/runtime/index.d.ts",
117
117
  "default": "./dist/server/runtime/index.js"
118
118
  }
119
119
  },
@@ -153,7 +153,7 @@
153
153
  "node": ">=20.19.0"
154
154
  },
155
155
  "license": "MIT",
156
- "description": "The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.",
156
+ "description": "(Replaces Next.js/Nuxt) 🔨 Composable framework to build advanced applications with flexibility and stability.",
157
157
  "keywords": [
158
158
  "vite-plugin",
159
159
  "ssr",