diff --git a/.yarn/cache/@floating-ui-core-npm-1.7.3-2fe40b3781-5adfb28ddf.zip b/.yarn/cache/@floating-ui-core-npm-1.7.3-2fe40b3781-5adfb28ddf.zip deleted file mode 100644 index 54a3dddaeff..00000000000 Binary files a/.yarn/cache/@floating-ui-core-npm-1.7.3-2fe40b3781-5adfb28ddf.zip and /dev/null differ diff --git a/.yarn/cache/@floating-ui-core-npm-1.8.0-7cb6ad2d03-491c7573ba.zip b/.yarn/cache/@floating-ui-core-npm-1.8.0-7cb6ad2d03-491c7573ba.zip new file mode 100644 index 00000000000..dad12d9b2b1 Binary files /dev/null and b/.yarn/cache/@floating-ui-core-npm-1.8.0-7cb6ad2d03-491c7573ba.zip differ diff --git a/.yarn/cache/@floating-ui-dom-npm-1.7.4-e1f6d76b3d-806923e6f5.zip b/.yarn/cache/@floating-ui-dom-npm-1.7.4-e1f6d76b3d-806923e6f5.zip deleted file mode 100644 index cb645d73670..00000000000 Binary files a/.yarn/cache/@floating-ui-dom-npm-1.7.4-e1f6d76b3d-806923e6f5.zip and /dev/null differ diff --git a/.yarn/cache/@floating-ui-dom-npm-1.8.0-a6d2aa48a8-6c9676b040.zip b/.yarn/cache/@floating-ui-dom-npm-1.8.0-a6d2aa48a8-6c9676b040.zip new file mode 100644 index 00000000000..108e0032bf0 Binary files /dev/null and b/.yarn/cache/@floating-ui-dom-npm-1.8.0-a6d2aa48a8-6c9676b040.zip differ diff --git a/.yarn/cache/@floating-ui-react-dom-npm-2.1.6-b3d7d0fd22-24ff266806.zip b/.yarn/cache/@floating-ui-react-dom-npm-2.1.6-b3d7d0fd22-24ff266806.zip deleted file mode 100644 index cc03b8482ce..00000000000 Binary files a/.yarn/cache/@floating-ui-react-dom-npm-2.1.6-b3d7d0fd22-24ff266806.zip and /dev/null differ diff --git a/.yarn/cache/@floating-ui-react-dom-npm-2.1.9-751127e598-f57c327432.zip b/.yarn/cache/@floating-ui-react-dom-npm-2.1.9-751127e598-f57c327432.zip new file mode 100644 index 00000000000..a80ced3554b Binary files /dev/null and b/.yarn/cache/@floating-ui-react-dom-npm-2.1.9-751127e598-f57c327432.zip differ diff --git a/.yarn/cache/@floating-ui-react-npm-0.27.16-b1b80a3725-4f242f843c.zip b/.yarn/cache/@floating-ui-react-npm-0.27.16-b1b80a3725-4f242f843c.zip deleted file mode 100644 index 04d14ec71bf..00000000000 Binary files a/.yarn/cache/@floating-ui-react-npm-0.27.16-b1b80a3725-4f242f843c.zip and /dev/null differ diff --git a/.yarn/cache/@floating-ui-react-npm-0.27.20-68a2c3ede4-abf8f2d764.zip b/.yarn/cache/@floating-ui-react-npm-0.27.20-68a2c3ede4-abf8f2d764.zip new file mode 100644 index 00000000000..10faad14ecd Binary files /dev/null and b/.yarn/cache/@floating-ui-react-npm-0.27.20-68a2c3ede4-abf8f2d764.zip differ diff --git a/.yarn/cache/@floating-ui-utils-npm-0.2.10-5e22e99242-ffc4c24a46.zip b/.yarn/cache/@floating-ui-utils-npm-0.2.10-5e22e99242-ffc4c24a46.zip deleted file mode 100644 index 8032755a82d..00000000000 Binary files a/.yarn/cache/@floating-ui-utils-npm-0.2.10-5e22e99242-ffc4c24a46.zip and /dev/null differ diff --git a/.yarn/cache/@floating-ui-utils-npm-0.2.12-72e5a495e8-c2cf16da4f.zip b/.yarn/cache/@floating-ui-utils-npm-0.2.12-72e5a495e8-c2cf16da4f.zip new file mode 100644 index 00000000000..d69b3907a0e Binary files /dev/null and b/.yarn/cache/@floating-ui-utils-npm-0.2.12-72e5a495e8-c2cf16da4f.zip differ diff --git a/.yarn/cache/@lexical-a11y-npm-0.49.0-0a0fdaa414-947e24ec7f.zip b/.yarn/cache/@lexical-a11y-npm-0.49.0-0a0fdaa414-947e24ec7f.zip new file mode 100644 index 00000000000..f2be4b33a36 Binary files /dev/null and b/.yarn/cache/@lexical-a11y-npm-0.49.0-0a0fdaa414-947e24ec7f.zip differ diff --git a/.yarn/cache/@lexical-clipboard-npm-0.43.0-ae34976253-9b404ea0e9.zip b/.yarn/cache/@lexical-clipboard-npm-0.43.0-ae34976253-9b404ea0e9.zip deleted file mode 100644 index d27d5364cd8..00000000000 Binary files a/.yarn/cache/@lexical-clipboard-npm-0.43.0-ae34976253-9b404ea0e9.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-clipboard-npm-0.49.0-c5ef5ff642-2c2a057a96.zip b/.yarn/cache/@lexical-clipboard-npm-0.49.0-c5ef5ff642-2c2a057a96.zip new file mode 100644 index 00000000000..d3e1a52bd73 Binary files /dev/null and b/.yarn/cache/@lexical-clipboard-npm-0.49.0-c5ef5ff642-2c2a057a96.zip differ diff --git a/.yarn/cache/@lexical-code-core-npm-0.43.0-fa460b0d8f-a63d105158.zip b/.yarn/cache/@lexical-code-core-npm-0.43.0-fa460b0d8f-a63d105158.zip deleted file mode 100644 index 85b7c89e123..00000000000 Binary files a/.yarn/cache/@lexical-code-core-npm-0.43.0-fa460b0d8f-a63d105158.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-code-core-npm-0.49.0-f94c6b8155-1ccdd615b1.zip b/.yarn/cache/@lexical-code-core-npm-0.49.0-f94c6b8155-1ccdd615b1.zip new file mode 100644 index 00000000000..7f1c2e7ce7b Binary files /dev/null and b/.yarn/cache/@lexical-code-core-npm-0.49.0-f94c6b8155-1ccdd615b1.zip differ diff --git a/.yarn/cache/@lexical-code-npm-0.43.0-3412bcee0b-f756ff54db.zip b/.yarn/cache/@lexical-code-npm-0.43.0-3412bcee0b-f756ff54db.zip deleted file mode 100644 index 48b39dd3b4f..00000000000 Binary files a/.yarn/cache/@lexical-code-npm-0.43.0-3412bcee0b-f756ff54db.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-code-npm-0.49.0-cd5c92381a-2895f3ac81.zip b/.yarn/cache/@lexical-code-npm-0.49.0-cd5c92381a-2895f3ac81.zip new file mode 100644 index 00000000000..907321c0971 Binary files /dev/null and b/.yarn/cache/@lexical-code-npm-0.49.0-cd5c92381a-2895f3ac81.zip differ diff --git a/.yarn/cache/@lexical-code-prism-npm-0.43.0-60cc0bbea2-c8fcbd2541.zip b/.yarn/cache/@lexical-code-prism-npm-0.43.0-60cc0bbea2-c8fcbd2541.zip deleted file mode 100644 index dcd0cb7692a..00000000000 Binary files a/.yarn/cache/@lexical-code-prism-npm-0.43.0-60cc0bbea2-c8fcbd2541.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-code-prism-npm-0.49.0-079ea61e48-59f228109d.zip b/.yarn/cache/@lexical-code-prism-npm-0.49.0-079ea61e48-59f228109d.zip new file mode 100644 index 00000000000..6ec1b43626e Binary files /dev/null and b/.yarn/cache/@lexical-code-prism-npm-0.49.0-079ea61e48-59f228109d.zip differ diff --git a/.yarn/cache/@lexical-devtools-core-npm-0.43.0-f9610c73bb-0728d7bc4e.zip b/.yarn/cache/@lexical-devtools-core-npm-0.43.0-f9610c73bb-0728d7bc4e.zip deleted file mode 100644 index ab0a07f2979..00000000000 Binary files a/.yarn/cache/@lexical-devtools-core-npm-0.43.0-f9610c73bb-0728d7bc4e.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-devtools-core-npm-0.49.0-6922f3bf52-0d26c2e9b1.zip b/.yarn/cache/@lexical-devtools-core-npm-0.49.0-6922f3bf52-0d26c2e9b1.zip new file mode 100644 index 00000000000..7c1b0a63538 Binary files /dev/null and b/.yarn/cache/@lexical-devtools-core-npm-0.49.0-6922f3bf52-0d26c2e9b1.zip differ diff --git a/.yarn/cache/@lexical-dragon-npm-0.43.0-a297a8c327-0d1578c21f.zip b/.yarn/cache/@lexical-dragon-npm-0.43.0-a297a8c327-0d1578c21f.zip deleted file mode 100644 index b1316bb56b3..00000000000 Binary files a/.yarn/cache/@lexical-dragon-npm-0.43.0-a297a8c327-0d1578c21f.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-dragon-npm-0.49.0-16fe220260-b1236d3f2c.zip b/.yarn/cache/@lexical-dragon-npm-0.49.0-16fe220260-b1236d3f2c.zip new file mode 100644 index 00000000000..54ca47ed92a Binary files /dev/null and b/.yarn/cache/@lexical-dragon-npm-0.49.0-16fe220260-b1236d3f2c.zip differ diff --git a/.yarn/cache/@lexical-extension-npm-0.43.0-964e94ae06-0097934286.zip b/.yarn/cache/@lexical-extension-npm-0.43.0-964e94ae06-0097934286.zip deleted file mode 100644 index 5bb9abeea24..00000000000 Binary files a/.yarn/cache/@lexical-extension-npm-0.43.0-964e94ae06-0097934286.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-extension-npm-0.49.0-ca3b813d4a-e9a187c80b.zip b/.yarn/cache/@lexical-extension-npm-0.49.0-ca3b813d4a-e9a187c80b.zip new file mode 100644 index 00000000000..6657f8ec730 Binary files /dev/null and b/.yarn/cache/@lexical-extension-npm-0.49.0-ca3b813d4a-e9a187c80b.zip differ diff --git a/.yarn/cache/@lexical-hashtag-npm-0.43.0-a065db279d-2762215fd8.zip b/.yarn/cache/@lexical-hashtag-npm-0.43.0-a065db279d-2762215fd8.zip deleted file mode 100644 index 57cad18131b..00000000000 Binary files a/.yarn/cache/@lexical-hashtag-npm-0.43.0-a065db279d-2762215fd8.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-hashtag-npm-0.49.0-e4095c172e-c4e8d7684d.zip b/.yarn/cache/@lexical-hashtag-npm-0.49.0-e4095c172e-c4e8d7684d.zip new file mode 100644 index 00000000000..c10a47cd530 Binary files /dev/null and b/.yarn/cache/@lexical-hashtag-npm-0.49.0-e4095c172e-c4e8d7684d.zip differ diff --git a/.yarn/cache/@lexical-headless-npm-0.43.0-56c4e37762-87fca41717.zip b/.yarn/cache/@lexical-headless-npm-0.43.0-56c4e37762-87fca41717.zip deleted file mode 100644 index 620cc0873fe..00000000000 Binary files a/.yarn/cache/@lexical-headless-npm-0.43.0-56c4e37762-87fca41717.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-headless-npm-0.49.0-ddf95c9c02-41081b060f.zip b/.yarn/cache/@lexical-headless-npm-0.49.0-ddf95c9c02-41081b060f.zip new file mode 100644 index 00000000000..90233b40273 Binary files /dev/null and b/.yarn/cache/@lexical-headless-npm-0.49.0-ddf95c9c02-41081b060f.zip differ diff --git a/.yarn/cache/@lexical-history-npm-0.43.0-7ee50eb7ca-13ebbf8ddd.zip b/.yarn/cache/@lexical-history-npm-0.43.0-7ee50eb7ca-13ebbf8ddd.zip deleted file mode 100644 index 3339749c7b0..00000000000 Binary files a/.yarn/cache/@lexical-history-npm-0.43.0-7ee50eb7ca-13ebbf8ddd.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-history-npm-0.49.0-66dbf35238-b063d87bf5.zip b/.yarn/cache/@lexical-history-npm-0.49.0-66dbf35238-b063d87bf5.zip new file mode 100644 index 00000000000..e6edb56d9d3 Binary files /dev/null and b/.yarn/cache/@lexical-history-npm-0.49.0-66dbf35238-b063d87bf5.zip differ diff --git a/.yarn/cache/@lexical-html-npm-0.43.0-48e3433ea7-d62a738fff.zip b/.yarn/cache/@lexical-html-npm-0.43.0-48e3433ea7-d62a738fff.zip deleted file mode 100644 index d7e6c870d87..00000000000 Binary files a/.yarn/cache/@lexical-html-npm-0.43.0-48e3433ea7-d62a738fff.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-html-npm-0.49.0-754dfea7af-fdc3bb6d7c.zip b/.yarn/cache/@lexical-html-npm-0.49.0-754dfea7af-fdc3bb6d7c.zip new file mode 100644 index 00000000000..187cfb92cd6 Binary files /dev/null and b/.yarn/cache/@lexical-html-npm-0.49.0-754dfea7af-fdc3bb6d7c.zip differ diff --git a/.yarn/cache/@lexical-internal-npm-0.49.0-b447c5c7a4-d82e6225ec.zip b/.yarn/cache/@lexical-internal-npm-0.49.0-b447c5c7a4-d82e6225ec.zip new file mode 100644 index 00000000000..050faec1b62 Binary files /dev/null and b/.yarn/cache/@lexical-internal-npm-0.49.0-b447c5c7a4-d82e6225ec.zip differ diff --git a/.yarn/cache/@lexical-link-npm-0.43.0-23774ea266-ff6db3c073.zip b/.yarn/cache/@lexical-link-npm-0.43.0-23774ea266-ff6db3c073.zip deleted file mode 100644 index 61f1fd85f69..00000000000 Binary files a/.yarn/cache/@lexical-link-npm-0.43.0-23774ea266-ff6db3c073.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-link-npm-0.49.0-0011da399c-6d0b9410a6.zip b/.yarn/cache/@lexical-link-npm-0.49.0-0011da399c-6d0b9410a6.zip new file mode 100644 index 00000000000..c3242081c85 Binary files /dev/null and b/.yarn/cache/@lexical-link-npm-0.49.0-0011da399c-6d0b9410a6.zip differ diff --git a/.yarn/cache/@lexical-list-npm-0.43.0-be43938741-00193c83c2.zip b/.yarn/cache/@lexical-list-npm-0.43.0-be43938741-00193c83c2.zip deleted file mode 100644 index bc0dc15c732..00000000000 Binary files a/.yarn/cache/@lexical-list-npm-0.43.0-be43938741-00193c83c2.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-list-npm-0.49.0-71adf5e5f4-ef552c0e71.zip b/.yarn/cache/@lexical-list-npm-0.49.0-71adf5e5f4-ef552c0e71.zip new file mode 100644 index 00000000000..dbcc72223d5 Binary files /dev/null and b/.yarn/cache/@lexical-list-npm-0.49.0-71adf5e5f4-ef552c0e71.zip differ diff --git a/.yarn/cache/@lexical-mark-npm-0.43.0-f0235bef36-d3beaa250f.zip b/.yarn/cache/@lexical-mark-npm-0.43.0-f0235bef36-d3beaa250f.zip deleted file mode 100644 index d3f3e9c6ded..00000000000 Binary files a/.yarn/cache/@lexical-mark-npm-0.43.0-f0235bef36-d3beaa250f.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-mark-npm-0.49.0-df8570e0ff-20dbf436cc.zip b/.yarn/cache/@lexical-mark-npm-0.49.0-df8570e0ff-20dbf436cc.zip new file mode 100644 index 00000000000..6969820c82a Binary files /dev/null and b/.yarn/cache/@lexical-mark-npm-0.49.0-df8570e0ff-20dbf436cc.zip differ diff --git a/.yarn/cache/@lexical-markdown-npm-0.43.0-426a72db47-2dbcbf2989.zip b/.yarn/cache/@lexical-markdown-npm-0.43.0-426a72db47-2dbcbf2989.zip deleted file mode 100644 index d7b7f65804e..00000000000 Binary files a/.yarn/cache/@lexical-markdown-npm-0.43.0-426a72db47-2dbcbf2989.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-markdown-npm-0.49.0-ea744234ec-ce9cad472c.zip b/.yarn/cache/@lexical-markdown-npm-0.49.0-ea744234ec-ce9cad472c.zip new file mode 100644 index 00000000000..9e35b6065d7 Binary files /dev/null and b/.yarn/cache/@lexical-markdown-npm-0.49.0-ea744234ec-ce9cad472c.zip differ diff --git a/.yarn/cache/@lexical-offset-npm-0.43.0-c5b9f6c804-b4a11fd783.zip b/.yarn/cache/@lexical-offset-npm-0.43.0-c5b9f6c804-b4a11fd783.zip deleted file mode 100644 index f774fbee53f..00000000000 Binary files a/.yarn/cache/@lexical-offset-npm-0.43.0-c5b9f6c804-b4a11fd783.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-overflow-npm-0.43.0-5b4b967c61-4ac442c4af.zip b/.yarn/cache/@lexical-overflow-npm-0.43.0-5b4b967c61-4ac442c4af.zip deleted file mode 100644 index 7518e661349..00000000000 Binary files a/.yarn/cache/@lexical-overflow-npm-0.43.0-5b4b967c61-4ac442c4af.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-overflow-npm-0.49.0-0e3e57d9b2-32ceb2577e.zip b/.yarn/cache/@lexical-overflow-npm-0.49.0-0e3e57d9b2-32ceb2577e.zip new file mode 100644 index 00000000000..bb20c02f37a Binary files /dev/null and b/.yarn/cache/@lexical-overflow-npm-0.49.0-0e3e57d9b2-32ceb2577e.zip differ diff --git a/.yarn/cache/@lexical-plain-text-npm-0.43.0-570131dbe1-855460a77a.zip b/.yarn/cache/@lexical-plain-text-npm-0.43.0-570131dbe1-855460a77a.zip deleted file mode 100644 index 5c69bb10a61..00000000000 Binary files a/.yarn/cache/@lexical-plain-text-npm-0.43.0-570131dbe1-855460a77a.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-plain-text-npm-0.49.0-591267835e-624e8c4c14.zip b/.yarn/cache/@lexical-plain-text-npm-0.49.0-591267835e-624e8c4c14.zip new file mode 100644 index 00000000000..d07a264f1e1 Binary files /dev/null and b/.yarn/cache/@lexical-plain-text-npm-0.49.0-591267835e-624e8c4c14.zip differ diff --git a/.yarn/cache/@lexical-react-npm-0.43.0-560698beb3-ea9fd24fbc.zip b/.yarn/cache/@lexical-react-npm-0.43.0-560698beb3-ea9fd24fbc.zip deleted file mode 100644 index 58cce633a5c..00000000000 Binary files a/.yarn/cache/@lexical-react-npm-0.43.0-560698beb3-ea9fd24fbc.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-react-npm-0.49.0-cafe543f32-91b4078c1f.zip b/.yarn/cache/@lexical-react-npm-0.49.0-cafe543f32-91b4078c1f.zip new file mode 100644 index 00000000000..c115df2941c Binary files /dev/null and b/.yarn/cache/@lexical-react-npm-0.49.0-cafe543f32-91b4078c1f.zip differ diff --git a/.yarn/cache/@lexical-rich-text-npm-0.43.0-b9c388a84c-89b5c3ef33.zip b/.yarn/cache/@lexical-rich-text-npm-0.43.0-b9c388a84c-89b5c3ef33.zip deleted file mode 100644 index 486b4719058..00000000000 Binary files a/.yarn/cache/@lexical-rich-text-npm-0.43.0-b9c388a84c-89b5c3ef33.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-rich-text-npm-0.49.0-b89e07e791-2c3525f9bd.zip b/.yarn/cache/@lexical-rich-text-npm-0.49.0-b89e07e791-2c3525f9bd.zip new file mode 100644 index 00000000000..6bd9c425423 Binary files /dev/null and b/.yarn/cache/@lexical-rich-text-npm-0.49.0-b89e07e791-2c3525f9bd.zip differ diff --git a/.yarn/cache/@lexical-selection-npm-0.43.0-980812d4c4-20a0896ffe.zip b/.yarn/cache/@lexical-selection-npm-0.43.0-980812d4c4-20a0896ffe.zip deleted file mode 100644 index 0c852042e3e..00000000000 Binary files a/.yarn/cache/@lexical-selection-npm-0.43.0-980812d4c4-20a0896ffe.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-selection-npm-0.49.0-4019b41029-ecd0f37c31.zip b/.yarn/cache/@lexical-selection-npm-0.49.0-4019b41029-ecd0f37c31.zip new file mode 100644 index 00000000000..daa2aad2342 Binary files /dev/null and b/.yarn/cache/@lexical-selection-npm-0.49.0-4019b41029-ecd0f37c31.zip differ diff --git a/.yarn/cache/@lexical-table-npm-0.43.0-7dfaa8c3a5-0b5a658978.zip b/.yarn/cache/@lexical-table-npm-0.43.0-7dfaa8c3a5-0b5a658978.zip deleted file mode 100644 index 93f34c5450a..00000000000 Binary files a/.yarn/cache/@lexical-table-npm-0.43.0-7dfaa8c3a5-0b5a658978.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-table-npm-0.49.0-4c04caa756-f69bfad863.zip b/.yarn/cache/@lexical-table-npm-0.49.0-4c04caa756-f69bfad863.zip new file mode 100644 index 00000000000..39b29888144 Binary files /dev/null and b/.yarn/cache/@lexical-table-npm-0.49.0-4c04caa756-f69bfad863.zip differ diff --git a/.yarn/cache/@lexical-text-npm-0.43.0-129e0e395c-d767454053.zip b/.yarn/cache/@lexical-text-npm-0.43.0-129e0e395c-d767454053.zip deleted file mode 100644 index 194b1514ae5..00000000000 Binary files a/.yarn/cache/@lexical-text-npm-0.43.0-129e0e395c-d767454053.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-text-npm-0.49.0-2acb208a6d-1021f8cbc5.zip b/.yarn/cache/@lexical-text-npm-0.49.0-2acb208a6d-1021f8cbc5.zip new file mode 100644 index 00000000000..0de15cbb4e8 Binary files /dev/null and b/.yarn/cache/@lexical-text-npm-0.49.0-2acb208a6d-1021f8cbc5.zip differ diff --git a/.yarn/cache/@lexical-utils-npm-0.43.0-65a3f77e53-d16c043582.zip b/.yarn/cache/@lexical-utils-npm-0.43.0-65a3f77e53-d16c043582.zip deleted file mode 100644 index d88dadd69ea..00000000000 Binary files a/.yarn/cache/@lexical-utils-npm-0.43.0-65a3f77e53-d16c043582.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-utils-npm-0.49.0-e69825e288-96d636c867.zip b/.yarn/cache/@lexical-utils-npm-0.49.0-e69825e288-96d636c867.zip new file mode 100644 index 00000000000..4aaa2e76150 Binary files /dev/null and b/.yarn/cache/@lexical-utils-npm-0.49.0-e69825e288-96d636c867.zip differ diff --git a/.yarn/cache/@lexical-yjs-npm-0.43.0-d94172a7ca-b28f15eed2.zip b/.yarn/cache/@lexical-yjs-npm-0.43.0-d94172a7ca-b28f15eed2.zip deleted file mode 100644 index 0087c15fcd1..00000000000 Binary files a/.yarn/cache/@lexical-yjs-npm-0.43.0-d94172a7ca-b28f15eed2.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-yjs-npm-0.49.0-bbac713d38-994063af42.zip b/.yarn/cache/@lexical-yjs-npm-0.49.0-bbac713d38-994063af42.zip new file mode 100644 index 00000000000..ba07b8ef036 Binary files /dev/null and b/.yarn/cache/@lexical-yjs-npm-0.49.0-bbac713d38-994063af42.zip differ diff --git a/.yarn/cache/buffer-image-size-npm-0.6.4-a173b80f35-de18f469bf.zip b/.yarn/cache/buffer-image-size-npm-0.6.4-a173b80f35-de18f469bf.zip new file mode 100644 index 00000000000..4654f8acd5f Binary files /dev/null and b/.yarn/cache/buffer-image-size-npm-0.6.4-a173b80f35-de18f469bf.zip differ diff --git a/.yarn/cache/happy-dom-npm-20.9.0-480a4fb09e-6cc02c95c2.zip b/.yarn/cache/happy-dom-npm-20.11.15-887a1c4e58-cfa6bcef7f.zip similarity index 70% rename from .yarn/cache/happy-dom-npm-20.9.0-480a4fb09e-6cc02c95c2.zip rename to .yarn/cache/happy-dom-npm-20.11.15-887a1c4e58-cfa6bcef7f.zip index adc2f9ba69d..864eaea0c20 100644 Binary files a/.yarn/cache/happy-dom-npm-20.9.0-480a4fb09e-6cc02c95c2.zip and b/.yarn/cache/happy-dom-npm-20.11.15-887a1c4e58-cfa6bcef7f.zip differ diff --git a/.yarn/cache/lexical-npm-0.43.0-dec146ba14-0cb9b22669.zip b/.yarn/cache/lexical-npm-0.43.0-dec146ba14-0cb9b22669.zip deleted file mode 100644 index b620000aa6b..00000000000 Binary files a/.yarn/cache/lexical-npm-0.43.0-dec146ba14-0cb9b22669.zip and /dev/null differ diff --git a/.yarn/cache/lexical-npm-0.49.0-6df974c577-24a0b0cb3a.zip b/.yarn/cache/lexical-npm-0.49.0-6df974c577-24a0b0cb3a.zip new file mode 100644 index 00000000000..21eec4eb979 Binary files /dev/null and b/.yarn/cache/lexical-npm-0.49.0-6df974c577-24a0b0cb3a.zip differ diff --git a/.yarn/cache/react-error-boundary-npm-6.0.0-66eefd4679-d6807004d2.zip b/.yarn/cache/react-error-boundary-npm-6.0.0-66eefd4679-d6807004d2.zip deleted file mode 100644 index e1fa89c5b02..00000000000 Binary files a/.yarn/cache/react-error-boundary-npm-6.0.0-66eefd4679-d6807004d2.zip and /dev/null differ diff --git a/.yarn/cache/ws-npm-8.20.0-b8684d1fe3-2b31d24a53.zip b/.yarn/cache/ws-npm-8.20.0-b8684d1fe3-2b31d24a53.zip deleted file mode 100644 index 91066483088..00000000000 Binary files a/.yarn/cache/ws-npm-8.20.0-b8684d1fe3-2b31d24a53.zip and /dev/null differ diff --git a/.yarn/cache/ws-npm-8.21.3-63c47e1f60-8a28a457a9.zip b/.yarn/cache/ws-npm-8.21.3-63c47e1f60-8a28a457a9.zip new file mode 100644 index 00000000000..f50aeab0a3c Binary files /dev/null and b/.yarn/cache/ws-npm-8.21.3-63c47e1f60-8a28a457a9.zip differ diff --git a/package.json b/package.json index 1662e82644a..f77bea9f25e 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,9 @@ "@types/react-native-vector-icons/@types/react": "17.0.2", "@types/react-native/@types/react": "17.0.2", "@types/hoist-non-react-statics/@types/react": "17.0.2", - "node-abi": "^4.2.0" + "node-abi": "^4.2.0", + "@typescript-eslint/eslint-plugin": "8.32.1", + "@typescript-eslint/parser": "8.32.1" }, "dependencies": { "@standardnotes/snjs": "workspace:*" @@ -61,11 +63,11 @@ "@lerna-lite/run": "^4.10.5", "@lerna-lite/version": "^4.10.5", "@standardnotes/config": "^2.4.3", - "@typescript-eslint/eslint-plugin": "^6.2.0", - "@typescript-eslint/parser": "^6.2.0", + "@typescript-eslint/eslint-plugin": "^8.32.0", + "@typescript-eslint/parser": "^8.32.0", "changelog-parser": "^2.8.1", "css-loader": "^6.8.1", - "eslint": "^8.45.0", + "eslint": "^8.57.0", "eslint-plugin-prettier": "^5.0.0", "lint-staged": "^13.2.3", "npm-check-updates": "^16.10.17", diff --git a/packages/api/package.json b/packages/api/package.json index 8d803f201fa..cd4aab7ba56 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -32,7 +32,7 @@ "eslint-plugin-prettier": "*", "jest": "^29.3.1", "ts-jest": "^29.0.3", - "typescript": "*" + "typescript": "5.8.3" }, "dependencies": { "@standardnotes/common": "^1.50.0", diff --git a/packages/api/src/Domain/Client/Auth/AuthApiService.ts b/packages/api/src/Domain/Client/Auth/AuthApiService.ts index 00033762ca1..8ebcbc99fff 100644 --- a/packages/api/src/Domain/Client/Auth/AuthApiService.ts +++ b/packages/api/src/Domain/Client/Auth/AuthApiService.ts @@ -37,7 +37,7 @@ export class AuthApiService implements AuthApiServiceInterface { }) return response - } catch (error) { + } catch { throw new ApiCallError(ErrorMessage.GenericFail) } finally { this.operationsInProgress.set(AuthApiOperations.GenerateRecoveryCodes, false) @@ -64,7 +64,7 @@ export class AuthApiService implements AuthApiServiceInterface { }) return response - } catch (error) { + } catch { throw new ApiCallError(ErrorMessage.GenericFail) } finally { this.operationsInProgress.set(AuthApiOperations.GetRecoveryKeyParams, false) @@ -95,7 +95,7 @@ export class AuthApiService implements AuthApiServiceInterface { }) return response - } catch (error) { + } catch { throw new ApiCallError(ErrorMessage.GenericFail) } finally { this.operationsInProgress.set(AuthApiOperations.SignInWithRecoveryCodes, false) diff --git a/packages/api/src/Domain/Client/Authenticator/AuthenticatorApiService.ts b/packages/api/src/Domain/Client/Authenticator/AuthenticatorApiService.ts index 902886bddcd..43aeb54a097 100644 --- a/packages/api/src/Domain/Client/Authenticator/AuthenticatorApiService.ts +++ b/packages/api/src/Domain/Client/Authenticator/AuthenticatorApiService.ts @@ -31,7 +31,7 @@ export class AuthenticatorApiService implements AuthenticatorApiServiceInterface const response = await this.authenticatorServer.list({}) return response - } catch (error) { + } catch { throw new ApiCallError(ErrorMessage.GenericFail) } finally { this.operationsInProgress.set(AuthenticatorApiOperations.List, false) @@ -51,7 +51,7 @@ export class AuthenticatorApiService implements AuthenticatorApiServiceInterface }) return response - } catch (error) { + } catch { throw new ApiCallError(ErrorMessage.GenericFail) } finally { this.operationsInProgress.set(AuthenticatorApiOperations.Delete, false) @@ -69,7 +69,7 @@ export class AuthenticatorApiService implements AuthenticatorApiServiceInterface const response = await this.authenticatorServer.generateRegistrationOptions() return response - } catch (error) { + } catch { throw new ApiCallError(ErrorMessage.GenericFail) } finally { this.operationsInProgress.set(AuthenticatorApiOperations.GenerateRegistrationOptions, false) @@ -95,7 +95,7 @@ export class AuthenticatorApiService implements AuthenticatorApiServiceInterface }) return response - } catch (error) { + } catch { throw new ApiCallError(ErrorMessage.GenericFail) } finally { this.operationsInProgress.set(AuthenticatorApiOperations.VerifyRegistrationResponse, false) @@ -117,7 +117,7 @@ export class AuthenticatorApiService implements AuthenticatorApiServiceInterface }) return response - } catch (error) { + } catch { throw new ApiCallError(ErrorMessage.GenericFail) } finally { this.operationsInProgress.set(AuthenticatorApiOperations.GenerateAuthenticationOptions, false) diff --git a/packages/api/src/Domain/Client/Revision/RevisionApiService.ts b/packages/api/src/Domain/Client/Revision/RevisionApiService.ts index 48dcd025c64..b139a32bf03 100644 --- a/packages/api/src/Domain/Client/Revision/RevisionApiService.ts +++ b/packages/api/src/Domain/Client/Revision/RevisionApiService.ts @@ -29,7 +29,7 @@ export class RevisionApiService implements RevisionApiServiceInterface { }) return response - } catch (error) { + } catch { throw new ApiCallError(ErrorMessage.GenericFail) } finally { this.operationsInProgress.set(RevisionApiOperations.List, false) @@ -50,7 +50,7 @@ export class RevisionApiService implements RevisionApiServiceInterface { }) return response - } catch (error) { + } catch { throw new ApiCallError(ErrorMessage.GenericFail) } finally { this.operationsInProgress.set(RevisionApiOperations.Get, false) @@ -71,7 +71,7 @@ export class RevisionApiService implements RevisionApiServiceInterface { }) return response - } catch (error) { + } catch { throw new ApiCallError(ErrorMessage.GenericFail) } finally { this.operationsInProgress.set(RevisionApiOperations.Delete, false) diff --git a/packages/api/src/Domain/Client/Subscription/SubscriptionApiService.ts b/packages/api/src/Domain/Client/Subscription/SubscriptionApiService.ts index 32c59cfe19b..1439baa628c 100644 --- a/packages/api/src/Domain/Client/Subscription/SubscriptionApiService.ts +++ b/packages/api/src/Domain/Client/Subscription/SubscriptionApiService.ts @@ -43,7 +43,7 @@ export class SubscriptionApiService implements SubscriptionApiServiceInterface { }) return response - } catch (error) { + } catch { throw new ApiCallError(ErrorMessage.GenericFail) } finally { this.operationsInProgress.set(SubscriptionApiOperations.ListingInvites, false) @@ -64,7 +64,7 @@ export class SubscriptionApiService implements SubscriptionApiServiceInterface { }) return response - } catch (error) { + } catch { throw new ApiCallError(ErrorMessage.GenericFail) } finally { this.operationsInProgress.set(SubscriptionApiOperations.CancelingInvite, false) @@ -85,7 +85,7 @@ export class SubscriptionApiService implements SubscriptionApiServiceInterface { }) return response - } catch (error) { + } catch { throw new ApiCallError(ErrorMessage.GenericFail) } finally { this.operationsInProgress.set(SubscriptionApiOperations.Inviting, false) @@ -105,7 +105,7 @@ export class SubscriptionApiService implements SubscriptionApiServiceInterface { }) return response - } catch (error) { + } catch { throw new ApiCallError(ErrorMessage.GenericFail) } finally { this.operationsInProgress.set(SubscriptionApiOperations.AcceptingInvite, false) diff --git a/packages/api/src/Domain/Client/User/UserApiService.ts b/packages/api/src/Domain/Client/User/UserApiService.ts index 894fee7a209..db87a274b90 100644 --- a/packages/api/src/Domain/Client/User/UserApiService.ts +++ b/packages/api/src/Domain/Client/User/UserApiService.ts @@ -44,7 +44,7 @@ export class UserApiService implements UserApiServiceInterface { this.unlockOperation(UserApiOperations.DeletingAccount) return response - } catch (error) { + } catch { throw new ApiCallError(ErrorMessage.GenericFail) } } @@ -64,7 +64,7 @@ export class UserApiService implements UserApiServiceInterface { this.unlockOperation(UserApiOperations.SubmittingRequest) return response - } catch (error) { + } catch { throw new ApiCallError(ErrorMessage.GenericFail) } } @@ -91,7 +91,7 @@ export class UserApiService implements UserApiServiceInterface { this.unlockOperation(UserApiOperations.Registering) return response - } catch (error) { + } catch { throw new ApiCallError(ErrorMessage.GenericRegistrationFail) } } @@ -108,7 +108,7 @@ export class UserApiService implements UserApiServiceInterface { this.unlockOperation(UserApiOperations.UpdatingUser) return response - } catch (error) { + } catch { throw new ApiCallError(ErrorMessage.GenericFail) } } diff --git a/packages/api/src/Domain/Client/WebSocket/WebSocketApiService.ts b/packages/api/src/Domain/Client/WebSocket/WebSocketApiService.ts index 49cad332ad1..3b194e4fb02 100644 --- a/packages/api/src/Domain/Client/WebSocket/WebSocketApiService.ts +++ b/packages/api/src/Domain/Client/WebSocket/WebSocketApiService.ts @@ -27,7 +27,7 @@ export class WebSocketApiService implements WebSocketApiServiceInterface { this.operationsInProgress.set(WebSocketApiOperations.CreatingConnectionToken, false) return response - } catch (error) { + } catch { throw new ApiCallError(ErrorMessage.GenericFail) } } diff --git a/packages/api/src/Domain/Request/AsymmetricMessage/GetOutboundAsymmetricMessagesRequestParams.ts b/packages/api/src/Domain/Request/AsymmetricMessage/GetOutboundAsymmetricMessagesRequestParams.ts index 3ccd1dbce7c..e1ee8696b99 100644 --- a/packages/api/src/Domain/Request/AsymmetricMessage/GetOutboundAsymmetricMessagesRequestParams.ts +++ b/packages/api/src/Domain/Request/AsymmetricMessage/GetOutboundAsymmetricMessagesRequestParams.ts @@ -1,2 +1 @@ -// eslint-disable-next-line @typescript-eslint/ban-types -export type GetOutboundAsymmetricMessagesRequestParams = {} +export type GetOutboundAsymmetricMessagesRequestParams = Record diff --git a/packages/api/src/Domain/Request/AsymmetricMessage/GetUserAsymmetricMessagesRequestParams.ts b/packages/api/src/Domain/Request/AsymmetricMessage/GetUserAsymmetricMessagesRequestParams.ts index da4d3f81305..5171abd605b 100644 --- a/packages/api/src/Domain/Request/AsymmetricMessage/GetUserAsymmetricMessagesRequestParams.ts +++ b/packages/api/src/Domain/Request/AsymmetricMessage/GetUserAsymmetricMessagesRequestParams.ts @@ -1,2 +1 @@ -// eslint-disable-next-line @typescript-eslint/ban-types -export type GetUserAsymmetricMessagesRequestParams = {} +export type GetUserAsymmetricMessagesRequestParams = Record diff --git a/packages/api/src/Domain/Request/SharedVaultInvites/GetOutboundUserInvitesRequestParams.ts b/packages/api/src/Domain/Request/SharedVaultInvites/GetOutboundUserInvitesRequestParams.ts index 202488dffdc..00c833ac4d2 100644 --- a/packages/api/src/Domain/Request/SharedVaultInvites/GetOutboundUserInvitesRequestParams.ts +++ b/packages/api/src/Domain/Request/SharedVaultInvites/GetOutboundUserInvitesRequestParams.ts @@ -1,2 +1 @@ -// eslint-disable-next-line @typescript-eslint/ban-types -export type GetOutboundUserInvitesRequestParams = {} +export type GetOutboundUserInvitesRequestParams = Record diff --git a/packages/api/src/Domain/Request/SharedVaultInvites/GetUserInvitesRequestParams.ts b/packages/api/src/Domain/Request/SharedVaultInvites/GetUserInvitesRequestParams.ts index 1b5d0006762..2213b4fdaf0 100644 --- a/packages/api/src/Domain/Request/SharedVaultInvites/GetUserInvitesRequestParams.ts +++ b/packages/api/src/Domain/Request/SharedVaultInvites/GetUserInvitesRequestParams.ts @@ -1,2 +1 @@ -// eslint-disable-next-line @typescript-eslint/ban-types -export type GetUserInvitesRequestParams = {} +export type GetUserInvitesRequestParams = Record diff --git a/packages/clipper/package.json b/packages/clipper/package.json index 9381d4d4ffc..054b87f164e 100644 --- a/packages/clipper/package.json +++ b/packages/clipper/package.json @@ -26,7 +26,7 @@ "eslint": "*", "eslint-config-prettier": "^8.9.0", "ts-loader": "^9.4.2", - "typescript": "*", + "typescript": "5.8.3", "web-ext": "^7.5.0", "webextension-polyfill": "^0.10.0", "webpack": "*" diff --git a/packages/desktop/.eslintrc.js b/packages/desktop/.eslintrc.js index 8bb71b66ada..ca3a09e00cb 100644 --- a/packages/desktop/.eslintrc.js +++ b/packages/desktop/.eslintrc.js @@ -9,6 +9,7 @@ module.exports = { rules: { 'no-console': ['warn', { allow: ['warn', 'error'] }], '@typescript-eslint/no-var-requires': 'off', + '@typescript-eslint/no-require-imports': 'off', }, globals: { zip: true, diff --git a/packages/desktop/app/index.ts b/packages/desktop/app/index.ts index e5779e7b268..a9be6c08fb0 100644 --- a/packages/desktop/app/index.ts +++ b/packages/desktop/app/index.ts @@ -27,7 +27,7 @@ if (userDataPathIndex > 0) { /** Make sure the path is actually a writeable folder */ try { fs.closeSync(fs.openSync(path.join(userDataPath, 'sn-test-file'), 'w')) - } catch (e) { + } catch { console.error('Failed to write to provided user data path. Aborting') app.exit(1) } diff --git a/packages/desktop/app/javascripts/Main/File/FilesManager.ts b/packages/desktop/app/javascripts/Main/File/FilesManager.ts index 758d7b5e20c..b3ac0a2c31d 100644 --- a/packages/desktop/app/javascripts/Main/File/FilesManager.ts +++ b/packages/desktop/app/javascripts/Main/File/FilesManager.ts @@ -43,7 +43,7 @@ export class FilesManager implements FilesManagerInterface { try { const data = await fs.promises.readFile(filepath, 'utf8') return JSON.parse(data) - } catch (error) { + } catch { return undefined } } @@ -286,7 +286,7 @@ export class FilesManager implements FilesManagerInterface { async moveFile(source: PathLike, destination: PathLike): Promise { try { await fs.promises.rename(source, destination) - } catch (_error) { + } catch { /** Fall back to copying and then deleting. */ await fs.promises.copyFile(source, destination, fs.constants.COPYFILE_FICLONE_FORCE) await fs.promises.unlink(source) diff --git a/packages/desktop/app/javascripts/Main/Keychain/Keychain.ts b/packages/desktop/app/javascripts/Main/Keychain/Keychain.ts index c1289b90671..fb2e014e11a 100644 --- a/packages/desktop/app/javascripts/Main/Keychain/Keychain.ts +++ b/packages/desktop/app/javascripts/Main/Keychain/Keychain.ts @@ -27,7 +27,7 @@ async function ensureKeychainAccess(store: Store): Promise(url: string): Promise { try { const parsed = JSON.parse(data) resolve(parsed) - } catch (error) { + } catch { resolve(undefined) } }) diff --git a/packages/desktop/app/javascripts/Main/Types/Paths.ts b/packages/desktop/app/javascripts/Main/Types/Paths.ts index 5a7a5715c2a..f2d226ff217 100644 --- a/packages/desktop/app/javascripts/Main/Types/Paths.ts +++ b/packages/desktop/app/javascripts/Main/Types/Paths.ts @@ -39,14 +39,14 @@ export const Paths = { get homeDir(): string | undefined { try { return app.getPath('home') - } catch (error) { + } catch { return undefined } }, get documentsDir(): string | undefined { try { return app.getPath('documents') - } catch (error) { + } catch { return undefined } }, diff --git a/packages/desktop/app/javascripts/Main/Window.ts b/packages/desktop/app/javascripts/Main/Window.ts index 79b53223438..89e3c7ad472 100644 --- a/packages/desktop/app/javascripts/Main/Window.ts +++ b/packages/desktop/app/javascripts/Main/Window.ts @@ -260,7 +260,7 @@ function fileUrlsAreEqual(a: string, b: string): boolean { bPath = lowercaseDriveLetter(bPath) } return aPath === bPath - } catch (error) { + } catch { return false } } @@ -275,7 +275,7 @@ async function getPreviousWindowPosition() { let position: WindowPosition try { position = JSON.parse(await fs.promises.readFile(path.join(Paths.userDataDir, 'window-position.json'), 'utf8')) - } catch (e) { + } catch { return { bounds: { width: WINDOW_DEFAULT_WIDTH, diff --git a/packages/desktop/package.json b/packages/desktop/package.json index 197d36c907b..55e6609d045 100644 --- a/packages/desktop/package.json +++ b/packages/desktop/package.json @@ -83,7 +83,7 @@ "terser-webpack-plugin": "^5.3.6", "ts-loader": "^9.4.1", "ts-node": "^10.9.1", - "typescript": "*", + "typescript": "5.8.3", "webpack": "*", "webpack-merge": "*" }, diff --git a/packages/encryption/package.json b/packages/encryption/package.json index 771791c8ae5..7657783d5ac 100644 --- a/packages/encryption/package.json +++ b/packages/encryption/package.json @@ -25,7 +25,7 @@ "jest": "^29.3.1", "prettier": "*", "ts-jest": "^29.0.3", - "typescript": "*" + "typescript": "5.8.3" }, "dependencies": { "@standardnotes/common": "^1.50.0", diff --git a/packages/encryption/src/Domain/Operator/004/UseCase/Asymmetric/AsymmetricDecrypt.ts b/packages/encryption/src/Domain/Operator/004/UseCase/Asymmetric/AsymmetricDecrypt.ts index 3899b8eabe6..e7b80e33ef5 100644 --- a/packages/encryption/src/Domain/Operator/004/UseCase/Asymmetric/AsymmetricDecrypt.ts +++ b/packages/encryption/src/Domain/Operator/004/UseCase/Asymmetric/AsymmetricDecrypt.ts @@ -41,7 +41,7 @@ export class AsymmetricDecrypt004 { signaturePublicKey: additionalData.signingData.publicKey, senderPublicKey: additionalData.senderPublicKey, } - } catch (error) { + } catch { return null } } diff --git a/packages/encryption/src/Domain/Operator/004/UseCase/Asymmetric/AsymmetricDecryptOwnMessage.ts b/packages/encryption/src/Domain/Operator/004/UseCase/Asymmetric/AsymmetricDecryptOwnMessage.ts index 27838e9aa07..73219950f88 100644 --- a/packages/encryption/src/Domain/Operator/004/UseCase/Asymmetric/AsymmetricDecryptOwnMessage.ts +++ b/packages/encryption/src/Domain/Operator/004/UseCase/Asymmetric/AsymmetricDecryptOwnMessage.ts @@ -44,7 +44,7 @@ export class AsymmetricDecryptOwnMessage004 implements SyncUseCaseInterface { let selectedFilesHandles: FileSystemFileHandle[] try { selectedFilesHandles = await window.showOpenFilePicker({ multiple: true }) - } catch (error) { + } catch { selectedFilesHandles = [] } return getFilesFromHandles(selectedFilesHandles) diff --git a/packages/files/package.json b/packages/files/package.json index 612b212cd87..563915f5aa1 100644 --- a/packages/files/package.json +++ b/packages/files/package.json @@ -25,7 +25,7 @@ "eslint-plugin-prettier": "*", "jest": "^29.3.1", "ts-jest": "^29.0.3", - "typescript": "*" + "typescript": "5.8.3" }, "dependencies": { "@standardnotes/common": "^1.50.0", diff --git a/packages/icons/package.json b/packages/icons/package.json index 7c6abdca15c..b486a1b8142 100644 --- a/packages/icons/package.json +++ b/packages/icons/package.json @@ -26,7 +26,7 @@ "react-dom": "^18.2.0", "ts-jest": "^29.0.3", "ts-loader": "^9.4.1", - "typescript": "*", + "typescript": "5.8.3", "webpack": "*", "webpack-cli": "*", "webpack-dev-server": "*" diff --git a/packages/mobile/package.json b/packages/mobile/package.json index 47cdbae2997..72ecdb4c281 100644 --- a/packages/mobile/package.json +++ b/packages/mobile/package.json @@ -70,7 +70,7 @@ "react-native-share": "^12.0.9", "react-native-version-info": "^1.1.1", "react-native-webview": "13.13.5", - "typescript": "*" + "typescript": "5.8.3" }, "engines": { "node": ">=16" diff --git a/packages/mobile/src/Lib/Database/Database.ts b/packages/mobile/src/Lib/Database/Database.ts index 35f1d1f5689..96073aee42c 100644 --- a/packages/mobile/src/Lib/Database/Database.ts +++ b/packages/mobile/src/Lib/Database/Database.ts @@ -141,7 +141,7 @@ export class Database implements DatabaseInterface { if (item) { try { results.push(JSON.parse(item) as T) - } catch (e) { + } catch { results.push(item as T) } } @@ -159,7 +159,7 @@ export class Database implements DatabaseInterface { if (item[1]) { try { results.push(JSON.parse(item[1])) - } catch (e) { + } catch { results.push(item[1] as T) } } diff --git a/packages/mobile/src/Lib/Database/FlashKeyValueStore.ts b/packages/mobile/src/Lib/Database/FlashKeyValueStore.ts index f0e6afc1afc..d1bff4d6f4d 100644 --- a/packages/mobile/src/Lib/Database/FlashKeyValueStore.ts +++ b/packages/mobile/src/Lib/Database/FlashKeyValueStore.ts @@ -28,7 +28,7 @@ export class FlashKeyValueStore { if (item) { try { return JSON.parse(item) - } catch (e) { + } catch { return item as T } } diff --git a/packages/mobile/src/Lib/Database/LegacyKeyValueStore.ts b/packages/mobile/src/Lib/Database/LegacyKeyValueStore.ts index 71819e2df4c..1d025c53518 100644 --- a/packages/mobile/src/Lib/Database/LegacyKeyValueStore.ts +++ b/packages/mobile/src/Lib/Database/LegacyKeyValueStore.ts @@ -18,7 +18,7 @@ export class LegacyKeyValueStore { if (item) { try { return JSON.parse(item) - } catch (e) { + } catch { return item as T } } diff --git a/packages/mobile/src/Lib/MobileDevice.ts b/packages/mobile/src/Lib/MobileDevice.ts index 29d9c75a23f..46bf741d54a 100644 --- a/packages/mobile/src/Lib/MobileDevice.ts +++ b/packages/mobile/src/Lib/MobileDevice.ts @@ -190,7 +190,7 @@ export class MobileDevice implements MobileDeviceInterface { } try { return JSON.parse(value) - } catch (e) { + } catch { return value } } @@ -252,7 +252,7 @@ export class MobileDevice implements MobileDeviceInterface { try { await FingerprintScanner.isSensorAvailable() return true - } catch (e) { + } catch { return false } } @@ -380,7 +380,11 @@ export class MobileDevice implements MobileDeviceInterface { setAndroidScreenshotPrivacy(enable: boolean): void { if (Platform.OS === 'android') { - enable ? FlagSecure.activate() : FlagSecure.deactivate() + if (enable) { + FlagSecure.activate() + } else { + FlagSecure.deactivate() + } } } diff --git a/packages/mobile/src/MobileWebAppContainer.tsx b/packages/mobile/src/MobileWebAppContainer.tsx index 25560ce0d6f..c6253f3ae00 100644 --- a/packages/mobile/src/MobileWebAppContainer.tsx +++ b/packages/mobile/src/MobileWebAppContainer.tsx @@ -345,7 +345,7 @@ const MobileWebAppContents = ({ destroyAndReload }: { destroyAndReload: () => vo try { const functionData = JSON.parse(message) void onFunctionMessage(functionData.functionName, functionData.messageId, functionData.args) - } catch (error) { + } catch { if (LoggingEnabled) { // eslint-disable-next-line no-console console.log('onGeneralMessage', JSON.stringify(message)) diff --git a/packages/models/package.json b/packages/models/package.json index 2774bb93b63..05bfcef4ab0 100644 --- a/packages/models/package.json +++ b/packages/models/package.json @@ -37,6 +37,6 @@ "jest": "^29.3.1", "reflect-metadata": "^0.1.13", "ts-jest": "^29.0.3", - "typescript": "*" + "typescript": "5.8.3" } } diff --git a/packages/models/src/Domain/Abstract/Content/ItemContent.ts b/packages/models/src/Domain/Abstract/Content/ItemContent.ts index 0179b055a33..f87abe8f308 100644 --- a/packages/models/src/Domain/Abstract/Content/ItemContent.ts +++ b/packages/models/src/Domain/Abstract/Content/ItemContent.ts @@ -2,7 +2,7 @@ import { AppData, DefaultAppDomain } from '../Item/Types/DefaultAppDomain' import { ContentReference } from '../Reference/ContentReference' import { AppDataField } from '../Item/Types/AppDataField' -// eslint-disable-next-line @typescript-eslint/no-empty-interface +// eslint-disable-next-line @typescript-eslint/no-empty-object-type export interface SpecializedContent {} export interface ItemContent { diff --git a/packages/models/src/Domain/Syncable/KeySystemItemsKey/KeySystemItemsKeyMutatorInterface.ts b/packages/models/src/Domain/Syncable/KeySystemItemsKey/KeySystemItemsKeyMutatorInterface.ts index 7e3c9041edb..873bbf7127a 100644 --- a/packages/models/src/Domain/Syncable/KeySystemItemsKey/KeySystemItemsKeyMutatorInterface.ts +++ b/packages/models/src/Domain/Syncable/KeySystemItemsKey/KeySystemItemsKeyMutatorInterface.ts @@ -1,4 +1,3 @@ import { DecryptedItemMutator } from '../../Abstract/Item/Mutator/DecryptedItemMutator' -// eslint-disable-next-line @typescript-eslint/no-empty-interface -export interface KeySystemItemsKeyMutatorInterface extends DecryptedItemMutator {} +export type KeySystemItemsKeyMutatorInterface = DecryptedItemMutator diff --git a/packages/releases/package.json b/packages/releases/package.json index 7c4753f9b42..c076d79d753 100644 --- a/packages/releases/package.json +++ b/packages/releases/package.json @@ -26,6 +26,6 @@ "@standardnotes/mobile": "workspace:*", "@standardnotes/web": "workspace:*", "@types/node": "*", - "typescript": "*" + "typescript": "5.8.3" } } diff --git a/packages/responses/package.json b/packages/responses/package.json index 4c1a57bdaf6..060ec03457e 100644 --- a/packages/responses/package.json +++ b/packages/responses/package.json @@ -30,7 +30,7 @@ "eslint-plugin-prettier": "*", "jest": "^29.3.1", "ts-jest": "^29.0.3", - "typescript": "*" + "typescript": "5.8.3" }, "dependencies": { "@standardnotes/common": "^1.50.0", diff --git a/packages/services/package.json b/packages/services/package.json index 8a201023481..ce71fac03bb 100644 --- a/packages/services/package.json +++ b/packages/services/package.json @@ -38,6 +38,6 @@ "eslint-plugin-prettier": "*", "jest": "^29.3.1", "ts-jest": "^29.0.3", - "typescript": "*" + "typescript": "5.8.3" } } diff --git a/packages/services/src/Domain/Api/WebsocketsService.ts b/packages/services/src/Domain/Api/WebsocketsService.ts index d3146ac01f2..ccfd0238050 100644 --- a/packages/services/src/Domain/Api/WebsocketsService.ts +++ b/packages/services/src/Domain/Api/WebsocketsService.ts @@ -13,7 +13,7 @@ export class WebSocketsService extends AbstractService constructor( private storageService: StorageServiceInterface, diff --git a/packages/services/src/Domain/AsymmetricMessage/AsymmetricMessageService.spec.ts b/packages/services/src/Domain/AsymmetricMessage/AsymmetricMessageService.spec.ts index 5a58eef58e3..6f1688c9f66 100644 --- a/packages/services/src/Domain/AsymmetricMessage/AsymmetricMessageService.spec.ts +++ b/packages/services/src/Domain/AsymmetricMessage/AsymmetricMessageService.spec.ts @@ -57,6 +57,8 @@ describe('AsymmetricMessageService', () => { mutator = {} as jest.Mocked mutator.changeItem = jest.fn() + sessions = {} as jest.Mocked + const eventBus = {} as jest.Mocked eventBus.addEventHandler = jest.fn() diff --git a/packages/services/src/Domain/Auth/AuthManager.ts b/packages/services/src/Domain/Auth/AuthManager.ts index 1d3784f15a0..4ab38112ef7 100644 --- a/packages/services/src/Domain/Auth/AuthManager.ts +++ b/packages/services/src/Domain/Auth/AuthManager.ts @@ -23,7 +23,7 @@ export class AuthManager extends AbstractService implements AuthClientInterface } return result.data.recoveryCodes - } catch (error) { + } catch { return false } } @@ -40,7 +40,7 @@ export class AuthManager extends AbstractService implements AuthClientInterface } return result.data.keyParams as AnyKeyParamsContent - } catch (error) { + } catch { return false } } @@ -73,7 +73,7 @@ export class AuthManager extends AbstractService implements AuthClientInterface session: result.data.session, user: result.data.user, } - } catch (error) { + } catch { return { success: false, captchaURL: '', diff --git a/packages/services/src/Domain/Authenticator/AuthenticatorManager.ts b/packages/services/src/Domain/Authenticator/AuthenticatorManager.ts index a16a45c856e..340498b1230 100644 --- a/packages/services/src/Domain/Authenticator/AuthenticatorManager.ts +++ b/packages/services/src/Domain/Authenticator/AuthenticatorManager.ts @@ -39,7 +39,7 @@ export class AuthenticatorManager extends AbstractService implements Authenticat ) return nameDecoratedAuthenticators - } catch (error) { + } catch { return [] } } @@ -57,7 +57,7 @@ export class AuthenticatorManager extends AbstractService implements Authenticat await this.preferencesService.setValue(PrefKey.AuthenticatorNames, JSON.stringify([...authenticatorNames])) return true - } catch (error) { + } catch { return false } } @@ -71,7 +71,7 @@ export class AuthenticatorManager extends AbstractService implements Authenticat } return result.data.options - } catch (error) { + } catch { return null } } @@ -98,7 +98,7 @@ export class AuthenticatorManager extends AbstractService implements Authenticat await this.preferencesService.setValue(PrefKey.AuthenticatorNames, JSON.stringify([...authenticatorNames])) return true - } catch (error) { + } catch { return false } } @@ -112,7 +112,7 @@ export class AuthenticatorManager extends AbstractService implements Authenticat } return result.data.options - } catch (error) { + } catch { return null } } @@ -123,7 +123,7 @@ export class AuthenticatorManager extends AbstractService implements Authenticat if (authenticatorNamesFromPreferences !== undefined) { try { authenticatorNames = new Map(JSON.parse(authenticatorNamesFromPreferences)) - } catch (error) { + } catch { authenticatorNames = new Map() } } diff --git a/packages/services/src/Domain/Import/DecryptBackupFile.ts b/packages/services/src/Domain/Import/DecryptBackupFile.ts index 49c666e9962..6fd7eb51f0d 100644 --- a/packages/services/src/Domain/Import/DecryptBackupFile.ts +++ b/packages/services/src/Domain/Import/DecryptBackupFile.ts @@ -111,7 +111,7 @@ export class DecryptBackupFile implements UseCaseInterface<(EncryptedPayloadInte rootKeyBasedDecryptionResults .filter((x) => isItemsKey(x) || isKeySystemRootKey(x)) .filter(isDecryptedPayload) - .map((p) => CreateDecryptedItemFromPayload(p)) + .map((p) => CreateDecryptedItemFromPayload(p as DecryptedPayloadInterface)) /** * Now handle encrypted keySystemRootKeyEncryption items (vault items keys). For every encrypted vault items key diff --git a/packages/services/src/Domain/Preferences/PreferenceId.ts b/packages/services/src/Domain/Preferences/PreferenceId.ts index 2ef5905d897..0e8daf15df8 100644 --- a/packages/services/src/Domain/Preferences/PreferenceId.ts +++ b/packages/services/src/Domain/Preferences/PreferenceId.ts @@ -1,18 +1,15 @@ -const PREFERENCE_PANE_IDS = [ - 'general', - 'account', - 'security', - 'home-server', - 'vaults', - 'appearance', - 'backups', - 'listed', - 'plugins', - 'shortcuts', - 'accessibility', - 'get-free-month', - 'help-feedback', - 'whats-new', -] as const - -export type PreferencePaneId = (typeof PREFERENCE_PANE_IDS)[number] +export type PreferencePaneId = + | 'general' + | 'account' + | 'security' + | 'home-server' + | 'vaults' + | 'appearance' + | 'backups' + | 'listed' + | 'plugins' + | 'shortcuts' + | 'accessibility' + | 'get-free-month' + | 'help-feedback' + | 'whats-new' diff --git a/packages/services/src/Domain/Subscription/SubscriptionManager.ts b/packages/services/src/Domain/Subscription/SubscriptionManager.ts index f44f260464d..10d56f5a394 100644 --- a/packages/services/src/Domain/Subscription/SubscriptionManager.ts +++ b/packages/services/src/Domain/Subscription/SubscriptionManager.ts @@ -142,7 +142,7 @@ export class SubscriptionManager } return result.data - } catch (error) { + } catch { return { success: false, message: c('B7.FilesSubscriptionHelp.Subscription.Error').t`Could not accept invitation.`, @@ -159,7 +159,7 @@ export class SubscriptionManager } return result.data.invitations ?? [] - } catch (error) { + } catch { return [] } } @@ -173,7 +173,7 @@ export class SubscriptionManager } return result.data.success === true - } catch (error) { + } catch { return false } } @@ -187,7 +187,7 @@ export class SubscriptionManager } return result.data.success === true - } catch (error) { + } catch { return false } } @@ -249,7 +249,7 @@ export class SubscriptionManager } return result.data - } catch (error) { + } catch { return { success: false, message: c('B7.FilesSubscriptionHelp.Subscription.Error').t`Could not confirm IAP.` } } } diff --git a/packages/services/src/Domain/UseCase/IsApplicationUsingThirdPartyHost.ts b/packages/services/src/Domain/UseCase/IsApplicationUsingThirdPartyHost.ts index 256bd3d90fe..5e28fe7ebec 100644 --- a/packages/services/src/Domain/UseCase/IsApplicationUsingThirdPartyHost.ts +++ b/packages/services/src/Domain/UseCase/IsApplicationUsingThirdPartyHost.ts @@ -24,7 +24,7 @@ export class IsApplicationUsingThirdPartyHost implements SyncUseCaseInterface { userApiService = {} as jest.Mocked + reencryptTypeAItems = {} as jest.Mocked + decryptErroredPayloads = {} as jest.Mocked + internalEventBus = {} as jest.Mocked }) diff --git a/packages/services/src/Domain/User/UserService.ts b/packages/services/src/Domain/User/UserService.ts index 93d0a106dbe..26e1bec840f 100644 --- a/packages/services/src/Domain/User/UserService.ts +++ b/packages/services/src/Domain/User/UserService.ts @@ -286,7 +286,7 @@ export class UserService } return result.data.success - } catch (error) { + } catch { return false } } diff --git a/packages/sncrypto-common/package.json b/packages/sncrypto-common/package.json index 9c7a0d7ab24..0cc49a7b58a 100644 --- a/packages/sncrypto-common/package.json +++ b/packages/sncrypto-common/package.json @@ -28,7 +28,7 @@ "@typescript-eslint/parser": "*", "eslint": "*", "eslint-plugin-prettier": "*", - "typescript": "*" + "typescript": "5.8.3" }, "dependencies": { "reflect-metadata": "^0.1.13" diff --git a/packages/sncrypto-web/package.json b/packages/sncrypto-web/package.json index ddfd9d0847e..fa37f92af87 100644 --- a/packages/sncrypto-web/package.json +++ b/packages/sncrypto-web/package.json @@ -37,7 +37,7 @@ "@types/libsodium-wrappers": "0.7.10", "@types/node": "^18.11.9", "@types/uuid": "^8.3.4", - "@typescript-eslint/eslint-plugin": "^5.43.0", + "@typescript-eslint/eslint-plugin": "*", "babel-loader": "^9.1.0", "chai": "^4.3.7", "connect": "^3.7.0", @@ -47,7 +47,7 @@ "serve-static": "^1.15.0", "ts-loader": "^9.4.1", "typedarray-to-buffer": "^4.0.0", - "typescript": "*", + "typescript": "5.1.6", "uuid": "^9.0.0", "webpack": "*", "webpack-cli": "*" diff --git a/packages/sncrypto-web/src/utils.ts b/packages/sncrypto-web/src/utils.ts index 5dc0ac756aa..d2ac49ecf96 100644 --- a/packages/sncrypto-web/src/utils.ts +++ b/packages/sncrypto-web/src/utils.ts @@ -1,6 +1,5 @@ /* eslint-disable camelcase */ import { base64_variants, from_base64, from_hex, from_string, to_base64, to_hex, to_string } from './libsodium' -import { Buffer } from 'buffer' import { v4 as uuidv4 } from 'uuid' const SN_BASE64_VARIANT = base64_variants.ORIGINAL @@ -75,15 +74,19 @@ export function stringToArrayBuffer(string: string): Uint8Array { * @param {ArrayBuffer} arrayBuffer */ export function arrayBufferToString(arrayBuffer: ArrayBuffer): string { - return to_string(arrayBuffer as Uint8Array) + return to_string(new Uint8Array(arrayBuffer)) } /** * Converts an ArrayBuffer into a hex string * @param arrayBuffer */ -export function arrayBufferToHexString(arrayBuffer: ArrayBuffer): string { - return to_hex(Buffer.from(arrayBuffer)) +export function arrayBufferToHexString(arrayBuffer: ArrayBuffer | ArrayBufferView): string { + const bytes = + arrayBuffer instanceof ArrayBuffer + ? new Uint8Array(arrayBuffer) + : new Uint8Array(arrayBuffer.buffer, arrayBuffer.byteOffset, arrayBuffer.byteLength) + return to_hex(bytes) } /** @@ -107,8 +110,12 @@ export function base64ToArrayBuffer(base64: string): Uint8Array { * Converts an ArrayBuffer into a base64 string * @param buffer */ -export function arrayBufferToBase64(arrayBuffer: ArrayBuffer): string { - return to_base64(Buffer.from(arrayBuffer), SN_BASE64_VARIANT) +export function arrayBufferToBase64(arrayBuffer: ArrayBuffer | ArrayBufferView): string { + const bytes = + arrayBuffer instanceof ArrayBuffer + ? new Uint8Array(arrayBuffer) + : new Uint8Array(arrayBuffer.buffer, arrayBuffer.byteOffset, arrayBuffer.byteLength) + return to_base64(bytes, SN_BASE64_VARIANT) } /** @@ -156,9 +163,12 @@ export function base64Decode(base64String: string): string { const RFC4648 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567' -export function base32Encode(input: ArrayBuffer): string { - const length = input.byteLength - const buffer = new Uint8Array(input) +export function base32Encode(input: ArrayBuffer | ArrayBufferView): string { + const buffer = + input instanceof ArrayBuffer + ? new Uint8Array(input) + : new Uint8Array(input.buffer, input.byteOffset, input.byteLength) + const length = buffer.byteLength let bitIdx = 0 let currentVal = 0 diff --git a/packages/sncrypto-web/tsconfig.json b/packages/sncrypto-web/tsconfig.json index 5a43780c310..b0ce3365501 100644 --- a/packages/sncrypto-web/tsconfig.json +++ b/packages/sncrypto-web/tsconfig.json @@ -11,7 +11,7 @@ "outDir": "./dist", "inlineSourceMap": true, "types": ["node"], - "typeRoots": ["node_modules/@types", "typings"] + "typeRoots": ["node_modules/@types", "../../node_modules/@types", "typings"] }, "include": ["src/**/*"], "exclude": ["dist", "test/**/*"] diff --git a/packages/snjs/lib/Application/Application.ts b/packages/snjs/lib/Application/Application.ts index 79977ffc904..b76a2221e25 100644 --- a/packages/snjs/lib/Application/Application.ts +++ b/packages/snjs/lib/Application/Application.ts @@ -432,7 +432,7 @@ export class SNApplication implements ApplicationInterface, AppGroupManagedAppli if (this.storage.isStorageWrapped()) { try { await this.storage.decryptStorage() - } catch (_error) { + } catch { void this.alerts.alert(ErrorAlertStrings.StorageDecryptErrorBody, ErrorAlertStrings.StorageDecryptErrorTitle) } } diff --git a/packages/snjs/lib/Application/LiveItem.ts b/packages/snjs/lib/Application/LiveItem.ts index 9edc880f3e4..9e95e11c33f 100644 --- a/packages/snjs/lib/Application/LiveItem.ts +++ b/packages/snjs/lib/Application/LiveItem.ts @@ -9,7 +9,7 @@ export class LiveItem { constructor(uuid: string, items: ItemManagerInterface, onChange?: (item: T) => void) { this.item = items.findSureItem(uuid) - onChange && onChange(this.item) + onChange?.(this.item) this.removeObserver = items.streamItems(this.item.content_type, ({ changed, inserted }) => { const matchingItem = [...changed, ...inserted].find((item) => { @@ -18,7 +18,7 @@ export class LiveItem { if (matchingItem) { this.item = matchingItem as T - onChange && onChange(this.item) + onChange?.(this.item) } }) } diff --git a/packages/snjs/lib/Services/Api/DeprecatedHttpService.ts b/packages/snjs/lib/Services/Api/DeprecatedHttpService.ts index 782843c77db..0cfc6a5e948 100644 --- a/packages/snjs/lib/Services/Api/DeprecatedHttpService.ts +++ b/packages/snjs/lib/Services/Api/DeprecatedHttpService.ts @@ -197,7 +197,7 @@ export class DeprecatedHttpService extends AbstractService { if (response.data == undefined || response.data.error == undefined) { try { response.error = { message: request.responseText || UNKNOWN_ERROR, status: httpStatus } - } catch (error) { + } catch { response.error = { message: UNKNOWN_ERROR, status: httpStatus } } } else { diff --git a/packages/snjs/lib/Services/ComponentManager/ComponentManager.ts b/packages/snjs/lib/Services/ComponentManager/ComponentManager.ts index 85fa7b624fc..abb4878365b 100644 --- a/packages/snjs/lib/Services/ComponentManager/ComponentManager.ts +++ b/packages/snjs/lib/Services/ComponentManager/ComponentManager.ts @@ -122,12 +122,16 @@ export class ComponentManager }), ) - window.addEventListener - ? window.addEventListener('focus', this.detectFocusChange, true) - : window.attachEvent('onfocusout', this.detectFocusChange) - window.addEventListener - ? window.addEventListener('blur', this.detectFocusChange, true) - : window.attachEvent('onblur', this.detectFocusChange) + if (window.addEventListener) { + window.addEventListener('focus', this.detectFocusChange, true) + } else { + window.attachEvent('onfocusout', this.detectFocusChange) + } + if (window.addEventListener) { + window.addEventListener('blur', this.detectFocusChange, true) + } else { + window.attachEvent('onblur', this.detectFocusChange) + } window.addEventListener('message', this.onWindowMessage, true) } diff --git a/packages/snjs/lib/Services/ComponentManager/UseCase/RunWithPermissionsUseCase.ts b/packages/snjs/lib/Services/ComponentManager/UseCase/RunWithPermissionsUseCase.ts index 8408eff00af..c1f94920ad5 100644 --- a/packages/snjs/lib/Services/ComponentManager/UseCase/RunWithPermissionsUseCase.ts +++ b/packages/snjs/lib/Services/ComponentManager/UseCase/RunWithPermissionsUseCase.ts @@ -189,7 +189,7 @@ export class RunWithPermissionsUseCase { this.permissionDialogs = this.permissionDialogs.filter((pendingDialog) => { /* Remove self */ if (pendingDialog === params) { - pendingDialog.actionBlock && pendingDialog.actionBlock(approved) + pendingDialog.actionBlock?.(approved) return false } const containsObjectSubset = (source: ComponentPermission[], target: ComponentPermission[]) => { @@ -204,7 +204,7 @@ export class RunWithPermissionsUseCase { /* If approved, run the action block. Otherwise, if canceled, cancel any pending ones as well, since the user was explicit in their intentions */ if (approved) { - pendingDialog.actionBlock && pendingDialog.actionBlock(approved) + pendingDialog.actionBlock?.(approved) } return false } diff --git a/packages/snjs/lib/Services/Features/FeaturesService.ts b/packages/snjs/lib/Services/Features/FeaturesService.ts index 1aed45fe775..9cc1cd2df47 100644 --- a/packages/snjs/lib/Services/Features/FeaturesService.ts +++ b/packages/snjs/lib/Services/Features/FeaturesService.ts @@ -282,7 +282,7 @@ export class FeaturesService extensionKey, subscriptionId, } - } catch (error) { + } catch { return new ClientDisplayableError(API_MESSAGE_FAILED_OFFLINE_ACTIVATION) } } diff --git a/packages/snjs/lib/Services/Mutator/MutatorService.ts b/packages/snjs/lib/Services/Mutator/MutatorService.ts index c3b93b31b4f..048fcb667a7 100644 --- a/packages/snjs/lib/Services/Mutator/MutatorService.ts +++ b/packages/snjs/lib/Services/Mutator/MutatorService.ts @@ -510,7 +510,7 @@ export class MutatorService extends AbstractService implements MutatorClientInte let components = null try { components = JSON.parse(dsl.substring(1, dsl.length)) - } catch (e) { + } catch { throw Error('Invalid smart view syntax') } diff --git a/packages/snjs/lib/Services/Session/SessionManager.ts b/packages/snjs/lib/Services/Session/SessionManager.ts index 9d72be4d492..f0e880ad9f3 100644 --- a/packages/snjs/lib/Services/Session/SessionManager.ts +++ b/packages/snjs/lib/Services/Session/SessionManager.ts @@ -218,7 +218,7 @@ export class SessionManager isUserMissingKeyPair(): boolean { try { return this.getPublicKey() == undefined - } catch (error) { + } catch { return true } } diff --git a/packages/snjs/lib/Services/Sync/SyncService.ts b/packages/snjs/lib/Services/Sync/SyncService.ts index 6e3f83a486c..497c53c7bf2 100644 --- a/packages/snjs/lib/Services/Sync/SyncService.ts +++ b/packages/snjs/lib/Services/Sync/SyncService.ts @@ -155,7 +155,7 @@ export class SyncService public lastSyncInvokationPromise?: Promise public currentSyncRequestPromise?: Promise - private autoSyncInterval?: NodeJS.Timer + private autoSyncInterval?: ReturnType private wasNotifiedOfItemsChangeOnServer = false constructor( diff --git a/packages/snjs/package.json b/packages/snjs/package.json index 3e0486bc22f..008ef6a992a 100644 --- a/packages/snjs/package.json +++ b/packages/snjs/package.json @@ -83,7 +83,7 @@ "ts-loader": "^9.4.1", "ts-node": "^10.9.1", "tscpaths": "0.0.9", - "typescript": "*", + "typescript": "5.8.3", "uuid": "^9.0.0", "webpack": "*", "webpack-cli": "*", diff --git a/packages/styles/package.json b/packages/styles/package.json index 822c8f78cb3..2be821e46b3 100644 --- a/packages/styles/package.json +++ b/packages/styles/package.json @@ -9,7 +9,8 @@ "scripts": { "build": "webpack --mode='production' && yarn run tsc", "start": "webpack --watch --mode='development'", - "lint": "prettier --check *.js" + "lint": "prettier --check *.js", + "tsc": "tsc --project tsconfig.json" }, "devDependencies": { "css-loader": "*", @@ -19,7 +20,7 @@ "sass": "^1.77.6", "sass-loader": "*", "style-loader": "~3.3.1", - "typescript": "*", + "typescript": "5.8.3", "webpack": "*" } } diff --git a/packages/toast/package.json b/packages/toast/package.json index 732a25f6d5b..c18bec9eb83 100644 --- a/packages/toast/package.json +++ b/packages/toast/package.json @@ -21,6 +21,6 @@ "@types/react-dom": "^18.2.17", "eslint": "*", "prettier": "*", - "typescript": "*" + "typescript": "5.8.3" } } diff --git a/packages/ui-services/package.json b/packages/ui-services/package.json index 7163bc7e087..ff67b46a72c 100644 --- a/packages/ui-services/package.json +++ b/packages/ui-services/package.json @@ -36,6 +36,6 @@ "eslint-plugin-prettier": "*", "jest": "^29.3.1", "ts-jest": "^29.0.3", - "typescript": "*" + "typescript": "5.8.3" } } diff --git a/packages/ui-services/src/Plugins/PluginsService.ts b/packages/ui-services/src/Plugins/PluginsService.ts index bd71da109da..6b1fceaf65d 100644 --- a/packages/ui-services/src/Plugins/PluginsService.ts +++ b/packages/ui-services/src/Plugins/PluginsService.ts @@ -136,8 +136,8 @@ export class PluginsService implements PluginsServiceInterface { let url = urlOrCode try { url = this.crypto.base64Decode(urlOrCode) - } catch (err) { - void err + } catch { + url = urlOrCode } const response = await this.api.downloadFeatureUrl(url) @@ -146,13 +146,14 @@ export class PluginsService implements PluginsServiceInterface { return undefined } - let rawFeature = response.data as ThirdPartyFeatureDescription + let rawFeature: ThirdPartyFeatureDescription | string = response.data as ThirdPartyFeatureDescription | string if (isString(rawFeature)) { try { - rawFeature = JSON.parse(rawFeature) - // eslint-disable-next-line no-empty - } catch (error) {} + rawFeature = JSON.parse(rawFeature) as ThirdPartyFeatureDescription + } catch { + return undefined + } } if (!rawFeature.content_type) { diff --git a/packages/utils/package.json b/packages/utils/package.json index 953f1baa41e..7b490b7bd29 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -36,12 +36,12 @@ "@types/jsdom": "^20.0.1", "@types/lodash": "^4.14.189", "@types/node": "^18.11.9", - "@typescript-eslint/eslint-plugin": "^5.43.0", + "@typescript-eslint/eslint-plugin": "*", "eslint": "*", "eslint-plugin-prettier": "*", "jest": "^29.3.1", "jsdom": "^20.0.2", "ts-jest": "^29.0.3", - "typescript": "*" + "typescript": "5.8.3" } } diff --git a/packages/utils/src/Domain/Utils/Debounce.ts b/packages/utils/src/Domain/Utils/Debounce.ts index 3efe896f09c..0cd113b4ef8 100644 --- a/packages/utils/src/Domain/Utils/Debounce.ts +++ b/packages/utils/src/Domain/Utils/Debounce.ts @@ -46,7 +46,7 @@ export function debounce any>( ): DebouncedFunction { let timeoutId: ReturnType | undefined const isImmediate = options.isImmediate ?? false - const callback = options.callback ?? false + const callback = options.callback const maxWait = options.maxWait let lastInvokeTime = Date.now() @@ -73,7 +73,7 @@ export function debounce any>( lastInvokeTime = Date.now() if (!isImmediate) { const result = func.apply(context, args) - callback && callback(result) + callback?.(result) promises.forEach(({ resolve }) => resolve(result)) promises = [] } @@ -89,7 +89,7 @@ export function debounce any>( if (shouldCallNow) { const result = func.apply(context, args) - callback && callback(result) + callback?.(result) return resolve(result) } promises.push({ resolve, reject }) diff --git a/packages/utils/src/Domain/Utils/Utils.ts b/packages/utils/src/Domain/Utils/Utils.ts index 367f5257dc2..ff049680c20 100644 --- a/packages/utils/src/Domain/Utils/Utils.ts +++ b/packages/utils/src/Domain/Utils/Utils.ts @@ -369,7 +369,7 @@ export function jsonParseEmbeddedKeys(object: AnyRecord) { let value try { value = JSON.parse(object[key] as string) - } catch (error) { + } catch { value = object[key] } result[key] = value @@ -496,7 +496,7 @@ export function isValidUrl(url: string): boolean { try { new URL(url) return true - } catch (error) { + } catch { return false } } diff --git a/packages/web/package.json b/packages/web/package.json index d44b547435f..a053f8c60e0 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -96,7 +96,7 @@ "tailwindcss": "^3.4.0", "ts-jest": "^29.0.3", "ts-loader": "^9.4.2", - "typescript": "*", + "typescript": "5.8.3", "webextension-polyfill": "^0.10.0", "webpack": "*", "webpack-dev-server": "*", @@ -109,20 +109,20 @@ }, "dependencies": { "@ariakit/react": "^0.4.18", - "@lexical/clipboard": "0.43.0", - "@lexical/code": "0.43.0", - "@lexical/headless": "0.43.0", - "@lexical/link": "0.43.0", - "@lexical/list": "0.43.0", - "@lexical/react": "0.43.0", - "@lexical/rich-text": "0.43.0", - "@lexical/utils": "0.43.0", + "@lexical/clipboard": "0.49.0", + "@lexical/code": "0.49.0", + "@lexical/headless": "0.49.0", + "@lexical/link": "0.49.0", + "@lexical/list": "0.49.0", + "@lexical/react": "0.49.0", + "@lexical/rich-text": "0.49.0", + "@lexical/utils": "0.49.0", "@radix-ui/react-slot": "^1.0.1", "@react-pdf/renderer": "^4.4.1", "@standardnotes/features": "workspace:*", "comlink": "^4.4.1", "fast-diff": "^1.3.0", - "lexical": "0.43.0", + "lexical": "0.49.0", "ttag": "^1.8.12", "unicode-script": "^1.2.0" } diff --git a/packages/web/src/javascripts/Application/Database.ts b/packages/web/src/javascripts/Application/Database.ts index 7fb3387ec2a..3c8d6299a83 100644 --- a/packages/web/src/javascripts/Application/Database.ts +++ b/packages/web/src/javascripts/Application/Database.ts @@ -120,7 +120,7 @@ export class Database { objectStore.transaction.oncomplete = () => { /* Ready to store values in the newly created objectStore. */ if (db.version === 1 && onNewDatabase) { - onNewDatabase && onNewDatabase() + onNewDatabase?.() } } } diff --git a/packages/web/src/javascripts/Application/Device/WebOrDesktopDevice.ts b/packages/web/src/javascripts/Application/Device/WebOrDesktopDevice.ts index 4e8874f9aa5..8c31974f17e 100644 --- a/packages/web/src/javascripts/Application/Device/WebOrDesktopDevice.ts +++ b/packages/web/src/javascripts/Application/Device/WebOrDesktopDevice.ts @@ -58,7 +58,7 @@ export abstract class WebOrDesktopDevice implements WebOrDesktopDeviceInterface try { return JSON.parse(value) - } catch (e) { + } catch { return value } } diff --git a/packages/web/src/javascripts/Components/AccountMenu/SignIn.tsx b/packages/web/src/javascripts/Components/AccountMenu/SignIn.tsx index b943e450157..ae50863f060 100644 --- a/packages/web/src/javascripts/Components/AccountMenu/SignIn.tsx +++ b/packages/web/src/javascripts/Components/AccountMenu/SignIn.tsx @@ -154,7 +154,7 @@ const SignInPane: FunctionComponent = ({ setMenuPane }) => { setCaptchaURL(parsed.captchaURL) return } - } catch (e) { + } catch { setCaptchaURL('') } throw new Error(error) diff --git a/packages/web/src/javascripts/Components/ComponentView/IframeFeatureView.tsx b/packages/web/src/javascripts/Components/ComponentView/IframeFeatureView.tsx index f221fb2d2a1..1dbc9a53942 100644 --- a/packages/web/src/javascripts/Components/ComponentView/IframeFeatureView.tsx +++ b/packages/web/src/javascripts/Components/ComponentView/IframeFeatureView.tsx @@ -263,7 +263,8 @@ const IframeFeatureView: FunctionComponent = ({ { - reloadValidityStatus(), requestReload?.(componentViewer, true) + reloadValidityStatus() + requestReload?.(componentViewer, true) }} /> )} diff --git a/packages/web/src/javascripts/Components/Icon/EmojiLength.ts b/packages/web/src/javascripts/Components/Icon/EmojiLength.ts index 208cf04db3b..b4854aab59c 100644 --- a/packages/web/src/javascripts/Components/Icon/EmojiLength.ts +++ b/packages/web/src/javascripts/Components/Icon/EmojiLength.ts @@ -1,7 +1,7 @@ export function getEmojiLength(emoji: string): number { try { return [...new Intl.Segmenter().segment(emoji)].length - } catch (error) { + } catch { return [...emoji].length } } diff --git a/packages/web/src/javascripts/Components/NotesOptions/AddTagOption.tsx b/packages/web/src/javascripts/Components/NotesOptions/AddTagOption.tsx index 7463ee52fde..5f4333df277 100644 --- a/packages/web/src/javascripts/Components/NotesOptions/AddTagOption.tsx +++ b/packages/web/src/javascripts/Components/NotesOptions/AddTagOption.tsx @@ -85,7 +85,11 @@ const AddTagOption: FunctionComponent = ({ { - isTagLinkedToSelectedItems(tag) ? unlinkTagFromSelectedItems(tag) : linkTagToSelectedItems(tag) + if (isTagLinkedToSelectedItems(tag)) { + unlinkTagFromSelectedItems(tag) + } else { + linkTagToSelectedItems(tag) + } }} > {tag.iconString && ( diff --git a/packages/web/src/javascripts/Components/Preferences/Panes/Account/Email/Email.tsx b/packages/web/src/javascripts/Components/Preferences/Panes/Account/Email/Email.tsx index 092f05704d9..e38f5d0e8b8 100644 --- a/packages/web/src/javascripts/Components/Preferences/Panes/Account/Email/Email.tsx +++ b/packages/web/src/javascripts/Components/Preferences/Panes/Account/Email/Email.tsx @@ -37,7 +37,7 @@ const Email: FunctionComponent = ({ application }: Props) => { try { await application.settings.updateSetting(settingName, payload, false) return true - } catch (e) { + } catch { application.alerts.alert(STRING_FAILED_TO_UPDATE_USER_SETTING()).catch(console.error) return false } @@ -47,7 +47,7 @@ const Email: FunctionComponent = ({ application }: Props) => { try { await application.settings.updateSubscriptionSetting(settingName, payload, false) return true - } catch (e) { + } catch { application.alerts.alert(STRING_FAILED_TO_UPDATE_USER_SETTING()).catch(console.error) return false } @@ -66,13 +66,13 @@ const Email: FunctionComponent = ({ application }: Props) => { SettingName.create(SettingName.NAMES.MuteSignInEmails).getValue(), MuteSignInEmailsOption.NotMuted, ), - ), - setMarketingEmailsMutedValue( - userSettings.getSettingValue( - SettingName.create(SettingName.NAMES.MuteMarketingEmails).getValue(), - MuteMarketingEmailsOption.NotMuted, - ), - ) + ) + setMarketingEmailsMutedValue( + userSettings.getSettingValue( + SettingName.create(SettingName.NAMES.MuteMarketingEmails).getValue(), + MuteMarketingEmailsOption.NotMuted, + ), + ) } catch (error) { console.error(error) } finally { diff --git a/packages/web/src/javascripts/Components/Preferences/Panes/Account/NoProSubscription.tsx b/packages/web/src/javascripts/Components/Preferences/Panes/Account/NoProSubscription.tsx index 3bbc21705a2..e810495da44 100644 --- a/packages/web/src/javascripts/Components/Preferences/Panes/Account/NoProSubscription.tsx +++ b/packages/web/src/javascripts/Components/Preferences/Panes/Account/NoProSubscription.tsx @@ -25,7 +25,7 @@ const NoProSubscription: FunctionComponent = ({ application, text }) => { } else { void application.openPurchaseFlow() } - } catch (e) { + } catch { setPurchaseFlowError(errorMessage) } finally { setIsLoadingPurchaseFlow(false) diff --git a/packages/web/src/javascripts/Components/Preferences/Panes/Account/Subscription/NoSubscription.tsx b/packages/web/src/javascripts/Components/Preferences/Panes/Account/Subscription/NoSubscription.tsx index 67e9319883d..3c7b5197621 100644 --- a/packages/web/src/javascripts/Components/Preferences/Panes/Account/Subscription/NoSubscription.tsx +++ b/packages/web/src/javascripts/Components/Preferences/Panes/Account/Subscription/NoSubscription.tsx @@ -23,7 +23,7 @@ const NoSubscription: FunctionComponent = ({ application }) => { } else { void application.openPurchaseFlow() } - } catch (e) { + } catch { setPurchaseFlowError(errorMessage) } finally { setIsLoadingPurchaseFlow(false) diff --git a/packages/web/src/javascripts/Components/Preferences/Panes/Backups/DataBackups.tsx b/packages/web/src/javascripts/Components/Preferences/Panes/Backups/DataBackups.tsx index c065e63ad7f..b26336afceb 100644 --- a/packages/web/src/javascripts/Components/Preferences/Panes/Backups/DataBackups.tsx +++ b/packages/web/src/javascripts/Components/Preferences/Panes/Backups/DataBackups.tsx @@ -120,7 +120,7 @@ const DataBackups = ({ application }: Props) => { try { const data = JSON.parse(e.target?.result as string) resolve(data) - } catch (e) { + } catch { application.alerts.alert(STRING_INVALID_IMPORT_FILE()).catch(console.error) } } diff --git a/packages/web/src/javascripts/Components/Preferences/Panes/Backups/EmailBackups.tsx b/packages/web/src/javascripts/Components/Preferences/Panes/Backups/EmailBackups.tsx index 7ccadfb2ebc..634bf17614b 100644 --- a/packages/web/src/javascripts/Components/Preferences/Panes/Backups/EmailBackups.tsx +++ b/packages/web/src/javascripts/Components/Preferences/Panes/Backups/EmailBackups.tsx @@ -61,7 +61,7 @@ const EmailBackups = ({ application }: Props) => { try { await application.settings.updateSetting(settingName, payload, false) return true - } catch (e) { + } catch { application.alerts.alert(STRING_FAILED_TO_UPDATE_USER_SETTING()).catch(console.error) return false } diff --git a/packages/web/src/javascripts/Components/Preferences/Panes/General/SmartViews/EditSmartViewModalController.tsx b/packages/web/src/javascripts/Components/Preferences/Panes/General/SmartViews/EditSmartViewModalController.tsx index e39a9cbbdce..58f4a4d70a3 100644 --- a/packages/web/src/javascripts/Components/Preferences/Panes/General/SmartViews/EditSmartViewModalController.tsx +++ b/packages/web/src/javascripts/Components/Preferences/Panes/General/SmartViews/EditSmartViewModalController.tsx @@ -129,7 +129,7 @@ export class EditSmartViewModalController { } else { this.setIsPredicateJsonValid(false) } - } catch (error) { + } catch { this.setIsPredicateJsonValid(false) return } diff --git a/packages/web/src/javascripts/Components/Preferences/Panes/HomeServer/HomeServerSettings.tsx b/packages/web/src/javascripts/Components/Preferences/Panes/HomeServer/HomeServerSettings.tsx index 9a7cc746428..451df63cce1 100644 --- a/packages/web/src/javascripts/Components/Preferences/Panes/HomeServer/HomeServerSettings.tsx +++ b/packages/web/src/javascripts/Components/Preferences/Panes/HomeServer/HomeServerSettings.tsx @@ -38,7 +38,7 @@ const HomeServerSettings = () => { const [isAPremiumUser, setIsAPremiumUser] = useState(false) const [isSignedIn, setIsSignedIn] = useState(false) const [showOfflineSubscriptionActivation, setShowOfflineSubscriptionActivation] = useState(false) - const [logsIntervalRef, setLogsIntervalRef] = useState(null) + const [logsIntervalRef, setLogsIntervalRef] = useState | null>(null) const [homeServerConfiguration, setHomeServerConfiguration] = useState( null, ) diff --git a/packages/web/src/javascripts/Components/Preferences/Panes/Security/Privacy.tsx b/packages/web/src/javascripts/Components/Preferences/Panes/Security/Privacy.tsx index 411ccc5226a..d7215d166e6 100644 --- a/packages/web/src/javascripts/Components/Preferences/Panes/Security/Privacy.tsx +++ b/packages/web/src/javascripts/Components/Preferences/Panes/Security/Privacy.tsx @@ -24,7 +24,7 @@ const Privacy: FunctionComponent = ({ application }: Props) => { try { await application.settings.updateSetting(settingName, payload, false) return true - } catch (e) { + } catch { application.alerts.alert(STRING_FAILED_TO_UPDATE_USER_SETTING()).catch(console.error) return false } diff --git a/packages/web/src/javascripts/Components/SmartViewBuilder/AddSmartViewModalController.ts b/packages/web/src/javascripts/Components/SmartViewBuilder/AddSmartViewModalController.ts index 52b2dee0e4e..8e26b9ef079 100644 --- a/packages/web/src/javascripts/Components/SmartViewBuilder/AddSmartViewModalController.ts +++ b/packages/web/src/javascripts/Components/SmartViewBuilder/AddSmartViewModalController.ts @@ -117,7 +117,7 @@ export class AddSmartViewModalController { } else { this.setIsCustomJsonValidPredicate(false) } - } catch (error) { + } catch { this.setIsCustomJsonValidPredicate(false) return } diff --git a/packages/web/src/javascripts/Components/SuperEditor/SuperNoteImporter.tsx b/packages/web/src/javascripts/Components/SuperEditor/SuperNoteImporter.tsx index d68d23a5998..7b2fbf378e1 100644 --- a/packages/web/src/javascripts/Components/SuperEditor/SuperNoteImporter.tsx +++ b/packages/web/src/javascripts/Components/SuperEditor/SuperNoteImporter.tsx @@ -25,7 +25,7 @@ type Props = { function isValidJson(string: string) { try { JSON.parse(string) - } catch (e) { + } catch { return false } return true diff --git a/packages/web/src/javascripts/Components/SuperEditor/Tools/HeadlessSuperConverter.tsx b/packages/web/src/javascripts/Components/SuperEditor/Tools/HeadlessSuperConverter.tsx index 9de643e0c44..03886f7a72a 100644 --- a/packages/web/src/javascripts/Components/SuperEditor/Tools/HeadlessSuperConverter.tsx +++ b/packages/web/src/javascripts/Components/SuperEditor/Tools/HeadlessSuperConverter.tsx @@ -51,7 +51,7 @@ export class HeadlessSuperConverter implements SuperConverterServiceInterface { try { this.importEditor.parseEditorState(superString) return true - } catch (error) { + } catch { return false } } diff --git a/packages/web/src/javascripts/Components/Vaults/AddToVaultMenuOption.tsx b/packages/web/src/javascripts/Components/Vaults/AddToVaultMenuOption.tsx index 90f6cd86dbf..da2b7ddda23 100644 --- a/packages/web/src/javascripts/Components/Vaults/AddToVaultMenuOption.tsx +++ b/packages/web/src/javascripts/Components/Vaults/AddToVaultMenuOption.tsx @@ -86,7 +86,11 @@ const VaultMenu = observer(({ items }: { items: DecryptedItemInterface[] }) => { { - doesVaultContainItems(vault) ? void removeItemsFromVault() : void addItemsToVault(vault) + if (doesVaultContainItems(vault)) { + void removeItemsFromVault() + } else { + void addItemsToVault(vault) + } }} className={doesVaultContainItems(vault) ? 'font-bold' : ''} disabled={vault.isSharedVaultListing() && application.vaultUsers.isCurrentUserReadonlyVaultMember(vault)} diff --git a/packages/web/src/javascripts/Constants/Constants.ts b/packages/web/src/javascripts/Constants/Constants.ts index 760af10d9d8..da85f745f92 100644 --- a/packages/web/src/javascripts/Constants/Constants.ts +++ b/packages/web/src/javascripts/Constants/Constants.ts @@ -61,7 +61,7 @@ export const SupportsPassiveListeners = (() => { }) window.addEventListener('test', null as never, opts) window.removeEventListener('test', null as never, opts) - } catch (e) { + } catch { /* empty */ } return supportsPassive diff --git a/packages/web/src/javascripts/Controllers/ItemList/ItemListController.spec.ts b/packages/web/src/javascripts/Controllers/ItemList/ItemListController.spec.ts index 29f1a2ceff0..c8229fa7217 100644 --- a/packages/web/src/javascripts/Controllers/ItemList/ItemListController.spec.ts +++ b/packages/web/src/javascripts/Controllers/ItemList/ItemListController.spec.ts @@ -7,7 +7,7 @@ import { SearchOptionsController } from '../SearchOptionsController' import { ItemListController } from './ItemListController' import { ItemsReloadSource } from './ItemsReloadSource' import { IsNativeMobileWeb } from '@standardnotes/ui-services' -import { runInAction } from 'mobx' +import { observable, runInAction } from 'mobx' describe('item list controller', () => { let application: WebApplication @@ -56,7 +56,7 @@ describe('item list controller', () => { controller.getFirstNonProtectedItem = jest.fn() runInAction(() => { - controller.selectedUuids = new Set() + controller.selectedUuids = observable(new Set()) }) }) @@ -105,7 +105,7 @@ describe('item list controller', () => { } as jest.Mocked runInAction(() => { - controller.selectedUuids = new Set(['123']) + controller.selectedUuids = observable(new Set(['123'])) }) Object.defineProperty(application.navigationController, 'selected', { diff --git a/packages/web/src/javascripts/Controllers/ItemList/ItemListController.ts b/packages/web/src/javascripts/Controllers/ItemList/ItemListController.ts index 99cc41f3816..076e4ecb0d8 100644 --- a/packages/web/src/javascripts/Controllers/ItemList/ItemListController.ts +++ b/packages/web/src/javascripts/Controllers/ItemList/ItemListController.ts @@ -36,7 +36,7 @@ import { ChallengeReason, KeyboardModifier, } from '@standardnotes/snjs' -import { action, computed, makeObservable, observable, reaction, runInAction } from 'mobx' +import { action, computed, makeObservable, observable, ObservableSet, reaction, runInAction } from 'mobx' import { WebDisplayOptions } from './WebDisplayOptions' import { NavigationController } from '../Navigation/NavigationController' import { CrossControllerEvent } from '../CrossControllerEvent' @@ -103,7 +103,7 @@ export class ItemListController private reloadItemsPromise?: Promise lastSelectedItem: ListableContentItem | undefined - selectedUuids: Set = observable(new Set()) + selectedUuids: ObservableSet = observable(new Set()) selectedItems: Record = {} isMultipleSelectionMode = false @@ -1079,9 +1079,9 @@ export class ItemListController this.selectedItems = Object.fromEntries(this.getSelectedItems().map((item) => [item.uuid, item])) } - setSelectedUuids = (selectedUuids: Set) => { + setSelectedUuids = (selectedUuids: ObservableSet | Set) => { log(LoggingDomain.Selection, 'Setting selected uuids', selectedUuids) - this.selectedUuids = new Set(selectedUuids) + this.selectedUuids = observable(new Set(selectedUuids)) this.setSelectedItems() } diff --git a/packages/web/src/javascripts/Hooks/useDocumentRect.ts b/packages/web/src/javascripts/Hooks/useDocumentRect.ts index a9dea408211..e3666a9eb95 100644 --- a/packages/web/src/javascripts/Hooks/useDocumentRect.ts +++ b/packages/web/src/javascripts/Hooks/useDocumentRect.ts @@ -16,7 +16,7 @@ export const useDocumentRect = (): DOMRect => { const handleWindowResize = () => { window.clearTimeout(debounceTimeout) - window.setTimeout(() => { + debounceTimeout = window.setTimeout(() => { setDocumentRect(getBoundingClientRect()) }, DebounceTimeInMs) } diff --git a/packages/web/src/javascripts/Hooks/useElementRect.ts b/packages/web/src/javascripts/Hooks/useElementRect.ts index a4c290d9bf0..30fb818310f 100644 --- a/packages/web/src/javascripts/Hooks/useElementRect.ts +++ b/packages/web/src/javascripts/Hooks/useElementRect.ts @@ -30,7 +30,7 @@ export const useAutoElementRect = ( windowResizeHandler = () => { window.clearTimeout(windowResizeDebounceTimeout) - window.setTimeout(() => { + windowResizeDebounceTimeout = window.setTimeout(() => { setRect(element.getBoundingClientRect()) }, DebounceTimeInMs) } @@ -66,7 +66,7 @@ export const useElementResize = (element: HTMLElement | null | undefined, callba windowResizeHandler = () => { window.clearTimeout(windowResizeDebounceTimeout) - window.setTimeout(() => { + windowResizeDebounceTimeout = window.setTimeout(() => { callback() }, DebounceTimeInMs) } diff --git a/packages/web/src/javascripts/Utils/Utils.ts b/packages/web/src/javascripts/Utils/Utils.ts index a65a604ccec..8afa63bd4e5 100644 --- a/packages/web/src/javascripts/Utils/Utils.ts +++ b/packages/web/src/javascripts/Utils/Utils.ts @@ -31,7 +31,7 @@ export function getPlatformString() { trimmed = 'linux' } return trimmed + (isDesktopApplication() ? '-desktop' : '-web') - } catch (e) { + } catch { return 'unknown-platform' } } @@ -150,7 +150,7 @@ export function destroyAllObjectProperties(object: any): void { try { delete object[prop] // eslint-disable-next-line no-empty - } catch (error) {} + } catch {} } } diff --git a/packages/web/tsconfig.json b/packages/web/tsconfig.json index a6e6e14fd92..d4f68b0ac7f 100644 --- a/packages/web/tsconfig.json +++ b/packages/web/tsconfig.json @@ -4,7 +4,7 @@ "lib": ["ES2022", "DOM", "DOM.Iterable"], "target": "ES2019", "module": "ES2020", - "moduleResolution": "node", + "moduleResolution": "bundler", "allowJs": true, "noEmit": true, "strict": true, diff --git a/yarn.lock b/yarn.lock index 705f5286875..c3120109a5b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4471,7 +4471,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.20.1, @babel/runtime@npm:^7.8.4": +"@babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.20.1, @babel/runtime@npm:^7.8.4": version: 7.22.6 resolution: "@babel/runtime@npm:7.22.6" dependencies: @@ -5115,7 +5115,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": +"@eslint-community/eslint-utils@npm:^4.2.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" dependencies: @@ -5126,6 +5126,17 @@ __metadata: languageName: node linkType: hard +"@eslint-community/eslint-utils@npm:^4.7.0": + version: 4.10.1 + resolution: "@eslint-community/eslint-utils@npm:4.10.1" + dependencies: + eslint-visitor-keys: ^3.4.3 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + checksum: ac9da8475207591237f79462fef7f201611b22481df1972e6b81bd2a05dc546e0b69b0094771d23b7a3075d7d69d413c955989473abc0e227f9473108124ded4 + languageName: node + linkType: hard + "@eslint-community/regexpp@npm:^4.10.0": version: 4.11.1 resolution: "@eslint-community/regexpp@npm:4.11.1" @@ -5133,13 +5144,20 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.4.0, @eslint-community/regexpp@npm:^4.5.1": +"@eslint-community/regexpp@npm:^4.4.0": version: 4.6.2 resolution: "@eslint-community/regexpp@npm:4.6.2" checksum: a3c341377b46b54fa228f455771b901d1a2717f95d47dcdf40199df30abc000ba020f747f114f08560d119e979d882a94cf46cfc51744544d54b00319c0f2724 languageName: node linkType: hard +"@eslint-community/regexpp@npm:^4.6.1": + version: 4.12.2 + resolution: "@eslint-community/regexpp@npm:4.12.2" + checksum: 1770bc81f676a72f65c7200b5675ff7a349786521f30e66125faaf767fde1ba1c19c3790e16ba8508a62a3933afcfc806a893858b3b5906faf693d862b9e4120 + languageName: node + linkType: hard + "@eslint/eslintrc@npm:^2.0.1, @eslint/eslintrc@npm:^2.1.0": version: 2.1.0 resolution: "@eslint/eslintrc@npm:2.1.0" @@ -5157,6 +5175,23 @@ __metadata: languageName: node linkType: hard +"@eslint/eslintrc@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/eslintrc@npm:2.1.4" + dependencies: + ajv: ^6.12.4 + debug: ^4.3.2 + espree: ^9.6.0 + globals: ^13.19.0 + ignore: ^5.2.0 + import-fresh: ^3.2.1 + js-yaml: ^4.1.0 + minimatch: ^3.1.2 + strip-json-comments: ^3.1.1 + checksum: 10957c7592b20ca0089262d8c2a8accbad14b4f6507e35416c32ee6b4dbf9cad67dfb77096bbd405405e9ada2b107f3797fe94362e1c55e0b09d6e90dd149127 + languageName: node + linkType: hard + "@eslint/js@npm:8.36.0": version: 8.36.0 resolution: "@eslint/js@npm:8.36.0" @@ -5171,6 +5206,13 @@ __metadata: languageName: node linkType: hard +"@eslint/js@npm:8.57.1": + version: 8.57.1 + resolution: "@eslint/js@npm:8.57.1" + checksum: 2afb77454c06e8316793d2e8e79a0154854d35e6782a1217da274ca60b5044d2c69d6091155234ed0551a1e408f86f09dd4ece02752c59568fa403e60611e880 + languageName: node + linkType: hard + "@floating-ui/core@npm:^1.3.1": version: 1.3.1 resolution: "@floating-ui/core@npm:1.3.1" @@ -5178,12 +5220,12 @@ __metadata: languageName: node linkType: hard -"@floating-ui/core@npm:^1.7.3": - version: 1.7.3 - resolution: "@floating-ui/core@npm:1.7.3" +"@floating-ui/core@npm:^1.8.0": + version: 1.8.0 + resolution: "@floating-ui/core@npm:1.8.0" dependencies: - "@floating-ui/utils": ^0.2.10 - checksum: 5adfb28ddfa1776ec83516439256b9026e5d62b5413f62ae51e50a870cf0df4bea9abf72aacc0610ee84bc00e85883d0d32f2a0976ee7fa89728a717a7494f27 + "@floating-ui/utils": ^0.2.12 + checksum: 491c7573ba88242a2814f7461080abac59c63322b336ad5386b40c66a4633c115b4da1e2b9d3ffd4c64081cdf81c5f23a47aac1afa6ff1e58c17cff1595b6dd5 languageName: node linkType: hard @@ -5196,46 +5238,46 @@ __metadata: languageName: node linkType: hard -"@floating-ui/dom@npm:^1.7.4": - version: 1.7.4 - resolution: "@floating-ui/dom@npm:1.7.4" +"@floating-ui/dom@npm:^1.8.0": + version: 1.8.0 + resolution: "@floating-ui/dom@npm:1.8.0" dependencies: - "@floating-ui/core": ^1.7.3 - "@floating-ui/utils": ^0.2.10 - checksum: 806923e6f5b09e024c366070f2115a4db6e8ad28462bac29cd075170a6f7d900497da3ee542439bd0770b8e2fff12b636cc30873d1c82e9ec4a487870b080643 + "@floating-ui/core": ^1.8.0 + "@floating-ui/utils": ^0.2.12 + checksum: 6c9676b040a7bd358e6b2cf4bcf661efc08e51118856ac17955c247c88ea164e1741f061e848b9ca1eacd5591709e013b46bd35bbfe6f80acca276a2a0bd41d2 languageName: node linkType: hard -"@floating-ui/react-dom@npm:^2.1.6": - version: 2.1.6 - resolution: "@floating-ui/react-dom@npm:2.1.6" +"@floating-ui/react-dom@npm:^2.1.9": + version: 2.1.9 + resolution: "@floating-ui/react-dom@npm:2.1.9" dependencies: - "@floating-ui/dom": ^1.7.4 + "@floating-ui/dom": ^1.8.0 peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" - checksum: 24ff266806cd4cba6ad066f0eda7b99583f68af877f41df0b2a8d10a392692e3a1c1d666ebb75571a060818ede940bae59d833aa517ed538f7dba9dddd9991ae + checksum: f57c3274321f118ab16e9a0333097876e3d3851e7bc9d25eb70bfaf49c28aba33cfa0a64f33b8dbd997150a40fe293b14d66188887573921c8e1fb98435a0f7f languageName: node linkType: hard -"@floating-ui/react@npm:^0.27.16": - version: 0.27.16 - resolution: "@floating-ui/react@npm:0.27.16" +"@floating-ui/react@npm:^0.27.19": + version: 0.27.20 + resolution: "@floating-ui/react@npm:0.27.20" dependencies: - "@floating-ui/react-dom": ^2.1.6 - "@floating-ui/utils": ^0.2.10 + "@floating-ui/react-dom": ^2.1.9 + "@floating-ui/utils": ^0.2.12 tabbable: ^6.0.0 peerDependencies: react: ">=17.0.0" react-dom: ">=17.0.0" - checksum: 4f242f843ca51c57a0f5c20555da7dfd3b7a4e08e10112371dbf1eff0f390b17b518fa33e72277db85e2c756c1e23ec4605e79850763ad8a17df21bede624fe5 + checksum: abf8f2d764c16987a2d66f02d4d1b4eff89332c6e2fde55ed5e53db4308e45dc8d1e242ba32a456be1b5eb034cc8e688900875e0e0133ba2e5a5c86246e840a0 languageName: node linkType: hard -"@floating-ui/utils@npm:^0.2.10": - version: 0.2.10 - resolution: "@floating-ui/utils@npm:0.2.10" - checksum: ffc4c24a46a665cfd0337e9aaf7de8415b572f8a0f323af39175e4b575582aed13d172e7f049eedeece9eaf022bad019c140a2d192580451984ae529bdf1285c +"@floating-ui/utils@npm:^0.2.12": + version: 0.2.12 + resolution: "@floating-ui/utils@npm:0.2.12" + checksum: c2cf16da4f755c025d12802a923a80aefe076e5686afb60a431970c7a4402cc9fb6723d20f6da0d431d6b01395d1a8cdd4e16da920cca18a1e07c06ad98c0593 languageName: node linkType: hard @@ -5342,6 +5384,17 @@ __metadata: languageName: node linkType: hard +"@humanwhocodes/config-array@npm:^0.13.0": + version: 0.13.0 + resolution: "@humanwhocodes/config-array@npm:0.13.0" + dependencies: + "@humanwhocodes/object-schema": ^2.0.3 + debug: ^4.3.1 + minimatch: ^3.0.5 + checksum: eae69ff9134025dd2924f0b430eb324981494be26f0fddd267a33c28711c4db643242cf9fddf7dadb9d16c96b54b2d2c073e60a56477df86e0173149313bd5d6 + languageName: node + linkType: hard + "@humanwhocodes/module-importer@npm:^1.0.1": version: 1.0.1 resolution: "@humanwhocodes/module-importer@npm:1.0.1" @@ -5356,6 +5409,13 @@ __metadata: languageName: node linkType: hard +"@humanwhocodes/object-schema@npm:^2.0.3": + version: 2.0.3 + resolution: "@humanwhocodes/object-schema@npm:2.0.3" + checksum: d3b78f6c5831888c6ecc899df0d03bcc25d46f3ad26a11d7ea52944dc36a35ef543fad965322174238d677a43d5c694434f6607532cff7077062513ad7022631 + languageName: node + linkType: hard + "@inquirer/ansi@npm:^1.0.2": version: 1.0.2 resolution: "@inquirer/ansi@npm:1.0.2" @@ -6244,303 +6304,469 @@ __metadata: languageName: node linkType: hard -"@lexical/clipboard@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/clipboard@npm:0.43.0" +"@lexical/a11y@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/a11y@npm:0.49.0" dependencies: - "@lexical/html": 0.43.0 - "@lexical/list": 0.43.0 - "@lexical/selection": 0.43.0 - "@lexical/utils": 0.43.0 - lexical: 0.43.0 - checksum: 9b404ea0e982239b2a3ee607f143ab3fcb78cb0adf2ab721d74d15b32f27102a8bead18f988ab751a041f42ac0944aaa8d33d41f0e4f0f5aebe35f63337e8853 + "@lexical/extension": 0.49.0 + "@lexical/utils": 0.49.0 + lexical: 0.49.0 + peerDependencies: + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: 947e24ec7fd07450b0a597ed9cc85c38b6c011d0ea05de751d0fa4066dab3ad8da3f1add8f91c73601169fccfad127944226600757bf8831fddf6c54a13a404b languageName: node linkType: hard -"@lexical/code-core@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/code-core@npm:0.43.0" +"@lexical/clipboard@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/clipboard@npm:0.49.0" dependencies: - lexical: 0.43.0 - checksum: a63d105158ffd8a839a9376037b3bac68da5dc8bc2dab6c1de2b0c0e34ceead1e04de6320dcfed0ba89f94c00757dbe28755b89b3d995fb374b5fbce6c1297e3 + "@lexical/extension": 0.49.0 + "@lexical/html": 0.49.0 + "@lexical/internal": 0.49.0 + "@lexical/list": 0.49.0 + "@lexical/selection": 0.49.0 + "@lexical/utils": 0.49.0 + "@types/trusted-types": ^2.0.7 + lexical: 0.49.0 + peerDependencies: + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: 2c2a057a9673adce73586cb6617da65406310cf063611eb86d2ad3be33c5072d69819589986224990f70402dc394dabe1009bfdc841772a8b5bf40a684c22db5 languageName: node linkType: hard -"@lexical/code-prism@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/code-prism@npm:0.43.0" +"@lexical/code-core@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/code-core@npm:0.49.0" dependencies: - "@lexical/code-core": 0.43.0 - lexical: 0.43.0 - prismjs: ^1.30.0 - checksum: c8fcbd2541d7bc5f2bd1b7c595c58742d535bd7976f0620541e5730495113e4ffa74850b092106258fc63cbb7c3a475059226f786818e10fafbb99f3777a5f8b + "@lexical/extension": 0.49.0 + "@lexical/html": 0.49.0 + "@lexical/internal": 0.49.0 + "@lexical/utils": 0.49.0 + lexical: 0.49.0 + peerDependencies: + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: 1ccdd615b1f9265f1950b343ddf09763e68117d9af9bb891e8cdf86d7e66f3976a3d4b57d3d9ce0ac66e7d726d833b4e680dbc545695dbf3691cdfad81f31772 languageName: node linkType: hard -"@lexical/code@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/code@npm:0.43.0" +"@lexical/code-prism@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/code-prism@npm:0.49.0" dependencies: - "@lexical/code-core": 0.43.0 - "@lexical/code-prism": 0.43.0 - lexical: 0.43.0 - checksum: f756ff54dba8c2791d72e03c1eb0a23f7e9c1e86d39d19e3288a9a7ad9c6fb18143066eb24aa7b03fdf573aa884f5e1cde630b60c052d5fea34314738b40d3d3 + "@lexical/code-core": 0.49.0 + "@lexical/extension": 0.49.0 + lexical: 0.49.0 + prismjs: ^1.30.0 + peerDependencies: + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: 59f228109d9c66db658459c5d73703a2786dc3423922241e33ad689f84d70c9e45c80a6631d6513a9a2bf54d2cb5142fd35725f0ff34671318b49a3711358e8f languageName: node linkType: hard -"@lexical/devtools-core@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/devtools-core@npm:0.43.0" +"@lexical/code@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/code@npm:0.49.0" dependencies: - "@lexical/html": 0.43.0 - "@lexical/link": 0.43.0 - "@lexical/mark": 0.43.0 - "@lexical/table": 0.43.0 - "@lexical/utils": 0.43.0 - lexical: 0.43.0 + "@lexical/code-core": 0.49.0 + "@lexical/code-prism": 0.49.0 + "@lexical/extension": 0.49.0 + lexical: 0.49.0 peerDependencies: - react: ">=17.x" - react-dom: ">=17.x" - checksum: 0728d7bc4e8e46ffe87a2a4e0ebdcfa246e30c3b0834a375b7d35599f0387ff61520955086e113d5c444cf4377585e2fa712b26cbf0e21b5c1989fd4981a8997 + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: 2895f3ac818e0817ff3e1a5e58d3ccacae1ad2fd0e06d4fdee586284beb9f5234fe2e4b4c39117535ec0b72c17934ea30da1a1061be0913baaf97756895a398a languageName: node linkType: hard -"@lexical/dragon@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/dragon@npm:0.43.0" +"@lexical/devtools-core@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/devtools-core@npm:0.49.0" dependencies: - "@lexical/extension": 0.43.0 - lexical: 0.43.0 - checksum: 0d1578c21fbcf5fde1d77a811257394c344144357e3cbb435954406066d5954eacf2e021d21fc3274173d4628e5e1e96b2767733ce7560360d967732a3337307 + "@lexical/html": 0.49.0 + "@lexical/link": 0.49.0 + "@lexical/mark": 0.49.0 + "@lexical/table": 0.49.0 + "@lexical/utils": 0.49.0 + lexical: 0.49.0 + peerDependencies: + react: ">=18.x" + react-dom: ">=18.x" + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: 0d26c2e9b18e5e7cd5f884483a7a6d44d68caf98bd88f5884e00408812e31b94dca58e60eaac2f20ca082941ebe2b8bae9a7eefb42d0995b175421de7e5c70e6 languageName: node linkType: hard -"@lexical/extension@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/extension@npm:0.43.0" +"@lexical/dragon@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/dragon@npm:0.49.0" dependencies: - "@lexical/utils": 0.43.0 - "@preact/signals-core": ^1.14.1 - lexical: 0.43.0 - checksum: 009793428622c2a9fb819db7bbd97611b3903bd83465c515e80b11a97d22b1fbc1cfd5d1c4d415f5a088c5811e5b6ec0a3fed9c76e336b6fe71a691bedf7b1d0 + "@lexical/extension": 0.49.0 + lexical: 0.49.0 + peerDependencies: + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: b1236d3f2c456ef7a635ec18dd99dfa38f2d3fc332ed77c5c30aacb6ce0f0a5ba0de333f2c75cdfd70c9f7f6d5bd10016c248dd1c5dab8c0f1549396c3fd4816 languageName: node linkType: hard -"@lexical/hashtag@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/hashtag@npm:0.43.0" +"@lexical/extension@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/extension@npm:0.49.0" dependencies: - "@lexical/text": 0.43.0 - "@lexical/utils": 0.43.0 - lexical: 0.43.0 - checksum: 2762215fd8c12012c255b92531e90a0b684a01503b91667fb5bc03f68106d3388917b9682091172e202a4799d87bb86ff5f5e0693d65df83209ecf906e3260d0 + "@lexical/internal": 0.49.0 + "@lexical/utils": 0.49.0 + "@preact/signals-core": ^1.14.1 + lexical: 0.49.0 + peerDependencies: + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: e9a187c80b263d962f049f1b296898069511b6b81fee33ea7620dfacb57e455b1337d40039489547b1b5c56d52625f2a4078d2b893103108a3bda1155d0c9edc languageName: node linkType: hard -"@lexical/headless@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/headless@npm:0.43.0" +"@lexical/hashtag@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/hashtag@npm:0.49.0" dependencies: - happy-dom: ^20.8.9 - lexical: 0.43.0 - checksum: 87fca41717dc26397a61bf6fab454506f5fad439277e96daed19b63da4e3bc11c7479422e516c4468fb1750ef92e0c32c24dea2895d178144adcfd0f0452f88d + "@lexical/text": 0.49.0 + "@lexical/utils": 0.49.0 + lexical: 0.49.0 + peerDependencies: + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: c4e8d7684dcf788c57468be959f6bf505d2fb33a8716a35609e3e64eaf4899c3d14933e64f1aa8632e0bb1aa5d8d7467b33d0e5738d5065ca7b1efb5bcbe4468 languageName: node linkType: hard -"@lexical/history@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/history@npm:0.43.0" +"@lexical/headless@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/headless@npm:0.49.0" dependencies: - "@lexical/extension": 0.43.0 - "@lexical/utils": 0.43.0 - lexical: 0.43.0 - checksum: 13ebbf8ddd2a4588114131cccf447e68dca8fba8afcbeb522072f58cd0bef64d808582d5fc5bc54b34f31d9ba6c312c775ad55d6a10ff04610499d6e3b1797c7 + "@lexical/internal": 0.49.0 + happy-dom: ^20.9.0 + lexical: 0.49.0 + peerDependencies: + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: 41081b060fe266d632c4d1c9099beb7c66a1fe4843db8f81cdc4c0d2c581eb4d6ce9bcd39ef5c72aca41a2d40b20ff21237eef1036d2ba2d2b7e79786d7e8596 languageName: node linkType: hard -"@lexical/html@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/html@npm:0.43.0" +"@lexical/history@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/history@npm:0.49.0" dependencies: - "@lexical/selection": 0.43.0 - "@lexical/utils": 0.43.0 - lexical: 0.43.0 - checksum: d62a738fff0a2d3631149018cf626510a92b8bd6959cc8775c367713f8031836c523427fdffdfe1067eb371acc6db14e970cd02883fbd19263b4d685062ba0ac + "@lexical/extension": 0.49.0 + "@lexical/utils": 0.49.0 + lexical: 0.49.0 + peerDependencies: + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: b063d87bf5dbc17872cf08aadb101915fa523eab28869df36b245b4939e3f084596727c1d21c6cf4685aedca65ad1ef321eefb203d5f5b549615f15fe397eba5 languageName: node linkType: hard -"@lexical/link@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/link@npm:0.43.0" +"@lexical/html@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/html@npm:0.49.0" dependencies: - "@lexical/extension": 0.43.0 - "@lexical/utils": 0.43.0 - lexical: 0.43.0 - checksum: ff6db3c0734d6a1cebdd17d7c406bafeb6169d0c48b87486dc8db12a484dbe717ce01d36c9041ea1f408adc4e9d3d6101842b5d4b6356a053e82b81ae346af36 + "@lexical/extension": 0.49.0 + "@lexical/internal": 0.49.0 + "@lexical/selection": 0.49.0 + "@lexical/utils": 0.49.0 + lexical: 0.49.0 + peerDependencies: + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: fdc3bb6d7cdc4e7613422fcc490a6ed987101b23019a1e9a204d8154edb5bc54c74884385d8e044e2900b63fac647abb90195c47f0a39f11151a5cd47e9eb2a0 languageName: node linkType: hard -"@lexical/list@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/list@npm:0.43.0" - dependencies: - "@lexical/extension": 0.43.0 - "@lexical/selection": 0.43.0 - "@lexical/utils": 0.43.0 - lexical: 0.43.0 - checksum: 00193c83c271f8d600fb7d4866c0f411cfd9e6df0ee20b6c4118160657aaa5d857c4118847eb016b02cef3a370f3f764b13b7a26320c53b21390298191ad6001 +"@lexical/internal@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/internal@npm:0.49.0" + peerDependencies: + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: d82e6225ecb9c0a84c922bdd6c7dd887d1fe02722cc6c2d96ce79fdfde2ca851ccd30d6b50e8f9a69ee300282e42143d1ff1904b687c32b5a43b68f54492ae26 languageName: node linkType: hard -"@lexical/mark@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/mark@npm:0.43.0" +"@lexical/link@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/link@npm:0.49.0" dependencies: - "@lexical/utils": 0.43.0 - lexical: 0.43.0 - checksum: d3beaa250fe2098859efc88bae8ba5d9d55acc12c081c03f229a28a6dfd65e56b91ab2f56784e809e5686fe354247a015afd867767cb26506db6c23a3f53f750 + "@lexical/extension": 0.49.0 + "@lexical/html": 0.49.0 + "@lexical/internal": 0.49.0 + "@lexical/utils": 0.49.0 + lexical: 0.49.0 + peerDependencies: + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: 6d0b9410a65ef919ce7424436b6d333e9c6bdb55e53a5bf47caaf278459596f2254c30f2ce81ac793e603b6fff7c2b7212aea24eede3615b1a7d88c456eeac70 languageName: node linkType: hard -"@lexical/markdown@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/markdown@npm:0.43.0" +"@lexical/list@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/list@npm:0.49.0" dependencies: - "@lexical/code-core": 0.43.0 - "@lexical/link": 0.43.0 - "@lexical/list": 0.43.0 - "@lexical/rich-text": 0.43.0 - "@lexical/text": 0.43.0 - "@lexical/utils": 0.43.0 - lexical: 0.43.0 - checksum: 2dbcbf2989f06cc2d0b29f5f7c3b60ce6781e372cf0970cd91c8ce170fd627daea1597e6850a2adfe16831497a4e916bd4b3c10fa7fab60a6d6bd28a2d400f28 + "@lexical/extension": 0.49.0 + "@lexical/html": 0.49.0 + "@lexical/internal": 0.49.0 + "@lexical/utils": 0.49.0 + lexical: 0.49.0 + peerDependencies: + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: ef552c0e7141ae2251a94ca0f21fabd06d76745e027d24b0122c0f40f788073efd40fdc26b500f0d2d243a4d1226c16cbc8e1b2d9eebdc681e3c1ad8686b8fec languageName: node linkType: hard -"@lexical/offset@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/offset@npm:0.43.0" +"@lexical/mark@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/mark@npm:0.49.0" dependencies: - lexical: 0.43.0 - checksum: b4a11fd7831658923919ceacdde97690b474a641c981b369964b1d7e455e09268c08df489d33f5c877c4d21340569254833d9725618400ce756b96640a3754c0 + "@lexical/utils": 0.49.0 + lexical: 0.49.0 + peerDependencies: + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: 20dbf436cc374913f20de26781683728b353677faf4b9db0c0b3b003d8a0688d0f6a52b0a338e477ffb8fc2741c6416b9944fb0346ba8b9172a71749e4bad7cd languageName: node linkType: hard -"@lexical/overflow@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/overflow@npm:0.43.0" +"@lexical/markdown@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/markdown@npm:0.49.0" dependencies: - lexical: 0.43.0 - checksum: 4ac442c4af98926d6cbd1d4d1c3f1064e79b40b103696d457e6a74b388aea3b3a99085ccb5f663cf9378be4fdb86d83872f549e015abb556bdf634dcd542ec06 + "@lexical/code-core": 0.49.0 + "@lexical/internal": 0.49.0 + "@lexical/link": 0.49.0 + "@lexical/list": 0.49.0 + "@lexical/rich-text": 0.49.0 + "@lexical/selection": 0.49.0 + "@lexical/text": 0.49.0 + "@lexical/utils": 0.49.0 + lexical: 0.49.0 + peerDependencies: + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: ce9cad472c756cac359bc2cbfaa5d06e6f21633206d8b5ef588e3527542df98d03d604b1dd84ef394de63a6b273b60b7d9f60d2c6e3b4c76220bf17d5a0ca51a languageName: node linkType: hard -"@lexical/plain-text@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/plain-text@npm:0.43.0" +"@lexical/overflow@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/overflow@npm:0.49.0" dependencies: - "@lexical/clipboard": 0.43.0 - "@lexical/dragon": 0.43.0 - "@lexical/selection": 0.43.0 - "@lexical/utils": 0.43.0 - lexical: 0.43.0 - checksum: 855460a77ac0fa81ff6a67476ad994c6faa741371f8e82177cc6c381dbf93cb721ea6a3d448fd934c2d7db86320e8df3f0b938d556563ff211417be4862451b4 + lexical: 0.49.0 + peerDependencies: + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: 32ceb2577ea1d2c06ceb8e980c894eeb74fa53814f7412697053fe1e03585871386df0d1361167ba2504f005e73f614974b8fa3f0c5c247c71404c092cac2ca4 languageName: node linkType: hard -"@lexical/react@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/react@npm:0.43.0" +"@lexical/plain-text@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/plain-text@npm:0.49.0" dependencies: - "@floating-ui/react": ^0.27.16 - "@lexical/devtools-core": 0.43.0 - "@lexical/dragon": 0.43.0 - "@lexical/extension": 0.43.0 - "@lexical/hashtag": 0.43.0 - "@lexical/history": 0.43.0 - "@lexical/link": 0.43.0 - "@lexical/list": 0.43.0 - "@lexical/mark": 0.43.0 - "@lexical/markdown": 0.43.0 - "@lexical/overflow": 0.43.0 - "@lexical/plain-text": 0.43.0 - "@lexical/rich-text": 0.43.0 - "@lexical/table": 0.43.0 - "@lexical/text": 0.43.0 - "@lexical/utils": 0.43.0 - "@lexical/yjs": 0.43.0 - lexical: 0.43.0 - react-error-boundary: ^6.0.0 + "@lexical/clipboard": 0.49.0 + "@lexical/dragon": 0.49.0 + "@lexical/extension": 0.49.0 + "@lexical/selection": 0.49.0 + "@lexical/utils": 0.49.0 + lexical: 0.49.0 peerDependencies: - react: ">=17.x" - react-dom: ">=17.x" - checksum: ea9fd24fbc86e394f68abfbc69d802d5137e5b2e2299b7cb4db5b105112ad5adb6d0d05f2d4e5601abb9fed6aa9097fff384ce78cf2dd462ad9afe8fb93242a3 + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: 624e8c4c14ff41f5fd031c410576936fc8b0a4b6d512afa67fedf704bb968d77b7ca306c0f5b3ea6aba42dbcb6849f0a793733c545bf24ca29ade77de2ba9a6a + languageName: node + linkType: hard + +"@lexical/react@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/react@npm:0.49.0" + dependencies: + "@floating-ui/react": ^0.27.19 + "@lexical/a11y": 0.49.0 + "@lexical/devtools-core": 0.49.0 + "@lexical/dragon": 0.49.0 + "@lexical/extension": 0.49.0 + "@lexical/hashtag": 0.49.0 + "@lexical/history": 0.49.0 + "@lexical/internal": 0.49.0 + "@lexical/link": 0.49.0 + "@lexical/list": 0.49.0 + "@lexical/mark": 0.49.0 + "@lexical/markdown": 0.49.0 + "@lexical/overflow": 0.49.0 + "@lexical/plain-text": 0.49.0 + "@lexical/rich-text": 0.49.0 + "@lexical/table": 0.49.0 + "@lexical/text": 0.49.0 + "@lexical/utils": 0.49.0 + "@lexical/yjs": 0.49.0 + lexical: 0.49.0 + peerDependencies: + react: ">=18.x" + react-dom: ">=18.x" + typescript: ">=5.2" + yjs: ">=13.5.22" + peerDependenciesMeta: + typescript: + optional: true + yjs: + optional: true + checksum: 91b4078c1ffee4f15a3b577b5335ab894ad258aafc06c4a0744806cd78890ca39a6580d018a83e60b991a545ae5ae7aa789897a2d3ef019456b6f5c2f5a9a737 languageName: node linkType: hard -"@lexical/rich-text@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/rich-text@npm:0.43.0" +"@lexical/rich-text@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/rich-text@npm:0.49.0" dependencies: - "@lexical/clipboard": 0.43.0 - "@lexical/dragon": 0.43.0 - "@lexical/selection": 0.43.0 - "@lexical/utils": 0.43.0 - lexical: 0.43.0 - checksum: 89b5c3ef338b7695f7262caa166ce299441d4baf67bacfb56cee36b705aeb3b899cd2cd572ef2e6382e8fccc9f38777d570f488533028905b1b0232e7a2daca4 + "@lexical/clipboard": 0.49.0 + "@lexical/dragon": 0.49.0 + "@lexical/extension": 0.49.0 + "@lexical/html": 0.49.0 + "@lexical/selection": 0.49.0 + "@lexical/utils": 0.49.0 + lexical: 0.49.0 + peerDependencies: + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: 2c3525f9bda3430da246b31a4ac2ffcc419bb3feff6731b87ba128d6b1e264a24dfe0183a6c792c076a483bf477a140abf0da349626431aa85bc2fc64ab22837 languageName: node linkType: hard -"@lexical/selection@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/selection@npm:0.43.0" +"@lexical/selection@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/selection@npm:0.49.0" dependencies: - lexical: 0.43.0 - checksum: 20a0896ffeee42b796e1fc2288e537c5f1d3f5529c99d373f8601069e2665e424dbde5cd7a8c3e186cc5c63b993b36132d706a0b44ca237e2ba35858aa99ab18 + "@lexical/internal": 0.49.0 + lexical: 0.49.0 + peerDependencies: + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: ecd0f37c3194db439c4c6d4cb9adbf687c545ec73561acfd257b4556eba849555f0c830d823029f60760988b9c509121d421636ff68074d45e61e7c04c45de5e languageName: node linkType: hard -"@lexical/table@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/table@npm:0.43.0" +"@lexical/table@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/table@npm:0.49.0" dependencies: - "@lexical/clipboard": 0.43.0 - "@lexical/extension": 0.43.0 - "@lexical/utils": 0.43.0 - lexical: 0.43.0 - checksum: 0b5a658978abb1737ed5f3ea8d3ceb315780382c7799c2c7154677333d155aaa285fe93991493f056aafd4d09d533038004672a401dbbf37a1715b2edd02a020 + "@lexical/clipboard": 0.49.0 + "@lexical/extension": 0.49.0 + "@lexical/html": 0.49.0 + "@lexical/internal": 0.49.0 + "@lexical/utils": 0.49.0 + lexical: 0.49.0 + peerDependencies: + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: f69bfad8636c011f9dc3f0d33f56c2b99c47ada9ae41c1cbb50133cf13ca19f2f7da9c37729d6dc93870a7c3d2a655606c5b157ee73b2064eec163a2badcf778 languageName: node linkType: hard -"@lexical/text@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/text@npm:0.43.0" +"@lexical/text@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/text@npm:0.49.0" dependencies: - lexical: 0.43.0 - checksum: d76745405335c09fc43838e3f01c9ee6b419d9bae86c510c67b880d32ecab95e2e3fdd474dff4a7872a6f65c65e8e0e882f60520dd720724842be456103d6c84 + "@lexical/internal": 0.49.0 + lexical: 0.49.0 + peerDependencies: + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: 1021f8cbc549d0a3bdcd57ecca0e1ada4b9b1ed3698c814b4223a1c88b4a227f4ecc869dbed6b9dc23487367aa0c5357a5fc90d5fc7c62b6346970cb7df58a37 languageName: node linkType: hard -"@lexical/utils@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/utils@npm:0.43.0" +"@lexical/utils@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/utils@npm:0.49.0" dependencies: - "@lexical/selection": 0.43.0 - lexical: 0.43.0 - checksum: d16c04358238b47247d5798315759dab9cc8df9dca82228577824ccb9de9484a73e649fa7b436347a2816c27fc3a3ab8594241b14082405e7a4197ad7ade8cd1 + "@lexical/internal": 0.49.0 + "@lexical/selection": 0.49.0 + lexical: 0.49.0 + peerDependencies: + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: 96d636c867712ec242de4de0b35790c3b2731f30f70df5198ff345ea587e2ef8180e96ca13d8a8ab22453fe4226327e97cea1cf0c374bdfcb98f33ca1e5968a1 languageName: node linkType: hard -"@lexical/yjs@npm:0.43.0": - version: 0.43.0 - resolution: "@lexical/yjs@npm:0.43.0" +"@lexical/yjs@npm:0.49.0": + version: 0.49.0 + resolution: "@lexical/yjs@npm:0.49.0" dependencies: - "@lexical/offset": 0.43.0 - "@lexical/selection": 0.43.0 - lexical: 0.43.0 + "@lexical/internal": 0.49.0 + "@lexical/selection": 0.49.0 + lexical: 0.49.0 peerDependencies: + typescript: ">=5.2" yjs: ">=13.5.22" - checksum: b28f15eed25629735ec5e8710ff84e18a595157a0eb38827ac1cc9e3496b6fae5c03cdfca9cee642c720727f6e5d4ccce7c4e464aaf938b7b3d0b1f71f9822bc + peerDependenciesMeta: + typescript: + optional: true + checksum: 994063af4251f450c41dce7268e8e2a529f0fc4b45a261fbc0c7dcaa56ffee1a94b18eb692dd794795f000f2583b76a734b4bf49e09403b3bdda58759d77d192 languageName: node linkType: hard @@ -9383,7 +9609,7 @@ __metadata: reflect-metadata: ^0.1.13 ts-jest: ^29.0.3 ttag: ^1.8.12 - typescript: "*" + typescript: 5.8.3 languageName: unknown linkType: soft @@ -9402,11 +9628,11 @@ __metadata: "@lerna-lite/version": ^4.10.5 "@standardnotes/config": ^2.4.3 "@standardnotes/snjs": "workspace:*" - "@typescript-eslint/eslint-plugin": ^6.2.0 - "@typescript-eslint/parser": ^6.2.0 + "@typescript-eslint/eslint-plugin": ^8.32.0 + "@typescript-eslint/parser": ^8.32.0 changelog-parser: ^2.8.1 css-loader: ^6.8.1 - eslint: ^8.45.0 + eslint: ^8.57.0 eslint-plugin-prettier: ^5.0.0 lint-staged: ^13.2.3 npm-check-updates: ^16.10.17 @@ -9524,7 +9750,7 @@ __metadata: eslint: "*" eslint-config-prettier: ^8.9.0 ts-loader: ^9.4.2 - typescript: "*" + typescript: 5.8.3 web-ext: ^7.5.0 webextension-polyfill: ^0.10.0 webpack: "*" @@ -9623,7 +9849,7 @@ __metadata: ts-loader: ^9.4.1 ts-node: ^10.9.1 ttag: ^1.8.12 - typescript: "*" + typescript: 5.8.3 webpack: "*" webpack-merge: "*" languageName: unknown @@ -9745,7 +9971,7 @@ __metadata: reflect-metadata: ^0.1.13 ts-jest: ^29.0.3 ttag: ^1.8.12 - typescript: "*" + typescript: 5.8.3 languageName: unknown linkType: soft @@ -9763,7 +9989,7 @@ __metadata: reflect-metadata: ^0.1.13 ts-jest: ^29.0.3 ttag: ^1.8.12 - typescript: "*" + typescript: 5.8.3 languageName: unknown linkType: soft @@ -9795,7 +10021,7 @@ __metadata: reflect-metadata: ^0.1.13 ts-jest: ^29.0.3 ts-node: ^10.9.1 - typescript: "*" + typescript: 5.8.3 languageName: unknown linkType: soft @@ -9849,7 +10075,7 @@ __metadata: jest: ^29.3.1 reflect-metadata: ^0.1.13 ts-jest: ^29.0.3 - typescript: "*" + typescript: 5.8.3 languageName: unknown linkType: soft @@ -9920,7 +10146,7 @@ __metadata: react-dom: ^18.2.0 ts-jest: ^29.0.3 ts-loader: ^9.4.1 - typescript: "*" + typescript: 5.8.3 webpack: "*" webpack-cli: "*" webpack-dev-server: "*" @@ -10032,7 +10258,7 @@ __metadata: react-native-version-info: ^1.1.1 react-native-webview: 13.13.5 ttag: ^1.8.12 - typescript: "*" + typescript: 5.8.3 languageName: unknown linkType: soft @@ -10063,7 +10289,7 @@ __metadata: reflect-metadata: ^0.1.13 ts-jest: ^29.0.3 ttag: ^1.8.12 - typescript: "*" + typescript: 5.8.3 languageName: unknown linkType: soft @@ -10089,7 +10315,7 @@ __metadata: "@standardnotes/mobile": "workspace:*" "@standardnotes/web": "workspace:*" "@types/node": "*" - typescript: "*" + typescript: 5.8.3 languageName: unknown linkType: soft @@ -10107,7 +10333,7 @@ __metadata: reflect-metadata: ^0.1.13 ts-jest: ^29.0.3 ttag: ^1.8.12 - typescript: "*" + typescript: 5.8.3 languageName: unknown linkType: soft @@ -10204,7 +10430,7 @@ __metadata: reflect-metadata: ^0.1.13 ts-jest: ^29.0.3 ttag: ^1.8.12 - typescript: "*" + typescript: 5.8.3 languageName: unknown linkType: soft @@ -10246,7 +10472,7 @@ __metadata: eslint: "*" eslint-plugin-prettier: "*" reflect-metadata: ^0.1.13 - typescript: "*" + typescript: 5.8.3 languageName: unknown linkType: soft @@ -10280,7 +10506,7 @@ __metadata: "@types/libsodium-wrappers": 0.7.10 "@types/node": ^18.11.9 "@types/uuid": ^8.3.4 - "@typescript-eslint/eslint-plugin": ^5.43.0 + "@typescript-eslint/eslint-plugin": "*" babel-loader: ^9.1.0 buffer: ^6.0.3 chai: ^4.3.7 @@ -10293,7 +10519,7 @@ __metadata: serve-static: ^1.15.0 ts-loader: ^9.4.1 typedarray-to-buffer: ^4.0.0 - typescript: "*" + typescript: 5.1.6 uuid: ^9.0.0 webpack: "*" webpack-cli: "*" @@ -10351,7 +10577,7 @@ __metadata: ts-node: ^10.9.1 tscpaths: 0.0.9 ttag: ^1.8.12 - typescript: "*" + typescript: 5.8.3 uuid: ^9.0.0 webpack: "*" webpack-cli: "*" @@ -10402,7 +10628,7 @@ __metadata: sass: ^1.77.6 sass-loader: "*" style-loader: ~3.3.1 - typescript: "*" + typescript: 5.8.3 webpack: "*" languageName: unknown linkType: soft @@ -10480,7 +10706,7 @@ __metadata: prettier: "*" react: ^18.2.0 react-dom: ^18.2.0 - typescript: "*" + typescript: 5.8.3 languageName: unknown linkType: soft @@ -10507,7 +10733,7 @@ __metadata: mobx-react-lite: ^3.4.2 ts-jest: ^29.0.3 ttag: ^1.8.12 - typescript: "*" + typescript: 5.8.3 languageName: unknown linkType: soft @@ -10521,7 +10747,7 @@ __metadata: "@types/jsdom": ^20.0.1 "@types/lodash": ^4.14.189 "@types/node": ^18.11.9 - "@typescript-eslint/eslint-plugin": ^5.43.0 + "@typescript-eslint/eslint-plugin": "*" dompurify: ^2.4.1 eslint: "*" eslint-plugin-prettier: "*" @@ -10530,7 +10756,7 @@ __metadata: lodash: ^4.17.21 reflect-metadata: ^0.1.13 ts-jest: ^29.0.3 - typescript: "*" + typescript: 5.8.3 languageName: unknown linkType: soft @@ -10544,14 +10770,14 @@ __metadata: "@babel/plugin-transform-react-jsx": ^7.19.0 "@babel/preset-env": "*" "@babel/preset-typescript": ^7.21.5 - "@lexical/clipboard": 0.43.0 - "@lexical/code": 0.43.0 - "@lexical/headless": 0.43.0 - "@lexical/link": 0.43.0 - "@lexical/list": 0.43.0 - "@lexical/react": 0.43.0 - "@lexical/rich-text": 0.43.0 - "@lexical/utils": 0.43.0 + "@lexical/clipboard": 0.49.0 + "@lexical/code": 0.49.0 + "@lexical/headless": 0.49.0 + "@lexical/link": 0.49.0 + "@lexical/list": 0.49.0 + "@lexical/react": 0.49.0 + "@lexical/rich-text": 0.49.0 + "@lexical/utils": 0.49.0 "@pmmmwh/react-refresh-webpack-plugin": ^0.5.10 "@radix-ui/react-slot": ^1.0.1 "@react-pdf/renderer": ^4.4.1 @@ -10604,7 +10830,7 @@ __metadata: identity-obj-proxy: ^3.0.0 jest: ^29.3.1 jest-environment-jsdom: ^29.3.1 - lexical: 0.43.0 + lexical: 0.49.0 lint-staged: ">=13" mini-css-extract-plugin: ^2.7.2 minimatch: ^5.1.1 @@ -10626,7 +10852,7 @@ __metadata: ts-jest: ^29.0.3 ts-loader: ^9.4.2 ttag: ^1.8.12 - typescript: "*" + typescript: 5.8.3 unicode-script: ^1.2.0 webextension-polyfill: ^0.10.0 webpack: "*" @@ -11277,7 +11503,7 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.12, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": version: 7.0.12 resolution: "@types/json-schema@npm:7.0.12" checksum: 00239e97234eeb5ceefb0c1875d98ade6e922bfec39dd365ec6bd360b5c2f825e612ac4f6e5f1d13601b8b30f378f15e6faa805a3a732f4a1bbe61915163d293 @@ -11413,53 +11639,39 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:^20.2.5": - version: 20.4.5 - resolution: "@types/node@npm:20.4.5" - checksum: 36a0304a8dc346a1b2d2edac4c4633eecf70875793d61a5274d0df052d7a7af7a8e34f29884eac4fbd094c4f0201477dcb39c0ecd3307ca141688806538d1138 +"@types/node@npm:*, @types/node@npm:>=12.12.47, @types/node@npm:>=13.7.0, @types/node@npm:>=20.0.0": + version: 26.4.0 + resolution: "@types/node@npm:26.4.0" + dependencies: + undici-types: ~8.3.0 + checksum: ee60581fe5562d7f09397fb142b9b36333f236905623c58940fe5f393d9412780c6cf061dac2050d10b97012d267a6ca40edde008b11263b30f2e4430a364bfb languageName: node linkType: hard "@types/node@npm:18, @types/node@npm:^18.11.9": - version: 18.17.1 - resolution: "@types/node@npm:18.17.1" - checksum: 56201bda9a2d05d68602df63b4e67b0545ac8c6d0280bd5fb31701350a978a577a027501fbf49db99bf177f2242ebd1244896bfd35e89042d5bd7dfebff28d4e - languageName: node - linkType: hard - -"@types/node@npm:>=12.12.47, @types/node@npm:>=13.7.0": - version: 20.9.4 - resolution: "@types/node@npm:20.9.4" + version: 18.19.130 + resolution: "@types/node@npm:18.19.130" dependencies: undici-types: ~5.26.4 - checksum: 619144cfee8235f692009e4268a8b80ef4ec496670273ab1cef04e4a053b471f391af6701e65f2f91a107256933d902b6caec079d551b109e981b0b706624815 - languageName: node - linkType: hard - -"@types/node@npm:>=20.0.0": - version: 25.6.0 - resolution: "@types/node@npm:25.6.0" - dependencies: - undici-types: ~7.19.0 - checksum: 98945eb59909a08868ccac203022f122b5549448ef8628de9eac3fe20481467cd6ec32af819fd432695f67ac21ebbbc69c8a141de6c6455edaf6e717e2cb89c9 + checksum: b7032363581c416e721a88cffdc2b47662337cacd20f8294f5619a1abf79615c7fef1521964c2aa9d36ed6aae733e1a03e8c704661bd5a0c2f34b390f41ea395 languageName: node linkType: hard -"@types/node@npm:^22.0.0": - version: 22.19.9 - resolution: "@types/node@npm:22.19.9" +"@types/node@npm:^20.2.5": + version: 20.19.43 + resolution: "@types/node@npm:20.19.43" dependencies: undici-types: ~6.21.0 - checksum: 8a0ef0ddcbdd3290eb9eae8b7c5f6d703d2fc98be726e386c4c0f9c221370326e7a0634f97c4e6d24b7bf2d1d76c89336de8d71f5eebfcbca392d277e23b4339 + checksum: c959b5d256b073da95aa1892acb071b487c2f652f98b2cb75e92657d51b99bd691aa811023fb13acd6752bc1bcb75dc579db02190a4da70926cf6f372011bc4e languageName: node linkType: hard -"@types/node@npm:^22.7.7": - version: 22.14.1 - resolution: "@types/node@npm:22.14.1" +"@types/node@npm:^22.0.0, @types/node@npm:^22.7.7": + version: 22.20.1 + resolution: "@types/node@npm:22.20.1" dependencies: undici-types: ~6.21.0 - checksum: e22363f40ac8290da2bb5261c2b348241fd93b000908cefd3c56575df9d4f6b8d102fc8631275eac7ec4a9e0ac4f38f01c9d8104ebbda76c936aef96fd1e55f3 + checksum: 03cc6d9941229b13fa9ab4e477d6550e85ed3e3d5f85734c03c84e0c18346d8a7c9f22b93570bb9cb4a44ffa176279f8a7ab3cd328fbdcf5d4e6ec541ce03f21 languageName: node linkType: hard @@ -11601,7 +11813,7 @@ __metadata: languageName: node linkType: hard -"@types/semver@npm:^7.3.12, @types/semver@npm:^7.3.13, @types/semver@npm:^7.5.0": +"@types/semver@npm:^7.3.12, @types/semver@npm:^7.3.13": version: 7.5.0 resolution: "@types/semver@npm:7.5.0" checksum: 0a64b9b9c7424d9a467658b18dd70d1d781c2d6f033096a6e05762d20ebbad23c1b69b0083b0484722aabf35640b78ccc3de26368bcae1129c87e9df028a22e2 @@ -11776,129 +11988,40 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:*, @typescript-eslint/eslint-plugin@npm:^6.2.0": - version: 6.2.0 - resolution: "@typescript-eslint/eslint-plugin@npm:6.2.0" - dependencies: - "@eslint-community/regexpp": ^4.5.1 - "@typescript-eslint/scope-manager": 6.2.0 - "@typescript-eslint/type-utils": 6.2.0 - "@typescript-eslint/utils": 6.2.0 - "@typescript-eslint/visitor-keys": 6.2.0 - debug: ^4.3.4 - graphemer: ^1.4.0 - ignore: ^5.2.4 - natural-compare: ^1.4.0 - natural-compare-lite: ^1.4.0 - semver: ^7.5.4 - ts-api-utils: ^1.0.1 - peerDependencies: - "@typescript-eslint/parser": ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 1ef46b1c2e3e2013f66b4982dcfb9e198a3824cc1503b843e553201a108a3cb6e4adfb2c486158c89d993e5e4b9d99aeb2af28297e43da98c4750dae8f5131b5 - languageName: node - linkType: hard - -"@typescript-eslint/eslint-plugin@npm:^5.12.1, @typescript-eslint/eslint-plugin@npm:^5.43.0": - version: 5.62.0 - resolution: "@typescript-eslint/eslint-plugin@npm:5.62.0" - dependencies: - "@eslint-community/regexpp": ^4.4.0 - "@typescript-eslint/scope-manager": 5.62.0 - "@typescript-eslint/type-utils": 5.62.0 - "@typescript-eslint/utils": 5.62.0 - debug: ^4.3.4 - graphemer: ^1.4.0 - ignore: ^5.2.0 - natural-compare-lite: ^1.4.0 - semver: ^7.3.7 - tsutils: ^3.21.0 - peerDependencies: - "@typescript-eslint/parser": ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: fc104b389c768f9fa7d45a48c86d5c1ad522c1d0512943e782a56b1e3096b2cbcc1eea3fcc590647bf0658eef61aac35120a9c6daf979bf629ad2956deb516a1 - languageName: node - linkType: hard - -"@typescript-eslint/eslint-plugin@npm:^7.1.1": - version: 7.18.0 - resolution: "@typescript-eslint/eslint-plugin@npm:7.18.0" +"@typescript-eslint/eslint-plugin@npm:8.32.1": + version: 8.32.1 + resolution: "@typescript-eslint/eslint-plugin@npm:8.32.1" dependencies: "@eslint-community/regexpp": ^4.10.0 - "@typescript-eslint/scope-manager": 7.18.0 - "@typescript-eslint/type-utils": 7.18.0 - "@typescript-eslint/utils": 7.18.0 - "@typescript-eslint/visitor-keys": 7.18.0 + "@typescript-eslint/scope-manager": 8.32.1 + "@typescript-eslint/type-utils": 8.32.1 + "@typescript-eslint/utils": 8.32.1 + "@typescript-eslint/visitor-keys": 8.32.1 graphemer: ^1.4.0 - ignore: ^5.3.1 + ignore: ^7.0.0 natural-compare: ^1.4.0 - ts-api-utils: ^1.3.0 - peerDependencies: - "@typescript-eslint/parser": ^7.0.0 - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: dfcf150628ca2d4ccdfc20b46b0eae075c2f16ef5e70d9d2f0d746acf4c69a09f962b93befee01a529f14bbeb3e817b5aba287d7dd0edc23396bc5ed1f448c3d - languageName: node - linkType: hard - -"@typescript-eslint/parser@npm:*, @typescript-eslint/parser@npm:^6.2.0": - version: 6.2.0 - resolution: "@typescript-eslint/parser@npm:6.2.0" - dependencies: - "@typescript-eslint/scope-manager": 6.2.0 - "@typescript-eslint/types": 6.2.0 - "@typescript-eslint/typescript-estree": 6.2.0 - "@typescript-eslint/visitor-keys": 6.2.0 - debug: ^4.3.4 + ts-api-utils: ^2.1.0 peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: ba79674f2d4599a24c7afa8f18ec28243b80df39f82a4a6b7a4ce7c584ec37d4ade40a3aa058d597a5cbf71647a40d0995866748d14cf4b52d8ad4420d10f669 + "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 316fe6851a0f8967123db812e673aae286becb69839955f2855f3ef55aad440820e38c4f90534094ea1a8407adb6b2817dd6b76d315b28827afa6db1d2ff50ca languageName: node linkType: hard -"@typescript-eslint/parser@npm:^5.12.1": - version: 5.62.0 - resolution: "@typescript-eslint/parser@npm:5.62.0" +"@typescript-eslint/parser@npm:8.32.1": + version: 8.32.1 + resolution: "@typescript-eslint/parser@npm:8.32.1" dependencies: - "@typescript-eslint/scope-manager": 5.62.0 - "@typescript-eslint/types": 5.62.0 - "@typescript-eslint/typescript-estree": 5.62.0 + "@typescript-eslint/scope-manager": 8.32.1 + "@typescript-eslint/types": 8.32.1 + "@typescript-eslint/typescript-estree": 8.32.1 + "@typescript-eslint/visitor-keys": 8.32.1 debug: ^4.3.4 peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: d168f4c7f21a7a63f47002e2d319bcbb6173597af5c60c1cf2de046b46c76b4930a093619e69faf2d30214c29ab27b54dcf1efc7046a6a6bd6f37f59a990e752 - languageName: node - linkType: hard - -"@typescript-eslint/parser@npm:^7.1.1": - version: 7.18.0 - resolution: "@typescript-eslint/parser@npm:7.18.0" - dependencies: - "@typescript-eslint/scope-manager": 7.18.0 - "@typescript-eslint/types": 7.18.0 - "@typescript-eslint/typescript-estree": 7.18.0 - "@typescript-eslint/visitor-keys": 7.18.0 - debug: ^4.3.4 - peerDependencies: - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 132b56ac3b2d90b588d61d005a70f6af322860974225b60201cbf45abf7304d67b7d8a6f0ade1c188ac4e339884e78d6dcd450417f1481998f9ddd155bab0801 + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 49d491e9a7761a043c47f4406ddc4a834a2cc814233b4170db9fe1521d0790169e3eb43995575cde6a4ab8bf3dfa1b13d8d050e2700fb8c44af3f71d906ed4df languageName: node linkType: hard @@ -11912,74 +12035,28 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:6.2.0": - version: 6.2.0 - resolution: "@typescript-eslint/scope-manager@npm:6.2.0" +"@typescript-eslint/scope-manager@npm:8.32.1": + version: 8.32.1 + resolution: "@typescript-eslint/scope-manager@npm:8.32.1" dependencies: - "@typescript-eslint/types": 6.2.0 - "@typescript-eslint/visitor-keys": 6.2.0 - checksum: 75a650a3ede78bf841a3bf3f4880b94a06aa4c420f399a6fb9faee19a2e5998f7e330a13f78e07c4958413345bab58b0593f09fa163a77e8f6353012e795660c + "@typescript-eslint/types": 8.32.1 + "@typescript-eslint/visitor-keys": 8.32.1 + checksum: d9b4b320f092ebd8431bcf3a6ea1780141289d1575235bb15e614a7ff4c38c3a090a9920dc7e806eca6ed05d1552ca789815600f429c5f99db33e797f2f521bd languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/scope-manager@npm:7.18.0" +"@typescript-eslint/type-utils@npm:8.32.1": + version: 8.32.1 + resolution: "@typescript-eslint/type-utils@npm:8.32.1" dependencies: - "@typescript-eslint/types": 7.18.0 - "@typescript-eslint/visitor-keys": 7.18.0 - checksum: b982c6ac13d8c86bb3b949c6b4e465f3f60557c2ccf4cc229799827d462df56b9e4d3eaed7711d79b875422fc3d71ec1ebcb5195db72134d07c619e3c5506b57 - languageName: node - linkType: hard - -"@typescript-eslint/type-utils@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/type-utils@npm:5.62.0" - dependencies: - "@typescript-eslint/typescript-estree": 5.62.0 - "@typescript-eslint/utils": 5.62.0 + "@typescript-eslint/typescript-estree": 8.32.1 + "@typescript-eslint/utils": 8.32.1 debug: ^4.3.4 - tsutils: ^3.21.0 + ts-api-utils: ^2.1.0 peerDependencies: - eslint: "*" - peerDependenciesMeta: - typescript: - optional: true - checksum: fc41eece5f315dfda14320be0da78d3a971d650ea41300be7196934b9715f3fe1120a80207551eb71d39568275dbbcf359bde540d1ca1439d8be15e9885d2739 - languageName: node - linkType: hard - -"@typescript-eslint/type-utils@npm:6.2.0": - version: 6.2.0 - resolution: "@typescript-eslint/type-utils@npm:6.2.0" - dependencies: - "@typescript-eslint/typescript-estree": 6.2.0 - "@typescript-eslint/utils": 6.2.0 - debug: ^4.3.4 - ts-api-utils: ^1.0.1 - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 9adb542fb3c49bf5c1fecca98549bee3fcfd28a0ceee5227817a1ceb0841b912e322f58ba1b3ca98a47fc998cbec0a3d69cacb9cf9ac4be1d133b11bb9d53aae - languageName: node - linkType: hard - -"@typescript-eslint/type-utils@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/type-utils@npm:7.18.0" - dependencies: - "@typescript-eslint/typescript-estree": 7.18.0 - "@typescript-eslint/utils": 7.18.0 - debug: ^4.3.4 - ts-api-utils: ^1.3.0 - peerDependencies: - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 68fd5df5146c1a08cde20d59b4b919acab06a1b06194fe4f7ba1b928674880249890785fbbc97394142f2ef5cff5a7fba9b8a940449e7d5605306505348e38bc + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 57868e21cc0d9daaaa443eef5ba92352806a558024183b6c4763345024ae06a064bacdfc771942db321a31c324ed5c38be3badc4b7902e83abf42c9279e3052e languageName: node linkType: hard @@ -11990,17 +12067,10 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:6.2.0": - version: 6.2.0 - resolution: "@typescript-eslint/types@npm:6.2.0" - checksum: 81878866cf7f49dbc335cce05adfbd994f348e2ebe9538fd6e934fa82e44186c16b2112b8d5f9f4c528ea127be157185be5e35e4913db4880d20ac495785baaf - languageName: node - linkType: hard - -"@typescript-eslint/types@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/types@npm:7.18.0" - checksum: 7df2750cd146a0acd2d843208d69f153b458e024bbe12aab9e441ad2c56f47de3ddfeb329c4d1ea0079e2577fea4b8c1c1ce15315a8d49044586b04fedfe7a4d +"@typescript-eslint/types@npm:8.32.1": + version: 8.32.1 + resolution: "@typescript-eslint/types@npm:8.32.1" + checksum: e7062c51507c5aa2a18991965b1212ffd02d9ed815277c99e51985d55d4f2e692861e807e1d5c2e0a56dfbe655de3971a9be9e1215b8b72683f29473554c014b languageName: node linkType: hard @@ -12022,44 +12092,40 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:6.2.0": - version: 6.2.0 - resolution: "@typescript-eslint/typescript-estree@npm:6.2.0" +"@typescript-eslint/typescript-estree@npm:8.32.1": + version: 8.32.1 + resolution: "@typescript-eslint/typescript-estree@npm:8.32.1" dependencies: - "@typescript-eslint/types": 6.2.0 - "@typescript-eslint/visitor-keys": 6.2.0 + "@typescript-eslint/types": 8.32.1 + "@typescript-eslint/visitor-keys": 8.32.1 debug: ^4.3.4 - globby: ^11.1.0 + fast-glob: ^3.3.2 is-glob: ^4.0.3 - semver: ^7.5.4 - ts-api-utils: ^1.0.1 - peerDependenciesMeta: - typescript: - optional: true - checksum: 5bfd5bf09feff6c4807cfa65cf407dd0249f7d487d6820941dd05999ee35cacdabaacadf23c92b90b57920025e93088e93924bc8df41f393ac0366538eb2902f + minimatch: ^9.0.4 + semver: ^7.6.0 + ts-api-utils: ^2.1.0 + peerDependencies: + typescript: ">=4.8.4 <5.9.0" + checksum: d7552cc2ce92b47e510a97e783c0416e5b51858b85ef43432841d01e96f6c9b2b7b7afb4c7364eabc4435a7c2e255f9d213f9001df4fdd37b1ac7f05e025f163 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/typescript-estree@npm:7.18.0" +"@typescript-eslint/utils@npm:8.32.1": + version: 8.32.1 + resolution: "@typescript-eslint/utils@npm:8.32.1" dependencies: - "@typescript-eslint/types": 7.18.0 - "@typescript-eslint/visitor-keys": 7.18.0 - debug: ^4.3.4 - globby: ^11.1.0 - is-glob: ^4.0.3 - minimatch: ^9.0.4 - semver: ^7.6.0 - ts-api-utils: ^1.3.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: c82d22ec9654973944f779eb4eb94c52f4a6eafaccce2f0231ff7757313f3a0d0256c3252f6dfe6d43f57171d09656478acb49a629a9d0c193fb959bc3f36116 + "@eslint-community/eslint-utils": ^4.7.0 + "@typescript-eslint/scope-manager": 8.32.1 + "@typescript-eslint/types": 8.32.1 + "@typescript-eslint/typescript-estree": 8.32.1 + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: dcec9610aa1912f7f3eec25fa1baee00b34d4d7db841546fb828796b6678c0cb86ad9b32d1b24f31c34de7fe133fdd0abeef05d4933bf8ac5c089579b5eacb53 languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.62.0, @typescript-eslint/utils@npm:^5.10.0": +"@typescript-eslint/utils@npm:^5.10.0": version: 5.62.0 resolution: "@typescript-eslint/utils@npm:5.62.0" dependencies: @@ -12077,37 +12143,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:6.2.0": - version: 6.2.0 - resolution: "@typescript-eslint/utils@npm:6.2.0" - dependencies: - "@eslint-community/eslint-utils": ^4.4.0 - "@types/json-schema": ^7.0.12 - "@types/semver": ^7.5.0 - "@typescript-eslint/scope-manager": 6.2.0 - "@typescript-eslint/types": 6.2.0 - "@typescript-eslint/typescript-estree": 6.2.0 - semver: ^7.5.4 - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - checksum: 54f062412a8ce23554ca4063d275327981640426b1ecd1073d30dd8b9464ff7af68b8f9f6272033bad9307815d56f2f922faa8a995421efdccd6165dd62557e1 - languageName: node - linkType: hard - -"@typescript-eslint/utils@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/utils@npm:7.18.0" - dependencies: - "@eslint-community/eslint-utils": ^4.4.0 - "@typescript-eslint/scope-manager": 7.18.0 - "@typescript-eslint/types": 7.18.0 - "@typescript-eslint/typescript-estree": 7.18.0 - peerDependencies: - eslint: ^8.56.0 - checksum: 751dbc816dab8454b7dc6b26a56671dbec08e3f4ef94c2661ce1c0fc48fa2d05a64e03efe24cba2c22d03ba943cd3c5c7a5e1b7b03bbb446728aec1c640bd767 - languageName: node - linkType: hard - "@typescript-eslint/visitor-keys@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" @@ -12118,23 +12153,20 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:6.2.0": - version: 6.2.0 - resolution: "@typescript-eslint/visitor-keys@npm:6.2.0" +"@typescript-eslint/visitor-keys@npm:8.32.1": + version: 8.32.1 + resolution: "@typescript-eslint/visitor-keys@npm:8.32.1" dependencies: - "@typescript-eslint/types": 6.2.0 - eslint-visitor-keys: ^3.4.1 - checksum: b400c657c7e5c65b289304f6f5cee6536f23b3441306f82aff2d2e047e13770330715d4f7b29e734b0b2dab6030e41028894d5cd441696115bfea43ad18b2c54 + "@typescript-eslint/types": 8.32.1 + eslint-visitor-keys: ^4.2.0 + checksum: 1393562834dc5284f17cefa6d90dec18e6ed3e27b47244bf53522bc97e5172db7f2c21ceaa101dfc31be1185ba328e157a6031c1cc37293e64e1bf543245b3f6 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/visitor-keys@npm:7.18.0" - dependencies: - "@typescript-eslint/types": 7.18.0 - eslint-visitor-keys: ^3.4.3 - checksum: 6e806a7cdb424c5498ea187a5a11d0fef7e4602a631be413e7d521e5aec1ab46ba00c76cfb18020adaa0a8c9802354a163bfa0deb74baa7d555526c7517bb158 +"@ungap/structured-clone@npm:^1.2.0": + version: 1.4.0 + resolution: "@ungap/structured-clone@npm:1.4.0" + checksum: 2a69d69c54600b0e7acd1755cfd4f80e2bf5a57f999d4c3f4023ef69d94ca8a86520e3369edb635f0925c67af87c7f0b6f1a7177a682e8bbb66fb7973180102d languageName: node linkType: hard @@ -14088,6 +14120,15 @@ __metadata: languageName: node linkType: hard +"buffer-image-size@npm:^0.6.4": + version: 0.6.4 + resolution: "buffer-image-size@npm:0.6.4" + dependencies: + "@types/node": "*" + checksum: de18f469bfff95bd959ebd4b02fd21cb40d65b0f285b7c292977be9bda5543791880518a857a2048d909b03a8027ee5f8aa6bf8469fee3e1639c363440fb5cfc + languageName: node + linkType: hard + "buffer@npm:^5.1.0, buffer@npm:^5.5.0": version: 5.7.1 resolution: "buffer@npm:5.7.1" @@ -17702,6 +17743,16 @@ __metadata: languageName: node linkType: hard +"eslint-scope@npm:^7.2.2": + version: 7.2.2 + resolution: "eslint-scope@npm:7.2.2" + dependencies: + esrecurse: ^4.3.0 + estraverse: ^5.2.0 + checksum: ec97dbf5fb04b94e8f4c5a91a7f0a6dd3c55e46bfc7bbcd0e3138c3a76977570e02ed89a1810c778dcd72072ff0e9621ba1379b4babe53921d71e2e4486fda3e + languageName: node + linkType: hard + "eslint-utils@npm:^2.0.0": version: 2.1.0 resolution: "eslint-utils@npm:2.1.0" @@ -17746,7 +17797,14 @@ __metadata: languageName: node linkType: hard -"eslint@npm:*, eslint@npm:^8.45.0": +"eslint-visitor-keys@npm:^4.2.0": + version: 4.2.1 + resolution: "eslint-visitor-keys@npm:4.2.1" + checksum: 3a77e3f99a49109f6fb2c5b7784bc78f9743b834d238cdba4d66c602c6b52f19ed7bcd0a5c5dbbeae3a8689fd785e76c001799f53d2228b278282cf9f699fff5 + languageName: node + linkType: hard + +"eslint@npm:*": version: 8.45.0 resolution: "eslint@npm:8.45.0" dependencies: @@ -17843,6 +17901,54 @@ __metadata: languageName: node linkType: hard +"eslint@npm:^8.57.0": + version: 8.57.1 + resolution: "eslint@npm:8.57.1" + dependencies: + "@eslint-community/eslint-utils": ^4.2.0 + "@eslint-community/regexpp": ^4.6.1 + "@eslint/eslintrc": ^2.1.4 + "@eslint/js": 8.57.1 + "@humanwhocodes/config-array": ^0.13.0 + "@humanwhocodes/module-importer": ^1.0.1 + "@nodelib/fs.walk": ^1.2.8 + "@ungap/structured-clone": ^1.2.0 + ajv: ^6.12.4 + chalk: ^4.0.0 + cross-spawn: ^7.0.2 + debug: ^4.3.2 + doctrine: ^3.0.0 + escape-string-regexp: ^4.0.0 + eslint-scope: ^7.2.2 + eslint-visitor-keys: ^3.4.3 + espree: ^9.6.1 + esquery: ^1.4.2 + esutils: ^2.0.2 + fast-deep-equal: ^3.1.3 + file-entry-cache: ^6.0.1 + find-up: ^5.0.0 + glob-parent: ^6.0.2 + globals: ^13.19.0 + graphemer: ^1.4.0 + ignore: ^5.2.0 + imurmurhash: ^0.1.4 + is-glob: ^4.0.0 + is-path-inside: ^3.0.3 + js-yaml: ^4.1.0 + json-stable-stringify-without-jsonify: ^1.0.1 + levn: ^0.4.1 + lodash.merge: ^4.6.2 + minimatch: ^3.1.2 + natural-compare: ^1.4.0 + optionator: ^0.9.3 + strip-ansi: ^6.0.1 + text-table: ^0.2.0 + bin: + eslint: bin/eslint.js + checksum: e2489bb7f86dd2011967759a09164e65744ef7688c310bc990612fc26953f34cc391872807486b15c06833bdff737726a23e9b4cdba5de144c311377dc41d91b + languageName: node + linkType: hard + "esm-env@npm:^1.2.1": version: 1.2.2 resolution: "esm-env@npm:1.2.2" @@ -17861,7 +17967,7 @@ __metadata: languageName: node linkType: hard -"espree@npm:^9.5.0, espree@npm:^9.6.0": +"espree@npm:^9.5.0, espree@npm:^9.6.0, espree@npm:^9.6.1": version: 9.6.1 resolution: "espree@npm:9.6.1" dependencies: @@ -19723,17 +19829,18 @@ __metadata: languageName: node linkType: hard -"happy-dom@npm:^20.8.9": - version: 20.9.0 - resolution: "happy-dom@npm:20.9.0" +"happy-dom@npm:^20.9.0": + version: 20.11.15 + resolution: "happy-dom@npm:20.11.15" dependencies: "@types/node": ">=20.0.0" "@types/whatwg-mimetype": ^3.0.2 "@types/ws": ^8.18.1 + buffer-image-size: ^0.6.4 entities: ^7.0.1 whatwg-mimetype: ^3.0.0 - ws: ^8.18.3 - checksum: 6cc02c95c21204abeb6f38e554d0dc9c91fe77b7ac43d4565ea4225689226de2fc0ba1a509447c9df6dea6c34f5a7c06bc5e539c643b2fc39e4a26d139614542 + ws: ^8.21.0 + checksum: cfa6bcef7fa2fbbdbe8b7c55037e8c2c5c6404e91c33ce240933150878834219dd91ecad4ef29421a54419399e5e38de8d6dfef3e2b550b02870187ff1d978df languageName: node linkType: hard @@ -20470,13 +20577,20 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.1.8, ignore@npm:^5.3.1": +"ignore@npm:^5.1.8": version: 5.3.2 resolution: "ignore@npm:5.3.2" checksum: 2acfd32a573260ea522ea0bfeff880af426d68f6831f973129e2ba7363f422923cf53aab62f8369cbf4667c7b25b6f8a3761b34ecdb284ea18e87a5262a865be languageName: node linkType: hard +"ignore@npm:^7.0.0": + version: 7.0.8 + resolution: "ignore@npm:7.0.8" + checksum: cad33db849f3fdc572c20e239962111b03ee303a0858d1d832b386b28cde016862c0e0b2c9e98801852ad37a99f3b70ab5572d1bcc705cc10d8e73295d2441dd + languageName: node + linkType: hard + "image-size@npm:1.0.2, image-size@npm:^1.0.2": version: 1.0.2 resolution: "image-size@npm:1.0.2" @@ -22915,10 +23029,17 @@ __metadata: languageName: node linkType: hard -"lexical@npm:0.43.0": - version: 0.43.0 - resolution: "lexical@npm:0.43.0" - checksum: 0cb9b22669cfc758bc38942b2267eba5b89a773c1dd7379cb031dae1413922484521d162e474f6c6335e243cab4592516ba59628afa926a400a89d3a38a5279b +"lexical@npm:0.49.0": + version: 0.49.0 + resolution: "lexical@npm:0.49.0" + dependencies: + "@lexical/internal": 0.49.0 + peerDependencies: + typescript: ">=5.2" + peerDependenciesMeta: + typescript: + optional: true + checksum: 24a0b0cb3a8775a45240d5a9f998391e26bf37f763b6124598258aa425b1343da91269a7f3eeeb8d2804a4a16de16b3c6237d1c6c3ea7491ce905e477d66d349 languageName: node linkType: hard @@ -24693,13 +24814,6 @@ __metadata: languageName: node linkType: hard -"natural-compare-lite@npm:^1.4.0": - version: 1.4.0 - resolution: "natural-compare-lite@npm:1.4.0" - checksum: 5222ac3986a2b78dd6069ac62cbb52a7bf8ffc90d972ab76dfe7b01892485d229530ed20d0c62e79a6b363a663b273db3bde195a1358ce9e5f779d4453887225 - languageName: node - linkType: hard - "natural-compare@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare@npm:1.4.0" @@ -27408,17 +27522,6 @@ __metadata: languageName: node linkType: hard -"react-error-boundary@npm:^6.0.0": - version: 6.0.0 - resolution: "react-error-boundary@npm:6.0.0" - dependencies: - "@babel/runtime": ^7.12.5 - peerDependencies: - react: ">=16.13.1" - checksum: d6807004d2b5c0a971b433b8698d3c95ebb43d407b304d87d59d57ba2a08d10113e481031ca778a1b8529bbddb421c96e508dbd9a5b5d6f084f1d1f653b05941 - languageName: node - linkType: hard - "react-is@npm:^16.13.1": version: 16.13.1 resolution: "react-is@npm:16.13.1" @@ -30821,21 +30924,12 @@ __metadata: languageName: node linkType: hard -"ts-api-utils@npm:^1.0.1": - version: 1.0.1 - resolution: "ts-api-utils@npm:1.0.1" - peerDependencies: - typescript: ">=4.2.0" - checksum: 78794fc7270d295b36c1ac613465b5dc7e7226907a533125b30f177efef9dd630d4e503b00be31b44335eb2ebf9e136ebe97353f8fc5d383885d5fead9d54c09 - languageName: node - linkType: hard - -"ts-api-utils@npm:^1.3.0": - version: 1.3.0 - resolution: "ts-api-utils@npm:1.3.0" +"ts-api-utils@npm:^2.1.0": + version: 2.5.0 + resolution: "ts-api-utils@npm:2.5.0" peerDependencies: - typescript: ">=4.2.0" - checksum: c746ddabfdffbf16cb0b0db32bb287236a19e583057f8649ee7c49995bb776e1d3ef384685181c11a1a480369e022ca97512cb08c517b2d2bd82c83754c97012 + typescript: ">=4.8.4" + checksum: 5b2a2db7aa041d60b040df691ee5e73d534fb4cb3cf4fd6d2c27c584a32836a7ca8272fb23d865e673559ea639fdba35f8623249bf931df22188f0aaef7f0075 languageName: node linkType: hard @@ -31341,7 +31435,7 @@ __metadata: languageName: node linkType: hard -"typescript@npm:*, typescript@npm:^4.6.4 || ^5.0.0": +"typescript@npm:5.1.6": version: 5.1.6 resolution: "typescript@npm:5.1.6" bin: @@ -31371,7 +31465,17 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@*#~builtin, typescript@patch:typescript@^4.6.4 || ^5.0.0#~builtin": +"typescript@npm:^4.6.4 || ^5.0.0": + version: 5.9.3 + resolution: "typescript@npm:5.9.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 0d0ffb84f2cd072c3e164c79a2e5a1a1f4f168e84cb2882ff8967b92afe1def6c2a91f6838fb58b168428f9458c57a2ba06a6737711fdd87a256bbe83e9a217f + languageName: node + linkType: hard + +"typescript@patch:typescript@5.1.6#~builtin": version: 5.1.6 resolution: "typescript@patch:typescript@npm%3A5.1.6#~builtin::version=5.1.6&hash=7ad353" bin: @@ -31401,6 +31505,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@^4.6.4 || ^5.0.0#~builtin": + version: 5.9.3 + resolution: "typescript@patch:typescript@npm%3A5.9.3#~builtin::version=5.9.3&hash=7ad353" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 8bb8d86819ac86a498eada254cad7fb69c5f74778506c700c2a712daeaff21d3a6f51fd0d534fe16903cb010d1b74f89437a3d02d4d0ff5ca2ba9a4660de8497 + languageName: node + linkType: hard + "ua-parser-js@npm:^1.0.35": version: 1.0.37 resolution: "ua-parser-js@npm:1.0.37" @@ -31443,10 +31557,10 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~7.19.0": - version: 7.19.2 - resolution: "undici-types@npm:7.19.2" - checksum: f721026160e1f068a982401d0272b872819c335a2f64783c235ddd37a65ccd94327ec24489cee4556d57c77c14bd68ced60efa5def11cf11e3991f5ebf5e0e72 +"undici-types@npm:~8.3.0": + version: 8.3.0 + resolution: "undici-types@npm:8.3.0" + checksum: bdc1d54d8b48f3f2a801f7707a2ad53b76711039dd9a276382d4bdbbded79355574309425096127a42313731bde7a76cc299855fc06872797edd0acbfcef5bc0 languageName: node linkType: hard @@ -32675,9 +32789,9 @@ __metadata: languageName: node linkType: hard -"ws@npm:^8.18.3": - version: 8.20.0 - resolution: "ws@npm:8.20.0" +"ws@npm:^8.21.0": + version: 8.21.3 + resolution: "ws@npm:8.21.3" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ">=5.0.2" @@ -32686,7 +32800,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: 2b31d24a53690770564a033c21ea48390f84d23fbc5abc14b2bbec4e112846f2f3ca66caee769a73fb8bc89ba16b452a6911a553e9742bbc75bccb79e203953e + checksum: 8a28a457a997e0d63b5bc4d35344c342c68038c207013196468c35a80f7220397665739026217e836abc40ea7432483de3fee47a64abdedb4e3d0e3f332dc37b languageName: node linkType: hard