diff --git a/.env b/.env index a4e365e..3baba80 100644 --- a/.env +++ b/.env @@ -1,3 +1,7 @@ NEXT_PUBLIC_SITE_NAME = 开源市集 NEXT_PUBLIC_SITE_SUMMARY = NEXT_PUBLIC_LOGO = https://github.com/Open-Source-Bazaar.png + +NEXT_PUBLIC_LARK_API_HOST = https://open.feishu.cn/open-apis/ +NEXT_PUBLIC_LARK_APP_ID = cli_a8094a652022900d +NEXT_PUBLIC_LARK_WIKI_URL = https://open-source-bazaar.feishu.cn/wiki/space/7052192153363054596 diff --git a/components/Navigator/MainNavigator.tsx b/components/Navigator/MainNavigator.tsx index 518db01..8aaeba4 100644 --- a/components/Navigator/MainNavigator.tsx +++ b/components/Navigator/MainNavigator.tsx @@ -1,33 +1,57 @@ import { observer } from 'mobx-react'; import dynamic from 'next/dynamic'; import { useRouter } from 'next/router'; -import { FC, useContext } from 'react'; -import { Container, Nav, Navbar } from 'react-bootstrap'; +import { AnchorHTMLAttributes, FC, useContext } from 'react'; +import { Container, Image, Nav, Navbar, NavDropdown } from 'react-bootstrap'; +import { DefaultImage } from '../../models/configuration'; import { i18n, I18nContext } from '../../models/Translation'; const LanguageMenu = dynamic(() => import('./LanguageMenu'), { ssr: false }); -export type MenuItem = Record<'href' | 'name', string>; +export interface MenuItem extends Pick, 'href' | 'title'> { + subs?: MenuItem[]; +} const topNavBarMenu = ({ t }: typeof i18n): MenuItem[] => [ - { href: '/article/about', name: t('about') }, - { href: '/article/history', name: t('history') }, - { href: '/article/code-of-conduct', name: t('code_of_conduct') }, - { href: '/article/join-us', name: t('join_us') }, { - href: '/article/open-collaborator-award', - name: t('open_collaborator_award'), + title: t('about'), + subs: [ + { href: '/article/about', title: t('about') }, + { href: '/article/history', title: t('history') }, + { href: '/article/code-of-conduct', title: t('code_of_conduct') }, + ], + }, + { + title: t('join_us'), + subs: [ + { href: '/article/join-us', title: t('join_us') }, + { + href: '/article/open-collaborator-award', + title: t('open_collaborator_award'), + }, + { href: '/volunteer', title: t('volunteer') }, + ], + }, + { + title: t('open_source_projects'), + subs: [ + { href: '/project', title: t('open_source_projects') }, + { href: '/issue', title: 'GitHub issues' }, + { + href: 'https://github.com/Open-Source-Bazaar/Git-Hackathon-scaffold', + title: t('hackathon'), + }, + { href: '/license-filter', title: t('license_filter') }, + ], }, - { href: '/volunteer', name: t('volunteer') }, - { href: '/project', name: t('open_source_projects') }, - { href: '/issue', name: 'GitHub issues' }, { - href: 'https://github.com/Open-Source-Bazaar/Git-Hackathon-scaffold', - name: t('hackathon'), + title: t('wiki'), + subs: [ + { href: '/wiki', title: t('wiki') }, + { href: '/policy', title: t('policy') }, + ], }, - { href: '/license-filter', name: t('license_filter') }, - { href: '/policy', name: t('policy') }, ]; export interface MainNavigatorProps { @@ -44,21 +68,32 @@ export const MainNavigator: FC = observer(({ menu }) => { return ( - + + {t('open_source_bazaar')} {t('open_source_bazaar')} diff --git a/models/Wiki.ts b/models/Wiki.ts index c91631c..36648bb 100644 --- a/models/Wiki.ts +++ b/models/Wiki.ts @@ -1,7 +1,10 @@ import { Content, ContentModel } from 'mobx-github'; +import { DocumentModel, WikiNodeModel } from 'mobx-lark'; import { DataObject } from 'mobx-restful'; +import { lark } from '../pages/api/Lark/core'; import './Base'; +import { LarkWikiDomain, LarkWikiId } from './configuration'; export interface XContent extends Content { meta?: DataObject; @@ -9,3 +12,15 @@ export interface XContent extends Content { } export const policyContentStore = new ContentModel('fpsig', 'open-source-policy'); + +export class MyWikiNodeModel extends WikiNodeModel { + client = lark.client; +} + +export const wikiStore = new MyWikiNodeModel(LarkWikiDomain, LarkWikiId); + +export class MyDocumentModel extends DocumentModel { + client = lark.client; +} + +export const documentStore = new MyDocumentModel(LarkWikiDomain); diff --git a/models/configuration.ts b/models/configuration.ts index aea1f17..49ed225 100644 --- a/models/configuration.ts +++ b/models/configuration.ts @@ -27,3 +27,7 @@ export const LarkAppMeta = { id: process.env.NEXT_PUBLIC_LARK_APP_ID!, secret: process.env.LARK_APP_SECRET!, }; +const { hostname, pathname } = new URL(process.env.NEXT_PUBLIC_LARK_WIKI_URL!); + +export const LarkWikiDomain = hostname; +export const LarkWikiId = pathname.split('/').pop()!; diff --git a/package.json b/package.json index ec3ac7a..c42dca7 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "private": true, "scripts": { "prepare": "husky", + "install": "pnpx git-utility download https://github.com/Open-Source-Bazaar/key-vault main Open-Source-Bazaar.github.io || true", "dev": "next dev", "build": "next build", "start": "next start", @@ -13,8 +14,8 @@ }, "dependencies": { "@koa/router": "^14.0.0", - "@mdx-js/loader": "^3.1.0", - "@mdx-js/react": "^3.1.0", + "@mdx-js/loader": "^3.1.1", + "@mdx-js/react": "^3.1.1", "@next/mdx": "^15.5.2", "core-js": "^3.45.1", "file-type": "^21.0.0", @@ -27,7 +28,7 @@ "mobx": "^6.13.7", "mobx-github": "^0.4.0", "mobx-i18n": "^0.7.1", - "mobx-lark": "^2.4.0", + "mobx-lark": "^2.4.1", "mobx-react": "^9.2.0", "mobx-react-helper": "^0.5.1", "mobx-restful": "^2.1.0", @@ -47,11 +48,11 @@ "@babel/plugin-proposal-decorators": "^7.28.0", "@babel/plugin-transform-typescript": "^7.28.0", "@babel/preset-react": "^7.27.1", - "@cspell/eslint-plugin": "^9.2.0", + "@cspell/eslint-plugin": "^9.2.1", "@eslint/js": "^9.34.0", "@next/eslint-plugin-next": "^15.5.2", "@softonus/prettier-plugin-duplicate-remover": "^1.1.2", - "@stylistic/eslint-plugin": "^5.2.3", + "@stylistic/eslint-plugin": "^5.3.1", "@types/eslint-config-prettier": "^6.11.3", "@types/koa": "^3.0.0", "@types/koa__router": "^12.0.4", @@ -69,13 +70,13 @@ "jiti": "^2.5.1", "less": "^4.4.1", "less-loader": "^12.3.0", - "lint-staged": "^16.1.5", + "lint-staged": "^16.1.6", "next-with-less": "^3.0.1", "prettier": "^3.6.2", "prettier-plugin-css-order": "^2.1.2", "sass": "^1.91.0", "typescript": "~5.9.2", - "typescript-eslint": "^8.41.0" + "typescript-eslint": "^8.42.0" }, "resolutions": { "next": "$next" diff --git a/pages/wiki/[node_token].tsx b/pages/wiki/[node_token].tsx new file mode 100644 index 0000000..98015ce --- /dev/null +++ b/pages/wiki/[node_token].tsx @@ -0,0 +1,56 @@ +import { Block, renderBlocks, WikiNode } from 'mobx-lark'; +import { GetStaticPaths, GetStaticProps } from 'next'; +import { FC } from 'react'; +import { Container } from 'react-bootstrap'; +import { Minute, Second } from 'web-utility'; + +import { PageHead } from '../../components/Layout/PageHead'; +import { documentStore, wikiStore } from '../../models/Wiki'; +import { lark } from '../api/Lark/core'; + +export const getStaticPaths: GetStaticPaths = async () => { + await lark.getAccessToken(); + + const nodes = await wikiStore.getAll(); + + return { + paths: nodes.map(({ node_token }) => ({ params: { node_token } })), + fallback: 'blocking', + }; +}; + +export const getStaticProps: GetStaticProps = async ({ params }) => { + await lark.getAccessToken(); + + const node = await wikiStore.getOne(params!.node_token as string); + + if (node?.obj_type !== 'docx') return { notFound: true }; + + try { + const blocks = await documentStore.getOneBlocks( + node.obj_token, + token => `/api/Lark/file/${token}/placeholder`, + ); + + return { props: { node, blocks } }; + } catch (error) { + console.error(error); + + return { notFound: true, revalidate: Minute / Second }; + } +}; + +interface WikiDocumentPageProps { + node: WikiNode; + blocks: Block[]; +} + +const WikiDocumentPage: FC = ({ node, blocks }) => ( + + + + {renderBlocks(blocks)} + +); + +export default WikiDocumentPage; diff --git a/pages/wiki/index.tsx b/pages/wiki/index.tsx new file mode 100644 index 0000000..4286806 --- /dev/null +++ b/pages/wiki/index.tsx @@ -0,0 +1,53 @@ +import { WikiNode } from 'mobx-lark'; +import { observer } from 'mobx-react'; +import { GetStaticProps } from 'next'; +import { FC, useContext } from 'react'; +import { Container } from 'react-bootstrap'; +import { treeFrom } from 'web-utility'; + +import { PageHead } from '../../components/Layout/PageHead'; +import { I18nContext } from '../../models/Translation'; +import { wikiStore } from '../../models/Wiki'; +import { lark } from '../api/Lark/core'; + +export const getStaticProps: GetStaticProps = async () => { + await lark.getAccessToken(); + + const nodes = await wikiStore.getAll(); + + return { props: { nodes } }; +}; + +interface XWikiNode extends WikiNode { + // eslint-disable-next-line no-restricted-syntax + children?: XWikiNode[]; +} + +const renderTree = (children?: XWikiNode[]) => + children && ( +
    + {children.map(({ node_token, title, children }) => ( +
  1. + {title} + + {renderTree(children)} +
  2. + ))} +
+ ); + +const WikiIndexPage: FC<{ nodes: XWikiNode[] }> = observer(({ nodes }) => { + const { t } = useContext(I18nContext); + + return ( + + + +

{t('wiki')}

+ + {renderTree(treeFrom(nodes, 'node_token', 'parent_node_token', 'children'))} +
+ ); +}); + +export default WikiIndexPage; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c508ed6..ed91d43 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,14 +15,14 @@ importers: specifier: ^14.0.0 version: 14.0.0 '@mdx-js/loader': - specifier: ^3.1.0 - version: 3.1.0(acorn@8.15.0) + specifier: ^3.1.1 + version: 3.1.1 '@mdx-js/react': - specifier: ^3.1.0 - version: 3.1.0(@types/react@19.1.12)(react@19.1.1) + specifier: ^3.1.1 + version: 3.1.1(@types/react@19.1.12)(react@19.1.1) '@next/mdx': specifier: ^15.5.2 - version: 15.5.2(@mdx-js/loader@3.1.0(acorn@8.15.0))(@mdx-js/react@3.1.0(@types/react@19.1.12)(react@19.1.1)) + version: 15.5.2(@mdx-js/loader@3.1.1)(@mdx-js/react@3.1.1(@types/react@19.1.12)(react@19.1.1)) core-js: specifier: ^3.45.1 version: 3.45.1 @@ -57,8 +57,8 @@ importers: specifier: ^0.7.1 version: 0.7.1(mobx@6.13.7)(typescript@5.9.2) mobx-lark: - specifier: ^2.4.0 - version: 2.4.0(core-js@3.45.1)(react@19.1.1)(typescript@5.9.2) + specifier: ^2.4.1 + version: 2.4.1(core-js@3.45.1)(react@19.1.1)(typescript@5.9.2) mobx-react: specifier: ^9.2.0 version: 9.2.0(mobx@6.13.7)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) @@ -112,8 +112,8 @@ importers: specifier: ^7.27.1 version: 7.27.1(@babel/core@7.28.3) '@cspell/eslint-plugin': - specifier: ^9.2.0 - version: 9.2.0(eslint@9.34.0(jiti@2.5.1)) + specifier: ^9.2.1 + version: 9.2.1(eslint@9.34.0(jiti@2.5.1)) '@eslint/js': specifier: ^9.34.0 version: 9.34.0 @@ -124,8 +124,8 @@ importers: specifier: ^1.1.2 version: 1.1.2 '@stylistic/eslint-plugin': - specifier: ^5.2.3 - version: 5.2.3(eslint@9.34.0(jiti@2.5.1)) + specifier: ^5.3.1 + version: 5.3.1(eslint@9.34.0(jiti@2.5.1)) '@types/eslint-config-prettier': specifier: ^6.11.3 version: 6.11.3 @@ -178,8 +178,8 @@ importers: specifier: ^12.3.0 version: 12.3.0(less@4.4.1) lint-staged: - specifier: ^16.1.5 - version: 16.1.5 + specifier: ^16.1.6 + version: 16.1.6 next-with-less: specifier: ^3.0.1 version: 3.0.1(less-loader@12.3.0(less@4.4.1))(less@4.4.1)(next@15.5.2(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.91.0)) @@ -196,8 +196,8 @@ importers: specifier: ~5.9.2 version: 5.9.2 typescript-eslint: - specifier: ^8.41.0 - version: 8.41.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + specifier: ^8.42.0 + version: 8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) packages: @@ -775,24 +775,24 @@ packages: '@codexteam/icons@0.0.4': resolution: {integrity: sha512-V8N/TY2TGyas4wLrPIFq7bcow68b3gu8DfDt1+rrHPtXxcexadKauRJL6eQgfG7Z0LCrN4boLRawR4S9gjIh/Q==} - '@cspell/cspell-bundled-dicts@9.2.0': - resolution: {integrity: sha512-e4qb78SQWqHkRw47W8qFJ3RPijhSLkADF+T0oH8xl3r/golq1RGp2/KrWOqGRRofUSTiIKYqaMX7mbAyFnOxyA==} + '@cspell/cspell-bundled-dicts@9.2.1': + resolution: {integrity: sha512-85gHoZh3rgZ/EqrHIr1/I4OLO53fWNp6JZCqCdgaT7e3sMDaOOG6HoSxCvOnVspXNIf/1ZbfTCDMx9x79Xq0AQ==} engines: {node: '>=20'} - '@cspell/cspell-pipe@9.2.0': - resolution: {integrity: sha512-RO3adcsr7Ek+4511nyEOWDhOYYU1ogRs1Mo5xx3kDIdcKAJzhFdGry35T2wqft4dPASLCXcemBrhoS+hdQ+z+Q==} + '@cspell/cspell-pipe@9.2.1': + resolution: {integrity: sha512-2N1H63If5cezLqKToY/YSXon4m4REg/CVTFZr040wlHRbbQMh5EF3c7tEC/ue3iKAQR4sm52ihfqo1n4X6kz+g==} engines: {node: '>=20'} - '@cspell/cspell-resolver@9.2.0': - resolution: {integrity: sha512-0Xvwq0iezfO71Alw+DjsGxacAzydqOAxdXnY4JknHuxt2l8GTSMjRwj65QAflv3PN6h1QoRZEeWdiKtusceWAw==} + '@cspell/cspell-resolver@9.2.1': + resolution: {integrity: sha512-fRPQ6GWU5eyh8LN1TZblc7t24TlGhJprdjJkfZ+HjQo+6ivdeBPT7pC7pew6vuMBQPS1oHBR36hE0ZnJqqkCeg==} engines: {node: '>=20'} - '@cspell/cspell-service-bus@9.2.0': - resolution: {integrity: sha512-ZDvcOTFk3cCVW+OjlkljeP7aSuV8tIguVn+GMco1/A+961hsEP20hngK9zJtyfpXqyvJKtvCVlyzS+z8VRrZGg==} + '@cspell/cspell-service-bus@9.2.1': + resolution: {integrity: sha512-k4M6bqdvWbcGSbcfLD7Lf4coZVObsISDW+sm/VaWp9aZ7/uwiz1IuGUxL9WO4JIdr9CFEf7Ivmvd2txZpVOCIA==} engines: {node: '>=20'} - '@cspell/cspell-types@9.2.0': - resolution: {integrity: sha512-hL4ltFwiARpFxlfXt4GiTWQxIFyZp4wrlp7dozZbitYO6QlYc5fwQ8jBc5zFUqknuH4gx/sCMLNXhAv3enNGZQ==} + '@cspell/cspell-types@9.2.1': + resolution: {integrity: sha512-FQHgQYdTHkcpxT0u1ddLIg5Cc5ePVDcLg9+b5Wgaubmc5I0tLotgYj8c/mvStWuKsuZIs6sUopjJrE91wk6Onw==} engines: {node: '>=20'} '@cspell/dict-ada@4.1.1': @@ -810,8 +810,8 @@ packages: '@cspell/dict-companies@3.2.5': resolution: {integrity: sha512-H51R0w7c6RwJJPqH7Gs65tzP6ouZsYDEHmmol6MIIk0kQaOIBuFP2B3vIxHLUr2EPRVFZsMW8Ni7NmVyaQlwsg==} - '@cspell/dict-cpp@6.0.10': - resolution: {integrity: sha512-VyD8o7kUH2R9Ep/KXRoFy97QJn8qVW6wcQUfGVowNkc/Ux9o3gZlWlQwpzoyhTrg9uHKzKp5aL25eE7e5K1v1g==} + '@cspell/dict-cpp@6.0.12': + resolution: {integrity: sha512-N4NsCTttVpMqQEYbf0VQwCj6np+pJESov0WieCN7R/0aByz4+MXEiDieWWisaiVi8LbKzs1mEj4ZTw5K/6O2UQ==} '@cspell/dict-cryptocurrencies@5.0.5': resolution: {integrity: sha512-R68hYYF/rtlE6T/dsObStzN5QZw+0aQBinAXuWCVqwdS7YZo0X33vGMfChkHaiCo3Z2+bkegqHlqxZF4TD3rUA==} @@ -840,14 +840,14 @@ packages: '@cspell/dict-elixir@4.0.8': resolution: {integrity: sha512-CyfphrbMyl4Ms55Vzuj+mNmd693HjBFr9hvU+B2YbFEZprE5AG+EXLYTMRWrXbpds4AuZcvN3deM2XVB80BN/Q==} - '@cspell/dict-en-common-misspellings@2.1.3': - resolution: {integrity: sha512-v1I97Hr1OrK+mwHsVzbY4vsPxx6mA5quhxzanF6XuRofz00wH4HPz8Q3llzRHxka5Wl/59gyan04UkUrvP4gdA==} + '@cspell/dict-en-common-misspellings@2.1.5': + resolution: {integrity: sha512-hlRDSjul7wGTDXeLBADoyTGIZjWWZn6/SP+pt0lG3PRtqF0MWH/QEDgUkS+Yev7ZhHCHVLvwBZtDxOd1uw06Tw==} - '@cspell/dict-en-gb-mit@3.1.7': - resolution: {integrity: sha512-CzAsYpFHxCV+25o7KjlJcyhSj6s3jlp7E+AL61lTnE7l0NHrp70vT5D/RkxjUPBC3XLj0FSwa1xWfiVteT0X2A==} + '@cspell/dict-en-gb-mit@3.1.8': + resolution: {integrity: sha512-wrZDRl6TKd1wReepGDPuT1JNbnRjHLvtAVrozp0DUkFlcDgnrB+YSd/Ne4aKnkXl5qpyVQ2GG7a4Z7INKCX+fw==} - '@cspell/dict-en_us@4.4.17': - resolution: {integrity: sha512-RSMhAZWnDTvjdkYwl9Oi5Hpewxm/DYQ5iF9QAgJBAF1PRmjOUMcEd5C889Tzj80MUVLIBHRbcdN5PARfcUTvbA==} + '@cspell/dict-en_us@4.4.18': + resolution: {integrity: sha512-6Le961Q0AIfVp3nKuSJJD/9NfnTYA1N/MLAaeWKCABEvhzhopeyGrykwejd0SA4m64WBUNEfSlsgselYWoDSjQ==} '@cspell/dict-filetypes@3.0.13': resolution: {integrity: sha512-g6rnytIpQlMNKGJT1JKzWkC+b3xCliDKpQ3ANFSq++MnR4GaLiifaC4JkVON11Oh/UTplYOR1nY3BR4X30bswA==} @@ -923,8 +923,8 @@ packages: '@cspell/dict-node@5.0.8': resolution: {integrity: sha512-AirZcN2i84ynev3p2/1NCPEhnNsHKMz9zciTngGoqpdItUb2bDt1nJBjwlsrFI78GZRph/VaqTVFwYikmncpXg==} - '@cspell/dict-npm@5.2.14': - resolution: {integrity: sha512-amZCBJIqzRmPq5uKh0v2fdejt9AJQsQwx0spPFQaBZ2cRoE6qlqstPWLLc5lhz668QgSQeZ7mlURtCEWWlOtPw==} + '@cspell/dict-npm@5.2.15': + resolution: {integrity: sha512-kb9oX/N5FUlJYoqc5G+tIP/0SolteFMz2VhOVKG2qiXUS/1AybVTjUEo4gZ4uEveUhLzUDcfpZbn40EoUVBVrg==} '@cspell/dict-php@4.0.15': resolution: {integrity: sha512-iepGB2gtToMWSTvybesn4/lUp4LwXcEm0s8vasJLP76WWVkq1zYjmeS+WAIzNgsuURyZ/9mGqhS0CWMuo74ODw==} @@ -953,8 +953,8 @@ packages: '@cspell/dict-shell@1.1.1': resolution: {integrity: sha512-T37oYxE7OV1x/1D4/13Y8JZGa1QgDCXV7AVt3HLXjn0Fe3TaNDvf5sU0fGnXKmBPqFFrHdpD3uutAQb1dlp15g==} - '@cspell/dict-software-terms@5.1.6': - resolution: {integrity: sha512-fsREO/CRmcrX+fdB88ICkk31Qn6BeHr4EDq1hibpfx4FU4Liq+EN6TJbgG4q/BAelon/6sq1JQD71wihVnywLQ==} + '@cspell/dict-software-terms@5.1.7': + resolution: {integrity: sha512-CfNFQCVx8R/D8RfFdFTwSjDvXcSXY0tO+VN2N6TEbNTL1GCmqyzhwm4YI+ZbO3MUmMAMjwu9jZyoLk5BaJkXcg==} '@cspell/dict-sql@2.2.1': resolution: {integrity: sha512-qDHF8MpAYCf4pWU8NKbnVGzkoxMNrFqBHyG/dgrlic5EQiKANCLELYtGlX5auIMDLmTf1inA0eNtv74tyRJ/vg==} @@ -974,26 +974,26 @@ packages: '@cspell/dict-vue@3.0.5': resolution: {integrity: sha512-Mqutb8jbM+kIcywuPQCCaK5qQHTdaByoEO2J9LKFy3sqAdiBogNkrplqUK0HyyRFgCfbJUgjz3N85iCMcWH0JA==} - '@cspell/dynamic-import@9.2.0': - resolution: {integrity: sha512-2/k4LR8CQqbgIPQGELbCdt9xgg9+aQ7pMwOtllKvnFYBtwNiwqcZjlzAam2gtvD5DghKX2qrcSHG5A7YP5cX9A==} + '@cspell/dynamic-import@9.2.1': + resolution: {integrity: sha512-izYQbk7ck0ffNA1gf7Gi3PkUEjj+crbYeyNK1hxHx5A+GuR416ozs0aEyp995KI2v9HZlXscOj3SC3wrWzHZeA==} engines: {node: '>=20'} - '@cspell/eslint-plugin@9.2.0': - resolution: {integrity: sha512-RaqjfUIHpLf3DFadkMs/OCY/i8+TqHr2MRBALJAVL2yeW0Z8+yBo7GXkoZ+rOM76rewE1kYJN4SFKpS2+KbGgQ==} + '@cspell/eslint-plugin@9.2.1': + resolution: {integrity: sha512-Fs6P3yXqL11MAcoKDiqWqKMwWuvLn5JaHvjAabnHi9suaYKv1o2RKTp6DIdAYL/KL8AvWKwJbWIChmJZrAJBow==} engines: {node: '>=20'} peerDependencies: eslint: ^7 || ^8 || ^9 - '@cspell/filetypes@9.2.0': - resolution: {integrity: sha512-6wmCa3ZyI647H7F4w6kb9PCJ703JKSgFTB8EERTdIoGySbgVp5+qMIIoZ//wELukdjgcufcFZ5pBrhRDRsemRA==} + '@cspell/filetypes@9.2.1': + resolution: {integrity: sha512-Dy1y1pQ+7hi2gPs+jERczVkACtYbUHcLodXDrzpipoxgOtVxMcyZuo+84WYHImfu0gtM0wU2uLObaVgMSTnytw==} engines: {node: '>=20'} - '@cspell/strong-weak-map@9.2.0': - resolution: {integrity: sha512-5mpIMiIOCu4cBqy1oCTXISgJuOCQ6R/e38AkvnYWfmMIx7fCdx8n+mF52wX9m61Ng28Sq8VL253xybsWcCxHug==} + '@cspell/strong-weak-map@9.2.1': + resolution: {integrity: sha512-1HsQWZexvJSjDocVnbeAWjjgqWE/0op/txxzDPvDqI2sE6pY0oO4Cinj2I8z+IP+m6/E6yjPxdb23ydbQbPpJQ==} engines: {node: '>=20'} - '@cspell/url@9.2.0': - resolution: {integrity: sha512-plB0wwdAESqBl4xDAT2db2/K1FZHJXfYlJTiV6pkn0XffTGyg4UGLaSCm15NzUoPxdSmzqj5jQb7y+mB9kFK8g==} + '@cspell/url@9.2.1': + resolution: {integrity: sha512-9EHCoGKtisPNsEdBQ28tKxKeBmiVS3D4j+AN8Yjr+Dmtu+YACKGWiMOddNZG2VejQNIdFx7FwzU00BGX68ELhA==} engines: {node: '>=20'} '@editorjs/editorjs@2.30.8': @@ -1002,14 +1002,14 @@ packages: '@editorjs/paragraph@2.11.7': resolution: {integrity: sha512-qD6bbWvRc4VvP0mXDOm+hOhzzhUYR9ZjcAvgCuKWcCbUMpCvhVF1s8NX40zdjekPi6JEnuHTamCncTrSzVsVhw==} - '@emnapi/core@1.4.5': - resolution: {integrity: sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==} + '@emnapi/core@1.5.0': + resolution: {integrity: sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==} - '@emnapi/runtime@1.4.5': - resolution: {integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==} + '@emnapi/runtime@1.5.0': + resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==} - '@emnapi/wasi-threads@1.0.4': - resolution: {integrity: sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==} + '@emnapi/wasi-threads@1.1.0': + resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} '@eslint-community/eslint-utils@4.7.0': resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} @@ -1232,19 +1232,19 @@ packages: resolution: {integrity: sha512-LBSu5K0qAaaQcXX/0WIB9PGDevyCxxpnc1uq13vV/CgObaVxuis5hKl3Eboq/8gcb6ebnkAStW9NB/Em2eYyFA==} engines: {node: '>= 20'} - '@mdx-js/loader@3.1.0': - resolution: {integrity: sha512-xU/lwKdOyfXtQGqn3VnJjlDrmKXEvMi1mgYxVmukEUtVycIz1nh7oQ40bKTd4cA7rLStqu0740pnhGYxGoqsCg==} + '@mdx-js/loader@3.1.1': + resolution: {integrity: sha512-0TTacJyZ9mDmY+VefuthVshaNIyCGZHJG2fMnGaDttCt8HmjUF7SizlHJpaCDoGnN635nK1wpzfpx/Xx5S4WnQ==} peerDependencies: webpack: '>=5' peerDependenciesMeta: webpack: optional: true - '@mdx-js/mdx@3.1.0': - resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==} + '@mdx-js/mdx@3.1.1': + resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} - '@mdx-js/react@3.1.0': - resolution: {integrity: sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==} + '@mdx-js/react@3.1.1': + resolution: {integrity: sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==} peerDependencies: '@types/react': '>=16' react: '>=16' @@ -1507,8 +1507,8 @@ packages: '@softonus/prettier-plugin-duplicate-remover@1.1.2': resolution: {integrity: sha512-2+oIZQ15zlxe+qt0vVriAfye+MCGiGE6vQ2/mG3WOsfvqv1CBEAgSmzQmFFnp0IyYYD9o5Ej+SaUYqaenL5vfQ==} - '@stylistic/eslint-plugin@5.2.3': - resolution: {integrity: sha512-oY7GVkJGVMI5benlBDCaRrSC1qPasafyv5dOBLLv5MTilMGnErKhO6ziEfodDDIZbo5QxPUNW360VudJOFODMw==} + '@stylistic/eslint-plugin@5.3.1': + resolution: {integrity: sha512-Ykums1VYonM0TgkD0VteVq9mrlO2FhF48MDJnPyv3MktIB2ydtuhlO0AfWm7xnW1kyf5bjOqA6xc7JjviuVTxg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=9.0.0' @@ -1675,63 +1675,63 @@ packages: '@types/warning@3.0.3': resolution: {integrity: sha512-D1XC7WK8K+zZEveUPY+cf4+kgauk8N4eHr/XIHXGlGYkHLud6hK9lYfZk1ry1TNh798cZUCgb6MqGEG8DkJt6Q==} - '@typescript-eslint/eslint-plugin@8.41.0': - resolution: {integrity: sha512-8fz6oa6wEKZrhXWro/S3n2eRJqlRcIa6SlDh59FXJ5Wp5XRZ8B9ixpJDcjadHq47hMx0u+HW6SNa6LjJQ6NLtw==} + '@typescript-eslint/eslint-plugin@8.42.0': + resolution: {integrity: sha512-Aq2dPqsQkxHOLfb2OPv43RnIvfj05nw8v/6n3B2NABIPpHnjQnaLo9QGMTvml+tv4korl/Cjfrb/BYhoL8UUTQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.41.0 + '@typescript-eslint/parser': ^8.42.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/parser@8.41.0': - resolution: {integrity: sha512-gTtSdWX9xiMPA/7MV9STjJOOYtWwIJIYxkQxnSV1U3xcE+mnJSH3f6zI0RYP+ew66WSlZ5ed+h0VCxsvdC1jJg==} + '@typescript-eslint/parser@8.42.0': + resolution: {integrity: sha512-r1XG74QgShUgXph1BYseJ+KZd17bKQib/yF3SR+demvytiRXrwd12Blnz5eYGm8tXaeRdd4x88MlfwldHoudGg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.41.0': - resolution: {integrity: sha512-b8V9SdGBQzQdjJ/IO3eDifGpDBJfvrNTp2QD9P2BeqWTGrRibgfgIlBSw6z3b6R7dPzg752tOs4u/7yCLxksSQ==} + '@typescript-eslint/project-service@8.42.0': + resolution: {integrity: sha512-vfVpLHAhbPjilrabtOSNcUDmBboQNrJUiNAGoImkZKnMjs2TIcWG33s4Ds0wY3/50aZmTMqJa6PiwkwezaAklg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/scope-manager@8.41.0': - resolution: {integrity: sha512-n6m05bXn/Cd6DZDGyrpXrELCPVaTnLdPToyhBoFkLIMznRUQUEQdSp96s/pcWSQdqOhrgR1mzJ+yItK7T+WPMQ==} + '@typescript-eslint/scope-manager@8.42.0': + resolution: {integrity: sha512-51+x9o78NBAVgQzOPd17DkNTnIzJ8T/O2dmMBLoK9qbY0Gm52XJcdJcCl18ExBMiHo6jPMErUQWUv5RLE51zJw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.41.0': - resolution: {integrity: sha512-TDhxYFPUYRFxFhuU5hTIJk+auzM/wKvWgoNYOPcOf6i4ReYlOoYN8q1dV5kOTjNQNJgzWN3TUUQMtlLOcUgdUw==} + '@typescript-eslint/tsconfig-utils@8.42.0': + resolution: {integrity: sha512-kHeFUOdwAJfUmYKjR3CLgZSglGHjbNTi1H8sTYRYV2xX6eNz4RyJ2LIgsDLKf8Yi0/GL1WZAC/DgZBeBft8QAQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/type-utils@8.41.0': - resolution: {integrity: sha512-63qt1h91vg3KsjVVonFJWjgSK7pZHSQFKH6uwqxAH9bBrsyRhO6ONoKyXxyVBzG1lJnFAJcKAcxLS54N1ee1OQ==} + '@typescript-eslint/type-utils@8.42.0': + resolution: {integrity: sha512-9KChw92sbPTYVFw3JLRH1ockhyR3zqqn9lQXol3/YbI6jVxzWoGcT3AsAW0mu1MY0gYtsXnUGV/AKpkAj5tVlQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/types@8.41.0': - resolution: {integrity: sha512-9EwxsWdVqh42afLbHP90n2VdHaWU/oWgbH2P0CfcNfdKL7CuKpwMQGjwev56vWu9cSKU7FWSu6r9zck6CVfnag==} + '@typescript-eslint/types@8.42.0': + resolution: {integrity: sha512-LdtAWMiFmbRLNP7JNeY0SqEtJvGMYSzfiWBSmx+VSZ1CH+1zyl8Mmw1TT39OrtsRvIYShjJWzTDMPWZJCpwBlw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.41.0': - resolution: {integrity: sha512-D43UwUYJmGhuwHfY7MtNKRZMmfd8+p/eNSfFe6tH5mbVDto+VQCayeAt35rOx3Cs6wxD16DQtIKw/YXxt5E0UQ==} + '@typescript-eslint/typescript-estree@8.42.0': + resolution: {integrity: sha512-ku/uYtT4QXY8sl9EDJETD27o3Ewdi72hcXg1ah/kkUgBvAYHLwj2ofswFFNXS+FL5G+AGkxBtvGt8pFBHKlHsQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@8.41.0': - resolution: {integrity: sha512-udbCVstxZ5jiPIXrdH+BZWnPatjlYwJuJkDA4Tbo3WyYLh8NvB+h/bKeSZHDOFKfphsZYJQqaFtLeXEqurQn1A==} + '@typescript-eslint/utils@8.42.0': + resolution: {integrity: sha512-JnIzu7H3RH5BrKC4NoZqRfmjqCIS1u3hGZltDYJgkVdqAezl4L9d1ZLw+36huCujtSBSAirGINF/S4UxOcR+/g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/visitor-keys@8.41.0': - resolution: {integrity: sha512-+GeGMebMCy0elMNg67LRNoVnUFPIm37iu5CmHESVx56/9Jsfdpsvbv605DQ81Pi/x11IdKUsS5nzgTYbCQU9fg==} + '@typescript-eslint/visitor-keys@8.42.0': + resolution: {integrity: sha512-3WbiuzoEowaEn8RSnhJBrxSwX8ULYE9CXaPepS2C2W3NSA5NNIvBaslpBSBElPq0UGr0xVJlXFWOAKIkyylydQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.3.0': @@ -2048,8 +2048,8 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - caniuse-lite@1.0.30001737: - resolution: {integrity: sha512-BiloLiXtQNrY5UyF0+1nSJLXUENuhka2pzy2Fx5pGxqavdrxSCW4U6Pn/PoG3Efspi2frRbHpBV2XsrPE6EDlw==} + caniuse-lite@1.0.30001739: + resolution: {integrity: sha512-y+j60d6ulelrNSwpPyrHdl+9mJnQzHBr08xm48Qno0nSk4h3Qojh+ziv2qE6rXf4k3tadF4o1J/1tAbVm1NtnA==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -2189,33 +2189,33 @@ packages: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} - cspell-config-lib@9.2.0: - resolution: {integrity: sha512-Yc8+hT+uIWWCi6WMhOL6HDYbBCP2qig1tgKGThHVeOx6GviieV10TZ5kQ+P7ONgoqw2nmm7uXIC19dGYx3DblQ==} + cspell-config-lib@9.2.1: + resolution: {integrity: sha512-qqhaWW+0Ilc7493lXAlXjziCyeEmQbmPMc1XSJw2EWZmzb+hDvLdFGHoX18QU67yzBtu5hgQsJDEDZKvVDTsRA==} engines: {node: '>=20'} - cspell-dictionary@9.2.0: - resolution: {integrity: sha512-lV4VtjsDtxu8LyCcb6DY7Br4e/Aw1xfR8QvjYhHaJ8t03xry9STey5Rkfp+lz+hlVevNcn3lfCaacGuXyD+lLg==} + cspell-dictionary@9.2.1: + resolution: {integrity: sha512-0hQVFySPsoJ0fONmDPwCWGSG6SGj4ERolWdx4t42fzg5zMs+VYGXpQW4BJneQ5Tfxy98Wx8kPhmh/9E8uYzLTw==} engines: {node: '>=20'} - cspell-glob@9.2.0: - resolution: {integrity: sha512-viycZDyegzW2AKPFqvX5RveqTrB0sKgexlCu2A8z8eumpYYor5sD1NP05VDOqkAF4hDuiGqkHn6iNo0L1wNgLw==} + cspell-glob@9.2.1: + resolution: {integrity: sha512-CrT/6ld3rXhB36yWFjrx1SrMQzwDrGOLr+wYEnrWI719/LTYWWCiMFW7H+qhsJDTsR+ku8+OAmfRNBDXvh9mnQ==} engines: {node: '>=20'} - cspell-grammar@9.2.0: - resolution: {integrity: sha512-qthAmWcNHpYAmufy7YWVg9xwrYANkVlI40bgC2uGd8EnKssm/qOPhqXXNS+kLf+q0NmJM5nMgRLhCC23xSp3JA==} + cspell-grammar@9.2.1: + resolution: {integrity: sha512-10RGFG7ZTQPdwyW2vJyfmC1t8813y8QYRlVZ8jRHWzer9NV8QWrGnL83F+gTPXiKR/lqiW8WHmFlXR4/YMV+JQ==} engines: {node: '>=20'} hasBin: true - cspell-io@9.2.0: - resolution: {integrity: sha512-oxKiqFLcz629FmOId8UpdDznpMvCgpuktg4nkD2G9pYpRh+fRLZpP4QtZPyvJqvpUIzFhIOznMeHjsiBYHOZUA==} + cspell-io@9.2.1: + resolution: {integrity: sha512-v9uWXtRzB+RF/Mzg5qMzpb8/yt+1bwtTt2rZftkLDLrx5ybVvy6rhRQK05gFWHmWVtWEe0P/pIxaG2Vz92C8Ag==} engines: {node: '>=20'} - cspell-lib@9.2.0: - resolution: {integrity: sha512-RnhDIsETw6Ex0UaK3PFoJ2FwWMWfJPtdpNpv1qgmJwoGD4CzwtIqPOLtZ24zqdCP8ZnNTF/lwV/9rZVqifYjsw==} + cspell-lib@9.2.1: + resolution: {integrity: sha512-KeB6NHcO0g1knWa7sIuDippC3gian0rC48cvO0B0B0QwhOxNxWVp8cSmkycXjk4ijBZNa++IwFjeK/iEqMdahQ==} engines: {node: '>=20'} - cspell-trie-lib@9.2.0: - resolution: {integrity: sha512-6GHL1KvLQzcPBSNY6QWOabq8YwRJAnNKamA0O/tRKy+11Hy99ysD4xvfu3kKYPAcobp5ZykX4nudHxy8yrEvng==} + cspell-trie-lib@9.2.1: + resolution: {integrity: sha512-qOtbL+/tUzGFHH0Uq2wi7sdB9iTy66QNx85P7DKeRdX9ZH53uQd7qC4nEk+/JPclx1EgXX26svxr0jTGISJhLw==} engines: {node: '>=20'} css-declaration-sorter@7.2.0: @@ -2350,8 +2350,8 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.5.211: - resolution: {integrity: sha512-IGBvimJkotaLzFnwIVgW9/UD/AOJ2tByUmeOrtqBfACSbAw5b1G0XpvdaieKyc7ULmbwXVx+4e4Be8pOPBrYkw==} + electron-to-chromium@1.5.212: + resolution: {integrity: sha512-gE7ErIzSW+d8jALWMcOIgf+IB6lpfsg6NwOhPVwKzDtN2qcBix47vlin4yzSregYDxTCXOUqAZjVY/Z3naS7ww==} emoji-regex@10.5.0: resolution: {integrity: sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==} @@ -2701,8 +2701,8 @@ packages: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} - get-east-asian-width@1.3.0: - resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} + get-east-asian-width@1.3.1: + resolution: {integrity: sha512-R1QfovbPsKmosqTnPoRFiJ7CF9MLRgb53ChvMZm+r4p76/+8yKDy17qLL2PKInORy2RkZZekuK0efYgmzTkXyQ==} engines: {node: '>=18'} get-intrinsic@1.3.0: @@ -2873,8 +2873,8 @@ packages: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} - import-meta-resolve@4.1.0: - resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} + import-meta-resolve@4.2.0: + resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} @@ -2964,8 +2964,8 @@ packages: resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} engines: {node: '>=12'} - is-fullwidth-code-point@5.0.0: - resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} + is-fullwidth-code-point@5.1.0: + resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==} engines: {node: '>=18'} is-generator-function@1.1.0: @@ -3233,13 +3233,13 @@ packages: resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} - lint-staged@16.1.5: - resolution: {integrity: sha512-uAeQQwByI6dfV7wpt/gVqg+jAPaSp8WwOA8kKC/dv1qw14oGpnpAisY65ibGHUGDUv0rYaZ8CAJZ/1U8hUvC2A==} + lint-staged@16.1.6: + resolution: {integrity: sha512-U4kuulU3CKIytlkLlaHcGgKscNfJPNTiDF2avIUGFCv7K95/DCYQ7Ra62ydeRWmgQGg9zJYw2dzdbztwJlqrow==} engines: {node: '>=20.17'} hasBin: true - listr2@9.0.2: - resolution: {integrity: sha512-VVd7cS6W+vLJu2wmq4QmfVj14Iep7cz4r/OWNk36Aq5ZOY7G8/BfCrQFexcwB1OIxB3yERiePfE/REBjEFulag==} + listr2@9.0.3: + resolution: {integrity: sha512-0aeh5HHHgmq1KRdMMDHfhMWQmIT/m7nRDTlxlFqni2Sp0had9baqsjJRvDGdlvgd6NmPE0nPloOipiQJGFtTHQ==} engines: {node: '>=20.0.0'} loader-utils@2.0.4: @@ -3278,6 +3278,9 @@ packages: lodash.isstring@4.0.1: resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} + lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} @@ -3519,8 +3522,8 @@ packages: peerDependencies: mobx: '>=6.11' - mobx-lark@2.4.0: - resolution: {integrity: sha512-heGo6uu3/sBgsEhiaj1utRGHcF0F3KuC7KXFDIBy17bGd6A8QVmHJX33Ku/1HIFc5cywp8SK6+Trn2vTD7Jkbg==} + mobx-lark@2.4.1: + resolution: {integrity: sha512-J/jS+5uR7eo+z5Svm1u+cn2rp4Z3KjM/JyDGl+dJ5FjIKKfHCNMtHNC79Dr1hd9NIJhC/cDDJ9vEALz9t+wBkw==} peerDependencies: react: '>=16' @@ -3986,8 +3989,8 @@ packages: rehype-recma@1.0.0: resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} - remark-mdx@3.1.0: - resolution: {integrity: sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==} + remark-mdx@3.1.1: + resolution: {integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==} remark-parse@11.0.0: resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} @@ -4345,8 +4348,8 @@ packages: uglify-js: optional: true - terser@5.43.1: - resolution: {integrity: sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==} + terser@5.44.0: + resolution: {integrity: sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==} engines: {node: '>=10'} hasBin: true @@ -4435,8 +4438,8 @@ packages: typed.js@2.1.0: resolution: {integrity: sha512-bDuXEf7YcaKN4g08NMTUM6G90XU25CK3bh6U0THC/Mod/QPKlEt9g/EjvbYB8x2Qwr2p6J6I3NrsoYaVnY6wsQ==} - typescript-eslint@8.41.0: - resolution: {integrity: sha512-n66rzs5OBXW3SFSnZHr2T685q1i4ODm2nulFJhMZBotaTavsS8TrI3d7bDlRSs9yWo7HmyWrN9qDu14Qv7Y0Dw==} + typescript-eslint@8.42.0: + resolution: {integrity: sha512-ozR/rQn+aQXQxh1YgbCzQWDFrsi9mcg+1PM3l/z5o1+20P7suOIaNg515bpr/OYt6FObz/NHcBstydDLHWeEKg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -5441,14 +5444,14 @@ snapshots: '@codexteam/icons@0.0.4': {} - '@cspell/cspell-bundled-dicts@9.2.0': + '@cspell/cspell-bundled-dicts@9.2.1': dependencies: '@cspell/dict-ada': 4.1.1 '@cspell/dict-al': 1.1.1 '@cspell/dict-aws': 4.0.15 '@cspell/dict-bash': 4.2.1 '@cspell/dict-companies': 3.2.5 - '@cspell/dict-cpp': 6.0.10 + '@cspell/dict-cpp': 6.0.12 '@cspell/dict-cryptocurrencies': 5.0.5 '@cspell/dict-csharp': 4.0.7 '@cspell/dict-css': 4.0.18 @@ -5458,9 +5461,9 @@ snapshots: '@cspell/dict-docker': 1.1.16 '@cspell/dict-dotnet': 5.0.10 '@cspell/dict-elixir': 4.0.8 - '@cspell/dict-en-common-misspellings': 2.1.3 - '@cspell/dict-en-gb-mit': 3.1.7 - '@cspell/dict-en_us': 4.4.17 + '@cspell/dict-en-common-misspellings': 2.1.5 + '@cspell/dict-en-gb-mit': 3.1.8 + '@cspell/dict-en_us': 4.4.18 '@cspell/dict-filetypes': 3.0.13 '@cspell/dict-flutter': 1.1.1 '@cspell/dict-fonts': 4.0.5 @@ -5484,7 +5487,7 @@ snapshots: '@cspell/dict-markdown': 2.0.12(@cspell/dict-css@4.0.18)(@cspell/dict-html-symbol-entities@4.0.4)(@cspell/dict-html@4.0.12)(@cspell/dict-typescript@3.2.3) '@cspell/dict-monkeyc': 1.0.11 '@cspell/dict-node': 5.0.8 - '@cspell/dict-npm': 5.2.14 + '@cspell/dict-npm': 5.2.15 '@cspell/dict-php': 4.0.15 '@cspell/dict-powershell': 5.0.15 '@cspell/dict-public-licenses': 2.0.15 @@ -5494,7 +5497,7 @@ snapshots: '@cspell/dict-rust': 4.0.12 '@cspell/dict-scala': 5.0.8 '@cspell/dict-shell': 1.1.1 - '@cspell/dict-software-terms': 5.1.6 + '@cspell/dict-software-terms': 5.1.7 '@cspell/dict-sql': 2.2.1 '@cspell/dict-svelte': 1.0.7 '@cspell/dict-swift': 2.0.6 @@ -5502,15 +5505,15 @@ snapshots: '@cspell/dict-typescript': 3.2.3 '@cspell/dict-vue': 3.0.5 - '@cspell/cspell-pipe@9.2.0': {} + '@cspell/cspell-pipe@9.2.1': {} - '@cspell/cspell-resolver@9.2.0': + '@cspell/cspell-resolver@9.2.1': dependencies: global-directory: 4.0.1 - '@cspell/cspell-service-bus@9.2.0': {} + '@cspell/cspell-service-bus@9.2.1': {} - '@cspell/cspell-types@9.2.0': {} + '@cspell/cspell-types@9.2.1': {} '@cspell/dict-ada@4.1.1': {} @@ -5524,7 +5527,7 @@ snapshots: '@cspell/dict-companies@3.2.5': {} - '@cspell/dict-cpp@6.0.10': {} + '@cspell/dict-cpp@6.0.12': {} '@cspell/dict-cryptocurrencies@5.0.5': {} @@ -5544,11 +5547,11 @@ snapshots: '@cspell/dict-elixir@4.0.8': {} - '@cspell/dict-en-common-misspellings@2.1.3': {} + '@cspell/dict-en-common-misspellings@2.1.5': {} - '@cspell/dict-en-gb-mit@3.1.7': {} + '@cspell/dict-en-gb-mit@3.1.8': {} - '@cspell/dict-en_us@4.4.17': {} + '@cspell/dict-en_us@4.4.18': {} '@cspell/dict-filetypes@3.0.13': {} @@ -5601,7 +5604,7 @@ snapshots: '@cspell/dict-node@5.0.8': {} - '@cspell/dict-npm@5.2.14': {} + '@cspell/dict-npm@5.2.15': {} '@cspell/dict-php@4.0.15': {} @@ -5623,7 +5626,7 @@ snapshots: '@cspell/dict-shell@1.1.1': {} - '@cspell/dict-software-terms@5.1.6': {} + '@cspell/dict-software-terms@5.1.7': {} '@cspell/dict-sql@2.2.1': {} @@ -5637,24 +5640,24 @@ snapshots: '@cspell/dict-vue@3.0.5': {} - '@cspell/dynamic-import@9.2.0': + '@cspell/dynamic-import@9.2.1': dependencies: - '@cspell/url': 9.2.0 - import-meta-resolve: 4.1.0 + '@cspell/url': 9.2.1 + import-meta-resolve: 4.2.0 - '@cspell/eslint-plugin@9.2.0(eslint@9.34.0(jiti@2.5.1))': + '@cspell/eslint-plugin@9.2.1(eslint@9.34.0(jiti@2.5.1))': dependencies: - '@cspell/cspell-types': 9.2.0 - '@cspell/url': 9.2.0 - cspell-lib: 9.2.0 + '@cspell/cspell-types': 9.2.1 + '@cspell/url': 9.2.1 + cspell-lib: 9.2.1 eslint: 9.34.0(jiti@2.5.1) synckit: 0.11.11 - '@cspell/filetypes@9.2.0': {} + '@cspell/filetypes@9.2.1': {} - '@cspell/strong-weak-map@9.2.0': {} + '@cspell/strong-weak-map@9.2.1': {} - '@cspell/url@9.2.0': {} + '@cspell/url@9.2.1': {} '@editorjs/editorjs@2.30.8': {} @@ -5662,18 +5665,18 @@ snapshots: dependencies: '@codexteam/icons': 0.0.4 - '@emnapi/core@1.4.5': + '@emnapi/core@1.5.0': dependencies: - '@emnapi/wasi-threads': 1.0.4 + '@emnapi/wasi-threads': 1.1.0 tslib: 2.8.1 optional: true - '@emnapi/runtime@1.4.5': + '@emnapi/runtime@1.5.0': dependencies: tslib: 2.8.1 optional: true - '@emnapi/wasi-threads@1.0.4': + '@emnapi/wasi-threads@1.1.0': dependencies: tslib: 2.8.1 optional: true @@ -5811,7 +5814,7 @@ snapshots: '@img/sharp-wasm32@0.34.3': dependencies: - '@emnapi/runtime': 1.4.5 + '@emnapi/runtime': 1.5.0 optional: true '@img/sharp-win32-arm64@0.34.3': @@ -5874,20 +5877,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@mdx-js/loader@3.1.0(acorn@8.15.0)': + '@mdx-js/loader@3.1.1': dependencies: - '@mdx-js/mdx': 3.1.0(acorn@8.15.0) + '@mdx-js/mdx': 3.1.1 source-map: 0.7.6 transitivePeerDependencies: - - acorn - supports-color - '@mdx-js/mdx@3.1.0(acorn@8.15.0)': + '@mdx-js/mdx@3.1.1': dependencies: '@types/estree': 1.0.8 '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 '@types/mdx': 2.0.13 + acorn: 8.15.0 collapse-white-space: 2.1.0 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 @@ -5899,7 +5902,7 @@ snapshots: recma-jsx: 1.0.1(acorn@8.15.0) recma-stringify: 1.0.0 rehype-recma: 1.0.0 - remark-mdx: 3.1.0 + remark-mdx: 3.1.1 remark-parse: 11.0.0 remark-rehype: 11.1.2 source-map: 0.7.6 @@ -5909,10 +5912,9 @@ snapshots: unist-util-visit: 5.0.0 vfile: 6.0.3 transitivePeerDependencies: - - acorn - supports-color - '@mdx-js/react@3.1.0(@types/react@19.1.12)(react@19.1.1)': + '@mdx-js/react@3.1.1(@types/react@19.1.12)(react@19.1.1)': dependencies: '@types/mdx': 2.0.13 '@types/react': 19.1.12 @@ -5922,8 +5924,8 @@ snapshots: '@napi-rs/wasm-runtime@0.2.12': dependencies: - '@emnapi/core': 1.4.5 - '@emnapi/runtime': 1.4.5 + '@emnapi/core': 1.5.0 + '@emnapi/runtime': 1.5.0 '@tybys/wasm-util': 0.10.0 optional: true @@ -5933,12 +5935,12 @@ snapshots: dependencies: fast-glob: 3.3.1 - '@next/mdx@15.5.2(@mdx-js/loader@3.1.0(acorn@8.15.0))(@mdx-js/react@3.1.0(@types/react@19.1.12)(react@19.1.1))': + '@next/mdx@15.5.2(@mdx-js/loader@3.1.1)(@mdx-js/react@3.1.1(@types/react@19.1.12)(react@19.1.1))': dependencies: source-map: 0.7.6 optionalDependencies: - '@mdx-js/loader': 3.1.0(acorn@8.15.0) - '@mdx-js/react': 3.1.0(@types/react@19.1.12)(react@19.1.1) + '@mdx-js/loader': 3.1.1 + '@mdx-js/react': 3.1.1(@types/react@19.1.12)(react@19.1.1) '@next/swc-darwin-arm64@15.5.2': optional: true @@ -6131,10 +6133,10 @@ snapshots: '@softonus/prettier-plugin-duplicate-remover@1.1.2': {} - '@stylistic/eslint-plugin@5.2.3(eslint@9.34.0(jiti@2.5.1))': + '@stylistic/eslint-plugin@5.3.1(eslint@9.34.0(jiti@2.5.1))': dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0(jiti@2.5.1)) - '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/types': 8.42.0 eslint: 9.34.0(jiti@2.5.1) eslint-visitor-keys: 4.2.1 espree: 10.4.0 @@ -6350,14 +6352,14 @@ snapshots: '@types/warning@3.0.3': {} - '@typescript-eslint/eslint-plugin@8.41.0(@typescript-eslint/parser@8.41.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': + '@typescript-eslint/eslint-plugin@8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.41.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) - '@typescript-eslint/scope-manager': 8.41.0 - '@typescript-eslint/type-utils': 8.41.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) - '@typescript-eslint/utils': 8.41.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) - '@typescript-eslint/visitor-keys': 8.41.0 + '@typescript-eslint/parser': 8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/scope-manager': 8.42.0 + '@typescript-eslint/type-utils': 8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/utils': 8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/visitor-keys': 8.42.0 eslint: 9.34.0(jiti@2.5.1) graphemer: 1.4.0 ignore: 7.0.5 @@ -6367,41 +6369,41 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.41.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': + '@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@typescript-eslint/scope-manager': 8.41.0 - '@typescript-eslint/types': 8.41.0 - '@typescript-eslint/typescript-estree': 8.41.0(typescript@5.9.2) - '@typescript-eslint/visitor-keys': 8.41.0 + '@typescript-eslint/scope-manager': 8.42.0 + '@typescript-eslint/types': 8.42.0 + '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2) + '@typescript-eslint/visitor-keys': 8.42.0 debug: 4.4.1 eslint: 9.34.0(jiti@2.5.1) typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.41.0(typescript@5.9.2)': + '@typescript-eslint/project-service@8.42.0(typescript@5.9.2)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.41.0(typescript@5.9.2) - '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/tsconfig-utils': 8.42.0(typescript@5.9.2) + '@typescript-eslint/types': 8.42.0 debug: 4.4.1 typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.41.0': + '@typescript-eslint/scope-manager@8.42.0': dependencies: - '@typescript-eslint/types': 8.41.0 - '@typescript-eslint/visitor-keys': 8.41.0 + '@typescript-eslint/types': 8.42.0 + '@typescript-eslint/visitor-keys': 8.42.0 - '@typescript-eslint/tsconfig-utils@8.41.0(typescript@5.9.2)': + '@typescript-eslint/tsconfig-utils@8.42.0(typescript@5.9.2)': dependencies: typescript: 5.9.2 - '@typescript-eslint/type-utils@8.41.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': + '@typescript-eslint/type-utils@8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@typescript-eslint/types': 8.41.0 - '@typescript-eslint/typescript-estree': 8.41.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.41.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/types': 8.42.0 + '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2) + '@typescript-eslint/utils': 8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) debug: 4.4.1 eslint: 9.34.0(jiti@2.5.1) ts-api-utils: 2.1.0(typescript@5.9.2) @@ -6409,14 +6411,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.41.0': {} + '@typescript-eslint/types@8.42.0': {} - '@typescript-eslint/typescript-estree@8.41.0(typescript@5.9.2)': + '@typescript-eslint/typescript-estree@8.42.0(typescript@5.9.2)': dependencies: - '@typescript-eslint/project-service': 8.41.0(typescript@5.9.2) - '@typescript-eslint/tsconfig-utils': 8.41.0(typescript@5.9.2) - '@typescript-eslint/types': 8.41.0 - '@typescript-eslint/visitor-keys': 8.41.0 + '@typescript-eslint/project-service': 8.42.0(typescript@5.9.2) + '@typescript-eslint/tsconfig-utils': 8.42.0(typescript@5.9.2) + '@typescript-eslint/types': 8.42.0 + '@typescript-eslint/visitor-keys': 8.42.0 debug: 4.4.1 fast-glob: 3.3.3 is-glob: 4.0.3 @@ -6427,20 +6429,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.41.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': + '@typescript-eslint/utils@8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0(jiti@2.5.1)) - '@typescript-eslint/scope-manager': 8.41.0 - '@typescript-eslint/types': 8.41.0 - '@typescript-eslint/typescript-estree': 8.41.0(typescript@5.9.2) + '@typescript-eslint/scope-manager': 8.42.0 + '@typescript-eslint/types': 8.42.0 + '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2) eslint: 9.34.0(jiti@2.5.1) typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.41.0': + '@typescript-eslint/visitor-keys@8.42.0': dependencies: - '@typescript-eslint/types': 8.41.0 + '@typescript-eslint/types': 8.42.0 eslint-visitor-keys: 4.2.1 '@ungap/structured-clone@1.3.0': {} @@ -6710,8 +6712,8 @@ snapshots: browserslist@4.25.4: dependencies: - caniuse-lite: 1.0.30001737 - electron-to-chromium: 1.5.211 + caniuse-lite: 1.0.30001739 + electron-to-chromium: 1.5.212 node-releases: 2.0.19 update-browserslist-db: 1.1.3(browserslist@4.25.4) @@ -6742,7 +6744,7 @@ snapshots: callsites@3.1.0: {} - caniuse-lite@1.0.30001737: {} + caniuse-lite@1.0.30001739: {} ccount@2.0.1: {} @@ -6876,53 +6878,53 @@ snapshots: crypto-random-string@2.0.0: {} - cspell-config-lib@9.2.0: + cspell-config-lib@9.2.1: dependencies: - '@cspell/cspell-types': 9.2.0 + '@cspell/cspell-types': 9.2.1 comment-json: 4.2.5 smol-toml: 1.4.2 yaml: 2.8.1 - cspell-dictionary@9.2.0: + cspell-dictionary@9.2.1: dependencies: - '@cspell/cspell-pipe': 9.2.0 - '@cspell/cspell-types': 9.2.0 - cspell-trie-lib: 9.2.0 + '@cspell/cspell-pipe': 9.2.1 + '@cspell/cspell-types': 9.2.1 + cspell-trie-lib: 9.2.1 fast-equals: 5.2.2 - cspell-glob@9.2.0: + cspell-glob@9.2.1: dependencies: - '@cspell/url': 9.2.0 + '@cspell/url': 9.2.1 picomatch: 4.0.3 - cspell-grammar@9.2.0: + cspell-grammar@9.2.1: dependencies: - '@cspell/cspell-pipe': 9.2.0 - '@cspell/cspell-types': 9.2.0 + '@cspell/cspell-pipe': 9.2.1 + '@cspell/cspell-types': 9.2.1 - cspell-io@9.2.0: + cspell-io@9.2.1: dependencies: - '@cspell/cspell-service-bus': 9.2.0 - '@cspell/url': 9.2.0 + '@cspell/cspell-service-bus': 9.2.1 + '@cspell/url': 9.2.1 - cspell-lib@9.2.0: + cspell-lib@9.2.1: dependencies: - '@cspell/cspell-bundled-dicts': 9.2.0 - '@cspell/cspell-pipe': 9.2.0 - '@cspell/cspell-resolver': 9.2.0 - '@cspell/cspell-types': 9.2.0 - '@cspell/dynamic-import': 9.2.0 - '@cspell/filetypes': 9.2.0 - '@cspell/strong-weak-map': 9.2.0 - '@cspell/url': 9.2.0 + '@cspell/cspell-bundled-dicts': 9.2.1 + '@cspell/cspell-pipe': 9.2.1 + '@cspell/cspell-resolver': 9.2.1 + '@cspell/cspell-types': 9.2.1 + '@cspell/dynamic-import': 9.2.1 + '@cspell/filetypes': 9.2.1 + '@cspell/strong-weak-map': 9.2.1 + '@cspell/url': 9.2.1 clear-module: 4.1.2 comment-json: 4.2.5 - cspell-config-lib: 9.2.0 - cspell-dictionary: 9.2.0 - cspell-glob: 9.2.0 - cspell-grammar: 9.2.0 - cspell-io: 9.2.0 - cspell-trie-lib: 9.2.0 + cspell-config-lib: 9.2.1 + cspell-dictionary: 9.2.1 + cspell-glob: 9.2.1 + cspell-grammar: 9.2.1 + cspell-io: 9.2.1 + cspell-trie-lib: 9.2.1 env-paths: 3.0.0 fast-equals: 5.2.2 gensequence: 7.0.0 @@ -6932,10 +6934,10 @@ snapshots: vscode-uri: 3.1.0 xdg-basedir: 5.1.0 - cspell-trie-lib@9.2.0: + cspell-trie-lib@9.2.1: dependencies: - '@cspell/cspell-pipe': 9.2.0 - '@cspell/cspell-types': 9.2.0 + '@cspell/cspell-pipe': 9.2.1 + '@cspell/cspell-types': 9.2.1 gensequence: 7.0.0 css-declaration-sorter@7.2.0(postcss@8.4.31): @@ -7073,7 +7075,7 @@ snapshots: dependencies: jake: 10.9.4 - electron-to-chromium@1.5.211: {} + electron-to-chromium@1.5.212: {} emoji-regex@10.5.0: {} @@ -7217,12 +7219,12 @@ snapshots: dependencies: '@next/eslint-plugin-next': 15.5.2 '@rushstack/eslint-patch': 1.12.0 - '@typescript-eslint/eslint-plugin': 8.41.0(@typescript-eslint/parser@8.41.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) - '@typescript-eslint/parser': 8.41.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/eslint-plugin': 8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/parser': 8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) eslint: 9.34.0(jiti@2.5.1) eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.34.0(jiti@2.5.1)) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.41.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.34.0(jiti@2.5.1)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.34.0(jiti@2.5.1)) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.34.0(jiti@2.5.1)) eslint-plugin-react: 7.37.5(eslint@9.34.0(jiti@2.5.1)) eslint-plugin-react-hooks: 5.2.0(eslint@9.34.0(jiti@2.5.1)) @@ -7256,22 +7258,22 @@ snapshots: tinyglobby: 0.2.14 unrs-resolver: 1.11.1 optionalDependencies: - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.41.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.34.0(jiti@2.5.1)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.34.0(jiti@2.5.1)) transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.41.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.34.0(jiti@2.5.1)): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.34.0(jiti@2.5.1)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.41.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/parser': 8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) eslint: 9.34.0(jiti@2.5.1) eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.34.0(jiti@2.5.1)) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.41.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.34.0(jiti@2.5.1)): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.34.0(jiti@2.5.1)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -7282,7 +7284,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.34.0(jiti@2.5.1) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.41.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.34.0(jiti@2.5.1)) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.34.0(jiti@2.5.1)) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -7294,7 +7296,7 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.41.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/parser': 8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -7574,7 +7576,7 @@ snapshots: gensync@1.0.0-beta.2: {} - get-east-asian-width@1.3.0: {} + get-east-asian-width@1.3.1: {} get-intrinsic@1.3.0: dependencies: @@ -7813,7 +7815,7 @@ snapshots: parent-module: 1.0.1 resolve-from: 4.0.0 - import-meta-resolve@4.1.0: {} + import-meta-resolve@4.2.0: {} imurmurhash@0.1.4: {} @@ -7904,9 +7906,9 @@ snapshots: is-fullwidth-code-point@4.0.0: {} - is-fullwidth-code-point@5.0.0: + is-fullwidth-code-point@5.1.0: dependencies: - get-east-asian-width: 1.3.0 + get-east-asian-width: 1.3.1 is-generator-function@1.1.0: dependencies: @@ -8184,13 +8186,13 @@ snapshots: lilconfig@3.1.3: {} - lint-staged@16.1.5: + lint-staged@16.1.6: dependencies: chalk: 5.6.0 commander: 14.0.0 debug: 4.4.1 lilconfig: 3.1.3 - listr2: 9.0.2 + listr2: 9.0.3 micromatch: 4.0.8 nano-spawn: 1.0.2 pidtree: 0.6.0 @@ -8199,7 +8201,7 @@ snapshots: transitivePeerDependencies: - supports-color - listr2@9.0.2: + listr2@9.0.3: dependencies: cli-truncate: 4.0.0 colorette: 2.0.20 @@ -8238,6 +8240,8 @@ snapshots: lodash.isstring@4.0.1: {} + lodash.memoize@4.1.2: {} + lodash.merge@4.6.2: {} lodash.once@4.1.1: {} @@ -8668,11 +8672,12 @@ snapshots: - element-internals-polyfill - typescript - mobx-lark@2.4.0(core-js@3.45.1)(react@19.1.1)(typescript@5.9.2): + mobx-lark@2.4.1(core-js@3.45.1)(react@19.1.1)(typescript@5.9.2): dependencies: '@swc/helpers': 0.5.17 '@types/react': 19.1.12 koajax: 3.1.2(core-js@3.45.1)(typescript@5.9.2) + lodash.memoize: 4.1.2 mobx: 6.13.7 mobx-restful: 2.1.0(core-js@3.45.1)(mobx@6.13.7)(typescript@5.9.2) react: 19.1.1 @@ -8828,7 +8833,7 @@ snapshots: dependencies: '@next/env': 15.5.2 '@swc/helpers': 0.5.15 - caniuse-lite: 1.0.30001737 + caniuse-lite: 1.0.30001739 postcss: 8.4.31 react: 19.1.1 react-dom: 19.1.1(react@19.1.1) @@ -9233,7 +9238,7 @@ snapshots: transitivePeerDependencies: - supports-color - remark-mdx@3.1.0: + remark-mdx@3.1.1: dependencies: mdast-util-mdx: 3.0.0 micromark-extension-mdxjs: 3.0.0 @@ -9298,7 +9303,7 @@ snapshots: jest-worker: 26.6.2 rollup: 2.79.2 serialize-javascript: 4.0.0 - terser: 5.43.1 + terser: 5.44.0 rollup@2.79.2: optionalDependencies: @@ -9481,7 +9486,7 @@ snapshots: slice-ansi@7.1.0: dependencies: ansi-styles: 6.2.1 - is-fullwidth-code-point: 5.0.0 + is-fullwidth-code-point: 5.1.0 smol-toml@1.4.2: {} @@ -9524,7 +9529,7 @@ snapshots: string-width@7.2.0: dependencies: emoji-regex: 10.5.0 - get-east-asian-width: 1.3.0 + get-east-asian-width: 1.3.1 strip-ansi: 7.1.0 string.prototype.includes@2.0.1: @@ -9646,9 +9651,9 @@ snapshots: jest-worker: 27.5.1 schema-utils: 4.3.2 serialize-javascript: 6.0.2 - terser: 5.43.1 + terser: 5.44.0 - terser@5.43.1: + terser@5.44.0: dependencies: '@jridgewell/source-map': 0.3.11 acorn: 8.15.0 @@ -9757,12 +9762,12 @@ snapshots: typed.js@2.1.0: {} - typescript-eslint@8.41.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2): + typescript-eslint@8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.41.0(@typescript-eslint/parser@8.41.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) - '@typescript-eslint/parser': 8.41.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) - '@typescript-eslint/typescript-estree': 8.41.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.41.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/eslint-plugin': 8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/parser': 8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2) + '@typescript-eslint/utils': 8.42.0(eslint@9.34.0(jiti@2.5.1))(typescript@5.9.2) eslint: 9.34.0(jiti@2.5.1) typescript: 5.9.2 transitivePeerDependencies: