From 471eb40cc2e326e466eb0be3cf735d953b5b14ba Mon Sep 17 00:00:00 2001 From: Erik Marks Date: Thu, 24 Oct 2024 12:40:42 -0700 Subject: [PATCH 1/4] chore: Enable repo-wide type checks without building --- packages/errors/tsconfig.test.json | 5 ++--- packages/extension/tsconfig.test.json | 5 ++--- packages/kernel/tsconfig.test.json | 5 ++--- packages/shims/tsconfig.test.json | 5 ++--- packages/streams/tsconfig.test.json | 5 ++--- packages/utils/tsconfig.test.json | 5 ++--- tsconfig.json | 4 ++-- tsconfig.packages.json | 3 ++- 8 files changed, 16 insertions(+), 21 deletions(-) diff --git a/packages/errors/tsconfig.test.json b/packages/errors/tsconfig.test.json index 329d26504..0089f433b 100644 --- a/packages/errors/tsconfig.test.json +++ b/packages/errors/tsconfig.test.json @@ -1,9 +1,8 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "skipLibCheck": true, - "module": "Node16", - "moduleResolution": "Node16" + "composite": false, + "skipLibCheck": true }, "include": ["./src"], "exclude": ["./vite.config.ts", "./vitest.config.ts"] diff --git a/packages/extension/tsconfig.test.json b/packages/extension/tsconfig.test.json index 1ad5eb9d8..dd5c14434 100644 --- a/packages/extension/tsconfig.test.json +++ b/packages/extension/tsconfig.test.json @@ -1,9 +1,8 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "skipLibCheck": true, - "module": "Node16", - "moduleResolution": "Node16" + "composite": false, + "skipLibCheck": true }, "include": ["./src", "./test", "./scripts"], "exclude": ["./vite.config.ts", "./vitest.config.ts"] diff --git a/packages/kernel/tsconfig.test.json b/packages/kernel/tsconfig.test.json index f6ac601ad..5f2cc79bc 100644 --- a/packages/kernel/tsconfig.test.json +++ b/packages/kernel/tsconfig.test.json @@ -1,9 +1,8 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "skipLibCheck": true, - "module": "Node16", - "moduleResolution": "Node16" + "composite": false, + "skipLibCheck": true }, "include": ["./src", "./test"], "exclude": ["./vite.config.ts", "./vitest.config.ts"] diff --git a/packages/shims/tsconfig.test.json b/packages/shims/tsconfig.test.json index 329d26504..0089f433b 100644 --- a/packages/shims/tsconfig.test.json +++ b/packages/shims/tsconfig.test.json @@ -1,9 +1,8 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "skipLibCheck": true, - "module": "Node16", - "moduleResolution": "Node16" + "composite": false, + "skipLibCheck": true }, "include": ["./src"], "exclude": ["./vite.config.ts", "./vitest.config.ts"] diff --git a/packages/streams/tsconfig.test.json b/packages/streams/tsconfig.test.json index f6ac601ad..5f2cc79bc 100644 --- a/packages/streams/tsconfig.test.json +++ b/packages/streams/tsconfig.test.json @@ -1,9 +1,8 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "skipLibCheck": true, - "module": "Node16", - "moduleResolution": "Node16" + "composite": false, + "skipLibCheck": true }, "include": ["./src", "./test"], "exclude": ["./vite.config.ts", "./vitest.config.ts"] diff --git a/packages/utils/tsconfig.test.json b/packages/utils/tsconfig.test.json index 329d26504..0089f433b 100644 --- a/packages/utils/tsconfig.test.json +++ b/packages/utils/tsconfig.test.json @@ -1,9 +1,8 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "skipLibCheck": true, - "module": "Node16", - "moduleResolution": "Node16" + "composite": false, + "skipLibCheck": true }, "include": ["./src"], "exclude": ["./vite.config.ts", "./vitest.config.ts"] diff --git a/tsconfig.json b/tsconfig.json index 3411cb5c4..8630999cd 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,8 +1,8 @@ { "compilerOptions": { "esModuleInterop": true, - "module": "Node16", - "moduleResolution": "Node16", + "module": "Preserve", + "moduleResolution": "Node10", "noEmit": true, "resolveJsonModule": true, "verbatimModuleSyntax": true diff --git a/tsconfig.packages.json b/tsconfig.packages.json index dcfa711f5..a7364bbaf 100644 --- a/tsconfig.packages.json +++ b/tsconfig.packages.json @@ -4,7 +4,8 @@ "exactOptionalPropertyTypes": true, "forceConsistentCasingInFileNames": true, "lib": ["ES2022"], - "moduleResolution": "Node", + "module": "Preserve", + "moduleResolution": "Node10", "noErrorTruncation": true, "noUncheckedIndexedAccess": true, /** From 3711883115701ced30fc706ad18aa2e0f2a1b729 Mon Sep 17 00:00:00 2001 From: Erik Marks Date: Thu, 24 Oct 2024 12:48:36 -0700 Subject: [PATCH 2/4] chore: Fix type errors in vitest.config.ts files --- packages/errors/tsconfig.json | 7 ++++++- packages/extension/tsconfig.json | 7 ++++--- packages/shims/tsconfig.json | 7 ++++++- packages/streams/tsconfig.json | 1 + packages/utils/tsconfig.json | 7 ++++++- vitest.config.packages.js => vitest.config.packages.ts | 7 ++++--- 6 files changed, 27 insertions(+), 9 deletions(-) rename vitest.config.packages.js => vitest.config.packages.ts (81%) diff --git a/packages/errors/tsconfig.json b/packages/errors/tsconfig.json index e35ee6316..82a6543a1 100644 --- a/packages/errors/tsconfig.json +++ b/packages/errors/tsconfig.json @@ -6,5 +6,10 @@ "types": ["ses", "vitest", "vitest/jsdom"] }, "references": [{ "path": "../test-utils" }], - "include": ["./src", "./vite.config.ts", "./vitest.config.ts"] + "include": [ + "../../vitest.config.packages.ts", + "./src", + "./vite.config.ts", + "./vitest.config.ts" + ] } diff --git a/packages/extension/tsconfig.json b/packages/extension/tsconfig.json index 02f4dbb59..81b1f7260 100644 --- a/packages/extension/tsconfig.json +++ b/packages/extension/tsconfig.json @@ -16,13 +16,14 @@ { "path": "../utils" } ], "include": [ + "../../vitest.config.packages.ts", + "./scripts/build-constants.mjs", "./src/**/*.ts", "./src/**/*-trusted-prelude.js", "./src/dev-console.js", - "./vite-plugins/*.ts", "./test/**/*.ts", + "./vite-plugins/*.ts", "./vite.config.ts", - "./vitest.config.ts", - "./scripts/build-constants.mjs" + "./vitest.config.ts" ] } diff --git a/packages/shims/tsconfig.json b/packages/shims/tsconfig.json index 9e15c38e1..d5327d83d 100644 --- a/packages/shims/tsconfig.json +++ b/packages/shims/tsconfig.json @@ -7,5 +7,10 @@ "outDir": "./dist" }, "references": [], - "include": ["./src", "./vite.config.ts", "./vitest.config.ts"] + "include": [ + "../../vitest.config.packages.ts", + "./src", + "./vite.config.ts", + "./vitest.config.ts" + ] } diff --git a/packages/streams/tsconfig.json b/packages/streams/tsconfig.json index e431a82af..a5af17b68 100644 --- a/packages/streams/tsconfig.json +++ b/packages/streams/tsconfig.json @@ -7,6 +7,7 @@ }, "references": [{ "path": "../test-utils" }, { "path": "../errors" }], "include": [ + "../../vitest.config.packages.ts", "./src", "./src/chrome.d.ts", "./test/*.ts", diff --git a/packages/utils/tsconfig.json b/packages/utils/tsconfig.json index 3978278cb..0c7a539d0 100644 --- a/packages/utils/tsconfig.json +++ b/packages/utils/tsconfig.json @@ -6,5 +6,10 @@ "types": ["ses", "vitest", "vitest/jsdom"] }, "references": [{ "path": "../test-utils" }, { "path": "../errors" }], - "include": ["./src", "./vite.config.ts", "./vitest.config.ts"] + "include": [ + "../../vitest.config.packages.ts", + "./src", + "./vite.config.ts", + "./vitest.config.ts" + ] } diff --git a/vitest.config.packages.js b/vitest.config.packages.ts similarity index 81% rename from vitest.config.packages.js rename to vitest.config.packages.ts index 641438644..a4924b931 100644 --- a/vitest.config.packages.js +++ b/vitest.config.packages.ts @@ -4,15 +4,16 @@ import path from 'path'; import { defineConfig } from 'vite'; +import type { UserConfig } from 'vite'; import tsconfigPathsPlugin from 'vite-tsconfig-paths'; /** * Get the default vitest config. See https://vitest.dev/config/ for details. * - * @param {string} projectRoot - The vite project root directory. - * @returns {import('vite').UserConfig} The default vitest config. + * @param projectRoot - The vite project root directory. + * @returns The default vitest config. */ -export const getDefaultConfig = (projectRoot = './src') => +export const getDefaultConfig = (projectRoot = './src'): UserConfig => defineConfig({ root: projectRoot, From 2479558b458ec2647bb05c1eed0b5ee4b5e2d8af Mon Sep 17 00:00:00 2001 From: Erik Marks Date: Thu, 24 Oct 2024 13:04:05 -0700 Subject: [PATCH 3/4] chore: Run lint:ts during regular lint commands --- .github/workflows/lint-build-test.yml | 3 --- package.json | 4 ++-- packages/errors/package.json | 6 +++--- .../{tsconfig.test.json => tsconfig.lint.json} | 1 + packages/extension/package.json | 6 +++--- .../{tsconfig.test.json => tsconfig.lint.json} | 1 + packages/kernel/package.json | 6 +++--- .../tsconfig.lint.json} | 1 + packages/shims/package.json | 6 +++--- .../tsconfig.lint.json} | 1 + packages/streams/package.json | 6 +++--- .../tsconfig.lint.json} | 1 + packages/test-utils/package.json | 7 ++++--- .../tsconfig.lint.json} | 1 + packages/utils/package.json | 6 +++--- packages/utils/tsconfig.lint.json | 10 ++++++++++ yarn.config.cjs | 14 +++++++------- 17 files changed, 47 insertions(+), 33 deletions(-) rename packages/errors/{tsconfig.test.json => tsconfig.lint.json} (90%) rename packages/extension/{tsconfig.test.json => tsconfig.lint.json} (91%) rename packages/{streams/tsconfig.test.json => kernel/tsconfig.lint.json} (91%) rename packages/{utils/tsconfig.test.json => shims/tsconfig.lint.json} (90%) rename packages/{kernel/tsconfig.test.json => streams/tsconfig.lint.json} (91%) rename packages/{shims/tsconfig.test.json => test-utils/tsconfig.lint.json} (90%) create mode 100644 packages/utils/tsconfig.lint.json diff --git a/.github/workflows/lint-build-test.yml b/.github/workflows/lint-build-test.yml index ec7cb35b0..319f02df1 100644 --- a/.github/workflows/lint-build-test.yml +++ b/.github/workflows/lint-build-test.yml @@ -114,9 +114,6 @@ jobs: cache: yarn - run: yarn --immutable - run: yarn build - # Due to our use of Node16 module resolution, we have to build before running type checks. - - name: Check for TypeScript issues - run: yarn lint:ts - name: Require clean working directory shell: bash run: | diff --git a/package.json b/package.json index 89298bd54..8c7704609 100644 --- a/package.json +++ b/package.json @@ -20,11 +20,11 @@ "changelog:update": "yarn workspaces foreach --all --no-private --parallel --interlaced --verbose run changelog:update", "changelog:validate": "yarn workspaces foreach --all --no-private --parallel --interlaced --verbose run changelog:validate", "clean": "rimraf --glob './*.tsbuildinfo' && yarn workspaces foreach --all --parallel --interlaced --verbose run clean", - "lint": "yarn constraints && yarn lint:eslint && yarn lint:misc --check && yarn lint:dependencies", + "lint": "yarn constraints && yarn lint:ts && yarn lint:eslint && yarn lint:misc --check && yarn lint:dependencies", "lint:dependencies": "yarn dedupe --check && yarn depcheck && yarn workspaces foreach --all --parallel --verbose run lint:dependencies", "lint:dependencies:fix": "yarn dedupe && yarn depcheck && yarn workspaces foreach --all --parallel --verbose run lint:dependencies", "lint:eslint": "yarn eslint . --cache", - "lint:fix": "yarn constraints --fix && yarn lint:eslint --fix && yarn lint:misc --write && yarn lint:dependencies:fix", + "lint:fix": "yarn constraints --fix && yarn lint:ts && yarn lint:eslint --fix && yarn lint:misc --write && yarn lint:dependencies:fix", "lint:misc": "prettier --no-error-on-unmatched-pattern '**/*.json' '**/*.md' '**/*.html' '!**/CHANGELOG.old.md' '**/*.yml' '!.yarnrc.yml' '!merged-packages/**' --ignore-path .gitignore", "lint:ts": "yarn workspaces foreach --all --parallel --verbose run lint:ts", "postinstall": "simple-git-hooks", diff --git a/packages/errors/package.json b/packages/errors/package.json index 6ac7532b9..e73d1ab1f 100644 --- a/packages/errors/package.json +++ b/packages/errors/package.json @@ -29,12 +29,12 @@ "build:docs": "typedoc", "changelog:validate": "../../scripts/validate-changelog.sh utils", "clean": "rimraf --glob ./dist './*.tsbuildinfo'", - "lint": "yarn lint:eslint && yarn lint:misc --check && yarn constraints && yarn lint:dependencies", + "lint": "yarn lint:ts && yarn lint:eslint && yarn lint:misc --check && yarn constraints && yarn lint:dependencies", "lint:dependencies": "depcheck", "lint:eslint": "eslint . --cache", - "lint:fix": "yarn constraints --fix && yarn lint:eslint --fix && yarn lint:misc --write", + "lint:fix": "yarn lint:ts && yarn lint:eslint --fix && yarn lint:misc --write && yarn constraints --fix && yarn lint:dependencies", "lint:misc": "prettier --no-error-on-unmatched-pattern '**/*.json' '**/*.md' '**/*.html' '!**/CHANGELOG.old.md' '**/*.yml' '!.yarnrc.yml' '!merged-packages/**' --ignore-path ../../.gitignore", - "lint:ts": "tsc --project tsconfig.test.json --noEmit", + "lint:ts": "tsc --project tsconfig.lint.json", "publish:preview": "yarn npm publish --tag preview", "test": "vitest run --config vitest.config.ts", "test:clean": "yarn test --no-cache --coverage.clean", diff --git a/packages/errors/tsconfig.test.json b/packages/errors/tsconfig.lint.json similarity index 90% rename from packages/errors/tsconfig.test.json rename to packages/errors/tsconfig.lint.json index 0089f433b..f95b97c6b 100644 --- a/packages/errors/tsconfig.test.json +++ b/packages/errors/tsconfig.lint.json @@ -2,6 +2,7 @@ "extends": "./tsconfig.json", "compilerOptions": { "composite": false, + "noEmit": true, "skipLibCheck": true }, "include": ["./src"], diff --git a/packages/extension/package.json b/packages/extension/package.json index 418dfdd7d..1df87a40a 100644 --- a/packages/extension/package.json +++ b/packages/extension/package.json @@ -18,12 +18,12 @@ "build:vite:dev": "yarn build:vite --mode development", "changelog:validate": "../../scripts/validate-changelog.sh @ocap/extension", "clean": "rimraf --glob ./dist './*.tsbuildinfo'", - "lint": "yarn lint:eslint && yarn lint:misc --check && yarn constraints && yarn lint:dependencies", + "lint": "yarn lint:ts && yarn lint:eslint && yarn lint:misc --check && yarn constraints && yarn lint:dependencies", "lint:dependencies": "depcheck", "lint:eslint": "eslint . --cache", - "lint:fix": "yarn constraints --fix && yarn lint:eslint --fix && yarn lint:misc --write", + "lint:fix": "yarn lint:ts && yarn lint:eslint --fix && yarn lint:misc --write && yarn constraints --fix && yarn lint:dependencies", "lint:misc": "prettier --no-error-on-unmatched-pattern '**/*.json' '**/*.md' '**/*.html' '!**/CHANGELOG.old.md' '**/*.yml' '!.yarnrc.yml' '!merged-packages/**' --ignore-path ../../.gitignore", - "lint:ts": "tsc --project tsconfig.test.json --noEmit", + "lint:ts": "tsc --project tsconfig.lint.json", "publish:preview": "yarn npm publish --tag preview", "start": "yarn build:vite:dev --watch", "test": "vitest run --config vitest.config.ts", diff --git a/packages/extension/tsconfig.test.json b/packages/extension/tsconfig.lint.json similarity index 91% rename from packages/extension/tsconfig.test.json rename to packages/extension/tsconfig.lint.json index dd5c14434..bd502d308 100644 --- a/packages/extension/tsconfig.test.json +++ b/packages/extension/tsconfig.lint.json @@ -2,6 +2,7 @@ "extends": "./tsconfig.json", "compilerOptions": { "composite": false, + "noEmit": true, "skipLibCheck": true }, "include": ["./src", "./test", "./scripts"], diff --git a/packages/kernel/package.json b/packages/kernel/package.json index 2aa932c35..cea6f3543 100644 --- a/packages/kernel/package.json +++ b/packages/kernel/package.json @@ -29,12 +29,12 @@ "build:docs": "typedoc", "changelog:validate": "../../scripts/validate-changelog.sh @ocap/kernel", "clean": "rimraf --glob ./dist './*.tsbuildinfo'", - "lint": "yarn lint:eslint && yarn lint:misc --check && yarn constraints && yarn lint:dependencies", + "lint": "yarn lint:ts && yarn lint:eslint && yarn lint:misc --check && yarn constraints && yarn lint:dependencies", "lint:dependencies": "depcheck", "lint:eslint": "eslint . --cache", - "lint:fix": "yarn constraints --fix && yarn lint:eslint --fix && yarn lint:misc --write", + "lint:fix": "yarn lint:ts && yarn lint:eslint --fix && yarn lint:misc --write && yarn constraints --fix && yarn lint:dependencies", "lint:misc": "prettier --no-error-on-unmatched-pattern '**/*.json' '**/*.md' '**/*.html' '!**/CHANGELOG.old.md' '**/*.yml' '!.yarnrc.yml' '!merged-packages/**' --ignore-path ../../.gitignore", - "lint:ts": "tsc --project tsconfig.test.json --noEmit", + "lint:ts": "tsc --project tsconfig.lint.json", "publish:preview": "yarn npm publish --tag preview", "test": "vitest run --config vitest.config.ts", "test:clean": "yarn test --no-cache --coverage.clean", diff --git a/packages/streams/tsconfig.test.json b/packages/kernel/tsconfig.lint.json similarity index 91% rename from packages/streams/tsconfig.test.json rename to packages/kernel/tsconfig.lint.json index 5f2cc79bc..8940c3fa3 100644 --- a/packages/streams/tsconfig.test.json +++ b/packages/kernel/tsconfig.lint.json @@ -2,6 +2,7 @@ "extends": "./tsconfig.json", "compilerOptions": { "composite": false, + "noEmit": true, "skipLibCheck": true }, "include": ["./src", "./test"], diff --git a/packages/shims/package.json b/packages/shims/package.json index 6af0eab0f..7d1c93554 100644 --- a/packages/shims/package.json +++ b/packages/shims/package.json @@ -23,12 +23,12 @@ "build:docs": "typedoc", "changelog:validate": "../../scripts/validate-changelog.sh @ocap/shims", "clean": "rimraf --glob ./dist './*.tsbuildinfo'", - "lint": "yarn lint:eslint && yarn lint:misc --check && yarn constraints && yarn lint:dependencies", + "lint": "yarn lint:ts && yarn lint:eslint && yarn lint:misc --check && yarn constraints && yarn lint:dependencies", "lint:dependencies": "depcheck", "lint:eslint": "eslint . --cache", - "lint:fix": "yarn constraints --fix && yarn lint:eslint --fix && yarn lint:misc --write", + "lint:fix": "yarn lint:ts && yarn lint:eslint --fix && yarn lint:misc --write && yarn constraints --fix && yarn lint:dependencies", "lint:misc": "prettier --no-error-on-unmatched-pattern '**/*.json' '**/*.md' '**/*.html' '!**/CHANGELOG.old.md' '**/*.yml' '!.yarnrc.yml' '!merged-packages/**' --ignore-path ../../.gitignore", - "lint:ts": "tsc --project tsconfig.test.json --noEmit", + "lint:ts": "tsc --project tsconfig.lint.json", "publish:preview": "yarn npm publish --tag preview", "test": "vitest run --config vitest.config.ts", "test:clean": "yarn test --no-cache --coverage.clean", diff --git a/packages/utils/tsconfig.test.json b/packages/shims/tsconfig.lint.json similarity index 90% rename from packages/utils/tsconfig.test.json rename to packages/shims/tsconfig.lint.json index 0089f433b..f95b97c6b 100644 --- a/packages/utils/tsconfig.test.json +++ b/packages/shims/tsconfig.lint.json @@ -2,6 +2,7 @@ "extends": "./tsconfig.json", "compilerOptions": { "composite": false, + "noEmit": true, "skipLibCheck": true }, "include": ["./src"], diff --git a/packages/streams/package.json b/packages/streams/package.json index 045803381..c784f76d8 100644 --- a/packages/streams/package.json +++ b/packages/streams/package.json @@ -33,12 +33,12 @@ "build:docs": "typedoc", "changelog:validate": "../../scripts/validate-changelog.sh streams", "clean": "rimraf --glob ./dist './*.tsbuildinfo'", - "lint": "yarn lint:eslint && yarn lint:misc --check && yarn constraints && yarn lint:dependencies", + "lint": "yarn lint:ts && yarn lint:eslint && yarn lint:misc --check && yarn constraints && yarn lint:dependencies", "lint:dependencies": "depcheck", "lint:eslint": "eslint . --cache", - "lint:fix": "yarn constraints --fix && yarn lint:eslint --fix && yarn lint:misc --write", + "lint:fix": "yarn lint:ts && yarn lint:eslint --fix && yarn lint:misc --write && yarn constraints --fix && yarn lint:dependencies", "lint:misc": "prettier --no-error-on-unmatched-pattern '**/*.json' '**/*.md' '**/*.html' '!**/CHANGELOG.old.md' '**/*.yml' '!.yarnrc.yml' '!merged-packages/**' --ignore-path ../../.gitignore", - "lint:ts": "tsc --project tsconfig.test.json --noEmit", + "lint:ts": "tsc --project tsconfig.lint.json", "publish:preview": "yarn npm publish --tag preview", "test": "vitest run --config vitest.config.ts", "test:clean": "yarn test --no-cache --coverage.clean", diff --git a/packages/kernel/tsconfig.test.json b/packages/streams/tsconfig.lint.json similarity index 91% rename from packages/kernel/tsconfig.test.json rename to packages/streams/tsconfig.lint.json index 5f2cc79bc..8940c3fa3 100644 --- a/packages/kernel/tsconfig.test.json +++ b/packages/streams/tsconfig.lint.json @@ -2,6 +2,7 @@ "extends": "./tsconfig.json", "compilerOptions": { "composite": false, + "noEmit": true, "skipLibCheck": true }, "include": ["./src", "./test"], diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json index 851bdad16..cb5a41d72 100644 --- a/packages/test-utils/package.json +++ b/packages/test-utils/package.json @@ -15,12 +15,13 @@ }, "scripts": { "clean": "rimraf --glob ./dist './*.tsbuildinfo'", - "lint": "yarn lint:eslint && yarn lint:misc --check && yarn constraints && yarn lint:dependencies", + "lint": "yarn lint:ts && yarn lint:eslint && yarn lint:misc --check && yarn constraints && yarn lint:dependencies", "lint:dependencies": "depcheck", "lint:eslint": "eslint . --cache", - "lint:fix": "yarn constraints --fix && yarn lint:eslint --fix && yarn lint:misc --write", + "lint:fix": "yarn lint:ts && yarn lint:eslint --fix && yarn lint:misc --write && yarn constraints --fix && yarn lint:dependencies", "lint:misc": "prettier --no-error-on-unmatched-pattern '**/*.json' '**/*.md' '**/*.html' '!**/CHANGELOG.old.md' '**/*.yml' '!.yarnrc.yml' '!merged-packages/**' --ignore-path ../../.gitignore", - "test": "echo 'No tests.' && exit 0" + "test": "echo 'No tests.' && exit 0", + "lint:ts": "tsc --project tsconfig.lint.json" }, "devDependencies": { "@metamask/eslint-config": "^14.0.0", diff --git a/packages/shims/tsconfig.test.json b/packages/test-utils/tsconfig.lint.json similarity index 90% rename from packages/shims/tsconfig.test.json rename to packages/test-utils/tsconfig.lint.json index 0089f433b..f95b97c6b 100644 --- a/packages/shims/tsconfig.test.json +++ b/packages/test-utils/tsconfig.lint.json @@ -2,6 +2,7 @@ "extends": "./tsconfig.json", "compilerOptions": { "composite": false, + "noEmit": true, "skipLibCheck": true }, "include": ["./src"], diff --git a/packages/utils/package.json b/packages/utils/package.json index 50dc82608..70bbc4f8d 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -29,12 +29,12 @@ "build:docs": "typedoc", "changelog:validate": "../../scripts/validate-changelog.sh utils", "clean": "rimraf --glob ./dist './*.tsbuildinfo'", - "lint": "yarn lint:eslint && yarn lint:misc --check && yarn constraints && yarn lint:dependencies", + "lint": "yarn lint:ts && yarn lint:eslint && yarn lint:misc --check && yarn constraints && yarn lint:dependencies", "lint:dependencies": "depcheck", "lint:eslint": "eslint . --cache", - "lint:fix": "yarn constraints --fix && yarn lint:eslint --fix && yarn lint:misc --write", + "lint:fix": "yarn lint:ts && yarn lint:eslint --fix && yarn lint:misc --write && yarn constraints --fix && yarn lint:dependencies", "lint:misc": "prettier --no-error-on-unmatched-pattern '**/*.json' '**/*.md' '**/*.html' '!**/CHANGELOG.old.md' '**/*.yml' '!.yarnrc.yml' '!merged-packages/**' --ignore-path ../../.gitignore", - "lint:ts": "tsc --project tsconfig.test.json --noEmit", + "lint:ts": "tsc --project tsconfig.lint.json", "publish:preview": "yarn npm publish --tag preview", "test": "vitest run --config vitest.config.ts", "test:clean": "yarn test --no-cache --coverage.clean", diff --git a/packages/utils/tsconfig.lint.json b/packages/utils/tsconfig.lint.json new file mode 100644 index 000000000..f95b97c6b --- /dev/null +++ b/packages/utils/tsconfig.lint.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "composite": false, + "noEmit": true, + "skipLibCheck": true + }, + "include": ["./src"], + "exclude": ["./vite.config.ts", "./vitest.config.ts"] +} diff --git a/yarn.config.cjs b/yarn.config.cjs index 00c304ddc..c8db5471d 100644 --- a/yarn.config.cjs +++ b/yarn.config.cjs @@ -201,7 +201,7 @@ module.exports = defineConfig({ expectWorkspaceField( workspace, 'scripts.lint', - 'yarn lint:eslint && yarn lint:misc --check && yarn constraints && yarn lint:dependencies', + 'yarn lint:ts && yarn lint:eslint && yarn lint:misc --check && yarn constraints && yarn lint:dependencies', ); expectWorkspaceField( workspace, @@ -216,13 +216,18 @@ module.exports = defineConfig({ expectWorkspaceField( workspace, 'scripts.lint:fix', - 'yarn constraints --fix && yarn lint:eslint --fix && yarn lint:misc --write', + 'yarn lint:ts && yarn lint:eslint --fix && yarn lint:misc --write && yarn constraints --fix && yarn lint:dependencies', ); expectWorkspaceField( workspace, 'scripts.lint:misc', "prettier --no-error-on-unmatched-pattern '**/*.json' '**/*.md' '**/*.html' '!**/CHANGELOG.old.md' '**/*.yml' '!.yarnrc.yml' '!merged-packages/**' --ignore-path ../../.gitignore", ); + expectWorkspaceField( + workspace, + 'scripts.lint:ts', + 'tsc --project tsconfig.lint.json', + ); // All non-root packages must have the same "test" script. if (!noBuildOrTests.includes(workspaceBasename)) { @@ -231,11 +236,6 @@ module.exports = defineConfig({ 'scripts.test', 'vitest run --config vitest.config.ts', ); - expectWorkspaceField( - workspace, - 'scripts.lint:ts', - 'tsc --project tsconfig.test.json --noEmit', - ); expectWorkspaceField( workspace, 'scripts.test:clean', From 47e696bde47c360ce6423382dbef4aeb60d7a92c Mon Sep 17 00:00:00 2001 From: Erik Marks Date: Thu, 24 Oct 2024 13:08:51 -0700 Subject: [PATCH 4/4] chore: Remove redundant excludes from tsconfig.lint.json files --- packages/errors/tsconfig.lint.json | 2 +- packages/extension/tsconfig.lint.json | 2 +- packages/kernel/tsconfig.lint.json | 2 +- packages/shims/tsconfig.lint.json | 2 +- packages/streams/tsconfig.lint.json | 2 +- packages/test-utils/tsconfig.lint.json | 2 +- packages/utils/tsconfig.lint.json | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/errors/tsconfig.lint.json b/packages/errors/tsconfig.lint.json index f95b97c6b..8d3e49eb8 100644 --- a/packages/errors/tsconfig.lint.json +++ b/packages/errors/tsconfig.lint.json @@ -6,5 +6,5 @@ "skipLibCheck": true }, "include": ["./src"], - "exclude": ["./vite.config.ts", "./vitest.config.ts"] + "exclude": [] } diff --git a/packages/extension/tsconfig.lint.json b/packages/extension/tsconfig.lint.json index bd502d308..aed9becf3 100644 --- a/packages/extension/tsconfig.lint.json +++ b/packages/extension/tsconfig.lint.json @@ -6,5 +6,5 @@ "skipLibCheck": true }, "include": ["./src", "./test", "./scripts"], - "exclude": ["./vite.config.ts", "./vitest.config.ts"] + "exclude": [] } diff --git a/packages/kernel/tsconfig.lint.json b/packages/kernel/tsconfig.lint.json index 8940c3fa3..47dca478f 100644 --- a/packages/kernel/tsconfig.lint.json +++ b/packages/kernel/tsconfig.lint.json @@ -6,5 +6,5 @@ "skipLibCheck": true }, "include": ["./src", "./test"], - "exclude": ["./vite.config.ts", "./vitest.config.ts"] + "exclude": [] } diff --git a/packages/shims/tsconfig.lint.json b/packages/shims/tsconfig.lint.json index f95b97c6b..8d3e49eb8 100644 --- a/packages/shims/tsconfig.lint.json +++ b/packages/shims/tsconfig.lint.json @@ -6,5 +6,5 @@ "skipLibCheck": true }, "include": ["./src"], - "exclude": ["./vite.config.ts", "./vitest.config.ts"] + "exclude": [] } diff --git a/packages/streams/tsconfig.lint.json b/packages/streams/tsconfig.lint.json index 8940c3fa3..47dca478f 100644 --- a/packages/streams/tsconfig.lint.json +++ b/packages/streams/tsconfig.lint.json @@ -6,5 +6,5 @@ "skipLibCheck": true }, "include": ["./src", "./test"], - "exclude": ["./vite.config.ts", "./vitest.config.ts"] + "exclude": [] } diff --git a/packages/test-utils/tsconfig.lint.json b/packages/test-utils/tsconfig.lint.json index f95b97c6b..8d3e49eb8 100644 --- a/packages/test-utils/tsconfig.lint.json +++ b/packages/test-utils/tsconfig.lint.json @@ -6,5 +6,5 @@ "skipLibCheck": true }, "include": ["./src"], - "exclude": ["./vite.config.ts", "./vitest.config.ts"] + "exclude": [] } diff --git a/packages/utils/tsconfig.lint.json b/packages/utils/tsconfig.lint.json index f95b97c6b..8d3e49eb8 100644 --- a/packages/utils/tsconfig.lint.json +++ b/packages/utils/tsconfig.lint.json @@ -6,5 +6,5 @@ "skipLibCheck": true }, "include": ["./src"], - "exclude": ["./vite.config.ts", "./vitest.config.ts"] + "exclude": [] }