diff --git a/.github/workflows/check-clang-format.yml b/.github/workflows/check-clang-format.yml index eb0ee7e7..f2654661 100644 --- a/.github/workflows/check-clang-format.yml +++ b/.github/workflows/check-clang-format.yml @@ -8,6 +8,7 @@ on: - "other/clang-format-configuration/scripts/convert-clang-format-configuration.js" - "other/clang-format-configuration/testdata/**" - "other/clang-format-configuration/.clang-format" + - ".npmrc" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -17,6 +18,7 @@ on: - "other/clang-format-configuration/scripts/convert-clang-format-configuration.js" - "other/clang-format-configuration/testdata/**" - "other/clang-format-configuration/.clang-format" + - ".npmrc" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" diff --git a/.github/workflows/check-eslint.yml b/.github/workflows/check-eslint.yml index 1f81f371..c7c67c82 100644 --- a/.github/workflows/check-eslint.yml +++ b/.github/workflows/check-eslint.yml @@ -6,6 +6,7 @@ on: paths: - ".github/workflows/check-eslint.yml" - "workflow-templates/assets/check-javascript/.eslintrc.yml" + - ".npmrc" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -13,6 +14,7 @@ on: paths: - ".github/workflows/check-eslint.yml" - "workflow-templates/assets/check-javascript/.eslintrc.yml" + - ".npmrc" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" diff --git a/.github/workflows/check-javascript-task.yml b/.github/workflows/check-javascript-task.yml index 707ff99a..876f2cff 100644 --- a/.github/workflows/check-javascript-task.yml +++ b/.github/workflows/check-javascript-task.yml @@ -9,6 +9,7 @@ on: - ".github/workflows/check-javascript-task.ya?ml" - ".eslintignore" - "**/.eslintrc*" + - ".npmrc" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -18,6 +19,7 @@ on: - ".github/workflows/check-javascript-task.ya?ml" - ".eslintignore" - "**/.eslintrc*" + - ".npmrc" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" diff --git a/.github/workflows/check-markdown-task.yml b/.github/workflows/check-markdown-task.yml index 16c52721..09f8e499 100644 --- a/.github/workflows/check-markdown-task.yml +++ b/.github/workflows/check-markdown-task.yml @@ -8,6 +8,7 @@ on: paths: - ".github/workflows/check-markdown-task.ya?ml" - ".markdown-link-check.json" + - ".npmrc" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -20,6 +21,7 @@ on: paths: - ".github/workflows/check-markdown-task.ya?ml" - ".markdown-link-check.json" + - ".npmrc" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" diff --git a/.github/workflows/check-npm-task.yml b/.github/workflows/check-npm-task.yml index 746144d5..d8e1f18b 100644 --- a/.github/workflows/check-npm-task.yml +++ b/.github/workflows/check-npm-task.yml @@ -7,12 +7,14 @@ on: push: paths: - ".github/workflows/check-npm-task.ya?ml" + - "**/.npmrc" - "**/package.json" - "**/package-lock.json" - "Taskfile.ya?ml" pull_request: paths: - ".github/workflows/check-npm-task.ya?ml" + - "**/.npmrc" - "**/package.json" - "**/package-lock.json" - "Taskfile.ya?ml" diff --git a/.github/workflows/check-prettier-formatting-task.yml b/.github/workflows/check-prettier-formatting-task.yml index f3ef0ec8..a63991c3 100644 --- a/.github/workflows/check-prettier-formatting-task.yml +++ b/.github/workflows/check-prettier-formatting-task.yml @@ -7,6 +7,7 @@ on: push: paths: - ".github/workflows/check-prettier-formatting-task.ya?ml" + - ".npmrc" - "Taskfile.ya?ml" - "**/.prettierignore" - "**/.prettierrc*" @@ -103,6 +104,7 @@ on: pull_request: paths: - ".github/workflows/check-prettier-formatting-task.ya?ml" + - ".npmrc" - "Taskfile.ya?ml" - "**/.prettierignore" - "**/.prettierrc*" diff --git a/.github/workflows/check-taskfiles.yml b/.github/workflows/check-taskfiles.yml index 262cbbbc..1173ed9f 100644 --- a/.github/workflows/check-taskfiles.yml +++ b/.github/workflows/check-taskfiles.yml @@ -7,12 +7,14 @@ on: push: paths: - ".github/workflows/check-taskfiles.ya?ml" + - ".npmrc" - "package.json" - "package-lock.json" - "**/Taskfile.ya?ml" pull_request: paths: - ".github/workflows/check-taskfiles.ya?ml" + - ".npmrc" - "package.json" - "package-lock.json" - "**/Taskfile.ya?ml" diff --git a/.github/workflows/check-workflows-task.yml b/.github/workflows/check-workflows-task.yml index 1fbeb4d6..10748650 100644 --- a/.github/workflows/check-workflows-task.yml +++ b/.github/workflows/check-workflows-task.yml @@ -6,11 +6,13 @@ on: push: paths: - ".github/workflows/*.ya?ml" + - ".npmrc" - "Taskfile.ya?ml" - "workflow-templates/*.ya?ml" pull_request: paths: - ".github/workflows/*.ya?ml" + - ".npmrc" - "Taskfile.ya?ml" - "workflow-templates/*.ya?ml" schedule: diff --git a/.github/workflows/sync-labels-npm.yml b/.github/workflows/sync-labels-npm.yml index 096d1f09..c38548d7 100644 --- a/.github/workflows/sync-labels-npm.yml +++ b/.github/workflows/sync-labels-npm.yml @@ -7,12 +7,14 @@ on: paths: - ".github/workflows/sync-labels-npm.ya?ml" - ".github/label-configuration-files/*.ya?ml" + - ".npmrc" - "package.json" - "package-lock.json" pull_request: paths: - ".github/workflows/sync-labels-npm.ya?ml" - ".github/label-configuration-files/*.ya?ml" + - ".npmrc" - "package.json" - "package-lock.json" schedule: diff --git a/.npmrc b/.npmrc new file mode 100644 index 00000000..0aa10674 --- /dev/null +++ b/.npmrc @@ -0,0 +1,4 @@ +# Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/npm/.npmrc +# See: https://docs.npmjs.com/cli/configuring-npm/npmrc + +engine-strict=true diff --git a/Taskfile.yml b/Taskfile.yml index 67d15d82..81e5798a 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -353,6 +353,7 @@ tasks: "{{.WORKFLOW_TEMPLATE_ASSETS_PATH}}/general/.editorconfig" \ "{{.WORKFLOW_TEMPLATE_ASSETS_PATH}}/check-python/.flake8" \ "{{.WORKFLOW_TEMPLATE_ASSETS_PATH}}/check-markdown/.markdownlint.yml" \ + "{{.WORKFLOW_TEMPLATE_ASSETS_PATH}}/npm/.npmrc" \ "{{.REPOSITORY_ROOT_PATH}}" dependabot:validate: diff --git a/workflow-templates/assets/npm/.npmrc b/workflow-templates/assets/npm/.npmrc new file mode 100644 index 00000000..0aa10674 --- /dev/null +++ b/workflow-templates/assets/npm/.npmrc @@ -0,0 +1,4 @@ +# Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/npm/.npmrc +# See: https://docs.npmjs.com/cli/configuring-npm/npmrc + +engine-strict=true diff --git a/workflow-templates/check-action-metadata-task.md b/workflow-templates/check-action-metadata-task.md index e0292636..266878a5 100644 --- a/workflow-templates/check-action-metadata-task.md +++ b/workflow-templates/check-action-metadata-task.md @@ -14,6 +14,8 @@ Install the [`check-action-metadata-task.yml`](check-action-metadata-task.yml) G - [`Taskfile.yml`](assets/check-action-metadata-task/Taskfile.yml) - task for validating `action.yml` - Install to: repository root (or merge into the existing `Taskfile.yml`). +- [`.npmrc`](assets/npm/.npmrc) - **npm** configuration file. + - Install to: repository root. - [`Taskfile.yml`](assets/npm-task/Taskfile.yml) - **npm** tasks. - Install to: repository root (or merge into the existing `Taskfile.yml`). - [`Taskfile.yml`](assets/windows-task/Taskfile.yml) - utility tasks. diff --git a/workflow-templates/check-action-metadata-task.yml b/workflow-templates/check-action-metadata-task.yml index b02460b4..9ef15483 100644 --- a/workflow-templates/check-action-metadata-task.yml +++ b/workflow-templates/check-action-metadata-task.yml @@ -8,6 +8,7 @@ on: paths: - ".github/workflows/check-action-metadata-task.ya?ml" - "action.ya?ml" + - ".npmrc" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -15,6 +16,7 @@ on: paths: - ".github/workflows/check-action-metadata-task.ya?ml" - "action.ya?ml" + - ".npmrc" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" diff --git a/workflow-templates/check-javascript-task.md b/workflow-templates/check-javascript-task.md index 300a4356..ec0f9c4e 100644 --- a/workflow-templates/check-javascript-task.md +++ b/workflow-templates/check-javascript-task.md @@ -19,6 +19,8 @@ Install the [`check-javascript-task.yml`](check-javascript-task.yml) GitHub Acti - [`.eslintrc.yml`](assets/check-javascript/.eslintrc.yml) - **ESLint** configuration file. ❗ The code style defined in this file is the official standardized style to be used in all Arduino projects and should not be modified. - Install to: repository root +- [`.npmrc`](assets/npm/.npmrc) - **npm** configuration file. + - Install to: repository root. - [`Taskfile.yml`](assets/check-javascript-task/Taskfile.yml) - JavaScript linting tasks. - Install to: repository root (or merge into the existing `Taskfile.yml`). - [`Taskfile.yml`](assets/npm-task/Taskfile.yml) - npm tasks. diff --git a/workflow-templates/check-javascript-task.yml b/workflow-templates/check-javascript-task.yml index 707ff99a..876f2cff 100644 --- a/workflow-templates/check-javascript-task.yml +++ b/workflow-templates/check-javascript-task.yml @@ -9,6 +9,7 @@ on: - ".github/workflows/check-javascript-task.ya?ml" - ".eslintignore" - "**/.eslintrc*" + - ".npmrc" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -18,6 +19,7 @@ on: - ".github/workflows/check-javascript-task.ya?ml" - ".eslintignore" - "**/.eslintrc*" + - ".npmrc" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" diff --git a/workflow-templates/check-markdown-task.md b/workflow-templates/check-markdown-task.md index dec7e8ec..b95cc221 100644 --- a/workflow-templates/check-markdown-task.md +++ b/workflow-templates/check-markdown-task.md @@ -23,6 +23,8 @@ Install the [`check-markdown-task.yml`](check-markdown-task.yml) GitHub Actions - Install to: repository root - [`.markdownlintignore`](assets/check-markdown/.markdownlintignore) - markdownlint configuration file. - Install to: repository root +- [`.npmrc`](assets/npm/.npmrc) - **npm** configuration file. + - Install to: repository root. - [`Taskfile.yml`](assets/check-markdown-task/Taskfile.yml) - Markdown tasks. - Install to: repository root (or merge into the existing `Taskfile.yml`). - [`Taskfile.yml`](assets/npm-task/Taskfile.yml) - npm tasks. diff --git a/workflow-templates/check-markdown-task.yml b/workflow-templates/check-markdown-task.yml index 16c52721..09f8e499 100644 --- a/workflow-templates/check-markdown-task.yml +++ b/workflow-templates/check-markdown-task.yml @@ -8,6 +8,7 @@ on: paths: - ".github/workflows/check-markdown-task.ya?ml" - ".markdown-link-check.json" + - ".npmrc" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -20,6 +21,7 @@ on: paths: - ".github/workflows/check-markdown-task.ya?ml" - ".markdown-link-check.json" + - ".npmrc" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" diff --git a/workflow-templates/check-npm-dependencies-task.md b/workflow-templates/check-npm-dependencies-task.md index 0b6643ea..70aa52ae 100644 --- a/workflow-templates/check-npm-dependencies-task.md +++ b/workflow-templates/check-npm-dependencies-task.md @@ -17,6 +17,8 @@ Install the [`check-npm-dependencies-task.yml`](check-npm-dependencies-task.yml) ### Assets +- [`.npmrc`](assets/npm/.npmrc) - **npm** configuration file. + - Install to: repository root. - [`Taskfile.yml`](assets/check-dependencies-task/Taskfile.yml) - tasks to cache metadata for and check compatibility of dependency licenses. - Install to: repository root (or merge into the existing `Taskfile.yml`). - [`Taskfile.yml`](assets/check-npm-dependencies-task/Taskfile.yml) - tasks to check **npm** dependencies. diff --git a/workflow-templates/check-npm-dependencies-task.yml b/workflow-templates/check-npm-dependencies-task.yml index d3849740..37d1a1b6 100644 --- a/workflow-templates/check-npm-dependencies-task.yml +++ b/workflow-templates/check-npm-dependencies-task.yml @@ -10,6 +10,7 @@ on: - ".licenses/**" - ".licensed.json" - ".licensed.ya?ml" + - ".npmrc" - "Taskfile.ya?ml" - "**/.gitmodules" - "**/package.json" @@ -18,6 +19,7 @@ on: paths: - ".github/workflows/check-npm-dependencies-task.ya?ml" - ".licenses/**" + - ".npmrc" - ".licensed.json" - ".licensed.ya?ml" - "Taskfile.ya?ml" diff --git a/workflow-templates/check-npm-task.md b/workflow-templates/check-npm-task.md index e610f035..7218cdeb 100644 --- a/workflow-templates/check-npm-task.md +++ b/workflow-templates/check-npm-task.md @@ -12,6 +12,8 @@ Install the [check-npm-task.yml](check-npm-task.yml) GitHub Actions workflow to ### Assets +- [`.npmrc`](assets/npm/.npmrc) - **npm** configuration file. + - Install to: repository root. - [`Taskfile.yml`](assets/npm-task/Taskfile.yml) - npm tasks. - Install to: repository root (or merge into the existing `Taskfile.yml`). - [`Taskfile.yml`](assets/check-npm-task/Taskfile.yml) - Validation task. diff --git a/workflow-templates/check-npm-task.yml b/workflow-templates/check-npm-task.yml index 746144d5..d8e1f18b 100644 --- a/workflow-templates/check-npm-task.yml +++ b/workflow-templates/check-npm-task.yml @@ -7,12 +7,14 @@ on: push: paths: - ".github/workflows/check-npm-task.ya?ml" + - "**/.npmrc" - "**/package.json" - "**/package-lock.json" - "Taskfile.ya?ml" pull_request: paths: - ".github/workflows/check-npm-task.ya?ml" + - "**/.npmrc" - "**/package.json" - "**/package-lock.json" - "Taskfile.ya?ml" diff --git a/workflow-templates/check-prettier-formatting-task.md b/workflow-templates/check-prettier-formatting-task.md index 2460afad..e487da4c 100644 --- a/workflow-templates/check-prettier-formatting-task.md +++ b/workflow-templates/check-prettier-formatting-task.md @@ -20,6 +20,8 @@ Install the [`check-prettier-formatting-task.yml`](check-prettier-formatting-tas ### Assets +- [`.npmrc`](assets/npm/.npmrc) - **npm** configuration file. + - Install to: repository root. - [`Taskfile.yml`](assets/check-prettier-formatting-task/Taskfile.yml) - Formatting task. - Install to: repository root (or merge into the existing `Taskfile.yml`). - [`Taskfile.yml`](assets/npm-task/Taskfile.yml) - npm tasks. diff --git a/workflow-templates/check-prettier-formatting-task.yml b/workflow-templates/check-prettier-formatting-task.yml index f3ef0ec8..a63991c3 100644 --- a/workflow-templates/check-prettier-formatting-task.yml +++ b/workflow-templates/check-prettier-formatting-task.yml @@ -7,6 +7,7 @@ on: push: paths: - ".github/workflows/check-prettier-formatting-task.ya?ml" + - ".npmrc" - "Taskfile.ya?ml" - "**/.prettierignore" - "**/.prettierrc*" @@ -103,6 +104,7 @@ on: pull_request: paths: - ".github/workflows/check-prettier-formatting-task.ya?ml" + - ".npmrc" - "Taskfile.ya?ml" - "**/.prettierignore" - "**/.prettierrc*" diff --git a/workflow-templates/check-taskfiles.md b/workflow-templates/check-taskfiles.md index 76a0b3ee..c6940360 100644 --- a/workflow-templates/check-taskfiles.md +++ b/workflow-templates/check-taskfiles.md @@ -8,6 +8,11 @@ Validate the repository's [Taskfiles](https://taskfile.dev/#/usage) against the Install the [`check-taskfiles.yml`](check-taskfiles.yml) GitHub Actions workflow to `.github/workflows/` +### Assets + +- [`.npmrc`](assets/npm/.npmrc) - **npm** configuration file. + - Install to: repository root. + ### Dependencies The tool dependencies of this workflow are managed by [npm](https://www.npmjs.com/). diff --git a/workflow-templates/check-taskfiles.yml b/workflow-templates/check-taskfiles.yml index 262cbbbc..1173ed9f 100644 --- a/workflow-templates/check-taskfiles.yml +++ b/workflow-templates/check-taskfiles.yml @@ -7,12 +7,14 @@ on: push: paths: - ".github/workflows/check-taskfiles.ya?ml" + - ".npmrc" - "package.json" - "package-lock.json" - "**/Taskfile.ya?ml" pull_request: paths: - ".github/workflows/check-taskfiles.ya?ml" + - ".npmrc" - "package.json" - "package-lock.json" - "**/Taskfile.ya?ml" diff --git a/workflow-templates/check-toc-task.md b/workflow-templates/check-toc-task.md index b610841f..1827a575 100644 --- a/workflow-templates/check-toc-task.md +++ b/workflow-templates/check-toc-task.md @@ -14,6 +14,8 @@ Install the [`check-toc-task.yml`](check-toc-task.yml) GitHub Actions workflow t ### Assets +- [`.npmrc`](assets/npm/.npmrc) - **npm** configuration file. + - Install to: repository root. - [`Taskfile.yml`](assets/check-toc-task/Taskfile.yml) - Table of contents generation task. - Install to: repository root (or merge into the existing `Taskfile.yml`). - [`Taskfile.yml`](assets/npm-task/Taskfile.yml) - npm tasks. diff --git a/workflow-templates/check-toc-task.yml b/workflow-templates/check-toc-task.yml index 4698a697..6841b1a6 100644 --- a/workflow-templates/check-toc-task.yml +++ b/workflow-templates/check-toc-task.yml @@ -7,6 +7,7 @@ on: push: paths: - ".github/workflows/check-toc-task.ya?ml" + - ".npmrc" - "package.json" - "package-lock.json" # TODO: Update this if ToC of any other files should be checked. @@ -14,6 +15,7 @@ on: pull_request: paths: - ".github/workflows/check-toc-task.ya?ml" + - ".npmrc" - "package.json" - "package-lock.json" # TODO: Update this if ToC of any other files should be checked. diff --git a/workflow-templates/check-workflows-task.md b/workflow-templates/check-workflows-task.md index 15a8fe03..8daca584 100644 --- a/workflow-templates/check-workflows-task.md +++ b/workflow-templates/check-workflows-task.md @@ -12,6 +12,8 @@ Install the [`check-workflows-task.yml`](check-workflows-task.yml) GitHub Action ### Assets +- [`.npmrc`](assets/npm/.npmrc) - **npm** configuration file. + - Install to: repository root. - [`Taskfile.yml`](assets/check-workflows-task/Taskfile.yml) - workflow validation task. - Install to: repository root (or merge into the existing `Taskfile.yml`). - [`Taskfile.yml`](assets/npm-task/Taskfile.yml) - npm tasks. diff --git a/workflow-templates/check-workflows-task.yml b/workflow-templates/check-workflows-task.yml index 3fff4c8c..78bb6e26 100644 --- a/workflow-templates/check-workflows-task.yml +++ b/workflow-templates/check-workflows-task.yml @@ -6,12 +6,14 @@ on: push: paths: - ".github/workflows/*.ya?ml" + - ".npmrc" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" pull_request: paths: - ".github/workflows/*.ya?ml" + - ".npmrc" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" diff --git a/workflow-templates/sync-labels-npm.md b/workflow-templates/sync-labels-npm.md index 451b62e7..82a2d6d9 100644 --- a/workflow-templates/sync-labels-npm.md +++ b/workflow-templates/sync-labels-npm.md @@ -14,6 +14,11 @@ This is the version of the workflow using [npm](https://www.npmjs.com/) for depe Install the [`sync-labels-npm.yml`](sync-labels-npm.yml) GitHub Actions workflow to `.github/workflows/` +### Assets + +- [`.npmrc`](assets/npm/.npmrc) - **npm** configuration file. + - Install to: repository root. + ### Dependencies The tool dependencies of this workflow are managed by [npm](https://www.npmjs.com/). diff --git a/workflow-templates/sync-labels-npm.yml b/workflow-templates/sync-labels-npm.yml index 096d1f09..c38548d7 100644 --- a/workflow-templates/sync-labels-npm.yml +++ b/workflow-templates/sync-labels-npm.yml @@ -7,12 +7,14 @@ on: paths: - ".github/workflows/sync-labels-npm.ya?ml" - ".github/label-configuration-files/*.ya?ml" + - ".npmrc" - "package.json" - "package-lock.json" pull_request: paths: - ".github/workflows/sync-labels-npm.ya?ml" - ".github/label-configuration-files/*.ya?ml" + - ".npmrc" - "package.json" - "package-lock.json" schedule: