Feature/bun v1 (#622) #121
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
# https://help.github.com/en/articles/workflow-syntax-for-github-actions | |
name: macOS | |
on: | |
push: | |
branches: | |
- "**" | |
tags-ignore: | |
- "*" | |
jobs: | |
conditional-exports: | |
name: Conditional Exports # with --experimental-conditional-exports | |
strategy: | |
matrix: | |
os: | |
- macos-11 | |
- macos-12 | |
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: | |
- macos-11 | |
- macos-12 | |
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: | |
- macos-11 | |
- macos-12 | |
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: | |
- macos-11 | |
- macos-12 | |
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: | |
- macos-11 | |
- macos-12 | |
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: | |
- macos-11 | |
- macos-12 | |
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: | |
- macos-11 | |
- macos-12 | |
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: | |
- macos-11 | |
- macos-12 | |
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: | |
- macos-11 | |
- macos-12 | |
bun: | |
- "1.0.0" | |
fail-fast: false | |
uses: "./.github/workflows/reusable-bun.yml" | |
with: | |
os: ${{ matrix.os }} | |
bun: ${{ matrix.bun }} |