feat: migrate to ESM-only build #73
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI Build | |
on: | |
push: | |
branches: main | |
pull_request: | |
branches: main | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: latest | |
- run: npm ci | |
- run: npm run format:check | |
- run: npm run lint | |
build: | |
name: Build ${{ matrix.node-version }} @ ${{ matrix.os }} | |
strategy: | |
matrix: | |
node-version: | |
- 18 | |
- 20 | |
- latest | |
os: [ubuntu-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- run: npm ci | |
- run: npm run test | |
if: matrix.node-version != 'latest' | |
# TODO (43081j): remove the following once there's some way to | |
# tell node not to try run typescript sources in a way that doesn't | |
# break <23 node | |
- run: npm run test | |
name: "npm run test (without type stripping)" | |
env: | |
NODE_OPTIONS: --no-experimental-strip-types | |
if: matrix.node-version == 'latest' |