vike 0.4.256 → 0.4.257-commit-3b8b557

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 (67) hide show
  1. package/dist/client/runtime-client-routing/createPageContextClient.d.ts +2 -24
  2. package/dist/client/runtime-client-routing/getGlobalContextClientInternal.d.ts +2 -24
  3. package/dist/client/runtime-client-routing/getPageContextFromHooks.d.ts +8 -96
  4. package/dist/client/runtime-client-routing/renderPageClient.d.ts +8 -96
  5. package/dist/client/runtime-server-routing/createPageContextClient.d.ts +2 -24
  6. package/dist/client/runtime-server-routing/getGlobalContextClientInternal.d.ts +2 -24
  7. package/dist/client/shared/getGlobalContextClientInternalShared.d.ts +2 -24
  8. package/dist/node/api/preview.js +14 -6
  9. package/dist/node/prerender/runPrerender.d.ts +9 -36
  10. package/dist/node/vite/index.js +2 -0
  11. package/dist/node/vite/plugins/pluginDev/optimizeDeps.d.ts +1 -1
  12. package/dist/node/vite/plugins/pluginDev/optimizeDeps.js +2 -0
  13. package/dist/node/vite/plugins/pluginReplaceConstantsGlobalThis.js +2 -0
  14. package/dist/node/vite/plugins/pluginUniversalDeploy/common.d.ts +21 -0
  15. package/dist/node/vite/plugins/pluginUniversalDeploy/common.js +8 -0
  16. package/dist/node/vite/plugins/pluginUniversalDeploy/detectDeprecated.d.ts +4 -0
  17. package/dist/node/vite/plugins/pluginUniversalDeploy/detectDeprecated.js +21 -0
  18. package/dist/node/vite/plugins/pluginUniversalDeploy/getDeployConfig.d.ts +10 -0
  19. package/dist/node/vite/plugins/pluginUniversalDeploy/getDeployConfig.js +58 -0
  20. package/dist/node/vite/plugins/pluginUniversalDeploy/getServerConfig.d.ts +11 -0
  21. package/dist/node/vite/plugins/pluginUniversalDeploy/getServerConfig.js +49 -0
  22. package/dist/node/vite/plugins/pluginUniversalDeploy/pluginResolvePlusServer.d.ts +7 -0
  23. package/dist/node/vite/plugins/pluginUniversalDeploy/pluginResolvePlusServer.js +23 -0
  24. package/dist/node/vite/plugins/pluginUniversalDeploy/pluginServerEntryAlias.d.ts +5 -0
  25. package/dist/node/vite/plugins/pluginUniversalDeploy/pluginServerEntryAlias.js +42 -0
  26. package/dist/node/vite/plugins/pluginUniversalDeploy/pluginServerEntryInject.d.ts +4 -0
  27. package/dist/node/vite/plugins/pluginUniversalDeploy/pluginServerEntryInject.js +25 -0
  28. package/dist/node/vite/plugins/pluginUniversalDeploy/pluginUnwrapProdOptions.d.ts +4 -0
  29. package/dist/node/vite/plugins/pluginUniversalDeploy/pluginUnwrapProdOptions.js +22 -0
  30. package/dist/node/vite/plugins/pluginUniversalDeploy.d.ts +5 -0
  31. package/dist/node/vite/plugins/pluginUniversalDeploy.js +59 -0
  32. package/dist/node/vite/plugins/pluginWorkaroundVite6HmrRegression.js +2 -1
  33. package/dist/node/vite/shared/addSsrMiddleware.js +1 -0
  34. package/dist/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.d.ts +5 -1
  35. package/dist/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +8 -0
  36. package/dist/node/vite/shared/resolveVikeConfigInternal/pointerImports.d.ts +5 -2
  37. package/dist/node/vite/shared/resolveVikeConfigInternal/resolvePointerImport.js +9 -1
  38. package/dist/server/runtime/fetch.d.ts +10 -0
  39. package/dist/server/runtime/fetch.js +5 -0
  40. package/dist/server/runtime/globalContext.d.ts +10 -120
  41. package/dist/server/runtime/globalContext.js +11 -5
  42. package/dist/server/runtime/renderPageServer/createHttpResponse.d.ts +5 -3
  43. package/dist/server/runtime/renderPageServer/createHttpResponse.js +13 -1
  44. package/dist/server/runtime/renderPageServer/createPageContextServer.d.ts +15 -39
  45. package/dist/server/runtime/renderPageServer/loadPageConfigsLazyServerSide.d.ts +9 -36
  46. package/dist/server/runtime/renderPageServer/renderPageServerAfterRoute.d.ts +36 -144
  47. package/dist/server/runtime/renderPageServer.d.ts +13 -39
  48. package/dist/server/runtime/renderPageServer.js +51 -3
  49. package/dist/server/runtime/universal-middleware.d.ts +9 -2
  50. package/dist/server/runtime/universal-middleware.js +9 -1
  51. package/dist/shared-server-client/createGlobalContextShared.d.ts +4 -48
  52. package/dist/shared-server-client/page-configs/assertPlusFileExport.js +8 -4
  53. package/dist/shared-server-client/page-configs/loadAndParseVirtualFilePageEntry.js +6 -3
  54. package/dist/shared-server-client/page-configs/resolveVikeConfigPublic.d.ts +1 -0
  55. package/dist/types/Config.d.ts +32 -1
  56. package/dist/types/FilePath.d.ts +6 -6
  57. package/dist/types/PageContext.d.ts +15 -4
  58. package/dist/types/Server.d.ts +12 -0
  59. package/dist/types/Server.js +1 -0
  60. package/dist/types/VikeNamespace.d.ts +7 -0
  61. package/dist/types/index.d.ts +1 -0
  62. package/dist/utils/PROJECT_VERSION.d.ts +1 -1
  63. package/dist/utils/PROJECT_VERSION.js +1 -1
  64. package/dist/utils/isCloudflareWorkers.d.ts +1 -0
  65. package/dist/utils/isCloudflareWorkers.js +4 -0
  66. package/fetch.js +3 -0
  67. package/package.json +22 -4
@@ -21,10 +21,13 @@ async function loadAndParseVirtualFilePageEntry(pageConfig, isDev) {
21
21
  configValues = parseVirtualFileExportsPageEntry(virtualFileExportsPageEntry);
22
22
  }
23
23
  catch (e) {
24
- if (!(e instanceof ReferenceError))
24
+ // Safari WebKit bug: dynamic import() may resolve before the module body executes.
25
+ if (
26
+ // Throwing ReferenceError (TDZ): https://github.com/vikejs/vike/issues/3121
27
+ !(e instanceof ReferenceError) &&
28
+ // Or TypeError (undefined exports) on some WebKit builds: https://github.com/vikejs/vike/issues/3199
29
+ !(e instanceof TypeError))
25
30
  throw e;
26
- // Safari WebKit bug: dynamic import() may resolve before the module body executes,
27
- // https://github.com/vikejs/vike/issues/3121
28
31
  await new Promise((resolve) => setTimeout(resolve));
29
32
  configValues = parseVirtualFileExportsPageEntry(virtualFileExportsPageEntry);
30
33
  }
@@ -2,6 +2,7 @@ export { resolveGlobalConfigPublic };
2
2
  export { resolvePageContextConfig };
3
3
  export { resolveGlobalContextConfig };
4
4
  export type { PageContextConfig };
5
+ export type { PageConfigPublicWithRoute };
5
6
  export type { GlobalConfigPublic };
6
7
  export type { Source };
7
8
  export type { Sources };
@@ -10,6 +10,7 @@ export type { HookNamePage };
10
10
  export type { HookNameGlobal };
11
11
  export type { Route };
12
12
  export type { KeepScrollPosition };
13
+ export type { Vercel };
13
14
  export type { DataAsync };
14
15
  export type { DataSync };
15
16
  export type { GuardAsync };
@@ -54,7 +55,7 @@ type HookName = HookNamePage | HookNameGlobal;
54
55
  type HookNamePage = 'onHydrationEnd' | 'onBeforePrerenderStart' | 'onBeforeRender' | 'onPageTransitionStart' | 'onPageTransitionEnd' | 'onRenderHtml' | 'onRenderClient' | 'guard' | 'data' | 'onData' | 'route';
55
56
  type HookNameGlobal = 'onBeforeRoute' | 'onPrerenderStart' | 'onCreatePageContext' | 'onCreateGlobalContext' | 'onError' | 'onHookCall';
56
57
  type HookNameOldDesign = 'render' | 'prerender' | 'onBeforePrerender';
57
- type ConfigNameBuiltIn = Exclude<keyof ConfigBuiltIn, keyof VikeVitePluginOptions | 'onBeforeRoute' | 'onPrerenderStart' | 'vite' | 'redirects'> | 'prerender' | 'hasServerOnlyHook' | 'isClientRuntimeLoaded' | 'onBeforeRenderEnv' | 'dataEnv' | 'guardEnv' | 'hooksTimeout' | 'clientHooks' | 'middleware';
58
+ type ConfigNameBuiltIn = Exclude<keyof ConfigBuiltIn, keyof VikeVitePluginOptions | 'onBeforeRoute' | 'onPrerenderStart' | 'vite' | 'redirects'> | 'prerender' | 'hasServerOnlyHook' | 'isClientRuntimeLoaded' | 'onBeforeRenderEnv' | 'dataEnv' | 'guardEnv' | 'hooksTimeout' | 'clientHooks' | 'middleware' | 'server' | 'vercel';
58
59
  type ConfigNameGlobal = 'onPrerenderStart' | 'onBeforeRoute' | 'prerender' | 'disableAutoFullBuild' | 'includeAssetsImportedByServer' | 'baseAssets' | 'baseServer' | 'redirects' | 'trailingSlash' | 'disableUrlNormalization' | 'vite';
59
60
  type Config = ConfigBuiltIn & Vike.Config;
60
61
  /** @deprecated This type is deprecated, see:
@@ -521,6 +522,14 @@ type ConfigBuiltIn = {
521
522
  keepScrollPosition?: KeepScrollPosition;
522
523
  /** @experimental */
523
524
  middleware?: Function;
525
+ /**
526
+ * Set to `false` to disable Vike's automatic server integration mechanism (e.g. for integrating a JavaScript server manually via `renderPage()`).
527
+ *
528
+ * Set to `true` to use Vike's built-in server (no need to define `+server.js`).
529
+ *
530
+ * https://vike.dev/server
531
+ */
532
+ server?: boolean | ImportStringList;
524
533
  cli?: {
525
534
  /** @experimental
526
535
  *
@@ -547,6 +556,28 @@ type ConfigBuiltIn = {
547
556
  * https://vike.dev/pricing
548
557
  */
549
558
  license?: string;
559
+ /**
560
+ * Vercel options
561
+ *
562
+ * https://vike.dev/vercel
563
+ */
564
+ vercel?: Vercel;
565
+ };
566
+ type Vercel = {
567
+ /**
568
+ * Incremental Static Regeneration (ISR).
569
+ *
570
+ * https://vike.dev/vercel#isr
571
+ */
572
+ isr?: {
573
+ expiration: number;
574
+ };
575
+ /**
576
+ * Deploy on Vercel Edge.
577
+ *
578
+ * https://vike.dev/vercel#edge
579
+ */
580
+ edge?: boolean;
550
581
  };
551
582
  type PrerenderSetting = boolean | {
552
583
  /**
@@ -15,11 +15,11 @@ type FilePathResolved = FilePathCommon & {
15
15
  */
16
16
  filePathAbsoluteFilesystem: string;
17
17
  /**
18
- * The file's path, shown to the user in logs.
18
+ * The file path shown to the user in logs.
19
19
  *
20
- * Resolved: it always shows a file path. (It never shows an import path such as `vike-react/config`.)
20
+ * Its value is: `filePath.filePathAbsoluteUserRootDir ?? filePath.filePathAbsoluteFilesystem`.
21
21
  *
22
- * Its value is equivalent to `filePath.filePathAbsoluteUserRootDir ?? filePath.filePathAbsoluteFilesystem`.
22
+ * Note that it always shows a file path. (It never shows an import path such as `vike-react/config`.)
23
23
  */
24
24
  filePathToShowToUserResolved: string;
25
25
  /**
@@ -52,11 +52,11 @@ type FilePathAbsoluteUserRootDir = {
52
52
  };
53
53
  type FilePathCommon = {
54
54
  /**
55
- * The file's path, shown to the user in logs.
55
+ * The file or import path shown to the user in logs.
56
56
  *
57
- * Unresolved: it may show an import path instead of a file path such as `vike-react/config`.
57
+ * Its value is: `filePath.filePathAbsoluteUserRootDir ?? filePath.importPathAbsolute`.
58
58
  *
59
- * Its value is equivalent to `filePath.filePathAbsoluteUserRootDir ?? filePath.importPathAbsolute`.
59
+ * Note that if `filePath.filePathAbsoluteUserRootDir` isn't defined then it shows the import path (e.g. `vike-react/config`) instead of a file path.
60
60
  */
61
61
  filePathToShowToUser: string;
62
62
  /**
@@ -1,3 +1,4 @@
1
+ import type { IncomingMessage } from 'node:http';
1
2
  export type { PageContext };
2
3
  export type { PageContextServer };
3
4
  export type { PageContextClient };
@@ -7,10 +8,12 @@ export type { PageContextInternalServer };
7
8
  export type { PageContextInternalClient };
8
9
  export type { PageContextInternalClient_ServerRouting };
9
10
  export type { PageContextInternalClient_ClientRouting };
11
+ export type { PageContextInitInternal };
10
12
  export type { PageContextInit };
11
13
  export type { PageContextBuiltInServer_deprecated as PageContextBuiltInServer };
12
14
  export type { PageContextBuiltInClientWithClientRouting_deprecated as PageContextBuiltInClientWithClientRouting };
13
15
  export type { PageContextBuiltInClientWithServerRouting_deprecated as PageContextBuiltInClientWithServerRouting };
16
+ import type { RuntimeAdapterTarget } from '@universal-middleware/core';
14
17
  import type { PageContextUrlInternal, PageContextUrlClient, PageContextUrlServer } from '../shared-server-client/getPageContextUrlComputed.js';
15
18
  import type { From, PageContextConfig, Source, Sources } from '../shared-server-client/page-configs/resolveVikeConfigPublic.js';
16
19
  import type { Config } from './Config.js';
@@ -24,7 +27,11 @@ import type { PageContextPublicProxyClient } from '../client/runtime-client-rout
24
27
  type PageContextServer<Data = unknown> = PageContextBuiltInServer<Data> & {
25
28
  /** https://vike.dev/warning/internals */
26
29
  dangerouslyUseInternals: DangerouslyUseInternals<PageContextInternalServer & PageContextAfterRender & PageContextPublicServer>;
27
- } & Vike.PageContext & Vike.PageContextServer;
30
+ } & Vike.PageContext & Vike.PageContextServer & (Vike.Server extends {
31
+ server: string;
32
+ } ? {
33
+ runtime: RuntimeAdapterTarget<Vike.Server['server']>;
34
+ } : {});
28
35
  type PageContext<Data = unknown> = PageContextClient<Data> | PageContextServer<Data>;
29
36
  type PageContextClient<Data = unknown> = PageContextBuiltInClientWithClientRouting<Data> & {
30
37
  /** https://vike.dev/warning/internals */
@@ -132,6 +139,10 @@ type PageContextInit = {
132
139
  headersOriginal?: unknown;
133
140
  /** @deprecated Set `pageContextInit.urlOriginal` instead */ url?: string;
134
141
  };
142
+ type PageContextInitInternal = PageContextInit & {
143
+ _reqDev?: IncomingMessage;
144
+ _reqWeb?: Request;
145
+ };
135
146
  type PageContextBuiltInServer<Data> = PageContextBuiltInCommon<Data> & PageContextInit & PageContextUrlServer & {
136
147
  /**
137
148
  * The HTTP request headers.
@@ -288,7 +299,7 @@ type PageContextInternalClient_ServerRouting = Omit<PageContextBuiltInClientWith
288
299
  * ```
289
300
  * With:
290
301
  * ```
291
- * import { PageContextServer } from 'vike/types'
302
+ * import type { PageContextServer } from 'vike/types'
292
303
  * ```
293
304
  *
294
305
  * See https://vike.dev/pageContext#typescript
@@ -301,7 +312,7 @@ type PageContextBuiltInServer_deprecated<_Page = never> = PageContextBuiltInServ
301
312
  * ```
302
313
  * With:
303
314
  * ```
304
- * import { PageContextClient } from 'vike/types'
315
+ * import type { PageContextClient } from 'vike/types'
305
316
  * ```
306
317
  *
307
318
  * See https://vike.dev/pageContext#typescript
@@ -314,7 +325,7 @@ type PageContextBuiltInClientWithClientRouting_deprecated<_Page = never> = PageC
314
325
  * ```
315
326
  * With:
316
327
  * ```
317
- * import { PageContextClientWithServerRouting as PageContextClient } from 'vike/types'
328
+ * import type { PageContextClientWithServerRouting as PageContextClient } from 'vike/types'
318
329
  * ```
319
330
  *
320
331
  * See https://vike.dev/pageContext#typescript
@@ -0,0 +1,12 @@
1
+ export type { Server };
2
+ import type { Fetchable, ServerOptions } from '@universal-deploy/store';
3
+ /**
4
+ * Server settings.
5
+ *
6
+ * https://vike.dev/server
7
+ */
8
+ interface Server extends Fetchable {
9
+ prod?: Omit<ServerOptions, 'fetch'> & {
10
+ static?: boolean | string;
11
+ };
12
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -60,5 +60,12 @@ declare global {
60
60
  interface GlobalContextServer {
61
61
  _interfaceIsNotAny?: never;
62
62
  }
63
+ /** Defines the type of `pageContext.runtime`.
64
+ *
65
+ * https://vike.dev/server#pagecontext-runtime
66
+ */
67
+ interface Server {
68
+ _interfaceIsNotAny?: never;
69
+ }
63
70
  }
64
71
  }
@@ -51,3 +51,4 @@ import { PageContextBuiltInServer } from './PageContext.js';
51
51
  */
52
52
  type PageContextBuiltIn<Page = any> = PageContextBuiltInServer<Page>;
53
53
  export type { PageContextBuiltIn };
54
+ export type { Server } from './Server.js';
@@ -1 +1 @@
1
- export declare const PROJECT_VERSION: "0.4.256";
1
+ export declare const PROJECT_VERSION: "0.4.257-commit-3b8b557";
@@ -1,2 +1,2 @@
1
1
  // Automatically updated by @brillout/release-me
2
- export const PROJECT_VERSION = '0.4.256';
2
+ export const PROJECT_VERSION = '0.4.257-commit-3b8b557';
@@ -0,0 +1 @@
1
+ export declare function isCloudflareWorkers(): boolean;
@@ -0,0 +1,4 @@
1
+ // https://github.com/cloudflare/workers-sdk/issues/1481#issuecomment-2550929035
2
+ export function isCloudflareWorkers() {
3
+ return typeof navigator !== 'undefined' && navigator?.userAgent === 'Cloudflare-Workers';
4
+ }
package/fetch.js ADDED
@@ -0,0 +1,3 @@
1
+ // Some tools still need this as of January 2025
2
+ export * from './dist/server/runtime/fetch.js'
3
+ export { default } from './dist/server/runtime/fetch.js'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vike",
3
- "version": "0.4.256",
3
+ "version": "0.4.257-commit-3b8b557",
4
4
  "repository": "https://github.com/vikejs/vike",
5
5
  "exports": {
6
6
  "./server": {
@@ -94,6 +94,14 @@
94
94
  "browser": "./dist/client/node.js",
95
95
  "default": "./dist/server/runtime/universal-middleware.js"
96
96
  },
97
+ "./fetch": {
98
+ "types": "./dist/server/runtime/fetch.d.ts",
99
+ "worker": "./dist/server/runtime/fetch.js",
100
+ "workerd": "./dist/server/runtime/fetch.js",
101
+ "node": "./dist/server/runtime/fetch.js",
102
+ "browser": "./dist/client/node.js",
103
+ "default": "./dist/server/runtime/fetch.js"
104
+ },
97
105
  "./__internal": {
98
106
  "types": "./dist/server/__internal/index.d.ts",
99
107
  "node": "./dist/server/__internal/index.js",
@@ -124,7 +132,12 @@
124
132
  "@brillout/json-serializer": "^0.5.22",
125
133
  "@brillout/picocolors": "^1.0.30",
126
134
  "@brillout/vite-plugin-server-entry": "0.7.18",
135
+ "@universal-deploy/store": "^0.2.1",
136
+ "@universal-deploy/vite": "^0.1.6",
137
+ "@universal-middleware/core": "^0.4.17",
138
+ "@universal-middleware/node": "^0.1.0",
127
139
  "cac": "^6.0.0",
140
+ "convert-route": "^1.1.1",
128
141
  "es-module-lexer": "^1.0.0",
129
142
  "esbuild": ">=0.19.0",
130
143
  "json5": "^2.0.0",
@@ -133,8 +146,9 @@
133
146
  "semver": "^7.7.4",
134
147
  "sirv": "^3.0.2",
135
148
  "source-map-support": "^0.5.0",
136
- "tinyglobby": "^0.2.10",
137
- "vite": ">=6.3.0"
149
+ "tinyglobby": "^0.2.16",
150
+ "vite": ">=6.3.0",
151
+ "vite-plugin-wrapper": "^0.1.0"
138
152
  },
139
153
  "peerDependencies": {
140
154
  "react-streaming": ">=0.3.42",
@@ -208,6 +222,9 @@
208
222
  "universal-middleware": [
209
223
  "./dist/server/runtime/universal-middleware.d.ts"
210
224
  ],
225
+ "fetch": [
226
+ "./dist/server/runtime/fetch.d.ts"
227
+ ],
211
228
  "__internal": [
212
229
  "./dist/server/__internal/index.d.ts"
213
230
  ],
@@ -241,7 +258,8 @@
241
258
  "./routing.js",
242
259
  "./server.js",
243
260
  "./types.js",
244
- "./universal-middleware.js"
261
+ "./universal-middleware.js",
262
+ "./fetch.js"
245
263
  ],
246
264
  "devDependencies": {
247
265
  "@brillout/release-me": "^0.4.13",