diff --git a/components/changelog-generator.js b/components/changelog-generator.js index 05d1822b..3eddab43 100644 --- a/components/changelog-generator.js +++ b/components/changelog-generator.js @@ -1,4 +1,4 @@ -import { buildDynamicMDX, buildDynamicMeta } from 'nextra/remote' +import { buildDynamicMDX } from 'nextra/remote' export const getChangelog = async (packageName, locale = 'en') => { let page = 1 @@ -6,6 +6,8 @@ export const getChangelog = async (packageName, locale = 'en') => { `https://api.github.com/repos/napi-rs/napi-rs/releases?per_page=100&page=${page}`, { headers: { + Accept: 'application/vnd.github+json', + 'X-GitHub-Api-Version': '2022-11-28', Authorization: `token ${process.env.GITHUB_TOKEN}`, }, }, @@ -18,6 +20,8 @@ export const getChangelog = async (packageName, locale = 'en') => { `https://api.github.com/repos/napi-rs/napi-rs/releases?per_page=100&page=${page}`, { headers: { + Accept: 'application/vnd.github+json', + 'X-GitHub-Api-Version': '2022-11-28', Authorization: `token ${process.env.GITHUB_TOKEN}`, }, }, @@ -39,12 +43,11 @@ export const getChangelog = async (packageName, locale = 'en') => { ) return `## ${release.tag_name} + }" target="_blank" rel="noopener">${release.tag_name} ${new Date(release.published_at).toLocaleDateString(locale)} \n${body}` }) .join('\n\n'), )), - ...(await buildDynamicMeta()), }, revalidate: 10, } diff --git a/components/sponsors.jsx b/components/sponsors.jsx index 2d2eb1f4..7285b840 100644 --- a/components/sponsors.jsx +++ b/components/sponsors.jsx @@ -1,7 +1,7 @@ -import { useSSG } from 'nextra/ssg' +import { useData } from 'nextra/hooks' export function Sponsors() { - const sponsorsSVG = useSSG() + const sponsorsSVG = useData() const reg = // const [_, width, height] = reg.exec(sponsorsSVG) diff --git a/middleware.js b/middleware.js index f3f2c11e..f806c656 100644 --- a/middleware.js +++ b/middleware.js @@ -1,3 +1,8 @@ -import { locales } from 'nextra/locales' +export { middleware } from 'nextra/locales' -export const middleware = locales +export const config = { + // Matcher ignoring `/_next/` and `/api/` + matcher: [ + '/((?!api|_next/static|_next/image|favicon.ico|icon.svg|apple-icon.png|manifest).*)', + ], +} diff --git a/next-env.d.ts b/next-env.d.ts index 4f11a03d..a4a7b3f5 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -2,4 +2,4 @@ /// // NOTE: This file should not be edited -// see https://nextjs.org/docs/basic-features/typescript for more information. +// see https://nextjs.org/docs/pages/building-your-application/configuring/typescript for more information. diff --git a/next.config.js b/next.config.js index 8416fb55..b3e8a5ce 100644 --- a/next.config.js +++ b/next.config.js @@ -1,17 +1,25 @@ -const { PerfseePlugin } = require('@perfsee/webpack') -const withNextra = require('nextra')({ +import { join } from 'node:path' +import { fileURLToPath } from 'node:url' + +import { PerfseePlugin } from '@perfsee/webpack' +import nextra from 'nextra' + +const withNextra = nextra({ theme: 'nextra-theme-docs', themeConfig: './nextra.config.js', - flexsearch: true, + search: true, staticImage: true, }) -module.exports = withNextra({ +export default withNextra({ i18n: { - defaultLocale: process.env.LOCALE || 'en', - locales: ['en', 'cn', 'pt-BR'], + defaultLocale: 'en', + locales: ['en', 'pt-BR'], }, - webpack(config, { dev, isServer }) { + webpack( + /** @type {import('webpack').Configuration} */ config, + { dev, isServer }, + ) { if (!dev && !isServer) { const plugin = new PerfseePlugin({ project: 'napi-rs-website', @@ -33,6 +41,8 @@ module.exports = withNextra({ outputPath: `${isServer ? '../' : ''}static/videos/`, }, }) + + config.resolve.alias['@'] = join(fileURLToPath(import.meta.url), '..') return config }, }) diff --git a/nextra.config.js b/nextra.config.js index 3ddcc801..f4fa08a0 100644 --- a/nextra.config.js +++ b/nextra.config.js @@ -3,16 +3,16 @@ import Script from 'next/script' const LOADING_LOCALES = { en: 'Loading', - cn: '正在加载', 'pt-BR': 'Carregando', } const PLACEHOLDER_LOCALES = { en: 'Search documentation', - cn: '搜索文档', 'pt-BR': 'Buscar documentação', } +const DEFAULT_LOCALE = 'en' + export default { docsRepositoryBase: 'https://github.com/napi-rs/website/blob/main', chat: { @@ -153,7 +153,6 @@ export default { }, i18n: [ { locale: 'en', text: 'English' }, - { locale: 'cn', text: '简体中文' }, { locale: 'pt-BR', text: 'Português do Brasil' }, ], useNextSeoProps: () => ({ titleTemplate: '%s \u2013 NAPI-RS' }), diff --git a/package.json b/package.json index 550c60ea..2d5b6695 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "description": "Website for https://napi.rs", "author": "lynweklm@gmail.com", "license": "MIT", + "type": "module", "prettier": { "printWidth": 80, "semi": false, @@ -13,32 +14,33 @@ "arrowParens": "always" }, "dependencies": { - "@mdx-js/react": "^3.0.0", - "@vercel/analytics": "^1.1.1", + "@mdx-js/react": "^3.1.0", + "@vercel/analytics": "^1.3.2", "lodash-es": "^4.17.21", - "next": "14.2.16", - "nextra": "2.13.4", - "nextra-theme-docs": "2.13.4", - "react": "^18.2.0", - "react-dom": "^18.2.0" + "next": "15.0.1", + "nextra": "3.1.1", + "nextra-theme-docs": "3.1.1", + "react": "^18.3.1", + "react-dom": "^18.3.1" }, "devDependencies": { - "@perfsee/webpack": "^1.10.0", - "@types/node": "^20.10.5", - "@types/react": "^18.2.45", + "@perfsee/webpack": "^1.13.0", + "@types/node": "^22.8.1", + "@types/react": "^18.3.12", "@types/sharp": "^0.32.0", - "autoprefixer": "^10.4.16", + "@types/webpack": "^5.28.5", + "autoprefixer": "^10.4.20", "cross-env": "^7.0.3", "file-loader": "^6.2.0", "husky": "9", - "lint-staged": "^15.2.0", + "lint-staged": "^15.2.10", "next-mdx-remote": "^5.0.0", - "postcss": "^8.4.32", - "prettier": "^3.1.1", - "sharp": "^0.33.1", - "tailwindcss": "^3.4.0", - "typescript": "^5.3.3", - "vercel": "^37.0.0" + "postcss": "^8.4.47", + "prettier": "^3.3.3", + "sharp": "^0.33.5", + "tailwindcss": "^3.4.14", + "typescript": "^5.6.3", + "vercel": "^37.12.1" }, "scripts": { "dev": "next", diff --git a/pages/_app.mdx b/pages/_app.tsx similarity index 67% rename from pages/_app.mdx rename to pages/_app.tsx index 22d633b7..13c7db34 100644 --- a/pages/_app.mdx +++ b/pages/_app.tsx @@ -6,11 +6,11 @@ export default function Nextra({ Component, pageProps }) { // Use the layout defined at the page level, if available const getLayout = Component.getLayout || ((page) => page) -const layout = getLayout() -return ( - -<> - - {layout} - -) } + const layout = getLayout() + return ( + <> + + {layout} + + ) +} diff --git a/pages/_meta.cn.json b/pages/_meta.cn.json deleted file mode 100644 index 25c4990f..00000000 --- a/pages/_meta.cn.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "index": { - "title": "Introduction", - "display": "hidden" - }, - "docs": { - "title": "文档", - "type": "page" - }, - "blog": { - "title": "博客", - "type": "page" - }, - "changelog": { - "title": "更新日志", - "type": "page" - } -} diff --git a/pages/_meta.en.json b/pages/_meta.en.json deleted file mode 100644 index 61d8fa83..00000000 --- a/pages/_meta.en.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "index": { - "title": "Introduction", - "display": "hidden" - }, - "docs": { - "title": "Docs", - "type": "page" - }, - "blog": { - "title": "Blog", - "type": "page" - }, - "changelog": { - "title": "Changelog", - "type": "page" - } -} diff --git a/pages/_meta.pt-BR.json b/pages/_meta.pt-BR.json deleted file mode 100644 index a53c9e2b..00000000 --- a/pages/_meta.pt-BR.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "index": { - "title": "Introdução", - "display": "hidden" - }, - "docs": { - "title": "Documentação", - "type": "page" - }, - "blog": { - "title": "Blog", - "type": "page" - }, - "changelog": { - "title": "Changelog", - "type": "page" - } -} diff --git a/pages/blog/announce-v2.cn.mdx b/pages/blog/announce-v2.cn.mdx deleted file mode 100644 index 79df233b..00000000 --- a/pages/blog/announce-v2.cn.mdx +++ /dev/null @@ -1,368 +0,0 @@ -import { Diff } from '../../components/v2-diff' -import { Contributors } from '../../components/contributors' - -# NAPI-RS v2 发布 - -> 🦀 NAPI-RS v2 - [更快 🚀](https://github.com/Brooooooklyn/rust-to-nodejs-overhead-benchmark) , 更易用,与 Node.js 生态更好兼容. -> -> 📅 2021/12/17 - -很高兴能在此宣布 **NAPI-RS** `v2` 的发布。 这是 **NAPI-RS** 有史以来最大的一次更新。在这次更新以后,**NAPI-RS** 从一个轻量级 `Rust` 库,变成了一个强大的框架。 - -`v2` 的开发从 [2021/08/10](https://github.com/napi-rs/napi-rs/pull/696) 开始. `v2` 旨在提供更易用的 API 和与 `Node.js` 生态更好的兼容性. - -`v2` 版本的核心是新的 `Rust 宏` API, 通过新的 `#[napi]` 宏,你可以更轻松的在 `Rust` 中定义 `JavaScript` 值。让我们看一下 `v1` 和 `v2` 版本同样定一个最小可运行的 `sum` 函数使两数相加的例子: - -**v2** - -```rust -use napi_derive::napi; - -#[napi] -fn sum(a: u32, b: u32) -> u32 { - a + b -} -``` - -**v1** - -```rust -use napi::{CallContext, JsNumber, JsObject, Result}; -use napi_derive::{module_exports, js_function}; - -#[module_exports] -fn init(mut exports: JsObject) -> Result<()> { - exports.create_named_method("sum", sum)?; - Ok(()) -} - -#[js_function(1)] -fn sum(ctx: CallContext) -> Result { - let a = ctx.get::(0)?.get_uint32()?; - let b = ctx.get::(0)?.get_uint32()?; - ctx.env.create_uint32(a + b) -} -``` - -可以看到 `v2` 提供的 API 明显更加简洁优雅。从 `Node.js` 到 `Rust` 值的相互转换过程被新提供的 `#[napi]` 宏隐藏了起来。你再也不用为如何通过底层的 `Node-API` 从 `Node.js` 将某个 `JsValue` 转换到 `Rust` 值,或者如何反过来转换而感到困惑。 - -## **NAPI-RS** v2 有哪些新特性 - -**NAPI-RS** `v2` 是基于 `v1` 完全重写而来的。但大部分 `v1` 提供的 API 都在新版本保留,以便基于 `v1` 的库可以兼容性升级。所以大部分基于 `v1` 开发的库在大部分情况下可以非常顺畅的直接将版本号升级到 `v2`。 - -### 自动生成 TypeScript 和 JavaScript 绑定文件 - -**NAPI-RS** 现在会自动为你的项目生成 JavaScript 和 TypeScript 绑定文件。在上一个版本,你需要使用 [`@node-rs/helper`](https://github.com/napi-rs/node-rs/tree/main/packages/helper) 这个库帮你加载正确的 native addon 文件/包。但是这个库对于 `Node.js` 生态的一些工具不太友好,因为它的加载逻辑过于动态。比如 [#316](https://github.com/napi-rs/node-rs/issues/316) 和 [#491](https://github.com/napi-rs/node-rs/issues/491)。 - -**NAPI-RS** `v2` 完全重新设计了基于 `optionalDependencies` 分发二进制包的 native addon 加载逻辑。现在我们不需要 `@node-rs/helper` 了,在生成的 JavaScript 绑定文件中它会自动帮你找到正确的 native addon 的位置并且加载。所以现在你可以非常顺畅的在 `webpack` `vercel` 等工具和平台中使用 **NAPI-RS** 构建的包了。 - -### 支持 Rust async fn - -使用功能强大的 `#[napi]` 宏, 你可以在 `Rust` 里定义 `async fn`. 然后这个 `async fn` 会被转换成 `JavaScript` 的 `async function`。 - -```rust {6} filename="lib.rs" -use futures::prelude::*; -use napi::bindgen_prelude::*; -use tokio::fs; - -#[napi] -async fn read_file_async(path: String) -> Result { - fs::read(path) - .map(|r| match r { - Ok(content) => Ok(content.into()), - Err(e) => Err(Error::new( - Status::GenericFailure, - format!("failed to read file, {}", e), - )), - }) - .await -} -``` - -⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ - -```ts filename="index.d.ts" -export function readFileAsync(path: string): Promise -``` - -### 在 Rust 中 await Promise - -这个功能看起来很疯狂,但是在 **NAPI-RS** 里你可以这样做! - -```rust title=lib.rs -use napi::bindgen_prelude::*; - -#[napi] -pub async fn async_plus_100(p: Promise) -> Result { - let v = p.await?; - Ok(v + 100) -} -``` - -```js {4} filename="test.mjs" -import { asyncPlus100 } from './index.js' - -const fx = 20 -const result = await asyncPlus100( - new Promise((resolve) => { - setTimeout(() => resolve(fx), 50) - }), -) - -console.log(result) // 120 -``` - -JavaScript `Promise` 会被转化成 Rust 里的 `Promise` struct, 并且会实现 `std::future::Future` trait. 所以你可以直接在上面使用 Rust 的 `await` 关键字. - -### 使用 `struct` 定义 `Class` - -与 [`PyO3`](https://github.com/PyO3/pyo3/blob/main/examples/maturin-starter/src/lib.rs) 和 [`node-bindgen`](https://github.com/infinyon/node-bindgen#javascript-class) 类似, 你可以使用 Rust `struct` 和 `#[napi]` 宏定义一个 JavaScript Class。 - -```rust filename="lib.rs" -// 一个无法直接暴露给 JavaScript 的复杂结构. -struct QueryEngine {} - -#[napi(js_name = "QueryEngine")] -struct JsQueryEngine { - engine: QueryEngine, -} - -#[napi] -impl JsQueryEngine { - #[napi(factory)] - pub fn with_initial_count(count: u32) -> Self { - JsQueryEngine { engine: QueryEngine::with_initial_count(count) } - } - - #[napi(constructor)] - pub fn new() -> Self { - JsQueryEngine { engine: QueryEngine::new() } - } - - /// Class method - #[napi] - pub async fn query(&self, query: String) -> napi::Result { - self.engine.query(query).await - } - - #[napi(getter)] - pub fn status(&self) -> napi::Result { - self.engine.status() - } - - #[napi(setter)] - pub fn count(&mut self, count: u32) { - self.engine.count = count; - } -} -``` - -⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ - -```ts filename="index.d.ts" -export class QueryEngine { - static withInitialCount(count: number): QueryEngine - constructor() - query(query: string): Promise - get status(): number - set count(count: number) -} -``` - -移步 [`class`](../docs/concepts/class) 来查阅更多细节. - -### Rust `enum` 到 JavaScript `Object` - -```rust title=lib.rs -#[napi] -enum Kind { - Duck, - Dog, - Cat, -} -``` - -⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ - -```ts filename="index.d.ts" -export const enum Kind { - Duck, - Dog, - Cat, -} -``` - -### 导出 Rust `const` - -```rust filename="lib.rs" -#[napi] -pub const DEFAULT_COST: u32 = 12; -``` - -```ts filename="index.d.ts" -export const DEFAULT_COST: number -``` - -### 可中断的 `AsyncTask` - -```rust filename="lib.rs" -use napi::{Task, Env, Result, JsNumber, bindgen_prelude::AbortSignal}; - -struct AsyncFib { - input: u32, -} - -impl Task for AsyncFib { - type Output = u32; - type JsValue = JsNumber; - - fn compute(&mut self) -> Result { - Ok(fib(self.input)) - } - - fn resolve(&mut self, env: Env, output: u32) -> Result { - enc.create_uint32(output) - } -} - -#[napi] -fn async_fib(input: u32, signal: Option) -> AsyncTask { - AsyncTask::with_optional_signal(AsyncFib { input }, signal) -} -``` - -⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ - -```ts filename="index.d.ts" -export function asyncFib(input: number, signal?: AbortSignal | null) => Promise -``` - -⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ - -```js {6} filename="test.mjs" -import { asyncFib } from './index.js' - -const controller = new AbortController() - -asyncFib(20, controller.signal).catch((e) => { - console.error(e) // Error: AbortError -}) - -controller.abort() -``` - -移步 [`AsyncTask`](../docs/concepts/async-task) 查看更多细节. - -### 支持 export Rust `mod` 到 JavaScript `Object` - -```rust filename="lib.rs" -#[napi] -mod xxh3 { - use napi::bindgen_prelude::{BigInt, Buffer}; - - #[napi] - pub const ALIGNMENT: u32 = 16; - - #[napi(js_name = "xxh3_64")] - pub fn xxh64(input: Buffer) -> u64 { - let mut h: u64 = 0; - for i in input.as_ref() { - h = h.wrapping_add(*i as u64); - } - h - } -} -``` - -⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ - -```ts filename="index.d.ts" -export namespace xxh3 { - export const ALIGNMENT: number - export function xxh3_64(input: Buffer): BigInt - export function xxh128(input: Buffer): BigInt -} -``` - -## Breaking changes - -除了新功能以外, `v2` 也带来了一些不兼容更新. - -### 最小支持的 **Rust** 版本 - -使用 `napi` 现在至少需要 Rust `1.57.0`, 因为新的 `#[napi]` 宏需要 `Rust` 的这个功能: [60fe8b3](https://github.com/rust-lang/rust/commit/60fe8b3a65be709fe2163b8ab438ef14209055cc). - -### `Task` trait - -`Task` trait 中的 `fn resolve` 和 `fn reject` 方法现在接受 `&mut self` 而不是 `self`。因为我们引入了一个新的 `fn finally` 方法,会在它们之后调用。 - -```diff -struct BufferLength(Ref); - -impl Task for BufferLength { - type Output = usize; - type JsValue = JsNumber; - - fn compute(&mut self) -> Result { - Ok(self.0.len() + 1) - } - -- fn resolve(self, env: Env, output: Self::Output) -> Result { -- self.0.unref(env)?; -+ fn resolve(&mut self, env: Env, output: Self::Output) -> Result { - env.create_uint32(output as u32) - } - -- fn reject(self, err: Error) -> Result { -- self.0.unref(env)?; -- Err(err) -- } - -+ fn finally(&mut self, env: Env) -> Result<()> { -+ self.0.unref(env)?; -+ Ok(()) -+ } -} - -``` - -### `Property::new` - -`Property::new` 现在只接受单个 `name: &str` 参数: - -```diff -- Property::new(&env, "name) -+ Property::new("name") -``` - -## 现在可以升级了吗? - -是的!`v2` beta 版本已经在很多项目中通过测试了。包括 `SWC` `Prisma` `@parcel/source-map` 和 **NAPI-RS** 生态中的许多其它项目。 - -## 下一步计划 - -**NAPI-RS** 生态最近一年扩张的非常快。 我们计划在新的 `#[napi]` 宏的基础上支持更多的平台来让 `Rust` 代码更容易编译部署到不同平台,能让更多不同平台的开发者和用户享受到 `Rust` 带来的各种强大功能。 - -在未来 `WebAssembly` 支持是最高优先级。 我们希望能让基于 **NAPI-RS** v2 开发的项目能无痛编译到 `WebAssembly`。 (在它使用到的 crate 都支持 `WebAssembly` 的前提下)。有了这个功能, 开发者可以更方便的在 Node.js 和浏览器之间共享代码。 - -我们也希望能开始调研如何支持 `Deno FFI`。 可以到这个 Issue [#12577](https://github.com/denoland/deno/issues/12577#issuecomment-977570758) 了解更多上下文。 - -## **致谢** - -感谢 [yiliuliuyi](https://github.com/forehalo) 发起 `v2` 版本,他完成了大部分 `#[napi]` 宏的功能。 - -感谢 [Jared Palmer](https://github.com/jaredpalmer) 审阅了所有文档和博客。 - -`v2` 的 API 设计和实现部分借鉴于 [`node-bindgen`](https://github.com/infinyon/node-bindgen) [`neon`](https://github.com/neon-bindings/neon) 和 [`wasm-bindgen`](https://github.com/rustwasm/wasm-bindgen). - -import { Callout } from 'nextra-theme-docs' - - - 特别感谢我的妻子。如果没有她牺牲掉的那些周末,我现在连 `Rust` 都不会写。 - - -### 贡献者 ✨ - -感谢这些了不起的开发者的贡献 ✨: - - diff --git a/pages/changelog/_meta.cn.json b/pages/changelog/_meta.cn.json deleted file mode 100644 index 112e67d3..00000000 --- a/pages/changelog/_meta.cn.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "napi": "napi", - "napi_derive": "napi-derive", - "napi_sys": "napi-sys", - "napi_build": "napi-build", - "napi-cli": "@napi-rs/cli" -} diff --git a/pages/changelog/_meta.en.json b/pages/changelog/_meta.en.json deleted file mode 100644 index 112e67d3..00000000 --- a/pages/changelog/_meta.en.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "napi": "napi", - "napi_derive": "napi-derive", - "napi_sys": "napi-sys", - "napi_build": "napi-build", - "napi-cli": "@napi-rs/cli" -} diff --git a/pages/docs/_meta.cn.json b/pages/docs/_meta.cn.json deleted file mode 100644 index fc4f53d0..00000000 --- a/pages/docs/_meta.cn.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "introduction": "介绍", - "concepts": "概念", - "compat-mode": "Compat mode", - "cli": "CLI", - "deep-dive": "Deep dive", - "cross-build": "Cross build", - "ecosystem": "Ecosystem", - "more": "More" -} diff --git a/pages/docs/_meta.en.json b/pages/docs/_meta.en.json deleted file mode 100644 index 1f416f6b..00000000 --- a/pages/docs/_meta.en.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "introduction": "Introduction", - "concepts": "Concepts", - "compat-mode": "Compat mode", - "cli": "CLI", - "deep-dive": "Deep dive", - "cross-build": "Cross build", - "ecosystem": "Ecosystem", - "more": "More" -} diff --git a/pages/docs/_meta.pt-BR.json b/pages/docs/_meta.pt-BR.json deleted file mode 100644 index 22ca4df1..00000000 --- a/pages/docs/_meta.pt-BR.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "introduction": "Introdução", - "concepts": "Conceitos", - "compat-mode": "Modo de compatibilidade", - "cli": "CLI", - "deep-dive": "Aprofundamento", - "cross-build": "Compilação cruzada", - "ecosystem": "Ecossistema", - "more": "Mais" -} diff --git a/pages/docs/cli/_meta.cn.json b/pages/docs/cli/_meta.cn.json deleted file mode 100644 index 2bafbf24..00000000 --- a/pages/docs/cli/_meta.cn.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "build": "Build", - "artifacts": "Artifacts", - "pre-publish": "Prepublish", - "napi-config": "NAPI Config" -} diff --git a/pages/docs/cli/_meta.en.json b/pages/docs/cli/_meta.en.json deleted file mode 100644 index 2bafbf24..00000000 --- a/pages/docs/cli/_meta.en.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "build": "Build", - "artifacts": "Artifacts", - "pre-publish": "Prepublish", - "napi-config": "NAPI Config" -} diff --git a/pages/docs/cli/_meta.pt-BR.json b/pages/docs/cli/_meta.pt-BR.json deleted file mode 100644 index 2bafbf24..00000000 --- a/pages/docs/cli/_meta.pt-BR.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "build": "Build", - "artifacts": "Artifacts", - "pre-publish": "Prepublish", - "napi-config": "NAPI Config" -} diff --git a/pages/docs/compat-mode/_meta.cn.json b/pages/docs/compat-mode/_meta.cn.json deleted file mode 100644 index 83d9c548..00000000 --- a/pages/docs/compat-mode/_meta.cn.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "concepts": "Concepts", - "recipes": "Recipes" -} diff --git a/pages/docs/compat-mode/_meta.en.json b/pages/docs/compat-mode/_meta.en.json deleted file mode 100644 index 83d9c548..00000000 --- a/pages/docs/compat-mode/_meta.en.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "concepts": "Concepts", - "recipes": "Recipes" -} diff --git a/pages/docs/compat-mode/_meta.pt-BR.json b/pages/docs/compat-mode/_meta.pt-BR.json deleted file mode 100644 index 2548f8a9..00000000 --- a/pages/docs/compat-mode/_meta.pt-BR.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "concepts": "Conceitos", - "recipes": "Recipes" -} diff --git a/pages/docs/compat-mode/concepts/_meta.cn.json b/pages/docs/compat-mode/concepts/_meta.cn.json deleted file mode 100644 index e6143377..00000000 --- a/pages/docs/compat-mode/concepts/_meta.cn.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "env": "Env", - "js-values": "JsValue", - "ref": "Reference", - "thread-safe-function": "Thread safe function", - "tokio": "Tokio", - "wrap": "Wrap native object" -} diff --git a/pages/docs/compat-mode/concepts/_meta.en.json b/pages/docs/compat-mode/concepts/_meta.en.json deleted file mode 100644 index e6143377..00000000 --- a/pages/docs/compat-mode/concepts/_meta.en.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "env": "Env", - "js-values": "JsValue", - "ref": "Reference", - "thread-safe-function": "Thread safe function", - "tokio": "Tokio", - "wrap": "Wrap native object" -} diff --git a/pages/docs/compat-mode/concepts/_meta.pt-BR.json b/pages/docs/compat-mode/concepts/_meta.pt-BR.json deleted file mode 100644 index e6143377..00000000 --- a/pages/docs/compat-mode/concepts/_meta.pt-BR.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "env": "Env", - "js-values": "JsValue", - "ref": "Reference", - "thread-safe-function": "Thread safe function", - "tokio": "Tokio", - "wrap": "Wrap native object" -} diff --git a/pages/docs/compat-mode/recipes/_meta.cn.json b/pages/docs/compat-mode/recipes/_meta.cn.json deleted file mode 100644 index a05acc1e..00000000 --- a/pages/docs/compat-mode/recipes/_meta.cn.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "call-context": "CallContext", - "define-class": "Defining class", - "registering-module": "Registering module" -} diff --git a/pages/docs/compat-mode/recipes/_meta.en.json b/pages/docs/compat-mode/recipes/_meta.en.json deleted file mode 100644 index a05acc1e..00000000 --- a/pages/docs/compat-mode/recipes/_meta.en.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "call-context": "CallContext", - "define-class": "Defining class", - "registering-module": "Registering module" -} diff --git a/pages/docs/compat-mode/recipes/_meta.pt-BR.json b/pages/docs/compat-mode/recipes/_meta.pt-BR.json deleted file mode 100644 index 38a3abd5..00000000 --- a/pages/docs/compat-mode/recipes/_meta.pt-BR.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "call-context": "CallContext", - "define-class": "Definindo Classe", - "registering-module": "Registrando Módulo" -} diff --git a/pages/docs/concepts/_meta.cn.json b/pages/docs/concepts/_meta.cn.json deleted file mode 100644 index d6b20336..00000000 --- a/pages/docs/concepts/_meta.cn.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "exports": "导出", - "naming-conventions": "命名约定", - "values": "值", - "class": "类", - "enum": "枚举", - "object": "对象", - "function": "函数", - "threadsafe-function": "线程安全函数", - "async-task": "异步任务", - "inject-env": "注入Env", - "inject-this": "注入This", - "reference": "引用", - "async-fn": "异步函数", - "external": "External", - "await-promise": "Await Promise", - "types-overwrite": "重写类型", - "typed-array": "Typed Array" -} diff --git a/pages/docs/concepts/_meta.en.json b/pages/docs/concepts/_meta.en.json deleted file mode 100644 index d4519763..00000000 --- a/pages/docs/concepts/_meta.en.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "exports": "Exports", - "naming-conventions": "Naming conventions", - "values": "Values", - "class": "Class", - "enum": "Enum", - "object": "Object", - "function": "Function", - "threadsafe-function": "ThreadsafeFunction", - "async-task": "AsyncTask", - "inject-env": "Inject Env", - "inject-this": "Inject This", - "reference": "Reference", - "async-fn": "async fn", - "external": "External", - "await-promise": "Await Promise", - "types-overwrite": "Types Overwrite", - "typed-array": "Typed Array" -} diff --git a/pages/docs/concepts/async-fn.cn.mdx b/pages/docs/concepts/async-fn.cn.mdx deleted file mode 100644 index b96bc0a3..00000000 --- a/pages/docs/concepts/async-fn.cn.mdx +++ /dev/null @@ -1,47 +0,0 @@ ---- -description: 使用 tokio 运行时运行一个 Rust 异步函数。 ---- - -import { Callout } from 'nextra-theme-docs' - -# 异步函数 - - - 为了使用 `async fn` ,你必须开启 `napi` 的 ***async*** 或 ***tokio_rt*** 特性: - -```toml {3} filename="Cargo.toml" -[dependencies] -napi = { version = "2", features = ["async"] } -``` - - - -你可以通过 `AsyncTask` 和 `ThreadsafeFunction` 做很多 异步/多线程 的工作,但有时你可能想直接使用 Rust 异步生态系统中的包。 - -**NAPI-RS** 默认支持 `tokio` 运行时,如果你在 `async fn` 中 `await` 一个 tokio `future`, -**NAPI-RS** 将在 tokio 运行时中执行它,并将其转换为 JavaScript `Promise`。 - -```rust {6} filename="lib.rs" -use futures::prelude::*; -use napi::bindgen_prelude::*; -use tokio::fs; - -#[napi] -async fn read_file_async(path: String) -> Result { - fs::read(path) - .map(|r| match r { - Ok(content) => Ok(content.into()), - Err(e) => Err(Error::new( - Status::GenericFailure, - format!("failed to read file, {}", e), - )), - }) - .await -} -``` - -⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ - -```ts filename="index.d.ts" -export function readFileAsync(path: string): Promise -``` diff --git a/pages/docs/concepts/async-task.cn.mdx b/pages/docs/concepts/async-task.cn.mdx deleted file mode 100644 index 59e71888..00000000 --- a/pages/docs/concepts/async-task.cn.mdx +++ /dev/null @@ -1,206 +0,0 @@ ---- -description: 在 libuv 线程池中运行任务并使用 AbortSignal 中止它 ---- - -# 异步任务 - -在讨论 `AsyncTask` 之前,我们需要先讨论 `Task`。 - -## `Task` - -附加模块通常需要利用 libuv 中的异步助手作为其实现的一部分, -这样,它们就可以安排工作在异步执行,以便它们的方法可以在工作完成之前返回, -这样就可以避免阻塞 Node.js 应用程序的整体执行。 - -`Task` 特征提供了一种定义这样的异步任务的方法,该任务需要在 libuv 线程中运行,您可以实现 `compute` 方法,该方法将在 libuv 线程中调用。 - -```rust {11-13} filename="lib.rs" -use napi::{Task, Env, Result, JsNumber}; - -struct AsyncFib { - input: u32, -} - -impl Task for AsyncFib { - type Output = u32; - type JsValue = JsNumber; - - fn compute(&mut self) -> Result { - Ok(fib(self.input)) - } - - fn resolve(&mut self, env: Env, output: u32) -> Result { - env.create_uint32(output) - } -} -``` - -`fn compute` 在 libuv 线程中运行,您可以在这里运行一些繁重的计算,这不会阻塞 JavaScript 主线程。 - -你可能会注意到 `Task` 特征上有两个关联类型,`type Output` 和 `type JsValue`, -`Output` 是 `compute` 方法的返回类型,`JsValue` 是 `resolve` 方法的返回类型。 - -import { Callout } from 'nextra-theme-docs' - - - 我们需要分开 `type Output` 和 `type JsValue`,因为我们无法在 `fn compute` - 中回调 JavaScript 函数,它不在主线程上执行, 所以我们需要在主线程上运行的 `fn - resolve`,根据 `Output` 和 `Env` 创建 `JsValue` 并在 JavaScript 中回调它。 - - -你可以使用底层 API `Env::spawn` 在 libuv 线程池中生成一个定义的 `Task` ,参见 [引用](../compat-mode/concepts/ref) 中的示例。 - -除了 `compute` 和 `resolve`,您还可以提供 `reject` 方法,当 `Task` 遇到错误时,可以执行一些清理工作,例如 `unref` 一些对象: - -```rust {28} filename="lib.rs" -struct CountBufferLength { - data: Ref, -} - -impl CountBufferLength { - pub fn new(data: Ref) -> Self { - Self { data } - } -} - -impl Task for CountBufferLength { - type Output = usize; - type JsValue = JsNumber; - - fn compute(&mut self) -> Result { - if self.data.len() == 10 { - return Err(Error::from_reason("len can't be 10".to_string())); - } - Ok((&self.data).len()) - } - - fn resolve(&mut self, env: Env, output: Self::Output) -> Result { - self.data.unref(env)?; - env.create_uint32(output as _) - } - - fn reject(&mut self, env: Env, err: Error) -> Result { - self.data.unref(env)?; - Err(err) - } -} -``` - -您还可以提供一个 `finally` 方法,在 `Task` 被 `resolved` 或 `rejected` 后执行一些操作: - -```rust {27} filename="lib.rs" -struct CountBufferLength { - data: Ref, -} - -impl CountBufferLength { - pub fn new(data: Ref) -> Self { - Self { data } - } -} - -#[napi] -impl Task for CountBufferLength { - type Output = usize; - type JsValue = JsNumber; - - fn compute(&mut self) -> Result { - if self.data.len() == 10 { - return Err(Error::from_reason("len can't be 5".to_string())); - } - Ok((&self.data).len()) - } - - fn resolve(&mut self, env: Env, output: Self::Output) -> Result { - env.create_uint32(output as _) - } - - fn finally(&mut self, env: Env) -> Result<()> { - self.data.unref(env)?; - Ok(()) - } -} -``` - - - `impl Task for AsyncFib` 上面的 `#[napi]` 宏只是为了生成 `.d.ts` 文件, - 如果这里没有定义 `#[napi]`,生成的 TypeScript 类型里, `AsyncTask` 的返回值类型将是 `Promise`。 - - -## `AsyncTask` - -你定义的 `Task` 不能直接返回给 JavaScript,JavaScript 引擎不知道如何运行和解析你的 `struct` 的值, -`AsyncTask` 是可以返回给 JavaScript 引擎的 `Task` 的包装, -可以使用 `Task` 和可选的 [`AbortSignal`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) 来创建它。 - -```rust filename="lib.rs" -#[napi] -fn async_fib(input: u32) -> AsyncTask { - AsyncTask::new(AsyncFib { input }) -} -``` - -⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ - -```ts filename="index.d.ts" -export function asyncFib(input: number) => Promise -``` - -### 结合 `AbortSignal` 创建 `AsyncTask` - -您可以给 `AsyncTask` 传入 `AbortSignal` ,这样如果 `AsyncTask` 还没有启动,您就可以中止它。 - -```rust {4} filename="lib.rs" -use napi::bindgen_prelude::AbortSignal; - -#[napi] -fn async_fib(input: u32, signal: AbortSignal) -> AsyncTask { - AsyncTask::with_signal(AsyncFib { input }, signal) -} -``` - -⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ - -```ts filename="index.d.ts" -export function asyncFib(input: number, signal: AbortSignal) => Promise -``` - -如果您在 JavaScript 代码中调用 `AbortController.abort`,并且 `AsyncTask` 尚未启动, -`AsyncTask` 将立即被中止,并 reject `AbortError`。 - -```js {6} filename="test.mjs" -import { asyncFib } from './index.js' - -const controller = new AbortController() - -asyncFib(20, controller.signal).catch((e) => { - console.error(e) // Error: AbortError -}) - -controller.abort() -``` - -如果您不知道 `AsyncTask` 是否需要中止, -您还可以给 `AsyncTask` 传入 `Option` : - -```rust filename="lib.rs" -use napi::bindgen_prelude::AbortSignal; - -#[napi] -fn async_fib(input: u32, signal: Option) -> AsyncTask { - AsyncTask::with_optional_signal(AsyncFib { input }, signal) -} -``` - -⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ - -```ts filename="index.d.ts" -export function asyncFib( - input: number, - signal?: AbortSignal | undefined | null, -): Promise -``` - - - 如果 `AsyncTask` 已经启动或完成,`AbortController.abort` 将不会有任何效果。 - diff --git a/pages/docs/concepts/await-promise.cn.mdx b/pages/docs/concepts/await-promise.cn.mdx deleted file mode 100644 index dd5659a9..00000000 --- a/pages/docs/concepts/await-promise.cn.mdx +++ /dev/null @@ -1,36 +0,0 @@ ---- -description: 在 Rust 中 await 一个 JavaScript Promise。 ---- - -# Await Promise - -在 Rust 中 await 一个 JavaScript `Promise` 听起来很疯狂,但在 **NAPI-RS** 中是可行的。 - -import { Callout } from 'nextra-theme-docs' - - - Await JavaScript `Promise` 需要启用 `tokio_rt` 和 `napi4` 特性。 - - -```rust filename="lib.rs" -use napi::bindgen_prelude::*; - -#[napi] -pub async fn async_plus_100(p: Promise) -> Result { - let v = p.await?; - Ok(v + 100) -} -``` - -```js {4} filename="test.mjs" -import { asyncPlus100 } from './index.js' - -const fx = 20 -const result = await asyncPlus100( - new Promise((resolve) => { - setTimeout(() => resolve(fx), 50) - }), -) - -console.log(result) // 120 -``` diff --git a/pages/docs/concepts/class.cn.mdx b/pages/docs/concepts/class.cn.mdx deleted file mode 100644 index 759f1891..00000000 --- a/pages/docs/concepts/class.cn.mdx +++ /dev/null @@ -1,377 +0,0 @@ ---- -title: '类' ---- - -# 类 - -import { Callout } from 'nextra-theme-docs' - - - Rust 中没有类的概念。我们使用 `struct` 来表示 JavaScript 的 `Class`。 - - -## `Constructor` - -### 默认 `constructor` - -如果一个 `Rust` 结构体中的所有字段都是 `pub`,那么你可以使用 `#[napi(constructor)]` 来使 `struct` 有一个默认的 `constructor`。 - -```rust filename="lib.rs" -#[napi(constructor)] -pub struct AnimalWithDefaultConstructor { - pub name: String, - pub kind: u32, -} -``` - -```ts filename="index.d.ts" -export class AnimalWithDefaultConstructor { - name: string - kind: number - constructor(name: string, kind: number) -} -``` - -### 自定义 `constructor` - -如果你想定义一个自定义的 `constructor`,你可以在结构体的 `impl` 块中的构造函数 `fn` 上面使用 `#[napi(constructor)]`。 - -```rust filename="lib.rs" -// A complex struct which cannot be exposed to JavaScript directly. -pub struct QueryEngine {} - -#[napi(js_name = "QueryEngine")] -pub struct JsQueryEngine { - engine: QueryEngine, -} - -#[napi] -impl JsQueryEngine { - #[napi(constructor)] - pub fn new() -> Self { - JsQueryEngine { engine: QueryEngine::new() } - } -} -``` - -```ts filename="index.d.ts" -export class QueryEngine { - constructor() -} -``` - - - **NAPI-RS** 目前不支持 `private constructor`,在 Rust - 中你的自定义构造函数必须是 `pub` 的。 - - -## 工厂 - -除了 `constructor` 之外,你还可以使用 `#[napi(factory)]` 在 `Class` 上定义工厂方法。 - -```rust filename="lib.rs" -// 一个复杂的结构体,无法直接暴露给 JavaScript。 -pub struct QueryEngine {} - -#[napi(js_name = "QueryEngine")] -pub struct JsQueryEngine { - engine: QueryEngine, -} - -#[napi] -impl JsQueryEngine { - #[napi(factory)] - pub fn with_initial_count(count: u32) -> Self { - JsQueryEngine { engine: QueryEngine::with_initial_count(count) } - } -} -``` - -```ts filename="index.d.ts" -export class QueryEngine { - static withInitialCount(count: number): QueryEngine - constructor() -} -``` - - - 如果结构体中没有定义 `#[napi(constructor)]`,并且你尝试在 JavaScript - 中创建一个 `Class` 的实例(`new`),这将会抛出一个错误。 - - -```js {3} filename="test.mjs" -import { QueryEngine } from './index.js' - -new QueryEngine() // Error: Class contains no `constructor`, cannot create it! -``` - -## `class method` - -你可以在 **Rust** 的结构体方法上使用 `#[napi]` 定义一个 `JavaScript` 类方法。 - -```rust filename="lib.rs" -// A complex struct which cannot be exposed to JavaScript directly. -pub struct QueryEngine {} - -#[napi(js_name = "QueryEngine")] -pub struct JsQueryEngine { - engine: QueryEngine, -} - -#[napi] -impl JsQueryEngine { - #[napi(factory)] - pub fn with_initial_count(count: u32) -> Self { - JsQueryEngine { engine: QueryEngine::with_initial_count(count) } - } - - /// 类方法 - #[napi] - pub async fn query(&self, query: String) -> napi::Result { - self.engine.query(query).await - } - - #[napi] - pub fn status(&self) -> napi::Result { - self.engine.status() - } -} -``` - -```ts filename="index.d.ts" -export class QueryEngine { - static withInitialCount(count: number): QueryEngine - constructor() - query(query: string) => Promise - status() => number -} -``` - - - `async fn` 需要启用 `napi4` 和 `tokio_rt` 特性。 - - - - 任何返回 `Result` 的 `Rust` `fn` 在 JavaScript/TypeScript 中都会被视为 `T` , - 如果 `Result` 是 `Err`,则会抛出一个 JavaScript 错误。 - - -## `Getter` - -使用 `#[napi(getter)]` 定义 [JavaScript 类的 `getter`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get), -Rust 的 `fn` 必须是一个结构体方法,而不是一个关联函数。 - -```rust {22-25} filename="lib.rs" -// 一个复杂的结构体,无法直接暴露给 JavaScript。 -pub struct QueryEngine {} - -#[napi(js_name = "QueryEngine")] -pub struct JsQueryEngine { - engine: QueryEngine, -} - -#[napi] -impl JsQueryEngine { - #[napi(factory)] - pub fn with_initial_count(count: u32) -> Self { - JsQueryEngine { engine: QueryEngine::with_initial_count(count) } - } - - /// 类方法 - #[napi] - pub async fn query(&self, query: String) -> napi::Result { - self.engine.query(query).await - } - - #[napi(getter)] - pub fn status(&self) -> napi::Result { - self.engine.status() - } -} -``` - -```ts {4} filename="index.d.ts" -export class QueryEngine { - static withInitialCount(count: number): QueryEngine - constructor() - get status(): number -} -``` - -## `Setter` - -使用 `#[napi(setter)]` 定义 [JavaScript 类的 `setter`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/set), -Rust 的 `fn` 必须是一个结构体方法,而不是一个关联函数。 - -```rust {27-30} filename="lib.rs" -// 一个复杂的结构体,无法直接暴露给 JavaScript。 -pub struct QueryEngine {} - -#[napi(js_name = "QueryEngine")] -pub struct JsQueryEngine { - engine: QueryEngine, -} - -#[napi] -impl JsQueryEngine { - #[napi(factory)] - pub fn with_initial_count(count: u32) -> Self { - JsQueryEngine { engine: QueryEngine::with_initial_count(count) } - } - - /// 类方法 - #[napi] - pub async fn query(&self, query: String) -> napi::Result { - self.engine.query(query).await - } - - #[napi(getter)] - pub fn status(&self) -> napi::Result { - self.engine.status() - } - - #[napi(setter)] - pub fn count(&mut self, count: u32) { - self.engine.count = count; - } -} -``` - -```ts {5} filename="index.d.ts" -export class QueryEngine { - static withInitialCount(count: number): QueryEngine - constructor() - get status(): number - set count(count: number) -} -``` - -## 类作为参数 - -`Class` 与 [`Object`](./object) 不同, `Class` 可以有 Rust 方法和关联函数。`Class` 中的每个字段都可以在 JavaScript 中被修改。 - -因此,当您创建类时,该类的所有权实际上已转移到 JavaScript 端,它由 JavaScript GC 管理,您只能通过传递其 `reference` 将其传回。 - -```rust {1,5} filename="lib.rs" -pub fn accept_class(engine: &QueryEngine) { - // ... -} - -pub fn accept_class_mut(engine: &mut QueryEngine) { - // ... -} -``` - -```ts filename="index.d.ts" -export function acceptClass(engine: QueryEngine): void -export function acceptClassMut(engine: QueryEngine): void -``` - -## 属性描述 - -默认的属性描述是 `writable = true` 、`enumerable = true` 和 `configurable = true` ,你可以通过 `#[napi]` 宏控制属性描述: - -```rust {20} filename="lib.rs" -use napi::bindgen_prelude::*; -use napi_derive::napi; - -// 一个复杂的结构体,无法直接暴露给 JavaScript。 -#[napi] -pub struct QueryEngine { - num: i32, -} - -#[napi] -impl QueryEngine { - #[napi(constructor)] - pub fn new() -> Result { - Ok(Self { - num: 42, - }) - } - - // writable / enumerable / configurable - #[napi(writable = false)] - pub fn get_num(&self) -> i32 { - self.num - } -} -``` - -在这个例子中,`QueryEngine` 的 `getNum` 方法是不可写的: - -```js {4} filename="main.mjs" -import { QueryEngine } from './index.js' - -const qe = new QueryEngine() -qe.getNum = function () {} // TypeError: Cannot assign to read only property 'getNum' of object '#' -``` - -## 自定义终结逻辑 - -当 JavaScript 对象被垃圾回收时,NAPI-RS 会释放 JavaScript 对象中封装的 Rust 结构体,您还可以为 Rust 结构体指定自定义终结逻辑。 - -```rust {4, 26} filename="lib.rs" -use napi::bindgen_prelude::*; -use napi_derive::napi; - -#[napi(custom_finalize)] -pub struct CustomFinalize { - width: u32, - height: u32, - inner: Vec, -} - -#[napi] -impl CustomFinalize { - #[napi(constructor)] - pub fn new(mut env: Env, width: u32, height: u32) -> Result { - let inner = vec![0; (width * height * 4) as usize]; - let inner_size = inner.len(); - env.adjust_external_memory(inner_size as i64)?; - Ok(Self { - width, - height, - inner, - }) - } -} - -impl ObjectFinalize for CustomFinalize { - fn finalize(self, mut env: Env) -> Result<()> { - env.adjust_external_memory(-(self.inner.len() as i64))?; - Ok(()) - } -} -``` - -首先,您可以在 `#[napi]` 宏中设置 `custom_finalize` 属性,NAPI-RS 将不会为 Rust 结构体生成默认的 `ObjectFinalize`。 - -然后,您可以自己为 Rust 结构体实现 `ObjectFinalize`。 - -在这个例子中,`CustomFinalize` 结构体在 **构造函数** 中增加外部内存,并在 `fn finalize` 中减少外部内存。 - -## `instance of` - -所有 `#[napi]` 类都有 `fn instance_of`: - -```rust {9} filename="lib.rs" -use napi::bindgen_prelude::*; -use napi_derive::napi; - -#[napi] -pub struct NativeClass {} - -#[napi] -pub fn is_native_class_instance(env: Env, value: Unknown) -> Result { - NativeClass::instance_of(env, value) -} -``` - -```js filename="main.mjs" -import { NativeClass, isNativeClassInstance } from './index.js' - -const nc = new NativeClass() -console.log(isNativeClassInstance(nc)) // true -console.log(isNativeClassInstance(1)) // false -``` diff --git a/pages/docs/concepts/enum.cn.mdx b/pages/docs/concepts/enum.cn.mdx deleted file mode 100644 index 10edcb78..00000000 --- a/pages/docs/concepts/enum.cn.mdx +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: '枚举' ---- - -# 枚举 - -import { Callout } from 'nextra-theme-docs' - - - JavaScript 中没有 `enum`,并且 Rust 中的 `enum` 与 TypeScript 中的 `enum` - 有很大的不同。 在 JavaScript 中使用 Rust `enum` 之前,你需要仔细阅读本节内容。 - - -在 **NAPI-RS** 中,Rust `enum` 被转换为普通的 JavaScript 对象。 - -```rust filename="lib.rs" -#[napi] -enum Kind { - Duck, - Dog, - Cat, -} -``` - -⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ - -```ts filename="index.d.ts" -export const enum Kind { - Duck, - Dog, - Cat, -} -``` - -在 `TypeScript` 中,数字 `enums` 成员还会获得从枚举值到枚举名称的反向映射。 -但在 Rust 中,我们没有这种反向映射行为,它只是一个普通的 JavaScript 对象。 - -## 字符串枚举 - -```rust filename="lib.rs" -#[napi(string_enum)] -enum Kind { - Duck, - Dog, - Cat, -} -``` - -⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ - -```ts filename="index.d.ts" -export const enum Kind { - Duck = 'Duck', - Dog = 'Dog', - Cat = 'Cat', -} -``` - -**NAPI-RS** 不支持将 Rust `enum` 的 `impl` 生成到 JavaScript 中。 diff --git a/pages/docs/concepts/exports.cn.mdx b/pages/docs/concepts/exports.cn.mdx deleted file mode 100644 index 2daf2dfe..00000000 --- a/pages/docs/concepts/exports.cn.mdx +++ /dev/null @@ -1,65 +0,0 @@ -# 导出 - -import { Callout } from 'nextra-theme-docs' - - -与在 Node.js 中定义模块不同,我们不需要像 `module.exports.xxx = xxx` 这样显式注册导出。 - -`#[napi]` 宏会为你自动生成模块注册的代码,这种自动注册的方法是受 [node-bindgen](https://github.com/infinyon/node-bindgen) 启发而来。 - - - -## `函数` - -导出一个函数非常简单,只需使用 `#[napi]` 装饰一个普通的 rust 函数即可: - -```rust filename="lib.rs" -#[napi] -fn sum(a: u32, b: u32) -> u32 { - a + b -} -``` - -## `常量` - -```rust filename="lib.rs" -#[napi] -pub const DEFAULT_COST: u32 = 12; -``` - -```ts filename="index.d.ts" -export const DEFAULT_COST: number -``` - -## `类` - -查看 [`类的介绍`](./class) 了解更多。 - -```rust filename="lib.rs" -#[napi(constructor)] -struct Animal { - pub name: String, - pub kind: u32, -} - -#[napi] -impl Animal { - #[napi] - pub fn change_name(&mut self, new_name: String) { - self.name = new_name; - } -} -``` - -## `枚举` - -查看 [`枚举的介绍`](./enum) 了解更多。 - -```rust filename="lib.rs" -#[napi] -pub enum Kind { - Dog, - Cat, - Duck, -} -``` diff --git a/pages/docs/concepts/external.cn.mdx b/pages/docs/concepts/external.cn.mdx deleted file mode 100644 index c151723a..00000000 --- a/pages/docs/concepts/external.cn.mdx +++ /dev/null @@ -1,90 +0,0 @@ ---- -description: External 对象保存原生值到 JavaScript 对象中。 ---- - -# External - -[`External`](https://nodejs.org/api/n-api.html#napi_create_external) -与在 [Class](./class) 内部中使用的 [`Object Wrap`](https://nodejs.org/api/n-api.html#object-wrap) 非常相似。 - -`Object Wrap` 附加一个原生值到一个 JavaScript 对象上,并且可以在这个对象被 GC 回收时通知你, -`External` 创建一个空的 JavaScript 对象,它在内部保存了原生值。只会在将对象传回 Rust 时生效: - -```rust filename="lib.rs" -use napi::bindgen_prelude::*; -use napi_derive::napi; - -#[napi] -fn create_source_map(length: u32) -> External { - External::new(vec![0; length as usize].into()) -} -``` - -⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ - -```ts filename="index.d.ts" -export class ExternalObject { - readonly '': { - readonly '': unique symbol - [K: symbol]: T - } -} - -export function createSourceMap(length: number): ExternalObject -``` - -当你想要返回一个包含一些与原生 Rust 代码交互的方法的 JavaScript 对象时,`External` 是非常有用的, -这里是一个真实的例子: - -https://github.com/h-a-n-a/magic-string-rs/blob/v0.3.0/node/src/lib.rs#L96-L103 - -https://github.com/h-a-n-a/magic-string-rs/blob/v0.3.0/node/index.js#L7-L23 - -```rust filename="lib.rs" -impl MagicString { - #[napi(ts_return_type = "{ toString: () => string, toUrl: () => string }")] - pub fn generate_map( - &mut self, - options: Option, - ) -> Result> { - let external = create_external(self.0.generate_map(options.unwrap_or_default())?); - Ok(external) - } - - /// @internal - #[napi] - pub fn to_sourcemap_string(&mut self, sourcemap: External) -> Result { - Ok((*sourcemap.as_ref()).to_string()?) - } - - /// @internal - #[napi] - pub fn to_sourcemap_url(&mut self, sourcemap: External) -> Result { - Ok((*sourcemap.as_ref()).to_url()?) - } -} -``` - -首先,`generate_map` 方法返回一个 `External` 对象,然后 JavaScript 函数在闭包中保存 `External` 对象: - -```ts filename="index.js" -module.exports.MagicString = class MagicString extends MagicStringNative { - generateMap(options) { - const sourcemap = super.generateMap({ - file: null, - source: null, - sourceRoot: null, - includeContent: false, - ...options, - }) - - const toString = () => super.toSourcemapString(sourcemap) - const toUrl = () => super.toSourcemapUrl(sourcemap) - - return { - toString, - toUrl, - } - } -} -``` diff --git a/pages/docs/concepts/function.cn.md b/pages/docs/concepts/function.cn.md deleted file mode 100644 index 47146cd0..00000000 --- a/pages/docs/concepts/function.cn.md +++ /dev/null @@ -1,79 +0,0 @@ ---- ---- - -# 函数 - -在 **NAPI-RS** 中定义一个 JavaScript `function` 非常简单,只需要一个普通的 Rust `fn`: - -```rust filename="lib.rs" -#[napi] -fn sum(a: u32, b: u32) -> u32 { - a + b -} -``` - -最重要的是,你需要记住 **_NAPI-RS fn 并不支持所有的 Rust 类型_**, -下面的表格说明了在 `fn` 参数和返回类型里,JavaScript 类型和 Rust 类型的映射关系: - -## 参数 - -| Rust Type | JavaScript Type | -| ------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `u32` | `number` | -| `i32` | `number` | -| `i64` | `number` | -| `f64` | `number` | -| `bool` | `boolean` | -| `String` | `string` | -| `Latin1String` | `string` | -| `UTF16String` | `string` | -| `#[napi(object)] struct` | `Object` | -| `& struct` or `&mut struct` | [Class](./class) instance | -| `serde_json::Map` | `Object` | -| `serde_json::Value` | `unknown` | -| `std::collections::HashMap` | `Object` | -| `Array` | `unknown[]` | -| `Vec` T must be types in this table | T[] | -| `Buffer` | `Buffer` | -| `External` | [`External`](https://nodejs.org/api/n-api.html#napi_create_external) | -| `Null` | `null` | -| `Undefined` / `()` | `undefined` | -| `Option` | `T or null` | -| `Fn(Arg) ->T` `Arg `and `T` must be types in this table | `(arg: Arg) => T` | -| `Promise` | `Promise` | -| `AbortSignal` | [`AbortSignal`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) | -| `JsSymbol` | `Symbol` | -| `Int8Array` / `Uint8Array` / `Int16Array`... | `TypedArray` | -| `BigInt` | `BigInt` | - -## 返回类型 - -| Rust Type | JavaScript Type | -| -------------------------------------------- | ---------------- | -| `u32` | `number` | -| `i32` | `number` | -| `i64` | `number` | -| `f64` | `number` | -| `bool` | `boolean` | -| `String` | `string` | -| `Latin1String` | `string` | -| `UTF16String` | `string` | -| `#[napi(object)] struct` | `Object` | -| `#[napi] struct` | [Class](./class) | -| `serde_json::Map` | `Object` | -| `serde_json::Value` | `unknown` | -| `std::collections::HashMap` | `Object` | -| `Array` | `unknown[]` | -| `Vec` T must be types in this table | `T[]` | -| `Buffer` | `Buffer` | -| `External` | `External` | -| `Null` | `null` | -| `Undefined` / `()` | `undefined` | -| `Option` | `T` or `null` | -| `AsyncTask>` | `Promise` | -| `JsSymbol` | `Symbol` | -| `Int8Array` / `Uint8Array` / `Int16Array`... | `TypedArray` | -| `BigInt` | `BigInt` | -| `i64n` | `BigInt` | -| `i128` | `BigInt` | -| `u128` | `BigInt` | diff --git a/pages/docs/concepts/inject-env.cn.md b/pages/docs/concepts/inject-env.cn.md deleted file mode 100644 index c5486881..00000000 --- a/pages/docs/concepts/inject-env.cn.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -description: 给函数和方法注入 Node-API Env。 ---- - -# 注入 Env - -`#[napi]` 宏是对 `Node-API` 的一个非常高级的抽象,大多数情况下,你使用 Rust 的原生 API 和包。 - -但是有时候你仍然需要访问底层的 `Node-API`, -例如调用 [`napi_async_cleanup_hook`](https://nodejs.org/api/n-api.html#napi_async_cleanup_hook) -或 [`napi_adjust_external_memory`](https://nodejs.org/api/n-api.html#napi_adjust_external_memory)。 - -对于这种情况,**NAPI-RS** 允许你通过 `#[napi]` 装饰,将 `Env` 注入到你的 `fn` 中。 - -```rust {4} filename="lib.rs" -use napi::{Env, bindgen_prelude::*}; - -#[napi] -fn call_env(env: Env, length: u32) -> Result>> { - env.adjust_external_memory(length as i64)?; - Ok(External::new(vec![0; length as usize])) -} -``` - -`Env` 将会被 **NAPI-RS** 自动注入,这不会影响 JavaScript 端的参数类型: - -```ts filename="index.d.ts" -export function callEnv(length: number) -> ExternalObject -``` - -您还可以在 `impl` 块中注入 `Env`: - -```rust {20} filename="lib.rs" -use napi::bindgen_prelude::*; - -// A complex struct which can not be exposed into JavaScript directly. -struct QueryEngine {} - -#[napi(js_name = "QueryEngine")] -struct JsQueryEngine { - engine: QueryEngine, -} - -#[napi] -impl JsQueryEngine { - #[napi(factory)] - pub fn with_initial_count(count: u32) -> Self { - JsQueryEngine { engine: QueryEngine::with_initial_count(count) } - } - - /// Class method - #[napi] - pub fn query(&self, env: Env, query: String) -> napi::Result { - self.engine.query(query).map_err(|err| Error::new(Status::GenericFailure, format!("Query failed {}", err))) - } -} -``` - -这个行为和纯 `fn` 是一样的。 diff --git a/pages/docs/concepts/inject-this.cn.md b/pages/docs/concepts/inject-this.cn.md deleted file mode 100644 index eb606c7b..00000000 --- a/pages/docs/concepts/inject-this.cn.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -description: 给函数和方法注入 This 对象。 ---- - -# 注入 This - -在类方法中,您可能希望访问 `Class` 实例的原始 `Object` 值。 - -```rust {15} filename="lib.rs" -use napi::{bindgen_prelude::*, JsObject}; -use napi_derive::napi; - -#[napi] -pub struct QueryEngine {} - -#[napi] -impl QueryEngine { - #[napi(constructor)] - pub fn new() -> Result { - Ok(Self {}) - } - - #[napi] - pub fn get_ref_count(&self, this: This) -> Result> { - this.get::("refCount") - } -} -``` - -```js {5} filename="main.mjs" -import { QueryEngine } from './index.js' - -const qe = new QueryEngine() -qe.refCount = 3 -console.log(qe.getRefCount()) // 3 -``` - -在函数中,它可能会绑定到 JavaScript 中的某些对象: - -```rust {10} filename="lib.rs" -use napi::bindgen_prelude::*; -use napi_derive::napi; - -#[napi(constructor)] -pub struct Width { - pub value: i32, -} - -#[napi] -pub fn plus_one(this: This<&Width>) -> i32 { - this.value + 1 -} -``` - -```js {4} filename="main.mjs" -import { Width, plusOne } from './index.js' - -const width = new Width(1) -console.log(plusOne.call(width)) // 2 -``` diff --git a/pages/docs/concepts/naming-conventions.cn.md b/pages/docs/concepts/naming-conventions.cn.md deleted file mode 100644 index 929bb30e..00000000 --- a/pages/docs/concepts/naming-conventions.cn.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: 'Naming conventions' ---- - -# 命名约定 - -## `snake_case` 转换为 `camelCase` - -Rust 和 JavaScript 的代码风格有很大区别,Rust 社区更喜欢 `snake_case` 风格,而 JavaScript 社区更喜欢 `camelCase` 风格。**NAPI-RS** 会自动将 Rust 代码的风格转换为 `camelCase` 风格。 - -```rust filename="lib.rs" -#[napi] -fn a_function(a_arg: u32) -> u32 { - a_arg + 1 -} -``` - -⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ - -```ts filename="index.d.ts" -export function aFunction(aArg: number): number -``` - -## `js_name` - -你可以在 `#[napi]` 中使用 `js_name` 属性来重命名 JavaScript 函数。 - -```rust {1} filename="lib.rs" -#[napi(js_name = "coolFunction")] -fn a_function(a_arg: u32) -> u32 { - a_arg + 1 -} -``` - -⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ - -```ts filename="index.d.ts" -export function coolFunction(aArg: number): number -``` - -在生成的 Typescript 定义里和 Javascript 运行时里,函数名都是 `coolFunction`。 - -```js {1} filename="test.mjs" -import { coolFunction } from './index.js' - -console.log(coolFunction(1)) // 2 -``` diff --git a/pages/docs/concepts/object.cn.mdx b/pages/docs/concepts/object.cn.mdx deleted file mode 100644 index e1d63dee..00000000 --- a/pages/docs/concepts/object.cn.mdx +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: '对象' ---- - -import { Callout } from 'nextra-theme-docs' - -# 对象 - -`Object` 很容易与 `Class` 的使用混淆,与 `Class` 不同,你不能将 `function` 或 `method` 分配给 `Object`。 - -```rust filename="lib.rs" -#[napi(object)] -pub struct Pet { - pub name: String, - pub kind: u32, -} -``` - -这个 `struct` 的任何 `impl` 块都不会影响 JavaScript `Object`。 - - - 如果你想使用 `#[napi(object)]` 属性将 Rust `struct` 转换为 JavaScript - `Object`,你需要将其所有字段标记为 `pub`。 - - -当 `struct` 被标记为 `#[napi(object)]` 时,你可以将其用作函数参数类型或返回类型。 - -```rust filename="lib.rs" -#[napi(object)] -pub struct Pet { - pub name: String, - pub kind: u32, -} - -#[napi] -fn print_pet(pet: Pet) { - println!("{}", pet.name); -} - -#[napi] -fn create_cat() -> Pet { - Pet { - name: "cat".to_string(), - kind: 1, - } -} -``` - - - 传入的 JavaScript Object 或从 Rust 返回的 Object 都是克隆的, 意思是对 - JavaScript `Object` 的任何更改都不会影响原始的 Rust `struct`, 对 Rust - `struct` 的任何更改也不会影响 JavaScript `Object`。 - diff --git a/pages/docs/concepts/reference.cn.md b/pages/docs/concepts/reference.cn.md deleted file mode 100644 index 512e6745..00000000 --- a/pages/docs/concepts/reference.cn.md +++ /dev/null @@ -1,196 +0,0 @@ ---- -description: 创建、使用对象引用。 ---- - -# `Reference` / `WeakReference` - -## `Reference` - -In some scenarios, you may want to hold a reference to an `Object` created in `Rust`. For example: -在某些场景下,您可能希望保存一个 `Rust` 创建的 `Object` 的引用,例如: - -```rust {11} filename="lib.rs" -pub struct Repository { - dir: String, -} - -impl Repository { - fn remote(&self) -> Remote { - Remote { inner: self } - } -} - -pub struct Remote<'repo> { - inner: &'repo Repository, -} - -impl<'repo> Remote<'repo> { - fn name(&self) -> String { - "origin".to_owned() - } -} -``` - -`Repository` 结构体很容易围绕其创建 `#[napi]` 类,因为它的定义中没有包含任何**生命周期**。 - -但是 `Remote<'repo>` 结构体无法对其创建 `#[napi]` 类,因为它有 `'repo` 生命周期。 - -通过 `Reference` API,您可以创建一个 `'static` 生命周期的结构体,这意味着只要您能在 `Rust` 代码中访问到它,创建的结构体就一直存在。 - -与 [`Env`](./inject-env) 和 [`This`](./inject-this) 一样,`Reference` 会被注入到 `#[napi]` 函数的参数中。 - -```rust {37-42,45-48} filename="lib.rs" -use napi::bindgen_prelude::*; - -pub struct Repository { - dir: String, -} - -impl Repository { - fn remote(&self) -> Remote { - Remote { inner: self } - } -} - -pub struct Remote<'repo> { - inner: &'repo Repository, -} - -impl<'repo> Remote<'repo> { - fn name(&self) -> String { - "origin".to_owned() - } -} - -#[napi] -pub struct JsRepo { - inner: Repository, -} - -#[napi] -impl JsRepo { - #[napi(constructor)] - pub fn new(dir: String) -> Self { - JsRepo { - inner: Repository { dir }, - } - } - - #[napi] - pub fn remote(&self, reference: Reference, env: Env) -> Result { - Ok(JsRemote { - inner: reference.share_with(env, |repo| Ok(repo.inner.remote()))?, - }) - } -} - -#[napi] -pub struct JsRemote { - inner: SharedReference>, -} - -#[napi] -impl JsRemote { - #[napi] - pub fn name(&self) -> String { - self.inner.name() - } -} -``` - -如您所见,注入的 `Reference` 上具有 `share_with` 函数,可用于在闭包中创建一个 `'static` 生命周期的 `JsRepo` 结构体。 - -![](/assets/reference.svg) - -创建的 `Reference` 将使 Node.js 保持 `JsRepo` 实例,直到所有引用都被释放。 - -## `WeakReference` - -当您创建循环引用时,`WeakReference` 非常有用。 - -```rust {13,24,71} filename="lib.rs" -use std::{cell::RefCell, rc::Rc}; - -use napi::bindgen_prelude::*; -use napi_derive::napi; - -pub struct OwnedStyleSheet { - rules: Vec, -} - -#[napi] -pub struct CSSRuleList { - owned: Rc>, - parent: WeakReference, -} - -#[napi] -impl CSSRuleList { - #[napi] - pub fn get_rules(&self) -> Vec { - self.owned.borrow().rules.to_vec() - } - - #[napi(getter)] - pub fn parent_style_sheet(&self) -> WeakReference { - self.parent.clone() - } - - #[napi(getter)] - pub fn name(&self, env: Env) -> Result> { - Ok( - self - .parent - .upgrade(env)? - .map(|stylesheet| stylesheet.name.clone()), - ) - } -} - -#[napi] -pub struct CSSStyleSheet { - name: String, - inner: OwnedStyleSheet, - rules: Option>, -} - -#[napi] -impl CSSStyleSheet { - #[napi(constructor)] - pub fn new(name: String, rules: Vec) -> Result { - let inner = OwnedStyleSheet { rules }; - Ok(CSSStyleSheet { - name, - inner, - rules: None, - }) - } - - #[napi(getter)] - pub fn rules( - &mut self, - env: Env, - reference: Reference, - ) -> Result> { - if let Some(rules) = &self.rules { - return rules.clone(env); - } - - let rules = CSSRuleList::into_reference( - CSSRuleList { - owned: self.inner.clone(), - parent: reference.downgrade(), - }, - env, - )?; - - self.rules = Some(rules.clone(env)?); - Ok(rules) - } -} -``` - -在上面的示例中,`CSSRuleList` 结构体中字段 `parent` 的类型是 `WeakReference` , -因为本例中 `CSSRuleList` 是由 `CSSStyleSheet` 创建的,所以 `CSSStyleSheet` 实例是对其创建的 `CSSRuleList` 实例的循环引用。 - -`WeakReference` 不会增加原始对象的引用计数,因此如果原始对象被释放, `WeakReference` 的 `upgrade` 函数可能会返回 `None`。 diff --git a/pages/docs/concepts/threadsafe-function.cn.mdx b/pages/docs/concepts/threadsafe-function.cn.mdx deleted file mode 100644 index 0cf7ee71..00000000 --- a/pages/docs/concepts/threadsafe-function.cn.mdx +++ /dev/null @@ -1,167 +0,0 @@ ---- -description: Call a JavaScript callback in other threads. ---- - -# 线程安全函数 - -在 Node.js 中,[`ThreadSafe Function`](https://nodejs.org/api/n-api.html#asynchronous-thread-safe-function-calls) 是一个复杂的概念, -众所周知,Node.js 是单线程的,所以你不能在另一个线程上访问 [`napi_env`](https://nodejs.org/api/n-api.html#napi_env)、 -[`napi_value`](https://nodejs.org/api/n-api.html#napi_value) 和 [`napi_ref`](https://nodejs.org/api/n-api.html#napi_ref)。 - -import { Callout } from 'nextra-theme-docs' - - - [`napi_env`](https://nodejs.org/api/n-api.html#napi_env)、 - [`napi_value`](https://nodejs.org/api/n-api.html#napi_value) 和 - [`napi_ref`](https://nodejs.org/api/n-api.html#napi_ref) 是 `Node-API` - 中的底层概念, **NAPI-RS** 的 `#[napi]` 宏正是在其之上构建的, **NAPI-RS** - 也提供了一个[底层 API](../compat-mode/concepts/env)来访问原始的 `Node-API`。 - - -`Node-API` 提供了复杂的 `Threadsafe Function` API 来在其他线程上调用 JavaScript 函数,这个 API 非常复杂, -导致很多开发者不知道如何正确使用它,**NAPI-RS** 提供了一个限制版本的 `Threadsafe Function` API 来简化使用: - -```rust {10} filename="lib.rs" -use std::thread; - -use napi::{ - bindgen_prelude::*, - threadsafe_function::{ErrorStrategy, ThreadsafeFunction, ThreadsafeFunctionCallMode}, -}; - -#[napi] -pub fn call_threadsafe_function(callback: JsFunction) -> Result<()> { - let tsfn: ThreadsafeFunction = callback - .create_threadsafe_function(0, |ctx| { - ctx.env.create_uint32(ctx.value + 1).map(|v| vec![v]) - })?; - for n in 0..100 { - let tsfn = tsfn.clone(); - thread::spawn(move || { - tsfn.call(Ok(n), ThreadsafeFunctionCallMode::Blocking); - }); - } - Ok(()) -} -``` - -⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ - -```ts filename="index.d.ts" -export function callThreadsafeFunction(callback: (...args: any[]) => any): void -``` - -`ThreadsafeFunction` 非常复杂,因此 **NAPI-RS** 生成的 TypeScript 定义并不精确,如果你想要更好的 TypeScript 类型, -你可以使用 `#[napi(ts_args_type)]` 来覆盖 `JsFunction` 参数的类型: - -```rust {8} filename="lib.rs" -use std::thread; - -use napi::{ - bindgen_prelude::*, - threadsafe_function::{ErrorStrategy, ThreadsafeFunction, ThreadsafeFunctionCallMode}, -}; - -#[napi(ts_args_type = "callback: (err: null | Error, result: number) => void")] -pub fn call_threadsafe_function(callback: JsFunction) -> Result<()> { - let tsfn: ThreadsafeFunction = callback - .create_threadsafe_function(0, |ctx| { - ctx.env.create_uint32(ctx.value + 1).map(|v| vec![v]) - })?; - for n in 0..100 { - let tsfn = tsfn.clone(); - thread::spawn(move || { - tsfn.call(Ok(n), ThreadsafeFunctionCallMode::Blocking); - }); - } - Ok(()) -} -``` - -⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ - -```ts filename="index.d.ts" -export function callThreadsafeFunction( - callback: (err: null | Error, result: number) => void, -): void -``` - -## ErrorStrategy - -`Threadsafe Function` 有两种不同的错误处理策略,你可以在 `ThreadsafeFunction` 的第二个泛型参数中定义策略: - -```rust filename="lib.rs" -let tsfn: ThreadsafeFunction = ... -``` - -在泛型参数中的第一个参数是 `Threadsafe Function` 的返回类型。 - -### `ErrorStrategy::CalleeHandled` - -Rust 代码中的 `Err` 将被传递到 JavaScript 回调的第一个参数中, -这种行为遵循了 Node.js 中的异步回调约定: -https://nodejs.org/en/learn/asynchronous-work/javascript-asynchronous-programming-and-callbacks#handling-errors-in-callbacks , -Node.js 中的许多异步 API 都是按照这种形式设计的,比如 `fs.read`。 - -使用 `ErrorStrategy::CalleeHandled`,你必须使用 `Result` 类型调用 `ThreadsafeFunction`, -这样 `Error` 才会被处理并传递回 JavaScript 回调: - -```rust {10,17} filename="lib.rs" -use std::thread; - -use napi::{ - bindgen_prelude::*, - threadsafe_function::{ErrorStrategy, ThreadsafeFunction, ThreadsafeFunctionCallMode}, -}; - -#[napi(ts_args_type = "callback: (err: null | Error, result: number) => void")] -pub fn call_threadsafe_function(callback: JsFunction) -> Result<()> { - let tsfn: ThreadsafeFunction = callback - .create_threadsafe_function(0, |ctx| { - ctx.env.create_uint32(ctx.value + 1).map(|v| vec![v]) - })?; - for n in 0..100 { - let tsfn = tsfn.clone(); - thread::spawn(move || { - tsfn.call(Ok(n), ThreadsafeFunctionCallMode::Blocking); - }); - } - Ok(()) -} -``` - -### `ErrorStrategy::Fatal` - -不传递 `Error` 给 JavaScript 端,如果你的代码永远不会返回 `Err` ,你可以使用这种策略来避免在 Rust 代码中使用 `Ok` 封装。 - -通过这种策略,`ThreadsafeFunction` 不需要使用 `Result` 调用,并且JavaScript 回调的第一个参数是 Rust 中的值,而不是 `Error | null`。 - -```rust {10,17} filename="lib.rs" -use std::thread; - -use napi::{ - bindgen_prelude::*, - threadsafe_function::{ErrorStrategy, ThreadsafeFunction, ThreadsafeFunctionCallMode}, -}; - -#[napi(ts_args_type = "callback: (result: number) => void")] -pub fn call_threadsafe_function(callback: JsFunction) -> Result<()> { - let tsfn: ThreadsafeFunction = callback - .create_threadsafe_function(0, |ctx| { - ctx.env.create_uint32(ctx.value + 1).map(|v| vec![v]) - })?; - for n in 0..100 { - let tsfn = tsfn.clone(); - thread::spawn(move || { - tsfn.call(n, ThreadsafeFunctionCallMode::Blocking); - }); - } - Ok(()) -} -``` - -⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ - -```ts {2} filename="index.d.ts" -export function callThreadsafeFunction(callback: (result: number) => void): void -``` diff --git a/pages/docs/concepts/typed-array.cn.mdx b/pages/docs/concepts/typed-array.cn.mdx deleted file mode 100644 index 5f4eebf8..00000000 --- a/pages/docs/concepts/typed-array.cn.mdx +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: 'TypedArray' -description: JavaScript TypedArray primitive. ---- - -import { Callout } from 'nextra-theme-docs' - -# TypedArray - -`TypedArray` 描述了一个底层 [二进制数据缓冲区](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) 的类数组视图, -使用 `TypedArray` 允许你在 Node.js 和 Rust 之间无需复制或移动底层数据也可共享数据。 - -## Buffer - -[`Buffer`](https://nodejs.org/api/buffer.html) 是 JavaScript的 -[`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) -的子类,它经常用于在 Node.js 和 Rust 之间共享数据。 - -`Buffer` 可以通过 `Vec` 创建,如果你以这种方式创建 `Buffer`,`Vec` 的所有权将被转移给 `v8`,当 `v8` GC `Buffer` 时,`Vec` 将被丢弃。 - -```rust {6} filename="lib.rs" -use napi::bindgen_prelude::*; -use napi_derive::napi; - -#[napi] -pub fn create_buffer() -> Buffer { - vec![0, 1, 2].into() -} -``` - - - 底层的 `Vec` 不会以这种方式被移动或复制。 - diff --git a/pages/docs/concepts/types-overwrite.cn.md b/pages/docs/concepts/types-overwrite.cn.md deleted file mode 100644 index 66adef6c..00000000 --- a/pages/docs/concepts/types-overwrite.cn.md +++ /dev/null @@ -1,98 +0,0 @@ ---- -description: Overwrite the argument and return TypeScript types. ---- - -# 重写类型 - -在大多数情况下,**NAPI-RS** 会为你生成正确的 TypeScript 类型,但在某些情况下,你可能想要重写参数或返回值的类型。 - -[ThreadsafeFunction](./threadsafe-function) 是一个例子,因为 `ThreadsafeFunction` 太复杂了,**NAPI-RS** 无法为其生成正确的 TypeScript 类型。你总是需要重写它的参数类型。 - -## `ts_args_type` - -重写函数的参数类型,**NAPI-RS** 会将重写的类型放在函数签名的括号中。 - -```rust {1} filename="lib.rs" -#[napi(ts_args_type="callback: (err: null | Error, result: number) => void")] -fn call_threadsafe_function(callback: JsFunction) -> Result<()> { - let tsfn: ThreadsafeFunction = callback - .create_threadsafe_function(0, |ctx| { - ctx.env.create_uint32(ctx.value + 1).map(|v| vec![v]) - })?; - for n in 0..100 { - let tsfn = tsfn.clone(); - thread::spawn(move || { - tsfn.call(Ok(n), ThreadsafeFunctionCallMode::Blocking); - }); - } - Ok(()) -} -``` - -⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ - -```ts filename="index.d.ts" -export function callThreadsafeFunction( - callback: (err: null | Error, result: number) => void, -): void -``` - -## `ts_arg_type` - -_单独_ 重写函数的一个或多个参数类型,**NAPI-RS** 会将重写的类型放在函数签名的括号中,并自动推导其他类型。 - -```rust {1} filename="lib.rs" -#[napi] -fn override_individual_arg_on_function( - not_overridden: String, - #[napi(ts_arg_type = "() => string")] f: JsFunction, - not_overridden2: u32, -) { -// code ... -} -``` - -```ts filename="index.d.ts" -export function overrideIndividualArgOnFunction( - notOverridden: string, - f: () => string, - notOverridden2: number, -): string -``` - -## `ts_return_type` - -重写函数的返回类型,**NAPI-RS** 会将重写的类型添加到函数签名的末尾。 - -```rust {1} filename="lib.rs" -#[napi(ts_return_type="number")] -fn return_something_unknown(env: Env) -> Result { - env.create_uint32(42).map(|v| v.into_unknown()) -} -``` - -```ts filename="index.d.ts" -export function returnSomethingUnknown(): number -``` - -## `ts_type` - -覆盖结构体中字段生成的 ts 类型。 - -```rust {1} filename="lib.rs" -#[napi(object)] -pub struct TsTypeChanged { - #[napi(ts_type = "MySpecialString")] - pub type_override: String, - - #[napi(ts_type = "object")] - pub type_override_optional: Option, -} -``` - -```ts filename="index.d.ts" -export interface TsTypeChanged { - typeOverride: MySpecialString - typeOverrideOptional?: object -} -``` diff --git a/pages/docs/concepts/values.cn.mdx b/pages/docs/concepts/values.cn.mdx deleted file mode 100644 index bcc475cc..00000000 --- a/pages/docs/concepts/values.cn.mdx +++ /dev/null @@ -1,345 +0,0 @@ ---- -title: '值' -description: Rust 和 JavaScript 类型之间的转换。 ---- - -# 值 - -Rust 和 JavaScript 类型之间的转换。 - -### Undefined - -代表 JavaScript 中的 `undefined`。 - -```rust {3} filename="lib.rs" -#[napi] -fn get_undefined() -> Undefined { - () -} - -// 默认返回值或空元组 `()` 在转换为 JS 值后都是 `undefined`。 -#[napi] -fn log(n: u32) { - println!("{}", n); -} -``` - -```ts filename="index.d.ts" -export function getUndefined(): undefined -export function log(n: number): void -``` - -### Null - -代表 JavaScript 中的 `null`。 - -```rust {3} filename="lib.rs" -#[napi] -fn get_null() -> Null { - Null -} - -#[napi] -fn get_env(env: String) -> Option { - match std::env::var(env) { - Ok(val) => Some(val), - Err(e) => None, - } -} -``` - -```ts filename="index.d.ts" -export function getNull(): null -export function getEnv(env: string): string | null -``` - -### Numbers - -JavaScript `Number` 等同于这些 Rust 整数/浮点数 类型: `u32`, `i32`, `i64`, `f64`。 - -如需了解 u64、u128、i128 等 Rust 类型,请查看 [`BigInt`](#bigint) 部分。 - -```rust filename="lib.rs" -#[napi] -fn sum(a: u32, b: i32) -> i64 { - (b + a as i32).into() -} -``` - -```ts filename="index.d.ts" -export function sum(a: number, b: number): number -``` - -### String - -代表 JavaScript `String` 类型。 - -```rust {3} filename="lib.rs" -#[napi] -fn greet(name: String) -> String { - format!("greeting, {}", name) -} -``` - -```ts filename="index.d.ts" -export function greet(name: string): string -``` - -### Boolean - -代表 JavaScript `Boolean` 类型。 - -```rust filename="lib.rs" -#[napi] -fn is_good() -> bool { - true -} -``` - -```ts filename="index.d.ts" -export function isGood(): boolean -``` - -### Buffer - -```rust filename="lib.rs" -#[napi] -fn with_buffer(buf: Buffer) { - let buf: Vec = buf.into(); - // do something -} - -#[napi] -fn read_buffer(file: String) -> Buffer { - Buffer::from(std::fs::read(file).unwrap()) -} -``` - -```ts filename="index.d.ts" -export function withBuffer(buf: Buffer): void -export function readBuffer(file: string): Buffer -``` - -### Object - -代表 JavaScript 匿名对象值。 - -import { Callout } from 'nextra-theme-docs' - - -**性能** - -在 JavaScript 和 Rust 之间转换 `Object` 的成本比其他原始类型高。 - -每次对 `Object.get("key")` 的调用实际上都会被调度到 node 端,包括两个步骤:获取值,将 JS 转换为 rust 值, -`Object.set("key", v)` 也是如此。 - - - -```rust filename="lib.rs" -#[napi] -fn keys(obj: Object) -> Vec { - Object::keys(&obj).unwrap() -} - -#[napi] -fn log_string_field(obj: Object, field: String) { - println!("{}: {:?}", &field, obj.get::::(field.as_ref())); -} - -#[napi] -fn create_obj(env: Env) -> Object { - let mut obj = env.create_object().unwrap(); - obj.set("test", 1).unwrap(); - obj -} -``` - -```ts filename="index.d.ts" -export function keys(obj: object): Array -export function logStringField(obj: object): void -export function createObj(): object -``` - -如果你想要 **NAPI-RS** 用 Rust 中定义的结构来转换 JavaScript 中的对象,你可以使用 `#[napi]` 宏里面的 `object` 属性。 - -```rust filename="lib.rs" -/// #[napi(object)] 需要所有的结构体字段都是对外可见的 -#[napi(object)] -struct PackageJson { - pub name: String, - pub version: String, - pub dependencies: Option>, - pub dev_dependencies: Option>, -} - -#[napi] -fn log_package_name(package_json: PackageJson) { - println!("name: {}", package_json.name); -} - -#[napi] -fn read_package_json() -> PackageJson { - // ... -} -``` - -```ts filename="index.d.ts" -export interface PackageJson { - name: string - version: string - dependencies: Record | null - devDependencies: Record | null -} -export function logPackageName(packageJson: PackageJson): void -export function readPackageJson(): PackageJson -``` - - -**深拷贝** - -Rust `fn` 中传入的 `#[napi(object)]` 结构体是从 **_JavaScript Object_** 克隆的, -对其的任何更改都不会影响到原始的 **_JavaScript_** 对象。 - - - -```rust filename="lib.rs" -/// #[napi(object)] 需要所有的结构体字段都是对外可见的 -#[napi(object)] -struct Animal { - pub name: String, -} - -#[napi] -fn change_animal_name(mut animal: Animal) { - animal.name = "cat".to_string(); -} -``` - -```js -const animal = { name: 'dog' } -changeAnimalName(animal) -console.log(animal.name) // "dog" -``` - -### Array - -因为在 JavaScript 中,`Array` 可以包含不同类型的元素,但是 Rust 的 `Vec` 只能包含相同类型的元素,所以有两种不同的方式来处理数组类型。 - - -**性能** - -因为 JavaScript 的 `Array` 类型实际上是一种特殊的 `Object` ,所以操作 `Array`s 的性能与操作 `Object`s 的性能相同。 - -`Array` 和 `Vec` 之间的转换更为繁重,复杂度为 `O(2n)`。 - - - -```rust filename="lib.rs" -#[napi] -fn arr_len(arr: Array) -> u32 { - arr.len() -} - -#[napi] -fn get_tuple_array(env: Env) -> Array { - let mut arr = env.create_array(2).unwrap(); - - arr.insert(1).unwrap(); - arr.insert("test").unwrap(); - - arr -} - -#[napi] -fn vec_len(nums: Vec) -> u32 { - u32::try_from(nums.len()).unwrap() -} - -#[napi] -fn get_nums() -> Vec { - vec![1, 1, 2, 3, 5, 8] -} -``` - -```ts filename="index.d.ts" -export function arrLen(arr: unknown[]): number -export function getTupleArray(): unknown[] -export function vecLen(nums: Array): number -export function getNums(): Array -``` - -### BigInt - -这需要 `napi6` 特性。 - - - 在 `Rust` 中传递 `BigInt` 的唯一方法是使用 `BigInt` 类型,但是你可以返回 - `BigInt`、`i64`、`u64`、`i128`、`u128`, 返回 `i64` 将被视为 `JavaScript` - 数字,而不是 `BigInt`。 - - - - -Rust fn 不能接收 `i128` `u128` `u64` `i64n` 作为参数的原因是,将 JavaScript `BigInt` 转换为它们时可能会丢失精度。 -您可以使用 `BigInt::get_u128`、`BigInt::get_i128` ... 来获取 `BigInt` 中的值。这些方法的返回值还表明是否丢失了精度。 - - - -```rust filename="lib.rs" -/// `get_u128` 的返回值是 (signed: bool, value: u128, lossless: bool) -#[napi] -fn bigint_add(a: BigInt, b: BigInt) -> u128 { - a.get_u128().1 + b.get_u128().1 -} - -#[napi] -fn create_big_int_i128() -> i128 { - 100 -} -``` - -```ts filename="index.d.ts" -export function bigintAdd(a: BigInt, b: BigInt): BigInt -export function createBigIntI128(): BigInt -``` - -### TypedArray - - - 与 JavaScript 对象不同,传递给 Rust fn 的 `TypedArray` 是一个 **引用**, - 不会执行任何数据 `Copy` 或 `Clone`,对 `TypedArray` 的每次更改都会反映到原始的 JavaScript `TypedArray`。 - - - -```rust filename="lib.rs" -#[napi] -fn convert_u32_array(input: Uint32Array) -> Vec { - input.to_vec() -} - -#[napi] -fn create_external_typed_array() -> Uint32Array { - Uint32Array::new(vec![1, 2, 3, 4, 5]) -} - -#[napi] -fn mutate_typed_array(mut input: Float32Array) { - for item in input.as_mut() { - *item *= 2.0; - } -} -``` - -```ts filename="index.d.ts" -export function convertU32Array(input: Uint32Array): Array -export function createExternalTypedArray(): Uint32Array -export function mutateTypedArray(input: Float32Array): void -``` - -```js filename="test.mjs" -import { convertU32Array, mutateTypedArray } from './index.js' - -convertU32Array(new Uint32Array([1, 2, 3, 4, 5])) // [1, 2, 3, 4, 5] -mutateTypedArray(new Float32Array([1, 2, 3, 4, 5])) // Float32Array(5) [ 2, 4, 6, 8, 10 ] -``` diff --git a/pages/docs/cross-build/_meta.cn.json b/pages/docs/cross-build/_meta.cn.json deleted file mode 100644 index 42af9e17..00000000 --- a/pages/docs/cross-build/_meta.cn.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "summary": "Summary" -} diff --git a/pages/docs/cross-build/_meta.en.json b/pages/docs/cross-build/_meta.en.json deleted file mode 100644 index 42af9e17..00000000 --- a/pages/docs/cross-build/_meta.en.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "summary": "Summary" -} diff --git a/pages/docs/cross-build/_meta.pt-BR.json b/pages/docs/cross-build/_meta.pt-BR.json deleted file mode 100644 index 8f4dae33..00000000 --- a/pages/docs/cross-build/_meta.pt-BR.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "summary": "Resumo" -} diff --git a/pages/docs/deep-dive/_meta.cn.json b/pages/docs/deep-dive/_meta.cn.json deleted file mode 100644 index 7904050a..00000000 --- a/pages/docs/deep-dive/_meta.cn.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "native-module": "Native module", - "history": "History", - "release": "Release native packages" -} diff --git a/pages/docs/deep-dive/_meta.en.json b/pages/docs/deep-dive/_meta.en.json deleted file mode 100644 index 7904050a..00000000 --- a/pages/docs/deep-dive/_meta.en.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "native-module": "Native module", - "history": "History", - "release": "Release native packages" -} diff --git a/pages/docs/deep-dive/_meta.pt-BR.json b/pages/docs/deep-dive/_meta.pt-BR.json deleted file mode 100644 index ba7fe2fa..00000000 --- a/pages/docs/deep-dive/_meta.pt-BR.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "native-module": "Módulo nativo", - "history": "História", - "release": "Release de pacotes nativos" -} diff --git a/pages/docs/ecosystem/@napi-rs/_meta.cn.json b/pages/docs/ecosystem/@napi-rs/_meta.cn.json deleted file mode 100644 index 10e2ceff..00000000 --- a/pages/docs/ecosystem/@napi-rs/_meta.cn.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "canvas": "skr-canvas", - "pinyin": "@napi-rs/pinyin" -} diff --git a/pages/docs/ecosystem/@napi-rs/_meta.pt-BR.json b/pages/docs/ecosystem/@napi-rs/_meta.pt-BR.json deleted file mode 100644 index 10e2ceff..00000000 --- a/pages/docs/ecosystem/@napi-rs/_meta.pt-BR.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "canvas": "skr-canvas", - "pinyin": "@napi-rs/pinyin" -} diff --git a/pages/docs/ecosystem/@node-rs/_meta.cn.json b/pages/docs/ecosystem/@node-rs/_meta.cn.json deleted file mode 100644 index c843ff2b..00000000 --- a/pages/docs/ecosystem/@node-rs/_meta.cn.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "bcrypt": "@node-rs/bcrypt", - "crc32": "@node-rs/crc32", - "deno-lint": "@node-rs/deno-lint", - "jieba": "@node-rs/jieba" -} diff --git a/pages/docs/ecosystem/@node-rs/_meta.en.json b/pages/docs/ecosystem/@node-rs/_meta.en.json deleted file mode 100644 index c843ff2b..00000000 --- a/pages/docs/ecosystem/@node-rs/_meta.en.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "bcrypt": "@node-rs/bcrypt", - "crc32": "@node-rs/crc32", - "deno-lint": "@node-rs/deno-lint", - "jieba": "@node-rs/jieba" -} diff --git a/pages/docs/ecosystem/@node-rs/_meta.pt-BR.json b/pages/docs/ecosystem/@node-rs/_meta.pt-BR.json deleted file mode 100644 index c843ff2b..00000000 --- a/pages/docs/ecosystem/@node-rs/_meta.pt-BR.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "bcrypt": "@node-rs/bcrypt", - "crc32": "@node-rs/crc32", - "deno-lint": "@node-rs/deno-lint", - "jieba": "@node-rs/jieba" -} diff --git a/pages/docs/ecosystem/_meta.cn.json b/pages/docs/ecosystem/_meta.cn.json deleted file mode 100644 index 572f9182..00000000 --- a/pages/docs/ecosystem/_meta.cn.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "snappy": "snappy", - "swc": "swc", - "@napi-rs": "@napi-rs", - "@node-rs": "@node-rs" -} diff --git a/pages/docs/ecosystem/_meta.en.json b/pages/docs/ecosystem/_meta.en.json deleted file mode 100644 index 572f9182..00000000 --- a/pages/docs/ecosystem/_meta.en.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "snappy": "snappy", - "swc": "swc", - "@napi-rs": "@napi-rs", - "@node-rs": "@node-rs" -} diff --git a/pages/docs/ecosystem/_meta.pt-BR.json b/pages/docs/ecosystem/_meta.pt-BR.json deleted file mode 100644 index 572f9182..00000000 --- a/pages/docs/ecosystem/_meta.pt-BR.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "snappy": "snappy", - "swc": "swc", - "@napi-rs": "@napi-rs", - "@node-rs": "@node-rs" -} diff --git a/pages/docs/introduction/_meta.cn.json b/pages/docs/introduction/_meta.cn.json deleted file mode 100644 index a3b0e8da..00000000 --- a/pages/docs/introduction/_meta.cn.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "getting-started": "起步", - "simple-package": "编写发布一个简单的包" -} diff --git a/pages/docs/introduction/_meta.en.json b/pages/docs/introduction/_meta.en.json deleted file mode 100644 index 48ffe481..00000000 --- a/pages/docs/introduction/_meta.en.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "getting-started": "Getting started", - "simple-package": "A simple package" -} diff --git a/pages/docs/introduction/_meta.pt-BR.json b/pages/docs/introduction/_meta.pt-BR.json deleted file mode 100644 index 5bdc2561..00000000 --- a/pages/docs/introduction/_meta.pt-BR.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "getting-started": "Começando", - "simple-package": "Um pacote simples" -} diff --git a/pages/docs/introduction/getting-started.cn.mdx b/pages/docs/introduction/getting-started.cn.mdx deleted file mode 100644 index 2838859c..00000000 --- a/pages/docs/introduction/getting-started.cn.mdx +++ /dev/null @@ -1,161 +0,0 @@ ---- -description: 学习如何开始开发 NAPI-RS ---- - -# 起步 - -import Video from '../../../public/assets/napi-rs-guide.mp4' - -## 从 `@napi-rs/cli` 开始 - -> 这是推荐的方式。 - - - -### 安装 cli - -```bash -yarn global add @napi-rs/cli -# 或者 -npm install -g @napi-rs/cli -# 或者 -pnpm add -g @napi-rs/cli -``` - -### 创建项目 - -```bash -napi new -``` - -#### Package name - -`package.json` 中的 name 字段。 - -#### Choose targets you want to support - -你想要支持的平台。 - -#### Enable GitHub actions - -是否生成 GitHub actions 配置文件。 - -### 深入 - -我们推荐你使用 [npm scope](https://docs.npmjs.com/creating-and-publishing-scoped-public-packages/) 来发布你的 npm 包, 因为 `@napi-rs/cli` 默认会将不同平台的后缀插入到你的包名后面用于发布不同平台的二进制包。 - -比如你希望发布一个叫 `@cool/core` 的 npm 包, 支持 `macOS x64`, `Windows x64` 和 `Linux aarch64` 三个平台, `@napi-rs/cli` 会生成这些包用于发布: - -- `@cool/core` 只包含 `JavaScript` 代码, 它只在不同的平台上加载对应的二进制包。 -- `@cool/core-darwin-x64` 包含 `macOS x64` 平台的二进制文件。 -- `@cool/core-win32-x64` 包含 `Windows x64` 平台的二进制文件。 -- `@cool/core-linux-arm64-gnu` 包含 `Linux aarch64` 平台的二进制文件。 - -在每个特定平台的 npm 包中, 它们的 `package.json` 定义了与平台对应的 `cpu` 和 `os` 字段: - -```json filename="package.json" -{ - "name": "@cool/core-darwin-x64", - "version": "1.0.0", - "os": ["darwin"], - "cpu": ["x64"] -} -``` - -`@cool/core` 会将这些平台相关的二进制包作为 `optionalDependencies`: - -```json filename="package.json" -{ - "name": "@cool/core", - "version": "1.0.0", - "optionalDependencies": { - "@cool/core-darwin-x64": "^1.0.0", - "@cool/core-win32-x64": "^1.0.0", - "@cool/core-linux-arm64": "^1.0.0" - } -} -``` - -`@cool/core` 中的 `index.js` 文件会有这样的加载逻辑: - -```js filename="index.js" -const { existsSync, readFileSync } = require('fs') -const { join } = require('path') - -const { platform, arch } = process - -let nativeBinding = null -let localFileExisted = false -let isMusl = false -let loadError = null - -switch (platform) { - case 'darwin': - switch (arch) { - case 'x64': - localFileExisted = existsSync(join(__dirname, 'core.darwin-x64.node')) - try { - if (localFileExisted) { - nativeBinding = require('./core.darwin-x64.node') - } else { - nativeBinding = require('@cool/core-darwin-x64') - } - } catch (e) { - loadError = e - } - break - case 'arm64': - localFileExisted = existsSync(join(__dirname, 'core.darwin-arm64.node')) - try { - if (localFileExisted) { - nativeBinding = require('./core.darwin-arm64.node') - } else { - nativeBinding = require('@cool/core-darwin-arm64') - } - } catch (e) { - loadError = e - } - break - default: - throw new Error(`Unsupported architecture on macOS: ${arch}`) - } - break - // ... - default: - throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`) -} - -if (!nativeBinding) { - if (loadError) { - throw loadError - } - throw new Error(`Failed to load native binding`) -} - -const { plus100 } = nativeBinding - -module.exports.plus100 = plus100 -``` - -这个自动生成的 `index.js` 文件会帮助你找到 **_合适的_** 二进制文件, 无论是在本地开发阶段还是在 npm 包被发布以后。 `index.js` 会处理以下两种情况: - -#### 你的包被安装到用户的 `node_modules` 中 - -为了加载正确二进制文件,`index.js` 函数会尝试加载该平台下所有可能的包(在给定系统和 CPU 架构下可能存在多种可能的二进制包),比如在 `Linux x64` 平台,`index.js` 会尝试加载 `@cool/core-linux-x64-gnu` 和 `@cool/core-linux-x64-musl`。 如果用户使用的是 `Ubuntu` `Debian` 等预装 `gnu libc` 的操作系统,则 `@cool/core-linux-x64-gnu` 这个包会被加载进来。而如果用户使用的是 `Alpine` 这种预装 `musl libc` 的操作系统,则 `@cool/core-linux-x64-musl` 会被加载进来。 - -#### 本地开发 - -使用 `napi new` 命令生成的项目中, package.json 中的 `build` 命令会在当前目录下生成一个动态链接文件,用于本地开发与调试。还是以 `Linux x64` 平台为例,`build` 命令会生成 `cool.linux-x64-musl.node` 或者 `cool.linux-x64-gnu.node` 文件,而 `index.js` 会帮你正确的加载这个文件。 - -## 从 [GitHub template project](https://github.com/napi-rs/package-template) 开始 - -![package-template](./package-template.png) - -1. 点击进入 [GitHub template project](https://github.com/napi-rs/package-template) -2. 点击 **Use this template** 按钮。 -3. Clone 你的项目。 -4. 运行 `yarn install` 来安装依赖。 -5. 在项目目录内运行 `npx napi rename` 命令来重命名你的包。 diff --git a/pages/docs/introduction/simple-package.cn.mdx b/pages/docs/introduction/simple-package.cn.mdx deleted file mode 100644 index 56d038c4..00000000 --- a/pages/docs/introduction/simple-package.cn.mdx +++ /dev/null @@ -1,298 +0,0 @@ ---- -description: 使用 NAPI-RS 编写并发布一个简单的包. ---- - -# 编写发布一个简单的包 - -## 新建 `@napi-rs/cool` - -让我们从 `@napi-rs/cli` 开始。 - -使用 `napi new` 命令创建新项目: - -```bash {2} -napi new -? Package name: (The name filed in your package.json) -``` - -让我们给这个包起一个酷一点的名字: **@napi-rs/cool** - -import { Callout } from 'nextra-theme-docs' - - - 我们推荐将你的包发布到 npm scope 下。 因为 `@napi-rs/cli` - 会在每个支持的平台下创建并发布很多个包。 如果这些包不在一个 npm scope - 下,在发布的时候就会触发 npm [**_spam - detection_**](https://stackoverflow.com/a/54135900/5684750)。 - - -```bash {3} -napi new -? Package name: (The name filed in your package.json) @napi-rs/cool -? Dir name: (cool) -``` - -下一步你需要为你的酷包选择目录名,它的默认值是你的包名的后缀。我们就按 **enter**,使用默认值吧。 - -```bash {4} -napi new -? Package name: (The name filed in your package.json) @napi-rs/cool -? Dir name: cool -? Choose targets you want to support (Press to select, to toggle all, to invert selection, -and to proceed) -❯ ◯ aarch64-apple-darwin - ◯ aarch64-linux-android - ◯ aarch64-unknown-linux-gnu - ◯ aarch64-unknown-linux-musl - ◯ aarch64-pc-windows-msvc - ◯ armv7-unknown-linux-gnueabihf - ◉ x86_64-apple-darwin -(Move up and down to reveal more choices) -``` - -下一步是选择你想支持哪个平台。我想要支持所有平台,所以按 **A** 全选,然后按 **enter**。 - -```bash {8} -napi new -? Package name: (The name filed in your package.json) @napi-rs/cool -? Dir name: cool -? Choose targets you want to support aarch64-apple-darwin, aarch64-linux-android, aarch64-unknown-linux-gnu -, aarch64-unknown-linux-musl, aarch64-pc-windows-msvc, armv7-unknown-linux-gnueabihf, x86_64-apple-darwin, -x86_64-pc-windows-msvc, x86_64-unknown-linux-gnu, x86_64-unknown-linux-musl, x86_64-unknown-freebsd, i686-p -c-windows-msvc, armv7-linux-androideabi -? Enable github actions? (Y/n) -``` - -下一步,你需要选择是否启用 `GitHub CI` 配置。如果你的项目将在 `GitHub` 上发布,那么你需要启用它。让我们在这里输入 **Y** 并按**enter**。 - -```bash {9-16} -napi new -? Package name: (The name filed in your package.json) @napi-rs/cool -? Dir name: cool -? Choose targets you want to support aarch64-apple-darwin, aarch64-linux-android, aarch64-unknown-linux-gnu -, aarch64-unknown-linux-musl, aarch64-pc-windows-msvc, armv7-unknown-linux-gnueabihf, x86_64-apple-darwin, -x86_64-pc-windows-msvc, x86_64-unknown-linux-gnu, x86_64-unknown-linux-musl, x86_64-unknown-freebsd, i686-p -c-windows-msvc, armv7-linux-androideabi -? Enable github actions? Yes -Writing Cargo.toml -Writing .npmignore -Writing build.rs -Writing package.json -Writing src/lib.rs -Writing .github/workflows/CI.yml -Writing .cargo/config.toml -Writing rustfmt.toml -``` - -现在`@napi-rs/cli`已经创建了一个名为`@napi-rs/cool`的新包,并且在`cool`目录下。 - -让我们进入这个目录并且做一些准备工作: - -```bash -cd cool -yarn install -``` - -我在这里使用`yarn`来安装依赖,你可以用你偏好的包管理器来代替它。 - -而现在的目录结构是这样的: - -``` -tree -a -. -├── .cargo -│   └── config.toml -├── .github -│   └── workflows -│   └── CI.yml -├── .npmignore -├── Cargo.toml -├── build.rs -├── npm -├── package.json -├── rustfmt.toml -└── src - └── lib.rs -``` - -你的本地代码在 `src/lib.rs`中。`.cargo/config.toml`文件用于`GitHub CI`的交叉编译。一般来说,这个文件不会影响你在本地机器上的开发。 -`.github/workflows/CI.yml`文件是[`GitHub Actions`](https://docs.github.com/en/actions) 的配置文件。 -`build.rs` 文件对于构建 `Node.js` 的 native addon 是必要的,不要删除它或把它移到其他地方。 - -在`yarn`安装完成后,你可以运行`build`命令来构建你的 native addon: - -```bash -yarn build -yarn run v1.22.17 -$ napi build --platform --release - Updating crates.io index - Downloaded proc-macro2 v1.0.34 - Downloaded once_cell v1.9.0 - Downloaded napi v2.0.0-beta.7 - Downloaded 3 crates (129.4 KB) in 2.35s - Compiling proc-macro2 v1.0.34 - Compiling unicode-xid v0.2.2 - Compiling memchr v2.4.1 - Compiling syn v1.0.82 - Compiling regex-syntax v0.6.25 - Compiling convert_case v0.4.0 - Compiling once_cell v1.9.0 - Compiling napi-build v1.2.0 - Compiling napi-sys v2.1.0 - Compiling napi-rs_cool v0.0.0 (/cool) - Compiling quote v1.0.10 - Compiling aho-corasick v0.7.18 - Compiling regex v1.5.4 - Compiling napi-derive-backend v1.0.17 - Compiling ctor v0.1.21 - Compiling napi-derive v2.0.0-beta.5 - Compiling napi v2.0.0-beta.7 - Finished release [optimized] target(s) in 37.11s -✨ Done in 37.80s. -``` - -然后现在的文件夹结构变成了这样: - -```bash {11-13} -tree -a -I target -. -├── .cargo -│   └── config.toml -├── .github -│   └── workflows -│   └── CI.yml -├── .npmignore -├── Cargo.toml -├── build.rs -├── cool.darwin-x64.node -├── index.d.ts -├── index.js -├── node_modules -├── npm -├── package.json -├── rustfmt.toml -└── src - └── lib.rs -``` - -`yarn build` 命令为你生成了三个文件。 - -`cool.darwin-x64.node` 是 Node.js addon 二进制文件, `index.js` 自动生成的 JavaScript 绑定文件,它帮你从 addon 二进制中 export 出所有的东西,并且保证对 esm 与 CommonJS 的兼容。`index.d.ts` 是生成的 TypeScript 定义文件。 - -`new`命令从 `src/lib.rs` 中为你生成了一个简单的 `sum` 函数。 - -```rust {7} filename="lib.rs" -#![deny(clippy::all)] - -#[macro_use] -extern crate napi_derive; - -#[napi] -fn sum(a: i32, b: i32) -> i32 { - a + b -} -``` - -查看 `index.d.ts` 文件内容你可以看到 `sum` 函数的 TypeScript 定义已经帮你自动生成: - -```ts {9} filename="index.d.ts" -/* eslint-disable */ - -export class ExternalObject { - readonly '': { - readonly '': unique symbol - [K: symbol]: T - } -} -export function sum(a: number, b: number): number -``` - -让我们创建一个 `test.mjs` 文件来测试生成的 `sum` 函数: - -```js filename="test.mjs" -import { sum } from './index.js' - -console.log('From native', sum(40, 2)) -``` - -执行! - -```bash -node test.mjs -From native 42 -``` - -恭喜你! 你已经成功的创建了一个 `Node.js` addon! - -## 发布 - -很可惜你不能直接发布 `@napi-rs/cool`,因为你没有 `@napi-rs` npm scope 的发布权限。 - -但你可以新建一个你自己的 `npm scope`: https://docs.npmjs.com/creating-and-publishing-scoped-public-packages。 - -一旦你创建了你自己的 npm scope, 你可以使用 `napi rename` 命令来重命名刚刚新建的 `@napi-rs/cool` 项目。 - -```bash {1} -napi rename -? name: name field in package.json -``` - -假设你创建的 npm scope 名字叫 `jarvis`, 你可以在这里输入 `@jarvis/cool`: - -```bash {3} -napi rename -? name: name field in package.json @jarvis/cool -? napi name: (cool) -``` - -你不需要重命名 `package.json` 中的 `napi name` 字段,因为包的后缀并没有变化。 在这里按下 **Enter** 保留 `cool` 这个名字。 - -```bash -napi rename -? name: name field in package.json @jarvis/cool -? napi name: cool -? repository: Leave empty to skip -``` - -如果你想发布 **NAPI-RS** 构建的包,你需要一个 `GitHub` 仓库,因为你需要 `GitHub Actions` 来为你做自动化编译和发布工作。在这里输入你的 GitHub 仓库的 URL 即可: - -```bash {5} -napi rename -? name: name field in package.json @jarvis/cool -? napi name: cool -? repository: Leave empty to skip -? description: Leave empty to skip -``` - -输入 `package.json` 中的 `description` 字段,直接按下 **enter** 来跳过这个步骤。 - -现在你的软件包名称已经重命名为`@jarvis/cool`,你终于可以发布它了。 - -现在初始化 `git` 配置并将它推到 GitHub: - -```bash -git init -git remote add origin git@github.com/yourname/cool.git -git add . -git commit -m "Init" -git push -``` - - -为了在 `GitHub Actions` 中发布你的包, 你需要在你的 GitHub 仓库中配置 `NPM_TOKEN` 环境变量. - -在项目的 **Settings -> Secrets** 中新建 **_NPM_TOKEN_** 环境变量。 - - -如果所有步骤都完成了,你可以在 GitHub 上看到如下的 CI 流程: - -![](./CI.png) - -这是一个测试 CI,让我们来发布它吧: - -```bash -npm version patch -git push --follow-tags -``` - -然后 `CI` 会自动编译并发布 `@jarvis/cool`。 diff --git a/pages/docs/more/_meta.cn.json b/pages/docs/more/_meta.cn.json deleted file mode 100644 index 1ee7012a..00000000 --- a/pages/docs/more/_meta.cn.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "faq": "Frequently Asked Questions", - "neon": "Compare with neon" -} diff --git a/pages/docs/more/_meta.en.json b/pages/docs/more/_meta.en.json deleted file mode 100644 index 1ee7012a..00000000 --- a/pages/docs/more/_meta.en.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "faq": "Frequently Asked Questions", - "neon": "Compare with neon" -} diff --git a/pages/docs/more/_meta.pt-BR.json b/pages/docs/more/_meta.pt-BR.json deleted file mode 100644 index e1e8fefd..00000000 --- a/pages/docs/more/_meta.pt-BR.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "faq": "Perguntas Frequentes", - "neon": "Compare com neon" -} diff --git a/pages/en/_meta.ts b/pages/en/_meta.ts new file mode 100644 index 00000000..9db1a2e8 --- /dev/null +++ b/pages/en/_meta.ts @@ -0,0 +1,18 @@ +export default { + index: { + title: 'Introduction', + display: 'hidden', + }, + docs: { + title: 'Docs', + type: 'page', + }, + blog: { + title: 'Blog', + type: 'page', + }, + changelog: { + title: 'Changelog', + type: 'page', + }, +} diff --git a/pages/blog/announce-v2.en.mdx b/pages/en/blog/announce-v2.mdx similarity index 98% rename from pages/blog/announce-v2.en.mdx rename to pages/en/blog/announce-v2.mdx index 874a77d8..02a84a01 100644 --- a/pages/blog/announce-v2.en.mdx +++ b/pages/en/blog/announce-v2.mdx @@ -1,5 +1,5 @@ -import { Diff } from '../../components/v2-diff' -import { Contributors } from '../../components/contributors' +import { Diff } from '@/components/v2-diff' +import { Contributors } from '@/components/contributors' # Announcing NAPI-RS v2 @@ -359,7 +359,7 @@ And we want to investigate the `Deno FFI` support too. See [#12577](https://gith [`node-bindgen`](https://github.com/infinyon/node-bindgen) [`neon`](https://github.com/neon-bindings/neon) and [`wasm-bindgen`](https://github.com/rustwasm/wasm-bindgen) inspiring many of API designs in the `v2`. -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' Special thanks to my wife. Without the weekends she sacrificed, I probably diff --git a/pages/blog/freebsd-actions-update.en.mdx b/pages/en/blog/freebsd-actions-update.mdx similarity index 100% rename from pages/blog/freebsd-actions-update.en.mdx rename to pages/en/blog/freebsd-actions-update.mdx diff --git a/pages/blog/github-actions-update-2022-07.en.mdx b/pages/en/blog/github-actions-update-2022-07.mdx similarity index 100% rename from pages/blog/github-actions-update-2022-07.en.mdx rename to pages/en/blog/github-actions-update-2022-07.mdx diff --git a/pages/en/changelog/_meta.ts b/pages/en/changelog/_meta.ts new file mode 100644 index 00000000..0bdc92f0 --- /dev/null +++ b/pages/en/changelog/_meta.ts @@ -0,0 +1,7 @@ +export default { + napi: 'napi', + napi_derive: 'napi-derive', + napi_sys: 'napi-sys', + napi_build: 'napi-build', + 'napi-cli': '@napi-rs/cli', +} diff --git a/pages/changelog/napi-cli.en.mdx b/pages/en/changelog/napi-cli.mdx similarity index 61% rename from pages/changelog/napi-cli.en.mdx rename to pages/en/changelog/napi-cli.mdx index a8c97694..cc0eb3f0 100644 --- a/pages/changelog/napi-cli.en.mdx +++ b/pages/en/changelog/napi-cli.mdx @@ -3,9 +3,9 @@ title: '@napi-rs/cli' description: napi cli changelog. --- -import { RemoteContent } from 'nextra/data' +import { RemoteContent } from 'nextra/components' -import { getChangelog } from '../../components/changelog-generator' +import { getChangelog } from '@/components/changelog-generator' # @napi-rs/cli diff --git a/pages/changelog/napi.en.mdx b/pages/en/changelog/napi.mdx similarity index 61% rename from pages/changelog/napi.en.mdx rename to pages/en/changelog/napi.mdx index e36c049e..d78d8810 100644 --- a/pages/changelog/napi.en.mdx +++ b/pages/en/changelog/napi.mdx @@ -2,9 +2,9 @@ description: Changelog for napi crate https://crates.io/crates/napi --- -import { RemoteContent } from 'nextra/data' +import { RemoteContent } from 'nextra/components' -import { getChangelog } from '../../components/changelog-generator' +import { getChangelog } from '@/components/changelog-generator' # napi diff --git a/pages/changelog/napi_build.en.mdx b/pages/en/changelog/napi_build.mdx similarity index 64% rename from pages/changelog/napi_build.en.mdx rename to pages/en/changelog/napi_build.mdx index 689862ab..6e1e8b17 100644 --- a/pages/changelog/napi_build.en.mdx +++ b/pages/en/changelog/napi_build.mdx @@ -2,9 +2,9 @@ description: Changelog for napi-build crate https://crates.io/crates/napi-build --- -import { RemoteContent } from 'nextra/data' +import { RemoteContent } from 'nextra/components' -import { getChangelog } from '../../components/changelog-generator' +import { getChangelog } from '@/components/changelog-generator' # napi-build diff --git a/pages/changelog/napi_derive.en.mdx b/pages/en/changelog/napi_derive.mdx similarity index 64% rename from pages/changelog/napi_derive.en.mdx rename to pages/en/changelog/napi_derive.mdx index 13c05118..b81e8325 100644 --- a/pages/changelog/napi_derive.en.mdx +++ b/pages/en/changelog/napi_derive.mdx @@ -2,9 +2,9 @@ description: Changelog for napi crate https://crates.io/crates/napi-derive --- -import { RemoteContent } from 'nextra/data' +import { RemoteContent } from 'nextra/components' -import { getChangelog } from '../../components/changelog-generator' +import { getChangelog } from '@/components/changelog-generator' # napi-derive diff --git a/pages/changelog/napi_sys.en.mdx b/pages/en/changelog/napi_sys.mdx similarity index 63% rename from pages/changelog/napi_sys.en.mdx rename to pages/en/changelog/napi_sys.mdx index 5f06d61b..8156e26b 100644 --- a/pages/changelog/napi_sys.en.mdx +++ b/pages/en/changelog/napi_sys.mdx @@ -2,9 +2,9 @@ description: Changelog for napi-sys crate https://crates.io/crates/napi-sys --- -import { RemoteContent } from 'nextra/data' +import { RemoteContent } from 'nextra/components' -import { getChangelog } from '../../components/changelog-generator' +import { getChangelog } from '@/components/changelog-generator' # napi-sys diff --git a/pages/en/docs/_meta.ts b/pages/en/docs/_meta.ts new file mode 100644 index 00000000..a6c2bf82 --- /dev/null +++ b/pages/en/docs/_meta.ts @@ -0,0 +1,10 @@ +export default { + introduction: 'Introduction', + concepts: 'Concepts', + 'compat-mode': 'Compat mode', + cli: 'CLI', + 'deep-dive': 'Deep dive', + 'cross-build': 'Cross build', + ecosystem: 'Ecosystem', + more: 'More', +} diff --git a/pages/en/docs/cli/_meta.ts b/pages/en/docs/cli/_meta.ts new file mode 100644 index 00000000..eeb5c2dc --- /dev/null +++ b/pages/en/docs/cli/_meta.ts @@ -0,0 +1,6 @@ +export default { + build: 'Build', + artifacts: 'Artifacts', + 'pre-publish': 'Prepublish', + 'napi-config': 'NAPI Config', +} diff --git a/pages/docs/cli/artifacts.en.mdx b/pages/en/docs/cli/artifacts.mdx similarity index 98% rename from pages/docs/cli/artifacts.en.mdx rename to pages/en/docs/cli/artifacts.mdx index a910caa5..0386438a 100644 --- a/pages/docs/cli/artifacts.en.mdx +++ b/pages/en/docs/cli/artifacts.mdx @@ -4,8 +4,8 @@ description: napi artifacts command in @napi-rs/cli. # Artifacts -import { Callout } from 'nextra-theme-docs' -import { Green } from '../../../components/chalk' +import { Callout } from 'nextra/components' +import { Green } from '@/components/chalk' GitHub Actions [artifacts](https://docs.github.com/en/actions/advanced-guides/storing-workflow-data-as-artifacts) management. diff --git a/pages/docs/cli/build.en.mdx b/pages/en/docs/cli/build.mdx similarity index 99% rename from pages/docs/cli/build.en.mdx rename to pages/en/docs/cli/build.mdx index 8dc1f652..72a0ac97 100644 --- a/pages/docs/cli/build.en.mdx +++ b/pages/en/docs/cli/build.mdx @@ -4,7 +4,7 @@ description: napi build command in @napi-rs/cli. # Build -import { Green, Rust, Warning } from '../../../components/chalk' +import { Green, Rust, Warning } from '@/components/chalk' ## Flags list diff --git a/pages/docs/cli/napi-config.en.mdx b/pages/en/docs/cli/napi-config.mdx similarity index 86% rename from pages/docs/cli/napi-config.en.mdx rename to pages/en/docs/cli/napi-config.mdx index a71b9ee5..b1c5ef2c 100644 --- a/pages/docs/cli/napi-config.en.mdx +++ b/pages/en/docs/cli/napi-config.mdx @@ -4,11 +4,11 @@ description: Config schema of NAPI-RS. # NAPI Config -import { Green } from '../../../components/chalk' +import { Green } from '@/components/chalk' The config schema of **NAPI-RS**. -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' All the fields in `napi` is optional. @@ -32,11 +32,11 @@ import { Callout } from 'nextra-theme-docs' | Field | Default | Description | | -------------------- | :------------------------: | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -| `name` | `index` | The binary file name of generated `.node` file. Eg `[NAME].[TRIPLE?].node` becomes `index.win32-x64-msvc.node` | -| `triples.defaults` | `true` | Whether to enable the default triples.
The default triples is `['x86_64-apple-darwin', 'x86_64-unknown-linux-gnu', 'x86_64-pc-windows-msvc']`. | -| `triples.additional` | `[]` | Additional triples besides the default triples you want to build. Target triples could be found in the output of `rustup target list` command. | +| `name` | `index` | The binary file name of generated `.node` file. Eg `[NAME].[TRIPLE?].node` becomes `index.win32-x64-msvc.node` | +| `triples.defaults` | `true` | Whether to enable the default triples.
The default triples is `['x86_64-apple-darwin', 'x86_64-unknown-linux-gnu', 'x86_64-pc-windows-msvc']`. | +| `triples.additional` | `[]` | Additional triples besides the default triples you want to build. Target triples could be found in the output of `rustup target list` command. | | `package.name` | `undefined` | Override the `name` field in `package.json`. See [Build#js-package-name](./build#note-for---js-package-name) for usage. | -| `npmClient` | `npm` | Specify a different NPM client for usage when executing NPM actions such as publishing. | +| `npmClient` | `npm` | Specify a different NPM client for usage when executing NPM actions such as publishing. | ## What is `target triple` diff --git a/pages/docs/cli/pre-publish.en.mdx b/pages/en/docs/cli/pre-publish.mdx similarity index 97% rename from pages/docs/cli/pre-publish.en.mdx rename to pages/en/docs/cli/pre-publish.mdx index 71051157..ecb67ef6 100644 --- a/pages/docs/cli/pre-publish.en.mdx +++ b/pages/en/docs/cli/pre-publish.mdx @@ -4,11 +4,11 @@ description: napi prepublish command in @napi-rs/cli. # Prepublish -import { Green, Warning } from '../../../components/chalk' +import { Green, Warning } from '@/components/chalk' Running some preparation for publishing **NAPI-RS** packages. -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' This command is usually used in `prepublishOnly` lifecycle scripts in diff --git a/pages/en/docs/compat-mode/_meta.ts b/pages/en/docs/compat-mode/_meta.ts new file mode 100644 index 00000000..35f9e249 --- /dev/null +++ b/pages/en/docs/compat-mode/_meta.ts @@ -0,0 +1,4 @@ +export default { + concepts: 'Concepts', + recipes: 'Recipes', +} diff --git a/pages/en/docs/compat-mode/concepts/_meta.ts b/pages/en/docs/compat-mode/concepts/_meta.ts new file mode 100644 index 00000000..91e45f98 --- /dev/null +++ b/pages/en/docs/compat-mode/concepts/_meta.ts @@ -0,0 +1,8 @@ +export default { + env: 'Env', + 'js-values': 'JsValue', + ref: 'Reference', + 'thread-safe-function': 'Thread safe function', + tokio: 'Tokio', + wrap: 'Wrap native object', +} diff --git a/pages/docs/compat-mode/concepts/env.en.mdx b/pages/en/docs/compat-mode/concepts/env.mdx similarity index 100% rename from pages/docs/compat-mode/concepts/env.en.mdx rename to pages/en/docs/compat-mode/concepts/env.mdx diff --git a/pages/docs/compat-mode/concepts/js-values.en.mdx b/pages/en/docs/compat-mode/concepts/js-values.mdx similarity index 100% rename from pages/docs/compat-mode/concepts/js-values.en.mdx rename to pages/en/docs/compat-mode/concepts/js-values.mdx diff --git a/pages/docs/compat-mode/concepts/ref.en.mdx b/pages/en/docs/compat-mode/concepts/ref.mdx similarity index 100% rename from pages/docs/compat-mode/concepts/ref.en.mdx rename to pages/en/docs/compat-mode/concepts/ref.mdx diff --git a/pages/docs/compat-mode/concepts/thread-safe-function.en.mdx b/pages/en/docs/compat-mode/concepts/thread-safe-function.mdx similarity index 100% rename from pages/docs/compat-mode/concepts/thread-safe-function.en.mdx rename to pages/en/docs/compat-mode/concepts/thread-safe-function.mdx diff --git a/pages/docs/compat-mode/concepts/tokio.en.mdx b/pages/en/docs/compat-mode/concepts/tokio.mdx similarity index 100% rename from pages/docs/compat-mode/concepts/tokio.en.mdx rename to pages/en/docs/compat-mode/concepts/tokio.mdx diff --git a/pages/docs/compat-mode/concepts/wrap.en.mdx b/pages/en/docs/compat-mode/concepts/wrap.mdx similarity index 100% rename from pages/docs/compat-mode/concepts/wrap.en.mdx rename to pages/en/docs/compat-mode/concepts/wrap.mdx diff --git a/pages/en/docs/compat-mode/recipes/_meta.ts b/pages/en/docs/compat-mode/recipes/_meta.ts new file mode 100644 index 00000000..1cd69439 --- /dev/null +++ b/pages/en/docs/compat-mode/recipes/_meta.ts @@ -0,0 +1,5 @@ +export default { + 'call-context': 'CallContext', + 'define-class': 'Defining class', + 'registering-module': 'Registering module', +} diff --git a/pages/docs/compat-mode/recipes/call-context.en.mdx b/pages/en/docs/compat-mode/recipes/call-context.mdx similarity index 100% rename from pages/docs/compat-mode/recipes/call-context.en.mdx rename to pages/en/docs/compat-mode/recipes/call-context.mdx diff --git a/pages/docs/compat-mode/recipes/define-class.en.mdx b/pages/en/docs/compat-mode/recipes/define-class.mdx similarity index 100% rename from pages/docs/compat-mode/recipes/define-class.en.mdx rename to pages/en/docs/compat-mode/recipes/define-class.mdx diff --git a/pages/docs/compat-mode/recipes/registering-module.en.mdx b/pages/en/docs/compat-mode/recipes/registering-module.mdx similarity index 100% rename from pages/docs/compat-mode/recipes/registering-module.en.mdx rename to pages/en/docs/compat-mode/recipes/registering-module.mdx diff --git a/pages/en/docs/concepts/_meta.ts b/pages/en/docs/concepts/_meta.ts new file mode 100644 index 00000000..0a902273 --- /dev/null +++ b/pages/en/docs/concepts/_meta.ts @@ -0,0 +1,19 @@ +export default { + exports: 'Exports', + 'naming-conventions': 'Naming conventions', + values: 'Values', + class: 'Class', + enum: 'Enum', + object: 'Object', + function: 'Function', + 'threadsafe-function': 'ThreadsafeFunction', + 'async-task': 'AsyncTask', + 'inject-env': 'Inject Env', + 'inject-this': 'Inject This', + reference: 'Reference', + 'async-fn': 'async fn', + external: 'External', + 'await-promise': 'Await Promise', + 'types-overwrite': 'Types Overwrite', + 'typed-array': 'Typed Array', +} diff --git a/pages/docs/concepts/async-fn.en.mdx b/pages/en/docs/concepts/async-fn.mdx similarity index 96% rename from pages/docs/concepts/async-fn.en.mdx rename to pages/en/docs/concepts/async-fn.mdx index e5d53359..019ab516 100644 --- a/pages/docs/concepts/async-fn.en.mdx +++ b/pages/en/docs/concepts/async-fn.mdx @@ -2,7 +2,7 @@ description: Run a Rust async fn with the tokio runtime. --- -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' # async fn diff --git a/pages/docs/concepts/async-task.en.mdx b/pages/en/docs/concepts/async-task.mdx similarity index 99% rename from pages/docs/concepts/async-task.en.mdx rename to pages/en/docs/concepts/async-task.mdx index 45680c73..ef9ffb95 100644 --- a/pages/docs/concepts/async-task.en.mdx +++ b/pages/en/docs/concepts/async-task.mdx @@ -37,7 +37,7 @@ impl Task for AsyncFib { You may notice there are two associated types on the `Task` trait. The `type Output` and the `type JsValue`. `Output` is the return type of the `compute` method. `JsValue` is the return type of the `resolve` method. -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' We need separate `type Output` and `type JsValue` because we can not call the diff --git a/pages/docs/concepts/await-promise.en.mdx b/pages/en/docs/concepts/await-promise.mdx similarity index 93% rename from pages/docs/concepts/await-promise.en.mdx rename to pages/en/docs/concepts/await-promise.mdx index 6273442d..006a6d2b 100644 --- a/pages/docs/concepts/await-promise.en.mdx +++ b/pages/en/docs/concepts/await-promise.mdx @@ -6,7 +6,7 @@ description: Await a JavaScript Promise in Rust. Awaiting a JavaScript `Promise` in Rust sounds crazy, but it's feasible in **NAPI-RS**. -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' Awaiting a JavaScript `Promise` needs the `tokio_rt` and `napi4` features to diff --git a/pages/docs/concepts/class.en.mdx b/pages/en/docs/concepts/class.mdx similarity index 99% rename from pages/docs/concepts/class.en.mdx rename to pages/en/docs/concepts/class.mdx index 04d66ed1..3d5ef22e 100644 --- a/pages/docs/concepts/class.en.mdx +++ b/pages/en/docs/concepts/class.mdx @@ -4,7 +4,7 @@ title: 'Class' # Class -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' There is no concept of a class in Rust. We use `struct` to represent a diff --git a/pages/docs/concepts/enum.en.mdx b/pages/en/docs/concepts/enum.mdx similarity index 96% rename from pages/docs/concepts/enum.en.mdx rename to pages/en/docs/concepts/enum.mdx index 028f1733..2a9a4ba3 100644 --- a/pages/docs/concepts/enum.en.mdx +++ b/pages/en/docs/concepts/enum.mdx @@ -4,7 +4,7 @@ title: 'Enum' # Enum -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' There is no `enum` in JavaScript, and Rust `enum` is very different from diff --git a/pages/docs/concepts/exports.en.mdx b/pages/en/docs/concepts/exports.mdx similarity index 96% rename from pages/docs/concepts/exports.en.mdx rename to pages/en/docs/concepts/exports.mdx index fa5b64aa..6b5fe746 100644 --- a/pages/docs/concepts/exports.en.mdx +++ b/pages/en/docs/concepts/exports.mdx @@ -1,6 +1,6 @@ # Exports -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' Unlike defining modules in Node.js, we don't need to explicitly register exports like `module.exports.xxx = xxx`. diff --git a/pages/docs/concepts/external.en.mdx b/pages/en/docs/concepts/external.mdx similarity index 100% rename from pages/docs/concepts/external.en.mdx rename to pages/en/docs/concepts/external.mdx diff --git a/pages/docs/concepts/function.en.md b/pages/en/docs/concepts/function.md similarity index 99% rename from pages/docs/concepts/function.en.md rename to pages/en/docs/concepts/function.md index 107bd757..097383a7 100644 --- a/pages/docs/concepts/function.en.md +++ b/pages/en/docs/concepts/function.md @@ -1,4 +1,5 @@ --- +description: JavaScript function. --- # Function diff --git a/pages/docs/concepts/inject-env.en.md b/pages/en/docs/concepts/inject-env.md similarity index 100% rename from pages/docs/concepts/inject-env.en.md rename to pages/en/docs/concepts/inject-env.md diff --git a/pages/docs/concepts/inject-this.en.md b/pages/en/docs/concepts/inject-this.md similarity index 100% rename from pages/docs/concepts/inject-this.en.md rename to pages/en/docs/concepts/inject-this.md diff --git a/pages/docs/concepts/naming-conventions.en.md b/pages/en/docs/concepts/naming-conventions.md similarity index 100% rename from pages/docs/concepts/naming-conventions.en.md rename to pages/en/docs/concepts/naming-conventions.md diff --git a/pages/docs/concepts/object.en.mdx b/pages/en/docs/concepts/object.mdx similarity index 96% rename from pages/docs/concepts/object.en.mdx rename to pages/en/docs/concepts/object.mdx index 8478f5e2..77385f49 100644 --- a/pages/docs/concepts/object.en.mdx +++ b/pages/en/docs/concepts/object.mdx @@ -2,7 +2,7 @@ title: 'Object' --- -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' # Object diff --git a/pages/docs/concepts/reference.en.md b/pages/en/docs/concepts/reference.md similarity index 100% rename from pages/docs/concepts/reference.en.md rename to pages/en/docs/concepts/reference.md diff --git a/pages/docs/concepts/threadsafe-function.en.mdx b/pages/en/docs/concepts/threadsafe-function.mdx similarity index 99% rename from pages/docs/concepts/threadsafe-function.en.mdx rename to pages/en/docs/concepts/threadsafe-function.mdx index 2ccca2ea..0a6501d3 100644 --- a/pages/docs/concepts/threadsafe-function.en.mdx +++ b/pages/en/docs/concepts/threadsafe-function.mdx @@ -6,7 +6,7 @@ description: Call a JavaScript callback in other threads. [`ThreadSafe Function`](https://nodejs.org/api/n-api.html#asynchronous-thread-safe-function-calls) is a complex concept in Node.js. As we all know, Node.js is single threaded, so you can't access [`napi_env`](https://nodejs.org/api/n-api.html#napi_env), [`napi_value`](https://nodejs.org/api/n-api.html#napi_value), and [`napi_ref`](https://nodejs.org/api/n-api.html#napi_ref) on another thread. -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' [`napi_env`](https://nodejs.org/api/n-api.html#napi_env), diff --git a/pages/docs/concepts/typed-array.en.mdx b/pages/en/docs/concepts/typed-array.mdx similarity index 96% rename from pages/docs/concepts/typed-array.en.mdx rename to pages/en/docs/concepts/typed-array.mdx index 5aa8cbd5..5e558f99 100644 --- a/pages/docs/concepts/typed-array.en.mdx +++ b/pages/en/docs/concepts/typed-array.mdx @@ -3,7 +3,7 @@ title: 'TypedArray' description: JavaScript TypedArray primitive. --- -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' # TypedArray diff --git a/pages/docs/concepts/types-overwrite.en.md b/pages/en/docs/concepts/types-overwrite.md similarity index 100% rename from pages/docs/concepts/types-overwrite.en.md rename to pages/en/docs/concepts/types-overwrite.md diff --git a/pages/docs/concepts/values.en.mdx b/pages/en/docs/concepts/values.mdx similarity index 99% rename from pages/docs/concepts/values.en.mdx rename to pages/en/docs/concepts/values.mdx index a9b229d0..bb9b3ab4 100644 --- a/pages/docs/concepts/values.en.mdx +++ b/pages/en/docs/concepts/values.mdx @@ -124,7 +124,7 @@ export function readBuffer(file: string): Buffer Represents JavaScript anonymous object values. -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' **Performance** diff --git a/pages/en/docs/cross-build/_meta.ts b/pages/en/docs/cross-build/_meta.ts new file mode 100644 index 00000000..8199e3d1 --- /dev/null +++ b/pages/en/docs/cross-build/_meta.ts @@ -0,0 +1,3 @@ +export default { + summary: 'Summary', +} diff --git a/pages/docs/cross-build/summary.en.mdx b/pages/en/docs/cross-build/summary.mdx similarity index 100% rename from pages/docs/cross-build/summary.en.mdx rename to pages/en/docs/cross-build/summary.mdx diff --git a/pages/en/docs/deep-dive/_meta.ts b/pages/en/docs/deep-dive/_meta.ts new file mode 100644 index 00000000..7848e152 --- /dev/null +++ b/pages/en/docs/deep-dive/_meta.ts @@ -0,0 +1,5 @@ +export default { + 'native-module': 'Native module', + history: 'History', + release: 'Release native packages', +} diff --git a/pages/docs/deep-dive/hex.png b/pages/en/docs/deep-dive/hex.png similarity index 100% rename from pages/docs/deep-dive/hex.png rename to pages/en/docs/deep-dive/hex.png diff --git a/pages/docs/deep-dive/history.en.mdx b/pages/en/docs/deep-dive/history.mdx similarity index 100% rename from pages/docs/deep-dive/history.en.mdx rename to pages/en/docs/deep-dive/history.mdx diff --git a/pages/docs/deep-dive/native-module.en.mdx b/pages/en/docs/deep-dive/native-module.mdx similarity index 99% rename from pages/docs/deep-dive/native-module.en.mdx rename to pages/en/docs/deep-dive/native-module.mdx index 67837ead..87035333 100644 --- a/pages/docs/deep-dive/native-module.en.mdx +++ b/pages/en/docs/deep-dive/native-module.mdx @@ -182,6 +182,9 @@ In this chapter, we introduced what the Node.js native addon is and how to compi ## References [^1]: https://en.wikipedia.org/wiki/Magic_number_(programming) + [^2]: https://github.com/nodejs/node/blob/v6.9.4/src/node.cc#L2427-L2502 + [^3]: GYP means _Generate Your Projects_, a build system developed by Google. For more details: https://gyp.gsrc.io. + [^4]: The config file of GYP usually has an extension of _.gyp, or _.gypi. It is a JSON-like file. diff --git a/pages/docs/deep-dive/nm-flow.png b/pages/en/docs/deep-dive/nm-flow.png similarity index 100% rename from pages/docs/deep-dive/nm-flow.png rename to pages/en/docs/deep-dive/nm-flow.png diff --git a/pages/docs/deep-dive/release.en.mdx b/pages/en/docs/deep-dive/release.mdx similarity index 100% rename from pages/docs/deep-dive/release.en.mdx rename to pages/en/docs/deep-dive/release.mdx diff --git a/pages/docs/deep-dive/tree.png b/pages/en/docs/deep-dive/tree.png similarity index 100% rename from pages/docs/deep-dive/tree.png rename to pages/en/docs/deep-dive/tree.png diff --git a/pages/docs/ecosystem/@napi-rs/_meta.en.json b/pages/en/docs/ecosystem/@napi-rs/_meta.ts similarity index 78% rename from pages/docs/ecosystem/@napi-rs/_meta.en.json rename to pages/en/docs/ecosystem/@napi-rs/_meta.ts index 10e2ceff..8bb599df 100644 --- a/pages/docs/ecosystem/@napi-rs/_meta.en.json +++ b/pages/en/docs/ecosystem/@napi-rs/_meta.ts @@ -1,4 +1,4 @@ -{ +export default{ "canvas": "skr-canvas", "pinyin": "@napi-rs/pinyin" } diff --git a/pages/docs/ecosystem/@napi-rs/canvas.en.mdx b/pages/en/docs/ecosystem/@napi-rs/canvas.mdx similarity index 100% rename from pages/docs/ecosystem/@napi-rs/canvas.en.mdx rename to pages/en/docs/ecosystem/@napi-rs/canvas.mdx diff --git a/pages/docs/ecosystem/@napi-rs/draw-emoji.png b/pages/en/docs/ecosystem/@napi-rs/draw-emoji.png similarity index 100% rename from pages/docs/ecosystem/@napi-rs/draw-emoji.png rename to pages/en/docs/ecosystem/@napi-rs/draw-emoji.png diff --git a/pages/docs/ecosystem/@napi-rs/overlapping-path.svg b/pages/en/docs/ecosystem/@napi-rs/overlapping-path.svg similarity index 100% rename from pages/docs/ecosystem/@napi-rs/overlapping-path.svg rename to pages/en/docs/ecosystem/@napi-rs/overlapping-path.svg diff --git a/pages/docs/ecosystem/@napi-rs/pinyin.en.mdx b/pages/en/docs/ecosystem/@napi-rs/pinyin.mdx similarity index 100% rename from pages/docs/ecosystem/@napi-rs/pinyin.en.mdx rename to pages/en/docs/ecosystem/@napi-rs/pinyin.mdx diff --git a/pages/docs/ecosystem/@napi-rs/simple.png b/pages/en/docs/ecosystem/@napi-rs/simple.png similarity index 100% rename from pages/docs/ecosystem/@napi-rs/simple.png rename to pages/en/docs/ecosystem/@napi-rs/simple.png diff --git a/pages/docs/ecosystem/@napi-rs/simplify.png b/pages/en/docs/ecosystem/@napi-rs/simplify.png similarity index 100% rename from pages/docs/ecosystem/@napi-rs/simplify.png rename to pages/en/docs/ecosystem/@napi-rs/simplify.png diff --git a/pages/docs/ecosystem/@napi-rs/tiger.png b/pages/en/docs/ecosystem/@napi-rs/tiger.png similarity index 100% rename from pages/docs/ecosystem/@napi-rs/tiger.png rename to pages/en/docs/ecosystem/@napi-rs/tiger.png diff --git a/pages/en/docs/ecosystem/@node-rs/_meta.ts b/pages/en/docs/ecosystem/@node-rs/_meta.ts new file mode 100644 index 00000000..e23bb9ff --- /dev/null +++ b/pages/en/docs/ecosystem/@node-rs/_meta.ts @@ -0,0 +1,6 @@ +export default { + bcrypt: '@node-rs/bcrypt', + crc32: '@node-rs/crc32', + 'deno-lint': '@node-rs/deno-lint', + jieba: '@node-rs/jieba', +} diff --git a/pages/docs/ecosystem/@node-rs/bcrypt.en.mdx b/pages/en/docs/ecosystem/@node-rs/bcrypt.mdx similarity index 100% rename from pages/docs/ecosystem/@node-rs/bcrypt.en.mdx rename to pages/en/docs/ecosystem/@node-rs/bcrypt.mdx diff --git a/pages/docs/ecosystem/@node-rs/crc32.en.mdx b/pages/en/docs/ecosystem/@node-rs/crc32.mdx similarity index 100% rename from pages/docs/ecosystem/@node-rs/crc32.en.mdx rename to pages/en/docs/ecosystem/@node-rs/crc32.mdx diff --git a/pages/docs/ecosystem/@node-rs/deno-lint.en.mdx b/pages/en/docs/ecosystem/@node-rs/deno-lint.mdx similarity index 100% rename from pages/docs/ecosystem/@node-rs/deno-lint.en.mdx rename to pages/en/docs/ecosystem/@node-rs/deno-lint.mdx diff --git a/pages/docs/ecosystem/@node-rs/jieba.en.mdx b/pages/en/docs/ecosystem/@node-rs/jieba.mdx similarity index 100% rename from pages/docs/ecosystem/@node-rs/jieba.en.mdx rename to pages/en/docs/ecosystem/@node-rs/jieba.mdx diff --git a/pages/en/docs/ecosystem/_meta.ts b/pages/en/docs/ecosystem/_meta.ts new file mode 100644 index 00000000..633da4be --- /dev/null +++ b/pages/en/docs/ecosystem/_meta.ts @@ -0,0 +1,6 @@ +export default { + snappy: 'snappy', + swc: 'swc', + '@napi-rs': '@napi-rs', + '@node-rs': '@node-rs', +} diff --git a/pages/docs/ecosystem/snappy.en.mdx b/pages/en/docs/ecosystem/snappy.mdx similarity index 100% rename from pages/docs/ecosystem/snappy.en.mdx rename to pages/en/docs/ecosystem/snappy.mdx diff --git a/pages/docs/ecosystem/swc.en.mdx b/pages/en/docs/ecosystem/swc.mdx similarity index 100% rename from pages/docs/ecosystem/swc.en.mdx rename to pages/en/docs/ecosystem/swc.mdx diff --git a/pages/docs/introduction/CI.png b/pages/en/docs/introduction/CI.png similarity index 100% rename from pages/docs/introduction/CI.png rename to pages/en/docs/introduction/CI.png diff --git a/pages/en/docs/introduction/_meta.ts b/pages/en/docs/introduction/_meta.ts new file mode 100644 index 00000000..088453d7 --- /dev/null +++ b/pages/en/docs/introduction/_meta.ts @@ -0,0 +1,4 @@ +export default { + 'getting-started': 'Getting started', + 'simple-package': 'A simple package', +} diff --git a/pages/docs/introduction/getting-started.en.mdx b/pages/en/docs/introduction/getting-started.mdx similarity index 98% rename from pages/docs/introduction/getting-started.en.mdx rename to pages/en/docs/introduction/getting-started.mdx index 87a1b754..949fa319 100644 --- a/pages/docs/introduction/getting-started.en.mdx +++ b/pages/en/docs/introduction/getting-started.mdx @@ -5,7 +5,7 @@ description: Learn how to get started with napi-rs. # Getting started -import Video from '../../../public/assets/napi-rs-guide.mp4' +import Video from '@/public/assets/napi-rs-guide.mp4' ## Start from `@napi-rs/cli` @@ -158,6 +158,7 @@ The `build` command in package.json in the project generated by the `@napi-rs/cl If your IDE refuses to autocomplete/autosuggest code when using the `#[napi]` macro, you can use the following setting to fix this: For vscode in `settings.json`: + ```json { "rust-analyzer.procMacro.ignored": { "napi-derive": ["napi"] } @@ -165,6 +166,7 @@ For vscode in `settings.json`: ``` For Neovim. + ```toml ['rust-analyzer'] = { procMacro = { @@ -176,11 +178,11 @@ For Neovim. ``` This problem emits the following error in rust-analyser: + ``` [ERROR proc_macro_api::msg] proc-macro tried to print : `napi` macro expand failed. ``` - ## Start from **GitHub template project** ![package-template](./package-template.png) diff --git a/pages/docs/introduction/package-template.png b/pages/en/docs/introduction/package-template.png similarity index 100% rename from pages/docs/introduction/package-template.png rename to pages/en/docs/introduction/package-template.png diff --git a/pages/docs/introduction/simple-package.en.mdx b/pages/en/docs/introduction/simple-package.mdx similarity index 99% rename from pages/docs/introduction/simple-package.en.mdx rename to pages/en/docs/introduction/simple-package.mdx index e3844c1e..000bf479 100644 --- a/pages/docs/introduction/simple-package.en.mdx +++ b/pages/en/docs/introduction/simple-package.mdx @@ -18,7 +18,7 @@ napi new Let's give the package a cool name **@napi-rs/cool**: -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' It's recommend to use npm scope to name your package. Because `@napi-rs/cli` diff --git a/pages/en/docs/more/_meta.ts b/pages/en/docs/more/_meta.ts new file mode 100644 index 00000000..a74788a2 --- /dev/null +++ b/pages/en/docs/more/_meta.ts @@ -0,0 +1,4 @@ +export default { + faq: 'Frequently Asked Questions', + neon: 'Compare with neon', +} diff --git a/pages/docs/more/faq.en.mdx b/pages/en/docs/more/faq.mdx similarity index 100% rename from pages/docs/more/faq.en.mdx rename to pages/en/docs/more/faq.mdx diff --git a/pages/docs/more/neon.en.mdx b/pages/en/docs/more/neon.mdx similarity index 82% rename from pages/docs/more/neon.en.mdx rename to pages/en/docs/more/neon.mdx index b7ef90be..e861e4cc 100644 --- a/pages/docs/more/neon.en.mdx +++ b/pages/en/docs/more/neon.mdx @@ -6,8 +6,6 @@ description: What's the difference between napi-rs and neon. [neon](https://neon-bindings.com/) is the other rust crate which provide great development experience and high performance. -{/* Neon 有一个成熟的基于 v8 API 的实现和一个未完成的 N-API 实现,只看 N-API 这一层面的实现,napi-rs 与 neon 也有许多不同的地方 */} - `neon` has a v8 backend and an incomplete napi backend. Looking only at the N-API backend, there are also many differences between `napi-rs` and `neon`. ## Abstract level diff --git a/pages/index.en.mdx b/pages/en/index.mdx similarity index 89% rename from pages/index.en.mdx rename to pages/en/index.mdx index 5eef07a8..116030ba 100644 --- a/pages/index.en.mdx +++ b/pages/en/index.mdx @@ -3,11 +3,11 @@ title: 'Home' description: 'NAPI-RS is a framework for building Node.js addons in Rust.' --- -import { Badges } from '../components/badges' -import { Rust } from '../components/chalk' -import { Ecosystem } from '../components/ecosystem' -import { Sponsors } from '../components/sponsors' -import { TitleEN } from '../components/title.en' +import { Badges } from '@/components/badges' +import { Rust } from '@/components/chalk' +import { Ecosystem } from '@/components/ecosystem' +import { Sponsors } from '@/components/sponsors' +import { TitleEN } from '@/components/title.en' export const getStaticProps = async () => { const sponsorsSVG = await fetch(`https://sponsors.napi.rs/sponsors.svg`).then( diff --git a/pages/index.cn.mdx b/pages/index.cn.mdx deleted file mode 100644 index 8c81780f..00000000 --- a/pages/index.cn.mdx +++ /dev/null @@ -1,98 +0,0 @@ ---- -title: '主页' -description: 'NAPI-RS 是一个使用 Rust 构建预编译 Node.js 原生扩展的框架.' ---- - -import { Badges } from '../components/badges' -import { Ecosystem } from '../components/ecosystem' -import { Sponsors } from '../components/sponsors' -import { TitleZH } from '../components/title.zh' - -export const getStaticProps = async () => { - const sponsorsSVG = await fetch(`https://sponsors.napi.rs/sponsors.svg`).then( - (res) => res.text(), - ) - return { - props: { - ssg: sponsorsSVG, - }, - } -} - - - - - -## 轻松锈化你的 Node.js 应用! - -```rust filename="lib.rs" -use napi_derive::napi; - -#[napi] -fn fibonacci(n: u32) -> u32 { - match n { - 1 | 2 => 1, - _ => fibonacci(n - 1) + fibonacci(n - 2), - } -} -``` - -与 `CommonJS`, `esm` 模块系统兼容, 自动生成 `.d.ts` 定义文件: - -```js filename="main.mjs" -import { fibonacci } from './index.js' - -// output: 5 -console.log(fibonacci(5)) -``` - -```js filename="main.cjs" -const { fibonacci } = require('./index') - -// output: 5 -console.log(fibonacci(5)) -``` - -## 功能 - -🚀 为 `Node.js` 应用带来原生性能 - -👷‍♂️ 由 `Rust` 编译器保障的内存安全 - -⚡️ `Rust` 与 `Node.js` 之间通过 `Buffer` 和 `TypedArray` 实现零数据拷贝交互 - -⚙️ 轻松并行代码 - -## 赞助 - - - -## 生态 - - - -## 支持列表 - -### Node.js - -| Node10 | Node12 | Node14 | Node16 | Node18 | Node20 | -| ------ | ------ | ------ | ------ | ------ | ------ | -| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - -### 操作系统与平台 - -> ✅ Means official tested in napi-rs repo.
`-` Means no official Node.js release. - -| | i686 | x64 | aarch64 | arm | -| ---------- | ---- | --- | ------- | --- | -| Windows | ✅ | ✅ | ✅ | - | -| macOS | - | ✅ | ✅ | ✅ | -| Linux | - | ✅ | ✅ | ✅ | -| Linux musl | - | ✅ | ✅ | - | -| FreeBSD | - | ✅ | - | - | -| Android | - | - | ✅ | ✅ | - -## 相关项目 - -- [neon](https://www.neon-bindings.com) -- [node-bindgen](https://github.com/infinyon/node-bindgen) diff --git a/pages/pt-BR/_meta.ts b/pages/pt-BR/_meta.ts new file mode 100644 index 00000000..cc43b79e --- /dev/null +++ b/pages/pt-BR/_meta.ts @@ -0,0 +1,18 @@ +export default { + index: { + title: 'Introdução', + display: 'hidden', + }, + docs: { + title: 'Documentação', + type: 'page', + }, + blog: { + title: 'Blog', + type: 'page', + }, + changelog: { + title: 'Changelog', + type: 'page', + }, +} diff --git a/pages/pt-BR/blog/announce-v2.mdx b/pages/pt-BR/blog/announce-v2.mdx new file mode 100644 index 00000000..02a84a01 --- /dev/null +++ b/pages/pt-BR/blog/announce-v2.mdx @@ -0,0 +1,373 @@ +import { Diff } from '@/components/v2-diff' +import { Contributors } from '@/components/contributors' + +# Announcing NAPI-RS v2 + +> 🦀 NAPI-RS v2 - [Faster 🚀](https://github.com/Brooooooklyn/rust-to-nodejs-overhead-benchmark) , Easier to use, and compatible improvements. +> +> 📅 2021/12/17 + +We are proudly announcing the release of NAPI-RS `v2`. This is the biggest release of **NAPI-RS** ever. + + + +Work for `v2` started on [Aug 10, 2021](https://github.com/napi-rs/napi-rs/pull/696) and it aims to provide easier to use API's and better compatibility with the Node.js ecosystem. + +The core of the `v2` release is the new `macro` API for defining **JavaScript** values in **Rust**. Let's see the differences between `v1` and `v2` by implementing a minimal runnable `sum` function: + +**v2** + +```rust +use napi_derive::napi; + +#[napi] +fn sum(a: u32, b: u32) -> u32 { + a + b +} +``` + +**v1** + +```rust +use napi::{CallContext, JsNumber, JsObject, Result}; +use napi_derive::{module_exports, js_function}; + +#[module_exports] +fn init(mut exports: JsObject) -> Result<()> { + exports.create_named_method("sum", sum)?; + Ok(()) +} + +#[js_function(1)] +fn sum(ctx: CallContext) -> Result { + let a = ctx.get::(0)?.get_uint32()?; + let b = ctx.get::(0)?.get_uint32()?; + ctx.env.create_uint32(a + b) +} +``` + +The `v2` API is clearly cleaner and more elegant. The complexity of the value cast between Node.js value and Rust value is hidden by the new `#[napi]` macro. You will not be confused by how to get a value via `Node-API` and how to cast a Rust value into `JsValue` any more. + +## What's new in **NAPI-RS** v2 + +**NAPI-RS** v2 is totally rewrite on top of the `v1` codebase. But most of the `v1` API is still available for compatibility. Which means you can smoothly upgrade to `v2` in most cases. + +Besides the small refactor and breaking changes in on the `v1` API, there are also some new exciting features in `v2`. + +### TypeScript and JavaScript binding files generation + +**NAPI-RS** now will generate TypeScript definition and JavaScript binding files for you. In previous version, you need [`@node-rs/helper`](https://github.com/napi-rs/node-rs/tree/main/packages/helper) to help you load the right native addon. But this package has many problem with the existing JavaScript toolchain. Like [#316](https://github.com/napi-rs/node-rs/issues/316) and [#491](https://github.com/napi-rs/node-rs/issues/491). + +In the **NAPI-RS** `v2`, we totally rewrote the JavaScript load logic and there will be no more need to use `@node-rs/helper`. You can now use packages built by **NAPI-RS** with `webpack`, `vercel` and the others JavaScript toolchains. + +### Support async fn + +With the powerful `#[napi]` macro, you can define async functions in Rust. And the `async fn` will be converted into JavaScript `async function`. + +```rust {6} filename="lib.rs" +use futures::prelude::*; +use napi::bindgen_prelude::*; +use tokio::fs; + +#[napi] +async fn read_file_async(path: String) -> Result { + fs::read(path) + .map(|r| match r { + Ok(content) => Ok(content.into()), + Err(e) => Err(Error::new( + Status::GenericFailure, + format!("failed to read file, {}", e), + )), + }) + .await +} +``` + +⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ + +```ts filename="index.d.ts" +export function readFileAsync(path: string): Promise +``` + +### Await Promise in the Rust + +This sounds crazy, but you can do it in **NAPI-RS**! + +```rust filename="lib.rs" +use napi::bindgen_prelude::*; + +#[napi] +pub async fn async_plus_100(p: Promise) -> Result { + let v = p.await?; + Ok(v + 100) +} +``` + +```js {4} filename="test.mjs" +import { asyncPlus100 } from './index.js' + +const fx = 20 +const result = await asyncPlus100( + new Promise((resolve) => { + setTimeout(() => resolve(fx), 50) + }), +) + +console.log(result) // 120 +``` + +The JavaScript `Promise` will be converted into `Promise` struct in Rust, and `std::future::Future` trait will be implemented for it. So you can use `await` keyword in Rust on it. + +### Define `Class` with `struct` + +Like [`PyO3`](https://github.com/PyO3/pyo3/blob/main/examples/maturin-starter/src/lib.rs) and [`node-bindgen`](https://github.com/infinyon/node-bindgen#javascript-class), you can define a class in Rust with `struct` and `#[napi]` macro. + +```rust filename="lib.rs" +// A complex struct which can not be exposed into JavaScript directly. +struct QueryEngine {} + +#[napi(js_name = "QueryEngine")] +struct JsQueryEngine { + engine: QueryEngine, +} + +#[napi] +impl JsQueryEngine { + #[napi(factory)] + pub fn with_initial_count(count: u32) -> Self { + JsQueryEngine { engine: QueryEngine::with_initial_count(count) } + } + + #[napi(constructor)] + pub fn new() -> Self { + JsQueryEngine { engine: QueryEngine::new() } + } + + /// Class method + #[napi] + pub async fn query(&self, query: String) -> napi::Result { + self.engine.query(query).await + } + + #[napi(getter)] + pub fn status(&self) -> napi::Result { + self.engine.status() + } + + #[napi(setter)] + pub fn count(&mut self, count: u32) { + self.engine.count = count; + } +} +``` + +⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ + +```ts filename="index.d.ts" +export class QueryEngine { + static withInitialCount(count: number): QueryEngine + constructor() + query(query: string): Promise + get status(): number + set count(count: number) +} +``` + +See [`class`](../docs/concepts/class) for more details. + +### Rust `enum` into JavaScript `Object` + +```rust filename="lib.rs" +#[napi] +enum Kind { + Duck, + Dog, + Cat, +} +``` + +⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ + +```ts filename="index.d.ts" +export const enum Kind { + Duck, + Dog, + Cat, +} +``` + +### exports Rust `const` + +```rust filename="lib.rs" +#[napi] +pub const DEFAULT_COST: u32 = 12; +``` + +```ts filename="index.d.ts" +export const DEFAULT_COST: number +``` + +### Abortable `AsyncTask` + +```rust filename="lib.rs" +use napi::{Task, Env, Result, JsNumber, bindgen_prelude::AbortSignal}; + +struct AsyncFib { + input: u32, +} + +impl Task for AsyncFib { + type Output = u32; + type JsValue = JsNumber; + + fn compute(&mut self) -> Result { + Ok(fib(self.input)) + } + + fn resolve(&mut self, env: Env, output: u32) -> Result { + enc.create_uint32(output) + } +} + +#[napi] +fn async_fib(input: u32, signal: Option) -> AsyncTask { + AsyncTask::with_optional_signal(AsyncFib { input }, signal) +} +``` + +⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ + +```ts filename="index.d.ts" +export function asyncFib(input: number, signal?: AbortSignal | null) => Promise +``` + +⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ + +```js {6} filename="test.mjs" +import { asyncFib } from './index.js' + +const controller = new AbortController() + +asyncFib(20, controller.signal).catch((e) => { + console.error(e) // Error: AbortError +}) + +controller.abort() +``` + +See [`AsyncTask`](../docs/concepts/async-task) for more details. + +### Support export Rust `mod` as JavaScript `Object` + +```rust filename="lib.rs" +#[napi] +mod xxh3 { + use napi::bindgen_prelude::{BigInt, Buffer}; + + #[napi] + pub const ALIGNMENT: u32 = 16; + + #[napi(js_name = "xxh3_64")] + pub fn xxh64(input: Buffer) -> u64 { + let mut h: u64 = 0; + for i in input.as_ref() { + h = h.wrapping_add(*i as u64); + } + h + } +} +``` + +⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ + +```ts filename="index.d.ts" +export namespace xxh3 { + export const ALIGNMENT: number + export function xxh3_64(input: Buffer): BigInt + export function xxh128(input: Buffer): BigInt +} +``` + +## Breaking changes + +Besides the new features, `v2` also brings some breaking changes. + +### **Rust** version + +The minimal version of Rust required to use `napi` is `1.57.0` because of the new `#[napi]` macro requires [60fe8b3](https://github.com/rust-lang/rust/commit/60fe8b3a65be709fe2163b8ab438ef14209055cc). + +### `Task` trait + +The `fn resolve` and `fn reject` methods of `Task` trait now accepted `&mut self` rather thant `self`. Because we introduced a new `fn finally` method on it. + +```diff +struct BufferLength(Ref); + +impl Task for BufferLength { + type Output = usize; + type JsValue = JsNumber; + + fn compute(&mut self) -> Result { + Ok(self.0.len() + 1) + } + +- fn resolve(self, env: Env, output: Self::Output) -> Result { +- self.0.unref(env)?; ++ fn resolve(&mut self, env: Env, output: Self::Output) -> Result { + env.create_uint32(output as u32) + } + +- fn reject(self, err: Error) -> Result { +- self.0.unref(env)?; +- Err(err) +- } + ++ fn finally(&mut self, env: Env) -> Result<()> { ++ self.0.unref(env)?; ++ Ok(()) ++ } +} + +``` + +### `Property::new` + +`Property::new` now accept single `name: &str`: + +```diff +- Property::new(&env, "name) ++ Property::new("name") +``` + +## Can I upgrade now? + +Yes, `v2` beta has been tested in many projects. Including `SWC` `Prisma` and `@parcel/source-map`, and many other projects in the **NAPI-RS** ecosystem. + +## What's the next step + +**NAPI-RS** has grown to be a vast ecosystem. We are planning to add more platform support to make easier for **Developers** and end **Users** to deploy `Rust`. + +The first priority feature in the future is the `WebAssembly` support. We want to allow existing projects with **NAPI-RS** v2 able to compile into `WebAssembly` with no extra effort. (If the crates they are using supported `WebAssembly`). After that, it's easier for developers to share code between Node.js and the Browser. + +And we want to investigate the `Deno FFI` support too. See [#12577](https://github.com/denoland/deno/issues/12577#issuecomment-977570758) for the context. + +## **Thanks** + +[yiliuliuyi](https://github.com/forehalo) for initiating the `v2` alpha version. And most of the `#[napi]` macro was implemented by him. + +[Jared Palmer](https://github.com/jaredpalmer) for reviewing the full documentation and the blog. + +[`node-bindgen`](https://github.com/infinyon/node-bindgen) [`neon`](https://github.com/neon-bindings/neon) and [`wasm-bindgen`](https://github.com/rustwasm/wasm-bindgen) inspiring many of API designs in the `v2`. + +import { Callout } from 'nextra/components' + + + Special thanks to my wife. Without the weekends she sacrificed, I probably + wouldn't even know how to Rust! + + +### Contributors ✨ + +Thanks goes to these wonderful people ✨: + + diff --git a/pages/pt-BR/blog/freebsd-actions-update.mdx b/pages/pt-BR/blog/freebsd-actions-update.mdx new file mode 100644 index 00000000..75495383 --- /dev/null +++ b/pages/pt-BR/blog/freebsd-actions-update.mdx @@ -0,0 +1,63 @@ +# FreeBSD Actions update + +> 📅 2023/11/01 + +Recently, the GitHub Actions `vmactions/freebsd-vm` that we have been using to build FreeBSD x64 binaries is not working properly on our new CI system. We suggest that all projects requiring the compilation of FreeBSD x64 binaries migrate to `cross-platform-actions/action`. + +This is how you can migrate your project: + +```diff +- uses: vmactions/freebsd-vm@v0 ++ uses: cross-platform-actions/action@v0.21.0 + env: + DEBUG: napi:* +- RUSTUP_HOME: /usr/local/rustup +- CARGO_HOME: /usr/local/cargo + RUSTUP_IO_THREADS: 1 + with: +- envs: DEBUG RUSTUP_HOME CARGO_HOME RUSTUP_IO_THREADS +- usesh: true +- mem: 3000 ++ operating_system: freebsd ++ version: '13.2' ++ memory: 13G ++ cpu_count: 3 ++ environment_variables: 'DEBUG RUSTUP_IO_THREADS' ++ shell: bash +- prepare: | +- pkg install -y -f curl node libnghttp2 npm +- npm install -g yarn --ignore-scripts +- curl https://sh.rustup.rs -sSf --output rustup.sh +- sh rustup.sh -y --profile minimal --default-toolchain beta +- export PATH="/usr/local/cargo/bin:$PATH" +- echo "~~~~ rustc --version ~~~~" +- rustc --version +- echo "~~~~ node -v ~~~~" +- node -v +- echo "~~~~ yarn --version ~~~~" +- yarn --version + run: ++ sudo pkg install -y -f curl node libnghttp2 npm ++ sudo npm install -g yarn --ignore-scripts ++ curl https://sh.rustup.rs -sSf --output rustup.sh ++ sh rustup.sh -y --profile minimal --default-toolchain beta ++ source "$HOME/.cargo/env" ++ echo "~~~~ rustc --version ~~~~" ++ rustc --version ++ echo "~~~~ node -v ~~~~" ++ node -v ++ echo "~~~~ yarn --version ~~~~" ++ yarn --version ++ pwd ++ ls -lah ++ whoami ++ env ++ freebsd-version ++ yarn install ++ yarn build ++ rm -rf node_modules ++ rm -rf target ++ rm -rf .yarn/cache +``` + +Here is a pull request that you can refer to as well: https://github.com/napi-rs/package-template/pull/343 diff --git a/pages/pt-BR/blog/github-actions-update-2022-07.mdx b/pages/pt-BR/blog/github-actions-update-2022-07.mdx new file mode 100644 index 00000000..5312e55e --- /dev/null +++ b/pages/pt-BR/blog/github-actions-update-2022-07.mdx @@ -0,0 +1,60 @@ +# GitHub Actions update + +> 📅 2022/07/22 + +There are two big changes that happened in GitHub Actions: + +## Android NDK + +Android NDK **22** on GitHub Actions was replaced in favor of **24**, version **23** will be set as the default one: https://github.com/actions/virtual-environments/issues/5595. + +And Android ndk-bundle along with old NDK versions will be deprecated: https://github.com/actions/virtual-environments/issues/5879. The `ANDROID_NDK_HOME` doesn't exist anymore, you need to replace it to `ANDROID_NDK_LATEST_HOME` cross your project. + +For NAPI-RS projects, there may some issues with the new NDK: + +1. The `arm-linux-androideabi-strip` and `aarch64-linux-android-strip` don't exist anymore, we need to use `llvm-strip` to replace them in pipeline. So if your pipeline failed because the `arm-linux-androideabi-strip` or `aarch64-linux-android-strip` doesn't exist, please replace them to `llvm-strip` instead: + +```diff +- ${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/arm-linux-androideabi-strip *.node ++ ${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip *.node +``` + +```diff +- ${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-androideabi-strip *.node ++ ${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip *.node +``` + +2. The `arm-linux-androideabi-ar` and `aarch64-linux-androideabi-ar` doesn't exist on NDK bin path anymore, your build may failed with **_error occurred: Failed to find tool. Is `arm-linux-androideabi-ar` installed?_** or **_error occurred: Failed to find tool. Is `aarch64-linux-androideabi-ar` installed?_**. You need to export `AR` environment variable to point to the correct `ar` path: + +```diff + export CXX="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang++" ++ export AR="${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar" + export PATH="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin:${PATH}" +``` + +```diff + export CXX="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-androideabi24-clang++" ++ export AR="${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar" + export PATH="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin:${PATH}" +``` + +## macOS 10.15 is being deprecated + +https://github.blog/changelog/2022-07-20-github-actions-the-macos-10-15-actions-runner-image-is-being-deprecated-and-will-be-removed-by-8-30-22/ + +This does not affect the macOS builds, but it will make the `freebsd-x64` pipeline fail. You can easily fix it by upgrading the `vmactions/freebsd-vm`: + +```diff + build-freebsd: +- runs-on: macos-10.15 ++ runs-on: macos-12 + name: Build FreeBSD + steps: + - uses: actions/checkout@v3 + - name: Build + id: build +- uses: vmactions/freebsd-vm@v0.1.6 ++ uses: vmactions/freebsd-vm@v0 +``` + +Happy hacking :) diff --git a/pages/pt-BR/changelog/_meta.ts b/pages/pt-BR/changelog/_meta.ts new file mode 100644 index 00000000..0bdc92f0 --- /dev/null +++ b/pages/pt-BR/changelog/_meta.ts @@ -0,0 +1,7 @@ +export default { + napi: 'napi', + napi_derive: 'napi-derive', + napi_sys: 'napi-sys', + napi_build: 'napi-build', + 'napi-cli': '@napi-rs/cli', +} diff --git a/pages/pt-BR/changelog/napi-cli.mdx b/pages/pt-BR/changelog/napi-cli.mdx new file mode 100644 index 00000000..cc0eb3f0 --- /dev/null +++ b/pages/pt-BR/changelog/napi-cli.mdx @@ -0,0 +1,16 @@ +--- +title: '@napi-rs/cli' +description: napi cli changelog. +--- + +import { RemoteContent } from 'nextra/components' + +import { getChangelog } from '@/components/changelog-generator' + +# @napi-rs/cli + +export const getStaticProps = async () => { + return getChangelog('@napi-rs/cli') +} + + diff --git a/pages/pt-BR/changelog/napi.mdx b/pages/pt-BR/changelog/napi.mdx new file mode 100644 index 00000000..d78d8810 --- /dev/null +++ b/pages/pt-BR/changelog/napi.mdx @@ -0,0 +1,15 @@ +--- +description: Changelog for napi crate https://crates.io/crates/napi +--- + +import { RemoteContent } from 'nextra/components' + +import { getChangelog } from '@/components/changelog-generator' + +# napi + +export const getStaticProps = async () => { + return getChangelog('napi') +} + + diff --git a/pages/pt-BR/changelog/napi_build.mdx b/pages/pt-BR/changelog/napi_build.mdx new file mode 100644 index 00000000..6e1e8b17 --- /dev/null +++ b/pages/pt-BR/changelog/napi_build.mdx @@ -0,0 +1,15 @@ +--- +description: Changelog for napi-build crate https://crates.io/crates/napi-build +--- + +import { RemoteContent } from 'nextra/components' + +import { getChangelog } from '@/components/changelog-generator' + +# napi-build + +export const getStaticProps = async () => { + return getChangelog('napi-build') +} + + diff --git a/pages/pt-BR/changelog/napi_derive.mdx b/pages/pt-BR/changelog/napi_derive.mdx new file mode 100644 index 00000000..b81e8325 --- /dev/null +++ b/pages/pt-BR/changelog/napi_derive.mdx @@ -0,0 +1,15 @@ +--- +description: Changelog for napi crate https://crates.io/crates/napi-derive +--- + +import { RemoteContent } from 'nextra/components' + +import { getChangelog } from '@/components/changelog-generator' + +# napi-derive + +export const getStaticProps = async () => { + return getChangelog('napi-derive') +} + + diff --git a/pages/pt-BR/changelog/napi_sys.mdx b/pages/pt-BR/changelog/napi_sys.mdx new file mode 100644 index 00000000..8156e26b --- /dev/null +++ b/pages/pt-BR/changelog/napi_sys.mdx @@ -0,0 +1,15 @@ +--- +description: Changelog for napi-sys crate https://crates.io/crates/napi-sys +--- + +import { RemoteContent } from 'nextra/components' + +import { getChangelog } from '@/components/changelog-generator' + +# napi-sys + +export const getStaticProps = async () => { + return getChangelog('napi-sys') +} + + diff --git a/pages/pt-BR/docs/_meta.ts b/pages/pt-BR/docs/_meta.ts new file mode 100644 index 00000000..00e31662 --- /dev/null +++ b/pages/pt-BR/docs/_meta.ts @@ -0,0 +1,10 @@ +export default { + introduction: 'Introdução', + concepts: 'Conceitos', + 'compat-mode': 'Modo de compatibilidade', + cli: 'CLI', + 'deep-dive': 'Aprofundamento', + 'cross-build': 'Compilação cruzada', + ecosystem: 'Ecossistema', + more: 'Mais', +} diff --git a/pages/pt-BR/docs/cli/_meta.ts b/pages/pt-BR/docs/cli/_meta.ts new file mode 100644 index 00000000..eeb5c2dc --- /dev/null +++ b/pages/pt-BR/docs/cli/_meta.ts @@ -0,0 +1,6 @@ +export default { + build: 'Build', + artifacts: 'Artifacts', + 'pre-publish': 'Prepublish', + 'napi-config': 'NAPI Config', +} diff --git a/pages/docs/cli/artifacts.pt-BR.mdx b/pages/pt-BR/docs/cli/artifacts.mdx similarity index 98% rename from pages/docs/cli/artifacts.pt-BR.mdx rename to pages/pt-BR/docs/cli/artifacts.mdx index 31ef1558..30b3b19c 100644 --- a/pages/docs/cli/artifacts.pt-BR.mdx +++ b/pages/pt-BR/docs/cli/artifacts.mdx @@ -4,8 +4,8 @@ description: napi artifacts command in @napi-rs/cli. # Artifacts -import { Callout } from 'nextra-theme-docs' -import { Green } from '../../../components/chalk' +import { Callout } from 'nextra/components' +import { Green } from '@/components/chalk' Gerenciamento de [artifacts](https://docs.github.com/en/actions/advanced-guides/storing-workflow-data-as-artifacts) do GitHub Actions. diff --git a/pages/docs/cli/build.pt-BR.mdx b/pages/pt-BR/docs/cli/build.mdx similarity index 99% rename from pages/docs/cli/build.pt-BR.mdx rename to pages/pt-BR/docs/cli/build.mdx index 1573b94e..a3e4b938 100644 --- a/pages/docs/cli/build.pt-BR.mdx +++ b/pages/pt-BR/docs/cli/build.mdx @@ -4,7 +4,7 @@ description: napi build command in @napi-rs/cli. # Build -import { Green, Rust, Warning } from '../../../components/chalk' +import { Green, Rust, Warning } from '@/components/chalk' ## Flags list diff --git a/pages/docs/cli/napi-config.pt-BR.mdx b/pages/pt-BR/docs/cli/napi-config.mdx similarity index 96% rename from pages/docs/cli/napi-config.pt-BR.mdx rename to pages/pt-BR/docs/cli/napi-config.mdx index 27a5b3b1..f538620b 100644 --- a/pages/docs/cli/napi-config.pt-BR.mdx +++ b/pages/pt-BR/docs/cli/napi-config.mdx @@ -4,11 +4,11 @@ description: Config schema of NAPI-RS. # NAPI Config -import { Green } from '../../../components/chalk' +import { Green } from '@/components/chalk' O esquema de configuração do **NAPI-RS**. -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' Todos os campos em `napi` são opcionais. diff --git a/pages/docs/cli/pre-publish.pt-BR.mdx b/pages/pt-BR/docs/cli/pre-publish.mdx similarity index 97% rename from pages/docs/cli/pre-publish.pt-BR.mdx rename to pages/pt-BR/docs/cli/pre-publish.mdx index 2082fede..6665f0d4 100644 --- a/pages/docs/cli/pre-publish.pt-BR.mdx +++ b/pages/pt-BR/docs/cli/pre-publish.mdx @@ -4,11 +4,11 @@ description: napi prepublish command in @napi-rs/cli. # Prepublish -import { Green, Warning } from '../../../components/chalk' +import { Green, Warning } from '@/components/chalk' Rodando algumas preparações para publicação de pacotes **NAPI-RS**. -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' Este comando geralmente é usado nos scripts de ciclo de vida `prepublishOnly` diff --git a/pages/pt-BR/docs/compat-mode/_meta.ts b/pages/pt-BR/docs/compat-mode/_meta.ts new file mode 100644 index 00000000..50dda0c4 --- /dev/null +++ b/pages/pt-BR/docs/compat-mode/_meta.ts @@ -0,0 +1,4 @@ +export default { + concepts: 'Conceitos', + recipes: 'Recipes', +} diff --git a/pages/pt-BR/docs/compat-mode/concepts/_meta.ts b/pages/pt-BR/docs/compat-mode/concepts/_meta.ts new file mode 100644 index 00000000..91e45f98 --- /dev/null +++ b/pages/pt-BR/docs/compat-mode/concepts/_meta.ts @@ -0,0 +1,8 @@ +export default { + env: 'Env', + 'js-values': 'JsValue', + ref: 'Reference', + 'thread-safe-function': 'Thread safe function', + tokio: 'Tokio', + wrap: 'Wrap native object', +} diff --git a/pages/docs/compat-mode/concepts/env.pt-BR.mdx b/pages/pt-BR/docs/compat-mode/concepts/env.mdx similarity index 100% rename from pages/docs/compat-mode/concepts/env.pt-BR.mdx rename to pages/pt-BR/docs/compat-mode/concepts/env.mdx diff --git a/pages/docs/compat-mode/concepts/js-values.pt-BR.mdx b/pages/pt-BR/docs/compat-mode/concepts/js-values.mdx similarity index 100% rename from pages/docs/compat-mode/concepts/js-values.pt-BR.mdx rename to pages/pt-BR/docs/compat-mode/concepts/js-values.mdx diff --git a/pages/docs/compat-mode/concepts/ref.pt-BR.mdx b/pages/pt-BR/docs/compat-mode/concepts/ref.mdx similarity index 100% rename from pages/docs/compat-mode/concepts/ref.pt-BR.mdx rename to pages/pt-BR/docs/compat-mode/concepts/ref.mdx diff --git a/pages/docs/compat-mode/concepts/thread-safe-function.pt-BR.mdx b/pages/pt-BR/docs/compat-mode/concepts/thread-safe-function.mdx similarity index 100% rename from pages/docs/compat-mode/concepts/thread-safe-function.pt-BR.mdx rename to pages/pt-BR/docs/compat-mode/concepts/thread-safe-function.mdx diff --git a/pages/docs/compat-mode/concepts/tokio.pt-BR.mdx b/pages/pt-BR/docs/compat-mode/concepts/tokio.mdx similarity index 100% rename from pages/docs/compat-mode/concepts/tokio.pt-BR.mdx rename to pages/pt-BR/docs/compat-mode/concepts/tokio.mdx diff --git a/pages/docs/compat-mode/concepts/wrap.pt-BR.mdx b/pages/pt-BR/docs/compat-mode/concepts/wrap.mdx similarity index 100% rename from pages/docs/compat-mode/concepts/wrap.pt-BR.mdx rename to pages/pt-BR/docs/compat-mode/concepts/wrap.mdx diff --git a/pages/pt-BR/docs/compat-mode/recipes/_meta.ts b/pages/pt-BR/docs/compat-mode/recipes/_meta.ts new file mode 100644 index 00000000..9c3e6b93 --- /dev/null +++ b/pages/pt-BR/docs/compat-mode/recipes/_meta.ts @@ -0,0 +1,5 @@ +export default { + 'call-context': 'CallContext', + 'define-class': 'Definindo Classe', + 'registering-module': 'Registrando Módulo', +} diff --git a/pages/docs/compat-mode/recipes/call-context.pt-BR.mdx b/pages/pt-BR/docs/compat-mode/recipes/call-context.mdx similarity index 100% rename from pages/docs/compat-mode/recipes/call-context.pt-BR.mdx rename to pages/pt-BR/docs/compat-mode/recipes/call-context.mdx diff --git a/pages/docs/compat-mode/recipes/define-class.pt-BR.mdx b/pages/pt-BR/docs/compat-mode/recipes/define-class.mdx similarity index 100% rename from pages/docs/compat-mode/recipes/define-class.pt-BR.mdx rename to pages/pt-BR/docs/compat-mode/recipes/define-class.mdx diff --git a/pages/docs/compat-mode/recipes/registering-module.pt-BR.mdx b/pages/pt-BR/docs/compat-mode/recipes/registering-module.mdx similarity index 100% rename from pages/docs/compat-mode/recipes/registering-module.pt-BR.mdx rename to pages/pt-BR/docs/compat-mode/recipes/registering-module.mdx diff --git a/pages/docs/concepts/_meta.pt-BR.json b/pages/pt-BR/docs/concepts/_meta.ts similarity index 96% rename from pages/docs/concepts/_meta.pt-BR.json rename to pages/pt-BR/docs/concepts/_meta.ts index de14dd7d..bb5d977a 100644 --- a/pages/docs/concepts/_meta.pt-BR.json +++ b/pages/pt-BR/docs/concepts/_meta.ts @@ -1,4 +1,4 @@ -{ +export default { "exports": "Exports", "naming-conventions": "Naming conventions", "values": "Values", diff --git a/pages/docs/concepts/async-fn.pt-BR.mdx b/pages/pt-BR/docs/concepts/async-fn.mdx similarity index 96% rename from pages/docs/concepts/async-fn.pt-BR.mdx rename to pages/pt-BR/docs/concepts/async-fn.mdx index 76518d85..16082511 100644 --- a/pages/docs/concepts/async-fn.pt-BR.mdx +++ b/pages/pt-BR/docs/concepts/async-fn.mdx @@ -2,7 +2,7 @@ description: Run a Rust async fn with the tokio runtime. --- -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' # async fn diff --git a/pages/docs/concepts/async-task.pt-BR.mdx b/pages/pt-BR/docs/concepts/async-task.mdx similarity index 99% rename from pages/docs/concepts/async-task.pt-BR.mdx rename to pages/pt-BR/docs/concepts/async-task.mdx index 73e2ff37..8a29e186 100644 --- a/pages/docs/concepts/async-task.pt-BR.mdx +++ b/pages/pt-BR/docs/concepts/async-task.mdx @@ -37,7 +37,7 @@ impl Task for AsyncFib { Você pode notar que existem dois tipos associados no trait `Task`. O `type Output` e o `type JsValue`. `Output` é o tipo de retorno do método `compute`. `JsValue` é o tipo de retorno do método `resolve`. -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' Precisamos de `type Output` e `type JsValue` separados porque não podemos diff --git a/pages/docs/concepts/await-promise.pt-BR.mdx b/pages/pt-BR/docs/concepts/await-promise.mdx similarity index 93% rename from pages/docs/concepts/await-promise.pt-BR.mdx rename to pages/pt-BR/docs/concepts/await-promise.mdx index 7d55c225..a863503b 100644 --- a/pages/docs/concepts/await-promise.pt-BR.mdx +++ b/pages/pt-BR/docs/concepts/await-promise.mdx @@ -6,7 +6,7 @@ description: Await a JavaScript Promise in Rust. Aguardar uma `Promise` JavaScript em Rust parece loucura, mas é viável em **NAPI-RS**. -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' Aguardar uma `Promise` JavaScript requer que os recursos `tokio_rt` e `napi4` diff --git a/pages/docs/concepts/class.pt-BR.mdx b/pages/pt-BR/docs/concepts/class.mdx similarity index 99% rename from pages/docs/concepts/class.pt-BR.mdx rename to pages/pt-BR/docs/concepts/class.mdx index ff59ae1b..c81ced4c 100644 --- a/pages/docs/concepts/class.pt-BR.mdx +++ b/pages/pt-BR/docs/concepts/class.mdx @@ -4,7 +4,7 @@ title: 'Class' # Classe -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' Não há o conceito de classe em Rust. Utilizamos `struct` para representar uma diff --git a/pages/docs/concepts/enum.pt-BR.mdx b/pages/pt-BR/docs/concepts/enum.mdx similarity index 96% rename from pages/docs/concepts/enum.pt-BR.mdx rename to pages/pt-BR/docs/concepts/enum.mdx index 1549c2b4..a2498788 100644 --- a/pages/docs/concepts/enum.pt-BR.mdx +++ b/pages/pt-BR/docs/concepts/enum.mdx @@ -4,7 +4,7 @@ title: 'Enum' # Enum -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' Não há `enum` no JavaScript, e o `enum` em Rust é muito diferente do `enum` em diff --git a/pages/docs/concepts/exports.pt-BR.mdx b/pages/pt-BR/docs/concepts/exports.mdx similarity index 96% rename from pages/docs/concepts/exports.pt-BR.mdx rename to pages/pt-BR/docs/concepts/exports.mdx index f3e891fa..c78d0b0b 100644 --- a/pages/docs/concepts/exports.pt-BR.mdx +++ b/pages/pt-BR/docs/concepts/exports.mdx @@ -1,6 +1,6 @@ # Exportações -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' Ao contrário da definição de módulos no Node.js, não precisamos registrar explicitamente as exportações como `module.exports.xxx = xxx`. diff --git a/pages/docs/concepts/external.pt-BR.mdx b/pages/pt-BR/docs/concepts/external.mdx similarity index 100% rename from pages/docs/concepts/external.pt-BR.mdx rename to pages/pt-BR/docs/concepts/external.mdx diff --git a/pages/docs/concepts/function.pt-BR.md b/pages/pt-BR/docs/concepts/function.md similarity index 99% rename from pages/docs/concepts/function.pt-BR.md rename to pages/pt-BR/docs/concepts/function.md index 4a43eaad..faa700ef 100644 --- a/pages/docs/concepts/function.pt-BR.md +++ b/pages/pt-BR/docs/concepts/function.md @@ -1,4 +1,5 @@ --- +description: JavaScript function. --- # Function diff --git a/pages/docs/concepts/inject-env.pt-BR.md b/pages/pt-BR/docs/concepts/inject-env.md similarity index 100% rename from pages/docs/concepts/inject-env.pt-BR.md rename to pages/pt-BR/docs/concepts/inject-env.md diff --git a/pages/docs/concepts/inject-this.pt-BR.md b/pages/pt-BR/docs/concepts/inject-this.md similarity index 100% rename from pages/docs/concepts/inject-this.pt-BR.md rename to pages/pt-BR/docs/concepts/inject-this.md diff --git a/pages/docs/concepts/naming-conventions.pt-BR.md b/pages/pt-BR/docs/concepts/naming-conventions.md similarity index 100% rename from pages/docs/concepts/naming-conventions.pt-BR.md rename to pages/pt-BR/docs/concepts/naming-conventions.md diff --git a/pages/docs/concepts/object.pt-BR.mdx b/pages/pt-BR/docs/concepts/object.mdx similarity index 96% rename from pages/docs/concepts/object.pt-BR.mdx rename to pages/pt-BR/docs/concepts/object.mdx index 58bd8afa..61365c11 100644 --- a/pages/docs/concepts/object.pt-BR.mdx +++ b/pages/pt-BR/docs/concepts/object.mdx @@ -2,7 +2,7 @@ title: 'Object' --- -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' # Object diff --git a/pages/docs/concepts/reference.pt-BR.md b/pages/pt-BR/docs/concepts/reference.md similarity index 100% rename from pages/docs/concepts/reference.pt-BR.md rename to pages/pt-BR/docs/concepts/reference.md diff --git a/pages/docs/concepts/threadsafe-function.pt-BR.mdx b/pages/pt-BR/docs/concepts/threadsafe-function.mdx similarity index 99% rename from pages/docs/concepts/threadsafe-function.pt-BR.mdx rename to pages/pt-BR/docs/concepts/threadsafe-function.mdx index de1d818f..756a0414 100644 --- a/pages/docs/concepts/threadsafe-function.pt-BR.mdx +++ b/pages/pt-BR/docs/concepts/threadsafe-function.mdx @@ -6,7 +6,7 @@ description: Call a JavaScript callback in other threads. [`ThreadSafe Function`](https://nodejs.org/api/n-api.html#asynchronous-thread-safe-function-calls) é um conceito complexo no Node.js. Como todos sabemos, o Node.js é single-threaded, então você não pode acessar [`napi_env`](https://nodejs.org/api/n-api.html#napi_env), [`napi_value`](https://nodejs.org/api/n-api.html#napi_value), e [`napi_ref`](https://nodejs.org/api/n-api.html#napi_ref) em outra thread. -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' [`napi_env`](https://nodejs.org/api/n-api.html#napi_env), diff --git a/pages/docs/concepts/typed-array.pt-BR.mdx b/pages/pt-BR/docs/concepts/typed-array.mdx similarity index 96% rename from pages/docs/concepts/typed-array.pt-BR.mdx rename to pages/pt-BR/docs/concepts/typed-array.mdx index e4a00f59..71511eba 100644 --- a/pages/docs/concepts/typed-array.pt-BR.mdx +++ b/pages/pt-BR/docs/concepts/typed-array.mdx @@ -3,7 +3,7 @@ title: 'TypedArray' description: JavaScript TypedArray primitive. --- -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' # TypedArray diff --git a/pages/docs/concepts/types-overwrite.pt-BR.md b/pages/pt-BR/docs/concepts/types-overwrite.md similarity index 100% rename from pages/docs/concepts/types-overwrite.pt-BR.md rename to pages/pt-BR/docs/concepts/types-overwrite.md diff --git a/pages/docs/concepts/values.pt-BR.mdx b/pages/pt-BR/docs/concepts/values.mdx similarity index 99% rename from pages/docs/concepts/values.pt-BR.mdx rename to pages/pt-BR/docs/concepts/values.mdx index fe9b1675..bcae1f2a 100644 --- a/pages/docs/concepts/values.pt-BR.mdx +++ b/pages/pt-BR/docs/concepts/values.mdx @@ -124,7 +124,7 @@ export function readBuffer(file: string): Buffer Representa valores de objeto anônimo do JavaScript. -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' **Desempenho** diff --git a/pages/pt-BR/docs/cross-build/_meta.ts b/pages/pt-BR/docs/cross-build/_meta.ts new file mode 100644 index 00000000..8ebcd5e5 --- /dev/null +++ b/pages/pt-BR/docs/cross-build/_meta.ts @@ -0,0 +1,3 @@ +export default { + summary: 'Resumo', +} diff --git a/pages/docs/cross-build/summary.pt-BR.mdx b/pages/pt-BR/docs/cross-build/summary.mdx similarity index 100% rename from pages/docs/cross-build/summary.pt-BR.mdx rename to pages/pt-BR/docs/cross-build/summary.mdx diff --git a/pages/pt-BR/docs/deep-dive/_meta.ts b/pages/pt-BR/docs/deep-dive/_meta.ts new file mode 100644 index 00000000..a245abad --- /dev/null +++ b/pages/pt-BR/docs/deep-dive/_meta.ts @@ -0,0 +1,5 @@ +export default { + 'native-module': 'Módulo nativo', + history: 'História', + release: 'Release de pacotes nativos', +} diff --git a/pages/pt-BR/docs/deep-dive/hex.png b/pages/pt-BR/docs/deep-dive/hex.png new file mode 100644 index 00000000..72261989 Binary files /dev/null and b/pages/pt-BR/docs/deep-dive/hex.png differ diff --git a/pages/docs/deep-dive/history.pt-BR.mdx b/pages/pt-BR/docs/deep-dive/history.mdx similarity index 100% rename from pages/docs/deep-dive/history.pt-BR.mdx rename to pages/pt-BR/docs/deep-dive/history.mdx diff --git a/pages/docs/deep-dive/native-module.pt-BR.mdx b/pages/pt-BR/docs/deep-dive/native-module.mdx similarity index 99% rename from pages/docs/deep-dive/native-module.pt-BR.mdx rename to pages/pt-BR/docs/deep-dive/native-module.mdx index a9199df4..d2c75f6e 100644 --- a/pages/docs/deep-dive/native-module.pt-BR.mdx +++ b/pages/pt-BR/docs/deep-dive/native-module.mdx @@ -182,6 +182,9 @@ Neste capítulo, introduzimos o que é um _Node.js native addon_ e como compilá ## Referências [^1]: https://en.wikipedia.org/wiki/Magic_number_(programming) + [^2]: https://github.com/nodejs/node/blob/v6.9.4/src/node.cc#L2427-L2502 + [^3]: GYP significa _Generate Your Projects_, um sistema de compilação desenvolvido pelo Google. Para mais detalhes: https://gyp.gsrc.io. + [^4]: O arquivo de configuração do GYP geralmente tem uma extensão _.gyp, ou _.gypi. É um arquivo JSON-like. diff --git a/pages/pt-BR/docs/deep-dive/nm-flow.png b/pages/pt-BR/docs/deep-dive/nm-flow.png new file mode 100644 index 00000000..1190fe22 Binary files /dev/null and b/pages/pt-BR/docs/deep-dive/nm-flow.png differ diff --git a/pages/docs/deep-dive/release.pt-BR.mdx b/pages/pt-BR/docs/deep-dive/release.mdx similarity index 100% rename from pages/docs/deep-dive/release.pt-BR.mdx rename to pages/pt-BR/docs/deep-dive/release.mdx diff --git a/pages/pt-BR/docs/deep-dive/tree.png b/pages/pt-BR/docs/deep-dive/tree.png new file mode 100644 index 00000000..e99bf208 Binary files /dev/null and b/pages/pt-BR/docs/deep-dive/tree.png differ diff --git a/pages/pt-BR/docs/ecosystem/@napi-rs/_meta.ts b/pages/pt-BR/docs/ecosystem/@napi-rs/_meta.ts new file mode 100644 index 00000000..0fd4af0b --- /dev/null +++ b/pages/pt-BR/docs/ecosystem/@napi-rs/_meta.ts @@ -0,0 +1,4 @@ +export default { + canvas: 'skr-canvas', + pinyin: '@napi-rs/pinyin', +} diff --git a/pages/docs/ecosystem/@napi-rs/canvas.pt-BR.mdx b/pages/pt-BR/docs/ecosystem/@napi-rs/canvas.mdx similarity index 100% rename from pages/docs/ecosystem/@napi-rs/canvas.pt-BR.mdx rename to pages/pt-BR/docs/ecosystem/@napi-rs/canvas.mdx diff --git a/pages/pt-BR/docs/ecosystem/@napi-rs/draw-emoji.png b/pages/pt-BR/docs/ecosystem/@napi-rs/draw-emoji.png new file mode 100644 index 00000000..c29768fc Binary files /dev/null and b/pages/pt-BR/docs/ecosystem/@napi-rs/draw-emoji.png differ diff --git a/pages/pt-BR/docs/ecosystem/@napi-rs/overlapping-path.svg b/pages/pt-BR/docs/ecosystem/@napi-rs/overlapping-path.svg new file mode 100644 index 00000000..a4a51049 --- /dev/null +++ b/pages/pt-BR/docs/ecosystem/@napi-rs/overlapping-path.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/pages/docs/ecosystem/@napi-rs/pinyin.pt-BR.mdx b/pages/pt-BR/docs/ecosystem/@napi-rs/pinyin.mdx similarity index 100% rename from pages/docs/ecosystem/@napi-rs/pinyin.pt-BR.mdx rename to pages/pt-BR/docs/ecosystem/@napi-rs/pinyin.mdx diff --git a/pages/pt-BR/docs/ecosystem/@napi-rs/simple.png b/pages/pt-BR/docs/ecosystem/@napi-rs/simple.png new file mode 100644 index 00000000..613b1e1e Binary files /dev/null and b/pages/pt-BR/docs/ecosystem/@napi-rs/simple.png differ diff --git a/pages/pt-BR/docs/ecosystem/@napi-rs/simplify.png b/pages/pt-BR/docs/ecosystem/@napi-rs/simplify.png new file mode 100644 index 00000000..c7a2ff89 Binary files /dev/null and b/pages/pt-BR/docs/ecosystem/@napi-rs/simplify.png differ diff --git a/pages/pt-BR/docs/ecosystem/@napi-rs/tiger.png b/pages/pt-BR/docs/ecosystem/@napi-rs/tiger.png new file mode 100644 index 00000000..2682f3c4 Binary files /dev/null and b/pages/pt-BR/docs/ecosystem/@napi-rs/tiger.png differ diff --git a/pages/pt-BR/docs/ecosystem/@node-rs/_meta.ts b/pages/pt-BR/docs/ecosystem/@node-rs/_meta.ts new file mode 100644 index 00000000..e23bb9ff --- /dev/null +++ b/pages/pt-BR/docs/ecosystem/@node-rs/_meta.ts @@ -0,0 +1,6 @@ +export default { + bcrypt: '@node-rs/bcrypt', + crc32: '@node-rs/crc32', + 'deno-lint': '@node-rs/deno-lint', + jieba: '@node-rs/jieba', +} diff --git a/pages/docs/ecosystem/@node-rs/bcrypt.pt-BR.mdx b/pages/pt-BR/docs/ecosystem/@node-rs/bcrypt.mdx similarity index 100% rename from pages/docs/ecosystem/@node-rs/bcrypt.pt-BR.mdx rename to pages/pt-BR/docs/ecosystem/@node-rs/bcrypt.mdx diff --git a/pages/docs/ecosystem/@node-rs/crc32.pt-BR.mdx b/pages/pt-BR/docs/ecosystem/@node-rs/crc32.mdx similarity index 100% rename from pages/docs/ecosystem/@node-rs/crc32.pt-BR.mdx rename to pages/pt-BR/docs/ecosystem/@node-rs/crc32.mdx diff --git a/pages/docs/ecosystem/@node-rs/deno-lint.pt-BR.mdx b/pages/pt-BR/docs/ecosystem/@node-rs/deno-lint.mdx similarity index 100% rename from pages/docs/ecosystem/@node-rs/deno-lint.pt-BR.mdx rename to pages/pt-BR/docs/ecosystem/@node-rs/deno-lint.mdx diff --git a/pages/docs/ecosystem/@node-rs/jieba.pt-BR.mdx b/pages/pt-BR/docs/ecosystem/@node-rs/jieba.mdx similarity index 100% rename from pages/docs/ecosystem/@node-rs/jieba.pt-BR.mdx rename to pages/pt-BR/docs/ecosystem/@node-rs/jieba.mdx diff --git a/pages/pt-BR/docs/ecosystem/_meta.ts b/pages/pt-BR/docs/ecosystem/_meta.ts new file mode 100644 index 00000000..633da4be --- /dev/null +++ b/pages/pt-BR/docs/ecosystem/_meta.ts @@ -0,0 +1,6 @@ +export default { + snappy: 'snappy', + swc: 'swc', + '@napi-rs': '@napi-rs', + '@node-rs': '@node-rs', +} diff --git a/pages/docs/ecosystem/snappy.pt-BR.mdx b/pages/pt-BR/docs/ecosystem/snappy.mdx similarity index 100% rename from pages/docs/ecosystem/snappy.pt-BR.mdx rename to pages/pt-BR/docs/ecosystem/snappy.mdx diff --git a/pages/docs/ecosystem/swc.pt-BR.mdx b/pages/pt-BR/docs/ecosystem/swc.mdx similarity index 100% rename from pages/docs/ecosystem/swc.pt-BR.mdx rename to pages/pt-BR/docs/ecosystem/swc.mdx diff --git a/pages/pt-BR/docs/introduction/CI.png b/pages/pt-BR/docs/introduction/CI.png new file mode 100644 index 00000000..cb6cb3a3 Binary files /dev/null and b/pages/pt-BR/docs/introduction/CI.png differ diff --git a/pages/pt-BR/docs/introduction/_meta.ts b/pages/pt-BR/docs/introduction/_meta.ts new file mode 100644 index 00000000..2d5b819e --- /dev/null +++ b/pages/pt-BR/docs/introduction/_meta.ts @@ -0,0 +1,4 @@ +export default { + 'getting-started': 'Começando', + 'simple-package': 'Um pacote simples', +} diff --git a/pages/docs/introduction/getting-started.pt-BR.mdx b/pages/pt-BR/docs/introduction/getting-started.mdx similarity index 98% rename from pages/docs/introduction/getting-started.pt-BR.mdx rename to pages/pt-BR/docs/introduction/getting-started.mdx index 0a15b2fd..baa20724 100644 --- a/pages/docs/introduction/getting-started.pt-BR.mdx +++ b/pages/pt-BR/docs/introduction/getting-started.mdx @@ -5,7 +5,7 @@ description: Aprenda como começar com o napi-rs. # Começando -import Video from '../../../public/assets/napi-rs-guide.mp4' +import Video from '@/public/assets/napi-rs-guide.mp4' ## Comece com `@napi-rs/cli` diff --git a/pages/pt-BR/docs/introduction/package-template.png b/pages/pt-BR/docs/introduction/package-template.png new file mode 100644 index 00000000..dc1c27fe Binary files /dev/null and b/pages/pt-BR/docs/introduction/package-template.png differ diff --git a/pages/docs/introduction/simple-package.pt-BR.mdx b/pages/pt-BR/docs/introduction/simple-package.mdx similarity index 99% rename from pages/docs/introduction/simple-package.pt-BR.mdx rename to pages/pt-BR/docs/introduction/simple-package.mdx index 20000d44..a637a945 100644 --- a/pages/docs/introduction/simple-package.pt-BR.mdx +++ b/pages/pt-BR/docs/introduction/simple-package.mdx @@ -18,7 +18,7 @@ napi new Vamos dar ao pacote um nome maneiro **@napi-rs/cool**: -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' É recomendado usar um escopo npm para nomear seu pacote. Isso porque diff --git a/pages/pt-BR/docs/more/_meta.ts b/pages/pt-BR/docs/more/_meta.ts new file mode 100644 index 00000000..b5fdd011 --- /dev/null +++ b/pages/pt-BR/docs/more/_meta.ts @@ -0,0 +1,4 @@ +export default { + faq: 'Perguntas Frequentes', + neon: 'Compare com neon', +} diff --git a/pages/docs/more/faq.pt-BR.mdx b/pages/pt-BR/docs/more/faq.mdx similarity index 100% rename from pages/docs/more/faq.pt-BR.mdx rename to pages/pt-BR/docs/more/faq.mdx diff --git a/pages/docs/more/neon.pt-BR.mdx b/pages/pt-BR/docs/more/neon.mdx similarity index 100% rename from pages/docs/more/neon.pt-BR.mdx rename to pages/pt-BR/docs/more/neon.mdx diff --git a/pages/index.pt-BR.mdx b/pages/pt-BR/index.mdx similarity index 89% rename from pages/index.pt-BR.mdx rename to pages/pt-BR/index.mdx index 8210c1d3..a34f1e71 100644 --- a/pages/index.pt-BR.mdx +++ b/pages/pt-BR/index.mdx @@ -3,11 +3,11 @@ title: 'Início' description: 'NAPI-RS é um framework para criar addons para Node.js em Rust.' --- -import { Badges } from '../components/badges' -import { Rust } from '../components/chalk' -import { Ecosystem } from '../components/ecosystem' -import { Sponsors } from '../components/sponsors' -import { TitlePTBR } from '../components/title.pt-BR' +import { Badges } from '@/components/badges' +import { Rust } from '@/components/chalk' +import { Ecosystem } from '@/components/ecosystem' +import { Sponsors } from '@/components/sponsors' +import { TitlePTBR } from '@/components/title.pt-BR' export const getStaticProps = async () => { const sponsorsSVG = await fetch(`https://sponsors.napi.rs/sponsors.svg`).then( diff --git a/yarn.lock b/yarn.lock index 9737b405..2a34c232 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,48 +12,87 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.23.5": - version: 7.24.7 - resolution: "@babel/code-frame@npm:7.24.7" +"@antfu/install-pkg@npm:^0.4.0": + version: 0.4.1 + resolution: "@antfu/install-pkg@npm:0.4.1" dependencies: - "@babel/highlight": "npm:^7.24.7" - picocolors: "npm:^1.0.0" - checksum: 10c0/ab0af539473a9f5aeaac7047e377cb4f4edd255a81d84a76058595f8540784cc3fbe8acf73f1e073981104562490aabfb23008cd66dc677a456a4ed5390fdde6 + package-manager-detector: "npm:^0.2.0" + tinyexec: "npm:^0.3.0" + checksum: 10c0/af47a84e77f3f69077ec464e0a9e82791666693380fc8ed9867f388f5c0cd8421e2642b9deefc7d4adb7b8cfb9dd1a715b25f9a974d023b10779cad0885439ef languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-validator-identifier@npm:7.24.7" - checksum: 10c0/87ad608694c9477814093ed5b5c080c2e06d44cb1924ae8320474a74415241223cc2a725eea2640dd783ff1e3390e5f95eede978bc540e870053152e58f1d651 +"@antfu/utils@npm:^0.7.10": + version: 0.7.10 + resolution: "@antfu/utils@npm:0.7.10" + checksum: 10c0/98991f66a4752ef097280b4235b27d961a13a2c67ef8e5b716a120eb9823958e20566516711204e2bfb08f0b935814b715f49ecd79c3b9b93ce32747ac297752 languageName: node linkType: hard -"@babel/highlight@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/highlight@npm:7.24.7" +"@babel/code-frame@npm:^7.23.5": + version: 7.26.0 + resolution: "@babel/code-frame@npm:7.26.0" dependencies: - "@babel/helper-validator-identifier": "npm:^7.24.7" - chalk: "npm:^2.4.2" + "@babel/helper-validator-identifier": "npm:^7.25.9" js-tokens: "npm:^4.0.0" picocolors: "npm:^1.0.0" - checksum: 10c0/674334c571d2bb9d1c89bdd87566383f59231e16bcdcf5bb7835babdf03c9ae585ca0887a7b25bdf78f303984af028df52831c7989fecebb5101cc132da9393a + checksum: 10c0/46f7e367714be736b52ea3c01b24f47e2102e210fb83021d1c8237d8fc511b9538909e16e2fcdbb5cb6173e0794e28624309a59014e52fcfb7bde908f5284388 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-identifier@npm:7.25.9" + checksum: 10c0/4fc6f830177b7b7e887ad3277ddb3b91d81e6c4a24151540d9d1023e8dc6b1c0505f0f0628ae653601eb4388a8db45c1c14b2c07a9173837aef7e4116456259d + languageName: node + linkType: hard + +"@braintree/sanitize-url@npm:^7.0.1": + version: 7.1.0 + resolution: "@braintree/sanitize-url@npm:7.1.0" + checksum: 10c0/ff30c09ae38cf9812dd118c5af663180a2b766abd485432327ba4fef3c49ed4c42309524438a8d67961ae9dbcc220a0d350cbb5ec0512fc8791c599451686a2a languageName: node linkType: hard -"@babel/runtime@npm:^7.23.8": - version: 7.25.6 - resolution: "@babel/runtime@npm:7.25.6" +"@chevrotain/cst-dts-gen@npm:11.0.3": + version: 11.0.3 + resolution: "@chevrotain/cst-dts-gen@npm:11.0.3" dependencies: - regenerator-runtime: "npm:^0.14.0" - checksum: 10c0/d6143adf5aa1ce79ed374e33fdfd74fa975055a80bc6e479672ab1eadc4e4bfd7484444e17dd063a1d180e051f3ec62b357c7a2b817e7657687b47313158c3d2 + "@chevrotain/gast": "npm:11.0.3" + "@chevrotain/types": "npm:11.0.3" + lodash-es: "npm:4.17.21" + checksum: 10c0/9e945a0611386e4e08af34c2d0b3af36c1af08f726b58145f11310f2aeafcb2d65264c06ec65a32df6b6a65771e6a55be70580c853afe3ceb51487e506967104 languageName: node linkType: hard -"@braintree/sanitize-url@npm:^6.0.1": - version: 6.0.4 - resolution: "@braintree/sanitize-url@npm:6.0.4" - checksum: 10c0/5d7bac57f3e49931db83f65aaa4fd22f96caa323bf0c7fcf6851fdbed179a8cf29eaa5dd372d340fc51ca5f44345ea5bc0196b36c8b16179888a7c9044313420 +"@chevrotain/gast@npm:11.0.3": + version: 11.0.3 + resolution: "@chevrotain/gast@npm:11.0.3" + dependencies: + "@chevrotain/types": "npm:11.0.3" + lodash-es: "npm:4.17.21" + checksum: 10c0/54fc44d7b4a7b0323f49d957dd88ad44504922d30cb226d93b430b0e09925efe44e0726068581d777f423fabfb878a2238ed2c87b690c0c0014ebd12b6968354 + languageName: node + linkType: hard + +"@chevrotain/regexp-to-ast@npm:11.0.3": + version: 11.0.3 + resolution: "@chevrotain/regexp-to-ast@npm:11.0.3" + checksum: 10c0/6939c5c94fbfb8c559a4a37a283af5ded8e6147b184a7d7bcf5ad1404d9d663c78d81602bd8ea8458ec497358a9e1671541099c511835d0be2cad46f00c62b3f + languageName: node + linkType: hard + +"@chevrotain/types@npm:11.0.3": + version: 11.0.3 + resolution: "@chevrotain/types@npm:11.0.3" + checksum: 10c0/72fe8f0010ebef848e47faea14a88c6fdc3cdbafaef6b13df4a18c7d33249b1b675e37b05cb90a421700c7016dae7cd4187ab6b549e176a81cea434f69cd2503 + languageName: node + linkType: hard + +"@chevrotain/utils@npm:11.0.3": + version: 11.0.3 + resolution: "@chevrotain/utils@npm:11.0.3" + checksum: 10c0/b31972d1b2d444eef1499cf9b7576fc1793e8544910de33a3c18e07c270cfad88067f175d0ee63e7bc604713ebed647f8190db45cc8311852cd2d4fe2ef14068 languageName: node linkType: hard @@ -104,11 +143,11 @@ __metadata: linkType: hard "@emnapi/runtime@npm:^1.2.0": - version: 1.2.0 - resolution: "@emnapi/runtime@npm:1.2.0" + version: 1.3.1 + resolution: "@emnapi/runtime@npm:1.3.1" dependencies: tslib: "npm:^2.4.0" - checksum: 10c0/7005ff8b67724c9e61b6cd79a3decbdb2ce25d24abd4d3d187472f200ee6e573329c30264335125fb136bd813aa9cf9f4f7c9391d04b07dd1e63ce0a3427be57 + checksum: 10c0/060ffede50f1b619c15083312b80a9e62a5b0c87aa8c1b54854c49766c9d69f8d1d3d87bd963a647071263a320db41b25eaa50b74d6a80dcc763c23dbeaafd6c languageName: node linkType: hard @@ -126,16 +165,101 @@ __metadata: languageName: node linkType: hard -"@headlessui/react@npm:^1.7.17": - version: 1.7.19 - resolution: "@headlessui/react@npm:1.7.19" +"@floating-ui/core@npm:^1.6.0": + version: 1.6.8 + resolution: "@floating-ui/core@npm:1.6.8" + dependencies: + "@floating-ui/utils": "npm:^0.2.8" + checksum: 10c0/d6985462aeccae7b55a2d3f40571551c8c42bf820ae0a477fc40ef462e33edc4f3f5b7f11b100de77c9b58ecb581670c5c3f46d0af82b5e30aa185c735257eb9 + languageName: node + linkType: hard + +"@floating-ui/dom@npm:^1.0.0": + version: 1.6.11 + resolution: "@floating-ui/dom@npm:1.6.11" + dependencies: + "@floating-ui/core": "npm:^1.6.0" + "@floating-ui/utils": "npm:^0.2.8" + checksum: 10c0/02ef34a75a515543c772880338eea7b66724997bd5ec7cd58d26b50325709d46d480a306b84e7d5509d734434411a4bcf23af5680c2e461e6e6a8bf45d751df8 + languageName: node + linkType: hard + +"@floating-ui/react-dom@npm:^2.1.2": + version: 2.1.2 + resolution: "@floating-ui/react-dom@npm:2.1.2" + dependencies: + "@floating-ui/dom": "npm:^1.0.0" + peerDependencies: + react: ">=16.8.0" + react-dom: ">=16.8.0" + checksum: 10c0/e855131c74e68cab505f7f44f92cd4e2efab1c125796db3116c54c0859323adae4bf697bf292ee83ac77b9335a41ad67852193d7aeace90aa2e1c4a640cafa60 + languageName: node + linkType: hard + +"@floating-ui/react@npm:^0.26.16": + version: 0.26.25 + resolution: "@floating-ui/react@npm:0.26.25" + dependencies: + "@floating-ui/react-dom": "npm:^2.1.2" + "@floating-ui/utils": "npm:^0.2.8" + tabbable: "npm:^6.0.0" + peerDependencies: + react: ">=16.8.0" + react-dom: ">=16.8.0" + checksum: 10c0/5206b06a5963e795af2f0b0a6ac39230012263ffa38dd60158e0f0b82d43a24e6a1c005fc8556ee5fe26e6353546ffb72e54716f6bd584fdab516dc128a78995 + languageName: node + linkType: hard + +"@floating-ui/utils@npm:^0.2.8": + version: 0.2.8 + resolution: "@floating-ui/utils@npm:0.2.8" + checksum: 10c0/a8cee5f17406c900e1c3ef63e3ca89b35e7a2ed645418459a73627b93b7377477fc888081011c6cd177cac45ec2b92a6cab018c14ea140519465498dddd2d3f9 + languageName: node + linkType: hard + +"@formatjs/intl-localematcher@npm:^0.5.4": + version: 0.5.6 + resolution: "@formatjs/intl-localematcher@npm:0.5.6" + dependencies: + tslib: "npm:2" + checksum: 10c0/39fc454641b7871f4b37416a01c7851624db6f1bf6cdcd5c854dfe06b95c0ca7540ec7c803a654140fc3f1c758596a684de8054bc95c4d6c7962091c251f5671 + languageName: node + linkType: hard + +"@headlessui/react@npm:^2.1.2": + version: 2.2.0 + resolution: "@headlessui/react@npm:2.2.0" dependencies: - "@tanstack/react-virtual": "npm:^3.0.0-beta.60" - client-only: "npm:^0.0.1" + "@floating-ui/react": "npm:^0.26.16" + "@react-aria/focus": "npm:^3.17.1" + "@react-aria/interactions": "npm:^3.21.3" + "@tanstack/react-virtual": "npm:^3.8.1" peerDependencies: - react: ^16 || ^17 || ^18 - react-dom: ^16 || ^17 || ^18 - checksum: 10c0/c0ece0db6ca15092439177a5322de50b60fa5fd90354ae0f999b3e56abab0065ed54fa7b4b69994ec1bdc23adc6ae9919d7dd57f97922d0b9bb6515d27e3a7e5 + react: ^18 || ^19 || ^19.0.0-rc + react-dom: ^18 || ^19 || ^19.0.0-rc + checksum: 10c0/af64ef2868405e629f55925d06ab6723b40a9d0802c1bd91e8ae834b6d50e51e0942bcdee44f4b51ce3b82be7c23df49e93713a29486a899d0d56b7ddce78039 + languageName: node + linkType: hard + +"@iconify/types@npm:^2.0.0": + version: 2.0.0 + resolution: "@iconify/types@npm:2.0.0" + checksum: 10c0/65a3be43500c7ccacf360e136d00e1717f050b7b91da644e94370256ac66f582d59212bdb30d00788aab4fc078262e91c95b805d1808d654b72f6d2072a7e4b2 + languageName: node + linkType: hard + +"@iconify/utils@npm:^2.1.32": + version: 2.1.33 + resolution: "@iconify/utils@npm:2.1.33" + dependencies: + "@antfu/install-pkg": "npm:^0.4.0" + "@antfu/utils": "npm:^0.7.10" + "@iconify/types": "npm:^2.0.0" + debug: "npm:^4.3.6" + kolorist: "npm:^1.8.0" + local-pkg: "npm:^0.5.0" + mlly: "npm:^1.7.1" + checksum: 10c0/86faf1abee78ba75cbb7d8cdd454f7a8da11d46913a8108c4c1f49243870ef787a2ef00e574e1cfff0f70e1f7bbe4ced2ffc7436baf95bfd66e52802e187bc13 languageName: node linkType: hard @@ -328,7 +452,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.2": +"@jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": version: 0.3.5 resolution: "@jridgewell/gen-mapping@npm:0.3.5" dependencies: @@ -353,6 +477,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/source-map@npm:^0.3.3": + version: 0.3.6 + resolution: "@jridgewell/source-map@npm:0.3.6" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + checksum: 10c0/6a4ecc713ed246ff8e5bdcc1ef7c49aaa93f7463d948ba5054dda18b02dcc6a055e2828c577bcceee058f302ce1fc95595713d44f5c45e43d459f88d267f2f04 + languageName: node + linkType: hard + "@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14": version: 1.5.0 resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" @@ -370,7 +504,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.24": +"@jridgewell/trace-mapping@npm:^0.3.20, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": version: 0.3.25 resolution: "@jridgewell/trace-mapping@npm:0.3.25" dependencies: @@ -415,34 +549,9 @@ __metadata: languageName: node linkType: hard -"@mdx-js/mdx@npm:^2.2.1, @mdx-js/mdx@npm:^2.3.0": - version: 2.3.0 - resolution: "@mdx-js/mdx@npm:2.3.0" - dependencies: - "@types/estree-jsx": "npm:^1.0.0" - "@types/mdx": "npm:^2.0.0" - estree-util-build-jsx: "npm:^2.0.0" - estree-util-is-identifier-name: "npm:^2.0.0" - estree-util-to-js: "npm:^1.1.0" - estree-walker: "npm:^3.0.0" - hast-util-to-estree: "npm:^2.0.0" - markdown-extensions: "npm:^1.0.0" - periscopic: "npm:^3.0.0" - remark-mdx: "npm:^2.0.0" - remark-parse: "npm:^10.0.0" - remark-rehype: "npm:^10.0.0" - unified: "npm:^10.0.0" - unist-util-position-from-estree: "npm:^1.0.0" - unist-util-stringify-position: "npm:^3.0.0" - unist-util-visit: "npm:^4.0.0" - vfile: "npm:^5.0.0" - checksum: 10c0/719384d8e72abd3e83aa2fd3010394636e32cc0e5e286b6414427ef03121397586ce97ec816afcc4d2b22ba65939c3801a8198e04cf921dd597c0aa9fd75dbb4 - languageName: node - linkType: hard - -"@mdx-js/mdx@npm:^3.0.1": - version: 3.0.1 - resolution: "@mdx-js/mdx@npm:3.0.1" +"@mdx-js/mdx@npm:^3.0.0, @mdx-js/mdx@npm:^3.0.1": + version: 3.1.0 + resolution: "@mdx-js/mdx@npm:3.1.0" dependencies: "@types/estree": "npm:^1.0.0" "@types/estree-jsx": "npm:^1.0.0" @@ -450,14 +559,15 @@ __metadata: "@types/mdx": "npm:^2.0.0" collapse-white-space: "npm:^2.0.0" devlop: "npm:^1.0.0" - estree-util-build-jsx: "npm:^3.0.0" estree-util-is-identifier-name: "npm:^3.0.0" - estree-util-to-js: "npm:^2.0.0" + estree-util-scope: "npm:^1.0.0" estree-walker: "npm:^3.0.0" - hast-util-to-estree: "npm:^3.0.0" hast-util-to-jsx-runtime: "npm:^2.0.0" markdown-extensions: "npm:^2.0.0" - periscopic: "npm:^3.0.0" + recma-build-jsx: "npm:^1.0.0" + recma-jsx: "npm:^1.0.0" + recma-stringify: "npm:^1.0.0" + rehype-recma: "npm:^1.0.0" remark-mdx: "npm:^3.0.0" remark-parse: "npm:^11.0.0" remark-rehype: "npm:^11.0.0" @@ -467,31 +577,28 @@ __metadata: unist-util-stringify-position: "npm:^4.0.0" unist-util-visit: "npm:^5.0.0" vfile: "npm:^6.0.0" - checksum: 10c0/8cd7084f1242209bbeef81f69ea670ffffa0656dda2893bbd46b1b2b26078a57f9d993f8f82ad8ba16bc969189235140007185276d7673471827331521eae2e0 + checksum: 10c0/e586ab772dcfee2bab334d5aac54c711e6d6d550085271c38a49c629b3e3954b5f41f488060761284a5e00649d0638d6aba6c0a7c66f91db80dee0ccc304ab32 languageName: node linkType: hard -"@mdx-js/react@npm:^2.2.1, @mdx-js/react@npm:^2.3.0": - version: 2.3.0 - resolution: "@mdx-js/react@npm:2.3.0" +"@mdx-js/react@npm:^3.0.0, @mdx-js/react@npm:^3.0.1, @mdx-js/react@npm:^3.1.0": + version: 3.1.0 + resolution: "@mdx-js/react@npm:3.1.0" dependencies: "@types/mdx": "npm:^2.0.0" - "@types/react": "npm:>=16" peerDependencies: + "@types/react": ">=16" react: ">=16" - checksum: 10c0/6d647115703dbe258f7fe372499fa8c6fe17a053ff0f2a208111c9973a71ae738a0ed376770445d39194d217e00e1a015644b24f32c2f7cb4f57988de0649b15 + checksum: 10c0/381ed1211ba2b8491bf0ad9ef0d8d1badcdd114e1931d55d44019d4b827cc2752586708f9c7d2f9c3244150ed81f1f671a6ca95fae0edd5797fb47a22e06ceca languageName: node linkType: hard -"@mdx-js/react@npm:^3.0.0, @mdx-js/react@npm:^3.0.1": - version: 3.0.1 - resolution: "@mdx-js/react@npm:3.0.1" +"@mermaid-js/parser@npm:^0.3.0": + version: 0.3.0 + resolution: "@mermaid-js/parser@npm:0.3.0" dependencies: - "@types/mdx": "npm:^2.0.0" - peerDependencies: - "@types/react": ">=16" - react: ">=16" - checksum: 10c0/d210d926ef488d39ad65f04d821936b668eadcdde3b6421e94ec4200ca7ad17f17d24c5cbc543882586af9f08b10e2eea715c728ce6277487945e05c5199f532 + langium: "npm:3.0.0" + checksum: 10c0/88c08fb20256ce779fea2151500c017bffd8a970b8d2c6ead81b5ff14787877b16c75b43f503dd5365e4eb33d0b7d5a7d9fff852cff56eb67b3b6508f44576b7 languageName: node linkType: hard @@ -644,72 +751,65 @@ __metadata: languageName: node linkType: hard -"@next/env@npm:14.2.16": - version: 14.2.16 - resolution: "@next/env@npm:14.2.16" - checksum: 10c0/e9d795727bc43f171557a7a91111c9b71833840061275b5d4adf96f416febf4f02afb9dac1f4275f4a3e96a0a0db22b58fe934483e2823e76a5d3c60a563394b +"@next/env@npm:15.0.1": + version: 15.0.1 + resolution: "@next/env@npm:15.0.1" + checksum: 10c0/a5c9b24755232257b26893cbc123498b51449f24c0a88805fecb668b44651e72195176d996c8859d6bcceaadbe158d966b43a60095aa14a86f95b93cd5ef4521 languageName: node linkType: hard -"@next/swc-darwin-arm64@npm:14.2.16": - version: 14.2.16 - resolution: "@next/swc-darwin-arm64@npm:14.2.16" +"@next/swc-darwin-arm64@npm:15.0.1": + version: 15.0.1 + resolution: "@next/swc-darwin-arm64@npm:15.0.1" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@next/swc-darwin-x64@npm:14.2.16": - version: 14.2.16 - resolution: "@next/swc-darwin-x64@npm:14.2.16" +"@next/swc-darwin-x64@npm:15.0.1": + version: 15.0.1 + resolution: "@next/swc-darwin-x64@npm:15.0.1" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@next/swc-linux-arm64-gnu@npm:14.2.16": - version: 14.2.16 - resolution: "@next/swc-linux-arm64-gnu@npm:14.2.16" +"@next/swc-linux-arm64-gnu@npm:15.0.1": + version: 15.0.1 + resolution: "@next/swc-linux-arm64-gnu@npm:15.0.1" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@next/swc-linux-arm64-musl@npm:14.2.16": - version: 14.2.16 - resolution: "@next/swc-linux-arm64-musl@npm:14.2.16" +"@next/swc-linux-arm64-musl@npm:15.0.1": + version: 15.0.1 + resolution: "@next/swc-linux-arm64-musl@npm:15.0.1" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@next/swc-linux-x64-gnu@npm:14.2.16": - version: 14.2.16 - resolution: "@next/swc-linux-x64-gnu@npm:14.2.16" +"@next/swc-linux-x64-gnu@npm:15.0.1": + version: 15.0.1 + resolution: "@next/swc-linux-x64-gnu@npm:15.0.1" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@next/swc-linux-x64-musl@npm:14.2.16": - version: 14.2.16 - resolution: "@next/swc-linux-x64-musl@npm:14.2.16" +"@next/swc-linux-x64-musl@npm:15.0.1": + version: 15.0.1 + resolution: "@next/swc-linux-x64-musl@npm:15.0.1" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@next/swc-win32-arm64-msvc@npm:14.2.16": - version: 14.2.16 - resolution: "@next/swc-win32-arm64-msvc@npm:14.2.16" +"@next/swc-win32-arm64-msvc@npm:15.0.1": + version: 15.0.1 + resolution: "@next/swc-win32-arm64-msvc@npm:15.0.1" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@next/swc-win32-ia32-msvc@npm:14.2.16": - version: 14.2.16 - resolution: "@next/swc-win32-ia32-msvc@npm:14.2.16" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@next/swc-win32-x64-msvc@npm:14.2.16": - version: 14.2.16 - resolution: "@next/swc-win32-x64-msvc@npm:14.2.16" +"@next/swc-win32-x64-msvc@npm:15.0.1": + version: 15.0.1 + resolution: "@next/swc-win32-x64-msvc@npm:15.0.1" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -827,7 +927,7 @@ __metadata: languageName: node linkType: hard -"@perfsee/webpack@npm:^1.10.0": +"@perfsee/webpack@npm:^1.13.0": version: 1.13.0 resolution: "@perfsee/webpack@npm:1.13.0" dependencies: @@ -848,10 +948,78 @@ __metadata: languageName: node linkType: hard -"@popperjs/core@npm:^2.11.8": - version: 2.11.8 - resolution: "@popperjs/core@npm:2.11.8" - checksum: 10c0/4681e682abc006d25eb380d0cf3efc7557043f53b6aea7a5057d0d1e7df849a00e281cd8ea79c902a35a414d7919621fc2ba293ecec05f413598e0b23d5a1e63 +"@react-aria/focus@npm:^3.17.1": + version: 3.18.4 + resolution: "@react-aria/focus@npm:3.18.4" + dependencies: + "@react-aria/interactions": "npm:^3.22.4" + "@react-aria/utils": "npm:^3.25.3" + "@react-types/shared": "npm:^3.25.0" + "@swc/helpers": "npm:^0.5.0" + clsx: "npm:^2.0.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + checksum: 10c0/141f8ef80060c5b58384af4af9446c0792618671e9f963942c3edc29bb15b7eb0ebb62cbe118135c7379c2732e86071aa7d7c890903a0ae411be07f2ec854e6a + languageName: node + linkType: hard + +"@react-aria/interactions@npm:^3.21.3, @react-aria/interactions@npm:^3.22.4": + version: 3.22.4 + resolution: "@react-aria/interactions@npm:3.22.4" + dependencies: + "@react-aria/ssr": "npm:^3.9.6" + "@react-aria/utils": "npm:^3.25.3" + "@react-types/shared": "npm:^3.25.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + checksum: 10c0/8455a68540a4085b71ed034cad5c349a7e756e44cd30d69d340d7f7a66ce1886882021fbcc8049a5d8aeba54b47cd2ca49a7bc4e6910aab2d13b41703d55c7a5 + languageName: node + linkType: hard + +"@react-aria/ssr@npm:^3.9.6": + version: 3.9.6 + resolution: "@react-aria/ssr@npm:3.9.6" + dependencies: + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + checksum: 10c0/be52f2909035e093d3f72cccde15b66b4eef2dc30c71dac46a1ea43d3847dace1a709114640bfa3e9aa72ba716749635fb72116f4da16f7d80248ca348146456 + languageName: node + linkType: hard + +"@react-aria/utils@npm:^3.25.3": + version: 3.25.3 + resolution: "@react-aria/utils@npm:3.25.3" + dependencies: + "@react-aria/ssr": "npm:^3.9.6" + "@react-stately/utils": "npm:^3.10.4" + "@react-types/shared": "npm:^3.25.0" + "@swc/helpers": "npm:^0.5.0" + clsx: "npm:^2.0.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + checksum: 10c0/dc86ea48c24232f5c51d0b5317d947c4ccf01a8afb3bdc89cb880a7b0a695a04c8a7c615fb190664f4f3c7da8669ab2bd2f7cdfb2861339f5816cbd600249a84 + languageName: node + linkType: hard + +"@react-stately/utils@npm:^3.10.4": + version: 3.10.4 + resolution: "@react-stately/utils@npm:3.10.4" + dependencies: + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + checksum: 10c0/875c11424fadf4419caceeee13e5bfdee2b0c330fe0220c0ea9d68d570cc9a34525f2f124d977e519b397a738cd2f8e36b7b03a046e3e7da99460e99282977a4 + languageName: node + linkType: hard + +"@react-types/shared@npm:^3.25.0": + version: 3.25.0 + resolution: "@react-types/shared@npm:3.25.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + checksum: 10c0/d168f6b404c345928ef8ead94f0cecd3831d8f6df708dbe897ac62d566949a0931c3b0d95ef6dd02bc5af05b183781b531e6f041ffd1d320bc2cab7697fd27d0 languageName: node linkType: hard @@ -865,6 +1033,69 @@ __metadata: languageName: node linkType: hard +"@shikijs/core@npm:1.22.1": + version: 1.22.1 + resolution: "@shikijs/core@npm:1.22.1" + dependencies: + "@shikijs/engine-javascript": "npm:1.22.1" + "@shikijs/engine-oniguruma": "npm:1.22.1" + "@shikijs/types": "npm:1.22.1" + "@shikijs/vscode-textmate": "npm:^9.3.0" + "@types/hast": "npm:^3.0.4" + hast-util-to-html: "npm:^9.0.3" + checksum: 10c0/678ca71bad153aec5280d4e6ae8db1a424a327f9cee3afe9e79f8f524d5888a4346d532ea602970a506fe0dfa057365f3b0acc698ff717367a71ee7cca64f1e9 + languageName: node + linkType: hard + +"@shikijs/engine-javascript@npm:1.22.1": + version: 1.22.1 + resolution: "@shikijs/engine-javascript@npm:1.22.1" + dependencies: + "@shikijs/types": "npm:1.22.1" + "@shikijs/vscode-textmate": "npm:^9.3.0" + oniguruma-to-js: "npm:0.4.3" + checksum: 10c0/6bc16d4dfa829d8cb0e236b7a0a6fdd3f8c75493ff6ce08f3f677155fbce7ab4492f3e9695cd19ae638585999c41b3a4f0834b2f26c91cce70cc1b3c4f2572b9 + languageName: node + linkType: hard + +"@shikijs/engine-oniguruma@npm:1.22.1": + version: 1.22.1 + resolution: "@shikijs/engine-oniguruma@npm:1.22.1" + dependencies: + "@shikijs/types": "npm:1.22.1" + "@shikijs/vscode-textmate": "npm:^9.3.0" + checksum: 10c0/f29d4af5dc820e83dccc5303c6ed29c28aae95350a989680321927ef6071c8b8a134161e258c4104e5c6cdb0d9caeec62da12b33edb999e8fc0efc1ed629729b + languageName: node + linkType: hard + +"@shikijs/twoslash@npm:^1.0.0": + version: 1.22.1 + resolution: "@shikijs/twoslash@npm:1.22.1" + dependencies: + "@shikijs/core": "npm:1.22.1" + "@shikijs/types": "npm:1.22.1" + twoslash: "npm:^0.2.12" + checksum: 10c0/b78f810d42c819227aa622ed52be272188c475b6c8a6f926dd9b6329db94d269dedb75752fbf39ab57dcf8ba09f4566d528da6ca242808cb25ae935e607c78d7 + languageName: node + linkType: hard + +"@shikijs/types@npm:1.22.1": + version: 1.22.1 + resolution: "@shikijs/types@npm:1.22.1" + dependencies: + "@shikijs/vscode-textmate": "npm:^9.3.0" + "@types/hast": "npm:^3.0.4" + checksum: 10c0/85e31422c22b3c99f339114fb982dd276bde4355c8641d4b17551cad5815493121876f4f221b1dae9971ce14901cb58a0c529ae0d55610cecba774bd6ffbe9cd + languageName: node + linkType: hard + +"@shikijs/vscode-textmate@npm:^9.3.0": + version: 9.3.0 + resolution: "@shikijs/vscode-textmate@npm:9.3.0" + checksum: 10c0/6aa80798b7d7f8be8029bb397ce1b9b75c0d0963d6aa444b9ae165595ceee931cf3767ca1681ba71a6e27484eeccab584bd38db3420da477f1a8d745040b1b1f + languageName: node + linkType: hard + "@sinclair/typebox@npm:0.25.24": version: 0.25.24 resolution: "@sinclair/typebox@npm:0.25.24" @@ -872,61 +1103,60 @@ __metadata: languageName: node linkType: hard -"@swc/counter@npm:^0.1.3": +"@swc/counter@npm:0.1.3": version: 0.1.3 resolution: "@swc/counter@npm:0.1.3" checksum: 10c0/8424f60f6bf8694cfd2a9bca45845bce29f26105cda8cf19cdb9fd3e78dc6338699e4db77a89ae449260bafa1cc6bec307e81e7fb96dbf7dcfce0eea55151356 languageName: node linkType: hard -"@swc/helpers@npm:0.5.5": - version: 0.5.5 - resolution: "@swc/helpers@npm:0.5.5" +"@swc/helpers@npm:0.5.13, @swc/helpers@npm:^0.5.0": + version: 0.5.13 + resolution: "@swc/helpers@npm:0.5.13" dependencies: - "@swc/counter": "npm:^0.1.3" tslib: "npm:^2.4.0" - checksum: 10c0/21a9b9cfe7e00865f9c9f3eb4c1cc5b397143464f7abee76a2c5366e591e06b0155b5aac93fe8269ef8d548df253f6fd931e9ddfc0fd12efd405f90f45506e7d + checksum: 10c0/b9df578401fc62405da9a6c31e79e447a2fd90f68b25b1daee12f2caf2821991bb89106f0397bc1acb4c4d84a8ce079d04b60b65f534496952e3bf8c9a52f40f languageName: node linkType: hard -"@tanstack/react-virtual@npm:^3.0.0-beta.60": - version: 3.10.7 - resolution: "@tanstack/react-virtual@npm:3.10.7" +"@tanstack/react-virtual@npm:^3.8.1": + version: 3.10.8 + resolution: "@tanstack/react-virtual@npm:3.10.8" dependencies: - "@tanstack/virtual-core": "npm:3.10.7" + "@tanstack/virtual-core": "npm:3.10.8" peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/620a4a4aa779468652858b22af38f862771e582ad2f7426d0ecf2f81c2ff4da8243f819a6ad7f80f964697df7bcddf577013da6232b756181426903252daeec4 + checksum: 10c0/b7aec88ef48f604d3e7245b9996ba42f06e6ee2c1a45146cb96814cb3873a4c888bf86d26d10284c847a5ed97e16dc9430c380387abc1231c2e43c00f6ebadff languageName: node linkType: hard -"@tanstack/virtual-core@npm:3.10.7": - version: 3.10.7 - resolution: "@tanstack/virtual-core@npm:3.10.7" - checksum: 10c0/dd00c8444b53963c4f9962024a08256867b0b03f1e2fc1b2318ca514dd7c2eb70469992f8f0f49ed260f2284fac8f7b320dcbccf32dc1cf92d67fc072c072653 +"@tanstack/virtual-core@npm:3.10.8": + version: 3.10.8 + resolution: "@tanstack/virtual-core@npm:3.10.8" + checksum: 10c0/ddb97cd03d84b343b38a2c14d85e33c788f4af622fccc0fdf997caf4e83e47e8f67b099b854c7dc4337d7662f647625ab3247cd8aa1bc9d4dda701bda83245f6 languageName: node linkType: hard -"@theguild/remark-mermaid@npm:^0.0.5": - version: 0.0.5 - resolution: "@theguild/remark-mermaid@npm:0.0.5" +"@theguild/remark-mermaid@npm:^0.1.3": + version: 0.1.3 + resolution: "@theguild/remark-mermaid@npm:0.1.3" dependencies: - mermaid: "npm:^10.2.2" + mermaid: "npm:^11.0.0" unist-util-visit: "npm:^5.0.0" peerDependencies: react: ^18.2.0 - checksum: 10c0/3471a32a87d50f7eb699f15ff181f9a3698209951ef0fab1e928ea391275105286b0391e46cca4dd22d30dcab934e5c7eb6573c341f5d8543ca5bcb2f60cc916 + checksum: 10c0/9a257fe36b750ff183e5040678384dd9069b0c235c4df797298339f92621183e62f54646ea1ca1948fe7c69c352b36f211b28451e86731db505c01c91398a58b languageName: node linkType: hard -"@theguild/remark-npm2yarn@npm:^0.2.0": - version: 0.2.1 - resolution: "@theguild/remark-npm2yarn@npm:0.2.1" +"@theguild/remark-npm2yarn@npm:^0.3.2": + version: 0.3.3 + resolution: "@theguild/remark-npm2yarn@npm:0.3.3" dependencies: - npm-to-yarn: "npm:^2.1.0" + npm-to-yarn: "npm:^3.0.0" unist-util-visit: "npm:^5.0.0" - checksum: 10c0/69380ac3814bcf2f9c00c8e375d97e55220adea04d9c887df1b6ac888b726a8a7aaf391ed80ceca1756cfa39d572221d12f681bc1a5f3fdf49a0ed59f7c3addc + checksum: 10c0/913cb9be9ba7288eef1dc781f3539921c87b1684ca35f197108cc0a485ed0a5cbbddce745859f7e29016b36bd005e5f7d981a6b022f1256de2f5f0d7ef27ba66 languageName: node linkType: hard @@ -986,29 +1216,6 @@ __metadata: languageName: node linkType: hard -"@types/d3-scale-chromatic@npm:^3.0.0": - version: 3.0.3 - resolution: "@types/d3-scale-chromatic@npm:3.0.3" - checksum: 10c0/2f48c6f370edba485b57b73573884ded71914222a4580140ff87ee96e1d55ccd05b1d457f726e234a31269b803270ac95d5554229ab6c43c7e4a9894e20dd490 - languageName: node - linkType: hard - -"@types/d3-scale@npm:^4.0.3": - version: 4.0.8 - resolution: "@types/d3-scale@npm:4.0.8" - dependencies: - "@types/d3-time": "npm:*" - checksum: 10c0/57de90e4016f640b83cb960b7e3a0ab3ed02e720898840ddc5105264ffcfea73336161442fdc91895377c2d2f91904d637282f16852b8535b77e15a761c8e99e - languageName: node - linkType: hard - -"@types/d3-time@npm:*": - version: 3.0.3 - resolution: "@types/d3-time@npm:3.0.3" - checksum: 10c0/245a8aadca504df27edf730de502e47a68f16ae795c86b5ca35e7afa91c133aa9ef4d08778f8cf1ed2be732f89a4105ba4b437ce2afbdfd17d3d937b6ba5f568 - languageName: node - linkType: hard - "@types/debug@npm:^4.0.0": version: 4.1.12 resolution: "@types/debug@npm:4.1.12" @@ -1027,23 +1234,14 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:*, @types/estree@npm:^1.0.0": - version: 1.0.5 - resolution: "@types/estree@npm:1.0.5" - checksum: 10c0/b3b0e334288ddb407c7b3357ca67dbee75ee22db242ca7c56fe27db4e1a31989cb8af48a84dd401deb787fe10cc6b2ab1ee82dc4783be87ededbe3d53c79c70d - languageName: node - linkType: hard - -"@types/hast@npm:^2.0.0": - version: 2.3.10 - resolution: "@types/hast@npm:2.3.10" - dependencies: - "@types/unist": "npm:^2" - checksum: 10c0/16daac35d032e656defe1f103f9c09c341a6dc553c7ec17b388274076fa26e904a71ea5ea41fd368a6d5f1e9e53be275c80af7942b9c466d8511d261c9529c7e +"@types/estree@npm:*, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.5": + version: 1.0.6 + resolution: "@types/estree@npm:1.0.6" + checksum: 10c0/cdfd751f6f9065442cd40957c07fd80361c962869aa853c1c2fd03e101af8b9389d8ff4955a43a6fcfa223dd387a089937f95be0f3eec21ca527039fd2d9859a languageName: node linkType: hard -"@types/hast@npm:^3.0.0": +"@types/hast@npm:^3.0.0, @types/hast@npm:^3.0.4": version: 3.0.4 resolution: "@types/hast@npm:3.0.4" dependencies: @@ -1052,13 +1250,6 @@ __metadata: languageName: node linkType: hard -"@types/js-yaml@npm:^4.0.0": - version: 4.0.9 - resolution: "@types/js-yaml@npm:4.0.9" - checksum: 10c0/24de857aa8d61526bbfbbaa383aa538283ad17363fcd5bb5148e2c7f604547db36646440e739d78241ed008702a8920665d1add5618687b6743858fae00da211 - languageName: node - linkType: hard - "@types/json-schema@npm:^7.0.6, @types/json-schema@npm:^7.0.8": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" @@ -1073,15 +1264,6 @@ __metadata: languageName: node linkType: hard -"@types/mdast@npm:^3.0.0": - version: 3.0.15 - resolution: "@types/mdast@npm:3.0.15" - dependencies: - "@types/unist": "npm:^2" - checksum: 10c0/fcbf716c03d1ed5465deca60862e9691414f9c43597c288c7d2aefbe274552e1bbd7aeee91b88a02597e88a28c139c57863d0126fcf8416a95fdc681d054ee3d - languageName: node - linkType: hard - "@types/mdast@npm:^4.0.0": version: 4.0.4 resolution: "@types/mdast@npm:4.0.4" @@ -1105,36 +1287,45 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:16.18.11": - version: 16.18.11 - resolution: "@types/node@npm:16.18.11" - checksum: 10c0/7bdf5e865a7959a72881ede19a882219f9d0baadf9ef8fdf24523291d401a7fc43bf91aa3223b1961ca54e1363f542cc4d60c8b00a70b457b2e9439b82adac70 +"@types/nlcst@npm:^2.0.0": + version: 2.0.3 + resolution: "@types/nlcst@npm:2.0.3" + dependencies: + "@types/unist": "npm:*" + checksum: 10c0/d83549aaee59681ae8fa2a78d8a1b968a41eb7c0422773dff12acbf3661e4b2b2859740c3effdad9d0cd12ea14a0ec33ca302da12106476b627e09d2a029d3c1 languageName: node linkType: hard -"@types/node@npm:^20.10.5": - version: 20.16.5 - resolution: "@types/node@npm:20.16.5" +"@types/node@npm:*, @types/node@npm:^22.8.1": + version: 22.8.1 + resolution: "@types/node@npm:22.8.1" dependencies: - undici-types: "npm:~6.19.2" - checksum: 10c0/6af7994129815010bcbc4cf8221865559c8116ff43e74a6549525c2108267596fc2d18aff5d5ecfe089fb60a119f975631343e2c65c52bfa0955ed9dc56733d6 + undici-types: "npm:~6.19.8" + checksum: 10c0/83550fdf72a7db5b55eceac3f4fb038844eaee20202bdd2297a8248370cfa08317bda1605b781a8043eda4f173b75e73632e652fc85509eb14dfef78fa17337f + languageName: node + linkType: hard + +"@types/node@npm:16.18.11": + version: 16.18.11 + resolution: "@types/node@npm:16.18.11" + checksum: 10c0/7bdf5e865a7959a72881ede19a882219f9d0baadf9ef8fdf24523291d401a7fc43bf91aa3223b1961ca54e1363f542cc4d60c8b00a70b457b2e9439b82adac70 languageName: node linkType: hard "@types/prop-types@npm:*": - version: 15.7.12 - resolution: "@types/prop-types@npm:15.7.12" - checksum: 10c0/1babcc7db6a1177779f8fde0ccc78d64d459906e6ef69a4ed4dd6339c920c2e05b074ee5a92120fe4e9d9f1a01c952f843ebd550bee2332fc2ef81d1706878f8 + version: 15.7.13 + resolution: "@types/prop-types@npm:15.7.13" + checksum: 10c0/1b20fc67281902c6743379960247bc161f3f0406ffc0df8e7058745a85ea1538612109db0406290512947f9632fe9e10e7337bf0ce6338a91d6c948df16a7c61 languageName: node linkType: hard -"@types/react@npm:>=16, @types/react@npm:^18.2.45": - version: 18.3.5 - resolution: "@types/react@npm:18.3.5" +"@types/react@npm:^18.3.12": + version: 18.3.12 + resolution: "@types/react@npm:18.3.12" dependencies: "@types/prop-types": "npm:*" csstype: "npm:^3.0.2" - checksum: 10c0/548b1d3d7c2f0242fbfdbbd658731b4ce69a134be072fa83e6ab516f2840402a3f20e3e7f72e95133b23d4880ef24a6d864050dc8e1f7c68f39fa87ca8445917 + checksum: 10c0/8bae8d9a41619804561574792e29112b413044eb0d53746dde2b9720c1f9a59f71c895bbd7987cd8ce9500b00786e53bc032dced38cddf42910458e145675290 languageName: node linkType: hard @@ -1154,13 +1345,35 @@ __metadata: languageName: node linkType: hard -"@types/unist@npm:^2, @types/unist@npm:^2.0.0": +"@types/unist@npm:^2.0.0": version: 2.0.11 resolution: "@types/unist@npm:2.0.11" checksum: 10c0/24dcdf25a168f453bb70298145eb043cfdbb82472db0bc0b56d6d51cd2e484b9ed8271d4ac93000a80da568f2402e9339723db262d0869e2bf13bc58e081768d languageName: node linkType: hard +"@types/webpack@npm:^5.28.5": + version: 5.28.5 + resolution: "@types/webpack@npm:5.28.5" + dependencies: + "@types/node": "npm:*" + tapable: "npm:^2.2.0" + webpack: "npm:^5" + checksum: 10c0/d1fec1f678af79dd0d84333740bdd2ce128c7f4fd1f8d14bb0ec0f4c5af70580af68350f677e3696003a8cb2e2b5f510f8c0ed7ee5ad2bc7874c87f80ecd7c8d + languageName: node + linkType: hard + +"@typescript/vfs@npm:^1.6.0": + version: 1.6.0 + resolution: "@typescript/vfs@npm:1.6.0" + dependencies: + debug: "npm:^4.1.1" + peerDependencies: + typescript: "*" + checksum: 10c0/35e17d92f0d4f33c4be12fc4468196788794bc2edc1a371f1023c42314f6d1e0e851f07b45732a634ef750e61e2ef8769e8ab4f6a6c511cea8da397fa87852ff + languageName: node + linkType: hard + "@ungap/structured-clone@npm:^1.0.0": version: 1.2.0 resolution: "@ungap/structured-clone@npm:1.2.0" @@ -1168,27 +1381,27 @@ __metadata: languageName: node linkType: hard -"@vercel/analytics@npm:^1.1.1": - version: 1.3.1 - resolution: "@vercel/analytics@npm:1.3.1" +"@vercel/analytics@npm:^1.3.2": + version: 1.3.2 + resolution: "@vercel/analytics@npm:1.3.2" dependencies: server-only: "npm:^0.0.1" peerDependencies: next: ">= 13" - react: ^18 || ^19 + react: ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: next: optional: true react: optional: true - checksum: 10c0/a8c3d363a3327a4bb6b555374eecc814fc6840870c757ea96227111692a219916b960081424d46b8d5f5d84bcd40b8078bc882b774ab4dfd8e77f67d61b38ab1 + checksum: 10c0/1ccf299bae2225d883ba537a21fcabd95c5d1c2bf9db6ec6ca9370aecbd4a8a6489dc71144eed5ff93b2f67ca9c9752807557b36d4e577eb84748aa75432c9ac languageName: node linkType: hard -"@vercel/build-utils@npm:8.4.0": - version: 8.4.0 - resolution: "@vercel/build-utils@npm:8.4.0" - checksum: 10c0/7f7ca0f2e3f87227b2d3ce9ac6dcedc75eb9771a39b3fa0b4f175ed2525acb08e5fd839759e8255177bfe4e9e70a6ccc82a2e5d901765cbda97ff858b0406a83 +"@vercel/build-utils@npm:8.4.11": + version: 8.4.11 + resolution: "@vercel/build-utils@npm:8.4.11" + checksum: 10c0/d1f561bec8f18f448a48d8cb2106ccdcd7e4a65ae8f70dedae46e4c8ffc7502fb858a4715b84cdc14c200951f4930b27c290000dfddc8685139e30a2e2b6eb98 languageName: node linkType: hard @@ -1236,43 +1449,43 @@ __metadata: languageName: node linkType: hard -"@vercel/gatsby-plugin-vercel-builder@npm:2.0.44": - version: 2.0.44 - resolution: "@vercel/gatsby-plugin-vercel-builder@npm:2.0.44" +"@vercel/gatsby-plugin-vercel-builder@npm:2.0.55": + version: 2.0.55 + resolution: "@vercel/gatsby-plugin-vercel-builder@npm:2.0.55" dependencies: "@sinclair/typebox": "npm:0.25.24" - "@vercel/build-utils": "npm:8.4.0" + "@vercel/build-utils": "npm:8.4.11" "@vercel/routing-utils": "npm:3.1.0" esbuild: "npm:0.14.47" etag: "npm:1.8.1" fs-extra: "npm:11.1.0" - checksum: 10c0/03c345492e9340b830e00c0d229e12e9cc164337462cf3bf4fc876a51df6f71c407379c6e0f7fc61f03f7745f762bd155a8e6982c0801109fe339fa3a0820588 + checksum: 10c0/3dde06d292898b743f912fd15d4717e8cb4583dd38d6f8b606af05550cff39522524fab4767c71abfa937551b0575ab0fc733e58e2a8375473c874450d9e07ea languageName: node linkType: hard -"@vercel/go@npm:3.1.2": - version: 3.1.2 - resolution: "@vercel/go@npm:3.1.2" - checksum: 10c0/f5c1f6731b292ecb386d0c697adff590adf093056c27910afb4f295549edaf6f873ff9fb2f1fb9c4d179afaf291add6a2a563633fe4f48f5b1d6c88585a5b0c7 +"@vercel/go@npm:3.2.0": + version: 3.2.0 + resolution: "@vercel/go@npm:3.2.0" + checksum: 10c0/2130ed1b0d2768bf39d6bfbf65b7c12ad5dd12d8ba8d6e42cd9aafc9d75b23c1fb5a46af4c181bb41dee9411b9b6e686dcaf6966aed47576e3678d5bd0ac278a languageName: node linkType: hard -"@vercel/hydrogen@npm:1.0.4": - version: 1.0.4 - resolution: "@vercel/hydrogen@npm:1.0.4" +"@vercel/hydrogen@npm:1.0.9": + version: 1.0.9 + resolution: "@vercel/hydrogen@npm:1.0.9" dependencies: "@vercel/static-config": "npm:3.0.0" ts-morph: "npm:12.0.0" - checksum: 10c0/15042e67a920f559e9d3c16bc6dcb96187b42fab96a58b26ebbd0fb71d4f3eaf3ee71ed70411704a6b70b1c1eb647f9afffcd77b255f0c7236898b436d5656dd + checksum: 10c0/3f124a5d0cb511c1e31b22ae0299da76e212b6377cf0e912ec8b66dca462c9d8d3de9b8722c2335b2eb867ab0ced41142cacf25696efee87275a6f242633f2d9 languageName: node linkType: hard -"@vercel/next@npm:4.3.8": - version: 4.3.8 - resolution: "@vercel/next@npm:4.3.8" +"@vercel/next@npm:4.3.17": + version: 4.3.17 + resolution: "@vercel/next@npm:4.3.17" dependencies: "@vercel/nft": "npm:0.27.3" - checksum: 10c0/85dc6a51cae8a6137b65e1f86b143419cc8028eb53608b36d71b12b6ab300be8cd0d07e883b0fd208c37ce549b32793a6c395594f4a81d6282b461e87eb68d36 + checksum: 10c0/95c94a4f6e8aecc3581db8580ddd31eb6acf1a0eed90027c7d6f1d5f3bc0761d1742325fe32eff313ecc63066aeef0495620764e0c6dcb214d28b87116645c32 languageName: node linkType: hard @@ -1298,15 +1511,15 @@ __metadata: languageName: node linkType: hard -"@vercel/node@npm:3.2.12": - version: 3.2.12 - resolution: "@vercel/node@npm:3.2.12" +"@vercel/node@npm:3.2.23": + version: 3.2.23 + resolution: "@vercel/node@npm:3.2.23" dependencies: "@edge-runtime/node-utils": "npm:2.3.0" "@edge-runtime/primitives": "npm:4.1.0" "@edge-runtime/vm": "npm:3.2.0" "@types/node": "npm:16.18.11" - "@vercel/build-utils": "npm:8.4.0" + "@vercel/build-utils": "npm:8.4.11" "@vercel/error-utils": "npm:2.0.2" "@vercel/nft": "npm:0.27.3" "@vercel/static-config": "npm:3.0.0" @@ -1322,7 +1535,7 @@ __metadata: ts-node: "npm:10.9.1" typescript: "npm:4.9.5" undici: "npm:5.28.4" - checksum: 10c0/51eb3e206d92fab666702448d13fe1dc281f33c76cc848f9f464de49c74d86658351b0af8cc0f62056ecd218a59519a5a9df2a0bfe895b436c215ca65fb52546 + checksum: 10c0/3056ffc950706bf4336656ea3ec69632f34cd3b4a0ec72ba2c0a6030cb2df2a002150de990be6417bd05e8fdeb75dfa808f27dd5f0d373624ebf42caaffde13f languageName: node linkType: hard @@ -1333,28 +1546,28 @@ __metadata: languageName: node linkType: hard -"@vercel/redwood@npm:2.1.3": - version: 2.1.3 - resolution: "@vercel/redwood@npm:2.1.3" +"@vercel/redwood@npm:2.1.8": + version: 2.1.8 + resolution: "@vercel/redwood@npm:2.1.8" dependencies: "@vercel/nft": "npm:0.27.3" "@vercel/routing-utils": "npm:3.1.0" "@vercel/static-config": "npm:3.0.0" semver: "npm:6.3.1" ts-morph: "npm:12.0.0" - checksum: 10c0/226320ca407cd74256f98413ebf92a2d003857d77eb6c9491cb28f72b7b1b0278190ffb1b638185898afa0402e03a9f4ce6eb2dc6341b254f474b61c743191e7 + checksum: 10c0/56f3571a100d116f8a981e093133bf24efa2a6355b2bfa5331bb27f06152a9900ea10e60788738d22e6466ac19e9ba6a7bb95b86763117e4cef4b6b6dd94ffef languageName: node linkType: hard -"@vercel/remix-builder@npm:2.2.6": - version: 2.2.6 - resolution: "@vercel/remix-builder@npm:2.2.6" +"@vercel/remix-builder@npm:2.2.12": + version: 2.2.12 + resolution: "@vercel/remix-builder@npm:2.2.12" dependencies: "@vercel/error-utils": "npm:2.0.2" "@vercel/nft": "npm:0.27.3" "@vercel/static-config": "npm:3.0.0" ts-morph: "npm:12.0.0" - checksum: 10c0/aa4ac6d785dda9ee5ca1dcbaca038aa1008472564511e5e82b78d9a2b97c74a42afbd45664d9085d08530be0712ac8c3ae4b46bab62d4c9f6a6d284870b6097b + checksum: 10c0/fa17453d1d4baaca28e349609063d76e4e47e4ead267d82df0c1a109b94a767080cb8c62b603dffa2841d19d39cbb24a99a45e822432cbf29fc6b8234c32c22d languageName: node linkType: hard @@ -1378,15 +1591,15 @@ __metadata: languageName: node linkType: hard -"@vercel/static-build@npm:2.5.22": - version: 2.5.22 - resolution: "@vercel/static-build@npm:2.5.22" +"@vercel/static-build@npm:2.5.33": + version: 2.5.33 + resolution: "@vercel/static-build@npm:2.5.33" dependencies: "@vercel/gatsby-plugin-vercel-analytics": "npm:1.0.11" - "@vercel/gatsby-plugin-vercel-builder": "npm:2.0.44" + "@vercel/gatsby-plugin-vercel-builder": "npm:2.0.55" "@vercel/static-config": "npm:3.0.0" ts-morph: "npm:12.0.0" - checksum: 10c0/338634b0a98c3931ce4673fca2e5636d9517ffd1171185863a7d5cf6b6f0317b108517da92963179c108c0def3f0ddbd6548aa3193cd7ccab98c9908b813226e + checksum: 10c0/fbd0705ef970781130166a2bfdebcaa60ae7532fedf07a22159323201b1316282a1b6148fecb0b27ce88e46aba1b4044bcaef886cf60155a22019429665761d0 languageName: node linkType: hard @@ -1401,107 +1614,272 @@ __metadata: languageName: node linkType: hard -"abbrev@npm:1": - version: 1.1.1 - resolution: "abbrev@npm:1.1.1" - checksum: 10c0/3f762677702acb24f65e813070e306c61fafe25d4b2583f9dfc935131f774863f3addd5741572ed576bd69cabe473c5af18e1e108b829cb7b6b4747884f726e6 +"@webassemblyjs/ast@npm:1.12.1, @webassemblyjs/ast@npm:^1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/ast@npm:1.12.1" + dependencies: + "@webassemblyjs/helper-numbers": "npm:1.11.6" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" + checksum: 10c0/ba7f2b96c6e67e249df6156d02c69eb5f1bd18d5005303cdc42accb053bebbbde673826e54db0437c9748e97abd218366a1d13fa46859b23cde611b6b409998c languageName: node linkType: hard -"abbrev@npm:^2.0.0": - version: 2.0.0 - resolution: "abbrev@npm:2.0.0" - checksum: 10c0/f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372 +"@webassemblyjs/floating-point-hex-parser@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.6" + checksum: 10c0/37fe26f89e18e4ca0e7d89cfe3b9f17cfa327d7daf906ae01400416dbb2e33c8a125b4dc55ad7ff405e5fcfb6cf0d764074c9bc532b9a31a71e762be57d2ea0a languageName: node linkType: hard -"acorn-import-attributes@npm:^1.9.5": - version: 1.9.5 - resolution: "acorn-import-attributes@npm:1.9.5" - peerDependencies: - acorn: ^8 - checksum: 10c0/5926eaaead2326d5a86f322ff1b617b0f698aa61dc719a5baa0e9d955c9885cc71febac3fb5bacff71bbf2c4f9c12db2056883c68c53eb962c048b952e1e013d +"@webassemblyjs/helper-api-error@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/helper-api-error@npm:1.11.6" + checksum: 10c0/a681ed51863e4ff18cf38d223429f414894e5f7496856854d9a886eeddcee32d7c9f66290f2919c9bb6d2fc2b2fae3f989b6a1e02a81e829359738ea0c4d371a languageName: node linkType: hard -"acorn-jsx@npm:^5.0.0": - version: 5.3.2 - resolution: "acorn-jsx@npm:5.3.2" - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 +"@webassemblyjs/helper-buffer@npm:1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/helper-buffer@npm:1.12.1" + checksum: 10c0/0270724afb4601237410f7fd845ab58ccda1d5456a8783aadfb16eaaf3f2c9610c28e4a5bcb6ad880cde5183c82f7f116d5ccfc2310502439d33f14b6888b48a languageName: node linkType: hard -"acorn-walk@npm:^8.1.1, acorn-walk@npm:^8.2.0": - version: 8.3.3 - resolution: "acorn-walk@npm:8.3.3" +"@webassemblyjs/helper-numbers@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/helper-numbers@npm:1.11.6" dependencies: - acorn: "npm:^8.11.0" - checksum: 10c0/4a9e24313e6a0a7b389e712ba69b66b455b4cb25988903506a8d247e7b126f02060b05a8a5b738a9284214e4ca95f383dd93443a4ba84f1af9b528305c7f243b + "@webassemblyjs/floating-point-hex-parser": "npm:1.11.6" + "@webassemblyjs/helper-api-error": "npm:1.11.6" + "@xtuc/long": "npm:4.2.2" + checksum: 10c0/c7d5afc0ff3bd748339b466d8d2f27b908208bf3ff26b2e8e72c39814479d486e0dca6f3d4d776fd9027c1efe05b5c0716c57a23041eb34473892b2731c33af3 languageName: node linkType: hard -"acorn@npm:^8.0.0, acorn@npm:^8.11.0, acorn@npm:^8.4.1, acorn@npm:^8.6.0, acorn@npm:^8.7.1": - version: 8.12.1 - resolution: "acorn@npm:8.12.1" - bin: - acorn: bin/acorn - checksum: 10c0/51fb26cd678f914e13287e886da2d7021f8c2bc0ccc95e03d3e0447ee278dd3b40b9c57dc222acd5881adcf26f3edc40901a4953403232129e3876793cd17386 +"@webassemblyjs/helper-wasm-bytecode@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.6" + checksum: 10c0/79d2bebdd11383d142745efa32781249745213af8e022651847382685ca76709f83e1d97adc5f0d3c2b8546bf02864f8b43a531fdf5ca0748cb9e4e0ef2acaa5 languageName: node linkType: hard -"agent-base@npm:6": - version: 6.0.2 - resolution: "agent-base@npm:6.0.2" +"@webassemblyjs/helper-wasm-section@npm:1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/helper-wasm-section@npm:1.12.1" dependencies: - debug: "npm:4" - checksum: 10c0/dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261 + "@webassemblyjs/ast": "npm:1.12.1" + "@webassemblyjs/helper-buffer": "npm:1.12.1" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" + "@webassemblyjs/wasm-gen": "npm:1.12.1" + checksum: 10c0/0546350724d285ae3c26e6fc444be4c3b5fb824f3be0ec8ceb474179dc3f4430336dd2e36a44b3e3a1a6815960e5eec98cd9b3a8ec66dc53d86daedd3296a6a2 languageName: node linkType: hard -"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1": - version: 7.1.1 - resolution: "agent-base@npm:7.1.1" +"@webassemblyjs/ieee754@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/ieee754@npm:1.11.6" dependencies: - debug: "npm:^4.3.4" - checksum: 10c0/e59ce7bed9c63bf071a30cc471f2933862044c97fd9958967bfe22521d7a0f601ce4ed5a8c011799d0c726ca70312142ae193bbebb60f576b52be19d4a363b50 + "@xtuc/ieee754": "npm:^1.2.0" + checksum: 10c0/59de0365da450322c958deadade5ec2d300c70f75e17ae55de3c9ce564deff5b429e757d107c7ec69bd0ba169c6b6cc2ff66293ab7264a7053c829b50ffa732f languageName: node linkType: hard -"aggregate-error@npm:^3.0.0": - version: 3.1.0 - resolution: "aggregate-error@npm:3.1.0" +"@webassemblyjs/leb128@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/leb128@npm:1.11.6" dependencies: - clean-stack: "npm:^2.0.0" - indent-string: "npm:^4.0.0" - checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 + "@xtuc/long": "npm:4.2.2" + checksum: 10c0/cb344fc04f1968209804de4da018679c5d4708a03b472a33e0fa75657bb024978f570d3ccf9263b7f341f77ecaa75d0e051b9cd4b7bb17a339032cfd1c37f96e languageName: node linkType: hard -"ajv-keywords@npm:^3.5.2": - version: 3.5.2 - resolution: "ajv-keywords@npm:3.5.2" - peerDependencies: - ajv: ^6.9.1 - checksum: 10c0/0c57a47cbd656e8cdfd99d7c2264de5868918ffa207c8d7a72a7f63379d4333254b2ba03d69e3c035e996a3fd3eb6d5725d7a1597cca10694296e32510546360 +"@webassemblyjs/utf8@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/utf8@npm:1.11.6" + checksum: 10c0/14d6c24751a89ad9d801180b0d770f30a853c39f035a15fbc96266d6ac46355227abd27a3fd2eeaa97b4294ced2440a6b012750ae17bafe1a7633029a87b6bee languageName: node linkType: hard -"ajv@npm:8.6.3": - version: 8.6.3 - resolution: "ajv@npm:8.6.3" +"@webassemblyjs/wasm-edit@npm:^1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/wasm-edit@npm:1.12.1" dependencies: - fast-deep-equal: "npm:^3.1.1" - json-schema-traverse: "npm:^1.0.0" - require-from-string: "npm:^2.0.2" - uri-js: "npm:^4.2.2" - checksum: 10c0/94f8e39f3ab971e17d81b1335fbd67bb4b628b6bad8e96b0699af49dca991d7b1c89e53f7bf0823953c01ad36de915400ad4aad4728523a188914726f5805619 + "@webassemblyjs/ast": "npm:1.12.1" + "@webassemblyjs/helper-buffer": "npm:1.12.1" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" + "@webassemblyjs/helper-wasm-section": "npm:1.12.1" + "@webassemblyjs/wasm-gen": "npm:1.12.1" + "@webassemblyjs/wasm-opt": "npm:1.12.1" + "@webassemblyjs/wasm-parser": "npm:1.12.1" + "@webassemblyjs/wast-printer": "npm:1.12.1" + checksum: 10c0/972f5e6c522890743999e0ed45260aae728098801c6128856b310dd21f1ee63435fc7b518e30e0ba1cdafd0d1e38275829c1e4451c3536a1d9e726e07a5bba0b languageName: node linkType: hard -"ajv@npm:^6.0.0, ajv@npm:^6.12.5": - version: 6.12.6 +"@webassemblyjs/wasm-gen@npm:1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/wasm-gen@npm:1.12.1" + dependencies: + "@webassemblyjs/ast": "npm:1.12.1" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" + "@webassemblyjs/ieee754": "npm:1.11.6" + "@webassemblyjs/leb128": "npm:1.11.6" + "@webassemblyjs/utf8": "npm:1.11.6" + checksum: 10c0/1e257288177af9fa34c69cab94f4d9036ebed611f77f3897c988874e75182eeeec759c79b89a7a49dd24624fc2d3d48d5580b62b67c4a1c9bfbdcd266b281c16 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-opt@npm:1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/wasm-opt@npm:1.12.1" + dependencies: + "@webassemblyjs/ast": "npm:1.12.1" + "@webassemblyjs/helper-buffer": "npm:1.12.1" + "@webassemblyjs/wasm-gen": "npm:1.12.1" + "@webassemblyjs/wasm-parser": "npm:1.12.1" + checksum: 10c0/992a45e1f1871033c36987459436ab4e6430642ca49328e6e32a13de9106fe69ae6c0ac27d7050efd76851e502d11cd1ac0e06b55655dfa889ad82f11a2712fb + languageName: node + linkType: hard + +"@webassemblyjs/wasm-parser@npm:1.12.1, @webassemblyjs/wasm-parser@npm:^1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/wasm-parser@npm:1.12.1" + dependencies: + "@webassemblyjs/ast": "npm:1.12.1" + "@webassemblyjs/helper-api-error": "npm:1.11.6" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" + "@webassemblyjs/ieee754": "npm:1.11.6" + "@webassemblyjs/leb128": "npm:1.11.6" + "@webassemblyjs/utf8": "npm:1.11.6" + checksum: 10c0/e85cec1acad07e5eb65b92d37c8e6ca09c6ca50d7ca58803a1532b452c7321050a0328c49810c337cc2dfd100c5326a54d5ebd1aa5c339ebe6ef10c250323a0e + languageName: node + linkType: hard + +"@webassemblyjs/wast-printer@npm:1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/wast-printer@npm:1.12.1" + dependencies: + "@webassemblyjs/ast": "npm:1.12.1" + "@xtuc/long": "npm:4.2.2" + checksum: 10c0/39bf746eb7a79aa69953f194943bbc43bebae98bd7cadd4d8bc8c0df470ca6bf9d2b789effaa180e900fab4e2691983c1f7d41571458bd2a26267f2f0c73705a + languageName: node + linkType: hard + +"@xtuc/ieee754@npm:^1.2.0": + version: 1.2.0 + resolution: "@xtuc/ieee754@npm:1.2.0" + checksum: 10c0/a8565d29d135039bd99ae4b2220d3e167d22cf53f867e491ed479b3f84f895742d0097f935b19aab90265a23d5d46711e4204f14c479ae3637fbf06c4666882f + languageName: node + linkType: hard + +"@xtuc/long@npm:4.2.2": + version: 4.2.2 + resolution: "@xtuc/long@npm:4.2.2" + checksum: 10c0/8582cbc69c79ad2d31568c412129bf23d2b1210a1dfb60c82d5a1df93334da4ee51f3057051658569e2c196d8dc33bc05ae6b974a711d0d16e801e1d0647ccd1 + languageName: node + linkType: hard + +"abbrev@npm:1": + version: 1.1.1 + resolution: "abbrev@npm:1.1.1" + checksum: 10c0/3f762677702acb24f65e813070e306c61fafe25d4b2583f9dfc935131f774863f3addd5741572ed576bd69cabe473c5af18e1e108b829cb7b6b4747884f726e6 + languageName: node + linkType: hard + +"abbrev@npm:^2.0.0": + version: 2.0.0 + resolution: "abbrev@npm:2.0.0" + checksum: 10c0/f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372 + languageName: node + linkType: hard + +"acorn-import-attributes@npm:^1.9.5": + version: 1.9.5 + resolution: "acorn-import-attributes@npm:1.9.5" + peerDependencies: + acorn: ^8 + checksum: 10c0/5926eaaead2326d5a86f322ff1b617b0f698aa61dc719a5baa0e9d955c9885cc71febac3fb5bacff71bbf2c4f9c12db2056883c68c53eb962c048b952e1e013d + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.0.0": + version: 5.3.2 + resolution: "acorn-jsx@npm:5.3.2" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 + languageName: node + linkType: hard + +"acorn-walk@npm:^8.1.1, acorn-walk@npm:^8.2.0": + version: 8.3.4 + resolution: "acorn-walk@npm:8.3.4" + dependencies: + acorn: "npm:^8.11.0" + checksum: 10c0/76537ac5fb2c37a64560feaf3342023dadc086c46da57da363e64c6148dc21b57d49ace26f949e225063acb6fb441eabffd89f7a3066de5ad37ab3e328927c62 + languageName: node + linkType: hard + +"acorn@npm:^8.0.0, acorn@npm:^8.11.0, acorn@npm:^8.12.1, acorn@npm:^8.4.1, acorn@npm:^8.6.0, acorn@npm:^8.7.1, acorn@npm:^8.8.2": + version: 8.14.0 + resolution: "acorn@npm:8.14.0" + bin: + acorn: bin/acorn + checksum: 10c0/6d4ee461a7734b2f48836ee0fbb752903606e576cc100eb49340295129ca0b452f3ba91ddd4424a1d4406a98adfb2ebb6bd0ff4c49d7a0930c10e462719bbfd7 + languageName: node + linkType: hard + +"agent-base@npm:6": + version: 6.0.2 + resolution: "agent-base@npm:6.0.2" + dependencies: + debug: "npm:4" + checksum: 10c0/dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261 + languageName: node + linkType: hard + +"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1": + version: 7.1.1 + resolution: "agent-base@npm:7.1.1" + dependencies: + debug: "npm:^4.3.4" + checksum: 10c0/e59ce7bed9c63bf071a30cc471f2933862044c97fd9958967bfe22521d7a0f601ce4ed5a8c011799d0c726ca70312142ae193bbebb60f576b52be19d4a363b50 + languageName: node + linkType: hard + +"aggregate-error@npm:^3.0.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" + dependencies: + clean-stack: "npm:^2.0.0" + indent-string: "npm:^4.0.0" + checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 + languageName: node + linkType: hard + +"ajv-keywords@npm:^3.5.2": + version: 3.5.2 + resolution: "ajv-keywords@npm:3.5.2" + peerDependencies: + ajv: ^6.9.1 + checksum: 10c0/0c57a47cbd656e8cdfd99d7c2264de5868918ffa207c8d7a72a7f63379d4333254b2ba03d69e3c035e996a3fd3eb6d5725d7a1597cca10694296e32510546360 + languageName: node + linkType: hard + +"ajv@npm:8.6.3": + version: 8.6.3 + resolution: "ajv@npm:8.6.3" + dependencies: + fast-deep-equal: "npm:^3.1.1" + json-schema-traverse: "npm:^1.0.0" + require-from-string: "npm:^2.0.2" + uri-js: "npm:^4.2.2" + checksum: 10c0/94f8e39f3ab971e17d81b1335fbd67bb4b628b6bad8e96b0699af49dca991d7b1c89e53f7bf0823953c01ad36de915400ad4aad4728523a188914726f5805619 + languageName: node + linkType: hard + +"ajv@npm:^6.0.0, ajv@npm:^6.12.5": + version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: fast-deep-equal: "npm:^3.1.1" @@ -1541,20 +1919,13 @@ __metadata: linkType: hard "ansi-regex@npm:^6.0.1": - version: 6.0.1 - resolution: "ansi-regex@npm:6.0.1" - checksum: 10c0/cbe16dbd2c6b2735d1df7976a7070dd277326434f0212f43abf6d87674095d247968209babdaad31bb00882fa68807256ba9be340eec2f1004de14ca75f52a08 - languageName: node - linkType: hard - -"ansi-sequence-parser@npm:^1.1.0": - version: 1.1.1 - resolution: "ansi-sequence-parser@npm:1.1.1" - checksum: 10c0/ab2259ccf69f145ecf1418d4e71524158828f44afdf37c7536677871f4cebaa8b176fcb95de8f94a68129357dddc59586597da25f9d4ebf9968f6ef022bf0b31 + version: 6.1.0 + resolution: "ansi-regex@npm:6.1.0" + checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc languageName: node linkType: hard -"ansi-styles@npm:^3.1.0, ansi-styles@npm:^3.2.1": +"ansi-styles@npm:^3.1.0": version: 3.2.1 resolution: "ansi-styles@npm:3.2.1" dependencies: @@ -1657,10 +2028,10 @@ __metadata: languageName: node linkType: hard -"argparse@npm:^2.0.1": +"array-iterate@npm:^2.0.0": version: 2.0.1 - resolution: "argparse@npm:2.0.1" - checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e + resolution: "array-iterate@npm:2.0.1" + checksum: 10c0/756c08334f95e290f03ab2141b034514af1311ef7b62f15b0f5ea6f8f3033ee9cc6a8f1c3e9ff4803d4d723cf992aa61460acf5fce884936972db966b1da287d languageName: node linkType: hard @@ -1708,7 +2079,7 @@ __metadata: languageName: node linkType: hard -"autoprefixer@npm:^10.4.16": +"autoprefixer@npm:^10.4.20": version: 10.4.20 resolution: "autoprefixer@npm:10.4.20" dependencies: @@ -1747,6 +2118,17 @@ __metadata: languageName: node linkType: hard +"better-react-mathjax@npm:^2.0.3": + version: 2.0.3 + resolution: "better-react-mathjax@npm:2.0.3" + dependencies: + mathjax-full: "npm:^3.2.2" + peerDependencies: + react: ">=16.8" + checksum: 10c0/8bcdfa4be85943f48a3fa2b95b7e1d525a01e69bd4c822664815e160e13fcab6e7f0d35665630e98ee877528ba452ead7001863578ce3b1b8ebd5d7d267a53b6 + languageName: node + linkType: hard + "big.js@npm:^5.2.2": version: 5.2.2 resolution: "big.js@npm:5.2.2" @@ -1809,17 +2191,17 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.23.3": - version: 4.23.3 - resolution: "browserslist@npm:4.23.3" +"browserslist@npm:^4.21.10, browserslist@npm:^4.23.3": + version: 4.24.2 + resolution: "browserslist@npm:4.24.2" dependencies: - caniuse-lite: "npm:^1.0.30001646" - electron-to-chromium: "npm:^1.5.4" + caniuse-lite: "npm:^1.0.30001669" + electron-to-chromium: "npm:^1.5.41" node-releases: "npm:^2.0.18" - update-browserslist-db: "npm:^1.1.0" + update-browserslist-db: "npm:^1.1.1" bin: browserslist: cli.js - checksum: 10c0/3063bfdf812815346447f4796c8f04601bf5d62003374305fd323c2a463e42776475bcc5309264e39bcf9a8605851e53560695991a623be988138b3ff8c66642 + checksum: 10c0/d747c9fb65ed7b4f1abcae4959405707ed9a7b835639f8a9ba0da2911995a6ab9b0648fd05baf2a4d4e3cf7f9fdbad56d3753f91881e365992c1d49c8d88ff7a languageName: node linkType: hard @@ -1830,6 +2212,13 @@ __metadata: languageName: node linkType: hard +"buffer-from@npm:^1.0.0": + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 + languageName: node + linkType: hard + "buffer@npm:^5.5.0": version: 5.7.1 resolution: "buffer@npm:5.7.1" @@ -1883,10 +2272,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001579, caniuse-lite@npm:^1.0.30001646": - version: 1.0.30001659 - resolution: "caniuse-lite@npm:1.0.30001659" - checksum: 10c0/11dc1c0795505d5c629cdf02361d7d60249646a49ed2868997144c3d9c6b0c3e18d87f6ea2b48b6deed593c483271003cebca7dd805fbda96607a9b83899eeaa +"caniuse-lite@npm:^1.0.30001579, caniuse-lite@npm:^1.0.30001646, caniuse-lite@npm:^1.0.30001669": + version: 1.0.30001672 + resolution: "caniuse-lite@npm:1.0.30001672" + checksum: 10c0/0ba63451bbb972987146ffadba8724fcf67ff89168f330e6bdcb0c3b73ef5e2ddbcd75089b59bd3f87ada61670ec7a1180f239169203132b7d4efd241d6e5d91 languageName: node linkType: hard @@ -1908,17 +2297,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^2.4.2": - version: 2.4.2 - resolution: "chalk@npm:2.4.2" - dependencies: - ansi-styles: "npm:^3.2.1" - escape-string-regexp: "npm:^1.0.5" - supports-color: "npm:^5.3.0" - checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 - languageName: node - linkType: hard - "chalk@npm:^4.1.2": version: 4.1.2 resolution: "chalk@npm:4.1.2" @@ -1964,6 +2342,31 @@ __metadata: languageName: node linkType: hard +"chevrotain-allstar@npm:~0.3.0": + version: 0.3.1 + resolution: "chevrotain-allstar@npm:0.3.1" + dependencies: + lodash-es: "npm:^4.17.21" + peerDependencies: + chevrotain: ^11.0.0 + checksum: 10c0/5cadedffd3114eb06b15fd3939bb1aa6c75412dbd737fe302b52c5c24334f9cb01cee8edc1d1067d98ba80dddf971f1d0e94b387de51423fc6cf3c5d8b7ef27a + languageName: node + linkType: hard + +"chevrotain@npm:~11.0.3": + version: 11.0.3 + resolution: "chevrotain@npm:11.0.3" + dependencies: + "@chevrotain/cst-dts-gen": "npm:11.0.3" + "@chevrotain/gast": "npm:11.0.3" + "@chevrotain/regexp-to-ast": "npm:11.0.3" + "@chevrotain/types": "npm:11.0.3" + "@chevrotain/utils": "npm:11.0.3" + lodash-es: "npm:4.17.21" + checksum: 10c0/ffd425fa321e3f17e9833d7f44cd39f2743f066e92ca74b226176080ca5d455f853fe9091cdfd86354bd899d85c08b3bdc3f55b267e7d07124b048a88349765f + languageName: node + linkType: hard + "chokidar@npm:3.3.1": version: 3.3.1 resolution: "chokidar@npm:3.3.1" @@ -2016,6 +2419,13 @@ __metadata: languageName: node linkType: hard +"chrome-trace-event@npm:^1.0.2": + version: 1.0.4 + resolution: "chrome-trace-event@npm:1.0.4" + checksum: 10c0/3058da7a5f4934b87cf6a90ef5fb68ebc5f7d06f143ed5a4650208e5d7acae47bc03ec844b29fbf5ba7e46e8daa6acecc878f7983a4f4bb7271593da91e61ff5 + languageName: node + linkType: hard + "cjs-module-lexer@npm:1.2.3": version: 1.2.3 resolution: "cjs-module-lexer@npm:1.2.3" @@ -2049,7 +2459,7 @@ __metadata: languageName: node linkType: hard -"client-only@npm:0.0.1, client-only@npm:^0.0.1": +"client-only@npm:0.0.1": version: 0.0.1 resolution: "client-only@npm:0.0.1" checksum: 10c0/9d6cfd0c19e1c96a434605added99dff48482152af791ec4172fb912a71cff9027ff174efd8cdb2160cc7f377543e0537ffc462d4f279bc4701de3f2a3c4b358 @@ -2169,6 +2579,20 @@ __metadata: languageName: node linkType: hard +"commander@npm:9.2.0": + version: 9.2.0 + resolution: "commander@npm:9.2.0" + checksum: 10c0/42eb2cf427fc5a1ca2ddf7ff6467d1a3cbec5c3e68dd61ead42eb01489ff068beadd4dc8303ab3cc48470d808372063c87fc8d9ed9e1be86365c3b0fc0a92732 + languageName: node + linkType: hard + +"commander@npm:^2.20.0": + version: 2.20.3 + resolution: "commander@npm:2.20.3" + checksum: 10c0/74c781a5248c2402a0a3e966a0a2bba3c054aad144f5c023364be83265e796b20565aa9feff624132ff629aa64e16999fa40a743c10c12f7c61e96a794b99288 + languageName: node + linkType: hard + "commander@npm:^4.0.0": version: 4.1.1 resolution: "commander@npm:4.1.1" @@ -2211,6 +2635,13 @@ __metadata: languageName: node linkType: hard +"confbox@npm:^0.1.8": + version: 0.1.8 + resolution: "confbox@npm:0.1.8" + checksum: 10c0/fc2c68d97cb54d885b10b63e45bd8da83a8a71459d3ecf1825143dd4c7f9f1b696b3283e07d9d12a144c1301c2ebc7842380bdf0014e55acc4ae1c9550102418 + languageName: node + linkType: hard + "console-control-strings@npm:^1.0.0, console-control-strings@npm:^1.1.0": version: 1.1.0 resolution: "console-control-strings@npm:1.1.0" @@ -2241,6 +2672,15 @@ __metadata: languageName: node linkType: hard +"cose-base@npm:^2.2.0": + version: 2.2.0 + resolution: "cose-base@npm:2.2.0" + dependencies: + layout-base: "npm:^2.0.0" + checksum: 10c0/14b9f8100ac322a00777ffb1daeb3321af368bbc9cabe3103943361273baee2003202ffe38e4ab770960b600214224e9c196195a78d589521540aa694df7cdec + languageName: node + linkType: hard + "create-require@npm:^1.1.0": version: 1.1.1 resolution: "create-require@npm:1.1.1" @@ -2309,10 +2749,21 @@ __metadata: languageName: node linkType: hard -"cytoscape@npm:^3.28.1": - version: 3.30.2 - resolution: "cytoscape@npm:3.30.2" - checksum: 10c0/a8b095969900600b58fff823db73d69ec3f22fc9993c10f0739d8551c1dad881d67e1f7771e33b80f72b40f717861e5fa917846ed304f0a31eb3c8aef8dd433f +"cytoscape-fcose@npm:^2.2.0": + version: 2.2.0 + resolution: "cytoscape-fcose@npm:2.2.0" + dependencies: + cose-base: "npm:^2.2.0" + peerDependencies: + cytoscape: ^3.2.0 + checksum: 10c0/ce472c9f85b9057e75c5685396f8e1f2468895e71b184913e05ad56dcf3092618fe59a1054f29cb0995051ba8ebe566ad0dd49a58d62845145624bd60cd44917 + languageName: node + linkType: hard + +"cytoscape@npm:^3.29.2": + version: 3.30.3 + resolution: "cytoscape@npm:3.30.3" + checksum: 10c0/11ec56acf6785b44a703561b6f78b753e414bd6ccbf4ef3dfa5209379d2b32880ae1f3181076065a10ecb57f2bebd91781309128a28aa17a216ee3bd1a9a0f50 languageName: node linkType: hard @@ -2631,7 +3082,7 @@ __metadata: languageName: node linkType: hard -"d3@npm:^7.4.0, d3@npm:^7.8.2": +"d3@npm:^7.8.2, d3@npm:^7.9.0": version: 7.9.0 resolution: "d3@npm:7.9.0" dependencies: @@ -2679,14 +3130,14 @@ __metadata: languageName: node linkType: hard -"dayjs@npm:^1.11.7": +"dayjs@npm:^1.11.10": version: 1.11.13 resolution: "dayjs@npm:1.11.13" checksum: 10c0/a3caf6ac8363c7dade9d1ee797848ddcf25c1ace68d9fe8678ecf8ba0675825430de5d793672ec87b24a69bf04a1544b176547b2539982275d5542a7955f35b7 languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.1, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:~4.3.6": +"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.1, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.3.6, debug@npm:~4.3.6": version: 4.3.7 resolution: "debug@npm:4.3.7" dependencies: @@ -2818,13 +3269,6 @@ __metadata: languageName: node linkType: hard -"diff@npm:^5.0.0": - version: 5.2.0 - resolution: "diff@npm:5.2.0" - checksum: 10c0/aed0941f206fe261ecb258dc8d0ceea8abbde3ace5827518ff8d302f0fc9cc81ce116c4d8f379151171336caf0516b79e01abdc1ed1201b6440d895a66689eb4 - languageName: node - linkType: hard - "dlv@npm:^1.1.3": version: 1.1.3 resolution: "dlv@npm:1.1.3" @@ -2859,7 +3303,7 @@ __metadata: languageName: node linkType: hard -"dompurify@npm:^3.0.5": +"dompurify@npm:^3.0.11 <3.1.7": version: 3.1.6 resolution: "dompurify@npm:3.1.6" checksum: 10c0/3de1cca187c78d3d8cb4134fc2985b644d6a81f6b4e024c77cfb04c1c2f38544ccf7b0ea37a48ce22fcca64594170ed7c22252574c75b801c44345cdd7b06c64 @@ -2903,17 +3347,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.5.4": - version: 1.5.18 - resolution: "electron-to-chromium@npm:1.5.18" - checksum: 10c0/2c553c4e7618e887398af0fb7ddd8055beb69d37a810ad73fcea0f3e9027f1fc879ef280151fb6bae8e5b961f5597452eafc1ae5a0adca5bd49211545a34afe7 - languageName: node - linkType: hard - -"elkjs@npm:^0.9.0": - version: 0.9.3 - resolution: "elkjs@npm:0.9.3" - checksum: 10c0/caf544ff4fce8442d1d3dd6dface176c9b2fe26fc1e34f56122828e6eef7d2d7fe70d3202f9f3ecf0feb6287d4c8430949f483e63e450a7454bb39ccffab3808 +"electron-to-chromium@npm:^1.5.41": + version: 1.5.47 + resolution: "electron-to-chromium@npm:1.5.47" + checksum: 10c0/5f8c4a9f0698695960f7bef5242d52b1043020ce50b51fb534409a768847f9bdc9672cb4a6a560eeb8f8b47a04327ae9b31b2cee376cb637b3eb04a4daeaa3b8 languageName: node linkType: hard @@ -2972,7 +3409,17 @@ __metadata: languageName: node linkType: hard -"entities@npm:^4.2.0, entities@npm:^4.4.0": +"enhanced-resolve@npm:^5.17.1": + version: 5.17.1 + resolution: "enhanced-resolve@npm:5.17.1" + dependencies: + graceful-fs: "npm:^4.2.4" + tapable: "npm:^2.2.0" + checksum: 10c0/81a0515675eca17efdba2cf5bad87abc91a528fc1191aad50e275e74f045b41506167d420099022da7181c8d787170ea41e4a11a0b10b7a16f6237daecb15370 + languageName: node + linkType: hard + +"entities@npm:^4.2.0, entities@npm:^4.4.0, entities@npm:^4.5.0": version: 4.5.0 resolution: "entities@npm:4.5.0" checksum: 10c0/5b039739f7621f5d1ad996715e53d964035f75ad3b9a4d38c6b3804bb226e282ffeae2443624d8fdd9c47d8e926ae9ac009c54671243f0c3294c26af7cc85250 @@ -3018,6 +3465,37 @@ __metadata: languageName: node linkType: hard +"es-module-lexer@npm:^1.2.1": + version: 1.5.4 + resolution: "es-module-lexer@npm:1.5.4" + checksum: 10c0/300a469488c2f22081df1e4c8398c78db92358496e639b0df7f89ac6455462aaf5d8893939087c1a1cbcbf20eed4610c70e0bcb8f3e4b0d80a5d2611c539408c + languageName: node + linkType: hard + +"esast-util-from-estree@npm:^2.0.0": + version: 2.0.0 + resolution: "esast-util-from-estree@npm:2.0.0" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + devlop: "npm:^1.0.0" + estree-util-visit: "npm:^2.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + checksum: 10c0/6c619bc6963314f8f64b32e3b101b321bf121f659e62b11e70f425619c2db6f1d25f4c594a57fd00908da96c67d9bfbf876eb5172abf9e13f47a71796f6630ff + languageName: node + linkType: hard + +"esast-util-from-js@npm:^2.0.0": + version: 2.0.1 + resolution: "esast-util-from-js@npm:2.0.1" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + acorn: "npm:^8.0.0" + esast-util-from-estree: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/3a446fb0b0d7bcd7e0157aa44b3b692802a08c93edbea81cc0f7fe4437bfdfb4b72e4563fe63b4e36d390086b71185dba4ac921f4180cc6349985c263cc74421 + languageName: node + linkType: hard + "esbuild-android-64@npm:0.14.47": version: 0.14.47 resolution: "esbuild-android-64@npm:0.14.47" @@ -3229,7 +3707,7 @@ __metadata: languageName: node linkType: hard -"escalade@npm:^3.1.2": +"escalade@npm:^3.2.0": version: 3.2.0 resolution: "escalade@npm:3.2.0" checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 @@ -3250,6 +3728,23 @@ __metadata: languageName: node linkType: hard +"eslint-scope@npm:5.1.1": + version: 5.1.1 + resolution: "eslint-scope@npm:5.1.1" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^4.1.1" + checksum: 10c0/d30ef9dc1c1cbdece34db1539a4933fe3f9b14e1ffb27ecc85987902ee663ad7c9473bbd49a9a03195a373741e62e2f807c4938992e019b511993d163450e70a + languageName: node + linkType: hard + +"esm@npm:^3.2.25": + version: 3.2.25 + resolution: "esm@npm:3.2.25" + checksum: 10c0/8e60e8075506a7ce28681c30c8f54623fe18a251c364cd481d86719fc77f58aa055b293d80632d9686d5408aaf865ffa434897dc9fd9153c8b3f469fad23f094 + languageName: node + linkType: hard + "esprima@npm:^4.0.0": version: 4.0.1 resolution: "esprima@npm:4.0.1" @@ -3260,12 +3755,26 @@ __metadata: languageName: node linkType: hard -"estree-util-attach-comments@npm:^2.0.0": - version: 2.1.1 - resolution: "estree-util-attach-comments@npm:2.1.1" +"esrecurse@npm:^4.3.0": + version: 4.3.0 + resolution: "esrecurse@npm:4.3.0" dependencies: - "@types/estree": "npm:^1.0.0" - checksum: 10c0/cdb5fdb5809b376ca4a96afbcd916c3570b4bbf5d0115b8a9e1e8a10885d8d9fb549df0a16c077abb42ee35fa33192b69714bac25d4f3c43a36092288c9a64fd + estraverse: "npm:^5.2.0" + checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 + languageName: node + linkType: hard + +"estraverse@npm:^4.1.1": + version: 4.3.0 + resolution: "estraverse@npm:4.3.0" + checksum: 10c0/9cb46463ef8a8a4905d3708a652d60122a0c20bb58dec7e0e12ab0e7235123d74214fc0141d743c381813e1b992767e2708194f6f6e0f9fd00c1b4e0887b8b6d + languageName: node + linkType: hard + +"estraverse@npm:^5.2.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 languageName: node linkType: hard @@ -3278,17 +3787,6 @@ __metadata: languageName: node linkType: hard -"estree-util-build-jsx@npm:^2.0.0": - version: 2.2.2 - resolution: "estree-util-build-jsx@npm:2.2.2" - dependencies: - "@types/estree-jsx": "npm:^1.0.0" - estree-util-is-identifier-name: "npm:^2.0.0" - estree-walker: "npm:^3.0.0" - checksum: 10c0/2cef6ad6747f51934eba0601c3477ba08c98331cfe616635e08dfc89d06b9bbd370c4d80e87fe7d42d82776fa7840868201f48491b0ef9c808039f15fe4667e1 - languageName: node - linkType: hard - "estree-util-build-jsx@npm:^3.0.0": version: 3.0.1 resolution: "estree-util-build-jsx@npm:3.0.1" @@ -3315,14 +3813,13 @@ __metadata: languageName: node linkType: hard -"estree-util-to-js@npm:^1.1.0": - version: 1.2.0 - resolution: "estree-util-to-js@npm:1.2.0" +"estree-util-scope@npm:^1.0.0": + version: 1.0.0 + resolution: "estree-util-scope@npm:1.0.0" dependencies: - "@types/estree-jsx": "npm:^1.0.0" - astring: "npm:^1.8.0" - source-map: "npm:^0.7.0" - checksum: 10c0/ad9c99dc34b0510ab813b485251acbf0abd06361c07b13c08da5d1611c279bee02ec09f2c269ae30b8d2da587115fc1fad4fa9f2f5ba69e094e758a3a4de7069 + "@types/estree": "npm:^1.0.0" + devlop: "npm:^1.0.0" + checksum: 10c0/ef8a573cc899277c613623a1722f630e2163abbc6e9e2f49e758c59b81b484e248b585df6df09a38c00fbfb6390117997cc80c1347b7a86bc1525d9e462b60d5 languageName: node linkType: hard @@ -3346,13 +3843,12 @@ __metadata: languageName: node linkType: hard -"estree-util-visit@npm:^1.0.0": - version: 1.2.1 - resolution: "estree-util-visit@npm:1.2.1" +"estree-util-value-to-estree@npm:^3.0.1": + version: 3.1.2 + resolution: "estree-util-value-to-estree@npm:3.1.2" dependencies: - "@types/estree-jsx": "npm:^1.0.0" - "@types/unist": "npm:^2.0.0" - checksum: 10c0/3c47086ab25947a889fca9f58a842e0d27edadcad24dc393fdd7c9ad3419fe05b3c63b6fc9d6c9d8f50d32bca615cd0a3fe8d0e6b300fb94f74c91210b55ea5d + "@types/estree": "npm:^1.0.0" + checksum: 10c0/fb0fa42f44488eeb2357b60dc3fd5581422b0a36144fd90639fd3963c7396f225e7d7efeee0144b0a7293ea00e4ec9647b8302d057d48f894e8d5775c3c72eb7 languageName: node linkType: hard @@ -3403,6 +3899,13 @@ __metadata: languageName: node linkType: hard +"events@npm:^3.2.0": + version: 3.3.0 + resolution: "events@npm:3.3.0" + checksum: 10c0/d6b6f2adbccbcda74ddbab52ed07db727ef52e31a61ed26db9feb7dc62af7fc8e060defa65e5f8af9449b86b52cc1a1f6a79f2eafcf4e62add2b7a1fa4a432f6 + languageName: node + linkType: hard + "execa@npm:3.2.0": version: 3.2.0 resolution: "execa@npm:3.2.0" @@ -3528,9 +4031,9 @@ __metadata: linkType: hard "fast-uri@npm:^3.0.1": - version: 3.0.1 - resolution: "fast-uri@npm:3.0.1" - checksum: 10c0/3cd46d6006083b14ca61ffe9a05b8eef75ef87e9574b6f68f2e17ecf4daa7aaadeff44e3f0f7a0ef4e0f7e7c20fc07beec49ff14dc72d0b500f00386592f2d10 + version: 3.0.3 + resolution: "fast-uri@npm:3.0.3" + checksum: 10c0/4b2c5ce681a062425eae4f15cdc8fc151fd310b2f69b1f96680677820a8b49c3cd6e80661a406e19d50f0c40a3f8bffdd458791baf66f4a879d80be28e10a320 languageName: node linkType: hard @@ -3543,6 +4046,15 @@ __metadata: languageName: node linkType: hard +"fault@npm:^2.0.0": + version: 2.0.1 + resolution: "fault@npm:2.0.1" + dependencies: + format: "npm:^0.2.0" + checksum: 10c0/b80fbf1019b9ce8b08ee09ce86e02b028563e13a32ac3be34e42bfac00a97b96d8dee6d31e26578ffc16224eb6729e01ff1f97ddfeee00494f4f56c0aeed4bdd + languageName: node + linkType: hard + "fd-slicer@npm:~1.1.0": version: 1.1.0 resolution: "fd-slicer@npm:1.1.0" @@ -3608,20 +4120,13 @@ __metadata: languageName: node linkType: hard -"flexsearch@npm:^0.7.31": +"flexsearch@npm:^0.7.43": version: 0.7.43 resolution: "flexsearch@npm:0.7.43" checksum: 10c0/797dc474ed97750b8e85c118b1af63eb2709da5fc05defcb13e96515774f28743ccb2448b63f3b703cf1ca571928c006069503dacf7d177bc07b9ee15e1f85d0 languageName: node linkType: hard -"focus-visible@npm:^5.2.0": - version: 5.2.1 - resolution: "focus-visible@npm:5.2.1" - checksum: 10c0/1c0e4e8b22be8684a664acc340efd6a41aafb560ce09979186a1c934de321ce8d6a3d7175c946aab1c87409b0e10f623274d7ce7d42ff16a0e4dc862fa151623 - languageName: node - linkType: hard - "foreground-child@npm:^3.1.0": version: 3.3.0 resolution: "foreground-child@npm:3.3.0" @@ -3632,6 +4137,13 @@ __metadata: languageName: node linkType: hard +"format@npm:^0.2.0": + version: 0.2.2 + resolution: "format@npm:0.2.2" + checksum: 10c0/6032ba747541a43abf3e37b402b2f72ee08ebcb58bf84d816443dd228959837f1cddf1e8775b29fa27ff133f4bd146d041bfca5f9cf27f048edf3d493cf8fee6 + languageName: node + linkType: hard + "fraction.js@npm:^4.3.7": version: 4.3.7 resolution: "fraction.js@npm:4.3.7" @@ -3779,9 +4291,9 @@ __metadata: linkType: hard "get-east-asian-width@npm:^1.0.0": - version: 1.2.0 - resolution: "get-east-asian-width@npm:1.2.0" - checksum: 10c0/914b1e217cf38436c24b4c60b4c45289e39a45bf9e65ef9fd343c2815a1a02b8a0215aeec8bf9c07c516089004b6e3826332481f40a09529fcadbf6e579f286b + version: 1.3.0 + resolution: "get-east-asian-width@npm:1.3.0" + checksum: 10c0/1a049ba697e0f9a4d5514c4623781c5246982bdb61082da6b5ae6c33d838e52ce6726407df285cdbb27ec1908b333cf2820989bd3e986e37bb20979437fdf34b languageName: node linkType: hard @@ -3815,25 +4327,6 @@ __metadata: languageName: node linkType: hard -"git-up@npm:^7.0.0": - version: 7.0.0 - resolution: "git-up@npm:7.0.0" - dependencies: - is-ssh: "npm:^1.4.0" - parse-url: "npm:^8.1.0" - checksum: 10c0/a3fa02e1a63c7c824b5ebbf23f4a9a6b34dd80031114c5dd8adb7ef53493642e39d3d80dfef4025a452128400c35c2c138d20a0f6ae5d7d7ef70d9ba13083d34 - languageName: node - linkType: hard - -"git-url-parse@npm:^13.1.0": - version: 13.1.1 - resolution: "git-url-parse@npm:13.1.1" - dependencies: - git-up: "npm:^7.0.0" - checksum: 10c0/9304e6fbc1a6acf5e351e84ad87574fa6b840ccbe531afbbce9ba38e01fcacf6adf386ef7593daa037da59d9fd43b5d7c5232d5648638f8301cc2f18d00ad386 - languageName: node - linkType: hard - "github-from-package@npm:0.0.0": version: 0.0.0 resolution: "github-from-package@npm:0.0.0" @@ -3866,6 +4359,13 @@ __metadata: languageName: node linkType: hard +"glob-to-regexp@npm:^0.4.1": + version: 0.4.1 + resolution: "glob-to-regexp@npm:0.4.1" + checksum: 10c0/0486925072d7a916f052842772b61c3e86247f0a80cc0deb9b5a3e8a1a9faad5b04fb6f58986a09f34d3e96cd2a22a24b7e9882fb1cf904c31e9a310de96c429 + languageName: node + linkType: hard + "glob@npm:^10.2.2, glob@npm:^10.3.10": version: 10.4.5 resolution: "glob@npm:10.4.5" @@ -3896,7 +4396,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 @@ -3915,6 +4415,13 @@ __metadata: languageName: node linkType: hard +"hachure-fill@npm:^0.5.2": + version: 0.5.2 + resolution: "hachure-fill@npm:0.5.2" + checksum: 10c0/307e3b6f9f2d3c11a82099c3f71eecbb9c440c00c1f896ac1732c23e6dbff16a92bb893d222b8b721b89cf11e58649ca60b4c24e5663f705f877cefd40153429 + languageName: node + linkType: hard + "has-flag@npm:^2.0.0": version: 2.0.0 resolution: "has-flag@npm:2.0.0" @@ -3922,13 +4429,6 @@ __metadata: languageName: node linkType: hard -"has-flag@npm:^3.0.0": - version: 3.0.0 - resolution: "has-flag@npm:3.0.0" - checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 - languageName: node - linkType: hard - "has-flag@npm:^4.0.0": version: 4.0.0 resolution: "has-flag@npm:4.0.0" @@ -3943,17 +4443,6 @@ __metadata: languageName: node linkType: hard -"hash-obj@npm:^4.0.0": - version: 4.0.0 - resolution: "hash-obj@npm:4.0.0" - dependencies: - is-obj: "npm:^3.0.0" - sort-keys: "npm:^5.0.0" - type-fest: "npm:^1.0.2" - checksum: 10c0/af0a8bd3905afa2b9bd05ec75e37d904c66f6621ae185d53699fc7e5baf8157aeff6f4b9ae3c579da08aae6a5b2536c445c4dd1eecb94070c8717b63eeca97de - languageName: node - linkType: hard - "hasown@npm:^2.0.2": version: 2.0.2 resolution: "hasown@npm:2.0.2" @@ -3987,8 +4476,8 @@ __metadata: linkType: hard "hast-util-from-html@npm:^2.0.0": - version: 2.0.2 - resolution: "hast-util-from-html@npm:2.0.2" + version: 2.0.3 + resolution: "hast-util-from-html@npm:2.0.3" dependencies: "@types/hast": "npm:^3.0.0" devlop: "npm:^1.1.0" @@ -3996,7 +4485,7 @@ __metadata: parse5: "npm:^7.0.0" vfile: "npm:^6.0.0" vfile-message: "npm:^4.0.0" - checksum: 10c0/47fb5fb86885fb62bb59f0cbf0b32402d4005b00f97029e2ed99b0629c2ca2a86985e697cd365f55fb7cc462ed28f42937579624d78bfd0df74c9b656d850382 + checksum: 10c0/993ef707c1a12474c8d4094fc9706a72826c660a7e308ea54c50ad893353d32e139b7cbc67510c2e82feac572b320e3b05aeb13d0f9c6302d61261f337b46764 languageName: node linkType: hard @@ -4055,30 +4544,7 @@ __metadata: languageName: node linkType: hard -"hast-util-to-estree@npm:^2.0.0": - version: 2.3.3 - resolution: "hast-util-to-estree@npm:2.3.3" - dependencies: - "@types/estree": "npm:^1.0.0" - "@types/estree-jsx": "npm:^1.0.0" - "@types/hast": "npm:^2.0.0" - "@types/unist": "npm:^2.0.0" - comma-separated-tokens: "npm:^2.0.0" - estree-util-attach-comments: "npm:^2.0.0" - estree-util-is-identifier-name: "npm:^2.0.0" - hast-util-whitespace: "npm:^2.0.0" - mdast-util-mdx-expression: "npm:^1.0.0" - mdast-util-mdxjs-esm: "npm:^1.0.0" - property-information: "npm:^6.0.0" - space-separated-tokens: "npm:^2.0.0" - style-to-object: "npm:^0.4.1" - unist-util-position: "npm:^4.0.0" - zwitch: "npm:^2.0.0" - checksum: 10c0/5947b5030a6d20c193f5ea576cc751507e0b30d00f91e40a5208ca3a7add03a3862795a83600c0fdadf19c8b051917c7904715fa7dd358f04603d67a36341c38 - languageName: node - linkType: hard - -"hast-util-to-estree@npm:^3.0.0": +"hast-util-to-estree@npm:^3.0.0, hast-util-to-estree@npm:^3.1.0": version: 3.1.0 resolution: "hast-util-to-estree@npm:3.1.0" dependencies: @@ -4102,9 +4568,28 @@ __metadata: languageName: node linkType: hard +"hast-util-to-html@npm:^9.0.3": + version: 9.0.3 + resolution: "hast-util-to-html@npm:9.0.3" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" + ccount: "npm:^2.0.0" + comma-separated-tokens: "npm:^2.0.0" + hast-util-whitespace: "npm:^3.0.0" + html-void-elements: "npm:^3.0.0" + mdast-util-to-hast: "npm:^13.0.0" + property-information: "npm:^6.0.0" + space-separated-tokens: "npm:^2.0.0" + stringify-entities: "npm:^4.0.0" + zwitch: "npm:^2.0.4" + checksum: 10c0/af938a03034727f6c944d3855732d72f71a3bcd920d36b9ba3e083df2217faf81713740934db64673aca69d76b60abe80052e47c0702323fd0bd5dce03b67b8d + languageName: node + linkType: hard + "hast-util-to-jsx-runtime@npm:^2.0.0": - version: 2.3.0 - resolution: "hast-util-to-jsx-runtime@npm:2.3.0" + version: 2.3.2 + resolution: "hast-util-to-jsx-runtime@npm:2.3.2" dependencies: "@types/estree": "npm:^1.0.0" "@types/hast": "npm:^3.0.0" @@ -4121,7 +4606,7 @@ __metadata: style-to-object: "npm:^1.0.0" unist-util-position: "npm:^5.0.0" vfile-message: "npm:^4.0.0" - checksum: 10c0/df7a36dcc792df7667a54438f044b721753d5e09692606d23bf7336bf4651670111fe7728eebbf9f0e4f96ab3346a05bb23037fa1b1d115482b3bc5bde8b6912 + checksum: 10c0/97761b2a48b8bc37da3d66cb4872312ae06c6e8f9be59e33b04b21fa5af371a39cb23b3ca165dd8e898ba1caf9b76399da35c957e68bad02a587a3a324216d56 languageName: node linkType: hard @@ -4140,6 +4625,15 @@ __metadata: languageName: node linkType: hard +"hast-util-to-string@npm:^3.0.0": + version: 3.0.1 + resolution: "hast-util-to-string@npm:3.0.1" + dependencies: + "@types/hast": "npm:^3.0.0" + checksum: 10c0/b5fa1912a6ba6131affae52a0f4394406c4c0d23c2b0307f1d69988f1030c7bb830289303e67c5ad8f674f5f23a454c1dcd492c39e45a22c1f46d3c9bce5bd0c + languageName: node + linkType: hard + "hast-util-to-text@npm:^4.0.0": version: 4.0.2 resolution: "hast-util-to-text@npm:4.0.2" @@ -4152,13 +4646,6 @@ __metadata: languageName: node linkType: hard -"hast-util-whitespace@npm:^2.0.0": - version: 2.0.1 - resolution: "hast-util-whitespace@npm:2.0.1" - checksum: 10c0/dcf6ebab091c802ffa7bb3112305c7631c15adb6c07a258f5528aefbddf82b4e162c8310ef426c48dc1dc623982cc33920e6dde5a50015d307f2778dcf6c2487 - languageName: node - linkType: hard - "hast-util-whitespace@npm:^3.0.0": version: 3.0.0 resolution: "hast-util-whitespace@npm:3.0.0" @@ -4282,11 +4769,11 @@ __metadata: linkType: hard "husky@npm:9": - version: 9.1.5 - resolution: "husky@npm:9.1.5" + version: 9.1.6 + resolution: "husky@npm:9.1.6" bin: husky: bin.js - checksum: 10c0/f42efb95a026303eb880898760f802d88409780dd72f17781d2dfc302177d4f80b641cf1f1694f53f6d97c536c7397684133d8c8fe4a4426f7460186a7d1c6b8 + checksum: 10c0/705673db4a247c1febd9c5df5f6a3519106cf0335845027bb50a15fba9b1f542cb2610932ede96fd08008f6d9f49db0f15560509861808b0031cdc0e7c798bac languageName: node linkType: hard @@ -4367,10 +4854,10 @@ __metadata: languageName: node linkType: hard -"inline-style-parser@npm:0.2.3": - version: 0.2.3 - resolution: "inline-style-parser@npm:0.2.3" - checksum: 10c0/21b46d39a39c8aeaa738346650469388e8a412dd276ab75aa3d85b1883311e89c86a1fdbb8c2f1958f4c979bae74067f6ba0385455b125faf4fa77e1dbb94799 +"inline-style-parser@npm:0.2.4": + version: 0.2.4 + resolution: "inline-style-parser@npm:0.2.4" + checksum: 10c0/ddc0b210eaa03e0f98d677b9836242c583c7c6051e84ce0e704ae4626e7871c5b78f8e30853480218b446355745775df318d4f82d33087ff7e393245efa9a881 languageName: node linkType: hard @@ -4388,13 +4875,6 @@ __metadata: languageName: node linkType: hard -"intersection-observer@npm:^0.12.2": - version: 0.12.2 - resolution: "intersection-observer@npm:0.12.2" - checksum: 10c0/9591f46b2b742f5801ed69dbc8860f487771b4af8361e7a5dcb28a377beff2ba56336a2b090af261825430d225dae9417121496d2e6925e000e4a469958843ff - languageName: node - linkType: hard - "ip-address@npm:^9.0.5": version: 9.0.5 resolution: "ip-address@npm:9.0.5" @@ -4438,13 +4918,6 @@ __metadata: languageName: node linkType: hard -"is-buffer@npm:^2.0.0": - version: 2.0.5 - resolution: "is-buffer@npm:2.0.5" - checksum: 10c0/e603f6fced83cf94c53399cff3bda1a9f08e391b872b64a73793b0928be3e5f047f2bcece230edb7632eaea2acdbfcb56c23b33d8a20c820023b230f1485679a - languageName: node - linkType: hard - "is-core-module@npm:^2.13.0": version: 2.15.1 resolution: "is-core-module@npm:2.15.1" @@ -4537,13 +5010,6 @@ __metadata: languageName: node linkType: hard -"is-obj@npm:^3.0.0": - version: 3.0.0 - resolution: "is-obj@npm:3.0.0" - checksum: 10c0/48d678fa15c56fd38353634ae2106a538827af9050211b18df13540dba0b38aa25c5cb498648a01311bf493a99ac3ce416576649b8cace10bcce7344611fa56a - languageName: node - linkType: hard - "is-plain-obj@npm:^3.0.0": version: 3.0.0 resolution: "is-plain-obj@npm:3.0.0" @@ -4558,24 +5024,6 @@ __metadata: languageName: node linkType: hard -"is-reference@npm:^3.0.0": - version: 3.0.2 - resolution: "is-reference@npm:3.0.2" - dependencies: - "@types/estree": "npm:*" - checksum: 10c0/652d31b405e8e8269071cee78fe874b072745012eba202c6dc86880fd603a65ae043e3160990ab4a0a4b33567cbf662eecf3bc6b3c2c1550e6c2b6cf885ce5aa - languageName: node - linkType: hard - -"is-ssh@npm:^1.4.0": - version: 1.4.0 - resolution: "is-ssh@npm:1.4.0" - dependencies: - protocols: "npm:^2.0.1" - checksum: 10c0/3eb30d1bcb4507cd25562e7ac61a1c0aa31772134c67cec9c3afe6f4d57ec17e8c2892600a608e8e583f32f53f36465b8968c0305f2855cfbff95acfd049e113 - languageName: node - linkType: hard - "is-stream@npm:^1.1.0": version: 1.1.0 resolution: "is-stream@npm:1.1.0" @@ -4657,6 +5105,17 @@ __metadata: languageName: node linkType: hard +"jest-worker@npm:^27.4.5": + version: 27.5.1 + resolution: "jest-worker@npm:27.5.1" + dependencies: + "@types/node": "npm:*" + merge-stream: "npm:^2.0.0" + supports-color: "npm:^8.0.0" + checksum: 10c0/8c4737ffd03887b3c6768e4cc3ca0269c0336c1e4b1b120943958ddb035ed2a0fc6acab6dc99631720a3720af4e708ff84fb45382ad1e83c27946adf3623969b + languageName: node + linkType: hard + "jiti@npm:^1.21.0": version: 1.21.6 resolution: "jiti@npm:1.21.6" @@ -4685,17 +5144,6 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^4.0.0": - version: 4.1.0 - resolution: "js-yaml@npm:4.1.0" - dependencies: - argparse: "npm:^2.0.1" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f - languageName: node - linkType: hard - "jsbn@npm:1.1.0": version: 1.1.0 resolution: "jsbn@npm:1.1.0" @@ -4703,6 +5151,13 @@ __metadata: languageName: node linkType: hard +"json-parse-even-better-errors@npm:^2.3.1": + version: 2.3.1 + resolution: "json-parse-even-better-errors@npm:2.3.1" + checksum: 10c0/140932564c8f0b88455432e0f33c4cb4086b8868e37524e07e723f4eaedb9425bdc2bafd71bd1d9765bd15fd1e2d126972bc83990f55c467168c228c24d665f3 + languageName: node + linkType: hard + "json-schema-to-ts@npm:1.6.4": version: 1.6.4 resolution: "json-schema-to-ts@npm:1.6.4" @@ -4736,13 +5191,6 @@ __metadata: languageName: node linkType: hard -"jsonc-parser@npm:^3.2.0": - version: 3.3.1 - resolution: "jsonc-parser@npm:3.3.1" - checksum: 10c0/269c3ae0a0e4f907a914bf334306c384aabb9929bd8c99f909275ebd5c2d3bc70b9bcd119ad794f339dec9f24b6a4ee9cd5a8ab2e6435e730ad4075388fc2ab6 - languageName: node - linkType: hard - "jsonfile@npm:^4.0.0": version: 4.0.0 resolution: "jsonfile@npm:4.0.0" @@ -4779,7 +5227,7 @@ __metadata: languageName: node linkType: hard -"khroma@npm:^2.0.0": +"khroma@npm:^2.1.0": version: 2.1.0 resolution: "khroma@npm:2.1.0" checksum: 10c0/634d98753ff5d2540491cafeb708fc98de0d43f4e6795256d5c8f6e3ad77de93049ea41433928fda3697adf7bbe6fe27351858f6d23b78f8b5775ef314c59891 @@ -4793,10 +5241,23 @@ __metadata: languageName: node linkType: hard -"kleur@npm:^4.0.3": - version: 4.1.5 - resolution: "kleur@npm:4.1.5" - checksum: 10c0/e9de6cb49657b6fa70ba2d1448fd3d691a5c4370d8f7bbf1c2f64c24d461270f2117e1b0afe8cb3114f13bbd8e51de158c2a224953960331904e636a5e4c0f2a +"kolorist@npm:^1.8.0": + version: 1.8.0 + resolution: "kolorist@npm:1.8.0" + checksum: 10c0/73075db44a692bf6c34a649f3b4b3aea4993b84f6b754cbf7a8577e7c7db44c0bad87752bd23b0ce533f49de2244ce2ce03b7b1b667a85ae170a94782cc50f9b + languageName: node + linkType: hard + +"langium@npm:3.0.0": + version: 3.0.0 + resolution: "langium@npm:3.0.0" + dependencies: + chevrotain: "npm:~11.0.3" + chevrotain-allstar: "npm:~0.3.0" + vscode-languageserver: "npm:~9.0.1" + vscode-languageserver-textdocument: "npm:~1.0.11" + vscode-uri: "npm:~3.0.8" + checksum: 10c0/d1cb87de67024aae6a49f4762164461d678ccdda908b48e017556ff73f4838ff5cb74fda61b42e72d9795fbc1639927a2205add358752708d5f600dcbb3f512c languageName: node linkType: hard @@ -4807,6 +5268,13 @@ __metadata: languageName: node linkType: hard +"layout-base@npm:^2.0.0": + version: 2.0.1 + resolution: "layout-base@npm:2.0.1" + checksum: 10c0/a44df9ef3cbff9916a10f616635e22b5787c89fa62b2fec6f99e8e6ee512c7cebd22668ce32dab5a83c934ba0a309c51a678aa0b40d70853de6c357893c0a88b + languageName: node + linkType: hard + "lilconfig@npm:^2.1.0": version: 2.1.0 resolution: "lilconfig@npm:2.1.0" @@ -4828,7 +5296,7 @@ __metadata: languageName: node linkType: hard -"lint-staged@npm:^15.2.0": +"lint-staged@npm:^15.2.10": version: 15.2.10 resolution: "lint-staged@npm:15.2.10" dependencies: @@ -4849,8 +5317,8 @@ __metadata: linkType: hard "listr2@npm:~8.2.4": - version: 8.2.4 - resolution: "listr2@npm:8.2.4" + version: 8.2.5 + resolution: "listr2@npm:8.2.5" dependencies: cli-truncate: "npm:^4.0.0" colorette: "npm:^2.0.20" @@ -4858,7 +5326,14 @@ __metadata: log-update: "npm:^6.1.0" rfdc: "npm:^1.4.1" wrap-ansi: "npm:^9.0.0" - checksum: 10c0/df5b129e9767de1997973cec6103cd4bd6fc3b3367685b7c23048d12b61d5b7e44fecd8a3d3534c0e1c963bd5ac43ca501d14712f46fa101050037be323a5c16 + checksum: 10c0/f5a9599514b00c27d7eb32d1117c83c61394b2a985ec20e542c798bf91cf42b19340215701522736f5b7b42f557e544afeadec47866e35e5d4f268f552729671 + languageName: node + linkType: hard + +"loader-runner@npm:^4.2.0": + version: 4.3.0 + resolution: "loader-runner@npm:4.3.0" + checksum: 10c0/a44d78aae0907a72f73966fe8b82d1439c8c485238bd5a864b1b9a2a3257832effa858790241e6b37876b5446a78889adf2fcc8dd897ce54c089ecc0a0ce0bf0 languageName: node linkType: hard @@ -4873,6 +5348,16 @@ __metadata: languageName: node linkType: hard +"local-pkg@npm:^0.5.0": + version: 0.5.0 + resolution: "local-pkg@npm:0.5.0" + dependencies: + mlly: "npm:^1.4.2" + pkg-types: "npm:^1.0.3" + checksum: 10c0/f61cbd00d7689f275558b1a45c7ff2a3ddf8472654123ed880215677b9adfa729f1081e50c27ffb415cdb9fa706fb755fec5e23cdd965be375c8059e87ff1cc9 + languageName: node + linkType: hard + "locate-path@npm:^5.0.0": version: 5.0.0 resolution: "locate-path@npm:5.0.0" @@ -4882,20 +5367,13 @@ __metadata: languageName: node linkType: hard -"lodash-es@npm:^4.17.21": +"lodash-es@npm:4.17.21, lodash-es@npm:^4.17.21": version: 4.17.21 resolution: "lodash-es@npm:4.17.21" checksum: 10c0/fb407355f7e6cd523a9383e76e6b455321f0f153a6c9625e21a8827d10c54c2a2341bd2ae8d034358b60e07325e1330c14c224ff582d04612a46a4f0479ff2f2 languageName: node linkType: hard -"lodash.get@npm:^4.4.2": - version: 4.4.2 - resolution: "lodash.get@npm:4.4.2" - checksum: 10c0/48f40d471a1654397ed41685495acb31498d5ed696185ac8973daef424a749ca0c7871bf7b665d5c14f5cc479394479e0307e781f61d5573831769593411be6e - languageName: node - linkType: hard - "lodash.truncate@npm:^4.4.2": version: 4.4.2 resolution: "lodash.truncate@npm:4.4.2" @@ -5003,13 +5481,6 @@ __metadata: languageName: node linkType: hard -"markdown-extensions@npm:^1.0.0": - version: 1.1.1 - resolution: "markdown-extensions@npm:1.1.1" - checksum: 10c0/eb9154016502ad1fb4477683ddb5cae8ba3ca06451b381b04dc4c34e91d8d168129d50d404b717d6bf7d458e13088c109303fc72d57cee7151a6082b0e7bba71 - languageName: node - linkType: hard - "markdown-extensions@npm:^2.0.0": version: 2.0.0 resolution: "markdown-extensions@npm:2.0.0" @@ -5018,68 +5489,48 @@ __metadata: linkType: hard "markdown-table@npm:^3.0.0": - version: 3.0.3 - resolution: "markdown-table@npm:3.0.3" - checksum: 10c0/47433a3f31e4637a184e38e873ab1d2fadfb0106a683d466fec329e99a2d8dfa09f091fa42202c6f13ec94aef0199f449a684b28042c636f2edbc1b7e1811dcd + version: 3.0.4 + resolution: "markdown-table@npm:3.0.4" + checksum: 10c0/1257b31827629a54c24a5030a3dac952256c559174c95ce3ef89bebd6bff0cb1444b1fd667b1a1bb53307f83278111505b3e26f0c4e7b731e0060d435d2d930b languageName: node linkType: hard -"match-sorter@npm:^6.3.1": - version: 6.3.4 - resolution: "match-sorter@npm:6.3.4" - dependencies: - "@babel/runtime": "npm:^7.23.8" - remove-accents: "npm:0.5.0" - checksum: 10c0/35d2a6b6df003c677d9ec87ecd4683657638f5bce856f43f9cf90b03e357ed2f09813ebbac759defa7e7438706936dd34dc2bfe1a18771f7d2541f14d639b4ad +"marked@npm:^13.0.2": + version: 13.0.3 + resolution: "marked@npm:13.0.3" + bin: + marked: bin/marked.js + checksum: 10c0/b1121f420f815206ae5ae109b9b0eb6c21f84d8d459cbe38ffa00543652e091f36a55c2c96ff1414821d8752682af8c0de3f44f0a2a5bd9c8612a4ef520e9b3d languageName: node linkType: hard -"mdast-util-definitions@npm:^5.0.0": - version: 5.1.2 - resolution: "mdast-util-definitions@npm:5.1.2" +"mathjax-full@npm:^3.2.2": + version: 3.2.2 + resolution: "mathjax-full@npm:3.2.2" dependencies: - "@types/mdast": "npm:^3.0.0" - "@types/unist": "npm:^2.0.0" - unist-util-visit: "npm:^4.0.0" - checksum: 10c0/da9049c15562e44ee4ea4a36113d98c6c9eaa3d8a17d6da2aef6a0626376dcd01d9ec007d77a8dfcad6d0cbd5c32a4abbad72a3f48c3172a55934c7d9a916480 + esm: "npm:^3.2.25" + mhchemparser: "npm:^4.1.0" + mj-context-menu: "npm:^0.6.1" + speech-rule-engine: "npm:^4.0.6" + checksum: 10c0/48f55747bd91aa6bba905bab8654045e4d654a0a65869b1d446e25a89284ef37dc722c6c4a585e7fc14c5f87bb6954291f066e08e5a8245bb5ff0c4f4c54c8d4 languageName: node linkType: hard -"mdast-util-find-and-replace@npm:^2.0.0": - version: 2.2.2 - resolution: "mdast-util-find-and-replace@npm:2.2.2" +"mdast-util-find-and-replace@npm:^3.0.0": + version: 3.0.1 + resolution: "mdast-util-find-and-replace@npm:3.0.1" dependencies: - "@types/mdast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" escape-string-regexp: "npm:^5.0.0" - unist-util-is: "npm:^5.0.0" - unist-util-visit-parents: "npm:^5.0.0" - checksum: 10c0/ce935f4bd4aeab47f91531a7f09dfab89aaeea62ad31029b43185c5b626921357703d8e5093c13073c097fdabfc57cb2f884d7dfad83dbe7239e351375d6797c - languageName: node - linkType: hard - -"mdast-util-from-markdown@npm:^1.0.0, mdast-util-from-markdown@npm:^1.1.0, mdast-util-from-markdown@npm:^1.3.0": - version: 1.3.1 - resolution: "mdast-util-from-markdown@npm:1.3.1" - dependencies: - "@types/mdast": "npm:^3.0.0" - "@types/unist": "npm:^2.0.0" - decode-named-character-reference: "npm:^1.0.0" - mdast-util-to-string: "npm:^3.1.0" - micromark: "npm:^3.0.0" - micromark-util-decode-numeric-character-reference: "npm:^1.0.0" - micromark-util-decode-string: "npm:^1.0.0" - micromark-util-normalize-identifier: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - unist-util-stringify-position: "npm:^3.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/f4e901bf2a2e93fe35a339e0cff581efacce2f7117cd5652e9a270847bd7e2508b3e717b7b4156af54d4f896d63033e06ff9fafbf59a1d46fe17dd5e2a3f7846 + unist-util-is: "npm:^6.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10c0/1faca98c4ee10a919f23b8cc6d818e5bb6953216a71dfd35f51066ed5d51ef86e5063b43dcfdc6061cd946e016a9f0d44a1dccadd58452cf4ed14e39377f00cb languageName: node linkType: hard -"mdast-util-from-markdown@npm:^2.0.0": - version: 2.0.1 - resolution: "mdast-util-from-markdown@npm:2.0.1" +"mdast-util-from-markdown@npm:^2.0.0, mdast-util-from-markdown@npm:^2.0.1": + version: 2.0.2 + resolution: "mdast-util-from-markdown@npm:2.0.2" dependencies: "@types/mdast": "npm:^4.0.0" "@types/unist": "npm:^3.0.0" @@ -5093,107 +5544,119 @@ __metadata: micromark-util-symbol: "npm:^2.0.0" micromark-util-types: "npm:^2.0.0" unist-util-stringify-position: "npm:^4.0.0" - checksum: 10c0/496596bc6419200ff6258531a0ebcaee576a5c169695f5aa296a79a85f2a221bb9247d565827c709a7c2acfb56ae3c3754bf483d86206617bd299a9658c8121c + checksum: 10c0/76eb2bd2c6f7a0318087c73376b8af6d7561c1e16654e7667e640f391341096c56142618fd0ff62f6d39e5ab4895898b9789c84cd7cec2874359a437a0e1ff15 languageName: node linkType: hard -"mdast-util-gfm-autolink-literal@npm:^1.0.0": - version: 1.0.3 - resolution: "mdast-util-gfm-autolink-literal@npm:1.0.3" +"mdast-util-frontmatter@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-frontmatter@npm:2.0.1" dependencies: - "@types/mdast": "npm:^3.0.0" - ccount: "npm:^2.0.0" - mdast-util-find-and-replace: "npm:^2.0.0" - micromark-util-character: "npm:^1.0.0" - checksum: 10c0/750e312eae73c3f2e8aa0e8c5232cb1b905357ff37ac236927f1af50cdbee7c2cfe2379b148ac32fa4137eeb3b24601e1bb6135084af926c7cd808867804193f + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + escape-string-regexp: "npm:^5.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + micromark-extension-frontmatter: "npm:^2.0.0" + checksum: 10c0/d9b0b70dd9c574cc0220d4e05dd8e9d86ac972a6a5af9e0c49c839b31cb750d4313445cfbbdf9264a7fbe3f8c8d920b45358b8500f4286e6b9dc830095b25b9a languageName: node linkType: hard -"mdast-util-gfm-footnote@npm:^1.0.0": - version: 1.0.2 - resolution: "mdast-util-gfm-footnote@npm:1.0.2" +"mdast-util-gfm-autolink-literal@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-gfm-autolink-literal@npm:2.0.1" dependencies: - "@types/mdast": "npm:^3.0.0" - mdast-util-to-markdown: "npm:^1.3.0" - micromark-util-normalize-identifier: "npm:^1.0.0" - checksum: 10c0/767973e46b9e2ae44e80e51a5e38ad0b032fc7f06a1a3095aa96c2886ba333941c764474a56b82e7db05efc56242a4789bc7fbbcc753d61512750e86a4192fe8 + "@types/mdast": "npm:^4.0.0" + ccount: "npm:^2.0.0" + devlop: "npm:^1.0.0" + mdast-util-find-and-replace: "npm:^3.0.0" + micromark-util-character: "npm:^2.0.0" + checksum: 10c0/963cd22bd42aebdec7bdd0a527c9494d024d1ad0739c43dc040fee35bdfb5e29c22564330a7418a72b5eab51d47a6eff32bc0255ef3ccb5cebfe8970e91b81b6 languageName: node linkType: hard -"mdast-util-gfm-strikethrough@npm:^1.0.0": - version: 1.0.3 - resolution: "mdast-util-gfm-strikethrough@npm:1.0.3" +"mdast-util-gfm-footnote@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-footnote@npm:2.0.0" dependencies: - "@types/mdast": "npm:^3.0.0" - mdast-util-to-markdown: "npm:^1.3.0" - checksum: 10c0/29616b3dfdd33d3cd13f9b3181a8562fa2fbacfcb04a37dba3c690ba6829f0231b145444de984726d9277b2bc90dd7d96fb9df9f6292d5e77d65a8659ee2f52b + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.1.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + checksum: 10c0/c673b22bea24740235e74cfd66765b41a2fa540334f7043fa934b94938b06b7d3c93f2d3b33671910c5492b922c0cc98be833be3b04cfed540e0679650a6d2de languageName: node linkType: hard -"mdast-util-gfm-table@npm:^1.0.0": - version: 1.0.7 - resolution: "mdast-util-gfm-table@npm:1.0.7" +"mdast-util-gfm-strikethrough@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-strikethrough@npm:2.0.0" dependencies: - "@types/mdast": "npm:^3.0.0" - markdown-table: "npm:^3.0.0" - mdast-util-from-markdown: "npm:^1.0.0" - mdast-util-to-markdown: "npm:^1.3.0" - checksum: 10c0/a37a05a936292c4f48394123332d3c034a6e1b15bb3e7f3b94e6bce3260c9184fd388abbc4100827edd5485a6563098306994d15a729bde3c96de7a62ed5720b + "@types/mdast": "npm:^4.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/b053e93d62c7545019bd914271ea9e5667ad3b3b57d16dbf68e56fea39a7e19b4a345e781312714eb3d43fdd069ff7ee22a3ca7f6149dfa774554f19ce3ac056 languageName: node linkType: hard -"mdast-util-gfm-task-list-item@npm:^1.0.0": - version: 1.0.2 - resolution: "mdast-util-gfm-task-list-item@npm:1.0.2" +"mdast-util-gfm-table@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-table@npm:2.0.0" dependencies: - "@types/mdast": "npm:^3.0.0" - mdast-util-to-markdown: "npm:^1.3.0" - checksum: 10c0/91fa91f7d1a8797bf129008dab12d23917015ad12df00044e275b4459e8b383fbec6234338953a0089ef9c3a114d0a360c3e652eb0ebf6ece7e7a8fd3b5977c6 + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + markdown-table: "npm:^3.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/128af47c503a53bd1c79f20642561e54a510ad5e2db1e418d28fefaf1294ab839e6c838e341aef5d7e404f9170b9ca3d1d89605f234efafde93ee51174a6e31e languageName: node linkType: hard -"mdast-util-gfm@npm:^2.0.0": - version: 2.0.2 - resolution: "mdast-util-gfm@npm:2.0.2" +"mdast-util-gfm-task-list-item@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-task-list-item@npm:2.0.0" dependencies: - mdast-util-from-markdown: "npm:^1.0.0" - mdast-util-gfm-autolink-literal: "npm:^1.0.0" - mdast-util-gfm-footnote: "npm:^1.0.0" - mdast-util-gfm-strikethrough: "npm:^1.0.0" - mdast-util-gfm-table: "npm:^1.0.0" - mdast-util-gfm-task-list-item: "npm:^1.0.0" - mdast-util-to-markdown: "npm:^1.0.0" - checksum: 10c0/5b7f7f98a90a2962d7e0787e080c4e55b70119100c7685bbdb772d8d7865524aeffd1757edba5afba434250e0246b987c0617c2c635baaf51c26dbbb3b72dbec + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/258d725288482b636c0a376c296431390c14b4f29588675297cb6580a8598ed311fc73ebc312acfca12cc8546f07a3a285a53a3b082712e2cbf5c190d677d834 languageName: node linkType: hard -"mdast-util-math@npm:^2.0.0": - version: 2.0.2 - resolution: "mdast-util-math@npm:2.0.2" +"mdast-util-gfm@npm:^3.0.0": + version: 3.0.0 + resolution: "mdast-util-gfm@npm:3.0.0" dependencies: - "@types/mdast": "npm:^3.0.0" - longest-streak: "npm:^3.0.0" - mdast-util-to-markdown: "npm:^1.3.0" - checksum: 10c0/2270b6f8d7f0eb7dd5c27bee8ad43f29a8e76a7092742945fd115480ddd8bf72ae53ba1f8f63697cec82016e0c169f0a201503862dfe6bc7ac2286662de3fe8e + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-gfm-autolink-literal: "npm:^2.0.0" + mdast-util-gfm-footnote: "npm:^2.0.0" + mdast-util-gfm-strikethrough: "npm:^2.0.0" + mdast-util-gfm-table: "npm:^2.0.0" + mdast-util-gfm-task-list-item: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/91596fe9bf3e4a0c546d0c57f88106c17956d9afbe88ceb08308e4da2388aff64489d649ddad599caecfdf755fc3ae4c9b82c219b85281bc0586b67599881fca languageName: node linkType: hard -"mdast-util-mdx-expression@npm:^1.0.0": - version: 1.3.2 - resolution: "mdast-util-mdx-expression@npm:1.3.2" +"mdast-util-math@npm:^3.0.0": + version: 3.0.0 + resolution: "mdast-util-math@npm:3.0.0" dependencies: - "@types/estree-jsx": "npm:^1.0.0" - "@types/hast": "npm:^2.0.0" - "@types/mdast": "npm:^3.0.0" - mdast-util-from-markdown: "npm:^1.0.0" - mdast-util-to-markdown: "npm:^1.0.0" - checksum: 10c0/01f306ee809d28825cbec23b3c80376a0fbe69601b6b2843d23beb5662a31ec7560995f52b96b13093cc03de1130404a47f139d16f58c3f54e91e88f4bdd82d2 + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + longest-streak: "npm:^3.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.1.0" + unist-util-remove-position: "npm:^5.0.0" + checksum: 10c0/d4e839e38719f26872ed78aac18339805a892f1b56585a9cb8668f34e221b4f0660b9dfe49ec96dbbe79fd1b63b648608a64046d8286bcd2f9d576e80b48a0a1 languageName: node linkType: hard "mdast-util-mdx-expression@npm:^2.0.0": - version: 2.0.0 - resolution: "mdast-util-mdx-expression@npm:2.0.0" + version: 2.0.1 + resolution: "mdast-util-mdx-expression@npm:2.0.1" dependencies: "@types/estree-jsx": "npm:^1.0.0" "@types/hast": "npm:^3.0.0" @@ -5201,27 +5664,7 @@ __metadata: devlop: "npm:^1.0.0" mdast-util-from-markdown: "npm:^2.0.0" mdast-util-to-markdown: "npm:^2.0.0" - checksum: 10c0/512848cbc44b9dc7cffc1bb3f95f7e67f0d6562870e56a67d25647f475d411e136b915ba417c8069fb36eac1839d0209fb05fb323d377f35626a82fcb0879363 - languageName: node - linkType: hard - -"mdast-util-mdx-jsx@npm:^2.0.0": - version: 2.1.4 - resolution: "mdast-util-mdx-jsx@npm:2.1.4" - dependencies: - "@types/estree-jsx": "npm:^1.0.0" - "@types/hast": "npm:^2.0.0" - "@types/mdast": "npm:^3.0.0" - "@types/unist": "npm:^2.0.0" - ccount: "npm:^2.0.0" - mdast-util-from-markdown: "npm:^1.1.0" - mdast-util-to-markdown: "npm:^1.3.0" - parse-entities: "npm:^4.0.0" - stringify-entities: "npm:^4.0.0" - unist-util-remove-position: "npm:^4.0.0" - unist-util-stringify-position: "npm:^3.0.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/b0c16e56a99c5167e60c98dbdbe82645549630fb529688642c4664ca5557ff0b3029c75146f5657cadb7908d5fa99810eacc5dcc51676d0877c8b4dcebb11cbe + checksum: 10c0/9a1e57940f66431f10312fa239096efa7627f375e7933b5d3162c0b5c1712a72ac87447aff2b6838d2bbd5c1311b188718cc90b33b67dc67a88550e0a6ef6183 languageName: node linkType: hard @@ -5245,19 +5688,6 @@ __metadata: languageName: node linkType: hard -"mdast-util-mdx@npm:^2.0.0": - version: 2.0.1 - resolution: "mdast-util-mdx@npm:2.0.1" - dependencies: - mdast-util-from-markdown: "npm:^1.0.0" - mdast-util-mdx-expression: "npm:^1.0.0" - mdast-util-mdx-jsx: "npm:^2.0.0" - mdast-util-mdxjs-esm: "npm:^1.0.0" - mdast-util-to-markdown: "npm:^1.0.0" - checksum: 10c0/3b5e55781a7b7b4b7e71728a84afbec63516f251b3556efec52dbb4824c0733f5ebaa907d21211d008e5cb1a8265e6704bc062ee605f4c09e90fbfa2c6fbba3b - languageName: node - linkType: hard - "mdast-util-mdx@npm:^3.0.0": version: 3.0.0 resolution: "mdast-util-mdx@npm:3.0.0" @@ -5271,19 +5701,6 @@ __metadata: languageName: node linkType: hard -"mdast-util-mdxjs-esm@npm:^1.0.0": - version: 1.3.1 - resolution: "mdast-util-mdxjs-esm@npm:1.3.1" - dependencies: - "@types/estree-jsx": "npm:^1.0.0" - "@types/hast": "npm:^2.0.0" - "@types/mdast": "npm:^3.0.0" - mdast-util-from-markdown: "npm:^1.0.0" - mdast-util-to-markdown: "npm:^1.0.0" - checksum: 10c0/2ff0af34ea62004d39f15bd45b79e3008e68cae7e2510c9281e24a17e2c3f55d004524796166ef5aa3378798ca7f6c5f88883238f413577619bbaf41026b7e62 - languageName: node - linkType: hard - "mdast-util-mdxjs-esm@npm:^2.0.0": version: 2.0.1 resolution: "mdast-util-mdxjs-esm@npm:2.0.1" @@ -5298,16 +5715,6 @@ __metadata: languageName: node linkType: hard -"mdast-util-phrasing@npm:^3.0.0": - version: 3.0.1 - resolution: "mdast-util-phrasing@npm:3.0.1" - dependencies: - "@types/mdast": "npm:^3.0.0" - unist-util-is: "npm:^5.0.0" - checksum: 10c0/5e00e303652a7581593549dbce20dfb69d687d79a972f7928f6ca1920ef5385bceb737a3d5292ab6d937ed8c67bb59771e80e88f530b78734fe7d155f833e32b - languageName: node - linkType: hard - "mdast-util-phrasing@npm:^4.0.0": version: 4.1.0 resolution: "mdast-util-phrasing@npm:4.1.0" @@ -5318,23 +5725,7 @@ __metadata: languageName: node linkType: hard -"mdast-util-to-hast@npm:^12.1.0": - version: 12.3.0 - resolution: "mdast-util-to-hast@npm:12.3.0" - dependencies: - "@types/hast": "npm:^2.0.0" - "@types/mdast": "npm:^3.0.0" - mdast-util-definitions: "npm:^5.0.0" - micromark-util-sanitize-uri: "npm:^1.1.0" - trim-lines: "npm:^3.0.0" - unist-util-generated: "npm:^2.0.0" - unist-util-position: "npm:^4.0.0" - unist-util-visit: "npm:^4.0.0" - checksum: 10c0/0753e45bfcce423f7a13979ac720a23ed8d6bafed174c387f43bbe8baf3838f3a043cd8006975b71e5c4068b7948f83f1348acea79801101af31eaec4e7a499a - languageName: node - linkType: hard - -"mdast-util-to-hast@npm:^13.0.0": +"mdast-util-to-hast@npm:^13.0.0, mdast-util-to-hast@npm:^13.2.0": version: 13.2.0 resolution: "mdast-util-to-hast@npm:13.2.0" dependencies: @@ -5351,23 +5742,7 @@ __metadata: languageName: node linkType: hard -"mdast-util-to-markdown@npm:^1.0.0, mdast-util-to-markdown@npm:^1.3.0": - version: 1.5.0 - resolution: "mdast-util-to-markdown@npm:1.5.0" - dependencies: - "@types/mdast": "npm:^3.0.0" - "@types/unist": "npm:^2.0.0" - longest-streak: "npm:^3.0.0" - mdast-util-phrasing: "npm:^3.0.0" - mdast-util-to-string: "npm:^3.0.0" - micromark-util-decode-string: "npm:^1.0.0" - unist-util-visit: "npm:^4.0.0" - zwitch: "npm:^2.0.0" - checksum: 10c0/9831d14aa6c097750a90c7b87b4e814b040731c30606a794c9b136dc746633dd9ec07154ca97d4fec4eaf732cf89d14643424e2581732d6ee18c9b0e51ff7664 - languageName: node - linkType: hard - -"mdast-util-to-markdown@npm:^2.0.0": +"mdast-util-to-markdown@npm:^2.0.0, mdast-util-to-markdown@npm:^2.1.0": version: 2.1.0 resolution: "mdast-util-to-markdown@npm:2.1.0" dependencies: @@ -5383,15 +5758,6 @@ __metadata: languageName: node linkType: hard -"mdast-util-to-string@npm:^3.0.0, mdast-util-to-string@npm:^3.1.0": - version: 3.2.0 - resolution: "mdast-util-to-string@npm:3.2.0" - dependencies: - "@types/mdast": "npm:^3.0.0" - checksum: 10c0/112f4bf0f6758dcb95deffdcf37afba7eaecdfe2ee13252de031723094d4d55220e147326690a8b91244758e2d678e7aeb1fdd0fa6ef3317c979bc42effd9a21 - languageName: node - linkType: hard - "mdast-util-to-string@npm:^4.0.0": version: 4.0.0 resolution: "mdast-util-to-string@npm:4.0.0" @@ -5415,31 +5781,37 @@ __metadata: languageName: node linkType: hard -"mermaid@npm:^10.2.2": - version: 10.9.1 - resolution: "mermaid@npm:10.9.1" +"mermaid@npm:^11.0.0": + version: 11.3.0 + resolution: "mermaid@npm:11.3.0" dependencies: - "@braintree/sanitize-url": "npm:^6.0.1" - "@types/d3-scale": "npm:^4.0.3" - "@types/d3-scale-chromatic": "npm:^3.0.0" - cytoscape: "npm:^3.28.1" + "@braintree/sanitize-url": "npm:^7.0.1" + "@iconify/utils": "npm:^2.1.32" + "@mermaid-js/parser": "npm:^0.3.0" + cytoscape: "npm:^3.29.2" cytoscape-cose-bilkent: "npm:^4.1.0" - d3: "npm:^7.4.0" + cytoscape-fcose: "npm:^2.2.0" + d3: "npm:^7.9.0" d3-sankey: "npm:^0.12.3" dagre-d3-es: "npm:7.0.10" - dayjs: "npm:^1.11.7" - dompurify: "npm:^3.0.5" - elkjs: "npm:^0.9.0" + dayjs: "npm:^1.11.10" + dompurify: "npm:^3.0.11 <3.1.7" katex: "npm:^0.16.9" - khroma: "npm:^2.0.0" + khroma: "npm:^2.1.0" lodash-es: "npm:^4.17.21" - mdast-util-from-markdown: "npm:^1.3.0" - non-layered-tidy-tree-layout: "npm:^2.0.2" - stylis: "npm:^4.1.3" + marked: "npm:^13.0.2" + roughjs: "npm:^4.6.6" + stylis: "npm:^4.3.1" ts-dedent: "npm:^2.2.0" - uuid: "npm:^9.0.0" - web-worker: "npm:^1.2.0" - checksum: 10c0/034f326682e3e478e4bd85e418cfef00773db4432301b858247c8d4bf813e67fa1901e8548fc490eafe4c9c215c9fb96dead73007ff317ee99973cf4f63c8791 + uuid: "npm:^9.0.1" + checksum: 10c0/32786d34f6cd69cb7fcfb2f72543a69169610c132fd88942177aa123ed4d3268e0a103091aa24c2e2c16ea788ddaae615119e873fce2b5093d24ed437f773821 + languageName: node + linkType: hard + +"mhchemparser@npm:^4.1.0": + version: 4.2.1 + resolution: "mhchemparser@npm:4.2.1" + checksum: 10c0/5afe8b5ed918fda71a17875227050fd7e8e706305df28bd0beb5a7cd07886a393d041317e3c4b9105fc518ab75065b65886b2574cbd8dec49520de04d119e64a languageName: node linkType: hard @@ -5456,30 +5828,6 @@ __metadata: languageName: node linkType: hard -"micromark-core-commonmark@npm:^1.0.0, micromark-core-commonmark@npm:^1.0.1": - version: 1.1.0 - resolution: "micromark-core-commonmark@npm:1.1.0" - dependencies: - decode-named-character-reference: "npm:^1.0.0" - micromark-factory-destination: "npm:^1.0.0" - micromark-factory-label: "npm:^1.0.0" - micromark-factory-space: "npm:^1.0.0" - micromark-factory-title: "npm:^1.0.0" - micromark-factory-whitespace: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-chunked: "npm:^1.0.0" - micromark-util-classify-character: "npm:^1.0.0" - micromark-util-html-tag-name: "npm:^1.0.0" - micromark-util-normalize-identifier: "npm:^1.0.0" - micromark-util-resolve-all: "npm:^1.0.0" - micromark-util-subtokenize: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.1" - uvu: "npm:^0.5.0" - checksum: 10c0/b3bf7b7004ce7dbb3ae151dcca4db1d12546f1b943affb2418da4b90b9ce59357373c433ee2eea4c868aee0791dafa355aeed19f5ef2b0acaf271f32f1ecbe6a - languageName: node - linkType: hard - "micromark-core-commonmark@npm:^2.0.0": version: 2.0.1 resolution: "micromark-core-commonmark@npm:2.0.1" @@ -5504,127 +5852,123 @@ __metadata: languageName: node linkType: hard -"micromark-extension-gfm-autolink-literal@npm:^1.0.0": - version: 1.0.5 - resolution: "micromark-extension-gfm-autolink-literal@npm:1.0.5" +"micromark-extension-frontmatter@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-frontmatter@npm:2.0.0" dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-sanitize-uri: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/4964a52605ac36d24501d427e2d173fa39b5e0402275cb45068eba4898f4cb9cc57f7007b21b7514f0ab5f7b371b1701a5156a10b6ac8e77a7f36e830cf481d4 + fault: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/7d0d876e598917a67146d29f536d6fbbf9d1b2401a77e2f64a3f80f934a63ff26fa94b01759c9185c24b2a91e4e6abf908fa7aa246f00a7778a6b37a17464300 languageName: node linkType: hard -"micromark-extension-gfm-footnote@npm:^1.0.0": - version: 1.1.2 - resolution: "micromark-extension-gfm-footnote@npm:1.1.2" +"micromark-extension-gfm-autolink-literal@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-autolink-literal@npm:2.1.0" dependencies: - micromark-core-commonmark: "npm:^1.0.0" - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-normalize-identifier: "npm:^1.0.0" - micromark-util-sanitize-uri: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/b8090876cc3da5436c6253b0b40e39ceaa470c2429f699c19ee4163cef3102c4cd16c4ac2ec8caf916037fad310cfb52a9ef182c75d50fca7419ba08faad9b39 + micromark-util-character: "npm:^2.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/84e6fbb84ea7c161dfa179665dc90d51116de4c28f3e958260c0423e5a745372b7dcbc87d3cde98213b532e6812f847eef5ae561c9397d7f7da1e59872ef3efe languageName: node linkType: hard -"micromark-extension-gfm-strikethrough@npm:^1.0.0": - version: 1.0.7 - resolution: "micromark-extension-gfm-strikethrough@npm:1.0.7" +"micromark-extension-gfm-footnote@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-footnote@npm:2.1.0" dependencies: - micromark-util-chunked: "npm:^1.0.0" - micromark-util-classify-character: "npm:^1.0.0" - micromark-util-resolve-all: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/b45fe93a7a412fc44bae7a183b92a988e17b49ed9d683bd80ee4dde96d462e1ca6b316dd64bda7759e4086d6d8686790a711e53c244f1f4d2b37e1cfe852884d + devlop: "npm:^1.0.0" + micromark-core-commonmark: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/d172e4218968b7371b9321af5cde8c77423f73b233b2b0fcf3ff6fd6f61d2e0d52c49123a9b7910612478bf1f0d5e88c75a3990dd68f70f3933fe812b9f77edc languageName: node linkType: hard -"micromark-extension-gfm-table@npm:^1.0.0": - version: 1.0.7 - resolution: "micromark-extension-gfm-table@npm:1.0.7" +"micromark-extension-gfm-strikethrough@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-strikethrough@npm:2.1.0" dependencies: - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/38b5af80ecab8206845a057338235bee6f47fb6cb904208be4b76e87906765821683e25bef85dfa485809f931eaf8cd55f16cd2f4d6e33b84f56edfaf1dfb129 + devlop: "npm:^1.0.0" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-classify-character: "npm:^2.0.0" + micromark-util-resolve-all: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/ef4f248b865bdda71303b494671b7487808a340b25552b11ca6814dff3fcfaab9be8d294643060bbdb50f79313e4a686ab18b99cbe4d3ee8a4170fcd134234fb languageName: node linkType: hard -"micromark-extension-gfm-tagfilter@npm:^1.0.0": - version: 1.0.2 - resolution: "micromark-extension-gfm-tagfilter@npm:1.0.2" +"micromark-extension-gfm-table@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-table@npm:2.1.0" dependencies: - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/7e1bf278255cf2a8d2dda9de84bc238b39c53100e25ba8d7168220d5b00dc74869a6cb038fbf2e76b8ae89efc66906762311797a906d7d9cdd71e07bfe1ed505 + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/c1b564ab68576406046d825b9574f5b4dbedbb5c44bede49b5babc4db92f015d9057dd79d8e0530f2fecc8970a695c40ac2e5e1d4435ccf3ef161038d0d1463b languageName: node linkType: hard -"micromark-extension-gfm-task-list-item@npm:^1.0.0": - version: 1.0.5 - resolution: "micromark-extension-gfm-task-list-item@npm:1.0.5" +"micromark-extension-gfm-tagfilter@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-gfm-tagfilter@npm:2.0.0" dependencies: - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/2179742fa2cbb243cc06bd9e43fbb94cd98e4814c9d368ddf8b4b5afa0348023f335626ae955e89d679e2c2662a7f82c315117a3b060c87bdb4420fee5a219d1 + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/995558843fff137ae4e46aecb878d8a4691cdf23527dcf1e2f0157d66786be9f7bea0109c52a8ef70e68e3f930af811828ba912239438e31a9cfb9981f44d34d languageName: node linkType: hard -"micromark-extension-gfm@npm:^2.0.0": - version: 2.0.3 - resolution: "micromark-extension-gfm@npm:2.0.3" +"micromark-extension-gfm-task-list-item@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-task-list-item@npm:2.1.0" dependencies: - micromark-extension-gfm-autolink-literal: "npm:^1.0.0" - micromark-extension-gfm-footnote: "npm:^1.0.0" - micromark-extension-gfm-strikethrough: "npm:^1.0.0" - micromark-extension-gfm-table: "npm:^1.0.0" - micromark-extension-gfm-tagfilter: "npm:^1.0.0" - micromark-extension-gfm-task-list-item: "npm:^1.0.0" - micromark-util-combine-extensions: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/53056376d14caf3fab2cc44881c1ad49d975776cc2267bca74abda2cb31f2a77ec0fb2bdb2dd97565f0d9943ad915ff192b89c1cee5d9d727569a5e38505799b + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/78aa537d929e9309f076ba41e5edc99f78d6decd754b6734519ccbbfca8abd52e1c62df68d41a6ae64d2a3fc1646cea955893c79680b0b4385ced4c52296181f languageName: node linkType: hard -"micromark-extension-math@npm:^2.0.0": - version: 2.1.2 - resolution: "micromark-extension-math@npm:2.1.2" - dependencies: - "@types/katex": "npm:^0.16.0" - katex: "npm:^0.16.0" - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/5d40ffc93862498cbcbc9c96a40a05150b878c3d86ab25bc771dec005d286f4381578ccee3f421ecfd9db259298a89a37a5b6b48529842240d34f8acd8edffb5 +"micromark-extension-gfm@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-gfm@npm:3.0.0" + dependencies: + micromark-extension-gfm-autolink-literal: "npm:^2.0.0" + micromark-extension-gfm-footnote: "npm:^2.0.0" + micromark-extension-gfm-strikethrough: "npm:^2.0.0" + micromark-extension-gfm-table: "npm:^2.0.0" + micromark-extension-gfm-tagfilter: "npm:^2.0.0" + micromark-extension-gfm-task-list-item: "npm:^2.0.0" + micromark-util-combine-extensions: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/970e28df6ebdd7c7249f52a0dda56e0566fbfa9ae56c8eeeb2445d77b6b89d44096880cd57a1c01e7821b1f4e31009109fbaca4e89731bff7b83b8519690e5d9 languageName: node linkType: hard -"micromark-extension-mdx-expression@npm:^1.0.0": - version: 1.0.8 - resolution: "micromark-extension-mdx-expression@npm:1.0.8" +"micromark-extension-math@npm:^3.0.0": + version: 3.1.0 + resolution: "micromark-extension-math@npm:3.1.0" dependencies: - "@types/estree": "npm:^1.0.0" - micromark-factory-mdx-expression: "npm:^1.0.0" - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-events-to-acorn: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/99e2997a54caafc4258979c0591b3fe8e31018079df833d559768092fec41e57a71225d423f4179cea4e8bc1af2f52f5c9ae640673619d8fe142ded875240da3 + "@types/katex": "npm:^0.16.0" + devlop: "npm:^1.0.0" + katex: "npm:^0.16.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/56e6f2185a4613f9d47e7e98cf8605851c990957d9229c942b005e286c8087b61dc9149448d38b2f8be6d42cc6a64aad7e1f2778ddd86fbbb1a2f48a3ca1872f languageName: node linkType: hard @@ -5644,24 +5988,6 @@ __metadata: languageName: node linkType: hard -"micromark-extension-mdx-jsx@npm:^1.0.0": - version: 1.0.5 - resolution: "micromark-extension-mdx-jsx@npm:1.0.5" - dependencies: - "@types/acorn": "npm:^4.0.0" - "@types/estree": "npm:^1.0.0" - estree-util-is-identifier-name: "npm:^2.0.0" - micromark-factory-mdx-expression: "npm:^1.0.0" - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/1b4bfbe60b9cabfabfb870f70ded8da0caacbaa3be6bdf07f6db25cc5a14c6bc970c34c60e5c80da1e97766064a117feb8160b6d661d69e530a4cc7ec97305de - languageName: node - linkType: hard - "micromark-extension-mdx-jsx@npm:^3.0.0": version: 3.0.1 resolution: "micromark-extension-mdx-jsx@npm:3.0.1" @@ -5681,15 +6007,6 @@ __metadata: languageName: node linkType: hard -"micromark-extension-mdx-md@npm:^1.0.0": - version: 1.0.1 - resolution: "micromark-extension-mdx-md@npm:1.0.1" - dependencies: - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/9ad70b3a5e842fd7ebd93c8c48a32fd3d05fe77be06a08ef32462ea53e97d8f297e2c1c4b30a6929dbd05125279fe98bb04e9cc0bb686c691bdcf7d36c6e51b0 - languageName: node - linkType: hard - "micromark-extension-mdx-md@npm:^2.0.0": version: 2.0.0 resolution: "micromark-extension-mdx-md@npm:2.0.0" @@ -5699,23 +6016,6 @@ __metadata: languageName: node linkType: hard -"micromark-extension-mdxjs-esm@npm:^1.0.0": - version: 1.0.5 - resolution: "micromark-extension-mdxjs-esm@npm:1.0.5" - dependencies: - "@types/estree": "npm:^1.0.0" - micromark-core-commonmark: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-events-to-acorn: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - unist-util-position-from-estree: "npm:^1.1.0" - uvu: "npm:^0.5.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/612028bced78e882641a43c78fc4813a573b383dc0a7b90db75ed88b37bf5b5997dc7ead4a1011315b34f17bc76b7f4419de6ad9532a088102ab1eea0245d380 - languageName: node - linkType: hard - "micromark-extension-mdxjs-esm@npm:^3.0.0": version: 3.0.0 resolution: "micromark-extension-mdxjs-esm@npm:3.0.0" @@ -5733,22 +6033,6 @@ __metadata: languageName: node linkType: hard -"micromark-extension-mdxjs@npm:^1.0.0": - version: 1.0.1 - resolution: "micromark-extension-mdxjs@npm:1.0.1" - dependencies: - acorn: "npm:^8.0.0" - acorn-jsx: "npm:^5.0.0" - micromark-extension-mdx-expression: "npm:^1.0.0" - micromark-extension-mdx-jsx: "npm:^1.0.0" - micromark-extension-mdx-md: "npm:^1.0.0" - micromark-extension-mdxjs-esm: "npm:^1.0.0" - micromark-util-combine-extensions: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/3f123e4afea9674c96934c9ea6a057ec9e5584992c50c36c173a2e331d272b1f4e2a8552364a0e2cb50703d0218831fdae1a17b563f0009aac6a35350e6a7b77 - languageName: node - linkType: hard - "micromark-extension-mdxjs@npm:^3.0.0": version: 3.0.0 resolution: "micromark-extension-mdxjs@npm:3.0.0" @@ -5765,17 +6049,6 @@ __metadata: languageName: node linkType: hard -"micromark-factory-destination@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-destination@npm:1.1.0" - dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/71ebd9089bf0c9689b98ef42215c04032ae2701ae08c3546b663628553255dca18e5310dbdacddad3acd8de4f12a789835fff30dadc4da3c4e30387a75e6b488 - languageName: node - linkType: hard - "micromark-factory-destination@npm:^2.0.0": version: 2.0.0 resolution: "micromark-factory-destination@npm:2.0.0" @@ -5787,18 +6060,6 @@ __metadata: languageName: node linkType: hard -"micromark-factory-label@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-label@npm:1.1.0" - dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/5e2cd2d8214bb92a34dfcedf9c7aecf565e3648650a3a6a0495ededf15f2318dd214dc069e3026402792cd5839d395313f8ef9c2e86ca34a8facaa0f75a77753 - languageName: node - linkType: hard - "micromark-factory-label@npm:^2.0.0": version: 2.0.0 resolution: "micromark-factory-label@npm:2.0.0" @@ -5811,22 +6072,6 @@ __metadata: languageName: node linkType: hard -"micromark-factory-mdx-expression@npm:^1.0.0": - version: 1.0.9 - resolution: "micromark-factory-mdx-expression@npm:1.0.9" - dependencies: - "@types/estree": "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-events-to-acorn: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - unist-util-position-from-estree: "npm:^1.0.0" - uvu: "npm:^0.5.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/b28bd8e072f37ca91446fe8d113e4ae64baaef013b0cde4aa224add0ee40963ce3584b9709f7662d30491f875ae7104b897d37efa26cdaecf25082ed5bac7b8c - languageName: node - linkType: hard - "micromark-factory-mdx-expression@npm:^2.0.0": version: 2.0.2 resolution: "micromark-factory-mdx-expression@npm:2.0.2" @@ -5844,16 +6089,6 @@ __metadata: languageName: node linkType: hard -"micromark-factory-space@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-space@npm:1.1.0" - dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/3da81187ce003dd4178c7adc4674052fb8befc8f1a700ae4c8227755f38581a4ae963866dc4857488d62d1dc9837606c9f2f435fa1332f62a0f1c49b83c6a822 - languageName: node - linkType: hard - "micromark-factory-space@npm:^2.0.0": version: 2.0.0 resolution: "micromark-factory-space@npm:2.0.0" @@ -5864,18 +6099,6 @@ __metadata: languageName: node linkType: hard -"micromark-factory-title@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-title@npm:1.1.0" - dependencies: - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/cf8c687d1d5c3928846a4791d4a7e2f1d7bdd2397051e20d60f06b7565a48bf85198ab6f85735e997ab3f0cbb80b8b6391f4f7ebc0aae2f2f8c3a08541257bf6 - languageName: node - linkType: hard - "micromark-factory-title@npm:^2.0.0": version: 2.0.0 resolution: "micromark-factory-title@npm:2.0.0" @@ -5888,18 +6111,6 @@ __metadata: languageName: node linkType: hard -"micromark-factory-whitespace@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-whitespace@npm:1.1.0" - dependencies: - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/7248cc4534f9befb38c6f398b6e38efd3199f1428fc214c9cb7ed5b6e9fa7a82c0d8cdfa9bcacde62887c9a7c8c46baf5c318b2ae8f701afbccc8ad702e92dce - languageName: node - linkType: hard - "micromark-factory-whitespace@npm:^2.0.0": version: 2.0.0 resolution: "micromark-factory-whitespace@npm:2.0.0" @@ -5912,16 +6123,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-character@npm:^1.0.0": - version: 1.2.0 - resolution: "micromark-util-character@npm:1.2.0" - dependencies: - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/3390a675a50731b58a8e5493cd802e190427f10fa782079b455b00f6b54e406e36882df7d4a3bd32b709f7a2c3735b4912597ebc1c0a99566a8d8d0b816e2cd4 - languageName: node - linkType: hard - "micromark-util-character@npm:^2.0.0": version: 2.1.0 resolution: "micromark-util-character@npm:2.1.0" @@ -5932,15 +6133,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-chunked@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-chunked@npm:1.1.0" - dependencies: - micromark-util-symbol: "npm:^1.0.0" - checksum: 10c0/59534cf4aaf481ed58d65478d00eae0080df9b5816673f79b5ddb0cea263e5a9ee9cbb6cc565daf1eb3c8c4ff86fc4e25d38a0577539655cda823a4249efd358 - languageName: node - linkType: hard - "micromark-util-chunked@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-chunked@npm:2.0.0" @@ -5950,17 +6142,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-classify-character@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-classify-character@npm:1.1.0" - dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/3266453dc0fdaf584e24c9b3c91d1ed180f76b5856699c51fd2549305814fcab7ec52afb4d3e83d002a9115cd2d2b2ffdc9c0b38ed85120822bf515cc00636ec - languageName: node - linkType: hard - "micromark-util-classify-character@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-classify-character@npm:2.0.0" @@ -5972,16 +6153,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-combine-extensions@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-combine-extensions@npm:1.1.0" - dependencies: - micromark-util-chunked: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/0bc572fab3fe77f533c29aa1b75cb847b9fc9455f67a98623ef9740b925c0b0426ad9f09bbb56f1e844ea9ebada7873d1f06d27f7c979a917692b273c4b69e31 - languageName: node - linkType: hard - "micromark-util-combine-extensions@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-combine-extensions@npm:2.0.0" @@ -5992,15 +6163,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-decode-numeric-character-reference@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-decode-numeric-character-reference@npm:1.1.0" - dependencies: - micromark-util-symbol: "npm:^1.0.0" - checksum: 10c0/64ef2575e3fc2426976c19e16973348f20b59ddd5543f1467ac2e251f29e0a91f12089703d29ae985b0b9a408ee0d72f06d04ed3920811aa2402aabca3bdf9e4 - languageName: node - linkType: hard - "micromark-util-decode-numeric-character-reference@npm:^2.0.0": version: 2.0.1 resolution: "micromark-util-decode-numeric-character-reference@npm:2.0.1" @@ -6010,18 +6172,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-decode-string@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-decode-string@npm:1.1.0" - dependencies: - decode-named-character-reference: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-decode-numeric-character-reference: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - checksum: 10c0/757a0aaa5ad6c50c7480bd75371d407ac75f5022cd4404aba07adadf1448189502aea9bb7b2d09d25e18745e0abf72b95506b6beb184bcccabe919e48e3a5df7 - languageName: node - linkType: hard - "micromark-util-decode-string@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-decode-string@npm:2.0.0" @@ -6034,13 +6184,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-encode@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-encode@npm:1.1.0" - checksum: 10c0/9878c9bc96999d45626a7597fffac85348ea842dce75d2417345cbf070a9941c62477bd0963bef37d4f0fd29f2982be6ddf416d62806f00ccb334af9d6ee87e7 - languageName: node - linkType: hard - "micromark-util-encode@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-encode@npm:2.0.0" @@ -6048,22 +6191,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-events-to-acorn@npm:^1.0.0": - version: 1.2.3 - resolution: "micromark-util-events-to-acorn@npm:1.2.3" - dependencies: - "@types/acorn": "npm:^4.0.0" - "@types/estree": "npm:^1.0.0" - "@types/unist": "npm:^2.0.0" - estree-util-visit: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/cd3af7365806a0b22efb83cb7726cb835725c0bc22e04f7ea83f2f38a09e7132413eff6ab6d53652b969a7ec30e442731c3abbbe8a74dc2081c51fd10223c269 - languageName: node - linkType: hard - "micromark-util-events-to-acorn@npm:^2.0.0": version: 2.0.2 resolution: "micromark-util-events-to-acorn@npm:2.0.2" @@ -6080,13 +6207,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-html-tag-name@npm:^1.0.0": - version: 1.2.0 - resolution: "micromark-util-html-tag-name@npm:1.2.0" - checksum: 10c0/15421869678d36b4fe51df453921e8186bff514a14e9f79f32b7e1cdd67874e22a66ad34a7f048dd132cbbbfc7c382ae2f777a2bfd1f245a47705dc1c6d4f199 - languageName: node - linkType: hard - "micromark-util-html-tag-name@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-html-tag-name@npm:2.0.0" @@ -6094,15 +6214,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-normalize-identifier@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-normalize-identifier@npm:1.1.0" - dependencies: - micromark-util-symbol: "npm:^1.0.0" - checksum: 10c0/a9657321a2392584e4d978061882117a84db7d2c2c1c052c0f5d25da089d463edb9f956d5beaf7f5768984b6f72d046d59b5972951ec7bf25397687a62b8278a - languageName: node - linkType: hard - "micromark-util-normalize-identifier@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-normalize-identifier@npm:2.0.0" @@ -6112,15 +6223,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-resolve-all@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-resolve-all@npm:1.1.0" - dependencies: - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/b5c95484c06e87bbbb60d8430eb030a458733a5270409f4c67892d1274737087ca6a7ca888987430e57cf1dcd44bb16390d3b3936a2bf07f7534ec8f52ce43c9 - languageName: node - linkType: hard - "micromark-util-resolve-all@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-resolve-all@npm:2.0.0" @@ -6130,17 +6232,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-sanitize-uri@npm:^1.0.0, micromark-util-sanitize-uri@npm:^1.1.0": - version: 1.2.0 - resolution: "micromark-util-sanitize-uri@npm:1.2.0" - dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-encode: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - checksum: 10c0/dbdb98248e9f0408c7a00f1c1cd805775b41d213defd659533835f34b38da38e8f990bf7b3f782e96bffbc549aec9c3ecdab197d4ad5adbfe08f814a70327b6e - languageName: node - linkType: hard - "micromark-util-sanitize-uri@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-sanitize-uri@npm:2.0.0" @@ -6152,18 +6243,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-subtokenize@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-subtokenize@npm:1.1.0" - dependencies: - micromark-util-chunked: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/f292b1b162845db50d36255c9d4c4c6d47931fbca3ac98a80c7e536d2163233fd662f8ca0479ee2b80f145c66a1394c7ed17dfce801439741211015e77e3901e - languageName: node - linkType: hard - "micromark-util-subtokenize@npm:^2.0.0": version: 2.0.1 resolution: "micromark-util-subtokenize@npm:2.0.1" @@ -6176,13 +6255,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-symbol@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-symbol@npm:1.1.0" - checksum: 10c0/10ceaed33a90e6bfd3a5d57053dbb53f437d4809cc11430b5a09479c0ba601577059be9286df4a7eae6e350a60a2575dc9fa9d9872b5b8d058c875e075c33803 - languageName: node - linkType: hard - "micromark-util-symbol@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-symbol@npm:2.0.0" @@ -6190,13 +6262,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-types@npm:^1.0.0, micromark-util-types@npm:^1.0.1": - version: 1.1.0 - resolution: "micromark-util-types@npm:1.1.0" - checksum: 10c0/a9749cb0a12a252ff536baabcb7012421b6fad4d91a5fdd80d7b33dc7b4c22e2d0c4637dfe5b902d00247fe6c9b01f4a24fce6b572b16ccaa4da90e6ce2a11e4 - languageName: node - linkType: hard - "micromark-util-types@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-types@npm:2.0.0" @@ -6204,31 +6269,6 @@ __metadata: languageName: node linkType: hard -"micromark@npm:^3.0.0": - version: 3.2.0 - resolution: "micromark@npm:3.2.0" - dependencies: - "@types/debug": "npm:^4.0.0" - debug: "npm:^4.0.0" - decode-named-character-reference: "npm:^1.0.0" - micromark-core-commonmark: "npm:^1.0.1" - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-chunked: "npm:^1.0.0" - micromark-util-combine-extensions: "npm:^1.0.0" - micromark-util-decode-numeric-character-reference: "npm:^1.0.0" - micromark-util-encode: "npm:^1.0.0" - micromark-util-normalize-identifier: "npm:^1.0.0" - micromark-util-resolve-all: "npm:^1.0.0" - micromark-util-sanitize-uri: "npm:^1.0.0" - micromark-util-subtokenize: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.1" - uvu: "npm:^0.5.0" - checksum: 10c0/f243e805d1b3cc699fddae2de0b1492bc82462f1a709d7ae5c82039f88b1e009c959100184717e748be057b5f88603289d5681679a4e6fbabcd037beb34bc744 - languageName: node - linkType: hard - "micromark@npm:^4.0.0": version: 4.0.0 resolution: "micromark@npm:4.0.0" @@ -6264,6 +6304,22 @@ __metadata: languageName: node linkType: hard +"mime-db@npm:1.52.0": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa + languageName: node + linkType: hard + +"mime-types@npm:^2.1.27": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: "npm:1.52.0" + checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 + languageName: node + linkType: hard + "mimic-fn@npm:^2.1.0": version: 2.1.0 resolution: "mimic-fn@npm:2.1.0" @@ -6420,6 +6476,13 @@ __metadata: languageName: node linkType: hard +"mj-context-menu@npm:^0.6.1": + version: 0.6.1 + resolution: "mj-context-menu@npm:0.6.1" + checksum: 10c0/2bf3564bb5cbd3915e14417e8df4a4e3013f1e281d431ee1e88976ae6529cc88e6eea7d9b3e217d1d79666f89070c3e1a193383ba9c7bf82d63075e616664ce9 + languageName: node + linkType: hard + "mkdirp-classic@npm:^0.5.2, mkdirp-classic@npm:^0.5.3": version: 0.5.3 resolution: "mkdirp-classic@npm:0.5.3" @@ -6447,7 +6510,19 @@ __metadata: languageName: node linkType: hard -"mri@npm:1.2.0, mri@npm:^1.1.0": +"mlly@npm:^1.4.2, mlly@npm:^1.7.1, mlly@npm:^1.7.2": + version: 1.7.2 + resolution: "mlly@npm:1.7.2" + dependencies: + acorn: "npm:^8.12.1" + pathe: "npm:^1.1.2" + pkg-types: "npm:^1.2.0" + ufo: "npm:^1.5.4" + checksum: 10c0/e5a990b9d895477f3d3dfceec9797e41d6f029ce3b1b2dcf787d4b7500b4caff4b3cdc0ae5cb82c14b469b85209fe3d7368286415c0ca5415b163219fc6b5f21 + languageName: node + linkType: hard + +"mri@npm:1.2.0": version: 1.2.0 resolution: "mri@npm:1.2.0" checksum: 10c0/a3d32379c2554cf7351db6237ddc18dc9e54e4214953f3da105b97dc3babe0deb3ffe99cf409b38ea47cc29f9430561ba6b53b24ab8f9ce97a4b50409e4a50e7 @@ -6506,52 +6581,52 @@ __metadata: version: 0.0.0-use.local resolution: "napi-rs-docs@workspace:." dependencies: - "@mdx-js/react": "npm:^3.0.0" - "@perfsee/webpack": "npm:^1.10.0" - "@types/node": "npm:^20.10.5" - "@types/react": "npm:^18.2.45" + "@mdx-js/react": "npm:^3.1.0" + "@perfsee/webpack": "npm:^1.13.0" + "@types/node": "npm:^22.8.1" + "@types/react": "npm:^18.3.12" "@types/sharp": "npm:^0.32.0" - "@vercel/analytics": "npm:^1.1.1" - autoprefixer: "npm:^10.4.16" + "@types/webpack": "npm:^5.28.5" + "@vercel/analytics": "npm:^1.3.2" + autoprefixer: "npm:^10.4.20" cross-env: "npm:^7.0.3" file-loader: "npm:^6.2.0" husky: "npm:9" - lint-staged: "npm:^15.2.0" + lint-staged: "npm:^15.2.10" lodash-es: "npm:^4.17.21" - next: "npm:14.2.16" + next: "npm:15.0.1" next-mdx-remote: "npm:^5.0.0" - nextra: "npm:2.13.4" - nextra-theme-docs: "npm:2.13.4" - postcss: "npm:^8.4.32" - prettier: "npm:^3.1.1" - react: "npm:^18.2.0" - react-dom: "npm:^18.2.0" - sharp: "npm:^0.33.1" - tailwindcss: "npm:^3.4.0" - typescript: "npm:^5.3.3" - vercel: "npm:^37.0.0" + nextra: "npm:3.1.1" + nextra-theme-docs: "npm:3.1.1" + postcss: "npm:^8.4.47" + prettier: "npm:^3.3.3" + react: "npm:^18.3.1" + react-dom: "npm:^18.3.1" + sharp: "npm:^0.33.5" + tailwindcss: "npm:^3.4.14" + typescript: "npm:^5.6.3" + vercel: "npm:^37.12.1" languageName: unknown linkType: soft "negotiator@npm:^0.6.3": - version: 0.6.3 - resolution: "negotiator@npm:0.6.3" - checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 + version: 0.6.4 + resolution: "negotiator@npm:0.6.4" + checksum: 10c0/3e677139c7fb7628a6f36335bf11a885a62c21d5390204590a1a214a5631fcbe5ea74ef6a610b60afe84b4d975cbe0566a23f20ee17c77c73e74b80032108dea languageName: node linkType: hard -"next-mdx-remote@npm:^4.2.1": - version: 4.4.1 - resolution: "next-mdx-remote@npm:4.4.1" - dependencies: - "@mdx-js/mdx": "npm:^2.2.1" - "@mdx-js/react": "npm:^2.2.1" - vfile: "npm:^5.3.0" - vfile-matter: "npm:^3.0.1" - peerDependencies: - react: ">=16.x <=18.x" - react-dom: ">=16.x <=18.x" - checksum: 10c0/d48ad271f58312d11f392b0fbd7b2dbc5990cc82fcb6d28f687875a52b28b695c0700b93f197c72910a4c73da0a1fe4867db95315bc2ee7f0fc1743279f41b80 +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b + languageName: node + linkType: hard + +"neo-async@npm:^2.6.2": + version: 2.6.2 + resolution: "neo-async@npm:2.6.2" + checksum: 10c0/c2f5a604a54a8ec5438a342e1f356dff4bc33ccccdb6dc668d94fe8e5eccfc9d2c2eea6064b0967a767ba63b33763f51ccf2cd2441b461a7322656c1f06b3f5d languageName: node linkType: hard @@ -6571,53 +6646,42 @@ __metadata: languageName: node linkType: hard -"next-seo@npm:^6.0.0": - version: 6.6.0 - resolution: "next-seo@npm:6.6.0" - peerDependencies: - next: ^8.1.1-canary.54 || >=9.0.0 - react: ">=16.0.0" - react-dom: ">=16.0.0" - checksum: 10c0/60eff5b6fdd83306d26968dfc23b5df502bf014b771b0910bf6cfec944de6f262d7d872ae3155717a31a1dd51ae48db007ce4c0f78f8b435deff37bdc63beb76 - languageName: node - linkType: hard - -"next-themes@npm:^0.2.1": - version: 0.2.1 - resolution: "next-themes@npm:0.2.1" +"next-themes@npm:^0.3.0": + version: 0.3.0 + resolution: "next-themes@npm:0.3.0" peerDependencies: - next: "*" - react: "*" - react-dom: "*" - checksum: 10c0/979dec0a2de049ce7d1b5da835e7f7dc3b7ec83ba9e464348f497a52a6a6e5b5c395c97f071f66a63f50f22cce89fb6d19061ec7e75643b0eab215b21794bde7 - languageName: node - linkType: hard - -"next@npm:14.2.16": - version: 14.2.16 - resolution: "next@npm:14.2.16" - dependencies: - "@next/env": "npm:14.2.16" - "@next/swc-darwin-arm64": "npm:14.2.16" - "@next/swc-darwin-x64": "npm:14.2.16" - "@next/swc-linux-arm64-gnu": "npm:14.2.16" - "@next/swc-linux-arm64-musl": "npm:14.2.16" - "@next/swc-linux-x64-gnu": "npm:14.2.16" - "@next/swc-linux-x64-musl": "npm:14.2.16" - "@next/swc-win32-arm64-msvc": "npm:14.2.16" - "@next/swc-win32-ia32-msvc": "npm:14.2.16" - "@next/swc-win32-x64-msvc": "npm:14.2.16" - "@swc/helpers": "npm:0.5.5" + react: ^16.8 || ^17 || ^18 + react-dom: ^16.8 || ^17 || ^18 + checksum: 10c0/72bd670ad6b9f547dc18cece340dfd1ac41e3e7b37eb321d4767db90bfa2c239f937011cd0efe35ca0081f1ea260051bc0868808ef39b0fbff2ddefd7146cec6 + languageName: node + linkType: hard + +"next@npm:15.0.1": + version: 15.0.1 + resolution: "next@npm:15.0.1" + dependencies: + "@next/env": "npm:15.0.1" + "@next/swc-darwin-arm64": "npm:15.0.1" + "@next/swc-darwin-x64": "npm:15.0.1" + "@next/swc-linux-arm64-gnu": "npm:15.0.1" + "@next/swc-linux-arm64-musl": "npm:15.0.1" + "@next/swc-linux-x64-gnu": "npm:15.0.1" + "@next/swc-linux-x64-musl": "npm:15.0.1" + "@next/swc-win32-arm64-msvc": "npm:15.0.1" + "@next/swc-win32-x64-msvc": "npm:15.0.1" + "@swc/counter": "npm:0.1.3" + "@swc/helpers": "npm:0.5.13" busboy: "npm:1.6.0" caniuse-lite: "npm:^1.0.30001579" - graceful-fs: "npm:^4.2.11" postcss: "npm:8.4.31" - styled-jsx: "npm:5.1.1" + sharp: "npm:^0.33.5" + styled-jsx: "npm:5.1.6" peerDependencies: "@opentelemetry/api": ^1.1.0 "@playwright/test": ^1.41.2 - react: ^18.2.0 - react-dom: ^18.2.0 + babel-plugin-react-compiler: "*" + react: ^18.2.0 || 19.0.0-rc-69d4b800-20241021 + react-dom: ^18.2.0 || 19.0.0-rc-69d4b800-20241021 sass: ^1.3.0 dependenciesMeta: "@next/swc-darwin-arm64": @@ -6634,93 +6698,110 @@ __metadata: optional: true "@next/swc-win32-arm64-msvc": optional: true - "@next/swc-win32-ia32-msvc": - optional: true "@next/swc-win32-x64-msvc": optional: true + sharp: + optional: true peerDependenciesMeta: "@opentelemetry/api": optional: true "@playwright/test": optional: true + babel-plugin-react-compiler: + optional: true sass: optional: true bin: next: dist/bin/next - checksum: 10c0/8cd036a6f30d4cc8ab8480c19339ee6134ffd5b18338ff5a07de397ed4e29fad54de5219f70aafabf1fe9c48a7d54b7df58ba1f29cfa5d3351ff7763e8d4844e + checksum: 10c0/d5d18f3013b985c42fc0f67032c50300c1433ee8a41560dec99db60bc4dbd04e54e4d4a4f385a42f15a5e8465f81b5c327d780b41065235638562cdd5fe80674 languageName: node linkType: hard -"nextra-theme-docs@npm:2.13.4": - version: 2.13.4 - resolution: "nextra-theme-docs@npm:2.13.4" +"nextra-theme-docs@npm:3.1.1": + version: 3.1.1 + resolution: "nextra-theme-docs@npm:3.1.1" dependencies: - "@headlessui/react": "npm:^1.7.17" - "@popperjs/core": "npm:^2.11.8" + "@headlessui/react": "npm:^2.1.2" clsx: "npm:^2.0.0" escape-string-regexp: "npm:^5.0.0" - flexsearch: "npm:^0.7.31" - focus-visible: "npm:^5.2.0" - git-url-parse: "npm:^13.1.0" - intersection-observer: "npm:^0.12.2" - match-sorter: "npm:^6.3.1" - next-seo: "npm:^6.0.0" - next-themes: "npm:^0.2.1" + flexsearch: "npm:^0.7.43" + next-themes: "npm:^0.3.0" scroll-into-view-if-needed: "npm:^3.1.0" zod: "npm:^3.22.3" peerDependencies: - next: ">=9.5.3" - nextra: 2.13.4 - react: ">=16.13.1" - react-dom: ">=16.13.1" - checksum: 10c0/3c8711391a771878370db9e71296d700f30fdcc31a1c739eac1f586b12b0d7960326f5e4a75e1b7c3ffc16734bc2c98347b001734e6e607f0f89efa2ac0e84d2 + next: ">=13" + nextra: 3.1.1 + react: ">=18" + react-dom: ">=18" + checksum: 10c0/f134d364aee0cb9f97df65cb3fbb4a6a9f08c131e6bc026a448a34c1507af991ebd301b402782b2f71268291c28f42ea9f7addfcb9f5e726c44a2a2802a134c0 languageName: node linkType: hard -"nextra@npm:2.13.4": - version: 2.13.4 - resolution: "nextra@npm:2.13.4" +"nextra@npm:3.1.1": + version: 3.1.1 + resolution: "nextra@npm:3.1.1" dependencies: - "@headlessui/react": "npm:^1.7.17" - "@mdx-js/mdx": "npm:^2.3.0" - "@mdx-js/react": "npm:^2.3.0" + "@formatjs/intl-localematcher": "npm:^0.5.4" + "@headlessui/react": "npm:^2.1.2" + "@mdx-js/mdx": "npm:^3.0.0" + "@mdx-js/react": "npm:^3.0.0" "@napi-rs/simple-git": "npm:^0.1.9" - "@theguild/remark-mermaid": "npm:^0.0.5" - "@theguild/remark-npm2yarn": "npm:^0.2.0" + "@shikijs/twoslash": "npm:^1.0.0" + "@theguild/remark-mermaid": "npm:^0.1.3" + "@theguild/remark-npm2yarn": "npm:^0.3.2" + better-react-mathjax: "npm:^2.0.3" clsx: "npm:^2.0.0" + estree-util-to-js: "npm:^2.0.0" + estree-util-value-to-estree: "npm:^3.0.1" github-slugger: "npm:^2.0.0" graceful-fs: "npm:^4.2.11" gray-matter: "npm:^4.0.3" + hast-util-to-estree: "npm:^3.1.0" katex: "npm:^0.16.9" - lodash.get: "npm:^4.4.2" - next-mdx-remote: "npm:^4.2.1" - p-limit: "npm:^3.1.0" + mdast-util-from-markdown: "npm:^2.0.1" + mdast-util-gfm: "npm:^3.0.0" + mdast-util-to-hast: "npm:^13.2.0" + negotiator: "npm:^1.0.0" + p-limit: "npm:^6.0.0" rehype-katex: "npm:^7.0.0" - rehype-pretty-code: "npm:0.9.11" + rehype-pretty-code: "npm:0.14.0" rehype-raw: "npm:^7.0.0" - remark-gfm: "npm:^3.0.1" - remark-math: "npm:^5.1.1" + remark-frontmatter: "npm:^5.0.0" + remark-gfm: "npm:^4.0.0" + remark-math: "npm:^6.0.0" remark-reading-time: "npm:^2.0.1" - shiki: "npm:^0.14.3" - slash: "npm:^3.0.0" + remark-smartypants: "npm:^3.0.0" + shiki: "npm:^1.0.0" + slash: "npm:^5.1.0" title: "npm:^3.5.3" unist-util-remove: "npm:^4.0.0" unist-util-visit: "npm:^5.0.0" + yaml: "npm:^2.3.2" zod: "npm:^3.22.3" + zod-validation-error: "npm:^3.0.0" peerDependencies: - next: ">=9.5.3" - react: ">=16.13.1" - react-dom: ">=16.13.1" - checksum: 10c0/68941552f83639ae818e27b1cfbfef4031362c95bb5c80188cabe29ccd700e0889e20d90cde621d79e151fdf02713b096cfaa42b9304946133b82c223d2e01e3 + next: ">=13" + react: ">=18" + react-dom: ">=18" + checksum: 10c0/47c13b988197d006ee50642f572089168aa9202d01a7ee8bd5b6a5a041d92ebe4e11883a5cba8aa9076f52d76231e756ed0a4e91a90ccb69f935ac124c066a33 + languageName: node + linkType: hard + +"nlcst-to-string@npm:^4.0.0": + version: 4.0.0 + resolution: "nlcst-to-string@npm:4.0.0" + dependencies: + "@types/nlcst": "npm:^2.0.0" + checksum: 10c0/a192c8b3365a7c076812004e72ae5b4a1734e582be2a6f3c062f3beecf18868a9fe2d1bad870bfead320fb39830f2c4f3752e5ae6574c4e59157126fd1ddba70 languageName: node linkType: hard "node-abi@npm:^3.3.0": - version: 3.67.0 - resolution: "node-abi@npm:3.67.0" + version: 3.71.0 + resolution: "node-abi@npm:3.71.0" dependencies: semver: "npm:^7.3.5" - checksum: 10c0/72ce2edbdfb84745bc201a4e48aa7146fd88a0d2c80046b6b17f28439c9a7683eab846f40f1e819349c31f7d9331ed5c50d1e741208d938dd5f38b29cab2275e + checksum: 10c0/dbd0792ea729329cd9d099f28a5681ff9e8a6db48cf64e1437bf6a7fd669009d1e758a784619a1c4cc8bfd1ed17162f042c787654edf19a1f64b5018457c9c1f languageName: node linkType: hard @@ -6804,13 +6885,6 @@ __metadata: languageName: node linkType: hard -"non-layered-tidy-tree-layout@npm:^2.0.2": - version: 2.0.2 - resolution: "non-layered-tidy-tree-layout@npm:2.0.2" - checksum: 10c0/73856e9959667193e733a7ef2b06a69421f4d9d7428a3982ce39763cd979a04eed0007f2afb3414afa3f6dc4dc6b5c850c2af9aa71a974475236a465093ec9c7 - languageName: node - linkType: hard - "nopt@npm:^5.0.0": version: 5.0.0 resolution: "nopt@npm:5.0.0" @@ -6874,10 +6948,10 @@ __metadata: languageName: node linkType: hard -"npm-to-yarn@npm:^2.1.0": - version: 2.2.1 - resolution: "npm-to-yarn@npm:2.2.1" - checksum: 10c0/65c696a3e595facad802b6b13c04e504806ea88fd4f87ab758f8042c19f65b4c4822815a47095df944b0809a95e574c27323c33cca5533f8454515eaa6e14fac +"npm-to-yarn@npm:^3.0.0": + version: 3.0.0 + resolution: "npm-to-yarn@npm:3.0.0" + checksum: 10c0/2e0bba85dc4ac83d588da6a3636e4043beecb6360be76c110a982432ddc6c63fe181524aa767c97da4799fe80a104e0502901a177fb3a82f233722ded35a3a27 languageName: node linkType: hard @@ -6952,6 +7026,15 @@ __metadata: languageName: node linkType: hard +"oniguruma-to-js@npm:0.4.3": + version: 0.4.3 + resolution: "oniguruma-to-js@npm:0.4.3" + dependencies: + regex: "npm:^4.3.2" + checksum: 10c0/47d8a4089b1fd0ae4b9781907a92222ae549756ddb72a177a85fdc3bda8e59ce2840710dd03e448b80c9878aa8f4e14519fccc3652da71fc3e8bc048d5cb6acb + languageName: node + linkType: hard + "open@npm:^8.4.2": version: 8.4.2 resolution: "open@npm:8.4.2" @@ -6993,12 +7076,12 @@ __metadata: languageName: node linkType: hard -"p-limit@npm:^3.1.0": - version: 3.1.0 - resolution: "p-limit@npm:3.1.0" +"p-limit@npm:^6.0.0": + version: 6.1.0 + resolution: "p-limit@npm:6.1.0" dependencies: - yocto-queue: "npm:^0.1.0" - checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a + yocto-queue: "npm:^1.1.1" + checksum: 10c0/40af29461206185a81bdc971ed499d97ceb344114fd21420db95debd9c979b6c02d66a41c321246d09245a51e68410e13df92622cc8c0130f87c6bd81a15d777 languageName: node linkType: hard @@ -7028,9 +7111,16 @@ __metadata: linkType: hard "package-json-from-dist@npm:^1.0.0": - version: 1.0.0 - resolution: "package-json-from-dist@npm:1.0.0" - checksum: 10c0/e3ffaf6ac1040ab6082a658230c041ad14e72fabe99076a2081bb1d5d41210f11872403fc09082daf4387fc0baa6577f96c9c0e94c90c394fd57794b66aa4033 + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b + languageName: node + linkType: hard + +"package-manager-detector@npm:^0.2.0": + version: 0.2.2 + resolution: "package-manager-detector@npm:0.2.2" + checksum: 10c0/c2ba6c8910278b478f16454fba670790e8c173905378104d769ad369492c830a23ffdaf6b010bf7df2b4a64a2d875ba563a9bdf3f3ed3cd19312e047d192d382 languageName: node linkType: hard @@ -7050,6 +7140,20 @@ __metadata: languageName: node linkType: hard +"parse-latin@npm:^7.0.0": + version: 7.0.0 + resolution: "parse-latin@npm:7.0.0" + dependencies: + "@types/nlcst": "npm:^2.0.0" + "@types/unist": "npm:^3.0.0" + nlcst-to-string: "npm:^4.0.0" + unist-util-modify-children: "npm:^4.0.0" + unist-util-visit-children: "npm:^3.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/4232a464f98c41c6680575c54bc2c9b21ac4b82a1f796a871bfef5efa6eddaab9bccf734b08cde6b0a5504ef46a0a14041ddd0bc5d9cc70f73a507f93f610596 + languageName: node + linkType: hard + "parse-ms@npm:^2.1.0": version: 2.1.0 resolution: "parse-ms@npm:2.1.0" @@ -7064,30 +7168,12 @@ __metadata: languageName: node linkType: hard -"parse-path@npm:^7.0.0": - version: 7.0.0 - resolution: "parse-path@npm:7.0.0" - dependencies: - protocols: "npm:^2.0.0" - checksum: 10c0/e7646f6b998b083bbd40102643d803557ce4ae18ae1704e6cc7ae2525ea7c5400f4a3635aca3244cfe65ce4dd0ff77db1142dde4d080e8a80c364c4b3e8fe8d2 - languageName: node - linkType: hard - -"parse-url@npm:^8.1.0": - version: 8.1.0 - resolution: "parse-url@npm:8.1.0" - dependencies: - parse-path: "npm:^7.0.0" - checksum: 10c0/68b95afdf4bbf72e57c7ab66f8757c935fff888f7e2b0f1e06098b4faa19e06b6b743bddaed5bc8df4f0c2de6fc475355d787373b2fdd40092be9e4e4b996648 - languageName: node - linkType: hard - "parse5@npm:^7.0.0": - version: 7.1.2 - resolution: "parse5@npm:7.1.2" + version: 7.2.0 + resolution: "parse5@npm:7.2.0" dependencies: - entities: "npm:^4.4.0" - checksum: 10c0/297d7af8224f4b5cb7f6617ecdae98eeaed7f8cbd78956c42785e230505d5a4f07cef352af10d3006fa5c1544b76b57784d3a22d861ae071bbc460c649482bf4 + entities: "npm:^4.5.0" + checksum: 10c0/76d68684708befb41ff1d5e0e9835f566afb3950807d340941afc9dbe4c9c28db2414bda0c8503d459de863463869b8540c6abf8c9742cffa0b9b31eecd37951 languageName: node linkType: hard @@ -7098,6 +7184,13 @@ __metadata: languageName: node linkType: hard +"path-data-parser@npm:0.1.0, path-data-parser@npm:^0.1.0": + version: 0.1.0 + resolution: "path-data-parser@npm:0.1.0" + checksum: 10c0/ba22d54669a8bc4a3df27431fe667900685585d1196085b803d0aa4066b83e709bbf2be7c1d2b56e706b49cc698231d55947c22abbfc4843ca424bbf8c985745 + languageName: node + linkType: hard + "path-exists@npm:^4.0.0": version: 4.0.0 resolution: "path-exists@npm:4.0.0" @@ -7175,11 +7268,18 @@ __metadata: linkType: hard "path-to-regexp@npm:^1.0.0": - version: 1.8.0 - resolution: "path-to-regexp@npm:1.8.0" + version: 1.9.0 + resolution: "path-to-regexp@npm:1.9.0" dependencies: isarray: "npm:0.0.1" - checksum: 10c0/7b25d6f27a8de03f49406d16195450f5ced694398adea1510b0f949d9660600d1769c5c6c83668583b7e6b503f3caf1ede8ffc08135dbe3e982f034f356fbb5c + checksum: 10c0/de9ddb01b84d9c2c8e2bed18630d8d039e2d6f60a6538595750fa08c7a6482512257464c8da50616f266ab2cdd2428387e85f3b089e4c3f25d0c537e898a0751 + languageName: node + linkType: hard + +"pathe@npm:^1.1.2": + version: 1.1.2 + resolution: "pathe@npm:1.1.2" + checksum: 10c0/64ee0a4e587fb0f208d9777a6c56e4f9050039268faaaaecd50e959ef01bf847b7872785c36483fa5cdcdbdfdb31fef2ff222684d4fc21c330ab60395c681897 languageName: node linkType: hard @@ -7190,17 +7290,6 @@ __metadata: languageName: node linkType: hard -"periscopic@npm:^3.0.0": - version: 3.1.0 - resolution: "periscopic@npm:3.1.0" - dependencies: - "@types/estree": "npm:^1.0.0" - estree-walker: "npm:^3.0.0" - is-reference: "npm:^3.0.0" - checksum: 10c0/fb5ce7cd810c49254cdf1cd3892811e6dd1a1dfbdf5f10a0a33fb7141baac36443c4cad4f0e2b30abd4eac613f6ab845c2bc1b7ce66ae9694c7321e6ada5bd96 - languageName: node - linkType: hard - "picocolors@npm:1.0.0": version: 1.0.0 resolution: "picocolors@npm:1.0.0" @@ -7208,10 +7297,10 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1": - version: 1.1.0 - resolution: "picocolors@npm:1.1.0" - checksum: 10c0/86946f6032148801ef09c051c6fb13b5cf942eaf147e30ea79edb91dd32d700934edebe782a1078ff859fb2b816792e97ef4dab03d7f0b804f6b01a0df35e023 +"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.0": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 languageName: node linkType: hard @@ -7254,6 +7343,34 @@ __metadata: languageName: node linkType: hard +"pkg-types@npm:^1.0.3, pkg-types@npm:^1.2.0": + version: 1.2.1 + resolution: "pkg-types@npm:1.2.1" + dependencies: + confbox: "npm:^0.1.8" + mlly: "npm:^1.7.2" + pathe: "npm:^1.1.2" + checksum: 10c0/4aef765c039e3ec3ca55171bb8ad776cf060d894c45ddf92b9d680b3fdb1817c8d1c428f74ea6aae144493fa1d6a97df6b8caec6dc31e418f1ce1f728d38014e + languageName: node + linkType: hard + +"points-on-curve@npm:0.2.0, points-on-curve@npm:^0.2.0": + version: 0.2.0 + resolution: "points-on-curve@npm:0.2.0" + checksum: 10c0/f0d92343fcc2ad1f48334633e580574c1e0e28038a756133e171e537f270d6d64203feada5ee556e36f448a1b46e0306dee07b30f589f4e3ad720f6ee38ef48c + languageName: node + linkType: hard + +"points-on-path@npm:^0.2.1": + version: 0.2.1 + resolution: "points-on-path@npm:0.2.1" + dependencies: + path-data-parser: "npm:0.1.0" + points-on-curve: "npm:0.2.0" + checksum: 10c0/a7010340f9f196976f61838e767bb7b0b7f6273ab4fb9eb37c61001fe26fbfc3fcd63c96d5e85b9a4ab579213ab366f2ddaaf60e2a9253e2b91a62db33f395ba + languageName: node + linkType: hard + "postcss-import@npm:^15.1.0": version: 15.1.0 resolution: "postcss-import@npm:15.1.0" @@ -7335,14 +7452,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.4.23, postcss@npm:^8.4.32": - version: 8.4.45 - resolution: "postcss@npm:8.4.45" +"postcss@npm:^8.4.23, postcss@npm:^8.4.47": + version: 8.4.47 + resolution: "postcss@npm:8.4.47" dependencies: nanoid: "npm:^3.3.7" - picocolors: "npm:^1.0.1" - source-map-js: "npm:^1.2.0" - checksum: 10c0/ad6f8b9b1157d678560373696109745ab97a947d449f8a997acac41c7f1e4c0f3ca4b092d6df1387f430f2c9a319987b1780dbdc27e35800a88cde9b606c1e8f + picocolors: "npm:^1.1.0" + source-map-js: "npm:^1.2.1" + checksum: 10c0/929f68b5081b7202709456532cee2a145c1843d391508c5a09de2517e8c4791638f71dd63b1898dba6712f8839d7a6da046c72a5e44c162e908f5911f57b5f44 languageName: node linkType: hard @@ -7368,7 +7485,7 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^3.1.1": +"prettier@npm:^3.3.3": version: 3.3.3 resolution: "prettier@npm:3.3.3" bin: @@ -7417,13 +7534,6 @@ __metadata: languageName: node linkType: hard -"protocols@npm:^2.0.0, protocols@npm:^2.0.1": - version: 2.0.1 - resolution: "protocols@npm:2.0.1" - checksum: 10c0/016cc58a596e401004a028a2f7005e3444bf89ee8f606409c411719374d1e8bba0464fc142a065cce0d19f41669b2f7ffe25a8bde4f16ce3b6eb01fabc51f2e7 - languageName: node - linkType: hard - "pseudomap@npm:^1.0.2": version: 1.0.2 resolution: "pseudomap@npm:1.0.2" @@ -7432,12 +7542,12 @@ __metadata: linkType: hard "pump@npm:^3.0.0": - version: 3.0.0 - resolution: "pump@npm:3.0.0" + version: 3.0.2 + resolution: "pump@npm:3.0.2" dependencies: end-of-stream: "npm:^1.1.0" once: "npm:^1.3.1" - checksum: 10c0/bbdeda4f747cdf47db97428f3a135728669e56a0ae5f354a9ac5b74556556f5446a46f720a8f14ca2ece5be9b4d5d23c346db02b555f46739934cc6c093a5478 + checksum: 10c0/5ad655cb2a7738b4bcf6406b24ad0970d680649d996b55ad20d1be8e0c02394034e4c45ff7cd105d87f1e9b96a0e3d06fd28e11fae8875da26e7f7a8e2c9726f languageName: node linkType: hard @@ -7467,6 +7577,15 @@ __metadata: languageName: node linkType: hard +"randombytes@npm:^2.1.0": + version: 2.1.0 + resolution: "randombytes@npm:2.1.0" + dependencies: + safe-buffer: "npm:^5.1.0" + checksum: 10c0/50395efda7a8c94f5dffab564f9ff89736064d32addf0cc7e8bf5e4166f09f8ded7a0849ca6c2d2a59478f7d90f78f20d8048bca3cdf8be09d8e8a10790388f3 + languageName: node + linkType: hard + "raw-body@npm:2.4.1": version: 2.4.1 resolution: "raw-body@npm:2.4.1" @@ -7493,7 +7612,7 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:^18.2.0": +"react-dom@npm:^18.3.1": version: 18.3.1 resolution: "react-dom@npm:18.3.1" dependencies: @@ -7505,7 +7624,7 @@ __metadata: languageName: node linkType: hard -"react@npm:^18.2.0": +"react@npm:^18.3.1": version: 18.3.1 resolution: "react@npm:18.3.1" dependencies: @@ -7559,10 +7678,58 @@ __metadata: languageName: node linkType: hard -"regenerator-runtime@npm:^0.14.0": - version: 0.14.1 - resolution: "regenerator-runtime@npm:0.14.1" - checksum: 10c0/1b16eb2c4bceb1665c89de70dcb64126a22bc8eb958feef3cd68fe11ac6d2a4899b5cd1b80b0774c7c03591dc57d16631a7f69d2daa2ec98100e2f29f7ec4cc4 +"recma-build-jsx@npm:^1.0.0": + version: 1.0.0 + resolution: "recma-build-jsx@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + estree-util-build-jsx: "npm:^3.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/ca30f5163887b44c74682355da2625f7b49f33267699d22247913e513e043650cbdd6a7497cf13c60f09ad9e7bc2bd35bd20853672773c19188569814b56bb04 + languageName: node + linkType: hard + +"recma-jsx@npm:^1.0.0": + version: 1.0.0 + resolution: "recma-jsx@npm:1.0.0" + dependencies: + acorn-jsx: "npm:^5.0.0" + estree-util-to-js: "npm:^2.0.0" + recma-parse: "npm:^1.0.0" + recma-stringify: "npm:^1.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/26c2af6dd69336c810468b778be1e4cbac5702cf9382454f17c29cf9b03a4fde47d10385bb26a7ccb34f36fe01af34c24cab9fb0deeed066ea53294be0081f07 + languageName: node + linkType: hard + +"recma-parse@npm:^1.0.0": + version: 1.0.0 + resolution: "recma-parse@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + esast-util-from-js: "npm:^2.0.0" + unified: "npm:^11.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/37c0990859a562d082e02d475ca5f4c8ef0840d285270f6699fe888cbb06260f97eb098585eda4aae416182c207fd19cf05e4f0b2dcf55cbf81dde4406d95545 + languageName: node + linkType: hard + +"recma-stringify@npm:^1.0.0": + version: 1.0.0 + resolution: "recma-stringify@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + estree-util-to-js: "npm:^2.0.0" + unified: "npm:^11.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/c2ed4c0e8cf8a09aedcd47c5d016d47f6e1ff6c2d4b220e2abaf1b77713bf404756af2ea3ea7999aec5862e8825aff035edceb370c7fd8603a7e9da03bd6987e + languageName: node + linkType: hard + +"regex@npm:^4.3.2": + version: 4.3.3 + resolution: "regex@npm:4.3.3" + checksum: 10c0/543caebc029af8e6205513accf1b32bcafd71a6c48d39af63ce667d043d11d3c81f5c3fa6d9729175c23257180c5588de9e7ae9fe8a1c1d8924699265764dea2 languageName: node linkType: hard @@ -7581,16 +7748,30 @@ __metadata: languageName: node linkType: hard -"rehype-pretty-code@npm:0.9.11": - version: 0.9.11 - resolution: "rehype-pretty-code@npm:0.9.11" +"rehype-parse@npm:^9.0.0": + version: 9.0.1 + resolution: "rehype-parse@npm:9.0.1" + dependencies: + "@types/hast": "npm:^3.0.0" + hast-util-from-html: "npm:^2.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/efa9ca17673fe70e2d322a1d262796bbed5f6a89382f8f8393352bbd6f6bbf1d4d1d050984b86ff9cb6c0fa2535175ab0829e53c94b1e38fc3c158e6c0ad90bc + languageName: node + linkType: hard + +"rehype-pretty-code@npm:0.14.0": + version: 0.14.0 + resolution: "rehype-pretty-code@npm:0.14.0" dependencies: - "@types/hast": "npm:^2.0.0" - hash-obj: "npm:^4.0.0" + "@types/hast": "npm:^3.0.4" + hast-util-to-string: "npm:^3.0.0" parse-numeric-range: "npm:^1.3.0" + rehype-parse: "npm:^9.0.0" + unified: "npm:^11.0.5" + unist-util-visit: "npm:^5.0.0" peerDependencies: - shiki: "*" - checksum: 10c0/10d9b87df6b9a963f6e650b90908347e6cce8f521bbc220ee3a101e82025d7721e2c108d90922f1a16f9d08a1b18f898ec241a12a12f5e931548e3fb528039d9 + shiki: ^1.3.0 + checksum: 10c0/f288c4546b444f591bc45e27c88abca79d99ce7208bdbc2251a2f0bead3db1a10e18d8584ccaad550fb076a960307ffd9682918668627eea15ec62fc93bd6d19 languageName: node linkType: hard @@ -7605,58 +7786,62 @@ __metadata: languageName: node linkType: hard -"remark-gfm@npm:^3.0.1": - version: 3.0.1 - resolution: "remark-gfm@npm:3.0.1" +"rehype-recma@npm:^1.0.0": + version: 1.0.0 + resolution: "rehype-recma@npm:1.0.0" dependencies: - "@types/mdast": "npm:^3.0.0" - mdast-util-gfm: "npm:^2.0.0" - micromark-extension-gfm: "npm:^2.0.0" - unified: "npm:^10.0.0" - checksum: 10c0/53c4e82204f82f81949a170efdeb49d3c45137b7bca06a7ff857a483aac1a44b55ef0de8fb1bbe4f1292f2a378058e2e42e644f2c61f3e0cdc3e56afa4ec2a2c + "@types/estree": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + hast-util-to-estree: "npm:^3.0.0" + checksum: 10c0/be60d7433a7f788a14f41da3e93ba9d9272c908ddef47757026cc4bbcc912f6301d56810349adf876d294a8d048626a0dbf6988aaa574afbfc29eac1ddc1eb74 languageName: node linkType: hard -"remark-math@npm:^5.1.1": - version: 5.1.1 - resolution: "remark-math@npm:5.1.1" +"remark-frontmatter@npm:^5.0.0": + version: 5.0.0 + resolution: "remark-frontmatter@npm:5.0.0" dependencies: - "@types/mdast": "npm:^3.0.0" - mdast-util-math: "npm:^2.0.0" - micromark-extension-math: "npm:^2.0.0" - unified: "npm:^10.0.0" - checksum: 10c0/e61e314398e65d1ef9343cce37bdb8e94697772d53f1b9e48f815cece35033b4d41db81766696135558c6de40f2ad86877b49891daec6c7b1453dba0e034a9dc + "@types/mdast": "npm:^4.0.0" + mdast-util-frontmatter: "npm:^2.0.0" + micromark-extension-frontmatter: "npm:^2.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/102325d5edbcf30eaf74de8a0a6e03096cc2370dfef19080fd2dd208f368fbb2323388751ac9931a1aa38a4f2828fa4bad6c52dc5249dcadcd34861693b52bf9 languageName: node linkType: hard -"remark-mdx@npm:^2.0.0": - version: 2.3.0 - resolution: "remark-mdx@npm:2.3.0" +"remark-gfm@npm:^4.0.0": + version: 4.0.0 + resolution: "remark-gfm@npm:4.0.0" dependencies: - mdast-util-mdx: "npm:^2.0.0" - micromark-extension-mdxjs: "npm:^1.0.0" - checksum: 10c0/2688bbf03094a9cd17cc86afb6cf0270e86ffc696a2fe25ccb1befb84eb0864d281388dc560b585e05e20f94a994c9fa88492430d2ba703a2fef6918bca4c36b + "@types/mdast": "npm:^4.0.0" + mdast-util-gfm: "npm:^3.0.0" + micromark-extension-gfm: "npm:^3.0.0" + remark-parse: "npm:^11.0.0" + remark-stringify: "npm:^11.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/db0aa85ab718d475c2596e27c95be9255d3b0fc730a4eda9af076b919f7dd812f7be3ac020611a8dbe5253fd29671d7b12750b56e529fdc32dfebad6dbf77403 languageName: node linkType: hard -"remark-mdx@npm:^3.0.0": - version: 3.0.1 - resolution: "remark-mdx@npm:3.0.1" +"remark-math@npm:^6.0.0": + version: 6.0.0 + resolution: "remark-math@npm:6.0.0" dependencies: - mdast-util-mdx: "npm:^3.0.0" - micromark-extension-mdxjs: "npm:^3.0.0" - checksum: 10c0/9e16cd5ff3b30620bd25351a2dd1701627fa5555785b35ee5fe07bd1e6793a9c825cc1f6af9e54a44351f74879f8b5ea2bce8e5a21379aeab58935e76a4d69ce + "@types/mdast": "npm:^4.0.0" + mdast-util-math: "npm:^3.0.0" + micromark-extension-math: "npm:^3.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/859613c4db194bb6b3c9c063661dc52b8ceda9c5cf3256b42f73d93eb8f38a6d634eb5f976fe094425f6f1035aaf329eb49ada314feb3b2b1073326b6d3aaa02 languageName: node linkType: hard -"remark-parse@npm:^10.0.0": - version: 10.0.2 - resolution: "remark-parse@npm:10.0.2" +"remark-mdx@npm:^3.0.0": + version: 3.1.0 + resolution: "remark-mdx@npm:3.1.0" dependencies: - "@types/mdast": "npm:^3.0.0" - mdast-util-from-markdown: "npm:^1.0.0" - unified: "npm:^10.0.0" - checksum: 10c0/30cb8f2790380b1c7370a1c66cda41f33a7dc196b9e440a00e2675037bca55aea868165a8204e0cdbacc27ef4a3bdb7d45879826bd6efa07d9fdf328cb67a332 + mdast-util-mdx: "npm:^3.0.0" + micromark-extension-mdxjs: "npm:^3.0.0" + checksum: 10c0/247800fa8561624bdca5776457c5965d99e5e60080e80262c600fe12ddd573862e029e39349e1e36e4c3bf79c8e571ecf4d3d2d8c13485b758391fb500e24a1a languageName: node linkType: hard @@ -7684,35 +7869,39 @@ __metadata: languageName: node linkType: hard -"remark-rehype@npm:^10.0.0": - version: 10.1.0 - resolution: "remark-rehype@npm:10.1.0" - dependencies: - "@types/hast": "npm:^2.0.0" - "@types/mdast": "npm:^3.0.0" - mdast-util-to-hast: "npm:^12.1.0" - unified: "npm:^10.0.0" - checksum: 10c0/803e658c9b51a9b53ee2ada42ff82e8e570444bb97c873e0d602c2d8dcb69a774fd22bd6f26643dfd5ab4c181059ea6c9fb9a99a2d7f9665f3f11bef1a1489bd - languageName: node - linkType: hard - "remark-rehype@npm:^11.0.0": - version: 11.1.0 - resolution: "remark-rehype@npm:11.1.0" + version: 11.1.1 + resolution: "remark-rehype@npm:11.1.1" dependencies: "@types/hast": "npm:^3.0.0" "@types/mdast": "npm:^4.0.0" mdast-util-to-hast: "npm:^13.0.0" unified: "npm:^11.0.0" vfile: "npm:^6.0.0" - checksum: 10c0/7a9534847ea70e78cf09227a4302af7e491f625fd092351a1b1ee27a2de0a369ac4acf069682e8a8ec0a55847b3e83f0be76b2028aa90e98e69e21420b9794c3 + checksum: 10c0/68f986e8ee758d415e93babda2a0d89477c15b7c200edc23b8b1d914dd6e963c5fc151a11cbbbcfa7dd237367ff3ef86e302be90f31f37a17b0748668bd8c65b languageName: node linkType: hard -"remove-accents@npm:0.5.0": - version: 0.5.0 - resolution: "remove-accents@npm:0.5.0" - checksum: 10c0/a75321aa1b53d9abe82637115a492770bfe42bb38ed258be748bf6795871202bc8b4badff22013494a7029f5a241057ad8d3f72adf67884dbe15a9e37e87adc4 +"remark-smartypants@npm:^3.0.0": + version: 3.0.2 + resolution: "remark-smartypants@npm:3.0.2" + dependencies: + retext: "npm:^9.0.0" + retext-smartypants: "npm:^6.0.0" + unified: "npm:^11.0.4" + unist-util-visit: "npm:^5.0.0" + checksum: 10c0/661129f6258feb4531c896d0d7013d0cd7835599f7d9c46947ff0cda19c717e2d5a7da28fc72a9d454dd5a5b6308403f0d7a7ec58338865a28c9242a77739b40 + languageName: node + linkType: hard + +"remark-stringify@npm:^11.0.0": + version: 11.0.0 + resolution: "remark-stringify@npm:11.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/0cdb37ce1217578f6f847c7ec9f50cbab35df5b9e3903d543e74b405404e67c07defcb23cd260a567b41b769400f6de03c2c3d9cd6ae7a6707d5c8d89ead489f languageName: node linkType: hard @@ -7766,6 +7955,51 @@ __metadata: languageName: node linkType: hard +"retext-latin@npm:^4.0.0": + version: 4.0.0 + resolution: "retext-latin@npm:4.0.0" + dependencies: + "@types/nlcst": "npm:^2.0.0" + parse-latin: "npm:^7.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/51530be66db9ef6ab8e9cda5dd0598377ff4321481d6a941bf70dac16fa6e9123ff7d8ff093a05c30a3e00e282e37094b845b6130a8005a3cb7186a961ab99cb + languageName: node + linkType: hard + +"retext-smartypants@npm:^6.0.0": + version: 6.2.0 + resolution: "retext-smartypants@npm:6.2.0" + dependencies: + "@types/nlcst": "npm:^2.0.0" + nlcst-to-string: "npm:^4.0.0" + unist-util-visit: "npm:^5.0.0" + checksum: 10c0/36f925353dd7f31df642bca2493524a8daee15f9b0e0dfe7fb8982462d23ccb12a99864989db22f0bacb6d7fea1f696ba96e031d3fbac4f013e1c95ef3fed881 + languageName: node + linkType: hard + +"retext-stringify@npm:^4.0.0": + version: 4.0.0 + resolution: "retext-stringify@npm:4.0.0" + dependencies: + "@types/nlcst": "npm:^2.0.0" + nlcst-to-string: "npm:^4.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/eb2930356c85999a8978092a5d6ba3695fea859c71f221dcdc485704552922641bc17e50fea2ae0599d665192eaad002e98bb4236ecac94a570b73581b99004d + languageName: node + linkType: hard + +"retext@npm:^9.0.0": + version: 9.0.0 + resolution: "retext@npm:9.0.0" + dependencies: + "@types/nlcst": "npm:^2.0.0" + retext-latin: "npm:^4.0.0" + retext-stringify: "npm:^4.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/eee9f66ff6fae5670a5eeccc0b5e2639112f868475273ce307d3079cfe7deb9d1b0f2b8fa28b4ab30abaf8538345185a44908f461a27bbf43c4f94feda90ecac + languageName: node + linkType: hard + "retry@npm:^0.12.0": version: 0.12.0 resolution: "retry@npm:0.12.0" @@ -7805,6 +8039,18 @@ __metadata: languageName: node linkType: hard +"roughjs@npm:^4.6.6": + version: 4.6.6 + resolution: "roughjs@npm:4.6.6" + dependencies: + hachure-fill: "npm:^0.5.2" + path-data-parser: "npm:^0.1.0" + points-on-curve: "npm:^0.2.0" + points-on-path: "npm:^0.2.1" + checksum: 10c0/68c11bf4516aa014cef2fe52426a9bab237c2f500d13e1a4f13b523cb5723667bf2d92b9619325efdc5bc2a193588ff5af8d51683df17cfb8720e96fe2b92b0c + languageName: node + linkType: hard + "run-parallel@npm:^1.1.9": version: 1.2.0 resolution: "run-parallel@npm:1.2.0" @@ -7821,16 +8067,7 @@ __metadata: languageName: node linkType: hard -"sade@npm:^1.7.3": - version: 1.8.1 - resolution: "sade@npm:1.8.1" - dependencies: - mri: "npm:^1.1.0" - checksum: 10c0/da8a3a5d667ad5ce3bf6d4f054bbb9f711103e5df21003c5a5c1a8a77ce12b640ed4017dd423b13c2307ea7e645adee7c2ae3afe8051b9db16a6f6d3da3f90b1 - languageName: node - linkType: hard - -"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 @@ -7853,7 +8090,7 @@ __metadata: languageName: node linkType: hard -"schema-utils@npm:^3.0.0": +"schema-utils@npm:^3.0.0, schema-utils@npm:^3.1.1, schema-utils@npm:^3.2.0": version: 3.3.0 resolution: "schema-utils@npm:3.3.0" dependencies: @@ -7912,6 +8149,15 @@ __metadata: languageName: node linkType: hard +"serialize-javascript@npm:^6.0.1": + version: 6.0.2 + resolution: "serialize-javascript@npm:6.0.2" + dependencies: + randombytes: "npm:^2.1.0" + checksum: 10c0/2dd09ef4b65a1289ba24a788b1423a035581bef60817bea1f01eda8e3bda623f86357665fe7ac1b50f6d4f583f97db9615b3f07b2a2e8cbcb75033965f771dd2 + languageName: node + linkType: hard + "server-only@npm:^0.0.1": version: 0.0.1 resolution: "server-only@npm:0.0.1" @@ -7933,7 +8179,7 @@ __metadata: languageName: node linkType: hard -"sharp@npm:*, sharp@npm:^0.33.1": +"sharp@npm:*, sharp@npm:^0.33.5": version: 0.33.5 resolution: "sharp@npm:0.33.5" dependencies: @@ -8034,15 +8280,17 @@ __metadata: languageName: node linkType: hard -"shiki@npm:^0.14.3": - version: 0.14.7 - resolution: "shiki@npm:0.14.7" +"shiki@npm:^1.0.0": + version: 1.22.1 + resolution: "shiki@npm:1.22.1" dependencies: - ansi-sequence-parser: "npm:^1.1.0" - jsonc-parser: "npm:^3.2.0" - vscode-oniguruma: "npm:^1.7.0" - vscode-textmate: "npm:^8.0.0" - checksum: 10c0/5c7fcbb870d0facccc7ae2f3410a28121f8e0b3f298e4e956de817ad6ab60a4c7e20a9184edfe50a93447addbb88b95b69e6ef88ac16ac6ca3e94c50771a6459 + "@shikijs/core": "npm:1.22.1" + "@shikijs/engine-javascript": "npm:1.22.1" + "@shikijs/engine-oniguruma": "npm:1.22.1" + "@shikijs/types": "npm:1.22.1" + "@shikijs/vscode-textmate": "npm:^9.3.0" + "@types/hast": "npm:^3.0.4" + checksum: 10c0/4e18903687d6f18fdb439f3a215b1a5c53226a144bbcead2051044a5aae65a25cd767296ec8b200e4b6003239f50c2b3ca5891aebd93ff13fc4c959721cb2a34 languageName: node linkType: hard @@ -8086,13 +8334,13 @@ __metadata: linkType: hard "simple-git@npm:^3.15.0": - version: 3.26.0 - resolution: "simple-git@npm:3.26.0" + version: 3.27.0 + resolution: "simple-git@npm:3.27.0" dependencies: "@kwsites/file-exists": "npm:^1.1.1" "@kwsites/promise-deferred": "npm:^1.1.1" debug: "npm:^4.3.5" - checksum: 10c0/fa45c9ff26c45aa7390f69610e27c1ae474b3881977828009fe41b7ffe8ce371cc108b818b2153815299deffefed591e9148cfdad92d8ddb60ca29eaefaf5827 + checksum: 10c0/ef56cabea585377d3e0ca30e4e93447f465d91f23eaf751693cc31f366b5f7636facf52ad5bcd598bfdf295fa60732e7a394303d378995b52e2d221d92e5f9f4 languageName: node linkType: hard @@ -8105,10 +8353,10 @@ __metadata: languageName: node linkType: hard -"slash@npm:^3.0.0": - version: 3.0.0 - resolution: "slash@npm:3.0.0" - checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b +"slash@npm:^5.1.0": + version: 5.1.0 + resolution: "slash@npm:5.1.0" + checksum: 10c0/eb48b815caf0bdc390d0519d41b9e0556a14380f6799c72ba35caf03544d501d18befdeeef074bc9c052acf69654bc9e0d79d7f1de0866284137a40805299eb3 languageName: node linkType: hard @@ -8171,19 +8419,27 @@ __metadata: languageName: node linkType: hard -"sort-keys@npm:^5.0.0": - version: 5.1.0 - resolution: "sort-keys@npm:5.1.0" +"source-map-js@npm:^1.0.2, source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf + languageName: node + linkType: hard + +"source-map-support@npm:~0.5.20": + version: 0.5.21 + resolution: "source-map-support@npm:0.5.21" dependencies: - is-plain-obj: "npm:^4.0.0" - checksum: 10c0/fdb7aeb02368ad91b2ea947b59f3c95d80f8c71bbcb5741ebd55852994f54a129af3b3663b280951566fe5897de056428810dbb58c61db831e588c0ac110f2b0 + buffer-from: "npm:^1.0.0" + source-map: "npm:^0.6.0" + checksum: 10c0/9ee09942f415e0f721d6daad3917ec1516af746a8120bba7bb56278707a37f1eb8642bde456e98454b8a885023af81a16e646869975f06afc1a711fb90484e7d languageName: node linkType: hard -"source-map-js@npm:^1.0.2, source-map-js@npm:^1.2.0": - version: 1.2.1 - resolution: "source-map-js@npm:1.2.1" - checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf +"source-map@npm:^0.6.0": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 languageName: node linkType: hard @@ -8201,6 +8457,19 @@ __metadata: languageName: node linkType: hard +"speech-rule-engine@npm:^4.0.6": + version: 4.0.7 + resolution: "speech-rule-engine@npm:4.0.7" + dependencies: + commander: "npm:9.2.0" + wicked-good-xpath: "npm:1.3.0" + xmldom-sre: "npm:0.1.31" + bin: + sre: bin/sre + checksum: 10c0/f9e17b5c6e09de41b67a1895f246706e4f36f8338575cd61f1653a16a0babad90db28365da350a10c4ab561a268d2cd3212cae9eff921556c274deac6e92df3c + languageName: node + linkType: hard + "split-on-first@npm:^1.0.0": version: 1.1.0 resolution: "split-on-first@npm:1.1.0" @@ -8391,7 +8660,7 @@ __metadata: languageName: node linkType: hard -"style-to-object@npm:^0.4.0, style-to-object@npm:^0.4.1": +"style-to-object@npm:^0.4.0": version: 0.4.4 resolution: "style-to-object@npm:0.4.4" dependencies: @@ -8401,31 +8670,31 @@ __metadata: linkType: hard "style-to-object@npm:^1.0.0": - version: 1.0.7 - resolution: "style-to-object@npm:1.0.7" + version: 1.0.8 + resolution: "style-to-object@npm:1.0.8" dependencies: - inline-style-parser: "npm:0.2.3" - checksum: 10c0/61f393482fdaf3f88acb1a31087875073d952c22f7614de90d5ce4f7aa86714c2523f96ab6ebefbecb327cfb31b41c14151878cb5e1e7999e5ee006987a11e62 + inline-style-parser: "npm:0.2.4" + checksum: 10c0/daa6646b1ff18258c0ca33ed281fbe73485c8391192db1b56ce89d40c93ea64507a41e8701d0dadfe771bc2f540c46c9b295135f71584c8e5cb23d6a19be9430 languageName: node linkType: hard -"styled-jsx@npm:5.1.1": - version: 5.1.1 - resolution: "styled-jsx@npm:5.1.1" +"styled-jsx@npm:5.1.6": + version: 5.1.6 + resolution: "styled-jsx@npm:5.1.6" dependencies: client-only: "npm:0.0.1" peerDependencies: - react: ">= 16.8.0 || 17.x.x || ^18.0.0-0" + react: ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" peerDependenciesMeta: "@babel/core": optional: true babel-plugin-macros: optional: true - checksum: 10c0/42655cdadfa5388f8a48bb282d6b450df7d7b8cf066ac37038bd0499d3c9f084815ebd9ff9dfa12a218fd4441338851db79603498d7557207009c1cf4d609835 + checksum: 10c0/ace50e7ea5ae5ae6a3b65a50994c51fca6ae7df9c7ecfd0104c36be0b4b3a9c5c1a2374d16e2a11e256d0b20be6d47256d768ecb4f91ab390f60752a075780f5 languageName: node linkType: hard -"stylis@npm:^4.1.3": +"stylis@npm:^4.3.1": version: 4.3.4 resolution: "stylis@npm:4.3.4" checksum: 10c0/4899c2674cd2538e314257abd1ba7ea3c2176439659ddac6593c78192cfd4a06f814a0a4fc69bc7f8fcc6b997e13d383dd9b578b71074746a0fb86045a83e42d @@ -8459,15 +8728,6 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^5.3.0": - version: 5.5.0 - resolution: "supports-color@npm:5.5.0" - dependencies: - has-flag: "npm:^3.0.0" - checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 - languageName: node - linkType: hard - "supports-color@npm:^7.1.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" @@ -8477,6 +8737,15 @@ __metadata: languageName: node linkType: hard +"supports-color@npm:^8.0.0": + version: 8.1.1 + resolution: "supports-color@npm:8.1.1" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 + languageName: node + linkType: hard + "supports-preserve-symlinks-flag@npm:^1.0.0": version: 1.0.0 resolution: "supports-preserve-symlinks-flag@npm:1.0.0" @@ -8484,6 +8753,13 @@ __metadata: languageName: node linkType: hard +"tabbable@npm:^6.0.0": + version: 6.2.0 + resolution: "tabbable@npm:6.2.0" + checksum: 10c0/ced8b38f05f2de62cd46836d77c2646c42b8c9713f5bd265daf0e78ff5ac73d3ba48a7ca45f348bafeef29b23da7187c72250742d37627883ef89cbd7fa76898 + languageName: node + linkType: hard + "table@npm:^6.8.0": version: 6.8.2 resolution: "table@npm:6.8.2" @@ -8497,9 +8773,9 @@ __metadata: languageName: node linkType: hard -"tailwindcss@npm:^3.4.0": - version: 3.4.10 - resolution: "tailwindcss@npm:3.4.10" +"tailwindcss@npm:^3.4.14": + version: 3.4.14 + resolution: "tailwindcss@npm:3.4.14" dependencies: "@alloc/quick-lru": "npm:^5.2.0" arg: "npm:^5.0.2" @@ -8526,7 +8802,14 @@ __metadata: bin: tailwind: lib/cli.js tailwindcss: lib/cli.js - checksum: 10c0/5212f4d90f21fc21b87008570a37de46af9c955a7c197d0f0e1d888edd5ef597f1f41194bec6b1fdc8a21e9460089d370bf728ce39b13abe93324a768b7043fd + checksum: 10c0/f6c23f8a3293ce3b2511bca1e50008ac94bd8562cb09fec32fe4f8e8a4f54d9e9fc10e567b7f974abdd4b33e550564a2616d4e793c736955432f28448141ce45 + languageName: node + linkType: hard + +"tapable@npm:^2.1.1, tapable@npm:^2.2.0": + version: 2.2.1 + resolution: "tapable@npm:2.2.1" + checksum: 10c0/bc40e6efe1e554d075469cedaba69a30eeb373552aaf41caeaaa45bf56ffacc2674261b106245bd566b35d8f3329b52d838e851ee0a852120acae26e622925c9 languageName: node linkType: hard @@ -8584,6 +8867,42 @@ __metadata: languageName: node linkType: hard +"terser-webpack-plugin@npm:^5.3.10": + version: 5.3.10 + resolution: "terser-webpack-plugin@npm:5.3.10" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.20" + jest-worker: "npm:^27.4.5" + schema-utils: "npm:^3.1.1" + serialize-javascript: "npm:^6.0.1" + terser: "npm:^5.26.0" + peerDependencies: + webpack: ^5.1.0 + peerDependenciesMeta: + "@swc/core": + optional: true + esbuild: + optional: true + uglify-js: + optional: true + checksum: 10c0/66d1ed3174542560911cf96f4716aeea8d60e7caab212291705d50072b6ba844c7391442541b13c848684044042bea9ec87512b8506528c12854943da05faf91 + languageName: node + linkType: hard + +"terser@npm:^5.26.0": + version: 5.36.0 + resolution: "terser@npm:5.36.0" + dependencies: + "@jridgewell/source-map": "npm:^0.3.3" + acorn: "npm:^8.8.2" + commander: "npm:^2.20.0" + source-map-support: "npm:~0.5.20" + bin: + terser: bin/terser + checksum: 10c0/f4ed2bead19f64789ddcfb85b7cef78f3942f967b8890c54f57d1e35bc7d547d551c6a4c32210bce6ba45b1c738314bbfac6acbc6c762a45cd171777d0c120d9 + languageName: node + linkType: hard + "thenify-all@npm:^1.0.0": version: 1.6.0 resolution: "thenify-all@npm:1.6.0" @@ -8611,6 +8930,13 @@ __metadata: languageName: node linkType: hard +"tinyexec@npm:^0.3.0": + version: 0.3.1 + resolution: "tinyexec@npm:0.3.1" + checksum: 10c0/11e7a7c5d8b3bddf8b5cbe82a9290d70a6fad84d528421d5d18297f165723cb53d2e737d8f58dcce5ca56f2e4aa2d060f02510b1f8971784f97eb3e9aec28f09 + languageName: node + linkType: hard + "title@npm:^3.5.3": version: 3.5.3 resolution: "title@npm:3.5.3" @@ -8747,10 +9073,10 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.4.0": - version: 2.7.0 - resolution: "tslib@npm:2.7.0" - checksum: 10c0/469e1d5bf1af585742128827000711efa61010b699cb040ab1800bcd3ccdd37f63ec30642c9e07c4439c1db6e46345582614275daca3e0f4abae29b0083f04a6 +"tslib@npm:2, tslib@npm:^2.4.0": + version: 2.8.0 + resolution: "tslib@npm:2.8.0" + checksum: 10c0/31e4d14dc1355e9b89e4d3c893a18abb7f90b6886b089c2da91224d0a7752c79f3ddc41bc1aa0a588ac895bd97bb99c5bc2bfdb2f86de849f31caeb3ba79bbe5 languageName: node linkType: hard @@ -8763,10 +9089,22 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^1.0.2": - version: 1.4.0 - resolution: "type-fest@npm:1.4.0" - checksum: 10c0/a3c0f4ee28ff6ddf800d769eafafcdeab32efa38763c1a1b8daeae681920f6e345d7920bf277245235561d8117dab765cb5f829c76b713b4c9de0998a5397141 +"twoslash-protocol@npm:0.2.12": + version: 0.2.12 + resolution: "twoslash-protocol@npm:0.2.12" + checksum: 10c0/9a32d31a7fcdd9722627981b0bb20c43b7257f85cb6e455c5c60cb2aba10adc28ff45beb4367f80d241b2cfa19ab9572ff88b66f77f59038f64713460fdb34ba + languageName: node + linkType: hard + +"twoslash@npm:^0.2.12": + version: 0.2.12 + resolution: "twoslash@npm:0.2.12" + dependencies: + "@typescript/vfs": "npm:^1.6.0" + twoslash-protocol: "npm:0.2.12" + peerDependencies: + typescript: "*" + checksum: 10c0/1476da54614c91f4ec061f3fceef180f7b83a167e5446ba6f63c36fb821750028e056b88c7345fa914a30e05268ba7f5d8567e57ded6ecd8abf39777514abfbb languageName: node linkType: hard @@ -8780,13 +9118,13 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^5.3.3": - version: 5.5.4 - resolution: "typescript@npm:5.5.4" +"typescript@npm:^5.6.3": + version: 5.6.3 + resolution: "typescript@npm:5.6.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/422be60f89e661eab29ac488c974b6cc0a660fb2228003b297c3d10c32c90f3bcffc1009b43876a082515a3c376b1eefcce823d6e78982e6878408b9a923199c + checksum: 10c0/44f61d3fb15c35359bc60399cb8127c30bae554cd555b8e2b46d68fa79d680354b83320ad419ff1b81a0bdf324197b29affe6cc28988cd6a74d4ac60c94f9799 languageName: node linkType: hard @@ -8800,13 +9138,20 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.3.3#optional!builtin": - version: 5.5.4 - resolution: "typescript@patch:typescript@npm%3A5.5.4#optional!builtin::version=5.5.4&hash=379a07" +"typescript@patch:typescript@npm%3A^5.6.3#optional!builtin": + version: 5.6.3 + resolution: "typescript@patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/73409d7b9196a5a1217b3aaad929bf76294d3ce7d6e9766dd880ece296ee91cf7d7db6b16c6c6c630ee5096eccde726c0ef17c7dfa52b01a243e57ae1f09ef07 + checksum: 10c0/7c9d2e07c81226d60435939618c91ec2ff0b75fbfa106eec3430f0fcf93a584bc6c73176676f532d78c3594fe28a54b36eb40b3d75593071a7ec91301533ace7 + languageName: node + linkType: hard + +"ufo@npm:^1.5.4": + version: 1.5.4 + resolution: "ufo@npm:1.5.4" + checksum: 10c0/b5dc4dc435c49c9ef8890f1b280a19ee4d0954d1d6f9ab66ce62ce64dd04c7be476781531f952a07c678d51638d02ad4b98e16237be29149295b0f7c09cda765 languageName: node linkType: hard @@ -8817,7 +9162,7 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~6.19.2": +"undici-types@npm:~6.19.8": version: 6.19.8 resolution: "undici-types@npm:6.19.8" checksum: 10c0/078afa5990fba110f6824823ace86073b4638f1d5112ee26e790155f481f2a868cc3e0615505b6f4282bdf74a3d8caad715fd809e870c2bb0704e3ea6082f344 @@ -8833,22 +9178,7 @@ __metadata: languageName: node linkType: hard -"unified@npm:^10.0.0": - version: 10.1.2 - resolution: "unified@npm:10.1.2" - dependencies: - "@types/unist": "npm:^2.0.0" - bail: "npm:^2.0.0" - extend: "npm:^3.0.0" - is-buffer: "npm:^2.0.0" - is-plain-obj: "npm:^4.0.0" - trough: "npm:^2.0.0" - vfile: "npm:^5.0.0" - checksum: 10c0/da9195e3375a74ab861a65e1d7b0454225d17a61646697911eb6b3e97de41091930ed3d167eb11881d4097c51deac407091d39ddd1ee8bf1fde3f946844a17a7 - languageName: node - linkType: hard - -"unified@npm:^11.0.0": +"unified@npm:^11.0.0, unified@npm:^11.0.4, unified@npm:^11.0.5": version: 11.0.5 resolution: "unified@npm:11.0.5" dependencies: @@ -8891,13 +9221,6 @@ __metadata: languageName: node linkType: hard -"unist-util-generated@npm:^2.0.0": - version: 2.0.1 - resolution: "unist-util-generated@npm:2.0.1" - checksum: 10c0/6f052dd47a7280785f3787f52cdfe8819e1de50317a1bcf7c9346c63268cf2cebc61a5980e7ca734a54735e27dbb73091aa0361a98504ab7f9409fb75f1b16bb - languageName: node - linkType: hard - "unist-util-is@npm:^5.0.0": version: 5.2.1 resolution: "unist-util-is@npm:5.2.1" @@ -8916,12 +9239,13 @@ __metadata: languageName: node linkType: hard -"unist-util-position-from-estree@npm:^1.0.0, unist-util-position-from-estree@npm:^1.1.0": - version: 1.1.2 - resolution: "unist-util-position-from-estree@npm:1.1.2" +"unist-util-modify-children@npm:^4.0.0": + version: 4.0.0 + resolution: "unist-util-modify-children@npm:4.0.0" dependencies: - "@types/unist": "npm:^2.0.0" - checksum: 10c0/1d95d0b2b05efcec07a4e6745a6950cd498f6100fb900615b252937baed5140df1c6319b9a67364c8a6bd891c58b3c9a52a22e8e1d3422c50bb785d7e3ad7484 + "@types/unist": "npm:^3.0.0" + array-iterate: "npm:^2.0.0" + checksum: 10c0/63d44b09a2e4c674c72816d4328d668972e68cc965ea719fef1c642b66a3ebe3b102e284a3213b4920ebccff05e0f689b4eaae8a0e5c3dafcad117d1577496da languageName: node linkType: hard @@ -8934,15 +9258,6 @@ __metadata: languageName: node linkType: hard -"unist-util-position@npm:^4.0.0": - version: 4.0.4 - resolution: "unist-util-position@npm:4.0.4" - dependencies: - "@types/unist": "npm:^2.0.0" - checksum: 10c0/e506d702e25a0fb47a64502054f709a6ff5db98993bf139eec868cd11eb7de34392b781c6c2002e2c24d97aa398c14b32a47076129f36e4b894a2c1351200888 - languageName: node - linkType: hard - "unist-util-position@npm:^5.0.0": version: 5.0.0 resolution: "unist-util-position@npm:5.0.0" @@ -8952,16 +9267,6 @@ __metadata: languageName: node linkType: hard -"unist-util-remove-position@npm:^4.0.0": - version: 4.0.2 - resolution: "unist-util-remove-position@npm:4.0.2" - dependencies: - "@types/unist": "npm:^2.0.0" - unist-util-visit: "npm:^4.0.0" - checksum: 10c0/17371b1e53c52d1b00656c9c6fe1bb044846e7067022195823ed3d1a8d8b965d4f9a79b286b8a841e68731b4ec93afd563b81ae92151f80c28534ba51e9dc18f - languageName: node - linkType: hard - "unist-util-remove-position@npm:^5.0.0": version: 5.0.0 resolution: "unist-util-remove-position@npm:5.0.0" @@ -8994,15 +9299,6 @@ __metadata: languageName: node linkType: hard -"unist-util-stringify-position@npm:^3.0.0": - version: 3.0.3 - resolution: "unist-util-stringify-position@npm:3.0.3" - dependencies: - "@types/unist": "npm:^2.0.0" - checksum: 10c0/14550027825230528f6437dad7f2579a841780318569851291be6c8a970bae6f65a7feb24dabbcfce0e5e68cacae85bf12cbda3f360f7c873b4db602bdf7bb21 - languageName: node - linkType: hard - "unist-util-stringify-position@npm:^4.0.0": version: 4.0.0 resolution: "unist-util-stringify-position@npm:4.0.0" @@ -9012,6 +9308,15 @@ __metadata: languageName: node linkType: hard +"unist-util-visit-children@npm:^3.0.0": + version: 3.0.0 + resolution: "unist-util-visit-children@npm:3.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + checksum: 10c0/51e95f54fbf11d414952c011c761c3960864948ad3fd2abe3989eb18b18d96b8f48e7ea5ab6f23264d1a3f4f5a1ff76312dd8f2196c78b762098403505c3abb9 + languageName: node + linkType: hard + "unist-util-visit-parents@npm:^4.0.0": version: 4.1.1 resolution: "unist-util-visit-parents@npm:4.1.1" @@ -9022,7 +9327,7 @@ __metadata: languageName: node linkType: hard -"unist-util-visit-parents@npm:^5.0.0, unist-util-visit-parents@npm:^5.1.1": +"unist-util-visit-parents@npm:^5.0.0": version: 5.1.3 resolution: "unist-util-visit-parents@npm:5.1.3" dependencies: @@ -9053,17 +9358,6 @@ __metadata: languageName: node linkType: hard -"unist-util-visit@npm:^4.0.0": - version: 4.1.2 - resolution: "unist-util-visit@npm:4.1.2" - dependencies: - "@types/unist": "npm:^2.0.0" - unist-util-is: "npm:^5.0.0" - unist-util-visit-parents: "npm:^5.1.1" - checksum: 10c0/56a1f49a4d8e321e75b3c7821d540a45165a031dd06324bb0e8c75e7737bc8d73bdddbf0b0ca82000f9708a4c36861c6ebe88d01f7cf00e925f5d75f13a3a017 - languageName: node - linkType: hard - "unist-util-visit@npm:^5.0.0": version: 5.0.0 resolution: "unist-util-visit@npm:5.0.0" @@ -9096,17 +9390,17 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.1.0": - version: 1.1.0 - resolution: "update-browserslist-db@npm:1.1.0" +"update-browserslist-db@npm:^1.1.1": + version: 1.1.1 + resolution: "update-browserslist-db@npm:1.1.1" dependencies: - escalade: "npm:^3.1.2" - picocolors: "npm:^1.0.1" + escalade: "npm:^3.2.0" + picocolors: "npm:^1.1.0" peerDependencies: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: 10c0/a7452de47785842736fb71547651c5bbe5b4dc1e3722ccf48a704b7b34e4dcf633991eaa8e4a6a517ffb738b3252eede3773bef673ef9021baa26b056d63a5b9 + checksum: 10c0/536a2979adda2b4be81b07e311bd2f3ad5e978690987956bc5f514130ad50cac87cd22c710b686d79731e00fbee8ef43efe5fcd72baa241045209195d43dcc80 languageName: node linkType: hard @@ -9135,7 +9429,7 @@ __metadata: languageName: node linkType: hard -"uuid@npm:^9.0.0": +"uuid@npm:^9.0.0, uuid@npm:^9.0.1": version: 9.0.1 resolution: "uuid@npm:9.0.1" bin: @@ -9144,20 +9438,6 @@ __metadata: languageName: node linkType: hard -"uvu@npm:^0.5.0": - version: 0.5.6 - resolution: "uvu@npm:0.5.6" - dependencies: - dequal: "npm:^2.0.0" - diff: "npm:^5.0.0" - kleur: "npm:^4.0.3" - sade: "npm:^1.7.3" - bin: - uvu: bin.js - checksum: 10c0/ad32eb5f7d94bdeb71f80d073003f0138e24f61ed68cecc8e15d2f30838f44c9670577bb1775c8fac894bf93d1bc1583d470a9195e49bfa6efa14cc6f4942bff - languageName: node - linkType: hard - "v8-compile-cache-lib@npm:^3.0.1": version: 3.0.1 resolution: "v8-compile-cache-lib@npm:3.0.1" @@ -9165,26 +9445,26 @@ __metadata: languageName: node linkType: hard -"vercel@npm:^37.0.0": - version: 37.4.0 - resolution: "vercel@npm:37.4.0" +"vercel@npm:^37.12.1": + version: 37.12.1 + resolution: "vercel@npm:37.12.1" dependencies: - "@vercel/build-utils": "npm:8.4.0" + "@vercel/build-utils": "npm:8.4.11" "@vercel/fun": "npm:1.1.0" - "@vercel/go": "npm:3.1.2" - "@vercel/hydrogen": "npm:1.0.4" - "@vercel/next": "npm:4.3.8" - "@vercel/node": "npm:3.2.12" + "@vercel/go": "npm:3.2.0" + "@vercel/hydrogen": "npm:1.0.9" + "@vercel/next": "npm:4.3.17" + "@vercel/node": "npm:3.2.23" "@vercel/python": "npm:4.3.1" - "@vercel/redwood": "npm:2.1.3" - "@vercel/remix-builder": "npm:2.2.6" + "@vercel/redwood": "npm:2.1.8" + "@vercel/remix-builder": "npm:2.2.12" "@vercel/ruby": "npm:2.1.0" - "@vercel/static-build": "npm:2.5.22" + "@vercel/static-build": "npm:2.5.33" chokidar: "npm:3.3.1" bin: vc: dist/index.js vercel: dist/index.js - checksum: 10c0/182855a56af09d85ccd357f9d54de23cdd344c9f7452e9ebac0df5029b30898699d6aece3242fcb9a2be51319f37a79b4b70045748baca0189be6864f949462b + checksum: 10c0/a718f511e9372aa172edadce12393f167850c53412a324c1ff08db6a622e330d4426d4286f6e545682a2f15f27f0d55539a97322b28c62ffc465666cfcda7aff languageName: node linkType: hard @@ -9198,17 +9478,6 @@ __metadata: languageName: node linkType: hard -"vfile-matter@npm:^3.0.1": - version: 3.0.1 - resolution: "vfile-matter@npm:3.0.1" - dependencies: - "@types/js-yaml": "npm:^4.0.0" - is-buffer: "npm:^2.0.0" - js-yaml: "npm:^4.0.0" - checksum: 10c0/45ff9b49e7a5817b646d76f14d2486e12a93a16951bd8cfa6c64f0c78c4e56e48d30a0542a980bc9c7aae1bb430d457f9dfc2677e514d66cc2976ab31f10403a - languageName: node - linkType: hard - "vfile-matter@npm:^5.0.0": version: 5.0.0 resolution: "vfile-matter@npm:5.0.0" @@ -9219,16 +9488,6 @@ __metadata: languageName: node linkType: hard -"vfile-message@npm:^3.0.0": - version: 3.1.4 - resolution: "vfile-message@npm:3.1.4" - dependencies: - "@types/unist": "npm:^2.0.0" - unist-util-stringify-position: "npm:^3.0.0" - checksum: 10c0/c4ccf9c0ced92d657846fd067fefcf91c5832cdbe2ecc431bb67886e8c959bf7fc05a9dbbca5551bc34c9c87a0a73854b4249f65c64ddfebc4d59ea24a18b996 - languageName: node - linkType: hard - "vfile-message@npm:^4.0.0": version: 4.0.2 resolution: "vfile-message@npm:4.0.2" @@ -9239,18 +9498,6 @@ __metadata: languageName: node linkType: hard -"vfile@npm:^5.0.0, vfile@npm:^5.3.0": - version: 5.3.7 - resolution: "vfile@npm:5.3.7" - dependencies: - "@types/unist": "npm:^2.0.0" - is-buffer: "npm:^2.0.0" - unist-util-stringify-position: "npm:^3.0.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/c36bd4c3f16ec0c6cbad0711ca99200316bbf849d6b07aa4cb5d9062cc18ae89249fe62af9521926e9659c0e6bc5c2c1da0fe26b41fb71e757438297e1a41da4 - languageName: node - linkType: hard - "vfile@npm:^6.0.0, vfile@npm:^6.0.1": version: 6.0.3 resolution: "vfile@npm:6.0.3" @@ -9261,17 +9508,62 @@ __metadata: languageName: node linkType: hard -"vscode-oniguruma@npm:^1.7.0": - version: 1.7.0 - resolution: "vscode-oniguruma@npm:1.7.0" - checksum: 10c0/bef0073c665ddf8c86e51da94529c905856559e9aba97a9882f951acd572da560384775941ab6e7e8db94d9c578b25fefb951e4b73c37e8712e16b0231de2689 +"vscode-jsonrpc@npm:8.2.0": + version: 8.2.0 + resolution: "vscode-jsonrpc@npm:8.2.0" + checksum: 10c0/0789c227057a844f5ead55c84679206227a639b9fb76e881185053abc4e9848aa487245966cc2393fcb342c4541241b015a1a2559fddd20ac1e68945c95344e6 languageName: node linkType: hard -"vscode-textmate@npm:^8.0.0": - version: 8.0.0 - resolution: "vscode-textmate@npm:8.0.0" - checksum: 10c0/836f7fe73fc94998a38ca193df48173a2b6eab08b4943d83c8cac9a2a0c3546cfdab4cf1b10b890ec4a4374c5bee03a885ef0e83e7fd2bd618cf00781c017c04 +"vscode-languageserver-protocol@npm:3.17.5": + version: 3.17.5 + resolution: "vscode-languageserver-protocol@npm:3.17.5" + dependencies: + vscode-jsonrpc: "npm:8.2.0" + vscode-languageserver-types: "npm:3.17.5" + checksum: 10c0/5f38fd80da9868d706eaa4a025f4aff9c3faad34646bcde1426f915cbd8d7e8b6c3755ce3fef6eebd256ba3145426af1085305f8a76e34276d2e95aaf339a90b + languageName: node + linkType: hard + +"vscode-languageserver-textdocument@npm:~1.0.11": + version: 1.0.12 + resolution: "vscode-languageserver-textdocument@npm:1.0.12" + checksum: 10c0/534349894b059602c4d97615a1147b6c4c031141c2093e59657f54e38570f5989c21b376836f13b9375419869242e9efb4066643208b21ab1e1dee111a0f00fb + languageName: node + linkType: hard + +"vscode-languageserver-types@npm:3.17.5": + version: 3.17.5 + resolution: "vscode-languageserver-types@npm:3.17.5" + checksum: 10c0/1e1260de79a2cc8de3e46f2e0182cdc94a7eddab487db5a3bd4ee716f67728e685852707d72c059721ce500447be9a46764a04f0611e94e4321ffa088eef36f8 + languageName: node + linkType: hard + +"vscode-languageserver@npm:~9.0.1": + version: 9.0.1 + resolution: "vscode-languageserver@npm:9.0.1" + dependencies: + vscode-languageserver-protocol: "npm:3.17.5" + bin: + installServerIntoExtension: bin/installServerIntoExtension + checksum: 10c0/8a0838d77c98a211c76e54bd3a6249fc877e4e1a73322673fb0e921168d8e91de4f170f1d4ff7e8b6289d0698207afc6aba6662d4c1cd8e4bd7cae96afd6b0c2 + languageName: node + linkType: hard + +"vscode-uri@npm:~3.0.8": + version: 3.0.8 + resolution: "vscode-uri@npm:3.0.8" + checksum: 10c0/f7f217f526bf109589969fe6e66b71e70b937de1385a1d7bb577ca3ee7c5e820d3856a86e9ff2fa9b7a0bc56a3dd8c3a9a557d3fedd7df414bc618d5e6b567f9 + languageName: node + linkType: hard + +"watchpack@npm:^2.4.1": + version: 2.4.2 + resolution: "watchpack@npm:2.4.2" + dependencies: + glob-to-regexp: "npm:^0.4.1" + graceful-fs: "npm:^4.1.2" + checksum: 10c0/ec60a5f0e9efaeca0102fd9126346b3b2d523e01c34030d3fddf5813a7125765121ebdc2552981136dcd2c852deb1af0b39340f2fcc235f292db5399d0283577 languageName: node linkType: hard @@ -9289,13 +9581,6 @@ __metadata: languageName: node linkType: hard -"web-worker@npm:^1.2.0": - version: 1.3.0 - resolution: "web-worker@npm:1.3.0" - checksum: 10c0/bca341b421f07c2d33aa205d463e6a2d3d376fb0628a01052dc343fd88a1d688df58d1c7fe36f631d0d860bbd3060f5014cca67d6f8781634b6c2fae25d1fc70 - languageName: node - linkType: hard - "webidl-conversions@npm:^3.0.0": version: 3.0.1 resolution: "webidl-conversions@npm:3.0.1" @@ -9303,6 +9588,49 @@ __metadata: languageName: node linkType: hard +"webpack-sources@npm:^3.2.3": + version: 3.2.3 + resolution: "webpack-sources@npm:3.2.3" + checksum: 10c0/2ef63d77c4fad39de4a6db17323d75eb92897b32674e97d76f0a1e87c003882fc038571266ad0ef581ac734cbe20952912aaa26155f1905e96ce251adbb1eb4e + languageName: node + linkType: hard + +"webpack@npm:^5": + version: 5.95.0 + resolution: "webpack@npm:5.95.0" + dependencies: + "@types/estree": "npm:^1.0.5" + "@webassemblyjs/ast": "npm:^1.12.1" + "@webassemblyjs/wasm-edit": "npm:^1.12.1" + "@webassemblyjs/wasm-parser": "npm:^1.12.1" + acorn: "npm:^8.7.1" + acorn-import-attributes: "npm:^1.9.5" + browserslist: "npm:^4.21.10" + chrome-trace-event: "npm:^1.0.2" + enhanced-resolve: "npm:^5.17.1" + es-module-lexer: "npm:^1.2.1" + eslint-scope: "npm:5.1.1" + events: "npm:^3.2.0" + glob-to-regexp: "npm:^0.4.1" + graceful-fs: "npm:^4.2.11" + json-parse-even-better-errors: "npm:^2.3.1" + loader-runner: "npm:^4.2.0" + mime-types: "npm:^2.1.27" + neo-async: "npm:^2.6.2" + schema-utils: "npm:^3.2.0" + tapable: "npm:^2.1.1" + terser-webpack-plugin: "npm:^5.3.10" + watchpack: "npm:^2.4.1" + webpack-sources: "npm:^3.2.3" + peerDependenciesMeta: + webpack-cli: + optional: true + bin: + webpack: bin/webpack.js + checksum: 10c0/b9e6d0f8ebcbf0632494ac0b90fe4acb8f4a9b83f7ace4a67a15545a36fe58599c912ab58e625e1bf58ab3b0916c75fe99da6196d412ee0cab0b5065edd84238 + languageName: node + linkType: hard + "whatwg-url@npm:^5.0.0": version: 5.0.0 resolution: "whatwg-url@npm:5.0.0" @@ -9346,6 +9674,13 @@ __metadata: languageName: node linkType: hard +"wicked-good-xpath@npm:1.3.0": + version: 1.3.0 + resolution: "wicked-good-xpath@npm:1.3.0" + checksum: 10c0/6837e1027e75e2ad7fe0620d11def4c42235cbe6c649727258973d7d77c2c5066a5376595e0283d3ba8e2fa22deb3cfe7358db5a02a938bde273b55b9ac57832 + languageName: node + linkType: hard + "wide-align@npm:^1.1.2": version: 1.1.5 resolution: "wide-align@npm:1.1.5" @@ -9413,6 +9748,13 @@ __metadata: languageName: node linkType: hard +"xmldom-sre@npm:0.1.31": + version: 0.1.31 + resolution: "xmldom-sre@npm:0.1.31" + checksum: 10c0/d4250a44949b7874661fc05cb708c84a1258871d63aae67271f6a0dec3003d301238f7b477ab7a31b828c9bdc1fc46f7469e81d04fe4a1bb6d3f527dfb602029 + languageName: node + linkType: hard + "yallist@npm:^2.1.2": version: 2.1.2 resolution: "yallist@npm:2.1.2" @@ -9434,7 +9776,16 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^2.0.0, yaml@npm:^2.3.4, yaml@npm:~2.5.0": +"yaml@npm:^2.0.0, yaml@npm:^2.3.2, yaml@npm:^2.3.4": + version: 2.6.0 + resolution: "yaml@npm:2.6.0" + bin: + yaml: bin.mjs + checksum: 10c0/9e74cdb91cc35512a1c41f5ce509b0e93cc1d00eff0901e4ba831ee75a71ddf0845702adcd6f4ee6c811319eb9b59653248462ab94fa021ab855543a75396ceb + languageName: node + linkType: hard + +"yaml@npm:~2.5.0": version: 2.5.1 resolution: "yaml@npm:2.5.1" bin: @@ -9479,10 +9830,19 @@ __metadata: languageName: node linkType: hard -"yocto-queue@npm:^0.1.0": - version: 0.1.0 - resolution: "yocto-queue@npm:0.1.0" - checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f +"yocto-queue@npm:^1.1.1": + version: 1.1.1 + resolution: "yocto-queue@npm:1.1.1" + checksum: 10c0/cb287fe5e6acfa82690acb43c283de34e945c571a78a939774f6eaba7c285bacdf6c90fbc16ce530060863984c906d2b4c6ceb069c94d1e0a06d5f2b458e2a92 + languageName: node + linkType: hard + +"zod-validation-error@npm:^3.0.0": + version: 3.4.0 + resolution: "zod-validation-error@npm:3.4.0" + peerDependencies: + zod: ^3.18.0 + checksum: 10c0/aaadb0e65c834aacb12fa088663d52d9f4224b5fe6958f09b039f4ab74145fda381c8a7d470bfddf7ddd9bbb5fdfbb52739cd66958ce6d388c256a44094d1fba languageName: node linkType: hard @@ -9493,7 +9853,7 @@ __metadata: languageName: node linkType: hard -"zwitch@npm:^2.0.0": +"zwitch@npm:^2.0.0, zwitch@npm:^2.0.4": version: 2.0.4 resolution: "zwitch@npm:2.0.4" checksum: 10c0/3c7830cdd3378667e058ffdb4cf2bb78ac5711214e2725900873accb23f3dfe5f9e7e5a06dcdc5f29605da976fc45c26d9a13ca334d6eea2245a15e77b8fc06e