Skip to content

Commit c4393b0

Browse files
committed
Install referenced schema 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 the "base" configuration schema, which caused the validation to start failing: schema /tmp/package-json-schema-m3x8Uu4NED.json is invalid error: can't resolve reference https://json.schemastore.org/base.json#/definitions/license from id https://json.schemastore.org/package.json# The solution is to configure the task to download that schema as well and also to provide its path to the avj-cli validator via a `-r` flag.
1 parent 5f576f2 commit c4393b0

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

Taskfile.yml

+6
Original file line numberDiff line numberDiff line change
@@ -731,6 +731,10 @@ tasks:
731731
AVA_SCHEMA_URL: https://json.schemastore.org/ava.json
732732
AVA_SCHEMA_PATH:
733733
sh: task utility:mktemp-file TEMPLATE="ava-schema-XXXXXXXXXX.json"
734+
# Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/base.json
735+
BASE_SCHEMA_URL: https://json.schemastore.org/base.json
736+
BASE_SCHEMA_PATH:
737+
sh: task utility:mktemp-file TEMPLATE="base-schema-XXXXXXXXXX.json"
734738
# Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/eslintrc.json
735739
ESLINTRC_SCHEMA_URL: https://json.schemastore.org/eslintrc.json
736740
ESLINTRC_SCHEMA_PATH:
@@ -768,6 +772,7 @@ tasks:
768772
cmds:
769773
- wget --quiet --output-document="{{.SCHEMA_PATH}}" {{.SCHEMA_URL}}
770774
- wget --quiet --output-document="{{.AVA_SCHEMA_PATH}}" {{.AVA_SCHEMA_URL}}
775+
- wget --quiet --output-document="{{.BASE_SCHEMA_PATH}}" {{.BASE_SCHEMA_URL}}
771776
- wget --quiet --output-document="{{.ESLINTRC_SCHEMA_PATH}}" {{.ESLINTRC_SCHEMA_URL}}
772777
- wget --quiet --output-document="{{.JSCPD_SCHEMA_PATH}}" {{.JSCPD_SCHEMA_URL}}
773778
- wget --quiet --output-document="{{.NPM_BADGES_SCHEMA_PATH}}" {{.NPM_BADGES_SCHEMA_URL}}
@@ -781,6 +786,7 @@ tasks:
781786
--all-errors \
782787
-s "{{.SCHEMA_PATH}}" \
783788
-r "{{.AVA_SCHEMA_PATH}}" \
789+
-r "{{.BASE_SCHEMA_PATH}}" \
784790
-r "{{.ESLINTRC_SCHEMA_PATH}}" \
785791
-r "{{.JSCPD_SCHEMA_PATH}}" \
786792
-r "{{.NPM_BADGES_SCHEMA_PATH}}" \

workflow-templates/assets/check-npm-task/Taskfile.yml

+6
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ tasks:
2020
AVA_SCHEMA_URL: https://json.schemastore.org/ava.json
2121
AVA_SCHEMA_PATH:
2222
sh: task utility:mktemp-file TEMPLATE="ava-schema-XXXXXXXXXX.json"
23+
# Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/base.json
24+
BASE_SCHEMA_URL: https://json.schemastore.org/base.json
25+
BASE_SCHEMA_PATH:
26+
sh: task utility:mktemp-file TEMPLATE="base-schema-XXXXXXXXXX.json"
2327
# Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/eslintrc.json
2428
ESLINTRC_SCHEMA_URL: https://json.schemastore.org/eslintrc.json
2529
ESLINTRC_SCHEMA_PATH:
@@ -57,6 +61,7 @@ tasks:
5761
cmds:
5862
- wget --quiet --output-document="{{.SCHEMA_PATH}}" {{.SCHEMA_URL}}
5963
- wget --quiet --output-document="{{.AVA_SCHEMA_PATH}}" {{.AVA_SCHEMA_URL}}
64+
- wget --quiet --output-document="{{.BASE_SCHEMA_PATH}}" {{.BASE_SCHEMA_URL}}
6065
- wget --quiet --output-document="{{.ESLINTRC_SCHEMA_PATH}}" {{.ESLINTRC_SCHEMA_URL}}
6166
- wget --quiet --output-document="{{.JSCPD_SCHEMA_PATH}}" {{.JSCPD_SCHEMA_URL}}
6267
- wget --quiet --output-document="{{.NPM_BADGES_SCHEMA_PATH}}" {{.NPM_BADGES_SCHEMA_URL}}
@@ -70,6 +75,7 @@ tasks:
7075
--all-errors \
7176
-s "{{.SCHEMA_PATH}}" \
7277
-r "{{.AVA_SCHEMA_PATH}}" \
78+
-r "{{.BASE_SCHEMA_PATH}}" \
7379
-r "{{.ESLINTRC_SCHEMA_PATH}}" \
7480
-r "{{.JSCPD_SCHEMA_PATH}}" \
7581
-r "{{.NPM_BADGES_SCHEMA_PATH}}" \

0 commit comments

Comments
 (0)