@docusaurus/utils-validation 3.1.0 → 3.2.0

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/index.d.ts CHANGED
@@ -7,5 +7,5 @@
7
7
  export { default as Joi } from './Joi';
8
8
  export { JoiFrontMatter } from './JoiFrontMatter';
9
9
  export { printWarning, normalizePluginOptions, normalizeThemeConfig, validateFrontMatter, } from './validationUtils';
10
- export { PluginIdSchema, RemarkPluginsSchema, RehypePluginsSchema, AdmonitionsSchema, RouteBasePathSchema, URISchema, PathnameSchema, FrontMatterTagsSchema, FrontMatterTOCHeadingLevels, ContentVisibilitySchema, } from './validationSchemas';
10
+ export { PluginIdSchema, RemarkPluginsSchema, RehypePluginsSchema, AdmonitionsSchema, RouteBasePathSchema, URISchema, PathnameSchema, FrontMatterTagsSchema, FrontMatterTOCHeadingLevels, ContentVisibilitySchema, FrontMatterLastUpdateErrorMessage, FrontMatterLastUpdateSchema, } from './validationSchemas';
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAC,OAAO,IAAI,GAAG,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAC,OAAO,IAAI,GAAG,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,iCAAiC,EACjC,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC"}
package/lib/index.js CHANGED
@@ -6,7 +6,7 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.ContentVisibilitySchema = exports.FrontMatterTOCHeadingLevels = exports.FrontMatterTagsSchema = exports.PathnameSchema = exports.URISchema = exports.RouteBasePathSchema = exports.AdmonitionsSchema = exports.RehypePluginsSchema = exports.RemarkPluginsSchema = exports.PluginIdSchema = exports.validateFrontMatter = exports.normalizeThemeConfig = exports.normalizePluginOptions = exports.printWarning = exports.JoiFrontMatter = exports.Joi = void 0;
9
+ exports.FrontMatterLastUpdateSchema = exports.FrontMatterLastUpdateErrorMessage = exports.ContentVisibilitySchema = exports.FrontMatterTOCHeadingLevels = exports.FrontMatterTagsSchema = exports.PathnameSchema = exports.URISchema = exports.RouteBasePathSchema = exports.AdmonitionsSchema = exports.RehypePluginsSchema = exports.RemarkPluginsSchema = exports.PluginIdSchema = exports.validateFrontMatter = exports.normalizeThemeConfig = exports.normalizePluginOptions = exports.printWarning = exports.JoiFrontMatter = exports.Joi = void 0;
10
10
  // /!\ don't remove this export, as we recommend plugin authors to use it
11
11
  var Joi_1 = require("./Joi");
12
12
  Object.defineProperty(exports, "Joi", { enumerable: true, get: function () { return __importDefault(Joi_1).default; } });
@@ -28,4 +28,6 @@ Object.defineProperty(exports, "PathnameSchema", { enumerable: true, get: functi
28
28
  Object.defineProperty(exports, "FrontMatterTagsSchema", { enumerable: true, get: function () { return validationSchemas_1.FrontMatterTagsSchema; } });
29
29
  Object.defineProperty(exports, "FrontMatterTOCHeadingLevels", { enumerable: true, get: function () { return validationSchemas_1.FrontMatterTOCHeadingLevels; } });
30
30
  Object.defineProperty(exports, "ContentVisibilitySchema", { enumerable: true, get: function () { return validationSchemas_1.ContentVisibilitySchema; } });
31
+ Object.defineProperty(exports, "FrontMatterLastUpdateErrorMessage", { enumerable: true, get: function () { return validationSchemas_1.FrontMatterLastUpdateErrorMessage; } });
32
+ Object.defineProperty(exports, "FrontMatterLastUpdateSchema", { enumerable: true, get: function () { return validationSchemas_1.FrontMatterLastUpdateSchema; } });
31
33
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,yEAAyE;AACzE,6BAAqC;AAA7B,2GAAA,OAAO,OAAO;AACtB,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AAEtB,qDAK2B;AAJzB,+GAAA,YAAY,OAAA;AACZ,yHAAA,sBAAsB,OAAA;AACtB,uHAAA,oBAAoB,OAAA;AACpB,sHAAA,mBAAmB,OAAA;AAErB,yDAW6B;AAV3B,mHAAA,cAAc,OAAA;AACd,wHAAA,mBAAmB,OAAA;AACnB,wHAAA,mBAAmB,OAAA;AACnB,sHAAA,iBAAiB,OAAA;AACjB,wHAAA,mBAAmB,OAAA;AACnB,8GAAA,SAAS,OAAA;AACT,mHAAA,cAAc,OAAA;AACd,0HAAA,qBAAqB,OAAA;AACrB,gIAAA,2BAA2B,OAAA;AAC3B,4HAAA,uBAAuB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,yEAAyE;AACzE,6BAAqC;AAA7B,2GAAA,OAAO,OAAO;AACtB,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AAEtB,qDAK2B;AAJzB,+GAAA,YAAY,OAAA;AACZ,yHAAA,sBAAsB,OAAA;AACtB,uHAAA,oBAAoB,OAAA;AACpB,sHAAA,mBAAmB,OAAA;AAErB,yDAa6B;AAZ3B,mHAAA,cAAc,OAAA;AACd,wHAAA,mBAAmB,OAAA;AACnB,wHAAA,mBAAmB,OAAA;AACnB,sHAAA,iBAAiB,OAAA;AACjB,wHAAA,mBAAmB,OAAA;AACnB,8GAAA,SAAS,OAAA;AACT,mHAAA,cAAc,OAAA;AACd,0HAAA,qBAAqB,OAAA;AACrB,gIAAA,2BAA2B,OAAA;AAC3B,4HAAA,uBAAuB,OAAA;AACvB,sIAAA,iCAAiC,OAAA;AACjC,gIAAA,2BAA2B,OAAA"}
@@ -22,4 +22,6 @@ export type ContentVisibility = {
22
22
  unlisted: boolean;
23
23
  };
24
24
  export declare const ContentVisibilitySchema: Joi.ObjectSchema<ContentVisibility>;
25
+ export declare const FrontMatterLastUpdateErrorMessage = "{{#label}} does not look like a valid last update object. Please use an author key with a string or a date with a string or Date.";
26
+ export declare const FrontMatterLastUpdateSchema: Joi.ObjectSchema<any>;
25
27
  //# sourceMappingURL=validationSchemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validationSchemas.d.ts","sourceRoot":"","sources":["../src/validationSchemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,GAAG,MAAM,OAAO,CAAC;AAGxB,eAAO,MAAM,cAAc,0BAKE,CAAC;AAe9B,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AACzD,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD,eAAO,MAAM,iBAAiB,6BAqB1B,CAAC;AAIL,eAAO,MAAM,SAAS,6BAmBpB,CAAC;AAEH,eAAO,MAAM,cAAc,0BASxB,CAAC;AAaJ,eAAO,MAAM,mBAAmB,6BAO7B,CAAC;AAeJ,eAAO,MAAM,qBAAqB,wBAK9B,CAAC;AAEL,eAAO,MAAM,2BAA2B;;;CASvC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,uBAAuB,qCAgBxB,CAAC"}
1
+ {"version":3,"file":"validationSchemas.d.ts","sourceRoot":"","sources":["../src/validationSchemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,GAAG,MAAM,OAAO,CAAC;AAGxB,eAAO,MAAM,cAAc,0BAKE,CAAC;AAe9B,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AACzD,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD,eAAO,MAAM,iBAAiB,6BAqB1B,CAAC;AAIL,eAAO,MAAM,SAAS,6BAmBpB,CAAC;AAEH,eAAO,MAAM,cAAc,0BASxB,CAAC;AAaJ,eAAO,MAAM,mBAAmB,6BAO7B,CAAC;AAeJ,eAAO,MAAM,qBAAqB,wBAK9B,CAAC;AAEL,eAAO,MAAM,2BAA2B;;;CASvC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,uBAAuB,qCAgBxB,CAAC;AAEb,eAAO,MAAM,iCAAiC,sIACuF,CAAC;AAEtI,eAAO,MAAM,2BAA2B,uBAQpC,CAAC"}
@@ -6,9 +6,10 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.ContentVisibilitySchema = exports.FrontMatterTOCHeadingLevels = exports.FrontMatterTagsSchema = exports.RouteBasePathSchema = exports.PathnameSchema = exports.URISchema = exports.AdmonitionsSchema = exports.RehypePluginsSchema = exports.RemarkPluginsSchema = exports.PluginIdSchema = void 0;
9
+ exports.FrontMatterLastUpdateSchema = exports.FrontMatterLastUpdateErrorMessage = exports.ContentVisibilitySchema = exports.FrontMatterTOCHeadingLevels = exports.FrontMatterTagsSchema = exports.RouteBasePathSchema = exports.PathnameSchema = exports.URISchema = exports.AdmonitionsSchema = exports.RehypePluginsSchema = exports.RemarkPluginsSchema = exports.PluginIdSchema = void 0;
10
10
  const tslib_1 = require("tslib");
11
11
  const utils_1 = require("@docusaurus/utils");
12
+ const utils_common_1 = require("@docusaurus/utils-common");
12
13
  const Joi_1 = tslib_1.__importDefault(require("./Joi"));
13
14
  const JoiFrontMatter_1 = require("./JoiFrontMatter");
14
15
  exports.PluginIdSchema = Joi_1.default.string()
@@ -83,7 +84,7 @@ exports.RouteBasePathSchema = Joi_1.default
83
84
  .try(Joi_1.default.string().required().allow(''))
84
85
  .custom((value) =>
85
86
  // /!\ do not add trailing slash here
86
- (0, utils_1.addLeadingSlash)(value));
87
+ (0, utils_common_1.addLeadingSlash)(value));
87
88
  const FrontMatterTagSchema = JoiFrontMatter_1.JoiFrontMatter.alternatives()
88
89
  .try(JoiFrontMatter_1.JoiFrontMatter.string().required(), JoiFrontMatter_1.JoiFrontMatter.object({
89
90
  label: JoiFrontMatter_1.JoiFrontMatter.string().required(),
@@ -122,4 +123,14 @@ exports.ContentVisibilitySchema = JoiFrontMatter_1.JoiFrontMatter.object({
122
123
  'frontMatter.draftAndUnlistedError': "Can't be draft and unlisted at the same time.",
123
124
  })
124
125
  .unknown();
126
+ exports.FrontMatterLastUpdateErrorMessage = '{{#label}} does not look like a valid last update object. Please use an author key with a string or a date with a string or Date.';
127
+ exports.FrontMatterLastUpdateSchema = Joi_1.default.object({
128
+ author: Joi_1.default.string(),
129
+ date: Joi_1.default.date().raw(),
130
+ })
131
+ .or('author', 'date')
132
+ .messages({
133
+ 'object.missing': exports.FrontMatterLastUpdateErrorMessage,
134
+ 'object.base': exports.FrontMatterLastUpdateErrorMessage,
135
+ });
125
136
  //# sourceMappingURL=validationSchemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validationSchemas.js","sourceRoot":"","sources":["../src/validationSchemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validationSchemas.js","sourceRoot":"","sources":["../src/validationSchemas.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": "3.1.0",
3
+ "version": "3.2.0",
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,9 @@
18
18
  },
19
19
  "license": "MIT",
20
20
  "dependencies": {
21
- "@docusaurus/logger": "3.1.0",
22
- "@docusaurus/utils": "3.1.0",
21
+ "@docusaurus/logger": "3.2.0",
22
+ "@docusaurus/utils": "3.2.0",
23
+ "@docusaurus/utils-common": "3.2.0",
23
24
  "joi": "^17.9.2",
24
25
  "js-yaml": "^4.1.0",
25
26
  "tslib": "^2.6.0"
@@ -27,5 +28,5 @@
27
28
  "engines": {
28
29
  "node": ">=18.0"
29
30
  },
30
- "gitHead": "a5e675821f0e8b70b591fcebf19fd60a70d55548"
31
+ "gitHead": "5af143651b26b39761361acd96e9c5be7ba0cb25"
31
32
  }
package/src/index.ts CHANGED
@@ -26,4 +26,6 @@ export {
26
26
  FrontMatterTagsSchema,
27
27
  FrontMatterTOCHeadingLevels,
28
28
  ContentVisibilitySchema,
29
+ FrontMatterLastUpdateErrorMessage,
30
+ FrontMatterLastUpdateSchema,
29
31
  } from './validationSchemas';
@@ -5,12 +5,8 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import {
9
- isValidPathname,
10
- DEFAULT_PLUGIN_ID,
11
- type Tag,
12
- addLeadingSlash,
13
- } from '@docusaurus/utils';
8
+ import {isValidPathname, DEFAULT_PLUGIN_ID, type Tag} from '@docusaurus/utils';
9
+ import {addLeadingSlash} from '@docusaurus/utils-common';
14
10
  import Joi from './Joi';
15
11
  import {JoiFrontMatter} from './JoiFrontMatter';
16
12
 
@@ -167,3 +163,16 @@ export const ContentVisibilitySchema = JoiFrontMatter.object<ContentVisibility>(
167
163
  "Can't be draft and unlisted at the same time.",
168
164
  })
169
165
  .unknown();
166
+
167
+ export const FrontMatterLastUpdateErrorMessage =
168
+ '{{#label}} does not look like a valid last update object. Please use an author key with a string or a date with a string or Date.';
169
+
170
+ export const FrontMatterLastUpdateSchema = Joi.object({
171
+ author: Joi.string(),
172
+ date: Joi.date().raw(),
173
+ })
174
+ .or('author', 'date')
175
+ .messages({
176
+ 'object.missing': FrontMatterLastUpdateErrorMessage,
177
+ 'object.base': FrontMatterLastUpdateErrorMessage,
178
+ });