Skip to content

Feature/bun v1 (#622) #121

Feature/bun v1 (#622)

Feature/bun v1 (#622) #121

# https://help.github.com/en/articles/workflow-syntax-for-github-actions
name: Linux
on:
push:
branches:
- "**"
tags-ignore:
- "*"
jobs:
conditional-exports:
name: Conditional Exports # with --experimental-conditional-exports
strategy:
matrix:
os:
- ubuntu-20.04
- ubuntu-22.04
nodejs:
- "13.2.0"
fail-fast: false
uses: "./.github/workflows/reusable-conditional-exports.yml"
with:
os: ${{ matrix.os }}
node-version: ${{ matrix.nodejs }}
cjs:
name: CommonJS
needs: conditional-exports # wait for caching dist
strategy:
matrix:
os:
- ubuntu-20.04
- ubuntu-22.04
nodejs:
- "4.0.0"
- "6.0.0"
- "8.0.0"
- "10.0.0"
- "12.0.0"
- "14.0.0"
- "16.0.0"
- "18.0.0"
fail-fast: false
uses: "./.github/workflows/reusable-cjs.yml"
with:
os: ${{ matrix.os }}
node-version: ${{ matrix.nodejs }}
esm-experimental:
name: ES Modules (with --experimental-modules)
needs: cjs # wait for caching NPM
strategy:
matrix:
os:
- ubuntu-20.04
- ubuntu-22.04
nodejs:
- "8.5.0"
- "10.0.0"
- "12.0.0" # loads CommonJS version
fail-fast: false
uses: "./.github/workflows/reusable-esm.yml"
with:
os: ${{ matrix.os }}
node-version: ${{ matrix.nodejs }}
experimental: true
esm:
name: ES Modules
needs: cjs # wait for caching NPM
strategy:
matrix:
os:
- ubuntu-20.04
- ubuntu-22.04
nodejs:
- "14.0.0"
- "16.0.0"
- "18.0.0"
fail-fast: false
uses: "./.github/workflows/reusable-esm.yml"
with:
os: ${{ matrix.os }}
node-version: ${{ matrix.nodejs }}
typescript-3:
name: TypeScript 3.x
needs: cjs # wait for caching NPM
strategy:
matrix:
os:
- ubuntu-20.04
- ubuntu-22.04
nodejs:
- "4.0.0"
- "6.0.0"
- "8.0.0"
- "10.0.0"
- "12.0.0"
- "14.0.0"
- "16.0.0"
- "18.0.0"
typescript:
- "3.5"
- "3.6"
- "3.7"
- "3.8"
- "3.9"
fail-fast: false
uses: "./.github/workflows/reusable-typescript.yml"
with:
os: ${{ matrix.os }}
node-version: ${{ matrix.nodejs }}
typescript-version: ${{ matrix.typescript }}
typescript-4:
name: TypeScript 4.x
needs: cjs # wait for caching NPM
strategy:
matrix:
os:
- ubuntu-20.04
- ubuntu-22.04
nodejs:
- "4.0.0"
- "6.0.0"
- "8.0.0"
- "10.0.0"
- "12.0.0"
- "14.0.0"
- "16.0.0"
- "18.0.0"
typescript:
- "4.0"
- "4.1"
- "4.2"
- "4.3"
- "4.4"
- "4.5"
- "4.6"
- "4.7"
- "4.8"
- "4.9"
exclude:
- nodejs: "4.0.0" # TypeScript 4.0 on Node.js <=6 causes error; https://github.com/microsoft/TypeScript/issues/40166
typescript: "4.0"
- nodejs: "6.0.0"
typescript: "4.0"
fail-fast: false
uses: "./.github/workflows/reusable-typescript.yml"
with:
os: ${{ matrix.os }}
node-version: ${{ matrix.nodejs }}
typescript-version: ${{ matrix.typescript }}
typescript-5:
name: TypeScript 5.x
needs: cjs # wait for caching NPM
strategy:
matrix:
os:
- ubuntu-20.04
- ubuntu-22.04
nodejs:
- "8.3.0" # TypeScript 5 uses "spread syntax in object literals" internally, that is supported as of Node.js v8.3.0; https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntaxhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax
- "10.0.0"
- "12.0.0"
- "14.0.0"
- "16.0.0"
- "18.0.0"
typescript:
- "5.0"
- "5.1"
exclude:
# TypeScript>=5.1 uses "Nullish coalescing operator" internally, that is supported as of Node.js v14; https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing
- typescript: "5.1"
nodejs: "8.3.0"
- typescript: "5.1"
nodejs: "10.0.0"
- typescript: "5.1"
nodejs: "12.0.0"
fail-fast: false
uses: "./.github/workflows/reusable-typescript.yml"
with:
os: ${{ matrix.os }}
node-version: ${{ matrix.nodejs }}
typescript-version: ${{ matrix.typescript }}
deno:
name: Deno
strategy:
matrix:
os:
- ubuntu-20.04
- ubuntu-22.04
deno:
- "1.0.0"
- "1.1.0"
- "1.2.0"
- "1.3.0"
- "1.4.0"
- "1.5.0"
- "1.6.0"
- "1.7.0"
- "1.8.0"
- "1.9.0"
- "1.10.1"
- "1.11.0"
- "1.12.0"
- "1.13.0"
- "1.14.0"
- "1.15.0"
- "1.16.0"
- "1.17.0"
- "1.18.0"
- "1.19.0"
- "1.20.1"
- "1.21.0"
- "1.22.0"
- "1.23.0"
- "1.24.0"
- "1.25.0"
- "1.26.0"
- "1.27.0"
- "1.28.0"
- "1.29.0"
- "1.30.0"
- "1.31.0"
- "1.32.0"
- "1.33.0"
- "1.34.0"
- "1.35.0"
fail-fast: false
uses: "./.github/workflows/reusable-deno.yml"
with:
os: ${{ matrix.os }}
deno-version: ${{ matrix.deno }}
bun:
name: Bun
strategy:
matrix:
os:
- ubuntu-20.04
- ubuntu-22.04
bun:
- "1.0.0"
fail-fast: false
uses: "./.github/workflows/reusable-bun.yml"
with:
os: ${{ matrix.os }}
bun: ${{ matrix.bun }}