vike 0.4.215 → 0.4.217

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 (143) hide show
  1. package/dist/cjs/__internal/index.js +2 -2
  2. package/dist/cjs/node/api/build.js +10 -3
  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} +16 -6
  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 +7 -10
  10. package/dist/cjs/node/plugin/onLoad.js +2 -2
  11. package/dist/cjs/node/plugin/plugins/autoFullBuild.js +15 -12
  12. package/dist/cjs/node/plugin/plugins/baseUrls.js +17 -12
  13. package/dist/cjs/node/plugin/plugins/buildConfig/fixServerAssets.js +1 -1
  14. package/dist/cjs/node/plugin/plugins/buildConfig.js +10 -10
  15. package/dist/cjs/node/plugin/plugins/commonConfig.js +35 -4
  16. package/dist/cjs/node/plugin/plugins/devConfig/determineOptimizeDeps.js +5 -5
  17. package/dist/cjs/node/plugin/plugins/devConfig/index.js +1 -4
  18. package/dist/cjs/node/plugin/plugins/extractAssetsPlugin.js +4 -7
  19. package/dist/cjs/node/plugin/plugins/importBuild/getVikeManifest.js +2 -2
  20. package/dist/cjs/node/plugin/plugins/importBuild/index.js +8 -6
  21. package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +8 -8
  22. package/dist/cjs/node/plugin/plugins/importUserCode/index.js +9 -13
  23. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +8 -4
  24. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +128 -0
  25. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +40 -26
  26. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +3 -4
  27. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +1 -1
  28. package/dist/cjs/node/plugin/plugins/previewConfig.js +4 -4
  29. package/dist/cjs/node/plugin/plugins/setGlobalContext.js +35 -17
  30. package/dist/cjs/node/prerender/runPrerender.js +5 -7
  31. package/dist/cjs/node/prerender/utils.js +1 -1
  32. package/dist/cjs/node/runtime/globalContext.js +21 -13
  33. package/dist/cjs/node/runtime/index-common.js +3 -1
  34. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -1
  35. package/dist/cjs/node/runtime/renderPage.js +4 -2
  36. package/dist/cjs/node/runtime/utils.js +1 -2
  37. package/dist/cjs/node/runtime-dev/createDevMiddleware.js +25 -0
  38. package/dist/cjs/node/runtime-dev/index.js +32 -0
  39. package/dist/cjs/node/shared/resolveBase.js +41 -0
  40. package/dist/cjs/shared/page-configs/getConfigValueBuildTime.js +2 -2
  41. package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +2 -2
  42. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  43. package/dist/cjs/utils/assertSetup.js +135 -0
  44. package/dist/cjs/utils/isDocker.js +2 -2
  45. package/dist/cjs/utils/requireResolve.js +2 -2
  46. package/dist/esm/__internal/index.js +2 -2
  47. package/dist/esm/node/api/build.d.ts +5 -0
  48. package/dist/esm/node/api/build.js +10 -3
  49. package/dist/esm/node/api/context.js +9 -7
  50. package/dist/esm/node/api/dev.d.ts +5 -0
  51. package/dist/esm/node/api/dev.js +7 -2
  52. package/dist/esm/node/api/prepareViteApiCall.d.ts +7 -0
  53. package/dist/esm/node/api/{prepareApiCall.js → prepareViteApiCall.js} +16 -6
  54. package/dist/esm/node/api/prerender.d.ts +5 -0
  55. package/dist/esm/node/api/prerender.js +7 -2
  56. package/dist/esm/node/api/preview.d.ts +5 -0
  57. package/dist/esm/node/api/preview.js +7 -2
  58. package/dist/esm/node/api/utils.d.ts +1 -0
  59. package/dist/esm/node/api/utils.js +1 -0
  60. package/dist/esm/node/cli/parseCli.d.ts +1 -1
  61. package/dist/esm/node/plugin/index.d.ts +3 -3
  62. package/dist/esm/node/plugin/index.js +6 -9
  63. package/dist/esm/node/plugin/onLoad.js +1 -1
  64. package/dist/esm/node/plugin/plugins/autoFullBuild.js +15 -12
  65. package/dist/esm/node/plugin/plugins/baseUrls.d.ts +2 -2
  66. package/dist/esm/node/plugin/plugins/baseUrls.js +17 -12
  67. package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.js +1 -1
  68. package/dist/esm/node/plugin/plugins/buildConfig.js +11 -11
  69. package/dist/esm/node/plugin/plugins/commonConfig.d.ts +1 -1
  70. package/dist/esm/node/plugin/plugins/commonConfig.js +36 -5
  71. package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.d.ts +1 -1
  72. package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.js +5 -5
  73. package/dist/esm/node/plugin/plugins/devConfig/index.js +2 -5
  74. package/dist/esm/node/plugin/plugins/extractAssetsPlugin.js +4 -7
  75. package/dist/esm/node/plugin/plugins/importBuild/getVikeManifest.d.ts +3 -2
  76. package/dist/esm/node/plugin/plugins/importBuild/getVikeManifest.js +2 -2
  77. package/dist/esm/node/plugin/plugins/importBuild/index.js +8 -6
  78. package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.d.ts +2 -2
  79. package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +8 -8
  80. package/dist/esm/node/plugin/plugins/importUserCode/index.js +11 -15
  81. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.d.ts +1 -1
  82. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +8 -4
  83. package/dist/esm/{shared/ConfigVike.d.ts → node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.d.ts} +14 -12
  84. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +123 -0
  85. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +8 -6
  86. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +41 -27
  87. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +3 -4
  88. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +1 -1
  89. package/dist/esm/node/plugin/plugins/previewConfig.js +5 -5
  90. package/dist/esm/node/plugin/plugins/setGlobalContext.d.ts +1 -1
  91. package/dist/esm/node/plugin/plugins/setGlobalContext.js +37 -19
  92. package/dist/esm/node/prerender/runPrerender.js +6 -8
  93. package/dist/esm/node/prerender/utils.d.ts +1 -1
  94. package/dist/esm/node/prerender/utils.js +1 -1
  95. package/dist/esm/node/runtime/globalContext.d.ts +8 -4
  96. package/dist/esm/node/runtime/globalContext.js +22 -14
  97. package/dist/esm/node/runtime/index-common.d.ts +1 -0
  98. package/dist/esm/node/runtime/index-common.js +1 -0
  99. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -1
  100. package/dist/esm/node/runtime/renderPage.js +5 -3
  101. package/dist/esm/node/runtime/utils.d.ts +1 -2
  102. package/dist/esm/node/runtime/utils.js +1 -2
  103. package/dist/esm/node/runtime-dev/createDevMiddleware.d.ts +10 -0
  104. package/dist/esm/node/runtime-dev/createDevMiddleware.js +23 -0
  105. package/dist/esm/node/runtime-dev/index.d.ts +3 -0
  106. package/dist/esm/node/runtime-dev/index.js +6 -0
  107. package/dist/esm/node/shared/resolveBase.d.ts +11 -0
  108. package/dist/esm/node/shared/resolveBase.js +36 -0
  109. package/dist/esm/shared/page-configs/Config.d.ts +2 -2
  110. package/dist/esm/shared/page-configs/getConfigValueBuildTime.js +1 -1
  111. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +1 -1
  112. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  113. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  114. package/dist/esm/utils/assertSetup.d.ts +20 -0
  115. package/dist/esm/utils/assertSetup.js +130 -0
  116. package/dist/esm/utils/isDocker.js +1 -1
  117. package/dist/esm/utils/projectInfo.d.ts +1 -1
  118. package/dist/esm/utils/requireResolve.js +1 -1
  119. package/package.json +1 -1
  120. package/dist/cjs/node/plugin/plugins/config/assertVikeConfig.js +0 -75
  121. package/dist/cjs/node/plugin/plugins/config/index.js +0 -81
  122. package/dist/cjs/node/plugin/plugins/config/pickFirst.js +0 -6
  123. package/dist/cjs/node/plugin/plugins/config/resolveBase.js +0 -47
  124. package/dist/cjs/node/shared/getConfigVike.js +0 -10
  125. package/dist/cjs/shared/ConfigVike.js +0 -2
  126. package/dist/cjs/utils/assertIsNotProductionRuntime.js +0 -62
  127. package/dist/cjs/utils/assertNodeEnv.js +0 -106
  128. package/dist/esm/node/api/prepareApiCall.d.ts +0 -7
  129. package/dist/esm/node/plugin/plugins/config/assertVikeConfig.d.ts +0 -7
  130. package/dist/esm/node/plugin/plugins/config/assertVikeConfig.js +0 -73
  131. package/dist/esm/node/plugin/plugins/config/index.d.ts +0 -3
  132. package/dist/esm/node/plugin/plugins/config/index.js +0 -76
  133. package/dist/esm/node/plugin/plugins/config/pickFirst.d.ts +0 -1
  134. package/dist/esm/node/plugin/plugins/config/pickFirst.js +0 -3
  135. package/dist/esm/node/plugin/plugins/config/resolveBase.d.ts +0 -10
  136. package/dist/esm/node/plugin/plugins/config/resolveBase.js +0 -42
  137. package/dist/esm/node/shared/getConfigVike.d.ts +0 -4
  138. package/dist/esm/node/shared/getConfigVike.js +0 -8
  139. package/dist/esm/shared/ConfigVike.js +0 -1
  140. package/dist/esm/utils/assertIsNotProductionRuntime.d.ts +0 -12
  141. package/dist/esm/utils/assertIsNotProductionRuntime.js +0 -59
  142. package/dist/esm/utils/assertNodeEnv.d.ts +0 -10
  143. package/dist/esm/utils/assertNodeEnv.js +0 -103
@@ -39,7 +39,6 @@ const picocolors_1 = __importDefault(require("@brillout/picocolors"));
39
39
  const os_1 = require("os");
40
40
  const globalContext_js_1 = require("../runtime/globalContext.js");
41
41
  const vite_1 = require("vite");
42
- const getConfigVike_js_1 = require("../shared/getConfigVike.js");
43
42
  const getPageFiles_js_1 = require("../../shared/getPageFiles.js");
44
43
  const getPageContextRequestUrl_js_1 = require("../../shared/getPageContextRequestUrl.js");
45
44
  const resolveRouteString_js_1 = require("../../shared/route/resolveRouteString.js");
@@ -56,7 +55,7 @@ const getVikeConfig_js_1 = require("../plugin/plugins/importUserCode/v1-design/g
56
55
  const logErrorHint_js_1 = require("../runtime/renderPage/logErrorHint.js");
57
56
  const executeHook_js_1 = require("../../shared/hooks/executeHook.js");
58
57
  const getConfigValueBuildTime_js_1 = require("../../shared/page-configs/getConfigValueBuildTime.js");
59
- const prepareApiCall_js_1 = require("../api/prepareApiCall.js");
58
+ const prepareViteApiCall_js_1 = require("../api/prepareViteApiCall.js");
60
59
  async function runPrerenderFromAPI(options = {}) {
61
60
  return await runPrerender(options, 'prerender()');
62
61
  // - 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 +63,7 @@ async function runPrerenderFromAPI(options = {}) {
64
63
  }
65
64
  async function runPrerenderFromCLIPrerenderCommand() {
66
65
  try {
67
- const { viteConfigEnhanced } = await (0, prepareApiCall_js_1.prepareApiCall)(undefined, 'prerender');
66
+ const { viteConfigEnhanced } = await (0, prepareViteApiCall_js_1.prepareViteApiCall)(undefined, 'prerender');
68
67
  await runPrerender({ viteConfig: viteConfigEnhanced }, '$ vike prerender');
69
68
  }
70
69
  catch (err) {
@@ -89,20 +88,20 @@ async function runPrerenderFromAutoRun(viteConfig, forceExit) {
89
88
  }
90
89
  async function runPrerender(options = {}, standaloneTrigger) {
91
90
  checkOutdatedOptions(options);
91
+ (0, utils_js_1.onSetupPrerender)();
92
92
  (0, globalContext_js_1.setGlobalContext_isPrerendering)();
93
93
  (0, getHook_js_1.getHook_setIsPrerenderering)();
94
94
  const logLevel = !!options.onPagePrerender ? 'warn' : 'info';
95
95
  if (logLevel === 'info') {
96
96
  console.log(`${picocolors_1.default.cyan(`vike v${utils_js_1.projectInfo.projectVersion}`)} ${picocolors_1.default.green('pre-rendering HTML...')}`);
97
97
  }
98
- (0, utils_js_1.handleNodeEnv_prerender)();
99
98
  await disableReactStreaming();
100
99
  const viteConfig = await (0, vite_1.resolveConfig)(options.viteConfig || {}, 'vike pre-rendering', 'production');
101
100
  assertLoadedConfig(viteConfig, options);
102
- const configVike = await (0, getConfigVike_js_1.getConfigVike)(viteConfig);
101
+ const vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig)(viteConfig);
103
102
  const { outDirClient } = (0, utils_js_1.getOutDirs)(viteConfig);
104
103
  const { root } = viteConfig;
105
- const prerenderConfig = configVike.prerender;
104
+ const prerenderConfig = vikeConfig.vikeConfigGlobal.prerender;
106
105
  if (!prerenderConfig) {
107
106
  (0, utils_js_1.assert)(standaloneTrigger);
108
107
  (0, utils_js_1.assertWarning)(prerenderConfig, `You're executing ${picocolors_1.default.cyan(standaloneTrigger)} but the config ${picocolors_1.default.cyan('prerender')} isn't set to true`, {
@@ -122,7 +121,6 @@ async function runPrerender(options = {}, standaloneTrigger) {
122
121
  pageContextInit: options.pageContextInit ?? null
123
122
  });
124
123
  const doNotPrerenderList = [];
125
- const vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig)(viteConfig, false);
126
124
  await collectDoNoPrerenderList(renderContext, vikeConfig.pageConfigs, doNotPrerenderList, concurrencyLimit);
127
125
  await callOnBeforePrerenderStartHooks(prerenderContext, renderContext, concurrencyLimit, doNotPrerenderList);
128
126
  await handlePagesWithStaticRoutes(prerenderContext, renderContext, doNotPrerenderList, concurrencyLimit);
@@ -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,16 +14,17 @@ 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_vikeConfig = setGlobalContext_vikeConfig;
18
+ exports.setGlobalContext_isViteDev = setGlobalContext_isViteDev;
18
19
  exports.setGlobalContext_isPrerendering = setGlobalContext_isPrerendering;
19
20
  const utils_js_1 = require("./utils.js");
20
21
  const loadImportBuild_js_1 = require("./globalContext/loadImportBuild.js");
21
22
  const getPageFiles_js_1 = require("../../shared/getPageFiles.js");
22
23
  const assertPluginManifest_js_1 = require("../shared/assertPluginManifest.js");
23
- const getConfigVike_js_1 = require("../shared/getConfigVike.js");
24
24
  const assertRuntimeManifest_js_1 = require("../shared/assertRuntimeManifest.js");
25
25
  const picocolors_1 = __importDefault(require("@brillout/picocolors"));
26
26
  const getPageFilesExports_js_1 = require("./page-files/getPageFilesExports.js");
27
+ const resolveBase_js_1 = require("../shared/resolveBase.js");
27
28
  const globalObject = (0, utils_js_1.getGlobalObject)('globalContext.ts', (() => {
28
29
  const { promise: viteDevServerPromise, resolve: viteDevServerPromiseResolve } = (0, utils_js_1.genPromise)();
29
30
  return {
@@ -88,12 +89,18 @@ function setGlobalContext_viteConfig(viteConfig, outDirRoot) {
88
89
  globalObject.viteConfig = viteConfig;
89
90
  globalObject.outDirRoot = outDirRoot;
90
91
  }
92
+ function setGlobalContext_vikeConfig(vikeConfig) {
93
+ if (globalObject.vikeConfig)
94
+ return;
95
+ assertIsNotInitilizedYet();
96
+ globalObject.vikeConfig = vikeConfig;
97
+ }
91
98
  function assertIsNotInitilizedYet() {
92
99
  // In develpoment, globalObject.viteDevServer always needs to be awaited for before initializing globalObject.globalContext
93
100
  (0, utils_js_1.assert)(!globalObject.globalContext);
94
101
  }
95
- function setGlobalContext_isDev(isDev) {
96
- globalObject.isDev = isDev;
102
+ function setGlobalContext_isViteDev(isViteDev) {
103
+ globalObject.isViteDev = isViteDev;
97
104
  }
98
105
  function setGlobalContext_isPrerendering() {
99
106
  globalObject.isPrerendering = true;
@@ -105,7 +112,7 @@ function getViteConfig() {
105
112
  return globalObject.viteConfig ?? null;
106
113
  }
107
114
  async function initGlobalContext_renderPage() {
108
- await initGlobalContext(!globalObject.isDev);
115
+ await initGlobalContext(!globalObject.isViteDev);
109
116
  }
110
117
  async function initGlobalContext_runPrerender() {
111
118
  if (globalObject.initGlobalContext_runPrerender_alreadyCalled)
@@ -141,14 +148,15 @@ async function initGlobalContext(isProduction) {
141
148
  (0, utils_js_1.assert)(globalObject.globalContext.isPrerendering === (globalObject.isPrerendering ?? false));
142
149
  return;
143
150
  }
144
- const { viteDevServer, viteConfig, isDev, isPrerendering } = globalObject;
145
- (0, utils_js_1.assertNodeEnv_runtime)(isDev ?? false);
151
+ const { viteDevServer, viteConfig, vikeConfig, isPrerendering } = globalObject;
152
+ (0, utils_js_1.onSetupRuntime)();
146
153
  if (!isProduction) {
147
154
  (0, utils_js_1.assert)(viteConfig);
155
+ (0, utils_js_1.assert)(vikeConfig);
148
156
  (0, utils_js_1.assert)(viteDevServer);
149
157
  (0, utils_js_1.assert)(!isPrerendering);
150
- const configVike = await (0, getConfigVike_js_1.getConfigVike)(viteConfig);
151
- const pluginManifest = getRuntimeManifest(configVike);
158
+ const vikeConfigGlobal = vikeConfig.vikeConfigGlobal;
159
+ const pluginManifest = getRuntimeManifest(vikeConfigGlobal, viteConfig);
152
160
  globalObject.globalContext = {
153
161
  isProduction: false,
154
162
  isPrerendering: false,
@@ -156,6 +164,7 @@ async function initGlobalContext(isProduction) {
156
164
  pluginManifest: null,
157
165
  viteDevServer,
158
166
  viteConfig,
167
+ vikeConfig,
159
168
  baseServer: pluginManifest.baseServer,
160
169
  baseAssets: pluginManifest.baseAssets,
161
170
  includeAssetsImportedByServer: pluginManifest.includeAssetsImportedByServer,
@@ -185,8 +194,6 @@ async function initGlobalContext(isProduction) {
185
194
  };
186
195
  if (isPrerendering) {
187
196
  (0, utils_js_1.assert)(viteConfig);
188
- const configVike = await (0, getConfigVike_js_1.getConfigVike)(viteConfig);
189
- (0, utils_js_1.assert)(configVike);
190
197
  (0, utils_js_1.objectAssign)(globalContext, {
191
198
  isPrerendering: true,
192
199
  viteConfig
@@ -202,8 +209,9 @@ async function initGlobalContext(isProduction) {
202
209
  }
203
210
  }
204
211
  }
205
- function getRuntimeManifest(configVike) {
206
- const { includeAssetsImportedByServer, baseServer, baseAssets, redirects, trailingSlash, disableUrlNormalization } = configVike;
212
+ function getRuntimeManifest(vikeConfigGlobal, viteConfig) {
213
+ const { includeAssetsImportedByServer, redirects, trailingSlash, disableUrlNormalization } = vikeConfigGlobal;
214
+ const { baseServer, baseAssets } = (0, resolveBase_js_1.resolveBaseFromResolvedConfig)(vikeConfigGlobal.baseServer, vikeConfigGlobal.baseAssets, viteConfig);
207
215
  const manifest = {
208
216
  baseServer,
209
217
  baseAssets,
@@ -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; } });
@@ -126,7 +126,7 @@ function getPageContextInitEnhanced(pageContextInit, renderContext, { ssr: { url
126
126
  (0, utils_js_1.objectAssign)(pageContextInitEnhanced, pageContextInit);
127
127
  (0, utils_js_1.objectAssign)(pageContextInitEnhanced, {
128
128
  _objectCreatedByVike: true,
129
- // The following is defined on `pageContext` because we can eventually make these non-global (e.g. sot that two pages can have different includeAssetsImportedByServer settings)
129
+ // The following is defined on `pageContext` because we can eventually make these non-global
130
130
  _baseServer: globalContext.baseServer,
131
131
  _baseAssets: globalContext.baseAssets,
132
132
  _includeAssetsImportedByServer: globalContext.includeAssetsImportedByServer,
@@ -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_;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.resolveBase = resolveBase;
7
+ exports.resolveBaseFromResolvedConfig = resolveBaseFromResolvedConfig;
8
+ const utils_js_1 = require("./utils.js");
9
+ const picocolors_1 = __importDefault(require("@brillout/picocolors"));
10
+ function resolveBaseFromResolvedConfig(baseServer, baseAssets, config) {
11
+ let baseViteOriginal = config._baseViteOriginal;
12
+ if (baseViteOriginal === '/__UNSET__')
13
+ baseViteOriginal = null;
14
+ (0, utils_js_1.assert)(baseViteOriginal === null || typeof baseViteOriginal == 'string');
15
+ return resolveBase(baseViteOriginal, baseServer, baseAssets);
16
+ }
17
+ function resolveBase(baseViteOriginal, baseServerUnresolved, baseAssetsUnresolved) {
18
+ {
19
+ const wrongBase = (val) => `should start with ${picocolors_1.default.cyan('/')}, ${picocolors_1.default.cyan('http://')}, or ${picocolors_1.default.cyan('https://')} (it's ${picocolors_1.default.cyan(val)} instead)`;
20
+ (0, utils_js_1.assertUsage)(baseViteOriginal === null || (0, utils_js_1.isBaseAssets)(baseViteOriginal), `vite.config.js#base ${wrongBase(baseViteOriginal)}`);
21
+ (0, utils_js_1.assertUsage)(baseAssetsUnresolved === null || (0, utils_js_1.isBaseAssets)(baseAssetsUnresolved), `Config ${picocolors_1.default.cyan('baseAssets')} ${wrongBase(baseAssetsUnresolved)}`);
22
+ (0, utils_js_1.assertUsage)(baseServerUnresolved === null || baseServerUnresolved.startsWith('/'), `Config ${picocolors_1.default.cyan('baseServer')} should start with a leading slash ${picocolors_1.default.cyan('/')} (it's ${picocolors_1.default.cyan(String(baseServerUnresolved))} instead)`);
23
+ }
24
+ if (baseViteOriginal) {
25
+ if (baseViteOriginal.startsWith('http')) {
26
+ baseAssetsUnresolved = baseAssetsUnresolved ?? baseViteOriginal;
27
+ }
28
+ else {
29
+ baseAssetsUnresolved = baseAssetsUnresolved ?? baseViteOriginal;
30
+ baseServerUnresolved = baseServerUnresolved ?? baseViteOriginal;
31
+ }
32
+ }
33
+ const baseServer = baseServerUnresolved ?? '/';
34
+ const baseAssets = baseAssetsUnresolved ?? '/';
35
+ (0, utils_js_1.assert)((0, utils_js_1.isBaseAssets)(baseAssets));
36
+ (0, utils_js_1.assert)((0, utils_js_1.isBaseServer)(baseServer));
37
+ return {
38
+ baseServer,
39
+ baseAssets
40
+ };
41
+ }
@@ -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.217';
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.assertIsNotProductionRuntime = assertIsNotProductionRuntime;
7
+ exports.onSetupRuntime = onSetupRuntime;
8
+ exports.onSetupBuild = onSetupBuild;
9
+ exports.onSetupPrerender = onSetupPrerender;
10
+ exports.setNodeEnvProduction = setNodeEnvProduction;
11
+ exports.markSetup_viteDevServer = markSetup_viteDevServer;
12
+ exports.markSetup_vitePreviewServer = markSetup_vitePreviewServer;
13
+ exports.markSetup_vikeVitePlugin = markSetup_vikeVitePlugin;
14
+ exports.markSetup_isViteDev = markSetup_isViteDev;
15
+ exports.markSetup_isPrerendering = markSetup_isPrerendering;
16
+ const assert_js_1 = require("./assert.js");
17
+ const assertIsNotBrowser_js_1 = require("./assertIsNotBrowser.js");
18
+ const debug_js_1 = require("./debug.js");
19
+ const getGlobalObject_js_1 = require("./getGlobalObject.js");
20
+ const isVitest_js_1 = require("./isVitest.js");
21
+ const picocolors_1 = __importDefault(require("@brillout/picocolors"));
22
+ (0, assertIsNotBrowser_js_1.assertIsNotBrowser)();
23
+ const debug = (0, debug_js_1.createDebugger)('vike:setup');
24
+ const setup = (0, getGlobalObject_js_1.getGlobalObject)('utils/assertIsNotProductionRuntime.ts', {});
25
+ // Called by Vike modules that want to ensure that they aren't loaded by the server runtime in production
26
+ function assertIsNotProductionRuntime() {
27
+ if (debug.isActivated)
28
+ debug('assertIsNotProductionRuntime()', new Error().stack);
29
+ setup.shouldNotBeProduction = true;
30
+ }
31
+ function onSetupRuntime() {
32
+ if (debug.isActivated)
33
+ debug('assertSetup()', new Error().stack);
34
+ if (isTest())
35
+ return;
36
+ if (!isViteLoaded()) {
37
+ // TODO: make it assertUsage() again once https://github.com/vikejs/vike/issues/1528 is implemented.
38
+ (0, assert_js_1.assertWarning)(!isNodeEnvDev(), `The ${getEnvDescription()}, which seems contradictory because the environment seems to be a production environment (Vite isn't loaded), see https://vike.dev/NODE_ENV`, { onlyOnce: true });
39
+ (0, assert_js_1.assertUsage)(!setup.vikeVitePlugin, "Loading Vike's Vite plugin (the vike/plugin module) is prohibited in production.");
40
+ // This assert() one of the main goal of this file: it ensures assertIsNotProductionRuntime()
41
+ (0, assert_js_1.assert)(!setup.shouldNotBeProduction);
42
+ }
43
+ else {
44
+ // TODO: make it assertUsage() again once https://github.com/vikejs/vike/issues/1528 is implemented.
45
+ (0, assert_js_1.assertWarning)(isNodeEnvDev() || setup.vitePreviewServer || setup.isPrerendering, `The ${getEnvDescription()}, but Vite is loaded which is prohibited in production, see https://vike.dev/NODE_ENV`, { onlyOnce: true });
46
+ // These two assert() calls aren't that interesting
47
+ (0, assert_js_1.assert)(setup.vikeVitePlugin);
48
+ (0, assert_js_1.assert)(setup.shouldNotBeProduction);
49
+ }
50
+ }
51
+ // Ensure NODE_ENV is 'production' when building.
52
+ // - Used by both Vue and React for bundling minified version:
53
+ // - Vue: https://github.com/vuejs/core/blob/f66a75ea75c8aece065b61e2126b4c5b2338aa6e/packages/vue/index.js
54
+ // - React: https://github.com/facebook/react/blob/01ab35a9a731dec69995fbd28f3ac7eaad11e183/packages/react/npm/index.js
55
+ // - Required for React: setting NODE_ENV to a value other than 'production' triggers an error: https://github.com/vikejs/vike/issues/1469#issuecomment-1969301797
56
+ // - Not required for Vue: when building the app, NODE_ENV can be set to a value other than 'production', e.g. 'development'.
57
+ function onSetupBuild() {
58
+ assertUsageNodeEnvIsNotDev('building');
59
+ /* Not needed: Vite already sets `process.env.NODE_ENV = 'production'`
60
+ setNodeEnvProduction()
61
+ */
62
+ }
63
+ function onSetupPrerender() {
64
+ markSetup_isPrerendering();
65
+ if (getNodeEnvValue())
66
+ assertUsageNodeEnvIsNotDev('pre-rendering');
67
+ setNodeEnvProduction();
68
+ }
69
+ function isViteLoaded() {
70
+ // Do we need setup.viteDevServer or setup.vitePreviewServer ?
71
+ return setup.viteDevServer || setup.vitePreviewServer || setup.isViteDev !== undefined;
72
+ }
73
+ function isTest() {
74
+ return (0, isVitest_js_1.isVitest)() || getNodeEnvValue() === 'test';
75
+ }
76
+ // Called by Vite hook configureServer()
77
+ function markSetup_viteDevServer() {
78
+ if (debug.isActivated)
79
+ debug('markSetup_viteDevServer()', new Error().stack);
80
+ setup.viteDevServer = true;
81
+ }
82
+ // Called by Vite hook configurePreviewServer()
83
+ function markSetup_vitePreviewServer() {
84
+ if (debug.isActivated)
85
+ debug('markSetup_vitePreviewServer()', new Error().stack);
86
+ setup.vitePreviewServer = true;
87
+ }
88
+ // Called by ../node/plugin/index.ts
89
+ function markSetup_vikeVitePlugin() {
90
+ if (debug.isActivated)
91
+ debug('markSetup_vikeVitePlugin()', new Error().stack);
92
+ setup.vikeVitePlugin = true;
93
+ }
94
+ // Whether Vite is loaded and whether it's in dev mode (the value returned by `isDevCheck()`)
95
+ function markSetup_isViteDev(isViteDev) {
96
+ if (debug.isActivated)
97
+ debug('markSetup_isViteDev()', new Error().stack);
98
+ setup.isViteDev = isViteDev;
99
+ }
100
+ // Called by ../node/prerender/runPrerender.ts
101
+ function markSetup_isPrerendering() {
102
+ if (debug.isActivated)
103
+ debug('markSetup_isPrerendering()', new Error().stack);
104
+ setup.isPrerendering = true;
105
+ }
106
+ function assertUsageNodeEnvIsNotDev(operation) {
107
+ if (!isNodeEnvDev())
108
+ return;
109
+ // TODO: make it assertUsage() again once https://github.com/vikejs/vike/issues/1528 is implemented.
110
+ (0, assert_js_1.assertWarning)(false, `The ${getEnvDescription()} which is forbidden upon ${operation}, see https://vike.dev/NODE_ENV`, { onlyOnce: true });
111
+ }
112
+ function getEnvDescription() {
113
+ const nodeEnv = getNodeEnvValue();
114
+ const isDev = isNodeEnvDev();
115
+ const envType = `${(isDev ? 'development' : 'production')} environment`;
116
+ const nodeEnvDesc = `environment is set to be a ${picocolors_1.default.bold(envType)} by ${picocolors_1.default.cyan(`process.env.NODE_ENV===${JSON.stringify(nodeEnv)}`)}`;
117
+ return nodeEnvDesc;
118
+ }
119
+ function isNodeEnvDev() {
120
+ const nodeEnv = getNodeEnvValue();
121
+ // That's quite strict, let's see if some user complains
122
+ return !nodeEnv || ['development', 'dev'].includes(nodeEnv);
123
+ }
124
+ function getNodeEnvValue() {
125
+ if (typeof process === 'undefined')
126
+ return null;
127
+ return process.env.NODE_ENV?.toLowerCase();
128
+ }
129
+ function setNodeEnvProduction() {
130
+ // The statement `process.env['NODE_ENV'] = 'production'` chokes webpack v4
131
+ const proc = process;
132
+ const { env } = proc;
133
+ env.NODE_ENV = 'production';
134
+ (0, assert_js_1.assert)(getNodeEnvValue() === 'production');
135
+ }
@@ -5,8 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.isDocker = isDocker;
7
7
  const node_fs_1 = __importDefault(require("node:fs"));
8
- const assertIsNotProductionRuntime_js_1 = require("./assertIsNotProductionRuntime.js");
9
- (0, assertIsNotProductionRuntime_js_1.assertIsNotProductionRuntime)();
8
+ const assertSetup_js_1 = require("./assertSetup.js");
9
+ (0, assertSetup_js_1.assertIsNotProductionRuntime)();
10
10
  function isDocker() {
11
11
  return hasContainerEnv() || isDockerContainer();
12
12
  }
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.requireResolve = requireResolve;
4
4
  const assert_js_1 = require("./assert.js");
5
5
  const assertIsNotBrowser_js_1 = require("./assertIsNotBrowser.js");
6
- const assertIsNotProductionRuntime_js_1 = require("./assertIsNotProductionRuntime.js");
6
+ const assertSetup_js_1 = require("./assertSetup.js");
7
7
  const filesystemPathHandling_js_1 = require("./filesystemPathHandling.js");
8
8
  const isScriptFile_js_1 = require("./isScriptFile.js");
9
9
  const module_1 = require("module");
@@ -11,7 +11,7 @@ const module_1 = require("module");
11
11
  const importMetaUrl = `file://${__filename}`;
12
12
  const require_ = (0, module_1.createRequire)(importMetaUrl);
13
13
  (0, assertIsNotBrowser_js_1.assertIsNotBrowser)();
14
- (0, assertIsNotProductionRuntime_js_1.assertIsNotProductionRuntime)();
14
+ (0, assertSetup_js_1.assertIsNotProductionRuntime)();
15
15
  // We still can't use import.meta.resolve() as of 23.1.0 (November 2024) because `parent` argument requires an experimental flag.
16
16
  // - https://stackoverflow.com/questions/54977743/do-require-resolve-for-es-modules#comment139581675_62272600
17
17
  function requireResolve(importPath, cwd) {
@@ -5,7 +5,7 @@ export { getMiddlewares };
5
5
  import { route as routeInternal } from '../shared/route/index.js';
6
6
  import { getPageFilesAll } from '../shared/getPageFiles.js';
7
7
  import { getGlobalContext, initGlobalContext_getGlobalContextAsync } from '../node/runtime/globalContext.js';
8
- import { handleNodeEnv_vitePluginVercel } from '../utils/assertNodeEnv.js';
8
+ import { setNodeEnvProduction } from '../utils/assertSetup.js';
9
9
  import { getRenderContext } from '../node/runtime/renderPage/renderPageAlreadyRouted.js';
10
10
  /**
11
11
  * Used by {@link https://github.com/magne4000/vite-plugin-vercel|vite-plugin-vercel}
@@ -14,7 +14,7 @@ import { getRenderContext } from '../node/runtime/renderPage/renderPageAlreadyRo
14
14
  * @param config
15
15
  */
16
16
  async function getPagesAndRoutes() {
17
- handleNodeEnv_vitePluginVercel();
17
+ setNodeEnvProduction();
18
18
  const renderContext = await getRenderContext();
19
19
  const {
20
20
  //
@@ -2,6 +2,11 @@ export { build };
2
2
  import { type Rollup } from 'vite';
3
3
  import type { APIOptions } from './types.js';
4
4
  type RollupOutput = Rollup.RollupOutput | Rollup.RollupOutput[] | Rollup.RollupWatcher;
5
+ /**
6
+ * Programmatically trigger `$ vike build`
7
+ *
8
+ * https://vike.dev/api#build
9
+ */
5
10
  declare function build(options?: APIOptions): Promise<{
6
11
  rollupOutputClient: RollupOutput;
7
12
  rollupOutputServer: RollupOutput;
@@ -1,14 +1,21 @@
1
1
  export { build };
2
- import { prepareApiCall } from './prepareApiCall.js';
2
+ import { prepareViteApiCall } from './prepareViteApiCall.js';
3
3
  import { build as buildVite } from 'vite';
4
+ /**
5
+ * Programmatically trigger `$ vike build`
6
+ *
7
+ * https://vike.dev/api#build
8
+ */
4
9
  async function build(options = {}) {
5
- const { viteConfigEnhanced, configVike } = await prepareApiCall(options.viteConfig, 'build');
10
+ const { viteConfigEnhanced, vikeConfigGlobal } = await prepareViteApiCall(options.viteConfig, 'build');
6
11
  // Build client-side
7
12
  const outputClient = await buildVite(viteConfigEnhanced);
8
13
  // Build server-side
9
14
  const outputServer = await buildVite(setSSR(viteConfigEnhanced));
10
15
  // Pre-render
11
- if (configVike.prerender && !configVike.prerender.disableAutoRun && configVike.disableAutoFullBuild !== 'prerender') {
16
+ if (vikeConfigGlobal.prerender &&
17
+ !vikeConfigGlobal.prerender.disableAutoRun &&
18
+ vikeConfigGlobal.disableAutoFullBuild !== 'prerender') {
12
19
  const { runPrerenderFromAutoRun } = await import('../prerender/runPrerender.js');
13
20
  await runPrerenderFromAutoRun(viteConfigEnhanced, true);
14
21
  }
@@ -1,17 +1,19 @@
1
1
  export { isVikeCliOrApi };
2
2
  // export { getOperation }
3
3
  export { setOperation as setOperation };
4
- import { assert } from './utils.js';
5
- let apiOperation;
4
+ import { assert, getGlobalObject } from './utils.js';
5
+ const globalObject = getGlobalObject('context.ts', {
6
+ apiOperation: undefined
7
+ });
6
8
  function getOperation() {
7
- assert(apiOperation);
8
- return apiOperation;
9
+ assert(globalObject.apiOperation);
10
+ return globalObject.apiOperation;
9
11
  }
10
12
  function isVikeCliOrApi() {
11
13
  // The CLI uses the API
12
- return !!apiOperation;
14
+ return !!globalObject.apiOperation;
13
15
  }
14
16
  function setOperation(operation) {
15
- assert(!apiOperation);
16
- apiOperation = operation;
17
+ assert(!globalObject.apiOperation);
18
+ globalObject.apiOperation = operation;
17
19
  }
@@ -1,6 +1,11 @@
1
1
  export { dev };
2
2
  import { type ResolvedConfig, type ViteDevServer } from 'vite';
3
3
  import type { APIOptions } from './types.js';
4
+ /**
5
+ * Programmatically trigger `$ vike dev`
6
+ *
7
+ * https://vike.dev/api#dev
8
+ */
4
9
  declare function dev(options?: APIOptions): Promise<{
5
10
  viteServer: ViteDevServer;
6
11
  viteConfig: ResolvedConfig;