Skip to content

Commit da29556

Browse files
authored
chore: .npmrc supply-chain hardening + esbuild 0.19 upgrade (#238)
1 parent f9c20d9 commit da29556

6 files changed

Lines changed: 630 additions & 11 deletions

File tree

.circleci/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ jobs:
5555
- browser-tools-job
5656
- <<: *set_npm_auth
5757
- run: npm ci
58+
- run: npm rebuild esbuild --ignore-scripts=false --foreground-scripts
5859
- run: npx browser-driver-manager install chromedriver --verbose
5960
- save_cache:
6061
key: v9-cache-unix-{{ checksum "package-lock.json" }}

.github/workflows/test.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ jobs:
1818
node-version-file: .nvmrc
1919
cache: 'npm'
2020
- run: npm ci
21+
- run: npm rebuild esbuild --ignore-scripts=false --foreground-scripts
2122
- run: npm run prepare
2223
- run: npm run build
2324
- uses: actions/upload-artifact@v4

.npmrc

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,11 @@
1-
registry=https://registry.npmjs.org
1+
registry=https://registry.npmjs.org
2+
3+
# Supply-chain hardening directives (AXE-3444). Public repo: access is left
4+
# unset (access=restricted applies to private repos only).
5+
# Do NOT add tokens or secrets here; this repo installs from the public registry.
6+
ignore-scripts=true
7+
strict-ssl=true
8+
save-exact=true
9+
audit-level=high
10+
engine-strict=true
11+
legacy-peer-deps=false

doc/developer-guide.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ Axe 3.0 supports open Shadow DOM: see our virtual DOM APIs and test utilities fo
3434
1. You must have Node.js version 22 or higher installed.
3535
If you have [nvm](https://github.com/nvm-sh/nvm) installed, simply do `nvm use` in the root of this repository.
3636
1. Install npm development dependencies. In the root folder of your axe-core repository, run `npm install`
37+
1. The committed `.npmrc` sets `ignore-scripts=true` for supply-chain hardening, so dependency lifecycle scripts do not run during install. After installing, run `npm run prepare` (applies dependency patches and installs git hooks) and `npm rebuild esbuild --ignore-scripts=false` (fetches the esbuild bundler binary) before building.
3738

3839
### Building axe.js
3940

0 commit comments

Comments
 (0)