vike 0.4.215 → 0.4.217-commit-99ea561
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.
- package/dist/cjs/__internal/index.js +2 -2
- package/dist/cjs/node/api/build.js +10 -3
- package/dist/cjs/node/api/context.js +8 -6
- package/dist/cjs/node/api/dev.js +7 -2
- package/dist/cjs/node/api/{prepareApiCall.js → prepareViteApiCall.js} +16 -6
- package/dist/cjs/node/api/prerender.js +7 -2
- package/dist/cjs/node/api/preview.js +7 -2
- package/dist/cjs/node/api/utils.js +1 -0
- package/dist/cjs/node/plugin/index.js +7 -10
- package/dist/cjs/node/plugin/onLoad.js +2 -2
- package/dist/cjs/node/plugin/plugins/autoFullBuild.js +15 -12
- package/dist/cjs/node/plugin/plugins/baseUrls.js +17 -12
- package/dist/cjs/node/plugin/plugins/buildConfig/fixServerAssets.js +1 -1
- package/dist/cjs/node/plugin/plugins/buildConfig.js +10 -10
- package/dist/cjs/node/plugin/plugins/commonConfig.js +35 -4
- package/dist/cjs/node/plugin/plugins/devConfig/determineOptimizeDeps.js +5 -5
- package/dist/cjs/node/plugin/plugins/devConfig/index.js +1 -4
- package/dist/cjs/node/plugin/plugins/extractAssetsPlugin.js +4 -7
- package/dist/cjs/node/plugin/plugins/importBuild/getVikeManifest.js +2 -2
- package/dist/cjs/node/plugin/plugins/importBuild/index.js +8 -6
- package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +8 -8
- package/dist/cjs/node/plugin/plugins/importUserCode/index.js +9 -13
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +23 -106
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +128 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +42 -28
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +3 -4
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +1 -1
- package/dist/cjs/node/plugin/plugins/previewConfig.js +4 -4
- package/dist/cjs/node/plugin/plugins/setGlobalContext.js +35 -17
- package/dist/cjs/node/prerender/runPrerender.js +5 -7
- package/dist/cjs/node/prerender/utils.js +1 -1
- package/dist/cjs/node/runtime/globalContext.js +21 -13
- package/dist/cjs/node/runtime/index-common.js +3 -1
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -1
- package/dist/cjs/node/runtime/renderPage.js +4 -2
- package/dist/cjs/node/runtime/utils.js +1 -2
- package/dist/cjs/node/runtime-dev/createDevMiddleware.js +25 -0
- package/dist/cjs/node/runtime-dev/index.js +32 -0
- package/dist/cjs/node/shared/resolveBase.js +41 -0
- package/dist/cjs/shared/page-configs/getConfigValueBuildTime.js +2 -2
- package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +2 -2
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/assertSetup.js +135 -0
- package/dist/cjs/utils/isDocker.js +2 -2
- package/dist/cjs/utils/requireResolve.js +2 -2
- package/dist/esm/__internal/index.js +2 -2
- package/dist/esm/node/api/build.d.ts +5 -0
- package/dist/esm/node/api/build.js +10 -3
- package/dist/esm/node/api/context.js +9 -7
- package/dist/esm/node/api/dev.d.ts +5 -0
- package/dist/esm/node/api/dev.js +7 -2
- package/dist/esm/node/api/prepareViteApiCall.d.ts +7 -0
- package/dist/esm/node/api/{prepareApiCall.js → prepareViteApiCall.js} +16 -6
- package/dist/esm/node/api/prerender.d.ts +5 -0
- package/dist/esm/node/api/prerender.js +7 -2
- package/dist/esm/node/api/preview.d.ts +5 -0
- package/dist/esm/node/api/preview.js +7 -2
- package/dist/esm/node/api/utils.d.ts +1 -0
- package/dist/esm/node/api/utils.js +1 -0
- package/dist/esm/node/cli/parseCli.d.ts +1 -1
- package/dist/esm/node/plugin/index.d.ts +3 -3
- package/dist/esm/node/plugin/index.js +6 -9
- package/dist/esm/node/plugin/onLoad.js +1 -1
- package/dist/esm/node/plugin/plugins/autoFullBuild.js +15 -12
- package/dist/esm/node/plugin/plugins/baseUrls.d.ts +2 -2
- package/dist/esm/node/plugin/plugins/baseUrls.js +17 -12
- package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.js +1 -1
- package/dist/esm/node/plugin/plugins/buildConfig.js +11 -11
- package/dist/esm/node/plugin/plugins/commonConfig.d.ts +7 -1
- package/dist/esm/node/plugin/plugins/commonConfig.js +36 -5
- package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.d.ts +1 -1
- package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.js +5 -5
- package/dist/esm/node/plugin/plugins/devConfig/index.js +2 -5
- package/dist/esm/node/plugin/plugins/extractAssetsPlugin.js +4 -7
- package/dist/esm/node/plugin/plugins/importBuild/getVikeManifest.d.ts +3 -2
- package/dist/esm/node/plugin/plugins/importBuild/getVikeManifest.js +2 -2
- package/dist/esm/node/plugin/plugins/importBuild/index.js +8 -6
- package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.d.ts +2 -2
- package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +8 -8
- package/dist/esm/node/plugin/plugins/importUserCode/index.js +11 -15
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.d.ts +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +23 -106
- package/dist/esm/{shared/ConfigVike.d.ts → node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.d.ts} +14 -12
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +123 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +8 -6
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +43 -29
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +3 -4
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +1 -1
- package/dist/esm/node/plugin/plugins/previewConfig.js +5 -5
- package/dist/esm/node/plugin/plugins/setGlobalContext.d.ts +1 -1
- package/dist/esm/node/plugin/plugins/setGlobalContext.js +37 -19
- package/dist/esm/node/plugin/shared/getEnvVarObject.d.ts +1 -1
- package/dist/esm/node/prerender/runPrerender.js +6 -8
- package/dist/esm/node/prerender/utils.d.ts +1 -1
- package/dist/esm/node/prerender/utils.js +1 -1
- package/dist/esm/node/runtime/globalContext.d.ts +8 -4
- package/dist/esm/node/runtime/globalContext.js +22 -14
- package/dist/esm/node/runtime/index-common.d.ts +1 -0
- package/dist/esm/node/runtime/index-common.js +1 -0
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -1
- package/dist/esm/node/runtime/renderPage.js +5 -3
- package/dist/esm/node/runtime/utils.d.ts +1 -2
- package/dist/esm/node/runtime/utils.js +1 -2
- package/dist/esm/node/runtime-dev/createDevMiddleware.d.ts +10 -0
- package/dist/esm/node/runtime-dev/createDevMiddleware.js +23 -0
- package/dist/esm/node/runtime-dev/index.d.ts +3 -0
- package/dist/esm/node/runtime-dev/index.js +6 -0
- package/dist/esm/node/shared/resolveBase.d.ts +11 -0
- package/dist/esm/node/shared/resolveBase.js +36 -0
- package/dist/esm/shared/page-configs/Config.d.ts +2 -2
- package/dist/esm/shared/page-configs/getConfigValueBuildTime.js +1 -1
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +1 -1
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/assertSetup.d.ts +20 -0
- package/dist/esm/utils/assertSetup.js +130 -0
- package/dist/esm/utils/isDocker.js +1 -1
- package/dist/esm/utils/projectInfo.d.ts +1 -1
- package/dist/esm/utils/requireResolve.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/node/plugin/plugins/config/assertVikeConfig.js +0 -75
- package/dist/cjs/node/plugin/plugins/config/index.js +0 -81
- package/dist/cjs/node/plugin/plugins/config/pickFirst.js +0 -6
- package/dist/cjs/node/plugin/plugins/config/resolveBase.js +0 -47
- package/dist/cjs/node/shared/getConfigVike.js +0 -10
- package/dist/cjs/shared/ConfigVike.js +0 -2
- package/dist/cjs/utils/assertIsNotProductionRuntime.js +0 -62
- package/dist/cjs/utils/assertNodeEnv.js +0 -106
- package/dist/esm/node/api/prepareApiCall.d.ts +0 -7
- package/dist/esm/node/plugin/plugins/config/assertVikeConfig.d.ts +0 -7
- package/dist/esm/node/plugin/plugins/config/assertVikeConfig.js +0 -73
- package/dist/esm/node/plugin/plugins/config/index.d.ts +0 -3
- package/dist/esm/node/plugin/plugins/config/index.js +0 -76
- package/dist/esm/node/plugin/plugins/config/pickFirst.d.ts +0 -1
- package/dist/esm/node/plugin/plugins/config/pickFirst.js +0 -3
- package/dist/esm/node/plugin/plugins/config/resolveBase.d.ts +0 -10
- package/dist/esm/node/plugin/plugins/config/resolveBase.js +0 -42
- package/dist/esm/node/shared/getConfigVike.d.ts +0 -4
- package/dist/esm/node/shared/getConfigVike.js +0 -8
- package/dist/esm/shared/ConfigVike.js +0 -1
- package/dist/esm/utils/assertIsNotProductionRuntime.d.ts +0 -12
- package/dist/esm/utils/assertIsNotProductionRuntime.js +0 -59
- package/dist/esm/utils/assertNodeEnv.d.ts +0 -10
- package/dist/esm/utils/assertNodeEnv.js +0 -103
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
export { baseUrls };
|
|
2
|
-
import {
|
|
2
|
+
import { resolveBase, resolveBaseFromResolvedConfig } from '../../shared/resolveBase.js';
|
|
3
3
|
import { assert } from '../utils.js';
|
|
4
|
-
import {
|
|
5
|
-
function baseUrls(
|
|
6
|
-
let
|
|
7
|
-
let baseAssets;
|
|
4
|
+
import { getVikeConfig } from './importUserCode/v1-design/getVikeConfig.js';
|
|
5
|
+
function baseUrls(vikeVitePluginOptions) {
|
|
6
|
+
let bases;
|
|
8
7
|
return {
|
|
9
8
|
name: 'vike:baseUrls',
|
|
10
9
|
enforce: 'post',
|
|
11
10
|
async config(config) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
baseAssets = bases
|
|
11
|
+
// TODO: fix bug: use getVikeConfig2() and udpate check below
|
|
12
|
+
bases = resolveBaseFromUserConfig(config, vikeVitePluginOptions);
|
|
13
|
+
const { baseServer, baseAssets } = bases;
|
|
15
14
|
// We cannot define these in configResolved() because Vite picks up the env variables before any configResolved() hook is called
|
|
16
15
|
process.env.BASE_SERVER = baseServer;
|
|
17
16
|
process.env.BASE_ASSETS = baseAssets;
|
|
@@ -22,14 +21,16 @@ function baseUrls(configVike) {
|
|
|
22
21
|
'BASE_ASSETS'
|
|
23
22
|
],
|
|
24
23
|
base: baseAssets, // Make Vite inject baseAssets to imports e.g. `import logoUrl from './logo.svg.js'`
|
|
25
|
-
|
|
24
|
+
_baseViteOriginal: config.base ?? '/__UNSET__' // Vite resolves `_baseViteOriginal: null` to `undefined`
|
|
26
25
|
};
|
|
27
26
|
},
|
|
28
27
|
async configResolved(config) {
|
|
29
|
-
const
|
|
28
|
+
const vikeConfig = await getVikeConfig(config);
|
|
29
|
+
const { baseServer, baseAssets } = vikeConfig.vikeConfigGlobal;
|
|
30
|
+
const basesResolved = resolveBaseFromResolvedConfig(baseServer, baseAssets, config);
|
|
30
31
|
// Ensure that the premature base URL resolving we did in config() isn't erroneous
|
|
31
|
-
assert(
|
|
32
|
-
assert(
|
|
32
|
+
assert(basesResolved.baseServer === bases.baseServer);
|
|
33
|
+
assert(basesResolved.baseAssets === bases.baseAssets);
|
|
33
34
|
/* In dev, Vite seems buggy around setting vite.config.js#base to an absolute URL (e.g. http://localhost:8080/cdn/)
|
|
34
35
|
* - In dev, Vite removes the URL origin. (I.e. it resolves the user config `vite.config.js#base: 'http://localhost:8080/cdn/'` to resolved config `config.base === '/cdn/'`.)
|
|
35
36
|
* - Instead of having an internal Vike assertion fail, we let the user discover Vite's buggy behavior.
|
|
@@ -38,3 +39,7 @@ function baseUrls(configVike) {
|
|
|
38
39
|
}
|
|
39
40
|
};
|
|
40
41
|
}
|
|
42
|
+
function resolveBaseFromUserConfig(config, vikeVitePluginOptions) {
|
|
43
|
+
const baseViteOriginal = config.base ?? null;
|
|
44
|
+
return resolveBase(baseViteOriginal, vikeVitePluginOptions?.baseServer ?? null, vikeVitePluginOptions?.baseAssets ?? null);
|
|
45
|
+
}
|
|
@@ -202,7 +202,7 @@ function fixServerAssets_assertCssTarget_populate(config) {
|
|
|
202
202
|
async function fixServerAssets_assertCssTarget(config) {
|
|
203
203
|
if (!fixServerAssets_isEnabled())
|
|
204
204
|
return;
|
|
205
|
-
if (!(await isV1Design(config
|
|
205
|
+
if (!(await isV1Design(config)))
|
|
206
206
|
return;
|
|
207
207
|
const targetsServer = targets.filter((t) => t.isServerSide);
|
|
208
208
|
const targetsClient = targets.filter((t) => !t.isServerSide);
|
|
@@ -2,10 +2,9 @@ export { buildConfig };
|
|
|
2
2
|
export { assertRollupInput };
|
|
3
3
|
export { analyzeClientEntries };
|
|
4
4
|
export { manifestTempFile };
|
|
5
|
-
import { assert, resolveOutDir, viteIsSSR, addOnBeforeLogHook, removeFileExtention, unique, assertUsage, injectRollupInputs, normalizeRollupInput, getOutDirs,
|
|
5
|
+
import { assert, resolveOutDir, viteIsSSR, addOnBeforeLogHook, removeFileExtention, unique, assertUsage, injectRollupInputs, normalizeRollupInput, getOutDirs, onSetupBuild, assertIsNpmPackageImport } from '../utils.js';
|
|
6
6
|
import { getVikeConfig, isV1Design } from './importUserCode/v1-design/getVikeConfig.js';
|
|
7
7
|
import { findPageFiles } from '../shared/findPageFiles.js';
|
|
8
|
-
import { getConfigVike } from '../../shared/getConfigVike.js';
|
|
9
8
|
import { getVirtualFileIdPageConfigValuesAll } from '../../shared/virtual-files/virtualFilePageConfigValuesAll.js';
|
|
10
9
|
import { extractAssetsAddQuery } from '../../shared/extractAssetsQuery.js';
|
|
11
10
|
import { createRequire } from 'module';
|
|
@@ -27,14 +26,14 @@ function buildConfig() {
|
|
|
27
26
|
let config;
|
|
28
27
|
return [
|
|
29
28
|
{
|
|
30
|
-
name: 'vike:buildConfig:
|
|
29
|
+
name: 'vike:buildConfig:post',
|
|
31
30
|
apply: 'build',
|
|
32
31
|
enforce: 'post',
|
|
33
32
|
configResolved: {
|
|
34
33
|
order: 'post',
|
|
35
34
|
async handler(config_) {
|
|
36
35
|
config = config_;
|
|
37
|
-
|
|
36
|
+
onSetupBuild();
|
|
38
37
|
assertRollupInput(config);
|
|
39
38
|
const entries = await getEntries(config);
|
|
40
39
|
assert(Object.keys(entries).length > 0);
|
|
@@ -42,7 +41,7 @@ function buildConfig() {
|
|
|
42
41
|
addLogHook();
|
|
43
42
|
outDirs = getOutDirs(config);
|
|
44
43
|
{
|
|
45
|
-
isServerAssetsFixEnabled = fixServerAssets_isEnabled() && (await isV1Design(config
|
|
44
|
+
isServerAssetsFixEnabled = fixServerAssets_isEnabled() && (await isV1Design(config));
|
|
46
45
|
if (isServerAssetsFixEnabled) {
|
|
47
46
|
// https://github.com/vikejs/vike/issues/1339
|
|
48
47
|
config.build.ssrEmitAssets = true;
|
|
@@ -57,7 +56,7 @@ function buildConfig() {
|
|
|
57
56
|
config: {
|
|
58
57
|
order: 'post',
|
|
59
58
|
handler(config) {
|
|
60
|
-
|
|
59
|
+
onSetupBuild();
|
|
61
60
|
isSsrBuild = viteIsSSR(config);
|
|
62
61
|
return {
|
|
63
62
|
build: {
|
|
@@ -69,14 +68,15 @@ function buildConfig() {
|
|
|
69
68
|
}
|
|
70
69
|
},
|
|
71
70
|
buildStart() {
|
|
72
|
-
|
|
71
|
+
onSetupBuild();
|
|
73
72
|
},
|
|
74
73
|
async closeBundle() {
|
|
74
|
+
onSetupBuild();
|
|
75
75
|
await fixServerAssets_assertCssTarget(config);
|
|
76
76
|
}
|
|
77
77
|
},
|
|
78
78
|
{
|
|
79
|
-
name: 'vike:buildConfig:
|
|
79
|
+
name: 'vike:buildConfig:pre',
|
|
80
80
|
apply: 'build',
|
|
81
81
|
// Make sure other writeBundle() hooks are called after this writeBundle() hook.
|
|
82
82
|
// - set_ASSETS_MAP() needs to be called before dist/server/ code is executed.
|
|
@@ -110,9 +110,9 @@ function buildConfig() {
|
|
|
110
110
|
];
|
|
111
111
|
}
|
|
112
112
|
async function getEntries(config) {
|
|
113
|
-
const
|
|
114
|
-
const
|
|
115
|
-
const
|
|
113
|
+
const vikeConfig = await getVikeConfig(config);
|
|
114
|
+
const { pageConfigs } = vikeConfig;
|
|
115
|
+
const pageFileEntries = await getPageFileEntries(config, vikeConfig.vikeConfigGlobal.includeAssetsImportedByServer); // TODO/v1-release: remove
|
|
116
116
|
assertUsage(Object.keys(pageFileEntries).length !== 0 || pageConfigs.length !== 0, 'At least one page should be defined, see https://vike.dev/add');
|
|
117
117
|
if (viteIsSSR(config)) {
|
|
118
118
|
const pageEntries = getPageEntries(pageConfigs);
|
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
export { commonConfig };
|
|
2
2
|
import { type Plugin } from 'vite';
|
|
3
|
-
declare
|
|
3
|
+
declare module 'vite' {
|
|
4
|
+
interface UserConfig {
|
|
5
|
+
_isDev?: boolean;
|
|
6
|
+
_vikeVitePluginOptions?: unknown;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
declare function commonConfig(vikeVitePluginOptions?: unknown): Plugin[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { commonConfig };
|
|
2
2
|
import { mergeConfig } from 'vite';
|
|
3
|
-
import { assert, assertUsage, assertWarning, findPackageJson, isDocker } from '../utils.js';
|
|
3
|
+
import { assert, assertUsage, assertWarning, findPackageJson, isDevCheck, isDocker } from '../utils.js';
|
|
4
4
|
import { assertRollupInput } from './buildConfig.js';
|
|
5
5
|
import { installRequireShim_setUserRootDir } from '@brillout/require-shim';
|
|
6
6
|
import pc from '@brillout/picocolors';
|
|
@@ -9,11 +9,22 @@ import { assertResolveAlias } from './commonConfig/assertResolveAlias.js';
|
|
|
9
9
|
import { pluginName } from './commonConfig/pluginName.js';
|
|
10
10
|
import { getEnvVarObject } from '../shared/getEnvVarObject.js';
|
|
11
11
|
import { isViteCliCall } from '../shared/isViteCliCall.js';
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
});
|
|
15
|
-
function commonConfig() {
|
|
12
|
+
import { isVikeCliOrApi } from '../../api/context.js';
|
|
13
|
+
function commonConfig(vikeVitePluginOptions = {}) {
|
|
16
14
|
return [
|
|
15
|
+
{
|
|
16
|
+
name: `${pluginName}:pre`,
|
|
17
|
+
enforce: 'pre',
|
|
18
|
+
config: {
|
|
19
|
+
order: 'pre',
|
|
20
|
+
handler(_config, env) {
|
|
21
|
+
return {
|
|
22
|
+
_isDev: isDevCheck(env),
|
|
23
|
+
_vikeVitePluginOptions: vikeVitePluginOptions
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
},
|
|
17
28
|
{
|
|
18
29
|
name: pluginName,
|
|
19
30
|
configResolved(config) {
|
|
@@ -34,6 +45,7 @@ function commonConfig() {
|
|
|
34
45
|
assertRollupInput(config);
|
|
35
46
|
assertResolveAlias(config);
|
|
36
47
|
assertEsm(config.root);
|
|
48
|
+
assertVikeCliOrApi(config);
|
|
37
49
|
}
|
|
38
50
|
},
|
|
39
51
|
config: {
|
|
@@ -97,3 +109,22 @@ function assertSingleInstance(config) {
|
|
|
97
109
|
const numberOfInstances = config.plugins.filter((o) => o.name === pluginName).length;
|
|
98
110
|
assertUsage(numberOfInstances === 1, `Vike's Vite plugin (${pc.cyan("import vike from 'vike/plugin'")}) is being added ${numberOfInstances} times to the list of Vite plugins. Make sure to add it only once instead.`);
|
|
99
111
|
}
|
|
112
|
+
function assertVikeCliOrApi(config) {
|
|
113
|
+
if (isVikeCliOrApi())
|
|
114
|
+
return;
|
|
115
|
+
if (isViteCliCall()) {
|
|
116
|
+
assertWarning(false, `Vite's CLI is deprecated ${pc.underline('https://vike.dev/migration/cli')}`, {
|
|
117
|
+
onlyOnce: true
|
|
118
|
+
});
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
if (config.server.middlewareMode) {
|
|
122
|
+
assertWarning(false, `${pc.cyan('vite.createServer()')} is deprecated ${pc.underline('https://vike.dev/migration/cli#api')}`, {
|
|
123
|
+
onlyOnce: true
|
|
124
|
+
});
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
assertWarning(false, `Vite's JavaScript API is deprecated ${pc.underline('https://vike.dev/migration/cli#api')}`, {
|
|
128
|
+
onlyOnce: true
|
|
129
|
+
});
|
|
130
|
+
}
|
|
@@ -6,9 +6,9 @@ import { analyzeClientEntries } from '../buildConfig.js';
|
|
|
6
6
|
import { virtualFileIdImportUserCodeClientCR, virtualFileIdImportUserCodeClientSR } from '../../../shared/virtual-files/virtualFileImportUserCode.js';
|
|
7
7
|
import { getFilePathResolved } from '../../shared/getFilePath.js';
|
|
8
8
|
const debug = createDebugger('vike:optimizeDeps');
|
|
9
|
-
async function determineOptimizeDeps(config
|
|
10
|
-
const { pageConfigs } = await getVikeConfig(config
|
|
11
|
-
const { entries, include } = await getPageDeps(config, pageConfigs
|
|
9
|
+
async function determineOptimizeDeps(config) {
|
|
10
|
+
const { pageConfigs } = await getVikeConfig(config);
|
|
11
|
+
const { entries, include } = await getPageDeps(config, pageConfigs);
|
|
12
12
|
{
|
|
13
13
|
// This actually doesn't work: Vite's dep optimizer doesn't seem to be able to crawl virtual files.
|
|
14
14
|
// - Should we make it work? E.g. by creating a temporary file at node_modules/.vike/virtualFiles.js
|
|
@@ -28,7 +28,7 @@ async function determineOptimizeDeps(config, isDev) {
|
|
|
28
28
|
'config.optimizeDeps.include': config.optimizeDeps.include
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
|
-
async function getPageDeps(config, pageConfigs
|
|
31
|
+
async function getPageDeps(config, pageConfigs) {
|
|
32
32
|
let entries = [];
|
|
33
33
|
let include = [];
|
|
34
34
|
const addEntry = (e) => {
|
|
@@ -67,7 +67,7 @@ async function getPageDeps(config, pageConfigs, isDev) {
|
|
|
67
67
|
}
|
|
68
68
|
// V0.4 design
|
|
69
69
|
{
|
|
70
|
-
const pageFiles = await findPageFiles(config, ['.page', '.page.client'],
|
|
70
|
+
const pageFiles = await findPageFiles(config, ['.page', '.page.client'], true);
|
|
71
71
|
const userRootDir = config.root;
|
|
72
72
|
pageFiles.forEach((filePathAbsoluteUserRootDir) => {
|
|
73
73
|
const entry = getFilePathResolved({ filePathAbsoluteUserRootDir, userRootDir });
|
|
@@ -3,7 +3,7 @@ export { logDockerHint };
|
|
|
3
3
|
import { determineOptimizeDeps } from './determineOptimizeDeps.js';
|
|
4
4
|
import { determineFsAllowList } from './determineFsAllowList.js';
|
|
5
5
|
import { addSsrMiddleware } from '../../shared/addSsrMiddleware.js';
|
|
6
|
-
import { applyDev, assertWarning, isDocker
|
|
6
|
+
import { applyDev, assertWarning, isDocker } from '../../utils.js';
|
|
7
7
|
import { improveViteLogs } from '../../shared/loggerVite.js';
|
|
8
8
|
import { isErrorDebug } from '../../../shared/isErrorDebug.js';
|
|
9
9
|
import { installHttpRequestAsyncStore } from '../../shared/getHttpRequestAsyncStore.js';
|
|
@@ -58,16 +58,13 @@ function devConfig() {
|
|
|
58
58
|
},
|
|
59
59
|
async configResolved(config_) {
|
|
60
60
|
config = config_;
|
|
61
|
-
await determineOptimizeDeps(config
|
|
61
|
+
await determineOptimizeDeps(config);
|
|
62
62
|
await determineFsAllowList(config);
|
|
63
63
|
if (!isErrorDebug()) {
|
|
64
64
|
await installHttpRequestAsyncStore();
|
|
65
65
|
improveViteLogs(config);
|
|
66
66
|
}
|
|
67
67
|
logDockerHint(config.server.host);
|
|
68
|
-
},
|
|
69
|
-
configureServer() {
|
|
70
|
-
markEnvAsViteDev();
|
|
71
68
|
}
|
|
72
69
|
},
|
|
73
70
|
{
|
|
@@ -9,7 +9,6 @@ export { extractAssetsRE };
|
|
|
9
9
|
import { viteIsSSR_options, assert, assertPosixPath, styleFileRE, createDebugger, isScriptFile, assertUsage } from '../utils.js';
|
|
10
10
|
import { resolveVirtualFileId, isVirtualFileId, getVirtualFileId } from '../../shared/virtual-files.js';
|
|
11
11
|
import { extractAssetsAddQuery } from '../../shared/extractAssetsQuery.js';
|
|
12
|
-
import { getConfigVike } from '../../shared/getConfigVike.js';
|
|
13
12
|
import { isAsset } from '../shared/isAsset.js';
|
|
14
13
|
import { getImportStatements } from '../shared/parseEsModule.js';
|
|
15
14
|
import { sourceMapRemove } from '../shared/rollupSourceMap.js';
|
|
@@ -25,7 +24,6 @@ const EMPTY_MODULE_ID = 'virtual:vike:empty-module';
|
|
|
25
24
|
const debug = createDebugger('vike:extractAssets');
|
|
26
25
|
function extractAssetsPlugin() {
|
|
27
26
|
let config;
|
|
28
|
-
let configVike;
|
|
29
27
|
let vikeConfig;
|
|
30
28
|
let isServerAssetsFixEnabled;
|
|
31
29
|
return [
|
|
@@ -45,7 +43,7 @@ function extractAssetsPlugin() {
|
|
|
45
43
|
assertV1Design(vikeConfig.pageConfigs, true);
|
|
46
44
|
assert(false);
|
|
47
45
|
}
|
|
48
|
-
assert(
|
|
46
|
+
assert(vikeConfig.vikeConfigGlobal.includeAssetsImportedByServer);
|
|
49
47
|
assert(!viteIsSSR_options(options));
|
|
50
48
|
const importStatements = await getImportStatements(src);
|
|
51
49
|
const moduleNames = getImportedModules(importStatements);
|
|
@@ -78,7 +76,7 @@ function extractAssetsPlugin() {
|
|
|
78
76
|
if (!extractAssetsRE.test(importer)) {
|
|
79
77
|
return;
|
|
80
78
|
}
|
|
81
|
-
assert(
|
|
79
|
+
assert(vikeConfig.vikeConfigGlobal.includeAssetsImportedByServer);
|
|
82
80
|
let resolution = null;
|
|
83
81
|
try {
|
|
84
82
|
resolution = await this.resolve(source, importer, { skipSelf: true, ...options });
|
|
@@ -137,10 +135,9 @@ function extractAssetsPlugin() {
|
|
|
137
135
|
{
|
|
138
136
|
name: 'vike:extractAssets-4',
|
|
139
137
|
async configResolved(config_) {
|
|
140
|
-
configVike = await getConfigVike(config_);
|
|
141
138
|
config = config_;
|
|
142
|
-
vikeConfig = await getVikeConfig(config
|
|
143
|
-
isServerAssetsFixEnabled = fixServerAssets_isEnabled() && (await isV1Design(config
|
|
139
|
+
vikeConfig = await getVikeConfig(config);
|
|
140
|
+
isServerAssetsFixEnabled = fixServerAssets_isEnabled() && (await isV1Design(config));
|
|
144
141
|
if (!isServerAssetsFixEnabled) {
|
|
145
142
|
// https://github.com/vikejs/vike/issues/1060
|
|
146
143
|
assertUsage(!config.plugins.find((p) => p.name === 'vite-tsconfig-paths'), 'vite-tsconfig-paths not supported, remove it and use vite.config.js#resolve.alias instead');
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { getVikeManifest };
|
|
2
2
|
import { type PluginManifest } from '../../../shared/assertPluginManifest.js';
|
|
3
|
-
import type {
|
|
4
|
-
|
|
3
|
+
import type { VikeConfigGlobal } from '../importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js';
|
|
4
|
+
import type { ResolvedConfig } from 'vite';
|
|
5
|
+
declare function getVikeManifest(vikeConfigGlobal: VikeConfigGlobal, viteConfig: ResolvedConfig): PluginManifest;
|
|
@@ -3,8 +3,8 @@ import { projectInfo } from '../../utils.js';
|
|
|
3
3
|
import { assertPluginManifest } from '../../../shared/assertPluginManifest.js';
|
|
4
4
|
import { isUsingClientRouter } from '../extractExportNamesPlugin.js';
|
|
5
5
|
import { getRuntimeManifest } from '../../../runtime/globalContext.js';
|
|
6
|
-
function getVikeManifest(
|
|
7
|
-
const runtimeManifest = getRuntimeManifest(
|
|
6
|
+
function getVikeManifest(vikeConfigGlobal, viteConfig) {
|
|
7
|
+
const runtimeManifest = getRuntimeManifest(vikeConfigGlobal, viteConfig);
|
|
8
8
|
const manifest = {
|
|
9
9
|
version: projectInfo.projectVersion,
|
|
10
10
|
usesClientRouter: isUsingClientRouter(), // TODO/v1-release: remove
|
|
@@ -4,37 +4,39 @@ import { serverProductionEntryPlugin } from '@brillout/vite-plugin-server-entry/
|
|
|
4
4
|
import { assert, getOutDirs, toPosixPath } from '../../utils.js';
|
|
5
5
|
import path from 'path';
|
|
6
6
|
import { createRequire } from 'module';
|
|
7
|
-
import { getConfigVike } from '../../../shared/getConfigVike.js';
|
|
8
7
|
import { getVikeManifest } from './getVikeManifest.js';
|
|
9
8
|
import fs from 'fs/promises';
|
|
10
9
|
import { virtualFileIdImportUserCodeServer } from '../../../shared/virtual-files/virtualFileImportUserCode.js';
|
|
10
|
+
import { getVikeConfig } from '../importUserCode/v1-design/getVikeConfig.js';
|
|
11
11
|
// @ts-ignore Shimmed by dist-cjs-fixup.js for CJS build.
|
|
12
12
|
const importMetaUrl = import.meta.url;
|
|
13
13
|
const require_ = createRequire(importMetaUrl);
|
|
14
14
|
const ASSETS_MAP = '__VITE_ASSETS_MAP__';
|
|
15
15
|
function importBuild() {
|
|
16
16
|
let config;
|
|
17
|
-
let
|
|
17
|
+
let vikeConfigGlobal;
|
|
18
18
|
return [
|
|
19
19
|
{
|
|
20
20
|
name: 'vike:importBuild:config',
|
|
21
21
|
enforce: 'post',
|
|
22
22
|
async configResolved(config_) {
|
|
23
23
|
config = config_;
|
|
24
|
-
|
|
24
|
+
const vikeConfig = await getVikeConfig(config);
|
|
25
|
+
vikeConfigGlobal = vikeConfig.vikeConfigGlobal;
|
|
25
26
|
}
|
|
26
27
|
},
|
|
27
28
|
...serverProductionEntryPlugin({
|
|
28
29
|
getServerProductionEntry: () => {
|
|
29
|
-
return getServerProductionEntryCode(config,
|
|
30
|
+
return getServerProductionEntryCode(config, vikeConfigGlobal);
|
|
30
31
|
},
|
|
31
32
|
libraryName: 'Vike'
|
|
32
33
|
})
|
|
33
34
|
];
|
|
34
35
|
}
|
|
35
|
-
function getServerProductionEntryCode(config,
|
|
36
|
+
function getServerProductionEntryCode(config, vikeConfigGlobal) {
|
|
36
37
|
const importPath = getImportPath(config);
|
|
37
|
-
const vikeManifest = getVikeManifest(
|
|
38
|
+
const vikeManifest = getVikeManifest(vikeConfigGlobal, config);
|
|
39
|
+
// Let's eventually simplify and move everything to a single virtual module
|
|
38
40
|
const importerCode = [
|
|
39
41
|
` import { setImportBuildGetters } from '${importPath}';`,
|
|
40
42
|
` import * as pageFiles from '${virtualFileIdImportUserCodeServer}';`,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { getVirtualFileImportUserCode };
|
|
2
2
|
import type { ResolvedConfig } from 'vite';
|
|
3
|
-
import type {
|
|
3
|
+
import type { VikeConfigGlobal } from './v1-design/getVikeConfig/resolveVikeConfigGlobal.js';
|
|
4
4
|
declare function getVirtualFileImportUserCode(id: string, options: {
|
|
5
5
|
ssr?: boolean;
|
|
6
|
-
} | undefined,
|
|
6
|
+
} | undefined, vikeConfigGlobal: VikeConfigGlobal, config: ResolvedConfig, isDev: boolean): Promise<string>;
|
|
@@ -6,16 +6,16 @@ import { fileTypes } from '../../../../shared/getPageFiles/fileTypes.js';
|
|
|
6
6
|
import path from 'path';
|
|
7
7
|
import { getVirtualFilePageConfigs } from './v1-design/getVirtualFilePageConfigs.js';
|
|
8
8
|
import { isV1Design as isV1Design_ } from './v1-design/getVikeConfig.js';
|
|
9
|
-
async function getVirtualFileImportUserCode(id, options,
|
|
9
|
+
async function getVirtualFileImportUserCode(id, options, vikeConfigGlobal, config, isDev) {
|
|
10
10
|
const idParsed = isVirtualFileIdImportUserCode(id);
|
|
11
11
|
assert(idParsed);
|
|
12
12
|
const { isForClientSide, isClientRouting } = idParsed;
|
|
13
13
|
assert(isForClientSide === !viteIsSSR_options(options));
|
|
14
|
-
const isPrerendering = !!
|
|
15
|
-
const code = await getCode(config,
|
|
14
|
+
const isPrerendering = !!vikeConfigGlobal.prerender;
|
|
15
|
+
const code = await getCode(config, vikeConfigGlobal, isForClientSide, isClientRouting, isPrerendering, isDev, id);
|
|
16
16
|
return code;
|
|
17
17
|
}
|
|
18
|
-
async function getCode(config,
|
|
18
|
+
async function getCode(config, vikeConfigGlobal, isForClientSide, isClientRouting, isPrerendering, isDev, id) {
|
|
19
19
|
const { command } = config;
|
|
20
20
|
assert(command === 'serve' || command === 'build');
|
|
21
21
|
const isBuild = command === 'build';
|
|
@@ -24,7 +24,7 @@ async function getCode(config, configVike, isForClientSide, isClientRouting, isP
|
|
|
24
24
|
{
|
|
25
25
|
const globRoots = getGlobRoots(config);
|
|
26
26
|
debugGlob('Glob roots: ', globRoots);
|
|
27
|
-
content += await generateGlobImports(globRoots, isBuild, isForClientSide, isClientRouting,
|
|
27
|
+
content += await generateGlobImports(globRoots, isBuild, isForClientSide, isClientRouting, vikeConfigGlobal, isPrerendering, config, isDev, id);
|
|
28
28
|
}
|
|
29
29
|
debugGlob(`Glob imports for ${isForClientSide ? 'client' : 'server'}:\n`, content);
|
|
30
30
|
return content;
|
|
@@ -54,7 +54,7 @@ function determineInjection({ fileType, isForClientSide, isClientRouting, isPrer
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
async function generateGlobImports(globRoots, isBuild, isForClientSide, isClientRouting,
|
|
57
|
+
async function generateGlobImports(globRoots, isBuild, isForClientSide, isClientRouting, vikeConfigGlobal, isPrerendering, config, isDev, id) {
|
|
58
58
|
let fileContent = `// Generated by https://github.com/vikejs/vike/blob/main/vike/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.ts
|
|
59
59
|
|
|
60
60
|
export const pageFilesLazy = {};
|
|
@@ -68,7 +68,7 @@ ${await getVirtualFilePageConfigs(isForClientSide, isDev, id, isClientRouting, c
|
|
|
68
68
|
|
|
69
69
|
`;
|
|
70
70
|
// We still use import.meta.glob() when using th V1 design in order to not break the V1 design deprecation warning
|
|
71
|
-
const isV1Design = await isV1Design_(config
|
|
71
|
+
const isV1Design = await isV1Design_(config);
|
|
72
72
|
fileTypes
|
|
73
73
|
.filter((fileType) => fileType !== '.css')
|
|
74
74
|
.forEach((fileType) => {
|
|
@@ -86,7 +86,7 @@ ${await getVirtualFilePageConfigs(isForClientSide, isDev, id, isClientRouting, c
|
|
|
86
86
|
fileContent += getGlobs(globRoots, isBuild, fileType, 'extractExportNames', isV1Design);
|
|
87
87
|
}
|
|
88
88
|
});
|
|
89
|
-
if (
|
|
89
|
+
if (vikeConfigGlobal.includeAssetsImportedByServer && isForClientSide) {
|
|
90
90
|
fileContent += getGlobs(globRoots, isBuild, '.page.server', 'extractAssets', isV1Design);
|
|
91
91
|
}
|
|
92
92
|
return fileContent;
|
|
@@ -1,32 +1,27 @@
|
|
|
1
1
|
export { importUserCode };
|
|
2
2
|
import { normalizePath } from 'vite';
|
|
3
|
-
import { getConfigVike } from '../../../shared/getConfigVike.js';
|
|
4
3
|
import { getVirtualFilePageConfigValuesAll } from './v1-design/getVirtualFilePageConfigValuesAll.js';
|
|
5
4
|
import { getVirtualFileImportUserCode } from './getVirtualFileImportUserCode.js';
|
|
6
|
-
import { assert, assertPosixPath
|
|
5
|
+
import { assert, assertPosixPath } from '../../utils.js';
|
|
7
6
|
import { resolveVirtualFileId, isVirtualFileId, getVirtualFileId } from '../../../shared/virtual-files.js';
|
|
8
7
|
import { isVirtualFileIdPageConfigValuesAll } from '../../../shared/virtual-files/virtualFilePageConfigValuesAll.js';
|
|
9
8
|
import { isVirtualFileIdImportUserCode } from '../../../shared/virtual-files/virtualFileImportUserCode.js';
|
|
10
|
-
import { vikeConfigDependencies, reloadVikeConfig, isVikeConfigFile, isV1Design } from './v1-design/getVikeConfig.js';
|
|
9
|
+
import { vikeConfigDependencies, reloadVikeConfig, isVikeConfigFile, isV1Design, getVikeConfig } from './v1-design/getVikeConfig.js';
|
|
11
10
|
import pc from '@brillout/picocolors';
|
|
12
11
|
import { logConfigInfo } from '../../shared/loggerNotProd.js';
|
|
13
12
|
import { getModuleFilePathAbsolute } from '../../shared/getFilePath.js';
|
|
14
13
|
function importUserCode() {
|
|
15
14
|
let config;
|
|
16
|
-
let
|
|
17
|
-
let isDev;
|
|
15
|
+
let vikeConfigGlobal;
|
|
18
16
|
return {
|
|
19
17
|
name: 'vike:importUserCode',
|
|
20
|
-
config(_, env) {
|
|
21
|
-
isDev = isDevCheck(env);
|
|
22
|
-
},
|
|
23
18
|
async configResolved(config_) {
|
|
24
|
-
|
|
19
|
+
const vikeConfig = await getVikeConfig(config_);
|
|
20
|
+
vikeConfigGlobal = vikeConfig.vikeConfigGlobal;
|
|
25
21
|
config = config_;
|
|
26
22
|
// TODO/v1-release: remove
|
|
27
23
|
{
|
|
28
|
-
|
|
29
|
-
const isV1 = await isV1Design(config, isDev);
|
|
24
|
+
const isV1 = await isV1Design(config);
|
|
30
25
|
if (!isV1)
|
|
31
26
|
config.experimental.importGlobRestoreExtension = true;
|
|
32
27
|
}
|
|
@@ -50,13 +45,14 @@ function importUserCode() {
|
|
|
50
45
|
if (!isVirtualFileId(id))
|
|
51
46
|
return undefined;
|
|
52
47
|
id = getVirtualFileId(id);
|
|
48
|
+
const isDev = config._isDev;
|
|
53
49
|
assert(typeof isDev === 'boolean');
|
|
54
50
|
if (isVirtualFileIdPageConfigValuesAll(id)) {
|
|
55
51
|
const code = await getVirtualFilePageConfigValuesAll(id, isDev, config);
|
|
56
52
|
return code;
|
|
57
53
|
}
|
|
58
54
|
if (isVirtualFileIdImportUserCode(id)) {
|
|
59
|
-
const code = await getVirtualFileImportUserCode(id, options,
|
|
55
|
+
const code = await getVirtualFileImportUserCode(id, options, vikeConfigGlobal, config, isDev);
|
|
60
56
|
return code;
|
|
61
57
|
}
|
|
62
58
|
},
|
|
@@ -83,8 +79,6 @@ function handleFileAddRemove(server, config) {
|
|
|
83
79
|
}
|
|
84
80
|
function handleHotUpdate(ctx, config) {
|
|
85
81
|
const { file, server } = ctx;
|
|
86
|
-
assertPosixPath(file);
|
|
87
|
-
vikeConfigDependencies.forEach((f) => assertPosixPath(f));
|
|
88
82
|
const isVikeConfig = isVikeConfigModule(file);
|
|
89
83
|
const isViteModule = ctx.modules.length > 0;
|
|
90
84
|
/* Should we show this?
|
|
@@ -114,6 +108,8 @@ function handleHotUpdate(ctx, config) {
|
|
|
114
108
|
}
|
|
115
109
|
}
|
|
116
110
|
function isVikeConfigModule(filePathAbsoluteFilesystem) {
|
|
111
|
+
assertPosixPath(filePathAbsoluteFilesystem);
|
|
112
|
+
vikeConfigDependencies.forEach((f) => assertPosixPath(f));
|
|
117
113
|
return vikeConfigDependencies.has(filePathAbsoluteFilesystem);
|
|
118
114
|
}
|
|
119
115
|
function reloadConfig(filePath, config, op) {
|
|
@@ -122,7 +118,7 @@ function reloadConfig(filePath, config, op) {
|
|
|
122
118
|
const msg = `${op} ${pc.dim(filePathToShowToUserResolved)}`;
|
|
123
119
|
logConfigInfo(msg, 'info');
|
|
124
120
|
}
|
|
125
|
-
reloadVikeConfig(config
|
|
121
|
+
reloadVikeConfig(config);
|
|
126
122
|
}
|
|
127
123
|
function getVirtualModules(server) {
|
|
128
124
|
const virtualModules = Array.from(server.moduleGraph.urlToModuleMap.keys())
|
package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { crawlPlusFiles };
|
|
2
|
-
declare function crawlPlusFiles(userRootDir: string, outDirAbsoluteFilesystem:
|
|
2
|
+
declare function crawlPlusFiles(userRootDir: string, outDirAbsoluteFilesystem: null | string): Promise<{
|
|
3
3
|
filePathAbsoluteUserRootDir: string;
|
|
4
4
|
}[]>;
|