diff --git a/.github/actions/node-npm-setup/action.yml b/.github/actions/node-npm-setup/action.yml index fcc88e3d401e..7b007d961863 100644 --- a/.github/actions/node-npm-setup/action.yml +++ b/.github/actions/node-npm-setup/action.yml @@ -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 diff --git a/.github/workflows/headless-tests.yml b/.github/workflows/headless-tests.yml index 01d35526fb9e..bb089044280c 100644 --- a/.github/workflows/headless-tests.yml +++ b/.github/workflows/headless-tests.yml @@ -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. diff --git a/.github/workflows/local-dev.yml b/.github/workflows/local-dev.yml index e706c212b12d..fffc0200ab05 100644 --- a/.github/workflows/local-dev.yml +++ b/.github/workflows/local-dev.yml @@ -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 diff --git a/Dockerfile b/Dockerfile index 4fdcedbace2b..5a8c618aae2e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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 \ && node --version # Create the node user and home directory diff --git a/package.json b/package.json index 4ef3a1398461..675f556ac274 100644 --- a/package.json +++ b/package.json @@ -328,7 +328,7 @@ "esm": "^3.2.25" }, "engines": { - "node": "^20 || >=22.0.0 <22.18.0" + "node": "^20 || ^22" }, "cacheDirectories": [ "node_modules",