Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/actions/node-npm-setup/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ description: Will set up Node and install all packages by caching node_modules
runs:
using: 'composite'
steps:
# Set this in GITHUB_ENV so it's set in the environment for users of this
# action as a workaround for https://github.com/nodejs/node/issues/59364
- name: Set -no-experimental-strip-types in NODE_OPTIONS
shell: bash
run: echo "NODE_OPTIONS=--no-experimental-strip-types" >> $GITHUB_ENV

- name: Cache node_modules
uses: actions/cache@v4
id: cache-node_modules
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/headless-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ jobs:
- name: Run Playwright tests
env:
PLAYWRIGHT_WORKERS: ${{ fromJSON('[1, 4]')[github.repository == 'github/docs-internal'] }}
NODE_OPTIONS: '--no-experimental-strip-types'

# Run playwright rendering tests and a11y tests (axe scans) as distinct checks
# so that we can run them without blocking merges until we can be confident
# results for a11y tests are meaningul and scenarios we're testing are correct.
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/local-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ jobs:
# by default failures are marked as "flaky" instead of "failed".
PLAYWRIGHT_RETRIES: 0
TEST_EARLY_ACCESS: ${{ github.repository == 'github/docs-internal' }}
NODE_OPTIONS: '--no-experimental-strip-types'
run: npm run playwright-test -- playwright-local-dev

- name: Start server in the background
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ FROM ghcr.io/github/gh-base-image/gh-base-noble:20250805-204228-g50c20871f AS ba
# Must run as root
RUN apt-get -qq update && apt-get -qq install --no-install-recommends curl git \
&& curl -sL https://deb.nodesource.com/setup_22.x | bash - \
&& apt-get install -y nodejs=22.17.0-1nodesource1 \
&& apt-get install -y nodejs \
Copy link

Copilot AI Aug 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removing the specific Node.js version pin (nodejs=22.17.0-1nodesource1) could lead to non-reproducible builds as different versions may be installed depending on when the image is built. Consider pinning to a specific version or version range to ensure consistent builds across environments.

Suggested change
&& apt-get install -y nodejs \
&& apt-get install -y nodejs=22.17.0-1nodesource1 \

Copilot uses AI. Check for mistakes.
&& node --version

# Create the node user and home directory
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,7 @@
"esm": "^3.2.25"
},
"engines": {
"node": "^20 || >=22.0.0 <22.18.0"
"node": "^20 || ^22"
Copy link

Copilot AI Aug 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The Node.js version constraint has been loosened from a specific upper bound to allow all v22 versions. Consider if this change could introduce compatibility issues with newer Node.js versions that haven't been tested. The original constraint ^20 || >=22.0.0 <22.18.0 provided more predictable behavior by excluding untested versions.

Suggested change
"node": "^20 || ^22"
"node": "^20 || >=22.0.0 <22.18.0"

Copilot uses AI. Check for mistakes.
},
"cacheDirectories": [
"node_modules",
Expand Down
Loading