diff --git a/.github/workflows/static-quality.yml b/.github/workflows/static-quality.yml index 74898122..aa59694d 100644 --- a/.github/workflows/static-quality.yml +++ b/.github/workflows/static-quality.yml @@ -31,6 +31,17 @@ jobs: - run: pnpm install --frozen-lockfile - run: pnpm lint + typecheck: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: { persist-credentials: false } + - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 + with: { node-version: 24, cache: pnpm } + - run: pnpm install --frozen-lockfile + - run: pnpm typecheck + exports: runs-on: ubuntu-latest steps: diff --git a/package.json b/package.json index 99676abe..c78373e2 100644 --- a/package.json +++ b/package.json @@ -167,9 +167,10 @@ "test": "vitest run", "test:drift": "vitest run --config vitest.config.drift.ts", "test:exports": "publint && attw --pack .", + "typecheck": "tsc -p tsconfig.json --noEmit && tsc -p scripts/tsconfig.json --noEmit", "lint": "eslint .", "format:check": "prettier --check .", - "release": "pnpm format:check && pnpm build && pnpm test && pnpm lint && pnpm test:exports && npm publish", + "release": "pnpm format:check && pnpm typecheck && pnpm build && pnpm test && pnpm lint && pnpm test:exports && npm publish", "prepare": "husky || true" }, "lint-staged": { diff --git a/scripts/tsconfig.json b/scripts/tsconfig.json index 5c934e8d..13f706b0 100644 --- a/scripts/tsconfig.json +++ b/scripts/tsconfig.json @@ -6,6 +6,7 @@ "strict": true, "esModuleInterop": true, "skipLibCheck": true, + "noEmit": true, "types": ["node"] }, "include": ["."] diff --git a/tsconfig.json b/tsconfig.json index be10c4bd..23a8dfe4 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -11,6 +11,7 @@ "declaration": true, "declarationMap": true, "sourceMap": true, + "noEmit": true, "outDir": "dist", "rootDir": "src" },