vike 0.4.230-commit-dd11364 → 0.4.230-commit-eea72b2
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/assertExtensions.js +28 -10
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/assertExtensions.js +29 -11
- package/dist/esm/shared/page-configs/Config.d.ts +4 -1
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/package.json +1 -1
package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/assertExtensions.js
CHANGED
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.assertExtensionsConventions = assertExtensionsConventions;
|
|
7
7
|
exports.assertExtensionsRequire = assertExtensionsRequire;
|
|
8
8
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
9
|
-
const isObjectOfStrings_js_1 = require("../../../../../../utils/isObjectOfStrings.js");
|
|
10
9
|
const utils_js_1 = require("../../../../utils.js");
|
|
11
10
|
const getVikeConfig_js_1 = require("../getVikeConfig.js");
|
|
12
11
|
const path_1 = __importDefault(require("path"));
|
|
@@ -46,34 +45,53 @@ function assertExtensionsRequire(plusFiles) {
|
|
|
46
45
|
});
|
|
47
46
|
// Enforce `require`
|
|
48
47
|
plusFilesRelevantList.forEach((plusFile) => {
|
|
49
|
-
const require =
|
|
48
|
+
const require = resolveRequireSetting(plusFile);
|
|
50
49
|
if (!require)
|
|
51
50
|
return;
|
|
52
51
|
const name = getNameValue(plusFile);
|
|
53
52
|
const filePathToShowToUser = getFilePathToShowToUser(plusFile);
|
|
54
53
|
(0, utils_js_1.assertUsage)(name, `Setting ${picocolors_1.default.bold('name')} is required for being able to use setting ${picocolors_1.default.bold('require')} in ${filePathToShowToUser}.`);
|
|
55
|
-
Object.entries(require).forEach(([reqName,
|
|
54
|
+
Object.entries(require).forEach(([reqName, req]) => {
|
|
56
55
|
const errBase = `${picocolors_1.default.bold(name)} requires ${picocolors_1.default.bold(reqName)}`;
|
|
57
56
|
if (reqName === 'vike') {
|
|
58
|
-
(0, utils_js_1.assertUsage)(isVersionRange(utils_js_1.PROJECT_VERSION,
|
|
57
|
+
(0, utils_js_1.assertUsage)(isVersionRange(utils_js_1.PROJECT_VERSION, req.version), `${errBase} version ${picocolors_1.default.bold(req.version)}, but ${picocolors_1.default.bold(utils_js_1.PROJECT_VERSION)} is installed.`);
|
|
59
58
|
return;
|
|
60
59
|
}
|
|
61
60
|
const extensionVersion = extensions[reqName];
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
if (!extensionVersion) {
|
|
62
|
+
if (req.optional) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
(0, utils_js_1.assertUsage)(false, `${errBase}.`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
(0, utils_js_1.assertUsage)(isVersionRange(extensionVersion, req.version), `${errBase} version ${picocolors_1.default.bold(req.version)}, but ${picocolors_1.default.bold(extensionVersion)} is installed.`);
|
|
64
70
|
});
|
|
65
71
|
});
|
|
66
72
|
}
|
|
67
|
-
function
|
|
73
|
+
function resolveRequireSetting(plusFile) {
|
|
68
74
|
const confVal = (0, getVikeConfig_js_1.getConfVal)(plusFile, 'require');
|
|
69
75
|
if (!confVal)
|
|
70
76
|
return null;
|
|
71
77
|
(0, utils_js_1.assert)(confVal.valueIsLoaded);
|
|
72
|
-
const
|
|
78
|
+
const requireValue = confVal.value;
|
|
73
79
|
const { filePathToShowToUserResolved } = plusFile.filePath;
|
|
74
80
|
(0, utils_js_1.assert)(filePathToShowToUserResolved);
|
|
75
|
-
(0, utils_js_1.assertUsage)((0,
|
|
76
|
-
|
|
81
|
+
(0, utils_js_1.assertUsage)((0, utils_js_1.isObject)(requireValue), `The setting ${picocolors_1.default.bold('+require')} defined at ${filePathToShowToUserResolved} should be an object`);
|
|
82
|
+
const requireSetting = {};
|
|
83
|
+
Object.entries(requireValue).forEach(([reqName, req]) => {
|
|
84
|
+
if (typeof req === 'string') {
|
|
85
|
+
requireSetting[reqName] = { version: req, optional: false };
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
if ((0, utils_js_1.isObject)(req)) {
|
|
89
|
+
requireSetting[reqName] = req;
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
(0, utils_js_1.assertUsage)(false, `Invalid +require[${JSON.stringify(reqName)}] value ${picocolors_1.default.cyan(JSON.stringify(req))}`);
|
|
93
|
+
});
|
|
94
|
+
return requireSetting;
|
|
77
95
|
}
|
|
78
96
|
function getNameValue(plusFile) {
|
|
79
97
|
const confVal = (0, getVikeConfig_js_1.getConfVal)(plusFile, 'name');
|
package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/assertExtensions.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
export { assertExtensionsConventions };
|
|
2
2
|
export { assertExtensionsRequire };
|
|
3
3
|
import pc from '@brillout/picocolors';
|
|
4
|
-
import {
|
|
5
|
-
import { PROJECT_VERSION, assert, assertUsage, assertWarning, findPackageJson } from '../../../../utils.js';
|
|
4
|
+
import { PROJECT_VERSION, assert, assertUsage, assertWarning, findPackageJson, isObject } from '../../../../utils.js';
|
|
6
5
|
import { getConfVal } from '../getVikeConfig.js';
|
|
7
6
|
import path from 'path';
|
|
8
7
|
import semver from 'semver';
|
|
@@ -41,34 +40,53 @@ function assertExtensionsRequire(plusFiles) {
|
|
|
41
40
|
});
|
|
42
41
|
// Enforce `require`
|
|
43
42
|
plusFilesRelevantList.forEach((plusFile) => {
|
|
44
|
-
const require =
|
|
43
|
+
const require = resolveRequireSetting(plusFile);
|
|
45
44
|
if (!require)
|
|
46
45
|
return;
|
|
47
46
|
const name = getNameValue(plusFile);
|
|
48
47
|
const filePathToShowToUser = getFilePathToShowToUser(plusFile);
|
|
49
48
|
assertUsage(name, `Setting ${pc.bold('name')} is required for being able to use setting ${pc.bold('require')} in ${filePathToShowToUser}.`);
|
|
50
|
-
Object.entries(require).forEach(([reqName,
|
|
49
|
+
Object.entries(require).forEach(([reqName, req]) => {
|
|
51
50
|
const errBase = `${pc.bold(name)} requires ${pc.bold(reqName)}`;
|
|
52
51
|
if (reqName === 'vike') {
|
|
53
|
-
assertUsage(isVersionRange(PROJECT_VERSION,
|
|
52
|
+
assertUsage(isVersionRange(PROJECT_VERSION, req.version), `${errBase} version ${pc.bold(req.version)}, but ${pc.bold(PROJECT_VERSION)} is installed.`);
|
|
54
53
|
return;
|
|
55
54
|
}
|
|
56
55
|
const extensionVersion = extensions[reqName];
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
if (!extensionVersion) {
|
|
57
|
+
if (req.optional) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
assertUsage(false, `${errBase}.`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
assertUsage(isVersionRange(extensionVersion, req.version), `${errBase} version ${pc.bold(req.version)}, but ${pc.bold(extensionVersion)} is installed.`);
|
|
59
65
|
});
|
|
60
66
|
});
|
|
61
67
|
}
|
|
62
|
-
function
|
|
68
|
+
function resolveRequireSetting(plusFile) {
|
|
63
69
|
const confVal = getConfVal(plusFile, 'require');
|
|
64
70
|
if (!confVal)
|
|
65
71
|
return null;
|
|
66
72
|
assert(confVal.valueIsLoaded);
|
|
67
|
-
const
|
|
73
|
+
const requireValue = confVal.value;
|
|
68
74
|
const { filePathToShowToUserResolved } = plusFile.filePath;
|
|
69
75
|
assert(filePathToShowToUserResolved);
|
|
70
|
-
assertUsage(
|
|
71
|
-
|
|
76
|
+
assertUsage(isObject(requireValue), `The setting ${pc.bold('+require')} defined at ${filePathToShowToUserResolved} should be an object`);
|
|
77
|
+
const requireSetting = {};
|
|
78
|
+
Object.entries(requireValue).forEach(([reqName, req]) => {
|
|
79
|
+
if (typeof req === 'string') {
|
|
80
|
+
requireSetting[reqName] = { version: req, optional: false };
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
if (isObject(req)) {
|
|
84
|
+
requireSetting[reqName] = req;
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
assertUsage(false, `Invalid +require[${JSON.stringify(reqName)}] value ${pc.cyan(JSON.stringify(req))}`);
|
|
88
|
+
});
|
|
89
|
+
return requireSetting;
|
|
72
90
|
}
|
|
73
91
|
function getNameValue(plusFile) {
|
|
74
92
|
const confVal = getConfVal(plusFile, 'name');
|
|
@@ -538,7 +538,10 @@ type ConfigBuiltIn = {
|
|
|
538
538
|
*
|
|
539
539
|
* https://vike.dev/require
|
|
540
540
|
*/
|
|
541
|
-
require?: Record<string, string
|
|
541
|
+
require?: Record<string, string | {
|
|
542
|
+
version: string;
|
|
543
|
+
optional?: boolean;
|
|
544
|
+
}>;
|
|
542
545
|
/** Whether the page scrolls to the top upon navigation.
|
|
543
546
|
*
|
|
544
547
|
* https://vike.dev/keepScrollPosition
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const PROJECT_VERSION: "0.4.230-commit-
|
|
1
|
+
export declare const PROJECT_VERSION: "0.4.230-commit-eea72b2";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Automatically updated by @brillout/release-me
|
|
2
|
-
export const PROJECT_VERSION = '0.4.230-commit-
|
|
2
|
+
export const PROJECT_VERSION = '0.4.230-commit-eea72b2';
|