From 9221dc50b9439cbbbf9d6a6e38956b5f400b1d32 Mon Sep 17 00:00:00 2001 From: Victor Lin <13424970+victorlin@users.noreply.github.com> Date: Fri, 1 Nov 2024 10:22:45 -0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A7=20ignore=20existing=20violations?= =?UTF-8?q?=20of=20strictNullChecks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .tsc-baseline.json | 1046 ++++++++++++++++++++++++++++++++++++++++++++ DEV_DOCS.md | 1 + package-lock.json | 56 +++ package.json | 5 +- tsconfig.json | 1 - 5 files changed, 1106 insertions(+), 3 deletions(-) create mode 100644 .tsc-baseline.json diff --git a/.tsc-baseline.json b/.tsc-baseline.json new file mode 100644 index 000000000..8ea35adc7 --- /dev/null +++ b/.tsc-baseline.json @@ -0,0 +1,1046 @@ +{ + "meta": { + "baselineFileVersion": 1, + "ignoreMessages": false + }, + "errors": { + "c46024135734eb26eaa70c988ffbbce1daf323b2": { + "file": "src/actions/tree.ts", + "code": "TS18047", + "count": 15, + "message": "'tree.nodes' is possibly 'null'." + }, + "720e802157f7794bd8751b09b3471d7fc4c28209": { + "file": "src/actions/tree.ts", + "code": "TS2532", + "count": 16, + "message": "Object is possibly 'undefined'." + }, + "c9373e00915ac5371023f818fd92f1494ae3761e": { + "file": "src/actions/tree.ts", + "code": "TS18048", + "count": 2, + "message": "'d.shell' is possibly 'undefined'." + }, + "2c850bd7b5c776ddc8275824cb935a7f82129ff0": { + "file": "src/actions/tree.ts", + "code": "TS2345", + "count": 2, + "message": "Argument of type 'PhyloNode | undefined' is not assignable to parameter of type 'PhyloNode'." + }, + "d12e9c66977412fbe6f6eb6d62b049e46f79d1c7": { + "file": "src/actions/tree.ts", + "code": "TS2345", + "count": 4, + "message": "Argument of type 'ReduxNode | undefined' is not assignable to parameter of type 'ReduxNode'." + }, + "4205e26cbaa0f18421392d470161988cc491d616": { + "file": "src/actions/tree.ts", + "code": "TS2322", + "count": 3, + "message": "Type 'Genotype | null' is not assignable to type 'Genotype'." + }, + "762082745caf3f56668b0f9bb151ed3294178937": { + "file": "src/actions/tree.ts", + "code": "TS18048", + "count": 9, + "message": "'controls.colorScale' is possibly 'undefined'." + }, + "e63ae98534591d6617a01b2d0491bdb13859c7a0": { + "file": "src/actions/tree.ts", + "code": "TS2322", + "count": 3, + "message": "Type 'ScaleType | null' is not assignable to type 'ScaleType'." + }, + "5236fb2ab415a3f469eaaa97b03c0d158f163ad7": { + "file": "src/actions/tree.ts", + "code": "TS2322", + "count": 4, + "message": "Type 'ColorScale | undefined' is not assignable to type 'ColorScale'." + }, + "d38a488cba8eb86b1e20db5e62330688eb528389": { + "file": "src/actions/tree.ts", + "code": "TS18048", + "count": 1, + "message": "'n.children' is possibly 'undefined'." + }, + "585c61750a240fe312010ae5425d9aecc56ce9e0": { + "file": "src/actions/tree.ts", + "code": "TS2488", + "count": 1, + "message": "Type 'ReduxNode[] | undefined' must have a '[Symbol.iterator]()' method that returns an iterator." + }, + "5e9bd8c782210db464744b352dc63c24bc33f716": { + "file": "src/actions/tree.ts", + "code": "TS18048", + "count": 3, + "message": "'node.children' is possibly 'undefined'." + }, + "7e8f66c8cda2b1f689d8a73e132c3791f90272c9": { + "file": "src/actions/tree.ts", + "code": "TS2538", + "count": 1, + "message": "Type 'undefined' cannot be used as an index type." + }, + "64a32a1a913d4ce8aca1dc7111c5bc686ba43c9a": { + "file": "src/actions/tree.ts", + "code": "TS18048", + "count": 2, + "message": "'root.children' is possibly 'undefined'." + }, + "10c2969eced8ae9cd409fbfe44cfc0341d24f524": { + "file": "src/actions/tree.ts", + "code": "TS2345", + "count": 1, + "message": "Argument of type 'ColoringInfo | undefined' is not assignable to parameter of type 'ColoringInfo'." + }, + "13414df7dea7379d3dd9d028ffe59bffbb31c4a4": { + "file": "src/actions/tree.ts", + "code": "TS2345", + "count": 2, + "message": "Argument of type 'ReduxNode[] | null' is not assignable to parameter of type 'ReduxNode[]'." + }, + "d6a6574a97d1fa734952403191271d0890856c03": { + "file": "src/actions/tree.ts", + "code": "TS18048", + "count": 2, + "message": "'root' is possibly 'undefined'." + }, + "048a382b873d54e70b93ad286bb1c60dfa781dad": { + "file": "src/actions/tree.ts", + "code": "TS18048", + "count": 1, + "message": "'root.unexplodedChildren' is possibly 'undefined'." + }, + "ff8ae16cdb5260f2f02f3842dfbbdaca9163b722": { + "file": "src/actions/tree.ts", + "code": "TS2322", + "count": 1, + "message": "Type 'ReduxNode[] | null' is not assignable to type 'ReduxNode[]'." + }, + "89e3c824a3ea9a86933606e0b9bb661ba42caf13": { + "file": "src/components/tree/index.ts", + "code": "TS2322", + "count": 1, + "message": "Type 'string | undefined' is not assignable to type 'string'." + }, + "17df4057bdba66156a0ef8224db4033f8e604c43": { + "file": "src/components/tree/index.ts", + "code": "TS2322", + "count": 1, + "message": "Type 'ColorScale | undefined' is not assignable to type 'ColorScale'." + }, + "68fb9475c32ad13d6e158ab5aa8b7519e9ca51aa": { + "file": "src/components/tree/phyloTree/change.ts", + "code": "TS2769", + "count": 2, + "message": "No overload matches this call." + }, + "61876efc00c67c9659a0ab0645ed110eb8103283": { + "file": "src/components/tree/phyloTree/change.ts", + "code": "TS18048", + "count": 2, + "message": "'d.branch' is possibly 'undefined'." + }, + "bec2f9c700499c7cbae20a40c1f610158ab3966b": { + "file": "src/components/tree/phyloTree/change.ts", + "code": "TS2532", + "count": 1, + "message": "Object is possibly 'undefined'." + }, + "d65954623aeb89de75de0c3e4d930d78ea3f2b89": { + "file": "src/components/tree/phyloTree/change.ts", + "code": "TS2322", + "count": 1, + "message": "Type 'PhyloNode | undefined' is not assignable to type 'PhyloNode'." + }, + "7aceaf6b8ca57772856866303d2c37067b067bb5": { + "file": "src/components/tree/phyloTree/change.ts", + "code": "TS18048", + "count": 1, + "message": "'zoomIntoClade.n.parent' is possibly 'undefined'." + }, + "2a7357a89fd0c68b589ebacf58c360aef3f402c2": { + "file": "src/components/tree/phyloTree/helpers.ts", + "code": "TS2345", + "count": 2, + "message": "Argument of type 'PhyloNode | undefined' is not assignable to parameter of type 'PhyloNode'." + }, + "d6f31e127566523f6b05f577a769b7b7ee5e175f": { + "file": "src/components/tree/phyloTree/helpers.ts", + "code": "TS2532", + "count": 18, + "message": "Object is possibly 'undefined'." + }, + "bf32b536424504273269a2306ce1f0c083bdcf17": { + "file": "src/components/tree/phyloTree/helpers.ts", + "code": "TS2322", + "count": 6, + "message": "Type 'number | undefined' is not assignable to type 'number'." + }, + "5746ff1e147a9ca026a861f5000f1e01096e5b25": { + "file": "src/components/tree/phyloTree/helpers.ts", + "code": "TS18048", + "count": 1, + "message": "'d.shell' is possibly 'undefined'." + }, + "938404e100d1c175299c6f1625f4cad9258fcd3f": { + "file": "src/components/tree/phyloTree/helpers.ts", + "code": "TS18048", + "count": 1, + "message": "'d.shell.displayOrder' is possibly 'undefined'." + }, + "b482f6afb4c6252ad593d8029892bc11f77e7d01": { + "file": "src/components/tree/phyloTree/helpers.ts", + "code": "TS2345", + "count": 1, + "message": "Argument of type 'number | undefined' is not assignable to parameter of type 'number'." + }, + "1ead3a11c4bdc8f977fbecef1097b79555c65e63": { + "file": "src/components/tree/phyloTree/helpers.ts", + "code": "TS18048", + "count": 4, + "message": "'nVisible' is possibly 'undefined'." + }, + "d726ac4e610dee3f25db014385cb3698dd79347c": { + "file": "src/components/tree/phyloTree/helpers.ts", + "code": "TS18048", + "count": 4, + "message": "'nTotal' is possibly 'undefined'." + }, + "9c94f71f1c4f9c1ef3e39084656b51f9f1224817": { + "file": "src/components/tree/phyloTree/helpers.ts", + "code": "TS2538", + "count": 2, + "message": "Type 'undefined' cannot be used as an index type." + }, + "6d418c7d7d554759030d51f447ca545d348e3252": { + "file": "src/components/tree/phyloTree/helpers.ts", + "code": "TS2322", + "count": 2, + "message": "Type 'undefined' is not assignable to type 'number'." + }, + "8c6583772a9a8a1a941cf0c26943503b82f1ff68": { + "file": "src/components/tree/phyloTree/helpers.ts", + "code": "TS18048", + "count": 5, + "message": "'node.shell' is possibly 'undefined'." + }, + "9c2d4ce6d139cd706439081a778cbe395d415a82": { + "file": "src/components/tree/phyloTree/helpers.ts", + "code": "TS2322", + "count": 3, + "message": "Type 'ReduxNode | undefined' is not assignable to type 'ReduxNode'." + }, + "c9cb6fc4058123e0f17d90a5bc7f30752a157c93": { + "file": "src/components/tree/phyloTree/helpers.ts", + "code": "TS2345", + "count": 2, + "message": "Argument of type 'ReduxNode | undefined' is not assignable to parameter of type 'ReduxNode'." + }, + "9f16382f4340cb65dee5d41ae5b0e5e375bf0042": { + "file": "src/components/tree/phyloTree/helpers.ts", + "code": "TS18048", + "count": 2, + "message": "'potentialNode' is possibly 'undefined'." + }, + "322152aaa1382e0731f79ac9a1a19a1591ccc592": { + "file": "src/components/tree/phyloTree/helpers.ts", + "code": "TS18048", + "count": 1, + "message": "'maxDivergence' is possibly 'undefined'." + }, + "f9350990ffa3a967efe901e1e72f6efa7399ee4d": { + "file": "src/components/tree/phyloTree/helpers.ts", + "code": "TS18048", + "count": 1, + "message": "'n.parent' is possibly 'undefined'." + }, + "9d87828c56dce1eb8b5af2805a1f4dd8a3db2cdf": { + "file": "src/components/tree/phyloTree/helpers.ts", + "code": "TS18048", + "count": 2, + "message": "'n.parentInfo' is possibly 'undefined'." + }, + "48ced42c56e7df31eb74346a612ed9ecd494ca58": { + "file": "src/components/tree/phyloTree/helpers.ts", + "code": "TS18048", + "count": 1, + "message": "'acc' is possibly 'undefined'." + }, + "b2c4421be9a5aed87db4687bfc607d582a1b61d1": { + "file": "src/components/tree/phyloTree/helpers.ts", + "code": "TS2322", + "count": 1, + "message": "Type '(d: PhyloNode) => [number, number | undefined]' is not assignable to type '(d: PhyloNode) => [number, number]'." + }, + "17d992147cb02b7b350d38ca1932257fea0a197b": { + "file": "src/components/tree/phyloTree/helpers.ts", + "code": "TS18048", + "count": 2, + "message": "'maxVal' is possibly 'undefined'." + }, + "2cf8499bfaff806d04b42128369a32adc7e0cfc7": { + "file": "src/components/tree/phyloTree/helpers.ts", + "code": "TS18048", + "count": 1, + "message": "'d.displayOrder' is possibly 'undefined'." + }, + "fb2f79a7d6436987a42bbb4eb39d5dea3048a59d": { + "file": "src/components/tree/phyloTree/helpers.ts", + "code": "TS18048", + "count": 1, + "message": "'d.n.parent' is possibly 'undefined'." + }, + "561cd1f2d5df9809f752be737ebc945af95ffaf1": { + "file": "src/components/tree/phyloTree/helpers.ts", + "code": "TS18048", + "count": 1, + "message": "'d.n.parent.shell' is possibly 'undefined'." + }, + "7de3001a58daf7d9524a0f75308c3181a5b7cf4e": { + "file": "src/components/tree/phyloTree/helpers.ts", + "code": "TS18048", + "count": 1, + "message": "'d.n.parent.shell.displayOrder' is possibly 'undefined'." + }, + "3dd26d34475bdf6179f37b00d51e467d9b87944b": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS2532", + "count": 33, + "message": "Object is possibly 'undefined'." + }, + "c55fc5733033f15cd5cab5a5dc70e75fb6869cd4": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS2722", + "count": 2, + "message": "Cannot invoke an object which is possibly 'undefined'." + }, + "b823a95ad97e97fb3e8d5dc99f6128a96b1ac8fd": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 1, + "message": "'node.depth' is possibly 'undefined'." + }, + "42242e005dffebc49d9e6921deaec923eda856c4": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 1, + "message": "'node.pDepth' is possibly 'undefined'." + }, + "9abead7febd820635d3245c7a93e70cda6a8acf9": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 1, + "message": "'node.px' is possibly 'undefined'." + }, + "0bea193255dd3a45cff1d5924a0c03475a40f60e": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 2, + "message": "'node.tau' is possibly 'undefined'." + }, + "7f5636d230617c1443daea211d151c454f9f994b": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 2, + "message": "'node.w' is possibly 'undefined'." + }, + "a5e142f41c7f9eb54fb1dbe0cff825ea39a386a2": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 1, + "message": "'node.py' is possibly 'undefined'." + }, + "967531032bdd7ecc9b28f042023cad938a92f6b7": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 2, + "message": "'node.n.children' is possibly 'undefined'." + }, + "d38234d1a211f68932b82b444add3d1b4d527693": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 6, + "message": "'ch' is possibly 'undefined'." + }, + "e48c7298c19e61cca356d66594759cf3972db543": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 1, + "message": "'eta' is possibly 'undefined'." + }, + "88b6723798cb6536421ca8e94e9a72bcc3e1caf4": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS2345", + "count": 4, + "message": "Argument of type 'PhyloNode | undefined' is not assignable to parameter of type 'PhyloNode'." + }, + "39e2ca8d69d32f6141faedd4675b81227c33deac": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 2, + "message": "'children' is possibly 'undefined'." + }, + "8c9b8cfc0baa3af90bc00680d44d6564d3f6ed45": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 10, + "message": "'d' is possibly 'undefined'." + }, + "591244b9bc8b5b3df32f359c678ed5180b27d165": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 10, + "message": "'d.depth' is possibly 'undefined'." + }, + "5bf9c6dce5ef6823574f639b250212d9b67c9d93": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 3, + "message": "'d.crossDepth' is possibly 'undefined'." + }, + "fc7988126b0a8e83c7a1fd5c784a9cb15ddf39c5": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 1, + "message": "'d.px' is possibly 'undefined'." + }, + "dbdc0aba235839fb84d14a5b52f169e80ee96d5e": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 2, + "message": "'d.tau' is possibly 'undefined'." + }, + "54e07d59a8dac4afaaaaeb50480084429e4dbe1b": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 2, + "message": "'d.w' is possibly 'undefined'." + }, + "dcda0b89f825c60352f123f9594b6403b4cb2620": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 1, + "message": "'d.py' is possibly 'undefined'." + }, + "2bae9c053a71b77e21ecf300de327983844b55d8": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS2345", + "count": 9, + "message": "Argument of type 'number | undefined' is not assignable to parameter of type 'number'." + }, + "1475114011d922fe2e7271bcecd2aca8d215332b": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 4, + "message": "'d.displayOrderRange' is possibly 'undefined'." + }, + "28bf5cd7ef60d2efc409f7d44f03d5466216e0ab": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 1, + "message": "'d.displayOrder' is possibly 'undefined'." + }, + "010675353e929104a9b83a9c31d3b634228c90ff": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 12, + "message": "'offset' is possibly 'undefined'." + }, + "6777b009e4598cef1d5876206e29481f080bcbae": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 2, + "message": "'d.pDepth' is possibly 'undefined'." + }, + "6c1c0b88c6237ad0d97f2b0a5ae5cf1244164d83": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS2322", + "count": 2, + "message": "Type 'number | undefined' is not assignable to type 'number'." + }, + "5adfa033c7e3cc6856df61936aa09932a2c649f9": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 2, + "message": "'minExtend' is possibly 'undefined'." + }, + "2e8a59503a02d547a3351828c9535e6039e63d3e": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 5, + "message": "'d.yTip' is possibly 'undefined'." + }, + "8a17f24fff70af67bc0cd6a191eec3f98ea7e47d": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 4, + "message": "'d.yBase' is possibly 'undefined'." + }, + "d926f74480be36a4f33670df11c9a625eea504af": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 4, + "message": "'d.xTip' is possibly 'undefined'." + }, + "888a3115593961edd8c26469a8bd226a7e0ef837": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 5, + "message": "'d.xBase' is possibly 'undefined'." + }, + "e26bd5a60d53e8000607dcba6869b80bb854f03e": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 2, + "message": "'d.conf' is possibly 'undefined'." + }, + "0612637e15e5e78b360bf1a8c193bdcaf182840d": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS2345", + "count": 1, + "message": "Argument of type 'number' is not assignable to parameter of type 'never'." + }, + "c9c7807f44601954f73a744a511e1bfab0d2d2f6": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 1, + "message": "'phyloNode.n.children' is possibly 'undefined'." + }, + "804abd818a5bd7e11c613f2bbd75ca907c625eca": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 2, + "message": "'d.n.name' is possibly 'undefined'." + }, + "a3222d11a4f7ba5252c314f1219111407673406d": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 2, + "message": "'node.tipCount' is possibly 'undefined'." + }, + "85056ed3d30120948426ac5692d686236dffdb41": { + "file": "src/components/tree/phyloTree/layouts.ts", + "code": "TS18048", + "count": 1, + "message": "'node.fullTipCount' is possibly 'undefined'." + }, + "89badd77ca7a7bd71fbf872a8db278c23cb62433": { + "file": "src/components/tree/phyloTree/phyloTree.ts", + "code": "TS2322", + "count": 1, + "message": "Type 'PhyloNode | undefined' is not assignable to type 'PhyloNode'." + }, + "6191437613fa3eb41f93ee992a32b8615637b3b0": { + "file": "src/components/tree/phyloTree/phyloTree.ts", + "code": "TS2538", + "count": 1, + "message": "Type 'undefined' cannot be used as an index type." + }, + "363c150ed1de78185b1dcf32f31191537801ca89": { + "file": "src/components/tree/phyloTree/regression.ts", + "code": "TS2532", + "count": 1, + "message": "Object is possibly 'undefined'." + }, + "4c5b578a195ed4c52d2d381778f60e99d8ed04d1": { + "file": "src/components/tree/phyloTree/regression.ts", + "code": "TS18048", + "count": 2, + "message": "'regression.slope' is possibly 'undefined'." + }, + "5b1b07cca4190fe99434c5f8ab765fa6c6cc7d39": { + "file": "src/components/tree/phyloTree/regression.ts", + "code": "TS2345", + "count": 1, + "message": "Argument of type 'number | undefined' is not assignable to parameter of type 'number'." + }, + "b5602dfd601483580fa7fd30ade149c505664e73": { + "file": "src/components/tree/phyloTree/regression.ts", + "code": "TS18048", + "count": 1, + "message": "'regression.intercept' is possibly 'undefined'." + }, + "ee5b36f4657fb6b5c40ddecf5cdb4cf707aefbd3": { + "file": "src/components/tree/phyloTree/regression.ts", + "code": "TS18048", + "count": 1, + "message": "'regression.r2' is possibly 'undefined'." + }, + "b95bb5850afc4251fd23e77fb4d60bcd6e48e5a4": { + "file": "src/components/tree/phyloTree/renderers.ts", + "code": "TS2322", + "count": 1, + "message": "Type '(PhyloNode | undefined)[] | undefined' is not assignable to type 'PhyloNode[] | undefined'." + }, + "3f69233b505cee536f188e1e65677abe2e3aeb09": { + "file": "src/components/tree/phyloTree/renderers.ts", + "code": "TS2532", + "count": 15, + "message": "Object is possibly 'undefined'." + }, + "3cd2b7fbdf604f4b161827cf72c6812a59cc86db": { + "file": "src/components/tree/phyloTree/renderers.ts", + "code": "TS2345", + "count": 1, + "message": "Argument of type '(this: SVGPathElement, d: PhyloNode) => string | undefined' is not assignable to parameter of type 'string | number | boolean | readonly (string | number)[] | ValueFn | null'." + }, + "a3bb505e84f358500cd634dd62bf7f798e88407a": { + "file": "src/components/tree/phyloTree/renderers.ts", + "code": "TS2345", + "count": 6, + "message": "Argument of type 'string | undefined' is not assignable to parameter of type 'string'." + }, + "f80b5a8a3d05b8e56a99a7ffaed27b22ed615911": { + "file": "src/components/tree/phyloTree/renderers.ts", + "code": "TS2345", + "count": 3, + "message": "Argument of type '(this: SVGCircleElement, d: PhyloNode) => number | undefined' is not assignable to parameter of type 'string | number | boolean | readonly (string | number)[] | ValueFn | null'." + }, + "ca07eb0918f3cf0265a060026e6bcac73a568444": { + "file": "src/components/tree/phyloTree/renderers.ts", + "code": "TS2322", + "count": 1, + "message": "Type 'string | undefined' is not assignable to type 'string'." + }, + "754597b3def16f18b07c8f0cd38666c82496e417": { + "file": "src/components/tree/phyloTree/renderers.ts", + "code": "TS18048", + "count": 2, + "message": "'d.branch' is possibly 'undefined'." + }, + "0c398ad7666e583236cb8cc6f230a2799afbe3c2": { + "file": "src/components/tree/phyloTree/renderers.ts", + "code": "TS2345", + "count": 1, + "message": "Argument of type 'Regression | undefined' is not assignable to parameter of type 'Regression'." + }, + "1af08f5d598de336706a7a3e70a25389abf51fb9": { + "file": "src/components/tree/phyloTree/renderers.ts", + "code": "TS18048", + "count": 2, + "message": "'d.n.parent' is possibly 'undefined'." + }, + "bce9ae4b02e74075f54e946b647d942e5d11d7d2": { + "file": "src/components/tree/phyloTree/renderers.ts", + "code": "TS18048", + "count": 2, + "message": "'d.n.parent.shell' is possibly 'undefined'." + }, + "005310572b14281da96c2b9977d7899477678468": { + "file": "src/components/tree/phyloTree/types.ts", + "code": "TS2411", + "count": 1, + "message": "Property 'unknown' of type '[number, number] | undefined' is not assignable to 'string' index type '[number, number]'." + }, + "712e7eb645b4a49dc9be72e5640b17cde30ef24c": { + "file": "src/components/tree/reactD3Interface/callbacks.ts", + "code": "TS18048", + "count": 2, + "message": "'phylotree' is possibly 'undefined'." + }, + "69122c92eaa7f721f10ebf1961ecf79c600ae29d": { + "file": "src/components/tree/reactD3Interface/callbacks.ts", + "code": "TS2345", + "count": 2, + "message": "Argument of type 'string | undefined' is not assignable to parameter of type 'string'." + }, + "82af80b221d5ce8f28397ff64720c3324957fff3": { + "file": "src/components/tree/reactD3Interface/callbacks.ts", + "code": "TS18046", + "count": 1, + "message": "'e' is of type 'unknown'." + }, + "3b9d5dce45456330cab84a6683203236bc674e12": { + "file": "src/components/tree/reactD3Interface/callbacks.ts", + "code": "TS2322", + "count": 3, + "message": "Type 'string | undefined' is not assignable to type 'string'." + }, + "5bdb56c3f7ad49fb4fe9b7b0966b11bcd1caa91e": { + "file": "src/components/tree/reactD3Interface/callbacks.ts", + "code": "TS18048", + "count": 6, + "message": "'tree' is possibly 'undefined'." + }, + "2914b4daa5757774dfd1b615514a0eea82746095": { + "file": "src/components/tree/reactD3Interface/callbacks.ts", + "code": "TS18048", + "count": 1, + "message": "'tree.groups.confidenceIntervals' is possibly 'undefined'." + }, + "3f24de3607c87fa4efd07d6aedd350eff5e5ca3b": { + "file": "src/components/tree/reactD3Interface/callbacks.ts", + "code": "TS18048", + "count": 1, + "message": "'d.n.branch_attrs' is possibly 'undefined'." + }, + "85d21a97d89ecabd87a2f6a9860c102e2587df27": { + "file": "src/components/tree/reactD3Interface/callbacks.ts", + "code": "TS18048", + "count": 1, + "message": "'d.n.branch_attrs.labels' is possibly 'undefined'." + }, + "92cd869c208c3888e55d1a6490b077a44184dd18": { + "file": "src/components/tree/reactD3Interface/callbacks.ts", + "code": "TS2538", + "count": 1, + "message": "Type 'undefined' cannot be used as an index type." + }, + "2fd34d77bce38539fac37c2d0e2d0fd270cbbd0d": { + "file": "src/components/tree/reactD3Interface/callbacks.ts", + "code": "TS2322", + "count": 2, + "message": "Type 'null' is not assignable to type 'ReactTreeNode | undefined'." + }, + "f80e5e8f3c94d6e67139005693c79d87e05dca1d": { + "file": "src/components/tree/reactD3Interface/callbacks.ts", + "code": "TS18046", + "count": 1, + "message": "'dd' is of type 'unknown'." + }, + "92c841bdb6e1485e522311cd66f20d8cdbc852b4": { + "file": "src/components/tree/reactD3Interface/change.ts", + "code": "TS2322", + "count": 1, + "message": "Type 'Visibility[] | null' is not assignable to type 'Visibility[] | undefined'." + }, + "e8c2149eaa167f88a28a7071c0b104abf9f0e0e8": { + "file": "src/components/tree/reactD3Interface/change.ts", + "code": "TS2322", + "count": 2, + "message": "Type 'number[] | null' is not assignable to type 'any[] | undefined'." + }, + "5f294820099d69566030893ef929ad194efc9d0e": { + "file": "src/components/tree/reactD3Interface/initialRender.ts", + "code": "TS2322", + "count": 1, + "message": "Type 'number[] | null' is not assignable to type 'number[]'." + }, + "55adadcb557453439765a14903023ebf8a68f9ef": { + "file": "src/components/tree/reactD3Interface/initialRender.ts", + "code": "TS2322", + "count": 1, + "message": "Type 'Visibility[] | null' is not assignable to type 'Visibility[]'." + }, + "1ac717ca1c1d3dff91eb376b4073be200ad3d708": { + "file": "src/components/tree/tree.tsx", + "code": "TS2345", + "count": 2, + "message": "Argument of type 'ReduxNode[] | null' is not assignable to parameter of type 'ReduxNode[]'." + }, + "a8626c6b4782f2a704185437368c981ded8287aa": { + "file": "src/components/tree/tree.tsx", + "code": "TS2345", + "count": 3, + "message": "Argument of type 'PhyloTree | undefined' is not assignable to parameter of type 'PhyloTree'." + }, + "6ce488a0685b6b219298a74c60a1406ba36f258b": { + "file": "src/components/tree/tree.tsx", + "code": "TS2322", + "count": 1, + "message": "Type 'null' is not assignable to type 'PhyloTree | undefined'." + }, + "3af3fe96e6efae535dc49bb439f076818e374767": { + "file": "src/components/tree/tree.tsx", + "code": "TS2531", + "count": 2, + "message": "Object is possibly 'null'." + }, + "accc351e7ac793cbc804b7cfece4d94eb6580945": { + "file": "src/components/tree/tree.tsx", + "code": "TS2345", + "count": 2, + "message": "Argument of type 'ReduxNode | undefined' is not assignable to parameter of type 'ReduxNode'." + }, + "0ea7bd71de544dad54701a2afb64a24a82cb317c": { + "file": "src/components/tree/tree.tsx", + "code": "TS2322", + "count": 1, + "message": "Type 'ReduxNode[] | null' is not assignable to type 'any[]'." + }, + "1209d478a7bc6b1e408ab3f5a1019df9d3e27965": { + "file": "src/components/tree/tree.tsx", + "code": "TS2322", + "count": 1, + "message": "Type 'ReduxNode[] | null' is not assignable to type 'any[] | undefined'." + }, + "5ef5ad04e2c293c7740050126967ee20752d9dc0": { + "file": "src/components/tree/tree.tsx", + "code": "TS2322", + "count": 1, + "message": "Type '((a: number, b: number) => number | (() => 0)) | undefined' is not assignable to type 'Function'." + }, + "acae4d0f868653dcfd034f3c90e586c9c8b0d4e2": { + "file": "src/components/tree/tree.tsx", + "code": "TS2322", + "count": 1, + "message": "Type 'Tangle | null' is not assignable to type 'Tangle | undefined'." + }, + "768c8e100e79d3a9e0e749bd5cbec845fb15b094": { + "file": "src/reducers/controls.ts", + "code": "TS2322", + "count": 1, + "message": "Type '{ visibleLegendValues: any; colorBy?: string | undefined; continuous?: boolean | undefined; domain?: unknown[] | undefined; genotype?: Genotype | null | undefined; legendBounds?: LegendBounds | undefined; ... 4 more ...; version?: number | undefined; }' is not assignable to type 'ColorScale'." + }, + "c69ce5877772de2c6a01dab673b902d018d95e13": { + "file": "src/reducers/controls.ts", + "code": "TS18047", + "count": 1, + "message": "'selectedNode' is possibly 'null'." + }, + "8484d3029f976a67a185caf2c3166c010ffdc53f": { + "file": "src/reducers/tree.ts", + "code": "TS2345", + "count": 1, + "message": "Argument of type 'ReduxNode[] | null' is not assignable to parameter of type 'any[]'." + }, + "625ad7f9dadb75689ea947d4db54b45f2d12845a": { + "file": "src/reducers/tree.ts", + "code": "TS2345", + "count": 1, + "message": "Argument of type 'ReduxNode[] | null' is not assignable to parameter of type 'ReduxNode[]'." + }, + "fa70f8f742d8e26f552233b2a1bd7f5615924cc3": { + "file": "src/util/colorScale.ts", + "code": "TS2322", + "count": 1, + "message": "Type '{ gene: any; positions: any; aa: boolean; } | null' is not assignable to type 'Genotype'." + }, + "1b1304438f7c917d65348855d5aa310d846c76bc": { + "file": "src/util/colorScale.ts", + "code": "TS2454", + "count": 4, + "message": "Variable 'genotype' is used before being assigned." + }, + "08fe34f9f5f9ef961e177e86557a626969b78537": { + "file": "src/util/colorScale.ts", + "code": "TS2532", + "count": 8, + "message": "Object is possibly 'undefined'." + }, + "327a4beb58057fcb6b27b7ca0f51bdc8d92c6d73": { + "file": "src/util/colorScale.ts", + "code": "TS2345", + "count": 1, + "message": "Argument of type 'ReduxNode[] | null' is not assignable to parameter of type 'ReduxNode[]'." + }, + "43ec6e9f4dac4f8869e7fe43b6032342aa792697": { + "file": "src/util/colorScale.ts", + "code": "TS2345", + "count": 3, + "message": "Argument of type 'ReduxNode[] | null | undefined' is not assignable to parameter of type 'ReduxNode[]'." + }, + "19e138bbc4bdc3a88d27ae384d4563c8c5337ac9": { + "file": "src/util/colorScale.ts", + "code": "TS2345", + "count": 3, + "message": "Argument of type 'ReduxNode[] | null | undefined' is not assignable to parameter of type 'ReduxNode[] | undefined'." + }, + "a1b61ca27f6018d4023edf3de689d1a8aa382dc9": { + "file": "src/util/colorScale.ts", + "code": "TS2322", + "count": 1, + "message": "Type 'ReduxNode[] | null | undefined' is not assignable to type 'ReduxNode[] | undefined'." + }, + "06df28fbaa75920ec92a5275ec80d34e8f38464d": { + "file": "src/util/colorScale.ts", + "code": "TS2322", + "count": 1, + "message": "Type 'Visibility[] | null' is not assignable to type 'Visibility[]'." + }, + "853f2acb14ee9b69005835905c5d6a63b400af37": { + "file": "src/util/colorScale.ts", + "code": "TS2322", + "count": 1, + "message": "Type 'Visibility[] | null | undefined' is not assignable to type 'Visibility[] | undefined'." + }, + "797a93132f018beca43d388860d6946d4a192d93": { + "file": "src/util/colorScale.ts", + "code": "TS2454", + "count": 2, + "message": "Variable 'legendBounds' is used before being assigned." + }, + "511c6f53d904fd72eb36a8ccc957f5ae2d5ba16e": { + "file": "src/util/colorScale.ts", + "code": "TS2454", + "count": 1, + "message": "Variable 'legendLabels' is used before being assigned." + }, + "053f2e4302647f1964c4d0e2b5cff29779428347": { + "file": "src/util/colorScale.ts", + "code": "TS2454", + "count": 1, + "message": "Variable 'domain' is used before being assigned." + }, + "a8d5c32ab622995d65513fd0366bb6fed7e0275c": { + "file": "src/util/colorScale.ts", + "code": "TS2345", + "count": 1, + "message": "Argument of type 'string | undefined' is not assignable to parameter of type 'string'." + }, + "9302b5bfe6785bfc9b90dc30796f3a65ac969876": { + "file": "src/util/colorScale.ts", + "code": "TS2345", + "count": 1, + "message": "Argument of type '(string | undefined)[]' is not assignable to parameter of type 'Iterable'." + }, + "94e729587353db05972d97d02635cb3e62815db1": { + "file": "src/util/colorScale.ts", + "code": "TS2345", + "count": 1, + "message": "Argument of type 'string[] | undefined' is not assignable to parameter of type 'Iterable'." + }, + "219489d581f127b810c52da7ea0bb3c80d879ee5": { + "file": "src/util/colorScale.ts", + "code": "TS2322", + "count": 2, + "message": "Type 'string[] | undefined' is not assignable to type 'string[]'." + }, + "72cc1f79f4b15a5d9b86df5367b5135658efa9b5": { + "file": "src/util/colorScale.ts", + "code": "TS2322", + "count": 2, + "message": "Type 'number | undefined' is not assignable to type 'number'." + }, + "2b8f7433fe36dd106b854039f91464726c40a822": { + "file": "src/util/colorScale.ts", + "code": "TS18048", + "count": 1, + "message": "'stateCountSecondTree' is possibly 'undefined'." + }, + "1ecf1bfb9a10a8e7069799c634d6d4f04c96f425": { + "file": "src/util/colorScale.ts", + "code": "TS18048", + "count": 3, + "message": "'stateCount' is possibly 'undefined'." + }, + "51f10e3532e5c65d92e52a749ccbc9bb61c792ee": { + "file": "src/util/colorScale.ts", + "code": "TS2454", + "count": 1, + "message": "Variable 'colorList' is used before being assigned." + }, + "5a0e4c4a57241270d3b66f00cd36ad5108cb2798": { + "file": "src/util/colorScale.ts", + "code": "TS2538", + "count": 3, + "message": "Type 'undefined' cannot be used as an index type." + }, + "3c417259e1d94015340773636aea78a631f928e3": { + "file": "src/util/colorScale.ts", + "code": "TS2345", + "count": 4, + "message": "Argument of type 'number | undefined' is not assignable to parameter of type 'number'." + }, + "5f0dab084ff4c1878a5a5d027bed5ff0605f3deb": { + "file": "src/util/colorScale.ts", + "code": "TS2488", + "count": 1, + "message": "Type '[number, number] | undefined' must have a '[Symbol.iterator]()' method that returns an iterator." + }, + "d065b97ab94a15165a8c931a6aa7e678e5e6433e": { + "file": "src/util/colorScale.ts", + "code": "TS18048", + "count": 6, + "message": "'previousBound' is possibly 'undefined'." + }, + "b8d9ec922dad55e6ce8dce5ad17dcd198713a988": { + "file": "src/util/colorScale.ts", + "code": "TS2322", + "count": 1, + "message": "Type '[number, number] | undefined' is not assignable to type '[number, number]'." + }, + "531047c9cafa58484a799a64584adc65898c2bc1": { + "file": "src/util/tipRadiusHelpers.ts", + "code": "TS18048", + "count": 3, + "message": "'colorScale.legendBounds' is possibly 'undefined'." + }, + "e18c779ba76a5dfda069a912f7b52d6ac97a7444": { + "file": "src/util/tipRadiusHelpers.ts", + "code": "TS2532", + "count": 3, + "message": "Object is possibly 'undefined'." + }, + "572bd7cfad73bb4202ca0389e63f68fce144b56d": { + "file": "src/util/tipRadiusHelpers.ts", + "code": "TS18047", + "count": 1, + "message": "'tree.nodes' is possibly 'null'." + }, + "2e53ad0fd4938470a4614e2cb935b79d93f128fc": { + "file": "src/util/treeCountingHelpers.ts", + "code": "TS2538", + "count": 2, + "message": "Type 'undefined' cannot be used as an index type." + }, + "a952db4049d77b93c6060816a7003b332f177295": { + "file": "src/util/treeCountingHelpers.ts", + "code": "TS2532", + "count": 6, + "message": "Object is possibly 'undefined'." + }, + "54280d63a50173d10ba4d78bb24649ab24e71e22": { + "file": "src/util/treeCountingHelpers.ts", + "code": "TS2345", + "count": 2, + "message": "Argument of type 'ReduxNode | undefined' is not assignable to parameter of type 'ReduxNode'." + }, + "f04ef8a0227dacf4f5855d2bc0d2faa70a2458c8": { + "file": "src/util/treeJsonProcessing.ts", + "code": "TS2345", + "count": 4, + "message": "Argument of type 'ReduxNode | undefined' is not assignable to parameter of type 'ReduxNode'." + }, + "21bd6e5256a1ec67de6f16da0194dfd11291652d": { + "file": "src/util/treeJsonProcessing.ts", + "code": "TS18048", + "count": 2, + "message": "'n.branch_attrs' is possibly 'undefined'." + }, + "2462bcde864c597332a04a9568991409c9ffe28f": { + "file": "src/util/treeJsonProcessing.ts", + "code": "TS18048", + "count": 2, + "message": "'n.branch_attrs.labels' is possibly 'undefined'." + }, + "cc9b3a3a416018aacbe5e7ea152e9d63acf840e2": { + "file": "src/util/treeJsonProcessing.ts", + "code": "TS2322", + "count": 1, + "message": "Type '(ReduxNode | undefined)[]' is not assignable to type 'ReduxNode[]'." + }, + "c1909adb8c2109497eb4ae9fa4f0197ec41961bf": { + "file": "src/util/treeJsonProcessing.ts", + "code": "TS18048", + "count": 2, + "message": "'node.children' is possibly 'undefined'." + }, + "47ed8361c7a6c0f9479207891e9d66fb58ba300e": { + "file": "src/util/treeJsonProcessing.ts", + "code": "TS18048", + "count": 2, + "message": "'node.node_attrs' is possibly 'undefined'." + }, + "983239762e08884025915b38092c56c8d61d9e0e": { + "file": "src/util/treeJsonProcessing.ts", + "code": "TS18048", + "count": 7, + "message": "'node' is possibly 'undefined'." + }, + "f4a4779546dff1270afca09edd26247f63b5b788": { + "file": "src/util/treeJsonProcessing.ts", + "code": "TS2532", + "count": 1, + "message": "Object is possibly 'undefined'." + }, + "18615236d0fed331a55d10628cff8cedc05e5b19": { + "file": "src/util/treeJsonProcessing.ts", + "code": "TS2345", + "count": 1, + "message": "Argument of type 'number' is not assignable to parameter of type 'never'." + } + } +} \ No newline at end of file diff --git a/DEV_DOCS.md b/DEV_DOCS.md index a1d0b7fbc..e12dd671b 100644 --- a/DEV_DOCS.md +++ b/DEV_DOCS.md @@ -121,6 +121,7 @@ Our CI (GitHub action) will type-check the project. The various moving parts involved are: * `typescript` (`tsc` command) is used by `npm run type-check` as well as other plugins/libraries +* `tsc-baseline` is used by `npm run type-check` to ignore rule violations for some code * `@typescript-eslint/eslint-plugin`, `@typescript-eslint/parser` allow ESLint to parse TypeScript syntax * `@babel/preset-typescript` is used by babel-loader (via webpack) to parse `.ts(x)` files diff --git a/package-lock.json b/package-lock.json index efd284d38..dccde8b3e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -111,6 +111,7 @@ "puppeteer": "^20.6.0", "quoted-printable": "^1.0.1", "start-server-and-test": "^1.14.0", + "tsc-baseline": "^1.7.0", "typescript": "^5.0.2" }, "engines": { @@ -11499,6 +11500,15 @@ "node": ">=0.10.0" } }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", @@ -14027,6 +14037,28 @@ "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" }, + "node_modules/tsc-baseline": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/tsc-baseline/-/tsc-baseline-1.7.0.tgz", + "integrity": "sha512-r1W6C365u9EFNpquE/22O9SZBZwYq8YMBI8ZcsYjpMG0gjgaag4kmR8wosTkvbmw0ixCisVTvjq+iNpjBJ31tA==", + "dev": true, + "dependencies": { + "commander": "11.0.0", + "object-hash": "3.0.0" + }, + "bin": { + "tsc-baseline": "dist/cli.module.js" + } + }, + "node_modules/tsc-baseline/node_modules/commander": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz", + "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, "node_modules/tslib": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", @@ -23437,6 +23469,12 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, + "object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true + }, "object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", @@ -25324,6 +25362,24 @@ "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" }, + "tsc-baseline": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/tsc-baseline/-/tsc-baseline-1.7.0.tgz", + "integrity": "sha512-r1W6C365u9EFNpquE/22O9SZBZwYq8YMBI8ZcsYjpMG0gjgaag4kmR8wosTkvbmw0ixCisVTvjq+iNpjBJ31tA==", + "dev": true, + "requires": { + "commander": "11.0.0", + "object-hash": "3.0.0" + }, + "dependencies": { + "commander": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz", + "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==", + "dev": true + } + } + }, "tslib": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", diff --git a/package.json b/package.json index ea263881a..8490cbd19 100644 --- a/package.json +++ b/package.json @@ -23,8 +23,8 @@ "prepare": "npm run build", "lint": "eslint --max-warnings=0 .", "lint:fix": "eslint --fix .", - "type-check": "tsc", - "type-check:watch": "npm run type-check -- --watch", + "type-check": "tsc | tsc-baseline check", + "type-check:update-baseline": "tsc | tsc-baseline save", "get-data": "env bash ./scripts/get-data.sh", "heroku-postbuild": "npm run build && npm run get-data", "gzip-and-upload": "env bash ./scripts/gzip-and-upload.sh", @@ -138,6 +138,7 @@ "puppeteer": "^20.6.0", "quoted-printable": "^1.0.1", "start-server-and-test": "^1.14.0", + "tsc-baseline": "^1.7.0", "typescript": "^5.0.2" } } diff --git a/tsconfig.json b/tsconfig.json index c6275dc6e..71ded34a2 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -32,7 +32,6 @@ Visit https://aka.ms/tsconfig.json for a detailed list of options. /* Type Checking */ "strict": true, /* Enable all strict type-checking options. */ - "strictNullChecks": false, /* Allow unhandled false/null/undefined values to make incremental TypeScript adoption easier. */ "noImplicitAny": false, /* Allow implicit any to make incremental TypeScript adoption easier. */ "noUnusedLocals": true, /* Enable error reporting when a local variables aren't read. */ "noUnusedParameters": true, /* Raise an error when a function parameter isn't read */