From a95b53afb16fb86b99b51445277953bada2edc90 Mon Sep 17 00:00:00 2001 From: Eden Zimbelman Date: Tue, 3 Mar 2026 15:34:57 -0800 Subject: [PATCH 1/3] ci: add support for node 24 version --- .github/workflows/ci-build.yml | 9 +++++---- AGENTS.md | 4 ++-- README.md | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 79059cc99..335c0f1df 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -19,6 +19,7 @@ jobs: - "18.x" - "20.x" - "22.x" + - "24.x" runs-on: ${{ matrix.os }} permissions: contents: read @@ -62,16 +63,16 @@ jobs: - name: Lint run: npm run lint - name: Run tests (Node 18/20) - if: matrix.node-version != '22.x' + if: matrix.node-version != '22.x' && matrix.node-version != '24.x' shell: bash # Node 18 lacks --test-reporter; Node 20 has coverage bugs. Use simpler script. run: npm run test:node18 --workspaces --if-present - - name: Run tests (Node 22) - if: matrix.node-version == '22.x' + - name: Run tests (Node 22+) + if: matrix.node-version == '22.x' || matrix.node-version == '24.x' shell: bash run: npm test - name: Upload code coverage - if: matrix.node-version == '22.x' && matrix.os == 'ubuntu-latest' + if: matrix.node-version == '24.x' && matrix.os == 'ubuntu-latest' uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2 with: fail_ci_if_error: true diff --git a/AGENTS.md b/AGENTS.md index 6b3244914..edc0f8248 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -78,7 +78,7 @@ npm run build --workspace=@slack/socket-mode 2. **Request types ARE manually maintained** — `packages/web-api/src/types/request/` is hand-written code; edit these responsibly. 3. **Build packages in dependency order** — see the dependency graph above. 4. **Use Biome**, not ESLint or Prettier — config is in `biome.json` at repo root. -5. **TypeScript 5.9.3**, Node 18+. +5. **TypeScript 5.9.3**, Node 18+ (tested on Node 18, 20, 22, 24). ## Code Conventions @@ -282,7 +282,7 @@ Entry point for response type generation. It: - **Unit tests**: `*.test.{ts,js}` files alongside source (e.g., `src/WebClient.test.ts`) - **Type tests**: tsd (`*.test-d.ts` files in `packages/web-api/test/types/`) - **Integration tests**: CommonJS, ESM, and TypeScript compatibility checks -- **CI matrix**: Node 18.x, 20.x, 22.x on Ubuntu + Windows (6 jobs total) +- **CI matrix**: Node 18.x, 20.x, 22.x, 24.x on Ubuntu + Windows (8 jobs total) - **Coverage output**: `lcov.info` at each package root (not in `coverage/` dir) - **Test results**: `test-results.xml` at each package root (JUnit format) diff --git a/README.md b/README.md index 42bc36e86..7f44aa740 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,7 @@ Refer to [the module document page](https://docs.slack.dev/tools/node-slack-sdk/ ## Requirements -This package supports Node v14 and higher. It's highly recommended to use [the latest LTS version of +This package supports Node v18 and higher. It's highly recommended to use [the latest LTS version of node](https://github.com/nodejs/Release#release-schedule), and the documentation is written using syntax and features from that version. From 4a9d963d017ecbb208c349218e7453a0fc5ba031 Mon Sep 17 00:00:00 2001 From: Eden Zimbelman Date: Tue, 3 Mar 2026 15:37:41 -0800 Subject: [PATCH 2/3] docs: changeset --- .changeset/plenty-times-rhyme.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .changeset/plenty-times-rhyme.md diff --git a/.changeset/plenty-times-rhyme.md b/.changeset/plenty-times-rhyme.md new file mode 100644 index 000000000..f9d871adc --- /dev/null +++ b/.changeset/plenty-times-rhyme.md @@ -0,0 +1,12 @@ +--- +"@slack/socket-mode": patch +"@slack/cli-hooks": patch +"@slack/cli-test": patch +"@slack/web-api": patch +"@slack/webhook": patch +"@slack/logger": patch +"@slack/oauth": patch +"@slack/types": patch +--- + +build: add support for node 24 From 41253ca7315e7c3f114bfe214eed26d5d81273c0 Mon Sep 17 00:00:00 2001 From: Eden Zimbelman Date: Tue, 3 Mar 2026 16:27:33 -0800 Subject: [PATCH 3/3] ci: remove specific shell --- .github/workflows/ci-build.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 335c0f1df..168d838cd 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -64,12 +64,10 @@ jobs: run: npm run lint - name: Run tests (Node 18/20) if: matrix.node-version != '22.x' && matrix.node-version != '24.x' - shell: bash # Node 18 lacks --test-reporter; Node 20 has coverage bugs. Use simpler script. run: npm run test:node18 --workspaces --if-present - name: Run tests (Node 22+) if: matrix.node-version == '22.x' || matrix.node-version == '24.x' - shell: bash run: npm test - name: Upload code coverage if: matrix.node-version == '24.x' && matrix.os == 'ubuntu-latest'