Skip to content

Commit cc6f87c

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 an ESLint plugins configuration schema, which caused the validation to start failing: schema /tmp/package-json-schema-WItZVgRyuR.json is invalid error: can't resolve reference https://json.schemastore.org/partial-eslint-plugins.json from id https://json.schemastore.org/eslintrc.json# task: Failed to run task "npm:validate": exit status 1 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 49eb6f6 commit cc6f87c

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
@@ -737,6 +737,10 @@ tasks:
737737
NPM_BADGES_SCHEMA_URL: https://json.schemastore.org/npm-badges.json
738738
NPM_BADGES_SCHEMA_PATH:
739739
sh: task utility:mktemp-file TEMPLATE="npm-badges-schema-XXXXXXXXXX.json"
740+
# Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/partial-eslint-plugins.json
741+
PARTIAL_ESLINT_PLUGINS_SCHEMA_URL: https://json.schemastore.org/partial-eslint-plugins.json
742+
PARTIAL_ESLINT_PLUGINS_PATH:
743+
sh: task utility:mktemp-file TEMPLATE="partial-eslint-plugins-schema-XXXXXXXXXX.json"
740744
# Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/prettierrc.json
741745
PRETTIERRC_SCHEMA_URL: https://json.schemastore.org/prettierrc.json
742746
PRETTIERRC_SCHEMA_PATH:
@@ -761,6 +765,7 @@ tasks:
761765
- wget --quiet --output-document="{{.ESLINTRC_SCHEMA_PATH}}" {{.ESLINTRC_SCHEMA_URL}}
762766
- wget --quiet --output-document="{{.JSCPD_SCHEMA_PATH}}" {{.JSCPD_SCHEMA_URL}}
763767
- wget --quiet --output-document="{{.NPM_BADGES_SCHEMA_PATH}}" {{.NPM_BADGES_SCHEMA_URL}}
768+
- wget --quiet --output-document="{{.PARTIAL_ESLINT_PLUGINS_PATH}}" {{.PARTIAL_ESLINT_PLUGINS_SCHEMA_URL}}
764769
- wget --quiet --output-document="{{.PRETTIERRC_SCHEMA_PATH}}" {{.PRETTIERRC_SCHEMA_URL}}
765770
- wget --quiet --output-document="{{.SEMANTIC_RELEASE_SCHEMA_PATH}}" {{.SEMANTIC_RELEASE_SCHEMA_URL}}
766771
- wget --quiet --output-document="{{.STYLELINTRC_SCHEMA_PATH}}" {{.STYLELINTRC_SCHEMA_URL}}
@@ -773,6 +778,7 @@ tasks:
773778
-r "{{.ESLINTRC_SCHEMA_PATH}}" \
774779
-r "{{.JSCPD_SCHEMA_PATH}}" \
775780
-r "{{.NPM_BADGES_SCHEMA_PATH}}" \
781+
-r "{{.PARTIAL_ESLINT_PLUGINS_PATH}}" \
776782
-r "{{.PRETTIERRC_SCHEMA_PATH}}" \
777783
-r "{{.SEMANTIC_RELEASE_SCHEMA_PATH}}" \
778784
-r "{{.STYLELINTRC_SCHEMA_PATH}}" \

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

+6
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ tasks:
3232
NPM_BADGES_SCHEMA_URL: https://json.schemastore.org/npm-badges.json
3333
NPM_BADGES_SCHEMA_PATH:
3434
sh: task utility:mktemp-file TEMPLATE="npm-badges-schema-XXXXXXXXXX.json"
35+
# Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/partial-eslint-plugins.json
36+
PARTIAL_ESLINT_PLUGINS_SCHEMA_URL: https://json.schemastore.org/partial-eslint-plugins.json
37+
PARTIAL_ESLINT_PLUGINS_PATH:
38+
sh: task utility:mktemp-file TEMPLATE="partial-eslint-plugins-schema-XXXXXXXXXX.json"
3539
# Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/prettierrc.json
3640
PRETTIERRC_SCHEMA_URL: https://json.schemastore.org/prettierrc.json
3741
PRETTIERRC_SCHEMA_PATH:
@@ -56,6 +60,7 @@ tasks:
5660
- wget --quiet --output-document="{{.ESLINTRC_SCHEMA_PATH}}" {{.ESLINTRC_SCHEMA_URL}}
5761
- wget --quiet --output-document="{{.JSCPD_SCHEMA_PATH}}" {{.JSCPD_SCHEMA_URL}}
5862
- wget --quiet --output-document="{{.NPM_BADGES_SCHEMA_PATH}}" {{.NPM_BADGES_SCHEMA_URL}}
63+
- wget --quiet --output-document="{{.PARTIAL_ESLINT_PLUGINS_PATH}}" {{.PARTIAL_ESLINT_PLUGINS_SCHEMA_URL}}
5964
- wget --quiet --output-document="{{.PRETTIERRC_SCHEMA_PATH}}" {{.PRETTIERRC_SCHEMA_URL}}
6065
- wget --quiet --output-document="{{.SEMANTIC_RELEASE_SCHEMA_PATH}}" {{.SEMANTIC_RELEASE_SCHEMA_URL}}
6166
- wget --quiet --output-document="{{.STYLELINTRC_SCHEMA_PATH}}" {{.STYLELINTRC_SCHEMA_URL}}
@@ -68,6 +73,7 @@ tasks:
6873
-r "{{.ESLINTRC_SCHEMA_PATH}}" \
6974
-r "{{.JSCPD_SCHEMA_PATH}}" \
7075
-r "{{.NPM_BADGES_SCHEMA_PATH}}" \
76+
-r "{{.PARTIAL_ESLINT_PLUGINS_PATH}}" \
7177
-r "{{.PRETTIERRC_SCHEMA_PATH}}" \
7278
-r "{{.SEMANTIC_RELEASE_SCHEMA_PATH}}" \
7379
-r "{{.STYLELINTRC_SCHEMA_PATH}}" \

0 commit comments

Comments
 (0)