diff --git a/.github/workflows/minimum-version-ts-check.yaml b/.github/workflows/minimum-version-ts-check.yaml new file mode 100644 index 000000000..7a473e9c5 --- /dev/null +++ b/.github/workflows/minimum-version-ts-check.yaml @@ -0,0 +1,46 @@ +name: Library checks + +on: + pull_request: + push: + branches: + - main + +jobs: + unit: + name: Check minimum TS version + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [ 16, 18, 20, 22, 23 ] + typescript-version: ['4.7.2', '5.5.4', 'latest' ] + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup pnpm + uses: pnpm/action-setup@v4 + with: + version: 8.x.x + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: 'pnpm' + + - name: Install dependencies + run: pnpm install + + - name: Build project + run: pnpm run build + + # once its built we can see if we can use it on the forced version + - name: Override TypeScript version + run: pnpm add typescript@${{ matrix.typescript-version }} --save-dev + + - name: Test TypeScript Import + run: | + rm test.ts || true + echo "import { posthog } from './dist/module'; console.log(posthog);" > test.ts + pnpm exec tsc test.ts --strict --target es2017 --module commonjs --moduleResolution node --noEmit --skipLibCheck \ No newline at end of file diff --git a/README.md b/README.md index c13cb4aa1..b22c97bb4 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,8 @@ we use pnpm. it's best to install using `npm install -g pnpm@latest-8` and then `pnpm` commands as usual +## + ## Testing Unit tests: run `pnpm test`.