diff --git a/apps/next/tsconfig.json b/apps/next/tsconfig.json index b963e552..0865b03b 100644 --- a/apps/next/tsconfig.json +++ b/apps/next/tsconfig.json @@ -1,5 +1,18 @@ { - "extends": "../../tsconfig-base.json", + "extends": "@tsconfig/strictest/tsconfig.json", + "compilerOptions": { + "target": "es5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "noEmit": true, + "incremental": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "baseUrl": "." + }, "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], "exclude": ["node_modules"] } diff --git a/package.json b/package.json index c78b41fb..79848d7f 100644 --- a/package.json +++ b/package.json @@ -28,8 +28,9 @@ "**/*.{js,ts,tsx}": "eslint --ext .js,.ts,.tsx --cache --fix" }, "devDependencies": { - "@ianvs/prettier-plugin-sort-imports": "3.4.2", "@roarr/cli": "5.7.0", + "@trivago/prettier-plugin-sort-imports": "3.4.0", + "@tsconfig/strictest": "1.0.2", "@types/jest": "29.0.0", "@types/node": "16.11.12", "@types/prettier": "2.7.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c1cf9aa3..07dbde22 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -50,8 +50,9 @@ importers: .: specifiers: - '@ianvs/prettier-plugin-sort-imports': 3.4.2 '@roarr/cli': 5.7.0 + '@trivago/prettier-plugin-sort-imports': 3.4.0 + '@tsconfig/strictest': 1.0.2 '@types/jest': 29.0.0 '@types/node': 16.11.12 '@types/prettier': 2.7.0 @@ -83,8 +84,9 @@ importers: tsx: 3.9.0 typescript: 4.8.2 devDependencies: - '@ianvs/prettier-plugin-sort-imports': 3.4.2_prettier@2.7.1 '@roarr/cli': 5.7.0 + '@trivago/prettier-plugin-sort-imports': 3.4.0_prettier@2.7.1 + '@tsconfig/strictest': 1.0.2 '@types/jest': 29.0.0 '@types/node': 16.11.12 '@types/prettier': 2.7.0 @@ -1054,6 +1056,29 @@ packages: engines: {node: '>=6.9.0'} dev: true + /@babel/core/7.17.8: + resolution: {integrity: sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.0 + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.19.3 + '@babel/helper-compilation-targets': 7.19.3_@babel+core@7.17.8 + '@babel/helper-module-transforms': 7.19.0 + '@babel/helpers': 7.19.0 + '@babel/parser': 7.19.3 + '@babel/template': 7.18.10 + '@babel/traverse': 7.19.3 + '@babel/types': 7.19.3 + convert-source-map: 1.8.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.1 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/core/7.19.3: resolution: {integrity: sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==} engines: {node: '>=6.9.0'} @@ -1085,6 +1110,15 @@ packages: source-map: 0.5.7 dev: true + /@babel/generator/7.17.7: + resolution: {integrity: sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.19.3 + jsesc: 2.5.2 + source-map: 0.5.7 + dev: true + /@babel/generator/7.19.3: resolution: {integrity: sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==} engines: {node: '>=6.9.0'} @@ -1094,6 +1128,19 @@ packages: jsesc: 2.5.2 dev: true + /@babel/helper-compilation-targets/7.19.3_@babel+core@7.17.8: + resolution: {integrity: sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.19.3 + '@babel/core': 7.17.8 + '@babel/helper-validator-option': 7.18.6 + browserslist: 4.21.4 + semver: 6.3.0 + dev: true + /@babel/helper-compilation-targets/7.19.3_@babel+core@7.19.3: resolution: {integrity: sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==} engines: {node: '>=6.9.0'} @@ -1202,6 +1249,14 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 + /@babel/parser/7.18.9: + resolution: {integrity: sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.19.3 + dev: true + /@babel/parser/7.19.3: resolution: {integrity: sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==} engines: {node: '>=6.0.0'} @@ -1377,6 +1432,24 @@ packages: '@babel/types': 7.19.3 dev: true + /@babel/traverse/7.17.3: + resolution: {integrity: sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.19.3 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.19.0 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/parser': 7.19.3 + '@babel/types': 7.19.3 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/traverse/7.19.3: resolution: {integrity: sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==} engines: {node: '>=6.9.0'} @@ -1395,6 +1468,14 @@ packages: - supports-color dev: true + /@babel/types/7.17.0: + resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 + dev: true + /@babel/types/7.19.3: resolution: {integrity: sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==} engines: {node: '>=6.9.0'} @@ -2281,23 +2362,6 @@ packages: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} dev: true - /@ianvs/prettier-plugin-sort-imports/3.4.2_prettier@2.7.1: - resolution: {integrity: sha512-HB2BLfnm3Jee+GiGtK7f5hLcFbF54VbSAoH9UEaWpjMmrbaZCTViJeuXsycA1Adm2colaHCpqhLW5E70umh6ug==} - peerDependencies: - prettier: 2.x - dependencies: - '@babel/core': 7.19.3 - '@babel/generator': 7.19.3 - '@babel/parser': 7.19.3 - '@babel/traverse': 7.19.3 - '@babel/types': 7.19.3 - javascript-natural-sort: 0.7.1 - lodash: 4.17.21 - prettier: 2.7.1 - transitivePeerDependencies: - - supports-color - dev: true - /@istanbuljs/load-nyc-config/1.1.0: resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} @@ -3436,6 +3500,24 @@ packages: dev: false optional: true + /@trivago/prettier-plugin-sort-imports/3.4.0_prettier@2.7.1: + resolution: {integrity: sha512-485Iailw8X5f7KetzRka20RF1kPBEINR5LJMNwlBZWY1gRAlVnv5dZzyNPnLxSP0Qcia8HETa9Cdd8LlX9o+pg==} + peerDependencies: + prettier: 2.x + dependencies: + '@babel/core': 7.17.8 + '@babel/generator': 7.17.7 + '@babel/parser': 7.18.9 + '@babel/traverse': 7.17.3 + '@babel/types': 7.17.0 + '@vue/compiler-sfc': 3.2.41 + javascript-natural-sort: 0.7.1 + lodash: 4.17.21 + prettier: 2.7.1 + transitivePeerDependencies: + - supports-color + dev: true + /@trpc/client/9.26.0_@trpc+server@9.26.0: resolution: {integrity: sha512-zkKXkqZIKseXqybBU8U4odcGCTtDBG/Gu04mfMJ8UyzpG12uzZ5xRkbuufRChgx1oA27/mi3aW/8h6mI34cxyA==} peerDependencies: @@ -3467,6 +3549,10 @@ packages: dev: false patched: true + /@tsconfig/strictest/1.0.2: + resolution: {integrity: sha512-IRKlC8cnP7zMz1SDBjyIVyPapkEGWLZ6wkF6Z8T+xU80P9sO5uGXlIUvtzjx+7ehPJRWxkB6CeIDwUfyqNtYkQ==} + dev: true + /@types/accounting/0.4.2: resolution: {integrity: sha512-M8W6tsLZguGdRaSQMmg58PUM/5HgoDuBGVyMiYNGi0FZkLzJDjUBGGYRYj1J9OWELCTqfux+ogVyKObCzfWJgg==} dev: true @@ -3982,6 +4068,58 @@ packages: eslint-visitor-keys: 3.3.0 dev: true + /@vue/compiler-core/3.2.41: + resolution: {integrity: sha512-oA4mH6SA78DT+96/nsi4p9DX97PHcNROxs51lYk7gb9Z4BPKQ3Mh+BLn6CQZBw857Iuhu28BfMSRHAlPvD4vlw==} + dependencies: + '@babel/parser': 7.19.3 + '@vue/shared': 3.2.41 + estree-walker: 2.0.2 + source-map: 0.6.1 + dev: true + + /@vue/compiler-dom/3.2.41: + resolution: {integrity: sha512-xe5TbbIsonjENxJsYRbDJvthzqxLNk+tb3d/c47zgREDa/PCp6/Y4gC/skM4H6PIuX5DAxm7fFJdbjjUH2QTMw==} + dependencies: + '@vue/compiler-core': 3.2.41 + '@vue/shared': 3.2.41 + dev: true + + /@vue/compiler-sfc/3.2.41: + resolution: {integrity: sha512-+1P2m5kxOeaxVmJNXnBskAn3BenbTmbxBxWOtBq3mQTCokIreuMULFantBUclP0+KnzNCMOvcnKinqQZmiOF8w==} + dependencies: + '@babel/parser': 7.19.3 + '@vue/compiler-core': 3.2.41 + '@vue/compiler-dom': 3.2.41 + '@vue/compiler-ssr': 3.2.41 + '@vue/reactivity-transform': 3.2.41 + '@vue/shared': 3.2.41 + estree-walker: 2.0.2 + magic-string: 0.25.9 + postcss: 8.4.17 + source-map: 0.6.1 + dev: true + + /@vue/compiler-ssr/3.2.41: + resolution: {integrity: sha512-Y5wPiNIiaMz/sps8+DmhaKfDm1xgj6GrH99z4gq2LQenfVQcYXmHIOBcs5qPwl7jaW3SUQWjkAPKMfQemEQZwQ==} + dependencies: + '@vue/compiler-dom': 3.2.41 + '@vue/shared': 3.2.41 + dev: true + + /@vue/reactivity-transform/3.2.41: + resolution: {integrity: sha512-mK5+BNMsL4hHi+IR3Ft/ho6Za+L3FA5j8WvreJ7XzHrqkPq8jtF/SMo7tuc9gHjLDwKZX1nP1JQOKo9IEAn54A==} + dependencies: + '@babel/parser': 7.19.3 + '@vue/compiler-core': 3.2.41 + '@vue/shared': 3.2.41 + estree-walker: 2.0.2 + magic-string: 0.25.9 + dev: true + + /@vue/shared/3.2.41: + resolution: {integrity: sha512-W9mfWLHmJhkfAmV+7gDjcHeAWALQtgGT3JErxULl0oz6R6+3ug91I7IErs93eCFhPCZPHBs4QJS7YWEV7A3sxw==} + dev: true + /@webassemblyjs/ast/1.11.1: resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} dependencies: @@ -6654,6 +6792,10 @@ packages: engines: {node: '>=4.0'} dev: true + /estree-walker/2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + dev: true + /esutils/2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} @@ -9200,6 +9342,12 @@ packages: engines: {node: '>=12'} dev: false + /magic-string/0.25.9: + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + dependencies: + sourcemap-codec: 1.4.8 + dev: true + /make-dir/3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} @@ -11504,6 +11652,10 @@ packages: whatwg-url: 7.1.0 dev: false + /sourcemap-codec/1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + dev: true + /sparse-bitfield/3.0.3: resolution: {integrity: sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==} dependencies: diff --git a/prettier.config.js b/prettier.config.js index 284473fb..6f2a7836 100644 --- a/prettier.config.js +++ b/prettier.config.js @@ -19,7 +19,7 @@ module.exports = { importOrderSortSpecifiers: true, jsxSingleQuote: false, plugins: [ - require.resolve('@ianvs/prettier-plugin-sort-imports'), + require.resolve('@trivago/prettier-plugin-sort-imports'), require.resolve('prettier-plugin-packagejson'), ], printWidth: 80, diff --git a/tsconfig-base.json b/tsconfig-base.json deleted file mode 100644 index e3c968f9..00000000 --- a/tsconfig-base.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "$schema": "http://json.schemastore.org/tsconfig", - "compilerOptions": { - "target": "es5", - "lib": ["dom", "dom.iterable", "esnext"], - "allowJs": true, - "skipLibCheck": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noEmit": true, - "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "jsx": "preserve", - "incremental": true, - - "downlevelIteration": true, - "exactOptionalPropertyTypes": false, - "noFallthroughCasesInSwitch": true, - "noImplicitOverride": true, - "noImplicitReturns": true, - "noPropertyAccessFromIndexSignature": true, - "noUncheckedIndexedAccess": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "useUnknownInCatchVariables": true - } -} diff --git a/tsconfig.json b/tsconfig.json index 822ee2ac..3e999449 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,9 +1,18 @@ { - "extends": "./tsconfig-base.json", + "extends": "@tsconfig/strictest/tsconfig.json", "compilerOptions": { + "allowJs": true, + "checkJs": false, + "esModuleInterop": true, + "exactOptionalPropertyTypes": false, + "importsNotUsedAsValues": "remove", "jsx": "react-jsx", - "jsxImportSource": "react" + "jsxImportSource": "react", + "module": "ES2020", + "moduleResolution": "Node", + "noEmit": true, + "target": "ES2020" }, - "include": ["/apps/next/next-env.d.ts", "**/*.ts", "**/*.tsx"], - "exclude": ["**/node_modules"] + "include": ["**/*.ts", "**/*.tsx"], + "exclude": ["node_modules"] }