diff --git a/apps/browser/src/key-management/tsconfig.json b/apps/browser/src/key-management/tsconfig.json new file mode 100644 index 00000000000..9d0e7445536 --- /dev/null +++ b/apps/browser/src/key-management/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "plugins": [ + { + "name": "typescript-strict-plugin", + "paths": ["./"], + "excludePattern": ["**/*.spec.ts"] + } + ] + } +} diff --git a/apps/cli/src/key-management/tsconfig.json b/apps/cli/src/key-management/tsconfig.json new file mode 100644 index 00000000000..9d0e7445536 --- /dev/null +++ b/apps/cli/src/key-management/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "plugins": [ + { + "name": "typescript-strict-plugin", + "paths": ["./"], + "excludePattern": ["**/*.spec.ts"] + } + ] + } +} diff --git a/apps/desktop/src/key-management/tsconfig.json b/apps/desktop/src/key-management/tsconfig.json new file mode 100644 index 00000000000..9d0e7445536 --- /dev/null +++ b/apps/desktop/src/key-management/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "plugins": [ + { + "name": "typescript-strict-plugin", + "paths": ["./"], + "excludePattern": ["**/*.spec.ts"] + } + ] + } +} diff --git a/apps/web/src/app/key-management/tsconfig.json b/apps/web/src/app/key-management/tsconfig.json new file mode 100644 index 00000000000..d563b1e89ff --- /dev/null +++ b/apps/web/src/app/key-management/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "plugins": [ + { + "name": "typescript-strict-plugin", + "paths": ["./"], + "excludePattern": ["**/*.spec.ts"] + } + ] + } +} diff --git a/libs/key-management/package.json b/libs/key-management/package.json index 083386cbc81..fe7d75530e7 100644 --- a/libs/key-management/package.json +++ b/libs/key-management/package.json @@ -14,7 +14,7 @@ "license": "GPL-3.0", "scripts": { "clean": "rimraf dist", - "build": "npm run clean && tsc", + "build": "npm run clean && tsc && tsc-strict", "build:watch": "npm run clean && tsc -watch" }, "dependencies": { diff --git a/libs/key-management/tsconfig.json b/libs/key-management/tsconfig.json index 6004a56fb55..4661e36d666 100644 --- a/libs/key-management/tsconfig.json +++ b/libs/key-management/tsconfig.json @@ -1,5 +1,14 @@ { "extends": "../shared/tsconfig.libs", "include": ["src", "spec"], - "exclude": ["node_modules", "dist"] + "exclude": ["node_modules", "dist"], + "compilerOptions": { + "plugins": [ + { + "name": "typescript-strict-plugin", + "paths": ["./src"], + "excludePattern": ["**/*.spec.ts"] + } + ] + } } diff --git a/package-lock.json b/package-lock.json index a9b978b8554..380470a408c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -179,6 +179,7 @@ "tsconfig-paths-webpack-plugin": "4.1.0", "type-fest": "2.19.0", "typescript": "5.1.6", + "typescript-strict-plugin": "2.4.4", "url": "0.11.4", "util": "0.12.5", "wait-on": "8.0.1", @@ -37360,6 +37361,129 @@ "node": ">=14.17" } }, + "node_modules/typescript-strict-plugin": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/typescript-strict-plugin/-/typescript-strict-plugin-2.4.4.tgz", + "integrity": "sha512-OXcWHQk+pW9gqEL/Mb1eTgj/Yiqk1oHBERr9v4VInPOYN++p+cXejmQK/h/VlUPGD++FXQ8pgiqVMyEtxU4T6A==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "execa": "^4.0.0", + "minimatch": "^9.0.3", + "ora": "^5.4.1", + "yargs": "^16.2.0" + }, + "bin": { + "tsc-strict": "dist/cli/tsc-strict/index.js", + "update-strict-comments": "dist/cli/update-strict-comments/index.js" + } + }, + "node_modules/typescript-strict-plugin/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/typescript-strict-plugin/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/typescript-strict-plugin/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/typescript-strict-plugin/node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/typescript-strict-plugin/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/typescript-strict-plugin/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/typescript-strict-plugin/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/typescript-strict-plugin/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/ufo": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz", diff --git a/package.json b/package.json index c5d963bef14..298c914b123 100644 --- a/package.json +++ b/package.json @@ -140,6 +140,7 @@ "tsconfig-paths-webpack-plugin": "4.1.0", "type-fest": "2.19.0", "typescript": "5.1.6", + "typescript-strict-plugin": "2.4.4", "url": "0.11.4", "util": "0.12.5", "wait-on": "8.0.1",