99 CLANG_FORMAT_GOLDEN_TEST_DATA_FOLDER : " {{.CLANG_FORMAT_TEST_DATA_FOLDER}}/golden"
1010 # See: https://github.com/arduino/arduino-ide/blob/main/arduino-ide-extension/package.json
1111 DEFAULT_CLANG_FORMAT_VERSION : 14.0.0
12- # Last version of ajv-cli with support for the JSON schema "Draft 4" specification
13- SCHEMA_DRAFT_4_AJV_CLI_VERSION : 3.3.0
1412
1513tasks :
1614 check :
@@ -359,6 +357,8 @@ tasks:
359357
360358 dependabot:validate :
361359 desc : Validate Dependabot configuration files against their JSON schema
360+ deps :
361+ - task : npm:install-deps
362362 vars :
363363 # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/dependabot-2.0.json
364364 SCHEMA_URL : https://json.schemastore.org/dependabot-2.0
@@ -372,25 +372,29 @@ tasks:
372372 DATA_PATH : " .github/dependabot.yml"
373373 # The asset Dependabot configuration files.
374374 ASSETS_DATA_PATH : " workflow-templates/assets/dependabot/**/dependabot.yml"
375- WORKING_FOLDER :
376- sh : task utility:mktemp-folder TEMPLATE="dependabot-validate-XXXXXXXXXX"
377375 cmds :
378376 - wget --quiet --output-document="{{.SCHEMA_PATH}}" {{.SCHEMA_URL}}
379377 - wget --quiet --output-document="{{.BASE_SCHEMA_PATH}}" {{.BASE_SCHEMA_URL}}
380378 - |
381- npx ajv-cli validate \
382- --all-errors \
383- --strict=false \
384- -s "{{.SCHEMA_PATH}}" \
385- -r "{{.BASE_SCHEMA_PATH}}" \
386- -d "{{.DATA_PATH}}"
379+ npx \
380+ --package=ajv-cli \
381+ --package=ajv-formats \
382+ ajv validate \
383+ --all-errors \
384+ --strict=false \
385+ -s "{{.SCHEMA_PATH}}" \
386+ -r "{{.BASE_SCHEMA_PATH}}" \
387+ -d "{{.DATA_PATH}}"
387388 - |
388- npx ajv-cli validate \
389- --all-errors \
390- --strict=false \
391- -s "{{.SCHEMA_PATH}}" \
392- -r "{{.BASE_SCHEMA_PATH}}" \
393- -d "{{.ASSETS_DATA_PATH}}"
389+ npx \
390+ --package=ajv-cli \
391+ --package=ajv-formats \
392+ ajv validate \
393+ --all-errors \
394+ --strict=false \
395+ -s "{{.SCHEMA_PATH}}" \
396+ -r "{{.BASE_SCHEMA_PATH}}" \
397+ -d "{{.ASSETS_DATA_PATH}}"
394398
395399 docs:generate :
396400 desc : Create all generated documentation content
@@ -399,6 +403,8 @@ tasks:
399403
400404 eslint:validate :
401405 desc : Validate ESLint configuration file against its JSON schema
406+ deps :
407+ - task : npm:install-deps
402408 vars :
403409 # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/eslintrc.json
404410 SCHEMA_URL : https://json.schemastore.org/eslintrc.json
@@ -411,20 +417,19 @@ tasks:
411417 DATA_PATH : workflow-templates/assets/check-javascript/.eslintrc.yml
412418 # ajv-cli identifies YAML-format data files by their file extension, so renaming is required:
413419 # https://github.com/ajv-validator/ajv-cli/issues/117
414- PROJECT_FOLDER :
415- sh : pwd
416- WORKING_FOLDER :
417- sh : task utility:mktemp-folder TEMPLATE="eslintrc-validate-XXXXXXXXXX"
418420 cmds :
419421 - wget --quiet --output-document="{{.SCHEMA_PATH}}" {{.SCHEMA_URL}}
420422 - wget --quiet --output-document="{{.PARTIAL_ESLINT_PLUGINS_PATH}}" {{.PARTIAL_ESLINT_PLUGINS_SCHEMA_URL}}
421423 - |
422- cd "{{.WORKING_FOLDER}}" # Workaround for https://github.com/npm/cli/issues/3210
423- npx ajv-cli@{{.SCHEMA_DRAFT_4_AJV_CLI_VERSION}} validate \
424- --all-errors \
425- -s "{{.SCHEMA_PATH}}" \
426- -r "{{.PARTIAL_ESLINT_PLUGINS_PATH}}" \
427- -d "{{.PROJECT_FOLDER}}/{{.DATA_PATH}}"
424+ npx \
425+ --package=ajv-cli \
426+ --package=ajv-formats \
427+ ajv validate \
428+ --all-errors \
429+ --strict=false \
430+ -s "{{.SCHEMA_PATH}}" \
431+ -r "{{.PARTIAL_ESLINT_PLUGINS_PATH}}" \
432+ -d "{{.DATA_PATH}}"
428433
429434 # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-files-task/Taskfile.yml
430435 general:check-filenames :
@@ -729,6 +734,8 @@ tasks:
729734 # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-npm-task/Taskfile.yml
730735 npm:validate :
731736 desc : Validate npm configuration files against their JSON schema
737+ deps :
738+ - task : npm:install-deps
732739 vars :
733740 # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/package.json
734741 SCHEMA_URL : https://json.schemastore.org/package.json
@@ -772,10 +779,6 @@ tasks:
772779 sh : task utility:mktemp-file TEMPLATE="stylelintrc-schema-XXXXXXXXXX.json"
773780 INSTANCE_PATH : >-
774781 {{default "." .PROJECT_PATH}}/package.json
775- PROJECT_FOLDER :
776- sh : pwd
777- WORKING_FOLDER :
778- sh : task utility:mktemp-folder TEMPLATE="dependabot-validate-XXXXXXXXXX"
779782 cmds :
780783 - wget --quiet --output-document="{{.SCHEMA_PATH}}" {{.SCHEMA_URL}}
781784 - wget --quiet --output-document="{{.AVA_SCHEMA_PATH}}" {{.AVA_SCHEMA_URL}}
@@ -788,20 +791,23 @@ tasks:
788791 - wget --quiet --output-document="{{.SEMANTIC_RELEASE_SCHEMA_PATH}}" {{.SEMANTIC_RELEASE_SCHEMA_URL}}
789792 - wget --quiet --output-document="{{.STYLELINTRC_SCHEMA_PATH}}" {{.STYLELINTRC_SCHEMA_URL}}
790793 - |
791- cd "{{.WORKING_FOLDER}}" # Workaround for https://github.com/npm/cli/issues/3210
792- npx ajv-cli@{{.SCHEMA_DRAFT_4_AJV_CLI_VERSION}} validate \
793- --all-errors \
794- -s "{{.SCHEMA_PATH}}" \
795- -r "{{.AVA_SCHEMA_PATH}}" \
796- -r "{{.BASE_SCHEMA_PATH}}" \
797- -r "{{.ESLINTRC_SCHEMA_PATH}}" \
798- -r "{{.JSCPD_SCHEMA_PATH}}" \
799- -r "{{.NPM_BADGES_SCHEMA_PATH}}" \
800- -r "{{.PARTIAL_ESLINT_PLUGINS_PATH}}" \
801- -r "{{.PRETTIERRC_SCHEMA_PATH}}" \
802- -r "{{.SEMANTIC_RELEASE_SCHEMA_PATH}}" \
803- -r "{{.STYLELINTRC_SCHEMA_PATH}}" \
804- -d "{{.PROJECT_FOLDER}}/{{.INSTANCE_PATH}}"
794+ npx \
795+ --package=ajv-cli \
796+ --package=ajv-formats \
797+ ajv validate \
798+ --all-errors \
799+ --strict=false \
800+ -s "{{.SCHEMA_PATH}}" \
801+ -r "{{.AVA_SCHEMA_PATH}}" \
802+ -r "{{.BASE_SCHEMA_PATH}}" \
803+ -r "{{.ESLINTRC_SCHEMA_PATH}}" \
804+ -r "{{.JSCPD_SCHEMA_PATH}}" \
805+ -r "{{.NPM_BADGES_SCHEMA_PATH}}" \
806+ -r "{{.PARTIAL_ESLINT_PLUGINS_PATH}}" \
807+ -r "{{.PRETTIERRC_SCHEMA_PATH}}" \
808+ -r "{{.SEMANTIC_RELEASE_SCHEMA_PATH}}" \
809+ -r "{{.STYLELINTRC_SCHEMA_PATH}}" \
810+ -d "{{.INSTANCE_PATH}}"
805811
806812 # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/poetry-task/Taskfile.yml
807813 poetry:install-deps :
@@ -907,7 +913,6 @@ tasks:
907913 RAW_PATH : " {{.RAW_PATH}}"
908914
909915 # Make a temporary folder named according to the passed TEMPLATE variable and print the path passed to stdout
910- # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/windows-task/Taskfile.yml
911916 utility:mktemp-folder :
912917 vars :
913918 RAW_PATH :
0 commit comments