vike 0.4.255 → 0.4.256-commit-414bdc0

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 (62) 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/prerender/runPrerender.d.ts +9 -36
  9. package/dist/node/prerender/runPrerender.js +17 -11
  10. package/dist/node/vite/index.js +2 -0
  11. package/dist/node/vite/plugins/pluginExtractAssets.js +2 -0
  12. package/dist/node/vite/plugins/pluginReplaceConstantsGlobalThis.js +2 -0
  13. package/dist/node/vite/plugins/pluginUniversalDeploy/common.d.ts +20 -0
  14. package/dist/node/vite/plugins/pluginUniversalDeploy/common.js +7 -0
  15. package/dist/node/vite/plugins/pluginUniversalDeploy/detectDeprecated.d.ts +3 -0
  16. package/dist/node/vite/plugins/pluginUniversalDeploy/detectDeprecated.js +15 -0
  17. package/dist/node/vite/plugins/pluginUniversalDeploy/getDeployConfigs.d.ts +27 -0
  18. package/dist/node/vite/plugins/pluginUniversalDeploy/getDeployConfigs.js +70 -0
  19. package/dist/node/vite/plugins/pluginUniversalDeploy/getServerInfo.d.ts +7 -0
  20. package/dist/node/vite/plugins/pluginUniversalDeploy/getServerInfo.js +33 -0
  21. package/dist/node/vite/plugins/pluginUniversalDeploy/pluginResolveAlias.d.ts +3 -0
  22. package/dist/node/vite/plugins/pluginUniversalDeploy/pluginResolveAlias.js +19 -0
  23. package/dist/node/vite/plugins/pluginUniversalDeploy/pluginResolvePlusServer.d.ts +6 -0
  24. package/dist/node/vite/plugins/pluginUniversalDeploy/pluginResolvePlusServer.js +22 -0
  25. package/dist/node/vite/plugins/pluginUniversalDeploy/pluginUnwrapProdOptions.d.ts +3 -0
  26. package/dist/node/vite/plugins/pluginUniversalDeploy/pluginUnwrapProdOptions.js +19 -0
  27. package/dist/node/vite/plugins/pluginUniversalDeploy/pluginVikeVirtualEntry.d.ts +3 -0
  28. package/dist/node/vite/plugins/pluginUniversalDeploy/pluginVikeVirtualEntry.js +25 -0
  29. package/dist/node/vite/plugins/pluginUniversalDeploy.d.ts +5 -0
  30. package/dist/node/vite/plugins/pluginUniversalDeploy.js +58 -0
  31. package/dist/node/vite/shared/addSsrMiddleware.js +1 -0
  32. package/dist/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +18 -0
  33. package/dist/server/assertEnvServer.js +1 -1
  34. package/dist/server/runtime/fetch.d.ts +10 -0
  35. package/dist/server/runtime/fetch.js +5 -0
  36. package/dist/server/runtime/globalContext.d.ts +10 -120
  37. package/dist/server/runtime/renderPageServer/createHttpResponse.d.ts +5 -3
  38. package/dist/server/runtime/renderPageServer/createHttpResponse.js +13 -1
  39. package/dist/server/runtime/renderPageServer/createPageContextServer.d.ts +15 -39
  40. package/dist/server/runtime/renderPageServer/loadPageConfigsLazyServerSide.d.ts +9 -36
  41. package/dist/server/runtime/renderPageServer/renderPageServerAfterRoute.d.ts +36 -144
  42. package/dist/server/runtime/renderPageServer.d.ts +13 -39
  43. package/dist/server/runtime/renderPageServer.js +51 -3
  44. package/dist/server/runtime/universal-middleware.d.ts +9 -2
  45. package/dist/server/runtime/universal-middleware.js +9 -1
  46. package/dist/shared-server-client/createGlobalContextShared.d.ts +4 -48
  47. package/dist/shared-server-client/page-configs/resolveVikeConfigPublic.d.ts +1 -0
  48. package/dist/types/Config.d.ts +28 -1
  49. package/dist/types/PageContext.d.ts +6 -0
  50. package/dist/types/Server.d.ts +8 -0
  51. package/dist/types/Server.js +1 -0
  52. package/dist/types/index.d.ts +1 -0
  53. package/dist/utils/PROJECT_VERSION.d.ts +1 -1
  54. package/dist/utils/PROJECT_VERSION.js +1 -1
  55. package/dist/utils/assertKeys.js +2 -2
  56. package/dist/utils/assertNodeVersion.js +1 -1
  57. package/dist/utils/assertVersion.js +1 -1
  58. package/dist/utils/joinEnglish.d.ts +4 -1
  59. package/dist/utils/joinEnglish.js +4 -4
  60. package/dist/utils/path.js +1 -1
  61. package/fetch.js +3 -0
  62. package/package.json +29 -11
@@ -54,7 +54,7 @@ type HookName = HookNamePage | HookNameGlobal;
54
54
  type HookNamePage = 'onHydrationEnd' | 'onBeforePrerenderStart' | 'onBeforeRender' | 'onPageTransitionStart' | 'onPageTransitionEnd' | 'onRenderHtml' | 'onRenderClient' | 'guard' | 'data' | 'onData' | 'route';
55
55
  type HookNameGlobal = 'onBeforeRoute' | 'onPrerenderStart' | 'onCreatePageContext' | 'onCreateGlobalContext' | 'onError' | 'onHookCall';
56
56
  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';
57
+ type ConfigNameBuiltIn = Exclude<keyof ConfigBuiltIn, keyof VikeVitePluginOptions | 'onBeforeRoute' | 'onPrerenderStart' | 'vite' | 'redirects'> | 'prerender' | 'hasServerOnlyHook' | 'isClientRuntimeLoaded' | 'onBeforeRenderEnv' | 'dataEnv' | 'guardEnv' | 'hooksTimeout' | 'clientHooks' | 'middleware' | 'server' | 'isr' | 'edge';
58
58
  type ConfigNameGlobal = 'onPrerenderStart' | 'onBeforeRoute' | 'prerender' | 'disableAutoFullBuild' | 'includeAssetsImportedByServer' | 'baseAssets' | 'baseServer' | 'redirects' | 'trailingSlash' | 'disableUrlNormalization' | 'vite';
59
59
  type Config = ConfigBuiltIn & Vike.Config;
60
60
  /** @deprecated This type is deprecated, see:
@@ -521,6 +521,14 @@ type ConfigBuiltIn = {
521
521
  keepScrollPosition?: KeepScrollPosition;
522
522
  /** @experimental */
523
523
  middleware?: Function;
524
+ /**
525
+ * Set to `false` to disable Vike's automatic server integration mechanism (e.g. for integrating a JavaScript server manually via `renderPage()`).
526
+ *
527
+ * Set to `true` to use Vike's built-in server (no need to define `+server.js`).
528
+ *
529
+ * https://vike.dev/server
530
+ */
531
+ server?: boolean | ImportStringList;
524
532
  cli?: {
525
533
  /** @experimental
526
534
  *
@@ -540,6 +548,25 @@ type ConfigBuiltIn = {
540
548
  * @experimental
541
549
  */
542
550
  staticReplace?: StaticReplace[];
551
+ /**
552
+ * The license key for larger teams.
553
+ *
554
+ * https://vike.dev/license
555
+ * https://vike.dev/pricing
556
+ */
557
+ license?: string;
558
+ /** Incremental Static Regeneration (ISR).
559
+ *
560
+ * https://vike.dev/vercel#isr
561
+ */
562
+ isr?: {
563
+ expiration: number;
564
+ };
565
+ /** Deploy on Vercel Edge.
566
+ *
567
+ * https://vike.dev/vercel
568
+ */
569
+ edge?: boolean;
543
570
  };
544
571
  type PrerenderSetting = boolean | {
545
572
  /**
@@ -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,6 +8,7 @@ export type { PageContextInternalServer };
7
8
  export type { PageContextInternalClient };
8
9
  export type { PageContextInternalClient_ServerRouting };
9
10
  export type { PageContextInternalClient_ClientRouting };
11
+ export type { PageContextInternalInit };
10
12
  export type { PageContextInit };
11
13
  export type { PageContextBuiltInServer_deprecated as PageContextBuiltInServer };
12
14
  export type { PageContextBuiltInClientWithClientRouting_deprecated as PageContextBuiltInClientWithClientRouting };
@@ -132,6 +134,10 @@ type PageContextInit = {
132
134
  headersOriginal?: unknown;
133
135
  /** @deprecated Set `pageContextInit.urlOriginal` instead */ url?: string;
134
136
  };
137
+ type PageContextInternalInit = PageContextInit & {
138
+ _reqDev?: IncomingMessage;
139
+ _reqWeb?: Request;
140
+ };
135
141
  type PageContextBuiltInServer<Data> = PageContextBuiltInCommon<Data> & PageContextInit & PageContextUrlServer & {
136
142
  /**
137
143
  * The HTTP request headers.
@@ -0,0 +1,8 @@
1
+ import type { Fetchable, ServerOptions } from '@universal-deploy/store';
2
+ /** Server options.
3
+ *
4
+ * https://vike.dev/server
5
+ */
6
+ export interface Server extends Fetchable {
7
+ prod?: Omit<ServerOptions, 'fetch'>;
8
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -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.255";
1
+ export declare const PROJECT_VERSION: "0.4.256-commit-414bdc0";
@@ -1,2 +1,2 @@
1
1
  // Automatically updated by @brillout/release-me
2
- export const PROJECT_VERSION = '0.4.255';
2
+ export const PROJECT_VERSION = '0.4.256-commit-414bdc0';
@@ -14,9 +14,9 @@ function assertKeys(obj, keysExpected, errPrefix) {
14
14
  assertUsage(false, [
15
15
  errPrefix,
16
16
  `unknown key${keysUnknown.length === 1 ? '' : 's'}`,
17
- joinEnglish(keysUnknown, 'and', pc.cyan) + '.',
17
+ joinEnglish(keysUnknown, 'and', { color: pc.cyan }) + '.',
18
18
  'Only following keys are allowed:',
19
- joinEnglish(keysExpected, 'and', pc.cyan) + '.',
19
+ joinEnglish(keysExpected, 'and', { color: pc.cyan }) + '.',
20
20
  ].join(' '));
21
21
  }
22
22
  }
@@ -8,5 +8,5 @@ function assertNodeVersion() {
8
8
  const version = process.versions.node;
9
9
  assertVersion('Node.js', version,
10
10
  // https://gist.github.com/brillout/8e0133716e169b981b6c4e8a938b0134
11
- ['20.19.0', '22.12.0', '23.0.0']);
11
+ ['20.19.0', '22.12.0']);
12
12
  }
@@ -6,7 +6,7 @@ import { assertIsNotBrowser } from './assertIsNotBrowser.js';
6
6
  import { joinEnglish } from './joinEnglish.js';
7
7
  assertIsNotBrowser();
8
8
  function assertVersion(dependencyName, versionActual, versionExpectedList) {
9
- assertUsage(isVersionMatch(versionActual, versionExpectedList), `${pc.bold(dependencyName)} ${pc.red(pc.bold(versionActual))} isn't supported, use ${pc.bold(dependencyName)} ${joinEnglish([...versionExpectedList, 'above'].map((v) => pc.green(pc.bold(v))), 'or')}.`);
9
+ assertUsage(isVersionMatch(versionActual, versionExpectedList), `${pc.bold(dependencyName)} ${pc.red(pc.bold(versionActual))} isn't supported, use ${pc.bold(dependencyName)} ${joinEnglish([...versionExpectedList, 'above'].map((v) => pc.green(pc.bold(v))), 'or', { trailingComma: false })}.`);
10
10
  }
11
11
  function isVersionMatch(versionActual, versionExpectedList) {
12
12
  assert(versionActual);
@@ -1,2 +1,5 @@
1
1
  export { joinEnglish };
2
- declare function joinEnglish(arr: string[] | readonly string[], conjunction: 'or' | 'and', colorizer?: (s: string) => string): string;
2
+ declare function joinEnglish(arr: string[] | readonly string[], conjunction: 'or' | 'and', { color, trailingComma }?: {
3
+ color?: (s: string) => string;
4
+ trailingComma?: boolean;
5
+ }): string;
@@ -1,12 +1,12 @@
1
1
  export { joinEnglish };
2
2
  import { assert } from './assert.js';
3
3
  // https://stackoverflow.com/questions/53879088/join-an-array-by-commas-and-and/53879103#53879103
4
- function joinEnglish(arr, conjunction, colorizer = (s) => s) {
4
+ function joinEnglish(arr, conjunction, { color = (s) => s, trailingComma = true } = {}) {
5
5
  assert(arr.length > 0);
6
6
  if (arr.length === 1)
7
- return colorizer(arr[0]);
7
+ return color(arr[0]);
8
8
  const firsts = arr.slice(0, arr.length - 1);
9
9
  const last = arr[arr.length - 1];
10
- const lastComma = arr.length > 2 ? ',' : '';
11
- return firsts.map(colorizer).join(', ') + `${lastComma} ${conjunction} ` + colorizer(last);
10
+ const lastComma = trailingComma && arr.length > 2 ? ',' : '';
11
+ return firsts.map(color).join(', ') + `${lastComma} ${conjunction} ` + color(last);
12
12
  }
@@ -21,7 +21,7 @@ function pathJoin(path1, path2) {
21
21
  joined = '/' + joined;
22
22
  return joined;
23
23
  }
24
- // https://github.com/brillout/telefunc/blob/0fd44322acbd07857ae29361ba7c998607f17dd5/telefunc/utils/path-shim.ts#L17-L21
24
+ // https://github.com/telefunc/telefunc/blob/0fd44322acbd07857ae29361ba7c998607f17dd5/telefunc/utils/path-shim.ts#L17-L21
25
25
  const IS_ABSOLUTE_RE = /^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/;
26
26
  function pathIsAbsolute(filePath) {
27
27
  return IS_ABSOLUTE_RE.test(filePath);
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.255",
3
+ "version": "0.4.256-commit-414bdc0",
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,17 +132,23 @@
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.1",
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",
131
144
  "magic-string": "^0.30.17",
132
- "picomatch": "^4.0.2",
133
- "semver": "^7.0.0",
134
- "sirv": "^3.0.1",
145
+ "picomatch": "^4.0.4",
146
+ "semver": "^7.7.4",
147
+ "sirv": "^3.0.2",
135
148
  "source-map-support": "^0.5.0",
136
149
  "tinyglobby": "^0.2.10",
137
- "vite": ">=6.3.0"
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,18 +258,19 @@
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
- "@brillout/release-me": "^0.4.12",
265
+ "@brillout/release-me": "^0.4.13",
248
266
  "@types/babel__core": "^7.20.5",
249
267
  "@types/estree": "^1.0.5",
250
268
  "@types/node": "^20.10.5",
251
- "@types/picomatch": "^3.0.2",
252
- "@types/semver": "^7.5.8",
269
+ "@types/picomatch": "^4.0.2",
270
+ "@types/semver": "^7.7.1",
253
271
  "@types/source-map-support": "^0.5.10",
254
- "react-streaming": "^0.4.15",
255
- "rimraf": "^5.0.5",
272
+ "react-streaming": "^0.4.17",
273
+ "rimraf": "^6.1.3",
256
274
  "typescript": "^5.9.3",
257
275
  "vite": "^7.2.6"
258
276
  },