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,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
  }
@@ -157,8 +146,11 @@ function assertNodeEnv(hasViteDevServer) {
157
146
  const nodeEnv = (0, utils_js_1.getNodeEnv)();
158
147
  if (nodeEnv === null || nodeEnv === 'test')
159
148
  return;
160
- const isDevNodeEnv = (0, utils_js_1.isNodeEnvDev)();
161
- // - 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
162
- // - 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).
163
- (0, utils_js_1.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 ${picocolors_1.default.cyan(`process.env.NODE_ENV === ${JSON.stringify(nodeEnv)}`)} which is contradictory, see https://vike.dev/NODE_ENV`);
149
+ const isDev = (0, utils_js_1.isNodeEnvDev)();
150
+ // 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
151
+ if (hasViteDevServer === isDev)
152
+ return;
153
+ const nodeEnvDesc = (0, utils_js_1.getNodeEnvDesc)();
154
+ // 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)
155
+ (0, utils_js_1.assertUsage)(false, `Vite's development server was${hasViteDevServer ? '' : "n't"} instantiated while the ${nodeEnvDesc} which is contradictory, see https://vike.dev/NODE_ENV`);
164
156
  }
@@ -90,8 +90,8 @@ async function getHtmlTags(pageContext, injectToStream, injectFilter) {
90
90
  // See https://github.com/vikejs/vike/pull/1271
91
91
  const positionJavaScriptEntry = (() => {
92
92
  if (pageContext._pageContextPromise) {
93
- (0, utils_js_1.assertWarning)(!injectToStream, "[getHtmlTags()] We recommend against using streaming and a pageContext promise at the same time as progressive hydration won't work", { onlyOnce: true });
94
- // 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
93
+ (0, utils_js_1.assertWarning)(!injectToStream, "[getHtmlTags()] We recommend against using streaming and a pageContext promise at the same time, because progressive hydration won't work.", { onlyOnce: true });
94
+ // 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
95
95
  return 'HTML_END';
96
96
  }
97
97
  if (injectToStream) {
@@ -186,7 +186,7 @@ async function renderTemplate(templateContent, pageContext) {
186
186
  const varType = typeof templateVar;
187
187
  const streamNote = ['boolean', 'number', 'bigint', 'symbol'].includes(varType)
188
188
  ? null
189
- : '(See https://vike.dev/stream for HTML streaming.)';
189
+ : '(See https://vike.dev/streaming for HTML streaming.)';
190
190
  (0, utils_js_1.assertUsage)(varType === 'string', getErrMsg(picocolors_1.default.cyan(`typeof htmlVar === "${varType}"`), streamNote));
191
191
  }
192
192
  {
@@ -631,7 +631,7 @@ exports.isStream = isStream;
631
631
  const __streamPipeWeb = '__streamPipeWeb';
632
632
  /** @deprecated */
633
633
  function pipeWebStream(pipe) {
634
- (0, utils_js_1.assertWarning)(false, 'pipeWebStream() is outdated, use stampPipe() instead. See https://vike.dev/stream', {
634
+ (0, utils_js_1.assertWarning)(false, 'pipeWebStream() is outdated, use stampPipe() instead. See https://vike.dev/streaming', {
635
635
  onlyOnce: true,
636
636
  showStackTrace: true
637
637
  });
@@ -668,7 +668,7 @@ exports.isStreamPipeWeb = isStreamPipeWeb;
668
668
  const __streamPipeNode = '__streamPipeNode';
669
669
  /** @deprecated */
670
670
  function pipeNodeStream(pipe) {
671
- (0, utils_js_1.assertWarning)(false, 'pipeNodeStream() is outdated, use stampPipe() instead. See https://vike.dev/stream', {
671
+ (0, utils_js_1.assertWarning)(false, 'pipeNodeStream() is outdated, use stampPipe() instead. See https://vike.dev/streaming', {
672
672
  onlyOnce: true,
673
673
  showStackTrace: true
674
674
  });
@@ -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({
@@ -125,11 +125,11 @@ function processHookReturnValue(hookReturnValue, renderHook) {
125
125
  const val = hookReturnValue.pageContext;
126
126
  const errBegin = `${errPrefix} returned ${picocolors_1.default.cyan('{ pageContext }')}, but ${picocolors_1.default.cyan('pageContext')}`;
127
127
  if ((0, utils_js_1.isPromise)(val) || (0, utils_js_1.isCallable)(val)) {
128
- (0, utils_js_1.assertWarning)(!(0, utils_js_1.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 });
128
+ (0, utils_js_1.assertWarning)(!(0, utils_js_1.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 });
129
129
  pageContextPromise = val;
130
130
  }
131
131
  else {
132
- (0, utils_js_1.assertUsage)((0, utils_js_1.isObject)(val), `${errBegin} should be an object or an async function, see https://vike.dev/stream#initial-data-after-stream-end`);
132
+ (0, utils_js_1.assertUsage)((0, utils_js_1.isObject)(val), `${errBegin} should be an object or an async function, see https://vike.dev/streaming#initial-data-after-stream-end`);
133
133
  (0, assertPageContextProvidedByUser_js_1.assertPageContextProvidedByUser)(val, renderHook);
134
134
  pageContextProvidedByRenderHook = val;
135
135
  }
@@ -8,7 +8,7 @@ const stream_js_1 = require("../html/stream.js");
8
8
  const utils_js_1 = require("../utils.js");
9
9
  const renderHtml_js_1 = require("../html/renderHtml.js");
10
10
  const picocolors_1 = __importDefault(require("@brillout/picocolors"));
11
- const streamDocs = 'See https://vike.dev/stream for more information.';
11
+ const streamDocs = 'See https://vike.dev/streaming for more information.';
12
12
  function getHttpResponseBody(htmlRender, renderHook) {
13
13
  if (typeof htmlRender !== 'string') {
14
14
  (0, utils_js_1.assertUsage)(false, getErrMsg(htmlRender, renderHook, 'body', `Use ${picocolors_1.default.cyan('pageContext.httpResponse.pipe()')} instead`));
@@ -19,6 +19,44 @@ function getHttpResponseBody(htmlRender, renderHook) {
19
19
  exports.getHttpResponseBody = getHttpResponseBody;
20
20
  function getHttpResponseBodyStreamHandlers(htmlRender, renderHook) {
21
21
  return {
22
+ pipe(writable) {
23
+ 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.`;
24
+ if ((0, stream_js_1.isStreamWritableWeb)(writable)) {
25
+ const success = (0, stream_js_1.pipeToStreamWritableWeb)(htmlRender, writable);
26
+ if (success) {
27
+ return;
28
+ }
29
+ else {
30
+ (0, utils_js_1.assert)((0, stream_js_1.isStreamReadableNode)(htmlRender) || (0, stream_js_1.isStreamPipeNode)(htmlRender));
31
+ (0, utils_js_1.assertUsage)(false, getErrMsgMixingStreamTypes('Web Writable'));
32
+ }
33
+ }
34
+ if ((0, stream_js_1.isStreamWritableNode)(writable)) {
35
+ const success = (0, stream_js_1.pipeToStreamWritableNode)(htmlRender, writable);
36
+ if (success) {
37
+ return;
38
+ }
39
+ else {
40
+ (0, utils_js_1.assert)((0, stream_js_1.isStreamReadableWeb)(htmlRender) || (0, stream_js_1.isStreamPipeWeb)(htmlRender));
41
+ (0, utils_js_1.assertUsage)(false, getErrMsgMixingStreamTypes('Node.js Writable'));
42
+ }
43
+ }
44
+ (0, utils_js_1.assertUsage)(false, `The argument ${picocolors_1.default.cyan('writable')} passed to ${picocolors_1.default.cyan('pageContext.httpResponse.pipe(writable)')} doesn't seem to be ${(0, stream_js_1.getStreamName)('writable', 'web')} nor ${(0, stream_js_1.getStreamName)('writable', 'node')}.`);
45
+ },
46
+ getReadableWebStream() {
47
+ const webStream = (0, stream_js_1.getStreamReadableWeb)(htmlRender);
48
+ if (webStream === null) {
49
+ (0, utils_js_1.assertUsage)(false, getErrMsg(htmlRender, renderHook, 'getReadableWebStream()', getFixMsg('readable', 'web')));
50
+ }
51
+ return webStream;
52
+ },
53
+ async getReadableNodeStream() {
54
+ const nodeStream = await (0, stream_js_1.getStreamReadableNode)(htmlRender);
55
+ if (nodeStream === null) {
56
+ (0, utils_js_1.assertUsage)(false, getErrMsg(htmlRender, renderHook, 'getReadableNodeStream()', getFixMsg('readable', 'node')));
57
+ }
58
+ return nodeStream;
59
+ },
22
60
  async getBody() {
23
61
  const body = await (0, renderHtml_js_1.getHtmlString)(htmlRender);
24
62
  return body;
@@ -43,20 +81,6 @@ function getHttpResponseBodyStreamHandlers(htmlRender, renderHook) {
43
81
  }
44
82
  return webStream;
45
83
  },
46
- async getReadableNodeStream() {
47
- const nodeStream = await (0, stream_js_1.getStreamReadableNode)(htmlRender);
48
- if (nodeStream === null) {
49
- (0, utils_js_1.assertUsage)(false, getErrMsg(htmlRender, renderHook, 'getReadableNodeStream()', getFixMsg('readable', 'node')));
50
- }
51
- return nodeStream;
52
- },
53
- getReadableWebStream() {
54
- const webStream = (0, stream_js_1.getStreamReadableWeb)(htmlRender);
55
- if (webStream === null) {
56
- (0, utils_js_1.assertUsage)(false, getErrMsg(htmlRender, renderHook, 'getReadableWebStream()', getFixMsg('readable', 'web')));
57
- }
58
- return webStream;
59
- },
60
84
  // TODO/v1-release: remove
61
85
  pipeToWebWritable(writable) {
62
86
  (0, utils_js_1.assertWarning)(false, '`pageContext.httpResponse.pipeToWebWritable(res)` is outdated, use `pageContext.httpResponse.pipe(res)` instead. ' +
@@ -74,30 +98,6 @@ function getHttpResponseBodyStreamHandlers(htmlRender, renderHook) {
74
98
  if (!success) {
75
99
  (0, utils_js_1.assertUsage)(false, getErrMsg(htmlRender, renderHook, 'pipeToNodeWritable()'));
76
100
  }
77
- },
78
- pipe(writable) {
79
- 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.`;
80
- if ((0, stream_js_1.isStreamWritableWeb)(writable)) {
81
- const success = (0, stream_js_1.pipeToStreamWritableWeb)(htmlRender, writable);
82
- if (success) {
83
- return;
84
- }
85
- else {
86
- (0, utils_js_1.assert)((0, stream_js_1.isStreamReadableNode)(htmlRender) || (0, stream_js_1.isStreamPipeNode)(htmlRender));
87
- (0, utils_js_1.assertUsage)(false, getErrMsgMixingStreamTypes('Web Writable'));
88
- }
89
- }
90
- if ((0, stream_js_1.isStreamWritableNode)(writable)) {
91
- const success = (0, stream_js_1.pipeToStreamWritableNode)(htmlRender, writable);
92
- if (success) {
93
- return;
94
- }
95
- else {
96
- (0, utils_js_1.assert)((0, stream_js_1.isStreamReadableWeb)(htmlRender) || (0, stream_js_1.isStreamPipeWeb)(htmlRender));
97
- (0, utils_js_1.assertUsage)(false, getErrMsgMixingStreamTypes('Node.js Writable'));
98
- }
99
- }
100
- (0, utils_js_1.assertUsage)(false, `The argument ${picocolors_1.default.cyan('writable')} passed to ${picocolors_1.default.cyan('pageContext.httpResponse.pipe(writable)')} doesn't seem to be ${(0, stream_js_1.getStreamName)('writable', 'web')} nor ${(0, stream_js_1.getStreamName)('writable', 'node')}.`);
101
101
  }
102
102
  };
103
103
  function getFixMsg(type, standard) {
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.assertClientEntryId = void 0;
4
- const globalContext_js_1 = require("../../globalContext.js");
5
4
  const utils_js_1 = require("../../utils.js");
6
5
  const virtualFilePageConfigValuesAll_js_1 = require("../../../shared/virtual-files/virtualFilePageConfigValuesAll.js");
7
6
  function assertClientEntryId(id) {
@@ -17,9 +16,5 @@ function assertClientEntryId(id) {
17
16
  (0, virtualFilePageConfigValuesAll_js_1.isVirtualFileIdPageConfigValuesAll)(id) ||
18
17
  // Stem packages
19
18
  isPkg, id);
20
- if (isPkg) {
21
- const { configVike } = (0, globalContext_js_1.getGlobalContext)();
22
- (0, utils_js_1.assert)(configVike === null || configVike.extensions.some(({ npmPackageName }) => id.startsWith(npmPackageName)), id);
23
- }
24
19
  }
25
20
  exports.assertClientEntryId = assertClientEntryId;
@@ -4,7 +4,8 @@ exports.getManifestEntry = void 0;
4
4
  const utils_js_1 = require("../../utils.js");
5
5
  const assertClientEntryId_js_1 = require("./assertClientEntryId.js");
6
6
  const virtualFilePageConfigValuesAll_js_1 = require("../../../shared/virtual-files/virtualFilePageConfigValuesAll.js");
7
- function getManifestEntry(id, clientManifest, manifestKeyMap) {
7
+ const prependEntriesDir_js_1 = require("../../../shared/prependEntriesDir.js");
8
+ function getManifestEntry(id, clientManifest) {
8
9
  (0, assertClientEntryId_js_1.assertClientEntryId)(id);
9
10
  const debugInfo = getDebugInfo(id, clientManifest);
10
11
  // Vike client entry
@@ -42,13 +43,11 @@ function getManifestEntry(id, clientManifest, manifestKeyMap) {
42
43
  (0, utils_js_1.assert)(manifestEntry, debugInfo);
43
44
  return { manifestEntry, manifestKey };
44
45
  }
45
- // extensions[number].pageConfigsDistFiles
46
+ // npm package import
46
47
  if ((0, utils_js_1.isNpmPackageImport)(id)) {
47
- const manifestKey = manifestKeyMap[id];
48
- const debugInfo2 = { ...debugInfo, manifestKey };
49
- (0, utils_js_1.assert)(manifestKey, debugInfo2);
50
- const manifestEntry = clientManifest[manifestKey];
51
- (0, utils_js_1.assert)(manifestEntry, debugInfo2);
48
+ const found = Object.entries(clientManifest).find(([, e]) => e.name === (0, prependEntriesDir_js_1.prependEntriesDir)(id));
49
+ (0, utils_js_1.assert)(found);
50
+ const [manifestKey, manifestEntry] = found;
52
51
  return { manifestEntry, manifestKey };
53
52
  }
54
53
  // extensions[number].pageConfigsSrcDir
@@ -4,7 +4,7 @@ exports.retrieveAssetsProd = void 0;
4
4
  const utils_js_1 = require("../../utils.js");
5
5
  const getManifestEntry_js_1 = require("./getManifestEntry.js");
6
6
  const extractAssetsQuery_js_1 = require("../../../shared/extractAssetsQuery.js");
7
- function retrieveAssetsProd(clientDependencies, clientManifest, includeAssetsImportedByServer, manifestKeyMap) {
7
+ function retrieveAssetsProd(clientDependencies, clientManifest, includeAssetsImportedByServer) {
8
8
  let assetUrls = new Set();
9
9
  (0, utils_js_1.assert)(clientManifest);
10
10
  const visistedAssets = new Set();
@@ -21,7 +21,7 @@ function retrieveAssetsProd(clientDependencies, clientManifest, includeAssetsImp
21
21
  id = (0, extractAssetsQuery_js_1.extractAssetsAddQuery)(id);
22
22
  }
23
23
  }
24
- const { manifestKey } = (0, getManifestEntry_js_1.getManifestEntry)(id, clientManifest, manifestKeyMap);
24
+ const { manifestKey } = (0, getManifestEntry_js_1.getManifestEntry)(id, clientManifest);
25
25
  collectAssets(manifestKey, assetUrls, visistedAssets, clientManifest, onlyAssets);
26
26
  });
27
27
  collectSingleStyle(assetUrls, clientManifest);
@@ -16,15 +16,14 @@ async function getPageAssets(pageContext, clientDependencies, clientEntries) {
16
16
  let assetUrls;
17
17
  let clientEntriesSrc;
18
18
  if (isDev) {
19
- const { viteDevServer, configVike } = globalContext;
20
- clientEntriesSrc = await Promise.all(clientEntries.map((clientEntry) => resolveClientEntriesDev(clientEntry, viteDevServer, configVike)));
19
+ const { viteDevServer } = globalContext;
20
+ clientEntriesSrc = await Promise.all(clientEntries.map((clientEntry) => resolveClientEntriesDev(clientEntry, viteDevServer)));
21
21
  assetUrls = await (0, retrieveAssetsDev_js_1.retrieveAssetsDev)(clientDependencies, viteDevServer);
22
22
  }
23
23
  else {
24
- const { pluginManifest, clientManifest } = globalContext;
25
- const manifestKeyMap = pluginManifest.manifestKeyMap;
26
- clientEntriesSrc = clientEntries.map((clientEntry) => resolveClientEntriesProd(clientEntry, clientManifest, manifestKeyMap));
27
- assetUrls = (0, retrieveAssetsProd_js_1.retrieveAssetsProd)(clientDependencies, clientManifest, pageContext._includeAssetsImportedByServer, manifestKeyMap);
24
+ const { clientManifest } = globalContext;
25
+ clientEntriesSrc = clientEntries.map((clientEntry) => resolveClientEntriesProd(clientEntry, clientManifest));
26
+ assetUrls = (0, retrieveAssetsProd_js_1.retrieveAssetsProd)(clientDependencies, clientManifest, pageContext._includeAssetsImportedByServer);
28
27
  }
29
28
  let pageAssets = [];
30
29
  (0, utils_js_1.unique)([...clientEntriesSrc, ...assetUrls]).forEach((src) => {
@@ -59,7 +58,7 @@ async function getPageAssets(pageContext, clientDependencies, clientEntries) {
59
58
  return pageAssets;
60
59
  }
61
60
  exports.getPageAssets = getPageAssets;
62
- async function resolveClientEntriesDev(clientEntry, viteDevServer, configVike) {
61
+ async function resolveClientEntriesDev(clientEntry, viteDevServer) {
63
62
  (0, assertClientEntryId_js_1.assertClientEntryId)(clientEntry);
64
63
  let root = viteDevServer.config.root;
65
64
  (0, utils_js_1.assert)(root);
@@ -80,7 +79,7 @@ async function resolveClientEntriesDev(clientEntry, viteDevServer, configVike) {
80
79
  // User files
81
80
  filePath = (0, utils_js_1.pathJoin)(root, clientEntry);
82
81
  }
83
- else if (clientEntry.startsWith('@@vike/')) {
82
+ else if (clientEntry.startsWith('@@vike/') || (0, utils_js_1.isNpmPackageImport)(clientEntry)) {
84
83
  // Vike client entry
85
84
  const { createRequire } = (await (0, import_1.import_)('module')).default;
86
85
  const { dirname } = (await (0, import_1.import_)('path')).default;
@@ -92,27 +91,23 @@ async function resolveClientEntriesDev(clientEntry, viteDevServer, configVike) {
92
91
  // @ts-expect-error
93
92
  // Bun workaround https://github.com/vikejs/vike/pull/1048
94
93
  const res = typeof Bun !== 'undefined' ? (toPath) => Bun.resolveSync(toPath, __dirname_) : require_.resolve;
95
- (0, utils_js_1.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 = (0, utils_js_1.toPosixPath)(res(clientEntry.replace('@@vike/dist/esm/client/', '../../../client/').replace('.js', '.ts')));
94
+ if ((0, utils_js_1.isNpmPackageImport)(clientEntry)) {
95
+ filePath = res(clientEntry);
100
96
  }
101
- catch {
102
- // For users
103
- // [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/dist/esm/node/runtime/renderPage/getPageAssets.js
104
- filePath = (0, utils_js_1.toPosixPath)(res(clientEntry.replace('@@vike/dist/esm/client/', '../../../../../dist/esm/client/')));
97
+ else {
98
+ (0, utils_js_1.assert)(clientEntry.endsWith('.js'));
99
+ try {
100
+ // For Vitest (which doesn't resolve vike to its dist but to its source files)
101
+ // [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/node/runtime/renderPage/getPageAssets.js
102
+ filePath = (0, utils_js_1.toPosixPath)(res(clientEntry.replace('@@vike/dist/esm/client/', '../../../client/').replace('.js', '.ts')));
103
+ }
104
+ catch {
105
+ // For users
106
+ // [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/dist/esm/node/runtime/renderPage/getPageAssets.js
107
+ filePath = (0, utils_js_1.toPosixPath)(res(clientEntry.replace('@@vike/dist/esm/client/', '../../../../../dist/esm/client/')));
108
+ }
105
109
  }
106
110
  }
107
- else if ((0, utils_js_1.isNpmPackageImport)(clientEntry)) {
108
- const extensionPageFile = configVike.extensions
109
- .map(({ pageConfigsDistFiles }) => pageConfigsDistFiles)
110
- .flat()
111
- .filter(utils_js_1.isNotNullish)
112
- .find((e) => e.importPath === clientEntry);
113
- (0, utils_js_1.assert)(extensionPageFile, clientEntry);
114
- filePath = extensionPageFile.filePath;
115
- }
116
111
  else {
117
112
  (0, utils_js_1.assert)(false);
118
113
  }
@@ -124,8 +119,8 @@ async function resolveClientEntriesDev(clientEntry, viteDevServer, configVike) {
124
119
  (0, utils_js_1.assertPosixPath)(filePath);
125
120
  return filePath;
126
121
  }
127
- function resolveClientEntriesProd(clientEntry, clientManifest, manifestKeyMap) {
128
- const { manifestEntry } = (0, getManifestEntry_js_1.getManifestEntry)(clientEntry, clientManifest, manifestKeyMap);
122
+ function resolveClientEntriesProd(clientEntry, clientManifest) {
123
+ const { manifestEntry } = (0, getManifestEntry_js_1.getManifestEntry)(clientEntry, clientManifest);
129
124
  (0, utils_js_1.assert)(manifestEntry.isEntry || manifestEntry.isDynamicEntry || clientEntry.endsWith('.css'), { clientEntry });
130
125
  let { file } = manifestEntry;
131
126
  (0, utils_js_1.assert)(!file.startsWith('/'));
@@ -44,7 +44,7 @@ async function loadUserFilesServerSide(pageContext) {
44
44
  // TODO/v1-release: remove
45
45
  Object.assign(pageContextAddendum, {
46
46
  _getPageAssets: async () => {
47
- (0, utils_js_1.assertWarning)(false, 'pageContext._getPageAssets() deprecated, see https://vike.dev/preload', {
47
+ (0, utils_js_1.assertWarning)(false, 'pageContext._getPageAssets() deprecated, see https://vike.dev/preloading', {
48
48
  onlyOnce: true,
49
49
  showStackTrace: true
50
50
  });