feat(v2): option and config validation life cycle method for official plugins (#2943)

* add validation for blog plugin

* fix wrong default component

* fix test and add yup to package.json

* remove console.log

* add validation for classic theme and code block theme

* add yup to packages

* remove console.log

* fix build

* fix logo required

* replaced yup with joi

* fix test

* remove hapi from docusuars core

* replace joi with @hapi/joi

* fix eslint

* fix remark plugin type

* change remark plugin validation to match documentation

* move schema to it's own file

* allow unknown only on outer theme object

* fix type for schema type

* fix yarn.lock

* support both commonjs and ES modules

* add docs for new lifecycle method
This commit is contained in:
Anshul Goyal 2020-06-24 23:38:16 +05:30 committed by GitHub
parent ce10646606
commit 81d855355e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 490 additions and 63 deletions

View file

@ -51,7 +51,7 @@ function assertItem<K extends string>(
): asserts item is Record<K, any> {
const unknownKeys = Object.keys(item).filter(
// @ts-expect-error: key is always string
(key) => !keys.includes(key) && key !== 'type',
(key) => !keys.includes(key as string) && key !== 'type',
);
if (unknownKeys.length) {