vike 0.4.223-commit-586dbfb → 0.4.223-commit-62ca594

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 (67) hide show
  1. package/dist/cjs/node/api/build.js +3 -36
  2. package/dist/cjs/node/plugin/index.js +3 -17
  3. package/dist/cjs/node/plugin/plugins/{buildConfig → build/pluginAssetsManifest}/fixServerAssets.js +29 -22
  4. package/dist/cjs/node/plugin/plugins/build/pluginAssetsManifest.js +115 -0
  5. package/dist/cjs/node/plugin/plugins/{autoFullBuild.js → build/pluginAutoFullBuild.js} +15 -16
  6. package/dist/cjs/node/plugin/plugins/{buildApp.js → build/pluginBuildApp.js} +12 -12
  7. package/dist/cjs/node/plugin/plugins/{buildConfig.js → build/pluginBuildConfig.js} +18 -82
  8. package/dist/cjs/node/plugin/plugins/{buildEntry/index.js → build/pluginBuildEntry.js} +8 -8
  9. package/dist/cjs/node/plugin/plugins/{distFileNames.js → build/pluginDistFileNames.js} +6 -6
  10. package/dist/cjs/node/plugin/plugins/{packageJsonFile.js → build/pluginDistPackageJsonFile.js} +5 -5
  11. package/dist/cjs/node/plugin/plugins/{suppressRollupWarning.js → build/pluginSuppressRollupWarning.js} +3 -3
  12. package/dist/cjs/node/plugin/plugins/build.js +23 -0
  13. package/dist/cjs/node/plugin/plugins/commonConfig.js +2 -2
  14. package/dist/cjs/node/plugin/plugins/devConfig/determineFsAllowList.js +1 -1
  15. package/dist/cjs/node/plugin/plugins/devConfig/determineOptimizeDeps.js +2 -2
  16. package/dist/cjs/node/plugin/plugins/extractAssetsPlugin.js +1 -1
  17. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +1 -1
  18. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/virtual-files/getVirtualFilePageConfigValuesAll.js +1 -1
  19. package/dist/cjs/node/plugin/shared/resolveClientEntriesDev.js +1 -1
  20. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  21. package/dist/cjs/utils/findPackageJson.js +1 -1
  22. package/dist/cjs/utils/requireResolve.js +1 -1
  23. package/dist/esm/node/api/build.js +3 -3
  24. package/dist/esm/node/plugin/index.js +3 -17
  25. package/dist/esm/node/plugin/plugins/{buildConfig → build/pluginAssetsManifest}/fixServerAssets.d.ts +7 -5
  26. package/dist/esm/node/plugin/plugins/{buildConfig → build/pluginAssetsManifest}/fixServerAssets.js +29 -22
  27. package/dist/esm/node/plugin/plugins/build/pluginAssetsManifest.d.ts +3 -0
  28. package/dist/esm/node/plugin/plugins/build/pluginAssetsManifest.js +110 -0
  29. package/dist/esm/node/plugin/plugins/build/pluginAutoFullBuild.d.ts +3 -0
  30. package/dist/esm/node/plugin/plugins/{autoFullBuild.js → build/pluginAutoFullBuild.js} +14 -15
  31. package/dist/esm/node/plugin/plugins/build/pluginBuildApp.d.ts +3 -0
  32. package/dist/esm/node/plugin/plugins/{buildApp.js → build/pluginBuildApp.js} +12 -12
  33. package/dist/esm/node/plugin/plugins/{buildConfig.d.ts → build/pluginBuildConfig.d.ts} +3 -3
  34. package/dist/esm/node/plugin/plugins/{buildConfig.js → build/pluginBuildConfig.js} +18 -79
  35. package/dist/esm/node/plugin/plugins/build/pluginBuildEntry.d.ts +8 -0
  36. package/dist/esm/node/plugin/plugins/{buildEntry/index.js → build/pluginBuildEntry.js} +8 -8
  37. package/dist/esm/node/plugin/plugins/build/pluginDistFileNames.d.ts +3 -0
  38. package/dist/esm/node/plugin/plugins/{distFileNames.js → build/pluginDistFileNames.js} +6 -6
  39. package/dist/esm/node/plugin/plugins/build/pluginDistPackageJsonFile.d.ts +3 -0
  40. package/dist/esm/node/plugin/plugins/{packageJsonFile.js → build/pluginDistPackageJsonFile.js} +6 -5
  41. package/dist/esm/node/plugin/plugins/build/pluginSuppressRollupWarning.d.ts +3 -0
  42. package/dist/esm/node/plugin/plugins/{suppressRollupWarning.js → build/pluginSuppressRollupWarning.js} +3 -3
  43. package/dist/esm/node/plugin/plugins/build.d.ts +3 -0
  44. package/dist/esm/node/plugin/plugins/build.js +21 -0
  45. package/dist/esm/node/plugin/plugins/commonConfig.js +1 -1
  46. package/dist/esm/node/plugin/plugins/devConfig/determineFsAllowList.js +1 -1
  47. package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.js +1 -1
  48. package/dist/esm/node/plugin/plugins/extractAssetsPlugin.js +1 -1
  49. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +1 -1
  50. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/virtual-files/getVirtualFilePageConfigValuesAll.js +1 -1
  51. package/dist/esm/node/plugin/shared/getHttpRequestAsyncStore.js +1 -3
  52. package/dist/esm/node/plugin/shared/resolveClientEntriesDev.js +1 -1
  53. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  54. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  55. package/dist/esm/utils/findPackageJson.js +1 -1
  56. package/dist/esm/utils/projectInfo.d.ts +1 -1
  57. package/dist/esm/utils/requireResolve.js +1 -1
  58. package/package.json +4 -13
  59. package/dist/cjs/node/plugin/plugins/removeRequireHookPlugin.js +0 -17
  60. package/dist/esm/node/plugin/plugins/autoFullBuild.d.ts +0 -3
  61. package/dist/esm/node/plugin/plugins/buildApp.d.ts +0 -3
  62. package/dist/esm/node/plugin/plugins/buildEntry/index.d.ts +0 -8
  63. package/dist/esm/node/plugin/plugins/distFileNames.d.ts +0 -3
  64. package/dist/esm/node/plugin/plugins/packageJsonFile.d.ts +0 -3
  65. package/dist/esm/node/plugin/plugins/removeRequireHookPlugin.d.ts +0 -3
  66. package/dist/esm/node/plugin/plugins/removeRequireHookPlugin.js +0 -15
  67. package/dist/esm/node/plugin/plugins/suppressRollupWarning.d.ts +0 -3
@@ -3,26 +3,27 @@ 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.buildEntry = buildEntry;
7
- exports.set_ASSETS_MANIFEST = set_ASSETS_MANIFEST;
6
+ exports.pluginBuildEntry = pluginBuildEntry;
7
+ exports.set_macro_ASSETS_MANIFEST = set_macro_ASSETS_MANIFEST;
8
8
  const plugin_1 = require("@brillout/vite-plugin-server-entry/plugin");
9
9
  const virtualFileImportUserCode_js_1 = require("../../../shared/virtual-files/virtualFileImportUserCode.js");
10
10
  const utils_js_1 = require("../../utils.js");
11
11
  const promises_1 = __importDefault(require("fs/promises"));
12
12
  const path_1 = __importDefault(require("path"));
13
13
  const module_1 = require("module");
14
- // @ts-ignore Shimmed by dist-cjs-fixup.js for CJS build.
14
+ // @ts-ignore `file://${__filename}` is shimmed at dist/cjs by dist-cjs-fixup.js.
15
15
  const importMetaUrl = `file://${__filename}`;
16
16
  const require_ = (0, module_1.createRequire)(importMetaUrl);
17
17
  const extractExportNamesPlugin_js_1 = require("../extractExportNamesPlugin.js");
18
18
  const globalContext_js_1 = require("../../../runtime/globalContext.js");
19
19
  const getOutDirs_js_1 = require("../../shared/getOutDirs.js");
20
20
  const ASSETS_MANIFEST = '__VITE_ASSETS_MANIFEST__';
21
- function buildEntry() {
21
+ function pluginBuildEntry() {
22
22
  let config;
23
23
  return [
24
24
  {
25
- name: 'vike:buildEntry',
25
+ name: 'vike:build:pluginBuildEntry',
26
+ apply: 'build',
26
27
  enforce: 'post',
27
28
  async configResolved(config_) {
28
29
  config = config_;
@@ -64,12 +65,11 @@ function getServerProductionEntryCode(config) {
64
65
  return importerCode;
65
66
  }
66
67
  /** Set the value of the ASSETS_MANIFEST constant inside dist/server/entry.js (or dist/server/index.js) */
67
- async function set_ASSETS_MANIFEST(options, bundle) {
68
+ async function set_macro_ASSETS_MANIFEST(options, bundle, assetsJsonFilePath) {
68
69
  const { dir } = options;
69
70
  (0, utils_js_1.assert)(dir);
70
71
  const chunkPath = find_ASSETS_MANIFEST(bundle);
71
72
  const chunkFilePath = path_1.default.join(dir, chunkPath);
72
- const assetsJsonFilePath = path_1.default.join(dir, '..', 'assets.json');
73
73
  const [assetsJsonString, chunkFileContent] = await Promise.all([
74
74
  await promises_1.default.readFile(assetsJsonFilePath, 'utf8'),
75
75
  await promises_1.default.readFile(chunkFilePath, 'utf8')
@@ -93,7 +93,7 @@ function find_ASSETS_MANIFEST(bundle) {
93
93
  function getImportPath(config) {
94
94
  // We resolve filePathAbsolute even if we don't use it: we use require.resolve() as an assertion that the relative path is correct
95
95
  const filePathAbsolute = (0, utils_js_1.toPosixPath)(
96
- // [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/dist/esm/node/plugin/plugins/buildEntry/index.js
96
+ // [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/dist/esm/node/plugin/plugins/pluginBuildEntry/index.js
97
97
  require_.resolve(`../../../../../../dist/esm/__internal/index.js`));
98
98
  if (
99
99
  // Let's implement a new config if a user needs the import to be a relative path instead of 'vike/__internal' (AFAIK a relative path is needed only if a framework has npm package 'vike' as direct dependency instead of a peer dependency and if the user of that framework uses pnpm)
@@ -3,18 +3,18 @@ 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.distFileNames = distFileNames;
6
+ exports.pluginDistFileNames = pluginDistFileNames;
7
7
  // Attempt to preserve file structure of `.page.js` files:
8
8
  // - https://github.com/vikejs/vike/commit/11a4c49e5403aa7c37c8020c462b499425b41854
9
9
  // - Blocker: https://github.com/rollup/rollup/issues/4724
10
- const utils_js_1 = require("../utils.js");
10
+ const utils_js_1 = require("../../utils.js");
11
11
  const path_1 = __importDefault(require("path"));
12
12
  const crypto_1 = __importDefault(require("crypto"));
13
- const getAssetsDir_js_1 = require("../shared/getAssetsDir.js");
14
- const getFilePath_js_1 = require("../shared/getFilePath.js");
15
- function distFileNames() {
13
+ const getAssetsDir_js_1 = require("../../shared/getAssetsDir.js");
14
+ const getFilePath_js_1 = require("../../shared/getFilePath.js");
15
+ function pluginDistFileNames() {
16
16
  return {
17
- name: 'vike:distFileNames',
17
+ name: 'vike:build:pluginDistFileNames',
18
18
  apply: 'build',
19
19
  enforce: 'post',
20
20
  configResolved(config) {
@@ -8,13 +8,13 @@
8
8
  * Reproduction: https://github.com/brillout/vite-plugin-ssr-server-import-syntax
9
9
  */
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.packageJsonFile = packageJsonFile;
12
- const rollupIsEsm_js_1 = require("../shared/rollupIsEsm.js");
13
- const viteIsSSR_js_1 = require("../shared/viteIsSSR.js");
14
- function packageJsonFile() {
11
+ exports.pluginDistPackageJsonFile = pluginDistPackageJsonFile;
12
+ const rollupIsEsm_js_1 = require("../../shared/rollupIsEsm.js");
13
+ const viteIsSSR_js_1 = require("../../shared/viteIsSSR.js");
14
+ function pluginDistPackageJsonFile() {
15
15
  let config;
16
16
  return {
17
- name: 'vike:packageJsonFile',
17
+ name: 'vike:build:pluginDistPackageJsonFile',
18
18
  apply: 'build',
19
19
  configResolved(config_) {
20
20
  config = config_;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  // Suppress Rollup warnings `Generated an empty chunk: "index.page.server"`
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.suppressRollupWarning = suppressRollupWarning;
5
- function suppressRollupWarning() {
4
+ exports.pluginSuppressRollupWarning = pluginSuppressRollupWarning;
5
+ function pluginSuppressRollupWarning() {
6
6
  return {
7
- name: 'vike:suppressRollupWarning',
7
+ name: 'vike:build:pluginSuppressRollupWarning',
8
8
  apply: 'build',
9
9
  enforce: 'post',
10
10
  async configResolved(config) {
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.build = build;
4
+ const pluginAssetsManifest_js_1 = require("./build/pluginAssetsManifest.js");
5
+ const pluginBuildApp_js_1 = require("./build/pluginBuildApp.js");
6
+ const pluginDistPackageJsonFile_js_1 = require("./build/pluginDistPackageJsonFile.js");
7
+ const pluginSuppressRollupWarning_js_1 = require("./build/pluginSuppressRollupWarning.js");
8
+ const pluginDistFileNames_js_1 = require("./build/pluginDistFileNames.js");
9
+ const pluginAutoFullBuild_js_1 = require("./build/pluginAutoFullBuild.js");
10
+ const pluginBuildEntry_js_1 = require("./build/pluginBuildEntry.js");
11
+ const pluginBuildConfig_js_1 = require("./build/pluginBuildConfig.js");
12
+ function build() {
13
+ return [
14
+ ...(0, pluginAssetsManifest_js_1.pluginAssetsManifest)(),
15
+ ...(0, pluginBuildConfig_js_1.pluginBuildConfig)(),
16
+ ...(0, pluginBuildApp_js_1.pluginBuildApp)(),
17
+ ...(0, pluginAutoFullBuild_js_1.pluginAutoFullBuild)(),
18
+ ...(0, pluginBuildEntry_js_1.pluginBuildEntry)(),
19
+ (0, pluginDistPackageJsonFile_js_1.pluginDistPackageJsonFile)(),
20
+ (0, pluginSuppressRollupWarning_js_1.pluginSuppressRollupWarning)(),
21
+ (0, pluginDistFileNames_js_1.pluginDistFileNames)()
22
+ ];
23
+ }
@@ -7,7 +7,7 @@ exports.commonConfig = commonConfig;
7
7
  exports.getVikeConfigPublic = getVikeConfigPublic;
8
8
  const vite_1 = require("vite");
9
9
  const utils_js_1 = require("../utils.js");
10
- const buildConfig_js_1 = require("./buildConfig.js");
10
+ const pluginBuildConfig_js_1 = require("./build/pluginBuildConfig.js");
11
11
  const require_shim_1 = require("@brillout/require-shim");
12
12
  const picocolors_1 = __importDefault(require("@brillout/picocolors"));
13
13
  const path_1 = __importDefault(require("path"));
@@ -66,7 +66,7 @@ function commonConfig(vikeVitePluginOptions) {
66
66
  overrideViteDefaultSsrExternal(config)
67
67
  //*/
68
68
  workaroundCI(config);
69
- (0, buildConfig_js_1.assertRollupInput)(config);
69
+ (0, pluginBuildConfig_js_1.assertRollupInput)(config);
70
70
  (0, assertResolveAlias_js_1.assertResolveAlias)(config);
71
71
  assertEsm(config.root);
72
72
  assertVikeCliOrApi(config);
@@ -10,7 +10,7 @@ const utils_js_1 = require("../../utils.js");
10
10
  const module_1 = require("module");
11
11
  const path_2 = require("path");
12
12
  const url_1 = require("url");
13
- // @ts-ignore Shimmed by dist-cjs-fixup.js for CJS build.
13
+ // @ts-ignore `file://${__filename}` is shimmed at dist/cjs by dist-cjs-fixup.js.
14
14
  const importMetaUrl = `file://${__filename}`;
15
15
  const require_ = (0, module_1.createRequire)(importMetaUrl);
16
16
  const __dirname_ = (0, path_2.dirname)((0, url_1.fileURLToPath)(importMetaUrl));
@@ -4,7 +4,7 @@ exports.determineOptimizeDeps = determineOptimizeDeps;
4
4
  const findPageFiles_js_1 = require("../../shared/findPageFiles.js");
5
5
  const utils_js_1 = require("../../utils.js");
6
6
  const getVikeConfig_js_1 = require("../importUserCode/v1-design/getVikeConfig.js");
7
- const buildConfig_js_1 = require("../buildConfig.js");
7
+ const pluginBuildConfig_js_1 = require("../build/pluginBuildConfig.js");
8
8
  const virtualFileImportUserCode_js_1 = require("../../../shared/virtual-files/virtualFileImportUserCode.js");
9
9
  const getFilePath_js_1 = require("../../shared/getFilePath.js");
10
10
  const debug = (0, utils_js_1.createDebugger)('vike:optimizeDeps');
@@ -82,7 +82,7 @@ async function getPageDeps(config, pageConfigs) {
82
82
  return { entries, include };
83
83
  }
84
84
  function getVirtualFiles(config, pageConfigs) {
85
- const { hasClientRouting, hasServerRouting, clientEntries } = (0, buildConfig_js_1.analyzeClientEntries)(pageConfigs, config);
85
+ const { hasClientRouting, hasServerRouting, clientEntries } = (0, pluginBuildConfig_js_1.analyzeClientEntries)(pageConfigs, config);
86
86
  const entriesVirtualFiles = Object.values(clientEntries);
87
87
  if (hasClientRouting)
88
88
  entriesVirtualFiles.push(virtualFileImportUserCode_js_1.virtualFileIdImportUserCodeClientCR);
@@ -14,7 +14,7 @@ const isAsset_js_1 = require("../shared/isAsset.js");
14
14
  const parseEsModule_js_1 = require("../shared/parseEsModule.js");
15
15
  const rollupSourceMap_js_1 = require("../shared/rollupSourceMap.js");
16
16
  const picocolors_1 = __importDefault(require("@brillout/picocolors"));
17
- const fixServerAssets_js_1 = require("./buildConfig/fixServerAssets.js");
17
+ const fixServerAssets_js_1 = require("./build/pluginAssetsManifest/fixServerAssets.js");
18
18
  const getVikeConfig_js_1 = require("./importUserCode/v1-design/getVikeConfig.js");
19
19
  const assertV1Design_js_1 = require("../../shared/assertV1Design.js");
20
20
  const normalizeId_js_1 = require("../shared/normalizeId.js");
@@ -18,7 +18,7 @@ const getVikeConfig_js_1 = require("../getVikeConfig.js");
18
18
  require("source-map-support/register.js");
19
19
  const getFilePath_js_1 = require("../../../../shared/getFilePath.js");
20
20
  const module_1 = require("module");
21
- // @ts-ignore Shimmed by dist-cjs-fixup.js for CJS build.
21
+ // @ts-ignore `file://${__filename}` is shimmed at dist/cjs by dist-cjs-fixup.js.
22
22
  const importMetaUrl = `file://${__filename}`;
23
23
  const require_ = (0, module_1.createRequire)(importMetaUrl);
24
24
  (0, utils_js_1.assertIsNotProductionRuntime)();
@@ -8,7 +8,7 @@ const extractAssetsQuery_js_1 = require("../../../../../shared/extractAssetsQuer
8
8
  const debug_js_1 = require("./debug.js");
9
9
  const isRuntimeEnvMatch_js_1 = require("./isRuntimeEnvMatch.js");
10
10
  const serializeConfigValues_js_1 = require("../../../../../../shared/page-configs/serialize/serializeConfigValues.js");
11
- const fixServerAssets_js_1 = require("../../../buildConfig/fixServerAssets.js");
11
+ const fixServerAssets_js_1 = require("../../../build/pluginAssetsManifest/fixServerAssets.js");
12
12
  const getConfigValueBuildTime_js_1 = require("../../../../../../shared/page-configs/getConfigValueBuildTime.js");
13
13
  async function getVirtualFilePageConfigValuesAll(id, isDev, config) {
14
14
  const result = (0, virtualFilePageConfigValuesAll_js_1.isVirtualFileIdPageConfigValuesAll)(id);
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.resolveClientEntriesDev = resolveClientEntriesDev;
4
4
  const utils_js_1 = require("../utils.js");
5
5
  const module_1 = require("module");
6
- // @ts-ignore Shimmed by dist-cjs-fixup.js for CJS build.
6
+ // @ts-ignore `file://${__filename}` is shimmed at dist/cjs by dist-cjs-fixup.js.
7
7
  const importMetaUrl = `file://${__filename}`;
8
8
  const require_ = (0, module_1.createRequire)(importMetaUrl);
9
9
  (0, utils_js_1.assertIsNotProductionRuntime)();
@@ -2,4 +2,4 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PROJECT_VERSION = void 0;
4
4
  // Automatically updated by @brillout/release-me
5
- exports.PROJECT_VERSION = '0.4.223-commit-586dbfb';
5
+ exports.PROJECT_VERSION = '0.4.223-commit-62ca594';
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.findPackageJson = findPackageJson;
4
4
  const findFile_js_1 = require("./findFile.js");
5
5
  const module_1 = require("module");
6
- // @ts-ignore Shimmed by dist-cjs-fixup.js for CJS build.
6
+ // @ts-ignore `file://${__filename}` is shimmed at dist/cjs by dist-cjs-fixup.js.
7
7
  const importMetaUrl = `file://${__filename}`;
8
8
  const require_ = (0, module_1.createRequire)(importMetaUrl);
9
9
  function findPackageJson(cwd) {
@@ -7,7 +7,7 @@ const assertSetup_js_1 = require("./assertSetup.js");
7
7
  const path_js_1 = require("./path.js");
8
8
  const isScriptFile_js_1 = require("./isScriptFile.js");
9
9
  const module_1 = require("module");
10
- // @ts-ignore Shimmed by dist-cjs-fixup.js for CJS build.
10
+ // @ts-ignore `file://${__filename}` is shimmed at dist/cjs by dist-cjs-fixup.js.
11
11
  const importMetaUrl = `file://${__filename}`;
12
12
  const require_ = (0, module_1.createRequire)(importMetaUrl);
13
13
  (0, assertIsNotBrowser_js_1.assertIsNotBrowser)();
@@ -1,6 +1,6 @@
1
1
  export { build };
2
2
  import { prepareViteApiCall } from './prepareViteApiCall.js';
3
- import { build as buildVite, version } from 'vite';
3
+ import { build as buildVite, version, createBuilder } from 'vite';
4
4
  import assert from 'assert';
5
5
  import { isVikeCli } from '../cli/context.js';
6
6
  import { isPrerendering } from '../prerender/context.js';
@@ -12,13 +12,13 @@ import { assertVersion } from './utils.js';
12
12
  */
13
13
  async function build(options = {}) {
14
14
  const { viteConfigEnhanced, vikeConfig } = await prepareViteApiCall(options.viteConfig, 'build');
15
- // Pass it to autoFullBuild()
15
+ // Pass it to pluginAutoFullBuild()
16
16
  if (viteConfigEnhanced)
17
17
  viteConfigEnhanced._viteConfigEnhanced = viteConfigEnhanced;
18
18
  if (vikeConfig.global.config.viteEnvironmentAPI) {
19
19
  assertVersion('Vite', version, '6.0.0');
20
- const { createBuilder } = await import('vite');
21
20
  const builder = await createBuilder(viteConfigEnhanced);
21
+ // See Vite plugin vike:build:pluginBuildApp
22
22
  await builder.buildApp();
23
23
  }
24
24
  else {
@@ -5,19 +5,13 @@ export { plugin as ssr };
5
5
  export { getVikeConfigPublic as getVikeConfig } from './plugins/commonConfig.js';
6
6
  export { PROJECT_VERSION as version } from './utils.js';
7
7
  import { assertUsage } from './utils.js';
8
- import { buildConfig } from './plugins/buildConfig.js';
8
+ import { build } from './plugins/build.js';
9
9
  import { previewConfig } from './plugins/previewConfig.js';
10
- import { autoFullBuild } from './plugins/autoFullBuild.js';
11
10
  import { devConfig } from './plugins/devConfig/index.js';
12
- import { packageJsonFile } from './plugins/packageJsonFile.js';
13
- import { removeRequireHookPlugin } from './plugins/removeRequireHookPlugin.js';
14
11
  import { importUserCode } from './plugins/importUserCode/index.js';
15
- import { distFileNames } from './plugins/distFileNames.js';
16
12
  import { extractAssetsPlugin } from './plugins/extractAssetsPlugin.js';
17
13
  import { extractExportNamesPlugin } from './plugins/extractExportNamesPlugin.js';
18
- import { suppressRollupWarning } from './plugins/suppressRollupWarning.js';
19
14
  import { setGlobalContext } from './plugins/setGlobalContext.js';
20
- import { buildEntry } from './plugins/buildEntry/index.js';
21
15
  import { commonConfig } from './plugins/commonConfig.js';
22
16
  import { baseUrls } from './plugins/baseUrls.js';
23
17
  import { envVarsPlugin } from './plugins/envVars.js';
@@ -27,7 +21,6 @@ import { setResolveClientEntriesDev } from '../runtime/renderPage/getPageAssets.
27
21
  import { resolveClientEntriesDev } from './shared/resolveClientEntriesDev.js';
28
22
  import { workaroundCssModuleHmr } from './plugins/workaroundCssModuleHmr.js';
29
23
  import { workaroundVite6HmrRegression } from './plugins/workaroundVite6HmrRegression.js';
30
- import { buildApp } from './plugins/buildApp.js';
31
24
  // We don't call this in ./onLoad.ts to avoid a cyclic dependency with utils.ts
32
25
  setResolveClientEntriesDev(resolveClientEntriesDev);
33
26
  // Return `PluginInterop` instead of `Plugin` to avoid type mismatch upon different Vite versions
@@ -36,18 +29,11 @@ function plugin(vikeVitePluginOptions = {}) {
36
29
  ...commonConfig(vikeVitePluginOptions),
37
30
  importUserCode(),
38
31
  ...devConfig(),
39
- ...buildConfig(),
40
- ...buildApp(),
32
+ ...build(),
41
33
  previewConfig(),
42
- ...autoFullBuild(),
43
- packageJsonFile(),
44
- removeRequireHookPlugin(),
45
- distFileNames(),
46
34
  ...extractAssetsPlugin(),
47
35
  extractExportNamesPlugin(),
48
- suppressRollupWarning(),
49
36
  ...setGlobalContext(),
50
- ...buildEntry(),
51
37
  baseUrls(),
52
38
  envVarsPlugin(),
53
39
  fileEnv(),
@@ -64,7 +50,7 @@ Object.defineProperty(plugin, 'apply', {
64
50
  assertUsage(false, `Add ${pc.cyan('vike()')} instead of ${pc.cyan('vike')} to vite.config.js#plugins (i.e. call the function and add the return value instead of adding the function itself)`, { showStackTrace: true });
65
51
  }
66
52
  });
67
- // Ensures following works: `const vike = require('vike/plugin')` / `import vike from 'vike/plugin'`
53
+ // CJS default export `const vike = require('vike/plugin')`
68
54
  // - It needs to live at the end of this file, in order to ensure we do it after all assignments to `exports`.
69
55
  try {
70
56
  module.exports = Object.assign(exports.default, exports);
@@ -1,8 +1,9 @@
1
1
  export { fixServerAssets };
2
2
  export { fixServerAssets_isEnabled };
3
- export { fixServerAssets_assertCssCodeSplit };
4
- export { fixServerAssets_assertCssTarget };
5
- import { ViteManifest } from '../../../shared/ViteManifest.js';
3
+ export { fixServerAssets_assertUsageCssCodeSplit };
4
+ export { fixServerAssets_assertUsageCssTarget };
5
+ export { writeManifestFile };
6
+ import { ViteManifest } from '../../../../shared/ViteManifest.js';
6
7
  import { ResolvedConfig } from 'vite';
7
8
  /**
8
9
  * true => use workaround config.build.ssrEmitAssets
@@ -16,5 +17,6 @@ declare function fixServerAssets(config: ResolvedConfig): Promise<{
16
17
  clientManifestMod: ViteManifest;
17
18
  serverManifestMod: ViteManifest;
18
19
  }>;
19
- declare function fixServerAssets_assertCssCodeSplit(config: ResolvedConfig): void;
20
- declare function fixServerAssets_assertCssTarget(config: ResolvedConfig): Promise<void>;
20
+ declare function fixServerAssets_assertUsageCssCodeSplit(config: ResolvedConfig): void;
21
+ declare function fixServerAssets_assertUsageCssTarget(config: ResolvedConfig): Promise<void>;
22
+ declare function writeManifestFile(manifest: ViteManifest, manifestFilePath: string): Promise<void>;
@@ -1,19 +1,20 @@
1
1
  export { fixServerAssets };
2
2
  export { fixServerAssets_isEnabled };
3
- export { fixServerAssets_assertCssCodeSplit };
4
- export { fixServerAssets_assertCssTarget };
3
+ export { fixServerAssets_assertUsageCssCodeSplit };
4
+ export { fixServerAssets_assertUsageCssTarget };
5
+ export { writeManifestFile };
5
6
  import fs from 'fs/promises';
6
7
  import fs_sync from 'fs';
7
8
  import path from 'path';
8
9
  import { existsSync } from 'fs';
9
- import { assert, assertWarning, isEqualStringList, pLimit, unique } from '../../utils.js';
10
- import { isVirtualFileIdPageConfigValuesAll } from '../../../shared/virtual-files/virtualFilePageConfigValuesAll.js';
11
- import { manifestTempFile } from '../buildConfig.js';
12
- import { getAssetsDir } from '../../shared/getAssetsDir.js';
10
+ import { assert, assertWarning, isEqualStringList, isObject, pLimit, unique } from '../../../utils.js';
11
+ import { isVirtualFileIdPageConfigValuesAll } from '../../../../shared/virtual-files/virtualFilePageConfigValuesAll.js';
12
+ import { manifestTempFile } from '../pluginBuildConfig.js';
13
+ import { getAssetsDir } from '../../../shared/getAssetsDir.js';
13
14
  import pc from '@brillout/picocolors';
14
- import { isV1Design } from '../importUserCode/v1-design/getVikeConfig.js';
15
- import { getOutDirs } from '../../shared/getOutDirs.js';
16
- import { viteIsSSR } from '../../shared/viteIsSSR.js';
15
+ import { isV1Design } from '../../importUserCode/v1-design/getVikeConfig.js';
16
+ import { getOutDirs } from '../../../shared/getOutDirs.js';
17
+ import { viteIsSSR } from '../../../shared/viteIsSSR.js';
17
18
  /**
18
19
  * true => use workaround config.build.ssrEmitAssets
19
20
  * false => use workaround extractAssets plugin
@@ -28,20 +29,12 @@ function fixServerAssets_isEnabled() {
28
29
  /** https://github.com/vikejs/vike/issues/1339 */
29
30
  async function fixServerAssets(config) {
30
31
  const outDirs = getOutDirs(config);
31
- const clientManifest = await loadManifest(outDirs.outDirClient);
32
- const serverManifest = await loadManifest(outDirs.outDirServer);
32
+ const clientManifest = await readManifestFile(outDirs.outDirClient);
33
+ const serverManifest = await readManifestFile(outDirs.outDirServer);
33
34
  const { clientManifestMod, serverManifestMod, filesToMove, filesToRemove } = addServerAssets(clientManifest, serverManifest);
34
35
  await copyAssets(filesToMove, filesToRemove, config);
35
36
  return { clientManifestMod, serverManifestMod };
36
37
  }
37
- async function loadManifest(outDir) {
38
- const manifestFilePath = path.posix.join(outDir, manifestTempFile);
39
- const manifestFileContent = await fs.readFile(manifestFilePath, 'utf-8');
40
- assert(manifestFileContent);
41
- const manifest = JSON.parse(manifestFileContent);
42
- assert(manifest);
43
- return manifest;
44
- }
45
38
  async function copyAssets(filesToMove, filesToRemove, config) {
46
39
  const { outDirClient, outDirServer } = getOutDirs(config);
47
40
  const assetsDir = getAssetsDir(config);
@@ -214,17 +207,17 @@ function collectResources(entryRoot, manifest) {
214
207
  // </head>
215
208
  // ```
216
209
  function getHash(src) {
217
- // src is guarenteed to end with `.[hash][extname]`, see distFileNames.ts
210
+ // src is guarenteed to end with `.[hash][extname]`, see pluginDistFileNames.ts
218
211
  const hash = src.split('.').at(-2);
219
212
  assert(hash);
220
213
  return hash;
221
214
  }
222
215
  // https://github.com/vikejs/vike/issues/1993
223
- function fixServerAssets_assertCssCodeSplit(config) {
216
+ function fixServerAssets_assertUsageCssCodeSplit(config) {
224
217
  assertWarning(config.build.cssCodeSplit, `${pc.cyan('build.cssCodeSplit')} shouldn't be set to ${pc.cyan('false')} (https://github.com/vikejs/vike/issues/1993)`, { onlyOnce: true });
225
218
  }
226
219
  const targets = [];
227
- async function fixServerAssets_assertCssTarget(config) {
220
+ async function fixServerAssets_assertUsageCssTarget(config) {
228
221
  if (!fixServerAssets_isEnabled())
229
222
  return;
230
223
  if (!(await isV1Design(config)))
@@ -274,3 +267,17 @@ function removeEmptyDirectories(dirPath) {
274
267
  fs_sync.rmdirSync(dirPath);
275
268
  }
276
269
  }
270
+ async function readManifestFile(outDir) {
271
+ const manifestFilePath = path.posix.join(outDir, manifestTempFile);
272
+ const manifestFileContent = await fs.readFile(manifestFilePath, 'utf-8');
273
+ assert(manifestFileContent);
274
+ const manifest = JSON.parse(manifestFileContent);
275
+ assert(manifest);
276
+ assert(isObject(manifest));
277
+ return manifest;
278
+ }
279
+ async function writeManifestFile(manifest, manifestFilePath) {
280
+ assert(isObject(manifest));
281
+ const manifestFileContent = JSON.stringify(manifest, null, 2);
282
+ await fs.writeFile(manifestFilePath, manifestFileContent, 'utf-8');
283
+ }
@@ -0,0 +1,3 @@
1
+ export { pluginAssetsManifest };
2
+ import type { Plugin } from 'vite';
3
+ declare function pluginAssetsManifest(): Plugin[];
@@ -0,0 +1,110 @@
1
+ export { pluginAssetsManifest };
2
+ import { isV1Design } from '../importUserCode/v1-design/getVikeConfig.js';
3
+ import fs from 'fs/promises';
4
+ import path from 'path';
5
+ import { fixServerAssets, fixServerAssets_assertUsageCssCodeSplit, fixServerAssets_assertUsageCssTarget, fixServerAssets_isEnabled, writeManifestFile } from '../build/pluginAssetsManifest/fixServerAssets.js';
6
+ import { set_macro_ASSETS_MANIFEST } from './pluginBuildEntry.js';
7
+ import { getOutDirs } from '../../shared/getOutDirs.js';
8
+ import { viteIsSSR } from '../../shared/viteIsSSR.js';
9
+ import { getVikeConfigPublic } from '../commonConfig.js';
10
+ const manifestTempFile = '_temp_manifest.json';
11
+ function pluginAssetsManifest() {
12
+ let isServerAssetsFixEnabled;
13
+ let config;
14
+ let assetsJsonFilePath;
15
+ return [
16
+ {
17
+ name: 'vike:build:pluginAssetsManifest:post',
18
+ apply: 'build',
19
+ enforce: 'post',
20
+ configResolved: {
21
+ order: 'post',
22
+ async handler(config_) {
23
+ config = config_;
24
+ isServerAssetsFixEnabled = fixServerAssets_isEnabled() && (await isV1Design(config));
25
+ if (isServerAssetsFixEnabled) {
26
+ // https://github.com/vikejs/vike/issues/1339
27
+ config.build.ssrEmitAssets = true;
28
+ // Required if `ssrEmitAssets: true`, see https://github.com/vitejs/vite/pull/11430#issuecomment-1454800934
29
+ config.build.cssMinify = 'esbuild';
30
+ fixServerAssets_assertUsageCssCodeSplit(config);
31
+ }
32
+ }
33
+ },
34
+ config: {
35
+ order: 'post',
36
+ handler(config) {
37
+ const vike = getVikeConfigPublic(config);
38
+ return {
39
+ build: {
40
+ manifest: manifestTempFile,
41
+ copyPublicDir: vike.config.viteEnvironmentAPI
42
+ ? // Already set by vike:build:pluginBuildApp
43
+ undefined
44
+ : !viteIsSSR(config)
45
+ }
46
+ };
47
+ }
48
+ },
49
+ async closeBundle() {
50
+ await fixServerAssets_assertUsageCssTarget(config);
51
+ }
52
+ },
53
+ {
54
+ name: 'vike:build:pluginAssetsManifest:pre',
55
+ apply: 'build',
56
+ // Compatiblity with Environment API. It replaces `vike:build:pluginAssetsManifest:pre` when compatible
57
+ // See https://vite.dev/guide/api-environment-plugins.html#per-environment-plugins
58
+ applyToEnvironment() {
59
+ return {
60
+ name: 'vike:build:pluginAssetsManifest:pre:env-api-compat',
61
+ apply: 'build',
62
+ enforce: 'pre',
63
+ writeBundle: {
64
+ order: 'pre',
65
+ sequential: true,
66
+ async handler(options, bundle) {
67
+ if (this.environment.name === 'ssr') {
68
+ await writeAssetsManifestFile(getOutDirs(this.environment.config));
69
+ }
70
+ if (viteIsSSR(this.environment.config)) {
71
+ // Replace __VITE_ASSETS_MANIFEST__ in all server-side bundles
72
+ await set_macro_ASSETS_MANIFEST(options, bundle, assetsJsonFilePath);
73
+ }
74
+ }
75
+ }
76
+ };
77
+ },
78
+ // Ensures that we can reuse `assetsJsonFilePath`
79
+ sharedDuringBuild: true,
80
+ // Make sure other writeBundle() hooks are called after this writeBundle() hook.
81
+ // - set_macro_ASSETS_MANIFEST() needs to be called before dist/server/ code is executed.
82
+ // - For example, the writeBundle() hook of vite-plugin-vercel needs to be called after this writeBundle() hook, otherwise: https://github.com/vikejs/vike/issues/1527
83
+ enforce: 'pre',
84
+ writeBundle: {
85
+ order: 'pre',
86
+ sequential: true,
87
+ async handler(options, bundle) {
88
+ if (viteIsSSR(config)) {
89
+ await writeAssetsManifestFile(getOutDirs(config));
90
+ await set_macro_ASSETS_MANIFEST(options, bundle, assetsJsonFilePath);
91
+ }
92
+ }
93
+ }
94
+ }
95
+ ];
96
+ async function writeAssetsManifestFile(outDirs) {
97
+ assetsJsonFilePath = path.posix.join(outDirs.outDirRoot, 'assets.json');
98
+ const clientManifestFilePath = path.posix.join(outDirs.outDirClient, manifestTempFile);
99
+ const serverManifestFilePath = path.posix.join(outDirs.outDirServer, manifestTempFile);
100
+ if (!isServerAssetsFixEnabled) {
101
+ await fs.copyFile(clientManifestFilePath, assetsJsonFilePath);
102
+ }
103
+ else {
104
+ const { clientManifestMod } = await fixServerAssets(config);
105
+ await writeManifestFile(clientManifestMod, assetsJsonFilePath);
106
+ }
107
+ await fs.rm(clientManifestFilePath);
108
+ await fs.rm(serverManifestFilePath);
109
+ }
110
+ }
@@ -0,0 +1,3 @@
1
+ export { pluginAutoFullBuild };
2
+ import type { Plugin } from 'vite';
3
+ declare function pluginAutoFullBuild(): Plugin[];
@@ -1,23 +1,22 @@
1
- // TODO/v1-release: remove this file
2
- import { getFullBuildInlineConfig } from '../shared/getFullBuildInlineConfig.js';
3
- export { autoFullBuild };
1
+ export { pluginAutoFullBuild };
2
+ import { getFullBuildInlineConfig } from '../../shared/getFullBuildInlineConfig.js';
4
3
  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';
4
+ import { assert, assertWarning } from '../../utils.js';
5
+ import { runPrerenderFromAutoRun, runPrerender_forceExit } from '../../../prerender/runPrerender.js';
6
+ import { isPrerenderAutoRunEnabled } from '../../../prerender/context.js';
7
+ import { isViteCliCall, getViteConfigFromCli } from '../../shared/isViteCliCall.js';
9
8
  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';
9
+ import { logErrorHint } from '../../../runtime/renderPage/logErrorHint.js';
10
+ import { manifestTempFile } from './pluginBuildConfig.js';
11
+ import { getVikeConfig } from '../importUserCode/v1-design/getVikeConfig.js';
12
+ import { isVikeCliOrApi } from '../../../api/context.js';
14
13
  let forceExit = false;
15
- function autoFullBuild() {
14
+ function pluginAutoFullBuild() {
16
15
  let config;
17
16
  let vikeConfig;
18
17
  return [
19
18
  {
20
- name: 'vike:autoFullBuild',
19
+ name: 'vike:build:pluginAutoFullBuild',
21
20
  apply: 'build',
22
21
  enforce: 'pre',
23
22
  async configResolved(config_) {
@@ -35,7 +34,7 @@ function autoFullBuild() {
35
34
  await triggerFullBuild(config, vikeConfig, bundle);
36
35
  }
37
36
  catch (err) {
38
- // Avoid Rollup prefixing the error with [vike:autoFullBuild], for example see https://github.com/vikejs/vike/issues/472#issuecomment-1276274203
37
+ // Avoid Rollup prefixing the error with [vike:build:pluginAutoFullBuild], for example see https://github.com/vikejs/vike/issues/472#issuecomment-1276274203
39
38
  console.error(err);
40
39
  process.exit(1);
41
40
  }
@@ -43,7 +42,7 @@ function autoFullBuild() {
43
42
  }
44
43
  },
45
44
  {
46
- name: 'vike:autoFullBuild:forceExit',
45
+ name: 'vike:build:pluginAutoFullBuild:forceExit',
47
46
  apply: 'build',
48
47
  enforce: 'post',
49
48
  closeBundle: {