@docusaurus/utils-validation 2.0.0-beta.14 → 2.0.0-beta.15
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/lib/JoiFrontMatter.js +1 -1
- package/lib/JoiFrontMatter.js.map +1 -1
- package/lib/validationSchemas.d.ts.map +1 -1
- package/lib/validationSchemas.js +4 -10
- package/lib/validationSchemas.js.map +1 -1
- package/lib/validationUtils.d.ts +1 -1
- package/lib/validationUtils.d.ts.map +1 -1
- package/lib/validationUtils.js +4 -4
- package/lib/validationUtils.js.map +1 -1
- package/package.json +4 -4
- package/src/JoiFrontMatter.ts +1 -1
- package/src/validationSchemas.ts +4 -8
- package/src/validationUtils.ts +5 -5
package/lib/JoiFrontMatter.js
CHANGED
|
@@ -10,7 +10,7 @@ exports.JoiFrontMatter = void 0;
|
|
|
10
10
|
const tslib_1 = require("tslib");
|
|
11
11
|
const Joi_1 = (0, tslib_1.__importDefault)(require("./Joi"));
|
|
12
12
|
// Enhance the default Joi.string() type so that it can convert number to strings
|
|
13
|
-
// If user use
|
|
13
|
+
// If user use front matter "tag: 2021", we shouldn't need to ask the user to write "tag: '2021'"
|
|
14
14
|
// Also yaml tries to convert patterns like "2019-01-01" to dates automatically
|
|
15
15
|
// see https://github.com/facebook/docusaurus/issues/4642
|
|
16
16
|
// see https://github.com/sideway/joi/issues/1442#issuecomment-823997884
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JoiFrontMatter.js","sourceRoot":"","sources":["../src/JoiFrontMatter.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,6DAAwB;AAExB,iFAAiF;AACjF,
|
|
1
|
+
{"version":3,"file":"JoiFrontMatter.js","sourceRoot":"","sources":["../src/JoiFrontMatter.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,6DAAwB;AAExB,iFAAiF;AACjF,iGAAiG;AACjG,+EAA+E;AAC/E,yDAAyD;AACzD,wEAAwE;AACxE,MAAM,oBAAoB,GAAkB;IAC1C,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE;IAClB,2EAA2E;IAC3E,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QACjB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,IAAI,EAAE;YACtD,OAAO,EAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAC,CAAC;SAClC;QACD,OAAO,EAAC,KAAK,EAAC,CAAC;IACjB,CAAC;CACF,CAAC;AACW,QAAA,cAAc,GAAe,aAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validationSchemas.d.ts","sourceRoot":"","sources":["../src/validationSchemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,GAAG,MAAM,OAAO,CAAC;AAKxB,eAAO,MAAM,cAAc,kBAEE,CAAC;AAU9B,eAAO,MAAM,mBAAmB,iBAAwB,CAAC;AACzD,eAAO,MAAM,mBAAmB,iBAAwB,CAAC;AAEzD,eAAO,MAAM,iBAAiB,uBAA2B,CAAC;AAI1D,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"validationSchemas.d.ts","sourceRoot":"","sources":["../src/validationSchemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,GAAG,MAAM,OAAO,CAAC;AAKxB,eAAO,MAAM,cAAc,kBAEE,CAAC;AAU9B,eAAO,MAAM,mBAAmB,iBAAwB,CAAC;AACzD,eAAO,MAAM,mBAAmB,iBAAwB,CAAC;AAEzD,eAAO,MAAM,iBAAiB,uBAA2B,CAAC;AAI1D,eAAO,MAAM,SAAS,wBAepB,CAAC;AAEH,eAAO,MAAM,cAAc,kBASxB,CAAC;AAeJ,eAAO,MAAM,qBAAqB,iBAK9B,CAAC;AAEL,eAAO,MAAM,2BAA2B;;;CASvC,CAAC"}
|
package/lib/validationSchemas.js
CHANGED
|
@@ -26,13 +26,9 @@ exports.URISchema = Joi_1.default.alternatives(Joi_1.default.string().uri({ allo
|
|
|
26
26
|
// This custom validation logic is required notably because Joi does not accept paths like /a/b/c ...
|
|
27
27
|
Joi_1.default.custom((val, helpers) => {
|
|
28
28
|
try {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
return helpers.error('any.invalid');
|
|
35
|
-
}
|
|
29
|
+
// eslint-disable-next-line no-new
|
|
30
|
+
new URL(val);
|
|
31
|
+
return val;
|
|
36
32
|
}
|
|
37
33
|
catch {
|
|
38
34
|
return helpers.error('any.invalid');
|
|
@@ -45,9 +41,7 @@ exports.PathnameSchema = Joi_1.default.string()
|
|
|
45
41
|
if (!(0, utils_1.isValidPathname)(val)) {
|
|
46
42
|
throw new Error();
|
|
47
43
|
}
|
|
48
|
-
|
|
49
|
-
return val;
|
|
50
|
-
}
|
|
44
|
+
return val;
|
|
51
45
|
})
|
|
52
46
|
.message('{{#label}} is not a valid pathname. Pathname should start with slash and not contain any domain or query string.');
|
|
53
47
|
const FrontMatterTagSchema = JoiFrontMatter_1.JoiFrontMatter.alternatives()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validationSchemas.js","sourceRoot":"","sources":["../src/validationSchemas.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,6DAAwB;AACxB,6CAAqE;AAErE,qDAAgD;AAEnC,QAAA,cAAc,GAAG,aAAG,CAAC,MAAM,EAAE;KACvC,KAAK,CAAC,eAAe,CAAC;KACtB,OAAO,CAAC,yBAAiB,CAAC,CAAC;AAE9B,MAAM,qBAAqB,GAAG,aAAG,CAAC,KAAK,EAAE;KACtC,KAAK,CACJ,aAAG,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,aAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,EACvE,aAAG,CAAC,QAAQ,EAAE,EACd,aAAG,CAAC,MAAM,EAAE,CACb;KACA,OAAO,CAAC,EAAE,CAAC,CAAC;AAEF,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAC5C,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAE5C,QAAA,iBAAiB,GAAG,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAE1D,4DAA4D;AAC5D,oEAAoE;AACvD,QAAA,SAAS,GAAG,aAAG,CAAC,YAAY,CACvC,aAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC;AACvC,qGAAqG;AACrG,aAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;IAC1B,IAAI;QACF,
|
|
1
|
+
{"version":3,"file":"validationSchemas.js","sourceRoot":"","sources":["../src/validationSchemas.ts"],"names":[],"mappings":"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"}
|
package/lib/validationUtils.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
import Joi from './Joi';
|
|
7
|
+
import type Joi from './Joi';
|
|
8
8
|
export declare const isValidationDisabledEscapeHatch: boolean;
|
|
9
9
|
export declare const logValidationBugReportHint: () => void;
|
|
10
10
|
export declare function printWarning(warning?: Joi.ValidationError): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validationUtils.d.ts","sourceRoot":"","sources":["../src/validationUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,GAAG,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"validationUtils.d.ts","sourceRoot":"","sources":["../src/validationUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAU7B,eAAO,MAAM,+BAA+B,SACU,CAAC;AAMvD,eAAO,MAAM,0BAA0B,QAAO,IAK7C,CAAC;AAEF,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,eAAe,GAAG,IAAI,CAOhE;AAED,wBAAgB,sBAAsB,CAAC,CAAC,SAAS;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAC,EAC5D,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAC3B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAClB,CAAC,CAuBH;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAC3B,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,GACtB,CAAC,CAsBH;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAC1B,CAAC,CAyBH"}
|
package/lib/validationUtils.js
CHANGED
|
@@ -56,7 +56,7 @@ function normalizePluginOptions(schema, options) {
|
|
|
56
56
|
throw error;
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
-
return value;
|
|
59
|
+
return value; // TODO remove ! this in TS 4.6, see https://twitter.com/sebastienlorber/status/1481950042277793793
|
|
60
60
|
}
|
|
61
61
|
exports.normalizePluginOptions = normalizePluginOptions;
|
|
62
62
|
function normalizeThemeConfig(schema, themeConfig) {
|
|
@@ -78,7 +78,7 @@ function normalizeThemeConfig(schema, themeConfig) {
|
|
|
78
78
|
throw error;
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
return value;
|
|
81
|
+
return value; // TODO remove ! this in TS 4.6, see https://twitter.com/sebastienlorber/status/1481950042277793793
|
|
82
82
|
}
|
|
83
83
|
exports.normalizeThemeConfig = normalizeThemeConfig;
|
|
84
84
|
function validateFrontMatter(frontMatter, schema) {
|
|
@@ -93,14 +93,14 @@ function validateFrontMatter(frontMatter, schema) {
|
|
|
93
93
|
const errorDetails = error.details;
|
|
94
94
|
const invalidFields = errorDetails.map(({ path }) => path).join(', ');
|
|
95
95
|
(0, exports.logValidationBugReportHint)();
|
|
96
|
-
logger_1.default.error `The following
|
|
96
|
+
logger_1.default.error `The following front matter:
|
|
97
97
|
${logger_1.default.yellow(frontMatterString)}
|
|
98
98
|
contains invalid values for field(s): ${logger_1.default.yellow(invalidFields)}.
|
|
99
99
|
${errorDetails.map(({ message }) => message)}
|
|
100
100
|
`;
|
|
101
101
|
throw error;
|
|
102
102
|
}
|
|
103
|
-
return value;
|
|
103
|
+
return value; // TODO remove ! this in TS 4.6, see https://twitter.com/sebastienlorber/status/1481950042277793793
|
|
104
104
|
}
|
|
105
105
|
exports.validateFrontMatter = validateFrontMatter;
|
|
106
106
|
//# sourceMappingURL=validationUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validationUtils.js","sourceRoot":"","sources":["../src/validationUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAGH,6EAAwC;AACxC,2DAAmD;AAEnD,+DAA+D;AAC/D,iDAAiD;AACjD,4EAA4E;AAC5E,oEAAoE;AACpE,6EAA6E;AAC7E,2EAA2E;AAC9D,QAAA,+BAA+B,GAC1C,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,MAAM,CAAC;AAEvD,IAAI,uCAA+B,EAAE;IACnC,gBAAM,CAAC,KAAK,CAAA,+BAA+B,+BAA+B,sCAAsC,CAAC;CAClH;AAEM,MAAM,0BAA0B,GAAG,GAAS,EAAE;IACnD,gBAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC7C,gBAAM,CAAC,IAAI,CAAC;;4FAE8E,CAAC,CAAC;AAC9F,CAAC,CAAC;AALW,QAAA,0BAA0B,8BAKrC;AAEF,SAAgB,YAAY,CAAC,OAA6B;IACxD,IAAI,OAAO,EAAE;QACX,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO;aACpC,GAAG,CAAC,CAAC,EAAC,OAAO,EAAC,EAAE,EAAE,CAAC,OAAO,CAAC;aAC3B,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,gBAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;KAC9B;AACH,CAAC;AAPD,oCAOC;AAED,SAAgB,sBAAsB,CACpC,MAA2B,EAC3B,OAAmB;IAEnB,sEAAsE;IACtE,yCAAyC;IACzC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;QAChC,EAAE,EAAE,kCAAc;KACnB,CAAC,CAAC;IACH,MAAM,EAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE;QAC5D,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,YAAY,CAAC,OAAO,CAAC,CAAC;IAEtB,IAAI,KAAK,EAAE;QACT,IAAA,kCAA0B,GAAE,CAAC;QAC7B,IAAI,uCAA+B,EAAE;YACnC,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,OAAY,CAAC;SACrB;aAAM;YACL,MAAM,KAAK,CAAC;SACb;KACF;IAED,OAAO,
|
|
1
|
+
{"version":3,"file":"validationUtils.js","sourceRoot":"","sources":["../src/validationUtils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docusaurus/utils-validation",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.15",
|
|
4
4
|
"description": "Node validation utility functions for Docusaurus packages.",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
},
|
|
19
19
|
"license": "MIT",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@docusaurus/logger": "2.0.0-beta.
|
|
22
|
-
"@docusaurus/utils": "2.0.0-beta.
|
|
21
|
+
"@docusaurus/logger": "2.0.0-beta.15",
|
|
22
|
+
"@docusaurus/utils": "2.0.0-beta.15",
|
|
23
23
|
"joi": "^17.4.2",
|
|
24
24
|
"tslib": "^2.3.1"
|
|
25
25
|
},
|
|
@@ -30,5 +30,5 @@
|
|
|
30
30
|
"engines": {
|
|
31
31
|
"node": ">=14"
|
|
32
32
|
},
|
|
33
|
-
"gitHead": "
|
|
33
|
+
"gitHead": "32ec84ef3c0a238436e913b2026ab809e5750fa8"
|
|
34
34
|
}
|
package/src/JoiFrontMatter.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import Joi from './Joi';
|
|
9
9
|
|
|
10
10
|
// Enhance the default Joi.string() type so that it can convert number to strings
|
|
11
|
-
// If user use
|
|
11
|
+
// If user use front matter "tag: 2021", we shouldn't need to ask the user to write "tag: '2021'"
|
|
12
12
|
// Also yaml tries to convert patterns like "2019-01-01" to dates automatically
|
|
13
13
|
// see https://github.com/facebook/docusaurus/issues/4642
|
|
14
14
|
// see https://github.com/sideway/joi/issues/1442#issuecomment-823997884
|
package/src/validationSchemas.ts
CHANGED
|
@@ -34,12 +34,9 @@ export const URISchema = Joi.alternatives(
|
|
|
34
34
|
// This custom validation logic is required notably because Joi does not accept paths like /a/b/c ...
|
|
35
35
|
Joi.custom((val, helpers) => {
|
|
36
36
|
try {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
} else {
|
|
41
|
-
return helpers.error('any.invalid');
|
|
42
|
-
}
|
|
37
|
+
// eslint-disable-next-line no-new
|
|
38
|
+
new URL(val);
|
|
39
|
+
return val;
|
|
43
40
|
} catch {
|
|
44
41
|
return helpers.error('any.invalid');
|
|
45
42
|
}
|
|
@@ -53,9 +50,8 @@ export const PathnameSchema = Joi.string()
|
|
|
53
50
|
.custom((val) => {
|
|
54
51
|
if (!isValidPathname(val)) {
|
|
55
52
|
throw new Error();
|
|
56
|
-
} else {
|
|
57
|
-
return val;
|
|
58
53
|
}
|
|
54
|
+
return val;
|
|
59
55
|
})
|
|
60
56
|
.message(
|
|
61
57
|
'{{#label}} is not a valid pathname. Pathname should start with slash and not contain any domain or query string.',
|
package/src/validationUtils.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import Joi from './Joi';
|
|
8
|
+
import type Joi from './Joi';
|
|
9
9
|
import logger from '@docusaurus/logger';
|
|
10
10
|
import {PluginIdSchema} from './validationSchemas';
|
|
11
11
|
|
|
@@ -63,7 +63,7 @@ export function normalizePluginOptions<T extends {id?: string}>(
|
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
return value
|
|
66
|
+
return value!; // TODO remove ! this in TS 4.6, see https://twitter.com/sebastienlorber/status/1481950042277793793
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
export function normalizeThemeConfig<T>(
|
|
@@ -90,7 +90,7 @@ export function normalizeThemeConfig<T>(
|
|
|
90
90
|
throw error;
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
|
-
return value
|
|
93
|
+
return value!; // TODO remove ! this in TS 4.6, see https://twitter.com/sebastienlorber/status/1481950042277793793
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
export function validateFrontMatter<T>(
|
|
@@ -112,7 +112,7 @@ export function validateFrontMatter<T>(
|
|
|
112
112
|
|
|
113
113
|
logValidationBugReportHint();
|
|
114
114
|
|
|
115
|
-
logger.error`The following
|
|
115
|
+
logger.error`The following front matter:
|
|
116
116
|
${logger.yellow(frontMatterString)}
|
|
117
117
|
contains invalid values for field(s): ${logger.yellow(invalidFields)}.
|
|
118
118
|
${errorDetails.map(({message}) => message)}
|
|
@@ -120,5 +120,5 @@ ${errorDetails.map(({message}) => message)}
|
|
|
120
120
|
throw error;
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
-
return value
|
|
123
|
+
return value!; // TODO remove ! this in TS 4.6, see https://twitter.com/sebastienlorber/status/1481950042277793793
|
|
124
124
|
}
|