diff --git a/.github/workflows/static-checks.yml b/.github/workflows/static-checks.yml new file mode 100644 index 000000000..2d639ebe1 --- /dev/null +++ b/.github/workflows/static-checks.yml @@ -0,0 +1,32 @@ +name: Test TypeScript and Lint +on: + pull_request: + merge_group: + branches: + - main + push: +jobs: + check: + runs-on: ubuntu-latest + strategy: + matrix: {dir: ['parser', 'example', 'WebExample']} + concurrency: + group: typescript-${{ matrix.dir }}-${{ github.ref }} + cancel-in-progress: true + steps: + - uses: actions/checkout@v4 + - name: Use Node.js 18 + uses: actions/setup-node@v4 + with: + node-version: 18 + - name: Install root node dependencies + run: yarn + - name: Install ${{ matrix.dir }} app node dependencies + if: ${{ matrix.dir != 'example' }} + working-directory: ${{ matrix.dir }} + run: npm ci + - name: Check types + working-directory: ${{ matrix.dir }} + run: npx tsc -p ./tsconfig.json --noEmit + - name: Lint + run: yarn lint:${{ matrix.dir }} diff --git a/package.json b/package.json index 1e2d7faee..f9cdb1036 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "lint:root": "eslint . --ext .js,.ts,.tsx --ignore-pattern '/example/**/*' --ignore-pattern '/WebExample/**/*' --ignore-pattern '/parser/**/*'", "lint:example": "eslint example --ext .js,.ts,.tsx", "lint:parser": "eslint parser --ext .js,.ts,.tsx", - "lint:web": "eslint WebExample --ext .js,.ts,.tsx", + "lint:WebExample": "eslint WebExample --ext .js,.ts,.tsx", "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib", "prepare": "bob build", "release": "release-it" @@ -156,4 +156,4 @@ "type": "components", "jsSrcsDir": "src" } -} +} \ No newline at end of file