Skip to content

Commit fbd6e13

Browse files
authored
feat!: modernise to ESM, drop all runtime dependencies (#169)
BREAKING CHANGE: CJS require() no longer supported, use ESM import. BufferList and BufferListStream must be called with new. Switches from readable-stream to node:stream and buffer to node:buffer, removing all runtime dependencies. Node.js >= 20 required.
1 parent 265c92a commit fbd6e13

24 files changed

Lines changed: 1056 additions & 1062 deletions

.github/dependabot.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,14 @@ updates:
77
commit-message:
88
prefix: 'chore'
99
include: 'scope'
10+
cooldown:
11+
default-days: 5
1012
- package-ecosystem: 'npm'
1113
directory: '/'
1214
schedule:
1315
interval: 'daily'
1416
commit-message:
1517
prefix: 'chore'
1618
include: 'scope'
19+
cooldown:
20+
default-days: 5
Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
name: Test & Maybe Release
22
on: [push, pull_request]
3+
34
jobs:
45
test:
56
strategy:
67
fail-fast: false
78
matrix:
8-
node: [18.x, 20.x, lts/*, current]
9+
node: [lts/*, current]
910
os: [macos-latest, ubuntu-latest, windows-latest]
1011
runs-on: ${{ matrix.os }}
1112
steps:
@@ -16,17 +17,26 @@ jobs:
1617
with:
1718
node-version: ${{ matrix.node }}
1819
- name: Install Dependencies
20+
run: npm install --no-progress
21+
- name: Check build is up to date
1922
run: |
20-
npm install --no-progress
23+
npm run build
24+
git diff --exit-code || (echo "::error::Build artifacts not committed. Run 'npm run build' and commit the changes." && exit 1)
2125
- name: Run tests
2226
run: |
2327
npm config set script-shell bash
2428
npm run test:ci
29+
2530
release:
2631
name: Release
2732
needs: test
2833
runs-on: ubuntu-latest
2934
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
35+
permissions:
36+
contents: write
37+
issues: write
38+
pull-requests: write
39+
id-token: write
3040
steps:
3141
- name: Checkout
3242
uses: actions/checkout@v6
@@ -36,26 +46,13 @@ jobs:
3646
uses: actions/setup-node@v6.3.0
3747
with:
3848
node-version: lts/*
49+
registry-url: 'https://registry.npmjs.org'
3950
- name: Install dependencies
40-
run: |
41-
npm install --no-progress --no-package-lock --no-save
51+
run: npm install --no-progress --no-package-lock --no-save
4252
- name: Build
43-
run: |
44-
npm run build
45-
- name: Install plugins
46-
run: |
47-
npm install \
48-
@semantic-release/commit-analyzer \
49-
conventional-changelog-conventionalcommits \
50-
@semantic-release/release-notes-generator \
51-
@semantic-release/npm \
52-
@semantic-release/github \
53-
@semantic-release/git \
54-
@semantic-release/changelog \
55-
--no-progress --no-package-lock --no-save
53+
run: npm run build
5654
- name: Release
5755
env:
5856
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
59-
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
57+
NPM_CONFIG_PROVENANCE: true
6058
run: npx semantic-release
61-

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
node_modules/
1+
node_modules
2+
package-lock.jsontypes/tsconfig.tsbuildinfo
3+
package-lock.json

0 commit comments

Comments
 (0)