vike 0.4.173 → 0.4.174-commit-d226ee7
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/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js +30 -4
- package/dist/cjs/utils/isPlainObject.js +2 -0
- package/dist/cjs/utils/normalizeHeaders.js +6 -1
- package/dist/cjs/utils/projectInfo.js +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.d.ts +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js +28 -5
- package/dist/esm/utils/isPlainObject.d.ts +1 -3
- package/dist/esm/utils/isPlainObject.js +3 -2
- package/dist/esm/utils/normalizeHeaders.d.ts +2 -1
- package/dist/esm/utils/normalizeHeaders.js +8 -2
- package/dist/esm/utils/projectInfo.d.ts +2 -2
- package/dist/esm/utils/projectInfo.js +1 -1
- package/package.json +2 -1
package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.getLogicalPath = exports.applyFilesystemRoutingRootEffect = exports.isGlobalLocation = exports.sortAfterInheritanceOrder = exports.getLocationId = exports.isInherited = exports.getFilesystemRouteDefinedBy = exports.getFilesystemRouteString = void 0;
|
|
7
|
+
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
4
8
|
const utils_js_1 = require("../../../../utils.js");
|
|
9
|
+
(0, utils_js_1.assertIsNotProductionRuntime)();
|
|
5
10
|
/**
|
|
6
11
|
* `getLocationId('/pages/some-page/+Page.js')` => `'/pages/some-page'`
|
|
7
12
|
* `getLocationId('/renderer/+config.js')` => `'/renderer'`
|
|
@@ -30,8 +35,8 @@ function getInheritanceRoot(locationId) {
|
|
|
30
35
|
/**
|
|
31
36
|
* getLogicalPath('/pages/some-page', ['pages']) => '/some-page'
|
|
32
37
|
*/
|
|
33
|
-
function getLogicalPath(locationId,
|
|
34
|
-
let logicalPath =
|
|
38
|
+
function getLogicalPath(locationId, ignoredDirs) {
|
|
39
|
+
let logicalPath = removeIgnoredDirectories(locationId, ignoredDirs);
|
|
35
40
|
assertIsPath(logicalPath);
|
|
36
41
|
return logicalPath;
|
|
37
42
|
}
|
|
@@ -86,11 +91,32 @@ function isInherited(locationId1, locationId2) {
|
|
|
86
91
|
return startsWith(inheritanceRoot2, inheritanceRoot1);
|
|
87
92
|
}
|
|
88
93
|
exports.isInherited = isInherited;
|
|
89
|
-
function
|
|
94
|
+
function removeIgnoredDirectories(somePath, ignoredDirs) {
|
|
90
95
|
(0, utils_js_1.assertPosixPath)(somePath);
|
|
91
96
|
somePath = somePath
|
|
92
97
|
.split('/')
|
|
93
|
-
.filter((
|
|
98
|
+
.filter((dir) => {
|
|
99
|
+
if (ignoredDirs.includes(dir)) {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
if (dir.startsWith('(') && dir.endsWith(')')) {
|
|
103
|
+
const dirname = dir.slice(1, -1);
|
|
104
|
+
if (ignoredDirs.includes(dirname)) {
|
|
105
|
+
const dirnameActual = dir;
|
|
106
|
+
const dirnameCorect = dirname;
|
|
107
|
+
const dirpathActual = somePath.slice(0, somePath.indexOf(dirnameActual) + dirnameActual.length);
|
|
108
|
+
const dirpathCorect = dirpathActual.replaceAll(dirnameActual, dirnameCorect);
|
|
109
|
+
const logDir = (d) => picocolors_1.default.bold(d + '/');
|
|
110
|
+
(0, utils_js_1.assertWarning)(false, [
|
|
111
|
+
`The directories ${logDir(dirnameCorect)} are always ignored by Vike's Filesystem Routing`,
|
|
112
|
+
'(https://vike.dev/filesystem-routing):',
|
|
113
|
+
`rename directory ${logDir(dirpathActual)} to ${logDir(dirpathCorect)}`
|
|
114
|
+
].join(' '), { onlyOnce: true });
|
|
115
|
+
}
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
return true;
|
|
119
|
+
})
|
|
94
120
|
.join('/');
|
|
95
121
|
if (somePath === '')
|
|
96
122
|
somePath = '/';
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isPlainObject = void 0;
|
|
4
4
|
function isPlainObject(value) {
|
|
5
|
+
// Is object?
|
|
5
6
|
if (typeof value !== 'object' || value === null) {
|
|
6
7
|
return false;
|
|
7
8
|
}
|
|
@@ -9,6 +10,7 @@ function isPlainObject(value) {
|
|
|
9
10
|
if (Object.getPrototypeOf(value) === null) {
|
|
10
11
|
return true;
|
|
11
12
|
}
|
|
13
|
+
// Is plain object?
|
|
12
14
|
return (
|
|
13
15
|
/* Doesn't work in Cloudflare Pages workers
|
|
14
16
|
value.constructor === Object
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.normalizeHeaders = void 0;
|
|
4
|
+
const isObject_js_1 = require("./isObject.js");
|
|
4
5
|
function normalizeHeaders(
|
|
5
6
|
/* This type is precise, too precise which can be annoying: e.g. cannot pass a string[][] argument because it doesn't match the more precise [string,string][] type.
|
|
6
7
|
headersOriginal ConstructorParameters<typeof Headers>[0]
|
|
7
8
|
*/
|
|
8
9
|
headersOriginal) {
|
|
9
|
-
|
|
10
|
+
let headersCleaned = headersOriginal;
|
|
11
|
+
// Copied from https://github.com/hattipjs/hattip/blob/69237d181300b200a14114df2c3c115c44e0f3eb/packages/adapter/adapter-node/src/request.ts#L78-L83
|
|
12
|
+
if ((0, isObject_js_1.isObject)(headersCleaned) && headersCleaned[':method'])
|
|
13
|
+
headersCleaned = Object.fromEntries(Object.entries(headersCleaned).filter(([key]) => !key.startsWith(':')));
|
|
14
|
+
const headersStandard = new Headers(headersCleaned);
|
|
10
15
|
const headers = Object.fromEntries(headersStandard.entries());
|
|
11
16
|
return headers;
|
|
12
17
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PROJECT_VERSION = exports.projectInfo = void 0;
|
|
4
|
-
const PROJECT_VERSION = '0.4.
|
|
4
|
+
const PROJECT_VERSION = '0.4.174-commit-d226ee7';
|
|
5
5
|
exports.PROJECT_VERSION = PROJECT_VERSION;
|
|
6
6
|
const projectInfo = {
|
|
7
7
|
projectName: 'Vike',
|
package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.d.ts
CHANGED
|
@@ -45,7 +45,7 @@ declare function getFilesystemRouteString(locationId: LocationId): string;
|
|
|
45
45
|
/**
|
|
46
46
|
* getLogicalPath('/pages/some-page', ['pages']) => '/some-page'
|
|
47
47
|
*/
|
|
48
|
-
declare function getLogicalPath(locationId: LocationId,
|
|
48
|
+
declare function getLogicalPath(locationId: LocationId, ignoredDirs: string[]): string;
|
|
49
49
|
/** Whether configs defined in `locationId` apply in every `locationIds` */
|
|
50
50
|
declare function isGlobalLocation(locationId: LocationId, locationIds: LocationId[]): boolean;
|
|
51
51
|
declare function sortAfterInheritanceOrder(locationId1: LocationId, locationId2: LocationId, locationIdPage: LocationId): -1 | 1 | 0;
|
package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js
CHANGED
|
@@ -7,7 +7,9 @@ export { isGlobalLocation };
|
|
|
7
7
|
export { applyFilesystemRoutingRootEffect };
|
|
8
8
|
// For ./filesystemRouting.spec.ts
|
|
9
9
|
export { getLogicalPath };
|
|
10
|
-
import
|
|
10
|
+
import pc from '@brillout/picocolors';
|
|
11
|
+
import { assert, assertIsNotProductionRuntime, assertPosixPath, assertWarning, higherFirst } from '../../../../utils.js';
|
|
12
|
+
assertIsNotProductionRuntime();
|
|
11
13
|
/**
|
|
12
14
|
* `getLocationId('/pages/some-page/+Page.js')` => `'/pages/some-page'`
|
|
13
15
|
* `getLocationId('/renderer/+config.js')` => `'/renderer'`
|
|
@@ -34,8 +36,8 @@ function getInheritanceRoot(locationId) {
|
|
|
34
36
|
/**
|
|
35
37
|
* getLogicalPath('/pages/some-page', ['pages']) => '/some-page'
|
|
36
38
|
*/
|
|
37
|
-
function getLogicalPath(locationId,
|
|
38
|
-
let logicalPath =
|
|
39
|
+
function getLogicalPath(locationId, ignoredDirs) {
|
|
40
|
+
let logicalPath = removeIgnoredDirectories(locationId, ignoredDirs);
|
|
39
41
|
assertIsPath(logicalPath);
|
|
40
42
|
return logicalPath;
|
|
41
43
|
}
|
|
@@ -86,11 +88,32 @@ function isInherited(locationId1, locationId2) {
|
|
|
86
88
|
const inheritanceRoot2 = getInheritanceRoot(locationId2);
|
|
87
89
|
return startsWith(inheritanceRoot2, inheritanceRoot1);
|
|
88
90
|
}
|
|
89
|
-
function
|
|
91
|
+
function removeIgnoredDirectories(somePath, ignoredDirs) {
|
|
90
92
|
assertPosixPath(somePath);
|
|
91
93
|
somePath = somePath
|
|
92
94
|
.split('/')
|
|
93
|
-
.filter((
|
|
95
|
+
.filter((dir) => {
|
|
96
|
+
if (ignoredDirs.includes(dir)) {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
if (dir.startsWith('(') && dir.endsWith(')')) {
|
|
100
|
+
const dirname = dir.slice(1, -1);
|
|
101
|
+
if (ignoredDirs.includes(dirname)) {
|
|
102
|
+
const dirnameActual = dir;
|
|
103
|
+
const dirnameCorect = dirname;
|
|
104
|
+
const dirpathActual = somePath.slice(0, somePath.indexOf(dirnameActual) + dirnameActual.length);
|
|
105
|
+
const dirpathCorect = dirpathActual.replaceAll(dirnameActual, dirnameCorect);
|
|
106
|
+
const logDir = (d) => pc.bold(d + '/');
|
|
107
|
+
assertWarning(false, [
|
|
108
|
+
`The directories ${logDir(dirnameCorect)} are always ignored by Vike's Filesystem Routing`,
|
|
109
|
+
'(https://vike.dev/filesystem-routing):',
|
|
110
|
+
`rename directory ${logDir(dirpathActual)} to ${logDir(dirpathCorect)}`
|
|
111
|
+
].join(' '), { onlyOnce: true });
|
|
112
|
+
}
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
return true;
|
|
116
|
+
})
|
|
94
117
|
.join('/');
|
|
95
118
|
if (somePath === '')
|
|
96
119
|
somePath = '/';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
1
|
+
export function isPlainObject(value) {
|
|
2
|
+
// Is object?
|
|
3
3
|
if (typeof value !== 'object' || value === null) {
|
|
4
4
|
return false;
|
|
5
5
|
}
|
|
@@ -7,6 +7,7 @@ function isPlainObject(value) {
|
|
|
7
7
|
if (Object.getPrototypeOf(value) === null) {
|
|
8
8
|
return true;
|
|
9
9
|
}
|
|
10
|
+
// Is plain object?
|
|
10
11
|
return (
|
|
11
12
|
/* Doesn't work in Cloudflare Pages workers
|
|
12
13
|
value.constructor === Object
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { normalizeHeaders };
|
|
2
|
+
declare function normalizeHeaders(headersOriginal: unknown): Record<string, string>;
|
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { normalizeHeaders };
|
|
2
|
+
import { isObject } from './isObject.js';
|
|
3
|
+
function normalizeHeaders(
|
|
2
4
|
/* This type is precise, too precise which can be annoying: e.g. cannot pass a string[][] argument because it doesn't match the more precise [string,string][] type.
|
|
3
5
|
headersOriginal ConstructorParameters<typeof Headers>[0]
|
|
4
6
|
*/
|
|
5
7
|
headersOriginal) {
|
|
6
|
-
|
|
8
|
+
let headersCleaned = headersOriginal;
|
|
9
|
+
// Copied from https://github.com/hattipjs/hattip/blob/69237d181300b200a14114df2c3c115c44e0f3eb/packages/adapter/adapter-node/src/request.ts#L78-L83
|
|
10
|
+
if (isObject(headersCleaned) && headersCleaned[':method'])
|
|
11
|
+
headersCleaned = Object.fromEntries(Object.entries(headersCleaned).filter(([key]) => !key.startsWith(':')));
|
|
12
|
+
const headersStandard = new Headers(headersCleaned);
|
|
7
13
|
const headers = Object.fromEntries(headersStandard.entries());
|
|
8
14
|
return headers;
|
|
9
15
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { projectInfo };
|
|
2
2
|
export { PROJECT_VERSION };
|
|
3
|
-
declare const PROJECT_VERSION: "0.4.
|
|
3
|
+
declare const PROJECT_VERSION: "0.4.174-commit-d226ee7";
|
|
4
4
|
declare const projectInfo: {
|
|
5
5
|
projectName: "Vike";
|
|
6
|
-
projectVersion: "0.4.
|
|
6
|
+
projectVersion: "0.4.174-commit-d226ee7";
|
|
7
7
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vike",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.174-commit-d226ee7",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"dev": "tsc --watch",
|
|
6
6
|
"build": "rimraf dist/ && pnpm run build:esm && pnpm run build:cjs",
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
"es-module-lexer": "^1.0.0",
|
|
24
24
|
"esbuild": "^0.19.0",
|
|
25
25
|
"fast-glob": "^3.0.0",
|
|
26
|
+
"semver": "^7.6.2",
|
|
26
27
|
"sirv": "^2.0.0",
|
|
27
28
|
"source-map-support": "^0.5.0"
|
|
28
29
|
},
|