From c0030dd1ffbc18b9ffc04565bf1e0c906e9f7fd1 Mon Sep 17 00:00:00 2001 From: per1234 Date: Tue, 23 Sep 2025 03:55:45 -0700 Subject: [PATCH] Configure npm to enforce standard project Node.js version This will produce an error if a contributor attempts to run an npm command in the project using an unsupported version of Node.js. --- .github/workflows/check-markdown-task.yml | 2 ++ .github/workflows/check-prettier-formatting-task.yml | 2 ++ .github/workflows/check-taskfiles.yml | 2 ++ .github/workflows/check-toc-task.yml | 2 ++ .github/workflows/check-workflows-task.yml | 2 ++ .github/workflows/sync-labels-npm.yml | 2 ++ .npmrc | 4 ++++ 7 files changed, 16 insertions(+) create mode 100644 .npmrc diff --git a/.github/workflows/check-markdown-task.yml b/.github/workflows/check-markdown-task.yml index 259c2508..41639233 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-prettier-formatting-task.yml b/.github/workflows/check-prettier-formatting-task.yml index 6683cf58..94b84c86 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 e6a48575..6fdf7b9e 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-toc-task.yml b/.github/workflows/check-toc-task.yml index 3a30870e..5ea6e9c8 100644 --- a/.github/workflows/check-toc-task.yml +++ b/.github/workflows/check-toc-task.yml @@ -7,6 +7,7 @@ on: push: paths: - ".github/workflows/check-toc-task.ya?ml" + - ".npmrc" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -14,6 +15,7 @@ on: pull_request: paths: - ".github/workflows/check-toc-task.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 1c928952..b0154912 100644 --- a/.github/workflows/check-workflows-task.yml +++ b/.github/workflows/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/.github/workflows/sync-labels-npm.yml b/.github/workflows/sync-labels-npm.yml index 3249261f..aca7e4b3 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