vike 0.4.225-commit-2b7971f → 0.4.225-commit-6fc12fc
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/node/api/build.js +7 -7
- package/dist/cjs/node/api/dev.js +2 -2
- package/dist/cjs/node/api/prepareViteApiCall.js +45 -30
- package/dist/cjs/node/api/prerender.js +2 -3
- package/dist/cjs/node/api/preview.js +25 -6
- package/dist/cjs/node/api/utils.js +1 -0
- package/dist/cjs/node/cli/entry.js +4 -2
- package/dist/cjs/node/cli/parseCli.js +10 -4
- package/dist/cjs/node/plugin/plugins/build/pluginAutoFullBuild.js +2 -2
- package/dist/cjs/node/plugin/plugins/build/pluginModuleBanner.js +51 -0
- package/dist/cjs/node/plugin/plugins/build.js +3 -1
- package/dist/cjs/node/plugin/plugins/commonConfig.js +4 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +4 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +19 -6
- package/dist/cjs/node/plugin/shared/getEnvVarObject.js +7 -0
- package/dist/cjs/node/prerender/runPrerender.js +2 -2
- package/dist/cjs/node/prerender/utils.js +1 -1
- package/dist/cjs/node/runtime/globalContext.js +8 -4
- package/dist/cjs/node/runtime/utils.js +1 -1
- package/dist/cjs/node/runtime-dev/createDevMiddleware.js +2 -2
- package/dist/cjs/node/shared/utils.js +1 -1
- package/dist/cjs/node/shared/virtual-files.js +14 -10
- package/dist/cjs/shared/modifyUrl.js +3 -5
- package/dist/cjs/shared/modifyUrlSameOrigin.js +42 -0
- package/dist/cjs/shared/utils.js +2 -1
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/isNullish.js +16 -0
- package/dist/cjs/utils/objectFilter.js +10 -0
- package/dist/cjs/utils/pick.js +12 -0
- package/dist/esm/client/client-routing-runtime/navigate.d.ts +6 -5
- package/dist/esm/client/client-routing-runtime/navigate.js +6 -2
- package/dist/esm/client/client-routing-runtime/normalizeUrlArgument.js +1 -1
- package/dist/esm/node/api/build.js +7 -7
- package/dist/esm/node/api/dev.js +2 -2
- package/dist/esm/node/api/prepareViteApiCall.d.ts +2 -1
- package/dist/esm/node/api/prepareViteApiCall.js +47 -32
- package/dist/esm/node/api/prerender.js +2 -3
- package/dist/esm/node/api/preview.d.ts +1 -1
- package/dist/esm/node/api/preview.js +22 -6
- package/dist/esm/node/api/utils.d.ts +1 -0
- package/dist/esm/node/api/utils.js +1 -0
- package/dist/esm/node/cli/entry.js +4 -2
- package/dist/esm/node/cli/parseCli.js +10 -4
- package/dist/esm/node/plugin/plugins/build/pluginAutoFullBuild.js +2 -2
- package/dist/esm/node/plugin/plugins/build/pluginModuleBanner.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/build/pluginModuleBanner.js +49 -0
- package/dist/esm/node/plugin/plugins/build.js +3 -1
- package/dist/esm/node/plugin/plugins/commonConfig.d.ts +3 -1
- package/dist/esm/node/plugin/plugins/commonConfig.js +4 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +4 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +8 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +19 -6
- package/dist/esm/node/plugin/shared/getEnvVarObject.js +7 -0
- package/dist/esm/node/prerender/runPrerender.js +2 -2
- 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 +2 -3
- package/dist/esm/node/runtime/globalContext.js +8 -4
- package/dist/esm/node/runtime/utils.d.ts +1 -1
- package/dist/esm/node/runtime/utils.js +1 -1
- package/dist/esm/node/runtime-dev/createDevMiddleware.js +2 -2
- package/dist/esm/node/shared/utils.d.ts +1 -1
- package/dist/esm/node/shared/utils.js +1 -1
- package/dist/esm/node/shared/virtual-files.d.ts +2 -0
- package/dist/esm/node/shared/virtual-files.js +14 -10
- package/dist/esm/shared/modifyUrl.d.ts +2 -2
- package/dist/esm/shared/modifyUrl.js +3 -5
- package/dist/esm/shared/modifyUrlSameOrigin.d.ts +9 -0
- package/dist/esm/shared/modifyUrlSameOrigin.js +40 -0
- package/dist/esm/shared/page-configs/Config.d.ts +6 -0
- package/dist/esm/shared/utils.d.ts +2 -1
- package/dist/esm/shared/utils.js +2 -1
- package/dist/esm/types/index.d.ts +0 -1
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/isNullish.d.ts +3 -0
- package/dist/esm/utils/isNullish.js +11 -0
- package/dist/esm/utils/objectFilter.d.ts +1 -0
- package/dist/esm/utils/objectFilter.js +7 -0
- package/dist/esm/utils/pick.d.ts +1 -0
- package/dist/esm/utils/pick.js +9 -0
- package/package.json +2 -2
- package/dist/cjs/utils/isNotNullish.js +0 -5
- package/dist/esm/utils/isNotNullish.d.ts +0 -1
- package/dist/esm/utils/isNotNullish.js +0 -1
|
@@ -5,6 +5,7 @@ export { reloadVikeConfig };
|
|
|
5
5
|
export { isV1Design };
|
|
6
6
|
export { getConfVal };
|
|
7
7
|
export { getConfigDefinitionOptional };
|
|
8
|
+
export { getVikeConfigFromCliOrEnv };
|
|
8
9
|
export { isOverriden };
|
|
9
10
|
export type { VikeConfigObject };
|
|
10
11
|
import type { PageConfigGlobalBuildTime, ConfigValueSource, PageConfigBuildTime } from '../../../../../shared/page-configs/PageConfig.js';
|
|
@@ -26,6 +27,13 @@ declare function getVikeConfig(config: ResolvedConfig, { doNotRestartViteOnError
|
|
|
26
27
|
declare function getVikeConfig2(userRootDir: string, isDev: boolean, vikeVitePluginOptions: unknown): Promise<VikeConfigObject>;
|
|
27
28
|
declare function getVikeConfigOptional(): Promise<null | VikeConfigObject>;
|
|
28
29
|
declare function isV1Design(config: ResolvedConfig | UserConfig): boolean;
|
|
30
|
+
declare function getVikeConfigFromCliOrEnv(): {
|
|
31
|
+
vikeConfigFromCliOrEnv: {
|
|
32
|
+
[x: string]: unknown;
|
|
33
|
+
};
|
|
34
|
+
configFromCliOptions: import("../../../../cli/parseCli.js").CliOptions | null;
|
|
35
|
+
configFromEnvVar: Record<string, unknown> | null;
|
|
36
|
+
};
|
|
29
37
|
declare function getConfigDefinitionOptional(configDefinitions: ConfigDefinitions, configName: string): ConfigDefinitionInternal | null;
|
|
30
38
|
declare function getConfVal(plusFile: PlusFile, configName: string): null | {
|
|
31
39
|
value: unknown;
|
|
@@ -5,6 +5,7 @@ export { reloadVikeConfig };
|
|
|
5
5
|
export { isV1Design };
|
|
6
6
|
export { getConfVal };
|
|
7
7
|
export { getConfigDefinitionOptional };
|
|
8
|
+
export { getVikeConfigFromCliOrEnv };
|
|
8
9
|
export { isOverriden };
|
|
9
10
|
import { assertPosixPath, assert, isObject, assertUsage, assertWarning, objectEntries, hasProp, includes, assertIsNotProductionRuntime, getMostSimilar, joinEnglish, assertKeys, objectKeys, objectFromEntries, unique, isCallable, makeFirst, lowerFirst, makeLast, assertIsSingleModuleInstance } from '../../../utils.js';
|
|
10
11
|
import { configDefinitionsBuiltIn } from './getVikeConfig/configDefinitionsBuiltIn.js';
|
|
@@ -390,15 +391,14 @@ function setCliAndApiOptions(pageConfigGlobal, configDefinitionsResolved) {
|
|
|
390
391
|
if (apiOperation?.options.vikeConfig) {
|
|
391
392
|
addSources(apiOperation.options.vikeConfig, { definedBy: 'api', operation: apiOperation.operation }, false);
|
|
392
393
|
}
|
|
394
|
+
const { configFromCliOptions, configFromEnvVar } = getVikeConfigFromCliOrEnv();
|
|
393
395
|
// Vike CLI options
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
addSources(cliOptions, { definedBy: 'cli' }, true);
|
|
396
|
+
if (configFromCliOptions) {
|
|
397
|
+
addSources(configFromCliOptions, { definedBy: 'cli' }, true);
|
|
397
398
|
}
|
|
398
399
|
// VIKE_CONFIG [highest precedence]
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
addSources(configFromEnv, { definedBy: 'env' }, false);
|
|
400
|
+
if (configFromEnvVar) {
|
|
401
|
+
addSources(configFromEnvVar, { definedBy: 'env' }, false);
|
|
402
402
|
}
|
|
403
403
|
return;
|
|
404
404
|
function addSources(configValues, definedBy, exitOnError) {
|
|
@@ -411,6 +411,19 @@ function setCliAndApiOptions(pageConfigGlobal, configDefinitionsResolved) {
|
|
|
411
411
|
});
|
|
412
412
|
}
|
|
413
413
|
}
|
|
414
|
+
function getVikeConfigFromCliOrEnv() {
|
|
415
|
+
const configFromCliOptions = getCliOptions();
|
|
416
|
+
const configFromEnvVar = getEnvVarObject('VIKE_CONFIG');
|
|
417
|
+
const vikeConfigFromCliOrEnv = {
|
|
418
|
+
...configFromCliOptions, // Lower precedence
|
|
419
|
+
...configFromEnvVar // Higher precedence
|
|
420
|
+
};
|
|
421
|
+
return {
|
|
422
|
+
vikeConfigFromCliOrEnv,
|
|
423
|
+
configFromCliOptions,
|
|
424
|
+
configFromEnvVar
|
|
425
|
+
};
|
|
426
|
+
}
|
|
414
427
|
function getSourceNonConfigFile(configName, value, definedAt) {
|
|
415
428
|
assert(includes(objectKeys(configDefinitionsBuiltIn), configName));
|
|
416
429
|
const configDef = configDefinitionsBuiltIn[configName];
|
|
@@ -18,8 +18,15 @@ function parseJson5(valueStr, what) {
|
|
|
18
18
|
value = JSON5.parse(valueStr);
|
|
19
19
|
}
|
|
20
20
|
catch (err) {
|
|
21
|
+
if (isNotJavaScriptLike(valueStr)) {
|
|
22
|
+
// Interpret as string
|
|
23
|
+
return valueStr;
|
|
24
|
+
}
|
|
21
25
|
console.error(err);
|
|
22
26
|
assertUsage(false, `Cannot parse ${pc.cyan(what)} (see error above) because it's set to the following which isn't a valid JSON5 string: ${pc.bold(valueStr)}`);
|
|
23
27
|
}
|
|
24
28
|
return value;
|
|
25
29
|
}
|
|
30
|
+
function isNotJavaScriptLike(valueStr) {
|
|
31
|
+
return ![':', ',', '{', '}', '(', ')'].some((c) => valueStr.includes(c));
|
|
32
|
+
}
|
|
@@ -38,8 +38,8 @@ async function runPrerenderFromAPI(options = {}) {
|
|
|
38
38
|
}
|
|
39
39
|
async function runPrerenderFromCLIPrerenderCommand() {
|
|
40
40
|
try {
|
|
41
|
-
const {
|
|
42
|
-
await runPrerender({ viteConfig:
|
|
41
|
+
const { viteConfigFromUserEnhanced } = await prepareViteApiCall({}, 'prerender');
|
|
42
|
+
await runPrerender({ viteConfig: viteConfigFromUserEnhanced }, '$ vike prerender');
|
|
43
43
|
}
|
|
44
44
|
catch (err) {
|
|
45
45
|
console.error(err);
|
|
@@ -15,4 +15,4 @@ export * from '../../utils/isArray.js';
|
|
|
15
15
|
export * from '../../utils/isObject.js';
|
|
16
16
|
export * from '../../utils/changeEnumerable.js';
|
|
17
17
|
export * from '../../utils/makePublicCopy.js';
|
|
18
|
-
export * from '../../utils/
|
|
18
|
+
export * from '../../utils/isNullish.js';
|
|
@@ -17,4 +17,4 @@ export * from '../../utils/isArray.js';
|
|
|
17
17
|
export * from '../../utils/isObject.js';
|
|
18
18
|
export * from '../../utils/changeEnumerable.js';
|
|
19
19
|
export * from '../../utils/makePublicCopy.js';
|
|
20
|
-
export * from '../../utils/
|
|
20
|
+
export * from '../../utils/isNullish.js';
|
|
@@ -21,7 +21,6 @@ export type { GlobalContextPublic };
|
|
|
21
21
|
import type { ViteManifest } from '../shared/ViteManifest.js';
|
|
22
22
|
import type { ResolvedConfig, ViteDevServer } from 'vite';
|
|
23
23
|
import type { PageConfigUserFriendly, PageConfigsUserFriendly } from '../../shared/page-configs/getPageConfigUserFriendly.js';
|
|
24
|
-
import type { ConfigVitePluginServerEntry } from '@brillout/vite-plugin-server-entry/plugin';
|
|
25
24
|
import { type BaseUrlsResolved } from '../shared/resolveBase.js';
|
|
26
25
|
type PageRuntimeInfo = Awaited<ReturnType<typeof getUserFiles>>;
|
|
27
26
|
type GlobalContextInternal = GlobalContext & {
|
|
@@ -84,11 +83,11 @@ type BuildInfo = {
|
|
|
84
83
|
viteConfigRuntime: {
|
|
85
84
|
_baseViteOriginal: string;
|
|
86
85
|
vitePluginServerEntry: {
|
|
87
|
-
inject?:
|
|
86
|
+
inject?: boolean;
|
|
88
87
|
};
|
|
89
88
|
};
|
|
90
89
|
};
|
|
91
90
|
declare function assertBuildInfo(buildInfo: unknown): asserts buildInfo is BuildInfo;
|
|
92
|
-
declare function getViteConfigRuntime(viteConfig: ResolvedConfig
|
|
91
|
+
declare function getViteConfigRuntime(viteConfig: ResolvedConfig): BuildInfo['viteConfigRuntime'];
|
|
93
92
|
declare function updateUserFiles(): Promise<void>;
|
|
94
93
|
declare function clearGlobalContext(): void;
|
|
@@ -308,10 +308,14 @@ async function loadBuildEntry(outDir) {
|
|
|
308
308
|
globalObject.buildEntry = globalObject.buildEntryPrevious;
|
|
309
309
|
}
|
|
310
310
|
assert(globalObject.buildEntry);
|
|
311
|
-
assertWarning(
|
|
312
|
-
//
|
|
313
|
-
//
|
|
314
|
-
|
|
311
|
+
assertWarning(
|
|
312
|
+
// vike-server => `vitePluginServerEntry.inject === true`
|
|
313
|
+
// vike-node => `vitePluginServerEntry.inject === [ 'index' ]`
|
|
314
|
+
globalObject.buildInfo?.viteConfigRuntime.vitePluginServerEntry.inject !== true,
|
|
315
|
+
/* TO-DO/eventually:
|
|
316
|
+
!!globalObject.buildInfo?.viteConfigRuntime.vitePluginServerEntry.inject,
|
|
317
|
+
*/
|
|
318
|
+
`Run the built server entry (e.g. ${pc.cyan('$ node dist/server/index.mjs')}) instead of the original server entry (e.g. ${pc.cyan('$ ts-node server/index.ts')})`, { onlyOnce: true });
|
|
315
319
|
}
|
|
316
320
|
const { buildEntry } = globalObject;
|
|
317
321
|
assertBuildEntry(buildEntry);
|
|
@@ -31,7 +31,7 @@ export * from '../../utils/urlToFile.js';
|
|
|
31
31
|
export * from '../../utils/getGlobalObject.js';
|
|
32
32
|
export * from '../../utils/freezePartial.js';
|
|
33
33
|
export * from '../../utils/isNpmPackage.js';
|
|
34
|
-
export * from '../../utils/
|
|
34
|
+
export * from '../../utils/isNullish.js';
|
|
35
35
|
export * from '../../utils/isScriptFile.js';
|
|
36
36
|
export * from '../../utils/removeFileExtention.js';
|
|
37
37
|
export * from '../../utils/objectKeys.js';
|
|
@@ -35,7 +35,7 @@ export * from '../../utils/urlToFile.js';
|
|
|
35
35
|
export * from '../../utils/getGlobalObject.js';
|
|
36
36
|
export * from '../../utils/freezePartial.js';
|
|
37
37
|
export * from '../../utils/isNpmPackage.js';
|
|
38
|
-
export * from '../../utils/
|
|
38
|
+
export * from '../../utils/isNullish.js';
|
|
39
39
|
export * from '../../utils/isScriptFile.js';
|
|
40
40
|
export * from '../../utils/removeFileExtention.js';
|
|
41
41
|
export * from '../../utils/objectKeys.js';
|
|
@@ -20,8 +20,8 @@ async function createDevMiddleware(options = {}) {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
};
|
|
23
|
-
const {
|
|
24
|
-
const server = await createServer(
|
|
23
|
+
const { viteConfigFromUserEnhanced } = await prepareViteApiCall(optionsMod, 'dev');
|
|
24
|
+
const server = await createServer(viteConfigFromUserEnhanced);
|
|
25
25
|
const devMiddleware = server.middlewares;
|
|
26
26
|
return { devMiddleware, viteServer: server, viteConfig: server.config };
|
|
27
27
|
}
|
|
@@ -10,6 +10,6 @@ export * from '../../utils/parseUrl.js';
|
|
|
10
10
|
export * from '../../utils/parseUrl-extras.js';
|
|
11
11
|
export * from '../../utils/isObject.js';
|
|
12
12
|
export * from '../../utils/assertIsNotBrowser.js';
|
|
13
|
-
export * from '../../utils/
|
|
13
|
+
export * from '../../utils/isNullish.js';
|
|
14
14
|
export * from '../../utils/unique.js';
|
|
15
15
|
export * from '../../utils/debug.js';
|
|
@@ -12,6 +12,6 @@ export * from '../../utils/parseUrl.js';
|
|
|
12
12
|
export * from '../../utils/parseUrl-extras.js';
|
|
13
13
|
export * from '../../utils/isObject.js';
|
|
14
14
|
export * from '../../utils/assertIsNotBrowser.js';
|
|
15
|
-
export * from '../../utils/
|
|
15
|
+
export * from '../../utils/isNullish.js';
|
|
16
16
|
export * from '../../utils/unique.js';
|
|
17
17
|
export * from '../../utils/debug.js';
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { isVirtualFileId };
|
|
2
2
|
export { getVirtualFileId };
|
|
3
3
|
export { resolveVirtualFileId };
|
|
4
|
+
export { removeVirtualIdTag };
|
|
4
5
|
declare function isVirtualFileId(id: string): boolean;
|
|
5
6
|
declare function getVirtualFileId(id: string): string;
|
|
6
7
|
declare function resolveVirtualFileId(id: string): string;
|
|
8
|
+
declare function removeVirtualIdTag(id: string): string;
|
|
@@ -1,32 +1,36 @@
|
|
|
1
1
|
export { isVirtualFileId };
|
|
2
2
|
export { getVirtualFileId };
|
|
3
3
|
export { resolveVirtualFileId };
|
|
4
|
+
export { removeVirtualIdTag };
|
|
4
5
|
import pc from '@brillout/picocolors';
|
|
5
6
|
import { assert, assertUsage } from './utils.js';
|
|
6
7
|
const idBase = 'virtual:vike:';
|
|
7
8
|
// https://vitejs.dev/guide/api-plugin.html#virtual-modules-convention
|
|
8
|
-
const
|
|
9
|
+
const virtualIdTag = '\0';
|
|
9
10
|
function isVirtualFileId(id) {
|
|
10
11
|
if (id.startsWith(idBase))
|
|
11
12
|
return true;
|
|
12
|
-
if (id.startsWith(
|
|
13
|
+
if (id.startsWith(virtualIdTag + idBase))
|
|
13
14
|
return true;
|
|
14
15
|
// https://github.com/vikejs/vike/issues/1985
|
|
15
16
|
assertUsage(!id.includes(idBase), `Encountered a module ID ${pc.cyan(id)} that is unexpected. Are you using a tool that modifies the ID of modules? For example, the baseUrl setting in tsconfig.json cannot be used.`);
|
|
16
17
|
return false;
|
|
17
18
|
}
|
|
18
19
|
function getVirtualFileId(id) {
|
|
19
|
-
|
|
20
|
-
id = id.slice(tag.length);
|
|
21
|
-
}
|
|
22
|
-
assert(!id.startsWith(tag));
|
|
23
|
-
return id;
|
|
20
|
+
return removeVirtualIdTag(id);
|
|
24
21
|
}
|
|
25
22
|
function resolveVirtualFileId(id) {
|
|
26
23
|
assert(isVirtualFileId(id));
|
|
27
|
-
if (!id.startsWith(
|
|
28
|
-
id =
|
|
24
|
+
if (!id.startsWith(virtualIdTag)) {
|
|
25
|
+
id = virtualIdTag + id;
|
|
26
|
+
}
|
|
27
|
+
assert(id.startsWith(virtualIdTag));
|
|
28
|
+
return id;
|
|
29
|
+
}
|
|
30
|
+
function removeVirtualIdTag(id) {
|
|
31
|
+
if (id.startsWith(virtualIdTag)) {
|
|
32
|
+
id = id.slice(virtualIdTag.length);
|
|
29
33
|
}
|
|
30
|
-
assert(id.startsWith(
|
|
34
|
+
assert(!id.startsWith(virtualIdTag));
|
|
31
35
|
return id;
|
|
32
36
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { modifyUrl };
|
|
2
|
+
import { type ModifyUrlSameOriginOptions } from './modifyUrlSameOrigin.js';
|
|
2
3
|
/**
|
|
3
4
|
* Modify a URL.
|
|
4
5
|
*
|
|
@@ -6,8 +7,7 @@ export { modifyUrl };
|
|
|
6
7
|
*
|
|
7
8
|
* https://vike.dev/modifyUrl
|
|
8
9
|
*/
|
|
9
|
-
declare function modifyUrl(url: string, modify: {
|
|
10
|
-
pathname?: string;
|
|
10
|
+
declare function modifyUrl(url: string, modify: ModifyUrlSameOriginOptions & {
|
|
11
11
|
hostname?: string;
|
|
12
12
|
port?: number;
|
|
13
13
|
protocol?: string;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { modifyUrl };
|
|
2
|
+
import { modifyUrlSameOrigin } from './modifyUrlSameOrigin.js';
|
|
2
3
|
import { createUrlFromComponents, parseUrl } from './utils.js';
|
|
3
4
|
/**
|
|
4
5
|
* Modify a URL.
|
|
@@ -8,9 +9,8 @@ import { createUrlFromComponents, parseUrl } from './utils.js';
|
|
|
8
9
|
* https://vike.dev/modifyUrl
|
|
9
10
|
*/
|
|
10
11
|
function modifyUrl(url, modify) {
|
|
12
|
+
url = modifyUrlSameOrigin(url, modify);
|
|
11
13
|
const urlParsed = parseUrl(url, '/');
|
|
12
|
-
// Pathname
|
|
13
|
-
const pathname = modify.pathname ?? urlParsed.pathname;
|
|
14
14
|
// Origin
|
|
15
15
|
const originParts = [
|
|
16
16
|
modify.protocol ?? urlParsed.protocol ?? '',
|
|
@@ -21,8 +21,6 @@ function modifyUrl(url, modify) {
|
|
|
21
21
|
originParts.push(`:${port}`);
|
|
22
22
|
}
|
|
23
23
|
const origin = originParts.join('');
|
|
24
|
-
const urlModified = createUrlFromComponents(origin, pathname,
|
|
25
|
-
// Should we also support modifying search and hash?
|
|
26
|
-
urlParsed.searchOriginal, urlParsed.hashOriginal);
|
|
24
|
+
const urlModified = createUrlFromComponents(origin, urlParsed.pathname, urlParsed.searchOriginal, urlParsed.hashOriginal);
|
|
27
25
|
return urlModified;
|
|
28
26
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { modifyUrlSameOrigin };
|
|
2
|
+
export { ModifyUrlSameOriginOptions };
|
|
3
|
+
type ModifyUrlSameOriginOptions = {
|
|
4
|
+
hash?: string | null;
|
|
5
|
+
search?: Search | null;
|
|
6
|
+
pathname?: string;
|
|
7
|
+
};
|
|
8
|
+
type Search = Record<string, string | null> | URLSearchParams;
|
|
9
|
+
declare function modifyUrlSameOrigin(url: string, modify: ModifyUrlSameOriginOptions): string;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export { modifyUrlSameOrigin };
|
|
2
|
+
import { createUrlFromComponents, isNotNullish_keyVal, parseUrl, objectFilter, assertUsageUrlPathnameAbsolute } from './utils.js';
|
|
3
|
+
function modifyUrlSameOrigin(url, modify) {
|
|
4
|
+
const urlParsed = parseUrl(url, '/');
|
|
5
|
+
// Pathname
|
|
6
|
+
const pathname = modify.pathname ?? urlParsed.pathnameOriginal;
|
|
7
|
+
assertUsageUrlPathnameAbsolute(pathname, 'modify.pathname');
|
|
8
|
+
// Search
|
|
9
|
+
let search = modify.search === null ? '' : !modify.search ? urlParsed.searchOriginal : resolveSearch(urlParsed, modify.search);
|
|
10
|
+
if (search === '?')
|
|
11
|
+
search = '';
|
|
12
|
+
// Hash
|
|
13
|
+
let hash;
|
|
14
|
+
if (modify.hash === null) {
|
|
15
|
+
hash = '';
|
|
16
|
+
}
|
|
17
|
+
else if (modify.hash === undefined) {
|
|
18
|
+
hash = urlParsed.hashOriginal ?? '';
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
hash = modify.hash;
|
|
22
|
+
if (!hash.startsWith('#'))
|
|
23
|
+
hash = '#' + hash;
|
|
24
|
+
}
|
|
25
|
+
const urlModified = createUrlFromComponents(urlParsed.origin, pathname, search, hash);
|
|
26
|
+
return urlModified;
|
|
27
|
+
}
|
|
28
|
+
function resolveSearch(urlParsed, search) {
|
|
29
|
+
let searchParams;
|
|
30
|
+
if (search instanceof URLSearchParams) {
|
|
31
|
+
// Overwrite
|
|
32
|
+
searchParams = search;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
// Merge
|
|
36
|
+
const searchMap = objectFilter({ ...urlParsed.search, ...search }, (isNotNullish_keyVal));
|
|
37
|
+
searchParams = new URLSearchParams(searchMap);
|
|
38
|
+
}
|
|
39
|
+
return '?' + searchParams.toString();
|
|
40
|
+
}
|
|
@@ -491,6 +491,12 @@ type ConfigBuiltIn = {
|
|
|
491
491
|
* https://vike.dev/port
|
|
492
492
|
*/
|
|
493
493
|
port?: number;
|
|
494
|
+
/**
|
|
495
|
+
* Set the mode to run in.
|
|
496
|
+
*
|
|
497
|
+
* https://vike.dev/mode
|
|
498
|
+
*/
|
|
499
|
+
mode?: string;
|
|
494
500
|
/** Where scripts are injected in the HTML.
|
|
495
501
|
*
|
|
496
502
|
* https://vike.dev/injectScriptsAt
|
|
@@ -10,7 +10,7 @@ export * from '../utils/isBrowser.js';
|
|
|
10
10
|
export * from '../utils/hasProp.js';
|
|
11
11
|
export * from '../utils/isPlainObject.js';
|
|
12
12
|
export * from '../utils/compareString.js';
|
|
13
|
-
export * from '../utils/
|
|
13
|
+
export * from '../utils/isNullish.js';
|
|
14
14
|
export * from '../utils/stringifyStringArray.js';
|
|
15
15
|
export * from '../utils/cast.js';
|
|
16
16
|
export * from '../utils/isPropertyGetter.js';
|
|
@@ -22,3 +22,4 @@ export * from '../utils/isArray.js';
|
|
|
22
22
|
export * from '../utils/changeEnumerable.js';
|
|
23
23
|
export * from '../utils/objectDefineProperty.js';
|
|
24
24
|
export * from '../utils/isScriptFile.js';
|
|
25
|
+
export * from '../utils/objectFilter.js';
|
package/dist/esm/shared/utils.js
CHANGED
|
@@ -14,7 +14,7 @@ export * from '../utils/isBrowser.js';
|
|
|
14
14
|
export * from '../utils/hasProp.js';
|
|
15
15
|
export * from '../utils/isPlainObject.js';
|
|
16
16
|
export * from '../utils/compareString.js';
|
|
17
|
-
export * from '../utils/
|
|
17
|
+
export * from '../utils/isNullish.js';
|
|
18
18
|
export * from '../utils/stringifyStringArray.js';
|
|
19
19
|
export * from '../utils/cast.js';
|
|
20
20
|
export * from '../utils/isPropertyGetter.js';
|
|
@@ -26,3 +26,4 @@ export * from '../utils/isArray.js';
|
|
|
26
26
|
export * from '../utils/changeEnumerable.js';
|
|
27
27
|
export * from '../utils/objectDefineProperty.js';
|
|
28
28
|
export * from '../utils/isScriptFile.js';
|
|
29
|
+
export * from '../utils/objectFilter.js';
|
|
@@ -3,7 +3,6 @@ export type { PageContextServer } from '../shared/types.js';
|
|
|
3
3
|
export type { PageContextClient } from '../shared/types.js';
|
|
4
4
|
export type { PageContextWithServerRouting } from '../shared/types.js';
|
|
5
5
|
export type { PageContextClientWithServerRouting } from '../shared/types.js';
|
|
6
|
-
export type { ConfigVitePluginServerEntry } from '@brillout/vite-plugin-server-entry/plugin';
|
|
7
6
|
export type { PageContextBuiltInServer } from '../shared/types.js';
|
|
8
7
|
export type { PageContextBuiltInClientWithClientRouting } from '../shared/types.js';
|
|
9
8
|
export type { PageContextBuiltInClientWithServerRouting } from '../shared/types.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const PROJECT_VERSION: "0.4.225-commit-
|
|
1
|
+
export declare const PROJECT_VERSION: "0.4.225-commit-6fc12fc";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Automatically updated by @brillout/release-me
|
|
2
|
-
export const PROJECT_VERSION = '0.4.225-commit-
|
|
2
|
+
export const PROJECT_VERSION = '0.4.225-commit-6fc12fc';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export function isNullish(val) {
|
|
2
|
+
return val === null || val === undefined;
|
|
3
|
+
}
|
|
4
|
+
// someArray.filter(isNotNullish)
|
|
5
|
+
export function isNotNullish(p) {
|
|
6
|
+
return !isNullish(p);
|
|
7
|
+
}
|
|
8
|
+
// objectFilter(obj).filter(isNotNullish_keyVal)
|
|
9
|
+
export function isNotNullish_keyVal(arg) {
|
|
10
|
+
return !isNullish(arg[1]);
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function objectFilter<Val, Val2 extends Val, Obj extends Record<string, Val>>(obj: Obj, filter: (arg: [string, Val]) => arg is [string, Val2]): Record<string, Val2>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function pick<Obj extends Record<string, unknown>, Keys extends keyof Obj>(obj: Obj, keys: Keys[]): Pick<Obj, Keys>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vike",
|
|
3
|
-
"version": "0.4.225-commit-
|
|
3
|
+
"version": "0.4.225-commit-6fc12fc",
|
|
4
4
|
"repository": "https://github.com/vikejs/vike",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./server": {
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
"@brillout/json-serializer": "^0.5.15",
|
|
124
124
|
"@brillout/picocolors": "^1.0.26",
|
|
125
125
|
"@brillout/require-shim": "^0.1.2",
|
|
126
|
-
"@brillout/vite-plugin-server-entry": "
|
|
126
|
+
"@brillout/vite-plugin-server-entry": "0.6.3-commit-0c67c6a",
|
|
127
127
|
"acorn": "^8.0.0",
|
|
128
128
|
"cac": "^6.0.0",
|
|
129
129
|
"es-module-lexer": "^1.0.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const isNotNullish: <T>(p: T | null | undefined) => p is T;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const isNotNullish = (p) => p !== null && p !== undefined;
|