vike 0.4.228-commit-84954ae → 0.4.228-commit-1bb55f1

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 (79) hide show
  1. package/dist/cjs/__internal/index.js +1 -1
  2. package/dist/cjs/client/client-routing-runtime/globalContext.js +4 -4
  3. package/dist/cjs/client/server-routing-runtime/globalContext.js +4 -4
  4. package/dist/cjs/client/shared/{createGetGlobalContext.js → createGetGlobalContextClient.js} +31 -4
  5. package/dist/cjs/client/shared/utils.js +1 -0
  6. package/dist/cjs/node/plugin/plugins/commonConfig.js +5 -2
  7. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolvePointerImport.js +1 -1
  8. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +0 -1
  9. package/dist/cjs/node/prerender/runPrerender.js +1 -1
  10. package/dist/cjs/node/runtime/globalContext.js +17 -6
  11. package/dist/cjs/node/runtime/index-deprecated.js +9 -38
  12. package/dist/cjs/node/runtime/index.js +56 -2
  13. package/dist/cjs/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.js +1 -1
  14. package/dist/cjs/node/runtime/renderPage.js +1 -1
  15. package/dist/cjs/shared/assertPageContextProvidedByUser.js +1 -1
  16. package/dist/cjs/shared/createGlobalContextShared.js +9 -0
  17. package/dist/cjs/shared/createPageContextShared.js +1 -1
  18. package/dist/cjs/shared/route/loadPageRoutes.js +1 -1
  19. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  20. package/dist/cjs/utils/objectAssign.js +1 -1
  21. package/dist/cjs/utils/requireResolve.js +85 -63
  22. package/dist/esm/__internal/index.js +2 -2
  23. package/dist/esm/client/client-routing-runtime/createPageContext.d.ts +5 -2
  24. package/dist/esm/client/client-routing-runtime/createPageContext.js +2 -2
  25. package/dist/esm/client/client-routing-runtime/globalContext.d.ts +8 -4
  26. package/dist/esm/client/client-routing-runtime/globalContext.js +3 -3
  27. package/dist/esm/client/index.d.ts +1 -0
  28. package/dist/esm/client/index.js +4 -0
  29. package/dist/esm/client/node.js +1 -3
  30. package/dist/esm/client/server-routing-runtime/createPageContextClientSide.d.ts +4 -1
  31. package/dist/esm/client/server-routing-runtime/createPageContextClientSide.js +2 -2
  32. package/dist/esm/client/server-routing-runtime/globalContext.d.ts +7 -3
  33. package/dist/esm/client/server-routing-runtime/globalContext.js +3 -3
  34. package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +23 -0
  35. package/dist/esm/client/shared/createGetGlobalContextClient.js +58 -0
  36. package/dist/esm/client/shared/utils.d.ts +1 -0
  37. package/dist/esm/client/shared/utils.js +1 -0
  38. package/dist/esm/node/plugin/plugins/commonConfig.js +5 -2
  39. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolvePointerImport.js +1 -1
  40. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +0 -1
  41. package/dist/esm/node/prerender/runPrerender.d.ts +18 -4
  42. package/dist/esm/node/prerender/runPrerender.js +2 -2
  43. package/dist/esm/node/runtime/globalContext.d.ts +39 -8
  44. package/dist/esm/node/runtime/globalContext.js +18 -7
  45. package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.d.ts +2 -2
  46. package/dist/esm/node/runtime/html/injectAssets.d.ts +2 -2
  47. package/dist/esm/node/runtime/index-deprecated.d.ts +1 -16
  48. package/dist/esm/node/runtime/index-deprecated.js +9 -36
  49. package/dist/esm/node/runtime/index.d.ts +23 -1
  50. package/dist/esm/node/runtime/index.js +38 -3
  51. package/dist/esm/node/runtime/renderPage/analyzePage.d.ts +2 -2
  52. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +10 -3
  53. package/dist/esm/node/runtime/renderPage/getPageAssets.d.ts +2 -2
  54. package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.d.ts +2 -2
  55. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.d.ts +2 -2
  56. package/dist/esm/node/runtime/renderPage/log404/index.d.ts +2 -2
  57. package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +2 -2
  58. package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.js +1 -1
  59. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +16 -2
  60. package/dist/esm/node/runtime/renderPage.d.ts +10 -3
  61. package/dist/esm/node/runtime/renderPage.js +2 -2
  62. package/dist/esm/shared/assertPageContextProvidedByUser.js +1 -1
  63. package/dist/esm/shared/createGlobalContextShared.d.ts +15 -1
  64. package/dist/esm/shared/createGlobalContextShared.js +8 -0
  65. package/dist/esm/shared/createPageContextShared.d.ts +1 -1
  66. package/dist/esm/shared/createPageContextShared.js +1 -1
  67. package/dist/esm/shared/route/loadPageRoutes.js +1 -1
  68. package/dist/esm/shared/types.d.ts +36 -13
  69. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  70. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  71. package/dist/esm/utils/objectAssign.js +1 -1
  72. package/dist/esm/utils/requireResolve.d.ts +2 -2
  73. package/dist/esm/utils/requireResolve.js +85 -63
  74. package/package.json +12 -11
  75. package/dist/cjs/node/runtime/index-common.js +0 -27
  76. package/dist/esm/client/shared/createGetGlobalContext.d.ts +0 -11
  77. package/dist/esm/client/shared/createGetGlobalContext.js +0 -29
  78. package/dist/esm/node/runtime/index-common.d.ts +0 -8
  79. package/dist/esm/node/runtime/index-common.js +0 -10
@@ -17,7 +17,7 @@ const assertSetup_js_1 = require("../utils/assertSetup.js");
17
17
  async function getPagesAndRoutes() {
18
18
  (0, assertSetup_js_1.setNodeEnvProduction)();
19
19
  await (0, globalContext_js_2.initGlobalContext_getPagesAndRoutes)();
20
- const { globalContext } = await (0, globalContext_js_2.getGlobalContextInternal)();
20
+ const { globalContext } = await (0, globalContext_js_2.getGlobalContextServerInternal)();
21
21
  const {
22
22
  //
23
23
  _pageRoutes: pageRoutes, _pageFilesAll: pageFilesAll, _pageConfigs: pageConfigs, _allPageIds: allPageIds } = globalContext;
@@ -33,13 +33,13 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.getGlobalContext = void 0;
37
- const createGetGlobalContext_js_1 = require("../shared/createGetGlobalContext.js");
36
+ exports.getGlobalContextClientInternal = void 0;
37
+ const createGetGlobalContextClient_js_1 = require("../shared/createGetGlobalContextClient.js");
38
38
  const loadPageRoutes_js_1 = require("../../shared/route/loadPageRoutes.js");
39
39
  // @ts-ignore
40
40
  const virtualFileExports = __importStar(require("virtual:vike:importUserCode:client:client-routing"));
41
- const getGlobalContext = (0, createGetGlobalContext_js_1.createGetGlobalContext)(virtualFileExports, true, addGlobalContext);
42
- exports.getGlobalContext = getGlobalContext;
41
+ const getGlobalContextClientInternal = (0, createGetGlobalContextClient_js_1.createGetGlobalContextClient)(virtualFileExports, true, addGlobalContext);
42
+ exports.getGlobalContextClientInternal = getGlobalContextClientInternal;
43
43
  async function addGlobalContext(globalContext) {
44
44
  const { pageRoutes, onBeforeRouteHook } = await (0, loadPageRoutes_js_1.loadPageRoutes)(globalContext._pageFilesAll, globalContext._pageConfigs, globalContext._pageConfigGlobal, globalContext._allPageIds);
45
45
  return {
@@ -33,9 +33,9 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.getGlobalContext = void 0;
37
- const createGetGlobalContext_js_1 = require("../shared/createGetGlobalContext.js");
36
+ exports.getGlobalContextClientInternal = void 0;
37
+ const createGetGlobalContextClient_js_1 = require("../shared/createGetGlobalContextClient.js");
38
38
  // @ts-ignore
39
39
  const virtualFileExports = __importStar(require("virtual:vike:importUserCode:client:server-routing"));
40
- const getGlobalContext = (0, createGetGlobalContext_js_1.createGetGlobalContext)(virtualFileExports, false);
41
- exports.getGlobalContext = getGlobalContext;
40
+ const getGlobalContextClientInternal = (0, createGetGlobalContextClient_js_1.createGetGlobalContextClient)(virtualFileExports, false);
41
+ exports.getGlobalContextClientInternal = getGlobalContextClientInternal;
@@ -1,11 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createGetGlobalContext = createGetGlobalContext;
3
+ exports.getGlobalContext = getGlobalContext;
4
+ exports.getGlobalContextSync = getGlobalContextSync;
5
+ exports.createGetGlobalContextClient = createGetGlobalContextClient;
4
6
  const createGlobalContextShared_js_1 = require("../../shared/createGlobalContextShared.js");
5
7
  const getJsonSerializedInHtml_js_1 = require("./getJsonSerializedInHtml.js");
6
8
  const utils_js_1 = require("./utils.js");
7
- const globalObject = (0, utils_js_1.getGlobalObject)('createGetGlobalContext.ts', {});
8
- function createGetGlobalContext(virtualFileExports, isClientRouting, addGlobalContext) {
9
+ const globalObject = (0, utils_js_1.getGlobalObject)('createGetGlobalContextClient.ts', (() => {
10
+ const { promise: globalContextPromise, resolve: globalContextPromiseResolve } = (0, utils_js_1.genPromise)();
11
+ return {
12
+ globalContextPromise,
13
+ globalContextPromiseResolve
14
+ };
15
+ })());
16
+ function createGetGlobalContextClient(virtualFileExports, isClientRouting, addGlobalContext) {
9
17
  (0, utils_js_1.assert)(globalObject.isClientRouting === undefined || globalObject.isClientRouting === isClientRouting);
10
18
  globalObject.isClientRouting = isClientRouting;
11
19
  // Eagerly call onCreateGlobalContext() hook
@@ -20,12 +28,31 @@ function createGetGlobalContext(virtualFileExports, isClientRouting, addGlobalCo
20
28
  }
21
29
  // Create
22
30
  const globalContext = await (0, createGlobalContextShared_js_1.createGlobalContextShared)(virtualFileExports, globalObject, async (globalContext) => {
23
- const globalContextAddendum = {};
31
+ const globalContextAddendum = {
32
+ /**
33
+ * Whether the environment is client-side or server-side / pre-rendering.
34
+ *
35
+ * We recommend using `import.meta.env.SSR` instead, see https://vike.dev/globalContext
36
+ */
37
+ isClientSide: true
38
+ };
24
39
  (0, utils_js_1.objectAssign)(globalContextAddendum, (0, getJsonSerializedInHtml_js_1.getGlobalContextSerializedInHtml)());
25
40
  (0, utils_js_1.objectAssign)(globalContextAddendum, await addGlobalContext?.(globalContext));
26
41
  return globalContextAddendum;
27
42
  });
43
+ (0, utils_js_1.assert)(globalObject.globalContext);
44
+ globalObject.globalContextPromiseResolve(globalObject.globalContext);
28
45
  // Return
29
46
  return globalContext;
30
47
  }
31
48
  }
49
+ // The type is never used: it's the type of the server-side getGlobalContext() that is used.
50
+ async function getGlobalContext() {
51
+ const globalContext = await globalObject.globalContextPromise;
52
+ return globalContext;
53
+ }
54
+ function getGlobalContextSync() {
55
+ const { globalContext } = globalObject;
56
+ (0, utils_js_1.assertUsage)(globalContext, createGlobalContextShared_js_1.getGlobalContextSyncErrMsg);
57
+ return globalContext;
58
+ }
@@ -19,3 +19,4 @@ __exportStar(require("../../utils/parseUrl.js"), exports);
19
19
  __exportStar(require("../../utils/getGlobalObject.js"), exports);
20
20
  __exportStar(require("../../utils/objectAssign.js"), exports);
21
21
  __exportStar(require("../../utils/hasProp.js"), exports);
22
+ __exportStar(require("../../utils/genPromise.js"), exports);
@@ -158,14 +158,17 @@ function assertSingleInstance(config) {
158
158
  function assertVikeCliOrApi(config) {
159
159
  if ((0, context_js_1.isVikeCliOrApi)())
160
160
  return;
161
- if ((0, utils_js_1.isVitest)())
162
- return;
163
161
  if ((0, isViteCliCall_js_1.isViteCliCall)()) {
162
+ (0, utils_js_1.assert)(!(0, utils_js_1.isVitest)());
164
163
  (0, utils_js_1.assertWarning)(false, `Vite's CLI is deprecated ${picocolors_1.default.underline('https://vike.dev/migration/cli')}`, {
165
164
  onlyOnce: true
166
165
  });
167
166
  return;
168
167
  }
168
+ if ((0, utils_js_1.isVitest)()) {
169
+ (0, utils_js_1.assertWarning)(false, `Unexpected Vitest setup: you seem to be using Vitest together with Vike's Vite plugin but without using Vike's JavaScript API which is unexpected, see ${picocolors_1.default.underline('https://vike.dev/vitest')}`, { onlyOnce: true });
170
+ return;
171
+ }
169
172
  if (config.server.middlewareMode) {
170
173
  (0, utils_js_1.assertWarning)(false, `${picocolors_1.default.cyan('vite.createServer()')} is deprecated ${picocolors_1.default.underline('https://vike.dev/migration/cli#api')}`, {
171
174
  onlyOnce: true
@@ -73,7 +73,7 @@ function resolveImportPathWithNode(pointerImportData, importerFilePath, userRoot
73
73
  // filePathAbsoluteFilesystem is null when pointerImportData.importPath is a path alias that Node.js doesn't know about
74
74
  const filePathAbsoluteFilesystem = (0, utils_js_1.requireResolveOptional)({
75
75
  importPath: pointerImportData.importPath,
76
- importerFile: importerFilePathAbsolute,
76
+ importerFilePath: importerFilePathAbsolute,
77
77
  userRootDir
78
78
  });
79
79
  if (!filePathAbsoluteFilesystem) {
@@ -212,7 +212,6 @@ async function transpileWithEsbuild(filePath, userRootDir, transformImports, esb
212
212
  // - Vike doesn't resolve path aliases at all.
213
213
  // - Node.js doesn't support `tsconfig.js#compilerOptions.paths`.
214
214
  // - Esbuild path alias resolution seems reliable, e.g. it supports `tsconfig.js#compilerOptions.paths`.
215
- (0, utils_js_1.assert)(!(0, utils_js_1.isImportPathNpmPackageOrPathAlias)(importPathOriginal));
216
215
  importPathTranspiled = importPathResolved;
217
216
  }
218
217
  else {
@@ -132,7 +132,7 @@ async function runPrerender(options = {}, standaloneTrigger) {
132
132
  }
133
133
  const concurrencyLimit = (0, utils_js_1.pLimit)(parallel === false || parallel === 0 ? 1 : parallel === true || parallel === undefined ? (0, os_1.cpus)().length : parallel);
134
134
  await (0, globalContext_js_1.initGlobalContext_runPrerender)();
135
- const { globalContext, globalContext_public } = await (0, globalContext_js_1.getGlobalContextInternal)();
135
+ const { globalContext, globalContext_public } = await (0, globalContext_js_1.getGlobalContextServerInternal)();
136
136
  globalContext._pageFilesAll.forEach(assertExportNames);
137
137
  const prerenderContext = {
138
138
  pageContexts: [],
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getGlobalContext = getGlobalContext;
7
7
  exports.getGlobalContextSync = getGlobalContextSync;
8
8
  exports.getGlobalContextAsync = getGlobalContextAsync;
9
- exports.getGlobalContextInternal = getGlobalContextInternal;
9
+ exports.getGlobalContextServerInternal = getGlobalContextServerInternal;
10
10
  exports.getViteDevServer = getViteDevServer;
11
11
  exports.getViteConfig = getViteConfig;
12
12
  exports.initGlobalContext_renderPage = initGlobalContext_renderPage;
@@ -41,8 +41,8 @@ const globalObject = (0, utils_js_1.getGlobalObject)('runtime/globalContext.ts',
41
41
  // Trick to break down TypeScript circular dependency
42
42
  // https://chat.deepseek.com/a/chat/s/d7e9f90a-c7f3-4108-9cd5-4ad6caed3539
43
43
  const globalObjectTyped = globalObject;
44
- async function getGlobalContextInternal() {
45
- // getGlobalContextInternal() should always be called after initGlobalContext()
44
+ async function getGlobalContextServerInternal() {
45
+ // getGlobalContextServerInternal() should always be called after initGlobalContext()
46
46
  (0, utils_js_1.assert)(globalObject.isInitialized);
47
47
  assertGlobalContextIsDefined();
48
48
  if (globalObject.isProduction !== true)
@@ -64,6 +64,7 @@ function assertGlobalContextIsDefined() {
64
64
  (0, utils_js_1.assert)(globalObject.globalContext);
65
65
  (0, utils_js_1.assert)(globalObject.globalContext_public);
66
66
  }
67
+ // We purposely return GlobalContext instead of GlobalContextServer because `import { getGlobalContext } from 'vike'` can resolve to the client-side implementation.
67
68
  /**
68
69
  * Get runtime information about your app.
69
70
  *
@@ -105,15 +106,24 @@ async function getGlobalContextAsync(isProduction) {
105
106
  function getGlobalContextSync() {
106
107
  debug('getGlobalContextSync()');
107
108
  const { globalContext_public } = globalObjectTyped;
108
- (0, utils_js_1.assertUsage)(globalContext_public, "The global context isn't set yet, call getGlobalContextSync() later or use getGlobalContext() instead.");
109
+ (0, utils_js_1.assertUsage)(globalContext_public, createGlobalContextShared_js_1.getGlobalContextSyncErrMsg);
109
110
  (0, utils_js_1.assertWarning)(false,
110
- // We discourage users from using it because using `pageContext.globalContext` is better: it doesn't have the race condition issue that `getGlobalContextSync()` would have when called inside React/Vue components.
111
+ // We discourage users from using it because `pageContext.globalContext` is safer: I ain't sure but there could be race conditions when using `getGlobalContextSync()` inside React/Vue components upon HMR.
111
112
  // We're lying about "is going to be deprecated in the next major release": let's keep it and see if users need it (so far I can't see a use case for it).
112
113
  'getGlobalContextSync() is going to be deprecated in the next major release, see https://vike.dev/getGlobalContext', { onlyOnce: true });
113
114
  return globalContext_public;
114
115
  }
115
116
  function makePublic(globalContext) {
116
- const globalContextPublic = (0, utils_js_1.getPublicProxy)(globalContext, 'globalContext', ['assetsManifest', 'config', 'viteConfig', 'viteConfigRuntime', 'pages', 'baseServer', 'baseAssets'], true);
117
+ const globalContextPublic = (0, utils_js_1.getPublicProxy)(globalContext, 'globalContext', [
118
+ 'assetsManifest',
119
+ 'config',
120
+ 'viteConfig',
121
+ 'viteConfigRuntime',
122
+ 'pages',
123
+ 'baseServer',
124
+ 'baseAssets',
125
+ 'isClientSide'
126
+ ], true);
117
127
  return globalContextPublic;
118
128
  }
119
129
  async function setGlobalContext_viteDevServer(viteDevServer) {
@@ -338,6 +348,7 @@ async function setGlobalContext(virtualFileExports) {
338
348
  async function addGlobalContext(globalContext) {
339
349
  const { pageRoutes, onBeforeRouteHook } = await (0, loadPageRoutes_js_1.loadPageRoutes)(globalContext._pageFilesAll, globalContext._pageConfigs, globalContext._pageConfigGlobal, globalContext._allPageIds);
340
350
  const globalContextBase = {
351
+ isClientSide: false,
341
352
  _pageRoutes: pageRoutes,
342
353
  _onBeforeRouteHook: onBeforeRouteHook
343
354
  };
@@ -1,6 +1,4 @@
1
1
  "use strict";
2
- // TODO/v1-release: replace this with:
3
- // assertUsage(false, "`import { something } from 'vike'` doesn't exist: instead import from 'vike/server', 'vike/client', 'vike/plugin', ...")
4
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
3
  if (k2 === undefined) k2 = k;
6
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -19,44 +17,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
19
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
20
18
  };
21
19
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.RenderErrorPage = void 0;
23
- const isBrowser_js_1 = require("../../utils/isBrowser.js");
24
- const assert_js_1 = require("../../utils/assert.js");
25
- (0, assert_js_1.assertUsage)(!(0, isBrowser_js_1.isBrowser)(), "It's forbidden to `import { something } from 'vike'` on the client-side: the module 'vike' is a server-only module.", { showStackTrace: true });
26
- __exportStar(require("./index-common.js"), exports);
27
- __exportStar(require("../../types/index-dreprecated.js"), exports);
20
+ // TODO/soon: point package.json#exports['./server'] to this file.
21
+ // - Write migration guide, see comment below.
22
+ __exportStar(require("./index.js"), exports);
28
23
  const utils_js_1 = require("./utils.js");
29
24
  const picocolors_1 = __importDefault(require("@brillout/picocolors"));
30
- const abort_js_1 = require("../../shared/route/abort.js");
31
- /** @deprecated
32
- * Replace:
33
- * ```
34
- * import { RenderErrorPage } from 'vike'
35
- * ```
36
- * With:
37
- * ```
38
- * import { render } from 'vike/abort'
39
- * ```
40
- *
41
- * See https://vike.dev/render
42
- */
43
- const RenderErrorPage = (...args) => {
44
- (0, utils_js_1.assertWarning)(false, [
45
- 'Replace:',
46
- picocolors_1.default.red(" import { RenderErrorPage } from 'vike'"),
47
- 'With:',
48
- picocolors_1.default.green(" import { render } from 'vike/abort'"),
49
- 'See https://vike.dev/render'
50
- ].join('\n'), { onlyOnce: true, showStackTrace: true });
51
- return (0, abort_js_1.RenderErrorPage)(...args);
52
- };
53
- exports.RenderErrorPage = RenderErrorPage;
54
25
  (0, utils_js_1.assertWarning)(false, [
55
- 'You have following imports which are outdated:',
56
- picocolors_1.default.red(" import { something } from 'vike'"),
26
+ 'You have outdated imports:',
27
+ picocolors_1.default.bold(picocolors_1.default.red(" import { something } from 'vike/server'")),
57
28
  'Replace them with:',
58
- picocolors_1.default.green(" import { something } from 'vike/server'"),
59
- `Or if ${picocolors_1.default.cyan('something')} is a type:`,
60
- picocolors_1.default.green(" import type { something } from 'vike/types'"),
61
- "Make sure to import renderPage(), escapeInject, html, dangerouslySkipEscape(), pipeWebStream(), pipeNodeStream(), pipeStream(), stampPipe() from 'vike/server'. (Or inspect the error stack below to find the import causing this warning.)"
29
+ picocolors_1.default.bold(picocolors_1.default.green(" import { something } from 'vike'"))
30
+ /* Add migration guide, with migration scritps such as `$ rename vike/server vike`
31
+ `See ${pc.underline('https://vike.dev/migration/0.4.xxx')}`
32
+ */
62
33
  ].join('\n'), { showStackTrace: true, onlyOnce: true });
@@ -13,8 +13,62 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
13
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
16
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.RenderErrorPage = exports.createPageRenderer = exports._injectAssets = exports.createDevMiddleware = exports.getGlobalContextAsync = exports.getGlobalContextSync = exports.getGlobalContext = exports.version = exports.stampPipe = exports.pipeStream = exports.pipeNodeStream = exports.pipeWebStream = exports.dangerouslySkipEscape = exports.escapeInject = exports.renderPage = void 0;
17
21
  const isBrowser_js_1 = require("../../utils/isBrowser.js");
18
22
  const assert_js_1 = require("../../utils/assert.js");
19
- (0, assert_js_1.assertUsage)(!(0, isBrowser_js_1.isBrowser)(), "It's forbidden to `import { something } from 'vike/server'` on the client-side: the module 'vike/server' is a server-only module.", { showStackTrace: true });
20
- __exportStar(require("./index-common.js"), exports);
23
+ (0, assert_js_1.assert)(!(0, isBrowser_js_1.isBrowser)());
24
+ var renderPage_js_1 = require("./renderPage.js");
25
+ Object.defineProperty(exports, "renderPage", { enumerable: true, get: function () { return renderPage_js_1.renderPage; } });
26
+ var renderHtml_js_1 = require("./html/renderHtml.js");
27
+ Object.defineProperty(exports, "escapeInject", { enumerable: true, get: function () { return renderHtml_js_1.escapeInject; } });
28
+ Object.defineProperty(exports, "dangerouslySkipEscape", { enumerable: true, get: function () { return renderHtml_js_1.dangerouslySkipEscape; } });
29
+ var stream_js_1 = require("./html/stream.js");
30
+ Object.defineProperty(exports, "pipeWebStream", { enumerable: true, get: function () { return stream_js_1.pipeWebStream; } });
31
+ Object.defineProperty(exports, "pipeNodeStream", { enumerable: true, get: function () { return stream_js_1.pipeNodeStream; } });
32
+ Object.defineProperty(exports, "pipeStream", { enumerable: true, get: function () { return stream_js_1.pipeStream; } });
33
+ Object.defineProperty(exports, "stampPipe", { enumerable: true, get: function () { return stream_js_1.stampPipe; } });
34
+ var utils_js_1 = require("./utils.js");
35
+ Object.defineProperty(exports, "version", { enumerable: true, get: function () { return utils_js_1.PROJECT_VERSION; } });
36
+ var globalContext_js_1 = require("./globalContext.js");
37
+ Object.defineProperty(exports, "getGlobalContext", { enumerable: true, get: function () { return globalContext_js_1.getGlobalContext; } });
38
+ Object.defineProperty(exports, "getGlobalContextSync", { enumerable: true, get: function () { return globalContext_js_1.getGlobalContextSync; } });
39
+ Object.defineProperty(exports, "getGlobalContextAsync", { enumerable: true, get: function () { return globalContext_js_1.getGlobalContextAsync; } });
40
+ var index_js_1 = require("../runtime-dev/index.js");
41
+ Object.defineProperty(exports, "createDevMiddleware", { enumerable: true, get: function () { return index_js_1.createDevMiddleware; } });
42
+ // TODO/v1-release: remove
43
+ // Deprecated exports
44
+ __exportStar(require("../../types/index-dreprecated.js"), exports);
45
+ var injectAssets__public_js_1 = require("./html/injectAssets/injectAssets__public.js");
46
+ Object.defineProperty(exports, "_injectAssets", { enumerable: true, get: function () { return injectAssets__public_js_1.injectAssets__public; } });
47
+ var createPageRenderer_js_1 = require("../createPageRenderer.js");
48
+ Object.defineProperty(exports, "createPageRenderer", { enumerable: true, get: function () { return createPageRenderer_js_1.createPageRenderer; } });
49
+ const utils_js_2 = require("./utils.js");
50
+ const picocolors_1 = __importDefault(require("@brillout/picocolors"));
51
+ const abort_js_1 = require("../../shared/route/abort.js");
52
+ /** @deprecated
53
+ * Replace:
54
+ * ```
55
+ * import { RenderErrorPage } from 'vike'
56
+ * ```
57
+ * With:
58
+ * ```
59
+ * import { render } from 'vike/abort'
60
+ * ```
61
+ *
62
+ * See https://vike.dev/render
63
+ */
64
+ const RenderErrorPage = (...args) => {
65
+ (0, utils_js_2.assertWarning)(false, [
66
+ 'Replace:',
67
+ picocolors_1.default.red(" import { RenderErrorPage } from 'vike'"),
68
+ 'With:',
69
+ picocolors_1.default.green(" import { render } from 'vike/abort'"),
70
+ 'See https://vike.dev/render'
71
+ ].join('\n'), { onlyOnce: true, showStackTrace: true });
72
+ return (0, abort_js_1.RenderErrorPage)(...args);
73
+ };
74
+ exports.RenderErrorPage = RenderErrorPage;
@@ -9,7 +9,7 @@ function preparePageContextForUserConsumptionServerSide(pageContext) {
9
9
  (0, utils_js_1.assert)((0, utils_js_1.isPlainObject)(pageContext.routeParams));
10
10
  (0, utils_js_1.assert)('Page' in pageContext);
11
11
  (0, utils_js_1.assert)(typeof pageContext.isClientSideNavigation === 'boolean');
12
- (0, utils_js_1.assert)(pageContext._isPageContextObject);
12
+ (0, utils_js_1.assert)(pageContext.isPageContext);
13
13
  (0, utils_js_1.assert)(pageContext.isClientSide === false);
14
14
  (0, utils_js_1.assert)(typeof pageContext.isPrerendering === 'boolean');
15
15
  (0, preparePageContextForUserConsumption_js_1.preparePageContextForUserConsumption)(pageContext);
@@ -81,7 +81,7 @@ async function renderPagePrepare(pageContextInit, httpRequestId) {
81
81
  else {
82
82
  // `globalContext` now contains the entire Vike config and getVikeConfig() isn't called anymore for this request.
83
83
  }
84
- const { globalContext, globalContext_public } = await (0, globalContext_js_1.getGlobalContextInternal)();
84
+ const { globalContext, globalContext_public } = await (0, globalContext_js_1.getGlobalContextServerInternal)();
85
85
  const pageContextBegin = await getPageContextBegin(pageContextInit, globalContext, globalContext_public, httpRequestId);
86
86
  // Check Base URL
87
87
  {
@@ -12,7 +12,7 @@ function assertPageContextProvidedByUser(pageContextProvidedByUser, { hookName,
12
12
  (0, utils_js_1.assert)(!hookName.endsWith(')'));
13
13
  const errPrefix = `The ${picocolors_1.default.cyan('pageContext')} object provided by the ${hookName}() hook defined by ${hookFilePath}`;
14
14
  (0, utils_js_1.assertUsage)((0, utils_js_1.isObject)(pageContextProvidedByUser), `${errPrefix} should be an object (but it's ${picocolors_1.default.cyan(`typeof pageContext === ${JSON.stringify(typeof pageContextProvidedByUser)}`)} instead)`);
15
- (0, utils_js_1.assertUsage)(!('_isPageContextObject' in pageContextProvidedByUser), `${errPrefix} shouldn't be the whole ${picocolors_1.default.cyan('pageContext')} object, see https://vike.dev/pageContext-manipulation#do-not-return-entire-pagecontext`);
15
+ (0, utils_js_1.assertUsage)(!('isPageContext' in pageContextProvidedByUser), `${errPrefix} shouldn't be the whole ${picocolors_1.default.cyan('pageContext')} object, see https://vike.dev/pageContext-manipulation#do-not-return-entire-pagecontext`);
16
16
  // In principle, it's possible to use onBeforeRoute()` to override and define the whole routing.
17
17
  // Is that a good idea to allow users to do this? Beyond deep integration with Vue Router or React Router, is there a use case for this?
18
18
  (0, utils_js_1.assertWarning)(!('pageId' in pageContextProvidedByUser), `${errPrefix} sets ${picocolors_1.default.cyan('pageContext.pageId')} which means that Vike's routing is overriden. This is an experimental feature: make sure to contact a vike maintainer before using this.`, { onlyOnce: true });
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getGlobalContextSyncErrMsg = void 0;
3
4
  exports.createGlobalContextShared = createGlobalContextShared;
5
+ const getGlobalContextSyncErrMsg = "The global context isn't set yet, call getGlobalContextSync() later or use getGlobalContext() instead.";
6
+ exports.getGlobalContextSyncErrMsg = getGlobalContextSyncErrMsg;
4
7
  const getPageConfigsRuntime_js_1 = require("./getPageConfigsRuntime.js");
5
8
  const executeHookGeneric_js_1 = require("./hooks/executeHookGeneric.js");
6
9
  const utils_js_1 = require("./utils.js");
@@ -33,6 +36,12 @@ async function createGlobalContextShared(virtualFileExports, globalObject, addGl
33
36
  function createGlobalContextBase(virtualFileExports) {
34
37
  const { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal, globalConfig, pageConfigsUserFriendly } = (0, getPageConfigsRuntime_js_1.getPageConfigsRuntime)(virtualFileExports);
35
38
  const globalContext = {
39
+ /**
40
+ * Useful for distinguishing `globalContext` from other objects and narrowing down TypeScript unions.
41
+ *
42
+ * https://vike.dev/globalContext#typescript
43
+ */
44
+ isGlobalContext: true,
36
45
  _virtualFileExports: virtualFileExports,
37
46
  _pageFilesAll: pageFilesAll,
38
47
  _pageConfigs: pageConfigs,
@@ -9,7 +9,7 @@ async function createPageContextShared(pageContextCreated, pageConfigGlobal) {
9
9
  pageConfigGlobalValues: pageConfigGlobal.configValues
10
10
  });
11
11
  (0, utils_js_1.objectAssign)(pageContextCreated, {
12
- _isPageContextObject: true,
12
+ isPageContext: true,
13
13
  ...pageConfigGlobalUserFriendly
14
14
  }, true);
15
15
  await (0, executeHookGeneric_js_1.executeHookGenericGlobalCumulative)('onCreatePageContext', pageConfigGlobal, pageContextCreated, pageContextCreated);
@@ -10,7 +10,7 @@ const getConfigDefinedAt_js_1 = require("../page-configs/getConfigDefinedAt.js")
10
10
  const resolveRouteFunction_js_1 = require("./resolveRouteFunction.js");
11
11
  const getHook_js_1 = require("../hooks/getHook.js");
12
12
  async function loadPageRoutes(
13
- // Remove all arguments and use GlobalContextInternal instead?
13
+ // Remove all arguments and use GlobalContextServerInternal instead?
14
14
  pageFilesAll, pageConfigs, pageConfigGlobal, allPageIds) {
15
15
  // TODO/next-major: remove & make this function sync
16
16
  await Promise.all(pageFilesAll.filter((p) => p.fileType === '.page.route').map((p) => p.loadFile?.()));
@@ -2,4 +2,4 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PROJECT_VERSION = void 0;
4
4
  // Automatically updated by @brillout/release-me
5
- exports.PROJECT_VERSION = '0.4.228-commit-84954ae';
5
+ exports.PROJECT_VERSION = '0.4.228-commit-1bb55f1';
@@ -9,6 +9,6 @@ function objectAssign(obj, objAddendum, objAddendumCanBePageContextObject) {
9
9
  if (!objAddendum)
10
10
  return;
11
11
  if (!objAddendumCanBePageContextObject)
12
- (0, assert_js_1.assert)(!('_isPageContextObject' in objAddendum));
12
+ (0, assert_js_1.assert)(!('isPageContext' in objAddendum));
13
13
  Object.defineProperties(obj, Object.getOwnPropertyDescriptors(objAddendum));
14
14
  }