9
9
CLANG_FORMAT_GOLDEN_TEST_DATA_FOLDER : " {{.CLANG_FORMAT_TEST_DATA_FOLDER}}/golden"
10
10
# See: https://github.com/arduino/arduino-ide/blob/main/arduino-ide-extension/package.json
11
11
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
14
12
15
13
tasks :
16
14
check :
@@ -359,6 +357,8 @@ tasks:
359
357
360
358
dependabot:validate :
361
359
desc : Validate Dependabot configuration files against their JSON schema
360
+ deps :
361
+ - task : npm:install-deps
362
362
vars :
363
363
# Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/dependabot-2.0.json
364
364
SCHEMA_URL : https://json.schemastore.org/dependabot-2.0
@@ -372,25 +372,29 @@ tasks:
372
372
DATA_PATH : " .github/dependabot.yml"
373
373
# The asset Dependabot configuration files.
374
374
ASSETS_DATA_PATH : " workflow-templates/assets/dependabot/**/dependabot.yml"
375
- WORKING_FOLDER :
376
- sh : task utility:mktemp-folder TEMPLATE="dependabot-validate-XXXXXXXXXX"
377
375
cmds :
378
376
- wget --quiet --output-document="{{.SCHEMA_PATH}}" {{.SCHEMA_URL}}
379
377
- wget --quiet --output-document="{{.BASE_SCHEMA_PATH}}" {{.BASE_SCHEMA_URL}}
380
378
- |
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}}"
387
388
- |
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}}"
394
398
395
399
docs:generate :
396
400
desc : Create all generated documentation content
@@ -399,6 +403,8 @@ tasks:
399
403
400
404
eslint:validate :
401
405
desc : Validate ESLint configuration file against its JSON schema
406
+ deps :
407
+ - task : npm:install-deps
402
408
vars :
403
409
# Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/eslintrc.json
404
410
SCHEMA_URL : https://json.schemastore.org/eslintrc.json
@@ -411,20 +417,19 @@ tasks:
411
417
DATA_PATH : workflow-templates/assets/check-javascript/.eslintrc.yml
412
418
# ajv-cli identifies YAML-format data files by their file extension, so renaming is required:
413
419
# 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"
418
420
cmds :
419
421
- wget --quiet --output-document="{{.SCHEMA_PATH}}" {{.SCHEMA_URL}}
420
422
- wget --quiet --output-document="{{.PARTIAL_ESLINT_PLUGINS_PATH}}" {{.PARTIAL_ESLINT_PLUGINS_SCHEMA_URL}}
421
423
- |
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}}"
428
433
429
434
# Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-files-task/Taskfile.yml
430
435
general:check-filenames :
@@ -729,6 +734,8 @@ tasks:
729
734
# Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-npm-task/Taskfile.yml
730
735
npm:validate :
731
736
desc : Validate npm configuration files against their JSON schema
737
+ deps :
738
+ - task : npm:install-deps
732
739
vars :
733
740
# Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/package.json
734
741
SCHEMA_URL : https://json.schemastore.org/package.json
@@ -772,10 +779,6 @@ tasks:
772
779
sh : task utility:mktemp-file TEMPLATE="stylelintrc-schema-XXXXXXXXXX.json"
773
780
INSTANCE_PATH : >-
774
781
{{default "." .PROJECT_PATH}}/package.json
775
- PROJECT_FOLDER :
776
- sh : pwd
777
- WORKING_FOLDER :
778
- sh : task utility:mktemp-folder TEMPLATE="dependabot-validate-XXXXXXXXXX"
779
782
cmds :
780
783
- wget --quiet --output-document="{{.SCHEMA_PATH}}" {{.SCHEMA_URL}}
781
784
- wget --quiet --output-document="{{.AVA_SCHEMA_PATH}}" {{.AVA_SCHEMA_URL}}
@@ -788,20 +791,23 @@ tasks:
788
791
- wget --quiet --output-document="{{.SEMANTIC_RELEASE_SCHEMA_PATH}}" {{.SEMANTIC_RELEASE_SCHEMA_URL}}
789
792
- wget --quiet --output-document="{{.STYLELINTRC_SCHEMA_PATH}}" {{.STYLELINTRC_SCHEMA_URL}}
790
793
- |
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}}"
805
811
806
812
# Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/poetry-task/Taskfile.yml
807
813
poetry:install-deps :
@@ -907,7 +913,6 @@ tasks:
907
913
RAW_PATH : " {{.RAW_PATH}}"
908
914
909
915
# 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
911
916
utility:mktemp-folder :
912
917
vars :
913
918
RAW_PATH :
0 commit comments