vike 0.4.223 → 0.4.224

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 (161) hide show
  1. package/dist/cjs/node/api/build.js +4 -37
  2. package/dist/cjs/node/api/prepareViteApiCall.js +9 -3
  3. package/dist/cjs/node/plugin/index.js +8 -20
  4. package/dist/cjs/node/plugin/plugins/baseUrls.js +3 -1
  5. package/dist/cjs/node/plugin/plugins/{buildConfig/fixServerAssets.js → build/handleAssetsManifest.js} +130 -52
  6. package/dist/cjs/node/plugin/plugins/build/pluginAutoFullBuild.js +145 -0
  7. package/dist/cjs/node/plugin/plugins/build/pluginBuildApp.js +52 -0
  8. package/dist/cjs/node/plugin/plugins/{buildConfig.js → build/pluginBuildConfig.js} +22 -84
  9. package/dist/cjs/node/plugin/plugins/{buildEntry/index.js → build/pluginBuildEntry.js} +9 -9
  10. package/dist/cjs/node/plugin/plugins/{distFileNames.js → build/pluginDistFileNames.js} +7 -7
  11. package/dist/cjs/node/plugin/plugins/{packageJsonFile.js → build/pluginDistPackageJsonFile.js} +6 -6
  12. package/dist/cjs/node/plugin/plugins/{suppressRollupWarning.js → build/pluginSuppressRollupWarning.js} +3 -3
  13. package/dist/cjs/node/plugin/plugins/build.js +21 -0
  14. package/dist/cjs/node/plugin/plugins/commonConfig.js +22 -4
  15. package/dist/cjs/node/plugin/plugins/devConfig/determineFsAllowList.js +1 -1
  16. package/dist/cjs/node/plugin/plugins/devConfig/determineOptimizeDeps.js +5 -5
  17. package/dist/cjs/node/plugin/plugins/envVars.js +2 -2
  18. package/dist/cjs/node/plugin/plugins/extractAssetsPlugin.js +9 -9
  19. package/dist/cjs/node/plugin/plugins/extractExportNamesPlugin.js +2 -2
  20. package/dist/cjs/node/plugin/plugins/fileEnv.js +5 -2
  21. package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +3 -3
  22. package/dist/cjs/node/plugin/plugins/importUserCode/index.js +2 -5
  23. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/assertExtensions.js +5 -5
  24. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +7 -2
  25. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles/ignorePatternsBuiltIn.js +16 -0
  26. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +50 -64
  27. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js +2 -1
  28. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.js +3 -3
  29. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +19 -7
  30. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +277 -212
  31. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/virtual-files/getVirtualFilePageConfigValuesAll.js +4 -4
  32. package/dist/cjs/node/plugin/shared/findPageFiles.js +3 -3
  33. package/dist/cjs/node/plugin/shared/getOutDirs.js +8 -7
  34. package/dist/cjs/node/plugin/shared/isViteServerBuild.js +47 -0
  35. package/dist/cjs/node/plugin/shared/resolveClientEntriesDev.js +1 -1
  36. package/dist/cjs/node/plugin/utils.js +1 -0
  37. package/dist/cjs/node/prerender/context.js +3 -8
  38. package/dist/cjs/node/prerender/resolvePrerenderConfig.js +23 -21
  39. package/dist/cjs/node/prerender/runPrerender.js +28 -28
  40. package/dist/cjs/node/prerender/utils.js +1 -0
  41. package/dist/cjs/node/runtime/renderPage/logErrorHint.js +7 -1
  42. package/dist/cjs/shared/getPageContextUrlComputed.js +1 -1
  43. package/dist/cjs/shared/page-configs/getConfigValueBuildTime.js +2 -5
  44. package/dist/cjs/shared/page-configs/serialize/parsePageConfigs.js +3 -1
  45. package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +20 -9
  46. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  47. package/dist/cjs/utils/findFile.js +1 -1
  48. package/dist/cjs/utils/findPackageJson.js +1 -1
  49. package/dist/cjs/utils/isFilePathAbsoluteFilesystem.js +10 -4
  50. package/dist/cjs/utils/path.js +1 -0
  51. package/dist/cjs/utils/requireResolve.js +11 -4
  52. package/dist/cjs/utils/sorter.js +0 -3
  53. package/dist/esm/client/client-routing-runtime/index.d.ts +1 -0
  54. package/dist/esm/client/client-routing-runtime/index.js +1 -0
  55. package/dist/esm/client/client-routing-runtime/renderPageClientSide.d.ts +8 -0
  56. package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +10 -1
  57. package/dist/esm/node/api/build.js +4 -4
  58. package/dist/esm/node/api/prepareViteApiCall.js +9 -3
  59. package/dist/esm/node/plugin/index.d.ts +2 -1
  60. package/dist/esm/node/plugin/index.js +4 -17
  61. package/dist/esm/node/plugin/plugins/baseUrls.js +3 -1
  62. package/dist/esm/node/plugin/plugins/build/handleAssetsManifest.d.ts +18 -0
  63. package/dist/esm/node/plugin/plugins/{buildConfig/fixServerAssets.js → build/handleAssetsManifest.js} +131 -53
  64. package/dist/esm/node/plugin/plugins/build/pluginAutoFullBuild.d.ts +5 -0
  65. package/dist/esm/node/plugin/plugins/build/pluginAutoFullBuild.js +140 -0
  66. package/dist/esm/node/plugin/plugins/build/pluginBuildApp.d.ts +3 -0
  67. package/dist/esm/node/plugin/plugins/build/pluginBuildApp.js +50 -0
  68. package/dist/esm/node/plugin/plugins/{buildConfig.d.ts → build/pluginBuildConfig.d.ts} +3 -3
  69. package/dist/esm/node/plugin/plugins/{buildConfig.js → build/pluginBuildConfig.js} +22 -81
  70. package/dist/esm/node/plugin/plugins/build/pluginBuildEntry.d.ts +7 -0
  71. package/dist/esm/node/plugin/plugins/{buildEntry/index.js → build/pluginBuildEntry.js} +9 -9
  72. package/dist/esm/node/plugin/plugins/build/pluginDistFileNames.d.ts +3 -0
  73. package/dist/esm/node/plugin/plugins/{distFileNames.js → build/pluginDistFileNames.js} +7 -7
  74. package/dist/esm/node/plugin/plugins/build/pluginDistPackageJsonFile.d.ts +3 -0
  75. package/dist/esm/node/plugin/plugins/{packageJsonFile.js → build/pluginDistPackageJsonFile.js} +7 -6
  76. package/dist/esm/node/plugin/plugins/build/pluginSuppressRollupWarning.d.ts +3 -0
  77. package/dist/esm/node/plugin/plugins/{suppressRollupWarning.js → build/pluginSuppressRollupWarning.js} +3 -3
  78. package/dist/esm/node/plugin/plugins/build.d.ts +3 -0
  79. package/dist/esm/node/plugin/plugins/build.js +19 -0
  80. package/dist/esm/node/plugin/plugins/commonConfig.d.ts +15 -6
  81. package/dist/esm/node/plugin/plugins/commonConfig.js +22 -4
  82. package/dist/esm/node/plugin/plugins/devConfig/determineFsAllowList.js +1 -1
  83. package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.js +5 -5
  84. package/dist/esm/node/plugin/plugins/envVars.js +2 -2
  85. package/dist/esm/node/plugin/plugins/extractAssetsPlugin.js +10 -10
  86. package/dist/esm/node/plugin/plugins/extractExportNamesPlugin.js +2 -2
  87. package/dist/esm/node/plugin/plugins/fileEnv.js +5 -2
  88. package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +3 -3
  89. package/dist/esm/node/plugin/plugins/importUserCode/index.js +2 -5
  90. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/assertExtensions.js +5 -5
  91. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +7 -2
  92. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles/ignorePatternsBuiltIn.d.ts +1 -0
  93. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles/ignorePatternsBuiltIn.js +13 -0
  94. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.d.ts +1 -1
  95. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +50 -64
  96. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js +2 -1
  97. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.js +3 -3
  98. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.d.ts +0 -1
  99. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +20 -8
  100. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +8 -6
  101. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +279 -214
  102. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/virtual-files/getVirtualFilePageConfigValuesAll.js +4 -4
  103. package/dist/esm/node/plugin/shared/findPageFiles.js +3 -3
  104. package/dist/esm/node/plugin/shared/getHttpRequestAsyncStore.js +1 -3
  105. package/dist/esm/node/plugin/shared/getOutDirs.d.ts +2 -2
  106. package/dist/esm/node/plugin/shared/getOutDirs.js +8 -7
  107. package/dist/esm/node/plugin/shared/isViteServerBuild.d.ts +15 -0
  108. package/dist/esm/node/plugin/shared/isViteServerBuild.js +45 -0
  109. package/dist/esm/node/plugin/shared/resolveClientEntriesDev.js +1 -1
  110. package/dist/esm/node/plugin/utils.d.ts +1 -0
  111. package/dist/esm/node/plugin/utils.js +1 -0
  112. package/dist/esm/node/prerender/context.d.ts +0 -2
  113. package/dist/esm/node/prerender/context.js +4 -9
  114. package/dist/esm/node/prerender/resolvePrerenderConfig.d.ts +10 -6
  115. package/dist/esm/node/prerender/resolvePrerenderConfig.js +24 -22
  116. package/dist/esm/node/prerender/runPrerender.d.ts +7 -25
  117. package/dist/esm/node/prerender/runPrerender.js +29 -29
  118. package/dist/esm/node/prerender/utils.d.ts +1 -0
  119. package/dist/esm/node/prerender/utils.js +1 -0
  120. package/dist/esm/node/runtime/globalContext.d.ts +2 -1
  121. package/dist/esm/node/runtime/renderPage/logErrorHint.js +7 -1
  122. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +165 -5
  123. package/dist/esm/shared/getPageContextUrlComputed.js +1 -1
  124. package/dist/esm/shared/page-configs/Config.d.ts +12 -2
  125. package/dist/esm/shared/page-configs/PageConfig.d.ts +5 -5
  126. package/dist/esm/shared/page-configs/getConfigValueBuildTime.js +2 -5
  127. package/dist/esm/shared/page-configs/serialize/parsePageConfigs.js +3 -1
  128. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.d.ts +2 -0
  129. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +20 -9
  130. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  131. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  132. package/dist/esm/utils/findFile.js +1 -1
  133. package/dist/esm/utils/findPackageJson.js +1 -1
  134. package/dist/esm/utils/isFilePathAbsoluteFilesystem.js +8 -2
  135. package/dist/esm/utils/path.js +1 -0
  136. package/dist/esm/utils/projectInfo.d.ts +1 -1
  137. package/dist/esm/utils/requireResolve.js +11 -4
  138. package/dist/esm/utils/sorter.d.ts +18 -5
  139. package/dist/esm/utils/sorter.js +0 -3
  140. package/package.json +8 -16
  141. package/dist/cjs/node/plugin/plugins/autoFullBuild.js +0 -119
  142. package/dist/cjs/node/plugin/plugins/buildApp.js +0 -76
  143. package/dist/cjs/node/plugin/plugins/removeRequireHookPlugin.js +0 -17
  144. package/dist/cjs/node/plugin/shared/getFullBuildInlineConfig.js +0 -20
  145. package/dist/cjs/node/plugin/shared/viteIsSSR.js +0 -31
  146. package/dist/esm/node/plugin/plugins/autoFullBuild.d.ts +0 -3
  147. package/dist/esm/node/plugin/plugins/autoFullBuild.js +0 -114
  148. package/dist/esm/node/plugin/plugins/buildApp.d.ts +0 -3
  149. package/dist/esm/node/plugin/plugins/buildApp.js +0 -74
  150. package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.d.ts +0 -20
  151. package/dist/esm/node/plugin/plugins/buildEntry/index.d.ts +0 -8
  152. package/dist/esm/node/plugin/plugins/distFileNames.d.ts +0 -3
  153. package/dist/esm/node/plugin/plugins/packageJsonFile.d.ts +0 -3
  154. package/dist/esm/node/plugin/plugins/removeRequireHookPlugin.d.ts +0 -3
  155. package/dist/esm/node/plugin/plugins/removeRequireHookPlugin.js +0 -15
  156. package/dist/esm/node/plugin/plugins/suppressRollupWarning.d.ts +0 -3
  157. package/dist/esm/node/plugin/shared/getFullBuildInlineConfig.d.ts +0 -2
  158. package/dist/esm/node/plugin/shared/getFullBuildInlineConfig.js +0 -17
  159. package/dist/esm/node/plugin/shared/viteIsSSR.d.ts +0 -11
  160. package/dist/esm/node/plugin/shared/viteIsSSR.js +0 -29
  161. package/dist-cjs-fixup.mjs +0 -41
package/package.json CHANGED
@@ -1,11 +1,10 @@
1
1
  {
2
2
  "name": "vike",
3
- "version": "0.4.223",
3
+ "version": "0.4.224",
4
4
  "repository": "https://github.com/vikejs/vike",
5
5
  "exports": {
6
6
  "./server": {
7
7
  "worker": "./dist/esm/node/runtime/index.js",
8
- "edge-light": "./dist/esm/node/runtime/index.js",
9
8
  "require": "./dist/cjs/node/runtime/index.js",
10
9
  "node": "./dist/esm/node/runtime/index.js",
11
10
  "browser": "./dist/esm/client/node.js",
@@ -20,7 +19,6 @@
20
19
  },
21
20
  "./client/router": {
22
21
  "worker": "./dist/esm/node/client/router.js",
23
- "edge-light": "./dist/esm/node/client/router.js",
24
22
  "require": "./dist/cjs/node/client/router.js",
25
23
  "node": "./dist/esm/node/client/router.js",
26
24
  "browser": "./dist/esm/client/client-routing-runtime/index.js",
@@ -29,7 +27,6 @@
29
27
  },
30
28
  "./routing": {
31
29
  "worker": "./dist/esm/shared/route/routing.js",
32
- "edge-light": "./dist/esm/shared/route/routing.js",
33
30
  "require": "./dist/cjs/shared/route/routing.js",
34
31
  "node": "./dist/esm/shared/route/routing.js",
35
32
  "browser": "./dist/esm/shared/route/routing.js",
@@ -62,7 +59,6 @@
62
59
  },
63
60
  "./RenderErrorPage": {
64
61
  "worker": "./dist/esm/shared/RenderErrorPage.js",
65
- "edge-light": "./dist/esm/shared/RenderErrorPage.js",
66
62
  "require": "./dist/cjs/shared/RenderErrorPage.js",
67
63
  "node": "./dist/esm/shared/RenderErrorPage.js",
68
64
  "browser": "./dist/esm/shared/RenderErrorPage.js",
@@ -71,7 +67,6 @@
71
67
  },
72
68
  "./abort": {
73
69
  "worker": "./dist/esm/shared/abort.js",
74
- "edge-light": "./dist/esm/shared/abort.js",
75
70
  "require": "./dist/cjs/shared/abort.js",
76
71
  "node": "./dist/esm/shared/abort.js",
77
72
  "browser": "./dist/esm/shared/abort.js",
@@ -80,7 +75,6 @@
80
75
  },
81
76
  "./getPageContext": {
82
77
  "worker": "./dist/esm/shared/getPageContext.js",
83
- "edge-light": "./dist/esm/shared/getPageContext.js",
84
78
  "require": "./dist/cjs/shared/getPageContext.js",
85
79
  "node": "./dist/esm/shared/getPageContext.js",
86
80
  "browser": "./dist/esm/shared/getPageContext.js",
@@ -89,7 +83,6 @@
89
83
  },
90
84
  "./modifyUrl": {
91
85
  "worker": "./dist/esm/shared/modifyUrl.js",
92
- "edge-light": "./dist/esm/shared/modifyUrl.js",
93
86
  "require": "./dist/cjs/shared/modifyUrl.js",
94
87
  "node": "./dist/esm/shared/modifyUrl.js",
95
88
  "browser": "./dist/esm/shared/modifyUrl.js",
@@ -98,7 +91,6 @@
98
91
  },
99
92
  "./universal-middleware": {
100
93
  "worker": "./dist/esm/node/runtime/universal-middleware.js",
101
- "edge-light": "./dist/esm/node/runtime/universal-middleware.js",
102
94
  "require": "./dist/cjs/node/runtime/universal-middleware.js",
103
95
  "node": "./dist/esm/node/runtime/universal-middleware.js",
104
96
  "browser": "./dist/esm/client/node.js",
@@ -119,7 +111,6 @@
119
111
  },
120
112
  ".": {
121
113
  "worker": "./dist/esm/node/runtime/index-deprecated.js",
122
- "edge-light": "./dist/esm/node/runtime/index-deprecated.js",
123
114
  "require": "./dist/cjs/node/runtime/index-deprecated.js",
124
115
  "node": "./dist/esm/node/runtime/index-deprecated.js",
125
116
  "browser": "./dist/esm/client/node.js",
@@ -128,19 +119,20 @@
128
119
  }
129
120
  },
130
121
  "dependencies": {
131
- "@brillout/import": "^0.2.3",
122
+ "@brillout/import": "^0.2.6",
132
123
  "@brillout/json-serializer": "^0.5.15",
133
- "@brillout/picocolors": "^1.0.15",
124
+ "@brillout/picocolors": "^1.0.26",
134
125
  "@brillout/require-shim": "^0.1.2",
135
- "@brillout/vite-plugin-server-entry": "^0.6.0",
126
+ "@brillout/vite-plugin-server-entry": "^0.6.3",
136
127
  "acorn": "^8.0.0",
137
128
  "cac": "^6.0.0",
138
129
  "es-module-lexer": "^1.0.0",
139
130
  "esbuild": "^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0",
140
- "fast-glob": "^3.0.0",
141
131
  "json5": "^2.0.0",
132
+ "picomatch": "^4.0.2",
142
133
  "semver": "^7.0.0",
143
134
  "source-map-support": "^0.5.0",
135
+ "tinyglobby": "^0.2.10",
144
136
  "vite": ">=5.1.0"
145
137
  },
146
138
  "peerDependencies": {
@@ -237,7 +229,6 @@
237
229
  "./client.js",
238
230
  "./client/router.js",
239
231
  "./cli.js",
240
- "./dist-cjs-fixup.mjs",
241
232
  "./getPageContext.js",
242
233
  "./__internal.js",
243
234
  "./__internal/setup.js",
@@ -256,13 +247,14 @@
256
247
  "@types/estree": "^1.0.5",
257
248
  "@types/jest": "^29.5.11",
258
249
  "@types/node": "^20.10.5",
250
+ "@types/picomatch": "^3.0.2",
259
251
  "@types/resolve": "^1.20.6",
260
252
  "@types/semver": "^7.5.8",
261
253
  "@types/source-map-support": "^0.5.10",
262
254
  "react-streaming": "^0.3.47",
263
255
  "rimraf": "^5.0.5",
264
256
  "typescript": "^5.7.3",
265
- "vite": "^6.0.5"
257
+ "vite": "^6.2.0"
266
258
  },
267
259
  "scripts": {
268
260
  "dev": "tsc --watch",
@@ -1,119 +0,0 @@
1
- "use strict";
2
- // TODO/v1-release: remove this file
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.autoFullBuild = autoFullBuild;
8
- const getFullBuildInlineConfig_js_1 = require("../shared/getFullBuildInlineConfig.js");
9
- const vite_1 = require("vite");
10
- const utils_js_1 = require("../utils.js");
11
- const runPrerender_js_1 = require("../../prerender/runPrerender.js");
12
- const context_js_1 = require("../../prerender/context.js");
13
- const isViteCliCall_js_1 = require("../shared/isViteCliCall.js");
14
- const picocolors_1 = __importDefault(require("@brillout/picocolors"));
15
- const logErrorHint_js_1 = require("../../runtime/renderPage/logErrorHint.js");
16
- const buildConfig_js_1 = require("./buildConfig.js");
17
- const getVikeConfig_js_1 = require("./importUserCode/v1-design/getVikeConfig.js");
18
- const context_js_2 = require("../../api/context.js");
19
- let forceExit = false;
20
- function autoFullBuild() {
21
- let config;
22
- let vikeConfig;
23
- return [
24
- {
25
- name: 'vike:autoFullBuild',
26
- apply: 'build',
27
- enforce: 'pre',
28
- async configResolved(config_) {
29
- vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig)(config_);
30
- config = config_;
31
- abortViteBuildSsr(vikeConfig);
32
- },
33
- writeBundle: {
34
- /* We can't use this because it breaks Vite's logging. TODO: try again with latest Vite version.
35
- sequential: true,
36
- order: 'pre',
37
- */
38
- async handler(_options, bundle) {
39
- try {
40
- await triggerFullBuild(config, vikeConfig, bundle);
41
- }
42
- catch (err) {
43
- // Avoid Rollup prefixing the error with [vike:autoFullBuild], for example see https://github.com/vikejs/vike/issues/472#issuecomment-1276274203
44
- console.error(err);
45
- process.exit(1);
46
- }
47
- }
48
- }
49
- },
50
- {
51
- name: 'vike:autoFullBuild:forceExit',
52
- apply: 'build',
53
- enforce: 'post',
54
- closeBundle: {
55
- sequential: true,
56
- order: 'post',
57
- handler() {
58
- if (forceExit) {
59
- (0, runPrerender_js_1.runPrerender_forceExit)();
60
- (0, utils_js_1.assert)(false);
61
- }
62
- }
63
- }
64
- }
65
- ];
66
- }
67
- async function triggerFullBuild(config, vikeConfig, bundle) {
68
- if (config.build.ssr)
69
- return; // already triggered
70
- if (isDisabled(vikeConfig))
71
- return;
72
- // Workaround for @vitejs/plugin-legacy
73
- // - The legacy plugin triggers its own Rollup build for the client-side.
74
- // - The legacy plugin doesn't generate a manifest => we can use that to detect the legacy plugin build.
75
- // - Issue & reproduction: https://github.com/vikejs/vike/issues/1154#issuecomment-1965954636
76
- if (!bundle[buildConfig_js_1.manifestTempFile])
77
- return;
78
- const configInline = (0, getFullBuildInlineConfig_js_1.getFullBuildInlineConfig)(config);
79
- try {
80
- await (0, vite_1.build)(setSSR(configInline));
81
- }
82
- catch (err) {
83
- console.error(err);
84
- (0, logErrorHint_js_1.logErrorHint)(err);
85
- process.exit(1);
86
- }
87
- if ((0, context_js_1.isPrerenderAutoRunEnabled)(vikeConfig)) {
88
- const res = await (0, runPrerender_js_1.runPrerenderFromAutoRun)(configInline, config);
89
- forceExit = res.forceExit;
90
- }
91
- }
92
- function setSSR(configInline) {
93
- return {
94
- ...configInline,
95
- build: {
96
- ...configInline.build,
97
- ssr: true
98
- }
99
- };
100
- }
101
- function abortViteBuildSsr(vikeConfig) {
102
- if (vikeConfig.global.config.disableAutoFullBuild !== true && (0, isViteCliCall_js_1.isViteCliCall)() && (0, isViteCliCall_js_1.getViteConfigFromCli)()?.build.ssr) {
103
- (0, utils_js_1.assertWarning)(false, `The CLI call ${picocolors_1.default.cyan('$ vite build --ssr')} is superfluous since ${picocolors_1.default.cyan('$ vite build')} also builds the server-side. If you want two separate build steps then use https://vike.dev/disableAutoFullBuild or use Vite's ${picocolors_1.default.cyan('build()')} API.`, { onlyOnce: true });
104
- process.exit(0);
105
- }
106
- }
107
- function isDisabled(vikeConfig) {
108
- const { disableAutoFullBuild, viteEnvironmentAPI } = vikeConfig.global.config;
109
- if (viteEnvironmentAPI) {
110
- return true;
111
- }
112
- if (disableAutoFullBuild === undefined || disableAutoFullBuild === 'prerender') {
113
- const isViteApi = !(0, isViteCliCall_js_1.isViteCliCall)() && !(0, context_js_2.isVikeCliOrApi)();
114
- return isViteApi;
115
- }
116
- else {
117
- return disableAutoFullBuild;
118
- }
119
- }
@@ -1,76 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildApp = buildApp;
4
- const runPrerender_js_1 = require("../../prerender/runPrerender.js");
5
- const context_js_1 = require("../../prerender/context.js");
6
- const getOutDirs_js_1 = require("../shared/getOutDirs.js");
7
- const utils_js_1 = require("../utils.js");
8
- const getVikeConfig_js_1 = require("./importUserCode/v1-design/getVikeConfig.js");
9
- const getFullBuildInlineConfig_js_1 = require("../shared/getFullBuildInlineConfig.js");
10
- function buildApp() {
11
- let config;
12
- // `builder.buildApp` can be overriden by another plugin e.g vike-vercel https://github.com/vikejs/vike/pull/2184#issuecomment-2659425195
13
- // In that case, we should'nt `forceExit`.
14
- let forceExit = false;
15
- return [
16
- {
17
- name: 'vike:buildApp',
18
- apply: 'build',
19
- config(config) {
20
- if (!config.vike.config.viteEnvironmentAPI)
21
- return;
22
- return {
23
- builder: {
24
- buildApp: async (builder) => {
25
- (0, utils_js_1.assert)(builder.environments.client);
26
- (0, utils_js_1.assert)(builder.environments.ssr);
27
- await builder.build(builder.environments.client);
28
- await builder.build(builder.environments.ssr);
29
- if (forceExit) {
30
- (0, runPrerender_js_1.runPrerender_forceExit)();
31
- (0, utils_js_1.assert)(false);
32
- }
33
- }
34
- },
35
- environments: {
36
- ssr: {
37
- consumer: 'server',
38
- build: {
39
- outDir: (0, getOutDirs_js_1.resolveOutDir)(config, true),
40
- ssr: true
41
- }
42
- },
43
- client: {
44
- consumer: 'client',
45
- build: {
46
- copyPublicDir: true,
47
- ssr: false
48
- }
49
- }
50
- }
51
- };
52
- }
53
- },
54
- {
55
- name: 'vike:buildApp:prerender',
56
- apply: 'build',
57
- enforce: 'pre',
58
- applyToEnvironment(env) {
59
- return env.name === 'ssr';
60
- },
61
- configResolved(_config) {
62
- config = _config;
63
- },
64
- async writeBundle() {
65
- if (!config.vike.config.viteEnvironmentAPI)
66
- return;
67
- const vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig)(config);
68
- if (!(0, context_js_1.isPrerenderAutoRunEnabled)(vikeConfig))
69
- return;
70
- const configInline = (0, getFullBuildInlineConfig_js_1.getFullBuildInlineConfig)(config);
71
- const res = await (0, runPrerender_js_1.runPrerenderFromAutoRun)(configInline, config);
72
- forceExit = res.forceExit;
73
- }
74
- }
75
- ];
76
- }
@@ -1,17 +0,0 @@
1
- "use strict";
2
- // We remove: https://github.com/vitejs/vite/blob/dd79858ab70d2591e1239ddb19e1ce38d9913b4c/packages/vite/src/node/plugins/ssrRequireHook.ts
3
- // Because it injects `require('module')` into the build which chokes bundlers, such as Cloudflare Workers's webpack-based bundler.
4
- // The minimal added value of deduping React is not worth the trouble; we simply remove Vite's deduping functionality for production.
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.removeRequireHookPlugin = removeRequireHookPlugin;
7
- function removeRequireHookPlugin() {
8
- return {
9
- name: 'vike:removeRequireHookPlugin',
10
- apply: 'build',
11
- configResolved(config) {
12
- const pluginsMod = config.plugins.filter((plugin) => plugin.name !== 'vite:ssr-require-hook');
13
- // @ts-ignore
14
- config.plugins = pluginsMod;
15
- }
16
- };
17
- }
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFullBuildInlineConfig = getFullBuildInlineConfig;
4
- const isViteCliCall_js_1 = require("./isViteCliCall.js");
5
- function getFullBuildInlineConfig(config) {
6
- const configFromCli = !(0, isViteCliCall_js_1.isViteCliCall)() ? null : (0, isViteCliCall_js_1.getViteConfigFromCli)();
7
- if (config._viteConfigEnhanced) {
8
- return config._viteConfigEnhanced;
9
- }
10
- else {
11
- return {
12
- ...configFromCli,
13
- configFile: configFromCli?.configFile || config.configFile,
14
- root: config.root,
15
- build: {
16
- ...configFromCli?.build
17
- }
18
- };
19
- }
20
- }
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.viteIsSSR = viteIsSSR;
4
- exports.viteIsSSR_options = viteIsSSR_options;
5
- exports.viteIsSSR_safe = viteIsSSR_safe;
6
- const assert_js_1 = require("../../../utils/assert.js");
7
- function viteIsSSR(config) {
8
- return !!config?.build?.ssr;
9
- }
10
- function viteIsSSR_options(options) {
11
- return !!options?.ssr;
12
- }
13
- // Vite is quite messy about setting `ssr: boolean`, thus we use an extra safe implemention for security purposes.
14
- // It's used for .client.js and .server.js guarantee thus we use agressive assert() calls for added safety.
15
- function viteIsSSR_safe(config, options) {
16
- if (config.command === 'build') {
17
- (0, assert_js_1.assert)(typeof config.build.ssr === 'boolean');
18
- const val = config.build.ssr;
19
- if (options?.ssr !== undefined)
20
- (0, assert_js_1.assert)(val === options.ssr);
21
- return val;
22
- }
23
- else {
24
- (0, assert_js_1.assert)(typeof options?.ssr === 'boolean');
25
- const val = options.ssr;
26
- /* This assert() fails (which is very unexpected).
27
- if (typeof config.build.ssr === 'boolean') assert(val === config.build.ssr)
28
- //*/
29
- return val;
30
- }
31
- }
@@ -1,3 +0,0 @@
1
- export { autoFullBuild };
2
- import type { Plugin } from 'vite';
3
- declare function autoFullBuild(): Plugin[];
@@ -1,114 +0,0 @@
1
- // TODO/v1-release: remove this file
2
- import { getFullBuildInlineConfig } from '../shared/getFullBuildInlineConfig.js';
3
- export { autoFullBuild };
4
- import { build } from 'vite';
5
- import { assert, assertWarning } from '../utils.js';
6
- import { runPrerenderFromAutoRun, runPrerender_forceExit } from '../../prerender/runPrerender.js';
7
- import { isPrerenderAutoRunEnabled } from '../../prerender/context.js';
8
- import { isViteCliCall, getViteConfigFromCli } from '../shared/isViteCliCall.js';
9
- import pc from '@brillout/picocolors';
10
- import { logErrorHint } from '../../runtime/renderPage/logErrorHint.js';
11
- import { manifestTempFile } from './buildConfig.js';
12
- import { getVikeConfig } from './importUserCode/v1-design/getVikeConfig.js';
13
- import { isVikeCliOrApi } from '../../api/context.js';
14
- let forceExit = false;
15
- function autoFullBuild() {
16
- let config;
17
- let vikeConfig;
18
- return [
19
- {
20
- name: 'vike:autoFullBuild',
21
- apply: 'build',
22
- enforce: 'pre',
23
- async configResolved(config_) {
24
- vikeConfig = await getVikeConfig(config_);
25
- config = config_;
26
- abortViteBuildSsr(vikeConfig);
27
- },
28
- writeBundle: {
29
- /* We can't use this because it breaks Vite's logging. TODO: try again with latest Vite version.
30
- sequential: true,
31
- order: 'pre',
32
- */
33
- async handler(_options, bundle) {
34
- try {
35
- await triggerFullBuild(config, vikeConfig, bundle);
36
- }
37
- catch (err) {
38
- // Avoid Rollup prefixing the error with [vike:autoFullBuild], for example see https://github.com/vikejs/vike/issues/472#issuecomment-1276274203
39
- console.error(err);
40
- process.exit(1);
41
- }
42
- }
43
- }
44
- },
45
- {
46
- name: 'vike:autoFullBuild:forceExit',
47
- apply: 'build',
48
- enforce: 'post',
49
- closeBundle: {
50
- sequential: true,
51
- order: 'post',
52
- handler() {
53
- if (forceExit) {
54
- runPrerender_forceExit();
55
- assert(false);
56
- }
57
- }
58
- }
59
- }
60
- ];
61
- }
62
- async function triggerFullBuild(config, vikeConfig, bundle) {
63
- if (config.build.ssr)
64
- return; // already triggered
65
- if (isDisabled(vikeConfig))
66
- return;
67
- // Workaround for @vitejs/plugin-legacy
68
- // - The legacy plugin triggers its own Rollup build for the client-side.
69
- // - The legacy plugin doesn't generate a manifest => we can use that to detect the legacy plugin build.
70
- // - Issue & reproduction: https://github.com/vikejs/vike/issues/1154#issuecomment-1965954636
71
- if (!bundle[manifestTempFile])
72
- return;
73
- const configInline = getFullBuildInlineConfig(config);
74
- try {
75
- await build(setSSR(configInline));
76
- }
77
- catch (err) {
78
- console.error(err);
79
- logErrorHint(err);
80
- process.exit(1);
81
- }
82
- if (isPrerenderAutoRunEnabled(vikeConfig)) {
83
- const res = await runPrerenderFromAutoRun(configInline, config);
84
- forceExit = res.forceExit;
85
- }
86
- }
87
- function setSSR(configInline) {
88
- return {
89
- ...configInline,
90
- build: {
91
- ...configInline.build,
92
- ssr: true
93
- }
94
- };
95
- }
96
- function abortViteBuildSsr(vikeConfig) {
97
- if (vikeConfig.global.config.disableAutoFullBuild !== true && isViteCliCall() && getViteConfigFromCli()?.build.ssr) {
98
- assertWarning(false, `The CLI call ${pc.cyan('$ vite build --ssr')} is superfluous since ${pc.cyan('$ vite build')} also builds the server-side. If you want two separate build steps then use https://vike.dev/disableAutoFullBuild or use Vite's ${pc.cyan('build()')} API.`, { onlyOnce: true });
99
- process.exit(0);
100
- }
101
- }
102
- function isDisabled(vikeConfig) {
103
- const { disableAutoFullBuild, viteEnvironmentAPI } = vikeConfig.global.config;
104
- if (viteEnvironmentAPI) {
105
- return true;
106
- }
107
- if (disableAutoFullBuild === undefined || disableAutoFullBuild === 'prerender') {
108
- const isViteApi = !isViteCliCall() && !isVikeCliOrApi();
109
- return isViteApi;
110
- }
111
- else {
112
- return disableAutoFullBuild;
113
- }
114
- }
@@ -1,3 +0,0 @@
1
- export { buildApp };
2
- import type { Plugin } from 'vite';
3
- declare function buildApp(): Plugin[];
@@ -1,74 +0,0 @@
1
- import { runPrerender_forceExit, runPrerenderFromAutoRun } from '../../prerender/runPrerender.js';
2
- export { buildApp };
3
- import { isPrerenderAutoRunEnabled } from '../../prerender/context.js';
4
- import { resolveOutDir } from '../shared/getOutDirs.js';
5
- import { assert } from '../utils.js';
6
- import { getVikeConfig } from './importUserCode/v1-design/getVikeConfig.js';
7
- import { getFullBuildInlineConfig } from '../shared/getFullBuildInlineConfig.js';
8
- function buildApp() {
9
- let config;
10
- // `builder.buildApp` can be overriden by another plugin e.g vike-vercel https://github.com/vikejs/vike/pull/2184#issuecomment-2659425195
11
- // In that case, we should'nt `forceExit`.
12
- let forceExit = false;
13
- return [
14
- {
15
- name: 'vike:buildApp',
16
- apply: 'build',
17
- config(config) {
18
- if (!config.vike.config.viteEnvironmentAPI)
19
- return;
20
- return {
21
- builder: {
22
- buildApp: async (builder) => {
23
- assert(builder.environments.client);
24
- assert(builder.environments.ssr);
25
- await builder.build(builder.environments.client);
26
- await builder.build(builder.environments.ssr);
27
- if (forceExit) {
28
- runPrerender_forceExit();
29
- assert(false);
30
- }
31
- }
32
- },
33
- environments: {
34
- ssr: {
35
- consumer: 'server',
36
- build: {
37
- outDir: resolveOutDir(config, true),
38
- ssr: true
39
- }
40
- },
41
- client: {
42
- consumer: 'client',
43
- build: {
44
- copyPublicDir: true,
45
- ssr: false
46
- }
47
- }
48
- }
49
- };
50
- }
51
- },
52
- {
53
- name: 'vike:buildApp:prerender',
54
- apply: 'build',
55
- enforce: 'pre',
56
- applyToEnvironment(env) {
57
- return env.name === 'ssr';
58
- },
59
- configResolved(_config) {
60
- config = _config;
61
- },
62
- async writeBundle() {
63
- if (!config.vike.config.viteEnvironmentAPI)
64
- return;
65
- const vikeConfig = await getVikeConfig(config);
66
- if (!isPrerenderAutoRunEnabled(vikeConfig))
67
- return;
68
- const configInline = getFullBuildInlineConfig(config);
69
- const res = await runPrerenderFromAutoRun(configInline, config);
70
- forceExit = res.forceExit;
71
- }
72
- }
73
- ];
74
- }
@@ -1,20 +0,0 @@
1
- export { fixServerAssets };
2
- export { fixServerAssets_isEnabled };
3
- export { fixServerAssets_assertCssCodeSplit };
4
- export { fixServerAssets_assertCssTarget };
5
- import { ViteManifest } from '../../../shared/ViteManifest.js';
6
- import { ResolvedConfig } from 'vite';
7
- /**
8
- * true => use workaround config.build.ssrEmitAssets
9
- * false => use workaround extractAssets plugin
10
- *
11
- * Only used by V1 design.
12
- */
13
- declare function fixServerAssets_isEnabled(): boolean;
14
- /** https://github.com/vikejs/vike/issues/1339 */
15
- declare function fixServerAssets(config: ResolvedConfig): Promise<{
16
- clientManifestMod: ViteManifest;
17
- serverManifestMod: ViteManifest;
18
- }>;
19
- declare function fixServerAssets_assertCssCodeSplit(config: ResolvedConfig): void;
20
- declare function fixServerAssets_assertCssTarget(config: ResolvedConfig): Promise<void>;
@@ -1,8 +0,0 @@
1
- export { buildEntry };
2
- export { set_ASSETS_MANIFEST };
3
- import type { Plugin, Rollup } from 'vite';
4
- type Bundle = Rollup.OutputBundle;
5
- type Options = Rollup.NormalizedOutputOptions;
6
- declare function buildEntry(): Plugin[];
7
- /** Set the value of the ASSETS_MANIFEST constant inside dist/server/entry.js (or dist/server/index.js) */
8
- declare function set_ASSETS_MANIFEST(options: Options, bundle: Bundle): Promise<void>;
@@ -1,3 +0,0 @@
1
- export { distFileNames };
2
- import type { Plugin } from 'vite';
3
- declare function distFileNames(): Plugin;
@@ -1,3 +0,0 @@
1
- export { packageJsonFile };
2
- import type { Plugin } from 'vite';
3
- declare function packageJsonFile(): Plugin;
@@ -1,3 +0,0 @@
1
- import type { Plugin } from 'vite';
2
- export { removeRequireHookPlugin };
3
- declare function removeRequireHookPlugin(): Plugin;
@@ -1,15 +0,0 @@
1
- // We remove: https://github.com/vitejs/vite/blob/dd79858ab70d2591e1239ddb19e1ce38d9913b4c/packages/vite/src/node/plugins/ssrRequireHook.ts
2
- // Because it injects `require('module')` into the build which chokes bundlers, such as Cloudflare Workers's webpack-based bundler.
3
- // The minimal added value of deduping React is not worth the trouble; we simply remove Vite's deduping functionality for production.
4
- export { removeRequireHookPlugin };
5
- function removeRequireHookPlugin() {
6
- return {
7
- name: 'vike:removeRequireHookPlugin',
8
- apply: 'build',
9
- configResolved(config) {
10
- const pluginsMod = config.plugins.filter((plugin) => plugin.name !== 'vite:ssr-require-hook');
11
- // @ts-ignore
12
- config.plugins = pluginsMod;
13
- }
14
- };
15
- }
@@ -1,3 +0,0 @@
1
- export { suppressRollupWarning };
2
- import type { Plugin } from 'vite';
3
- declare function suppressRollupWarning(): Plugin;
@@ -1,2 +0,0 @@
1
- import type { InlineConfig, ResolvedConfig } from 'vite';
2
- export declare function getFullBuildInlineConfig(config: ResolvedConfig): InlineConfig;