fix: add plugin initializer to exported types (#148) #389
This file contains hidden or 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 | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| # cancel in-progress runs on new commits to same PR (gitub.event.number) | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.number || github.sha }} | |
| cancel-in-progress: true | |
| # use min permissions | |
| permissions: | |
| contents: read # to fetch code (actions/checkout) | |
| jobs: | |
| ci: | |
| timeout-minutes: 5 | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| # pseudo-matrix for convenience, NEVER use more than a single combination | |
| node: [24] | |
| os: [ubuntu-latest] | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| persist-credentials: 'false' | |
| - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 | |
| with: | |
| node-version: ${{ matrix.node }} | |
| package-manager-cache: false # pnpm is not installed yet | |
| - name: install pnpm | |
| shell: bash | |
| run: | | |
| PNPM_VER=$(jq -r '.packageManager | if .[0:5] == "pnpm@" then .[5:] else "packageManager in package.json does not start with pnpm@\n" | halt_error(1) end' package.json) | |
| echo installing pnpm version $PNPM_VER | |
| npm i -g pnpm@$PNPM_VER | |
| - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 | |
| with: | |
| node-version: ${{ matrix.node }} | |
| package-manager-cache: true # caches pnpm via packageManager field in package.json | |
| cache: 'pnpm' | |
| - name: install | |
| run: pnpm install --frozen-lockfile --prefer-offline --ignore-scripts | |
| - name: format | |
| run: pnpm check:format | |
| - name: lint | |
| if: ${{ success() || failure() }} | |
| run: pnpm check:lint | |
| - name: types | |
| if: ${{ success() || failure() }} | |
| run: pnpm check:types | |
| - name: audit | |
| if: ${{ success() || failure() }} | |
| run: pnpm check:audit | |
| - name: publint | |
| if: ${{ success() || failure() }} | |
| run: pnpm check:publint | |
| - name: generated types are up to date | |
| if: ${{ success() || failure() }} | |
| run: pnpm generate:types && [ "`git status --porcelain=v1`" == "" ] | |
| - name: tests | |
| if: ${{ success() || failure() }} | |
| run: pnpm test |