Skip to content

Commit bc8c3bd

Browse files
committed
Install referenced schemas in "npm:validate" task
The "npm:validate" task validates the repository's `package.json` npm manifest file against its JSON schema to catch any problems with its data format. In order to avoid duplication of content, JSON schemas may reference other schemas via the `$ref` keyword. The `package.json` schema was recently updated to share resources with some other schema, which caused the validation to start failing. The solution is to configure the workflow to download those schemas as well and also to provide their path to the avj-cli validator via a `-r` flag.
1 parent 8d32788 commit bc8c3bd

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

Taskfile.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,10 @@ tasks:
316316
AVA_SCHEMA_URL: https://json.schemastore.org/ava.json
317317
AVA_SCHEMA_PATH:
318318
sh: task utility:mktemp-file TEMPLATE="ava-schema-XXXXXXXXXX.json"
319+
# Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/base.json
320+
BASE_SCHEMA_URL: https://json.schemastore.org/base.json
321+
BASE_SCHEMA_PATH:
322+
sh: task utility:mktemp-file TEMPLATE="base-schema-XXXXXXXXXX.json"
319323
# Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/eslintrc.json
320324
ESLINTRC_SCHEMA_URL: https://json.schemastore.org/eslintrc.json
321325
ESLINTRC_SCHEMA_PATH:
@@ -328,6 +332,10 @@ tasks:
328332
NPM_BADGES_SCHEMA_URL: https://json.schemastore.org/npm-badges.json
329333
NPM_BADGES_SCHEMA_PATH:
330334
sh: task utility:mktemp-file TEMPLATE="npm-badges-schema-XXXXXXXXXX.json"
335+
# Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/partial-eslint-plugins.json
336+
PARTIAL_ESLINT_PLUGINS_SCHEMA_URL: https://json.schemastore.org/partial-eslint-plugins.json
337+
PARTIAL_ESLINT_PLUGINS_PATH:
338+
sh: task utility:mktemp-file TEMPLATE="partial-eslint-plugins-schema-XXXXXXXXXX.json"
331339
# Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/prettierrc.json
332340
PRETTIERRC_SCHEMA_URL: https://json.schemastore.org/prettierrc.json
333341
PRETTIERRC_SCHEMA_PATH:
@@ -349,9 +357,11 @@ tasks:
349357
cmds:
350358
- wget --quiet --output-document="{{.SCHEMA_PATH}}" {{.SCHEMA_URL}}
351359
- wget --quiet --output-document="{{.AVA_SCHEMA_PATH}}" {{.AVA_SCHEMA_URL}}
360+
- wget --quiet --output-document="{{.BASE_SCHEMA_PATH}}" {{.BASE_SCHEMA_URL}}
352361
- wget --quiet --output-document="{{.ESLINTRC_SCHEMA_PATH}}" {{.ESLINTRC_SCHEMA_URL}}
353362
- wget --quiet --output-document="{{.JSCPD_SCHEMA_PATH}}" {{.JSCPD_SCHEMA_URL}}
354363
- wget --quiet --output-document="{{.NPM_BADGES_SCHEMA_PATH}}" {{.NPM_BADGES_SCHEMA_URL}}
364+
- wget --quiet --output-document="{{.PARTIAL_ESLINT_PLUGINS_PATH}}" {{.PARTIAL_ESLINT_PLUGINS_SCHEMA_URL}}
355365
- wget --quiet --output-document="{{.PRETTIERRC_SCHEMA_PATH}}" {{.PRETTIERRC_SCHEMA_URL}}
356366
- wget --quiet --output-document="{{.SEMANTIC_RELEASE_SCHEMA_PATH}}" {{.SEMANTIC_RELEASE_SCHEMA_URL}}
357367
- wget --quiet --output-document="{{.STYLELINTRC_SCHEMA_PATH}}" {{.STYLELINTRC_SCHEMA_URL}}
@@ -361,9 +371,11 @@ tasks:
361371
--all-errors \
362372
-s "{{.SCHEMA_PATH}}" \
363373
-r "{{.AVA_SCHEMA_PATH}}" \
374+
-r "{{.BASE_SCHEMA_PATH}}" \
364375
-r "{{.ESLINTRC_SCHEMA_PATH}}" \
365376
-r "{{.JSCPD_SCHEMA_PATH}}" \
366377
-r "{{.NPM_BADGES_SCHEMA_PATH}}" \
378+
-r "{{.PARTIAL_ESLINT_PLUGINS_PATH}}" \
367379
-r "{{.PRETTIERRC_SCHEMA_PATH}}" \
368380
-r "{{.SEMANTIC_RELEASE_SCHEMA_PATH}}" \
369381
-r "{{.STYLELINTRC_SCHEMA_PATH}}" \

0 commit comments

Comments
 (0)