vike 0.4.160 → 0.4.161-commit-0e9c635

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 (170) hide show
  1. package/dist/cjs/node/cli/bin.js +5 -0
  2. package/dist/cjs/node/client/router.js +4 -2
  3. package/dist/cjs/node/plugin/plugins/autoFullBuild.js +2 -2
  4. package/dist/cjs/node/plugin/plugins/buildConfig/fixServerAssets.js +148 -0
  5. package/dist/cjs/node/plugin/plugins/buildConfig.js +61 -35
  6. package/dist/cjs/node/plugin/plugins/commonConfig.js +5 -13
  7. package/dist/cjs/node/plugin/plugins/config/stemUtils.js +1 -1
  8. package/dist/cjs/node/plugin/plugins/distFileNames.js +9 -1
  9. package/dist/cjs/node/plugin/plugins/envVars.js +6 -2
  10. package/dist/cjs/node/plugin/plugins/extractAssetsPlugin.js +16 -4
  11. package/dist/cjs/node/plugin/plugins/extractExportNamesPlugin.js +2 -2
  12. package/dist/cjs/node/plugin/plugins/importBuild/getVikeManifest.js +1 -21
  13. package/dist/cjs/node/plugin/plugins/importBuild/index.js +5 -8
  14. package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +11 -91
  15. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +1 -5
  16. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js +28 -46
  17. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/{loadFileConfigEnv.js → loadFileAtConfigTime.js} +5 -5
  18. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveFilePath.js +33 -0
  19. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveImportPath.js +2 -2
  20. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/{transformImports.js → transformFileImports.js} +7 -7
  21. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +21 -27
  22. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +157 -111
  23. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +2 -1
  24. package/dist/cjs/node/plugin/plugins/setGlobalContext.js +0 -14
  25. package/dist/cjs/node/plugin/shared/rollupSourceMap.js +20 -0
  26. package/dist/cjs/node/plugin/utils.js +3 -2
  27. package/dist/cjs/node/prerender/runPrerender.js +13 -5
  28. package/dist/cjs/node/runtime/globalContext.js +15 -23
  29. package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +2 -2
  30. package/dist/cjs/node/runtime/html/renderHtml.js +1 -1
  31. package/dist/cjs/node/runtime/html/stream.js +2 -2
  32. package/dist/cjs/node/runtime/renderPage/analyzePage.js +2 -2
  33. package/dist/cjs/node/runtime/renderPage/executeOnRenderHtmlHook.js +2 -2
  34. package/dist/cjs/node/runtime/renderPage/getHttpResponseBody.js +39 -39
  35. package/dist/cjs/node/runtime/renderPage/getPageAssets/assertClientEntryId.js +0 -5
  36. package/dist/cjs/node/runtime/renderPage/getPageAssets/getManifestEntry.js +6 -7
  37. package/dist/cjs/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.js +2 -2
  38. package/dist/cjs/node/runtime/renderPage/getPageAssets.js +23 -28
  39. package/dist/cjs/node/runtime/renderPage/loadUserFilesServerSide.js +1 -1
  40. package/dist/cjs/node/runtime/renderPage/{logHintForCjsEsmError.js → logErrorHint.js} +81 -43
  41. package/dist/cjs/node/runtime/renderPage/loggerProd.js +3 -3
  42. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +2 -23
  43. package/dist/cjs/node/runtime/utils.js +1 -1
  44. package/dist/cjs/node/shared/assertPluginManifest.js +1 -4
  45. package/dist/cjs/node/shared/assertV1Design.js +26 -0
  46. package/dist/cjs/node/shared/{getClientEntryFilePath.js → getClientEntry.js} +3 -3
  47. package/dist/cjs/node/shared/prependEntriesDir.js +13 -0
  48. package/dist/cjs/node/shared/utils.js +2 -0
  49. package/dist/cjs/shared/page-configs/serialize/parseConfigValuesImported.js +53 -26
  50. package/dist/cjs/shared/route/executeGuardHook.js +3 -2
  51. package/dist/cjs/shared/utils.js +0 -1
  52. package/dist/cjs/utils/assertNodeVersion.js +2 -2
  53. package/dist/cjs/utils/{findUserPackageJsonPath.js → findFile.js} +11 -8
  54. package/dist/cjs/utils/isVersionOrAbove.js +29 -0
  55. package/dist/cjs/utils/nodeEnv.js +23 -1
  56. package/dist/cjs/utils/objectKeys.js +19 -3
  57. package/dist/cjs/utils/projectInfo.js +1 -1
  58. package/dist/cjs/utils/sorter.js +62 -1
  59. package/dist/esm/client/client-routing-runtime/index.d.ts +1 -1
  60. package/dist/esm/client/client-routing-runtime/index.js +1 -1
  61. package/dist/esm/node/cli/bin.js +3 -1
  62. package/dist/esm/node/client/router.d.ts +2 -0
  63. package/dist/esm/node/client/router.js +3 -1
  64. package/dist/esm/node/plugin/plugins/autoFullBuild.js +2 -2
  65. package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.d.ts +13 -0
  66. package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.js +142 -0
  67. package/dist/esm/node/plugin/plugins/buildConfig.d.ts +2 -0
  68. package/dist/esm/node/plugin/plugins/buildConfig.js +60 -34
  69. package/dist/esm/node/plugin/plugins/commonConfig.js +6 -14
  70. package/dist/esm/node/plugin/plugins/config/stemUtils.js +2 -2
  71. package/dist/esm/node/plugin/plugins/distFileNames.js +9 -1
  72. package/dist/esm/node/plugin/plugins/envVars.js +6 -2
  73. package/dist/esm/node/plugin/plugins/extractAssetsPlugin.js +17 -5
  74. package/dist/esm/node/plugin/plugins/extractExportNamesPlugin.js +2 -2
  75. package/dist/esm/node/plugin/plugins/importBuild/getVikeManifest.d.ts +1 -2
  76. package/dist/esm/node/plugin/plugins/importBuild/getVikeManifest.js +2 -19
  77. package/dist/esm/node/plugin/plugins/importBuild/index.d.ts +6 -1
  78. package/dist/esm/node/plugin/plugins/importBuild/index.js +5 -8
  79. package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +13 -93
  80. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.d.ts +2 -0
  81. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.d.ts +0 -1
  82. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +1 -5
  83. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.d.ts +39 -12
  84. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js +29 -47
  85. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/{loadFileConfigEnv.js → loadFileAtConfigTime.js} +4 -4
  86. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveFilePath.d.ts +5 -0
  87. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveFilePath.js +27 -0
  88. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveImportPath.d.ts +1 -1
  89. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveImportPath.js +1 -1
  90. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/{transformImports.d.ts → transformFileImports.d.ts} +2 -2
  91. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/{transformImports.js → transformFileImports.js} +6 -6
  92. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.d.ts +1 -1
  93. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +20 -26
  94. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +5 -0
  95. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +155 -109
  96. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +2 -1
  97. package/dist/esm/node/plugin/plugins/setGlobalContext.js +1 -15
  98. package/dist/esm/node/plugin/shared/rollupSourceMap.d.ts +14 -0
  99. package/dist/esm/node/plugin/shared/rollupSourceMap.js +17 -0
  100. package/dist/esm/node/plugin/utils.d.ts +3 -2
  101. package/dist/esm/node/plugin/utils.js +3 -2
  102. package/dist/esm/node/prerender/runPrerender.js +15 -7
  103. package/dist/esm/node/runtime/globalContext.d.ts +3 -10
  104. package/dist/esm/node/runtime/globalContext.js +15 -23
  105. package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +2 -2
  106. package/dist/esm/node/runtime/html/renderHtml.js +1 -1
  107. package/dist/esm/node/runtime/html/stream.js +2 -2
  108. package/dist/esm/node/runtime/renderPage/analyzePage.js +2 -2
  109. package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.js +2 -2
  110. package/dist/esm/node/runtime/renderPage/getHttpResponseBody.d.ts +6 -5
  111. package/dist/esm/node/runtime/renderPage/getHttpResponseBody.js +39 -39
  112. package/dist/esm/node/runtime/renderPage/getPageAssets/assertClientEntryId.js +0 -5
  113. package/dist/esm/node/runtime/renderPage/getPageAssets/getManifestEntry.d.ts +1 -1
  114. package/dist/esm/node/runtime/renderPage/getPageAssets/getManifestEntry.js +6 -7
  115. package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.d.ts +1 -1
  116. package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.js +2 -2
  117. package/dist/esm/node/runtime/renderPage/getPageAssets.js +24 -29
  118. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.js +1 -1
  119. package/dist/esm/node/runtime/renderPage/logErrorHint.d.ts +8 -0
  120. package/dist/esm/node/runtime/renderPage/{logHintForCjsEsmError.js → logErrorHint.js} +80 -42
  121. package/dist/esm/node/runtime/renderPage/loggerProd.js +3 -3
  122. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -24
  123. package/dist/esm/node/runtime/utils.d.ts +1 -1
  124. package/dist/esm/node/runtime/utils.js +1 -1
  125. package/dist/esm/node/shared/ViteManifest.d.ts +1 -0
  126. package/dist/esm/node/shared/assertPluginManifest.d.ts +0 -1
  127. package/dist/esm/node/shared/assertPluginManifest.js +2 -5
  128. package/dist/esm/node/shared/assertV1Design.d.ts +4 -0
  129. package/dist/esm/node/shared/assertV1Design.js +23 -0
  130. package/dist/esm/node/shared/getClientEntry.d.ts +3 -0
  131. package/dist/esm/node/shared/{getClientEntryFilePath.js → getClientEntry.js} +2 -2
  132. package/dist/esm/node/shared/prependEntriesDir.d.ts +2 -0
  133. package/dist/esm/node/shared/prependEntriesDir.js +10 -0
  134. package/dist/esm/node/shared/utils.d.ts +2 -0
  135. package/dist/esm/node/shared/utils.js +2 -0
  136. package/dist/esm/shared/page-configs/Config.d.ts +1 -1
  137. package/dist/esm/shared/page-configs/PageConfig.d.ts +3 -3
  138. package/dist/esm/shared/page-configs/serialize/parseConfigValuesImported.js +53 -26
  139. package/dist/esm/shared/route/executeGuardHook.js +3 -2
  140. package/dist/esm/shared/utils.d.ts +0 -1
  141. package/dist/esm/shared/utils.js +0 -1
  142. package/dist/esm/utils/assertNodeVersion.js +2 -2
  143. package/dist/esm/utils/findFile.d.ts +3 -0
  144. package/dist/esm/utils/findFile.js +21 -0
  145. package/dist/esm/utils/getOutDirs.d.ts +1 -0
  146. package/dist/esm/utils/isVersionOrAbove.d.ts +2 -0
  147. package/dist/esm/utils/isVersionOrAbove.js +26 -0
  148. package/dist/esm/utils/nodeEnv.d.ts +4 -0
  149. package/dist/esm/utils/nodeEnv.js +19 -0
  150. package/dist/esm/utils/objectKeys.d.ts +10 -1
  151. package/dist/esm/utils/objectKeys.js +20 -3
  152. package/dist/esm/utils/projectInfo.d.ts +2 -2
  153. package/dist/esm/utils/projectInfo.js +1 -1
  154. package/dist/esm/utils/sorter.d.ts +59 -0
  155. package/dist/esm/utils/sorter.js +61 -0
  156. package/package.json +2 -2
  157. package/dist/cjs/node/plugin/shared/removeSourceMap.js +0 -12
  158. package/dist/cjs/utils/objectEntries.js +0 -8
  159. package/dist/esm/node/plugin/shared/removeSourceMap.d.ts +0 -7
  160. package/dist/esm/node/plugin/shared/removeSourceMap.js +0 -9
  161. package/dist/esm/node/runtime/renderPage/logHintForCjsEsmError.d.ts +0 -13
  162. package/dist/esm/node/shared/getClientEntryFilePath.d.ts +0 -3
  163. package/dist/esm/utils/findUserPackageJsonPath.d.ts +0 -2
  164. package/dist/esm/utils/findUserPackageJsonPath.js +0 -18
  165. package/dist/esm/utils/objectEntries.d.ts +0 -4
  166. package/dist/esm/utils/objectEntries.js +0 -5
  167. /package/dist/cjs/node/runtime/renderPage/{logHintForCjsEsmError → logErrorHint}/errors.js +0 -0
  168. /package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/{loadFileConfigEnv.d.ts → loadFileAtConfigTime.d.ts} +0 -0
  169. /package/dist/esm/node/runtime/renderPage/{logHintForCjsEsmError → logErrorHint}/errors.d.ts +0 -0
  170. /package/dist/esm/node/runtime/renderPage/{logHintForCjsEsmError → logErrorHint}/errors.js +0 -0
@@ -3,11 +3,10 @@ export { getGlobalContext };
3
3
  export { getViteDevServer };
4
4
  export { getViteConfig };
5
5
  export { setGlobalContext_viteDevServer };
6
- export { setGlobalContext_vitePreviewServer };
7
- export { setGlobalContext_viteConfig };
6
+ export { setGlobalContext_prerender };
8
7
  export { getRuntimeManifest };
9
8
  import type { ViteManifest } from '../shared/ViteManifest.js';
10
- import type { ResolvedConfig, ViteDevServer, PreviewServer as VitePreviewServer } from 'vite';
9
+ import type { ResolvedConfig, ViteDevServer } from 'vite';
11
10
  import { PluginManifest } from '../shared/assertPluginManifest.js';
12
11
  import type { ConfigVikeResolved } from '../../shared/ConfigVike.js';
13
12
  import { type RuntimeManifest } from '../shared/assertRuntimeManifest.js';
@@ -22,9 +21,7 @@ type GlobalContext = {
22
21
  isProduction: false;
23
22
  isPrerendering: false;
24
23
  viteConfig: ResolvedConfig;
25
- configVike: ConfigVikeResolved;
26
24
  viteDevServer: ViteDevServer;
27
- vitePreviewServer: null;
28
25
  clientManifest: null;
29
26
  pluginManifest: null;
30
27
  } | ({
@@ -32,21 +29,17 @@ type GlobalContext = {
32
29
  clientManifest: ViteManifest;
33
30
  pluginManifest: PluginManifest;
34
31
  viteDevServer: null;
35
- vitePreviewServer: null | VitePreviewServer;
36
32
  } & ({
37
33
  isPrerendering: false;
38
34
  viteConfig: null;
39
- configVike: null;
40
35
  } | {
41
36
  isPrerendering: true;
42
37
  viteConfig: ResolvedConfig;
43
- configVike: ConfigVikeResolved;
44
38
  })));
45
39
  declare function getGlobalContext(): GlobalContext;
46
40
  declare function setGlobalContext_viteDevServer(viteDevServer: ViteDevServer): void;
47
- declare function setGlobalContext_vitePreviewServer(vitePreviewServer: VitePreviewServer): void;
48
41
  declare function getViteDevServer(): ViteDevServer | null;
49
- declare function setGlobalContext_viteConfig(viteConfig: ResolvedConfig): void;
42
+ declare function setGlobalContext_prerender(viteConfig: ResolvedConfig): void;
50
43
  declare function getViteConfig(): ResolvedConfig | null;
51
44
  declare function initGlobalContext(isPrerendering?: boolean, outDir?: string): Promise<void>;
52
45
  declare function getRuntimeManifest(configVike: ConfigVikeResolved): RuntimeManifest;
@@ -3,10 +3,9 @@ export { getGlobalContext };
3
3
  export { getViteDevServer };
4
4
  export { getViteConfig };
5
5
  export { setGlobalContext_viteDevServer };
6
- export { setGlobalContext_vitePreviewServer };
7
- export { setGlobalContext_viteConfig };
6
+ export { setGlobalContext_prerender };
8
7
  export { getRuntimeManifest };
9
- import { assert, assertUsage, getGlobalObject, getNodeEnv, isNodeEnvDev, isPlainObject, objectAssign } from './utils.js';
8
+ import { assert, assertUsage, getGlobalObject, getNodeEnv, getNodeEnvDesc, isNodeEnvDev, isPlainObject, objectAssign } from './utils.js';
10
9
  import { loadImportBuild } from './globalContext/loadImportBuild.js';
11
10
  import { setPageFiles } from '../../shared/getPageFiles.js';
12
11
  import { assertPluginManifest } from '../shared/assertPluginManifest.js';
@@ -22,18 +21,14 @@ function setGlobalContext_viteDevServer(viteDevServer) {
22
21
  if (globalObject.viteDevServer)
23
22
  return;
24
23
  assert(!globalObject.globalContext);
25
- globalObject.viteDevServer = viteDevServer;
26
- }
27
- function setGlobalContext_vitePreviewServer(vitePreviewServer) {
28
- if (globalObject.vitePreviewServer)
29
- return;
30
24
  assert(!globalObject.globalContext);
31
- globalObject.vitePreviewServer = vitePreviewServer;
25
+ globalObject.viteConfig = viteDevServer.config;
26
+ globalObject.viteDevServer = viteDevServer;
32
27
  }
33
28
  function getViteDevServer() {
34
29
  return globalObject.viteDevServer ?? null;
35
30
  }
36
- function setGlobalContext_viteConfig(viteConfig) {
31
+ function setGlobalContext_prerender(viteConfig) {
37
32
  if (globalObject.viteConfig)
38
33
  return;
39
34
  assert(!globalObject.globalContext);
@@ -45,13 +40,12 @@ function getViteConfig() {
45
40
  async function initGlobalContext(isPrerendering = false, outDir) {
46
41
  if (globalObject.globalContext)
47
42
  return;
48
- const { viteDevServer, vitePreviewServer, viteConfig } = globalObject;
43
+ const { viteDevServer, viteConfig } = globalObject;
49
44
  assertNodeEnv(!!viteDevServer);
50
45
  const isProduction = !viteDevServer;
51
46
  if (!isProduction) {
52
47
  assert(viteConfig);
53
48
  assert(!isPrerendering);
54
- assert(!vitePreviewServer);
55
49
  const configVike = await getConfigVike(viteConfig);
56
50
  const pluginManifest = getRuntimeManifest(configVike);
57
51
  globalObject.globalContext = {
@@ -60,9 +54,7 @@ async function initGlobalContext(isPrerendering = false, outDir) {
60
54
  clientManifest: null,
61
55
  pluginManifest: null,
62
56
  viteDevServer,
63
- vitePreviewServer: null,
64
57
  viteConfig,
65
- configVike,
66
58
  baseServer: pluginManifest.baseServer,
67
59
  baseAssets: pluginManifest.baseAssets,
68
60
  includeAssetsImportedByServer: pluginManifest.includeAssetsImportedByServer,
@@ -83,7 +75,6 @@ async function initGlobalContext(isPrerendering = false, outDir) {
83
75
  clientManifest,
84
76
  pluginManifest,
85
77
  viteDevServer: null,
86
- vitePreviewServer: vitePreviewServer ?? null,
87
78
  baseServer: pluginManifest.baseServer,
88
79
  baseAssets: pluginManifest.baseAssets,
89
80
  includeAssetsImportedByServer: pluginManifest.includeAssetsImportedByServer,
@@ -97,16 +88,14 @@ async function initGlobalContext(isPrerendering = false, outDir) {
97
88
  assert(configVike);
98
89
  objectAssign(globalContext, {
99
90
  isPrerendering: true,
100
- viteConfig,
101
- configVike
91
+ viteConfig
102
92
  });
103
93
  globalObject.globalContext = globalContext;
104
94
  }
105
95
  else {
106
96
  objectAssign(globalContext, {
107
97
  isPrerendering: false,
108
- viteConfig: null,
109
- configVike: null
98
+ viteConfig: null
110
99
  });
111
100
  globalObject.globalContext = globalContext;
112
101
  }
@@ -151,8 +140,11 @@ function assertNodeEnv(hasViteDevServer) {
151
140
  const nodeEnv = getNodeEnv();
152
141
  if (nodeEnv === null || nodeEnv === 'test')
153
142
  return;
154
- const isDevNodeEnv = isNodeEnvDev();
155
- // - Calling Vite's createServer() is enough for hasViteDevServer to be true, even without actually adding Vite's development middleware to the server: https://github.com/vikejs/vike/issues/792#issuecomment-1516830759
156
- // - We should change this to be a warning if it blocks users (e.g. if a bad-citizen tool sets a wrong process.env.NODE_ENV value).
157
- assertUsage(hasViteDevServer === isDevNodeEnv, `Vite's development server was${hasViteDevServer ? '' : "n't"} instantiated while the environment is set to be a ${isDevNodeEnv ? 'development' : 'production'} environment by ${pc.cyan(`process.env.NODE_ENV === ${JSON.stringify(nodeEnv)}`)} which is contradictory, see https://vike.dev/NODE_ENV`);
143
+ const isDev = isNodeEnvDev();
144
+ // Calling Vite's createServer() is enough for hasViteDevServer to be true, even without actually adding Vite's development middleware to the server: https://github.com/vikejs/vike/issues/792#issuecomment-1516830759
145
+ if (hasViteDevServer === isDev)
146
+ return;
147
+ const nodeEnvDesc = getNodeEnvDesc();
148
+ // We should change this to be a warning if it blocks users (e.g. if a bad-citizen tool sets a wrong process.env.NODE_ENV value)
149
+ assertUsage(false, `Vite's development server was${hasViteDevServer ? '' : "n't"} instantiated while the ${nodeEnvDesc} which is contradictory, see https://vike.dev/NODE_ENV`);
158
150
  }
@@ -85,8 +85,8 @@ async function getHtmlTags(pageContext, injectToStream, injectFilter) {
85
85
  // See https://github.com/vikejs/vike/pull/1271
86
86
  const positionJavaScriptEntry = (() => {
87
87
  if (pageContext._pageContextPromise) {
88
- assertWarning(!injectToStream, "[getHtmlTags()] We recommend against using streaming and a pageContext promise at the same time as progressive hydration won't work", { onlyOnce: true });
89
- // If there is a pageContext._pageContextPromise (which is resolved after the stream has ended) then the pageContext JSON data needs to await for it: https://vike.dev/stream#initial-data-after-stream-end
88
+ assertWarning(!injectToStream, "[getHtmlTags()] We recommend against using streaming and a pageContext promise at the same time, because progressive hydration won't work.", { onlyOnce: true });
89
+ // If there is a pageContext._pageContextPromise (which is resolved after the stream has ended) then the pageContext JSON data needs to await for it: https://vike.dev/streaming#initial-data-after-stream-end
90
90
  return 'HTML_END';
91
91
  }
92
92
  if (injectToStream) {
@@ -181,7 +181,7 @@ async function renderTemplate(templateContent, pageContext) {
181
181
  const varType = typeof templateVar;
182
182
  const streamNote = ['boolean', 'number', 'bigint', 'symbol'].includes(varType)
183
183
  ? null
184
- : '(See https://vike.dev/stream for HTML streaming.)';
184
+ : '(See https://vike.dev/streaming for HTML streaming.)';
185
185
  assertUsage(varType === 'string', getErrMsg(pc.cyan(`typeof htmlVar === "${varType}"`), streamNote));
186
186
  }
187
187
  {
@@ -634,7 +634,7 @@ function isStream(something) {
634
634
  const __streamPipeWeb = '__streamPipeWeb';
635
635
  /** @deprecated */
636
636
  function pipeWebStream(pipe) {
637
- assertWarning(false, 'pipeWebStream() is outdated, use stampPipe() instead. See https://vike.dev/stream', {
637
+ assertWarning(false, 'pipeWebStream() is outdated, use stampPipe() instead. See https://vike.dev/streaming', {
638
638
  onlyOnce: true,
639
639
  showStackTrace: true
640
640
  });
@@ -669,7 +669,7 @@ function isStreamPipeWeb(thing) {
669
669
  const __streamPipeNode = '__streamPipeNode';
670
670
  /** @deprecated */
671
671
  function pipeNodeStream(pipe) {
672
- assertWarning(false, 'pipeNodeStream() is outdated, use stampPipe() instead. See https://vike.dev/stream', {
672
+ assertWarning(false, 'pipeNodeStream() is outdated, use stampPipe() instead. See https://vike.dev/streaming', {
673
673
  onlyOnce: true,
674
674
  showStackTrace: true
675
675
  });
@@ -4,11 +4,11 @@ import { analyzePageClientSide } from '../../../shared/getPageFiles/analyzePageC
4
4
  import { getVirtualFileIdPageConfigValuesAll } from '../../shared/virtual-files/virtualFilePageConfigValuesAll.js';
5
5
  import { analyzeClientSide } from '../../../shared/getPageFiles/analyzeClientSide.js';
6
6
  import { getGlobalContext } from '../globalContext.js';
7
- import { getClientEntryFilePath } from '../../shared/getClientEntryFilePath.js';
7
+ import { getClientEntry } from '../../shared/getClientEntry.js';
8
8
  function analyzePage(pageFilesAll, pageConfig, pageId) {
9
9
  if (pageConfig) {
10
10
  const { isClientSideRenderable, isClientRouting } = analyzeClientSide(pageConfig, pageFilesAll, pageId);
11
- const clientFilePath = getClientEntryFilePath(pageConfig);
11
+ const clientFilePath = getClientEntry(pageConfig);
12
12
  const clientEntry = !isClientSideRenderable ? clientFilePath : getVikeClientEntry(isClientRouting);
13
13
  const clientDependencies = [];
14
14
  clientDependencies.push({
@@ -119,11 +119,11 @@ function processHookReturnValue(hookReturnValue, renderHook) {
119
119
  const val = hookReturnValue.pageContext;
120
120
  const errBegin = `${errPrefix} returned ${pc.cyan('{ pageContext }')}, but ${pc.cyan('pageContext')}`;
121
121
  if (isPromise(val) || isCallable(val)) {
122
- assertWarning(!isPromise(val), `${errBegin} is a promise which is deprecated in favor of async functions, see https://vike.dev/stream#initial-data-after-stream-end`, { onlyOnce: true });
122
+ assertWarning(!isPromise(val), `${errBegin} is a promise which is deprecated in favor of async functions, see https://vike.dev/streaming#initial-data-after-stream-end`, { onlyOnce: true });
123
123
  pageContextPromise = val;
124
124
  }
125
125
  else {
126
- assertUsage(isObject(val), `${errBegin} should be an object or an async function, see https://vike.dev/stream#initial-data-after-stream-end`);
126
+ assertUsage(isObject(val), `${errBegin} should be an object or an async function, see https://vike.dev/streaming#initial-data-after-stream-end`);
127
127
  assertPageContextProvidedByUser(val, renderHook);
128
128
  pageContextProvidedByRenderHook = val;
129
129
  }
@@ -7,9 +7,10 @@ import { type HtmlRender } from '../html/renderHtml.js';
7
7
  import type { RenderHook } from './executeOnRenderHtmlHook.js';
8
8
  type HttpResponseBody = {
9
9
  body: string;
10
- getBody: () => Promise<string>;
11
- getReadableWebStream: () => StreamReadableWeb;
12
10
  pipe: (writable: StreamWritableWeb | StreamWritableNode) => void;
11
+ getReadableWebStream: () => StreamReadableWeb;
12
+ getReadableNodeStream: () => Promise<StreamReadableNode>;
13
+ getBody: () => Promise<string>;
13
14
  /** @deprecated */
14
15
  getNodeStream: () => Promise<StreamReadableNode>;
15
16
  /** @deprecated */
@@ -21,12 +22,12 @@ type HttpResponseBody = {
21
22
  };
22
23
  declare function getHttpResponseBody(htmlRender: HtmlRender, renderHook: null | RenderHook): string;
23
24
  declare function getHttpResponseBodyStreamHandlers(htmlRender: HtmlRender, renderHook: null | RenderHook): {
25
+ pipe(writable: StreamWritableNode | StreamWritableWeb): void;
26
+ getReadableWebStream(): StreamReadableWeb;
27
+ getReadableNodeStream(): Promise<import("stream").Readable>;
24
28
  getBody(): Promise<string>;
25
29
  getNodeStream(): Promise<import("stream").Readable>;
26
30
  getWebStream(): StreamReadableWeb;
27
- getReadableNodeStream(): Promise<import("stream").Readable>;
28
- getReadableWebStream(): StreamReadableWeb;
29
31
  pipeToWebWritable(writable: StreamWritableWeb): void;
30
32
  pipeToNodeWritable(writable: StreamWritableNode): void;
31
- pipe(writable: StreamWritableNode | StreamWritableWeb): void;
32
33
  };
@@ -4,7 +4,7 @@ import { isStream, getStreamName, inferStreamName, isStreamWritableWeb, isStream
4
4
  import { assert, assertUsage, assertWarning } from '../utils.js';
5
5
  import { getHtmlString } from '../html/renderHtml.js';
6
6
  import pc from '@brillout/picocolors';
7
- const streamDocs = 'See https://vike.dev/stream for more information.';
7
+ const streamDocs = 'See https://vike.dev/streaming for more information.';
8
8
  function getHttpResponseBody(htmlRender, renderHook) {
9
9
  if (typeof htmlRender !== 'string') {
10
10
  assertUsage(false, getErrMsg(htmlRender, renderHook, 'body', `Use ${pc.cyan('pageContext.httpResponse.pipe()')} instead`));
@@ -14,6 +14,44 @@ function getHttpResponseBody(htmlRender, renderHook) {
14
14
  }
15
15
  function getHttpResponseBodyStreamHandlers(htmlRender, renderHook) {
16
16
  return {
17
+ pipe(writable) {
18
+ const getErrMsgMixingStreamTypes = (writableType) => `The ${getErrMsgBody(htmlRender, renderHook)} while a ${writableType} was passed to pageContext.httpResponse.pipe() which is contradictory. You cannot mix a Web Stream with a Node.js Stream.`;
19
+ if (isStreamWritableWeb(writable)) {
20
+ const success = pipeToStreamWritableWeb(htmlRender, writable);
21
+ if (success) {
22
+ return;
23
+ }
24
+ else {
25
+ assert(isStreamReadableNode(htmlRender) || isStreamPipeNode(htmlRender));
26
+ assertUsage(false, getErrMsgMixingStreamTypes('Web Writable'));
27
+ }
28
+ }
29
+ if (isStreamWritableNode(writable)) {
30
+ const success = pipeToStreamWritableNode(htmlRender, writable);
31
+ if (success) {
32
+ return;
33
+ }
34
+ else {
35
+ assert(isStreamReadableWeb(htmlRender) || isStreamPipeWeb(htmlRender));
36
+ assertUsage(false, getErrMsgMixingStreamTypes('Node.js Writable'));
37
+ }
38
+ }
39
+ assertUsage(false, `The argument ${pc.cyan('writable')} passed to ${pc.cyan('pageContext.httpResponse.pipe(writable)')} doesn't seem to be ${getStreamName('writable', 'web')} nor ${getStreamName('writable', 'node')}.`);
40
+ },
41
+ getReadableWebStream() {
42
+ const webStream = getStreamReadableWeb(htmlRender);
43
+ if (webStream === null) {
44
+ assertUsage(false, getErrMsg(htmlRender, renderHook, 'getReadableWebStream()', getFixMsg('readable', 'web')));
45
+ }
46
+ return webStream;
47
+ },
48
+ async getReadableNodeStream() {
49
+ const nodeStream = await getStreamReadableNode(htmlRender);
50
+ if (nodeStream === null) {
51
+ assertUsage(false, getErrMsg(htmlRender, renderHook, 'getReadableNodeStream()', getFixMsg('readable', 'node')));
52
+ }
53
+ return nodeStream;
54
+ },
17
55
  async getBody() {
18
56
  const body = await getHtmlString(htmlRender);
19
57
  return body;
@@ -38,20 +76,6 @@ function getHttpResponseBodyStreamHandlers(htmlRender, renderHook) {
38
76
  }
39
77
  return webStream;
40
78
  },
41
- async getReadableNodeStream() {
42
- const nodeStream = await getStreamReadableNode(htmlRender);
43
- if (nodeStream === null) {
44
- assertUsage(false, getErrMsg(htmlRender, renderHook, 'getReadableNodeStream()', getFixMsg('readable', 'node')));
45
- }
46
- return nodeStream;
47
- },
48
- getReadableWebStream() {
49
- const webStream = getStreamReadableWeb(htmlRender);
50
- if (webStream === null) {
51
- assertUsage(false, getErrMsg(htmlRender, renderHook, 'getReadableWebStream()', getFixMsg('readable', 'web')));
52
- }
53
- return webStream;
54
- },
55
79
  // TODO/v1-release: remove
56
80
  pipeToWebWritable(writable) {
57
81
  assertWarning(false, '`pageContext.httpResponse.pipeToWebWritable(res)` is outdated, use `pageContext.httpResponse.pipe(res)` instead. ' +
@@ -69,30 +93,6 @@ function getHttpResponseBodyStreamHandlers(htmlRender, renderHook) {
69
93
  if (!success) {
70
94
  assertUsage(false, getErrMsg(htmlRender, renderHook, 'pipeToNodeWritable()'));
71
95
  }
72
- },
73
- pipe(writable) {
74
- const getErrMsgMixingStreamTypes = (writableType) => `The ${getErrMsgBody(htmlRender, renderHook)} while a ${writableType} was passed to pageContext.httpResponse.pipe() which is contradictory. You cannot mix a Web Stream with a Node.js Stream.`;
75
- if (isStreamWritableWeb(writable)) {
76
- const success = pipeToStreamWritableWeb(htmlRender, writable);
77
- if (success) {
78
- return;
79
- }
80
- else {
81
- assert(isStreamReadableNode(htmlRender) || isStreamPipeNode(htmlRender));
82
- assertUsage(false, getErrMsgMixingStreamTypes('Web Writable'));
83
- }
84
- }
85
- if (isStreamWritableNode(writable)) {
86
- const success = pipeToStreamWritableNode(htmlRender, writable);
87
- if (success) {
88
- return;
89
- }
90
- else {
91
- assert(isStreamReadableWeb(htmlRender) || isStreamPipeWeb(htmlRender));
92
- assertUsage(false, getErrMsgMixingStreamTypes('Node.js Writable'));
93
- }
94
- }
95
- assertUsage(false, `The argument ${pc.cyan('writable')} passed to ${pc.cyan('pageContext.httpResponse.pipe(writable)')} doesn't seem to be ${getStreamName('writable', 'web')} nor ${getStreamName('writable', 'node')}.`);
96
96
  }
97
97
  };
98
98
  function getFixMsg(type, standard) {
@@ -1,5 +1,4 @@
1
1
  export { assertClientEntryId };
2
- import { getGlobalContext } from '../../globalContext.js';
3
2
  import { assert, assertPosixPath, isNpmPackageImport } from '../../utils.js';
4
3
  import { isVirtualFileIdPageConfigValuesAll } from '../../../shared/virtual-files/virtualFilePageConfigValuesAll.js';
5
4
  function assertClientEntryId(id) {
@@ -15,8 +14,4 @@ function assertClientEntryId(id) {
15
14
  isVirtualFileIdPageConfigValuesAll(id) ||
16
15
  // Stem packages
17
16
  isPkg, id);
18
- if (isPkg) {
19
- const { configVike } = getGlobalContext();
20
- assert(configVike === null || configVike.extensions.some(({ npmPackageName }) => id.startsWith(npmPackageName)), id);
21
- }
22
17
  }
@@ -1,6 +1,6 @@
1
1
  export { getManifestEntry };
2
2
  import type { ViteManifest, ViteManifestEntry } from '../../../shared/ViteManifest.js';
3
- declare function getManifestEntry(id: string, clientManifest: ViteManifest, manifestKeyMap: Record<string, string>): {
3
+ declare function getManifestEntry(id: string, clientManifest: ViteManifest): {
4
4
  manifestKey: string;
5
5
  manifestEntry: ViteManifestEntry;
6
6
  };
@@ -2,7 +2,8 @@ export { getManifestEntry };
2
2
  import { assert, slice, isNpmPackageImport } from '../../utils.js';
3
3
  import { assertClientEntryId } from './assertClientEntryId.js';
4
4
  import { isVirtualFileIdPageConfigValuesAll } from '../../../shared/virtual-files/virtualFilePageConfigValuesAll.js';
5
- function getManifestEntry(id, clientManifest, manifestKeyMap) {
5
+ import { prependEntriesDir } from '../../../shared/prependEntriesDir.js';
6
+ function getManifestEntry(id, clientManifest) {
6
7
  assertClientEntryId(id);
7
8
  const debugInfo = getDebugInfo(id, clientManifest);
8
9
  // Vike client entry
@@ -40,13 +41,11 @@ function getManifestEntry(id, clientManifest, manifestKeyMap) {
40
41
  assert(manifestEntry, debugInfo);
41
42
  return { manifestEntry, manifestKey };
42
43
  }
43
- // extensions[number].pageConfigsDistFiles
44
+ // npm package import
44
45
  if (isNpmPackageImport(id)) {
45
- const manifestKey = manifestKeyMap[id];
46
- const debugInfo2 = { ...debugInfo, manifestKey };
47
- assert(manifestKey, debugInfo2);
48
- const manifestEntry = clientManifest[manifestKey];
49
- assert(manifestEntry, debugInfo2);
46
+ const found = Object.entries(clientManifest).find(([, e]) => e.name === prependEntriesDir(id));
47
+ assert(found);
48
+ const [manifestKey, manifestEntry] = found;
50
49
  return { manifestEntry, manifestKey };
51
50
  }
52
51
  // extensions[number].pageConfigsSrcDir
@@ -1,4 +1,4 @@
1
1
  export { retrieveAssetsProd };
2
2
  import type { ViteManifest } from '../../../shared/ViteManifest.js';
3
3
  import type { ClientDependency } from '../../../../shared/getPageFiles/analyzePageClientSide/ClientDependency.js';
4
- declare function retrieveAssetsProd(clientDependencies: ClientDependency[], clientManifest: ViteManifest, includeAssetsImportedByServer: boolean, manifestKeyMap: Record<string, string>): string[];
4
+ declare function retrieveAssetsProd(clientDependencies: ClientDependency[], clientManifest: ViteManifest, includeAssetsImportedByServer: boolean): string[];
@@ -2,7 +2,7 @@ export { retrieveAssetsProd };
2
2
  import { assert, isNpmPackageImport } from '../../utils.js';
3
3
  import { getManifestEntry } from './getManifestEntry.js';
4
4
  import { extractAssetsAddQuery } from '../../../shared/extractAssetsQuery.js';
5
- function retrieveAssetsProd(clientDependencies, clientManifest, includeAssetsImportedByServer, manifestKeyMap) {
5
+ function retrieveAssetsProd(clientDependencies, clientManifest, includeAssetsImportedByServer) {
6
6
  let assetUrls = new Set();
7
7
  assert(clientManifest);
8
8
  const visistedAssets = new Set();
@@ -19,7 +19,7 @@ function retrieveAssetsProd(clientDependencies, clientManifest, includeAssetsImp
19
19
  id = extractAssetsAddQuery(id);
20
20
  }
21
21
  }
22
- const { manifestKey } = getManifestEntry(id, clientManifest, manifestKeyMap);
22
+ const { manifestKey } = getManifestEntry(id, clientManifest);
23
23
  collectAssets(manifestKey, assetUrls, visistedAssets, clientManifest, onlyAssets);
24
24
  });
25
25
  collectSingleStyle(assetUrls, clientManifest);
@@ -1,5 +1,5 @@
1
1
  export { getPageAssets };
2
- import { assert, prependBase, assertPosixPath, toPosixPath, isNpmPackageImport, unique, isNotNullish, pathJoin } from '../utils.js';
2
+ import { assert, prependBase, assertPosixPath, toPosixPath, isNpmPackageImport, unique, pathJoin } from '../utils.js';
3
3
  import { retrieveAssetsDev } from './getPageAssets/retrieveAssetsDev.js';
4
4
  import { retrieveAssetsProd } from './getPageAssets/retrieveAssetsProd.js';
5
5
  import { inferMediaType } from './inferMediaType.js';
@@ -14,15 +14,14 @@ async function getPageAssets(pageContext, clientDependencies, clientEntries) {
14
14
  let assetUrls;
15
15
  let clientEntriesSrc;
16
16
  if (isDev) {
17
- const { viteDevServer, configVike } = globalContext;
18
- clientEntriesSrc = await Promise.all(clientEntries.map((clientEntry) => resolveClientEntriesDev(clientEntry, viteDevServer, configVike)));
17
+ const { viteDevServer } = globalContext;
18
+ clientEntriesSrc = await Promise.all(clientEntries.map((clientEntry) => resolveClientEntriesDev(clientEntry, viteDevServer)));
19
19
  assetUrls = await retrieveAssetsDev(clientDependencies, viteDevServer);
20
20
  }
21
21
  else {
22
- const { pluginManifest, clientManifest } = globalContext;
23
- const manifestKeyMap = pluginManifest.manifestKeyMap;
24
- clientEntriesSrc = clientEntries.map((clientEntry) => resolveClientEntriesProd(clientEntry, clientManifest, manifestKeyMap));
25
- assetUrls = retrieveAssetsProd(clientDependencies, clientManifest, pageContext._includeAssetsImportedByServer, manifestKeyMap);
22
+ const { clientManifest } = globalContext;
23
+ clientEntriesSrc = clientEntries.map((clientEntry) => resolveClientEntriesProd(clientEntry, clientManifest));
24
+ assetUrls = retrieveAssetsProd(clientDependencies, clientManifest, pageContext._includeAssetsImportedByServer);
26
25
  }
27
26
  let pageAssets = [];
28
27
  unique([...clientEntriesSrc, ...assetUrls]).forEach((src) => {
@@ -56,7 +55,7 @@ async function getPageAssets(pageContext, clientDependencies, clientEntries) {
56
55
  sortPageAssetsForEarlyHintsHeader(pageAssets);
57
56
  return pageAssets;
58
57
  }
59
- async function resolveClientEntriesDev(clientEntry, viteDevServer, configVike) {
58
+ async function resolveClientEntriesDev(clientEntry, viteDevServer) {
60
59
  assertClientEntryId(clientEntry);
61
60
  let root = viteDevServer.config.root;
62
61
  assert(root);
@@ -77,7 +76,7 @@ async function resolveClientEntriesDev(clientEntry, viteDevServer, configVike) {
77
76
  // User files
78
77
  filePath = pathJoin(root, clientEntry);
79
78
  }
80
- else if (clientEntry.startsWith('@@vike/')) {
79
+ else if (clientEntry.startsWith('@@vike/') || isNpmPackageImport(clientEntry)) {
81
80
  // Vike client entry
82
81
  const { createRequire } = (await import_('module')).default;
83
82
  const { dirname } = (await import_('path')).default;
@@ -89,27 +88,23 @@ async function resolveClientEntriesDev(clientEntry, viteDevServer, configVike) {
89
88
  // @ts-expect-error
90
89
  // Bun workaround https://github.com/vikejs/vike/pull/1048
91
90
  const res = typeof Bun !== 'undefined' ? (toPath) => Bun.resolveSync(toPath, __dirname_) : require_.resolve;
92
- assert(clientEntry.endsWith('.js'));
93
- try {
94
- // For Vitest (which doesn't resolve vike to its dist but to its source files)
95
- // [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/node/runtime/renderPage/getPageAssets.js
96
- filePath = toPosixPath(res(clientEntry.replace('@@vike/dist/esm/client/', '../../../client/').replace('.js', '.ts')));
91
+ if (isNpmPackageImport(clientEntry)) {
92
+ filePath = res(clientEntry);
97
93
  }
98
- catch {
99
- // For users
100
- // [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/dist/esm/node/runtime/renderPage/getPageAssets.js
101
- filePath = toPosixPath(res(clientEntry.replace('@@vike/dist/esm/client/', '../../../../../dist/esm/client/')));
94
+ else {
95
+ assert(clientEntry.endsWith('.js'));
96
+ try {
97
+ // For Vitest (which doesn't resolve vike to its dist but to its source files)
98
+ // [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/node/runtime/renderPage/getPageAssets.js
99
+ filePath = toPosixPath(res(clientEntry.replace('@@vike/dist/esm/client/', '../../../client/').replace('.js', '.ts')));
100
+ }
101
+ catch {
102
+ // For users
103
+ // [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/dist/esm/node/runtime/renderPage/getPageAssets.js
104
+ filePath = toPosixPath(res(clientEntry.replace('@@vike/dist/esm/client/', '../../../../../dist/esm/client/')));
105
+ }
102
106
  }
103
107
  }
104
- else if (isNpmPackageImport(clientEntry)) {
105
- const extensionPageFile = configVike.extensions
106
- .map(({ pageConfigsDistFiles }) => pageConfigsDistFiles)
107
- .flat()
108
- .filter(isNotNullish)
109
- .find((e) => e.importPath === clientEntry);
110
- assert(extensionPageFile, clientEntry);
111
- filePath = extensionPageFile.filePath;
112
- }
113
108
  else {
114
109
  assert(false);
115
110
  }
@@ -121,8 +116,8 @@ async function resolveClientEntriesDev(clientEntry, viteDevServer, configVike) {
121
116
  assertPosixPath(filePath);
122
117
  return filePath;
123
118
  }
124
- function resolveClientEntriesProd(clientEntry, clientManifest, manifestKeyMap) {
125
- const { manifestEntry } = getManifestEntry(clientEntry, clientManifest, manifestKeyMap);
119
+ function resolveClientEntriesProd(clientEntry, clientManifest) {
120
+ const { manifestEntry } = getManifestEntry(clientEntry, clientManifest);
126
121
  assert(manifestEntry.isEntry || manifestEntry.isDynamicEntry || clientEntry.endsWith('.css'), { clientEntry });
127
122
  let { file } = manifestEntry;
128
123
  assert(!file.startsWith('/'));
@@ -42,7 +42,7 @@ async function loadUserFilesServerSide(pageContext) {
42
42
  // TODO/v1-release: remove
43
43
  Object.assign(pageContextAddendum, {
44
44
  _getPageAssets: async () => {
45
- assertWarning(false, 'pageContext._getPageAssets() deprecated, see https://vike.dev/preload', {
45
+ assertWarning(false, 'pageContext._getPageAssets() deprecated, see https://vike.dev/preloading', {
46
46
  onlyOnce: true,
47
47
  showStackTrace: true
48
48
  });
@@ -0,0 +1,8 @@
1
+ export { logErrorHint };
2
+ export { isCjsEsmError };
3
+ export { isKnownError };
4
+ export { getHint };
5
+ declare function logErrorHint(error: unknown): void;
6
+ declare function getHint(error: unknown): null | string;
7
+ declare function isKnownError(error: unknown): false | string;
8
+ declare function isCjsEsmError(error: unknown): boolean | string[];