vike 0.4.161 → 0.4.162-commit-8995471

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 (159) hide show
  1. package/dist/cjs/__internal/index.js +2 -2
  2. package/dist/cjs/node/plugin/index.js +0 -2
  3. package/dist/cjs/node/plugin/plugins/buildConfig.js +41 -37
  4. package/dist/cjs/node/plugin/plugins/config/index.js +2 -7
  5. package/dist/cjs/node/plugin/plugins/devConfig/determineFsAllowList.js +1 -8
  6. package/dist/cjs/node/plugin/plugins/devConfig/determineOptimizeDeps.js +1 -18
  7. package/dist/cjs/node/plugin/plugins/devConfig/index.js +2 -4
  8. package/dist/cjs/node/plugin/plugins/envVars.js +6 -2
  9. package/dist/cjs/node/plugin/plugins/extractAssetsPlugin.js +10 -22
  10. package/dist/cjs/node/plugin/plugins/extractExportNamesPlugin.js +2 -2
  11. package/dist/cjs/node/plugin/plugins/importBuild/getVikeManifest.js +1 -21
  12. package/dist/cjs/node/plugin/plugins/importBuild/index.js +1 -1
  13. package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +29 -95
  14. package/dist/cjs/node/plugin/plugins/importUserCode/index.js +8 -8
  15. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getConfigValuesSerialized.js +1 -9
  16. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +3 -0
  17. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js +1 -1
  18. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +4 -4
  19. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveImportPath.js +1 -1
  20. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transformFileImports.js +35 -36
  21. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +109 -104
  22. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +39 -33
  23. package/dist/cjs/node/plugin/plugins/setGlobalContext.js +0 -14
  24. package/dist/cjs/node/plugin/shared/rollupSourceMap.js +20 -0
  25. package/dist/cjs/node/plugin/utils.js +0 -1
  26. package/dist/cjs/node/prerender/runPrerender.js +3 -2
  27. package/dist/cjs/node/prerender/utils.js +1 -1
  28. package/dist/cjs/node/runtime/globalContext.js +8 -19
  29. package/dist/cjs/node/runtime/html/serializePageContextClientSide.js +1 -0
  30. package/dist/cjs/node/runtime/renderPage/analyzePage.js +2 -2
  31. package/dist/cjs/node/runtime/renderPage/getPageAssets/assertClientEntryId.js +2 -8
  32. package/dist/cjs/node/runtime/renderPage/getPageAssets/getManifestEntry.js +6 -7
  33. package/dist/cjs/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.js +2 -2
  34. package/dist/cjs/node/runtime/renderPage/getPageAssets.js +23 -28
  35. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +2 -23
  36. package/dist/cjs/node/runtime/utils.js +1 -2
  37. package/dist/cjs/node/shared/assertPluginManifest.js +1 -4
  38. package/dist/cjs/node/shared/assertV1Design.js +26 -0
  39. package/dist/cjs/node/shared/{getClientEntryFilePath.js → getClientEntry.js} +3 -3
  40. package/dist/cjs/node/shared/prependEntriesDir.js +13 -0
  41. package/dist/cjs/node/shared/utils.js +2 -0
  42. package/dist/cjs/node/shared/virtual-files/virtualFileImportUserCode.js +1 -0
  43. package/dist/cjs/shared/hooks/getHook.js +1 -1
  44. package/dist/cjs/shared/page-configs/helpers/getConfigValue.js +1 -0
  45. package/dist/cjs/shared/page-configs/serialize/parseConfigValuesImported.js +1 -1
  46. package/dist/cjs/shared/route/abort.js +1 -0
  47. package/dist/cjs/shared/route/resolvePrecedence.js +1 -0
  48. package/dist/cjs/utils/{nodeEnv.js → assertNodeEnv.js} +3 -0
  49. package/dist/cjs/utils/formatHintLog.js +1 -0
  50. package/dist/cjs/utils/hasProp.js +1 -0
  51. package/dist/cjs/utils/isScriptFile.js +15 -4
  52. package/dist/cjs/utils/projectInfo.js +1 -1
  53. package/dist/esm/__internal/index.js +1 -1
  54. package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +20 -14
  55. package/dist/esm/client/shared/getPageContextProxyForUser.js +19 -2
  56. package/dist/esm/client/shared/loadUserFilesClientSide.js +1 -0
  57. package/dist/esm/node/plugin/index.js +0 -2
  58. package/dist/esm/node/plugin/plugins/buildConfig.js +40 -36
  59. package/dist/esm/node/plugin/plugins/config/index.js +2 -7
  60. package/dist/esm/node/plugin/plugins/devConfig/determineFsAllowList.d.ts +1 -2
  61. package/dist/esm/node/plugin/plugins/devConfig/determineFsAllowList.js +1 -8
  62. package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.d.ts +1 -2
  63. package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.js +2 -19
  64. package/dist/esm/node/plugin/plugins/devConfig/index.js +2 -4
  65. package/dist/esm/node/plugin/plugins/envVars.js +6 -2
  66. package/dist/esm/node/plugin/plugins/extractAssetsPlugin.js +11 -23
  67. package/dist/esm/node/plugin/plugins/extractExportNamesPlugin.js +2 -2
  68. package/dist/esm/node/plugin/plugins/importBuild/getVikeManifest.d.ts +1 -2
  69. package/dist/esm/node/plugin/plugins/importBuild/getVikeManifest.js +2 -19
  70. package/dist/esm/node/plugin/plugins/importBuild/index.js +1 -1
  71. package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +31 -97
  72. package/dist/esm/node/plugin/plugins/importUserCode/index.js +8 -8
  73. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getConfigValuesSerialized.js +1 -9
  74. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +3 -0
  75. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.d.ts +3 -3
  76. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js +1 -1
  77. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.d.ts +1 -1
  78. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +4 -4
  79. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveImportPath.js +1 -1
  80. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transformFileImports.d.ts +1 -13
  81. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transformFileImports.js +35 -36
  82. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.d.ts +1 -1
  83. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +111 -106
  84. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +3 -3
  85. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +39 -33
  86. package/dist/esm/node/plugin/plugins/setGlobalContext.js +1 -15
  87. package/dist/esm/node/plugin/shared/rollupSourceMap.d.ts +14 -0
  88. package/dist/esm/node/plugin/shared/rollupSourceMap.js +17 -0
  89. package/dist/esm/node/plugin/utils.d.ts +0 -1
  90. package/dist/esm/node/plugin/utils.js +0 -1
  91. package/dist/esm/node/prerender/runPrerender.d.ts +3 -3
  92. package/dist/esm/node/prerender/runPrerender.js +4 -3
  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 +3 -10
  96. package/dist/esm/node/runtime/globalContext.js +7 -18
  97. package/dist/esm/node/runtime/html/serializePageContextClientSide.js +1 -0
  98. package/dist/esm/node/runtime/renderPage/analyzePage.js +2 -2
  99. package/dist/esm/node/runtime/renderPage/getPageAssets/assertClientEntryId.js +2 -8
  100. package/dist/esm/node/runtime/renderPage/getPageAssets/getManifestEntry.d.ts +1 -1
  101. package/dist/esm/node/runtime/renderPage/getPageAssets/getManifestEntry.js +6 -7
  102. package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.d.ts +1 -1
  103. package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.js +2 -2
  104. package/dist/esm/node/runtime/renderPage/getPageAssets.js +24 -29
  105. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -24
  106. package/dist/esm/node/runtime/utils.d.ts +1 -2
  107. package/dist/esm/node/runtime/utils.js +1 -2
  108. package/dist/esm/node/shared/ViteManifest.d.ts +1 -0
  109. package/dist/esm/node/shared/assertPluginManifest.d.ts +0 -1
  110. package/dist/esm/node/shared/assertPluginManifest.js +2 -5
  111. package/dist/esm/node/shared/assertV1Design.d.ts +4 -0
  112. package/dist/esm/node/shared/assertV1Design.js +23 -0
  113. package/dist/esm/node/shared/getClientEntry.d.ts +3 -0
  114. package/dist/esm/node/shared/{getClientEntryFilePath.js → getClientEntry.js} +2 -2
  115. package/dist/esm/node/shared/prependEntriesDir.d.ts +2 -0
  116. package/dist/esm/node/shared/prependEntriesDir.js +10 -0
  117. package/dist/esm/node/shared/utils.d.ts +2 -0
  118. package/dist/esm/node/shared/utils.js +2 -0
  119. package/dist/esm/node/shared/virtual-files/virtualFileImportUserCode.js +1 -0
  120. package/dist/esm/shared/ConfigVike.d.ts +0 -27
  121. package/dist/esm/shared/hooks/getHook.js +2 -2
  122. package/dist/esm/shared/page-configs/Config.d.ts +5 -0
  123. package/dist/esm/shared/page-configs/PageConfig.d.ts +2 -4
  124. package/dist/esm/shared/page-configs/helpers/getConfigValue.js +1 -0
  125. package/dist/esm/shared/page-configs/serialize/parseConfigValuesImported.js +1 -1
  126. package/dist/esm/shared/route/abort.js +1 -0
  127. package/dist/esm/shared/route/resolvePrecedence.js +1 -0
  128. package/dist/esm/utils/{nodeEnv.js → assertNodeEnv.js} +3 -0
  129. package/dist/esm/utils/debug.d.ts +1 -1
  130. package/dist/esm/utils/formatHintLog.js +1 -0
  131. package/dist/esm/utils/hasProp.js +1 -0
  132. package/dist/esm/utils/isScriptFile.d.ts +3 -1
  133. package/dist/esm/utils/isScriptFile.js +14 -3
  134. package/dist/esm/utils/projectInfo.d.ts +2 -2
  135. package/dist/esm/utils/projectInfo.js +1 -1
  136. package/package.json +4 -3
  137. package/dist/cjs/node/plugin/plugins/config/findConfigVikeFromStemPackages.js +0 -27
  138. package/dist/cjs/node/plugin/plugins/config/resolveExtensions.js +0 -107
  139. package/dist/cjs/node/plugin/plugins/config/stemUtils.js +0 -85
  140. package/dist/cjs/node/plugin/plugins/extensionsAssets.js +0 -101
  141. package/dist/cjs/node/plugin/shared/removeSourceMap.js +0 -12
  142. package/dist/cjs/utils/getDependencyPackageJson.js +0 -91
  143. package/dist/cjs/utils/isStemPackageName.js +0 -14
  144. package/dist/esm/node/plugin/plugins/config/findConfigVikeFromStemPackages.d.ts +0 -3
  145. package/dist/esm/node/plugin/plugins/config/findConfigVikeFromStemPackages.js +0 -24
  146. package/dist/esm/node/plugin/plugins/config/resolveExtensions.d.ts +0 -4
  147. package/dist/esm/node/plugin/plugins/config/resolveExtensions.js +0 -101
  148. package/dist/esm/node/plugin/plugins/config/stemUtils.d.ts +0 -8
  149. package/dist/esm/node/plugin/plugins/config/stemUtils.js +0 -79
  150. package/dist/esm/node/plugin/plugins/extensionsAssets.d.ts +0 -3
  151. package/dist/esm/node/plugin/plugins/extensionsAssets.js +0 -95
  152. package/dist/esm/node/plugin/shared/removeSourceMap.d.ts +0 -7
  153. package/dist/esm/node/plugin/shared/removeSourceMap.js +0 -9
  154. package/dist/esm/node/shared/getClientEntryFilePath.d.ts +0 -3
  155. package/dist/esm/utils/getDependencyPackageJson.d.ts +0 -6
  156. package/dist/esm/utils/getDependencyPackageJson.js +0 -85
  157. package/dist/esm/utils/isStemPackageName.d.ts +0 -1
  158. package/dist/esm/utils/isStemPackageName.js +0 -10
  159. /package/dist/esm/utils/{nodeEnv.d.ts → assertNodeEnv.d.ts} +0 -0
@@ -13,62 +13,55 @@ const utils_js_1 = require("../../../../utils.js");
13
13
  const transformFileImports_js_1 = require("./transformFileImports.js");
14
14
  const getVikeConfig_js_1 = require("../getVikeConfig.js");
15
15
  require("source-map-support/register.js");
16
- const getConfigFileExport_js_1 = require("../getConfigFileExport.js");
17
16
  (0, utils_js_1.assertIsNotProductionRuntime)();
18
- async function transpileAndExecuteFile(filePath, transformImports, userRootDir, doNotTranspile = false) {
19
- if (doNotTranspile) {
20
- (0, utils_js_1.assert)(!transformImports);
21
- const fileExports = await executeFile(filePath.filePathAbsoluteFilesystem, filePath);
22
- if (isHeaderFile(filePath.filePathAbsoluteFilesystem)) {
23
- const filePathToShowToUser2 = getFilePathToShowToUser2(filePath);
24
- (0, utils_js_1.assertWarning)(false, `${filePathToShowToUser2} is a JavaScript header file (.h.js), but JavaScript header files don't apply to the config files of extensions`, { onlyOnce: true });
25
- }
17
+ const debug = (0, utils_js_1.createDebugger)('vike:pointer-imports');
18
+ async function transpileAndExecuteFile(filePath, userRootDir, isConfigFile) {
19
+ const { filePathAbsoluteFilesystem } = filePath;
20
+ const fileExtension = getFileExtension(filePathAbsoluteFilesystem);
21
+ const filePathToShowToUser2 = getFilePathToShowToUser2(filePath);
22
+ (0, utils_js_1.assertUsage)((0, utils_js_1.isJavaScriptFile)(filePathAbsoluteFilesystem), `${filePathToShowToUser2} has file extension .${fileExtension} but a config file can only be a JavaScript/TypeScript file`);
23
+ const isHeader = isHeaderFile(filePathAbsoluteFilesystem);
24
+ if (isHeader) {
25
+ (0, utils_js_1.assertWarning)(false, `${picocolors_1.default.cyan('.h.js')} files are deprecated: simply renaming ${filePathToShowToUser2} to ${removeHeaderFileExtension(filePathToShowToUser2)} is usually enough, although you may occasionally need to use ${picocolors_1.default.cyan("with { type: 'pointer' }")} as explained at https://vike.dev/config#pointer-imports`, { onlyOnce: true });
26
+ }
27
+ if (isConfigFile === 'is-extension-config' && !isHeader && fileExtension.endsWith('js')) {
28
+ // This doesn't track dependencies => we should never use this for user land configs
29
+ const fileExports = await executeFile(filePathAbsoluteFilesystem, filePath);
26
30
  return { fileExports };
27
31
  }
28
32
  else {
29
- const { code, fileImportsTransformed } = await transpileFile(filePath, transformImports, userRootDir);
30
- const fileExports = await executeTranspiledFile(filePath, code, fileImportsTransformed);
33
+ const transformImports = isConfigFile && (isHeader ? 'all' : true);
34
+ const code = await transpileFile(filePath, transformImports, userRootDir);
35
+ const fileExports = await executeTranspiledFile(filePath, code);
31
36
  return { fileExports };
32
37
  }
33
38
  }
34
39
  exports.transpileAndExecuteFile = transpileAndExecuteFile;
35
40
  async function transpileFile(filePath, transformImports, userRootDir) {
36
- const { filePathAbsoluteFilesystem } = filePath;
37
41
  const filePathToShowToUser2 = getFilePathToShowToUser2(filePath);
42
+ const { filePathAbsoluteFilesystem } = filePath;
38
43
  (0, utils_js_1.assertPosixPath)(filePathAbsoluteFilesystem);
39
44
  getVikeConfig_js_1.vikeConfigDependencies.add(filePathAbsoluteFilesystem);
40
- let code = await transpileWithEsbuild(filePath, userRootDir, transformImports);
41
- let fileImportsTransformed = null;
45
+ if (debug.isEnabled)
46
+ debug('transpile', filePathToShowToUser2);
47
+ let { code, pointerImports } = await transpileWithEsbuild(filePath, userRootDir, transformImports);
48
+ if (debug.isEnabled)
49
+ debug(`code, post esbuild (${filePathToShowToUser2})`, code);
50
+ let isImportTransformed = false;
42
51
  if (transformImports) {
43
- const res = transformFileImports_(code, filePath);
44
- if (res) {
45
- code = res.code;
46
- fileImportsTransformed = res.fileImportsTransformed;
52
+ const codeMod = (0, transformFileImports_js_1.transformFileImports)(code, filePathToShowToUser2, pointerImports);
53
+ if (codeMod) {
54
+ code = codeMod;
55
+ isImportTransformed = true;
56
+ if (debug.isEnabled)
57
+ debug(`code, post transformImports() (${filePathToShowToUser2})`, code);
47
58
  }
48
59
  }
49
- else {
50
- if (isHeaderFile(filePathAbsoluteFilesystem)) {
51
- (0, utils_js_1.assertWarning)(false, `${filePathToShowToUser2} is a JavaScript header file (.h.js), but JavaScript header files only apply to +config.h.js, see https://vike.dev/header-file`, { onlyOnce: true });
52
- }
60
+ if (!isImportTransformed) {
61
+ if (debug.isEnabled)
62
+ debug(`code, no transformImports() (${filePathToShowToUser2})`);
53
63
  }
54
- return { code, fileImportsTransformed };
55
- }
56
- function transformFileImports_(codeOriginal, filePath) {
57
- const { filePathAbsoluteFilesystem } = filePath;
58
- const filePathToShowToUser2 = getFilePathToShowToUser2(filePath);
59
- // Replace import statements with import strings
60
- const res = (0, transformFileImports_js_1.transformFileImports)(codeOriginal, filePathToShowToUser2);
61
- if (res.noTransformation) {
62
- return null;
63
- }
64
- const { code, fileImportsTransformed } = res;
65
- if (!isHeaderFile(filePathAbsoluteFilesystem)) {
66
- const filePathCorrect = appendHeaderFileExtension(filePathToShowToUser2);
67
- (0, utils_js_1.assertWarning)(false, `Rename ${filePathToShowToUser2} to ${filePathCorrect}, see https://vike.dev/header-file`, {
68
- onlyOnce: true
69
- });
70
- }
71
- return { code, fileImportsTransformed };
64
+ return code;
72
65
  }
73
66
  async function transpileWithEsbuild(filePath, userRootDir, transformImports) {
74
67
  const entryFilePath = filePath.filePathAbsoluteFilesystem;
@@ -91,14 +84,63 @@ async function transpileWithEsbuild(filePath, userRootDir, transformImports) {
91
84
  // Esbuild still sometimes removes unused imports because of TypeScript: https://github.com/evanw/esbuild/issues/3034
92
85
  treeShaking: false,
93
86
  minify: false,
94
- metafile: !transformImports,
95
- // We cannot bundle imports that are meant to be transformed
96
- bundle: !transformImports
87
+ metafile: transformImports !== 'all',
88
+ bundle: transformImports !== 'all'
97
89
  };
98
- // Track dependencies
99
- if (!transformImports) {
90
+ let pointerImports;
91
+ if (transformImports === 'all') {
92
+ pointerImports = 'all';
100
93
  options.packages = 'external';
94
+ }
95
+ else {
96
+ const pointerImports_ = (pointerImports = {});
101
97
  options.plugins = [
98
+ // Determine what import should be externalized (and then transformed to a pointer/fake import)
99
+ {
100
+ name: 'vike:externalize-heuristic',
101
+ setup(build) {
102
+ // https://github.com/evanw/esbuild/issues/3095#issuecomment-1546916366
103
+ const useEsbuildResolver = 'useEsbuildResolver';
104
+ // https://github.com/brillout/esbuild-playground
105
+ build.onResolve({ filter: /.*/ }, async (args) => {
106
+ if (args.kind !== 'import-statement')
107
+ return;
108
+ if (args.pluginData?.[useEsbuildResolver])
109
+ return;
110
+ const isImportAbsolute = !args.path.startsWith('.');
111
+ const { path, ...opts } = args;
112
+ opts.pluginData = { [useEsbuildResolver]: true };
113
+ const resolved = await build.resolve(path, opts);
114
+ // vike-{react,vue,solid} follow the convention that their config export resolves to a file named +config.js
115
+ // - This is temporary, see comment below.
116
+ const isVikeExtensionConfigImport = resolved.path.endsWith('+config.js');
117
+ const isPointerImport =
118
+ // .jsx, .vue, .svg, ... => obviously not config code
119
+ !(0, utils_js_1.isJavaScriptFile)(resolved.path) ||
120
+ // Import of a Vike extension config => make it a pointer import because we want to show nice error messages (that can display whether a configas been set by the user or by a Vike extension).
121
+ // - We should have Node.js directly load vike-{react,vue,solid} while enforcing Vike extensions to set 'name' in their +config.js file.
122
+ // - vike@0.4.162 already started soft-requiring Vike extensions to set the name config
123
+ isVikeExtensionConfigImport ||
124
+ // Cannot be resolved by esbuild => take a leap of faith and make it a pointer import.
125
+ // - For example if esbuild cannot resolve a path alias while Vite can.
126
+ // - When tsconfig.js#compilerOptions.paths is set, then esbuild is able to resolve the path alias.
127
+ resolved.errors.length > 0;
128
+ pointerImports_[args.path] = isPointerImport;
129
+ const isExternal = isPointerImport ||
130
+ // npm package imports that aren't pointer imports (e.g. Vite plugin import)
131
+ isImportAbsolute;
132
+ if (debug.isEnabled)
133
+ debug('onResolved()', { args, resolved, isPointerImport, isExternal });
134
+ if (isExternal) {
135
+ return { external: true, path: args.path };
136
+ }
137
+ else {
138
+ return resolved;
139
+ }
140
+ });
141
+ }
142
+ },
143
+ // Track dependencies
102
144
  {
103
145
  name: 'vike:dependency-tracker',
104
146
  setup(b) {
@@ -131,7 +173,7 @@ async function transpileWithEsbuild(filePath, userRootDir, transformImports) {
131
173
  throw err;
132
174
  }
133
175
  // Track dependencies
134
- if (!transformImports) {
176
+ if (transformImports !== 'all') {
135
177
  (0, utils_js_1.assert)(result.metafile);
136
178
  Object.keys(result.metafile.inputs).forEach((filePathRelative) => {
137
179
  filePathRelative = (0, utils_js_1.toPosixPath)(filePathRelative);
@@ -142,10 +184,10 @@ async function transpileWithEsbuild(filePath, userRootDir, transformImports) {
142
184
  }
143
185
  const code = result.outputFiles[0].text;
144
186
  (0, utils_js_1.assert)(typeof code === 'string');
145
- return code;
187
+ return { code, pointerImports };
146
188
  }
147
- async function executeTranspiledFile(filePath, code, fileImportsTransformed) {
148
- const { filePathAbsoluteFilesystem, filePathRelativeToUserRootDir } = filePath;
189
+ async function executeTranspiledFile(filePath, code) {
190
+ const { filePathAbsoluteFilesystem } = filePath;
149
191
  // Alternative to using a temporary file: https://github.com/vitejs/vite/pull/13269
150
192
  // - But seems to break source maps, so I don't think it's worth it
151
193
  const filePathTmp = getFilePathTmp(filePathAbsoluteFilesystem);
@@ -158,11 +200,6 @@ async function executeTranspiledFile(filePath, code, fileImportsTransformed) {
158
200
  finally {
159
201
  clean();
160
202
  }
161
- if (fileImportsTransformed) {
162
- (0, utils_js_1.assert)(filePathRelativeToUserRootDir !== undefined);
163
- const filePathToShowToUser2 = getFilePathToShowToUser2(filePath);
164
- assertImportsAreReExported(fileImportsTransformed, fileExports, filePathToShowToUser2);
165
- }
166
203
  return fileExports;
167
204
  }
168
205
  async function executeFile(filePathToExecuteAbsoluteFilesystem, filePathSourceFile) {
@@ -228,59 +265,27 @@ function isTmpFile(filePath) {
228
265
  return fileName.startsWith(tmpPrefix);
229
266
  }
230
267
  exports.isTmpFile = isTmpFile;
231
- function assertImportsAreReExported(fileImportsTransformed, fileExports, filePathToShowToUser2) {
232
- const fileExport = (0, getConfigFileExport_js_1.getConfigFileExport)(fileExports, filePathToShowToUser2);
233
- const exportedStrings = getExportedStrings(fileExport);
234
- Object.values(exportedStrings).forEach((exportVal) => {
235
- if (typeof exportVal !== 'string')
236
- return;
237
- if (!(0, transformFileImports_js_1.isImportData)(exportVal))
238
- return;
239
- const importString = exportVal;
240
- fileImportsTransformed.forEach((fileImport) => {
241
- if (fileImport.importString === importString) {
242
- fileImport.isReExported = true;
243
- }
244
- });
245
- });
246
- const fileImportsTransformedUnused = fileImportsTransformed.filter((fi) => !fi.isReExported);
247
- if (fileImportsTransformedUnused.length === 0)
248
- return;
249
- const importStatements = (0, utils_js_1.unique)(fileImportsTransformedUnused.map((fi) => fi.importStatementCode));
250
- const importNamesUnused = fileImportsTransformedUnused.map((fi) => picocolors_1.default.cyan(fi.importLocalName)).join(', ');
251
- const singular = fileImportsTransformedUnused.length === 1;
252
- (0, utils_js_1.assertWarning)(fileImportsTransformedUnused.length === 0, [
253
- `${filePathToShowToUser2} imports the following:`,
254
- ...importStatements.map((s) => picocolors_1.default.cyan(` ${s}`)),
255
- `But the import${singular ? '' : 's'} ${importNamesUnused} ${singular ? "isn't" : "aren't"} re-exported at ${picocolors_1.default.cyan('export default { ... }')} and therefore ${singular ? 'has' : 'have'} no effect, see explanation at https://vike.dev/header-file`
256
- ].join('\n'), { onlyOnce: true });
257
- }
258
- function getExportedStrings(obj) {
259
- const exportedStrings = [];
260
- Object.values(obj).forEach((val) => {
261
- if (typeof val === 'string') {
262
- exportedStrings.push(val);
263
- }
264
- else if (Array.isArray(val)) {
265
- val.forEach((v) => {
266
- if (typeof v === 'string') {
267
- exportedStrings.push(v);
268
- }
269
- });
270
- }
271
- });
272
- return exportedStrings;
273
- }
274
268
  function isHeaderFile(filePath) {
275
269
  (0, utils_js_1.assertPosixPath)(filePath);
276
- const basenameParts = path_1.default.posix.basename(filePath).split('.');
277
- return basenameParts.includes('h');
270
+ const fileExtensions = getFileExtensions(filePath);
271
+ return fileExtensions.includes('h');
278
272
  }
279
- function appendHeaderFileExtension(filePath) {
280
- const basenameParts = path_1.default.posix.basename(filePath).split('.');
281
- basenameParts.splice(-1, 0, 'h');
282
- const basenameCorrect = basenameParts.join('.');
283
- return path_1.default.posix.join(path_1.default.posix.dirname(filePath), basenameCorrect);
273
+ function getFileExtensions(filePath) {
274
+ const fileExtensions = path_1.default.posix.basename(filePath).split('.').slice(1);
275
+ return fileExtensions;
276
+ }
277
+ function getFileExtension(filePath) {
278
+ const fileExtensions = path_1.default.posix.basename(filePath).split('.').slice(1);
279
+ return fileExtensions.pop();
280
+ }
281
+ function removeHeaderFileExtension(filePath) {
282
+ (0, utils_js_1.assertPosixPath)(filePath);
283
+ const fileName = path_1.default.posix.basename(filePath);
284
+ const fileNameParts = fileName.split('.');
285
+ const fileNamePartsMod = fileNameParts.filter((p) => p !== 'h');
286
+ (0, utils_js_1.assert)(fileNamePartsMod.length < fileNameParts.length);
287
+ const fileNameMod = fileNamePartsMod.join('.');
288
+ return path_1.default.posix.join(path_1.default.posix.dirname(filePath), fileNameMod);
284
289
  }
285
290
  // Needed for the npm package 'source-map-support'. The Error.prepareStackTrace() hook of 'source-map-support' needs to be called before the file containing the source map is removed. The clean() call above removes the transpiled file from disk but it contains the inline source map.
286
291
  function triggerPrepareStackTrace(err) {
@@ -15,7 +15,6 @@ const loggerNotProd_js_1 = require("../../../shared/loggerNotProd.js");
15
15
  const removeSuperfluousViteLog_js_1 = require("../../../shared/loggerVite/removeSuperfluousViteLog.js");
16
16
  const picocolors_1 = __importDefault(require("@brillout/picocolors"));
17
17
  const helpers_js_1 = require("../../../../../shared/page-configs/helpers.js");
18
- const getConfigVike_js_1 = require("../../../../shared/getConfigVike.js");
19
18
  const getConfigValuesSerialized_js_1 = require("./getConfigValuesSerialized.js");
20
19
  const crawlPlusFiles_js_1 = require("./getVikeConfig/crawlPlusFiles.js");
21
20
  const getConfigFileExport_js_1 = require("./getConfigFileExport.js");
@@ -28,10 +27,10 @@ let wasConfigInvalid = null;
28
27
  let vikeConfigPromise = null;
29
28
  const vikeConfigDependencies = new Set();
30
29
  exports.vikeConfigDependencies = vikeConfigDependencies;
31
- function reloadVikeConfig(userRootDir, outDirRoot, extensions) {
30
+ function reloadVikeConfig(userRootDir, outDirRoot) {
32
31
  vikeConfigDependencies.clear();
33
32
  (0, resolveImportPath_js_1.clearFilesEnvMap)();
34
- vikeConfigPromise = loadVikeConfig_withErrorHandling(userRootDir, outDirRoot, true, extensions, true);
33
+ vikeConfigPromise = loadVikeConfig_withErrorHandling(userRootDir, outDirRoot, true, true);
35
34
  handleReloadSideEffects();
36
35
  }
37
36
  exports.reloadVikeConfig = reloadVikeConfig;
@@ -66,22 +65,24 @@ async function handleReloadSideEffects() {
66
65
  }
67
66
  }
68
67
  }
69
- async function getVikeConfig(config, isDev, tolerateInvalidConfig = false, extensions) {
68
+ async function getVikeConfig(config, isDev, tolerateInvalidConfig = false) {
70
69
  const { outDirRoot } = (0, utils_js_1.getOutDirs)(config);
71
70
  const userRootDir = config.root;
72
71
  if (!vikeConfigPromise) {
73
- vikeConfigPromise = loadVikeConfig_withErrorHandling(userRootDir, outDirRoot, isDev, extensions ?? (await (0, getConfigVike_js_1.getConfigVike)(config)).extensions, tolerateInvalidConfig);
72
+ vikeConfigPromise = loadVikeConfig_withErrorHandling(userRootDir, outDirRoot, isDev, tolerateInvalidConfig);
74
73
  }
75
74
  return await vikeConfigPromise;
76
75
  }
77
76
  exports.getVikeConfig = getVikeConfig;
78
77
  async function isV1Design(config, isDev) {
79
- const isV1Design = (await getVikeConfig(config, isDev)).pageConfigs.length > 0;
78
+ const vikeConfig = await getVikeConfig(config, isDev);
79
+ const { pageConfigs } = vikeConfig;
80
+ const isV1Design = pageConfigs.length > 0;
80
81
  return isV1Design;
81
82
  }
82
83
  exports.isV1Design = isV1Design;
83
- async function loadInterfaceFiles(userRootDir, outDirRoot, isDev, extensions) {
84
- const plusFiles = await findPlusFiles(userRootDir, outDirRoot, isDev, extensions);
84
+ async function loadInterfaceFiles(userRootDir, outDirRoot, isDev) {
85
+ const plusFiles = await findPlusFiles(userRootDir, outDirRoot, isDev);
85
86
  const configFiles = [];
86
87
  const valueFiles = [];
87
88
  plusFiles.forEach((f) => {
@@ -107,14 +108,14 @@ async function loadInterfaceFiles(userRootDir, outDirRoot, isDev, extensions) {
107
108
  extendsConfigs.forEach((extendsConfig) => {
108
109
  /* We purposely use the same locationId because the Vike extension's config should only apply to where it's being extended from, for example:
109
110
  ```js
110
- // /pages/admin/+config.h.js
111
+ // /pages/admin/+config.js
111
112
 
112
113
  import vikeVue from 'vike-vue/config'
113
114
  // Should only apply to /pages/admin/**
114
115
  export default { extends: [vikeVue] }
115
116
  ```
116
117
  ```js
117
- // /pages/marketing/+config.h.js
118
+ // /pages/marketing/+config.js
118
119
 
119
120
  import vikeReact from 'vike-react/config'
120
121
  // Should only apply to /pages/marketing/**
@@ -122,6 +123,28 @@ async function loadInterfaceFiles(userRootDir, outDirRoot, isDev, extensions) {
122
123
  ```
123
124
  */
124
125
  const interfaceFile = getInterfaceFileFromConfigFile(extendsConfig, true, locationId);
126
+ {
127
+ const alreadyMigrated = [
128
+ 'vike-react',
129
+ 'vike-react-query',
130
+ 'vike-react-zustand',
131
+ 'vike-vue',
132
+ 'vike-pinia',
133
+ 'vike-solid'
134
+ ];
135
+ const extensionName = extendsConfig.filePath.importPathAbsolute.split('/')[0];
136
+ const warnMsg = alreadyMigrated.includes(extensionName)
137
+ ? `You're using a deprecated version of the Vike extension ${extensionName}, update ${extensionName} to its latest version.`
138
+ : `The config of the Vike extension ${extensionName} should set a ${picocolors_1.default.cyan('name')} value`;
139
+ const isNameDefined = interfaceFile.fileExportsByConfigName.name?.configValue;
140
+ if (alreadyMigrated) {
141
+ // Eventually always make it a assertUsage()
142
+ (0, utils_js_1.assertWarning)(isNameDefined, warnMsg, { onlyOnce: true });
143
+ }
144
+ else {
145
+ (0, utils_js_1.assertUsage)(isNameDefined, warnMsg);
146
+ }
147
+ }
125
148
  interfaceFilesByLocationId[locationId].push(interfaceFile);
126
149
  });
127
150
  }),
@@ -189,12 +212,12 @@ function assertAllConfigsAreKnown(interfaceFilesByLocationId) {
189
212
  });
190
213
  });
191
214
  }
192
- async function loadVikeConfig_withErrorHandling(userRootDir, outDirRoot, isDev, extensions, tolerateInvalidConfig) {
215
+ async function loadVikeConfig_withErrorHandling(userRootDir, outDirRoot, isDev, tolerateInvalidConfig) {
193
216
  let hasError = false;
194
217
  let ret;
195
218
  let err;
196
219
  try {
197
- ret = await loadVikeConfig(userRootDir, outDirRoot, isDev, extensions);
220
+ ret = await loadVikeConfig(userRootDir, outDirRoot, isDev);
198
221
  }
199
222
  catch (err_) {
200
223
  hasError = true;
@@ -230,8 +253,8 @@ async function loadVikeConfig_withErrorHandling(userRootDir, outDirRoot, isDev,
230
253
  }
231
254
  }
232
255
  }
233
- async function loadVikeConfig(userRootDir, outDirRoot, isDev, extensions) {
234
- const interfaceFilesByLocationId = await loadInterfaceFiles(userRootDir, outDirRoot, isDev, extensions);
256
+ async function loadVikeConfig(userRootDir, outDirRoot, isDev) {
257
+ const interfaceFilesByLocationId = await loadInterfaceFiles(userRootDir, outDirRoot, isDev);
235
258
  const importedFilesLoaded = {};
236
259
  const { globalVikeConfig, pageConfigGlobal } = await getGlobalConfigs(interfaceFilesByLocationId, userRootDir, importedFilesLoaded);
237
260
  const pageConfigs = await Promise.all((0, utils_js_1.objectEntries)(interfaceFilesByLocationId)
@@ -406,7 +429,7 @@ async function resolveConfigValueSources(configName, configDef, interfaceFilesRe
406
429
  // Make this value:
407
430
  // /pages/some-page/+{configName}.js > `export default`
408
431
  // override that value:
409
- // /pages/some-page/+config.h.js > `export default { someConfig }`
432
+ // /pages/some-page/+config.js > `export default { someConfig }`
410
433
  const interfaceFileWinner = interfaceValueFile ?? interfaceConfigFile;
411
434
  if (interfaceFileWinner) {
412
435
  const interfaceFilesOverriden = [...interfaceValueFiles, ...interfaceConfigFiles].filter((f) => f !== interfaceFileWinner);
@@ -714,26 +737,9 @@ function getComputed(configValueSources, configDefinitions) {
714
737
  });
715
738
  return configValuesComputed;
716
739
  }
717
- async function findPlusFiles(userRootDir, outDirRoot, isDev, extensions) {
740
+ async function findPlusFiles(userRootDir, outDirRoot, isDev) {
718
741
  const files = await (0, crawlPlusFiles_js_1.crawlPlusFiles)(userRootDir, outDirRoot, isDev);
719
742
  const plusFiles = files.map(({ filePathRelativeToUserRootDir }) => (0, resolveFilePath_js_1.resolveFilePathRelativeToUserRootDir)(filePathRelativeToUserRootDir, userRootDir));
720
- // TODO/v1-release: remove
721
- extensions.forEach((extension) => {
722
- extension.pageConfigsDistFiles?.forEach((pageConfigDistFile) => {
723
- if (!pageConfigDistFile.importPath.includes('+'))
724
- return;
725
- (0, utils_js_1.assert)(pageConfigDistFile.importPath.includes('+'));
726
- (0, utils_js_1.assert)(path_1.default.posix.basename(pageConfigDistFile.importPath).startsWith('+'));
727
- const { importPath, filePath } = pageConfigDistFile;
728
- plusFiles.push({
729
- filePathRelativeToUserRootDir: null,
730
- filePathAbsoluteVite: importPath,
731
- filePathAbsoluteFilesystem: filePath,
732
- filePathToShowToUser: importPath,
733
- importPathAbsolute: importPath
734
- });
735
- });
736
- });
737
743
  return plusFiles;
738
744
  }
739
745
  function getConfigName(filePath) {
@@ -11,20 +11,6 @@ function setGlobalContext() {
11
11
  handler(viteDevServer) {
12
12
  (0, globalContext_js_1.setGlobalContext_viteDevServer)(viteDevServer);
13
13
  }
14
- },
15
- configurePreviewServer: {
16
- order: 'pre',
17
- handler(vitePreviewServer) {
18
- (0, globalContext_js_1.setGlobalContext_vitePreviewServer)(
19
- // Type cast won't be necessary after https://github.com/vitejs/vite/pull/14119 is released in Vite 5
20
- vitePreviewServer);
21
- }
22
- },
23
- configResolved: {
24
- order: 'pre',
25
- handler(config) {
26
- (0, globalContext_js_1.setGlobalContext_viteConfig)(config);
27
- }
28
14
  }
29
15
  };
30
16
  }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sourceMapPassthrough = exports.sourceMapRemove = void 0;
4
+ // https://rollupjs.org/guide/en/#source-code-transformations
5
+ /** Remove entire source mapping, to save KBs. */
6
+ function sourceMapRemove(code) {
7
+ return {
8
+ code,
9
+ map: { mappings: '' }
10
+ };
11
+ }
12
+ exports.sourceMapRemove = sourceMapRemove;
13
+ /** Don't provide any source map, pass through current source map instead. */
14
+ function sourceMapPassthrough(code) {
15
+ return {
16
+ code,
17
+ map: null
18
+ };
19
+ }
20
+ exports.sourceMapPassthrough = sourceMapPassthrough;
@@ -23,7 +23,6 @@ __exportStar(require("../runtime/utils.js"), exports);
23
23
  // Utils only needed by `plugin/*`
24
24
  __exportStar(require("../../utils/viteIsSSR.js"), exports);
25
25
  __exportStar(require("../../utils/getFilePathAbsolute.js"), exports);
26
- __exportStar(require("../../utils/getDependencyPackageJson.js"), exports);
27
26
  __exportStar(require("../../utils/requireResolve.js"), exports);
28
27
  __exportStar(require("../../utils/arrayIncludes.js"), exports);
29
28
  __exportStar(require("../../utils/isDev.js"), exports);
@@ -90,6 +90,7 @@ async function runPrerender(options, manuallyTriggered) {
90
90
  handleNodeEnv();
91
91
  await disableReactStreaming();
92
92
  const viteConfig = await (0, vite_1.resolveConfig)(options.viteConfig || {}, 'vike pre-rendering', 'production');
93
+ (0, globalContext_js_1.setGlobalContext_prerender)(viteConfig);
93
94
  assertLoadedConfig(viteConfig, options);
94
95
  const configVike = await (0, getConfigVike_js_1.getConfigVike)(viteConfig);
95
96
  const { outDirClient, outDirRoot } = (0, utils_js_1.getOutDirs)(viteConfig);
@@ -557,7 +558,7 @@ function warnMissingPages(prerenderedPageContexts, doNotPrerenderList, renderCon
557
558
  .filter((pageId) => !(0, error_page_js_1.isErrorPage)(pageId, renderContext.pageConfigs))
558
559
  .forEach((pageId) => {
559
560
  const pageAt = isV1 ? pageId : `\`${pageId}.page.*\``;
560
- (0, utils_js_1.assertWarning)(partial, `Cannot pre-render page ${pageAt} because it has a non-static route, while no ${hookName}() hook returned any URL matching the page's route. You need to use a ${hookName}() hook (https://vike.dev/${hookName}) providing a list of URLs for ${pageAt} that should be pre-rendered. If you don't want to pre-render ${pageAt} then use the option prerender.partial (https://vike.dev/prerender-config#partial) to suppress this warning.`, { onlyOnce: true });
561
+ (0, utils_js_1.assertWarning)(partial, `Cannot pre-render page ${pageAt} because it has a non-static route, while no ${hookName}() hook returned any URL matching the page's route. You need to use a ${hookName}() hook (https://vike.dev/${hookName}) providing a list of URLs for ${pageAt} that should be pre-rendered. If you don't want to pre-render ${pageAt} then use the option prerender.partial (https://vike.dev/prerender#partial) to suppress this warning.`, { onlyOnce: true });
561
562
  });
562
563
  }
563
564
  async function prerender404(prerenderedPageContexts, renderContext, prerenderContext, onComplete) {
@@ -673,7 +674,7 @@ function checkOutdatedOptions(options) {
673
674
  (0, utils_js_1.assertUsage)(options.root === undefined, 'Option `prerender({ root })` deprecated: set `prerender({ viteConfig: { root }})` instead.', { showStackTrace: true });
674
675
  (0, utils_js_1.assertUsage)(options.configFile === undefined, 'Option `prerender({ configFile })` deprecated: set `prerender({ viteConfig: { configFile }})` instead.', { showStackTrace: true });
675
676
  ['noExtraDir', 'partial', 'parallel'].forEach((prop) => {
676
- (0, utils_js_1.assertUsage)(options[prop] === undefined, `[prerender()] Option ${picocolors_1.default.cyan(prop)} is deprecated. Define ${picocolors_1.default.cyan(prop)} in vite.config.js instead. See https://vike.dev/prerender-config`, { showStackTrace: true });
677
+ (0, utils_js_1.assertUsage)(options[prop] === undefined, `[prerender()] Option ${picocolors_1.default.cyan(prop)} is deprecated. Define ${picocolors_1.default.cyan(prop)} in vite.config.js instead. See https://vike.dev/prerender`, { showStackTrace: true });
677
678
  });
678
679
  ['base', 'outDir'].forEach((prop) => {
679
680
  (0, utils_js_1.assertWarning)(options[prop] === undefined, `[prerender()] Option ${picocolors_1.default.cyan(prop)} is outdated and has no effect (vike now automatically determines ${picocolors_1.default.cyan(prop)})`, {
@@ -28,4 +28,4 @@ __exportStar(require("../../utils/filesystemPathHandling.js"), exports);
28
28
  __exportStar(require("../../utils/urlToFile.js"), exports);
29
29
  __exportStar(require("../../shared/hooks/executeHook.js"), exports);
30
30
  __exportStar(require("../../utils/isPlainObject.js"), exports);
31
- __exportStar(require("../../utils/nodeEnv.js"), exports);
31
+ __exportStar(require("../../utils/assertNodeEnv.js"), exports);
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getRuntimeManifest = exports.setGlobalContext_viteConfig = exports.setGlobalContext_vitePreviewServer = exports.setGlobalContext_viteDevServer = exports.getViteConfig = exports.getViteDevServer = exports.getGlobalContext = exports.initGlobalContext = void 0;
6
+ exports.getRuntimeManifest = exports.setGlobalContext_prerender = exports.setGlobalContext_viteDevServer = exports.getViteConfig = exports.getViteDevServer = exports.getGlobalContext = exports.initGlobalContext = void 0;
7
7
  const utils_js_1 = require("./utils.js");
8
8
  const loadImportBuild_js_1 = require("./globalContext/loadImportBuild.js");
9
9
  const getPageFiles_js_1 = require("../../shared/getPageFiles.js");
@@ -21,27 +21,22 @@ function setGlobalContext_viteDevServer(viteDevServer) {
21
21
  if (globalObject.viteDevServer)
22
22
  return;
23
23
  (0, utils_js_1.assert)(!globalObject.globalContext);
24
+ (0, utils_js_1.assert)(!globalObject.globalContext);
25
+ globalObject.viteConfig = viteDevServer.config;
24
26
  globalObject.viteDevServer = viteDevServer;
25
27
  }
26
28
  exports.setGlobalContext_viteDevServer = setGlobalContext_viteDevServer;
27
- function setGlobalContext_vitePreviewServer(vitePreviewServer) {
28
- if (globalObject.vitePreviewServer)
29
- return;
30
- (0, utils_js_1.assert)(!globalObject.globalContext);
31
- globalObject.vitePreviewServer = vitePreviewServer;
32
- }
33
- exports.setGlobalContext_vitePreviewServer = setGlobalContext_vitePreviewServer;
34
29
  function getViteDevServer() {
35
30
  return globalObject.viteDevServer ?? null;
36
31
  }
37
32
  exports.getViteDevServer = getViteDevServer;
38
- function setGlobalContext_viteConfig(viteConfig) {
33
+ function setGlobalContext_prerender(viteConfig) {
39
34
  if (globalObject.viteConfig)
40
35
  return;
41
36
  (0, utils_js_1.assert)(!globalObject.globalContext);
42
37
  globalObject.viteConfig = viteConfig;
43
38
  }
44
- exports.setGlobalContext_viteConfig = setGlobalContext_viteConfig;
39
+ exports.setGlobalContext_prerender = setGlobalContext_prerender;
45
40
  function getViteConfig() {
46
41
  return globalObject.viteConfig ?? null;
47
42
  }
@@ -49,13 +44,12 @@ exports.getViteConfig = getViteConfig;
49
44
  async function initGlobalContext(isPrerendering = false, outDir) {
50
45
  if (globalObject.globalContext)
51
46
  return;
52
- const { viteDevServer, vitePreviewServer, viteConfig } = globalObject;
47
+ const { viteDevServer, viteConfig } = globalObject;
53
48
  assertNodeEnv(!!viteDevServer);
54
49
  const isProduction = !viteDevServer;
55
50
  if (!isProduction) {
56
51
  (0, utils_js_1.assert)(viteConfig);
57
52
  (0, utils_js_1.assert)(!isPrerendering);
58
- (0, utils_js_1.assert)(!vitePreviewServer);
59
53
  const configVike = await (0, getConfigVike_js_1.getConfigVike)(viteConfig);
60
54
  const pluginManifest = getRuntimeManifest(configVike);
61
55
  globalObject.globalContext = {
@@ -64,9 +58,7 @@ async function initGlobalContext(isPrerendering = false, outDir) {
64
58
  clientManifest: null,
65
59
  pluginManifest: null,
66
60
  viteDevServer,
67
- vitePreviewServer: null,
68
61
  viteConfig,
69
- configVike,
70
62
  baseServer: pluginManifest.baseServer,
71
63
  baseAssets: pluginManifest.baseAssets,
72
64
  includeAssetsImportedByServer: pluginManifest.includeAssetsImportedByServer,
@@ -87,7 +79,6 @@ async function initGlobalContext(isPrerendering = false, outDir) {
87
79
  clientManifest,
88
80
  pluginManifest,
89
81
  viteDevServer: null,
90
- vitePreviewServer: vitePreviewServer ?? null,
91
82
  baseServer: pluginManifest.baseServer,
92
83
  baseAssets: pluginManifest.baseAssets,
93
84
  includeAssetsImportedByServer: pluginManifest.includeAssetsImportedByServer,
@@ -101,16 +92,14 @@ async function initGlobalContext(isPrerendering = false, outDir) {
101
92
  (0, utils_js_1.assert)(configVike);
102
93
  (0, utils_js_1.objectAssign)(globalContext, {
103
94
  isPrerendering: true,
104
- viteConfig,
105
- configVike
95
+ viteConfig
106
96
  });
107
97
  globalObject.globalContext = globalContext;
108
98
  }
109
99
  else {
110
100
  (0, utils_js_1.objectAssign)(globalContext, {
111
101
  isPrerendering: false,
112
- viteConfig: null,
113
- configVike: null
102
+ viteConfig: null
114
103
  });
115
104
  globalObject.globalContext = globalContext;
116
105
  }
@@ -105,6 +105,7 @@ function serializePageContextAbort(pageContext) {
105
105
  delete pageContext._abortCaller;
106
106
  const unknownProps = Object.keys(pageContext).filter((prop) => ![
107
107
  // prettier-ignore
108
+ // biome-ignore format:
108
109
  '_abortCall',
109
110
  /* Not needed on the client-side
110
111
  '_abortCaller',
@@ -6,11 +6,11 @@ const analyzePageClientSide_js_1 = require("../../../shared/getPageFiles/analyze
6
6
  const virtualFilePageConfigValuesAll_js_1 = require("../../shared/virtual-files/virtualFilePageConfigValuesAll.js");
7
7
  const analyzeClientSide_js_1 = require("../../../shared/getPageFiles/analyzeClientSide.js");
8
8
  const globalContext_js_1 = require("../globalContext.js");
9
- const getClientEntryFilePath_js_1 = require("../../shared/getClientEntryFilePath.js");
9
+ const getClientEntry_js_1 = require("../../shared/getClientEntry.js");
10
10
  function analyzePage(pageFilesAll, pageConfig, pageId) {
11
11
  if (pageConfig) {
12
12
  const { isClientSideRenderable, isClientRouting } = (0, analyzeClientSide_js_1.analyzeClientSide)(pageConfig, pageFilesAll, pageId);
13
- const clientFilePath = (0, getClientEntryFilePath_js_1.getClientEntryFilePath)(pageConfig);
13
+ const clientFilePath = (0, getClientEntry_js_1.getClientEntry)(pageConfig);
14
14
  const clientEntry = !isClientSideRenderable ? clientFilePath : (0, determineClientEntry_js_1.getVikeClientEntry)(isClientRouting);
15
15
  const clientDependencies = [];
16
16
  clientDependencies.push({