vike 0.4.215 → 0.4.216

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 (84) hide show
  1. package/dist/cjs/__internal/index.js +2 -2
  2. package/dist/cjs/node/api/build.js +7 -2
  3. package/dist/cjs/node/api/context.js +8 -6
  4. package/dist/cjs/node/api/dev.js +7 -2
  5. package/dist/cjs/node/api/{prepareApiCall.js → prepareViteApiCall.js} +2 -2
  6. package/dist/cjs/node/api/prerender.js +7 -2
  7. package/dist/cjs/node/api/preview.js +7 -2
  8. package/dist/cjs/node/api/utils.js +1 -0
  9. package/dist/cjs/node/plugin/index.js +2 -3
  10. package/dist/cjs/node/plugin/onLoad.js +2 -2
  11. package/dist/cjs/node/plugin/plugins/buildConfig.js +6 -5
  12. package/dist/cjs/node/plugin/plugins/commonConfig.js +21 -3
  13. package/dist/cjs/node/plugin/plugins/devConfig/index.js +0 -3
  14. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +8 -4
  15. package/dist/cjs/node/plugin/plugins/previewConfig.js +0 -1
  16. package/dist/cjs/node/plugin/plugins/setGlobalContext.js +32 -17
  17. package/dist/cjs/node/prerender/runPrerender.js +3 -3
  18. package/dist/cjs/node/prerender/utils.js +1 -1
  19. package/dist/cjs/node/runtime/globalContext.js +6 -6
  20. package/dist/cjs/node/runtime/index-common.js +3 -1
  21. package/dist/cjs/node/runtime/renderPage.js +4 -2
  22. package/dist/cjs/node/runtime/utils.js +1 -2
  23. package/dist/cjs/node/runtime-dev/createDevMiddleware.js +25 -0
  24. package/dist/cjs/node/runtime-dev/index.js +32 -0
  25. package/dist/cjs/shared/page-configs/getConfigValueBuildTime.js +2 -2
  26. package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +2 -2
  27. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  28. package/dist/cjs/utils/assertSetup.js +135 -0
  29. package/dist/cjs/utils/isDocker.js +2 -2
  30. package/dist/cjs/utils/requireResolve.js +2 -2
  31. package/dist/esm/__internal/index.js +2 -2
  32. package/dist/esm/node/api/build.d.ts +5 -0
  33. package/dist/esm/node/api/build.js +7 -2
  34. package/dist/esm/node/api/context.js +9 -7
  35. package/dist/esm/node/api/dev.d.ts +5 -0
  36. package/dist/esm/node/api/dev.js +7 -2
  37. package/dist/esm/node/api/{prepareApiCall.d.ts → prepareViteApiCall.d.ts} +2 -2
  38. package/dist/esm/node/api/{prepareApiCall.js → prepareViteApiCall.js} +2 -2
  39. package/dist/esm/node/api/prerender.d.ts +5 -0
  40. package/dist/esm/node/api/prerender.js +7 -2
  41. package/dist/esm/node/api/preview.d.ts +5 -0
  42. package/dist/esm/node/api/preview.js +7 -2
  43. package/dist/esm/node/api/utils.d.ts +1 -0
  44. package/dist/esm/node/api/utils.js +1 -0
  45. package/dist/esm/node/cli/parseCli.d.ts +1 -1
  46. package/dist/esm/node/plugin/index.js +3 -4
  47. package/dist/esm/node/plugin/onLoad.js +1 -1
  48. package/dist/esm/node/plugin/plugins/buildConfig.js +7 -6
  49. package/dist/esm/node/plugin/plugins/commonConfig.js +21 -3
  50. package/dist/esm/node/plugin/plugins/devConfig/index.js +1 -4
  51. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +8 -4
  52. package/dist/esm/node/plugin/plugins/previewConfig.js +1 -2
  53. package/dist/esm/node/plugin/plugins/setGlobalContext.d.ts +1 -1
  54. package/dist/esm/node/plugin/plugins/setGlobalContext.js +34 -19
  55. package/dist/esm/node/prerender/runPrerender.js +4 -4
  56. package/dist/esm/node/prerender/utils.d.ts +1 -1
  57. package/dist/esm/node/prerender/utils.js +1 -1
  58. package/dist/esm/node/runtime/globalContext.d.ts +2 -2
  59. package/dist/esm/node/runtime/globalContext.js +7 -7
  60. package/dist/esm/node/runtime/index-common.d.ts +1 -0
  61. package/dist/esm/node/runtime/index-common.js +1 -0
  62. package/dist/esm/node/runtime/renderPage.js +5 -3
  63. package/dist/esm/node/runtime/utils.d.ts +1 -2
  64. package/dist/esm/node/runtime/utils.js +1 -2
  65. package/dist/esm/node/runtime-dev/createDevMiddleware.d.ts +10 -0
  66. package/dist/esm/node/runtime-dev/createDevMiddleware.js +23 -0
  67. package/dist/esm/node/runtime-dev/index.d.ts +3 -0
  68. package/dist/esm/node/runtime-dev/index.js +6 -0
  69. package/dist/esm/shared/page-configs/getConfigValueBuildTime.js +1 -1
  70. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +1 -1
  71. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  72. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  73. package/dist/esm/utils/assertSetup.d.ts +20 -0
  74. package/dist/esm/utils/assertSetup.js +130 -0
  75. package/dist/esm/utils/isDocker.js +1 -1
  76. package/dist/esm/utils/projectInfo.d.ts +1 -1
  77. package/dist/esm/utils/requireResolve.js +1 -1
  78. package/package.json +1 -1
  79. package/dist/cjs/utils/assertIsNotProductionRuntime.js +0 -62
  80. package/dist/cjs/utils/assertNodeEnv.js +0 -106
  81. package/dist/esm/utils/assertIsNotProductionRuntime.d.ts +0 -12
  82. package/dist/esm/utils/assertIsNotProductionRuntime.js +0 -59
  83. package/dist/esm/utils/assertNodeEnv.d.ts +0 -10
  84. package/dist/esm/utils/assertNodeEnv.js +0 -103
@@ -6,7 +6,7 @@ exports.getMiddlewares = getMiddlewares;
6
6
  const index_js_1 = require("../shared/route/index.js");
7
7
  const getPageFiles_js_1 = require("../shared/getPageFiles.js");
8
8
  const globalContext_js_1 = require("../node/runtime/globalContext.js");
9
- const assertNodeEnv_js_1 = require("../utils/assertNodeEnv.js");
9
+ const assertSetup_js_1 = require("../utils/assertSetup.js");
10
10
  const renderPageAlreadyRouted_js_1 = require("../node/runtime/renderPage/renderPageAlreadyRouted.js");
11
11
  /**
12
12
  * Used by {@link https://github.com/magne4000/vite-plugin-vercel|vite-plugin-vercel}
@@ -15,7 +15,7 @@ const renderPageAlreadyRouted_js_1 = require("../node/runtime/renderPage/renderP
15
15
  * @param config
16
16
  */
17
17
  async function getPagesAndRoutes() {
18
- (0, assertNodeEnv_js_1.handleNodeEnv_vitePluginVercel)();
18
+ (0, assertSetup_js_1.setNodeEnvProduction)();
19
19
  const renderContext = await (0, renderPageAlreadyRouted_js_1.getRenderContext)();
20
20
  const {
21
21
  //
@@ -24,10 +24,15 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.build = build;
27
- const prepareApiCall_js_1 = require("./prepareApiCall.js");
27
+ const prepareViteApiCall_js_1 = require("./prepareViteApiCall.js");
28
28
  const vite_1 = require("vite");
29
+ /**
30
+ * Programmatically trigger `$ vike build`
31
+ *
32
+ * https://vike.dev/api#build
33
+ */
29
34
  async function build(options = {}) {
30
- const { viteConfigEnhanced, configVike } = await (0, prepareApiCall_js_1.prepareApiCall)(options.viteConfig, 'build');
35
+ const { viteConfigEnhanced, configVike } = await (0, prepareViteApiCall_js_1.prepareViteApiCall)(options.viteConfig, 'build');
31
36
  // Build client-side
32
37
  const outputClient = await (0, vite_1.build)(viteConfigEnhanced);
33
38
  // Build server-side
@@ -3,16 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isVikeCliOrApi = isVikeCliOrApi;
4
4
  exports.setOperation = setOperation;
5
5
  const utils_js_1 = require("./utils.js");
6
- let apiOperation;
6
+ const globalObject = (0, utils_js_1.getGlobalObject)('context.ts', {
7
+ apiOperation: undefined
8
+ });
7
9
  function getOperation() {
8
- (0, utils_js_1.assert)(apiOperation);
9
- return apiOperation;
10
+ (0, utils_js_1.assert)(globalObject.apiOperation);
11
+ return globalObject.apiOperation;
10
12
  }
11
13
  function isVikeCliOrApi() {
12
14
  // The CLI uses the API
13
- return !!apiOperation;
15
+ return !!globalObject.apiOperation;
14
16
  }
15
17
  function setOperation(operation) {
16
- (0, utils_js_1.assert)(!apiOperation);
17
- apiOperation = operation;
18
+ (0, utils_js_1.assert)(!globalObject.apiOperation);
19
+ globalObject.apiOperation = operation;
18
20
  }
@@ -1,10 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.dev = dev;
4
- const prepareApiCall_js_1 = require("./prepareApiCall.js");
4
+ const prepareViteApiCall_js_1 = require("./prepareViteApiCall.js");
5
5
  const vite_1 = require("vite");
6
+ /**
7
+ * Programmatically trigger `$ vike dev`
8
+ *
9
+ * https://vike.dev/api#dev
10
+ */
6
11
  async function dev(options = {}) {
7
- const { viteConfigEnhanced } = await (0, prepareApiCall_js_1.prepareApiCall)(options.viteConfig, 'dev');
12
+ const { viteConfigEnhanced } = await (0, prepareViteApiCall_js_1.prepareViteApiCall)(options.viteConfig, 'dev');
8
13
  const server = await (0, vite_1.createServer)(viteConfigEnhanced);
9
14
  return {
10
15
  viteServer: server,
@@ -23,12 +23,12 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.prepareApiCall = prepareApiCall;
26
+ exports.prepareViteApiCall = prepareViteApiCall;
27
27
  const vite_1 = require("vite");
28
28
  const getConfigVike_js_1 = require("../shared/getConfigVike.js");
29
29
  const pluginName_js_1 = require("../plugin/plugins/commonConfig/pluginName.js");
30
30
  const context_js_1 = require("./context.js");
31
- async function prepareApiCall(viteConfig = {}, operation) {
31
+ async function prepareViteApiCall(viteConfig = {}, operation) {
32
32
  (0, context_js_1.setOperation)(operation);
33
33
  return enhanceViteConfig(viteConfig, operation);
34
34
  }
@@ -2,9 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.prerender = prerender;
4
4
  const runPrerender_js_1 = require("../prerender/runPrerender.js");
5
- const prepareApiCall_js_1 = require("./prepareApiCall.js");
5
+ const prepareViteApiCall_js_1 = require("./prepareViteApiCall.js");
6
+ /**
7
+ * Programmatically trigger `$ vike prerender`
8
+ *
9
+ * https://vike.dev/api#prerender
10
+ */
6
11
  async function prerender(options = {}) {
7
- const { viteConfigEnhanced } = await (0, prepareApiCall_js_1.prepareApiCall)(options.viteConfig, 'prerender');
12
+ const { viteConfigEnhanced } = await (0, prepareViteApiCall_js_1.prepareViteApiCall)(options.viteConfig, 'prerender');
8
13
  options.viteConfig = viteConfigEnhanced;
9
14
  const { viteConfig } = await (0, runPrerender_js_1.runPrerenderFromAPI)(options);
10
15
  return {
@@ -1,10 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.preview = preview;
4
- const prepareApiCall_js_1 = require("./prepareApiCall.js");
4
+ const prepareViteApiCall_js_1 = require("./prepareViteApiCall.js");
5
5
  const vite_1 = require("vite");
6
+ /**
7
+ * Programmatically trigger `$ vike preview`
8
+ *
9
+ * https://vike.dev/api#preview
10
+ */
6
11
  async function preview(options = {}) {
7
- const { viteConfigEnhanced } = await (0, prepareApiCall_js_1.prepareApiCall)(options.viteConfig, 'preview');
12
+ const { viteConfigEnhanced } = await (0, prepareViteApiCall_js_1.prepareViteApiCall)(options.viteConfig, 'preview');
8
13
  const server = await (0, vite_1.preview)(viteConfigEnhanced);
9
14
  return {
10
15
  viteServer: server,
@@ -19,3 +19,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
19
19
  const onLoad_js_1 = require("./onLoad.js");
20
20
  (0, onLoad_js_1.onLoad)();
21
21
  __exportStar(require("../../utils/assert.js"), exports);
22
+ __exportStar(require("../../utils/getGlobalObject.js"), exports);
@@ -34,8 +34,7 @@ const getPageAssets_js_1 = require("../runtime/renderPage/getPageAssets.js");
34
34
  const resolveClientEntriesDev_js_1 = require("./resolveClientEntriesDev.js");
35
35
  const workaroundCssModuleHmr_js_1 = require("./plugins/workaroundCssModuleHmr.js");
36
36
  const vite6HmrRegressionWorkaround_js_1 = require("./plugins/vite6HmrRegressionWorkaround.js");
37
- (0, utils_js_2.assertNodeEnv_onVikePluginLoad)();
38
- (0, utils_js_2.markEnvAsVikePluginLoaded)();
37
+ (0, utils_js_2.markSetup_vikeVitePlugin)();
39
38
  assertViteVersion();
40
39
  (0, getPageAssets_js_1.setResolveClientEntriesDev)(resolveClientEntriesDev_js_1.resolveClientEntriesDev);
41
40
  // Return as `any` to avoid Plugin type mismatches when there are multiple Vite versions installed
@@ -54,7 +53,7 @@ function plugin(vikeConfig) {
54
53
  ...(0, extractAssetsPlugin_js_1.extractAssetsPlugin)(),
55
54
  (0, extractExportNamesPlugin_js_1.extractExportNamesPlugin)(),
56
55
  (0, suppressRollupWarning_js_1.suppressRollupWarning)(),
57
- (0, setGlobalContext_js_1.setGlobalContext)(),
56
+ ...(0, setGlobalContext_js_1.setGlobalContext)(),
58
57
  ...(0, index_js_4.importBuild)(),
59
58
  (0, baseUrls_js_1.baseUrls)(vikeConfig),
60
59
  (0, envVars_js_1.envVarsPlugin)(),
@@ -2,11 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.onLoad = onLoad;
4
4
  const assertIsNotBrowser_js_1 = require("../../utils/assertIsNotBrowser.js");
5
- const assertIsNotProductionRuntime_js_1 = require("../../utils/assertIsNotProductionRuntime.js");
5
+ const assertSetup_js_1 = require("../../utils/assertSetup.js");
6
6
  const assertNodeVersion_js_1 = require("../../utils/assertNodeVersion.js");
7
7
  function onLoad() {
8
8
  (0, assertIsNotBrowser_js_1.assertIsNotBrowser)();
9
9
  (0, assertNodeVersion_js_1.assertNodeVersion)();
10
10
  // Ensure we don't bloat the server runtime with heavy plugin dependencies such as esbuild
11
- (0, assertIsNotProductionRuntime_js_1.assertIsNotProductionRuntime)();
11
+ (0, assertSetup_js_1.assertIsNotProductionRuntime)();
12
12
  }
@@ -33,14 +33,14 @@ function buildConfig() {
33
33
  let config;
34
34
  return [
35
35
  {
36
- name: 'vike:buildConfig:configResolved',
36
+ name: 'vike:buildConfig:post',
37
37
  apply: 'build',
38
38
  enforce: 'post',
39
39
  configResolved: {
40
40
  order: 'post',
41
41
  async handler(config_) {
42
42
  config = config_;
43
- (0, utils_js_1.assertNodeEnv_build)();
43
+ (0, utils_js_1.onSetupBuild)();
44
44
  assertRollupInput(config);
45
45
  const entries = await getEntries(config);
46
46
  (0, utils_js_1.assert)(Object.keys(entries).length > 0);
@@ -63,7 +63,7 @@ function buildConfig() {
63
63
  config: {
64
64
  order: 'post',
65
65
  handler(config) {
66
- (0, utils_js_1.assertNodeEnv_build)();
66
+ (0, utils_js_1.onSetupBuild)();
67
67
  isSsrBuild = (0, utils_js_1.viteIsSSR)(config);
68
68
  return {
69
69
  build: {
@@ -75,14 +75,15 @@ function buildConfig() {
75
75
  }
76
76
  },
77
77
  buildStart() {
78
- (0, utils_js_1.assertNodeEnv_build)();
78
+ (0, utils_js_1.onSetupBuild)();
79
79
  },
80
80
  async closeBundle() {
81
+ (0, utils_js_1.onSetupBuild)();
81
82
  await (0, fixServerAssets_js_1.fixServerAssets_assertCssTarget)(config);
82
83
  }
83
84
  },
84
85
  {
85
- name: 'vike:buildConfig:writeBundle',
86
+ name: 'vike:buildConfig:pre',
86
87
  apply: 'build',
87
88
  // Make sure other writeBundle() hooks are called after this writeBundle() hook.
88
89
  // - set_ASSETS_MAP() needs to be called before dist/server/ code is executed.
@@ -14,9 +14,7 @@ const assertResolveAlias_js_1 = require("./commonConfig/assertResolveAlias.js");
14
14
  const pluginName_js_1 = require("./commonConfig/pluginName.js");
15
15
  const getEnvVarObject_js_1 = require("../shared/getEnvVarObject.js");
16
16
  const isViteCliCall_js_1 = require("../shared/isViteCliCall.js");
17
- (0, utils_js_1.assertWarning)(!(0, isViteCliCall_js_1.isViteCliCall)(), `Vite's CLI is deprecated ${picocolors_1.default.underline('https://vike.dev/migration/cli')}`, {
18
- onlyOnce: true
19
- });
17
+ const context_js_1 = require("../../api/context.js");
20
18
  function commonConfig() {
21
19
  return [
22
20
  {
@@ -39,6 +37,7 @@ function commonConfig() {
39
37
  (0, buildConfig_js_1.assertRollupInput)(config);
40
38
  (0, assertResolveAlias_js_1.assertResolveAlias)(config);
41
39
  assertEsm(config.root);
40
+ assertVikeCliOrApi(config);
42
41
  }
43
42
  },
44
43
  config: {
@@ -102,3 +101,22 @@ function assertSingleInstance(config) {
102
101
  const numberOfInstances = config.plugins.filter((o) => o.name === pluginName_js_1.pluginName).length;
103
102
  (0, utils_js_1.assertUsage)(numberOfInstances === 1, `Vike's Vite plugin (${picocolors_1.default.cyan("import vike from 'vike/plugin'")}) is being added ${numberOfInstances} times to the list of Vite plugins. Make sure to add it only once instead.`);
104
103
  }
104
+ function assertVikeCliOrApi(config) {
105
+ if ((0, context_js_1.isVikeCliOrApi)())
106
+ return;
107
+ if ((0, isViteCliCall_js_1.isViteCliCall)()) {
108
+ (0, utils_js_1.assertWarning)(false, `Vite's CLI is deprecated ${picocolors_1.default.underline('https://vike.dev/migration/cli')}`, {
109
+ onlyOnce: true
110
+ });
111
+ return;
112
+ }
113
+ if (config.server.middlewareMode) {
114
+ (0, utils_js_1.assertWarning)(false, `${picocolors_1.default.cyan('vite.createServer()')} is deprecated ${picocolors_1.default.underline('https://vike.dev/migration/cli#api')}`, {
115
+ onlyOnce: true
116
+ });
117
+ return;
118
+ }
119
+ (0, utils_js_1.assertWarning)(false, `Vite's JavaScript API is deprecated ${picocolors_1.default.underline('https://vike.dev/migration/cli#api')}`, {
120
+ onlyOnce: true
121
+ });
122
+ }
@@ -70,9 +70,6 @@ function devConfig() {
70
70
  (0, loggerVite_js_1.improveViteLogs)(config);
71
71
  }
72
72
  logDockerHint(config.server.host);
73
- },
74
- configureServer() {
75
- (0, utils_js_1.markEnvAsViteDev)();
76
73
  }
77
74
  },
78
75
  {
@@ -18,12 +18,16 @@ const TOO_MANY_UNTRACKED_FILES = 5;
18
18
  let gitIsNotUsable = false;
19
19
  async function crawlPlusFiles(userRootDir, outDirAbsoluteFilesystem, crawlWithGit) {
20
20
  (0, utils_js_1.assertPosixPath)(userRootDir);
21
- (0, utils_js_1.assertPosixPath)(outDirAbsoluteFilesystem);
22
- let outDirRelativeFromUserRootDir = path_1.default.posix.relative(userRootDir, outDirAbsoluteFilesystem);
21
+ //*/
22
+ const outDirRelativeFromUserRootDir = null;
23
+ /*/
24
+ assertPosixPath(outDirAbsoluteFilesystem)
25
+ let outDirRelativeFromUserRootDir: string | null = path.posix.relative(userRootDir, outDirAbsoluteFilesystem)
23
26
  if (outDirRelativeFromUserRootDir.startsWith('../')) {
24
- // config.outDir is outside of config.root => it's going to be ignored anyways
25
- outDirRelativeFromUserRootDir = null;
27
+ // config.outDir is outside of config.root => it's going to be ignored anyways
28
+ outDirRelativeFromUserRootDir = null
26
29
  }
30
+ //*/
27
31
  (0, utils_js_1.assert)(outDirRelativeFromUserRootDir === null ||
28
32
  /* Not true if outDirRelativeFromUserRootDir starts with a hidden directory (i.e. a directory with a name that starts with `.`)
29
33
  !outDirRelativeFromUserRootDir.startsWith('.') &&
@@ -34,7 +34,6 @@ function previewConfig() {
34
34
  - This ugly hack to set appType for preview won't be need once https://github.com/vitejs/vite/pull/14855 is merged.
35
35
  config.appType = 'mpa'
36
36
  */
37
- (0, utils_js_1.markEnvAsVitePreview)();
38
37
  return () => {
39
38
  assertDist();
40
39
  /* We don't use this condition (we wrongfully always use the SSR middleware) because of the regression introduced by https://github.com/vitejs/vite/pull/14756 which stops servering .html files when `appType: 'custom'`.
@@ -4,25 +4,40 @@ exports.setGlobalContext = setGlobalContext;
4
4
  const globalContext_js_1 = require("../../runtime/globalContext.js");
5
5
  const utils_js_1 = require("../utils.js");
6
6
  function setGlobalContext() {
7
- return {
8
- name: 'vike:setGlobalContext',
9
- enforce: 'pre',
10
- configureServer: {
11
- order: 'pre',
12
- handler(viteDevServer) {
13
- (0, globalContext_js_1.setGlobalContext_viteDevServer)(viteDevServer);
7
+ return [
8
+ {
9
+ name: 'vike:setGlobalContext:pre',
10
+ enforce: 'pre',
11
+ configureServer: {
12
+ order: 'pre',
13
+ handler(viteDevServer) {
14
+ (0, globalContext_js_1.setGlobalContext_viteDevServer)(viteDevServer);
15
+ (0, utils_js_1.markSetup_viteDevServer)();
16
+ }
17
+ },
18
+ configurePreviewServer() {
19
+ (0, utils_js_1.markSetup_vitePreviewServer)();
20
+ },
21
+ config: {
22
+ order: 'pre',
23
+ handler(_, env) {
24
+ const isViteDev = (0, utils_js_1.isDevCheck)(env);
25
+ (0, globalContext_js_1.setGlobalContext_isViteDev)(isViteDev);
26
+ (0, utils_js_1.markSetup_isViteDev)(isViteDev);
27
+ }
14
28
  }
15
29
  },
16
- config: {
17
- handler(_, env) {
18
- const isDev = (0, utils_js_1.isDevCheck)(env);
19
- (0, globalContext_js_1.setGlobalContext_isDev)(isDev);
30
+ {
31
+ name: 'vike:setGlobalContext:post',
32
+ enforce: 'post',
33
+ configResolved: {
34
+ order: 'post',
35
+ handler(config) {
36
+ const { outDirRoot } = (0, utils_js_1.getOutDirs)(config);
37
+ (0, utils_js_1.assertFilePathAbsoluteFilesystem)(outDirRoot); // Needed for loadImportBuild(outDir) of @brillout/vite-plugin-server-entry
38
+ (0, globalContext_js_1.setGlobalContext_viteConfig)(config, outDirRoot);
39
+ }
20
40
  }
21
- },
22
- configResolved(config) {
23
- const { outDirRoot } = (0, utils_js_1.getOutDirs)(config);
24
- (0, utils_js_1.assertFilePathAbsoluteFilesystem)(outDirRoot); // Needed for loadImportBuild(outDir) of @brillout/vite-plugin-server-entry
25
- (0, globalContext_js_1.setGlobalContext_viteConfig)(config, outDirRoot);
26
41
  }
27
- };
42
+ ];
28
43
  }
@@ -56,7 +56,7 @@ const getVikeConfig_js_1 = require("../plugin/plugins/importUserCode/v1-design/g
56
56
  const logErrorHint_js_1 = require("../runtime/renderPage/logErrorHint.js");
57
57
  const executeHook_js_1 = require("../../shared/hooks/executeHook.js");
58
58
  const getConfigValueBuildTime_js_1 = require("../../shared/page-configs/getConfigValueBuildTime.js");
59
- const prepareApiCall_js_1 = require("../api/prepareApiCall.js");
59
+ const prepareViteApiCall_js_1 = require("../api/prepareViteApiCall.js");
60
60
  async function runPrerenderFromAPI(options = {}) {
61
61
  return await runPrerender(options, 'prerender()');
62
62
  // - We purposely propagate the error to the user land, so that the error interrupts the user land. It's also, I guess, a nice-to-have that the user has control over the error.
@@ -64,7 +64,7 @@ async function runPrerenderFromAPI(options = {}) {
64
64
  }
65
65
  async function runPrerenderFromCLIPrerenderCommand() {
66
66
  try {
67
- const { viteConfigEnhanced } = await (0, prepareApiCall_js_1.prepareApiCall)(undefined, 'prerender');
67
+ const { viteConfigEnhanced } = await (0, prepareViteApiCall_js_1.prepareViteApiCall)(undefined, 'prerender');
68
68
  await runPrerender({ viteConfig: viteConfigEnhanced }, '$ vike prerender');
69
69
  }
70
70
  catch (err) {
@@ -89,13 +89,13 @@ async function runPrerenderFromAutoRun(viteConfig, forceExit) {
89
89
  }
90
90
  async function runPrerender(options = {}, standaloneTrigger) {
91
91
  checkOutdatedOptions(options);
92
+ (0, utils_js_1.onSetupPrerender)();
92
93
  (0, globalContext_js_1.setGlobalContext_isPrerendering)();
93
94
  (0, getHook_js_1.getHook_setIsPrerenderering)();
94
95
  const logLevel = !!options.onPagePrerender ? 'warn' : 'info';
95
96
  if (logLevel === 'info') {
96
97
  console.log(`${picocolors_1.default.cyan(`vike v${utils_js_1.projectInfo.projectVersion}`)} ${picocolors_1.default.green('pre-rendering HTML...')}`);
97
98
  }
98
- (0, utils_js_1.handleNodeEnv_prerender)();
99
99
  await disableReactStreaming();
100
100
  const viteConfig = await (0, vite_1.resolveConfig)(options.viteConfig || {}, 'vike pre-rendering', 'production');
101
101
  assertLoadedConfig(viteConfig, options);
@@ -27,7 +27,7 @@ __exportStar(require("../../utils/isPropertyGetter.js"), exports);
27
27
  __exportStar(require("../../utils/filesystemPathHandling.js"), exports);
28
28
  __exportStar(require("../../utils/urlToFile.js"), exports);
29
29
  __exportStar(require("../../utils/isPlainObject.js"), exports);
30
- __exportStar(require("../../utils/assertNodeEnv.js"), exports);
30
+ __exportStar(require("../../utils/assertSetup.js"), exports);
31
31
  __exportStar(require("../../utils/pLimit.js"), exports);
32
32
  __exportStar(require("../../utils/isFilePathAbsoluteFilesystem.js"), exports);
33
33
  __exportStar(require("../../utils/isArray.js"), exports);
@@ -14,7 +14,7 @@ exports.initGlobalContext_runPrerender = initGlobalContext_runPrerender;
14
14
  exports.initGlobalContext_getGlobalContextAsync = initGlobalContext_getGlobalContextAsync;
15
15
  exports.setGlobalContext_viteDevServer = setGlobalContext_viteDevServer;
16
16
  exports.setGlobalContext_viteConfig = setGlobalContext_viteConfig;
17
- exports.setGlobalContext_isDev = setGlobalContext_isDev;
17
+ exports.setGlobalContext_isViteDev = setGlobalContext_isViteDev;
18
18
  exports.setGlobalContext_isPrerendering = setGlobalContext_isPrerendering;
19
19
  const utils_js_1 = require("./utils.js");
20
20
  const loadImportBuild_js_1 = require("./globalContext/loadImportBuild.js");
@@ -92,8 +92,8 @@ function assertIsNotInitilizedYet() {
92
92
  // In develpoment, globalObject.viteDevServer always needs to be awaited for before initializing globalObject.globalContext
93
93
  (0, utils_js_1.assert)(!globalObject.globalContext);
94
94
  }
95
- function setGlobalContext_isDev(isDev) {
96
- globalObject.isDev = isDev;
95
+ function setGlobalContext_isViteDev(isViteDev) {
96
+ globalObject.isViteDev = isViteDev;
97
97
  }
98
98
  function setGlobalContext_isPrerendering() {
99
99
  globalObject.isPrerendering = true;
@@ -105,7 +105,7 @@ function getViteConfig() {
105
105
  return globalObject.viteConfig ?? null;
106
106
  }
107
107
  async function initGlobalContext_renderPage() {
108
- await initGlobalContext(!globalObject.isDev);
108
+ await initGlobalContext(!globalObject.isViteDev);
109
109
  }
110
110
  async function initGlobalContext_runPrerender() {
111
111
  if (globalObject.initGlobalContext_runPrerender_alreadyCalled)
@@ -141,8 +141,8 @@ async function initGlobalContext(isProduction) {
141
141
  (0, utils_js_1.assert)(globalObject.globalContext.isPrerendering === (globalObject.isPrerendering ?? false));
142
142
  return;
143
143
  }
144
- const { viteDevServer, viteConfig, isDev, isPrerendering } = globalObject;
145
- (0, utils_js_1.assertNodeEnv_runtime)(isDev ?? false);
144
+ const { viteDevServer, viteConfig, isPrerendering } = globalObject;
145
+ (0, utils_js_1.onSetupRuntime)();
146
146
  if (!isProduction) {
147
147
  (0, utils_js_1.assert)(viteConfig);
148
148
  (0, utils_js_1.assert)(viteDevServer);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createPageRenderer = exports._injectAssets = exports.getGlobalContextAsync = exports.getGlobalContextSync = exports.version = exports.stampPipe = exports.pipeStream = exports.pipeNodeStream = exports.pipeWebStream = exports.dangerouslySkipEscape = exports.escapeInject = exports.renderPage = void 0;
3
+ exports.createPageRenderer = exports._injectAssets = exports.createDevMiddleware = exports.getGlobalContextAsync = exports.getGlobalContextSync = exports.version = exports.stampPipe = exports.pipeStream = exports.pipeNodeStream = exports.pipeWebStream = exports.dangerouslySkipEscape = exports.escapeInject = exports.renderPage = void 0;
4
4
  var renderPage_js_1 = require("./renderPage.js");
5
5
  Object.defineProperty(exports, "renderPage", { enumerable: true, get: function () { return renderPage_js_1.renderPage; } });
6
6
  var renderHtml_js_1 = require("./html/renderHtml.js");
@@ -16,6 +16,8 @@ Object.defineProperty(exports, "version", { enumerable: true, get: function () {
16
16
  var globalContext_js_1 = require("./globalContext.js");
17
17
  Object.defineProperty(exports, "getGlobalContextSync", { enumerable: true, get: function () { return globalContext_js_1.getGlobalContextSync; } });
18
18
  Object.defineProperty(exports, "getGlobalContextAsync", { enumerable: true, get: function () { return globalContext_js_1.getGlobalContextAsync; } });
19
+ var index_js_1 = require("../runtime-dev/index.js");
20
+ Object.defineProperty(exports, "createDevMiddleware", { enumerable: true, get: function () { return index_js_1.createDevMiddleware; } });
19
21
  // TODO/v1-release: remove
20
22
  var injectAssets__public_js_1 = require("./html/injectAssets/injectAssets__public.js");
21
23
  Object.defineProperty(exports, "_injectAssets", { enumerable: true, get: function () { return injectAssets__public_js_1.injectAssets__public; } });
@@ -37,7 +37,7 @@ exports.renderPage_addWrapper = renderPage_addWrapper;
37
37
  async function renderPage(pageContextInit) {
38
38
  (0, assertArguments_js_1.assertArguments)(...arguments);
39
39
  (0, utils_js_1.assert)((0, utils_js_1.hasProp)(pageContextInit, 'urlOriginal', 'string')); // assertUsage() already implemented at assertArguments()
40
- (0, utils_js_1.assertEnv)();
40
+ (0, utils_js_1.onSetupRuntime)();
41
41
  assertIsUrl(pageContextInit.urlOriginal);
42
42
  const urlPathnameWithBase = (0, utils_js_1.parseUrl)(pageContextInit.urlOriginal, '/').pathname;
43
43
  assertIsNotViteRequest(urlPathnameWithBase, pageContextInit.urlOriginal);
@@ -338,7 +338,9 @@ function assertIsUrl(urlOriginal) {
338
338
  }
339
339
  function assertIsNotViteRequest(urlPathname, urlOriginal) {
340
340
  const isViteRequest = urlPathname.startsWith('/@vite/client') || urlPathname.startsWith('/@fs/') || urlPathname.startsWith('/__vite_ping');
341
- (0, utils_js_1.assertUsage)(!isViteRequest, `${picocolors_1.default.code('renderPage(pageContextInit)')} (https://vike.dev/renderPage) called with ${picocolors_1.default.code(`pageContextInit.urlOriginal===${JSON.stringify(urlOriginal)}`)} which is unexpected because this URL should have already been handled by Vite's development middleware. Make sure to 1. install Vite's development middleware and 2. add Vite's middleware *before* Vike's middleware, see https://vike.dev/renderPage`);
341
+ if (!isViteRequest)
342
+ return;
343
+ (0, utils_js_1.assertUsage)(false, `${picocolors_1.default.code('renderPage(pageContextInit)')} called with ${picocolors_1.default.code(`pageContextInit.urlOriginal===${JSON.stringify(urlOriginal)}`)} which is unexpected because the URL ${picocolors_1.default.bold(urlOriginal)} should have already been handled by the development middleware: make sure the ${picocolors_1.default.cyan('createDevMiddleware()')} middleware is executed *before* the ${picocolors_1.default.cyan('renderPage()')} middleware, see ${picocolors_1.default.underline('https://vike.dev/renderPage')}`);
342
344
  }
343
345
  function normalizeUrl(pageContextInit, httpRequestId) {
344
346
  const { trailingSlash, disableUrlNormalization, baseServer } = (0, globalContext_js_1.getGlobalContext)();
@@ -59,9 +59,8 @@ __exportStar(require("../../utils/objectKeys.js"), exports);
59
59
  __exportStar(require("../../utils/objectEntries.js"), exports);
60
60
  __exportStar(require("../../utils/objectFromEntries.js"), exports);
61
61
  __exportStar(require("../../utils/getFileExtension.js"), exports);
62
- __exportStar(require("../../utils/assertIsNotProductionRuntime.js"), exports);
62
+ __exportStar(require("../../utils/assertSetup.js"), exports);
63
63
  __exportStar(require("../../utils/path-shim.js"), exports);
64
- __exportStar(require("../../utils/assertNodeEnv.js"), exports);
65
64
  __exportStar(require("../../utils/isHtml.js"), exports);
66
65
  __exportStar(require("../../utils/warnIfErrorIsNotObject.js"), exports);
67
66
  __exportStar(require("../../utils/stripAnsi.js"), exports);
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createDevMiddleware = createDevMiddleware;
4
+ const vite_1 = require("vite");
5
+ const prepareViteApiCall_js_1 = require("../api/prepareViteApiCall.js");
6
+ /*
7
+ * Create server middleware for development with HMR and lazy-transpiling.
8
+ *
9
+ * https://vike.dev/createDevMiddleware
10
+ */
11
+ async function createDevMiddleware(options = {}) {
12
+ const viteConfig = {
13
+ ...options.viteConfig,
14
+ server: {
15
+ ...options.viteConfig?.server,
16
+ middlewareMode: options.viteConfig?.server?.middlewareMode ?? true
17
+ }
18
+ };
19
+ if (options.root)
20
+ viteConfig.root = options.root;
21
+ const { viteConfigEnhanced } = await (0, prepareViteApiCall_js_1.prepareViteApiCall)(viteConfig, 'dev');
22
+ const server = await (0, vite_1.createServer)(viteConfigEnhanced);
23
+ const devMiddleware = server.middlewares;
24
+ return { devMiddleware, viteServer: server, viteConfig: server.config };
25
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.createDevMiddleware = void 0;
27
+ const createDevMiddleware_ = async (...args) => {
28
+ const p = './createDevMiddleware.js';
29
+ const { createDevMiddleware } = await Promise.resolve(`${p}`).then(s => __importStar(require(s)));
30
+ return createDevMiddleware(...args);
31
+ };
32
+ exports.createDevMiddleware = createDevMiddleware_;
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getConfigValueBuildTime = getConfigValueBuildTime;
4
4
  const utils_js_1 = require("../utils.js");
5
- const assertIsNotProductionRuntime_js_1 = require("../../utils/assertIsNotProductionRuntime.js");
5
+ const assertSetup_js_1 = require("../../utils/assertSetup.js");
6
6
  const getConfigValueTyped_js_1 = require("./getConfigValueTyped.js");
7
- (0, assertIsNotProductionRuntime_js_1.assertIsNotProductionRuntime)();
7
+ (0, assertSetup_js_1.assertIsNotProductionRuntime)();
8
8
  function getConfigValueBuildTime(pageConfig, configName, type) {
9
9
  const configValue = getConfigValue(pageConfig, configName);
10
10
  if (!configValue)
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.serializeConfigValues = serializeConfigValues;
7
- const assertIsNotProductionRuntime_js_1 = require("../../../utils/assertIsNotProductionRuntime.js");
7
+ const assertSetup_js_1 = require("../../../utils/assertSetup.js");
8
8
  const utils_js_1 = require("../../../node/plugin/utils.js");
9
9
  const addImportStatement_js_1 = require("../../../node/plugin/plugins/importUserCode/addImportStatement.js");
10
10
  const transformPointerImports_js_1 = require("../../../node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transformPointerImports.js");
@@ -16,7 +16,7 @@ const REPLACE_ME_AFTER = '__VIKE__REPLACE_ME_AFTER__';
16
16
  // This file is never loaded on the client-side but we save it under the vike/shared/ directory in order to collocate it with parsePageConfigs()
17
17
  // - vike/shared/page-configs/serialize/parsePageConfigs.ts
18
18
  // - parsePageConfigs() is loaded on both the client- and server-side.
19
- (0, assertIsNotProductionRuntime_js_1.assertIsNotProductionRuntime)();
19
+ (0, assertSetup_js_1.assertIsNotProductionRuntime)();
20
20
  function serializeConfigValues(pageConfig, importStatements, isEnvMatch, { isEager }, tabspace) {
21
21
  const lines = [];
22
22
  tabspace += ' ';
@@ -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.215';
5
+ exports.PROJECT_VERSION = '0.4.216';