vike 0.4.226-commit-a0035ee → 0.4.226

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.
@@ -95,7 +95,7 @@ async function triggerFullBuild(config, vikeConfig, viteEnv, bundle) {
95
95
  // The server bulid is already called by builder.buildApp()
96
96
  }
97
97
  if ((0, context_js_1.isPrerenderAutoRunEnabled)(vikeConfig)) {
98
- const res = await (0, runPrerender_js_1.runPrerenderFromAutoRun)(configInline);
98
+ const res = await (0, runPrerender_js_1.runPrerenderFromAutoRun)(configInline, config);
99
99
  forceExit = res.forceExit;
100
100
  }
101
101
  }
@@ -19,8 +19,6 @@ const context_js_2 = require("../../prerender/context.js");
19
19
  const resolvePrerenderConfig_js_1 = require("../../prerender/resolvePrerenderConfig.js");
20
20
  const pluginName = 'vike:commonConfig';
21
21
  function commonConfig(vikeVitePluginOptions) {
22
- // We cache it => makes sure we only generate one object => we can mutate it at runPrerender()
23
- let prerenderContext;
24
22
  return [
25
23
  {
26
24
  name: `${pluginName}:pre`,
@@ -33,9 +31,6 @@ function commonConfig(vikeVitePluginOptions) {
33
31
  const root = configFromUser.root ? (0, prepareViteApiCall_js_1.normalizeViteRoot)(configFromUser.root) : await (0, prepareViteApiCall_js_1.getViteRoot)(operation);
34
32
  (0, utils_js_1.assert)(root);
35
33
  const vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig2)(root, isDev, vikeVitePluginOptions);
36
- const { isPrerenderingEnabled } = (0, resolvePrerenderConfig_js_1.resolvePrerenderConfigGlobal)(vikeConfig);
37
- prerenderContext ?? (prerenderContext = { isPrerenderingEnabled, output: null, pageContexts: null });
38
- (0, utils_js_1.assert)(prerenderContext.isPrerenderingEnabled === isPrerenderingEnabled);
39
34
  return {
40
35
  _isDev: isDev,
41
36
  _root: root,
@@ -43,12 +38,11 @@ function commonConfig(vikeVitePluginOptions) {
43
38
  _vikeConfigObject: vikeConfig,
44
39
  _vike: {
45
40
  pages: vikeConfig.pages,
46
- config: vikeConfig.global.config,
47
- prerenderContext
41
+ config: vikeConfig.global.config
48
42
  },
49
43
  // TODO/v1-release: remove https://github.com/vikejs/vike/issues/2122
50
44
  configVikePromise: Promise.resolve({
51
- prerender: isPrerenderingEnabled
45
+ prerender: (0, resolvePrerenderConfig_js_1.resolvePrerenderConfigGlobal)(vikeConfig).isPrerenderingEnabled
52
46
  })
53
47
  };
54
48
  }
@@ -12,7 +12,6 @@ const getFilePath_js_1 = require("../shared/getFilePath.js");
12
12
  const rollupSourceMap_js_1 = require("../shared/rollupSourceMap.js");
13
13
  const parseEsModule_js_1 = require("../shared/parseEsModule.js");
14
14
  const normalizeId_js_1 = require("../shared/normalizeId.js");
15
- const getVikeConfig_js_1 = require("./importUserCode/v1-design/getVikeConfig.js");
16
15
  function fileEnv() {
17
16
  let config;
18
17
  let viteDevServer;
@@ -22,8 +21,6 @@ function fileEnv() {
22
21
  // In build, we use generateBundle() instead of the load() hook. Using load() works for dynamic imports in dev thanks to Vite's lazy transpiling, but it doesn't work in build because Rollup transpiles any dynamically imported module even if it's never actually imported.
23
22
  if (!viteDevServer)
24
23
  return;
25
- if (!(0, getVikeConfig_js_1.isV1Design)(config))
26
- return;
27
24
  if (skip(id))
28
25
  return;
29
26
  // For `.vue` files: https://github.com/vikejs/vike/issues/1912#issuecomment-2394981475
@@ -88,9 +88,11 @@ async function runPrerenderFromCLIPrerenderCommand() {
88
88
  runPrerender_forceExit();
89
89
  (0, utils_js_1.assert)(false);
90
90
  }
91
- async function runPrerenderFromAutoRun(viteConfig) {
91
+ async function runPrerenderFromAutoRun(viteConfig, config) {
92
+ let prerenderContextPublic;
92
93
  try {
93
- await runPrerender({ viteConfig });
94
+ const ret = await runPrerender({ viteConfig });
95
+ prerenderContextPublic = ret.prerenderContextPublic;
94
96
  }
95
97
  catch (err) {
96
98
  // Avoid Rollup prefixing the error with [vike:build:pluginAutoFullBuild], see for example https://github.com/vikejs/vike/issues/472#issuecomment-1276274203
@@ -98,6 +100,8 @@ async function runPrerenderFromAutoRun(viteConfig) {
98
100
  (0, logErrorHint_js_1.logErrorHint)(err);
99
101
  process.exit(1);
100
102
  }
103
+ const vike = (0, commonConfig_js_1.getVikeConfigPublic)(config);
104
+ vike.prerenderContext = prerenderContextPublic;
101
105
  const forceExit = (0, context_js_2.isVikeCli)() || (0, isViteCliCall_js_1.isViteCliCall)();
102
106
  return { forceExit };
103
107
  }
@@ -114,8 +118,6 @@ async function runPrerender(options = {}, standaloneTrigger) {
114
118
  await disableReactStreaming();
115
119
  const viteConfig = await (0, vite_1.resolveConfig)(options.viteConfig || {}, 'build', 'production');
116
120
  const vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig)(viteConfig);
117
- const vike = (0, commonConfig_js_1.getVikeConfigPublic)(viteConfig);
118
- (0, utils_js_1.assert)(vike.prerenderContext.isPrerenderingEnabled);
119
121
  const { outDirClient } = (0, getOutDirs_js_1.getOutDirs)(viteConfig);
120
122
  const { root } = viteConfig;
121
123
  const prerenderConfigGlobal = (0, resolvePrerenderConfig_js_1.resolvePrerenderConfigGlobal)(vikeConfig);
@@ -159,8 +161,7 @@ async function runPrerender(options = {}, standaloneTrigger) {
159
161
  }
160
162
  await warnMissingPages(prerenderContext.prerenderedPageContexts, globalContext, doNotPrerenderList, partial);
161
163
  const prerenderContextPublic = makePublic(prerenderContext);
162
- (0, utils_js_1.objectAssign)(vike.prerenderContext, prerenderContextPublic);
163
- return { viteConfig };
164
+ return { viteConfig, prerenderContextPublic };
164
165
  }
165
166
  async function collectDoNoPrerenderList(pageConfigs, doNotPrerenderList, defaultLocalValue, concurrencyLimit, globalContext) {
166
167
  // V1 design
@@ -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.226-commit-a0035ee';
5
+ exports.PROJECT_VERSION = '0.4.226';
@@ -16,24 +16,13 @@ const PROJECT_VERSION_js_1 = require("./PROJECT_VERSION.js");
16
16
  /* Use original assertWarning() after all CJS is removed from node_modules/vike/dist/
17
17
  import { assertWarning } from './assert.js'
18
18
  */
19
- let globalObject;
20
- // getGlobalObjectSafe() can be called before this line
21
- globalObject ?? (globalObject = genGlobalConfig());
22
- function genGlobalConfig() {
23
- return (0, getGlobalObject_js_1.getGlobalObject)('utils/assertSingleInstance.ts', {
24
- instances: [],
25
- alreadyLogged: new Set()
26
- });
27
- }
28
- // We need getGlobalObjectSafe() because globalObject is `undefined` when exported functions are called before globalObject is initialized
29
- function getGlobalObjectSafe() {
30
- globalObject ?? (globalObject = genGlobalConfig());
31
- return globalObject;
32
- }
19
+ const globalObject = (0, getGlobalObject_js_1.getGlobalObject)('utils/assertSingleInstance.ts', {
20
+ instances: [],
21
+ alreadyLogged: new Set()
22
+ });
33
23
  const clientRuntimesClonflict = 'Client runtime of both Server Routing and Client Routing loaded https://vike.dev/client-runtimes-conflict';
34
24
  const clientNotSingleInstance = 'Client runtime loaded twice https://vike.dev/client-runtime-duplicated';
35
25
  function assertSingleInstance() {
36
- const globalObject = getGlobalObjectSafe();
37
26
  {
38
27
  const versions = (0, unique_js_1.unique)(globalObject.instances);
39
28
  assertWarning(versions.length <= 1,
@@ -50,7 +39,6 @@ function assertSingleInstance() {
50
39
  }
51
40
  }
52
41
  function assertSingleInstance_onClientEntryServerRouting(isProduction) {
53
- const globalObject = getGlobalObjectSafe();
54
42
  assertWarning(globalObject.isClientRouting !== true, clientRuntimesClonflict, {
55
43
  onlyOnce: true,
56
44
  showStackTrace: true
@@ -65,7 +53,6 @@ function assertSingleInstance_onClientEntryServerRouting(isProduction) {
65
53
  assertSingleInstance();
66
54
  }
67
55
  function assertSingleInstance_onClientEntryClientRouting(isProduction) {
68
- const globalObject = getGlobalObjectSafe();
69
56
  assertWarning(globalObject.isClientRouting !== false, clientRuntimesClonflict, {
70
57
  onlyOnce: true,
71
58
  showStackTrace: true
@@ -81,12 +68,10 @@ function assertSingleInstance_onClientEntryClientRouting(isProduction) {
81
68
  }
82
69
  // Called by utils/assert.ts which is (most certainly) loaded by all entries. That way we don't have to call a callback for every entry. (There are a lot of entries: `client/router/`, `client/`, `node/runtime/`, `node/plugin/`, `node/cli`.)
83
70
  function assertSingleInstance_onAssertModuleLoad() {
84
- const globalObject = getGlobalObjectSafe();
85
71
  globalObject.instances.push(PROJECT_VERSION_js_1.PROJECT_VERSION);
86
72
  assertSingleInstance();
87
73
  }
88
74
  function assertWarning(condition, errorMessage, { onlyOnce, showStackTrace }) {
89
- const globalObject = getGlobalObjectSafe();
90
75
  if (condition) {
91
76
  return;
92
77
  }
@@ -90,7 +90,7 @@ async function triggerFullBuild(config, vikeConfig, viteEnv, bundle) {
90
90
  // The server bulid is already called by builder.buildApp()
91
91
  }
92
92
  if (isPrerenderAutoRunEnabled(vikeConfig)) {
93
- const res = await runPrerenderFromAutoRun(configInline);
93
+ const res = await runPrerenderFromAutoRun(configInline, config);
94
94
  forceExit = res.forceExit;
95
95
  }
96
96
  }
@@ -20,13 +20,8 @@ declare module 'vite' {
20
20
  type VikeConfigPublic = {
21
21
  config: VikeConfigObject['global']['config'];
22
22
  pages: VikeConfigObject['pages'];
23
- prerenderContext: PrerenderContext;
23
+ prerenderContext?: PrerenderContextPublic;
24
24
  };
25
- type PrerenderContext = {
26
- isPrerenderingEnabled: boolean;
27
- } & ({
28
- [K in keyof PrerenderContextPublic]: null;
29
- } | PrerenderContextPublic);
30
25
  declare function commonConfig(vikeVitePluginOptions: unknown): Plugin[];
31
26
  /**
32
27
  * Get all the information Vike knows about the app in your Vite plugin.
@@ -14,8 +14,6 @@ import { temp_disablePrerenderAutoRun } from '../../prerender/context.js';
14
14
  import { resolvePrerenderConfigGlobal } from '../../prerender/resolvePrerenderConfig.js';
15
15
  const pluginName = 'vike:commonConfig';
16
16
  function commonConfig(vikeVitePluginOptions) {
17
- // We cache it => makes sure we only generate one object => we can mutate it at runPrerender()
18
- let prerenderContext;
19
17
  return [
20
18
  {
21
19
  name: `${pluginName}:pre`,
@@ -28,9 +26,6 @@ function commonConfig(vikeVitePluginOptions) {
28
26
  const root = configFromUser.root ? normalizeViteRoot(configFromUser.root) : await getViteRoot(operation);
29
27
  assert(root);
30
28
  const vikeConfig = await getVikeConfig2(root, isDev, vikeVitePluginOptions);
31
- const { isPrerenderingEnabled } = resolvePrerenderConfigGlobal(vikeConfig);
32
- prerenderContext ?? (prerenderContext = { isPrerenderingEnabled, output: null, pageContexts: null });
33
- assert(prerenderContext.isPrerenderingEnabled === isPrerenderingEnabled);
34
29
  return {
35
30
  _isDev: isDev,
36
31
  _root: root,
@@ -38,12 +33,11 @@ function commonConfig(vikeVitePluginOptions) {
38
33
  _vikeConfigObject: vikeConfig,
39
34
  _vike: {
40
35
  pages: vikeConfig.pages,
41
- config: vikeConfig.global.config,
42
- prerenderContext
36
+ config: vikeConfig.global.config
43
37
  },
44
38
  // TODO/v1-release: remove https://github.com/vikejs/vike/issues/2122
45
39
  configVikePromise: Promise.resolve({
46
- prerender: isPrerenderingEnabled
40
+ prerender: resolvePrerenderConfigGlobal(vikeConfig).isPrerenderingEnabled
47
41
  })
48
42
  };
49
43
  }
@@ -7,7 +7,6 @@ import { getModuleFilePathAbsolute } from '../shared/getFilePath.js';
7
7
  import { sourceMapRemove } from '../shared/rollupSourceMap.js';
8
8
  import { getExportNames } from '../shared/parseEsModule.js';
9
9
  import { normalizeId } from '../shared/normalizeId.js';
10
- import { isV1Design } from './importUserCode/v1-design/getVikeConfig.js';
11
10
  function fileEnv() {
12
11
  let config;
13
12
  let viteDevServer;
@@ -17,8 +16,6 @@ function fileEnv() {
17
16
  // In build, we use generateBundle() instead of the load() hook. Using load() works for dynamic imports in dev thanks to Vite's lazy transpiling, but it doesn't work in build because Rollup transpiles any dynamically imported module even if it's never actually imported.
18
17
  if (!viteDevServer)
19
18
  return;
20
- if (!isV1Design(config))
21
- return;
22
19
  if (skip(id))
23
20
  return;
24
21
  // For `.vue` files: https://github.com/vikejs/vike/issues/1912#issuecomment-2394981475
@@ -46,7 +46,7 @@ declare function runPrerenderFromAPI(options?: PrerenderOptions): Promise<{
46
46
  viteConfig: ResolvedConfig;
47
47
  }>;
48
48
  declare function runPrerenderFromCLIPrerenderCommand(): Promise<void>;
49
- declare function runPrerenderFromAutoRun(viteConfig: InlineConfig | undefined): Promise<{
49
+ declare function runPrerenderFromAutoRun(viteConfig: InlineConfig | undefined, config: ResolvedConfig): Promise<{
50
50
  forceExit: boolean;
51
51
  }>;
52
52
  declare function runPrerender_forceExit(): void;
@@ -50,9 +50,11 @@ async function runPrerenderFromCLIPrerenderCommand() {
50
50
  runPrerender_forceExit();
51
51
  assert(false);
52
52
  }
53
- async function runPrerenderFromAutoRun(viteConfig) {
53
+ async function runPrerenderFromAutoRun(viteConfig, config) {
54
+ let prerenderContextPublic;
54
55
  try {
55
- await runPrerender({ viteConfig });
56
+ const ret = await runPrerender({ viteConfig });
57
+ prerenderContextPublic = ret.prerenderContextPublic;
56
58
  }
57
59
  catch (err) {
58
60
  // Avoid Rollup prefixing the error with [vike:build:pluginAutoFullBuild], see for example https://github.com/vikejs/vike/issues/472#issuecomment-1276274203
@@ -60,6 +62,8 @@ async function runPrerenderFromAutoRun(viteConfig) {
60
62
  logErrorHint(err);
61
63
  process.exit(1);
62
64
  }
65
+ const vike = getVikeConfigPublic(config);
66
+ vike.prerenderContext = prerenderContextPublic;
63
67
  const forceExit = isVikeCli() || isViteCliCall();
64
68
  return { forceExit };
65
69
  }
@@ -76,8 +80,6 @@ async function runPrerender(options = {}, standaloneTrigger) {
76
80
  await disableReactStreaming();
77
81
  const viteConfig = await resolveConfig(options.viteConfig || {}, 'build', 'production');
78
82
  const vikeConfig = await getVikeConfig(viteConfig);
79
- const vike = getVikeConfigPublic(viteConfig);
80
- assert(vike.prerenderContext.isPrerenderingEnabled);
81
83
  const { outDirClient } = getOutDirs(viteConfig);
82
84
  const { root } = viteConfig;
83
85
  const prerenderConfigGlobal = resolvePrerenderConfigGlobal(vikeConfig);
@@ -121,8 +123,7 @@ async function runPrerender(options = {}, standaloneTrigger) {
121
123
  }
122
124
  await warnMissingPages(prerenderContext.prerenderedPageContexts, globalContext, doNotPrerenderList, partial);
123
125
  const prerenderContextPublic = makePublic(prerenderContext);
124
- objectAssign(vike.prerenderContext, prerenderContextPublic);
125
- return { viteConfig };
126
+ return { viteConfig, prerenderContextPublic };
126
127
  }
127
128
  async function collectDoNoPrerenderList(pageConfigs, doNotPrerenderList, defaultLocalValue, concurrencyLimit, globalContext) {
128
129
  // V1 design
@@ -1 +1 @@
1
- export declare const PROJECT_VERSION: "0.4.226-commit-a0035ee";
1
+ export declare const PROJECT_VERSION: "0.4.226";
@@ -1,2 +1,2 @@
1
1
  // Automatically updated by @brillout/release-me
2
- export const PROJECT_VERSION = '0.4.226-commit-a0035ee';
2
+ export const PROJECT_VERSION = '0.4.226';
@@ -11,24 +11,13 @@ import { PROJECT_VERSION } from './PROJECT_VERSION.js';
11
11
  /* Use original assertWarning() after all CJS is removed from node_modules/vike/dist/
12
12
  import { assertWarning } from './assert.js'
13
13
  */
14
- let globalObject;
15
- // getGlobalObjectSafe() can be called before this line
16
- globalObject ?? (globalObject = genGlobalConfig());
17
- function genGlobalConfig() {
18
- return getGlobalObject('utils/assertSingleInstance.ts', {
19
- instances: [],
20
- alreadyLogged: new Set()
21
- });
22
- }
23
- // We need getGlobalObjectSafe() because globalObject is `undefined` when exported functions are called before globalObject is initialized
24
- function getGlobalObjectSafe() {
25
- globalObject ?? (globalObject = genGlobalConfig());
26
- return globalObject;
27
- }
14
+ const globalObject = getGlobalObject('utils/assertSingleInstance.ts', {
15
+ instances: [],
16
+ alreadyLogged: new Set()
17
+ });
28
18
  const clientRuntimesClonflict = 'Client runtime of both Server Routing and Client Routing loaded https://vike.dev/client-runtimes-conflict';
29
19
  const clientNotSingleInstance = 'Client runtime loaded twice https://vike.dev/client-runtime-duplicated';
30
20
  function assertSingleInstance() {
31
- const globalObject = getGlobalObjectSafe();
32
21
  {
33
22
  const versions = unique(globalObject.instances);
34
23
  assertWarning(versions.length <= 1,
@@ -45,7 +34,6 @@ function assertSingleInstance() {
45
34
  }
46
35
  }
47
36
  function assertSingleInstance_onClientEntryServerRouting(isProduction) {
48
- const globalObject = getGlobalObjectSafe();
49
37
  assertWarning(globalObject.isClientRouting !== true, clientRuntimesClonflict, {
50
38
  onlyOnce: true,
51
39
  showStackTrace: true
@@ -60,7 +48,6 @@ function assertSingleInstance_onClientEntryServerRouting(isProduction) {
60
48
  assertSingleInstance();
61
49
  }
62
50
  function assertSingleInstance_onClientEntryClientRouting(isProduction) {
63
- const globalObject = getGlobalObjectSafe();
64
51
  assertWarning(globalObject.isClientRouting !== false, clientRuntimesClonflict, {
65
52
  onlyOnce: true,
66
53
  showStackTrace: true
@@ -76,12 +63,10 @@ function assertSingleInstance_onClientEntryClientRouting(isProduction) {
76
63
  }
77
64
  // Called by utils/assert.ts which is (most certainly) loaded by all entries. That way we don't have to call a callback for every entry. (There are a lot of entries: `client/router/`, `client/`, `node/runtime/`, `node/plugin/`, `node/cli`.)
78
65
  function assertSingleInstance_onAssertModuleLoad() {
79
- const globalObject = getGlobalObjectSafe();
80
66
  globalObject.instances.push(PROJECT_VERSION);
81
67
  assertSingleInstance();
82
68
  }
83
69
  function assertWarning(condition, errorMessage, { onlyOnce, showStackTrace }) {
84
- const globalObject = getGlobalObjectSafe();
85
70
  if (condition) {
86
71
  return;
87
72
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vike",
3
- "version": "0.4.226-commit-a0035ee",
3
+ "version": "0.4.226",
4
4
  "repository": "https://github.com/vikejs/vike",
5
5
  "exports": {
6
6
  "./server": {