diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
new file mode 100644
index 000000000..d7e3e29ac
--- /dev/null
+++ b/.github/workflows/deploy.yml
@@ -0,0 +1,114 @@
+name: Build and deploy Astro to GitHub Pages
+
+on:
+ push:
+ branches: [main, master]
+ pull_request:
+ branches: [main, master]
+ workflow_dispatch:
+
+permissions:
+ contents: read
+
+concurrency:
+ group: pages-${{ github.event_name == 'pull_request' && github.event.pull_request.number || 'deployment' }}
+ cancel-in-progress: false
+
+env:
+ ASTRO_TELEMETRY_DISABLED: '1'
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ pages: read
+ steps:
+ - name: Checkout repository and article history
+ uses: actions/checkout@v7
+ with:
+ fetch-depth: 0
+ persist-credentials: false
+
+ - name: Set up pnpm
+ uses: pnpm/action-setup@v6
+
+ - name: Set up Node.js
+ uses: actions/setup-node@v7
+ with:
+ node-version: '22.22.3'
+ cache: pnpm
+
+ - name: Install dependencies
+ run: pnpm install --frozen-lockfile
+
+ - name: Read GitHub Pages configuration
+ id: pages
+ if: github.event_name != 'pull_request' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master')
+ uses: actions/configure-pages@v6
+
+ - name: Resolve site origin and base path
+ env:
+ CONFIGURED_SITE_URL: ${{ vars.SITE_URL }}
+ CONFIGURED_BASE_PATH: ${{ vars.BASE_PATH }}
+ PAGES_ORIGIN: ${{ steps.pages.outputs.origin }}
+ PAGES_BASE_PATH: ${{ steps.pages.outputs.base_path }}
+ PAGES_CONFIGURED: ${{ steps.pages.outcome == 'success' }}
+ run: |
+ node --input-type=module <<'NODE'
+ import { appendFileSync } from 'node:fs';
+ const [owner, repository] = process.env.GITHUB_REPOSITORY.split('/');
+ const site = new URL(
+ process.env.CONFIGURED_SITE_URL ||
+ process.env.PAGES_ORIGIN ||
+ `https://${owner.toLowerCase()}.github.io`
+ ).origin;
+ const repositoryBase = repository.toLowerCase() === `${owner.toLowerCase()}.github.io`
+ ? '/'
+ : `/${repository}/`;
+ const configuredBase = process.env.CONFIGURED_BASE_PATH || (
+ process.env.PAGES_CONFIGURED === 'true'
+ ? process.env.PAGES_BASE_PATH || '/'
+ : repositoryBase
+ );
+ if (!configuredBase.startsWith('/') || /[\r\n?#]/.test(configuredBase)) {
+ throw new Error('BASE_PATH must be an absolute path, such as /MyBlogDoc/ or /.');
+ }
+ const path = configuredBase.replace(/^\/+|\/+$/g, '');
+ const base = path ? `/${path}/` : '/';
+ appendFileSync(process.env.GITHUB_ENV, `SITE_URL=${site}\nBASE_PATH=${base}\n`);
+ console.log(`Building ${site}${base}`);
+ NODE
+
+ - name: Check Astro and TypeScript
+ run: pnpm check
+
+ - name: Test Markdown compatibility and routing
+ run: pnpm test
+
+ - name: Build static site
+ run: pnpm build
+
+ - name: Verify published pages, assets, SEO and RSS
+ run: pnpm test:build
+
+ - name: Upload GitHub Pages artifact
+ if: github.event_name != 'pull_request' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master')
+ uses: actions/upload-pages-artifact@v5
+ with:
+ path: dist
+
+ deploy:
+ if: github.event_name != 'pull_request' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master')
+ needs: build
+ runs-on: ubuntu-latest
+ permissions:
+ pages: write
+ id-token: write
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ steps:
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v5
diff --git a/.gitignore b/.gitignore
index 547989417..614e69f56 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,10 +1,13 @@
node_modules/
+.node_modules-vuepress-backup/
+.astro/
+dist/
src/.vuepress/.cache/
src/.vuepress/.temp/
src/.vuepress/dist/
-/.env
-# 可以在这里添加测试文件
-.idea
-/dist/
-/test.**
+.idea/
+.DS_Store
+.env
+.env.*
+!.env.example
diff --git a/.idea/MyBlogDoc.iml b/.idea/MyBlogDoc.iml
deleted file mode 100644
index ab4bb239d..000000000
--- a/.idea/MyBlogDoc.iml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index 7d5eb856e..000000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index dcb6b8c4c..000000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/README.en.md b/README.en.md
index c8652f0ec..e056e9d58 100644
--- a/README.en.md
+++ b/README.en.md
@@ -1,62 +1,111 @@
-# [MyBlogDoc](https://yihuiblog.top/)
+# MyBlogDoc
-### 这是什么?
+[中文](README.md) · [Personal blog](https://yihuiblog.top/) · [Chronicle design reference](https://chronicle-83v.pages.dev/)
-这个是我的[个人博客](https://yihuiblog.top/),使用了社区比较新的技术实现,并且重新整理了过去在社区和文档库的文章放到这里。有别于旧版本文档库,旧的文档库已经不进行更新了,现在主要维护这个仓库。
+A personal frontend knowledge base and blog, statically generated with Astro from the original Markdown articles. The interface follows Chronicle's editorial layout, with article lists, category filters, search, and reading pages. Chinese and English interface translations share the same article content; switching languages does not translate the articles.
-因为最近大部分时间都在准备秋招,所以工作相关的多一点,你可以访问[这里](https://yihuiblog.top/campusRec/needToKnown.html) 快速浏览我准备的知识大纲。
+## Local development
-如果对你有帮助,期待您的:star:!
+Use Node.js 22.18 or newer. CI runs Node.js 22.22.3; `package.json` pins pnpm 10.34.6.
-### 为什么要写?| 为什么要开源?
+```sh
+corepack enable
+pnpm install
+pnpm dev
+```
-我觉得个人的记忆能力还是有限的,而前端的知识点又杂而广,并且社区有很多优秀的实践和观点都可以吸纳总结,所以我通过将这个站点作为我的第二大脑,搜罗总结各种知识点和最佳实践。
+If Corepack is unavailable, install pnpm with `npm install --global pnpm@10.34.6`.
-同时,将笔记(文章)开源,则是希望能帮助比如你这样素不相识的“路人”,同时能够接收到你们的指正和建议。
+| Command | Purpose |
+| --- | --- |
+| `pnpm dev` | Start the development server |
+| `pnpm check` | Check Astro and TypeScript |
+| `pnpm test` | Check Markdown metadata, article links, and deployment paths |
+| `pnpm build` | Generate the static website in `dist/` |
+| `pnpm preview` | Preview the generated website |
+| `pnpm commit` | Commit staged changes with the existing git-cz configuration |
+## Writing articles
-### 写了点啥?
+Continue editing `.md` files in their original locations under `src/`. New articles also belong under `src/`; Chinese filenames and nested directories are supported. Hidden folders such as `.vuepress` and `.obsidian` are excluded from article discovery.
-- 个人心得,总结和思考
-- 前端知识大仓库
+YAML frontmatter is optional. Existing `date`, `category`, `tag`, and `star` fields are supported, as are `categories` and `tags`. Titles come from `title`, the first H1, or the filename. Dates use `date` first, followed by the file's latest Git commit date; new uncommitted files use their filesystem date. Set `star: true` to feature an article.
-- 我的大厂面经
-- 一堆八股文(bushi)
-- codeTop刷题记录
-- [优秀社区文章集合](https://yihuiblog.top/skills/article.html)
+```md
+---
+title: My new article
+date: 2026-10-06
+category:
+ - Frontend
+tag:
+ - Astro
+description: A short introduction to the article.
+star: true
+---
-### 功能支持
+# My new article
-- SEO
+Write your article here.
+```
-- 评论
+Standard Markdown, tables, syntax highlighting, native HTML, images, and videos are preserved. Legacy Vue code fences use HTML highlighting. Relative `.md` and `.html` article links resolve to the new article routes; legacy VuePress article `.html` URLs have compatibility entry points. Existing article bodies do not need a bulk rewrite. VuePress-specific Vue components are not executed as Astro components.
-- MD 语法增强
+The default Chinese interface is at `/`; the English interface is at `/en/`. Both use the same articles.
-- 博客主题
+## Covers, typography and social profiles
-- 站点地图
+An explicit `cover` takes priority. Otherwise, only an image-only first body paragraph supplies a fallback. Articles beginning with text or containing no image use text cards; later illustrations are not covers. The interface uses `"PingFang SC", HarmonyOS_Regular, "Helvetica Neue", "Microsoft YaHei", sans-serif`, with system monospace for code and no external font requests.
-- 监控埋点
+Edit `src/config/site.ts` to configure the author and GitHub, Bilibili, and email profiles. The same links appear on the homepage, About page, footer, and mobile menu. Interface translations live in `src/i18n.ts`.
- ......
+The About page uses `src/个人简介.md`, migrated from the [GitHub profile README](https://github.com/MoMeak9/MoMeak9/blob/91250d88177a33aa6da667942a7e4f7c448c0580/README.md). Its English content is preserved, with the source and revision recorded in frontmatter. Local SVG assets in `public/content-assets/github-profile/` follow the site's light/dark theme. Update the Markdown, SVG files, and contact details in `src/config/site.ts` together when refreshing the profile.
-### 建设和部署
+Pages use native browser scrolling. GSAP observes scroll position to animate reversible entrances, staggered cards, expanding rules, and counters. A Canvas renders the rotating wireframe icosahedron and particles, with a static SVG fallback. Drawing is capped at 30 FPS and pauses offscreen or in hidden tabs. The system's reduced motion preference keeps content and values static.
-- VuePress 2 + Vite + TS (VitePress)
-- [vuepress-theme-hope 主题](https://vuepress-theme-hope.github.io/v2/zh/)
+## Deploying to GitHub Pages
-**部署:**
+1. Open **Settings → Pages → Build and deployment → Source** and select **GitHub Actions**.
+2. Push changes to `main` or `master`. The workflow installs locked dependencies, runs checks and tests, builds the website, and deploys it with the official GitHub Pages Actions.
+3. You can also choose **Actions → Build and deploy Astro to GitHub Pages → Run workflow**. Only `main` and `master` deploy; Pull Requests run checks and builds.
-- Github Action 自动构建并部署 Github Page (见deploy分支),国内源已挂载CDN,请放心访问。
+The workflow reads the origin and base path from `actions/configure-pages`, supporting project sites, user sites, and configured custom domains. A normal `MyBlogDoc` project repository uses `/MyBlogDoc/`. Pull Request builds derive the path from `GITHUB_REPOSITORY`. Full Git history is checked out so article date fallbacks remain consistent. No PAT or manually maintained `gh-pages` branch is required.
-### Git 提交
+To override deployment settings, add repository variables under **Settings → Secrets and variables → Actions → Variables**:
-commitizen+git-cz 实现的有趣而规范的commits信息
+| Variable | Example | Meaning |
+| --- | --- | --- |
+| `SITE_URL` | `https://momeak9.github.io` | Website origin without the project subpath |
+| `BASE_PATH` | `/MyBlogDoc/` | Project subpath; use `/` for root-domain deployment |
-### ❓ 问题与交流 | Issue
+Local development defaults to `/`. To verify the same project path used in CI:
-- 如果您想参与贡献,非常抱歉目前这是我的个人笔记库,可能暂时没法儿接受其他人的笔记合入。
-- 如果您有相关问题,或希望我加速填坑,请直接在文章下方留言或提 issues。我看到会尽快回复。
+```sh
+SITE_URL=https://momeak9.github.io BASE_PATH=/MyBlogDoc/ pnpm build
+BASE_PATH=/MyBlogDoc/ pnpm preview
+```
-**欢迎提 issues 或者 联系 [shi_yihui@qq.com](mailto:shi_yihui@qq.com)**
+`.idea/`, `node_modules/`, `.astro/`, `dist/`, `.DS_Store`, and local environment files are ignored. Previously tracked `.idea` files have been removed from Git tracking while remaining available locally.
+
+## Content migration and discovery
+
+`scripts/migrate-blog.mjs` consumes a reviewed manifest. It defaults to dry-run; `--apply` writes the approved articles while keeping the source directory read-only. The review report is in `reports/content-migration.json`, and date provenance is in `src/data/migration-metadata.json`. The requested Douyin and legal directories, private correspondence, and credential-bearing work notes are excluded. Confirmed updates and document aliases are preserved; unresolved references remain readable plain text.
+
+Archives statically render 12 articles per page, with search indexes loaded on demand. Phone layouts include horizontal category filters, a collapsible contents panel, 44px controls, and safe-area spacing. Mermaid diagrams load near the reader, keeping their original source available as a fallback.
+
+## Local full-text and offline search
+
+[Pagefind](https://pagefind.app/) builds a static, segmented Chinese index for public articles after the Astro build. Queries, relevance ranking, and highlighted excerpts run locally. Both interface languages share the original corpus and preserve their own article links. Keyword searches load only the required index chunks and visible excerpts; category-only filtering uses metadata. No search server, API key, or external search service is required.
+
+Offline search prepares its full index and local assets automatically after the page loads and becomes idle. There is no download button. Background requests run at low priority and defer to search input, hidden tabs, Data Saver and slow connections. Completed data supports new offline queries, filtering, pagination and previously visited articles. Failed background updates preserve the prior complete cache and stay within the blog path. See the [implementation and validation notes](docs/offline-search.md).
+
+## SEO and GEO
+
+The site provides Blog, Person, BlogPosting, and visible breadcrumb JSON-LD, OG/Twitter sharing images, trustworthy publication/modification dates, explicit attribution, and sitemap lastmod. Unknown publication dates are never replaced with build timestamps. Article language follows the original content even when the interface is English.
+
+`content-index.json` exposes public metadata, while `llms.txt` is an optional canonical navigation index. It is a community proposal rather than a Google ranking signal or an AI citation guarantee. [Google's AI optimization guide](https://developers.google.com/search/docs/fundamentals/ai-optimization-guide) recommends accessible text, structured data, and trustworthy content.
+
+A project Pages file at `/MyBlogDoc/robots.txt` does not control the entire host: crawlers look for `/robots.txt` at the domain root. Root-domain hosting can use the existing output directly. Search and training crawler permissions have not been changed. After publication, Search Console and Bing Webmaster Tools can verify indexing, crawling, and citations.
+
+## Contact
+
+This repository primarily contains personal notes. Report article or website problems in an [Issue](https://github.com/MoMeak9/MyBlogDoc/issues), or contact [minntaki@foxmail.com](mailto:minntaki@foxmail.com).
diff --git a/README.md b/README.md
index 2cdf854e2..30244c2ad 100644
--- a/README.md
+++ b/README.md
@@ -1,60 +1,111 @@
-# [MyBlogDoc](https://yihuiblog.top/)
+# MyBlogDoc
-### 这是什么?
+[English](README.en.md) · [个人博客](https://yihuiblog.top/) · [设计参考 Chronicle](https://chronicle-83v.pages.dev/)
-这个是我的[个人博客](https://yihuiblog.top/),使用了社区比较新的技术实现,并且重新整理了过去在社区和文档库的文章放到这里。有别于旧版本文档库,旧的文档库已经不进行更新了,现在主要维护这个仓库。
+个人前端知识库与博客,使用 Astro 静态生成,继续以原来的 Markdown 文章为内容源。界面参照 Chronicle 的编辑部式排版,包含文章列表、分类筛选、搜索和文章阅读页;提供中文、英文界面,切换语言不会翻译文章正文。
-因为最近大部分时间都在准备秋招,所以工作相关的多一点,你可以访问[这里](https://yihuiblog.top/campusRec/needToKnown.html) 快速浏览我准备的知识大纲。
+## 本地开发
-如果对你有帮助,期待您的:star:!
+使用 Node.js 22.18 以上版本,CI 固定为 22.22.3;包管理器使用 `package.json` 固定的 pnpm 10.34.6。
-### 为什么要写?| 为什么要开源?
+```sh
+corepack enable
+pnpm install
+pnpm dev
+```
-我觉得个人的记忆能力还是有限的,而前端的知识点又杂而广,并且社区有很多优秀的实践和观点都可以吸纳总结,所以我通过将这个站点作为我的第二大脑,搜罗总结各种知识点和最佳实践。
+如果本地没有 Corepack,可以用 `npm install --global pnpm@10.34.6` 安装 pnpm。
-同时,将笔记(文章)开源,则是希望能帮助比如你这样素不相识的“路人”,同时能够接收到你们的指正和建议。
+| 命令 | 用途 |
+| --- | --- |
+| `pnpm dev` | 启动开发服务器 |
+| `pnpm check` | 检查 Astro 与 TypeScript |
+| `pnpm test` | 检查 Markdown 元数据、文章链接和部署路径兼容性 |
+| `pnpm build` | 静态生成到 `dist/` |
+| `pnpm preview` | 预览生成的网站 |
+| `pnpm commit` | 使用保留的 git-cz 配置提交已暂存的修改 |
+## 写文章
-### 写了点啥?
+继续编辑 `src/` 中原路径下的 `.md` 文件,无需把旧笔记搬到新目录。新增文章也放在 `src/` 中,可保留中文文件名与多层目录。`.vuepress`、`.obsidian` 等隐藏目录不会作为文章读取。
-- 个人心得,总结和思考
-- 前端知识大仓库
+YAML frontmatter 为可选,原有 `date`、`category`、`tag`、`star` 字段继续支持,也支持 `categories`、`tags`。标题优先读取 `title`,否则从第一个一级标题或文件名提取;日期优先使用 `date`,否则使用 Git 最后提交时间。首次添加尚未提交的文章会使用文件时间。`star: true` 标记精选文章。
-- 我的大厂面经
-- 一堆八股文(bushi)
-- codeTop刷题记录
-- [优秀社区文章集合](https://yihuiblog.top/skills/article.html)
+```md
+---
+title: 我的新文章
+date: 2026-10-06
+category:
+ - 前端
+tag:
+ - Astro
+description: 文章的简短介绍。
+star: true
+---
-### 功能支持
-
-- SEO
+# 我的新文章
-- 评论
+这里开始写正文。
+```
-- MD 语法增强
+保留标准 Markdown、表格、代码高亮、原生 HTML、图片和视频内容;旧 Vue 代码围栏作为 HTML 高亮。已有相对 `.md`、`.html` 文章链接会解析到新文章路由。旧 VuePress 的文章 `.html` 地址提供兼容入口。迁移不需要批量改写文章正文;VuePress 专属 Vue 组件不作为 Astro 组件运行。
-- 博客主题
+中文界面为默认入口 `/`,英文界面为 `/en/`。两种界面共享同一份文章内容。
-- 站点地图
+## 封面、字体与社交媒体
-- 监控埋点
+文章显式 `cover` 优先;没有设置时,仅当标题后的第一个正文段落为图片,才使用该图作为封面。文字开头或没有图片的文章呈现文字卡片,正文后续插图不作为封面。字体使用 `"PingFang SC", HarmonyOS_Regular, "Helvetica Neue", "Microsoft YaHei", sans-serif`,代码保留系统等宽字体,不加载外部字体。
- ......
+在 `src/config/site.ts` 修改作者信息和 GitHub、Bilibili、邮箱入口;这些入口统一用于首页、关于页、页脚和手机菜单。界面翻译位于 `src/i18n.ts`。
-### 建设和部署
+关于页正文位于 `src/个人简介.md`,迁自 [GitHub 个人主页 README](https://github.com/MoMeak9/MoMeak9/blob/91250d88177a33aa6da667942a7e4f7c448c0580/README.md)。保留原始英文内容,frontmatter 记录来源和版本;配套 SVG 位于 `public/content-assets/github-profile/`,跟随站点浅色/深色主题。更新个人资料时,同时更新正文、SVG 和 `src/config/site.ts` 中的联系方式。
-- VuePress 2 + Vite + TS (VitePress)
-- [vuepress-theme-hope 主题](https://vuepress-theme-hope.github.io/v2/zh/)
+页面使用浏览器原生滚动。GSAP 观察滚动位置,驱动淡入与反向播放、卡片错峰、线条展开和数字计数。首屏使用 Canvas 绘制旋转线框二十面体及粒子,提供静态 SVG 后备;帧率最多 30 FPS,离屏或标签页隐藏时暂停。系统开启“减少动画”后,页面保留静态内容和数字。
-**部署:**
+## 部署到 GitHub Pages
-### Git 提交
+1. 在仓库 **Settings → Pages → Build and deployment → Source** 中选择 **GitHub Actions**。
+2. 将修改提交到 `main` 或 `master`。工作流依次安装锁定依赖、执行检查与测试、构建静态站点,再使用 GitHub 官方 Pages Actions 部署。
+3. 也可以在 **Actions → Build and deploy Astro to GitHub Pages → Run workflow** 手动运行。只有 `main`、`master` 会部署;Pull Request 会检查和构建。
-commitizen+git-cz 实现的有趣而规范的commits信息
+工作流读取 `actions/configure-pages` 输出的站点域名与路径,支持项目站点、用户站点和已配置的自定义域名。对于普通 `MyBlogDoc` 项目仓库,路径为 `/MyBlogDoc/`。Pull Request 构建根据 `GITHUB_REPOSITORY` 推导对应路径。Git 历史完整检出,以保持无日期文章的时间一致。部署不需要 PAT 或手工维护 `gh-pages` 分支。
-### ❓ 问题与交流 | Issue
+需要覆盖地址时,在 **Settings → Secrets and variables → Actions → Variables** 中设置:
-- 如果您想参与贡献,非常抱歉目前这是我的个人笔记库,可能暂时没法儿接受其他人的笔记合入。
-- 如果您有相关问题,或希望我加速填坑,请直接在文章下方留言或提 issues。我看到会尽快回复。
+| 变量 | 示例 | 说明 |
+| --- | --- | --- |
+| `SITE_URL` | `https://momeak9.github.io` | 站点域名,不含项目子路径 |
+| `BASE_PATH` | `/MyBlogDoc/` | 项目部署路径;根域名部署设置为 `/` |
-**欢迎提 issues 或者 联系 [shi_yihui@qq.com](mailto:shi_yihui@qq.com)**
+本地开发默认路径为 `/`。可用与 CI 相同的变量验证项目路径:
+
+```sh
+SITE_URL=https://momeak9.github.io BASE_PATH=/MyBlogDoc/ pnpm build
+BASE_PATH=/MyBlogDoc/ pnpm preview
+```
+
+`.idea/`、`node_modules/`、`.astro/`、`dist/`、`.DS_Store` 和本地环境文件均已忽略。原来跟踪的 `.idea` 文件已移出 Git 跟踪,本地 IDE 文件可继续使用。
+
+## 内容迁移与发现
+
+`scripts/migrate-blog.mjs` 以审查清单为输入,默认 dry-run,`--apply` 才写入博客;源目录始终只读。迁移结果保存在 `reports/content-migration.json`,文章日期来源保存在 `src/data/migration-metadata.json`。已按请求排除抖音、法律目录,并排除私人通信与含认证信息的工作笔记。保留明确更新稿、统一旧文件别名和已确认的文档链接,无法确定目标的旧链接按普通文本保留。
+
+归档每页静态生成 12 篇文章,搜索索引在使用筛选或搜索时加载;手机提供横滑分类、折叠目录、44px 触控目标和安全区留白。Mermaid 图示按需绘制,原始源码可展开阅读,无法绘制时保留代码内容。
+
+## 本地全文与离线搜索
+
+使用 [Pagefind](https://pagefind.app/) 在构建后为公开文章生成静态中文分片索引,检索、相关性排序和摘要高亮在浏览器本地完成。中英文界面共享原文索引,结果保留当前界面的链接;关键词搜索按需加载索引及当前页摘要,分类单独筛选仍使用轻量元数据。不需要搜索服务器、API Key 或外部搜索服务。
+
+离线搜索在页面加载后利用空闲时间自动准备完整索引与所需静态资源,不显示下载按钮。后台任务使用低优先级请求,搜索输入、隐藏标签页、节省流量和慢速网络会让任务延后。准备完成后,可以断网搜索新关键词、筛选和分页;已访问的文章可离线阅读。后台更新失败保留原完整缓存,缓存只属于当前博客路径。[方案比较、构建与验收说明](docs/offline-search.md)。
+
+## SEO 与 GEO
+
+站点输出 Blog、Person、BlogPosting 和可见面包屑对应的 JSON-LD,补齐 OG/Twitter 分享图、可信发布时间与更新时间、原文作者与来源信息,以及 sitemap 的 lastmod。未知的发布时间不会用构建时间补造。英文界面共享原文,因此文章语言标注遵循正文语言。
+
+`content-index.json` 提供公开文章元数据,`llms.txt` 提供可选的 canonical 内容导航;它是社区索引协议,不是 Google 排名因素,也不保证 AI 引用。[Google 的 AI 优化指南](https://developers.google.com/search/docs/fundamentals/ai-optimization-guide)强调可访问正文、结构化数据与可信内容。
+
+GitHub 项目 Pages 的 `/MyBlogDoc/robots.txt` 不能控制整个主机,爬虫读取的是域名根路径 `/robots.txt`;自定义根域部署才能直接使用当前输出。未擅自改变训练爬虫与搜索爬虫的权限。上线后可在 Search Console 与 Bing Webmaster Tools 检查索引、抓取及引用情况。
+
+## 交流
+
+这个仓库主要维护个人笔记。发现文章或网站问题,欢迎提交 [Issue](https://github.com/MoMeak9/MyBlogDoc/issues),也可以联系 [minntaki@foxmail.com](mailto:minntaki@foxmail.com)。
diff --git a/astro.config.mjs b/astro.config.mjs
new file mode 100644
index 000000000..3bf6600d3
--- /dev/null
+++ b/astro.config.mjs
@@ -0,0 +1,85 @@
+import { defineConfig } from "astro/config";
+import { readFileSync } from "node:fs";
+import sitemap from "@astrojs/sitemap";
+import { unified } from "@astrojs/markdown-remark";
+import {
+ remarkLegacyMarkdown,
+ rehypeLegacyMedia,
+} from "./src/lib/markdown.mjs";
+import { normalizeBase } from "./src/lib/paths.mjs";
+import { literalPercentRoutes } from "./src/lib/literal-percent-routes.mjs";
+
+let articleIndex;
+function indexedArticles() {
+ if (!articleIndex) {
+ // serialize runs after static routes, so this shares the exact published dates.
+ const { articles } = JSON.parse(
+ readFileSync(
+ new URL("./dist/content-index.json", import.meta.url),
+ "utf8",
+ ),
+ );
+ articleIndex = new Map(
+ articles.flatMap((article) => [
+ [article.url, article],
+ [article.alternates.en, article],
+ ]),
+ );
+ }
+ return articleIndex;
+}
+
+export default defineConfig({
+ site: process.env.SITE_URL || "https://momeak9.github.io",
+ base: normalizeBase(process.env.BASE_PATH || "/"),
+ output: "static",
+ trailingSlash: "always",
+ integrations: [
+ literalPercentRoutes(),
+ sitemap({
+ filter: (page) => !page.endsWith(".html") && !/\/404\/?$/.test(page),
+ serialize(item) {
+ // Use the same component encoding as canonical links, including literal =.
+ const url = new URL(item.url);
+ url.pathname = url.pathname
+ .split("/")
+ .map((segment) =>
+ encodeURIComponent(
+ decodeURIComponent(segment.replace(/%(?![0-9a-f]{2})/gi, "%25")),
+ ),
+ )
+ .join("/");
+ const relativePath = url.pathname.slice(
+ normalizeBase(process.env.BASE_PATH || "/").length,
+ );
+ if (/^(?:en\/)?posts\//.test(relativePath)) {
+ const article = indexedArticles().get(url.href);
+ if (!article) return undefined;
+ const lastmod = article.modifiedDate || article.publishedDate;
+ return { ...item, url: url.href, ...(lastmod ? { lastmod } : {}) };
+ }
+ return { ...item, url: url.href };
+ },
+ }),
+ ],
+ i18n: {
+ defaultLocale: "zh",
+ locales: ["zh", "en"],
+ routing: { prefixDefaultLocale: false },
+ },
+ markdown: {
+ processor: unified({
+ remarkPlugins: [
+ [
+ remarkLegacyMarkdown,
+ { base: normalizeBase(process.env.BASE_PATH || "/") },
+ ],
+ ],
+ rehypePlugins: [rehypeLegacyMedia],
+ }),
+ shikiConfig: {
+ themes: { light: "github-light", dark: "github-dark" },
+ wrap: false,
+ },
+ },
+});
diff --git a/docs/offline-search.md b/docs/offline-search.md
new file mode 100644
index 000000000..9998c13a1
--- /dev/null
+++ b/docs/offline-search.md
@@ -0,0 +1,47 @@
+# 本地全文与离线搜索
+
+## 方案选择
+
+本博客使用 Astro 静态输出、Markdown 内容及 GitHub Pages,选择 Pagefind 1.5.2 在构建时生成搜索资源。搜索运行在读者设备上,索引与博客一起发布。
+
+| 方案 | 适用方式 | 本项目的选择理由 |
+| ------------------------------------------------------- | ------------------------------------------------------- | -------------------------------------------------------------------------------- |
+| [Pagefind](https://pagefind.app/docs/) | 从静态 HTML 自动建索引,浏览器按需加载分片 | 原生适配静态站点,支持中文分词、相关性排序、过滤和摘要,直接使用发布后的文章正文 |
+| [MiniSearch](https://github.com/lucaong/minisearch) | 应用准备记录并维护内存索引,支持模糊/前缀匹配和字段加权 | 适合记录集型应用;博客还需要自行维护 HTML 提取、分词、分片与结果摘要 |
+| [FlexSearch](https://github.com/nextapps-de/flexsearch) | 应用管理索引,可使用 Worker 和 IndexedDB | 适合更定制的索引存储;当前博客使用 Pagefind 的静态发布流程 |
+
+参考:[Pagefind 中文与多语言](https://pagefind.app/docs/multilingual/)、[Node 索引 API](https://pagefind.app/docs/node-api/)、[浏览器 API](https://pagefind.app/docs/api/)、[浏览器缓存配置](https://pagefind.app/docs/search-config/)。
+
+## 内容与检索
+
+- `pnpm build` 先构建 Astro,再由 `scripts/build-search.mjs` 按 `content-index.json` 索引公开且非空的文章。每篇只索引一份正文,不包含英文界面镜像、作者简介、目录、导航及相关文章。
+- 标题加权、正文、代码、摘要和标签可检索,分类用于过滤。摘要与标签以低权重加入索引,保留原有查询能力;元数据 JSON 本身不参与检索。原有隐私/草稿规则及抖音、法律目录排除继续生效。
+- 中英文界面共享单一中文索引。中文查询根据索引实际词表切分,避免浏览器与索引器词典不同造成漏检;英文名称、标点与引号保留。只接受实际词表的正向前缀,防止未匹配长词被降级为无关短词。
+- 关键词检索按相关性展示,仅读取当前页 12 条结果的详情。分类单独筛选继续使用公开元数据并按原顺序显示。
+- 页面使用 Pagefind 的命中摘要;插入到 DOM 的内容仅保留文字与 `mark` 高亮,文章标题和其它元数据使用文本节点。
+- 结果根据原文 id 通过 `postPath()` 生成当前界面链接,中文路径、字面 `%` 和 GitHub Pages 子路径沿用现有编码策略。
+
+## 断网使用
+
+浏览器在文章归档完成加载并进入空闲后,后台自动保存完整搜索包,不显示下载按钮。调度至少延迟 5 秒并利用空闲回调,优先让前台检索完成;隐藏页、节省流量或慢速网络不会启动自动下载。初次访问只加载当前页面及小型版本信息,首次查询再加载相关分片。下载包含 Pagefind 的 JS、Worker、WASM、索引、分类和所有文章摘要,以及中英文搜索页面、必要 JS/CSS、文章元数据及搜索页实际使用的本地封面。
+
+Service Worker 仅控制博客自身路径,例如 `/MyBlogDoc/`。每个包使用内容版本号,在全部文件成功保存、大小及版本核对通过后才发布“就绪”标记。失败或中断的临时包不取代完整包;更新期间仍可使用原下载。`search-version.json` 与 `search-manifest.json` 由构建自动输出,稳定版本用于 Pagefind 元数据的缓存查询参数。
+
+离线包下载完成后,**此前没有输入过的关键词**也可搜索,分类和结果分页不依赖网络。中英文归档可以重新打开并从 URL 恢复查询。离线阅读保留下载启用后访问的最近 20 篇文章;未访问页面显示返回离线搜索的入口。整个文章库的 HTML、远程媒体及外部字体不在离线搜索包中,字体使用 CSS 的本地回退。
+
+缓存由浏览器管理,后台更新只操作本博客的缓存。离线保存需要支持 Service Worker 与 Cache Storage 的浏览器,以及 HTTPS 或 localhost;不支持时保留联网检索。缓存被用户或浏览器清理后,会在下次满足空闲条件时重新准备。
+
+## 构建与验证
+
+```sh
+pnpm install --frozen-lockfile
+BASE_PATH=/MyBlogDoc/ SITE_URL=https://momeak9.github.io pnpm check
+pnpm test
+BASE_PATH=/MyBlogDoc/ SITE_URL=https://momeak9.github.io pnpm build
+BASE_PATH=/MyBlogDoc/ SITE_URL=https://momeak9.github.io pnpm test:build
+BASE_PATH=/MyBlogDoc/ pnpm preview
+```
+
+Pagefind 资源在构建后产生,检索验收应使用 `pnpm build` 后的 `pnpm preview`;开发服务器可用于界面开发。CI 使用同一构建与产物验收命令。
+
+浏览器验收覆盖中文长句、中英混合关键词、代码关键词、分类和分页、输入法组合事件、快速输入竞态、重试、字面 `%` 地址、两个界面的同一查询、下载失败/更新/清理,以及下载完成后的新查询、重新打开搜索页和已访问文章离线阅读。
diff --git a/package.json b/package.json
index 0f78aef83..cd54eac21 100644
--- a/package.json
+++ b/package.json
@@ -1,14 +1,22 @@
{
"name": "my-blog-doc",
"version": "2.0.0",
- "description": "A project of vuepress-theme-hope",
+ "description": "A Markdown-first personal blog built with Astro",
+ "private": true,
"license": "MIT",
+ "packageManager": "pnpm@10.34.6",
+ "engines": {
+ "node": ">=22.18.0",
+ "pnpm": ">=10 <11"
+ },
"scripts": {
- "build": "vuepress build src",
- "clean-dev": "vuepress dev src --clean-cache",
- "dev": "vuepress dev src",
- "deploy": "serverless deploy",
- "commit": "git add . && git-cz && git push"
+ "dev": "astro dev",
+ "build": "astro build && node scripts/build-search.mjs",
+ "preview": "astro preview",
+ "check": "astro check",
+ "test": "node --test tests/content.test.mjs tests/paths.test.mjs tests/seo.test.mjs tests/search-query.test.mjs tests/offline-search.test.mjs tests/search-dictionary.test.mjs tests/cover.test.mjs",
+ "test:build": "node --test tests/build.test.mjs tests/search-build.test.mjs",
+ "commit": "git-cz"
},
"config": {
"commitizen": {
@@ -16,15 +24,27 @@
}
},
"devDependencies": {
+ "@astrojs/check": "^0.9.10",
"@commitlint/cli": "^17.0.3",
- "@vuepress/client": "2.0.0-beta.53",
+ "@commitlint/config-conventional": "^17.0.3",
+ "@types/node": "^22.20.5",
+ "cbor-x": "1.6.6",
"commitizen": "^4.2.4",
- "cz-conventional-changelog": "^3.3.0",
"git-cz": "^4.9.0",
- "husky": "^8.0.1",
- "vue": "^3.2.45",
- "vuepress": "^2.0.0-beta.53",
- "vuepress-plugin-search-pro": "2.0.0-beta.219",
- "vuepress-theme-hope": "^2.0.0-beta.219"
+ "pagefind": "1.5.2",
+ "typescript": "~6.0.3"
+ },
+ "dependencies": {
+ "@astrojs/markdown-remark": "^7.3.1",
+ "@astrojs/sitemap": "^3.7.4",
+ "astro": "^7.3.5",
+ "gsap": "^3.15.0",
+ "mermaid": "^11.17.2"
+ },
+ "pnpm": {
+ "onlyBuiltDependencies": [
+ "esbuild",
+ "sharp"
+ ]
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 4eaaf88e6..3c28b295e 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1,8644 +1,7729 @@
-lockfileVersion: 5.4
-
-specifiers:
- '@commitlint/cli': ^17.0.3
- '@vuepress/client': 2.0.0-beta.53
- commitizen: ^4.2.4
- cz-conventional-changelog: ^3.3.0
- git-cz: ^4.9.0
- husky: ^8.0.1
- nodemailer: ^6.9.1
- vue: ^3.2.45
- vuepress: ^2.0.0-beta.53
- vuepress-plugin-search-pro: 2.0.0-beta.124
- vuepress-theme-hope: ^2.0.0-beta.121
-
-devDependencies:
- '@commitlint/cli': 17.0.3
- '@vuepress/client': registry.npmmirror.com/@vuepress/client/2.0.0-beta.53
- commitizen: 4.2.4
- cz-conventional-changelog: 3.3.0
- git-cz: 4.9.0
- husky: 8.0.1
- nodemailer: registry.npmmirror.com/nodemailer/6.9.1
- vue: registry.npmmirror.com/vue/3.2.45
- vuepress: registry.npmmirror.com/vuepress/2.0.0-beta.53_54nmke4n2vj3tdp5cd33kvtiom
- vuepress-plugin-search-pro: registry.npmmirror.com/vuepress-plugin-search-pro/2.0.0-beta.124
- vuepress-theme-hope: registry.npmmirror.com/vuepress-theme-hope/2.0.0-beta.124
+lockfileVersion: '9.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+importers:
+
+ .:
+ dependencies:
+ '@astrojs/markdown-remark':
+ specifier: ^7.3.1
+ version: 7.3.1
+ '@astrojs/sitemap':
+ specifier: ^3.7.4
+ version: 3.7.4
+ astro:
+ specifier: ^7.3.5
+ version: 7.3.5(@astrojs/markdown-remark@7.3.1)(@types/node@22.20.5)(jiti@2.6.1)(yaml@2.9.1)
+ gsap:
+ specifier: ^3.15.0
+ version: 3.15.0
+ mermaid:
+ specifier: ^11.17.2
+ version: 11.17.2
+ devDependencies:
+ '@astrojs/check':
+ specifier: ^0.9.10
+ version: 0.9.10(@emnapi/runtime@1.11.3)(prettier@3.9.9)(typescript@6.0.3)
+ '@commitlint/cli':
+ specifier: ^17.0.3
+ version: 17.8.1
+ '@commitlint/config-conventional':
+ specifier: ^17.0.3
+ version: 17.8.1
+ '@types/node':
+ specifier: ^22.20.5
+ version: 22.20.5
+ cbor-x:
+ specifier: 1.6.6
+ version: 1.6.6
+ commitizen:
+ specifier: ^4.2.4
+ version: 4.3.2(@types/node@22.20.5)(typescript@6.0.3)
+ git-cz:
+ specifier: ^4.9.0
+ version: 4.9.0
+ pagefind:
+ specifier: 1.5.2
+ version: 1.5.2
+ typescript:
+ specifier: ~6.0.3
+ version: 6.0.3
packages:
- /@commitlint/cli/17.0.3:
- resolution: {integrity: sha512-oAo2vi5d8QZnAbtU5+0cR2j+A7PO8zuccux65R/EycwvsZrDVyW518FFrnJK2UQxbRtHFFIG+NjQ6vOiJV0Q8A==}
+ '@antfu/install-pkg@2.1.0':
+ resolution: {integrity: sha512-sdg9NxU3zR4Mnawfbc/x6GB5Wf17WYud5qOuEuxXjaKpYpMkISSJEjItGebXJ2bQ4DIcly4NYH23mtkGJjvKUw==}
+
+ '@astrojs/astro2tsx@0.1.2':
+ resolution: {integrity: sha512-Uj/M9zbrhu5cIZEvWAGTbQJRKSxXWJ/E59BZwt7F+chrKhbfttW+9rkS/l+1QxoJP1KU3UnpM62M7yszfAI0WA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+
+ '@astrojs/check@0.9.10':
+ resolution: {integrity: sha512-zgx/UQMozdjOa3bOxjgeCFdtpE3c9rRX6xHwa+2QXvy8z8Akifu2AtubHyv/zzC2znO8dl8fFWL4K+Ba9kS8HQ==}
+ hasBin: true
+ peerDependencies:
+ typescript: ^5.0.0 || ^6.0.0
+
+ '@astrojs/compiler-binding-android-arm64@0.5.1':
+ resolution: {integrity: sha512-nMb2nMIJtcWLNH+fV75Enmi+jp4tIOYOfsv4XtpgdOWkqc9P4uSSdK5u1xb340AzrXo5V18SxLl/nc3vcqtamQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [android]
+
+ '@astrojs/compiler-binding-darwin-arm64@0.5.1':
+ resolution: {integrity: sha512-5k4+nZ/WRt+dcVow4z7rBuI7iv9A58h/uQ91YJe1PrTivbcCkq3u2Ynx/AZJwII4CsZawBCeGpojkFjutZBhBQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@astrojs/compiler-binding-darwin-x64@0.5.1':
+ resolution: {integrity: sha512-0Buw+YST9Ff2EqQyhRMQujuFq/dijLw3zXWhsvI0dJ2pGrT38iVoxTEca2eBX/PfhlwkVWSRJEKO5gMqKHyeHg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [darwin]
+
+ '@astrojs/compiler-binding-linux-arm64-gnu@0.5.1':
+ resolution: {integrity: sha512-x5LRpyCoMKuu3INr18cn42YhwSOaRpp9b5Ny3eJJ/sWVeejC16Zeshu1JlvlSmEZACLeWxU5JM0RX6T6nI+YyA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@astrojs/compiler-binding-linux-arm64-musl@0.5.1':
+ resolution: {integrity: sha512-mL7tQEuDk3rGfaKmrO63nw6WBy1TPVioQGmVyjcAr+C+a/k3SVMYBytNSMqH9mZPT/Swj30JaZ2N842Z1NnOEQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@astrojs/compiler-binding-linux-x64-gnu@0.5.1':
+ resolution: {integrity: sha512-uLGc9jtxwiDe4cQyhNPQim4ECiB/YzbWlXssfLAv8r374kArfTwBHjwR2+j+XVyF71yCx5mF9YNRclRqdNBgeg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@astrojs/compiler-binding-linux-x64-musl@0.5.1':
+ resolution: {integrity: sha512-G0cywinaQUc8v1MrytvYKUX7svTDMmYtOCZfxjwKPbJi59zIqM+Ll0rWgO0GQWLZH3XoPYo19ZwlP3Xt9ep9YA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@astrojs/compiler-binding-wasm32-wasi@0.5.1':
+ resolution: {integrity: sha512-yMhLL8asmLydoAdnEZxAw6eLfNDs3YJl6jqn0pjPt6zrb2U5qIDLnii4/twThpIFODKkQ6YDpBRTOz/vSfZCxw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [wasm32]
+
+ '@astrojs/compiler-binding-win32-arm64-msvc@0.5.1':
+ resolution: {integrity: sha512-aClIG6poFt3Wf/bZykrEAX2nAnKvBHW6RXiKUa69QjBtWH0/FOlOAjnFcxRNlhej2AMWNYFx0o+LGjwMcH8P7Q==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [win32]
+
+ '@astrojs/compiler-binding-win32-x64-msvc@0.5.1':
+ resolution: {integrity: sha512-/E6uBCagY70YpWqssBC+/FuniNSloeQPRgj7l3LDWiqjxIyTLnIgX1sTt18FU7jrigetpSnC9cHAM6b6IxSgPw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [win32]
+
+ '@astrojs/compiler-binding@0.5.1':
+ resolution: {integrity: sha512-oczyolLUl9mNrtuBuNjuvn5thpHrFLXAHAWGTRg0JDHQ8cGVsVeFekOu2uSoQGgainJIi+A3/9m0DyYwz3Nlnw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+
+ '@astrojs/compiler-rs@0.5.1':
+ resolution: {integrity: sha512-1k1acnX7DepIiea9U9/Y+d1hdAFfylu1ZQQkkYgRSwBOBAsXInolyZuh/2tax+83vu/A+hOYP6P3+265RvMTvw==}
+ engines: {node: '>=22.12.0'}
+
+ '@astrojs/internal-helpers@0.11.0':
+ resolution: {integrity: sha512-3rzxJ+xbo0+8YyqOzLziIN32wmsHdCjEVz2sGOpRxJ+Ben/KiLph4ItxBy1abEL+E8fkRzqjg0rfXmaHJGw9JA==}
+
+ '@astrojs/language-server@2.17.1':
+ resolution: {integrity: sha512-gG7bvMVNIXgoSe1pM9dI1HsSDLU1EIc/dSAYQ0DuReLyLkOBjsiqvaRYgQltWaldLxh0bNEqjgreLfjd9OnUxQ==}
+ hasBin: true
+ peerDependencies:
+ prettier: ^3.0.0
+ prettier-plugin-astro: '>=0.11.0'
+ peerDependenciesMeta:
+ prettier:
+ optional: true
+ prettier-plugin-astro:
+ optional: true
+
+ '@astrojs/markdown-remark@7.3.1':
+ resolution: {integrity: sha512-QCjsjZQl0+Cgb91+T3Ip9hyUe1r5aLm4udi584rML9YO3syupbAYE+jWpAxYg+z4lFLNUugPrylFxZ+8qFTClg==}
+
+ '@astrojs/markdown-satteri@0.4.2':
+ resolution: {integrity: sha512-g4QehXnB/MzxQWnSf17NciFInMqEJy9948p8cc7zGg/r7995m0Ln5PMr3Xlnj24iey1LchaoZ3SzTOa3D4P/3w==}
+
+ '@astrojs/prism@4.0.2':
+ resolution: {integrity: sha512-KTivpmnz6lDsC6o9H4+DNm2SrE/GHzw8cNAvEJwAvUT+eoaEnn/4NtbDNfRRaxaJHdp15gf+tfHAWiXR4wB3BA==}
+ engines: {node: '>=22.12.0'}
+
+ '@astrojs/sitemap@3.7.4':
+ resolution: {integrity: sha512-LbKNC24bdUWcQf/pThB6qLlSqHojxGjZDURIzFocY8rlWnAn2t74nnhnK6S5x0NHriHoAduLEpVjRykmeGiVvA==}
+
+ '@astrojs/telemetry@3.3.3':
+ resolution: {integrity: sha512-C1TLn5sPJr0x4vk56piHWKbnqlEB8BKyte5Y45V02U+D7BGO5eMqZDH5aPjnkXQWJggvmsTXxH03QMZ9NgWLzQ==}
+ engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0}
+
+ '@astrojs/yaml2ts@0.2.4':
+ resolution: {integrity: sha512-8oddpOae35pJsXPQXhTkM0ypfKPskVsh2bCxRtbf7e+/Epw2nReakFYpLKjZMEr75CsoF203PMnCocpfz0s69A==}
+
+ '@babel/code-frame@7.29.7':
+ resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-string-parser@7.29.7':
+ resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-identifier@7.29.7':
+ resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/parser@7.29.9':
+ resolution: {integrity: sha512-CjXrNHTnvqBVqHgdBysY3vk2T8tpJHb5/RMeHJBTyVa9xgugCB0CJTx/3oO8RV2QRQP391RWpB7D6hLjm8V9uA==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ '@babel/types@7.29.8':
+ resolution: {integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==}
+ engines: {node: '>=6.9.0'}
+
+ '@braintree/sanitize-url@7.1.2':
+ resolution: {integrity: sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA==}
+
+ '@bruits/satteri-darwin-arm64@0.10.5':
+ resolution: {integrity: sha512-27KTVl4TJkVahMy/ohyA7qd4938G5UNneFUz/PsScYfpIhj0IVAS23mpcJXdPF44sa6nva198lmV/cKIb2YPyA==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@bruits/satteri-darwin-x64@0.10.5':
+ resolution: {integrity: sha512-IjnLe3nKspq6qaeqGgjT7MT8VrTV74yWRlaag7ZdNsI8TDAYZ0iPxMCo+9KQZHUk5EyVB+reBI/PFWL5KuFw9Q==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@bruits/satteri-linux-arm64-gnu@0.10.5':
+ resolution: {integrity: sha512-glkYXZCJywjP13v67eAyAMSJdF+ncvEbYvgi/wOtffL9tQ27lr/zsyzUfgs+ovjJ9d8JNQKiXeiArJcX8PJL9w==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@bruits/satteri-linux-arm64-musl@0.10.5':
+ resolution: {integrity: sha512-yWdgG1g17Nh2QyGVlFUxGRa3FEFwiMcpZEyMNWkbM3deC94cmVc+/i9OuyFpdKuWo3GkgoCtYVOoxk1uCnCZIA==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@bruits/satteri-linux-x64-gnu@0.10.5':
+ resolution: {integrity: sha512-FVaLoPT1fBgGl0J+AYebyyXJYBachGl8Oyyrf1lye4RTqCB4S0Gwkj1uM9RJyThUOvx5VUmAT1CnNh1SFHA+kw==}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@bruits/satteri-linux-x64-musl@0.10.5':
+ resolution: {integrity: sha512-EHpVAx2bqW3GINHTKkljtxVfQmVDGWIuwOYOP5YghTj+0PkBa2o8oKPRtQ9Kbsr1Fye8jtUcDjhwj2jMNugZKg==}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@bruits/satteri-wasm32-wasi@0.10.5':
+ resolution: {integrity: sha512-ypz8c/Zmipxp4IoeDa228Gstv6TLzVmNs3yC6wKCoNSOjx1iwpgzu87Y3hTkXFdwChVGU85qeUDuOIarGUZQLw==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+
+ '@bruits/satteri-win32-arm64-msvc@0.10.5':
+ resolution: {integrity: sha512-siTV88nb0LRqNpkL2gXboqCwVdq95sLtzMHS1/3eONV2gLbB3NAK46wmSMvCO/yquBvI2lvaFIfd8P12ecsxBw==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@bruits/satteri-win32-x64-msvc@0.10.5':
+ resolution: {integrity: sha512-C3IfPvfvMXmlzBxaMPKFS1XiuV9pu2mC7YqkPk7PSvTgPZ8gbdASIpHpztDLvTTQjqZ0z1Ol8tK5X+V6XXC0wQ==}
+ cpu: [x64]
+ os: [win32]
+
+ '@capsizecss/unpack@4.0.1':
+ resolution: {integrity: sha512-CuNiSqg7+e1cO/GjffyMOm5Tt2jUF9CWHHnvQ/UkqvtkGfHdgwEC0wpmq7fkN3gxwpRnrAN0WzO3vREKmNolMQ==}
+ engines: {node: '>=18'}
+
+ '@cbor-extract/cbor-extract-darwin-arm64@2.2.2':
+ resolution: {integrity: sha512-ZKZ/F8US7JR92J4DMct6cLW/Y66o2K576+zjlEN/MevH70bFIsB10wkZEQPLzl2oNh2SMGy55xpJ9JoBRl5DOA==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@cbor-extract/cbor-extract-darwin-x64@2.2.2':
+ resolution: {integrity: sha512-32b1mgc+P61Js+KW9VZv/c+xRw5EfmOcPx990JbCBSkYJFY0l25VinvyyWfl+3KjibQmAcYwmyzKF9J4DyKP/Q==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@cbor-extract/cbor-extract-linux-arm64@2.2.2':
+ resolution: {integrity: sha512-wfqgzqCAy/Vn8i6WVIh7qZd0DdBFaWBjPdB6ma+Wihcjv0gHqD/mw3ouVv7kbbUNrab6dKEx/w3xQZEdeXIlzg==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@cbor-extract/cbor-extract-linux-arm@2.2.2':
+ resolution: {integrity: sha512-tNg0za41TpQfkhWjptD+0gSD2fggMiDCSacuIeELyb2xZhr7PrhPe5h66Jc67B/5dmpIhI2QOUtv4SBsricyYQ==}
+ cpu: [arm]
+ os: [linux]
+
+ '@cbor-extract/cbor-extract-linux-x64@2.2.2':
+ resolution: {integrity: sha512-rpiLnVEsqtPJ+mXTdx1rfz4RtUGYIUg2rUAZgd1KjiC1SehYUSkJN7Yh+aVfSjvCGtVP0/bfkQkXpPXKbmSUaA==}
+ cpu: [x64]
+ os: [linux]
+
+ '@cbor-extract/cbor-extract-win32-x64@2.2.2':
+ resolution: {integrity: sha512-dI+9P7cfWxkTQ+oE+7Aa6onEn92PHgfWXZivjNheCRmTBDBf2fx6RyTi0cmgpYLnD1KLZK9ZYrMxaPZ4oiXhGA==}
+ cpu: [x64]
+ os: [win32]
+
+ '@chevrotain/types@11.1.2':
+ resolution: {integrity: sha512-U+HFai5+zmJCkK86QsaJtoITlboZHBqrVketcO2ROv865xfCMSFpELQoz1GkX5GzME8pTa+3kbKrZHQtI0gdbw==}
+
+ '@clack/core@1.5.1':
+ resolution: {integrity: sha512-iHTrHA8MtVuLl2TfZySmcKv1qO2PoyC9Z7pfSDozEuV5vtY3/wcOPKJXlqJ5Oq2Cx5DDGQGAMVx6HZfRRoVEbQ==}
+ engines: {node: '>= 20.12.0'}
+
+ '@clack/prompts@1.8.1':
+ resolution: {integrity: sha512-dlT1m5e/0yUL0kRNcQn7yGLVThkgbB0Ga/1AmfDDC/8ik6AIiSf2QLQO2zPYvefsHP0aFgxO93cVLCCfDp7kzQ==}
+ engines: {node: '>= 20.12.0'}
+
+ '@commitlint/cli@17.8.1':
+ resolution: {integrity: sha512-ay+WbzQesE0Rv4EQKfNbSMiJJ12KdKTDzIt0tcK4k11FdsWmtwP0Kp1NWMOUswfIWo6Eb7p7Ln721Nx9FLNBjg==}
engines: {node: '>=v14'}
hasBin: true
+
+ '@commitlint/config-conventional@17.8.1':
+ resolution: {integrity: sha512-NxCOHx1kgneig3VLauWJcDWS40DVjg7nKOpBEEK9E5fjJpQqLCilcnKkIIjdBH98kEO1q3NpE5NSrZ2kl/QGJg==}
+ engines: {node: '>=v14'}
+
+ '@commitlint/config-validator@17.8.1':
+ resolution: {integrity: sha512-UUgUC+sNiiMwkyiuIFR7JG2cfd9t/7MV8VB4TZ+q02ZFkHoduUS4tJGsCBWvBOGD9Btev6IecPMvlWUfJorkEA==}
+ engines: {node: '>=v14'}
+
+ '@commitlint/config-validator@21.2.3':
+ resolution: {integrity: sha512-JQ13v0GafSM4fBYX8UowSy++07Was20auq0NcTdnzSEq6/05Cq5GBUMIfKkqjzyBwC9sJFmPpKWgLLhH7cygkw==}
+ engines: {node: '>=22.12.0'}
+
+ '@commitlint/ensure@17.8.1':
+ resolution: {integrity: sha512-xjafwKxid8s1K23NFpL8JNo6JnY/ysetKo8kegVM7c8vs+kWLP8VrQq+NbhgVlmCojhEDbzQKp4eRXSjVOGsow==}
+ engines: {node: '>=v14'}
+
+ '@commitlint/execute-rule@17.8.1':
+ resolution: {integrity: sha512-JHVupQeSdNI6xzA9SqMF+p/JjrHTcrJdI02PwesQIDCIGUrv04hicJgCcws5nzaoZbROapPs0s6zeVHoxpMwFQ==}
+ engines: {node: '>=v14'}
+
+ '@commitlint/execute-rule@21.0.1':
+ resolution: {integrity: sha512-RifH+FmImozKBE6mozhF4K3r2RRKP7SMi/Q/zLCmExtp5e05lhHOUYqGBlFBAGNHaZxU/WYw1XuugYK9jQzqnA==}
+ engines: {node: '>=22.12.0'}
+
+ '@commitlint/format@17.8.1':
+ resolution: {integrity: sha512-f3oMTyZ84M9ht7fb93wbCKmWxO5/kKSbwuYvS867duVomoOsgrgljkGGIztmT/srZnaiGbaK8+Wf8Ik2tSr5eg==}
+ engines: {node: '>=v14'}
+
+ '@commitlint/is-ignored@17.8.1':
+ resolution: {integrity: sha512-UshMi4Ltb4ZlNn4F7WtSEugFDZmctzFpmbqvpyxD3la510J+PLcnyhf9chs7EryaRFJMdAKwsEKfNK0jL/QM4g==}
+ engines: {node: '>=v14'}
+
+ '@commitlint/lint@17.8.1':
+ resolution: {integrity: sha512-aQUlwIR1/VMv2D4GXSk7PfL5hIaFSfy6hSHV94O8Y27T5q+DlDEgd/cZ4KmVI+MWKzFfCTiTuWqjfRSfdRllCA==}
+ engines: {node: '>=v14'}
+
+ '@commitlint/load@17.8.1':
+ resolution: {integrity: sha512-iF4CL7KDFstP1kpVUkT8K2Wl17h2yx9VaR1ztTc8vzByWWcbO/WaKwxsnCOqow9tVAlzPfo1ywk9m2oJ9ucMqA==}
+ engines: {node: '>=v14'}
+
+ '@commitlint/load@21.2.3':
+ resolution: {integrity: sha512-cDrL8lOo23Lk7knGzQdjbFcq7z2JgvjwV6PhbESVvEc+Fe21MeLjPKBJi8nKjg7j+jh79CVbVSUbZc104thXRw==}
+ engines: {node: '>=22.12.0'}
+
+ '@commitlint/message@17.8.1':
+ resolution: {integrity: sha512-6bYL1GUQsD6bLhTH3QQty8pVFoETfFQlMn2Nzmz3AOLqRVfNNtXBaSY0dhZ0dM6A2MEq4+2d7L/2LP8TjqGRkA==}
+ engines: {node: '>=v14'}
+
+ '@commitlint/parse@17.8.1':
+ resolution: {integrity: sha512-/wLUickTo0rNpQgWwLPavTm7WbwkZoBy3X8PpkUmlSmQJyWQTj0m6bDjiykMaDt41qcUbfeFfaCvXfiR4EGnfw==}
+ engines: {node: '>=v14'}
+
+ '@commitlint/read@17.8.1':
+ resolution: {integrity: sha512-Fd55Oaz9irzBESPCdMd8vWWgxsW3OWR99wOntBDHgf9h7Y6OOHjWEdS9Xzen1GFndqgyoaFplQS5y7KZe0kO2w==}
+ engines: {node: '>=v14'}
+
+ '@commitlint/resolve-extends@17.8.1':
+ resolution: {integrity: sha512-W/ryRoQ0TSVXqJrx5SGkaYuAaE/BUontL1j1HsKckvM6e5ZaG0M9126zcwL6peKSuIetJi7E87PRQF8O86EW0Q==}
+ engines: {node: '>=v14'}
+
+ '@commitlint/resolve-extends@21.2.3':
+ resolution: {integrity: sha512-bqJdmAtXgAQel+l02uIsF7rHgKgx1AGZdGBjam7uK4XW54ZAQtB6XAIUXezYprQiCcRMpBh4fHs5JodXK4mVZA==}
+ engines: {node: '>=22.12.0'}
+
+ '@commitlint/rules@17.8.1':
+ resolution: {integrity: sha512-2b7OdVbN7MTAt9U0vKOYKCDsOvESVXxQmrvuVUZ0rGFMCrCPJWWP1GJ7f0lAypbDAhaGb8zqtdOr47192LBrIA==}
+ engines: {node: '>=v14'}
+
+ '@commitlint/to-lines@17.8.1':
+ resolution: {integrity: sha512-LE0jb8CuR/mj6xJyrIk8VLz03OEzXFgLdivBytoooKO5xLt5yalc8Ma5guTWobw998sbR3ogDd+2jed03CFmJA==}
+ engines: {node: '>=v14'}
+
+ '@commitlint/top-level@17.8.1':
+ resolution: {integrity: sha512-l6+Z6rrNf5p333SHfEte6r+WkOxGlWK4bLuZKbtf/2TXRN+qhrvn1XE63VhD8Oe9oIHQ7F7W1nG2k/TJFhx2yA==}
+ engines: {node: '>=v14'}
+
+ '@commitlint/types@17.8.1':
+ resolution: {integrity: sha512-PXDQXkAmiMEG162Bqdh9ChML/GJZo6vU+7F03ALKDK8zYc6SuAr47LjG7hGYRqUOz+WK0dU7bQ0xzuqFMdxzeQ==}
+ engines: {node: '>=v14'}
+
+ '@commitlint/types@21.2.3':
+ resolution: {integrity: sha512-sGEA473TlCvhCGNoTBY9OXZVWdscIXdGt0dm8EpB+2MRfmt8LNh/X56P/T3nCtEB+eH5qGEa3odphSAoUxSfSQ==}
+ engines: {node: '>=22.12.0'}
+
+ '@cspotcode/source-map-support@0.8.1':
+ resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
+ engines: {node: '>=12'}
+
+ '@emmetio/abbreviation@2.3.3':
+ resolution: {integrity: sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==}
+
+ '@emmetio/css-abbreviation@2.1.8':
+ resolution: {integrity: sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==}
+
+ '@emmetio/css-parser@0.4.1':
+ resolution: {integrity: sha512-2bC6m0MV/voF4CTZiAbG5MWKbq5EBmDPKu9Sb7s7nVcEzNQlrZP6mFFFlIaISM8X6514H9shWMme1fCm8cWAfQ==}
+
+ '@emmetio/html-matcher@1.3.0':
+ resolution: {integrity: sha512-NTbsvppE5eVyBMuyGfVu2CRrLvo7J4YHb6t9sBFLyY03WYhXET37qA4zOYUjBWFCRHO7pS1B9khERtY0f5JXPQ==}
+
+ '@emmetio/scanner@1.0.4':
+ resolution: {integrity: sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==}
+
+ '@emmetio/stream-reader-utils@0.1.0':
+ resolution: {integrity: sha512-ZsZ2I9Vzso3Ho/pjZFsmmZ++FWeEd/txqybHTm4OgaZzdS8V9V/YYWQwg5TC38Z7uLWUV1vavpLLbjJtKubR1A==}
+
+ '@emmetio/stream-reader@2.2.0':
+ resolution: {integrity: sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw==}
+
+ '@emnapi/core@1.11.1':
+ resolution: {integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==}
+
+ '@emnapi/core@1.11.3':
+ resolution: {integrity: sha512-zLpS5asjEb7lq8jYLq37N6XKaE41DIexlY1rF/z4/tIl3wo13Sqm28fRyfIsKZD+NZ8mM5RoKkpW/rBcuoSZSg==}
+
+ '@emnapi/runtime@1.11.1':
+ resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==}
+
+ '@emnapi/runtime@1.11.3':
+ resolution: {integrity: sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==}
+
+ '@emnapi/wasi-threads@1.2.2':
+ resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==}
+
+ '@emnapi/wasi-threads@1.2.3':
+ resolution: {integrity: sha512-ELEBe8PsLvvJ6QMr0zLt8ffvOHW/dc1m3CEzNMg7aJUv3bMaoDtw2TXyDAwkYBuroxxuHEwhRTLJSe5sya547g==}
+
+ '@esbuild/aix-ppc64@0.28.2':
+ resolution: {integrity: sha512-XExcO+dvLKvVtNTibSTBej1NCAbaGhWn9Ww1ZPx80qsahhPFe/8jgWP0IchNe0F3HwkU7n8ejhH8bjonqht8mQ==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [aix]
+
+ '@esbuild/android-arm64@0.28.2':
+ resolution: {integrity: sha512-5YfKeeI8qWfBZIX+u2xZC3Zlb3Os/gLS2sbEKM+I4ZOcsWmHS2WLysCcQZDAFRslDUU5Oiq44gf6PYN1vGwG5A==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [android]
+
+ '@esbuild/android-arm@0.28.2':
+ resolution: {integrity: sha512-kXXoiPVVGQcnIYGOeaovwOURpniDBpSq4A03qkQ+BMQqtGG6HYap3xne9C1O1yo4TR3qxlCX5IqqmX6fFo2Lqg==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [android]
+
+ '@esbuild/android-x64@0.28.2':
+ resolution: {integrity: sha512-O387ite7SzUyCcy3JQX4P4bLtEA7bLLkx+esve5JHnyYfNTxcVpXZo9jhdB0lTKN44gztELTdU7nS8Nr16Fs1Q==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [android]
+
+ '@esbuild/darwin-arm64@0.28.2':
+ resolution: {integrity: sha512-n4KqkOQrraxHJcgjM1RvwbigfQKIKJVpM7xp+KsxiyUSrRdIXnt73VhrPAx0fV44hgfmIVKjxMN9J1t5jySVkw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@esbuild/darwin-x64@0.28.2':
+ resolution: {integrity: sha512-uq6suIWYP37qzGddBKPw5QEQPi6HiLGsO7UmkpfyaYNQ3D+rN6w6WfwH+nuqcGXWvawGwxOEroO4YGnFh95azw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@esbuild/freebsd-arm64@0.28.2':
+ resolution: {integrity: sha512-n+I0BTSRIoy+d6RPKnEVwql5UwBJolytvY4mAOIEJorKlqgPII8ix6slVVrfZ5Tnj7glIZvloylbB/EJPMWEXw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-x64@0.28.2':
+ resolution: {integrity: sha512-78XJTJkvPs0kz2w61301PJjXl4g7q3JqiYMZ/M/yVI73EHBrCRTgkhu9oqG7vPqq+a/yadEW8aD+agKlk5xrmg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@esbuild/linux-arm64@0.28.2':
+ resolution: {integrity: sha512-pW4AC0P3it8c7do9MVM4p51FzHzdM/TZrerurgRcHJ2WTa1VQ1CIq18xncfpBJw4ojkiZZrKW2yIBWBP92j6Ug==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@esbuild/linux-arm@0.28.2':
+ resolution: {integrity: sha512-XlDnu2q5yoqems+xay6wSAcg9DDD7K9RLKZEBOMZm3ckNpJBvOX20tSfby8KfrrhINDyv9V2YVZKY/SpoGJI8w==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [linux]
+
+ '@esbuild/linux-ia32@0.28.2':
+ resolution: {integrity: sha512-CYbnj78HsIeA+DhgUKgFCfvNsTHFhMMrinUrMZpDXJXKN8T3XViTZ/+wtHeVxEWY8ewSzTFN+nRmSwO2tZaLUQ==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [linux]
+
+ '@esbuild/linux-loong64@0.28.2':
+ resolution: {integrity: sha512-buwkd8nsph4R+ajRvw0qM5Hja/TXQow3ptzWO2EbG/cqcIkHloRrdlBtQlshyYGTNFvfkfJ5tpPLVkY4DtsPfQ==}
+ engines: {node: '>=18'}
+ cpu: [loong64]
+ os: [linux]
+
+ '@esbuild/linux-mips64el@0.28.2':
+ resolution: {integrity: sha512-ZVykbDyk7519VwiNb9Lcj9m8XM6v5V9uKPvrEMkkEedVewf+0itkhahp4HDpgERXhwLRpWFypsGbG/J8s0QjJA==}
+ engines: {node: '>=18'}
+ cpu: [mips64el]
+ os: [linux]
+
+ '@esbuild/linux-ppc64@0.28.2':
+ resolution: {integrity: sha512-CAXl+Dtd9UUuJd8pKKdwh6MLm3MUMiqMPmhZ3tTSXPqfyQ3vDl6R5hZdZ/kYojK4ofXtdfSv1tFq8XzWx3heNQ==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@esbuild/linux-riscv64@0.28.2':
+ resolution: {integrity: sha512-GeXCej4IQtU1B+QlDV8W/RRvbzI3O/Stss+/bCXv4lZls5WGRtu2a+3JkA3i4qIUlMXpcHebWpF8AkJhATowuA==}
+ engines: {node: '>=18'}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@esbuild/linux-s390x@0.28.2':
+ resolution: {integrity: sha512-3H1weTYZPxt/WOhByszQZybS9w5lKzUn1FDMsgEChbHWQwHYQQRfBxgCcZvPhjHfKyJjIievvMmEUawJrdY9Dg==}
+ engines: {node: '>=18'}
+ cpu: [s390x]
+ os: [linux]
+
+ '@esbuild/linux-x64@0.28.2':
+ resolution: {integrity: sha512-4xTZr1FUmSoQW4XIWmit3tzQrUTZM+N3P0XV8xROKYF50XfI7xeO90+1bZvNwxIufQ9hDQVRJH5YhgPVF8A/HQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [linux]
+
+ '@esbuild/netbsd-arm64@0.28.2':
+ resolution: {integrity: sha512-sSATRjPeDBg3pdgHoQfoYBob11Kk1FGa9lui5RIHZCoCkJa9QKlvl3/vKz2usCmYYjs7ymJR/2Nnsqe+Hjt5nw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [netbsd]
+
+ '@esbuild/netbsd-x64@0.28.2':
+ resolution: {integrity: sha512-lqnzCV+mM0gIADaKihiCg6ifgfU2L3h5E33rNQBN1Y4MaVGnzryzmvvf7UHxprpQdE8hpqLolJ9Rl+SkIRDpyw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [netbsd]
+
+ '@esbuild/openbsd-arm64@0.28.2':
+ resolution: {integrity: sha512-AL2qJILH7lNjrDmCQDvdxMfAUIv8KMNZOvrwAQ8i8//ntL9FflhOyMJ8OZSMBb8/AWXe3/5v5S20y3zCoZWKoQ==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openbsd]
+
+ '@esbuild/openbsd-x64@0.28.2':
+ resolution: {integrity: sha512-QtiuPytchRyC4rwUKhexJdQKvDuZ6hWloi3igqPQNUJCS1/v9EiO3UTOXR6A3FoMo4fnAKbWJdqaIwhOzh8qEw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@esbuild/openharmony-arm64@0.28.2':
+ resolution: {integrity: sha512-WkhYDmpTjLvGlScA1rwjRUmhl4k8oXR3cIbtqWmELgU/dFeHHlEllxDvdWcNJV9rbzCexB5vz8gtNewWLgCT7Q==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@esbuild/sunos-x64@0.28.2':
+ resolution: {integrity: sha512-GPMSkTOtMnv2U2F8gxe4Io6qmVs+YKyp832Etqqxr0hFngmXQ3rzwytelm3GIn7T4VviRUlf3sOgBOiTdvaf7g==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [sunos]
+
+ '@esbuild/win32-arm64@0.28.2':
+ resolution: {integrity: sha512-PIhhEkE9uPBleRBrQEJpUn7MBnibZzbGzYWPmY3x+YoVg/95zbjB4CxPPOQ8l5tYYM4mMaCthF8/1DIfBQQyWQ==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@esbuild/win32-ia32@0.28.2':
+ resolution: {integrity: sha512-YmJbfTlvU7Sdn9BB+4PRES4oB6pxgS37MAONj+hBr/cpXS1aBPKXxNnDbu+QCWPj0o9dgyxeq79g6c5P8KeuYA==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@esbuild/win32-x64@0.28.2':
+ resolution: {integrity: sha512-5ebpxr3nWMzrL/rnUI755Jkuee0bHL/Gq0WTF9lvcpv73wAp5eu8MfBUgWK9bhWvZjj7yX8etf/8tI8Ney695g==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [win32]
+
+ '@iconify/types@2.0.0':
+ resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
+
+ '@iconify/utils@3.1.7':
+ resolution: {integrity: sha512-JZHlwdID+dy+lTgbYC8NEC4zeugqeYsc6jewvzb4c58kHauJn+X7rNwQjxz5p2qSjqaEeQoLkCIQ9v/H4PK0/w==}
+
+ '@img/colour@1.1.0':
+ resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==}
+ engines: {node: '>=18'}
+
+ '@img/sharp-darwin-arm64@0.35.5':
+ resolution: {integrity: sha512-QRUlFQ0WxvdWyqqG/WtI3iupfD5rBzmCHXSdPsY91sAtVtTo7Q4cb6zOccZ3gqEqkr0f1As1ehLqmEpDsRf+lg==}
+ engines: {node: '>=20.9.0'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@img/sharp-darwin-x64@0.35.5':
+ resolution: {integrity: sha512-+BR255RhDlpygUpOc/Jdt1nT6DQ3XG/ERo5wbcdOf5Q320dKtPCKPLR1LJs9VGXRaMa8l1uUa0tkCNOXiAxZUw==}
+ engines: {node: '>=20.9.0'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@img/sharp-freebsd-wasm32@0.35.5':
+ resolution: {integrity: sha512-Y/z91nEZ4uIBX5X3nfTovjU9lHNKFYbL2lpHCLVNmXQK03VIZvXBBt0KxbPGp2SdGSF+2mQU4e+hQaWOt86iAw==}
+ engines: {node: '>=20.9.0'}
+ os: [freebsd]
+
+ '@img/sharp-libvips-darwin-arm64@1.3.4':
+ resolution: {integrity: sha512-5R89nBYiRdUlSWJxPhO+GVtaXzXSxKnRu/xqMn3KTA3L9EB9Oy/P+Nn2f2vlhPuUdy/Zusb2DarbyTpGCfEDuw==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@img/sharp-libvips-darwin-x64@1.3.4':
+ resolution: {integrity: sha512-iR2OKH80yi0U+dUplyh3/xdpFvps6YkCwsXenIJxqxR1v9o+xtKTGbS9H7cps+2Vxjc8B1j96p75NmTGjIhtpQ==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@img/sharp-libvips-linux-arm64@1.3.4':
+ resolution: {integrity: sha512-Y3dgX/6lE2QhQb+Gxy0WZxfg9MEm/JBjamZpS2IklP7xIQoKN4hzAm7KcMVGtaVDt3neE9OKBC7vAfonA/Lr1A==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linux-arm@1.3.4':
+ resolution: {integrity: sha512-LmRtTsOHuvM2+wlO2Db37dx5MiZhB0FvSunciw48YjdOkZz9KAiRbm8ujeMOA1INqmei5NapFxYEK1D1ZSidmw==}
+ cpu: [arm]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linux-ppc64@1.3.4':
+ resolution: {integrity: sha512-Le6boB8Tai0Nis+gIxIpKx68UDVVIqdR8Tin5Yf1z2LJJQLDJvCDRqRu+jC2qCoD+eIomonmOwB4smBRxfVpYQ==}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linux-riscv64@1.3.4':
+ resolution: {integrity: sha512-aHkkIEHPRdQEegJN20MLmGtxYD9R2wQr3Cwpddnu5+YKMt6Uzax7S9h5gpZTo8wyrGuZSlfQ63OevL5mTyOC7Q==}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linux-s390x@1.3.4':
+ resolution: {integrity: sha512-ra/mB6MikESDUO7Yg+Mi95bFBb9GsObURuhnOv3OqknjGe9sZrG8tCe9q0xSIGrtLgvgw0gKnFWcK4blSgQOuQ==}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linux-x64@1.3.4':
+ resolution: {integrity: sha512-GJ//SSXbnwSDes02umB3nDJLFcQzw8a18V8fyhqr6tV515tOEMdImjjxj1AoafMRz56F3PHgftnj1QEKSU1zkw==}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linuxmusl-arm64@1.3.4':
+ resolution: {integrity: sha512-hvulFwtjUcagsis6BBxHwGFwWoNZjgYmULGVrZcyfNbjA8hKILbRxGg15/7w5HDyXHXUos/j6baAWqnCyQ2DWA==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@img/sharp-libvips-linuxmusl-x64@1.3.4':
+ resolution: {integrity: sha512-6zXKeE/p39I1AmA3cJG35eyBGNqNddLnUXjhwBnsGjFPWqf5VKkDBEqaEkPDoTEtkxwi2vv8Tcr2mDyP4So7Fg==}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@img/sharp-linux-arm64@0.35.5':
+ resolution: {integrity: sha512-LYVx5JTsOM2CBzmxreh+nl64/3H6Xb09iSLknqH47z2T2DFFxDeFLP5y4dJwe6H7uGQlHPyEEtIqyo3DYsRwdQ==}
+ engines: {node: '>=20.9.0'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linux-arm@0.35.5':
+ resolution: {integrity: sha512-LEaXK2WdXVK5ykcw0buWyPMsmLLL2vpHLD6yrNSW+JGEL3BZPA4tpKN6iaMc4AxTTAoaX/sU1rOL51lcIz48ZQ==}
+ engines: {node: '>=20.9.0'}
+ cpu: [arm]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linux-ppc64@0.35.5':
+ resolution: {integrity: sha512-QVxAAq8evVRI9ia2vqgwrmWucn5Dfv+JdWzj75pD8omHLPSP7f8p20O8jxzjCcuCEQEOtYOZUmX1hkiZ0kdevA==}
+ engines: {node: '>=20.9.0'}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linux-riscv64@0.35.5':
+ resolution: {integrity: sha512-LtdreXguaavKODPIfzJ4kffx7UNt1omwtK0rch4EBbbSTXPnxWmYSayXdLJw0fJzQ97kHt1gL/yh4tvU+nCyRQ==}
+ engines: {node: '>=20.9.0'}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linux-s390x@0.35.5':
+ resolution: {integrity: sha512-UZasTOFiYzotTsGOCu42BfUzP6Tu6Do/947iRm1RsLKvlllxwGcn4RN27LibGWceix4Y+Pmw3jsnTcCQIgWjqA==}
+ engines: {node: '>=20.9.0'}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linux-x64@0.35.5':
+ resolution: {integrity: sha512-SxFtLTeJInhAA9Q836kux2vZNeOBQEx658qvbboZScr0wIARym3IcGmW7KpVD5sbVg0Ojy+udFQdayYIZyoNog==}
+ engines: {node: '>=20.9.0'}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linuxmusl-arm64@0.35.5':
+ resolution: {integrity: sha512-9HbMclmI1zlNkFRs3z9/eBtDjfD0sGlrX1z6b1qwmiFY5ElDLh4BC0LPBdVp7z1DXFiKlIcznf+ZlsuZzLxQqg==}
+ engines: {node: '>=20.9.0'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@img/sharp-linuxmusl-x64@0.35.5':
+ resolution: {integrity: sha512-4KOphqB035HrVdqLZfCgMzzERrQkkzOwRhl4OAkRO1YCldbaFjySXMaK534Mo0V+LndnlJk+sbUyLeU0ULyD1A==}
+ engines: {node: '>=20.9.0'}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@img/sharp-wasm32@0.35.5':
+ resolution: {integrity: sha512-Ptsga1su4tQx+LLF1ECS9U6nz5kmrXKo6XVbtR48Ke3ZRxxgaWBu7IDtEe1quo8hiupwm6WFqxVlXaSf7IINGQ==}
+ engines: {node: '>=20.9.0'}
+
+ '@img/sharp-webcontainers-wasm32@0.35.5':
+ resolution: {integrity: sha512-hfhF/FmoQyTUkA0bIKFOtw536BQSeBMe6BF6QyWlrPxT754+TFLaZ7sKKTfvvM0yJgKgaYTwnFCIZ/GuDw5SUA==}
+ engines: {node: '>=20.9.0'}
+ cpu: [wasm32]
+
+ '@img/sharp-win32-arm64@0.35.5':
+ resolution: {integrity: sha512-X4t7g+7ZA5DKblCBEXGjUqqemj4vczING/5viFwAL8h4N3qYeyjwdCvRLHi4EdOUI+2Z7UFlp1VM+p/AuEtm6Q==}
+ engines: {node: '>=20.9.0'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@img/sharp-win32-ia32@0.35.5':
+ resolution: {integrity: sha512-5Zm82LoBc43nhwNybZlG7Y1KO//Zhsn306fQl29ZOuStHLGTo3BWL83q3cznX0poxSAMuYL1On/BHBxkBeKr6A==}
+ engines: {node: ^20.9.0}
+ cpu: [ia32]
+ os: [win32]
+
+ '@img/sharp-win32-x64@0.35.5':
+ resolution: {integrity: sha512-x76eH0vEiHlcMQu8Y8IenntaACtddpT6W0wmXtWrnKcnKI7ME5DdgqhAD6SEWOEl1v2zDvkZDhFA9KnURwpfqg==}
+ engines: {node: '>=20.9.0'}
+ cpu: [x64]
+ os: [win32]
+
+ '@inquirer/external-editor@1.0.3':
+ resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@jridgewell/resolve-uri@3.1.2':
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/sourcemap-codec@1.6.0':
+ resolution: {integrity: sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==}
+
+ '@jridgewell/trace-mapping@0.3.9':
+ resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
+
+ '@mdx-js/mdx@3.1.1':
+ resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==}
+
+ '@mermaid-js/parser@1.2.1':
+ resolution: {integrity: sha512-n12NohV3mrUyUL2o93IgG/ifeW9FTyeJn3zDxkhwa8MJ9Fxg3HQMlA3RiGmD/3UnJvheztkjjQAjA2T4LmUcpw==}
+
+ '@napi-rs/wasm-runtime@1.2.4':
+ resolution: {integrity: sha512-AJxoUD2/15ESHbvpcyjU274nsAPLuOtPHCk0vKJM5pj//Fg/B1FXNWjPnXTT9PymCYYiHo4zPj0ZomXBKhoy7g==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0}
+ peerDependencies:
+ '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4
+ '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4
+
+ '@napi-rs/wasm-runtime@1.2.5':
+ resolution: {integrity: sha512-HshSvXzmBxNzqejd3k/KemgQ3hdREUYFRRrgxOZ+gPljDIsO2SDZrVZMd4Z/HsxudQbE62OVyVFE8z9BCurfjA==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0}
+ peerDependencies:
+ '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4
+ '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4
+
+ '@oslojs/encoding@1.1.0':
+ resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==}
+
+ '@oxc-project/types@0.152.0':
+ resolution: {integrity: sha512-oM/5rLBm2tPkg0iBgkH/FOeR3PCDpY19GTgAZjMFM8h9WI9VW7cLgzp6nwtarYKmovavIQZ+Fe/RKX/8C8O/Rw==}
+
+ '@pagefind/darwin-arm64@1.5.2':
+ resolution: {integrity: sha512-MXpI+7HsAdPkvJ0gk9xj9g541BCqBZOBbdwj9g6lB5LCj6kSV6nqDSjzcAJwvOsfu0fjwvC8hQU+ecfhp+MpiQ==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@pagefind/darwin-x64@1.5.2':
+ resolution: {integrity: sha512-IojxFWMEJe0RQ7PQ3KXQsPIImNsbpPYpoZ+QUDrL8fAl/O27IX+LVLs74/UzEZy5uA2LD8Nz1AiwKr72vrkZQw==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@pagefind/freebsd-x64@1.5.2':
+ resolution: {integrity: sha512-7EVzo9+0w+2cbe671BtMj10UlNo83I+HrLVLfRxO731svHRJKUfJ/mo05gU14pe9PCfpKNQT8FS3Xc/oDN6pOA==}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@pagefind/linux-arm64@1.5.2':
+ resolution: {integrity: sha512-Ovt9+K35sqzn8H3ZMXGwls4TD/wMJuvRtShHIsmUQREmaxjrDEX7gHckRCrwYJ4XE1H1p6HkLz3wukrAnsfXQw==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@pagefind/linux-x64@1.5.2':
+ resolution: {integrity: sha512-V+tFqHKXhQKq/WqPBD67AFy7scn1/aZID00ws4fSDd+1daSi5UHR9VVlRrOUYKxn3VuFQYRD7lYXdZK1WED1YA==}
+ cpu: [x64]
+ os: [linux]
+
+ '@pagefind/windows-arm64@1.5.2':
+ resolution: {integrity: sha512-hN9Nh90fNW61nNRCW9ZyQrAj/mD0eRvmJ8NlTUzkbuW8kIzGJUi3cxjFkEcMZ5h/8FsKWD/VcouZl4yo1F7B6g==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@pagefind/windows-x64@1.5.2':
+ resolution: {integrity: sha512-Fa2Iyw7kaDRzGMfNYNUXNW2zbL5FQVDgSOcbDHdzBrDEdpqOqg8TcZ68F22ol6NJ9IGzvUdmeyZypLW5dyhqsg==}
+ cpu: [x64]
+ os: [win32]
+
+ '@rolldown/binding-android-arm-eabi@1.2.12':
+ resolution: {integrity: sha512-dB/a1214qKfHMXCpgqR4OZT+jS4kTyEXbQGJPqzobt5EwH5rX080pxE37alt3RzvR1bf1Yz/yGqRfrYAxuPw0A==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [android]
+
+ '@rolldown/binding-android-arm64@1.2.12':
+ resolution: {integrity: sha512-7KHFgQ5VJxIHcLlrwrc3Xbds7oTNQT7Pgi9gQCJKrd2VGab/UksIOYp6VD8MzCstGxOKMgNamPwUCfxPdP1OHg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [android]
+
+ '@rolldown/binding-darwin-arm64@1.2.12':
+ resolution: {integrity: sha512-3YIhqHD96nA5SaYNRBR16HnGv4oavZvXfD/ayHM+oYZ0WD/8lBAtf6zQua4kEyAvpqrluKXl0lnOBoiNby7x9w==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@rolldown/binding-darwin-x64@1.2.12':
+ resolution: {integrity: sha512-UuuJ35MFw4gmFOrE9pEqIV+K3syIKveph+Qc1/ljHZVdoDW4pz/JHR/eMVom+TZGl/5OOvGJOWaOCVt3ZfqhxA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [darwin]
+
+ '@rolldown/binding-freebsd-x64@1.2.12':
+ resolution: {integrity: sha512-uMvssit0a4W+/7D8CbHUvG719mH3R2jwXAlh/XcPvuHTE0g++LymF88DCGNX0HM2rBOn0xrzgXktIB6fLSJBTQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@rolldown/binding-linux-arm-gnueabihf@1.2.12':
+ resolution: {integrity: sha512-XcFu0R0xWnwzSf4IQgFH1rJIckPN1pLy2R+4r9IDB7Yfu/ys9cVqfa4pBrMHj7a3gl8mIR4nRNPg0e5IvEVs6g==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@rolldown/binding-linux-arm64-gnu@1.2.12':
+ resolution: {integrity: sha512-260UrKgn8tz39ak+SMDOirKzr7V04M9dWPw5llW00SwBivCZoWcRBKV1d8cXnRkUmSZA3BdiUmBHWk7734Ulpw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rolldown/binding-linux-arm64-musl@1.2.12':
+ resolution: {integrity: sha512-5YK1I9SqDkbPgc1IA8BgDl34suqUS2q0KWnBrirm0E51YjOs6eo6dV6jbQfNE/argHRSvd0QUGgtpIoYx+WWpw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@rolldown/binding-linux-ppc64-gnu@1.2.12':
+ resolution: {integrity: sha512-Rkcrmp7eFRg74yL5fXEU91JEWbdEPLevWwGtXpmhbjlD1StScbWTmO94Bhly+Mo+ketKYkdmM1vNUKeWSlx8cQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rolldown/binding-linux-s390x-gnu@1.2.12':
+ resolution: {integrity: sha512-qvK4DuAsQc2BSjlx+Xr+IzOIvvxbGZqxFwdWfG6F518Erj0GGISyQbJ6pIappnOxlNPzNHvo/L0BwB30GZ+zVw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@rolldown/binding-linux-x64-gnu@1.2.12':
+ resolution: {integrity: sha512-Q9uLBO53Xd4QIq1WOycVQyPP1O4HhraEV2qqb3uTrnVw6QZih9duY4vNXOivL1xoUS1/z+W8eF4NMfl2a8Sdjw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rolldown/binding-linux-x64-musl@1.2.12':
+ resolution: {integrity: sha512-3IBxWFMjbOZskDPKv8Lf9BCnahlKuHthWkYnyIxOH/QcJrFcS4EmcenthApkwr/5+nEqZlLzeYbxeMaX7A5u4g==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@rolldown/binding-openharmony-arm64@1.2.12':
+ resolution: {integrity: sha512-xtX61xg4LKPkPWilZU1ynKClz5Gj4bf74LML4r3eVLWumKnGjoEr1OSHQhMdbBDoYTi+yjrujvpZe2pUnqCrrA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@rolldown/binding-win32-arm64-msvc@1.2.12':
+ resolution: {integrity: sha512-At7fPB6PCaIjzgIhEZFxuT+BBFqiQibJDT4d3PhiR3f4E7bbMZF4aKblbFfEM3sETRDd1YiQx/+U/g/B/ou5Ew==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [win32]
+
+ '@rolldown/binding-win32-x64-msvc@1.2.12':
+ resolution: {integrity: sha512-WIw2haVKwjuYdXkHaoC0mF8Le71TuCBxjrdKqLbJGctbBABj+ClfmNvtbOnzpq3RokNo5+V1qhtSzJyXorsklQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [win32]
+
+ '@rolldown/pluginutils@1.0.1':
+ resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==}
+
+ '@shikijs/core@4.5.0':
+ resolution: {integrity: sha512-6CIgwq+bt2JZ3OSjb/nBkkwEf/CfpHcbam+Mg5Pllco7HAGRQ2/EFhZrrJtbyNTgKwknfVS+llsXGygiDGwJWw==}
+ engines: {node: '>=20'}
+
+ '@shikijs/engine-javascript@4.5.0':
+ resolution: {integrity: sha512-Ed6UdEj84LyYkwnxM5CvSMWAD+id9ExTYri0/+x41U9zrgNifPSS9lZm0JqBP0VfYI8yr8tY5nbNq9+p9R0kFA==}
+ engines: {node: '>=20'}
+
+ '@shikijs/engine-oniguruma@4.5.0':
+ resolution: {integrity: sha512-dKVmbJecVdB9recl8a/CU4jdpNXyjJQrIcesIkpS70s5HS02ohpnCSpMUbotPnEUzbAcLQ+S4hwZYbkBBiTcJw==}
+ engines: {node: '>=20'}
+
+ '@shikijs/langs@4.5.0':
+ resolution: {integrity: sha512-wwBTqwduXSz0X4v9Qa2EWeFaYJEw1clCncWjoRNQRbVDu3SPRTRWucnouYapKj3b8Q+sk/41Vbc4B5c8nuYzLA==}
+ engines: {node: '>=20'}
+
+ '@shikijs/primitive@4.5.0':
+ resolution: {integrity: sha512-UM7ShlA8oz0OWxLLO8BmO9Ip6fVqdkt8yF0EH7nOCqHfrx1eEAzF0ZUVK7L+I8NEgeu1PEWSRlxaiPPeCb4iDg==}
+ engines: {node: '>=20'}
+
+ '@shikijs/themes@4.5.0':
+ resolution: {integrity: sha512-zGb87H3UBbpuI4yoh5UguB1XbU+2BDU3kflM7UfZ+Cy2hWo9lBtqjSVK20gmLY6ukYl040hAypGXMgud9vul8Q==}
+ engines: {node: '>=20'}
+
+ '@shikijs/types@4.5.0':
+ resolution: {integrity: sha512-drtPrtD8N0DENyD2cyt6Ajy+IWsiCLgMxODwLTpvH1UsN6a9jf90tNTPjqwHvA+0Lzu9e0txk8DjfqH1p9UJRw==}
+ engines: {node: '>=20'}
+
+ '@shikijs/vscode-textmate@10.0.2':
+ resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
+
+ '@simple-libs/stream-utils@2.0.0':
+ resolution: {integrity: sha512-fCTuZK4QBa+39Oz9l4OGfJfz+GpwCp3AqO7Zch3to99xHPgstVsRFpeQ8LNd2o1Gv8raL2mCFwiaHh7bFSp5DQ==}
+ engines: {node: '>=22'}
+
+ '@tsconfig/node10@1.0.13':
+ resolution: {integrity: sha512-gcLdvR9HO1ZJBypsOGqaP6TFEzb6vIta0KSTLt9NAQ6pXQO3cRgSVyCN6pzYqI9DlJgY71XKO0dpDhCf08b3pg==}
+
+ '@tsconfig/node12@1.0.11':
+ resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==}
+
+ '@tsconfig/node14@1.0.3':
+ resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==}
+
+ '@tsconfig/node16@1.0.4':
+ resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
+
+ '@tybys/wasm-util@0.10.4':
+ resolution: {integrity: sha512-W3c4gRigFS0T/Ma4qIYF3GDAc5AQdHb1yL5znJT1Zv1YaD9Kitx656wBjvr19qbiosmZT8lWDM5BEMynUqX65A==}
+
+ '@types/d3-array@3.2.2':
+ resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==}
+
+ '@types/d3-axis@3.0.6':
+ resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==}
+
+ '@types/d3-brush@3.0.6':
+ resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==}
+
+ '@types/d3-chord@3.0.6':
+ resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==}
+
+ '@types/d3-color@3.1.3':
+ resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==}
+
+ '@types/d3-contour@3.0.6':
+ resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==}
+
+ '@types/d3-delaunay@6.0.4':
+ resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==}
+
+ '@types/d3-dispatch@3.0.7':
+ resolution: {integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==}
+
+ '@types/d3-drag@3.0.7':
+ resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==}
+
+ '@types/d3-dsv@3.0.7':
+ resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==}
+
+ '@types/d3-ease@3.0.2':
+ resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==}
+
+ '@types/d3-fetch@3.0.7':
+ resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==}
+
+ '@types/d3-force@3.0.10':
+ resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==}
+
+ '@types/d3-format@3.0.4':
+ resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==}
+
+ '@types/d3-geo@3.1.1':
+ resolution: {integrity: sha512-65Emv9fQiQQqphLlRkuQ5ypPsOmWPhtBGCMv61JDPEPMvsx+gzhGf74yw1a78xFKPj6zw4AgQICJoQv0vK9M2w==}
+
+ '@types/d3-hierarchy@3.1.7':
+ resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==}
+
+ '@types/d3-interpolate@3.0.4':
+ resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==}
+
+ '@types/d3-path@3.1.1':
+ resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==}
+
+ '@types/d3-polygon@3.0.2':
+ resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==}
+
+ '@types/d3-quadtree@3.0.6':
+ resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==}
+
+ '@types/d3-random@3.0.4':
+ resolution: {integrity: sha512-UHYId5WTCx4L4YNel7NU00XUXXgvgpgZOvp10PuvsQENjMDXhh2RyFc0KBjO7B45ne4Ha1yVH7ii0vnzKkuzWA==}
+
+ '@types/d3-scale-chromatic@3.1.0':
+ resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==}
+
+ '@types/d3-scale@4.0.9':
+ resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==}
+
+ '@types/d3-selection@3.0.12':
+ resolution: {integrity: sha512-Qe/KWYhEiIIxGs7HrAAjMfShxKldx19SJtr5zu53f3afPsdZNz7HHtdTLXo/kqeiWNXVycI24kSnfzBYkTzpgw==}
+
+ '@types/d3-shape@3.2.0':
+ resolution: {integrity: sha512-kVd74ta9eof3eJOvbNd1vGKS/XERRyQbT26Og63hIsvDO84cjD5gEOhsXf26w3FSoNlPVz84DOFcKv/oou+fMw==}
+
+ '@types/d3-time-format@4.0.3':
+ resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==}
+
+ '@types/d3-time@3.0.4':
+ resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==}
+
+ '@types/d3-timer@3.0.2':
+ resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==}
+
+ '@types/d3-transition@3.0.9':
+ resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==}
+
+ '@types/d3-zoom@3.0.9':
+ resolution: {integrity: sha512-0sE1406XBYJGiqD3AusTl9ZqC//2mIXix51tbom25gDCA8ri4xnSZg28CaSE8Srl6FClqABUKfsn0qghgdepMA==}
+
+ '@types/d3@7.4.3':
+ resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==}
+
+ '@types/debug@4.1.13':
+ resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==}
+
+ '@types/estree-jsx@1.0.5':
+ resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==}
+
+ '@types/estree@1.0.9':
+ resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==}
+
+ '@types/geojson@7946.0.16':
+ resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==}
+
+ '@types/hast@3.0.5':
+ resolution: {integrity: sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==}
+
+ '@types/mdast@4.0.4':
+ resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
+
+ '@types/mdx@2.0.14':
+ resolution: {integrity: sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==}
+
+ '@types/minimist@1.2.5':
+ resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==}
+
+ '@types/ms@2.1.0':
+ resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
+
+ '@types/nlcst@2.0.3':
+ resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==}
+
+ '@types/node@20.5.1':
+ resolution: {integrity: sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==}
+
+ '@types/node@22.20.5':
+ resolution: {integrity: sha512-U2+DNr+wSjpsTS/wZGYHq7GcwfuSmKiKvoPvK22zwTlRhU91yOniN4qRR5KhIjvif7ysw/dz/hKmfDH0Ris4aA==}
+
+ '@types/node@24.19.1':
+ resolution: {integrity: sha512-aS3/DG0oM05K0RIXXP+hKjinGG5IgSSVGzswZxW3O0sS3pH4/fycXundUC9XsszgKCk4gHXylTEK6hyFxVxnoQ==}
+
+ '@types/normalize-package-data@2.4.4':
+ resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
+
+ '@types/sax@1.2.7':
+ resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==}
+
+ '@types/trusted-types@2.0.7':
+ resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
+
+ '@types/unist@2.0.11':
+ resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
+
+ '@types/unist@3.0.3':
+ resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
+
+ '@ungap/structured-clone@1.4.0':
+ resolution: {integrity: sha512-1mEZtMKPM09vDmQt5y7YvmN2+DFTP7Tg0EWXdic8/C6VRnpb33e4ghisCIE3WZjsE2N8mf+QV1Zqh7ZFYLWInQ==}
+
+ '@upsetjs/venn.js@2.0.0':
+ resolution: {integrity: sha512-WbBhLrooyePuQ1VZxrJjtLvTc4NVfpOyKx0sKqioq9bX1C1m7Jgykkn8gLrtwumBioXIqam8DLxp88Adbue6Hw==}
+
+ '@volar/kit@2.4.28':
+ resolution: {integrity: sha512-cKX4vK9dtZvDRaAzeoUdaAJEew6IdxHNCRrdp5Kvcl6zZOqb6jTOfk3kXkIkG3T7oTFXguEMt5+9ptyqYR84Pg==}
+ peerDependencies:
+ typescript: '*'
+
+ '@volar/language-core@2.4.28':
+ resolution: {integrity: sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ==}
+
+ '@volar/language-server@2.4.28':
+ resolution: {integrity: sha512-NqcLnE5gERKuS4PUFwlhMxf6vqYo7hXtbMFbViXcbVkbZ905AIVWhnSo0ZNBC2V127H1/2zP7RvVOVnyITFfBw==}
+
+ '@volar/language-service@2.4.28':
+ resolution: {integrity: sha512-Rh/wYCZJrI5vCwMk9xyw/Z+MsWxlJY1rmMZPsxUoJKfzIRjS/NF1NmnuEcrMbEVGja00aVpCsInJfixQTMdvLw==}
+
+ '@volar/source-map@2.4.28':
+ resolution: {integrity: sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ==}
+
+ '@volar/typescript@2.4.28':
+ resolution: {integrity: sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw==}
+
+ '@vscode/emmet-helper@2.11.0':
+ resolution: {integrity: sha512-QLxjQR3imPZPQltfbWRnHU6JecWTF1QSWhx3GAKQpslx7y3Dp6sIIXhKjiUJ/BR9FX8PVthjr9PD6pNwOJfAzw==}
+
+ '@vscode/l10n@0.0.18':
+ resolution: {integrity: sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==}
+
+ JSONStream@1.3.5:
+ resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
+ hasBin: true
+
+ acorn-jsx@5.3.2:
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ acorn-walk@8.3.5:
+ resolution: {integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==}
+ engines: {node: '>=0.4.0'}
+
+ acorn@8.19.0:
+ resolution: {integrity: sha512-oJlA3XiRm7Cyk6qFD2Jn8ak9B7jSy0qy00ADO3+8dpT0LSjFihQYv4C02LFCSYJV3Q37xYwwRy5m+IpIiUzqWw==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ ajv-draft-04@1.0.0:
+ resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==}
+ peerDependencies:
+ ajv: ^8.5.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
+
+ ajv-i18n@4.2.0:
+ resolution: {integrity: sha512-v/ei2UkCEeuKNXh8RToiFsUclmU+G57LO1Oo22OagNMENIw+Yb8eMwvHu7Vn9fmkjJyv6XclhJ8TbuigSglPkg==}
+ peerDependencies:
+ ajv: ^8.0.0-beta.0
+
+ ajv@8.20.0:
+ resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==}
+
+ am-i-vibing@0.4.0:
+ resolution: {integrity: sha512-MxT4XZL7pzLHpuvhDKdMaQHMGGkJDLluKBLsbstn+8wv9sWcFT6h+0ve9qkml95amVTZtZV83gQe2hY+ojgHLg==}
+ hasBin: true
+
+ ansi-escapes@4.3.2:
+ resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
+ engines: {node: '>=8'}
+
+ ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+ ansi-regex@6.4.0:
+ resolution: {integrity: sha512-KzTVk2tCWAHtYrvvvaP8bJKJq2pVinhLcGEQdtLIYPbmNGNyYe8QwNaTUYQp2J7/vIsUKt5QCqAfUkYyG9DkOw==}
+ engines: {node: '>=12'}
+
+ ansi-styles@3.2.1:
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
+ engines: {node: '>=4'}
+
+ ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+
+ ansi-styles@6.2.3:
+ resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==}
+ engines: {node: '>=12'}
+
+ anymatch@3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
+
+ arg@4.1.3:
+ resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
+
+ arg@5.0.2:
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+
+ argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+
+ argue-cli@3.2.0:
+ resolution: {integrity: sha512-VipTB0gXgGIFO2Rg9yEVN5wLt2AurJcZqDbgmYSwPwsykhLrQhs240/bfceev4w68lI8JshoOJIk9uW7tFzROw==}
+ engines: {node: '>=22'}
+
+ aria-query@5.3.2:
+ resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==}
+ engines: {node: '>= 0.4'}
+
+ array-ify@1.0.0:
+ resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==}
+
+ array-iterate@2.0.1:
+ resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==}
+
+ arrify@1.0.1:
+ resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==}
+ engines: {node: '>=0.10.0'}
+
+ astring@1.9.0:
+ resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==}
+ hasBin: true
+
+ astro@7.3.5:
+ resolution: {integrity: sha512-1p/ernaq/RuESbM5NMjWzbO6SiebMGrGcYlGjMfBhzzgM+n/X7AUmVyw8BqW2QYCdivpsHwJBcD1fqmlTZjZHg==}
+ engines: {node: '>=22.12.0', npm: '>=9.6.5', pnpm: '>=7.1.0'}
+ hasBin: true
+ peerDependencies:
+ '@astrojs/markdown-remark': ^7.3.0
+ peerDependenciesMeta:
+ '@astrojs/markdown-remark':
+ optional: true
+
+ at-least-node@1.0.0:
+ resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
+ engines: {node: '>= 4.0.0'}
+
+ axobject-query@4.1.0:
+ resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
+ engines: {node: '>= 0.4'}
+
+ bail@2.0.2:
+ resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
+
+ balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ base64-js@1.5.1:
+ resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+
+ bl@4.1.0:
+ resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
+
+ boolbase@1.0.0:
+ resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
+
+ brace-expansion@1.1.21:
+ resolution: {integrity: sha512-9zeA+KLZNNzglF2TPKRQEDyx6Yby7daAkuy8MiPzpXPsYDWi/DRM8jmwUDxokQjYqBpv5DgPiwD4h4ZZSy1Ujw==}
+
+ braces@3.0.3:
+ resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
+ engines: {node: '>=8'}
+
+ buffer@5.7.1:
+ resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
+
+ cachedir@2.4.0:
+ resolution: {integrity: sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==}
+ engines: {node: '>=6'}
+
+ callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+
+ camelcase-keys@6.2.2:
+ resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==}
+ engines: {node: '>=8'}
+
+ camelcase@5.3.1:
+ resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
+ engines: {node: '>=6'}
+
+ cbor-extract@2.2.2:
+ resolution: {integrity: sha512-hlSxxI9XO2yQfe9g6msd3g4xCfDqK5T5P0fRMLuaLHhxn4ViPrm+a+MUfhrvH2W962RGxcBwEGzLQyjbDG1gng==}
+ hasBin: true
+
+ cbor-x@1.6.6:
+ resolution: {integrity: sha512-8QiD9PGOxyQHo7s2pzwTBH6lTjqekxPdl9Aq6fXvZgCuCJHOht1puDEA/fTr6mciB76c+M+Gi0qT2i1a4pm4Wg==}
+
+ ccount@2.0.1:
+ resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
+
+ chalk@2.4.2:
+ resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
+ engines: {node: '>=4'}
+
+ chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+
+ character-entities-html4@2.1.0:
+ resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
+
+ character-entities-legacy@3.0.0:
+ resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
+
+ character-entities@2.0.2:
+ resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
+
+ character-reference-invalid@2.0.1:
+ resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
+
+ chardet@2.2.0:
+ resolution: {integrity: sha512-rddelWYNPRrXq6PtNEN2S3f6t9ILzvqaN5pVgi4kqt9jHQaXIial9PznB5iSPVlQSLNaaH22ItWz3EJtQ10+OA==}
+
+ chokidar@4.0.3:
+ resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
+ engines: {node: '>= 14.16.0'}
+
+ chokidar@5.0.0:
+ resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==}
+ engines: {node: '>= 20.19.0'}
+
+ ci-info@4.4.0:
+ resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==}
+ engines: {node: '>=8'}
+
+ cli-cursor@3.1.0:
+ resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
+ engines: {node: '>=8'}
+
+ cli-spinners@2.9.2:
+ resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
+ engines: {node: '>=6'}
+
+ cli-width@3.0.0:
+ resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==}
+ engines: {node: '>= 10'}
+
+ cliui@8.0.1:
+ resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
+ engines: {node: '>=12'}
+
+ cliui@9.0.1:
+ resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==}
+ engines: {node: '>=20'}
+
+ clone@1.0.4:
+ resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
+ engines: {node: '>=0.8'}
+
+ clsx@2.1.1:
+ resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
+ engines: {node: '>=6'}
+
+ collapse-white-space@2.1.0:
+ resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==}
+
+ color-convert@1.9.3:
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+
+ color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+
+ color-name@1.1.3:
+ resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+
+ color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+ comma-separated-tokens@2.0.3:
+ resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
+
+ commander@11.1.0:
+ resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
+ engines: {node: '>=16'}
+
+ commander@7.2.0:
+ resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
+ engines: {node: '>= 10'}
+
+ commander@8.3.0:
+ resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
+ engines: {node: '>= 12'}
+
+ commitizen@4.3.2:
+ resolution: {integrity: sha512-1Zs37z9JPvAcuTSSricZZwBhOPVNNxJouuY4yDEt+eD70EoxT2TU9kViG8CuB/PmVg2G4XsAGQiK4YCst97aDQ==}
+ engines: {node: '>= 18'}
+ hasBin: true
+
+ common-ancestor-path@2.0.0:
+ resolution: {integrity: sha512-dnN3ibLeoRf2HNC+OlCiNc5d2zxbLJXOtiZUudNFSXZrNSydxcCsSpRzXwfu7BBWCIfHPw+xTayeBvJCP/D8Ng==}
+ engines: {node: '>= 18'}
+
+ compare-func@2.0.0:
+ resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==}
+
+ concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+
+ conventional-changelog-angular@6.0.0:
+ resolution: {integrity: sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==}
+ engines: {node: '>=14'}
+
+ conventional-changelog-conventionalcommits@6.1.0:
+ resolution: {integrity: sha512-3cS3GEtR78zTfMzk0AizXKKIdN4OvSh7ibNz6/DPbhWWQu7LqE/8+/GqSodV+sywUR2gpJAdP/1JFf4XtN7Zpw==}
+ engines: {node: '>=14'}
+
+ conventional-commit-types@3.0.0:
+ resolution: {integrity: sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==}
+
+ conventional-commits-parser@4.0.0:
+ resolution: {integrity: sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ conventional-commits-parser@7.1.3:
+ resolution: {integrity: sha512-Q9oWm1o9uy/oEsZQIraoFMZ4RuPD+79KgwWj6mJVP356tazolCB0piRLZ5Kz9te9p027uSEcUW+Gu44Eh+X79g==}
+ engines: {node: '>=22'}
+ hasBin: true
+
+ cookie-es@1.2.3:
+ resolution: {integrity: sha512-lXVyvUvrNXblMqzIRrxHb57UUVmqsSWlxqt3XIjCkUP0wDAf6uicO6KMbEgYrMNtEvWgWHwe42CKxPu9MYAnWw==}
+
+ cookie@2.0.1:
+ resolution: {integrity: sha512-yuToqVvRrj6pfDXREyQAAv8SkAEk/8GS3jQRTiUMm66TVtBYmqQeoEjL2Lmq8Rpo6271vH76InTChTitEAm65w==}
+ engines: {node: '>=22'}
+
+ cose-base@1.0.3:
+ resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==}
+
+ cose-base@2.2.0:
+ resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==}
+
+ cosmiconfig-typescript-loader@4.4.0:
+ resolution: {integrity: sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==}
+ engines: {node: '>=v14.21.3'}
+ peerDependencies:
+ '@types/node': '*'
+ cosmiconfig: '>=7'
+ ts-node: '>=10'
+ typescript: '>=4'
+
+ cosmiconfig-typescript-loader@6.3.0:
+ resolution: {integrity: sha512-Akr82WH1Wfqatyiqpj8HDkO2o2KmJRu1FhKfSNJP3K4IdXwHfEyL7MOb62i1AGQVLtIQM+iCE9CGOtrfhR+mmA==}
+ engines: {node: '>=v18'}
+ peerDependencies:
+ '@types/node': '*'
+ cosmiconfig: '>=9'
+ typescript: '>=5'
+
+ cosmiconfig@8.3.6:
+ resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ typescript: '>=4.9.5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ cosmiconfig@9.0.2:
+ resolution: {integrity: sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ typescript: '>=4.9.5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ create-require@1.1.1:
+ resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
+
+ cross-spawn@7.0.6:
+ resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
+ engines: {node: '>= 8'}
+
+ crossws@0.3.5:
+ resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==}
+
+ css-select@6.0.0:
+ resolution: {integrity: sha512-rZZVSLle8v0+EY8QAkDWrKhpgt6SA5OtHsgBnsj6ZaLb5dmDVOWUDtQitd9ydxxvEjhewNudS6eTVU7uOyzvXw==}
+
+ css-tree@2.2.1:
+ resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
+
+ css-tree@3.2.1:
+ resolution: {integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+
+ css-what@7.0.0:
+ resolution: {integrity: sha512-wD5oz5xibMOPHzy13CyGmogB3phdvcDaB5t0W/Nr5Z2O/agcB8YwOz6e2Lsp10pNDzBoDO9nVa3RGs/2BttpHQ==}
+ engines: {node: '>= 6'}
+
+ csso@5.0.5:
+ resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
+
+ cytoscape-cose-bilkent@4.1.0:
+ resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==}
+ peerDependencies:
+ cytoscape: ^3.2.0
+
+ cytoscape-fcose@2.2.0:
+ resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==}
+ peerDependencies:
+ cytoscape: ^3.2.0
+
+ cytoscape@3.34.3:
+ resolution: {integrity: sha512-yfYGhRcGAntq6YBD583j4n0Eg3jIxvWmZtz/5uz9UYkeIStSlMxuUja+ec5j3iBD8nv1rwaOAYMW09tBdkSeaQ==}
+ engines: {node: '>=0.10'}
+
+ cz-conventional-changelog@3.3.0:
+ resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==}
+ engines: {node: '>= 10'}
+
+ d3-array@2.12.1:
+ resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==}
+
+ d3-array@3.2.4:
+ resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==}
+ engines: {node: '>=12'}
+
+ d3-axis@3.0.0:
+ resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==}
+ engines: {node: '>=12'}
+
+ d3-brush@3.0.0:
+ resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==}
+ engines: {node: '>=12'}
+
+ d3-chord@3.0.1:
+ resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==}
+ engines: {node: '>=12'}
+
+ d3-color@3.1.0:
+ resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==}
+ engines: {node: '>=12'}
+
+ d3-contour@4.0.2:
+ resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==}
+ engines: {node: '>=12'}
+
+ d3-delaunay@6.0.4:
+ resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==}
+ engines: {node: '>=12'}
+
+ d3-dispatch@3.0.1:
+ resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==}
+ engines: {node: '>=12'}
+
+ d3-drag@3.0.0:
+ resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==}
+ engines: {node: '>=12'}
+
+ d3-dsv@3.0.1:
+ resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==}
+ engines: {node: '>=12'}
+ hasBin: true
+
+ d3-ease@3.0.1:
+ resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==}
+ engines: {node: '>=12'}
+
+ d3-fetch@3.0.1:
+ resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==}
+ engines: {node: '>=12'}
+
+ d3-force@3.0.0:
+ resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==}
+ engines: {node: '>=12'}
+
+ d3-format@3.1.2:
+ resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==}
+ engines: {node: '>=12'}
+
+ d3-geo@3.1.1:
+ resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==}
+ engines: {node: '>=12'}
+
+ d3-hierarchy@3.1.2:
+ resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==}
+ engines: {node: '>=12'}
+
+ d3-interpolate@3.0.1:
+ resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==}
+ engines: {node: '>=12'}
+
+ d3-path@1.0.9:
+ resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==}
+
+ d3-path@3.1.0:
+ resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==}
+ engines: {node: '>=12'}
+
+ d3-polygon@3.0.1:
+ resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==}
+ engines: {node: '>=12'}
+
+ d3-quadtree@3.0.1:
+ resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==}
+ engines: {node: '>=12'}
+
+ d3-random@3.0.1:
+ resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==}
+ engines: {node: '>=12'}
+
+ d3-sankey@0.12.3:
+ resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==}
+
+ d3-scale-chromatic@3.1.0:
+ resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==}
+ engines: {node: '>=12'}
+
+ d3-scale@4.0.2:
+ resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==}
+ engines: {node: '>=12'}
+
+ d3-selection@3.0.0:
+ resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==}
+ engines: {node: '>=12'}
+
+ d3-shape@1.3.7:
+ resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==}
+
+ d3-shape@3.2.0:
+ resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==}
+ engines: {node: '>=12'}
+
+ d3-time-format@4.1.0:
+ resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==}
+ engines: {node: '>=12'}
+
+ d3-time@3.1.0:
+ resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==}
+ engines: {node: '>=12'}
+
+ d3-timer@3.0.1:
+ resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==}
+ engines: {node: '>=12'}
+
+ d3-transition@3.0.1:
+ resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ d3-selection: 2 - 3
+
+ d3-zoom@3.0.0:
+ resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==}
+ engines: {node: '>=12'}
+
+ d3@7.9.0:
+ resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==}
+ engines: {node: '>=12'}
+
+ dagre-d3-es@7.0.14:
+ resolution: {integrity: sha512-P4rFMVq9ESWqmOgK+dlXvOtLwYg0i7u0HBGJER0LZDJT2VHIPAMZ/riPxqJceWMStH5+E61QxFra9kIS3AqdMg==}
+
+ dargs@7.0.0:
+ resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==}
+ engines: {node: '>=8'}
+
+ dayjs@1.11.23:
+ resolution: {integrity: sha512-QDTCU0M0MxR3hQfnlDJfwekQiaanm1ubOD231u73WBckQ/fsamwRLiE2GBz6D3a/xF1NgfiDLJjXBa1hYOYTtQ==}
+
+ debug@4.4.3:
+ resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ decamelize-keys@1.1.1:
+ resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==}
+ engines: {node: '>=0.10.0'}
+
+ decamelize@1.2.0:
+ resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
+ engines: {node: '>=0.10.0'}
+
+ decode-named-character-reference@1.3.0:
+ resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==}
+
+ dedent@0.7.0:
+ resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==}
+
+ defaults@1.0.4:
+ resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
+
+ defu@6.1.7:
+ resolution: {integrity: sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==}
+
+ delaunator@5.1.0:
+ resolution: {integrity: sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ==}
+
+ dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+
+ destr@2.0.5:
+ resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==}
+
+ detect-file@1.0.0:
+ resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==}
+ engines: {node: '>=0.10.0'}
+
+ detect-indent@6.1.0:
+ resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
+ engines: {node: '>=8'}
+
+ detect-libc@2.1.2:
+ resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
+ engines: {node: '>=8'}
+
+ devalue@5.9.4:
+ resolution: {integrity: sha512-sPAT4pztbu6586/hrhOnMKS17IJrvg12mXiSPSS3W5qDeN2RGgvZ0diZCm31dBbnevfVmujNO3IM2wrS4Y2Rhg==}
+
+ devlop@1.1.0:
+ resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
+
+ diff@4.0.4:
+ resolution: {integrity: sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==}
+ engines: {node: '>=0.3.1'}
+
+ diff@9.0.0:
+ resolution: {integrity: sha512-svtcdpS8CgJyqAjEQIXdb3OjhFVVYjzGAPO8WGCmRbrml64SPw/jJD4GoE98aR7r25A0XcgrK3F02yw9R/vhQw==}
+ engines: {node: '>=0.3.1'}
+
+ dom-serializer@2.0.0:
+ resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
+
+ domelementtype@2.3.0:
+ resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
+
+ domhandler@5.0.3:
+ resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
+ engines: {node: '>= 4'}
+
+ dompurify@3.4.16:
+ resolution: {integrity: sha512-sqo+pNp3qRhCIpbgRi1y8Tgk27Bo2Ry7w0dC1NBeNTdZChWjz9Xb/KOoZbRP/R6pQZ80Qw8YhXw13hWWBbMRnQ==}
+
+ domutils@3.2.2:
+ resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==}
+
+ dot-prop@5.3.0:
+ resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==}
+ engines: {node: '>=8'}
+
+ dset@3.1.4:
+ resolution: {integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==}
+ engines: {node: '>=4'}
+
+ emmet@2.4.11:
+ resolution: {integrity: sha512-23QPJB3moh/U9sT4rQzGgeyyGIrcM+GH5uVYg2C6wZIxAIJq7Ng3QLT79tl8FUwDXhyq9SusfknOrofAKqvgyQ==}
+
+ emoji-regex@10.6.0:
+ resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==}
+
+ emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+
+ entities@4.5.0:
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
+ engines: {node: '>=0.12'}
+
+ entities@6.0.1:
+ resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==}
+ engines: {node: '>=0.12'}
+
+ env-paths@2.2.1:
+ resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
+ engines: {node: '>=6'}
+
+ error-ex@1.3.4:
+ resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==}
+
+ es-errors@1.3.0:
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+ engines: {node: '>= 0.4'}
+
+ es-module-lexer@2.3.2:
+ resolution: {integrity: sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==}
+
+ es-toolkit@1.52.0:
+ resolution: {integrity: sha512-XTNEJQh1tY1ZJVcf6ayP/2n4ZPyaHlW2FWs7xvw5ddPuhUVjLD3olQVQS7kf58JbAB48iL0uL/jerTrjtV3lDA==}
+
+ esast-util-from-estree@2.0.0:
+ resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==}
+
+ esast-util-from-js@2.0.1:
+ resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==}
+
+ esbuild@0.28.2:
+ resolution: {integrity: sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ escalade@3.2.0:
+ resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
+ engines: {node: '>=6'}
+
+ escape-string-regexp@1.0.5:
+ resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
+ engines: {node: '>=0.8.0'}
+
+ escape-string-regexp@5.0.0:
+ resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
+ engines: {node: '>=12'}
+
+ estree-util-attach-comments@3.0.0:
+ resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==}
+
+ estree-util-build-jsx@3.0.1:
+ resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==}
+
+ estree-util-is-identifier-name@3.0.0:
+ resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==}
+
+ estree-util-scope@1.0.1:
+ resolution: {integrity: sha512-B0np3dcdxqILX5e9nEi5/Fr4K7gL4oYFVPV1zRa2e9wRCbQoZZNWOZFYyoInvXUPJXBXjss+QXlWLJChDEHDkA==}
+
+ estree-util-to-js@2.0.0:
+ resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==}
+
+ estree-util-visit@2.0.0:
+ resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==}
+
+ estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+
+ eventemitter3@5.0.4:
+ resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==}
+
+ execa@5.1.1:
+ resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
+ engines: {node: '>=10'}
+
+ expand-tilde@2.0.2:
+ resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==}
+ engines: {node: '>=0.10.0'}
+
+ extend@3.0.2:
+ resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
+
+ fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+
+ fast-string-truncated-width@3.0.3:
+ resolution: {integrity: sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==}
+
+ fast-string-width@3.0.2:
+ resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==}
+
+ fast-uri@3.1.8:
+ resolution: {integrity: sha512-GZMtZUTNRpOVIECoXwLNZS5xUGE+mVNbTB8h/7Rwh2TFWcBQiPzTgyZi05BF9UMZKkLJv8XBRJTlU7zg8+ZfMg==}
+
+ fast-wrap-ansi@0.2.2:
+ resolution: {integrity: sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==}
+
+ fastdom@1.0.12:
+ resolution: {integrity: sha512-LB+xjSTEbjHE1cWsxu+tN2Xqr1kpi+V9aADI7sVM5ZMaXyYGPHULQMzpJMYqOTULK/73pUkWVzzObFRBkPr+hg==}
+
+ fdir@6.5.0:
+ resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ picomatch: ^3 || ^4
+ peerDependenciesMeta:
+ picomatch:
+ optional: true
+
+ figures@3.2.0:
+ resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
+ engines: {node: '>=8'}
+
+ fill-range@7.1.1:
+ resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
+ engines: {node: '>=8'}
+
+ find-node-modules@2.1.3:
+ resolution: {integrity: sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==}
+
+ find-proc@0.2.0:
+ resolution: {integrity: sha512-a6h2nTrgB3g5Wrn4au9Ux4kMk7IJtyF6oA8uGn+mk3weLZssUtc1cp6meHIzzuW2o1srrBAxzkmXLbqjRkgB6w==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+
+ find-root@1.1.0:
+ resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==}
+
+ find-up@4.1.0:
+ resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
+ engines: {node: '>=8'}
+
+ find-up@5.0.0:
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
+ engines: {node: '>=10'}
+
+ findup-sync@4.0.0:
+ resolution: {integrity: sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==}
+ engines: {node: '>= 8'}
+
+ flattie@1.1.1:
+ resolution: {integrity: sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==}
+ engines: {node: '>=8'}
+
+ fontace@0.4.1:
+ resolution: {integrity: sha512-lDMvbAzSnHmbYMTEld5qdtvNH2/pWpICOqpean9IgC7vUbUJc3k+k5Dokp85CegamqQpFbXf0rAVkbzpyTA8aw==}
+
+ fontkitten@1.0.3:
+ resolution: {integrity: sha512-Wp1zXWPVUPBmfoa3Cqc9ctaKuzKAV6uLstRqlR56kSjplf5uAce+qeyYym7F+PHbGTk+tCEdkCW6RD7DX/gBZw==}
+ engines: {node: '>=20'}
+
+ fs-extra@11.4.1:
+ resolution: {integrity: sha512-KYAb4c9BJQI6QqGKthV68OHe0badztdXJWKo0WtBA9IuCFPTKvE5ZdUBglP833aMjhaSPNO4A5j/EkzZtGlKjA==}
+ engines: {node: '>=14.14'}
+
+ fs-extra@9.1.0:
+ resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==}
+ engines: {node: '>=10'}
+
+ fs.realpath@1.0.0:
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+
+ fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+
+ function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+
+ get-caller-file@2.0.5:
+ resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+
+ get-east-asian-width@1.7.0:
+ resolution: {integrity: sha512-XjH1AECxf0giL2V1aU8vKyRR2ppRUb5c0EvT7zuJTokQ74bNo52zOtghqdWIqrhUD79fo3x0WfKZdOqxF6LG1Q==}
+ engines: {node: '>=18'}
+
+ get-stream@6.0.1:
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
+ engines: {node: '>=10'}
+
+ get-tsconfig@5.0.0-beta.4:
+ resolution: {integrity: sha512-7nF7C9fIPFEMHgEMEfgIlO9wDdZ8CyHw27rWciFZfHvHDReIiPhsYuzPRXsfvBCqFy1l8RRyyWV7QLM+ZhUJsQ==}
+ engines: {node: '>=20.20.0'}
+
+ git-cz@4.9.0:
+ resolution: {integrity: sha512-cSRL8IIOXU7UFLdbziCYqg8f8InwLwqHezkiRHNSph7oZqGv0togId1kMTfKil6gzK0VaSXeVBb4oDl0fQCHiw==}
+ hasBin: true
+
+ git-raw-commits@2.0.11:
+ resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ github-slugger@2.0.0:
+ resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
+
+ glob@7.2.3:
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+ deprecated: Glob versions prior to v9 are no longer supported
+
+ global-directory@5.0.0:
+ resolution: {integrity: sha512-1pgFdhK3J2LeM+dVf2Pd424yHx2ou338lC0ErNP2hPx4j8eW1Sp0XqSjNxtk6Tc4Kr5wlWtSvz8cn2yb7/SG/w==}
+ engines: {node: '>=20'}
+
+ global-dirs@0.1.1:
+ resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==}
+ engines: {node: '>=4'}
+
+ global-modules@1.0.0:
+ resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==}
+ engines: {node: '>=0.10.0'}
+
+ global-prefix@1.0.2:
+ resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==}
+ engines: {node: '>=0.10.0'}
+
+ graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+
+ gsap@3.15.0:
+ resolution: {integrity: sha512-dMW4CWBTUK1AEEDeZc1g4xpPGIrSf9fJF960qbTZmN/QwZIWY5wgliS6JWl9/25fpTGJrMRtSjGtOmPnfjZB+A==}
+
+ h3@1.15.11:
+ resolution: {integrity: sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg==}
+
+ hachure-fill@0.5.2:
+ resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==}
+
+ hard-rejection@2.1.0:
+ resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==}
+ engines: {node: '>=6'}
+
+ has-flag@3.0.0:
+ resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
+ engines: {node: '>=4'}
+
+ has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+
+ hasown@2.0.4:
+ resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==}
+ engines: {node: '>= 0.4'}
+
+ hast-util-from-html@2.0.3:
+ resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==}
+
+ hast-util-from-parse5@8.0.3:
+ resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==}
+
+ hast-util-is-element@3.0.0:
+ resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==}
+
+ hast-util-parse-selector@4.0.0:
+ resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==}
+
+ hast-util-raw@9.1.0:
+ resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==}
+
+ hast-util-to-estree@3.1.3:
+ resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==}
+
+ hast-util-to-html@9.0.5:
+ resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==}
+
+ hast-util-to-jsx-runtime@2.3.6:
+ resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==}
+
+ hast-util-to-parse5@8.0.1:
+ resolution: {integrity: sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==}
+
+ hast-util-to-text@4.0.2:
+ resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==}
+
+ hast-util-whitespace@3.0.0:
+ resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
+
+ hastscript@9.0.1:
+ resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==}
+
+ homedir-polyfill@1.0.3:
+ resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==}
+ engines: {node: '>=0.10.0'}
+
+ hosted-git-info@2.8.9:
+ resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
+
+ hosted-git-info@4.1.0:
+ resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==}
+ engines: {node: '>=10'}
+
+ html-escaper@3.0.3:
+ resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==}
+
+ html-void-elements@3.0.0:
+ resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
+
+ http-cache-semantics@4.3.0:
+ resolution: {integrity: sha512-M5t5LlJpS1UHMjvwRQVdFHvPISGeLAxNcrWuJkeGh0KxsqCHZ1O3NXZU/8x7cD0BDcGW8kapxMKTvwlqrNkHkA==}
+
+ human-signals@2.1.0:
+ resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
+ engines: {node: '>=10.17.0'}
+
+ iconv-lite@0.6.3:
+ resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
+ engines: {node: '>=0.10.0'}
+
+ iconv-lite@0.7.3:
+ resolution: {integrity: sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==}
+ engines: {node: '>=0.10.0'}
+
+ ieee754@1.2.1:
+ resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
+
+ import-fresh@3.3.1:
+ resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
+ engines: {node: '>=6'}
+
+ import-meta-resolve@4.2.0:
+ resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==}
+
+ indent-string@4.0.0:
+ resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
+ engines: {node: '>=8'}
+
+ inflight@1.0.6:
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
+
+ inherits@2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+
+ ini@1.3.8:
+ resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
+
+ ini@6.0.0:
+ resolution: {integrity: sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==}
+ engines: {node: ^20.17.0 || >=22.9.0}
+
+ inline-style-parser@0.2.7:
+ resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==}
+
+ inquirer@8.2.7:
+ resolution: {integrity: sha512-UjOaSel/iddGZJ5xP/Eixh6dY1XghiBw4XK13rCCIJcJfyhhoul/7KhLLUGtebEj6GDYM6Vnx/mVsjx2L/mFIA==}
+ engines: {node: '>=12.0.0'}
+
+ internmap@1.0.1:
+ resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==}
+
+ internmap@2.0.3:
+ resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==}
+ engines: {node: '>=12'}
+
+ iron-webcrypto@1.2.1:
+ resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==}
+
+ is-alphabetical@2.0.1:
+ resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
+
+ is-alphanumerical@2.0.1:
+ resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==}
+
+ is-arrayish@0.2.1:
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+
+ is-core-module@2.17.0:
+ resolution: {integrity: sha512-J/vG0zBCbIKOQFfufSwyXdMrsohyJIUNkrnmo6WZGzoM7tr/lsbfW5b2BvisL6zsyMzK9UxV9L6c7AoFbyXHOA==}
+ engines: {node: '>= 0.4'}
+
+ is-decimal@2.0.1:
+ resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
+
+ is-docker@4.0.0:
+ resolution: {integrity: sha512-LHE+wROyG/Y/0ZnbktRCoTix2c1RhgWaZraMZ8o1Q7zCh0VSrICJQO5oqIIISrcSBtrXv0o233w1IYwsWCjTzA==}
+ engines: {node: '>=20'}
+ hasBin: true
+
+ is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+
+ is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+
+ is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+
+ is-hexadecimal@2.0.1:
+ resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
+
+ is-interactive@1.0.0:
+ resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
+ engines: {node: '>=8'}
+
+ is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+
+ is-obj@2.0.0:
+ resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==}
+ engines: {node: '>=8'}
+
+ is-plain-obj@1.1.0:
+ resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
+ engines: {node: '>=0.10.0'}
+
+ is-plain-obj@4.1.0:
+ resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
+ engines: {node: '>=12'}
+
+ is-stream@2.0.1:
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ engines: {node: '>=8'}
+
+ is-text-path@1.0.1:
+ resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==}
+ engines: {node: '>=0.10.0'}
+
+ is-unicode-supported@0.1.0:
+ resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
+ engines: {node: '>=10'}
+
+ is-utf8@0.2.1:
+ resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==}
+
+ is-windows@1.0.2:
+ resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
+ engines: {node: '>=0.10.0'}
+
+ isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
+ jiti@2.6.1:
+ resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
+ hasBin: true
+
+ js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+ js-yaml@4.3.2:
+ resolution: {integrity: sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==}
+ hasBin: true
+
+ json-parse-even-better-errors@2.3.1:
+ resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+
+ json-schema-traverse@1.0.0:
+ resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
+
+ jsonc-parser@2.3.1:
+ resolution: {integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==}
+
+ jsonc-parser@3.3.1:
+ resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==}
+
+ jsonfile@6.2.1:
+ resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==}
+
+ jsonparse@1.3.1:
+ resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==}
+ engines: {'0': node >= 0.2.0}
+
+ katex@0.16.47:
+ resolution: {integrity: sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==}
+ hasBin: true
+
+ khroma@2.1.0:
+ resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==}
+
+ kind-of@6.0.3:
+ resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
+ engines: {node: '>=0.10.0'}
+
+ kleur@4.1.5:
+ resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
+ engines: {node: '>=6'}
+
+ layout-base@1.0.2:
+ resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==}
+
+ layout-base@2.0.1:
+ resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==}
+
+ lightningcss-android-arm64@1.33.0:
+ resolution: {integrity: sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [android]
+
+ lightningcss-darwin-arm64@1.33.0:
+ resolution: {integrity: sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
+ lightningcss-darwin-x64@1.33.0:
+ resolution: {integrity: sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
+ lightningcss-freebsd-x64@1.33.0:
+ resolution: {integrity: sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
+ lightningcss-linux-arm-gnueabihf@1.33.0:
+ resolution: {integrity: sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+ lightningcss-linux-arm64-gnu@1.33.0:
+ resolution: {integrity: sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ lightningcss-linux-arm64-musl@1.33.0:
+ resolution: {integrity: sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ lightningcss-linux-x64-gnu@1.33.0:
+ resolution: {integrity: sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ lightningcss-linux-x64-musl@1.33.0:
+ resolution: {integrity: sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ lightningcss-win32-arm64-msvc@1.33.0:
+ resolution: {integrity: sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
+ lightningcss-win32-x64-msvc@1.33.0:
+ resolution: {integrity: sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [win32]
+
+ lightningcss@1.33.0:
+ resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==}
+ engines: {node: '>= 12.0.0'}
+
+ lines-and-columns@1.2.4:
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+
+ locate-path@5.0.0:
+ resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
+ engines: {node: '>=8'}
+
+ locate-path@6.0.0:
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+ engines: {node: '>=10'}
+
+ lodash-es@4.18.1:
+ resolution: {integrity: sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==}
+
+ lodash.camelcase@4.3.0:
+ resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
+
+ lodash.isfunction@3.0.9:
+ resolution: {integrity: sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==}
+
+ lodash.isplainobject@4.0.6:
+ resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
+
+ lodash.kebabcase@4.1.1:
+ resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==}
+
+ lodash.map@4.6.0:
+ resolution: {integrity: sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==}
+
+ lodash.merge@4.6.2:
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+
+ lodash.mergewith@4.6.2:
+ resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==}
+
+ lodash.snakecase@4.1.1:
+ resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==}
+
+ lodash.startcase@4.4.0:
+ resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==}
+
+ lodash.uniq@4.5.0:
+ resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
+
+ lodash.upperfirst@4.3.1:
+ resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==}
+
+ lodash@4.18.1:
+ resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==}
+
+ log-symbols@4.1.0:
+ resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
+ engines: {node: '>=10'}
+
+ longest-streak@3.1.0:
+ resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
+
+ longest@2.0.1:
+ resolution: {integrity: sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==}
+ engines: {node: '>=0.10.0'}
+
+ lru-cache@11.5.3:
+ resolution: {integrity: sha512-U4N8FgzmWxc8k1VH8Kr6lQg18U7Fjvby6wXHVRX/ZZ7IwWbRMgrRbP0Wrb5q5NVinryp4SQampHKdvtecItxUg==}
+ engines: {node: 20 || >=22}
+
+ lru-cache@6.0.0:
+ resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
+ engines: {node: '>=10'}
+
+ magic-string@1.4.3:
+ resolution: {integrity: sha512-z12OxmaPGE0F4xlpGdjuAUckipLpQlTAuAmyGhNoD7ODpYUzvDfvtxUbjM/jwznyP178oju/KDdyi220wNJ0RQ==}
+
+ magicast@0.5.5:
+ resolution: {integrity: sha512-UicdXN8zQ3JHlxVq+28afMXPr1z7WNY6+7EJnzTdQWkTAlMLF5fNCCKxJHBQwGaNGR11581EiQmQzx73+MvszA==}
+
+ make-error@1.3.6:
+ resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
+
+ map-obj@1.0.1:
+ resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==}
+ engines: {node: '>=0.10.0'}
+
+ map-obj@4.3.0:
+ resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==}
+ engines: {node: '>=8'}
+
+ markdown-extensions@2.0.0:
+ resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==}
+ engines: {node: '>=16'}
+
+ markdown-table@3.0.4:
+ resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
+
+ marked@16.4.2:
+ resolution: {integrity: sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==}
+ engines: {node: '>= 20'}
+ hasBin: true
+
+ mdast-util-definitions@6.0.0:
+ resolution: {integrity: sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==}
+
+ mdast-util-find-and-replace@3.0.3:
+ resolution: {integrity: sha512-xPgpDNl0/OXHsI7TlaIs22lWnH3KlpvZdXG1ET/m/YT2Hhdkx8lJV4kLphE6l9simyM4KPDFBwas08BgEob6Jw==}
+
+ mdast-util-from-markdown@2.1.0:
+ resolution: {integrity: sha512-KRLgmPaP2H1ul2bpoJkOS+9pAcDAAj9Nu1mqLnh8NLeJG5tlvj42TH80PIGBpROWlRXLk0lDrWNuZCFy/tsB4A==}
+
+ mdast-util-gfm-autolink-literal@2.0.1:
+ resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==}
+
+ mdast-util-gfm-footnote@2.1.0:
+ resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==}
+
+ mdast-util-gfm-strikethrough@2.0.1:
+ resolution: {integrity: sha512-OuJHqvr455pwu2OaOrir7dbzqs4jlWKOtlu9L6GjcIjjQwNyw02VntQsr/Ek6/A13vgnXfUhBekWRUP1OkNivw==}
+
+ mdast-util-gfm-table@2.0.0:
+ resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==}
+
+ mdast-util-gfm-task-list-item@2.0.0:
+ resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==}
+
+ mdast-util-gfm@3.1.0:
+ resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==}
+
+ mdast-util-mdx-expression@2.0.1:
+ resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==}
+
+ mdast-util-mdx-jsx@3.2.0:
+ resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==}
+
+ mdast-util-mdx@3.0.0:
+ resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==}
+
+ mdast-util-mdxjs-esm@2.0.1:
+ resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==}
+
+ mdast-util-phrasing@4.1.0:
+ resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
+
+ mdast-util-to-hast@13.2.1:
+ resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==}
+
+ mdast-util-to-markdown@2.2.0:
+ resolution: {integrity: sha512-2Jn/ADrHFFyyniBMi0bncTbJqU78K3/TEYvzvwrWWzD9MYPUa/Gm4r3nOeKFQg/PDM5BsbDYdc8ackW4NTY6NA==}
+
+ mdast-util-to-string@4.0.0:
+ resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
+
+ mdn-data@2.0.28:
+ resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==}
+
+ mdn-data@2.27.1:
+ resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==}
+
+ meow@8.1.2:
+ resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==}
+ engines: {node: '>=10'}
+
+ merge-stream@2.0.0:
+ resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
+
+ merge@2.1.1:
+ resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==}
+
+ mermaid@11.17.2:
+ resolution: {integrity: sha512-V6K3C8EBdEsPFZXSKMJe6ppQOENxuHARr9GvHX4hh47lAbhMRD9qf4oEK7LoaRQxULMa80/qt5gHO73aCleBBg==}
+
+ micromark-core-commonmark@2.0.4:
+ resolution: {integrity: sha512-wxEeE8v8XVvOrxn1TZj74qYhAtTQsSqufHVS3uNVyT1MupXxhyaHk8/9xDNPh9BmL77QNDgWTkZ3RsYHB2ry7w==}
+
+ micromark-extension-gfm-autolink-literal@2.1.0:
+ resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==}
+
+ micromark-extension-gfm-footnote@2.1.0:
+ resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==}
+
+ micromark-extension-gfm-strikethrough@2.1.0:
+ resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==}
+
+ micromark-extension-gfm-table@2.1.2:
+ resolution: {integrity: sha512-pRzm4kDTu0MjlmBkxmS9yYhw60nncfcEwu9NNdPFSQEFXS95ZKyIIyTSHu/o3ReBUrLKYEq+7YaXCRn/bPB4MA==}
+
+ micromark-extension-gfm-tagfilter@2.0.0:
+ resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==}
+
+ micromark-extension-gfm-task-list-item@2.1.0:
+ resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==}
+
+ micromark-extension-gfm@3.0.0:
+ resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
+
+ micromark-extension-mdx-expression@3.0.1:
+ resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==}
+
+ micromark-extension-mdx-jsx@3.0.2:
+ resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==}
+
+ micromark-extension-mdx-md@2.0.0:
+ resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==}
+
+ micromark-extension-mdxjs-esm@3.0.0:
+ resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==}
+
+ micromark-extension-mdxjs@3.0.0:
+ resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==}
+
+ micromark-factory-destination@2.0.1:
+ resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==}
+
+ micromark-factory-label@2.0.1:
+ resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==}
+
+ micromark-factory-mdx-expression@2.0.3:
+ resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==}
+
+ micromark-factory-space@2.1.0:
+ resolution: {integrity: sha512-fS8hnLIjnjvdQIj39Geug8wWsR0HrYZ43KShKxNfwT7t2LOHo/LbWZEzEaSOjwtjdCsjoE6syHhonEzW0zv0+Q==}
+
+ micromark-factory-title@2.0.1:
+ resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==}
+
+ micromark-factory-whitespace@2.0.1:
+ resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==}
+
+ micromark-util-character@2.1.1:
+ resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==}
+
+ micromark-util-chunked@2.0.1:
+ resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==}
+
+ micromark-util-classify-character@2.0.1:
+ resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==}
+
+ micromark-util-combine-extensions@2.0.1:
+ resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==}
+
+ micromark-util-decode-numeric-character-reference@2.0.2:
+ resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==}
+
+ micromark-util-decode-string@2.0.1:
+ resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==}
+
+ micromark-util-edit-map@1.0.0:
+ resolution: {integrity: sha512-Pa2ljlsEL6sVwFaYeyrOLSYbQt73JvGbPOYFq+9AElXiSnfI5Q4465RRZ1sHv7lDjDOnGRDDaqPXqClqWK/q1Q==}
+
+ micromark-util-encode@2.0.1:
+ resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==}
+
+ micromark-util-events-to-acorn@2.0.3:
+ resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==}
+
+ micromark-util-html-tag-name@2.0.1:
+ resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==}
+
+ micromark-util-normalize-identifier@2.0.1:
+ resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==}
+
+ micromark-util-resolve-all@2.0.1:
+ resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==}
+
+ micromark-util-sanitize-uri@2.0.1:
+ resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==}
+
+ micromark-util-subtokenize@2.1.0:
+ resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==}
+
+ micromark-util-symbol@2.0.1:
+ resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==}
+
+ micromark-util-types@2.0.3:
+ resolution: {integrity: sha512-oxB2Ik03hI0gv+VNn9tnh1t1YEe9MDPptViAEgfdf3YQHsn0pzGTgCdlSCJXcwhqm8phaEuM7zeEu3QQzVBrPg==}
+
+ micromark@4.0.3:
+ resolution: {integrity: sha512-oGYfQzHSG5dOMovQcJ3fyTmZlWAWpi0XA0sJwJs+i6OT88o1+Jtw/8z0CmdowSLxGhhFK89rQ/oXph/wN02PNw==}
+
+ micromatch@4.0.8:
+ resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
+ engines: {node: '>=8.6'}
+
+ mimic-fn@2.1.0:
+ resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
+ engines: {node: '>=6'}
+
+ min-indent@1.0.1:
+ resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
+ engines: {node: '>=4'}
+
+ minimatch@3.1.5:
+ resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==}
+
+ minimist-options@4.1.0:
+ resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==}
+ engines: {node: '>= 6'}
+
+ minimist@1.2.8:
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+
+ mrmime@2.0.1:
+ resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
+ engines: {node: '>=10'}
+
+ ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
+ muggle-string@0.4.1:
+ resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==}
+
+ mute-stream@0.0.8:
+ resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==}
+
+ nanoid@3.3.20:
+ resolution: {integrity: sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+ neotraverse@1.0.1:
+ resolution: {integrity: sha512-WmmLty1YWwJl9yZi77v2dVIV6X2kuYV8YYBI/G3LWGKdGHmHUvL1z7FW0iDvEvGAwNEoc5x1tOOOyDnf5jJw/w==}
+ engines: {node: '>= 10'}
+
+ nlcst-to-string@4.0.0:
+ resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==}
+
+ node-fetch-native@1.6.7:
+ resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==}
+
+ node-gyp-build-optional-packages@5.1.1:
+ resolution: {integrity: sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==}
+ hasBin: true
+
+ node-mock-http@1.0.5:
+ resolution: {integrity: sha512-KQyt/wLjG3TAc7DOUhpqWzgd4ERxR80JOlTK5VE5R1S12IaPVN5qkj4klBce9HPG1Njuup4Sb5bljaT34lIyjw==}
+
+ normalize-package-data@2.5.0:
+ resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
+
+ normalize-package-data@3.0.3:
+ resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==}
+ engines: {node: '>=10'}
+
+ normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+
+ npm-run-path@4.0.1:
+ resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
+ engines: {node: '>=8'}
+
+ nth-check@2.1.1:
+ resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
+
+ obug@3.0.0:
+ resolution: {integrity: sha512-5vvB5+W7ePv+p3uqxi+RcW1XAzLW0/hxt3/4X4Lc4qHudzOhmBiBwOY6DRob4WnanAEGvNcLjF+KNOufrUoEQw==}
+ engines: {node: '>=12.20.0'}
+
+ ofetch@1.5.1:
+ resolution: {integrity: sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==}
+
+ ohash@2.0.12:
+ resolution: {integrity: sha512-65S/5gk9YSsaRjcyf7Nfa6h/d3E8/1gslpXfI4W7Dxn/oap8IKRuNT5VXkLQ1YFKIEg4apRY4Pj6aiwFzrDdmw==}
+
+ once@1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+
+ onetime@5.1.2:
+ resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
+ engines: {node: '>=6'}
+
+ oniguruma-parser@0.12.2:
+ resolution: {integrity: sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==}
+
+ oniguruma-to-es@4.3.6:
+ resolution: {integrity: sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==}
+
+ ora@5.4.1:
+ resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
+ engines: {node: '>=10'}
+
+ p-limit@2.3.0:
+ resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
+ engines: {node: '>=6'}
+
+ p-limit@3.1.0:
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
+ engines: {node: '>=10'}
+
+ p-limit@7.3.3:
+ resolution: {integrity: sha512-SKgVvDU5TNIxQ4r30U75BNLC6a+6GOEjngrk/ysM5+Zu3oJuk1SC5ApzIzY/7PjCEjoVPMWJ0zho/4QUiEB7TQ==}
+ engines: {node: '>=20'}
+
+ p-locate@4.1.0:
+ resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
+ engines: {node: '>=8'}
+
+ p-locate@5.0.0:
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
+ engines: {node: '>=10'}
+
+ p-queue@9.3.3:
+ resolution: {integrity: sha512-NXAOdnEe5FsZJfT4oK84lE1Y5cFFdWlRuOo5tww8DyNMxyRXwn39fIkUtNLKppcPC+UYU/bXujNCUGDv01y7CA==}
+ engines: {node: '>=20'}
+
+ p-timeout@7.0.2:
+ resolution: {integrity: sha512-prbX4Z3YszrFNgH+MW5Zoeq3baXrMtP/MQnFeET90UB/GtGcGDQ5Usg9OCy6ETjTTntOw1SL2z9fMPUppN3Guw==}
+ engines: {node: '>=20'}
+
+ p-try@2.2.0:
+ resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
+ engines: {node: '>=6'}
+
+ package-manager-detector@1.9.0:
+ resolution: {integrity: sha512-zAMfbta9nPA8AKkA4WdmNAT8R8s6Dk0/xwPsqNnRidMFcLo1YkLuPDTgs2f64XdzS8vbLNnoJ+uUIkgbz7oRHA==}
+
+ pagefind@1.5.2:
+ resolution: {integrity: sha512-XTUaK0hXMCu2jszWE584JGQT7y284TmMV9l/HX3rnG5uo3rHI/uHU56XTyyyPFjeWEBxECbAi0CaFDJOONtG0Q==}
+ hasBin: true
+
+ parent-module@1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+
+ parse-entities@4.0.2:
+ resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==}
+
+ parse-json@5.2.0:
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
+ engines: {node: '>=8'}
+
+ parse-latin@7.0.0:
+ resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==}
+
+ parse-passwd@1.0.0:
+ resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==}
+ engines: {node: '>=0.10.0'}
+
+ parse5@7.3.0:
+ resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
+
+ path-browserify@1.0.1:
+ resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
+
+ path-data-parser@0.1.0:
+ resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==}
+
+ path-exists@4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
+
+ path-is-absolute@1.0.1:
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
+ engines: {node: '>=0.10.0'}
+
+ path-key@3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
+
+ path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+
+ path-type@4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+
+ piccolore@0.1.3:
+ resolution: {integrity: sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==}
+
+ picocolors@1.1.1:
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+
+ picomatch@2.3.2:
+ resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==}
+ engines: {node: '>=8.6'}
+
+ picomatch@4.0.7:
+ resolution: {integrity: sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==}
+ engines: {node: '>=12'}
+
+ points-on-curve@0.2.0:
+ resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==}
+
+ points-on-path@0.2.1:
+ resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==}
+
+ postcss@8.5.29:
+ resolution: {integrity: sha512-49cGhUbXj8Qenv0iTMxA1cFBzxXoctpC9Ujd77t1WcbJIr6nF/eI7g/8MgxrYldFRuAXvja7xQRwavoW7kgrxQ==}
+ engines: {node: ^10 || ^12 || >=14}
+
+ prettier@3.9.9:
+ resolution: {integrity: sha512-Z/CJHIkdujO/OtN7nXUii0Rf3VT5SRuhjBA82Xvu2XhBUgX3nhP67T0LHceBdQLex7OOFGTox+Q5Yg8Jk2Qivg==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ prismjs@1.30.0:
+ resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==}
+ engines: {node: '>=6'}
+
+ process-ancestry@0.1.0:
+ resolution: {integrity: sha512-tGqJW/UnclpYASFcM6Xh8D8l/BMtaQ9+CSG0vlJSJTcdMM4lDRv4c6H0Pdcsfted+bVczdYSfk2fdukg2gQkZg==}
+ engines: {node: '>=18.0.0'}
+
+ property-information@7.2.0:
+ resolution: {integrity: sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==}
+
+ quick-lru@4.0.1:
+ resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==}
+ engines: {node: '>=8'}
+
+ radix3@1.1.2:
+ resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==}
+
+ read-pkg-up@7.0.1:
+ resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
+ engines: {node: '>=8'}
+
+ read-pkg@5.2.0:
+ resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
+ engines: {node: '>=8'}
+
+ readable-stream@3.6.2:
+ resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
+ engines: {node: '>= 6'}
+
+ readdirp@4.1.2:
+ resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
+ engines: {node: '>= 14.18.0'}
+
+ readdirp@5.1.1:
+ resolution: {integrity: sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==}
+ engines: {node: '>= 20.19.0'}
+
+ recma-build-jsx@1.0.0:
+ resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==}
+
+ recma-jsx@1.0.1:
+ resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ recma-parse@1.0.0:
+ resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==}
+
+ recma-stringify@1.0.0:
+ resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==}
+
+ redent@3.0.0:
+ resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
+ engines: {node: '>=8'}
+
+ regex-recursion@6.0.2:
+ resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==}
+
+ regex-utilities@2.3.0:
+ resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==}
+
+ regex@6.1.0:
+ resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==}
+
+ rehype-raw@7.0.0:
+ resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==}
+
+ rehype-recma@1.0.0:
+ resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==}
+
+ rehype-stringify@10.0.1:
+ resolution: {integrity: sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==}
+
+ remark-gfm@4.0.1:
+ resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==}
+
+ remark-mdx@3.1.1:
+ resolution: {integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==}
+
+ remark-parse@11.0.0:
+ resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
+
+ remark-rehype@11.1.2:
+ resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==}
+
+ remark-smartypants@3.0.3:
+ resolution: {integrity: sha512-gCaK+ndZ0hYezlqFegHFCVh2CQemsi0Npdh1qVM9bxlUFknjkbP6VmojWhddOCrbK0PbbacmYLWfTULRiT1eWA==}
+ engines: {node: '>=16.0.0'}
+
+ remark-stringify@11.0.0:
+ resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
+
+ request-light@0.5.8:
+ resolution: {integrity: sha512-3Zjgh+8b5fhRJBQZoy+zbVKpAQGLyka0MPgW3zruTF4dFFJ8Fqcfu9YsAvi/rvdcaTeWG3MkbZv4WKxAn/84Lg==}
+
+ request-light@0.7.0:
+ resolution: {integrity: sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==}
+
+ require-directory@2.1.1:
+ resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
+ engines: {node: '>=0.10.0'}
+
+ require-from-string@2.0.2:
+ resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
+ engines: {node: '>=0.10.0'}
+
+ resolve-dir@1.0.1:
+ resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==}
+ engines: {node: '>=0.10.0'}
+
+ resolve-from@4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+
+ resolve-from@5.0.0:
+ resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
+ engines: {node: '>=8'}
+
+ resolve-global@1.0.0:
+ resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==}
+ engines: {node: '>=8'}
+
+ resolve-pkg-maps@1.0.0:
+ resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
+
+ resolve@1.22.12:
+ resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==}
+ engines: {node: '>= 0.4'}
+ hasBin: true
+
+ restore-cursor@3.1.0:
+ resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
+ engines: {node: '>=8'}
+
+ retext-latin@4.0.0:
+ resolution: {integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==}
+
+ retext-smartypants@6.2.0:
+ resolution: {integrity: sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==}
+
+ retext-stringify@4.0.0:
+ resolution: {integrity: sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==}
+
+ retext@9.0.0:
+ resolution: {integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==}
+
+ robust-predicates@3.0.3:
+ resolution: {integrity: sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==}
+
+ rolldown@1.2.12:
+ resolution: {integrity: sha512-8wafseiaG80xmXSfqidUNqZcylTlhmPZZt+za2m+js2sFZ8dTNlhIOV2WcbIPx2hgwPBJpEUGFAMZ9bgBBLTSQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+
+ roughjs@4.6.6:
+ resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==}
+
+ run-async@2.4.1:
+ resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
+ engines: {node: '>=0.12.0'}
+
+ rw@1.3.3:
+ resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==}
+
+ rxjs@7.8.2:
+ resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==}
+
+ safe-buffer@5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+
+ safer-buffer@2.1.2:
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+
+ satteri@0.10.5:
+ resolution: {integrity: sha512-Ao1LKpAEa9Wdg0otgbVKViZHEq9ebdXe4DMrp3s9vQAU0HNIuHnFEuMuOcm0ZIXyV0Yzxj91NvhLpvXZJO/5ZQ==}
+
+ sax@1.6.1:
+ resolution: {integrity: sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q==}
+ engines: {node: '>=11.0.0'}
+
+ semver@5.7.2:
+ resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
+ hasBin: true
+
+ semver@7.5.4:
+ resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ semver@7.8.5:
+ resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ sharp@0.35.5:
+ resolution: {integrity: sha512-Ywn4OnzGukp7CDMrp08RQ50YKmuwG47brZgIVPTvBaaAfQlRlygrRqSrxdCiL9M+LlzLBiJ68IR1QqvzHyjC7g==}
+ engines: {node: '>=20.9.0'}
+ peerDependencies:
+ '@types/node': '*'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ shebang-command@2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
+ engines: {node: '>=8'}
+
+ shebang-regex@3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
+
+ shiki@4.5.0:
+ resolution: {integrity: sha512-OcRW72ngQvc+MSVWBRIovC/BTW589iUE/Vxav7VeM4RcY9MUjqB+IR6ILG1k9nuW6LiG/nct9uma4/MBtnZbmQ==}
+ engines: {node: '>=20'}
+
+ signal-exit@3.0.7:
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+
+ sisteransi@1.0.5:
+ resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
+
+ sitemap@9.0.1:
+ resolution: {integrity: sha512-S6hzjGJSG3d6if0YoF5kTyeRJvia6FSTBroE5fQ0bu1QNxyJqhhinfUsXi9fH3MgtXODWvwo2BDyQSnhPQ88uQ==}
+ engines: {node: '>=20.19.5', npm: '>=10.8.2'}
+ hasBin: true
+
+ smol-toml@1.9.0:
+ resolution: {integrity: sha512-hpd+HLON7HdZXqYchMM/+LaTTbdK0AU3NngIJ4KVyWbY9bfQqdL9cD+4yf6dUoU2Ap4VsU0JkQi6FxAI1B2mXQ==}
+ engines: {node: '>= 18'}
+
+ source-map-js@1.2.2:
+ resolution: {integrity: sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==}
+ engines: {node: '>=0.10.0'}
+
+ source-map@0.7.6:
+ resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==}
+ engines: {node: '>= 12'}
+
+ space-separated-tokens@2.0.2:
+ resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
+
+ spdx-correct@3.2.0:
+ resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
+
+ spdx-exceptions@2.5.0:
+ resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==}
+
+ spdx-expression-parse@3.0.1:
+ resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
+
+ spdx-license-ids@3.0.24:
+ resolution: {integrity: sha512-cLS9TtWkIQFyLkJ3/5aFQAOHOSKTlOs/7WDut/XPSdjom1fJhUdkepeJAKXa9Y05+FabHd0sti+Et559vDtkpQ==}
+
+ split2@3.2.2:
+ resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==}
+
+ strictdom@1.0.1:
+ resolution: {integrity: sha512-cEmp9QeXXRmjj/rVp9oyiqcvyocWab/HaoN4+bwFeZ7QzykJD6L3yD4v12K1x0tHpqRqVpJevN3gW7kyM39Bqg==}
+
+ string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+ engines: {node: '>=8'}
+
+ string-width@7.2.0:
+ resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
+ engines: {node: '>=18'}
+
+ string-width@8.3.0:
+ resolution: {integrity: sha512-ZbmZM0JCihQN91dWnxoipT2KOEyHqEyfRXUyjuRhW8b/xnqPDoq4gWEVApTVa9db2wN8mmoikgFBbjh71+cGeQ==}
+ engines: {node: '>=20'}
+
+ string_decoder@1.3.0:
+ resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
+
+ stringify-entities@4.0.4:
+ resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
+
+ strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+
+ strip-ansi@7.2.0:
+ resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==}
+ engines: {node: '>=12'}
+
+ strip-bom@4.0.0:
+ resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
+ engines: {node: '>=8'}
+
+ strip-final-newline@2.0.0:
+ resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
+ engines: {node: '>=6'}
+
+ strip-indent@3.0.0:
+ resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
+ engines: {node: '>=8'}
+
+ strip-json-comments@3.1.1:
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
+ engines: {node: '>=8'}
+
+ style-to-js@1.1.21:
+ resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==}
+
+ style-to-object@1.0.14:
+ resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==}
+
+ stylis@4.4.0:
+ resolution: {integrity: sha512-5Z9ZpRzfuH6l/UAvCPAPUo3665Nk2wLaZU3x+TLHKVzIz33+sbJqbtrYoC3KD4/uVOr2Zp+L0LySezP9OHV9yA==}
+
+ supports-color@5.5.0:
+ resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
+ engines: {node: '>=4'}
+
+ supports-color@7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+
+ supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+
+ svgo@4.1.0:
+ resolution: {integrity: sha512-bkxnTg1kSU0guhIBmibA6UUhrQmPVA1XsQLN+ylCd+UWzbnLkySOcXpyk1mrl05f+pcaCx2eHb+sp6BgMZWX+Q==}
+ engines: {node: '>=16'}
+ hasBin: true
+
+ text-extensions@1.9.0:
+ resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==}
+ engines: {node: '>=0.10'}
+
+ through2@4.0.2:
+ resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==}
+
+ through@2.3.8:
+ resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
+
+ tiny-inflate@1.0.3:
+ resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==}
+
+ tinyclip@1.0.3:
+ resolution: {integrity: sha512-nTv2raKFMzGG6JJp0lpNDsRPdfFE6UHlu2rVEjXo8vkx1ZS3LW2CVXqIaLu8xZlu+6tbFs9V58Qc/Jmk/Ii7wA==}
+ engines: {node: ^16.14.0 || >= 17.3.0}
+
+ tinyexec@1.3.1:
+ resolution: {integrity: sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==}
+ engines: {node: '>=18'}
+
+ tinyglobby@0.2.17:
+ resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==}
+ engines: {node: '>=12.0.0'}
+
+ to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+
+ trim-lines@3.0.1:
+ resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
+
+ trim-newlines@3.0.1:
+ resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==}
+ engines: {node: '>=8'}
+
+ trough@2.2.0:
+ resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
+
+ ts-dedent@2.3.0:
+ resolution: {integrity: sha512-JfJeIHke7y2egdGGgRAvpCwYFUsHlM2gPcrVOxFkznt/4uzQ7HFmvE63iFHVLBJNDuyDOQgijDK/tXH/f6Msjg==}
+ engines: {node: '>=6.10'}
+
+ ts-node@10.9.2:
+ resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==}
+ hasBin: true
+ peerDependencies:
+ '@swc/core': '>=1.2.50'
+ '@swc/wasm': '>=1.2.50'
+ '@types/node': '*'
+ typescript: '>=2.7'
+ peerDependenciesMeta:
+ '@swc/core':
+ optional: true
+ '@swc/wasm':
+ optional: true
+
+ tslib@2.8.1:
+ resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
+
+ type-fest@0.18.1:
+ resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==}
+ engines: {node: '>=10'}
+
+ type-fest@0.21.3:
+ resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
+ engines: {node: '>=10'}
+
+ type-fest@0.6.0:
+ resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
+ engines: {node: '>=8'}
+
+ type-fest@0.8.1:
+ resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
+ engines: {node: '>=8'}
+
+ typesafe-path@0.2.2:
+ resolution: {integrity: sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==}
+
+ typescript-auto-import-cache@0.3.6:
+ resolution: {integrity: sha512-RpuHXrknHdVdK7wv/8ug3Fr0WNsNi5l5aB8MYYuXhq2UH5lnEB1htJ1smhtD5VeCsGr2p8mUDtd83LCQDFVgjQ==}
+
+ typescript@5.9.3:
+ resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ typescript@6.0.3:
+ resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ ufo@1.6.4:
+ resolution: {integrity: sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==}
+
+ ultrahtml@1.7.0:
+ resolution: {integrity: sha512-2xRd0VHoAQE4M+vF/DvFFB7pUV0ZxTW1TLi7lHQWnF/Sb5TPeEUV/l+hxcNnGO00ZXGnR0voCMmYRKQf+rvJ2g==}
+
+ uncrypto@0.1.3:
+ resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==}
+
+ undici-types@6.21.0:
+ resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
+
+ undici-types@7.24.6:
+ resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==}
+
+ undici@8.11.2:
+ resolution: {integrity: sha512-u4UB2/IrKdU6lFxumHmmo1a3fCQO5tzQllRorfoRS63txhrB7xTpSn1PftwC4qEHkOaqP95fCWW4lJzwErwzhQ==}
+ engines: {node: '>=22.19.0'}
+
+ unified@11.0.5:
+ resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==}
+
+ unifont@0.7.5:
+ resolution: {integrity: sha512-ULe/Cs+ZIsq+dcFofNkhqielCrUJnb5mr+Yc4EBM2VlL+6OZR6+cjtI2mT1bJvRBrVncqHAbLURxmPLcCXzWMg==}
+
+ unist-util-find-after@5.0.0:
+ resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==}
+
+ unist-util-is@6.0.1:
+ resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==}
+
+ unist-util-modify-children@4.0.0:
+ resolution: {integrity: sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==}
+
+ unist-util-position-from-estree@2.0.0:
+ resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==}
+
+ unist-util-position@5.0.0:
+ resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
+
+ unist-util-remove-position@5.0.0:
+ resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==}
+
+ unist-util-stringify-position@4.0.0:
+ resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
+
+ unist-util-visit-children@3.0.0:
+ resolution: {integrity: sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==}
+
+ unist-util-visit-parents@6.0.2:
+ resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==}
+
+ unist-util-visit@5.1.0:
+ resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==}
+
+ universalify@2.0.1:
+ resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
+ engines: {node: '>= 10.0.0'}
+
+ unstorage@1.17.5:
+ resolution: {integrity: sha512-0i3iqvRfx29hkNntHyQvJTpf5W9dQ9ZadSoRU8+xVlhVtT7jAX57fazYO9EHvcRCfBCyi5YRya7XCDOsbTgkPg==}
+ peerDependencies:
+ '@azure/app-configuration': ^1.8.0
+ '@azure/cosmos': ^4.2.0
+ '@azure/data-tables': ^13.3.0
+ '@azure/identity': ^4.6.0
+ '@azure/keyvault-secrets': ^4.9.0
+ '@azure/storage-blob': ^12.26.0
+ '@capacitor/preferences': ^6 || ^7 || ^8
+ '@deno/kv': '>=0.9.0'
+ '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0
+ '@planetscale/database': ^1.19.0
+ '@upstash/redis': ^1.34.3
+ '@vercel/blob': '>=0.27.1'
+ '@vercel/functions': ^2.2.12 || ^3.0.0
+ '@vercel/kv': ^1 || ^2 || ^3
+ aws4fetch: ^1.0.20
+ db0: '>=0.2.1'
+ idb-keyval: ^6.2.1
+ ioredis: ^5.4.2
+ uploadthing: ^7.4.4
+ peerDependenciesMeta:
+ '@azure/app-configuration':
+ optional: true
+ '@azure/cosmos':
+ optional: true
+ '@azure/data-tables':
+ optional: true
+ '@azure/identity':
+ optional: true
+ '@azure/keyvault-secrets':
+ optional: true
+ '@azure/storage-blob':
+ optional: true
+ '@capacitor/preferences':
+ optional: true
+ '@deno/kv':
+ optional: true
+ '@netlify/blobs':
+ optional: true
+ '@planetscale/database':
+ optional: true
+ '@upstash/redis':
+ optional: true
+ '@vercel/blob':
+ optional: true
+ '@vercel/functions':
+ optional: true
+ '@vercel/kv':
+ optional: true
+ aws4fetch:
+ optional: true
+ db0:
+ optional: true
+ idb-keyval:
+ optional: true
+ ioredis:
+ optional: true
+ uploadthing:
+ optional: true
+
+ util-deprecate@1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+
+ uuid@14.0.2:
+ resolution: {integrity: sha512-xZe/16rV4aa+HGSOCiY2YeLT1OybRLrrkL/Rqaq7p7GMVXjFh+6wN4oMYgjFmnSnhY8t6Xpdl2l9qmnHYuMHwQ==}
+ hasBin: true
+
+ v8-compile-cache-lib@3.0.1:
+ resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
+
+ validate-npm-package-license@3.0.4:
+ resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
+
+ verkit@0.4.1:
+ resolution: {integrity: sha512-mMVzj0TXExtVdlDEq+Mzp0eyOuyznNpFobNM3uAqe3HVm/Ps2c+u17BligMkZjZCA6EiXpoon8iRTer3iu40SQ==}
+ engines: {node: '>=18.12.0'}
+
+ vfile-location@5.0.3:
+ resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==}
+
+ vfile-message@4.0.3:
+ resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==}
+
+ vfile@6.0.3:
+ resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
+
+ vite@8.3.2:
+ resolution: {integrity: sha512-SQr1x6W5vVSbROg7vsyXIaxK9b0G7zsT68acdWWRmnBUsgDieLCRG+Rep9WdZgcposvv/GSnr4GUUBqB3vXq6w==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^20.19.0 || >=22.12.0
+ '@vitejs/devtools': ^0.7.1
+ esbuild: ^0.27.0 || ^0.28.0
+ jiti: '>=1.21.0'
+ less: ^4.0.0
+ sass: ^1.70.0
+ sass-embedded: ^1.70.0
+ stylus: '>=0.54.8'
+ sugarss: ^5.0.0
+ terser: ^5.16.0
+ tsx: ^4.8.1
+ yaml: ^2.4.2
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ '@vitejs/devtools':
+ optional: true
+ esbuild:
+ optional: true
+ jiti:
+ optional: true
+ less:
+ optional: true
+ sass:
+ optional: true
+ sass-embedded:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ tsx:
+ optional: true
+ yaml:
+ optional: true
+
+ vitefu@1.1.3:
+ resolution: {integrity: sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==}
+ peerDependencies:
+ vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
+ peerDependenciesMeta:
+ vite:
+ optional: true
+
+ volar-service-css@0.0.71:
+ resolution: {integrity: sha512-wRRFt9BpjMKCazcgOh67MSjUjiWUCAh99DyYSDIOTuxaRjEtDC7PpB0k1Y1wbJIW/pVtMUSVbpPo3UGSm0Byxw==}
+ peerDependencies:
+ '@volar/language-service': ~2.4.0
+ peerDependenciesMeta:
+ '@volar/language-service':
+ optional: true
+
+ volar-service-emmet@0.0.71:
+ resolution: {integrity: sha512-zqjzt6bN95e3CUstBm0PBFAJnrfz0ZAARka87fart46/gNCLLuP3Vujy8V/J8HEziTFLnfkgIASLFYPUhonJcA==}
+ peerDependencies:
+ '@volar/language-service': ~2.4.0
+ peerDependenciesMeta:
+ '@volar/language-service':
+ optional: true
+
+ volar-service-html@0.0.71:
+ resolution: {integrity: sha512-e8tHPhgQ7ooLfudAEIku+kgd9pWkq3SSz8RbnQDI1+Eb8wbenkLGHqoirLqz5ORLV6wIMr2Iv08RWBG5eOcgpw==}
+ peerDependencies:
+ '@volar/language-service': ~2.4.0
+ peerDependenciesMeta:
+ '@volar/language-service':
+ optional: true
+
+ volar-service-prettier@0.0.71:
+ resolution: {integrity: sha512-Rz7JVH3qD108UCdmIEiZvOBNljMt2nLFdbN8AXcDfn7xD9F5I2aCIsDVqBbXw21PsnxG0b7MfwtNF+zPS/NKUg==}
+ peerDependencies:
+ '@volar/language-service': ~2.4.0
+ prettier: ^2.2 || ^3.0
+ peerDependenciesMeta:
+ '@volar/language-service':
+ optional: true
+ prettier:
+ optional: true
+
+ volar-service-typescript-twoslash-queries@0.0.71:
+ resolution: {integrity: sha512-9K2k72s4n7rV9s4bX0MyjbX9iBribvKZbBJKuEmTCZfeWJXs6Yh7bGpY4eoc7UufAjvpheBqwyZCOIPBvxCv0A==}
+ peerDependencies:
+ '@volar/language-service': ~2.4.0
+ peerDependenciesMeta:
+ '@volar/language-service':
+ optional: true
+
+ volar-service-typescript@0.0.71:
+ resolution: {integrity: sha512-yTtM/BVT6hoyEYnDtaCyAtNhdNeS/mhTTABlBOdw3NNiRBUin3IznFJpgfjer4c6RYopiPjjQjc9VFhxVl1mLw==}
+ peerDependencies:
+ '@volar/language-service': ~2.4.0
+ peerDependenciesMeta:
+ '@volar/language-service':
+ optional: true
+
+ volar-service-yaml@0.0.71:
+ resolution: {integrity: sha512-qYGWGuVpUTnZGu5P/CR4KLK4aIR8RrcVnmfZ2eRcj9q/I8VZCoC5yy9FtEvfNvnDp4MU17yhdJcvpQPIqhJS2Q==}
+ peerDependencies:
+ '@volar/language-service': ~2.4.0
+ peerDependenciesMeta:
+ '@volar/language-service':
+ optional: true
+
+ vscode-css-languageservice@6.3.10:
+ resolution: {integrity: sha512-eq5N9Er3fC4vA9zd9EFhyBG90wtCCuXgRSpAndaOgXMh1Wgep5lBgRIeDgjZBW9pa+332yC9+49cZMW8jcL3MA==}
+
+ vscode-html-languageservice@5.6.2:
+ resolution: {integrity: sha512-ulCrSnFnfQ16YzvwnYUgEbUEl/ZG7u2eV27YhvLObSHKkb8fw1Z9cgsnUwjTEeDIdJDoTDTDpxuhQwoenoLNMg==}
+
+ vscode-json-languageservice@4.1.8:
+ resolution: {integrity: sha512-0vSpg6Xd9hfV+eZAaYN63xVVMOTmJ4GgHxXnkLCh+9RsQBkWKIghzLhW2B9ebfG+LQQg8uLtsQ2aUKjTgE+QOg==}
+ engines: {npm: '>=7.0.0'}
+
+ vscode-jsonrpc@8.2.0:
+ resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==}
+ engines: {node: '>=14.0.0'}
+
+ vscode-jsonrpc@9.0.3:
+ resolution: {integrity: sha512-qETYf9PCl1lVfwR+oBmMfc4vP2nqLNA35ABxorw3j06+xlKRgDVxbLgKm4Y/xPL0YWdeDjLoI4ImICIT3nB0zQ==}
+ engines: {node: '>=14.0.0'}
+
+ vscode-languageserver-protocol@3.17.5:
+ resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==}
+
+ vscode-languageserver-protocol@3.18.4:
+ resolution: {integrity: sha512-CCXbyr99dafRJzJH/0Ryk7ly5T8XPmSR0//OuF2w4m+9JiOin7zcAT5iET8GRE7Z9taFBejb3GbM0a0mbjdbrg==}
+
+ vscode-languageserver-textdocument@1.0.15:
+ resolution: {integrity: sha512-Gsfr9S8LU3S6885cS+NaleasJ0n3V5y/SOTqHCifQiXWFw3G9w9/YItDfwHrlCz+dSZWWZ8ilYVMcJe7Sz7Sxw==}
+
+ vscode-languageserver-types@3.17.5:
+ resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==}
+
+ vscode-languageserver-types@3.18.4:
+ resolution: {integrity: sha512-nQsacoiijvl0fRf2q28uFDrAVwRhdCa3QveiF7/CX0r18mLR5FU/1WskSsCKOjmEbtteKUnY8x8Yzxop+k0zwg==}
+
+ vscode-languageserver@9.0.1:
+ resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==}
+ hasBin: true
+
+ vscode-nls@5.2.0:
+ resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==}
+
+ vscode-uri@3.2.0:
+ resolution: {integrity: sha512-m2gXo3bn0G1kT9InzMf07fTbqMbGtyckj3bH5ktLO+1Ssv+yiATZ4dhwaQv9UZWxJh6E9IFGnQyjgWVDWVBDrg==}
+
+ wcwidth@1.0.1:
+ resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
+
+ web-namespaces@2.0.1:
+ resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
+
+ which@1.3.1:
+ resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
+ hasBin: true
+
+ which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+
+ word-wrap@1.2.5:
+ resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
+ engines: {node: '>=0.10.0'}
+
+ wrap-ansi@6.2.0:
+ resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
+ engines: {node: '>=8'}
+
+ wrap-ansi@7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+ engines: {node: '>=10'}
+
+ wrap-ansi@9.0.2:
+ resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==}
+ engines: {node: '>=18'}
+
+ wrappy@1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+
+ xxhash-wasm@1.1.0:
+ resolution: {integrity: sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==}
+
+ y18n@5.0.8:
+ resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
+ engines: {node: '>=10'}
+
+ yallist@4.0.0:
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+
+ yaml-language-server@1.23.0:
+ resolution: {integrity: sha512-3qVyCOexLCWw06PQa5kRPwvMWMZ/eZeCRWUvgD6a0OkqL/4iCnxy2WumbWifa937Uo5xhyWJ0uxlU39ljhNh7A==}
+ hasBin: true
+
+ yaml@2.8.3:
+ resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==}
+ engines: {node: '>= 14.6'}
+ hasBin: true
+
+ yaml@2.9.1:
+ resolution: {integrity: sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw==}
+ engines: {node: '>= 14.6'}
+ hasBin: true
+
+ yargs-parser@20.2.9:
+ resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
+ engines: {node: '>=10'}
+
+ yargs-parser@21.1.1:
+ resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
+ engines: {node: '>=12'}
+
+ yargs-parser@22.0.0:
+ resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=23}
+
+ yargs@17.7.3:
+ resolution: {integrity: sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==}
+ engines: {node: '>=12'}
+
+ yargs@18.2.0:
+ resolution: {integrity: sha512-9OpKOLeaoNFecEp7P6iYbzze/5CqWoH7N3SMs/6y1XF4nMvFMspEGZzJ6uFi9MmQwXhyzqYoSEKO3tvA3Z/o2w==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=23}
+
+ yn@3.1.1:
+ resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
+ engines: {node: '>=6'}
+
+ yocto-queue@0.1.0:
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
+ engines: {node: '>=10'}
+
+ yocto-queue@1.2.2:
+ resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==}
+ engines: {node: '>=12.20'}
+
+ zod@4.6.5:
+ resolution: {integrity: sha512-v5l/aFXZQeai4awLbOpSoHecE9UiMrnfx75tEXLjNonXVARxQ5mOeipTjROUchszUNCqnE+hqAMujRsRHsut2Q==}
+
+ zwitch@2.0.4:
+ resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
+
+snapshots:
+
+ '@antfu/install-pkg@2.1.0':
+ dependencies:
+ package-manager-detector: 1.9.0
+ tinyexec: 1.3.1
+
+ '@astrojs/astro2tsx@0.1.2(@emnapi/runtime@1.11.3)':
+ dependencies:
+ '@emnapi/core': 1.11.3
+ '@napi-rs/wasm-runtime': 1.2.4(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)
+ transitivePeerDependencies:
+ - '@emnapi/runtime'
+
+ '@astrojs/check@0.9.10(@emnapi/runtime@1.11.3)(prettier@3.9.9)(typescript@6.0.3)':
+ dependencies:
+ '@astrojs/language-server': 2.17.1(@emnapi/runtime@1.11.3)(prettier@3.9.9)(typescript@6.0.3)
+ chokidar: 4.0.3
+ kleur: 4.1.5
+ typescript: 6.0.3
+ yargs: 18.2.0
+ transitivePeerDependencies:
+ - '@emnapi/runtime'
+ - prettier
+ - prettier-plugin-astro
+
+ '@astrojs/compiler-binding-android-arm64@0.5.1':
+ optional: true
+
+ '@astrojs/compiler-binding-darwin-arm64@0.5.1':
+ optional: true
+
+ '@astrojs/compiler-binding-darwin-x64@0.5.1':
+ optional: true
+
+ '@astrojs/compiler-binding-linux-arm64-gnu@0.5.1':
+ optional: true
+
+ '@astrojs/compiler-binding-linux-arm64-musl@0.5.1':
+ optional: true
+
+ '@astrojs/compiler-binding-linux-x64-gnu@0.5.1':
+ optional: true
+
+ '@astrojs/compiler-binding-linux-x64-musl@0.5.1':
+ optional: true
+
+ '@astrojs/compiler-binding-wasm32-wasi@0.5.1':
+ dependencies:
+ '@emnapi/core': 1.11.3
+ '@emnapi/runtime': 1.11.3
+ '@napi-rs/wasm-runtime': 1.2.5(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)
+ optional: true
+
+ '@astrojs/compiler-binding-win32-arm64-msvc@0.5.1':
+ optional: true
+
+ '@astrojs/compiler-binding-win32-x64-msvc@0.5.1':
+ optional: true
+
+ '@astrojs/compiler-binding@0.5.1':
+ optionalDependencies:
+ '@astrojs/compiler-binding-android-arm64': 0.5.1
+ '@astrojs/compiler-binding-darwin-arm64': 0.5.1
+ '@astrojs/compiler-binding-darwin-x64': 0.5.1
+ '@astrojs/compiler-binding-linux-arm64-gnu': 0.5.1
+ '@astrojs/compiler-binding-linux-arm64-musl': 0.5.1
+ '@astrojs/compiler-binding-linux-x64-gnu': 0.5.1
+ '@astrojs/compiler-binding-linux-x64-musl': 0.5.1
+ '@astrojs/compiler-binding-wasm32-wasi': 0.5.1
+ '@astrojs/compiler-binding-win32-arm64-msvc': 0.5.1
+ '@astrojs/compiler-binding-win32-x64-msvc': 0.5.1
+
+ '@astrojs/compiler-rs@0.5.1':
+ dependencies:
+ '@astrojs/compiler-binding': 0.5.1
+
+ '@astrojs/internal-helpers@0.11.0':
+ dependencies:
+ '@types/hast': 3.0.5
+ '@types/mdast': 4.0.4
+ js-yaml: 4.3.2
+ picomatch: 4.0.7
+ retext-smartypants: 6.2.0
+ shiki: 4.5.0
+ smol-toml: 1.9.0
+ unified: 11.0.5
+
+ '@astrojs/language-server@2.17.1(@emnapi/runtime@1.11.3)(prettier@3.9.9)(typescript@6.0.3)':
+ dependencies:
+ '@astrojs/astro2tsx': 0.1.2(@emnapi/runtime@1.11.3)
+ '@astrojs/yaml2ts': 0.2.4
+ '@volar/kit': 2.4.28(typescript@6.0.3)
+ '@volar/language-core': 2.4.28
+ '@volar/language-server': 2.4.28
+ '@volar/language-service': 2.4.28
+ muggle-string: 0.4.1
+ tinyglobby: 0.2.17
+ volar-service-css: 0.0.71(@volar/language-service@2.4.28)
+ volar-service-emmet: 0.0.71(@volar/language-service@2.4.28)
+ volar-service-html: 0.0.71(@volar/language-service@2.4.28)
+ volar-service-prettier: 0.0.71(@volar/language-service@2.4.28)(prettier@3.9.9)
+ volar-service-typescript: 0.0.71(@volar/language-service@2.4.28)
+ volar-service-typescript-twoslash-queries: 0.0.71(@volar/language-service@2.4.28)
+ volar-service-yaml: 0.0.71(@volar/language-service@2.4.28)
+ vscode-html-languageservice: 5.6.2
+ vscode-uri: 3.2.0
+ optionalDependencies:
+ prettier: 3.9.9
+ transitivePeerDependencies:
+ - '@emnapi/runtime'
+ - typescript
+
+ '@astrojs/markdown-remark@7.3.1':
+ dependencies:
+ '@astrojs/internal-helpers': 0.11.0
+ '@astrojs/prism': 4.0.2
+ '@mdx-js/mdx': 3.1.1
+ acorn: 8.19.0
+ estree-util-visit: 2.0.0
+ github-slugger: 2.0.0
+ hast-util-from-html: 2.0.3
+ hast-util-to-html: 9.0.5
+ hast-util-to-text: 4.0.2
+ mdast-util-definitions: 6.0.0
+ rehype-raw: 7.0.0
+ rehype-stringify: 10.0.1
+ remark-gfm: 4.0.1
+ remark-parse: 11.0.0
+ remark-rehype: 11.1.2
+ remark-smartypants: 3.0.3
+ source-map: 0.7.6
+ unified: 11.0.5
+ unist-util-remove-position: 5.0.0
+ unist-util-visit: 5.1.0
+ unist-util-visit-parents: 6.0.2
+ vfile: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@astrojs/markdown-satteri@0.4.2':
+ dependencies:
+ '@astrojs/internal-helpers': 0.11.0
+ '@astrojs/prism': 4.0.2
+ github-slugger: 2.0.0
+ satteri: 0.10.5
+
+ '@astrojs/prism@4.0.2':
+ dependencies:
+ prismjs: 1.30.0
+
+ '@astrojs/sitemap@3.7.4':
+ dependencies:
+ sitemap: 9.0.1
+ zod: 4.6.5
+
+ '@astrojs/telemetry@3.3.3':
+ dependencies:
+ ci-info: 4.4.0
+ dset: 3.1.4
+ is-docker: 4.0.0
+ package-manager-detector: 1.9.0
+
+ '@astrojs/yaml2ts@0.2.4':
+ dependencies:
+ yaml: 2.9.1
+
+ '@babel/code-frame@7.29.7':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.29.7
+ js-tokens: 4.0.0
+ picocolors: 1.1.1
+
+ '@babel/helper-string-parser@7.29.7': {}
+
+ '@babel/helper-validator-identifier@7.29.7': {}
+
+ '@babel/parser@7.29.9':
+ dependencies:
+ '@babel/types': 7.29.8
+
+ '@babel/types@7.29.8':
+ dependencies:
+ '@babel/helper-string-parser': 7.29.7
+ '@babel/helper-validator-identifier': 7.29.7
+
+ '@braintree/sanitize-url@7.1.2': {}
+
+ '@bruits/satteri-darwin-arm64@0.10.5':
+ optional: true
+
+ '@bruits/satteri-darwin-x64@0.10.5':
+ optional: true
+
+ '@bruits/satteri-linux-arm64-gnu@0.10.5':
+ optional: true
+
+ '@bruits/satteri-linux-arm64-musl@0.10.5':
+ optional: true
+
+ '@bruits/satteri-linux-x64-gnu@0.10.5':
+ optional: true
+
+ '@bruits/satteri-linux-x64-musl@0.10.5':
+ optional: true
+
+ '@bruits/satteri-wasm32-wasi@0.10.5':
+ dependencies:
+ '@emnapi/core': 1.11.1
+ '@emnapi/runtime': 1.11.1
+ '@napi-rs/wasm-runtime': 1.2.5(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
+ optional: true
+
+ '@bruits/satteri-win32-arm64-msvc@0.10.5':
+ optional: true
+
+ '@bruits/satteri-win32-x64-msvc@0.10.5':
+ optional: true
+
+ '@capsizecss/unpack@4.0.1':
+ dependencies:
+ fontkitten: 1.0.3
+
+ '@cbor-extract/cbor-extract-darwin-arm64@2.2.2':
+ optional: true
+
+ '@cbor-extract/cbor-extract-darwin-x64@2.2.2':
+ optional: true
+
+ '@cbor-extract/cbor-extract-linux-arm64@2.2.2':
+ optional: true
+
+ '@cbor-extract/cbor-extract-linux-arm@2.2.2':
+ optional: true
+
+ '@cbor-extract/cbor-extract-linux-x64@2.2.2':
+ optional: true
+
+ '@cbor-extract/cbor-extract-win32-x64@2.2.2':
+ optional: true
+
+ '@chevrotain/types@11.1.2': {}
+
+ '@clack/core@1.5.1':
+ dependencies:
+ fast-wrap-ansi: 0.2.2
+ sisteransi: 1.0.5
+
+ '@clack/prompts@1.8.1':
dependencies:
- '@commitlint/format': 17.0.0
- '@commitlint/lint': 17.0.3
- '@commitlint/load': 17.0.3
- '@commitlint/read': 17.0.0
- '@commitlint/types': 17.0.0
+ '@clack/core': 1.5.1
+ fast-string-width: 3.0.2
+ fast-wrap-ansi: 0.2.2
+ sisteransi: 1.0.5
+
+ '@commitlint/cli@17.8.1':
+ dependencies:
+ '@commitlint/format': 17.8.1
+ '@commitlint/lint': 17.8.1
+ '@commitlint/load': 17.8.1
+ '@commitlint/read': 17.8.1
+ '@commitlint/types': 17.8.1
execa: 5.1.1
- lodash: 4.17.21
+ lodash.isfunction: 3.0.9
resolve-from: 5.0.0
resolve-global: 1.0.0
- yargs: 17.5.1
+ yargs: 17.7.3
+ transitivePeerDependencies:
+ - '@swc/core'
+ - '@swc/wasm'
+
+ '@commitlint/config-conventional@17.8.1':
+ dependencies:
+ conventional-changelog-conventionalcommits: 6.1.0
+
+ '@commitlint/config-validator@17.8.1':
+ dependencies:
+ '@commitlint/types': 17.8.1
+ ajv: 8.20.0
+
+ '@commitlint/config-validator@21.2.3':
+ dependencies:
+ '@commitlint/types': 21.2.3
+ ajv: 8.20.0
+ optional: true
+
+ '@commitlint/ensure@17.8.1':
+ dependencies:
+ '@commitlint/types': 17.8.1
+ lodash.camelcase: 4.3.0
+ lodash.kebabcase: 4.1.1
+ lodash.snakecase: 4.1.1
+ lodash.startcase: 4.4.0
+ lodash.upperfirst: 4.3.1
+
+ '@commitlint/execute-rule@17.8.1': {}
+
+ '@commitlint/execute-rule@21.0.1':
+ optional: true
+
+ '@commitlint/format@17.8.1':
+ dependencies:
+ '@commitlint/types': 17.8.1
+ chalk: 4.1.2
+
+ '@commitlint/is-ignored@17.8.1':
+ dependencies:
+ '@commitlint/types': 17.8.1
+ semver: 7.5.4
+
+ '@commitlint/lint@17.8.1':
+ dependencies:
+ '@commitlint/is-ignored': 17.8.1
+ '@commitlint/parse': 17.8.1
+ '@commitlint/rules': 17.8.1
+ '@commitlint/types': 17.8.1
+
+ '@commitlint/load@17.8.1':
+ dependencies:
+ '@commitlint/config-validator': 17.8.1
+ '@commitlint/execute-rule': 17.8.1
+ '@commitlint/resolve-extends': 17.8.1
+ '@commitlint/types': 17.8.1
+ '@types/node': 20.5.1
+ chalk: 4.1.2
+ cosmiconfig: 8.3.6(typescript@5.9.3)
+ cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.9.3))(ts-node@10.9.2(@types/node@22.20.5)(typescript@6.0.3))(typescript@5.9.3)
+ lodash.isplainobject: 4.0.6
+ lodash.merge: 4.6.2
+ lodash.uniq: 4.5.0
+ resolve-from: 5.0.0
+ ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.9.3)
+ typescript: 5.9.3
transitivePeerDependencies:
- '@swc/core'
- '@swc/wasm'
- dev: true
- /@commitlint/config-validator/17.0.3:
- resolution: {integrity: sha512-3tLRPQJKapksGE7Kee9axv+9z5I2GDHitDH4q63q7NmNA0wkB+DAorJ0RHz2/K00Zb1/MVdHzhCga34FJvDihQ==}
- engines: {node: '>=v14'}
- dependencies:
- '@commitlint/types': 17.0.0
- ajv: 8.11.0
- dev: true
+ '@commitlint/load@21.2.3(@types/node@22.20.5)(typescript@6.0.3)':
+ dependencies:
+ '@commitlint/config-validator': 21.2.3
+ '@commitlint/execute-rule': 21.0.1
+ '@commitlint/resolve-extends': 21.2.3
+ '@commitlint/types': 21.2.3
+ cosmiconfig: 9.0.2(typescript@6.0.3)
+ cosmiconfig-typescript-loader: 6.3.0(@types/node@22.20.5)(cosmiconfig@9.0.2(typescript@6.0.3))(typescript@6.0.3)
+ es-toolkit: 1.52.0
+ is-plain-obj: 4.1.0
+ picocolors: 1.1.1
+ transitivePeerDependencies:
+ - '@types/node'
+ - typescript
+ optional: true
+
+ '@commitlint/message@17.8.1': {}
+
+ '@commitlint/parse@17.8.1':
+ dependencies:
+ '@commitlint/types': 17.8.1
+ conventional-changelog-angular: 6.0.0
+ conventional-commits-parser: 4.0.0
+
+ '@commitlint/read@17.8.1':
+ dependencies:
+ '@commitlint/top-level': 17.8.1
+ '@commitlint/types': 17.8.1
+ fs-extra: 11.4.1
+ git-raw-commits: 2.0.11
+ minimist: 1.2.8
+
+ '@commitlint/resolve-extends@17.8.1':
+ dependencies:
+ '@commitlint/config-validator': 17.8.1
+ '@commitlint/types': 17.8.1
+ import-fresh: 3.3.1
+ lodash.mergewith: 4.6.2
+ resolve-from: 5.0.0
+ resolve-global: 1.0.0
+
+ '@commitlint/resolve-extends@21.2.3':
+ dependencies:
+ '@commitlint/config-validator': 21.2.3
+ '@commitlint/types': 21.2.3
+ es-toolkit: 1.52.0
+ global-directory: 5.0.0
+ resolve-from: 5.0.0
+ optional: true
+
+ '@commitlint/rules@17.8.1':
+ dependencies:
+ '@commitlint/ensure': 17.8.1
+ '@commitlint/message': 17.8.1
+ '@commitlint/to-lines': 17.8.1
+ '@commitlint/types': 17.8.1
+ execa: 5.1.1
+
+ '@commitlint/to-lines@17.8.1': {}
+
+ '@commitlint/top-level@17.8.1':
+ dependencies:
+ find-up: 5.0.0
+
+ '@commitlint/types@17.8.1':
+ dependencies:
+ chalk: 4.1.2
+
+ '@commitlint/types@21.2.3':
+ dependencies:
+ conventional-commits-parser: 7.1.3
+ picocolors: 1.1.1
+ optional: true
+
+ '@cspotcode/source-map-support@0.8.1':
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.9
+
+ '@emmetio/abbreviation@2.3.3':
+ dependencies:
+ '@emmetio/scanner': 1.0.4
+
+ '@emmetio/css-abbreviation@2.1.8':
+ dependencies:
+ '@emmetio/scanner': 1.0.4
+
+ '@emmetio/css-parser@0.4.1':
+ dependencies:
+ '@emmetio/stream-reader': 2.2.0
+ '@emmetio/stream-reader-utils': 0.1.0
+
+ '@emmetio/html-matcher@1.3.0':
+ dependencies:
+ '@emmetio/scanner': 1.0.4
+
+ '@emmetio/scanner@1.0.4': {}
+
+ '@emmetio/stream-reader-utils@0.1.0': {}
+
+ '@emmetio/stream-reader@2.2.0': {}
+
+ '@emnapi/core@1.11.1':
+ dependencies:
+ '@emnapi/wasi-threads': 1.2.2
+ tslib: 2.8.1
+ optional: true
+
+ '@emnapi/core@1.11.3':
+ dependencies:
+ '@emnapi/wasi-threads': 1.2.3
+ tslib: 2.8.1
+
+ '@emnapi/runtime@1.11.1':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ '@emnapi/runtime@1.11.3':
+ dependencies:
+ tslib: 2.8.1
+
+ '@emnapi/wasi-threads@1.2.2':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ '@emnapi/wasi-threads@1.2.3':
+ dependencies:
+ tslib: 2.8.1
+
+ '@esbuild/aix-ppc64@0.28.2':
+ optional: true
+
+ '@esbuild/android-arm64@0.28.2':
+ optional: true
+
+ '@esbuild/android-arm@0.28.2':
+ optional: true
+
+ '@esbuild/android-x64@0.28.2':
+ optional: true
+
+ '@esbuild/darwin-arm64@0.28.2':
+ optional: true
+
+ '@esbuild/darwin-x64@0.28.2':
+ optional: true
+
+ '@esbuild/freebsd-arm64@0.28.2':
+ optional: true
+
+ '@esbuild/freebsd-x64@0.28.2':
+ optional: true
+
+ '@esbuild/linux-arm64@0.28.2':
+ optional: true
+
+ '@esbuild/linux-arm@0.28.2':
+ optional: true
+
+ '@esbuild/linux-ia32@0.28.2':
+ optional: true
+
+ '@esbuild/linux-loong64@0.28.2':
+ optional: true
+
+ '@esbuild/linux-mips64el@0.28.2':
+ optional: true
+
+ '@esbuild/linux-ppc64@0.28.2':
+ optional: true
+
+ '@esbuild/linux-riscv64@0.28.2':
+ optional: true
+
+ '@esbuild/linux-s390x@0.28.2':
+ optional: true
+
+ '@esbuild/linux-x64@0.28.2':
+ optional: true
+
+ '@esbuild/netbsd-arm64@0.28.2':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.28.2':
+ optional: true
+
+ '@esbuild/openbsd-arm64@0.28.2':
+ optional: true
+
+ '@esbuild/openbsd-x64@0.28.2':
+ optional: true
+
+ '@esbuild/openharmony-arm64@0.28.2':
+ optional: true
+
+ '@esbuild/sunos-x64@0.28.2':
+ optional: true
+
+ '@esbuild/win32-arm64@0.28.2':
+ optional: true
+
+ '@esbuild/win32-ia32@0.28.2':
+ optional: true
+
+ '@esbuild/win32-x64@0.28.2':
+ optional: true
+
+ '@iconify/types@2.0.0': {}
+
+ '@iconify/utils@3.1.7':
+ dependencies:
+ '@antfu/install-pkg': 2.1.0
+ '@iconify/types': 2.0.0
+ import-meta-resolve: 4.2.0
+
+ '@img/colour@1.1.0':
+ optional: true
+
+ '@img/sharp-darwin-arm64@0.35.5':
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-arm64': 1.3.4
+ optional: true
+
+ '@img/sharp-darwin-x64@0.35.5':
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-x64': 1.3.4
+ optional: true
+
+ '@img/sharp-freebsd-wasm32@0.35.5':
+ dependencies:
+ '@img/sharp-wasm32': 0.35.5
+ optional: true
+
+ '@img/sharp-libvips-darwin-arm64@1.3.4':
+ optional: true
+
+ '@img/sharp-libvips-darwin-x64@1.3.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-arm64@1.3.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-arm@1.3.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-ppc64@1.3.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-riscv64@1.3.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-s390x@1.3.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-x64@1.3.4':
+ optional: true
+
+ '@img/sharp-libvips-linuxmusl-arm64@1.3.4':
+ optional: true
+
+ '@img/sharp-libvips-linuxmusl-x64@1.3.4':
+ optional: true
+
+ '@img/sharp-linux-arm64@0.35.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm64': 1.3.4
+ optional: true
- /@commitlint/ensure/17.0.0:
- resolution: {integrity: sha512-M2hkJnNXvEni59S0QPOnqCKIK52G1XyXBGw51mvh7OXDudCmZ9tZiIPpU882p475Mhx48Ien1MbWjCP1zlyC0A==}
- engines: {node: '>=v14'}
- dependencies:
- '@commitlint/types': 17.0.0
- lodash: registry.npmmirror.com/lodash/4.17.21
- dev: true
+ '@img/sharp-linux-arm@0.35.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm': 1.3.4
+ optional: true
- /@commitlint/execute-rule/17.0.0:
- resolution: {integrity: sha512-nVjL/w/zuqjCqSJm8UfpNaw66V9WzuJtQvEnCrK4jDw6qKTmZB+1JQ8m6BQVZbNBcwfYdDNKnhIhqI0Rk7lgpQ==}
- engines: {node: '>=v14'}
- dev: true
+ '@img/sharp-linux-ppc64@0.35.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-ppc64': 1.3.4
+ optional: true
- /@commitlint/format/17.0.0:
- resolution: {integrity: sha512-MZzJv7rBp/r6ZQJDEodoZvdRM0vXu1PfQvMTNWFb8jFraxnISMTnPBWMMjr2G/puoMashwaNM//fl7j8gGV5lA==}
- engines: {node: '>=v14'}
- dependencies:
- '@commitlint/types': 17.0.0
- chalk: 4.1.2
- dev: true
+ '@img/sharp-linux-riscv64@0.35.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-riscv64': 1.3.4
+ optional: true
- /@commitlint/is-ignored/17.0.3:
- resolution: {integrity: sha512-/wgCXAvPtFTQZxsVxj7owLeRf5wwzcXLaYmrZPR4a87iD4sCvUIRl1/ogYrtOyUmHwWfQsvjqIB4mWE/SqWSnA==}
- engines: {node: '>=v14'}
- dependencies:
- '@commitlint/types': 17.0.0
- semver: 7.3.7
- dev: true
+ '@img/sharp-linux-s390x@0.35.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-s390x': 1.3.4
+ optional: true
- /@commitlint/lint/17.0.3:
- resolution: {integrity: sha512-2o1fk7JUdxBUgszyt41sHC/8Nd5PXNpkmuOo9jvGIjDHzOwXyV0PSdbEVTH3xGz9NEmjohFHr5l+N+T9fcxong==}
- engines: {node: '>=v14'}
- dependencies:
- '@commitlint/is-ignored': 17.0.3
- '@commitlint/parse': 17.0.0
- '@commitlint/rules': 17.0.0
- '@commitlint/types': 17.0.0
- dev: true
+ '@img/sharp-linux-x64@0.35.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-x64': 1.3.4
+ optional: true
- /@commitlint/load/17.0.3:
- resolution: {integrity: sha512-3Dhvr7GcKbKa/ey4QJ5MZH3+J7QFlARohUow6hftQyNjzoXXROm+RwpBes4dDFrXG1xDw9QPXA7uzrOShCd4bw==}
- engines: {node: '>=v14'}
- dependencies:
- '@commitlint/config-validator': 17.0.3
- '@commitlint/execute-rule': 17.0.0
- '@commitlint/resolve-extends': 17.0.3
- '@commitlint/types': 17.0.0
- '@types/node': 17.0.32
- chalk: 4.1.2
- cosmiconfig: 7.0.1
- cosmiconfig-typescript-loader: 2.0.2_wkok7lthibal5qjhsdd5yq2cfe
- lodash: 4.17.21
- resolve-from: 5.0.0
- typescript: 4.7.4
- transitivePeerDependencies:
- - '@swc/core'
- - '@swc/wasm'
- dev: true
+ '@img/sharp-linuxmusl-arm64@0.35.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-arm64': 1.3.4
+ optional: true
- /@commitlint/message/17.0.0:
- resolution: {integrity: sha512-LpcwYtN+lBlfZijHUdVr8aNFTVpHjuHI52BnfoV01TF7iSLnia0jttzpLkrLmI8HNQz6Vhr9UrxDWtKZiMGsBw==}
- engines: {node: '>=v14'}
- dev: true
+ '@img/sharp-linuxmusl-x64@0.35.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-x64': 1.3.4
+ optional: true
- /@commitlint/parse/17.0.0:
- resolution: {integrity: sha512-cKcpfTIQYDG1ywTIr5AG0RAiLBr1gudqEsmAGCTtj8ffDChbBRxm6xXs2nv7GvmJN7msOt7vOKleLvcMmRa1+A==}
- engines: {node: '>=v14'}
+ '@img/sharp-wasm32@0.35.5':
dependencies:
- '@commitlint/types': 17.0.0
- conventional-changelog-angular: 5.0.13
- conventional-commits-parser: 3.2.4
- dev: true
+ '@emnapi/runtime': 1.11.3
+ optional: true
- /@commitlint/read/17.0.0:
- resolution: {integrity: sha512-zkuOdZayKX3J6F6mPnVMzohK3OBrsEdOByIqp4zQjA9VLw1hMsDEFQ18rKgUc2adkZar+4S01QrFreDCfZgbxA==}
- engines: {node: '>=v14'}
+ '@img/sharp-webcontainers-wasm32@0.35.5':
dependencies:
- '@commitlint/top-level': 17.0.0
- '@commitlint/types': 17.0.0
- fs-extra: 10.1.0
- git-raw-commits: 2.0.11
- dev: true
+ '@img/sharp-wasm32': 0.35.5
+ optional: true
- /@commitlint/resolve-extends/17.0.3:
- resolution: {integrity: sha512-H/RFMvrcBeJCMdnVC4i8I94108UDccIHrTke2tyQEg9nXQnR5/Hd6MhyNWkREvcrxh9Y+33JLb+PiPiaBxCtBA==}
- engines: {node: '>=v14'}
- dependencies:
- '@commitlint/config-validator': 17.0.3
- '@commitlint/types': 17.0.0
- import-fresh: 3.3.0
- lodash: 4.17.21
- resolve-from: 5.0.0
- resolve-global: 1.0.0
- dev: true
+ '@img/sharp-win32-arm64@0.35.5':
+ optional: true
- /@commitlint/rules/17.0.0:
- resolution: {integrity: sha512-45nIy3dERKXWpnwX9HeBzK5SepHwlDxdGBfmedXhL30fmFCkJOdxHyOJsh0+B0RaVsLGT01NELpfzJUmtpDwdQ==}
- engines: {node: '>=v14'}
+ '@img/sharp-win32-ia32@0.35.5':
+ optional: true
+
+ '@img/sharp-win32-x64@0.35.5':
+ optional: true
+
+ '@inquirer/external-editor@1.0.3(@types/node@22.20.5)':
dependencies:
- '@commitlint/ensure': 17.0.0
- '@commitlint/message': 17.0.0
- '@commitlint/to-lines': 17.0.0
- '@commitlint/types': 17.0.0
- execa: registry.npmmirror.com/execa/5.1.1
- dev: true
+ chardet: 2.2.0
+ iconv-lite: 0.7.3
+ optionalDependencies:
+ '@types/node': 22.20.5
+
+ '@jridgewell/resolve-uri@3.1.2': {}
+
+ '@jridgewell/sourcemap-codec@1.6.0': {}
+
+ '@jridgewell/trace-mapping@0.3.9':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.6.0
+
+ '@mdx-js/mdx@3.1.1':
+ dependencies:
+ '@types/estree': 1.0.9
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.5
+ '@types/mdx': 2.0.14
+ acorn: 8.19.0
+ collapse-white-space: 2.1.0
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ estree-util-scope: 1.0.1
+ estree-walker: 3.0.3
+ hast-util-to-jsx-runtime: 2.3.6
+ markdown-extensions: 2.0.0
+ recma-build-jsx: 1.0.0
+ recma-jsx: 1.0.1(acorn@8.19.0)
+ recma-stringify: 1.0.0
+ rehype-recma: 1.0.0
+ remark-mdx: 3.1.1
+ remark-parse: 11.0.0
+ remark-rehype: 11.1.2
+ source-map: 0.7.6
+ unified: 11.0.5
+ unist-util-position-from-estree: 2.0.0
+ unist-util-stringify-position: 4.0.0
+ unist-util-visit: 5.1.0
+ vfile: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
- /@commitlint/to-lines/17.0.0:
- resolution: {integrity: sha512-nEi4YEz04Rf2upFbpnEorG8iymyH7o9jYIVFBG1QdzebbIFET3ir+8kQvCZuBE5pKCtViE4XBUsRZz139uFrRQ==}
- engines: {node: '>=v14'}
- dev: true
+ '@mermaid-js/parser@1.2.1':
+ dependencies:
+ '@chevrotain/types': 11.1.2
- /@commitlint/top-level/17.0.0:
- resolution: {integrity: sha512-dZrEP1PBJvodNWYPOYiLWf6XZergdksKQaT6i1KSROLdjf5Ai0brLOv5/P+CPxBeoj3vBxK4Ax8H1Pg9t7sHIQ==}
- engines: {node: '>=v14'}
+ '@napi-rs/wasm-runtime@1.2.4(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)':
dependencies:
- find-up: 5.0.0
- dev: true
+ '@emnapi/core': 1.11.3
+ '@emnapi/runtime': 1.11.3
+ '@tybys/wasm-util': 0.10.4
- /@commitlint/types/17.0.0:
- resolution: {integrity: sha512-hBAw6U+SkAT5h47zDMeOu3HSiD0SODw4Aq7rRNh1ceUmL7GyLKYhPbUvlRWqZ65XjBLPHZhFyQlRaPNz8qvUyQ==}
- engines: {node: '>=v14'}
+ '@napi-rs/wasm-runtime@1.2.5(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)':
dependencies:
- chalk: 4.1.2
- dev: true
+ '@emnapi/core': 1.11.1
+ '@emnapi/runtime': 1.11.1
+ '@tybys/wasm-util': 0.10.4
+ optional: true
- /@cspotcode/source-map-support/0.8.1:
- resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
- engines: {node: '>=12'}
+ '@napi-rs/wasm-runtime@1.2.5(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3)':
dependencies:
- '@jridgewell/trace-mapping': registry.npmmirror.com/@jridgewell/trace-mapping/0.3.9
- dev: true
+ '@emnapi/core': 1.11.3
+ '@emnapi/runtime': 1.11.3
+ '@tybys/wasm-util': 0.10.4
+ optional: true
- /@tsconfig/node10/1.0.9:
- resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==}
- dev: true
+ '@oslojs/encoding@1.1.0': {}
- /@tsconfig/node12/1.0.11:
- resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==}
- dev: true
+ '@oxc-project/types@0.152.0': {}
- /@tsconfig/node14/1.0.3:
- resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==}
- dev: true
+ '@pagefind/darwin-arm64@1.5.2':
+ optional: true
- /@tsconfig/node16/1.0.3:
- resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==}
- dev: true
+ '@pagefind/darwin-x64@1.5.2':
+ optional: true
- /@types/minimist/1.2.2:
- resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==}
- dev: true
+ '@pagefind/freebsd-x64@1.5.2':
+ optional: true
- /@types/node/17.0.32:
- resolution: {integrity: sha512-eAIcfAvhf/BkHcf4pkLJ7ECpBAhh9kcxRBpip9cTiO+hf+aJrsxYxBeS6OXvOd9WqNAJmavXVpZvY1rBjNsXmw==}
- dev: true
+ '@pagefind/linux-arm64@1.5.2':
+ optional: true
- /@types/normalize-package-data/2.4.1:
- resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==}
- dev: true
+ '@pagefind/linux-x64@1.5.2':
+ optional: true
- /@types/parse-json/4.0.0:
- resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==}
- dev: true
+ '@pagefind/windows-arm64@1.5.2':
+ optional: true
- /JSONStream/1.3.5:
- resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
- hasBin: true
- dependencies:
- jsonparse: 1.3.1
- through: 2.3.8
- dev: true
+ '@pagefind/windows-x64@1.5.2':
+ optional: true
- /acorn-walk/8.2.0:
- resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
- engines: {node: '>=0.4.0'}
- dev: true
+ '@rolldown/binding-android-arm-eabi@1.2.12':
+ optional: true
- /ajv/8.11.0:
- resolution: {integrity: sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==}
- dependencies:
- fast-deep-equal: registry.npmmirror.com/fast-deep-equal/3.1.3
- json-schema-traverse: 1.0.0
- require-from-string: 2.0.2
- uri-js: 4.4.1
- dev: true
+ '@rolldown/binding-android-arm64@1.2.12':
+ optional: true
- /ansi-escapes/3.2.0:
- resolution: {integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==}
- engines: {node: '>=4'}
- dev: true
+ '@rolldown/binding-darwin-arm64@1.2.12':
+ optional: true
- /ansi-regex/4.1.1:
- resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==}
- engines: {node: '>=6'}
- dev: true
+ '@rolldown/binding-darwin-x64@1.2.12':
+ optional: true
- /ansi-styles/3.2.1:
- resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
- engines: {node: '>=4'}
- dependencies:
- color-convert: 1.9.3
- dev: true
+ '@rolldown/binding-freebsd-x64@1.2.12':
+ optional: true
- /ansi-styles/4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
- dependencies:
- color-convert: registry.npmmirror.com/color-convert/2.0.1
- dev: true
+ '@rolldown/binding-linux-arm-gnueabihf@1.2.12':
+ optional: true
- /array-ify/1.0.0:
- resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==}
- dev: true
+ '@rolldown/binding-linux-arm64-gnu@1.2.12':
+ optional: true
- /arrify/1.0.1:
- resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==}
- engines: {node: '>=0.10.0'}
- dev: true
+ '@rolldown/binding-linux-arm64-musl@1.2.12':
+ optional: true
- /balanced-match/1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
- dev: true
+ '@rolldown/binding-linux-ppc64-gnu@1.2.12':
+ optional: true
- /brace-expansion/1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
- dependencies:
- balanced-match: 1.0.2
- concat-map: 0.0.1
- dev: true
+ '@rolldown/binding-linux-s390x-gnu@1.2.12':
+ optional: true
- /cachedir/2.2.0:
- resolution: {integrity: sha512-VvxA0xhNqIIfg0V9AmJkDg91DaJwryutH5rVEZAhcNi4iJFj9f+QxmAjgK1LT9I8OgToX27fypX6/MeCXVbBjQ==}
- engines: {node: '>=6'}
- dev: true
+ '@rolldown/binding-linux-x64-gnu@1.2.12':
+ optional: true
- /camelcase-keys/6.2.2:
- resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==}
- engines: {node: '>=8'}
- dependencies:
- camelcase: 5.3.1
- map-obj: 4.3.0
- quick-lru: 4.0.1
- dev: true
+ '@rolldown/binding-linux-x64-musl@1.2.12':
+ optional: true
- /camelcase/5.3.1:
- resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
- engines: {node: '>=6'}
- dev: true
+ '@rolldown/binding-openharmony-arm64@1.2.12':
+ optional: true
- /chalk/2.4.2:
- resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
- engines: {node: '>=4'}
- dependencies:
- ansi-styles: 3.2.1
- escape-string-regexp: 1.0.5
- supports-color: 5.5.0
- dev: true
+ '@rolldown/binding-win32-arm64-msvc@1.2.12':
+ optional: true
- /chalk/4.1.2:
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
- engines: {node: '>=10'}
- dependencies:
- ansi-styles: 4.3.0
- supports-color: 7.2.0
- dev: true
+ '@rolldown/binding-win32-x64-msvc@1.2.12':
+ optional: true
- /chardet/0.7.0:
- resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
- dev: true
+ '@rolldown/pluginutils@1.0.1': {}
- /cli-cursor/2.1.0:
- resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==}
- engines: {node: '>=4'}
+ '@shikijs/core@4.5.0':
dependencies:
- restore-cursor: 2.0.0
- dev: true
+ '@shikijs/primitive': 4.5.0
+ '@shikijs/types': 4.5.0
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.5
+ hast-util-to-html: 9.0.5
- /cli-width/2.2.1:
- resolution: {integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==}
- dev: true
+ '@shikijs/engine-javascript@4.5.0':
+ dependencies:
+ '@shikijs/types': 4.5.0
+ '@shikijs/vscode-textmate': 10.0.2
+ oniguruma-to-es: 4.3.6
- /cliui/7.0.4:
- resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
+ '@shikijs/engine-oniguruma@4.5.0':
dependencies:
- string-width: 4.2.3
- strip-ansi: registry.npmmirror.com/strip-ansi/6.0.1
- wrap-ansi: 7.0.0
- dev: true
+ '@shikijs/types': 4.5.0
+ '@shikijs/vscode-textmate': 10.0.2
- /color-convert/1.9.3:
- resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+ '@shikijs/langs@4.5.0':
dependencies:
- color-name: registry.npmmirror.com/color-name/1.1.3
- dev: true
+ '@shikijs/types': 4.5.0
- /commitizen/4.2.4:
- resolution: {integrity: sha512-LlZChbDzg3Ir3O2S7jSo/cgWp5/QwylQVr59K4xayVq8S4/RdKzSyJkghAiZZHfhh5t4pxunUoyeg0ml1q/7aw==}
- engines: {node: '>= 10'}
- hasBin: true
+ '@shikijs/primitive@4.5.0':
dependencies:
- cachedir: 2.2.0
- cz-conventional-changelog: 3.2.0
- dedent: 0.7.0
- detect-indent: 6.0.0
- find-node-modules: 2.1.3
- find-root: 1.1.0
- fs-extra: 8.1.0
- glob: 7.1.4
- inquirer: 6.5.2
- is-utf8: 0.2.1
- lodash: 4.17.21
- minimist: 1.2.5
- strip-bom: 4.0.0
- strip-json-comments: 3.0.1
- transitivePeerDependencies:
- - '@swc/core'
- - '@swc/wasm'
- dev: true
+ '@shikijs/types': 4.5.0
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.5
- /compare-func/2.0.0:
- resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==}
+ '@shikijs/themes@4.5.0':
dependencies:
- array-ify: 1.0.0
- dot-prop: 5.3.0
- dev: true
+ '@shikijs/types': 4.5.0
+
+ '@shikijs/types@4.5.0':
+ dependencies:
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.5
- /concat-map/0.0.1:
- resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
- dev: true
+ '@shikijs/vscode-textmate@10.0.2': {}
- /conventional-changelog-angular/5.0.13:
- resolution: {integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==}
- engines: {node: '>=10'}
+ '@simple-libs/stream-utils@2.0.0':
+ optional: true
+
+ '@tsconfig/node10@1.0.13': {}
+
+ '@tsconfig/node12@1.0.11': {}
+
+ '@tsconfig/node14@1.0.3': {}
+
+ '@tsconfig/node16@1.0.4': {}
+
+ '@tybys/wasm-util@0.10.4':
dependencies:
- compare-func: 2.0.0
- q: 1.5.1
- dev: true
+ tslib: 2.8.1
- /conventional-commit-types/3.0.0:
- resolution: {integrity: sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==}
- dev: true
+ '@types/d3-array@3.2.2': {}
- /conventional-commits-parser/3.2.4:
- resolution: {integrity: sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==}
- engines: {node: '>=10'}
- hasBin: true
+ '@types/d3-axis@3.0.6':
dependencies:
- JSONStream: 1.3.5
- is-text-path: 1.0.1
- lodash: registry.npmmirror.com/lodash/4.17.21
- meow: 8.1.2
- split2: 3.2.2
- through2: 4.0.2
- dev: true
+ '@types/d3-selection': 3.0.12
- /cosmiconfig-typescript-loader/2.0.2_wkok7lthibal5qjhsdd5yq2cfe:
- resolution: {integrity: sha512-KmE+bMjWMXJbkWCeY4FJX/npHuZPNr9XF9q9CIQ/bpFwi1qHfCmSiKarrCcRa0LO4fWjk93pVoeRtJAkTGcYNw==}
- engines: {node: '>=12', npm: '>=6'}
- peerDependencies:
- '@types/node': '*'
- typescript: '>=3'
+ '@types/d3-brush@3.0.6':
dependencies:
- '@types/node': 17.0.32
- cosmiconfig: 7.0.1
- ts-node: 10.8.2_wkok7lthibal5qjhsdd5yq2cfe
- typescript: 4.7.4
- transitivePeerDependencies:
- - '@swc/core'
- - '@swc/wasm'
- dev: true
+ '@types/d3-selection': 3.0.12
- /cosmiconfig/7.0.1:
- resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==}
- engines: {node: '>=10'}
+ '@types/d3-chord@3.0.6': {}
+
+ '@types/d3-color@3.1.3': {}
+
+ '@types/d3-contour@3.0.6':
dependencies:
- '@types/parse-json': 4.0.0
- import-fresh: 3.3.0
- parse-json: 5.2.0
- path-type: 4.0.0
- yaml: 1.10.2
- dev: true
+ '@types/d3-array': 3.2.2
+ '@types/geojson': 7946.0.16
- /create-require/1.1.1:
- resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
- dev: true
+ '@types/d3-delaunay@6.0.4': {}
- /cross-spawn/7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
- engines: {node: '>= 8'}
+ '@types/d3-dispatch@3.0.7': {}
+
+ '@types/d3-drag@3.0.7':
dependencies:
- path-key: 3.1.1
- shebang-command: 2.0.0
- which: 2.0.2
- dev: true
+ '@types/d3-selection': 3.0.12
- /cz-conventional-changelog/3.2.0:
- resolution: {integrity: sha512-yAYxeGpVi27hqIilG1nh4A9Bnx4J3Ov+eXy4koL3drrR+IO9GaWPsKjik20ht608Asqi8TQPf0mczhEeyAtMzg==}
- engines: {node: '>= 10'}
+ '@types/d3-dsv@3.0.7': {}
+
+ '@types/d3-ease@3.0.2': {}
+
+ '@types/d3-fetch@3.0.7':
dependencies:
- chalk: 2.4.2
- commitizen: 4.2.4
- conventional-commit-types: 3.0.0
- lodash.map: 4.6.0
- longest: 2.0.1
- word-wrap: 1.2.3
- optionalDependencies:
- '@commitlint/load': registry.npmmirror.com/@commitlint/load/17.0.3
- transitivePeerDependencies:
- - '@swc/core'
- - '@swc/wasm'
- dev: true
+ '@types/d3-dsv': 3.0.7
- /cz-conventional-changelog/3.3.0:
- resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==}
- engines: {node: '>= 10'}
+ '@types/d3-force@3.0.10': {}
+
+ '@types/d3-format@3.0.4': {}
+
+ '@types/d3-geo@3.1.1':
dependencies:
- chalk: 2.4.2
- commitizen: 4.2.4
- conventional-commit-types: 3.0.0
- lodash.map: 4.6.0
- longest: 2.0.1
- word-wrap: 1.2.3
- optionalDependencies:
- '@commitlint/load': registry.npmmirror.com/@commitlint/load/17.0.3
- transitivePeerDependencies:
- - '@swc/core'
- - '@swc/wasm'
- dev: true
+ '@types/geojson': 7946.0.16
- /dargs/7.0.0:
- resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==}
- engines: {node: '>=8'}
- dev: true
+ '@types/d3-hierarchy@3.1.7': {}
- /decamelize-keys/1.1.0:
- resolution: {integrity: sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==}
- engines: {node: '>=0.10.0'}
+ '@types/d3-interpolate@3.0.4':
dependencies:
- decamelize: 1.2.0
- map-obj: 1.0.1
- dev: true
+ '@types/d3-color': 3.1.3
- /decamelize/1.2.0:
- resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
- engines: {node: '>=0.10.0'}
- dev: true
+ '@types/d3-path@3.1.1': {}
- /dedent/0.7.0:
- resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==}
- dev: true
+ '@types/d3-polygon@3.0.2': {}
- /detect-file/1.0.0:
- resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==}
- engines: {node: '>=0.10.0'}
- dev: true
+ '@types/d3-quadtree@3.0.6': {}
- /detect-indent/6.0.0:
- resolution: {integrity: sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==}
- engines: {node: '>=8'}
- dev: true
+ '@types/d3-random@3.0.4': {}
- /diff/4.0.2:
- resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
- engines: {node: '>=0.3.1'}
- dev: true
+ '@types/d3-scale-chromatic@3.1.0': {}
- /dot-prop/5.3.0:
- resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==}
- engines: {node: '>=8'}
+ '@types/d3-scale@4.0.9':
dependencies:
- is-obj: registry.npmmirror.com/is-obj/2.0.0
- dev: true
+ '@types/d3-time': 3.0.4
- /emoji-regex/8.0.0:
- resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
- dev: true
+ '@types/d3-selection@3.0.12': {}
- /error-ex/1.3.2:
- resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+ '@types/d3-shape@3.2.0':
dependencies:
- is-arrayish: registry.npmmirror.com/is-arrayish/0.2.1
- dev: true
+ '@types/d3-path': 3.1.1
- /escalade/3.1.1:
- resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
- engines: {node: '>=6'}
- dev: true
+ '@types/d3-time-format@4.0.3': {}
- /escape-string-regexp/1.0.5:
- resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
- engines: {node: '>=0.8.0'}
- dev: true
+ '@types/d3-time@3.0.4': {}
- /execa/5.1.1:
- resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
- engines: {node: '>=10'}
+ '@types/d3-timer@3.0.2': {}
+
+ '@types/d3-transition@3.0.9':
dependencies:
- cross-spawn: 7.0.3
- get-stream: 6.0.1
- human-signals: 2.1.0
- is-stream: 2.0.1
- merge-stream: 2.0.0
- npm-run-path: 4.0.1
- onetime: 5.1.2
- signal-exit: 3.0.7
- strip-final-newline: 2.0.0
- dev: true
+ '@types/d3-selection': 3.0.12
- /expand-tilde/2.0.2:
- resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==}
- engines: {node: '>=0.10.0'}
+ '@types/d3-zoom@3.0.9':
dependencies:
- homedir-polyfill: 1.0.3
- dev: true
+ '@types/d3-interpolate': 3.0.4
+ '@types/d3-selection': 3.0.12
- /external-editor/3.1.0:
- resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
- engines: {node: '>=4'}
+ '@types/d3@7.4.3':
dependencies:
- chardet: 0.7.0
- iconv-lite: 0.4.24
- tmp: 0.0.33
- dev: true
+ '@types/d3-array': 3.2.2
+ '@types/d3-axis': 3.0.6
+ '@types/d3-brush': 3.0.6
+ '@types/d3-chord': 3.0.6
+ '@types/d3-color': 3.1.3
+ '@types/d3-contour': 3.0.6
+ '@types/d3-delaunay': 6.0.4
+ '@types/d3-dispatch': 3.0.7
+ '@types/d3-drag': 3.0.7
+ '@types/d3-dsv': 3.0.7
+ '@types/d3-ease': 3.0.2
+ '@types/d3-fetch': 3.0.7
+ '@types/d3-force': 3.0.10
+ '@types/d3-format': 3.0.4
+ '@types/d3-geo': 3.1.1
+ '@types/d3-hierarchy': 3.1.7
+ '@types/d3-interpolate': 3.0.4
+ '@types/d3-path': 3.1.1
+ '@types/d3-polygon': 3.0.2
+ '@types/d3-quadtree': 3.0.6
+ '@types/d3-random': 3.0.4
+ '@types/d3-scale': 4.0.9
+ '@types/d3-scale-chromatic': 3.1.0
+ '@types/d3-selection': 3.0.12
+ '@types/d3-shape': 3.2.0
+ '@types/d3-time': 3.0.4
+ '@types/d3-time-format': 4.0.3
+ '@types/d3-timer': 3.0.2
+ '@types/d3-transition': 3.0.9
+ '@types/d3-zoom': 3.0.9
- /figures/2.0.0:
- resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==}
- engines: {node: '>=4'}
+ '@types/debug@4.1.13':
dependencies:
- escape-string-regexp: 1.0.5
- dev: true
+ '@types/ms': 2.1.0
- /find-node-modules/2.1.3:
- resolution: {integrity: sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==}
+ '@types/estree-jsx@1.0.5':
dependencies:
- findup-sync: 4.0.0
- merge: 2.1.1
- dev: true
+ '@types/estree': 1.0.9
- /find-root/1.1.0:
- resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==}
- dev: true
+ '@types/estree@1.0.9': {}
- /find-up/4.1.0:
- resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
- engines: {node: '>=8'}
+ '@types/geojson@7946.0.16': {}
+
+ '@types/hast@3.0.5':
dependencies:
- locate-path: 5.0.0
- path-exists: 4.0.0
- dev: true
+ '@types/unist': 3.0.3
+
+ '@types/mdast@4.0.4':
+ dependencies:
+ '@types/unist': 3.0.3
+
+ '@types/mdx@2.0.14': {}
+
+ '@types/minimist@1.2.5': {}
- /find-up/5.0.0:
- resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
- engines: {node: '>=10'}
+ '@types/ms@2.1.0': {}
+
+ '@types/nlcst@2.0.3':
dependencies:
- locate-path: 6.0.0
- path-exists: 4.0.0
- dev: true
+ '@types/unist': 3.0.3
- /findup-sync/4.0.0:
- resolution: {integrity: sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==}
- engines: {node: '>= 8'}
+ '@types/node@20.5.1': {}
+
+ '@types/node@22.20.5':
dependencies:
- detect-file: 1.0.0
- is-glob: 4.0.3
- micromatch: 4.0.5
- resolve-dir: 1.0.1
- dev: true
+ undici-types: 6.21.0
- /fs-extra/10.1.0:
- resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
- engines: {node: '>=12'}
+ '@types/node@24.19.1':
dependencies:
- graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10
- jsonfile: registry.npmmirror.com/jsonfile/6.1.0
- universalify: registry.npmmirror.com/universalify/2.0.0
- dev: true
+ undici-types: 7.24.6
- /fs-extra/8.1.0:
- resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==}
- engines: {node: '>=6 <7 || >=8'}
+ '@types/normalize-package-data@2.4.4': {}
+
+ '@types/sax@1.2.7':
dependencies:
- graceful-fs: 4.2.10
- jsonfile: 4.0.0
- universalify: 0.1.2
- dev: true
+ '@types/node': 22.20.5
- /fs.realpath/1.0.0:
- resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=}
- dev: true
+ '@types/trusted-types@2.0.7':
+ optional: true
- /get-caller-file/2.0.5:
- resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
- engines: {node: 6.* || 8.* || >= 10.*}
- dev: true
+ '@types/unist@2.0.11': {}
- /get-stream/6.0.1:
- resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
- engines: {node: '>=10'}
- dev: true
+ '@types/unist@3.0.3': {}
- /git-cz/4.9.0:
- resolution: {integrity: sha512-cSRL8IIOXU7UFLdbziCYqg8f8InwLwqHezkiRHNSph7oZqGv0togId1kMTfKil6gzK0VaSXeVBb4oDl0fQCHiw==}
- hasBin: true
- dev: true
+ '@ungap/structured-clone@1.4.0': {}
- /git-raw-commits/2.0.11:
- resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==}
- engines: {node: '>=10'}
- hasBin: true
- dependencies:
- dargs: 7.0.0
- lodash: 4.17.21
- meow: 8.1.2
- split2: 3.2.2
- through2: 4.0.2
- dev: true
+ '@upsetjs/venn.js@2.0.0':
+ optionalDependencies:
+ d3-selection: 3.0.0
+ d3-transition: 3.0.1(d3-selection@3.0.0)
- /glob/7.1.4:
- resolution: {integrity: sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==}
+ '@volar/kit@2.4.28(typescript@6.0.3)':
dependencies:
- fs.realpath: 1.0.0
- inflight: 1.0.6
- inherits: 2.0.4
- minimatch: 3.1.2
- once: 1.4.0
- path-is-absolute: 1.0.1
- dev: true
+ '@volar/language-service': 2.4.28
+ '@volar/typescript': 2.4.28
+ typesafe-path: 0.2.2
+ typescript: 6.0.3
+ vscode-languageserver-textdocument: 1.0.15
+ vscode-uri: 3.2.0
- /global-dirs/0.1.1:
- resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==}
- engines: {node: '>=4'}
+ '@volar/language-core@2.4.28':
dependencies:
- ini: 1.3.8
- dev: true
+ '@volar/source-map': 2.4.28
- /global-modules/1.0.0:
- resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==}
- engines: {node: '>=0.10.0'}
+ '@volar/language-server@2.4.28':
dependencies:
- global-prefix: 1.0.2
- is-windows: 1.0.2
- resolve-dir: 1.0.1
- dev: true
+ '@volar/language-core': 2.4.28
+ '@volar/language-service': 2.4.28
+ '@volar/typescript': 2.4.28
+ path-browserify: 1.0.1
+ request-light: 0.7.0
+ vscode-languageserver: 9.0.1
+ vscode-languageserver-protocol: 3.18.4
+ vscode-languageserver-textdocument: 1.0.15
+ vscode-uri: 3.2.0
- /global-prefix/1.0.2:
- resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==}
- engines: {node: '>=0.10.0'}
+ '@volar/language-service@2.4.28':
dependencies:
- expand-tilde: 2.0.2
- homedir-polyfill: 1.0.3
- ini: 1.3.8
- is-windows: 1.0.2
- which: registry.npmmirror.com/which/1.3.1
- dev: true
+ '@volar/language-core': 2.4.28
+ vscode-languageserver-protocol: 3.18.4
+ vscode-languageserver-textdocument: 1.0.15
+ vscode-uri: 3.2.0
- /graceful-fs/4.2.10:
- resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==}
- dev: true
+ '@volar/source-map@2.4.28': {}
- /hard-rejection/2.1.0:
- resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==}
- engines: {node: '>=6'}
- dev: true
+ '@volar/typescript@2.4.28':
+ dependencies:
+ '@volar/language-core': 2.4.28
+ path-browserify: 1.0.1
+ vscode-uri: 3.2.0
- /has-flag/3.0.0:
- resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
- engines: {node: '>=4'}
- dev: true
+ '@vscode/emmet-helper@2.11.0':
+ dependencies:
+ emmet: 2.4.11
+ jsonc-parser: 2.3.1
+ vscode-languageserver-textdocument: 1.0.15
+ vscode-languageserver-types: 3.18.4
+ vscode-uri: 3.2.0
- /homedir-polyfill/1.0.3:
- resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==}
- engines: {node: '>=0.10.0'}
+ '@vscode/l10n@0.0.18': {}
+
+ JSONStream@1.3.5:
dependencies:
- parse-passwd: 1.0.0
- dev: true
+ jsonparse: 1.3.1
+ through: 2.3.8
- /hosted-git-info/2.8.9:
- resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
- dev: true
+ acorn-jsx@5.3.2(acorn@8.19.0):
+ dependencies:
+ acorn: 8.19.0
- /hosted-git-info/4.1.0:
- resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==}
- engines: {node: '>=10'}
+ acorn-walk@8.3.5:
dependencies:
- lru-cache: registry.npmmirror.com/lru-cache/6.0.0
- dev: true
+ acorn: 8.19.0
- /human-signals/2.1.0:
- resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
- engines: {node: '>=10.17.0'}
- dev: true
+ acorn@8.19.0: {}
- /husky/8.0.1:
- resolution: {integrity: sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==}
- engines: {node: '>=14'}
- hasBin: true
- dev: true
+ ajv-draft-04@1.0.0(ajv@8.20.0):
+ optionalDependencies:
+ ajv: 8.20.0
- /iconv-lite/0.4.24:
- resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
- engines: {node: '>=0.10.0'}
+ ajv-i18n@4.2.0(ajv@8.20.0):
dependencies:
- safer-buffer: 2.1.2
- dev: true
+ ajv: 8.20.0
- /import-fresh/3.3.0:
- resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
- engines: {node: '>=6'}
+ ajv@8.20.0:
dependencies:
- parent-module: 1.0.1
- resolve-from: 4.0.0
- dev: true
+ fast-deep-equal: 3.1.3
+ fast-uri: 3.1.8
+ json-schema-traverse: 1.0.0
+ require-from-string: 2.0.2
- /indent-string/4.0.0:
- resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
- engines: {node: '>=8'}
- dev: true
+ am-i-vibing@0.4.0:
+ dependencies:
+ process-ancestry: 0.1.0
- /inflight/1.0.6:
- resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=}
+ ansi-escapes@4.3.2:
dependencies:
- once: 1.4.0
- wrappy: 1.0.2
- dev: true
+ type-fest: 0.21.3
- /inherits/2.0.4:
- resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
- dev: true
+ ansi-regex@5.0.1: {}
- /ini/1.3.8:
- resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
- dev: true
+ ansi-regex@6.4.0: {}
- /inquirer/6.5.2:
- resolution: {integrity: sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==}
- engines: {node: '>=6.0.0'}
+ ansi-styles@3.2.1:
dependencies:
- ansi-escapes: 3.2.0
- chalk: 2.4.2
- cli-cursor: 2.1.0
- cli-width: 2.2.1
- external-editor: 3.1.0
- figures: 2.0.0
- lodash: 4.17.21
- mute-stream: 0.0.7
- run-async: 2.4.1
- rxjs: 6.6.7
- string-width: 2.1.1
- strip-ansi: 5.2.0
- through: 2.3.8
- dev: true
-
- /is-fullwidth-code-point/2.0.0:
- resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==}
- engines: {node: '>=4'}
- dev: true
-
- /is-fullwidth-code-point/3.0.0:
- resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
- engines: {node: '>=8'}
- dev: true
+ color-convert: 1.9.3
- /is-glob/4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
+ ansi-styles@4.3.0:
dependencies:
- is-extglob: registry.npmmirror.com/is-extglob/2.1.1
- dev: true
+ color-convert: 2.0.1
- /is-stream/2.0.1:
- resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
- engines: {node: '>=8'}
- dev: true
+ ansi-styles@6.2.3: {}
- /is-text-path/1.0.1:
- resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==}
- engines: {node: '>=0.10.0'}
+ anymatch@3.1.3:
dependencies:
- text-extensions: 1.9.0
- dev: true
+ normalize-path: 3.0.0
+ picomatch: 2.3.2
- /is-utf8/0.2.1:
- resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==}
- dev: true
+ arg@4.1.3: {}
- /is-windows/1.0.2:
- resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
- engines: {node: '>=0.10.0'}
- dev: true
+ arg@5.0.2: {}
- /isexe/2.0.0:
- resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=}
- dev: true
+ argparse@2.0.1: {}
- /json-schema-traverse/1.0.0:
- resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
- dev: true
+ argue-cli@3.2.0:
+ optional: true
- /jsonfile/4.0.0:
- resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
+ aria-query@5.3.2: {}
+
+ array-ify@1.0.0: {}
+
+ array-iterate@2.0.1: {}
+
+ arrify@1.0.1: {}
+
+ astring@1.9.0: {}
+
+ astro@7.3.5(@astrojs/markdown-remark@7.3.1)(@types/node@22.20.5)(jiti@2.6.1)(yaml@2.9.1):
+ dependencies:
+ '@astrojs/compiler-rs': 0.5.1
+ '@astrojs/internal-helpers': 0.11.0
+ '@astrojs/markdown-satteri': 0.4.2
+ '@astrojs/telemetry': 3.3.3
+ '@capsizecss/unpack': 4.0.1
+ '@clack/prompts': 1.8.1
+ '@oslojs/encoding': 1.1.0
+ am-i-vibing: 0.4.0
+ aria-query: 5.3.2
+ axobject-query: 4.1.0
+ ci-info: 4.4.0
+ clsx: 2.1.1
+ common-ancestor-path: 2.0.0
+ cookie: 2.0.1
+ devalue: 5.9.4
+ diff: 9.0.0
+ dset: 3.1.4
+ es-module-lexer: 2.3.2
+ esbuild: 0.28.2
+ find-proc: 0.2.0
+ flattie: 1.1.1
+ fontace: 0.4.1
+ get-tsconfig: 5.0.0-beta.4
+ github-slugger: 2.0.0
+ html-escaper: 3.0.3
+ http-cache-semantics: 4.3.0
+ js-yaml: 4.3.2
+ jsonc-parser: 3.3.1
+ magic-string: 1.4.3
+ magicast: 0.5.5
+ mrmime: 2.0.1
+ neotraverse: 1.0.1
+ obug: 3.0.0
+ p-limit: 7.3.3
+ p-queue: 9.3.3
+ package-manager-detector: 1.9.0
+ piccolore: 0.1.3
+ picomatch: 4.0.7
+ shiki: 4.5.0
+ smol-toml: 1.9.0
+ svgo: 4.1.0
+ tinyclip: 1.0.3
+ tinyexec: 1.3.1
+ tinyglobby: 0.2.17
+ ultrahtml: 1.7.0
+ unifont: 0.7.5
+ unstorage: 1.17.5
+ verkit: 0.4.1
+ vite: 8.3.2(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)
+ vitefu: 1.1.3(vite@8.3.2(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1))
+ xxhash-wasm: 1.1.0
+ yargs-parser: 22.0.0
+ zod: 4.6.5
optionalDependencies:
- graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10
- dev: true
+ '@astrojs/markdown-remark': 7.3.1
+ sharp: 0.35.5(@types/node@22.20.5)
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@types/node'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - '@vitejs/devtools'
+ - aws4fetch
+ - db0
+ - idb-keyval
+ - ioredis
+ - jiti
+ - less
+ - sass
+ - sass-embedded
+ - stylus
+ - sugarss
+ - terser
+ - tsx
+ - uploadthing
+ - yaml
- /jsonparse/1.3.1:
- resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==}
- engines: {'0': node >= 0.2.0}
- dev: true
+ at-least-node@1.0.0: {}
- /lines-and-columns/1.2.4:
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
- dev: true
+ axobject-query@4.1.0: {}
- /locate-path/5.0.0:
- resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
- engines: {node: '>=8'}
- dependencies:
- p-locate: 4.1.0
- dev: true
+ bail@2.0.2: {}
- /locate-path/6.0.0:
- resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
- engines: {node: '>=10'}
+ balanced-match@1.0.2: {}
+
+ base64-js@1.5.1: {}
+
+ bl@4.1.0:
dependencies:
- p-locate: 5.0.0
- dev: true
+ buffer: 5.7.1
+ inherits: 2.0.4
+ readable-stream: 3.6.2
- /lodash.map/4.6.0:
- resolution: {integrity: sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==}
- dev: true
+ boolbase@1.0.0: {}
- /lodash/4.17.21:
- resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
- dev: true
+ brace-expansion@1.1.21:
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
- /longest/2.0.1:
- resolution: {integrity: sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==}
- engines: {node: '>=0.10.0'}
- dev: true
+ braces@3.0.3:
+ dependencies:
+ fill-range: 7.1.1
- /make-error/1.3.6:
- resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
- dev: true
+ buffer@5.7.1:
+ dependencies:
+ base64-js: 1.5.1
+ ieee754: 1.2.1
- /map-obj/1.0.1:
- resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==}
- engines: {node: '>=0.10.0'}
- dev: true
+ cachedir@2.4.0: {}
- /map-obj/4.3.0:
- resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==}
- engines: {node: '>=8'}
- dev: true
+ callsites@3.1.0: {}
- /meow/8.1.2:
- resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==}
- engines: {node: '>=10'}
+ camelcase-keys@6.2.2:
dependencies:
- '@types/minimist': 1.2.2
- camelcase-keys: 6.2.2
- decamelize-keys: 1.1.0
- hard-rejection: 2.1.0
- minimist-options: 4.1.0
- normalize-package-data: 3.0.3
- read-pkg-up: 7.0.1
- redent: 3.0.0
- trim-newlines: 3.0.1
- type-fest: registry.npmmirror.com/type-fest/0.18.1
- yargs-parser: 20.2.9
- dev: true
-
- /merge-stream/2.0.0:
- resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
- dev: true
+ camelcase: 5.3.1
+ map-obj: 4.3.0
+ quick-lru: 4.0.1
- /merge/2.1.1:
- resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==}
- dev: true
+ camelcase@5.3.1: {}
- /micromatch/4.0.5:
- resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
- engines: {node: '>=8.6'}
+ cbor-extract@2.2.2:
dependencies:
- braces: registry.npmmirror.com/braces/3.0.2
- picomatch: registry.npmmirror.com/picomatch/2.3.1
- dev: true
+ node-gyp-build-optional-packages: 5.1.1
+ optionalDependencies:
+ '@cbor-extract/cbor-extract-darwin-arm64': 2.2.2
+ '@cbor-extract/cbor-extract-darwin-x64': 2.2.2
+ '@cbor-extract/cbor-extract-linux-arm': 2.2.2
+ '@cbor-extract/cbor-extract-linux-arm64': 2.2.2
+ '@cbor-extract/cbor-extract-linux-x64': 2.2.2
+ '@cbor-extract/cbor-extract-win32-x64': 2.2.2
+ optional: true
- /mimic-fn/2.1.0:
- resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
- engines: {node: '>=6'}
- dev: true
+ cbor-x@1.6.6:
+ optionalDependencies:
+ cbor-extract: 2.2.2
- /min-indent/1.0.1:
- resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
- engines: {node: '>=4'}
- dev: true
+ ccount@2.0.1: {}
- /minimatch/3.1.2:
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ chalk@2.4.2:
dependencies:
- brace-expansion: 1.1.11
- dev: true
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
- /minimist-options/4.1.0:
- resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==}
- engines: {node: '>= 6'}
+ chalk@4.1.2:
dependencies:
- arrify: 1.0.1
- is-plain-obj: registry.npmmirror.com/is-plain-obj/1.1.0
- kind-of: registry.npmmirror.com/kind-of/6.0.3
- dev: true
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
- /minimist/1.2.5:
- resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==}
- dev: true
+ character-entities-html4@2.1.0: {}
- /mute-stream/0.0.7:
- resolution: {integrity: sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==}
- dev: true
+ character-entities-legacy@3.0.0: {}
- /normalize-package-data/2.5.0:
- resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
- dependencies:
- hosted-git-info: 2.8.9
- resolve: registry.npmmirror.com/resolve/1.22.1
- semver: registry.npmmirror.com/semver/5.7.1
- validate-npm-package-license: 3.0.4
- dev: true
+ character-entities@2.0.2: {}
- /normalize-package-data/3.0.3:
- resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==}
- engines: {node: '>=10'}
- dependencies:
- hosted-git-info: 4.1.0
- is-core-module: registry.npmmirror.com/is-core-module/2.9.0
- semver: registry.npmmirror.com/semver/7.3.8
- validate-npm-package-license: 3.0.4
- dev: true
+ character-reference-invalid@2.0.1: {}
- /npm-run-path/4.0.1:
- resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
- engines: {node: '>=8'}
- dependencies:
- path-key: 3.1.1
- dev: true
+ chardet@2.2.0: {}
- /once/1.4.0:
- resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=}
+ chokidar@4.0.3:
dependencies:
- wrappy: 1.0.2
- dev: true
+ readdirp: 4.1.2
- /onetime/5.1.2:
- resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
- engines: {node: '>=6'}
+ chokidar@5.0.0:
dependencies:
- mimic-fn: 2.1.0
- dev: true
+ readdirp: 5.1.1
- /os-tmpdir/1.0.2:
- resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
- engines: {node: '>=0.10.0'}
- dev: true
+ ci-info@4.4.0: {}
- /p-limit/2.3.0:
- resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
- engines: {node: '>=6'}
+ cli-cursor@3.1.0:
dependencies:
- p-try: 2.2.0
- dev: true
+ restore-cursor: 3.1.0
- /p-limit/3.1.0:
- resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
- engines: {node: '>=10'}
- dependencies:
- yocto-queue: 0.1.0
- dev: true
+ cli-spinners@2.9.2: {}
- /p-locate/4.1.0:
- resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
- engines: {node: '>=8'}
+ cli-width@3.0.0: {}
+
+ cliui@8.0.1:
dependencies:
- p-limit: 2.3.0
- dev: true
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 7.0.0
- /p-locate/5.0.0:
- resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
- engines: {node: '>=10'}
+ cliui@9.0.1:
dependencies:
- p-limit: 3.1.0
- dev: true
+ string-width: 7.2.0
+ strip-ansi: 7.2.0
+ wrap-ansi: 9.0.2
- /p-try/2.2.0:
- resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
- engines: {node: '>=6'}
- dev: true
+ clone@1.0.4: {}
- /parent-module/1.0.1:
- resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
- engines: {node: '>=6'}
+ clsx@2.1.1: {}
+
+ collapse-white-space@2.1.0: {}
+
+ color-convert@1.9.3:
dependencies:
- callsites: registry.npmmirror.com/callsites/3.1.0
- dev: true
+ color-name: 1.1.3
- /parse-json/5.2.0:
- resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
- engines: {node: '>=8'}
+ color-convert@2.0.1:
dependencies:
- '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.16.7
- error-ex: 1.3.2
- json-parse-even-better-errors: registry.npmmirror.com/json-parse-even-better-errors/2.3.1
- lines-and-columns: 1.2.4
- dev: true
+ color-name: 1.1.4
- /parse-passwd/1.0.0:
- resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==}
- engines: {node: '>=0.10.0'}
- dev: true
+ color-name@1.1.3: {}
- /path-exists/4.0.0:
- resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
- engines: {node: '>=8'}
- dev: true
+ color-name@1.1.4: {}
- /path-is-absolute/1.0.1:
- resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=}
- engines: {node: '>=0.10.0'}
- dev: true
+ comma-separated-tokens@2.0.3: {}
- /path-key/3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
- dev: true
+ commander@11.1.0: {}
- /path-type/4.0.0:
- resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
- engines: {node: '>=8'}
- dev: true
+ commander@7.2.0: {}
- /q/1.5.1:
- resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==}
- engines: {node: '>=0.6.0', teleport: '>=0.2.0'}
- dev: true
+ commander@8.3.0: {}
- /quick-lru/4.0.1:
- resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==}
- engines: {node: '>=8'}
- dev: true
+ commitizen@4.3.2(@types/node@22.20.5)(typescript@6.0.3):
+ dependencies:
+ cachedir: 2.4.0
+ cz-conventional-changelog: 3.3.0(@types/node@22.20.5)(typescript@6.0.3)
+ dedent: 0.7.0
+ detect-indent: 6.1.0
+ find-node-modules: 2.1.3
+ find-root: 1.1.0
+ fs-extra: 9.1.0
+ glob: 7.2.3
+ inquirer: 8.2.7(@types/node@22.20.5)
+ is-utf8: 0.2.1
+ lodash: 4.18.1
+ minimist: 1.2.8
+ strip-bom: 4.0.0
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - '@types/node'
+ - typescript
- /read-pkg-up/7.0.1:
- resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
- engines: {node: '>=8'}
+ common-ancestor-path@2.0.0: {}
+
+ compare-func@2.0.0:
dependencies:
- find-up: 4.1.0
- read-pkg: 5.2.0
- type-fest: registry.npmmirror.com/type-fest/0.8.1
- dev: true
+ array-ify: 1.0.0
+ dot-prop: 5.3.0
- /read-pkg/5.2.0:
- resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
- engines: {node: '>=8'}
+ concat-map@0.0.1: {}
+
+ conventional-changelog-angular@6.0.0:
dependencies:
- '@types/normalize-package-data': 2.4.1
- normalize-package-data: 2.5.0
- parse-json: registry.npmmirror.com/parse-json/5.2.0
- type-fest: registry.npmmirror.com/type-fest/0.6.0
- dev: true
+ compare-func: 2.0.0
- /redent/3.0.0:
- resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
- engines: {node: '>=8'}
+ conventional-changelog-conventionalcommits@6.1.0:
dependencies:
- indent-string: 4.0.0
- strip-indent: 3.0.0
- dev: true
+ compare-func: 2.0.0
+
+ conventional-commit-types@3.0.0: {}
+
+ conventional-commits-parser@4.0.0:
+ dependencies:
+ JSONStream: 1.3.5
+ is-text-path: 1.0.1
+ meow: 8.1.2
+ split2: 3.2.2
+
+ conventional-commits-parser@7.1.3:
+ dependencies:
+ '@simple-libs/stream-utils': 2.0.0
+ argue-cli: 3.2.0
+ optional: true
- /require-directory/2.1.1:
- resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
- engines: {node: '>=0.10.0'}
- dev: true
+ cookie-es@1.2.3: {}
- /require-from-string/2.0.2:
- resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
- engines: {node: '>=0.10.0'}
- dev: true
+ cookie@2.0.1: {}
- /resolve-dir/1.0.1:
- resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==}
- engines: {node: '>=0.10.0'}
+ cose-base@1.0.3:
dependencies:
- expand-tilde: 2.0.2
- global-modules: 1.0.0
- dev: true
+ layout-base: 1.0.2
- /resolve-from/4.0.0:
- resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
- engines: {node: '>=4'}
- dev: true
+ cose-base@2.2.0:
+ dependencies:
+ layout-base: 2.0.1
- /resolve-from/5.0.0:
- resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
- engines: {node: '>=8'}
- dev: true
+ cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.9.3))(ts-node@10.9.2(@types/node@22.20.5)(typescript@6.0.3))(typescript@5.9.3):
+ dependencies:
+ '@types/node': 20.5.1
+ cosmiconfig: 8.3.6(typescript@5.9.3)
+ ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.9.3)
+ typescript: 5.9.3
- /resolve-global/1.0.0:
- resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==}
- engines: {node: '>=8'}
+ cosmiconfig-typescript-loader@6.3.0(@types/node@22.20.5)(cosmiconfig@9.0.2(typescript@6.0.3))(typescript@6.0.3):
dependencies:
- global-dirs: 0.1.1
- dev: true
+ '@types/node': 22.20.5
+ cosmiconfig: 9.0.2(typescript@6.0.3)
+ jiti: 2.6.1
+ typescript: 6.0.3
+ optional: true
- /restore-cursor/2.0.0:
- resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==}
- engines: {node: '>=4'}
+ cosmiconfig@8.3.6(typescript@5.9.3):
dependencies:
- onetime: registry.npmmirror.com/onetime/2.0.1
- signal-exit: registry.npmmirror.com/signal-exit/3.0.7
- dev: true
+ import-fresh: 3.3.1
+ js-yaml: 4.3.2
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ optionalDependencies:
+ typescript: 5.9.3
- /run-async/2.4.1:
- resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
- engines: {node: '>=0.12.0'}
- dev: true
+ cosmiconfig@9.0.2(typescript@6.0.3):
+ dependencies:
+ env-paths: 2.2.1
+ import-fresh: 3.3.1
+ js-yaml: 4.3.2
+ parse-json: 5.2.0
+ optionalDependencies:
+ typescript: 6.0.3
+ optional: true
- /rxjs/6.6.7:
- resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==}
- engines: {npm: '>=2.0.0'}
+ create-require@1.1.1: {}
+
+ cross-spawn@7.0.6:
dependencies:
- tslib: 1.14.1
- dev: true
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
- /safer-buffer/2.1.2:
- resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
- dev: true
+ crossws@0.3.5:
+ dependencies:
+ uncrypto: 0.1.3
- /semver/7.3.7:
- resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==}
- engines: {node: '>=10'}
- hasBin: true
+ css-select@6.0.0:
dependencies:
- lru-cache: registry.npmmirror.com/lru-cache/6.0.0
- dev: true
+ boolbase: 1.0.0
+ css-what: 7.0.0
+ domhandler: 5.0.3
+ domutils: 3.2.2
+ nth-check: 2.1.1
- /shebang-command/2.0.0:
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
- engines: {node: '>=8'}
+ css-tree@2.2.1:
dependencies:
- shebang-regex: 3.0.0
- dev: true
+ mdn-data: 2.0.28
+ source-map-js: 1.2.2
- /shebang-regex/3.0.0:
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
- engines: {node: '>=8'}
- dev: true
+ css-tree@3.2.1:
+ dependencies:
+ mdn-data: 2.27.1
+ source-map-js: 1.2.2
- /signal-exit/3.0.7:
- resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
- dev: true
+ css-what@7.0.0: {}
- /spdx-correct/3.1.1:
- resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==}
+ csso@5.0.5:
dependencies:
- spdx-expression-parse: 3.0.1
- spdx-license-ids: 3.0.11
- dev: true
+ css-tree: 2.2.1
- /spdx-exceptions/2.3.0:
- resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==}
- dev: true
+ cytoscape-cose-bilkent@4.1.0(cytoscape@3.34.3):
+ dependencies:
+ cose-base: 1.0.3
+ cytoscape: 3.34.3
- /spdx-expression-parse/3.0.1:
- resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
+ cytoscape-fcose@2.2.0(cytoscape@3.34.3):
dependencies:
- spdx-exceptions: 2.3.0
- spdx-license-ids: 3.0.11
- dev: true
+ cose-base: 2.2.0
+ cytoscape: 3.34.3
- /spdx-license-ids/3.0.11:
- resolution: {integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==}
- dev: true
+ cytoscape@3.34.3: {}
- /split2/3.2.2:
- resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==}
+ cz-conventional-changelog@3.3.0(@types/node@22.20.5)(typescript@6.0.3):
dependencies:
- readable-stream: registry.npmmirror.com/readable-stream/3.6.0
- dev: true
+ chalk: 2.4.2
+ commitizen: 4.3.2(@types/node@22.20.5)(typescript@6.0.3)
+ conventional-commit-types: 3.0.0
+ lodash.map: 4.6.0
+ longest: 2.0.1
+ word-wrap: 1.2.5
+ optionalDependencies:
+ '@commitlint/load': 21.2.3(@types/node@22.20.5)(typescript@6.0.3)
+ transitivePeerDependencies:
+ - '@types/node'
+ - typescript
- /string-width/2.1.1:
- resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==}
- engines: {node: '>=4'}
+ d3-array@2.12.1:
dependencies:
- is-fullwidth-code-point: 2.0.0
- strip-ansi: 4.0.0
- dev: true
+ internmap: 1.0.1
- /string-width/4.2.3:
- resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
- engines: {node: '>=8'}
+ d3-array@3.2.4:
dependencies:
- emoji-regex: 8.0.0
- is-fullwidth-code-point: 3.0.0
- strip-ansi: registry.npmmirror.com/strip-ansi/6.0.1
- dev: true
+ internmap: 2.0.3
- /strip-ansi/4.0.0:
- resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==}
- engines: {node: '>=4'}
+ d3-axis@3.0.0: {}
+
+ d3-brush@3.0.0:
dependencies:
- ansi-regex: registry.npmmirror.com/ansi-regex/3.0.1
- dev: true
+ d3-dispatch: 3.0.1
+ d3-drag: 3.0.0
+ d3-interpolate: 3.0.1
+ d3-selection: 3.0.0
+ d3-transition: 3.0.1(d3-selection@3.0.0)
- /strip-ansi/5.2.0:
- resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==}
- engines: {node: '>=6'}
+ d3-chord@3.0.1:
dependencies:
- ansi-regex: 4.1.1
- dev: true
+ d3-path: 3.1.0
- /strip-bom/4.0.0:
- resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
- engines: {node: '>=8'}
- dev: true
+ d3-color@3.1.0: {}
- /strip-final-newline/2.0.0:
- resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
- engines: {node: '>=6'}
- dev: true
+ d3-contour@4.0.2:
+ dependencies:
+ d3-array: 3.2.4
- /strip-indent/3.0.0:
- resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
- engines: {node: '>=8'}
+ d3-delaunay@6.0.4:
dependencies:
- min-indent: 1.0.1
- dev: true
+ delaunator: 5.1.0
- /strip-json-comments/3.0.1:
- resolution: {integrity: sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==}
- engines: {node: '>=8'}
- dev: true
+ d3-dispatch@3.0.1: {}
- /supports-color/5.5.0:
- resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
- engines: {node: '>=4'}
+ d3-drag@3.0.0:
dependencies:
- has-flag: 3.0.0
- dev: true
+ d3-dispatch: 3.0.1
+ d3-selection: 3.0.0
- /supports-color/7.2.0:
- resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
- engines: {node: '>=8'}
+ d3-dsv@3.0.1:
dependencies:
- has-flag: registry.npmmirror.com/has-flag/4.0.0
- dev: true
+ commander: 7.2.0
+ iconv-lite: 0.6.3
+ rw: 1.3.3
- /text-extensions/1.9.0:
- resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==}
- engines: {node: '>=0.10'}
- dev: true
+ d3-ease@3.0.1: {}
- /through/2.3.8:
- resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
- dev: true
+ d3-fetch@3.0.1:
+ dependencies:
+ d3-dsv: 3.0.1
- /through2/4.0.2:
- resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==}
+ d3-force@3.0.0:
dependencies:
- readable-stream: registry.npmmirror.com/readable-stream/3.6.0
- dev: true
+ d3-dispatch: 3.0.1
+ d3-quadtree: 3.0.1
+ d3-timer: 3.0.1
- /tmp/0.0.33:
- resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
- engines: {node: '>=0.6.0'}
+ d3-format@3.1.2: {}
+
+ d3-geo@3.1.1:
dependencies:
- os-tmpdir: 1.0.2
- dev: true
+ d3-array: 3.2.4
- /trim-newlines/3.0.1:
- resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==}
- engines: {node: '>=8'}
- dev: true
+ d3-hierarchy@3.1.2: {}
- /ts-node/10.8.2_wkok7lthibal5qjhsdd5yq2cfe:
- resolution: {integrity: sha512-LYdGnoGddf1D6v8REPtIH+5iq/gTDuZqv2/UJUU7tKjuEU8xVZorBM+buCGNjj+pGEud+sOoM4CX3/YzINpENA==}
- hasBin: true
- peerDependencies:
- '@swc/core': '>=1.2.50'
- '@swc/wasm': '>=1.2.50'
- '@types/node': '*'
- typescript: '>=2.7'
- peerDependenciesMeta:
- '@swc/core':
- optional: true
- '@swc/wasm':
- optional: true
+ d3-interpolate@3.0.1:
dependencies:
- '@cspotcode/source-map-support': 0.8.1
- '@tsconfig/node10': 1.0.9
- '@tsconfig/node12': 1.0.11
- '@tsconfig/node14': 1.0.3
- '@tsconfig/node16': 1.0.3
- '@types/node': 17.0.32
- acorn: registry.npmmirror.com/acorn/8.7.1
- acorn-walk: 8.2.0
- arg: registry.npmmirror.com/arg/4.1.3
- create-require: 1.1.1
- diff: 4.0.2
- make-error: 1.3.6
- typescript: 4.7.4
- v8-compile-cache-lib: 3.0.1
- yn: 3.1.1
- dev: true
+ d3-color: 3.1.0
- /tslib/1.14.1:
- resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
- dev: true
+ d3-path@1.0.9: {}
- /typescript/4.7.4:
- resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==}
- engines: {node: '>=4.2.0'}
- hasBin: true
- dev: true
+ d3-path@3.1.0: {}
- /universalify/0.1.2:
- resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
- engines: {node: '>= 4.0.0'}
- dev: true
+ d3-polygon@3.0.1: {}
+
+ d3-quadtree@3.0.1: {}
- /uri-js/4.4.1:
- resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+ d3-random@3.0.1: {}
+
+ d3-sankey@0.12.3:
dependencies:
- punycode: registry.npmmirror.com/punycode/2.1.1
- dev: true
+ d3-array: 2.12.1
+ d3-shape: 1.3.7
- /v8-compile-cache-lib/3.0.1:
- resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
- dev: true
+ d3-scale-chromatic@3.1.0:
+ dependencies:
+ d3-color: 3.1.0
+ d3-interpolate: 3.0.1
- /validate-npm-package-license/3.0.4:
- resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
+ d3-scale@4.0.2:
dependencies:
- spdx-correct: 3.1.1
- spdx-expression-parse: 3.0.1
- dev: true
+ d3-array: 3.2.4
+ d3-format: 3.1.2
+ d3-interpolate: 3.0.1
+ d3-time: 3.1.0
+ d3-time-format: 4.1.0
- /which/2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
- hasBin: true
+ d3-selection@3.0.0: {}
+
+ d3-shape@1.3.7:
dependencies:
- isexe: 2.0.0
- dev: true
+ d3-path: 1.0.9
- /word-wrap/1.2.3:
- resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
- engines: {node: '>=0.10.0'}
- dev: true
+ d3-shape@3.2.0:
+ dependencies:
+ d3-path: 3.1.0
- /wrap-ansi/7.0.0:
- resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
- engines: {node: '>=10'}
+ d3-time-format@4.1.0:
dependencies:
- ansi-styles: registry.npmmirror.com/ansi-styles/4.3.0
- string-width: 4.2.3
- strip-ansi: registry.npmmirror.com/strip-ansi/6.0.1
- dev: true
+ d3-time: 3.1.0
- /wrappy/1.0.2:
- resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=}
- dev: true
+ d3-time@3.1.0:
+ dependencies:
+ d3-array: 3.2.4
- /y18n/5.0.8:
- resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
- engines: {node: '>=10'}
- dev: true
+ d3-timer@3.0.1: {}
- /yaml/1.10.2:
- resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
- engines: {node: '>= 6'}
- dev: true
+ d3-transition@3.0.1(d3-selection@3.0.0):
+ dependencies:
+ d3-color: 3.1.0
+ d3-dispatch: 3.0.1
+ d3-ease: 3.0.1
+ d3-interpolate: 3.0.1
+ d3-selection: 3.0.0
+ d3-timer: 3.0.1
- /yargs-parser/20.2.9:
- resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
- engines: {node: '>=10'}
- dev: true
+ d3-zoom@3.0.0:
+ dependencies:
+ d3-dispatch: 3.0.1
+ d3-drag: 3.0.0
+ d3-interpolate: 3.0.1
+ d3-selection: 3.0.0
+ d3-transition: 3.0.1(d3-selection@3.0.0)
- /yargs-parser/21.0.1:
- resolution: {integrity: sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==}
- engines: {node: '>=12'}
- dev: true
+ d3@7.9.0:
+ dependencies:
+ d3-array: 3.2.4
+ d3-axis: 3.0.0
+ d3-brush: 3.0.0
+ d3-chord: 3.0.1
+ d3-color: 3.1.0
+ d3-contour: 4.0.2
+ d3-delaunay: 6.0.4
+ d3-dispatch: 3.0.1
+ d3-drag: 3.0.0
+ d3-dsv: 3.0.1
+ d3-ease: 3.0.1
+ d3-fetch: 3.0.1
+ d3-force: 3.0.0
+ d3-format: 3.1.2
+ d3-geo: 3.1.1
+ d3-hierarchy: 3.1.2
+ d3-interpolate: 3.0.1
+ d3-path: 3.1.0
+ d3-polygon: 3.0.1
+ d3-quadtree: 3.0.1
+ d3-random: 3.0.1
+ d3-scale: 4.0.2
+ d3-scale-chromatic: 3.1.0
+ d3-selection: 3.0.0
+ d3-shape: 3.2.0
+ d3-time: 3.1.0
+ d3-time-format: 4.1.0
+ d3-timer: 3.0.1
+ d3-transition: 3.0.1(d3-selection@3.0.0)
+ d3-zoom: 3.0.0
- /yargs/17.5.1:
- resolution: {integrity: sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==}
- engines: {node: '>=12'}
+ dagre-d3-es@7.0.14:
dependencies:
- cliui: 7.0.4
- escalade: 3.1.1
- get-caller-file: 2.0.5
- require-directory: 2.1.1
- string-width: 4.2.3
- y18n: 5.0.8
- yargs-parser: 21.0.1
- dev: true
+ d3: 7.9.0
+ lodash-es: 4.18.1
- /yn/3.1.1:
- resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
- engines: {node: '>=6'}
- dev: true
+ dargs@7.0.0: {}
- /yocto-queue/0.1.0:
- resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
- engines: {node: '>=10'}
- dev: true
+ dayjs@1.11.23: {}
- registry.npmmirror.com/@ampproject/remapping/2.2.0:
- resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.2.0.tgz}
- name: '@ampproject/remapping'
- version: 2.2.0
- engines: {node: '>=6.0.0'}
+ debug@4.4.3:
dependencies:
- '@jridgewell/gen-mapping': registry.npmmirror.com/@jridgewell/gen-mapping/0.1.1
- '@jridgewell/trace-mapping': registry.npmmirror.com/@jridgewell/trace-mapping/0.3.17
- dev: true
+ ms: 2.1.3
- registry.npmmirror.com/@apideck/better-ajv-errors/0.3.3_ajv@8.11.0:
- resolution: {integrity: sha512-9o+HO2MbJhJHjDYZaDxJmSDckvDpiuItEsrIShV0DXeCshXWRHhqYyU/PKHMkuClOmFnZhRd6wzv4vpDu/dRKg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.3.tgz}
- id: registry.npmmirror.com/@apideck/better-ajv-errors/0.3.3
- name: '@apideck/better-ajv-errors'
- version: 0.3.3
- engines: {node: '>=10'}
- peerDependencies:
- ajv: '>=8'
- dependencies:
- ajv: registry.npmmirror.com/ajv/8.11.0
- json-schema: registry.npmmirror.com/json-schema/0.4.0
- jsonpointer: registry.npmmirror.com/jsonpointer/5.0.0
- leven: registry.npmmirror.com/leven/3.1.0
- dev: true
-
- registry.npmmirror.com/@babel/code-frame/7.16.7:
- resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.16.7.tgz}
- name: '@babel/code-frame'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
+ decamelize-keys@1.1.1:
dependencies:
- '@babel/highlight': registry.npmmirror.com/@babel/highlight/7.17.9
- dev: true
+ decamelize: 1.2.0
+ map-obj: 1.0.1
- registry.npmmirror.com/@babel/compat-data/7.17.10:
- resolution: {integrity: sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.17.10.tgz}
- name: '@babel/compat-data'
- version: 7.17.10
- engines: {node: '>=6.9.0'}
- dev: true
+ decamelize@1.2.0: {}
- registry.npmmirror.com/@babel/core/7.17.10:
- resolution: {integrity: sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/core/-/core-7.17.10.tgz}
- name: '@babel/core'
- version: 7.17.10
- engines: {node: '>=6.9.0'}
+ decode-named-character-reference@1.3.0:
dependencies:
- '@ampproject/remapping': registry.npmmirror.com/@ampproject/remapping/2.2.0
- '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.16.7
- '@babel/generator': registry.npmmirror.com/@babel/generator/7.17.10
- '@babel/helper-compilation-targets': registry.npmmirror.com/@babel/helper-compilation-targets/7.17.10_@babel+core@7.17.10
- '@babel/helper-module-transforms': registry.npmmirror.com/@babel/helper-module-transforms/7.17.7
- '@babel/helpers': registry.npmmirror.com/@babel/helpers/7.17.9
- '@babel/parser': registry.npmmirror.com/@babel/parser/7.17.10
- '@babel/template': registry.npmmirror.com/@babel/template/7.16.7
- '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.17.10
- '@babel/types': registry.npmmirror.com/@babel/types/7.17.10
- convert-source-map: registry.npmmirror.com/convert-source-map/1.8.0
- debug: registry.npmmirror.com/debug/4.3.4
- gensync: registry.npmmirror.com/gensync/1.0.0-beta.2
- json5: registry.npmmirror.com/json5/2.2.1
- semver: registry.npmmirror.com/semver/6.3.0
- transitivePeerDependencies:
- - supports-color
- dev: true
+ character-entities: 2.0.2
- registry.npmmirror.com/@babel/generator/7.17.10:
- resolution: {integrity: sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/generator/-/generator-7.17.10.tgz}
- name: '@babel/generator'
- version: 7.17.10
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': registry.npmmirror.com/@babel/types/7.17.10
- '@jridgewell/gen-mapping': registry.npmmirror.com/@jridgewell/gen-mapping/0.1.1
- jsesc: registry.npmmirror.com/jsesc/2.5.2
- dev: true
+ dedent@0.7.0: {}
- registry.npmmirror.com/@babel/helper-annotate-as-pure/7.16.7:
- resolution: {integrity: sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz}
- name: '@babel/helper-annotate-as-pure'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
+ defaults@1.0.4:
dependencies:
- '@babel/types': registry.npmmirror.com/@babel/types/7.17.10
- dev: true
+ clone: 1.0.4
- registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/7.16.7:
- resolution: {integrity: sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz}
- name: '@babel/helper-builder-binary-assignment-operator-visitor'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
+ defu@6.1.7: {}
+
+ delaunator@5.1.0:
dependencies:
- '@babel/helper-explode-assignable-expression': registry.npmmirror.com/@babel/helper-explode-assignable-expression/7.16.7
- '@babel/types': registry.npmmirror.com/@babel/types/7.17.10
- dev: true
+ robust-predicates: 3.0.3
- registry.npmmirror.com/@babel/helper-compilation-targets/7.17.10_@babel+core@7.17.10:
- resolution: {integrity: sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz}
- id: registry.npmmirror.com/@babel/helper-compilation-targets/7.17.10
- name: '@babel/helper-compilation-targets'
- version: 7.17.10
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/compat-data': registry.npmmirror.com/@babel/compat-data/7.17.10
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-validator-option': registry.npmmirror.com/@babel/helper-validator-option/7.16.7
- browserslist: registry.npmmirror.com/browserslist/4.21.4
- semver: registry.npmmirror.com/semver/6.3.0
- dev: true
-
- registry.npmmirror.com/@babel/helper-create-class-features-plugin/7.17.9_@babel+core@7.17.10:
- resolution: {integrity: sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz}
- id: registry.npmmirror.com/@babel/helper-create-class-features-plugin/7.17.9
- name: '@babel/helper-create-class-features-plugin'
- version: 7.17.9
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-annotate-as-pure': registry.npmmirror.com/@babel/helper-annotate-as-pure/7.16.7
- '@babel/helper-environment-visitor': registry.npmmirror.com/@babel/helper-environment-visitor/7.16.7
- '@babel/helper-function-name': registry.npmmirror.com/@babel/helper-function-name/7.17.9
- '@babel/helper-member-expression-to-functions': registry.npmmirror.com/@babel/helper-member-expression-to-functions/7.17.7
- '@babel/helper-optimise-call-expression': registry.npmmirror.com/@babel/helper-optimise-call-expression/7.16.7
- '@babel/helper-replace-supers': registry.npmmirror.com/@babel/helper-replace-supers/7.16.7
- '@babel/helper-split-export-declaration': registry.npmmirror.com/@babel/helper-split-export-declaration/7.16.7
- transitivePeerDependencies:
- - supports-color
- dev: true
+ dequal@2.0.3: {}
- registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/7.17.0_@babel+core@7.17.10:
- resolution: {integrity: sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz}
- id: registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/7.17.0
- name: '@babel/helper-create-regexp-features-plugin'
- version: 7.17.0
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-annotate-as-pure': registry.npmmirror.com/@babel/helper-annotate-as-pure/7.16.7
- regexpu-core: registry.npmmirror.com/regexpu-core/5.0.1
- dev: true
-
- registry.npmmirror.com/@babel/helper-define-polyfill-provider/0.3.1_@babel+core@7.17.10:
- resolution: {integrity: sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz}
- id: registry.npmmirror.com/@babel/helper-define-polyfill-provider/0.3.1
- name: '@babel/helper-define-polyfill-provider'
- version: 0.3.1
- peerDependencies:
- '@babel/core': ^7.4.0-0
- dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-compilation-targets': registry.npmmirror.com/@babel/helper-compilation-targets/7.17.10_@babel+core@7.17.10
- '@babel/helper-module-imports': registry.npmmirror.com/@babel/helper-module-imports/7.16.7
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.17.10
- debug: registry.npmmirror.com/debug/4.3.4
- lodash.debounce: registry.npmmirror.com/lodash.debounce/4.0.8
- resolve: registry.npmmirror.com/resolve/1.22.1
- semver: registry.npmmirror.com/semver/6.3.0
- transitivePeerDependencies:
- - supports-color
- dev: true
+ destr@2.0.5: {}
- registry.npmmirror.com/@babel/helper-environment-visitor/7.16.7:
- resolution: {integrity: sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz}
- name: '@babel/helper-environment-visitor'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': registry.npmmirror.com/@babel/types/7.17.10
- dev: true
+ detect-file@1.0.0: {}
- registry.npmmirror.com/@babel/helper-explode-assignable-expression/7.16.7:
- resolution: {integrity: sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz}
- name: '@babel/helper-explode-assignable-expression'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': registry.npmmirror.com/@babel/types/7.17.10
- dev: true
+ detect-indent@6.1.0: {}
- registry.npmmirror.com/@babel/helper-function-name/7.17.9:
- resolution: {integrity: sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz}
- name: '@babel/helper-function-name'
- version: 7.17.9
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/template': registry.npmmirror.com/@babel/template/7.16.7
- '@babel/types': registry.npmmirror.com/@babel/types/7.17.10
- dev: true
+ detect-libc@2.1.2: {}
- registry.npmmirror.com/@babel/helper-hoist-variables/7.16.7:
- resolution: {integrity: sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz}
- name: '@babel/helper-hoist-variables'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': registry.npmmirror.com/@babel/types/7.17.10
- dev: true
+ devalue@5.9.4: {}
- registry.npmmirror.com/@babel/helper-member-expression-to-functions/7.17.7:
- resolution: {integrity: sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz}
- name: '@babel/helper-member-expression-to-functions'
- version: 7.17.7
- engines: {node: '>=6.9.0'}
+ devlop@1.1.0:
dependencies:
- '@babel/types': registry.npmmirror.com/@babel/types/7.17.10
- dev: true
+ dequal: 2.0.3
- registry.npmmirror.com/@babel/helper-module-imports/7.16.7:
- resolution: {integrity: sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz}
- name: '@babel/helper-module-imports'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': registry.npmmirror.com/@babel/types/7.17.10
- dev: true
+ diff@4.0.4: {}
- registry.npmmirror.com/@babel/helper-module-transforms/7.17.7:
- resolution: {integrity: sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz}
- name: '@babel/helper-module-transforms'
- version: 7.17.7
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-environment-visitor': registry.npmmirror.com/@babel/helper-environment-visitor/7.16.7
- '@babel/helper-module-imports': registry.npmmirror.com/@babel/helper-module-imports/7.16.7
- '@babel/helper-simple-access': registry.npmmirror.com/@babel/helper-simple-access/7.17.7
- '@babel/helper-split-export-declaration': registry.npmmirror.com/@babel/helper-split-export-declaration/7.16.7
- '@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier/7.16.7
- '@babel/template': registry.npmmirror.com/@babel/template/7.16.7
- '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.17.10
- '@babel/types': registry.npmmirror.com/@babel/types/7.17.10
- transitivePeerDependencies:
- - supports-color
- dev: true
+ diff@9.0.0: {}
- registry.npmmirror.com/@babel/helper-optimise-call-expression/7.16.7:
- resolution: {integrity: sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz}
- name: '@babel/helper-optimise-call-expression'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
+ dom-serializer@2.0.0:
dependencies:
- '@babel/types': registry.npmmirror.com/@babel/types/7.17.10
- dev: true
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ entities: 4.5.0
- registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7:
- resolution: {integrity: sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz}
- name: '@babel/helper-plugin-utils'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- dev: true
+ domelementtype@2.3.0: {}
- registry.npmmirror.com/@babel/helper-remap-async-to-generator/7.16.8:
- resolution: {integrity: sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz}
- name: '@babel/helper-remap-async-to-generator'
- version: 7.16.8
- engines: {node: '>=6.9.0'}
+ domhandler@5.0.3:
dependencies:
- '@babel/helper-annotate-as-pure': registry.npmmirror.com/@babel/helper-annotate-as-pure/7.16.7
- '@babel/helper-wrap-function': registry.npmmirror.com/@babel/helper-wrap-function/7.16.8
- '@babel/types': registry.npmmirror.com/@babel/types/7.17.10
- transitivePeerDependencies:
- - supports-color
- dev: true
+ domelementtype: 2.3.0
- registry.npmmirror.com/@babel/helper-replace-supers/7.16.7:
- resolution: {integrity: sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz}
- name: '@babel/helper-replace-supers'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
+ dompurify@3.4.16:
+ optionalDependencies:
+ '@types/trusted-types': 2.0.7
+
+ domutils@3.2.2:
dependencies:
- '@babel/helper-environment-visitor': registry.npmmirror.com/@babel/helper-environment-visitor/7.16.7
- '@babel/helper-member-expression-to-functions': registry.npmmirror.com/@babel/helper-member-expression-to-functions/7.17.7
- '@babel/helper-optimise-call-expression': registry.npmmirror.com/@babel/helper-optimise-call-expression/7.16.7
- '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.17.10
- '@babel/types': registry.npmmirror.com/@babel/types/7.17.10
- transitivePeerDependencies:
- - supports-color
- dev: true
+ dom-serializer: 2.0.0
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
- registry.npmmirror.com/@babel/helper-simple-access/7.17.7:
- resolution: {integrity: sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz}
- name: '@babel/helper-simple-access'
- version: 7.17.7
- engines: {node: '>=6.9.0'}
+ dot-prop@5.3.0:
dependencies:
- '@babel/types': registry.npmmirror.com/@babel/types/7.17.10
- dev: true
+ is-obj: 2.0.0
- registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/7.16.0:
- resolution: {integrity: sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz}
- name: '@babel/helper-skip-transparent-expression-wrappers'
- version: 7.16.0
- engines: {node: '>=6.9.0'}
+ dset@3.1.4: {}
+
+ emmet@2.4.11:
dependencies:
- '@babel/types': registry.npmmirror.com/@babel/types/7.17.10
- dev: true
+ '@emmetio/abbreviation': 2.3.3
+ '@emmetio/css-abbreviation': 2.1.8
- registry.npmmirror.com/@babel/helper-split-export-declaration/7.16.7:
- resolution: {integrity: sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz}
- name: '@babel/helper-split-export-declaration'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
+ emoji-regex@10.6.0: {}
+
+ emoji-regex@8.0.0: {}
+
+ entities@4.5.0: {}
+
+ entities@6.0.1: {}
+
+ env-paths@2.2.1:
+ optional: true
+
+ error-ex@1.3.4:
dependencies:
- '@babel/types': registry.npmmirror.com/@babel/types/7.17.10
- dev: true
+ is-arrayish: 0.2.1
- registry.npmmirror.com/@babel/helper-validator-identifier/7.16.7:
- resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz}
- name: '@babel/helper-validator-identifier'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- dev: true
+ es-errors@1.3.0: {}
- registry.npmmirror.com/@babel/helper-validator-option/7.16.7:
- resolution: {integrity: sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz}
- name: '@babel/helper-validator-option'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- dev: true
+ es-module-lexer@2.3.2: {}
- registry.npmmirror.com/@babel/helper-wrap-function/7.16.8:
- resolution: {integrity: sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz}
- name: '@babel/helper-wrap-function'
- version: 7.16.8
- engines: {node: '>=6.9.0'}
+ es-toolkit@1.52.0: {}
+
+ esast-util-from-estree@2.0.0:
dependencies:
- '@babel/helper-function-name': registry.npmmirror.com/@babel/helper-function-name/7.17.9
- '@babel/template': registry.npmmirror.com/@babel/template/7.16.7
- '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.17.10
- '@babel/types': registry.npmmirror.com/@babel/types/7.17.10
- transitivePeerDependencies:
- - supports-color
- dev: true
+ '@types/estree-jsx': 1.0.5
+ devlop: 1.1.0
+ estree-util-visit: 2.0.0
+ unist-util-position-from-estree: 2.0.0
- registry.npmmirror.com/@babel/helpers/7.17.9:
- resolution: {integrity: sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helpers/-/helpers-7.17.9.tgz}
- name: '@babel/helpers'
- version: 7.17.9
- engines: {node: '>=6.9.0'}
+ esast-util-from-js@2.0.1:
dependencies:
- '@babel/template': registry.npmmirror.com/@babel/template/7.16.7
- '@babel/traverse': registry.npmmirror.com/@babel/traverse/7.17.10
- '@babel/types': registry.npmmirror.com/@babel/types/7.17.10
- transitivePeerDependencies:
- - supports-color
- dev: true
+ '@types/estree-jsx': 1.0.5
+ acorn: 8.19.0
+ esast-util-from-estree: 2.0.0
+ vfile-message: 4.0.3
- registry.npmmirror.com/@babel/highlight/7.17.9:
- resolution: {integrity: sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/highlight/-/highlight-7.17.9.tgz}
- name: '@babel/highlight'
- version: 7.17.9
- engines: {node: '>=6.9.0'}
+ esbuild@0.28.2:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.28.2
+ '@esbuild/android-arm': 0.28.2
+ '@esbuild/android-arm64': 0.28.2
+ '@esbuild/android-x64': 0.28.2
+ '@esbuild/darwin-arm64': 0.28.2
+ '@esbuild/darwin-x64': 0.28.2
+ '@esbuild/freebsd-arm64': 0.28.2
+ '@esbuild/freebsd-x64': 0.28.2
+ '@esbuild/linux-arm': 0.28.2
+ '@esbuild/linux-arm64': 0.28.2
+ '@esbuild/linux-ia32': 0.28.2
+ '@esbuild/linux-loong64': 0.28.2
+ '@esbuild/linux-mips64el': 0.28.2
+ '@esbuild/linux-ppc64': 0.28.2
+ '@esbuild/linux-riscv64': 0.28.2
+ '@esbuild/linux-s390x': 0.28.2
+ '@esbuild/linux-x64': 0.28.2
+ '@esbuild/netbsd-arm64': 0.28.2
+ '@esbuild/netbsd-x64': 0.28.2
+ '@esbuild/openbsd-arm64': 0.28.2
+ '@esbuild/openbsd-x64': 0.28.2
+ '@esbuild/openharmony-arm64': 0.28.2
+ '@esbuild/sunos-x64': 0.28.2
+ '@esbuild/win32-arm64': 0.28.2
+ '@esbuild/win32-ia32': 0.28.2
+ '@esbuild/win32-x64': 0.28.2
+
+ escalade@3.2.0: {}
+
+ escape-string-regexp@1.0.5: {}
+
+ escape-string-regexp@5.0.0: {}
+
+ estree-util-attach-comments@3.0.0:
dependencies:
- '@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier/7.16.7
- chalk: registry.npmmirror.com/chalk/2.4.2
- js-tokens: registry.npmmirror.com/js-tokens/4.0.0
- dev: true
+ '@types/estree': 1.0.9
- registry.npmmirror.com/@babel/parser/7.17.10:
- resolution: {integrity: sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/parser/-/parser-7.17.10.tgz}
- name: '@babel/parser'
- version: 7.17.10
- engines: {node: '>=6.0.0'}
- hasBin: true
+ estree-util-build-jsx@3.0.1:
dependencies:
- '@babel/types': registry.npmmirror.com/@babel/types/7.17.10
- dev: true
+ '@types/estree-jsx': 1.0.5
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ estree-walker: 3.0.3
- registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.16.7
- name: '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
+ estree-util-is-identifier-name@3.0.0: {}
+
+ estree-util-scope@1.0.1:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ '@types/estree': 1.0.9
+ devlop: 1.1.0
- registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.16.7
- name: '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.13.0
- dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- '@babel/helper-skip-transparent-expression-wrappers': registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/7.16.0
- '@babel/plugin-proposal-optional-chaining': registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/7.16.7_@babel+core@7.17.10
- dev: true
-
- registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/7.16.8_@babel+core@7.17.10:
- resolution: {integrity: sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz}
- id: registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/7.16.8
- name: '@babel/plugin-proposal-async-generator-functions'
- version: 7.16.8
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ estree-util-to-js@2.0.0:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- '@babel/helper-remap-async-to-generator': registry.npmmirror.com/@babel/helper-remap-async-to-generator/7.16.8
- '@babel/plugin-syntax-async-generators': registry.npmmirror.com/@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.17.10
- transitivePeerDependencies:
- - supports-color
- dev: true
+ '@types/estree-jsx': 1.0.5
+ astring: 1.9.0
+ source-map: 0.7.6
- registry.npmmirror.com/@babel/plugin-proposal-class-properties/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-proposal-class-properties/7.16.7
- name: '@babel/plugin-proposal-class-properties'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ estree-util-visit@2.0.0:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-create-class-features-plugin': registry.npmmirror.com/@babel/helper-create-class-features-plugin/7.17.9_@babel+core@7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- transitivePeerDependencies:
- - supports-color
- dev: true
+ '@types/estree-jsx': 1.0.5
+ '@types/unist': 3.0.3
- registry.npmmirror.com/@babel/plugin-proposal-class-static-block/7.17.6_@babel+core@7.17.10:
- resolution: {integrity: sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz}
- id: registry.npmmirror.com/@babel/plugin-proposal-class-static-block/7.17.6
- name: '@babel/plugin-proposal-class-static-block'
- version: 7.17.6
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.12.0
+ estree-walker@3.0.3:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-create-class-features-plugin': registry.npmmirror.com/@babel/helper-create-class-features-plugin/7.17.9_@babel+core@7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- '@babel/plugin-syntax-class-static-block': registry.npmmirror.com/@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.17.10
- transitivePeerDependencies:
- - supports-color
- dev: true
+ '@types/estree': 1.0.9
- registry.npmmirror.com/@babel/plugin-proposal-dynamic-import/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-proposal-dynamic-import/7.16.7
- name: '@babel/plugin-proposal-dynamic-import'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- '@babel/plugin-syntax-dynamic-import': registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.17.10
- dev: true
-
- registry.npmmirror.com/@babel/plugin-proposal-export-namespace-from/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-proposal-export-namespace-from/7.16.7
- name: '@babel/plugin-proposal-export-namespace-from'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- '@babel/plugin-syntax-export-namespace-from': registry.npmmirror.com/@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.17.10
- dev: true
-
- registry.npmmirror.com/@babel/plugin-proposal-json-strings/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-proposal-json-strings/7.16.7
- name: '@babel/plugin-proposal-json-strings'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- '@babel/plugin-syntax-json-strings': registry.npmmirror.com/@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.17.10
- dev: true
-
- registry.npmmirror.com/@babel/plugin-proposal-logical-assignment-operators/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-proposal-logical-assignment-operators/7.16.7
- name: '@babel/plugin-proposal-logical-assignment-operators'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- '@babel/plugin-syntax-logical-assignment-operators': registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.17.10
- dev: true
-
- registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/7.16.7
- name: '@babel/plugin-proposal-nullish-coalescing-operator'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- '@babel/plugin-syntax-nullish-coalescing-operator': registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.17.10
- dev: true
-
- registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/7.16.7
- name: '@babel/plugin-proposal-numeric-separator'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- '@babel/plugin-syntax-numeric-separator': registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.17.10
- dev: true
-
- registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/7.17.3_@babel+core@7.17.10:
- resolution: {integrity: sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz}
- id: registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/7.17.3
- name: '@babel/plugin-proposal-object-rest-spread'
- version: 7.17.3
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/compat-data': registry.npmmirror.com/@babel/compat-data/7.17.10
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-compilation-targets': registry.npmmirror.com/@babel/helper-compilation-targets/7.17.10_@babel+core@7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- '@babel/plugin-syntax-object-rest-spread': registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.17.10
- '@babel/plugin-transform-parameters': registry.npmmirror.com/@babel/plugin-transform-parameters/7.16.7_@babel+core@7.17.10
- dev: true
-
- registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/7.16.7
- name: '@babel/plugin-proposal-optional-catch-binding'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- '@babel/plugin-syntax-optional-catch-binding': registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.17.10
- dev: true
-
- registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/7.16.7
- name: '@babel/plugin-proposal-optional-chaining'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- '@babel/helper-skip-transparent-expression-wrappers': registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/7.16.0
- '@babel/plugin-syntax-optional-chaining': registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.17.10
- dev: true
-
- registry.npmmirror.com/@babel/plugin-proposal-private-methods/7.16.11_@babel+core@7.17.10:
- resolution: {integrity: sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz}
- id: registry.npmmirror.com/@babel/plugin-proposal-private-methods/7.16.11
- name: '@babel/plugin-proposal-private-methods'
- version: 7.16.11
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ eventemitter3@5.0.4: {}
+
+ execa@5.1.1:
+ dependencies:
+ cross-spawn: 7.0.6
+ get-stream: 6.0.1
+ human-signals: 2.1.0
+ is-stream: 2.0.1
+ merge-stream: 2.0.0
+ npm-run-path: 4.0.1
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ strip-final-newline: 2.0.0
+
+ expand-tilde@2.0.2:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-create-class-features-plugin': registry.npmmirror.com/@babel/helper-create-class-features-plugin/7.17.9_@babel+core@7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- transitivePeerDependencies:
- - supports-color
- dev: true
+ homedir-polyfill: 1.0.3
- registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/7.16.7
- name: '@babel/plugin-proposal-private-property-in-object'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ extend@3.0.2: {}
+
+ fast-deep-equal@3.1.3: {}
+
+ fast-string-truncated-width@3.0.3: {}
+
+ fast-string-width@3.0.2:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-annotate-as-pure': registry.npmmirror.com/@babel/helper-annotate-as-pure/7.16.7
- '@babel/helper-create-class-features-plugin': registry.npmmirror.com/@babel/helper-create-class-features-plugin/7.17.9_@babel+core@7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- '@babel/plugin-syntax-private-property-in-object': registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.17.10
- transitivePeerDependencies:
- - supports-color
- dev: true
+ fast-string-truncated-width: 3.0.3
- registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/7.16.7
- name: '@babel/plugin-proposal-unicode-property-regex'
- version: 7.16.7
- engines: {node: '>=4'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-create-regexp-features-plugin': registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/7.17.0_@babel+core@7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
-
- registry.npmmirror.com/@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.17.10:
- resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz}
- id: registry.npmmirror.com/@babel/plugin-syntax-async-generators/7.8.4
- name: '@babel/plugin-syntax-async-generators'
- version: 7.8.4
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ fast-uri@3.1.8: {}
+
+ fast-wrap-ansi@0.2.2:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ fast-string-width: 3.0.2
- registry.npmmirror.com/@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.17.10:
- resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz}
- id: registry.npmmirror.com/@babel/plugin-syntax-class-properties/7.12.13
- name: '@babel/plugin-syntax-class-properties'
- version: 7.12.13
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ fastdom@1.0.12:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ strictdom: 1.0.1
- registry.npmmirror.com/@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.17.10:
- resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz}
- id: registry.npmmirror.com/@babel/plugin-syntax-class-static-block/7.14.5
- name: '@babel/plugin-syntax-class-static-block'
- version: 7.14.5
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ fdir@6.5.0(picomatch@4.0.7):
+ optionalDependencies:
+ picomatch: 4.0.7
+
+ figures@3.2.0:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ escape-string-regexp: 1.0.5
- registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.17.10:
- resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz}
- id: registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/7.8.3
- name: '@babel/plugin-syntax-dynamic-import'
- version: 7.8.3
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ fill-range@7.1.1:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ to-regex-range: 5.0.1
- registry.npmmirror.com/@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.17.10:
- resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz}
- id: registry.npmmirror.com/@babel/plugin-syntax-export-namespace-from/7.8.3
- name: '@babel/plugin-syntax-export-namespace-from'
- version: 7.8.3
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ find-node-modules@2.1.3:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ findup-sync: 4.0.0
+ merge: 2.1.1
- registry.npmmirror.com/@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.17.10:
- resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz}
- id: registry.npmmirror.com/@babel/plugin-syntax-json-strings/7.8.3
- name: '@babel/plugin-syntax-json-strings'
- version: 7.8.3
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ find-proc@0.2.0: {}
+
+ find-root@1.1.0: {}
+
+ find-up@4.1.0:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ locate-path: 5.0.0
+ path-exists: 4.0.0
- registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.17.10:
- resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz}
- id: registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/7.10.4
- name: '@babel/plugin-syntax-logical-assignment-operators'
- version: 7.10.4
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ find-up@5.0.0:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ locate-path: 6.0.0
+ path-exists: 4.0.0
- registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.17.10:
- resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz}
- id: registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/7.8.3
- name: '@babel/plugin-syntax-nullish-coalescing-operator'
- version: 7.8.3
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ findup-sync@4.0.0:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ detect-file: 1.0.0
+ is-glob: 4.0.3
+ micromatch: 4.0.8
+ resolve-dir: 1.0.1
- registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.17.10:
- resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz}
- id: registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/7.10.4
- name: '@babel/plugin-syntax-numeric-separator'
- version: 7.10.4
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ flattie@1.1.1: {}
+
+ fontace@0.4.1:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ fontkitten: 1.0.3
- registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.17.10:
- resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz}
- id: registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/7.8.3
- name: '@babel/plugin-syntax-object-rest-spread'
- version: 7.8.3
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ fontkitten@1.0.3:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ tiny-inflate: 1.0.3
- registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.17.10:
- resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz}
- id: registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/7.8.3
- name: '@babel/plugin-syntax-optional-catch-binding'
- version: 7.8.3
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ fs-extra@11.4.1:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ graceful-fs: 4.2.11
+ jsonfile: 6.2.1
+ universalify: 2.0.1
- registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.17.10:
- resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz}
- id: registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/7.8.3
- name: '@babel/plugin-syntax-optional-chaining'
- version: 7.8.3
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ fs-extra@9.1.0:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ at-least-node: 1.0.0
+ graceful-fs: 4.2.11
+ jsonfile: 6.2.1
+ universalify: 2.0.1
- registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.17.10:
- resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz}
- id: registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/7.14.5
- name: '@babel/plugin-syntax-private-property-in-object'
- version: 7.14.5
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ fs.realpath@1.0.0: {}
+
+ fsevents@2.3.3:
+ optional: true
+
+ function-bind@1.1.2: {}
+
+ get-caller-file@2.0.5: {}
+
+ get-east-asian-width@1.7.0: {}
+
+ get-stream@6.0.1: {}
+
+ get-tsconfig@5.0.0-beta.4:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ resolve-pkg-maps: 1.0.0
- registry.npmmirror.com/@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.17.10:
- resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz}
- id: registry.npmmirror.com/@babel/plugin-syntax-top-level-await/7.14.5
- name: '@babel/plugin-syntax-top-level-await'
- version: 7.14.5
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ git-cz@4.9.0: {}
+
+ git-raw-commits@2.0.11:
+ dependencies:
+ dargs: 7.0.0
+ lodash: 4.18.1
+ meow: 8.1.2
+ split2: 3.2.2
+ through2: 4.0.2
+
+ github-slugger@2.0.0: {}
+
+ glob@7.2.3:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.5
+ once: 1.4.0
+ path-is-absolute: 1.0.1
- registry.npmmirror.com/@babel/plugin-transform-arrow-functions/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-arrow-functions/7.16.7
- name: '@babel/plugin-transform-arrow-functions'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ global-directory@5.0.0:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ ini: 6.0.0
+ optional: true
- registry.npmmirror.com/@babel/plugin-transform-async-to-generator/7.16.8_@babel+core@7.17.10:
- resolution: {integrity: sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-async-to-generator/7.16.8
- name: '@babel/plugin-transform-async-to-generator'
- version: 7.16.8
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ global-dirs@0.1.1:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-module-imports': registry.npmmirror.com/@babel/helper-module-imports/7.16.7
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- '@babel/helper-remap-async-to-generator': registry.npmmirror.com/@babel/helper-remap-async-to-generator/7.16.8
- transitivePeerDependencies:
- - supports-color
- dev: true
+ ini: 1.3.8
- registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/7.16.7
- name: '@babel/plugin-transform-block-scoped-functions'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ global-modules@1.0.0:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ global-prefix: 1.0.2
+ is-windows: 1.0.2
+ resolve-dir: 1.0.1
- registry.npmmirror.com/@babel/plugin-transform-block-scoping/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-block-scoping/7.16.7
- name: '@babel/plugin-transform-block-scoping'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ global-prefix@1.0.2:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ expand-tilde: 2.0.2
+ homedir-polyfill: 1.0.3
+ ini: 1.3.8
+ is-windows: 1.0.2
+ which: 1.3.1
+
+ graceful-fs@4.2.11: {}
+
+ gsap@3.15.0: {}
+
+ h3@1.15.11:
+ dependencies:
+ cookie-es: 1.2.3
+ crossws: 0.3.5
+ defu: 6.1.7
+ destr: 2.0.5
+ iron-webcrypto: 1.2.1
+ node-mock-http: 1.0.5
+ radix3: 1.1.2
+ ufo: 1.6.4
+ uncrypto: 0.1.3
+
+ hachure-fill@0.5.2: {}
+
+ hard-rejection@2.1.0: {}
+
+ has-flag@3.0.0: {}
+
+ has-flag@4.0.0: {}
+
+ hasown@2.0.4:
+ dependencies:
+ function-bind: 1.1.2
+
+ hast-util-from-html@2.0.3:
+ dependencies:
+ '@types/hast': 3.0.5
+ devlop: 1.1.0
+ hast-util-from-parse5: 8.0.3
+ parse5: 7.3.0
+ vfile: 6.0.3
+ vfile-message: 4.0.3
+
+ hast-util-from-parse5@8.0.3:
+ dependencies:
+ '@types/hast': 3.0.5
+ '@types/unist': 3.0.3
+ devlop: 1.1.0
+ hastscript: 9.0.1
+ property-information: 7.2.0
+ vfile: 6.0.3
+ vfile-location: 5.0.3
+ web-namespaces: 2.0.1
+
+ hast-util-is-element@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.5
+
+ hast-util-parse-selector@4.0.0:
+ dependencies:
+ '@types/hast': 3.0.5
+
+ hast-util-raw@9.1.0:
+ dependencies:
+ '@types/hast': 3.0.5
+ '@types/unist': 3.0.3
+ '@ungap/structured-clone': 1.4.0
+ hast-util-from-parse5: 8.0.3
+ hast-util-to-parse5: 8.0.1
+ html-void-elements: 3.0.0
+ mdast-util-to-hast: 13.2.1
+ parse5: 7.3.0
+ unist-util-position: 5.0.0
+ unist-util-visit: 5.1.0
+ vfile: 6.0.3
+ web-namespaces: 2.0.1
+ zwitch: 2.0.4
+
+ hast-util-to-estree@3.1.3:
+ dependencies:
+ '@types/estree': 1.0.9
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.5
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ estree-util-attach-comments: 3.0.0
+ estree-util-is-identifier-name: 3.0.0
+ hast-util-whitespace: 3.0.0
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ property-information: 7.2.0
+ space-separated-tokens: 2.0.2
+ style-to-js: 1.1.21
+ unist-util-position: 5.0.0
+ zwitch: 2.0.4
+ transitivePeerDependencies:
+ - supports-color
- registry.npmmirror.com/@babel/plugin-transform-classes/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-classes/7.16.7
- name: '@babel/plugin-transform-classes'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-annotate-as-pure': registry.npmmirror.com/@babel/helper-annotate-as-pure/7.16.7
- '@babel/helper-environment-visitor': registry.npmmirror.com/@babel/helper-environment-visitor/7.16.7
- '@babel/helper-function-name': registry.npmmirror.com/@babel/helper-function-name/7.17.9
- '@babel/helper-optimise-call-expression': registry.npmmirror.com/@babel/helper-optimise-call-expression/7.16.7
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- '@babel/helper-replace-supers': registry.npmmirror.com/@babel/helper-replace-supers/7.16.7
- '@babel/helper-split-export-declaration': registry.npmmirror.com/@babel/helper-split-export-declaration/7.16.7
- globals: registry.npmmirror.com/globals/11.12.0
+ hast-util-to-html@9.0.5:
+ dependencies:
+ '@types/hast': 3.0.5
+ '@types/unist': 3.0.3
+ ccount: 2.0.1
+ comma-separated-tokens: 2.0.3
+ hast-util-whitespace: 3.0.0
+ html-void-elements: 3.0.0
+ mdast-util-to-hast: 13.2.1
+ property-information: 7.2.0
+ space-separated-tokens: 2.0.2
+ stringify-entities: 4.0.4
+ zwitch: 2.0.4
+
+ hast-util-to-jsx-runtime@2.3.6:
+ dependencies:
+ '@types/estree': 1.0.9
+ '@types/hast': 3.0.5
+ '@types/unist': 3.0.3
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ hast-util-whitespace: 3.0.0
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ property-information: 7.2.0
+ space-separated-tokens: 2.0.2
+ style-to-js: 1.1.21
+ unist-util-position: 5.0.0
+ vfile-message: 4.0.3
transitivePeerDependencies:
- supports-color
- dev: true
- registry.npmmirror.com/@babel/plugin-transform-computed-properties/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-computed-properties/7.16.7
- name: '@babel/plugin-transform-computed-properties'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ hast-util-to-parse5@8.0.1:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ '@types/hast': 3.0.5
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ property-information: 7.2.0
+ space-separated-tokens: 2.0.2
+ web-namespaces: 2.0.1
+ zwitch: 2.0.4
- registry.npmmirror.com/@babel/plugin-transform-destructuring/7.17.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-destructuring/7.17.7
- name: '@babel/plugin-transform-destructuring'
- version: 7.17.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ hast-util-to-text@4.0.2:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ '@types/hast': 3.0.5
+ '@types/unist': 3.0.3
+ hast-util-is-element: 3.0.0
+ unist-util-find-after: 5.0.0
- registry.npmmirror.com/@babel/plugin-transform-dotall-regex/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-dotall-regex/7.16.7
- name: '@babel/plugin-transform-dotall-regex'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-create-regexp-features-plugin': registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/7.17.0_@babel+core@7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
-
- registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/7.16.7
- name: '@babel/plugin-transform-duplicate-keys'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ hast-util-whitespace@3.0.0:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ '@types/hast': 3.0.5
- registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/7.16.7
- name: '@babel/plugin-transform-exponentiation-operator'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-builder-binary-assignment-operator-visitor': registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/7.16.7
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
-
- registry.npmmirror.com/@babel/plugin-transform-for-of/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-for-of/7.16.7
- name: '@babel/plugin-transform-for-of'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ hastscript@9.0.1:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ '@types/hast': 3.0.5
+ comma-separated-tokens: 2.0.3
+ hast-util-parse-selector: 4.0.0
+ property-information: 7.2.0
+ space-separated-tokens: 2.0.2
- registry.npmmirror.com/@babel/plugin-transform-function-name/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-function-name/7.16.7
- name: '@babel/plugin-transform-function-name'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-compilation-targets': registry.npmmirror.com/@babel/helper-compilation-targets/7.17.10_@babel+core@7.17.10
- '@babel/helper-function-name': registry.npmmirror.com/@babel/helper-function-name/7.17.9
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
-
- registry.npmmirror.com/@babel/plugin-transform-literals/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-literals/7.16.7
- name: '@babel/plugin-transform-literals'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ homedir-polyfill@1.0.3:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ parse-passwd: 1.0.0
- registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/7.16.7
- name: '@babel/plugin-transform-member-expression-literals'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ hosted-git-info@2.8.9: {}
+
+ hosted-git-info@4.1.0:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ lru-cache: 6.0.0
- registry.npmmirror.com/@babel/plugin-transform-modules-amd/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-modules-amd/7.16.7
- name: '@babel/plugin-transform-modules-amd'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ html-escaper@3.0.3: {}
+
+ html-void-elements@3.0.0: {}
+
+ http-cache-semantics@4.3.0: {}
+
+ human-signals@2.1.0: {}
+
+ iconv-lite@0.6.3:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-module-transforms': registry.npmmirror.com/@babel/helper-module-transforms/7.17.7
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- babel-plugin-dynamic-import-node: registry.npmmirror.com/babel-plugin-dynamic-import-node/2.3.3
- transitivePeerDependencies:
- - supports-color
- dev: true
+ safer-buffer: 2.1.2
- registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/7.17.9_@babel+core@7.17.10:
- resolution: {integrity: sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/7.17.9
- name: '@babel/plugin-transform-modules-commonjs'
- version: 7.17.9
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ iconv-lite@0.7.3:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-module-transforms': registry.npmmirror.com/@babel/helper-module-transforms/7.17.7
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- '@babel/helper-simple-access': registry.npmmirror.com/@babel/helper-simple-access/7.17.7
- babel-plugin-dynamic-import-node: registry.npmmirror.com/babel-plugin-dynamic-import-node/2.3.3
- transitivePeerDependencies:
- - supports-color
- dev: true
+ safer-buffer: 2.1.2
- registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/7.17.8_@babel+core@7.17.10:
- resolution: {integrity: sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/7.17.8
- name: '@babel/plugin-transform-modules-systemjs'
- version: 7.17.8
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-hoist-variables': registry.npmmirror.com/@babel/helper-hoist-variables/7.16.7
- '@babel/helper-module-transforms': registry.npmmirror.com/@babel/helper-module-transforms/7.17.7
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- '@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier/7.16.7
- babel-plugin-dynamic-import-node: registry.npmmirror.com/babel-plugin-dynamic-import-node/2.3.3
- transitivePeerDependencies:
- - supports-color
- dev: true
+ ieee754@1.2.1: {}
- registry.npmmirror.com/@babel/plugin-transform-modules-umd/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-modules-umd/7.16.7
- name: '@babel/plugin-transform-modules-umd'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ import-fresh@3.3.1:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-module-transforms': registry.npmmirror.com/@babel/helper-module-transforms/7.17.7
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- transitivePeerDependencies:
- - supports-color
- dev: true
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
- registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/7.17.10_@babel+core@7.17.10:
- resolution: {integrity: sha512-v54O6yLaJySCs6mGzaVOUw9T967GnH38T6CQSAtnzdNPwu84l2qAjssKzo/WSO8Yi7NF+7ekm5cVbF/5qiIgNA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.10.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/7.17.10
- name: '@babel/plugin-transform-named-capturing-groups-regex'
- version: 7.17.10
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-create-regexp-features-plugin': registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/7.17.0_@babel+core@7.17.10
- dev: true
+ import-meta-resolve@4.2.0: {}
- registry.npmmirror.com/@babel/plugin-transform-new-target/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-new-target/7.16.7
- name: '@babel/plugin-transform-new-target'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ indent-string@4.0.0: {}
+
+ inflight@1.0.6:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ once: 1.4.0
+ wrappy: 1.0.2
- registry.npmmirror.com/@babel/plugin-transform-object-super/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-object-super/7.16.7
- name: '@babel/plugin-transform-object-super'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ inherits@2.0.4: {}
+
+ ini@1.3.8: {}
+
+ ini@6.0.0:
+ optional: true
+
+ inline-style-parser@0.2.7: {}
+
+ inquirer@8.2.7(@types/node@22.20.5):
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- '@babel/helper-replace-supers': registry.npmmirror.com/@babel/helper-replace-supers/7.16.7
+ '@inquirer/external-editor': 1.0.3(@types/node@22.20.5)
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ cli-cursor: 3.1.0
+ cli-width: 3.0.0
+ figures: 3.2.0
+ lodash: 4.18.1
+ mute-stream: 0.0.8
+ ora: 5.4.1
+ run-async: 2.4.1
+ rxjs: 7.8.2
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ through: 2.3.8
+ wrap-ansi: 6.2.0
transitivePeerDependencies:
- - supports-color
- dev: true
+ - '@types/node'
- registry.npmmirror.com/@babel/plugin-transform-parameters/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-parameters/7.16.7
- name: '@babel/plugin-transform-parameters'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ internmap@1.0.1: {}
+
+ internmap@2.0.3: {}
+
+ iron-webcrypto@1.2.1: {}
+
+ is-alphabetical@2.0.1: {}
+
+ is-alphanumerical@2.0.1:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ is-alphabetical: 2.0.1
+ is-decimal: 2.0.1
- registry.npmmirror.com/@babel/plugin-transform-property-literals/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-property-literals/7.16.7
- name: '@babel/plugin-transform-property-literals'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ is-arrayish@0.2.1: {}
+
+ is-core-module@2.17.0:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ hasown: 2.0.4
- registry.npmmirror.com/@babel/plugin-transform-regenerator/7.17.9_@babel+core@7.17.10:
- resolution: {integrity: sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-regenerator/7.17.9
- name: '@babel/plugin-transform-regenerator'
- version: 7.17.9
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ is-decimal@2.0.1: {}
+
+ is-docker@4.0.0: {}
+
+ is-extglob@2.1.1: {}
+
+ is-fullwidth-code-point@3.0.0: {}
+
+ is-glob@4.0.3:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- regenerator-transform: registry.npmmirror.com/regenerator-transform/0.15.0
- dev: true
+ is-extglob: 2.1.1
- registry.npmmirror.com/@babel/plugin-transform-reserved-words/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-reserved-words/7.16.7
- name: '@babel/plugin-transform-reserved-words'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ is-hexadecimal@2.0.1: {}
+
+ is-interactive@1.0.0: {}
+
+ is-number@7.0.0: {}
+
+ is-obj@2.0.0: {}
+
+ is-plain-obj@1.1.0: {}
+
+ is-plain-obj@4.1.0: {}
+
+ is-stream@2.0.1: {}
+
+ is-text-path@1.0.1:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ text-extensions: 1.9.0
- registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/7.16.7
- name: '@babel/plugin-transform-shorthand-properties'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ is-unicode-supported@0.1.0: {}
+
+ is-utf8@0.2.1: {}
+
+ is-windows@1.0.2: {}
+
+ isexe@2.0.0: {}
+
+ jiti@2.6.1:
+ optional: true
+
+ js-tokens@4.0.0: {}
+
+ js-yaml@4.3.2:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ argparse: 2.0.1
- registry.npmmirror.com/@babel/plugin-transform-spread/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-spread/7.16.7
- name: '@babel/plugin-transform-spread'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- '@babel/helper-skip-transparent-expression-wrappers': registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/7.16.0
- dev: true
-
- registry.npmmirror.com/@babel/plugin-transform-sticky-regex/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-sticky-regex/7.16.7
- name: '@babel/plugin-transform-sticky-regex'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ json-parse-even-better-errors@2.3.1: {}
+
+ json-schema-traverse@1.0.0: {}
+
+ jsonc-parser@2.3.1: {}
+
+ jsonc-parser@3.3.1: {}
+
+ jsonfile@6.2.1:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ universalify: 2.0.1
+ optionalDependencies:
+ graceful-fs: 4.2.11
- registry.npmmirror.com/@babel/plugin-transform-template-literals/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-template-literals/7.16.7
- name: '@babel/plugin-transform-template-literals'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ jsonparse@1.3.1: {}
+
+ katex@0.16.47:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ commander: 8.3.0
- registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/7.16.7
- name: '@babel/plugin-transform-typeof-symbol'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ khroma@2.1.0: {}
+
+ kind-of@6.0.3: {}
+
+ kleur@4.1.5: {}
+
+ layout-base@1.0.2: {}
+
+ layout-base@2.0.1: {}
+
+ lightningcss-android-arm64@1.33.0:
+ optional: true
+
+ lightningcss-darwin-arm64@1.33.0:
+ optional: true
+
+ lightningcss-darwin-x64@1.33.0:
+ optional: true
+
+ lightningcss-freebsd-x64@1.33.0:
+ optional: true
+
+ lightningcss-linux-arm-gnueabihf@1.33.0:
+ optional: true
+
+ lightningcss-linux-arm64-gnu@1.33.0:
+ optional: true
+
+ lightningcss-linux-arm64-musl@1.33.0:
+ optional: true
+
+ lightningcss-linux-x64-gnu@1.33.0:
+ optional: true
+
+ lightningcss-linux-x64-musl@1.33.0:
+ optional: true
+
+ lightningcss-win32-arm64-msvc@1.33.0:
+ optional: true
+
+ lightningcss-win32-x64-msvc@1.33.0:
+ optional: true
+
+ lightningcss@1.33.0:
+ dependencies:
+ detect-libc: 2.1.2
+ optionalDependencies:
+ lightningcss-android-arm64: 1.33.0
+ lightningcss-darwin-arm64: 1.33.0
+ lightningcss-darwin-x64: 1.33.0
+ lightningcss-freebsd-x64: 1.33.0
+ lightningcss-linux-arm-gnueabihf: 1.33.0
+ lightningcss-linux-arm64-gnu: 1.33.0
+ lightningcss-linux-arm64-musl: 1.33.0
+ lightningcss-linux-x64-gnu: 1.33.0
+ lightningcss-linux-x64-musl: 1.33.0
+ lightningcss-win32-arm64-msvc: 1.33.0
+ lightningcss-win32-x64-msvc: 1.33.0
+
+ lines-and-columns@1.2.4: {}
+
+ locate-path@5.0.0:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ p-locate: 4.1.0
- registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/7.16.7
- name: '@babel/plugin-transform-unicode-escapes'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ locate-path@6.0.0:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
+ p-locate: 5.0.0
- registry.npmmirror.com/@babel/plugin-transform-unicode-regex/7.16.7_@babel+core@7.17.10:
- resolution: {integrity: sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz}
- id: registry.npmmirror.com/@babel/plugin-transform-unicode-regex/7.16.7
- name: '@babel/plugin-transform-unicode-regex'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-create-regexp-features-plugin': registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/7.17.0_@babel+core@7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- dev: true
-
- registry.npmmirror.com/@babel/preset-env/7.17.10_@babel+core@7.17.10:
- resolution: {integrity: sha512-YNgyBHZQpeoBSRBg0xixsZzfT58Ze1iZrajvv0lJc70qDDGuGfonEnMGfWeSY0mQ3JTuCWFbMkzFRVafOyJx4g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.17.10.tgz}
- id: registry.npmmirror.com/@babel/preset-env/7.17.10
- name: '@babel/preset-env'
- version: 7.17.10
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/compat-data': registry.npmmirror.com/@babel/compat-data/7.17.10
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-compilation-targets': registry.npmmirror.com/@babel/helper-compilation-targets/7.17.10_@babel+core@7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- '@babel/helper-validator-option': registry.npmmirror.com/@babel/helper-validator-option/7.16.7
- '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.16.7_@babel+core@7.17.10
- '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.16.7_@babel+core@7.17.10
- '@babel/plugin-proposal-async-generator-functions': registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/7.16.8_@babel+core@7.17.10
- '@babel/plugin-proposal-class-properties': registry.npmmirror.com/@babel/plugin-proposal-class-properties/7.16.7_@babel+core@7.17.10
- '@babel/plugin-proposal-class-static-block': registry.npmmirror.com/@babel/plugin-proposal-class-static-block/7.17.6_@babel+core@7.17.10
- '@babel/plugin-proposal-dynamic-import': registry.npmmirror.com/@babel/plugin-proposal-dynamic-import/7.16.7_@babel+core@7.17.10
- '@babel/plugin-proposal-export-namespace-from': registry.npmmirror.com/@babel/plugin-proposal-export-namespace-from/7.16.7_@babel+core@7.17.10
- '@babel/plugin-proposal-json-strings': registry.npmmirror.com/@babel/plugin-proposal-json-strings/7.16.7_@babel+core@7.17.10
- '@babel/plugin-proposal-logical-assignment-operators': registry.npmmirror.com/@babel/plugin-proposal-logical-assignment-operators/7.16.7_@babel+core@7.17.10
- '@babel/plugin-proposal-nullish-coalescing-operator': registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/7.16.7_@babel+core@7.17.10
- '@babel/plugin-proposal-numeric-separator': registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/7.16.7_@babel+core@7.17.10
- '@babel/plugin-proposal-object-rest-spread': registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/7.17.3_@babel+core@7.17.10
- '@babel/plugin-proposal-optional-catch-binding': registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/7.16.7_@babel+core@7.17.10
- '@babel/plugin-proposal-optional-chaining': registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/7.16.7_@babel+core@7.17.10
- '@babel/plugin-proposal-private-methods': registry.npmmirror.com/@babel/plugin-proposal-private-methods/7.16.11_@babel+core@7.17.10
- '@babel/plugin-proposal-private-property-in-object': registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/7.16.7_@babel+core@7.17.10
- '@babel/plugin-proposal-unicode-property-regex': registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/7.16.7_@babel+core@7.17.10
- '@babel/plugin-syntax-async-generators': registry.npmmirror.com/@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.17.10
- '@babel/plugin-syntax-class-properties': registry.npmmirror.com/@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.17.10
- '@babel/plugin-syntax-class-static-block': registry.npmmirror.com/@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.17.10
- '@babel/plugin-syntax-dynamic-import': registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.17.10
- '@babel/plugin-syntax-export-namespace-from': registry.npmmirror.com/@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.17.10
- '@babel/plugin-syntax-json-strings': registry.npmmirror.com/@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.17.10
- '@babel/plugin-syntax-logical-assignment-operators': registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.17.10
- '@babel/plugin-syntax-nullish-coalescing-operator': registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.17.10
- '@babel/plugin-syntax-numeric-separator': registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.17.10
- '@babel/plugin-syntax-object-rest-spread': registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.17.10
- '@babel/plugin-syntax-optional-catch-binding': registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.17.10
- '@babel/plugin-syntax-optional-chaining': registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.17.10
- '@babel/plugin-syntax-private-property-in-object': registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.17.10
- '@babel/plugin-syntax-top-level-await': registry.npmmirror.com/@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.17.10
- '@babel/plugin-transform-arrow-functions': registry.npmmirror.com/@babel/plugin-transform-arrow-functions/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-async-to-generator': registry.npmmirror.com/@babel/plugin-transform-async-to-generator/7.16.8_@babel+core@7.17.10
- '@babel/plugin-transform-block-scoped-functions': registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-block-scoping': registry.npmmirror.com/@babel/plugin-transform-block-scoping/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-classes': registry.npmmirror.com/@babel/plugin-transform-classes/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-computed-properties': registry.npmmirror.com/@babel/plugin-transform-computed-properties/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-destructuring': registry.npmmirror.com/@babel/plugin-transform-destructuring/7.17.7_@babel+core@7.17.10
- '@babel/plugin-transform-dotall-regex': registry.npmmirror.com/@babel/plugin-transform-dotall-regex/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-duplicate-keys': registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-exponentiation-operator': registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-for-of': registry.npmmirror.com/@babel/plugin-transform-for-of/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-function-name': registry.npmmirror.com/@babel/plugin-transform-function-name/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-literals': registry.npmmirror.com/@babel/plugin-transform-literals/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-member-expression-literals': registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-modules-amd': registry.npmmirror.com/@babel/plugin-transform-modules-amd/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-modules-commonjs': registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/7.17.9_@babel+core@7.17.10
- '@babel/plugin-transform-modules-systemjs': registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/7.17.8_@babel+core@7.17.10
- '@babel/plugin-transform-modules-umd': registry.npmmirror.com/@babel/plugin-transform-modules-umd/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-named-capturing-groups-regex': registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/7.17.10_@babel+core@7.17.10
- '@babel/plugin-transform-new-target': registry.npmmirror.com/@babel/plugin-transform-new-target/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-object-super': registry.npmmirror.com/@babel/plugin-transform-object-super/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-parameters': registry.npmmirror.com/@babel/plugin-transform-parameters/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-property-literals': registry.npmmirror.com/@babel/plugin-transform-property-literals/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-regenerator': registry.npmmirror.com/@babel/plugin-transform-regenerator/7.17.9_@babel+core@7.17.10
- '@babel/plugin-transform-reserved-words': registry.npmmirror.com/@babel/plugin-transform-reserved-words/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-shorthand-properties': registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-spread': registry.npmmirror.com/@babel/plugin-transform-spread/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-sticky-regex': registry.npmmirror.com/@babel/plugin-transform-sticky-regex/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-template-literals': registry.npmmirror.com/@babel/plugin-transform-template-literals/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-typeof-symbol': registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-unicode-escapes': registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-unicode-regex': registry.npmmirror.com/@babel/plugin-transform-unicode-regex/7.16.7_@babel+core@7.17.10
- '@babel/preset-modules': registry.npmmirror.com/@babel/preset-modules/0.1.5_@babel+core@7.17.10
- '@babel/types': registry.npmmirror.com/@babel/types/7.17.10
- babel-plugin-polyfill-corejs2: registry.npmmirror.com/babel-plugin-polyfill-corejs2/0.3.1_@babel+core@7.17.10
- babel-plugin-polyfill-corejs3: registry.npmmirror.com/babel-plugin-polyfill-corejs3/0.5.2_@babel+core@7.17.10
- babel-plugin-polyfill-regenerator: registry.npmmirror.com/babel-plugin-polyfill-regenerator/0.3.1_@babel+core@7.17.10
- core-js-compat: registry.npmmirror.com/core-js-compat/3.22.5
- semver: registry.npmmirror.com/semver/6.3.0
- transitivePeerDependencies:
- - supports-color
- dev: true
+ lodash-es@4.18.1: {}
- registry.npmmirror.com/@babel/preset-modules/0.1.5_@babel+core@7.17.10:
- resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz}
- id: registry.npmmirror.com/@babel/preset-modules/0.1.5
- name: '@babel/preset-modules'
- version: 0.1.5
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils/7.16.7
- '@babel/plugin-proposal-unicode-property-regex': registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/7.16.7_@babel+core@7.17.10
- '@babel/plugin-transform-dotall-regex': registry.npmmirror.com/@babel/plugin-transform-dotall-regex/7.16.7_@babel+core@7.17.10
- '@babel/types': registry.npmmirror.com/@babel/types/7.17.10
- esutils: registry.npmmirror.com/esutils/2.0.3
- dev: true
-
- registry.npmmirror.com/@babel/runtime/7.17.9:
- resolution: {integrity: sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/runtime/-/runtime-7.17.9.tgz}
- name: '@babel/runtime'
- version: 7.17.9
- engines: {node: '>=6.9.0'}
- dependencies:
- regenerator-runtime: registry.npmmirror.com/regenerator-runtime/0.13.9
- dev: true
+ lodash.camelcase@4.3.0: {}
+
+ lodash.isfunction@3.0.9: {}
+
+ lodash.isplainobject@4.0.6: {}
+
+ lodash.kebabcase@4.1.1: {}
+
+ lodash.map@4.6.0: {}
+
+ lodash.merge@4.6.2: {}
+
+ lodash.mergewith@4.6.2: {}
- registry.npmmirror.com/@babel/template/7.16.7:
- resolution: {integrity: sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/template/-/template-7.16.7.tgz}
- name: '@babel/template'
- version: 7.16.7
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.16.7
- '@babel/parser': registry.npmmirror.com/@babel/parser/7.17.10
- '@babel/types': registry.npmmirror.com/@babel/types/7.17.10
- dev: true
+ lodash.snakecase@4.1.1: {}
- registry.npmmirror.com/@babel/traverse/7.17.10:
- resolution: {integrity: sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/traverse/-/traverse-7.17.10.tgz}
- name: '@babel/traverse'
- version: 7.17.10
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.16.7
- '@babel/generator': registry.npmmirror.com/@babel/generator/7.17.10
- '@babel/helper-environment-visitor': registry.npmmirror.com/@babel/helper-environment-visitor/7.16.7
- '@babel/helper-function-name': registry.npmmirror.com/@babel/helper-function-name/7.17.9
- '@babel/helper-hoist-variables': registry.npmmirror.com/@babel/helper-hoist-variables/7.16.7
- '@babel/helper-split-export-declaration': registry.npmmirror.com/@babel/helper-split-export-declaration/7.16.7
- '@babel/parser': registry.npmmirror.com/@babel/parser/7.17.10
- '@babel/types': registry.npmmirror.com/@babel/types/7.17.10
- debug: registry.npmmirror.com/debug/4.3.4
- globals: registry.npmmirror.com/globals/11.12.0
- transitivePeerDependencies:
- - supports-color
- dev: true
+ lodash.startcase@4.4.0: {}
- registry.npmmirror.com/@babel/types/7.17.10:
- resolution: {integrity: sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/types/-/types-7.17.10.tgz}
- name: '@babel/types'
- version: 7.17.10
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier/7.16.7
- to-fast-properties: registry.npmmirror.com/to-fast-properties/2.0.0
- dev: true
+ lodash.uniq@4.5.0: {}
- registry.npmmirror.com/@braintree/sanitize-url/6.0.0:
- resolution: {integrity: sha512-mgmE7XBYY/21erpzhexk4Cj1cyTQ9LzvnTxtzM17BJ7ERMNE6W72mQRo0I1Ud8eFJ+RVVIcBNhLFZ3GX4XFz5w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@braintree/sanitize-url/-/sanitize-url-6.0.0.tgz}
- name: '@braintree/sanitize-url'
- version: 6.0.0
- dev: true
+ lodash.upperfirst@4.3.1: {}
- registry.npmmirror.com/@commitlint/load/17.0.3:
- resolution: {integrity: sha512-3Dhvr7GcKbKa/ey4QJ5MZH3+J7QFlARohUow6hftQyNjzoXXROm+RwpBes4dDFrXG1xDw9QPXA7uzrOShCd4bw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@commitlint/load/-/load-17.0.3.tgz}
- name: '@commitlint/load'
- version: 17.0.3
- engines: {node: '>=v14'}
+ lodash@4.18.1: {}
+
+ log-symbols@4.1.0:
dependencies:
- '@commitlint/config-validator': 17.0.3
- '@commitlint/execute-rule': 17.0.0
- '@commitlint/resolve-extends': 17.0.3
- '@commitlint/types': 17.0.0
- '@types/node': 17.0.32
chalk: 4.1.2
- cosmiconfig: 7.0.1
- cosmiconfig-typescript-loader: 2.0.2_wkok7lthibal5qjhsdd5yq2cfe
- lodash: 4.17.21
- resolve-from: 5.0.0
- typescript: 4.7.4
- transitivePeerDependencies:
- - '@swc/core'
- - '@swc/wasm'
- dev: true
- optional: true
+ is-unicode-supported: 0.1.0
- registry.npmmirror.com/@esbuild/android-arm/0.15.14:
- resolution: {integrity: sha512-+Rb20XXxRGisNu2WmNKk+scpanb7nL5yhuI1KR9wQFiC43ddPj/V1fmNyzlFC9bKiG4mYzxW7egtoHVcynr+OA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.15.14.tgz}
- name: '@esbuild/android-arm'
- version: 0.15.14
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
+ longest-streak@3.1.0: {}
- registry.npmmirror.com/@esbuild/linux-loong64/0.15.14:
- resolution: {integrity: sha512-eQi9rosGNVQFJyJWV0HCA5WZae/qWIQME7s8/j8DMvnylfBv62Pbu+zJ2eUDqNf2O4u3WB+OEXyfkpBoe194sg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.15.14.tgz}
- name: '@esbuild/linux-loong64'
- version: 0.15.14
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
+ longest@2.0.1: {}
- registry.npmmirror.com/@jridgewell/gen-mapping/0.1.1:
- resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz}
- name: '@jridgewell/gen-mapping'
- version: 0.1.1
- engines: {node: '>=6.0.0'}
- dependencies:
- '@jridgewell/set-array': registry.npmmirror.com/@jridgewell/set-array/1.1.1
- '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14
- dev: true
+ lru-cache@11.5.3: {}
- registry.npmmirror.com/@jridgewell/gen-mapping/0.3.2:
- resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz}
- name: '@jridgewell/gen-mapping'
- version: 0.3.2
- engines: {node: '>=6.0.0'}
+ lru-cache@6.0.0:
dependencies:
- '@jridgewell/set-array': registry.npmmirror.com/@jridgewell/set-array/1.1.1
- '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14
- '@jridgewell/trace-mapping': registry.npmmirror.com/@jridgewell/trace-mapping/0.3.17
- dev: true
+ yallist: 4.0.0
- registry.npmmirror.com/@jridgewell/resolve-uri/3.1.0:
- resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz}
- name: '@jridgewell/resolve-uri'
- version: 3.1.0
- engines: {node: '>=6.0.0'}
- dev: true
+ magic-string@1.4.3:
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.6.0
- registry.npmmirror.com/@jridgewell/set-array/1.1.1:
- resolution: {integrity: sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.1.1.tgz}
- name: '@jridgewell/set-array'
- version: 1.1.1
- engines: {node: '>=6.0.0'}
- dev: true
-
- registry.npmmirror.com/@jridgewell/source-map/0.3.2:
- resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.2.tgz}
- name: '@jridgewell/source-map'
- version: 0.3.2
- dependencies:
- '@jridgewell/gen-mapping': registry.npmmirror.com/@jridgewell/gen-mapping/0.3.2
- '@jridgewell/trace-mapping': registry.npmmirror.com/@jridgewell/trace-mapping/0.3.17
- dev: true
-
- registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14:
- resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz}
- name: '@jridgewell/sourcemap-codec'
- version: 1.4.14
- dev: true
-
- registry.npmmirror.com/@jridgewell/trace-mapping/0.3.17:
- resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz}
- name: '@jridgewell/trace-mapping'
- version: 0.3.17
- dependencies:
- '@jridgewell/resolve-uri': registry.npmmirror.com/@jridgewell/resolve-uri/3.1.0
- '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14
- dev: true
-
- registry.npmmirror.com/@jridgewell/trace-mapping/0.3.9:
- resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz}
- name: '@jridgewell/trace-mapping'
- version: 0.3.9
- dependencies:
- '@jridgewell/resolve-uri': registry.npmmirror.com/@jridgewell/resolve-uri/3.1.0
- '@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14
- dev: true
-
- registry.npmmirror.com/@lit/reactive-element/1.4.2:
- resolution: {integrity: sha512-VMOxsWh/QDwrxPsgkSQnuZ+8mfNy1OTjzzUdLBvvZtpahwPTHTeVZ51RZRqO4xfKVrR+btIPA8D01IL3xeG66w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@lit/reactive-element/-/reactive-element-1.4.2.tgz}
- name: '@lit/reactive-element'
- version: 1.4.2
- dev: true
-
- registry.npmmirror.com/@mdit-vue/plugin-component/0.11.1:
- resolution: {integrity: sha512-fCqyYPwEXFa182/Vz6g8McDi3SCIwm3yHWkWddHx+QNn0gMGFqkhJVcz/wjCIA3oCoWUBWM80aZ09ZuoQiOmvQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@mdit-vue/plugin-component/-/plugin-component-0.11.1.tgz}
- name: '@mdit-vue/plugin-component'
- version: 0.11.1
- dependencies:
- '@types/markdown-it': registry.npmmirror.com/@types/markdown-it/12.2.3
- markdown-it: registry.npmmirror.com/markdown-it/13.0.1
- dev: true
-
- registry.npmmirror.com/@mdit-vue/plugin-frontmatter/0.11.1:
- resolution: {integrity: sha512-AdZJInjD1pTJXlfhuoBS5ycuIQ3ewBfY0R/XHM3TRDEaDHQJHxouUCpCyijZmpdljTU45lFetIowaKtAi7GBog==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@mdit-vue/plugin-frontmatter/-/plugin-frontmatter-0.11.1.tgz}
- name: '@mdit-vue/plugin-frontmatter'
- version: 0.11.1
- dependencies:
- '@mdit-vue/types': registry.npmmirror.com/@mdit-vue/types/0.11.0
- '@types/markdown-it': registry.npmmirror.com/@types/markdown-it/12.2.3
- gray-matter: registry.npmmirror.com/gray-matter/4.0.3
- markdown-it: registry.npmmirror.com/markdown-it/13.0.1
- dev: true
-
- registry.npmmirror.com/@mdit-vue/plugin-headers/0.11.1:
- resolution: {integrity: sha512-eBUonsEkXP2Uf2MIXSWZGCcLCIMSA1XfThJwhzSAosoa7fO5aw52LKCweddmn7zLQvgQh7p7382sFAhCc2KXog==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@mdit-vue/plugin-headers/-/plugin-headers-0.11.1.tgz}
- name: '@mdit-vue/plugin-headers'
- version: 0.11.1
- dependencies:
- '@mdit-vue/shared': registry.npmmirror.com/@mdit-vue/shared/0.11.0
- '@mdit-vue/types': registry.npmmirror.com/@mdit-vue/types/0.11.0
- '@types/markdown-it': registry.npmmirror.com/@types/markdown-it/12.2.3
- markdown-it: registry.npmmirror.com/markdown-it/13.0.1
- dev: true
-
- registry.npmmirror.com/@mdit-vue/plugin-sfc/0.11.1:
- resolution: {integrity: sha512-3AjQXqExzT9FWGNOeTBqK1pbt1UA5anrZvjo7OO2PJ3lrfZd0rbjionFkmW/VW1912laHUraIP6n74mUNqPuWw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@mdit-vue/plugin-sfc/-/plugin-sfc-0.11.1.tgz}
- name: '@mdit-vue/plugin-sfc'
- version: 0.11.1
- dependencies:
- '@mdit-vue/types': registry.npmmirror.com/@mdit-vue/types/0.11.0
- '@types/markdown-it': registry.npmmirror.com/@types/markdown-it/12.2.3
- markdown-it: registry.npmmirror.com/markdown-it/13.0.1
- dev: true
-
- registry.npmmirror.com/@mdit-vue/plugin-title/0.11.1:
- resolution: {integrity: sha512-lvgR1pSgwX5D3tmLGyYBsfd3GbEoscqYsLTE8Vg+rCY8LfSrHdwrOD3Eg+SM2KyS5+gn+Zw4nS0S1yxOIVZBCQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@mdit-vue/plugin-title/-/plugin-title-0.11.1.tgz}
- name: '@mdit-vue/plugin-title'
- version: 0.11.1
- dependencies:
- '@mdit-vue/shared': registry.npmmirror.com/@mdit-vue/shared/0.11.0
- '@mdit-vue/types': registry.npmmirror.com/@mdit-vue/types/0.11.0
- '@types/markdown-it': registry.npmmirror.com/@types/markdown-it/12.2.3
- markdown-it: registry.npmmirror.com/markdown-it/13.0.1
- dev: true
-
- registry.npmmirror.com/@mdit-vue/plugin-toc/0.11.1:
- resolution: {integrity: sha512-1tkGb1092ZgLhoSmE5hkC6U0IRGG5bWhUY4p14npV4cwqntciXEoXRqPA1jGEDh5hnofZC0bHbeS3uKxsmAEew==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@mdit-vue/plugin-toc/-/plugin-toc-0.11.1.tgz}
- name: '@mdit-vue/plugin-toc'
- version: 0.11.1
- dependencies:
- '@mdit-vue/shared': registry.npmmirror.com/@mdit-vue/shared/0.11.0
- '@mdit-vue/types': registry.npmmirror.com/@mdit-vue/types/0.11.0
- '@types/markdown-it': registry.npmmirror.com/@types/markdown-it/12.2.3
- markdown-it: registry.npmmirror.com/markdown-it/13.0.1
- dev: true
-
- registry.npmmirror.com/@mdit-vue/shared/0.11.0:
- resolution: {integrity: sha512-eiGe42y7UYpjO6/8Lg6OpAtzZrRU9k8dhpX1e/kJMTcL+tn+XkqRMJJ8I2pdrOQMSkgvIva5FNAriykqFzkdGg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@mdit-vue/shared/-/shared-0.11.0.tgz}
- name: '@mdit-vue/shared'
- version: 0.11.0
- dependencies:
- '@mdit-vue/types': registry.npmmirror.com/@mdit-vue/types/0.11.0
- '@types/markdown-it': registry.npmmirror.com/@types/markdown-it/12.2.3
- markdown-it: registry.npmmirror.com/markdown-it/13.0.1
- dev: true
-
- registry.npmmirror.com/@mdit-vue/types/0.11.0:
- resolution: {integrity: sha512-ygCGP7vFpqS02hpZwEe1uz8cfImWX06+zRs08J+tCZRKb6k+easIaIHFtY9ZSxt7j9L/gAPLDo/5RmOT6z0DPQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@mdit-vue/types/-/types-0.11.0.tgz}
- name: '@mdit-vue/types'
- version: 0.11.0
- dev: true
-
- registry.npmmirror.com/@mermaid-js/mermaid-mindmap/9.2.2:
- resolution: {integrity: sha512-uzUY0PR/itxkQxpDRg95yDPJ++mRDUmGce4EVCKFebUCs0UNI/xi5mhvV6Oq8czM2ImY0W1gJu4MS2Xq3yiQug==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@mermaid-js/mermaid-mindmap/-/mermaid-mindmap-9.2.2.tgz}
- name: '@mermaid-js/mermaid-mindmap'
- version: 9.2.2
- dependencies:
- '@braintree/sanitize-url': registry.npmmirror.com/@braintree/sanitize-url/6.0.0
- cytoscape: registry.npmmirror.com/cytoscape/3.23.0
- cytoscape-cose-bilkent: registry.npmmirror.com/cytoscape-cose-bilkent/4.1.0_cytoscape@3.23.0
- cytoscape-fcose: registry.npmmirror.com/cytoscape-fcose/2.1.0_cytoscape@3.23.0
- d3: registry.npmmirror.com/d3/7.4.4
- non-layered-tidy-tree-layout: registry.npmmirror.com/non-layered-tidy-tree-layout/2.0.2
- dev: true
-
- registry.npmmirror.com/@nodelib/fs.scandir/2.1.5:
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz}
- name: '@nodelib/fs.scandir'
- version: 2.1.5
- engines: {node: '>= 8'}
+ magicast@0.5.5:
dependencies:
- '@nodelib/fs.stat': registry.npmmirror.com/@nodelib/fs.stat/2.0.5
- run-parallel: registry.npmmirror.com/run-parallel/1.2.0
- dev: true
+ '@babel/parser': 7.29.9
+ '@babel/types': 7.29.8
+ source-map-js: 1.2.2
- registry.npmmirror.com/@nodelib/fs.stat/2.0.5:
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz}
- name: '@nodelib/fs.stat'
- version: 2.0.5
- engines: {node: '>= 8'}
- dev: true
+ make-error@1.3.6: {}
- registry.npmmirror.com/@nodelib/fs.walk/1.2.8:
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz}
- name: '@nodelib/fs.walk'
- version: 1.2.8
- engines: {node: '>= 8'}
+ map-obj@1.0.1: {}
+
+ map-obj@4.3.0: {}
+
+ markdown-extensions@2.0.0: {}
+
+ markdown-table@3.0.4: {}
+
+ marked@16.4.2: {}
+
+ mdast-util-definitions@6.0.0:
dependencies:
- '@nodelib/fs.scandir': registry.npmmirror.com/@nodelib/fs.scandir/2.1.5
- fastq: registry.npmmirror.com/fastq/1.13.0
- dev: true
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ unist-util-visit: 5.1.0
- registry.npmmirror.com/@rollup/plugin-babel/5.3.1_rdqchdyh26wleuqzxvwvgxjg6a:
- resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz}
- id: registry.npmmirror.com/@rollup/plugin-babel/5.3.1
- name: '@rollup/plugin-babel'
- version: 5.3.1
- engines: {node: '>= 10.0.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- '@types/babel__core': ^7.1.9
- rollup: ^1.20.0||^2.0.0
- peerDependenciesMeta:
- '@types/babel__core':
- optional: true
+ mdast-util-find-and-replace@3.0.3:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-module-imports': registry.npmmirror.com/@babel/helper-module-imports/7.16.7
- '@rollup/pluginutils': registry.npmmirror.com/@rollup/pluginutils/3.1.0_rollup@2.79.1
- rollup: registry.npmmirror.com/rollup/2.79.1
- dev: true
-
- registry.npmmirror.com/@rollup/plugin-node-resolve/11.2.1_rollup@2.79.1:
- resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz}
- id: registry.npmmirror.com/@rollup/plugin-node-resolve/11.2.1
- name: '@rollup/plugin-node-resolve'
- version: 11.2.1
- engines: {node: '>= 10.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0
- dependencies:
- '@rollup/pluginutils': registry.npmmirror.com/@rollup/pluginutils/3.1.0_rollup@2.79.1
- '@types/resolve': registry.npmmirror.com/@types/resolve/1.17.1
- builtin-modules: registry.npmmirror.com/builtin-modules/3.2.0
- deepmerge: registry.npmmirror.com/deepmerge/4.2.2
- is-module: registry.npmmirror.com/is-module/1.0.0
- resolve: registry.npmmirror.com/resolve/1.22.1
- rollup: registry.npmmirror.com/rollup/2.79.1
- dev: true
-
- registry.npmmirror.com/@rollup/plugin-replace/2.4.2_rollup@2.79.1:
- resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz}
- id: registry.npmmirror.com/@rollup/plugin-replace/2.4.2
- name: '@rollup/plugin-replace'
- version: 2.4.2
- peerDependencies:
- rollup: ^1.20.0 || ^2.0.0
- dependencies:
- '@rollup/pluginutils': registry.npmmirror.com/@rollup/pluginutils/3.1.0_rollup@2.79.1
- magic-string: registry.npmmirror.com/magic-string/0.25.9
- rollup: registry.npmmirror.com/rollup/2.79.1
- dev: true
-
- registry.npmmirror.com/@rollup/pluginutils/3.1.0_rollup@2.79.1:
- resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz}
- id: registry.npmmirror.com/@rollup/pluginutils/3.1.0
- name: '@rollup/pluginutils'
- version: 3.1.0
- engines: {node: '>= 8.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0
- dependencies:
- '@types/estree': registry.npmmirror.com/@types/estree/0.0.39
- estree-walker: registry.npmmirror.com/estree-walker/1.0.1
- picomatch: registry.npmmirror.com/picomatch/2.3.1
- rollup: registry.npmmirror.com/rollup/2.79.1
- dev: true
-
- registry.npmmirror.com/@surma/rollup-plugin-off-main-thread/2.2.3:
- resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz}
- name: '@surma/rollup-plugin-off-main-thread'
- version: 2.2.3
- dependencies:
- ejs: registry.npmmirror.com/ejs/3.1.7
- json5: registry.npmmirror.com/json5/2.2.1
- magic-string: registry.npmmirror.com/magic-string/0.25.9
- string.prototype.matchall: registry.npmmirror.com/string.prototype.matchall/4.0.7
- dev: true
-
- registry.npmmirror.com/@types/debug/4.1.7:
- resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/debug/-/debug-4.1.7.tgz}
- name: '@types/debug'
- version: 4.1.7
- dependencies:
- '@types/ms': registry.npmmirror.com/@types/ms/0.7.31
- dev: true
-
- registry.npmmirror.com/@types/estree/0.0.39:
- resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/estree/-/estree-0.0.39.tgz}
- name: '@types/estree'
- version: 0.0.39
- dev: true
-
- registry.npmmirror.com/@types/fs-extra/9.0.13:
- resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/fs-extra/-/fs-extra-9.0.13.tgz}
- name: '@types/fs-extra'
- version: 9.0.13
- dependencies:
- '@types/node': registry.npmmirror.com/@types/node/17.0.32
- dev: true
-
- registry.npmmirror.com/@types/hash-sum/1.0.0:
- resolution: {integrity: sha512-FdLBT93h3kcZ586Aee66HPCVJ6qvxVjBlDWNmxSGSbCZe9hTsjRKdSsl4y1T+3zfujxo9auykQMnFsfyHWD7wg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/hash-sum/-/hash-sum-1.0.0.tgz}
- name: '@types/hash-sum'
- version: 1.0.0
- dev: true
-
- registry.npmmirror.com/@types/katex/0.14.0:
- resolution: {integrity: sha512-+2FW2CcT0K3P+JMR8YG846bmDwplKUTsWgT2ENwdQ1UdVfRk3GQrh6Mi4sTopy30gI8Uau5CEqHTDZ6YvWIUPA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/katex/-/katex-0.14.0.tgz}
- name: '@types/katex'
- version: 0.14.0
- dev: true
-
- registry.npmmirror.com/@types/linkify-it/3.0.2:
- resolution: {integrity: sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/linkify-it/-/linkify-it-3.0.2.tgz}
- name: '@types/linkify-it'
- version: 3.0.2
- dev: true
-
- registry.npmmirror.com/@types/markdown-it-emoji/2.0.2:
- resolution: {integrity: sha512-2ln8Wjbcj/0oRi/6VnuMeWEHHuK8uapFttvcLmDIe1GKCsFBLOLBX+D+xhDa9oWOQV0IpvxwrSfKKssAqqroog==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/markdown-it-emoji/-/markdown-it-emoji-2.0.2.tgz}
- name: '@types/markdown-it-emoji'
- version: 2.0.2
- dependencies:
- '@types/markdown-it': registry.npmmirror.com/@types/markdown-it/12.2.3
- dev: true
-
- registry.npmmirror.com/@types/markdown-it/12.2.3:
- resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/markdown-it/-/markdown-it-12.2.3.tgz}
- name: '@types/markdown-it'
- version: 12.2.3
- dependencies:
- '@types/linkify-it': registry.npmmirror.com/@types/linkify-it/3.0.2
- '@types/mdurl': registry.npmmirror.com/@types/mdurl/1.0.2
- dev: true
-
- registry.npmmirror.com/@types/mdurl/1.0.2:
- resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/mdurl/-/mdurl-1.0.2.tgz}
- name: '@types/mdurl'
- version: 1.0.2
- dev: true
-
- registry.npmmirror.com/@types/ms/0.7.31:
- resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/ms/-/ms-0.7.31.tgz}
- name: '@types/ms'
- version: 0.7.31
- dev: true
-
- registry.npmmirror.com/@types/node/17.0.32:
- resolution: {integrity: sha512-eAIcfAvhf/BkHcf4pkLJ7ECpBAhh9kcxRBpip9cTiO+hf+aJrsxYxBeS6OXvOd9WqNAJmavXVpZvY1rBjNsXmw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/node/-/node-17.0.32.tgz}
- name: '@types/node'
- version: 17.0.32
- dev: true
-
- registry.npmmirror.com/@types/resolve/1.17.1:
- resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/resolve/-/resolve-1.17.1.tgz}
- name: '@types/resolve'
- version: 1.17.1
- dependencies:
- '@types/node': registry.npmmirror.com/@types/node/17.0.32
- dev: true
-
- registry.npmmirror.com/@types/sax/1.2.4:
- resolution: {integrity: sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/sax/-/sax-1.2.4.tgz}
- name: '@types/sax'
- version: 1.2.4
- dependencies:
- '@types/node': registry.npmmirror.com/@types/node/17.0.32
- dev: true
-
- registry.npmmirror.com/@types/trusted-types/2.0.2:
- resolution: {integrity: sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/trusted-types/-/trusted-types-2.0.2.tgz}
- name: '@types/trusted-types'
- version: 2.0.2
- dev: true
-
- registry.npmmirror.com/@types/web-bluetooth/0.0.16:
- resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz}
- name: '@types/web-bluetooth'
- version: 0.0.16
- dev: true
-
- registry.npmmirror.com/@vitejs/plugin-vue/3.2.0_vite@3.1.8+vue@3.2.45:
- resolution: {integrity: sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-3.2.0.tgz}
- id: registry.npmmirror.com/@vitejs/plugin-vue/3.2.0
- name: '@vitejs/plugin-vue'
- version: 3.2.0
- engines: {node: ^14.18.0 || >=16.0.0}
- peerDependencies:
- vite: ^3.0.0
- vue: ^3.2.25
- dependencies:
- vite: registry.npmmirror.com/vite/3.1.8
- vue: registry.npmmirror.com/vue/3.2.45
- dev: true
-
- registry.npmmirror.com/@vue/compiler-core/3.2.45:
- resolution: {integrity: sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.45.tgz}
- name: '@vue/compiler-core'
- version: 3.2.45
- dependencies:
- '@babel/parser': registry.npmmirror.com/@babel/parser/7.17.10
- '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45
- estree-walker: registry.npmmirror.com/estree-walker/2.0.2
- source-map: registry.npmmirror.com/source-map/0.6.1
- dev: true
-
- registry.npmmirror.com/@vue/compiler-dom/3.2.45:
- resolution: {integrity: sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.45.tgz}
- name: '@vue/compiler-dom'
- version: 3.2.45
- dependencies:
- '@vue/compiler-core': registry.npmmirror.com/@vue/compiler-core/3.2.45
- '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45
- dev: true
-
- registry.npmmirror.com/@vue/compiler-sfc/3.2.45:
- resolution: {integrity: sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.45.tgz}
- name: '@vue/compiler-sfc'
- version: 3.2.45
- dependencies:
- '@babel/parser': registry.npmmirror.com/@babel/parser/7.17.10
- '@vue/compiler-core': registry.npmmirror.com/@vue/compiler-core/3.2.45
- '@vue/compiler-dom': registry.npmmirror.com/@vue/compiler-dom/3.2.45
- '@vue/compiler-ssr': registry.npmmirror.com/@vue/compiler-ssr/3.2.45
- '@vue/reactivity-transform': registry.npmmirror.com/@vue/reactivity-transform/3.2.45
- '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45
- estree-walker: registry.npmmirror.com/estree-walker/2.0.2
- magic-string: registry.npmmirror.com/magic-string/0.25.9
- postcss: registry.npmmirror.com/postcss/8.4.13
- source-map: registry.npmmirror.com/source-map/0.6.1
- dev: true
-
- registry.npmmirror.com/@vue/compiler-ssr/3.2.45:
- resolution: {integrity: sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.45.tgz}
- name: '@vue/compiler-ssr'
- version: 3.2.45
- dependencies:
- '@vue/compiler-dom': registry.npmmirror.com/@vue/compiler-dom/3.2.45
- '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45
- dev: true
-
- registry.npmmirror.com/@vue/devtools-api/6.4.5:
- resolution: {integrity: sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.4.5.tgz}
- name: '@vue/devtools-api'
- version: 6.4.5
- dev: true
-
- registry.npmmirror.com/@vue/reactivity-transform/3.2.45:
- resolution: {integrity: sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.45.tgz}
- name: '@vue/reactivity-transform'
- version: 3.2.45
- dependencies:
- '@babel/parser': registry.npmmirror.com/@babel/parser/7.17.10
- '@vue/compiler-core': registry.npmmirror.com/@vue/compiler-core/3.2.45
- '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45
- estree-walker: registry.npmmirror.com/estree-walker/2.0.2
- magic-string: registry.npmmirror.com/magic-string/0.25.9
- dev: true
-
- registry.npmmirror.com/@vue/reactivity/3.2.45:
- resolution: {integrity: sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.45.tgz}
- name: '@vue/reactivity'
- version: 3.2.45
- dependencies:
- '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45
- dev: true
-
- registry.npmmirror.com/@vue/repl/1.3.2_vue@3.2.45:
- resolution: {integrity: sha512-5joGOuTFmjaugG3E1h/oP1EXSMcVXRUwLIoo8xvYQnqDrCT6g1SfsH1pfei5PpC5DUxMX1584CekZu6REgGYkQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/repl/-/repl-1.3.2.tgz}
- id: registry.npmmirror.com/@vue/repl/1.3.2
- name: '@vue/repl'
- version: 1.3.2
- peerDependencies:
- vue: ^3.2.13
- dependencies:
- vue: registry.npmmirror.com/vue/3.2.45
- dev: true
-
- registry.npmmirror.com/@vue/runtime-core/3.2.45:
- resolution: {integrity: sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.45.tgz}
- name: '@vue/runtime-core'
- version: 3.2.45
- dependencies:
- '@vue/reactivity': registry.npmmirror.com/@vue/reactivity/3.2.45
- '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45
- dev: true
-
- registry.npmmirror.com/@vue/runtime-dom/3.2.45:
- resolution: {integrity: sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.45.tgz}
- name: '@vue/runtime-dom'
- version: 3.2.45
- dependencies:
- '@vue/runtime-core': registry.npmmirror.com/@vue/runtime-core/3.2.45
- '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45
- csstype: registry.npmmirror.com/csstype/2.6.20
- dev: true
-
- registry.npmmirror.com/@vue/server-renderer/3.2.45_vue@3.2.45:
- resolution: {integrity: sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.45.tgz}
- id: registry.npmmirror.com/@vue/server-renderer/3.2.45
- name: '@vue/server-renderer'
- version: 3.2.45
- peerDependencies:
- vue: 3.2.45
- dependencies:
- '@vue/compiler-ssr': registry.npmmirror.com/@vue/compiler-ssr/3.2.45
- '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45
- vue: registry.npmmirror.com/vue/3.2.45
- dev: true
-
- registry.npmmirror.com/@vue/shared/3.2.45:
- resolution: {integrity: sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/shared/-/shared-3.2.45.tgz}
- name: '@vue/shared'
- version: 3.2.45
- dev: true
-
- registry.npmmirror.com/@vuepress/bundler-vite/2.0.0-beta.53:
- resolution: {integrity: sha512-zkqkV+EnoTi7cTRi6xjb0SRg0GzRYwceJu80/6q7Bd+h+VktqhapcHAZ8QaIsq8OxCXbg3sms/A9kg3UxBnRqg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vuepress/bundler-vite/-/bundler-vite-2.0.0-beta.53.tgz}
- name: '@vuepress/bundler-vite'
- version: 2.0.0-beta.53
- dependencies:
- '@vitejs/plugin-vue': registry.npmmirror.com/@vitejs/plugin-vue/3.2.0_vite@3.1.8+vue@3.2.45
- '@vuepress/client': registry.npmmirror.com/@vuepress/client/2.0.0-beta.53
- '@vuepress/core': registry.npmmirror.com/@vuepress/core/2.0.0-beta.53
- '@vuepress/shared': registry.npmmirror.com/@vuepress/shared/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- autoprefixer: registry.npmmirror.com/autoprefixer/10.4.13_postcss@8.4.19
- connect-history-api-fallback: registry.npmmirror.com/connect-history-api-fallback/2.0.0
- postcss: registry.npmmirror.com/postcss/8.4.19
- postcss-load-config: registry.npmmirror.com/postcss-load-config/4.0.1_postcss@8.4.19
- rollup: registry.npmmirror.com/rollup/2.79.1
- vite: registry.npmmirror.com/vite/3.1.8
- vue: registry.npmmirror.com/vue/3.2.45
- vue-router: registry.npmmirror.com/vue-router/4.1.6_vue@3.2.45
- transitivePeerDependencies:
- - less
- - sass
- - stylus
- - supports-color
- - terser
- - ts-node
- dev: true
+ '@types/mdast': 4.0.4
+ escape-string-regexp: 5.0.0
+ unist-util-is: 6.0.1
+ unist-util-visit-parents: 6.0.2
- registry.npmmirror.com/@vuepress/cli/2.0.0-beta.53:
- resolution: {integrity: sha512-MT2y6syOIP17hq/mWiZXTDEViDb3/k5eIVzlvpw4N8oiAr4hwwdCUzQ5vKVd7trn+83KvG5XYOLtjrj1hexlYg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vuepress/cli/-/cli-2.0.0-beta.53.tgz}
- name: '@vuepress/cli'
- version: 2.0.0-beta.53
- hasBin: true
+ mdast-util-from-markdown@2.1.0:
dependencies:
- '@vuepress/core': registry.npmmirror.com/@vuepress/core/2.0.0-beta.53
- '@vuepress/shared': registry.npmmirror.com/@vuepress/shared/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- cac: registry.npmmirror.com/cac/6.7.14
- chokidar: registry.npmmirror.com/chokidar/3.5.3
- envinfo: registry.npmmirror.com/envinfo/7.8.1
- esbuild: registry.npmmirror.com/esbuild/0.15.14
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- registry.npmmirror.com/@vuepress/client/2.0.0-beta.53:
- resolution: {integrity: sha512-TDKxlrUvwfWu3QAY4SHeu9mVqBkEoKvuoy0WsKy7x9omEy8+HJG1O9y664bP9SotD52skcKL1iW38nQJR2+AkQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vuepress/client/-/client-2.0.0-beta.53.tgz}
- name: '@vuepress/client'
- version: 2.0.0-beta.53
- dependencies:
- '@vue/devtools-api': registry.npmmirror.com/@vue/devtools-api/6.4.5
- '@vuepress/shared': registry.npmmirror.com/@vuepress/shared/2.0.0-beta.53
- vue: registry.npmmirror.com/vue/3.2.45
- vue-router: registry.npmmirror.com/vue-router/4.1.6_vue@3.2.45
- dev: true
-
- registry.npmmirror.com/@vuepress/core/2.0.0-beta.53:
- resolution: {integrity: sha512-s642hM+PpiNphLm/KZvva45OYKX6hWRh2Y+C92TDGzCMxiONI8ZxGLqXRCw5bKw5NGh91s+P4sf3iaY+JxL1Ig==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vuepress/core/-/core-2.0.0-beta.53.tgz}
- name: '@vuepress/core'
- version: 2.0.0-beta.53
- dependencies:
- '@vuepress/client': registry.npmmirror.com/@vuepress/client/2.0.0-beta.53
- '@vuepress/markdown': registry.npmmirror.com/@vuepress/markdown/2.0.0-beta.53
- '@vuepress/shared': registry.npmmirror.com/@vuepress/shared/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- vue: registry.npmmirror.com/vue/3.2.45
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- registry.npmmirror.com/@vuepress/markdown/2.0.0-beta.53:
- resolution: {integrity: sha512-ohIujGc0tVSsFTBD5kyB0asxLsDtctzrOOgHvaS2fDWqm0MQisjxnQKNFdbWk9bfddAyty0aKN+m/4l0f5lCDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vuepress/markdown/-/markdown-2.0.0-beta.53.tgz}
- name: '@vuepress/markdown'
- version: 2.0.0-beta.53
- dependencies:
- '@mdit-vue/plugin-component': registry.npmmirror.com/@mdit-vue/plugin-component/0.11.1
- '@mdit-vue/plugin-frontmatter': registry.npmmirror.com/@mdit-vue/plugin-frontmatter/0.11.1
- '@mdit-vue/plugin-headers': registry.npmmirror.com/@mdit-vue/plugin-headers/0.11.1
- '@mdit-vue/plugin-sfc': registry.npmmirror.com/@mdit-vue/plugin-sfc/0.11.1
- '@mdit-vue/plugin-title': registry.npmmirror.com/@mdit-vue/plugin-title/0.11.1
- '@mdit-vue/plugin-toc': registry.npmmirror.com/@mdit-vue/plugin-toc/0.11.1
- '@mdit-vue/shared': registry.npmmirror.com/@mdit-vue/shared/0.11.0
- '@mdit-vue/types': registry.npmmirror.com/@mdit-vue/types/0.11.0
- '@types/markdown-it': registry.npmmirror.com/@types/markdown-it/12.2.3
- '@types/markdown-it-emoji': registry.npmmirror.com/@types/markdown-it-emoji/2.0.2
- '@vuepress/shared': registry.npmmirror.com/@vuepress/shared/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- markdown-it: registry.npmmirror.com/markdown-it/13.0.1
- markdown-it-anchor: registry.npmmirror.com/markdown-it-anchor/8.6.5_ea7kj7wzjkld5jo2noyjqxi764
- markdown-it-emoji: registry.npmmirror.com/markdown-it-emoji/2.0.2
- mdurl: registry.npmmirror.com/mdurl/1.0.1
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ decode-named-character-reference: 1.3.0
+ devlop: 1.1.0
+ mdast-util-to-string: 4.0.0
+ micromark: 4.0.3
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-decode-string: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.3
+ unist-util-stringify-position: 4.0.0
transitivePeerDependencies:
- supports-color
- dev: true
-
- registry.npmmirror.com/@vuepress/plugin-active-header-links/2.0.0-beta.53:
- resolution: {integrity: sha512-rlDQ4CpF/awzHN6l6c5C4/bbiAZisZ2Z9cP2GJJBbxIb6QA6GOrIoHMt6L+9321Q+/jmntjoRJT4yHP/jg8OMA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vuepress/plugin-active-header-links/-/plugin-active-header-links-2.0.0-beta.53.tgz}
- name: '@vuepress/plugin-active-header-links'
- version: 2.0.0-beta.53
- dependencies:
- '@vuepress/client': registry.npmmirror.com/@vuepress/client/2.0.0-beta.53
- '@vuepress/core': registry.npmmirror.com/@vuepress/core/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- ts-debounce: registry.npmmirror.com/ts-debounce/4.0.0
- vue: registry.npmmirror.com/vue/3.2.45
- vue-router: registry.npmmirror.com/vue-router/4.1.6_vue@3.2.45
+
+ mdast-util-gfm-autolink-literal@2.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ ccount: 2.0.1
+ devlop: 1.1.0
+ mdast-util-find-and-replace: 3.0.3
+ micromark-util-character: 2.1.1
+
+ mdast-util-gfm-footnote@2.1.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.1.0
+ mdast-util-to-markdown: 2.2.0
+ micromark-util-normalize-identifier: 2.0.1
transitivePeerDependencies:
- supports-color
- dev: true
-
- registry.npmmirror.com/@vuepress/plugin-back-to-top/2.0.0-beta.53:
- resolution: {integrity: sha512-M7+WIA1e57yHbpUKksVDQdcHceslqeGn0/MldjmZHZ/xosxjM/ZIsw7AiSdmCcISEZBr60IXxDoLqJMNhMNQLQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vuepress/plugin-back-to-top/-/plugin-back-to-top-2.0.0-beta.53.tgz}
- name: '@vuepress/plugin-back-to-top'
- version: 2.0.0-beta.53
- dependencies:
- '@vuepress/client': registry.npmmirror.com/@vuepress/client/2.0.0-beta.53
- '@vuepress/core': registry.npmmirror.com/@vuepress/core/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- ts-debounce: registry.npmmirror.com/ts-debounce/4.0.0
- vue: registry.npmmirror.com/vue/3.2.45
+
+ mdast-util-gfm-strikethrough@2.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-from-markdown: 2.1.0
+ mdast-util-to-markdown: 2.2.0
transitivePeerDependencies:
- supports-color
- dev: true
-
- registry.npmmirror.com/@vuepress/plugin-container/2.0.0-beta.53:
- resolution: {integrity: sha512-kkEee5iGRHfGVFNBsF2b5vCfjC7dcmU2zqICJq8/UZbhWuyAavpmDovQYLCVh/yTfNE1FlRUOAFFI+jf3bvF9g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vuepress/plugin-container/-/plugin-container-2.0.0-beta.53.tgz}
- name: '@vuepress/plugin-container'
- version: 2.0.0-beta.53
- dependencies:
- '@types/markdown-it': registry.npmmirror.com/@types/markdown-it/12.2.3
- '@vuepress/core': registry.npmmirror.com/@vuepress/core/2.0.0-beta.53
- '@vuepress/markdown': registry.npmmirror.com/@vuepress/markdown/2.0.0-beta.53
- '@vuepress/shared': registry.npmmirror.com/@vuepress/shared/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- markdown-it: registry.npmmirror.com/markdown-it/13.0.1
- markdown-it-container: registry.npmmirror.com/markdown-it-container/3.0.0
+
+ mdast-util-gfm-table@2.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ markdown-table: 3.0.4
+ mdast-util-from-markdown: 2.1.0
+ mdast-util-to-markdown: 2.2.0
transitivePeerDependencies:
- supports-color
- dev: true
-
- registry.npmmirror.com/@vuepress/plugin-external-link-icon/2.0.0-beta.53:
- resolution: {integrity: sha512-S+IY1PK96Vbuf90IdZBe36kRpMCXrGr9TPaPm1aAQ9GA0Y5QQkTV876SXsb0n1B6Ae2AsSieulB2o4lyoL1LBQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vuepress/plugin-external-link-icon/-/plugin-external-link-icon-2.0.0-beta.53.tgz}
- name: '@vuepress/plugin-external-link-icon'
- version: 2.0.0-beta.53
- dependencies:
- '@vuepress/client': registry.npmmirror.com/@vuepress/client/2.0.0-beta.53
- '@vuepress/core': registry.npmmirror.com/@vuepress/core/2.0.0-beta.53
- '@vuepress/markdown': registry.npmmirror.com/@vuepress/markdown/2.0.0-beta.53
- '@vuepress/shared': registry.npmmirror.com/@vuepress/shared/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- vue: registry.npmmirror.com/vue/3.2.45
+
+ mdast-util-gfm-task-list-item@2.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.1.0
+ mdast-util-to-markdown: 2.2.0
transitivePeerDependencies:
- supports-color
- dev: true
- registry.npmmirror.com/@vuepress/plugin-git/2.0.0-beta.53:
- resolution: {integrity: sha512-hefVEUhxTgvDcrsIutVBBfJvixR/L6iTQZ9eDAj2z71fOgnVNdN8PNZ9XRDm3nhZrye9X44AmJI82Wk9SlwgVw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vuepress/plugin-git/-/plugin-git-2.0.0-beta.53.tgz}
- name: '@vuepress/plugin-git'
- version: 2.0.0-beta.53
+ mdast-util-gfm@3.1.0:
dependencies:
- '@vuepress/core': registry.npmmirror.com/@vuepress/core/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- execa: registry.npmmirror.com/execa/6.1.0
+ mdast-util-from-markdown: 2.1.0
+ mdast-util-gfm-autolink-literal: 2.0.1
+ mdast-util-gfm-footnote: 2.1.0
+ mdast-util-gfm-strikethrough: 2.0.1
+ mdast-util-gfm-table: 2.0.0
+ mdast-util-gfm-task-list-item: 2.0.0
+ mdast-util-to-markdown: 2.2.0
transitivePeerDependencies:
- supports-color
- dev: true
-
- registry.npmmirror.com/@vuepress/plugin-medium-zoom/2.0.0-beta.53:
- resolution: {integrity: sha512-hvmO40is/JrHDcSFp73qwX90nXUAaBBZHokZ0I3D61u6acFtI4HU/vpJpu+3oiqjXHQaUNqZO5eDr4EpypGjUg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vuepress/plugin-medium-zoom/-/plugin-medium-zoom-2.0.0-beta.53.tgz}
- name: '@vuepress/plugin-medium-zoom'
- version: 2.0.0-beta.53
- dependencies:
- '@vuepress/client': registry.npmmirror.com/@vuepress/client/2.0.0-beta.53
- '@vuepress/core': registry.npmmirror.com/@vuepress/core/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- medium-zoom: registry.npmmirror.com/medium-zoom/1.0.6
- vue: registry.npmmirror.com/vue/3.2.45
+
+ mdast-util-mdx-expression@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.5
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.1.0
+ mdast-util-to-markdown: 2.2.0
transitivePeerDependencies:
- supports-color
- dev: true
-
- registry.npmmirror.com/@vuepress/plugin-nprogress/2.0.0-beta.53:
- resolution: {integrity: sha512-xO8Dqw1yCttY6N+jDpuwE3RG+jQVPE0EieRafTWRO+fGCFobGa/6Zldc4x3+alB2xyXwFAy2495NYgPudNIWeQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vuepress/plugin-nprogress/-/plugin-nprogress-2.0.0-beta.53.tgz}
- name: '@vuepress/plugin-nprogress'
- version: 2.0.0-beta.53
- dependencies:
- '@vuepress/client': registry.npmmirror.com/@vuepress/client/2.0.0-beta.53
- '@vuepress/core': registry.npmmirror.com/@vuepress/core/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- vue: registry.npmmirror.com/vue/3.2.45
- vue-router: registry.npmmirror.com/vue-router/4.1.6_vue@3.2.45
+
+ mdast-util-mdx-jsx@3.2.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.5
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ ccount: 2.0.1
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.1.0
+ mdast-util-to-markdown: 2.2.0
+ parse-entities: 4.0.2
+ stringify-entities: 4.0.4
+ unist-util-stringify-position: 4.0.0
+ vfile-message: 4.0.3
transitivePeerDependencies:
- supports-color
- dev: true
- registry.npmmirror.com/@vuepress/plugin-palette/2.0.0-beta.53:
- resolution: {integrity: sha512-iYCb397nu/WacvXEaTmeex7lxkjHqRPXLAqBccrD4JWPshP2iu1ajM316jI8sUXSPTZZl4GOQ7+fqbr+UGHdEg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vuepress/plugin-palette/-/plugin-palette-2.0.0-beta.53.tgz}
- name: '@vuepress/plugin-palette'
- version: 2.0.0-beta.53
+ mdast-util-mdx@3.0.0:
dependencies:
- '@vuepress/core': registry.npmmirror.com/@vuepress/core/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- chokidar: registry.npmmirror.com/chokidar/3.5.3
+ mdast-util-from-markdown: 2.1.0
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ mdast-util-to-markdown: 2.2.0
transitivePeerDependencies:
- supports-color
- dev: true
- registry.npmmirror.com/@vuepress/plugin-prismjs/2.0.0-beta.53:
- resolution: {integrity: sha512-8zAMHqSPJK8Nw9hP2V12BrAfT88Mmw37Lhi6cbc0S9Ub+wapzZkD9I1SuR1OEssqqMrHL2h1dWx25RqYstn7eA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vuepress/plugin-prismjs/-/plugin-prismjs-2.0.0-beta.53.tgz}
- name: '@vuepress/plugin-prismjs'
- version: 2.0.0-beta.53
+ mdast-util-mdxjs-esm@2.0.1:
dependencies:
- '@vuepress/core': registry.npmmirror.com/@vuepress/core/2.0.0-beta.53
- prismjs: registry.npmmirror.com/prismjs/1.29.0
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.5
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.1.0
+ mdast-util-to-markdown: 2.2.0
transitivePeerDependencies:
- supports-color
- dev: true
-
- registry.npmmirror.com/@vuepress/plugin-theme-data/2.0.0-beta.53:
- resolution: {integrity: sha512-fTOWrsO+ql2ZcN1UtF7Xc6+J/XfOAL+4+0Tq6fSky4Gv1HdC2Euey+r+RYgYkTdogdbL2VaUp3s+jhcow5WWAg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vuepress/plugin-theme-data/-/plugin-theme-data-2.0.0-beta.53.tgz}
- name: '@vuepress/plugin-theme-data'
- version: 2.0.0-beta.53
- dependencies:
- '@vue/devtools-api': registry.npmmirror.com/@vue/devtools-api/6.4.5
- '@vuepress/client': registry.npmmirror.com/@vuepress/client/2.0.0-beta.53
- '@vuepress/core': registry.npmmirror.com/@vuepress/core/2.0.0-beta.53
- '@vuepress/shared': registry.npmmirror.com/@vuepress/shared/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- vue: registry.npmmirror.com/vue/3.2.45
- transitivePeerDependencies:
- - supports-color
- dev: true
- registry.npmmirror.com/@vuepress/shared/2.0.0-beta.53:
- resolution: {integrity: sha512-B0qWorGxC3ruSHdZcJW24XtEDEU3L3uPr0xzTeKVfHjOM4b9hN83YzBtW4n/WPnmk1RXVE9266Ulh9ZL5okGOw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vuepress/shared/-/shared-2.0.0-beta.53.tgz}
- name: '@vuepress/shared'
- version: 2.0.0-beta.53
+ mdast-util-phrasing@4.1.0:
dependencies:
- '@mdit-vue/types': registry.npmmirror.com/@mdit-vue/types/0.11.0
- '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45
- dev: true
+ '@types/mdast': 4.0.4
+ unist-util-is: 6.0.1
- registry.npmmirror.com/@vuepress/theme-default/2.0.0-beta.53:
- resolution: {integrity: sha512-FNzEgD2D+ZZRpgF4PfUMCVfKkpzHjmapMlho6Q74d1iqf5cbDeiTyUSWXM2SWHwyZDbdbemjcnfiztb1c215ow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vuepress/theme-default/-/theme-default-2.0.0-beta.53.tgz}
- name: '@vuepress/theme-default'
- version: 2.0.0-beta.53
- peerDependencies:
- sass-loader: ^13.0.2
- peerDependenciesMeta:
- sass-loader:
- optional: true
- dependencies:
- '@vuepress/client': registry.npmmirror.com/@vuepress/client/2.0.0-beta.53
- '@vuepress/core': registry.npmmirror.com/@vuepress/core/2.0.0-beta.53
- '@vuepress/plugin-active-header-links': registry.npmmirror.com/@vuepress/plugin-active-header-links/2.0.0-beta.53
- '@vuepress/plugin-back-to-top': registry.npmmirror.com/@vuepress/plugin-back-to-top/2.0.0-beta.53
- '@vuepress/plugin-container': registry.npmmirror.com/@vuepress/plugin-container/2.0.0-beta.53
- '@vuepress/plugin-external-link-icon': registry.npmmirror.com/@vuepress/plugin-external-link-icon/2.0.0-beta.53
- '@vuepress/plugin-git': registry.npmmirror.com/@vuepress/plugin-git/2.0.0-beta.53
- '@vuepress/plugin-medium-zoom': registry.npmmirror.com/@vuepress/plugin-medium-zoom/2.0.0-beta.53
- '@vuepress/plugin-nprogress': registry.npmmirror.com/@vuepress/plugin-nprogress/2.0.0-beta.53
- '@vuepress/plugin-palette': registry.npmmirror.com/@vuepress/plugin-palette/2.0.0-beta.53
- '@vuepress/plugin-prismjs': registry.npmmirror.com/@vuepress/plugin-prismjs/2.0.0-beta.53
- '@vuepress/plugin-theme-data': registry.npmmirror.com/@vuepress/plugin-theme-data/2.0.0-beta.53
- '@vuepress/shared': registry.npmmirror.com/@vuepress/shared/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- '@vueuse/core': registry.npmmirror.com/@vueuse/core/9.5.0_vue@3.2.45
- sass: registry.npmmirror.com/sass/1.56.1
- vue: registry.npmmirror.com/vue/3.2.45
- vue-router: registry.npmmirror.com/vue-router/4.1.6_vue@3.2.45
- transitivePeerDependencies:
- - '@vue/composition-api'
- - supports-color
- dev: true
-
- registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53:
- resolution: {integrity: sha512-cYqAspUJoY1J84kbDbPbrIcfaoID5Wb+BUrcWV7x8EFPXTn/KBLgc4/KBxWkdxk8O9V96/bXBDSLlalqLJCmJw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vuepress/utils/-/utils-2.0.0-beta.53.tgz}
- name: '@vuepress/utils'
- version: 2.0.0-beta.53
- dependencies:
- '@types/debug': registry.npmmirror.com/@types/debug/4.1.7
- '@types/fs-extra': registry.npmmirror.com/@types/fs-extra/9.0.13
- '@types/hash-sum': registry.npmmirror.com/@types/hash-sum/1.0.0
- '@vuepress/shared': registry.npmmirror.com/@vuepress/shared/2.0.0-beta.53
- chalk: registry.npmmirror.com/chalk/5.1.2
- debug: registry.npmmirror.com/debug/4.3.4
- fs-extra: registry.npmmirror.com/fs-extra/10.1.0
- globby: registry.npmmirror.com/globby/13.1.2
- hash-sum: registry.npmmirror.com/hash-sum/2.0.0
- ora: registry.npmmirror.com/ora/6.1.2
- upath: registry.npmmirror.com/upath/2.0.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- registry.npmmirror.com/@vueuse/core/9.5.0_vue@3.2.45:
- resolution: {integrity: sha512-6GsWBsJHEb3sYw15mbLrcbslAVY45pkzjJYTKYKCXv88z7srAF0VEW0q+oXKsl58tCbqooplInahXFg8Yo1m4w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vueuse/core/-/core-9.5.0.tgz}
- id: registry.npmmirror.com/@vueuse/core/9.5.0
- name: '@vueuse/core'
- version: 9.5.0
- dependencies:
- '@types/web-bluetooth': registry.npmmirror.com/@types/web-bluetooth/0.0.16
- '@vueuse/metadata': registry.npmmirror.com/@vueuse/metadata/9.5.0
- '@vueuse/shared': registry.npmmirror.com/@vueuse/shared/9.5.0_vue@3.2.45
- vue-demi: registry.npmmirror.com/vue-demi/0.12.5_vue@3.2.45
- transitivePeerDependencies:
- - '@vue/composition-api'
- - vue
- dev: true
-
- registry.npmmirror.com/@vueuse/metadata/9.5.0:
- resolution: {integrity: sha512-4M1AyPZmIv41pym+K5+4wup3bKuYebbH8w8BROY1hmT7rIwcyS4tEL+UsGz0Hiu1FCOxcoBrwtAizc0YmBJjyQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.5.0.tgz}
- name: '@vueuse/metadata'
- version: 9.5.0
- dev: true
-
- registry.npmmirror.com/@vueuse/shared/9.5.0_vue@3.2.45:
- resolution: {integrity: sha512-HnnCWU1Vg9CVWRCcI8ohDKDRB2Sc4bTgT1XAIaoLSfVHHn+TKbrox6pd3klCSw4UDxkhDfOk8cAdcK+Z5KleCA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vueuse/shared/-/shared-9.5.0.tgz}
- id: registry.npmmirror.com/@vueuse/shared/9.5.0
- name: '@vueuse/shared'
- version: 9.5.0
- dependencies:
- vue-demi: registry.npmmirror.com/vue-demi/0.12.5_vue@3.2.45
- transitivePeerDependencies:
- - '@vue/composition-api'
- - vue
- dev: true
-
- registry.npmmirror.com/@waline/client/2.14.1:
- resolution: {integrity: sha512-JnZidLAbuv9yf/+6LvLyv0t6dMHniIuFImgt4npctdCtG6cWuwIr8chhnJg4egiO5iVjlYbZeZYYvhwtjtPxwQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@waline/client/-/client-2.14.1.tgz}
- name: '@waline/client'
- version: 2.14.1
- engines: {node: '>=14'}
+ mdast-util-to-hast@13.2.1:
dependencies:
- '@vueuse/core': registry.npmmirror.com/@vueuse/core/9.5.0_vue@3.2.45
- autosize: registry.npmmirror.com/autosize/5.0.1
- marked: registry.npmmirror.com/marked/4.2.2
- vue: registry.npmmirror.com/vue/3.2.45
- transitivePeerDependencies:
- - '@vue/composition-api'
- dev: true
+ '@types/hast': 3.0.5
+ '@types/mdast': 4.0.4
+ '@ungap/structured-clone': 1.4.0
+ devlop: 1.1.0
+ micromark-util-sanitize-uri: 2.0.1
+ trim-lines: 3.0.1
+ unist-util-position: 5.0.0
+ unist-util-visit: 5.1.0
+ vfile: 6.0.3
- registry.npmmirror.com/acorn/8.7.1:
- resolution: {integrity: sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/acorn/-/acorn-8.7.1.tgz}
- name: acorn
- version: 8.7.1
- engines: {node: '>=0.4.0'}
- hasBin: true
- dev: true
-
- registry.npmmirror.com/ajv/8.11.0:
- resolution: {integrity: sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ajv/-/ajv-8.11.0.tgz}
- name: ajv
- version: 8.11.0
- dependencies:
- fast-deep-equal: registry.npmmirror.com/fast-deep-equal/3.1.3
- json-schema-traverse: registry.npmmirror.com/json-schema-traverse/1.0.0
- require-from-string: registry.npmmirror.com/require-from-string/2.0.2
- uri-js: registry.npmmirror.com/uri-js/4.4.1
- dev: true
-
- registry.npmmirror.com/ansi-colors/4.1.3:
- resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-colors/-/ansi-colors-4.1.3.tgz}
- name: ansi-colors
- version: 4.1.3
- engines: {node: '>=6'}
- dev: true
+ mdast-util-to-markdown@2.2.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ longest-streak: 3.1.0
+ mdast-util-phrasing: 4.1.0
+ mdast-util-to-string: 4.0.0
+ micromark-util-character: 2.1.1
+ micromark-util-classify-character: 2.0.1
+ micromark-util-decode-string: 2.0.1
+ micromark-util-html-tag-name: 2.0.1
+ unist-util-visit: 5.1.0
+ zwitch: 2.0.4
- registry.npmmirror.com/ansi-regex/3.0.1:
- resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-regex/-/ansi-regex-3.0.1.tgz}
- name: ansi-regex
- version: 3.0.1
- engines: {node: '>=4'}
- dev: true
+ mdast-util-to-string@4.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
- registry.npmmirror.com/ansi-regex/5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz}
- name: ansi-regex
- version: 5.0.1
- engines: {node: '>=8'}
- dev: true
+ mdn-data@2.0.28: {}
- registry.npmmirror.com/ansi-regex/6.0.1:
- resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.0.1.tgz}
- name: ansi-regex
- version: 6.0.1
- engines: {node: '>=12'}
- dev: true
+ mdn-data@2.27.1: {}
- registry.npmmirror.com/ansi-styles/3.2.1:
- resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz}
- name: ansi-styles
- version: 3.2.1
- engines: {node: '>=4'}
+ meow@8.1.2:
dependencies:
- color-convert: registry.npmmirror.com/color-convert/1.9.3
- dev: true
+ '@types/minimist': 1.2.5
+ camelcase-keys: 6.2.2
+ decamelize-keys: 1.1.1
+ hard-rejection: 2.1.0
+ minimist-options: 4.1.0
+ normalize-package-data: 3.0.3
+ read-pkg-up: 7.0.1
+ redent: 3.0.0
+ trim-newlines: 3.0.1
+ type-fest: 0.18.1
+ yargs-parser: 20.2.9
- registry.npmmirror.com/ansi-styles/4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz}
- name: ansi-styles
- version: 4.3.0
- engines: {node: '>=8'}
- dependencies:
- color-convert: registry.npmmirror.com/color-convert/2.0.1
- dev: true
+ merge-stream@2.0.0: {}
+
+ merge@2.1.1: {}
+
+ mermaid@11.17.2:
+ dependencies:
+ '@braintree/sanitize-url': 7.1.2
+ '@iconify/utils': 3.1.7
+ '@mermaid-js/parser': 1.2.1
+ '@types/d3': 7.4.3
+ '@upsetjs/venn.js': 2.0.0
+ cytoscape: 3.34.3
+ cytoscape-cose-bilkent: 4.1.0(cytoscape@3.34.3)
+ cytoscape-fcose: 2.2.0(cytoscape@3.34.3)
+ d3: 7.9.0
+ d3-sankey: 0.12.3
+ dagre-d3-es: 7.0.14
+ dayjs: 1.11.23
+ dompurify: 3.4.16
+ es-toolkit: 1.52.0
+ fastdom: 1.0.12
+ katex: 0.16.47
+ khroma: 2.1.0
+ marked: 16.4.2
+ roughjs: 4.6.6
+ stylis: 4.4.0
+ ts-dedent: 2.3.0
+ uuid: 14.0.2
+
+ micromark-core-commonmark@2.0.4:
+ dependencies:
+ decode-named-character-reference: 1.3.0
+ devlop: 1.1.0
+ micromark-factory-destination: 2.0.1
+ micromark-factory-label: 2.0.1
+ micromark-factory-space: 2.1.0
+ micromark-factory-title: 2.0.1
+ micromark-factory-whitespace: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-classify-character: 2.0.1
+ micromark-util-edit-map: 1.0.0
+ micromark-util-html-tag-name: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-subtokenize: 2.1.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.3
+
+ micromark-extension-gfm-autolink-literal@2.1.0:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.3
+
+ micromark-extension-gfm-footnote@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.4
+ micromark-factory-space: 2.1.0
+ micromark-util-character: 2.1.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.3
+
+ micromark-extension-gfm-strikethrough@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-chunked: 2.0.1
+ micromark-util-classify-character: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.3
+
+ micromark-extension-gfm-table@2.1.2:
+ dependencies:
+ devlop: 1.1.0
+ micromark-factory-space: 2.1.0
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.3
+
+ micromark-extension-gfm-tagfilter@2.0.0:
+ dependencies:
+ micromark-util-types: 2.0.3
+
+ micromark-extension-gfm-task-list-item@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-factory-space: 2.1.0
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.3
+
+ micromark-extension-gfm@3.0.0:
+ dependencies:
+ micromark-extension-gfm-autolink-literal: 2.1.0
+ micromark-extension-gfm-footnote: 2.1.0
+ micromark-extension-gfm-strikethrough: 2.1.0
+ micromark-extension-gfm-table: 2.1.2
+ micromark-extension-gfm-tagfilter: 2.0.0
+ micromark-extension-gfm-task-list-item: 2.1.0
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-types: 2.0.3
+
+ micromark-extension-mdx-expression@3.0.1:
+ dependencies:
+ '@types/estree': 1.0.9
+ devlop: 1.1.0
+ micromark-factory-mdx-expression: 2.0.3
+ micromark-factory-space: 2.1.0
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.3
+
+ micromark-extension-mdx-jsx@3.0.2:
+ dependencies:
+ '@types/estree': 1.0.9
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ micromark-factory-mdx-expression: 2.0.3
+ micromark-factory-space: 2.1.0
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.3
+ vfile-message: 4.0.3
+
+ micromark-extension-mdx-md@2.0.0:
+ dependencies:
+ micromark-util-types: 2.0.3
- registry.npmmirror.com/anymatch/3.1.2:
- resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/anymatch/-/anymatch-3.1.2.tgz}
- name: anymatch
- version: 3.1.2
- engines: {node: '>= 8'}
+ micromark-extension-mdxjs-esm@3.0.0:
dependencies:
- normalize-path: registry.npmmirror.com/normalize-path/3.0.0
- picomatch: registry.npmmirror.com/picomatch/2.3.1
- dev: true
-
- registry.npmmirror.com/arg/4.1.3:
- resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/arg/-/arg-4.1.3.tgz}
- name: arg
- version: 4.1.3
- dev: true
-
- registry.npmmirror.com/arg/5.0.1:
- resolution: {integrity: sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/arg/-/arg-5.0.1.tgz}
- name: arg
- version: 5.0.1
- dev: true
-
- registry.npmmirror.com/argparse/1.0.10:
- resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz}
- name: argparse
- version: 1.0.10
- dependencies:
- sprintf-js: registry.npmmirror.com/sprintf-js/1.0.3
- dev: true
-
- registry.npmmirror.com/argparse/2.0.1:
- resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz}
- name: argparse
- version: 2.0.1
- dev: true
-
- registry.npmmirror.com/async/3.2.3:
- resolution: {integrity: sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/async/-/async-3.2.3.tgz}
- name: async
- version: 3.2.3
- dev: true
-
- registry.npmmirror.com/at-least-node/1.0.0:
- resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz}
- name: at-least-node
- version: 1.0.0
- engines: {node: '>= 4.0.0'}
- dev: true
+ '@types/estree': 1.0.9
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.4
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.3
+ unist-util-position-from-estree: 2.0.0
+ vfile-message: 4.0.3
- registry.npmmirror.com/autoprefixer/10.4.13_postcss@8.4.19:
- resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.13.tgz}
- id: registry.npmmirror.com/autoprefixer/10.4.13
- name: autoprefixer
- version: 10.4.13
- engines: {node: ^10 || ^12 || >=14}
- hasBin: true
- peerDependencies:
- postcss: ^8.1.0
- dependencies:
- browserslist: registry.npmmirror.com/browserslist/4.21.4
- caniuse-lite: registry.npmmirror.com/caniuse-lite/1.0.30001431
- fraction.js: registry.npmmirror.com/fraction.js/4.2.0
- normalize-range: registry.npmmirror.com/normalize-range/0.1.2
- picocolors: registry.npmmirror.com/picocolors/1.0.0
- postcss: registry.npmmirror.com/postcss/8.4.19
- postcss-value-parser: registry.npmmirror.com/postcss-value-parser/4.2.0
- dev: true
-
- registry.npmmirror.com/autosize/5.0.1:
- resolution: {integrity: sha512-UIWUlE4TOVPNNj2jjrU39wI4hEYbneUypEqcyRmRFIx5CC2gNdg3rQr+Zh7/3h6egbBvm33TDQjNQKtj9Tk1HA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/autosize/-/autosize-5.0.1.tgz}
- name: autosize
- version: 5.0.1
- dev: true
-
- registry.npmmirror.com/babel-plugin-dynamic-import-node/2.3.3:
- resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz}
- name: babel-plugin-dynamic-import-node
- version: 2.3.3
- dependencies:
- object.assign: registry.npmmirror.com/object.assign/4.1.2
- dev: true
-
- registry.npmmirror.com/babel-plugin-polyfill-corejs2/0.3.1_@babel+core@7.17.10:
- resolution: {integrity: sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz}
- id: registry.npmmirror.com/babel-plugin-polyfill-corejs2/0.3.1
- name: babel-plugin-polyfill-corejs2
- version: 0.3.1
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ micromark-extension-mdxjs@3.0.0:
dependencies:
- '@babel/compat-data': registry.npmmirror.com/@babel/compat-data/7.17.10
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-define-polyfill-provider': registry.npmmirror.com/@babel/helper-define-polyfill-provider/0.3.1_@babel+core@7.17.10
- semver: registry.npmmirror.com/semver/6.3.0
- transitivePeerDependencies:
- - supports-color
- dev: true
+ acorn: 8.19.0
+ acorn-jsx: 5.3.2(acorn@8.19.0)
+ micromark-extension-mdx-expression: 3.0.1
+ micromark-extension-mdx-jsx: 3.0.2
+ micromark-extension-mdx-md: 2.0.0
+ micromark-extension-mdxjs-esm: 3.0.0
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-types: 2.0.3
- registry.npmmirror.com/babel-plugin-polyfill-corejs3/0.5.2_@babel+core@7.17.10:
- resolution: {integrity: sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz}
- id: registry.npmmirror.com/babel-plugin-polyfill-corejs3/0.5.2
- name: babel-plugin-polyfill-corejs3
- version: 0.5.2
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ micromark-factory-destination@2.0.1:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-define-polyfill-provider': registry.npmmirror.com/@babel/helper-define-polyfill-provider/0.3.1_@babel+core@7.17.10
- core-js-compat: registry.npmmirror.com/core-js-compat/3.22.5
- transitivePeerDependencies:
- - supports-color
- dev: true
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.3
- registry.npmmirror.com/babel-plugin-polyfill-regenerator/0.3.1_@babel+core@7.17.10:
- resolution: {integrity: sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz}
- id: registry.npmmirror.com/babel-plugin-polyfill-regenerator/0.3.1
- name: babel-plugin-polyfill-regenerator
- version: 0.3.1
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ micromark-factory-label@2.0.1:
dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/helper-define-polyfill-provider': registry.npmmirror.com/@babel/helper-define-polyfill-provider/0.3.1_@babel+core@7.17.10
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- registry.npmmirror.com/balanced-match/1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz}
- name: balanced-match
- version: 1.0.2
- dev: true
-
- registry.npmmirror.com/balloon-css/1.2.0:
- resolution: {integrity: sha512-urXwkHgwp6GsXVF+it01485Z2Cj4pnW02ICnM0TemOlkKmCNnDLmyy+ZZiRXBpwldUXO+aRNr7Hdia4CBvXJ5A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/balloon-css/-/balloon-css-1.2.0.tgz}
- name: balloon-css
- version: 1.2.0
- dev: true
-
- registry.npmmirror.com/base64-js/1.5.1:
- resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz}
- name: base64-js
- version: 1.5.1
- dev: true
-
- registry.npmmirror.com/bcrypt-ts/3.0.0:
- resolution: {integrity: sha512-z4pqdPaAuuvBsHCwb77bisxT9qo5hRSbn78FXNhhTywHabqMzcIosDxjnKUrkPQbMyz2curUT+fJRith57rIvg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/bcrypt-ts/-/bcrypt-ts-3.0.0.tgz}
- name: bcrypt-ts
- version: 3.0.0
- dev: true
-
- registry.npmmirror.com/binary-extensions/2.2.0:
- resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz}
- name: binary-extensions
- version: 2.2.0
- engines: {node: '>=8'}
- dev: true
-
- registry.npmmirror.com/bl/5.1.0:
- resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/bl/-/bl-5.1.0.tgz}
- name: bl
- version: 5.1.0
- dependencies:
- buffer: registry.npmmirror.com/buffer/6.0.3
- inherits: registry.npmmirror.com/inherits/2.0.4
- readable-stream: registry.npmmirror.com/readable-stream/3.6.0
- dev: true
-
- registry.npmmirror.com/boolbase/1.0.0:
- resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz}
- name: boolbase
- version: 1.0.0
- dev: true
-
- registry.npmmirror.com/brace-expansion/1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz}
- name: brace-expansion
- version: 1.1.11
- dependencies:
- balanced-match: registry.npmmirror.com/balanced-match/1.0.2
- concat-map: registry.npmmirror.com/concat-map/0.0.1
- dev: true
-
- registry.npmmirror.com/brace-expansion/2.0.1:
- resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz}
- name: brace-expansion
- version: 2.0.1
- dependencies:
- balanced-match: registry.npmmirror.com/balanced-match/1.0.2
- dev: true
-
- registry.npmmirror.com/braces/3.0.2:
- resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz}
- name: braces
- version: 3.0.2
- engines: {node: '>=8'}
+ devlop: 1.1.0
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.3
+
+ micromark-factory-mdx-expression@2.0.3:
dependencies:
- fill-range: registry.npmmirror.com/fill-range/7.0.1
- dev: true
+ '@types/estree': 1.0.9
+ devlop: 1.1.0
+ micromark-factory-space: 2.1.0
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.3
+ unist-util-position-from-estree: 2.0.0
+ vfile-message: 4.0.3
- registry.npmmirror.com/browserslist/4.21.4:
- resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/browserslist/-/browserslist-4.21.4.tgz}
- name: browserslist
- version: 4.21.4
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
+ micromark-factory-space@2.1.0:
dependencies:
- caniuse-lite: registry.npmmirror.com/caniuse-lite/1.0.30001431
- electron-to-chromium: registry.npmmirror.com/electron-to-chromium/1.4.284
- node-releases: registry.npmmirror.com/node-releases/2.0.6
- update-browserslist-db: registry.npmmirror.com/update-browserslist-db/1.0.10_browserslist@4.21.4
- dev: true
-
- registry.npmmirror.com/buffer-from/1.1.2:
- resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz}
- name: buffer-from
- version: 1.1.2
- dev: true
-
- registry.npmmirror.com/buffer/6.0.3:
- resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/buffer/-/buffer-6.0.3.tgz}
- name: buffer
- version: 6.0.3
- dependencies:
- base64-js: registry.npmmirror.com/base64-js/1.5.1
- ieee754: registry.npmmirror.com/ieee754/1.2.1
- dev: true
-
- registry.npmmirror.com/builtin-modules/3.2.0:
- resolution: {integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/builtin-modules/-/builtin-modules-3.2.0.tgz}
- name: builtin-modules
- version: 3.2.0
- engines: {node: '>=6'}
- dev: true
+ micromark-util-character: 2.1.1
+ micromark-util-types: 2.0.3
- registry.npmmirror.com/cac/6.7.14:
- resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cac/-/cac-6.7.14.tgz}
- name: cac
- version: 6.7.14
- engines: {node: '>=8'}
- dev: true
+ micromark-factory-title@2.0.1:
+ dependencies:
+ micromark-factory-space: 2.1.0
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.3
- registry.npmmirror.com/call-bind/1.0.2:
- resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz}
- name: call-bind
- version: 1.0.2
+ micromark-factory-whitespace@2.0.1:
dependencies:
- function-bind: registry.npmmirror.com/function-bind/1.1.1
- get-intrinsic: registry.npmmirror.com/get-intrinsic/1.1.1
- dev: true
+ micromark-factory-space: 2.1.0
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.3
- registry.npmmirror.com/callsites/3.1.0:
- resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz}
- name: callsites
- version: 3.1.0
- engines: {node: '>=6'}
- dev: true
-
- registry.npmmirror.com/caniuse-lite/1.0.30001431:
- resolution: {integrity: sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz}
- name: caniuse-lite
- version: 1.0.30001431
- dev: true
-
- registry.npmmirror.com/chalk/2.4.2:
- resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz}
- name: chalk
- version: 2.4.2
- engines: {node: '>=4'}
+ micromark-util-character@2.1.1:
dependencies:
- ansi-styles: registry.npmmirror.com/ansi-styles/3.2.1
- escape-string-regexp: registry.npmmirror.com/escape-string-regexp/1.0.5
- supports-color: registry.npmmirror.com/supports-color/5.5.0
- dev: true
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.3
- registry.npmmirror.com/chalk/4.1.2:
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz}
- name: chalk
- version: 4.1.2
- engines: {node: '>=10'}
+ micromark-util-chunked@2.0.1:
dependencies:
- ansi-styles: registry.npmmirror.com/ansi-styles/4.3.0
- supports-color: registry.npmmirror.com/supports-color/7.2.0
- dev: true
-
- registry.npmmirror.com/chalk/5.1.2:
- resolution: {integrity: sha512-E5CkT4jWURs1Vy5qGJye+XwCkNj7Od3Af7CP6SujMetSMkLs8Do2RWJK5yx1wamHV/op8Rz+9rltjaTQWDnEFQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chalk/-/chalk-5.1.2.tgz}
- name: chalk
- version: 5.1.2
- engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
- dev: true
-
- registry.npmmirror.com/chart.js/4.0.1:
- resolution: {integrity: sha512-5/8/9eBivwBZK81mKvmIwTb2Pmw4D/5h1RK9fBWZLLZ8mCJ+kfYNmV9rMrGoa5Hgy2/wVDBMLSUDudul2/9ihA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chart.js/-/chart.js-4.0.1.tgz}
- name: chart.js
- version: 4.0.1
- engines: {pnpm: ^7.0.0}
- dev: true
-
- registry.npmmirror.com/cheerio-select/1.6.0:
- resolution: {integrity: sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cheerio-select/-/cheerio-select-1.6.0.tgz}
- name: cheerio-select
- version: 1.6.0
- dependencies:
- css-select: registry.npmmirror.com/css-select/4.3.0
- css-what: registry.npmmirror.com/css-what/6.1.0
- domelementtype: registry.npmmirror.com/domelementtype/2.3.0
- domhandler: registry.npmmirror.com/domhandler/4.3.1
- domutils: registry.npmmirror.com/domutils/2.8.0
- dev: true
-
- registry.npmmirror.com/cheerio-select/2.1.0:
- resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cheerio-select/-/cheerio-select-2.1.0.tgz}
- name: cheerio-select
- version: 2.1.0
- dependencies:
- boolbase: registry.npmmirror.com/boolbase/1.0.0
- css-select: registry.npmmirror.com/css-select/5.1.0
- css-what: registry.npmmirror.com/css-what/6.1.0
- domelementtype: registry.npmmirror.com/domelementtype/2.3.0
- domhandler: registry.npmmirror.com/domhandler/5.0.3
- domutils: registry.npmmirror.com/domutils/3.0.1
- dev: true
-
- registry.npmmirror.com/cheerio/1.0.0-rc.10:
- resolution: {integrity: sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cheerio/-/cheerio-1.0.0-rc.10.tgz}
- name: cheerio
- version: 1.0.0-rc.10
- engines: {node: '>= 6'}
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-classify-character@2.0.1:
dependencies:
- cheerio-select: registry.npmmirror.com/cheerio-select/1.6.0
- dom-serializer: registry.npmmirror.com/dom-serializer/1.4.1
- domhandler: registry.npmmirror.com/domhandler/4.3.1
- htmlparser2: registry.npmmirror.com/htmlparser2/6.1.0
- parse5: registry.npmmirror.com/parse5/6.0.1
- parse5-htmlparser2-tree-adapter: registry.npmmirror.com/parse5-htmlparser2-tree-adapter/6.0.1
- tslib: registry.npmmirror.com/tslib/2.3.0
- dev: true
-
- registry.npmmirror.com/cheerio/1.0.0-rc.12:
- resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cheerio/-/cheerio-1.0.0-rc.12.tgz}
- name: cheerio
- version: 1.0.0-rc.12
- engines: {node: '>= 6'}
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.3
+
+ micromark-util-combine-extensions@2.0.1:
dependencies:
- cheerio-select: registry.npmmirror.com/cheerio-select/2.1.0
- dom-serializer: registry.npmmirror.com/dom-serializer/2.0.0
- domhandler: registry.npmmirror.com/domhandler/5.0.3
- domutils: registry.npmmirror.com/domutils/3.0.1
- htmlparser2: registry.npmmirror.com/htmlparser2/8.0.1
- parse5: registry.npmmirror.com/parse5/7.1.1
- parse5-htmlparser2-tree-adapter: registry.npmmirror.com/parse5-htmlparser2-tree-adapter/7.0.0
- dev: true
-
- registry.npmmirror.com/chokidar/3.5.3:
- resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz}
- name: chokidar
- version: 3.5.3
- engines: {node: '>= 8.10.0'}
- dependencies:
- anymatch: registry.npmmirror.com/anymatch/3.1.2
- braces: registry.npmmirror.com/braces/3.0.2
- glob-parent: registry.npmmirror.com/glob-parent/5.1.2
- is-binary-path: registry.npmmirror.com/is-binary-path/2.1.0
- is-glob: registry.npmmirror.com/is-glob/4.0.3
- normalize-path: registry.npmmirror.com/normalize-path/3.0.0
- readdirp: registry.npmmirror.com/readdirp/3.6.0
- optionalDependencies:
- fsevents: registry.npmmirror.com/fsevents/2.3.2
- dev: true
-
- registry.npmmirror.com/cli-cursor/4.0.0:
- resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cli-cursor/-/cli-cursor-4.0.0.tgz}
- name: cli-cursor
- version: 4.0.0
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dependencies:
- restore-cursor: registry.npmmirror.com/restore-cursor/4.0.0
- dev: true
-
- registry.npmmirror.com/cli-spinners/2.6.1:
- resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cli-spinners/-/cli-spinners-2.6.1.tgz}
- name: cli-spinners
- version: 2.6.1
- engines: {node: '>=6'}
- dev: true
+ micromark-util-chunked: 2.0.1
+ micromark-util-types: 2.0.3
- registry.npmmirror.com/clone/1.0.4:
- resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz}
- name: clone
- version: 1.0.4
- engines: {node: '>=0.8'}
- dev: true
+ micromark-util-decode-numeric-character-reference@2.0.2:
+ dependencies:
+ micromark-util-symbol: 2.0.1
- registry.npmmirror.com/color-convert/1.9.3:
- resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz}
- name: color-convert
- version: 1.9.3
+ micromark-util-decode-string@2.0.1:
dependencies:
- color-name: registry.npmmirror.com/color-name/1.1.3
- dev: true
+ decode-named-character-reference: 1.3.0
+ micromark-util-character: 2.1.1
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-symbol: 2.0.1
- registry.npmmirror.com/color-convert/2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz}
- name: color-convert
- version: 2.0.1
- engines: {node: '>=7.0.0'}
+ micromark-util-edit-map@1.0.0:
dependencies:
- color-name: registry.npmmirror.com/color-name/1.1.4
- dev: true
-
- registry.npmmirror.com/color-name/1.1.3:
- resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz}
- name: color-name
- version: 1.1.3
- dev: true
-
- registry.npmmirror.com/color-name/1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz}
- name: color-name
- version: 1.1.4
- dev: true
-
- registry.npmmirror.com/commander/2.20.3:
- resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz}
- name: commander
- version: 2.20.3
- dev: true
-
- registry.npmmirror.com/commander/6.2.1:
- resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/commander/-/commander-6.2.1.tgz}
- name: commander
- version: 6.2.1
- engines: {node: '>= 6'}
- dev: true
+ micromark-util-types: 2.0.3
- registry.npmmirror.com/commander/7.2.0:
- resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz}
- name: commander
- version: 7.2.0
- engines: {node: '>= 10'}
- dev: true
+ micromark-util-encode@2.0.1: {}
- registry.npmmirror.com/commander/8.3.0:
- resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/commander/-/commander-8.3.0.tgz}
- name: commander
- version: 8.3.0
- engines: {node: '>= 12'}
- dev: true
-
- registry.npmmirror.com/commander/9.2.0:
- resolution: {integrity: sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/commander/-/commander-9.2.0.tgz}
- name: commander
- version: 9.2.0
- engines: {node: ^12.20.0 || >=14}
- dev: true
-
- registry.npmmirror.com/common-tags/1.8.2:
- resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/common-tags/-/common-tags-1.8.2.tgz}
- name: common-tags
- version: 1.8.2
- engines: {node: '>=4.0.0'}
- dev: true
-
- registry.npmmirror.com/concat-map/0.0.1:
- resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz}
- name: concat-map
- version: 0.0.1
- dev: true
-
- registry.npmmirror.com/connect-history-api-fallback/2.0.0:
- resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz}
- name: connect-history-api-fallback
- version: 2.0.0
- engines: {node: '>=0.8'}
- dev: true
+ micromark-util-events-to-acorn@2.0.3:
+ dependencies:
+ '@types/estree': 1.0.9
+ '@types/unist': 3.0.3
+ devlop: 1.1.0
+ estree-util-visit: 2.0.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.3
+ vfile-message: 4.0.3
+
+ micromark-util-html-tag-name@2.0.1: {}
- registry.npmmirror.com/convert-source-map/1.8.0:
- resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.8.0.tgz}
- name: convert-source-map
- version: 1.8.0
+ micromark-util-normalize-identifier@2.0.1:
dependencies:
- safe-buffer: registry.npmmirror.com/safe-buffer/5.1.2
- dev: true
+ micromark-util-symbol: 2.0.1
- registry.npmmirror.com/core-js-compat/3.22.5:
- resolution: {integrity: sha512-rEF75n3QtInrYICvJjrAgV03HwKiYvtKHdPtaba1KucG+cNZ4NJnH9isqt979e67KZlhpbCOTwnsvnIr+CVeOg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.22.5.tgz}
- name: core-js-compat
- version: 3.22.5
+ micromark-util-resolve-all@2.0.1:
dependencies:
- browserslist: registry.npmmirror.com/browserslist/4.21.4
- semver: registry.npmmirror.com/semver/7.0.0
- dev: true
+ micromark-util-types: 2.0.3
- registry.npmmirror.com/cose-base/1.0.3:
- resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cose-base/-/cose-base-1.0.3.tgz}
- name: cose-base
- version: 1.0.3
+ micromark-util-sanitize-uri@2.0.1:
dependencies:
- layout-base: registry.npmmirror.com/layout-base/1.0.2
- dev: true
+ micromark-util-character: 2.1.1
+ micromark-util-encode: 2.0.1
+ micromark-util-symbol: 2.0.1
- registry.npmmirror.com/cose-base/2.1.0:
- resolution: {integrity: sha512-HTMm07dhxq1dIPGWwpiVrIk9n+DH7KYmqWA786mLe8jDS+1ZjGtJGIIsJVKoseZXS6/FxiUWCJ2B7XzqUCuhPw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cose-base/-/cose-base-2.1.0.tgz}
- name: cose-base
- version: 2.1.0
+ micromark-util-subtokenize@2.1.0:
dependencies:
- layout-base: registry.npmmirror.com/layout-base/2.0.1
- dev: true
+ devlop: 1.1.0
+ micromark-util-chunked: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.3
- registry.npmmirror.com/cross-spawn/7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz}
- name: cross-spawn
- version: 7.0.3
- engines: {node: '>= 8'}
+ micromark-util-symbol@2.0.1: {}
+
+ micromark-util-types@2.0.3: {}
+
+ micromark@4.0.3:
dependencies:
- path-key: registry.npmmirror.com/path-key/3.1.1
- shebang-command: registry.npmmirror.com/shebang-command/2.0.0
- which: registry.npmmirror.com/which/2.0.2
- dev: true
+ '@types/debug': 4.1.13
+ debug: 4.4.3
+ decode-named-character-reference: 1.3.0
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.4
+ micromark-factory-space: 2.1.0
+ micromark-util-character: 2.1.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-edit-map: 1.0.0
+ micromark-util-encode: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-subtokenize: 2.1.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.3
+ transitivePeerDependencies:
+ - supports-color
- registry.npmmirror.com/crypto-random-string/2.0.0:
- resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz}
- name: crypto-random-string
- version: 2.0.0
- engines: {node: '>=8'}
- dev: true
-
- registry.npmmirror.com/css-select/4.3.0:
- resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/css-select/-/css-select-4.3.0.tgz}
- name: css-select
- version: 4.3.0
- dependencies:
- boolbase: registry.npmmirror.com/boolbase/1.0.0
- css-what: registry.npmmirror.com/css-what/6.1.0
- domhandler: registry.npmmirror.com/domhandler/4.3.1
- domutils: registry.npmmirror.com/domutils/2.8.0
- nth-check: registry.npmmirror.com/nth-check/2.1.1
- dev: true
-
- registry.npmmirror.com/css-select/5.1.0:
- resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/css-select/-/css-select-5.1.0.tgz}
- name: css-select
- version: 5.1.0
- dependencies:
- boolbase: registry.npmmirror.com/boolbase/1.0.0
- css-what: registry.npmmirror.com/css-what/6.1.0
- domhandler: registry.npmmirror.com/domhandler/5.0.3
- domutils: registry.npmmirror.com/domutils/3.0.1
- nth-check: registry.npmmirror.com/nth-check/2.1.1
- dev: true
-
- registry.npmmirror.com/css-what/6.1.0:
- resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/css-what/-/css-what-6.1.0.tgz}
- name: css-what
- version: 6.1.0
- engines: {node: '>= 6'}
- dev: true
-
- registry.npmmirror.com/csstype/2.6.20:
- resolution: {integrity: sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/csstype/-/csstype-2.6.20.tgz}
- name: csstype
- version: 2.6.20
- dev: true
-
- registry.npmmirror.com/cytoscape-cose-bilkent/4.1.0_cytoscape@3.23.0:
- resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz}
- id: registry.npmmirror.com/cytoscape-cose-bilkent/4.1.0
- name: cytoscape-cose-bilkent
- version: 4.1.0
- peerDependencies:
- cytoscape: ^3.2.0
+ micromatch@4.0.8:
dependencies:
- cose-base: registry.npmmirror.com/cose-base/1.0.3
- cytoscape: registry.npmmirror.com/cytoscape/3.23.0
- dev: true
+ braces: 3.0.3
+ picomatch: 2.3.2
- registry.npmmirror.com/cytoscape-fcose/2.1.0_cytoscape@3.23.0:
- resolution: {integrity: sha512-Q3apPl66jf8/2sMsrCjNP247nbDkyIPjA9g5iPMMWNLZgP3/mn9aryF7EFY/oRPEpv7bKJ4jYmCoU5r5/qAc1Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cytoscape-fcose/-/cytoscape-fcose-2.1.0.tgz}
- id: registry.npmmirror.com/cytoscape-fcose/2.1.0
- name: cytoscape-fcose
- version: 2.1.0
- peerDependencies:
- cytoscape: ^3.2.0
+ mimic-fn@2.1.0: {}
+
+ min-indent@1.0.1: {}
+
+ minimatch@3.1.5:
dependencies:
- cose-base: registry.npmmirror.com/cose-base/2.1.0
- cytoscape: registry.npmmirror.com/cytoscape/3.23.0
- dev: true
+ brace-expansion: 1.1.21
- registry.npmmirror.com/cytoscape/3.23.0:
- resolution: {integrity: sha512-gRZqJj/1kiAVPkrVFvz/GccxsXhF3Qwpptl32gKKypO4IlqnKBjTOu+HbXtEggSGzC5KCaHp3/F7GgENrtsFkA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cytoscape/-/cytoscape-3.23.0.tgz}
- name: cytoscape
- version: 3.23.0
- engines: {node: '>=0.10'}
+ minimist-options@4.1.0:
dependencies:
- heap: registry.npmmirror.com/heap/0.2.7
- lodash: registry.npmmirror.com/lodash/4.17.21
- dev: true
+ arrify: 1.0.1
+ is-plain-obj: 1.1.0
+ kind-of: 6.0.3
- registry.npmmirror.com/d3-array/1.2.4:
- resolution: {integrity: sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-array/-/d3-array-1.2.4.tgz}
- name: d3-array
- version: 1.2.4
- dev: true
+ minimist@1.2.8: {}
- registry.npmmirror.com/d3-array/3.1.6:
- resolution: {integrity: sha512-DCbBBNuKOeiR9h04ySRBMW52TFVc91O9wJziuyXw6Ztmy8D3oZbmCkOO3UHKC7ceNJsN2Mavo9+vwV8EAEUXzA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-array/-/d3-array-3.1.6.tgz}
- name: d3-array
- version: 3.1.6
- engines: {node: '>=12'}
- dependencies:
- internmap: registry.npmmirror.com/internmap/2.0.3
- dev: true
+ mrmime@2.0.1: {}
- registry.npmmirror.com/d3-axis/1.0.12:
- resolution: {integrity: sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-axis/-/d3-axis-1.0.12.tgz}
- name: d3-axis
- version: 1.0.12
- dev: true
+ ms@2.1.3: {}
- registry.npmmirror.com/d3-axis/3.0.0:
- resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-axis/-/d3-axis-3.0.0.tgz}
- name: d3-axis
- version: 3.0.0
- engines: {node: '>=12'}
- dev: true
-
- registry.npmmirror.com/d3-brush/1.1.6:
- resolution: {integrity: sha512-7RW+w7HfMCPyZLifTz/UnJmI5kdkXtpCbombUSs8xniAyo0vIbrDzDwUJB6eJOgl9u5DQOt2TQlYumxzD1SvYA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-brush/-/d3-brush-1.1.6.tgz}
- name: d3-brush
- version: 1.1.6
- dependencies:
- d3-dispatch: registry.npmmirror.com/d3-dispatch/1.0.6
- d3-drag: registry.npmmirror.com/d3-drag/1.2.5
- d3-interpolate: registry.npmmirror.com/d3-interpolate/1.4.0
- d3-selection: registry.npmmirror.com/d3-selection/1.4.2
- d3-transition: registry.npmmirror.com/d3-transition/1.3.2
- dev: true
-
- registry.npmmirror.com/d3-brush/3.0.0:
- resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-brush/-/d3-brush-3.0.0.tgz}
- name: d3-brush
- version: 3.0.0
- engines: {node: '>=12'}
- dependencies:
- d3-dispatch: registry.npmmirror.com/d3-dispatch/3.0.1
- d3-drag: registry.npmmirror.com/d3-drag/3.0.0
- d3-interpolate: registry.npmmirror.com/d3-interpolate/3.0.1
- d3-selection: registry.npmmirror.com/d3-selection/3.0.0
- d3-transition: registry.npmmirror.com/d3-transition/3.0.1_d3-selection@3.0.0
- dev: true
-
- registry.npmmirror.com/d3-chord/1.0.6:
- resolution: {integrity: sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-chord/-/d3-chord-1.0.6.tgz}
- name: d3-chord
- version: 1.0.6
- dependencies:
- d3-array: registry.npmmirror.com/d3-array/1.2.4
- d3-path: registry.npmmirror.com/d3-path/1.0.9
- dev: true
-
- registry.npmmirror.com/d3-chord/3.0.1:
- resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-chord/-/d3-chord-3.0.1.tgz}
- name: d3-chord
- version: 3.0.1
- engines: {node: '>=12'}
- dependencies:
- d3-path: registry.npmmirror.com/d3-path/3.0.1
- dev: true
-
- registry.npmmirror.com/d3-collection/1.0.7:
- resolution: {integrity: sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-collection/-/d3-collection-1.0.7.tgz}
- name: d3-collection
- version: 1.0.7
- dev: true
-
- registry.npmmirror.com/d3-color/1.4.1:
- resolution: {integrity: sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-color/-/d3-color-1.4.1.tgz}
- name: d3-color
- version: 1.4.1
- dev: true
-
- registry.npmmirror.com/d3-color/3.1.0:
- resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-color/-/d3-color-3.1.0.tgz}
- name: d3-color
- version: 3.1.0
- engines: {node: '>=12'}
- dev: true
+ muggle-string@0.4.1: {}
- registry.npmmirror.com/d3-contour/1.3.2:
- resolution: {integrity: sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-contour/-/d3-contour-1.3.2.tgz}
- name: d3-contour
- version: 1.3.2
- dependencies:
- d3-array: registry.npmmirror.com/d3-array/1.2.4
- dev: true
+ mute-stream@0.0.8: {}
- registry.npmmirror.com/d3-contour/3.0.1:
- resolution: {integrity: sha512-0Oc4D0KyhwhM7ZL0RMnfGycLN7hxHB8CMmwZ3+H26PWAG0ozNuYG5hXSDNgmP1SgJkQMrlG6cP20HoaSbvcJTQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-contour/-/d3-contour-3.0.1.tgz}
- name: d3-contour
- version: 3.0.1
- engines: {node: '>=12'}
+ nanoid@3.3.20: {}
+
+ neotraverse@1.0.1: {}
+
+ nlcst-to-string@4.0.0:
dependencies:
- d3-array: registry.npmmirror.com/d3-array/3.1.6
- dev: true
+ '@types/nlcst': 2.0.3
- registry.npmmirror.com/d3-delaunay/6.0.2:
- resolution: {integrity: sha512-IMLNldruDQScrcfT+MWnazhHbDJhcRJyOEBAJfwQnHle1RPh6WDuLvxNArUju2VSMSUuKlY5BGHRJ2cYyoFLQQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-delaunay/-/d3-delaunay-6.0.2.tgz}
- name: d3-delaunay
- version: 6.0.2
- engines: {node: '>=12'}
+ node-fetch-native@1.6.7: {}
+
+ node-gyp-build-optional-packages@5.1.1:
dependencies:
- delaunator: registry.npmmirror.com/delaunator/5.0.0
- dev: true
+ detect-libc: 2.1.2
+ optional: true
- registry.npmmirror.com/d3-dispatch/1.0.6:
- resolution: {integrity: sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-dispatch/-/d3-dispatch-1.0.6.tgz}
- name: d3-dispatch
- version: 1.0.6
- dev: true
+ node-mock-http@1.0.5: {}
- registry.npmmirror.com/d3-dispatch/3.0.1:
- resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz}
- name: d3-dispatch
- version: 3.0.1
- engines: {node: '>=12'}
- dev: true
+ normalize-package-data@2.5.0:
+ dependencies:
+ hosted-git-info: 2.8.9
+ resolve: 1.22.12
+ semver: 5.7.2
+ validate-npm-package-license: 3.0.4
- registry.npmmirror.com/d3-drag/1.2.5:
- resolution: {integrity: sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-drag/-/d3-drag-1.2.5.tgz}
- name: d3-drag
- version: 1.2.5
+ normalize-package-data@3.0.3:
dependencies:
- d3-dispatch: registry.npmmirror.com/d3-dispatch/1.0.6
- d3-selection: registry.npmmirror.com/d3-selection/1.4.2
- dev: true
+ hosted-git-info: 4.1.0
+ is-core-module: 2.17.0
+ semver: 7.8.5
+ validate-npm-package-license: 3.0.4
- registry.npmmirror.com/d3-drag/3.0.0:
- resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-drag/-/d3-drag-3.0.0.tgz}
- name: d3-drag
- version: 3.0.0
- engines: {node: '>=12'}
+ normalize-path@3.0.0: {}
+
+ npm-run-path@4.0.1:
dependencies:
- d3-dispatch: registry.npmmirror.com/d3-dispatch/3.0.1
- d3-selection: registry.npmmirror.com/d3-selection/3.0.0
- dev: true
+ path-key: 3.1.1
- registry.npmmirror.com/d3-dsv/1.2.0:
- resolution: {integrity: sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-dsv/-/d3-dsv-1.2.0.tgz}
- name: d3-dsv
- version: 1.2.0
- hasBin: true
+ nth-check@2.1.1:
dependencies:
- commander: registry.npmmirror.com/commander/2.20.3
- iconv-lite: registry.npmmirror.com/iconv-lite/0.4.24
- rw: registry.npmmirror.com/rw/1.3.3
- dev: true
+ boolbase: 1.0.0
- registry.npmmirror.com/d3-dsv/3.0.1:
- resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-dsv/-/d3-dsv-3.0.1.tgz}
- name: d3-dsv
- version: 3.0.1
- engines: {node: '>=12'}
- hasBin: true
+ obug@3.0.0: {}
+
+ ofetch@1.5.1:
dependencies:
- commander: registry.npmmirror.com/commander/7.2.0
- iconv-lite: registry.npmmirror.com/iconv-lite/0.6.3
- rw: registry.npmmirror.com/rw/1.3.3
- dev: true
-
- registry.npmmirror.com/d3-ease/1.0.7:
- resolution: {integrity: sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-ease/-/d3-ease-1.0.7.tgz}
- name: d3-ease
- version: 1.0.7
- dev: true
-
- registry.npmmirror.com/d3-ease/3.0.1:
- resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-ease/-/d3-ease-3.0.1.tgz}
- name: d3-ease
- version: 3.0.1
- engines: {node: '>=12'}
- dev: true
+ destr: 2.0.5
+ node-fetch-native: 1.6.7
+ ufo: 1.6.4
- registry.npmmirror.com/d3-fetch/1.2.0:
- resolution: {integrity: sha512-yC78NBVcd2zFAyR/HnUiBS7Lf6inSCoWcSxFfw8FYL7ydiqe80SazNwoffcqOfs95XaLo7yebsmQqDKSsXUtvA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-fetch/-/d3-fetch-1.2.0.tgz}
- name: d3-fetch
- version: 1.2.0
+ ohash@2.0.12: {}
+
+ once@1.4.0:
dependencies:
- d3-dsv: registry.npmmirror.com/d3-dsv/1.2.0
- dev: true
+ wrappy: 1.0.2
- registry.npmmirror.com/d3-fetch/3.0.1:
- resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-fetch/-/d3-fetch-3.0.1.tgz}
- name: d3-fetch
- version: 3.0.1
- engines: {node: '>=12'}
+ onetime@5.1.2:
dependencies:
- d3-dsv: registry.npmmirror.com/d3-dsv/3.0.1
- dev: true
+ mimic-fn: 2.1.0
- registry.npmmirror.com/d3-force/1.2.1:
- resolution: {integrity: sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-force/-/d3-force-1.2.1.tgz}
- name: d3-force
- version: 1.2.1
+ oniguruma-parser@0.12.2: {}
+
+ oniguruma-to-es@4.3.6:
dependencies:
- d3-collection: registry.npmmirror.com/d3-collection/1.0.7
- d3-dispatch: registry.npmmirror.com/d3-dispatch/1.0.6
- d3-quadtree: registry.npmmirror.com/d3-quadtree/1.0.7
- d3-timer: registry.npmmirror.com/d3-timer/1.0.10
- dev: true
+ oniguruma-parser: 0.12.2
+ regex: 6.1.0
+ regex-recursion: 6.0.2
- registry.npmmirror.com/d3-force/3.0.0:
- resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-force/-/d3-force-3.0.0.tgz}
- name: d3-force
- version: 3.0.0
- engines: {node: '>=12'}
+ ora@5.4.1:
dependencies:
- d3-dispatch: registry.npmmirror.com/d3-dispatch/3.0.1
- d3-quadtree: registry.npmmirror.com/d3-quadtree/3.0.1
- d3-timer: registry.npmmirror.com/d3-timer/3.0.1
- dev: true
-
- registry.npmmirror.com/d3-format/1.4.5:
- resolution: {integrity: sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-format/-/d3-format-1.4.5.tgz}
- name: d3-format
- version: 1.4.5
- dev: true
-
- registry.npmmirror.com/d3-format/3.1.0:
- resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-format/-/d3-format-3.1.0.tgz}
- name: d3-format
- version: 3.1.0
- engines: {node: '>=12'}
- dev: true
+ bl: 4.1.0
+ chalk: 4.1.2
+ cli-cursor: 3.1.0
+ cli-spinners: 2.9.2
+ is-interactive: 1.0.0
+ is-unicode-supported: 0.1.0
+ log-symbols: 4.1.0
+ strip-ansi: 6.0.1
+ wcwidth: 1.0.1
- registry.npmmirror.com/d3-geo/1.12.1:
- resolution: {integrity: sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-geo/-/d3-geo-1.12.1.tgz}
- name: d3-geo
- version: 1.12.1
+ p-limit@2.3.0:
dependencies:
- d3-array: registry.npmmirror.com/d3-array/1.2.4
- dev: true
+ p-try: 2.2.0
- registry.npmmirror.com/d3-geo/3.0.1:
- resolution: {integrity: sha512-Wt23xBych5tSy9IYAM1FR2rWIBFWa52B/oF/GYe5zbdHrg08FU8+BuI6X4PvTwPDdqdAdq04fuWJpELtsaEjeA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-geo/-/d3-geo-3.0.1.tgz}
- name: d3-geo
- version: 3.0.1
- engines: {node: '>=12'}
+ p-limit@3.1.0:
dependencies:
- d3-array: registry.npmmirror.com/d3-array/3.1.6
- dev: true
+ yocto-queue: 0.1.0
- registry.npmmirror.com/d3-hierarchy/1.1.9:
- resolution: {integrity: sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz}
- name: d3-hierarchy
- version: 1.1.9
- dev: true
+ p-limit@7.3.3:
+ dependencies:
+ yocto-queue: 1.2.2
- registry.npmmirror.com/d3-hierarchy/3.1.2:
- resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz}
- name: d3-hierarchy
- version: 3.1.2
- engines: {node: '>=12'}
- dev: true
+ p-locate@4.1.0:
+ dependencies:
+ p-limit: 2.3.0
- registry.npmmirror.com/d3-interpolate/1.4.0:
- resolution: {integrity: sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-interpolate/-/d3-interpolate-1.4.0.tgz}
- name: d3-interpolate
- version: 1.4.0
+ p-locate@5.0.0:
dependencies:
- d3-color: registry.npmmirror.com/d3-color/1.4.1
- dev: true
+ p-limit: 3.1.0
- registry.npmmirror.com/d3-interpolate/3.0.1:
- resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz}
- name: d3-interpolate
- version: 3.0.1
- engines: {node: '>=12'}
+ p-queue@9.3.3:
dependencies:
- d3-color: registry.npmmirror.com/d3-color/3.1.0
- dev: true
+ eventemitter3: 5.0.4
+ p-timeout: 7.0.2
- registry.npmmirror.com/d3-path/1.0.9:
- resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-path/-/d3-path-1.0.9.tgz}
- name: d3-path
- version: 1.0.9
- dev: true
+ p-timeout@7.0.2: {}
- registry.npmmirror.com/d3-path/3.0.1:
- resolution: {integrity: sha512-gq6gZom9AFZby0YLduxT1qmrp4xpBA1YZr19OI717WIdKE2OM5ETq5qrHLb301IgxhLwcuxvGZVLeeWc/k1I6w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-path/-/d3-path-3.0.1.tgz}
- name: d3-path
- version: 3.0.1
- engines: {node: '>=12'}
- dev: true
-
- registry.npmmirror.com/d3-polygon/1.0.6:
- resolution: {integrity: sha512-k+RF7WvI08PC8reEoXa/w2nSg5AUMTi+peBD9cmFc+0ixHfbs4QmxxkarVal1IkVkgxVuk9JSHhJURHiyHKAuQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-polygon/-/d3-polygon-1.0.6.tgz}
- name: d3-polygon
- version: 1.0.6
- dev: true
-
- registry.npmmirror.com/d3-polygon/3.0.1:
- resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-polygon/-/d3-polygon-3.0.1.tgz}
- name: d3-polygon
- version: 3.0.1
- engines: {node: '>=12'}
- dev: true
-
- registry.npmmirror.com/d3-quadtree/1.0.7:
- resolution: {integrity: sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-quadtree/-/d3-quadtree-1.0.7.tgz}
- name: d3-quadtree
- version: 1.0.7
- dev: true
-
- registry.npmmirror.com/d3-quadtree/3.0.1:
- resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz}
- name: d3-quadtree
- version: 3.0.1
- engines: {node: '>=12'}
- dev: true
-
- registry.npmmirror.com/d3-random/1.1.2:
- resolution: {integrity: sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-random/-/d3-random-1.1.2.tgz}
- name: d3-random
- version: 1.1.2
- dev: true
-
- registry.npmmirror.com/d3-random/3.0.1:
- resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-random/-/d3-random-3.0.1.tgz}
- name: d3-random
- version: 3.0.1
- engines: {node: '>=12'}
- dev: true
+ p-try@2.2.0: {}
+
+ package-manager-detector@1.9.0: {}
+
+ pagefind@1.5.2:
+ optionalDependencies:
+ '@pagefind/darwin-arm64': 1.5.2
+ '@pagefind/darwin-x64': 1.5.2
+ '@pagefind/freebsd-x64': 1.5.2
+ '@pagefind/linux-arm64': 1.5.2
+ '@pagefind/linux-x64': 1.5.2
+ '@pagefind/windows-arm64': 1.5.2
+ '@pagefind/windows-x64': 1.5.2
- registry.npmmirror.com/d3-scale-chromatic/1.5.0:
- resolution: {integrity: sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz}
- name: d3-scale-chromatic
- version: 1.5.0
+ parent-module@1.0.1:
dependencies:
- d3-color: registry.npmmirror.com/d3-color/1.4.1
- d3-interpolate: registry.npmmirror.com/d3-interpolate/1.4.0
- dev: true
+ callsites: 3.1.0
- registry.npmmirror.com/d3-scale-chromatic/3.0.0:
- resolution: {integrity: sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz}
- name: d3-scale-chromatic
- version: 3.0.0
- engines: {node: '>=12'}
+ parse-entities@4.0.2:
dependencies:
- d3-color: registry.npmmirror.com/d3-color/3.1.0
- d3-interpolate: registry.npmmirror.com/d3-interpolate/3.0.1
- dev: true
-
- registry.npmmirror.com/d3-scale/2.2.2:
- resolution: {integrity: sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-scale/-/d3-scale-2.2.2.tgz}
- name: d3-scale
- version: 2.2.2
- dependencies:
- d3-array: registry.npmmirror.com/d3-array/1.2.4
- d3-collection: registry.npmmirror.com/d3-collection/1.0.7
- d3-format: registry.npmmirror.com/d3-format/1.4.5
- d3-interpolate: registry.npmmirror.com/d3-interpolate/1.4.0
- d3-time: registry.npmmirror.com/d3-time/1.1.0
- d3-time-format: registry.npmmirror.com/d3-time-format/2.3.0
- dev: true
-
- registry.npmmirror.com/d3-scale/4.0.2:
- resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-scale/-/d3-scale-4.0.2.tgz}
- name: d3-scale
- version: 4.0.2
- engines: {node: '>=12'}
+ '@types/unist': 2.0.11
+ character-entities-legacy: 3.0.0
+ character-reference-invalid: 2.0.1
+ decode-named-character-reference: 1.3.0
+ is-alphanumerical: 2.0.1
+ is-decimal: 2.0.1
+ is-hexadecimal: 2.0.1
+
+ parse-json@5.2.0:
dependencies:
- d3-array: registry.npmmirror.com/d3-array/3.1.6
- d3-format: registry.npmmirror.com/d3-format/3.1.0
- d3-interpolate: registry.npmmirror.com/d3-interpolate/3.0.1
- d3-time: registry.npmmirror.com/d3-time/3.0.0
- d3-time-format: registry.npmmirror.com/d3-time-format/4.1.0
- dev: true
-
- registry.npmmirror.com/d3-selection/1.4.2:
- resolution: {integrity: sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-selection/-/d3-selection-1.4.2.tgz}
- name: d3-selection
- version: 1.4.2
- dev: true
-
- registry.npmmirror.com/d3-selection/3.0.0:
- resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-selection/-/d3-selection-3.0.0.tgz}
- name: d3-selection
- version: 3.0.0
- engines: {node: '>=12'}
- dev: true
+ '@babel/code-frame': 7.29.7
+ error-ex: 1.3.4
+ json-parse-even-better-errors: 2.3.1
+ lines-and-columns: 1.2.4
- registry.npmmirror.com/d3-shape/1.3.7:
- resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-shape/-/d3-shape-1.3.7.tgz}
- name: d3-shape
- version: 1.3.7
+ parse-latin@7.0.0:
dependencies:
- d3-path: registry.npmmirror.com/d3-path/1.0.9
- dev: true
+ '@types/nlcst': 2.0.3
+ '@types/unist': 3.0.3
+ nlcst-to-string: 4.0.0
+ unist-util-modify-children: 4.0.0
+ unist-util-visit-children: 3.0.0
+ vfile: 6.0.3
- registry.npmmirror.com/d3-shape/3.1.0:
- resolution: {integrity: sha512-tGDh1Muf8kWjEDT/LswZJ8WF85yDZLvVJpYU9Nq+8+yW1Z5enxrmXOhTArlkaElU+CTn0OTVNli+/i+HP45QEQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-shape/-/d3-shape-3.1.0.tgz}
- name: d3-shape
- version: 3.1.0
- engines: {node: '>=12'}
+ parse-passwd@1.0.0: {}
+
+ parse5@7.3.0:
dependencies:
- d3-path: registry.npmmirror.com/d3-path/3.0.1
- dev: true
+ entities: 6.0.1
+
+ path-browserify@1.0.1: {}
+
+ path-data-parser@0.1.0: {}
+
+ path-exists@4.0.0: {}
+
+ path-is-absolute@1.0.1: {}
+
+ path-key@3.1.1: {}
- registry.npmmirror.com/d3-time-format/2.3.0:
- resolution: {integrity: sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-time-format/-/d3-time-format-2.3.0.tgz}
- name: d3-time-format
- version: 2.3.0
+ path-parse@1.0.7: {}
+
+ path-type@4.0.0: {}
+
+ piccolore@0.1.3: {}
+
+ picocolors@1.1.1: {}
+
+ picomatch@2.3.2: {}
+
+ picomatch@4.0.7: {}
+
+ points-on-curve@0.2.0: {}
+
+ points-on-path@0.2.1:
dependencies:
- d3-time: registry.npmmirror.com/d3-time/1.1.0
- dev: true
+ path-data-parser: 0.1.0
+ points-on-curve: 0.2.0
- registry.npmmirror.com/d3-time-format/4.1.0:
- resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-time-format/-/d3-time-format-4.1.0.tgz}
- name: d3-time-format
- version: 4.1.0
- engines: {node: '>=12'}
+ postcss@8.5.29:
dependencies:
- d3-time: registry.npmmirror.com/d3-time/3.0.0
- dev: true
+ nanoid: 3.3.20
+ picocolors: 1.1.1
+ source-map-js: 1.2.2
- registry.npmmirror.com/d3-time/1.1.0:
- resolution: {integrity: sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-time/-/d3-time-1.1.0.tgz}
- name: d3-time
- version: 1.1.0
- dev: true
+ prettier@3.9.9: {}
- registry.npmmirror.com/d3-time/3.0.0:
- resolution: {integrity: sha512-zmV3lRnlaLI08y9IMRXSDshQb5Nj77smnfpnd2LrBa/2K281Jijactokeak14QacHs/kKq0AQ121nidNYlarbQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-time/-/d3-time-3.0.0.tgz}
- name: d3-time
- version: 3.0.0
- engines: {node: '>=12'}
- dependencies:
- d3-array: registry.npmmirror.com/d3-array/3.1.6
- dev: true
+ prismjs@1.30.0: {}
- registry.npmmirror.com/d3-timer/1.0.10:
- resolution: {integrity: sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-timer/-/d3-timer-1.0.10.tgz}
- name: d3-timer
- version: 1.0.10
- dev: true
+ process-ancestry@0.1.0: {}
- registry.npmmirror.com/d3-timer/3.0.1:
- resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-timer/-/d3-timer-3.0.1.tgz}
- name: d3-timer
- version: 3.0.1
- engines: {node: '>=12'}
- dev: true
-
- registry.npmmirror.com/d3-transition/1.3.2:
- resolution: {integrity: sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-transition/-/d3-transition-1.3.2.tgz}
- name: d3-transition
- version: 1.3.2
- dependencies:
- d3-color: registry.npmmirror.com/d3-color/1.4.1
- d3-dispatch: registry.npmmirror.com/d3-dispatch/1.0.6
- d3-ease: registry.npmmirror.com/d3-ease/1.0.7
- d3-interpolate: registry.npmmirror.com/d3-interpolate/1.4.0
- d3-selection: registry.npmmirror.com/d3-selection/1.4.2
- d3-timer: registry.npmmirror.com/d3-timer/1.0.10
- dev: true
-
- registry.npmmirror.com/d3-transition/3.0.1_d3-selection@3.0.0:
- resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-transition/-/d3-transition-3.0.1.tgz}
- id: registry.npmmirror.com/d3-transition/3.0.1
- name: d3-transition
- version: 3.0.1
- engines: {node: '>=12'}
- peerDependencies:
- d3-selection: 2 - 3
- dependencies:
- d3-color: registry.npmmirror.com/d3-color/3.1.0
- d3-dispatch: registry.npmmirror.com/d3-dispatch/3.0.1
- d3-ease: registry.npmmirror.com/d3-ease/3.0.1
- d3-interpolate: registry.npmmirror.com/d3-interpolate/3.0.1
- d3-selection: registry.npmmirror.com/d3-selection/3.0.0
- d3-timer: registry.npmmirror.com/d3-timer/3.0.1
- dev: true
-
- registry.npmmirror.com/d3-voronoi/1.1.4:
- resolution: {integrity: sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-voronoi/-/d3-voronoi-1.1.4.tgz}
- name: d3-voronoi
- version: 1.1.4
- dev: true
-
- registry.npmmirror.com/d3-zoom/1.8.3:
- resolution: {integrity: sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-zoom/-/d3-zoom-1.8.3.tgz}
- name: d3-zoom
- version: 1.8.3
- dependencies:
- d3-dispatch: registry.npmmirror.com/d3-dispatch/1.0.6
- d3-drag: registry.npmmirror.com/d3-drag/1.2.5
- d3-interpolate: registry.npmmirror.com/d3-interpolate/1.4.0
- d3-selection: registry.npmmirror.com/d3-selection/1.4.2
- d3-transition: registry.npmmirror.com/d3-transition/1.3.2
- dev: true
-
- registry.npmmirror.com/d3-zoom/3.0.0:
- resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-zoom/-/d3-zoom-3.0.0.tgz}
- name: d3-zoom
- version: 3.0.0
- engines: {node: '>=12'}
+ property-information@7.2.0: {}
+
+ quick-lru@4.0.1: {}
+
+ radix3@1.1.2: {}
+
+ read-pkg-up@7.0.1:
dependencies:
- d3-dispatch: registry.npmmirror.com/d3-dispatch/3.0.1
- d3-drag: registry.npmmirror.com/d3-drag/3.0.0
- d3-interpolate: registry.npmmirror.com/d3-interpolate/3.0.1
- d3-selection: registry.npmmirror.com/d3-selection/3.0.0
- d3-transition: registry.npmmirror.com/d3-transition/3.0.1_d3-selection@3.0.0
- dev: true
-
- registry.npmmirror.com/d3/5.16.0:
- resolution: {integrity: sha512-4PL5hHaHwX4m7Zr1UapXW23apo6pexCgdetdJ5kTmADpG/7T9Gkxw0M0tf/pjoB63ezCCm0u5UaFYy2aMt0Mcw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3/-/d3-5.16.0.tgz}
- name: d3
- version: 5.16.0
- dependencies:
- d3-array: registry.npmmirror.com/d3-array/1.2.4
- d3-axis: registry.npmmirror.com/d3-axis/1.0.12
- d3-brush: registry.npmmirror.com/d3-brush/1.1.6
- d3-chord: registry.npmmirror.com/d3-chord/1.0.6
- d3-collection: registry.npmmirror.com/d3-collection/1.0.7
- d3-color: registry.npmmirror.com/d3-color/1.4.1
- d3-contour: registry.npmmirror.com/d3-contour/1.3.2
- d3-dispatch: registry.npmmirror.com/d3-dispatch/1.0.6
- d3-drag: registry.npmmirror.com/d3-drag/1.2.5
- d3-dsv: registry.npmmirror.com/d3-dsv/1.2.0
- d3-ease: registry.npmmirror.com/d3-ease/1.0.7
- d3-fetch: registry.npmmirror.com/d3-fetch/1.2.0
- d3-force: registry.npmmirror.com/d3-force/1.2.1
- d3-format: registry.npmmirror.com/d3-format/1.4.5
- d3-geo: registry.npmmirror.com/d3-geo/1.12.1
- d3-hierarchy: registry.npmmirror.com/d3-hierarchy/1.1.9
- d3-interpolate: registry.npmmirror.com/d3-interpolate/1.4.0
- d3-path: registry.npmmirror.com/d3-path/1.0.9
- d3-polygon: registry.npmmirror.com/d3-polygon/1.0.6
- d3-quadtree: registry.npmmirror.com/d3-quadtree/1.0.7
- d3-random: registry.npmmirror.com/d3-random/1.1.2
- d3-scale: registry.npmmirror.com/d3-scale/2.2.2
- d3-scale-chromatic: registry.npmmirror.com/d3-scale-chromatic/1.5.0
- d3-selection: registry.npmmirror.com/d3-selection/1.4.2
- d3-shape: registry.npmmirror.com/d3-shape/1.3.7
- d3-time: registry.npmmirror.com/d3-time/1.1.0
- d3-time-format: registry.npmmirror.com/d3-time-format/2.3.0
- d3-timer: registry.npmmirror.com/d3-timer/1.0.10
- d3-transition: registry.npmmirror.com/d3-transition/1.3.2
- d3-voronoi: registry.npmmirror.com/d3-voronoi/1.1.4
- d3-zoom: registry.npmmirror.com/d3-zoom/1.8.3
- dev: true
-
- registry.npmmirror.com/d3/7.4.4:
- resolution: {integrity: sha512-97FE+MYdAlV3R9P74+R3Uar7wUKkIFu89UWMjEaDhiJ9VxKvqaMxauImy8PC2DdBkdM2BxJOIoLxPrcZUyrKoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3/-/d3-7.4.4.tgz}
- name: d3
- version: 7.4.4
- engines: {node: '>=12'}
+ find-up: 4.1.0
+ read-pkg: 5.2.0
+ type-fest: 0.8.1
+
+ read-pkg@5.2.0:
dependencies:
- d3-array: registry.npmmirror.com/d3-array/3.1.6
- d3-axis: registry.npmmirror.com/d3-axis/3.0.0
- d3-brush: registry.npmmirror.com/d3-brush/3.0.0
- d3-chord: registry.npmmirror.com/d3-chord/3.0.1
- d3-color: registry.npmmirror.com/d3-color/3.1.0
- d3-contour: registry.npmmirror.com/d3-contour/3.0.1
- d3-delaunay: registry.npmmirror.com/d3-delaunay/6.0.2
- d3-dispatch: registry.npmmirror.com/d3-dispatch/3.0.1
- d3-drag: registry.npmmirror.com/d3-drag/3.0.0
- d3-dsv: registry.npmmirror.com/d3-dsv/3.0.1
- d3-ease: registry.npmmirror.com/d3-ease/3.0.1
- d3-fetch: registry.npmmirror.com/d3-fetch/3.0.1
- d3-force: registry.npmmirror.com/d3-force/3.0.0
- d3-format: registry.npmmirror.com/d3-format/3.1.0
- d3-geo: registry.npmmirror.com/d3-geo/3.0.1
- d3-hierarchy: registry.npmmirror.com/d3-hierarchy/3.1.2
- d3-interpolate: registry.npmmirror.com/d3-interpolate/3.0.1
- d3-path: registry.npmmirror.com/d3-path/3.0.1
- d3-polygon: registry.npmmirror.com/d3-polygon/3.0.1
- d3-quadtree: registry.npmmirror.com/d3-quadtree/3.0.1
- d3-random: registry.npmmirror.com/d3-random/3.0.1
- d3-scale: registry.npmmirror.com/d3-scale/4.0.2
- d3-scale-chromatic: registry.npmmirror.com/d3-scale-chromatic/3.0.0
- d3-selection: registry.npmmirror.com/d3-selection/3.0.0
- d3-shape: registry.npmmirror.com/d3-shape/3.1.0
- d3-time: registry.npmmirror.com/d3-time/3.0.0
- d3-time-format: registry.npmmirror.com/d3-time-format/4.1.0
- d3-timer: registry.npmmirror.com/d3-timer/3.0.1
- d3-transition: registry.npmmirror.com/d3-transition/3.0.1_d3-selection@3.0.0
- d3-zoom: registry.npmmirror.com/d3-zoom/3.0.0
- dev: true
-
- registry.npmmirror.com/dagre-d3/0.6.4:
- resolution: {integrity: sha512-e/6jXeCP7/ptlAM48clmX4xTZc5Ek6T6kagS7Oz2HrYSdqcLZFLqpAfh7ldbZRFfxCZVyh61NEPR08UQRVxJzQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dagre-d3/-/dagre-d3-0.6.4.tgz}
- name: dagre-d3
- version: 0.6.4
- dependencies:
- d3: registry.npmmirror.com/d3/5.16.0
- dagre: registry.npmmirror.com/dagre/0.8.5
- graphlib: registry.npmmirror.com/graphlib/2.1.8
- lodash: registry.npmmirror.com/lodash/4.17.21
- dev: true
-
- registry.npmmirror.com/dagre/0.8.5:
- resolution: {integrity: sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dagre/-/dagre-0.8.5.tgz}
- name: dagre
- version: 0.8.5
- dependencies:
- graphlib: registry.npmmirror.com/graphlib/2.1.8
- lodash: registry.npmmirror.com/lodash/4.17.21
- dev: true
-
- registry.npmmirror.com/dayjs/1.11.6:
- resolution: {integrity: sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dayjs/-/dayjs-1.11.6.tgz}
- name: dayjs
- version: 1.11.6
- dev: true
-
- registry.npmmirror.com/debug/4.3.4:
- resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz}
- name: debug
- version: 4.3.4
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
+ '@types/normalize-package-data': 2.4.4
+ normalize-package-data: 2.5.0
+ parse-json: 5.2.0
+ type-fest: 0.6.0
+
+ readable-stream@3.6.2:
dependencies:
- ms: registry.npmmirror.com/ms/2.1.2
- dev: true
+ inherits: 2.0.4
+ string_decoder: 1.3.0
+ util-deprecate: 1.0.2
- registry.npmmirror.com/deepmerge/4.2.2:
- resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/deepmerge/-/deepmerge-4.2.2.tgz}
- name: deepmerge
- version: 4.2.2
- engines: {node: '>=0.10.0'}
- dev: true
+ readdirp@4.1.2: {}
- registry.npmmirror.com/defaults/1.0.3:
- resolution: {integrity: sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/defaults/-/defaults-1.0.3.tgz}
- name: defaults
- version: 1.0.3
- dependencies:
- clone: registry.npmmirror.com/clone/1.0.4
- dev: true
+ readdirp@5.1.1: {}
- registry.npmmirror.com/define-properties/1.1.4:
- resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/define-properties/-/define-properties-1.1.4.tgz}
- name: define-properties
- version: 1.1.4
- engines: {node: '>= 0.4'}
+ recma-build-jsx@1.0.0:
dependencies:
- has-property-descriptors: registry.npmmirror.com/has-property-descriptors/1.0.0
- object-keys: registry.npmmirror.com/object-keys/1.1.1
- dev: true
+ '@types/estree': 1.0.9
+ estree-util-build-jsx: 3.0.1
+ vfile: 6.0.3
- registry.npmmirror.com/delaunator/5.0.0:
- resolution: {integrity: sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/delaunator/-/delaunator-5.0.0.tgz}
- name: delaunator
- version: 5.0.0
+ recma-jsx@1.0.1(acorn@8.19.0):
dependencies:
- robust-predicates: registry.npmmirror.com/robust-predicates/3.0.1
- dev: true
+ acorn: 8.19.0
+ acorn-jsx: 5.3.2(acorn@8.19.0)
+ estree-util-to-js: 2.0.0
+ recma-parse: 1.0.0
+ recma-stringify: 1.0.0
+ unified: 11.0.5
- registry.npmmirror.com/dir-glob/3.0.1:
- resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz}
- name: dir-glob
- version: 3.0.1
- engines: {node: '>=8'}
+ recma-parse@1.0.0:
dependencies:
- path-type: registry.npmmirror.com/path-type/4.0.0
- dev: true
-
- registry.npmmirror.com/dom-serializer/1.4.1:
- resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz}
- name: dom-serializer
- version: 1.4.1
- dependencies:
- domelementtype: registry.npmmirror.com/domelementtype/2.3.0
- domhandler: registry.npmmirror.com/domhandler/4.3.1
- entities: registry.npmmirror.com/entities/2.2.0
- dev: true
-
- registry.npmmirror.com/dom-serializer/2.0.0:
- resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dom-serializer/-/dom-serializer-2.0.0.tgz}
- name: dom-serializer
- version: 2.0.0
- dependencies:
- domelementtype: registry.npmmirror.com/domelementtype/2.3.0
- domhandler: registry.npmmirror.com/domhandler/5.0.3
- entities: registry.npmmirror.com/entities/4.4.0
- dev: true
-
- registry.npmmirror.com/domelementtype/2.3.0:
- resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz}
- name: domelementtype
- version: 2.3.0
- dev: true
-
- registry.npmmirror.com/domhandler/3.3.0:
- resolution: {integrity: sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/domhandler/-/domhandler-3.3.0.tgz}
- name: domhandler
- version: 3.3.0
- engines: {node: '>= 4'}
+ '@types/estree': 1.0.9
+ esast-util-from-js: 2.0.1
+ unified: 11.0.5
+ vfile: 6.0.3
+
+ recma-stringify@1.0.0:
dependencies:
- domelementtype: registry.npmmirror.com/domelementtype/2.3.0
- dev: true
+ '@types/estree': 1.0.9
+ estree-util-to-js: 2.0.0
+ unified: 11.0.5
+ vfile: 6.0.3
- registry.npmmirror.com/domhandler/4.3.1:
- resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz}
- name: domhandler
- version: 4.3.1
- engines: {node: '>= 4'}
+ redent@3.0.0:
dependencies:
- domelementtype: registry.npmmirror.com/domelementtype/2.3.0
- dev: true
+ indent-string: 4.0.0
+ strip-indent: 3.0.0
- registry.npmmirror.com/domhandler/5.0.3:
- resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/domhandler/-/domhandler-5.0.3.tgz}
- name: domhandler
- version: 5.0.3
- engines: {node: '>= 4'}
+ regex-recursion@6.0.2:
dependencies:
- domelementtype: registry.npmmirror.com/domelementtype/2.3.0
- dev: true
-
- registry.npmmirror.com/dompurify/2.4.0:
- resolution: {integrity: sha512-Be9tbQMZds4a3C6xTmz68NlMfeONA//4dOavl/1rNw50E+/QO0KVpbcU0PcaW0nsQxurXls9ZocqFxk8R2mWEA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dompurify/-/dompurify-2.4.0.tgz}
- name: dompurify
- version: 2.4.0
- dev: true
-
- registry.npmmirror.com/domutils/2.8.0:
- resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz}
- name: domutils
- version: 2.8.0
- dependencies:
- dom-serializer: registry.npmmirror.com/dom-serializer/1.4.1
- domelementtype: registry.npmmirror.com/domelementtype/2.3.0
- domhandler: registry.npmmirror.com/domhandler/4.3.1
- dev: true
-
- registry.npmmirror.com/domutils/3.0.1:
- resolution: {integrity: sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/domutils/-/domutils-3.0.1.tgz}
- name: domutils
- version: 3.0.1
- dependencies:
- dom-serializer: registry.npmmirror.com/dom-serializer/2.0.0
- domelementtype: registry.npmmirror.com/domelementtype/2.3.0
- domhandler: registry.npmmirror.com/domhandler/5.0.3
- dev: true
-
- registry.npmmirror.com/echarts/5.4.0:
- resolution: {integrity: sha512-uPsO9VRUIKAdFOoH3B0aNg7NRVdN7aM39/OjovjO9MwmWsAkfGyeXJhK+dbRi51iDrQWliXV60/XwLA7kg3z0w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/echarts/-/echarts-5.4.0.tgz}
- name: echarts
- version: 5.4.0
- dependencies:
- tslib: registry.npmmirror.com/tslib/2.3.0
- zrender: registry.npmmirror.com/zrender/5.4.0
- dev: true
-
- registry.npmmirror.com/ejs/3.1.7:
- resolution: {integrity: sha512-BIar7R6abbUxDA3bfXrO4DSgwo8I+fB5/1zgujl3HLLjwd6+9iOnrT+t3grn2qbk9vOgBubXOFwX2m9axoFaGw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ejs/-/ejs-3.1.7.tgz}
- name: ejs
- version: 3.1.7
- engines: {node: '>=0.10.0'}
- hasBin: true
+ regex-utilities: 2.3.0
+
+ regex-utilities@2.3.0: {}
+
+ regex@6.1.0:
dependencies:
- jake: registry.npmmirror.com/jake/10.8.5
- dev: true
-
- registry.npmmirror.com/electron-to-chromium/1.4.284:
- resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz}
- name: electron-to-chromium
- version: 1.4.284
- dev: true
-
- registry.npmmirror.com/entities/2.2.0:
- resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz}
- name: entities
- version: 2.2.0
- dev: true
-
- registry.npmmirror.com/entities/3.0.1:
- resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/entities/-/entities-3.0.1.tgz}
- name: entities
- version: 3.0.1
- engines: {node: '>=0.12'}
- dev: true
+ regex-utilities: 2.3.0
- registry.npmmirror.com/entities/4.4.0:
- resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/entities/-/entities-4.4.0.tgz}
- name: entities
- version: 4.4.0
- engines: {node: '>=0.12'}
- dev: true
+ rehype-raw@7.0.0:
+ dependencies:
+ '@types/hast': 3.0.5
+ hast-util-raw: 9.1.0
+ vfile: 6.0.3
- registry.npmmirror.com/envinfo/7.8.1:
- resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/envinfo/-/envinfo-7.8.1.tgz}
- name: envinfo
- version: 7.8.1
- engines: {node: '>=4'}
- hasBin: true
- dev: true
+ rehype-recma@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.9
+ '@types/hast': 3.0.5
+ hast-util-to-estree: 3.1.3
+ transitivePeerDependencies:
+ - supports-color
- registry.npmmirror.com/error-ex/1.3.2:
- resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz}
- name: error-ex
- version: 1.3.2
+ rehype-stringify@10.0.1:
dependencies:
- is-arrayish: registry.npmmirror.com/is-arrayish/0.2.1
- dev: true
+ '@types/hast': 3.0.5
+ hast-util-to-html: 9.0.5
+ unified: 11.0.5
- registry.npmmirror.com/es-abstract/1.20.0:
- resolution: {integrity: sha512-URbD8tgRthKD3YcC39vbvSDrX23upXnPcnGAjQfgxXF5ID75YcENawc9ZX/9iTP9ptUyfCLIxTTuMYoRfiOVKA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/es-abstract/-/es-abstract-1.20.0.tgz}
- name: es-abstract
- version: 1.20.0
- engines: {node: '>= 0.4'}
+ remark-gfm@4.0.1:
dependencies:
- call-bind: registry.npmmirror.com/call-bind/1.0.2
- es-to-primitive: registry.npmmirror.com/es-to-primitive/1.2.1
- function-bind: registry.npmmirror.com/function-bind/1.1.1
- function.prototype.name: registry.npmmirror.com/function.prototype.name/1.1.5
- get-intrinsic: registry.npmmirror.com/get-intrinsic/1.1.1
- get-symbol-description: registry.npmmirror.com/get-symbol-description/1.0.0
- has: registry.npmmirror.com/has/1.0.3
- has-property-descriptors: registry.npmmirror.com/has-property-descriptors/1.0.0
- has-symbols: registry.npmmirror.com/has-symbols/1.0.3
- internal-slot: registry.npmmirror.com/internal-slot/1.0.3
- is-callable: registry.npmmirror.com/is-callable/1.2.4
- is-negative-zero: registry.npmmirror.com/is-negative-zero/2.0.2
- is-regex: registry.npmmirror.com/is-regex/1.1.4
- is-shared-array-buffer: registry.npmmirror.com/is-shared-array-buffer/1.0.2
- is-string: registry.npmmirror.com/is-string/1.0.7
- is-weakref: registry.npmmirror.com/is-weakref/1.0.2
- object-inspect: registry.npmmirror.com/object-inspect/1.12.0
- object-keys: registry.npmmirror.com/object-keys/1.1.1
- object.assign: registry.npmmirror.com/object.assign/4.1.2
- regexp.prototype.flags: registry.npmmirror.com/regexp.prototype.flags/1.4.3
- string.prototype.trimend: registry.npmmirror.com/string.prototype.trimend/1.0.5
- string.prototype.trimstart: registry.npmmirror.com/string.prototype.trimstart/1.0.5
- unbox-primitive: registry.npmmirror.com/unbox-primitive/1.0.2
- dev: true
-
- registry.npmmirror.com/es-to-primitive/1.2.1:
- resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz}
- name: es-to-primitive
- version: 1.2.1
- engines: {node: '>= 0.4'}
+ '@types/mdast': 4.0.4
+ mdast-util-gfm: 3.1.0
+ micromark-extension-gfm: 3.0.0
+ remark-parse: 11.0.0
+ remark-stringify: 11.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-mdx@3.1.1:
dependencies:
- is-callable: registry.npmmirror.com/is-callable/1.2.4
- is-date-object: registry.npmmirror.com/is-date-object/1.0.5
- is-symbol: registry.npmmirror.com/is-symbol/1.0.4
- dev: true
+ mdast-util-mdx: 3.0.0
+ micromark-extension-mdxjs: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
- registry.npmmirror.com/esbuild-android-64/0.15.14:
- resolution: {integrity: sha512-HuilVIb4rk9abT4U6bcFdU35UHOzcWVGLSjEmC58OVr96q5UiRqzDtWjPlCMugjhgUGKEs8Zf4ueIvYbOStbIg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-android-64/-/esbuild-android-64-0.15.14.tgz}
- name: esbuild-android-64
- version: 0.15.14
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
+ remark-parse@11.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-from-markdown: 2.1.0
+ micromark-util-types: 2.0.3
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
- registry.npmmirror.com/esbuild-android-arm64/0.15.14:
- resolution: {integrity: sha512-/QnxRVxsR2Vtf3XottAHj7hENAMW2wCs6S+OZcAbc/8nlhbAL/bCQRCVD78VtI5mdwqWkVi3wMqM94kScQCgqg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.14.tgz}
- name: esbuild-android-arm64
- version: 0.15.14
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
+ remark-rehype@11.1.2:
+ dependencies:
+ '@types/hast': 3.0.5
+ '@types/mdast': 4.0.4
+ mdast-util-to-hast: 13.2.1
+ unified: 11.0.5
+ vfile: 6.0.3
- registry.npmmirror.com/esbuild-darwin-64/0.15.14:
- resolution: {integrity: sha512-ToNuf1uifu8hhwWvoZJGCdLIX/1zpo8cOGnT0XAhDQXiKOKYaotVNx7pOVB1f+wHoWwTLInrOmh3EmA7Fd+8Vg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.14.tgz}
- name: esbuild-darwin-64
- version: 0.15.14
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
+ remark-smartypants@3.0.3:
+ dependencies:
+ retext: 9.0.0
+ retext-smartypants: 6.2.0
+ unified: 11.0.5
+ unist-util-visit: 5.1.0
- registry.npmmirror.com/esbuild-darwin-arm64/0.15.14:
- resolution: {integrity: sha512-KgGP+y77GszfYJgceO0Wi/PiRtYo5y2Xo9rhBUpxTPaBgWDJ14gqYN0+NMbu+qC2fykxXaipHxN4Scaj9tUS1A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.14.tgz}
- name: esbuild-darwin-arm64
- version: 0.15.14
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
+ remark-stringify@11.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-to-markdown: 2.2.0
+ unified: 11.0.5
- registry.npmmirror.com/esbuild-freebsd-64/0.15.14:
- resolution: {integrity: sha512-xr0E2n5lyWw3uFSwwUXHc0EcaBDtsal/iIfLioflHdhAe10KSctV978Te7YsfnsMKzcoGeS366+tqbCXdqDHQA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.14.tgz}
- name: esbuild-freebsd-64
- version: 0.15.14
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
+ request-light@0.5.8: {}
- registry.npmmirror.com/esbuild-freebsd-arm64/0.15.14:
- resolution: {integrity: sha512-8XH96sOQ4b1LhMlO10eEWOjEngmZ2oyw3pW4o8kvBcpF6pULr56eeYVP5radtgw54g3T8nKHDHYEI5AItvskZg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.14.tgz}
- name: esbuild-freebsd-arm64
- version: 0.15.14
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
+ request-light@0.7.0: {}
- registry.npmmirror.com/esbuild-linux-32/0.15.14:
- resolution: {integrity: sha512-6ssnvwaTAi8AzKN8By2V0nS+WF5jTP7SfuK6sStGnDP7MCJo/4zHgM9oE1eQTS2jPmo3D673rckuCzRlig+HMA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.15.14.tgz}
- name: esbuild-linux-32
- version: 0.15.14
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
+ require-directory@2.1.1: {}
- registry.npmmirror.com/esbuild-linux-64/0.15.14:
- resolution: {integrity: sha512-ONySx3U0wAJOJuxGUlXBWxVKFVpWv88JEv0NZ6NlHknmDd1yCbf4AEdClSgLrqKQDXYywmw4gYDvdLsS6z0hcw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.15.14.tgz}
- name: esbuild-linux-64
- version: 0.15.14
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
+ require-from-string@2.0.2: {}
- registry.npmmirror.com/esbuild-linux-arm/0.15.14:
- resolution: {integrity: sha512-D2LImAIV3QzL7lHURyCHBkycVFbKwkDb1XEUWan+2fb4qfW7qAeUtul7ZIcIwFKZgPcl+6gKZmvLgPSj26RQ2Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.14.tgz}
- name: esbuild-linux-arm
- version: 0.15.14
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
+ resolve-dir@1.0.1:
+ dependencies:
+ expand-tilde: 2.0.2
+ global-modules: 1.0.0
- registry.npmmirror.com/esbuild-linux-arm64/0.15.14:
- resolution: {integrity: sha512-kle2Ov6a1e5AjlHlMQl1e+c4myGTeggrRzArQFmWp6O6JoqqB9hT+B28EW4tjFWgV/NxUq46pWYpgaWXsXRPAg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.14.tgz}
- name: esbuild-linux-arm64
- version: 0.15.14
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
+ resolve-from@4.0.0: {}
- registry.npmmirror.com/esbuild-linux-mips64le/0.15.14:
- resolution: {integrity: sha512-FVdMYIzOLXUq+OE7XYKesuEAqZhmAIV6qOoYahvUp93oXy0MOVTP370ECbPfGXXUdlvc0TNgkJa3YhEwyZ6MRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.14.tgz}
- name: esbuild-linux-mips64le
- version: 0.15.14
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
+ resolve-from@5.0.0: {}
- registry.npmmirror.com/esbuild-linux-ppc64le/0.15.14:
- resolution: {integrity: sha512-2NzH+iuzMDA+jjtPjuIz/OhRDf8tzbQ1tRZJI//aT25o1HKc0reMMXxKIYq/8nSHXiJSnYV4ODzTiv45s+h73w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.14.tgz}
- name: esbuild-linux-ppc64le
- version: 0.15.14
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
+ resolve-global@1.0.0:
+ dependencies:
+ global-dirs: 0.1.1
- registry.npmmirror.com/esbuild-linux-riscv64/0.15.14:
- resolution: {integrity: sha512-VqxvutZNlQxmUNS7Ac+aczttLEoHBJ9e3OYGqnULrfipRvG97qLrAv9EUY9iSrRKBqeEbSvS9bSfstZqwz0T4Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.14.tgz}
- name: esbuild-linux-riscv64
- version: 0.15.14
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
+ resolve-pkg-maps@1.0.0: {}
- registry.npmmirror.com/esbuild-linux-s390x/0.15.14:
- resolution: {integrity: sha512-+KVHEUshX5n6VP6Vp/AKv9fZIl5kr2ph8EUFmQUJnDpHwcfTSn2AQgYYm0HTBR2Mr4d0Wlr0FxF/Cs5pbFgiOw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.14.tgz}
- name: esbuild-linux-s390x
- version: 0.15.14
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
+ resolve@1.22.12:
+ dependencies:
+ es-errors: 1.3.0
+ is-core-module: 2.17.0
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
- registry.npmmirror.com/esbuild-netbsd-64/0.15.14:
- resolution: {integrity: sha512-6D/dr17piEgevIm1xJfZP2SjB9Z+g8ERhNnBdlZPBWZl+KSPUKLGF13AbvC+nzGh8IxOH2TyTIdRMvKMP0nEzQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.14.tgz}
- name: esbuild-netbsd-64
- version: 0.15.14
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
- requiresBuild: true
- dev: true
- optional: true
+ restore-cursor@3.1.0:
+ dependencies:
+ onetime: 5.1.2
+ signal-exit: 3.0.7
- registry.npmmirror.com/esbuild-openbsd-64/0.15.14:
- resolution: {integrity: sha512-rREQBIlMibBetgr2E9Lywt2Qxv2ZdpmYahR4IUlAQ1Efv/A5gYdO0/VIN3iowDbCNTLxp0bb57Vf0LFcffD6kA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.14.tgz}
- name: esbuild-openbsd-64
- version: 0.15.14
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
- requiresBuild: true
- dev: true
- optional: true
+ retext-latin@4.0.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ parse-latin: 7.0.0
+ unified: 11.0.5
- registry.npmmirror.com/esbuild-sunos-64/0.15.14:
- resolution: {integrity: sha512-DNVjSp/BY4IfwtdUAvWGIDaIjJXY5KI4uD82+15v6k/w7px9dnaDaJJ2R6Mu+KCgr5oklmFc0KjBjh311Gxl9Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.14.tgz}
- name: esbuild-sunos-64
- version: 0.15.14
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
- requiresBuild: true
- dev: true
- optional: true
+ retext-smartypants@6.2.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ nlcst-to-string: 4.0.0
+ unist-util-visit: 5.1.0
- registry.npmmirror.com/esbuild-windows-32/0.15.14:
- resolution: {integrity: sha512-pHBWrcA+/oLgvViuG9FO3kNPO635gkoVrRQwe6ZY1S0jdET07xe2toUvQoJQ8KT3/OkxqUasIty5hpuKFLD+eg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.15.14.tgz}
- name: esbuild-windows-32
- version: 0.15.14
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
+ retext-stringify@4.0.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ nlcst-to-string: 4.0.0
+ unified: 11.0.5
- registry.npmmirror.com/esbuild-windows-64/0.15.14:
- resolution: {integrity: sha512-CszIGQVk/P8FOS5UgAH4hKc9zOaFo69fe+k1rqgBHx3CSK3Opyk5lwYriIamaWOVjBt7IwEP6NALz+tkVWdFog==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.15.14.tgz}
- name: esbuild-windows-64
- version: 0.15.14
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
+ retext@9.0.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ retext-latin: 4.0.0
+ retext-stringify: 4.0.0
+ unified: 11.0.5
- registry.npmmirror.com/esbuild-windows-arm64/0.15.14:
- resolution: {integrity: sha512-KW9W4psdZceaS9A7Jsgl4WialOznSURvqX/oHZk3gOP7KbjtHLSsnmSvNdzagGJfxbAe30UVGXRe8q8nDsOSQw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.14.tgz}
- name: esbuild-windows-arm64
- version: 0.15.14
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
+ robust-predicates@3.0.3: {}
- registry.npmmirror.com/esbuild/0.15.14:
- resolution: {integrity: sha512-pJN8j42fvWLFWwSMG4luuupl2Me7mxciUOsMegKvwCmhEbJ2covUdFnihxm0FMIBV+cbwbtMoHgMCCI+pj1btQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild/-/esbuild-0.15.14.tgz}
- name: esbuild
- version: 0.15.14
- engines: {node: '>=12'}
- hasBin: true
- requiresBuild: true
+ rolldown@1.2.12:
+ dependencies:
+ '@oxc-project/types': 0.152.0
+ '@rolldown/pluginutils': 1.0.1
optionalDependencies:
- '@esbuild/android-arm': registry.npmmirror.com/@esbuild/android-arm/0.15.14
- '@esbuild/linux-loong64': registry.npmmirror.com/@esbuild/linux-loong64/0.15.14
- esbuild-android-64: registry.npmmirror.com/esbuild-android-64/0.15.14
- esbuild-android-arm64: registry.npmmirror.com/esbuild-android-arm64/0.15.14
- esbuild-darwin-64: registry.npmmirror.com/esbuild-darwin-64/0.15.14
- esbuild-darwin-arm64: registry.npmmirror.com/esbuild-darwin-arm64/0.15.14
- esbuild-freebsd-64: registry.npmmirror.com/esbuild-freebsd-64/0.15.14
- esbuild-freebsd-arm64: registry.npmmirror.com/esbuild-freebsd-arm64/0.15.14
- esbuild-linux-32: registry.npmmirror.com/esbuild-linux-32/0.15.14
- esbuild-linux-64: registry.npmmirror.com/esbuild-linux-64/0.15.14
- esbuild-linux-arm: registry.npmmirror.com/esbuild-linux-arm/0.15.14
- esbuild-linux-arm64: registry.npmmirror.com/esbuild-linux-arm64/0.15.14
- esbuild-linux-mips64le: registry.npmmirror.com/esbuild-linux-mips64le/0.15.14
- esbuild-linux-ppc64le: registry.npmmirror.com/esbuild-linux-ppc64le/0.15.14
- esbuild-linux-riscv64: registry.npmmirror.com/esbuild-linux-riscv64/0.15.14
- esbuild-linux-s390x: registry.npmmirror.com/esbuild-linux-s390x/0.15.14
- esbuild-netbsd-64: registry.npmmirror.com/esbuild-netbsd-64/0.15.14
- esbuild-openbsd-64: registry.npmmirror.com/esbuild-openbsd-64/0.15.14
- esbuild-sunos-64: registry.npmmirror.com/esbuild-sunos-64/0.15.14
- esbuild-windows-32: registry.npmmirror.com/esbuild-windows-32/0.15.14
- esbuild-windows-64: registry.npmmirror.com/esbuild-windows-64/0.15.14
- esbuild-windows-arm64: registry.npmmirror.com/esbuild-windows-arm64/0.15.14
- dev: true
-
- registry.npmmirror.com/escalade/3.1.1:
- resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz}
- name: escalade
- version: 3.1.1
- engines: {node: '>=6'}
- dev: true
+ '@rolldown/binding-android-arm-eabi': 1.2.12
+ '@rolldown/binding-android-arm64': 1.2.12
+ '@rolldown/binding-darwin-arm64': 1.2.12
+ '@rolldown/binding-darwin-x64': 1.2.12
+ '@rolldown/binding-freebsd-x64': 1.2.12
+ '@rolldown/binding-linux-arm-gnueabihf': 1.2.12
+ '@rolldown/binding-linux-arm64-gnu': 1.2.12
+ '@rolldown/binding-linux-arm64-musl': 1.2.12
+ '@rolldown/binding-linux-ppc64-gnu': 1.2.12
+ '@rolldown/binding-linux-s390x-gnu': 1.2.12
+ '@rolldown/binding-linux-x64-gnu': 1.2.12
+ '@rolldown/binding-linux-x64-musl': 1.2.12
+ '@rolldown/binding-openharmony-arm64': 1.2.12
+ '@rolldown/binding-win32-arm64-msvc': 1.2.12
+ '@rolldown/binding-win32-x64-msvc': 1.2.12
- registry.npmmirror.com/escape-goat/3.0.0:
- resolution: {integrity: sha512-w3PwNZJwRxlp47QGzhuEBldEqVHHhh8/tIPcl6ecf2Bou99cdAt0knihBV0Ecc7CGxYduXVBDheH1K2oADRlvw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/escape-goat/-/escape-goat-3.0.0.tgz}
- name: escape-goat
- version: 3.0.0
- engines: {node: '>=10'}
- dev: true
+ roughjs@4.6.6:
+ dependencies:
+ hachure-fill: 0.5.2
+ path-data-parser: 0.1.0
+ points-on-curve: 0.2.0
+ points-on-path: 0.2.1
- registry.npmmirror.com/escape-string-regexp/1.0.5:
- resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz}
- name: escape-string-regexp
- version: 1.0.5
- engines: {node: '>=0.8.0'}
- dev: true
+ run-async@2.4.1: {}
- registry.npmmirror.com/esm/3.2.25:
- resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esm/-/esm-3.2.25.tgz}
- name: esm
- version: 3.2.25
- engines: {node: '>=6'}
- dev: true
+ rw@1.3.3: {}
- registry.npmmirror.com/esprima/4.0.1:
- resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz}
- name: esprima
- version: 4.0.1
- engines: {node: '>=4'}
- hasBin: true
- dev: true
-
- registry.npmmirror.com/estree-walker/1.0.1:
- resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/estree-walker/-/estree-walker-1.0.1.tgz}
- name: estree-walker
- version: 1.0.1
- dev: true
-
- registry.npmmirror.com/estree-walker/2.0.2:
- resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz}
- name: estree-walker
- version: 2.0.2
- dev: true
-
- registry.npmmirror.com/esutils/2.0.3:
- resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz}
- name: esutils
- version: 2.0.3
- engines: {node: '>=0.10.0'}
- dev: true
-
- registry.npmmirror.com/eve-raphael/0.5.0:
- resolution: {integrity: sha512-jrxnPsCGqng1UZuEp9DecX/AuSyAszATSjf4oEcRxvfxa1Oux4KkIPKBAAWWnpdwfARtr+Q0o9aPYWjsROD7ug==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eve-raphael/-/eve-raphael-0.5.0.tgz}
- name: eve-raphael
- version: 0.5.0
- dev: true
-
- registry.npmmirror.com/execa/5.1.1:
- resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz}
- name: execa
- version: 5.1.1
- engines: {node: '>=10'}
- dependencies:
- cross-spawn: registry.npmmirror.com/cross-spawn/7.0.3
- get-stream: registry.npmmirror.com/get-stream/6.0.1
- human-signals: registry.npmmirror.com/human-signals/2.1.0
- is-stream: registry.npmmirror.com/is-stream/2.0.1
- merge-stream: registry.npmmirror.com/merge-stream/2.0.0
- npm-run-path: registry.npmmirror.com/npm-run-path/4.0.1
- onetime: registry.npmmirror.com/onetime/5.1.2
- signal-exit: registry.npmmirror.com/signal-exit/3.0.7
- strip-final-newline: registry.npmmirror.com/strip-final-newline/2.0.0
- dev: true
-
- registry.npmmirror.com/execa/6.1.0:
- resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/execa/-/execa-6.1.0.tgz}
- name: execa
- version: 6.1.0
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dependencies:
- cross-spawn: registry.npmmirror.com/cross-spawn/7.0.3
- get-stream: registry.npmmirror.com/get-stream/6.0.1
- human-signals: registry.npmmirror.com/human-signals/3.0.1
- is-stream: registry.npmmirror.com/is-stream/3.0.0
- merge-stream: registry.npmmirror.com/merge-stream/2.0.0
- npm-run-path: registry.npmmirror.com/npm-run-path/5.1.0
- onetime: registry.npmmirror.com/onetime/6.0.0
- signal-exit: registry.npmmirror.com/signal-exit/3.0.7
- strip-final-newline: registry.npmmirror.com/strip-final-newline/3.0.0
- dev: true
-
- registry.npmmirror.com/extend-shallow/2.0.1:
- resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz}
- name: extend-shallow
- version: 2.0.1
- engines: {node: '>=0.10.0'}
- dependencies:
- is-extendable: registry.npmmirror.com/is-extendable/0.1.1
- dev: true
-
- registry.npmmirror.com/fast-clone/1.5.13:
- resolution: {integrity: sha512-0ez7coyFBQFjZtId+RJqJ+EQs61w9xARfqjqK0AD9vIUkSxWD4HvPt80+5evebZ1tTnv1GYKrPTipx7kOW5ipA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fast-clone/-/fast-clone-1.5.13.tgz}
- name: fast-clone
- version: 1.5.13
- dev: true
-
- registry.npmmirror.com/fast-deep-equal/3.1.3:
- resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz}
- name: fast-deep-equal
- version: 3.1.3
- dev: true
-
- registry.npmmirror.com/fast-glob/3.2.11:
- resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.11.tgz}
- name: fast-glob
- version: 3.2.11
- engines: {node: '>=8.6.0'}
- dependencies:
- '@nodelib/fs.stat': registry.npmmirror.com/@nodelib/fs.stat/2.0.5
- '@nodelib/fs.walk': registry.npmmirror.com/@nodelib/fs.walk/1.2.8
- glob-parent: registry.npmmirror.com/glob-parent/5.1.2
- merge2: registry.npmmirror.com/merge2/1.4.1
- micromatch: registry.npmmirror.com/micromatch/4.0.5
- dev: true
-
- registry.npmmirror.com/fast-json-stable-stringify/2.1.0:
- resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz}
- name: fast-json-stable-stringify
- version: 2.1.0
- dev: true
-
- registry.npmmirror.com/fastq/1.13.0:
- resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fastq/-/fastq-1.13.0.tgz}
- name: fastq
- version: 1.13.0
- dependencies:
- reusify: registry.npmmirror.com/reusify/1.0.4
- dev: true
-
- registry.npmmirror.com/fflate/0.7.4:
- resolution: {integrity: sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fflate/-/fflate-0.7.4.tgz}
- name: fflate
- version: 0.7.4
- dev: true
-
- registry.npmmirror.com/filelist/1.0.3:
- resolution: {integrity: sha512-LwjCsruLWQULGYKy7TX0OPtrL9kLpojOFKc5VCTxdFTV7w5zbsgqVKfnkKG7Qgjtq50gKfO56hJv88OfcGb70Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/filelist/-/filelist-1.0.3.tgz}
- name: filelist
- version: 1.0.3
- dependencies:
- minimatch: registry.npmmirror.com/minimatch/5.0.1
- dev: true
-
- registry.npmmirror.com/fill-range/7.0.1:
- resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz}
- name: fill-range
- version: 7.0.1
- engines: {node: '>=8'}
+ rxjs@7.8.2:
dependencies:
- to-regex-range: registry.npmmirror.com/to-regex-range/5.0.1
- dev: true
+ tslib: 2.8.1
- registry.npmmirror.com/flowchart.js/1.17.1:
- resolution: {integrity: sha512-zphTaxdyqvHHu+8Cdf6HvamhArXpq9SyNe1zQ61maCIfTenaj3cMvjS1e/0gfPj7QTLTx3HroSzVqDXpL8naoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/flowchart.js/-/flowchart.js-1.17.1.tgz}
- name: flowchart.js
- version: 1.17.1
- engines: {node: '>=4.0.0'}
- dependencies:
- raphael: registry.npmmirror.com/raphael/2.3.0
- dev: true
+ safe-buffer@5.2.1: {}
- registry.npmmirror.com/fraction.js/4.2.0:
- resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fraction.js/-/fraction.js-4.2.0.tgz}
- name: fraction.js
- version: 4.2.0
- dev: true
+ safer-buffer@2.1.2: {}
- registry.npmmirror.com/fs-extra/10.1.0:
- resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz}
- name: fs-extra
- version: 10.1.0
- engines: {node: '>=12'}
+ satteri@0.10.5:
dependencies:
- graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10
- jsonfile: registry.npmmirror.com/jsonfile/6.1.0
- universalify: registry.npmmirror.com/universalify/2.0.0
- dev: true
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.5
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ optionalDependencies:
+ '@bruits/satteri-darwin-arm64': 0.10.5
+ '@bruits/satteri-darwin-x64': 0.10.5
+ '@bruits/satteri-linux-arm64-gnu': 0.10.5
+ '@bruits/satteri-linux-arm64-musl': 0.10.5
+ '@bruits/satteri-linux-x64-gnu': 0.10.5
+ '@bruits/satteri-linux-x64-musl': 0.10.5
+ '@bruits/satteri-wasm32-wasi': 0.10.5
+ '@bruits/satteri-win32-arm64-msvc': 0.10.5
+ '@bruits/satteri-win32-x64-msvc': 0.10.5
- registry.npmmirror.com/fs-extra/9.1.0:
- resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz}
- name: fs-extra
- version: 9.1.0
- engines: {node: '>=10'}
- dependencies:
- at-least-node: registry.npmmirror.com/at-least-node/1.0.0
- graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10
- jsonfile: registry.npmmirror.com/jsonfile/6.1.0
- universalify: registry.npmmirror.com/universalify/2.0.0
- dev: true
-
- registry.npmmirror.com/fs.realpath/1.0.0:
- resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz}
- name: fs.realpath
- version: 1.0.0
- dev: true
-
- registry.npmmirror.com/fsevents/2.3.2:
- resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz}
- name: fsevents
- version: 2.3.2
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
+ sax@1.6.1: {}
- registry.npmmirror.com/function-bind/1.1.1:
- resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz}
- name: function-bind
- version: 1.1.1
- dev: true
+ semver@5.7.2: {}
- registry.npmmirror.com/function.prototype.name/1.1.5:
- resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz}
- name: function.prototype.name
- version: 1.1.5
- engines: {node: '>= 0.4'}
+ semver@7.5.4:
dependencies:
- call-bind: registry.npmmirror.com/call-bind/1.0.2
- define-properties: registry.npmmirror.com/define-properties/1.1.4
- es-abstract: registry.npmmirror.com/es-abstract/1.20.0
- functions-have-names: registry.npmmirror.com/functions-have-names/1.2.3
- dev: true
-
- registry.npmmirror.com/functions-have-names/1.2.3:
- resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/functions-have-names/-/functions-have-names-1.2.3.tgz}
- name: functions-have-names
- version: 1.2.3
- dev: true
-
- registry.npmmirror.com/gensync/1.0.0-beta.2:
- resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz}
- name: gensync
- version: 1.0.0-beta.2
- engines: {node: '>=6.9.0'}
- dev: true
-
- registry.npmmirror.com/get-intrinsic/1.1.1:
- resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz}
- name: get-intrinsic
- version: 1.1.1
- dependencies:
- function-bind: registry.npmmirror.com/function-bind/1.1.1
- has: registry.npmmirror.com/has/1.0.3
- has-symbols: registry.npmmirror.com/has-symbols/1.0.3
- dev: true
-
- registry.npmmirror.com/get-own-enumerable-property-symbols/3.0.2:
- resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz}
- name: get-own-enumerable-property-symbols
- version: 3.0.2
- dev: true
-
- registry.npmmirror.com/get-stream/6.0.1:
- resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz}
- name: get-stream
- version: 6.0.1
- engines: {node: '>=10'}
- dev: true
+ lru-cache: 6.0.0
- registry.npmmirror.com/get-symbol-description/1.0.0:
- resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz}
- name: get-symbol-description
- version: 1.0.0
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: registry.npmmirror.com/call-bind/1.0.2
- get-intrinsic: registry.npmmirror.com/get-intrinsic/1.1.1
- dev: true
+ semver@7.8.5: {}
- registry.npmmirror.com/giscus/1.2.3:
- resolution: {integrity: sha512-1sYu6B3cUzPVZHH93f1DX5PJHf5ak2bPp8N1xZrAPxqccN7C/R6r93usllmCVESJ8cvnyYUaNVyXzOYz9B6OxQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/giscus/-/giscus-1.2.3.tgz}
- name: giscus
- version: 1.2.3
+ sharp@0.35.5(@types/node@22.20.5):
dependencies:
- lit: registry.npmmirror.com/lit/2.4.1
- dev: true
+ '@img/colour': 1.1.0
+ detect-libc: 2.1.2
+ semver: 7.8.5
+ optionalDependencies:
+ '@img/sharp-darwin-arm64': 0.35.5
+ '@img/sharp-darwin-x64': 0.35.5
+ '@img/sharp-freebsd-wasm32': 0.35.5
+ '@img/sharp-libvips-darwin-arm64': 1.3.4
+ '@img/sharp-libvips-darwin-x64': 1.3.4
+ '@img/sharp-libvips-linux-arm': 1.3.4
+ '@img/sharp-libvips-linux-arm64': 1.3.4
+ '@img/sharp-libvips-linux-ppc64': 1.3.4
+ '@img/sharp-libvips-linux-riscv64': 1.3.4
+ '@img/sharp-libvips-linux-s390x': 1.3.4
+ '@img/sharp-libvips-linux-x64': 1.3.4
+ '@img/sharp-libvips-linuxmusl-arm64': 1.3.4
+ '@img/sharp-libvips-linuxmusl-x64': 1.3.4
+ '@img/sharp-linux-arm': 0.35.5
+ '@img/sharp-linux-arm64': 0.35.5
+ '@img/sharp-linux-ppc64': 0.35.5
+ '@img/sharp-linux-riscv64': 0.35.5
+ '@img/sharp-linux-s390x': 0.35.5
+ '@img/sharp-linux-x64': 0.35.5
+ '@img/sharp-linuxmusl-arm64': 0.35.5
+ '@img/sharp-linuxmusl-x64': 0.35.5
+ '@img/sharp-webcontainers-wasm32': 0.35.5
+ '@img/sharp-win32-arm64': 0.35.5
+ '@img/sharp-win32-ia32': 0.35.5
+ '@img/sharp-win32-x64': 0.35.5
+ '@types/node': 22.20.5
+ optional: true
- registry.npmmirror.com/glob-parent/5.1.2:
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz}
- name: glob-parent
- version: 5.1.2
- engines: {node: '>= 6'}
- dependencies:
- is-glob: registry.npmmirror.com/is-glob/4.0.3
- dev: true
-
- registry.npmmirror.com/glob/7.2.0:
- resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob/-/glob-7.2.0.tgz}
- name: glob
- version: 7.2.0
- dependencies:
- fs.realpath: registry.npmmirror.com/fs.realpath/1.0.0
- inflight: registry.npmmirror.com/inflight/1.0.6
- inherits: registry.npmmirror.com/inherits/2.0.4
- minimatch: registry.npmmirror.com/minimatch/3.1.2
- once: registry.npmmirror.com/once/1.4.0
- path-is-absolute: registry.npmmirror.com/path-is-absolute/1.0.1
- dev: true
-
- registry.npmmirror.com/globals/11.12.0:
- resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz}
- name: globals
- version: 11.12.0
- engines: {node: '>=4'}
- dev: true
-
- registry.npmmirror.com/globby/13.1.2:
- resolution: {integrity: sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/globby/-/globby-13.1.2.tgz}
- name: globby
- version: 13.1.2
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dependencies:
- dir-glob: registry.npmmirror.com/dir-glob/3.0.1
- fast-glob: registry.npmmirror.com/fast-glob/3.2.11
- ignore: registry.npmmirror.com/ignore/5.2.0
- merge2: registry.npmmirror.com/merge2/1.4.1
- slash: registry.npmmirror.com/slash/4.0.0
- dev: true
-
- registry.npmmirror.com/graceful-fs/4.2.10:
- resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz}
- name: graceful-fs
- version: 4.2.10
- dev: true
-
- registry.npmmirror.com/graphlib/2.1.8:
- resolution: {integrity: sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/graphlib/-/graphlib-2.1.8.tgz}
- name: graphlib
- version: 2.1.8
- dependencies:
- lodash: registry.npmmirror.com/lodash/4.17.21
- dev: true
-
- registry.npmmirror.com/gray-matter/4.0.3:
- resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/gray-matter/-/gray-matter-4.0.3.tgz}
- name: gray-matter
- version: 4.0.3
- engines: {node: '>=6.0'}
+ shebang-command@2.0.0:
dependencies:
- js-yaml: registry.npmmirror.com/js-yaml/3.14.1
- kind-of: registry.npmmirror.com/kind-of/6.0.3
- section-matter: registry.npmmirror.com/section-matter/1.0.0
- strip-bom-string: registry.npmmirror.com/strip-bom-string/1.0.0
- dev: true
-
- registry.npmmirror.com/has-bigints/1.0.2:
- resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-bigints/-/has-bigints-1.0.2.tgz}
- name: has-bigints
- version: 1.0.2
- dev: true
-
- registry.npmmirror.com/has-flag/3.0.0:
- resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz}
- name: has-flag
- version: 3.0.0
- engines: {node: '>=4'}
- dev: true
+ shebang-regex: 3.0.0
- registry.npmmirror.com/has-flag/4.0.0:
- resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz}
- name: has-flag
- version: 4.0.0
- engines: {node: '>=8'}
- dev: true
+ shebang-regex@3.0.0: {}
- registry.npmmirror.com/has-property-descriptors/1.0.0:
- resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz}
- name: has-property-descriptors
- version: 1.0.0
+ shiki@4.5.0:
dependencies:
- get-intrinsic: registry.npmmirror.com/get-intrinsic/1.1.1
- dev: true
+ '@shikijs/core': 4.5.0
+ '@shikijs/engine-javascript': 4.5.0
+ '@shikijs/engine-oniguruma': 4.5.0
+ '@shikijs/langs': 4.5.0
+ '@shikijs/themes': 4.5.0
+ '@shikijs/types': 4.5.0
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.5
- registry.npmmirror.com/has-symbols/1.0.3:
- resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz}
- name: has-symbols
- version: 1.0.3
- engines: {node: '>= 0.4'}
- dev: true
+ signal-exit@3.0.7: {}
- registry.npmmirror.com/has-tostringtag/1.0.0:
- resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz}
- name: has-tostringtag
- version: 1.0.0
- engines: {node: '>= 0.4'}
+ sisteransi@1.0.5: {}
+
+ sitemap@9.0.1:
dependencies:
- has-symbols: registry.npmmirror.com/has-symbols/1.0.3
- dev: true
-
- registry.npmmirror.com/has/1.0.3:
- resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has/-/has-1.0.3.tgz}
- name: has
- version: 1.0.3
- engines: {node: '>= 0.4.0'}
- dependencies:
- function-bind: registry.npmmirror.com/function-bind/1.1.1
- dev: true
-
- registry.npmmirror.com/hash-sum/2.0.0:
- resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hash-sum/-/hash-sum-2.0.0.tgz}
- name: hash-sum
- version: 2.0.0
- dev: true
-
- registry.npmmirror.com/heap/0.2.7:
- resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/heap/-/heap-0.2.7.tgz}
- name: heap
- version: 0.2.7
- dev: true
-
- registry.npmmirror.com/htmlparser2/5.0.1:
- resolution: {integrity: sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/htmlparser2/-/htmlparser2-5.0.1.tgz}
- name: htmlparser2
- version: 5.0.1
- dependencies:
- domelementtype: registry.npmmirror.com/domelementtype/2.3.0
- domhandler: registry.npmmirror.com/domhandler/3.3.0
- domutils: registry.npmmirror.com/domutils/2.8.0
- entities: registry.npmmirror.com/entities/2.2.0
- dev: true
-
- registry.npmmirror.com/htmlparser2/6.1.0:
- resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/htmlparser2/-/htmlparser2-6.1.0.tgz}
- name: htmlparser2
- version: 6.1.0
- dependencies:
- domelementtype: registry.npmmirror.com/domelementtype/2.3.0
- domhandler: registry.npmmirror.com/domhandler/4.3.1
- domutils: registry.npmmirror.com/domutils/2.8.0
- entities: registry.npmmirror.com/entities/2.2.0
- dev: true
-
- registry.npmmirror.com/htmlparser2/8.0.1:
- resolution: {integrity: sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/htmlparser2/-/htmlparser2-8.0.1.tgz}
- name: htmlparser2
- version: 8.0.1
- dependencies:
- domelementtype: registry.npmmirror.com/domelementtype/2.3.0
- domhandler: registry.npmmirror.com/domhandler/5.0.3
- domutils: registry.npmmirror.com/domutils/3.0.1
- entities: registry.npmmirror.com/entities/4.4.0
- dev: true
-
- registry.npmmirror.com/human-signals/2.1.0:
- resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz}
- name: human-signals
- version: 2.1.0
- engines: {node: '>=10.17.0'}
- dev: true
+ '@types/node': 24.19.1
+ '@types/sax': 1.2.7
+ arg: 5.0.2
+ sax: 1.6.1
- registry.npmmirror.com/human-signals/3.0.1:
- resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/human-signals/-/human-signals-3.0.1.tgz}
- name: human-signals
- version: 3.0.1
- engines: {node: '>=12.20.0'}
- dev: true
+ smol-toml@1.9.0: {}
- registry.npmmirror.com/iconv-lite/0.4.24:
- resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz}
- name: iconv-lite
- version: 0.4.24
- engines: {node: '>=0.10.0'}
- dependencies:
- safer-buffer: registry.npmmirror.com/safer-buffer/2.1.2
- dev: true
+ source-map-js@1.2.2: {}
- registry.npmmirror.com/iconv-lite/0.6.3:
- resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz}
- name: iconv-lite
- version: 0.6.3
- engines: {node: '>=0.10.0'}
- dependencies:
- safer-buffer: registry.npmmirror.com/safer-buffer/2.1.2
- dev: true
-
- registry.npmmirror.com/idb/7.1.1:
- resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/idb/-/idb-7.1.1.tgz}
- name: idb
- version: 7.1.1
- dev: true
-
- registry.npmmirror.com/ieee754/1.2.1:
- resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz}
- name: ieee754
- version: 1.2.1
- dev: true
-
- registry.npmmirror.com/ignore/5.2.0:
- resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ignore/-/ignore-5.2.0.tgz}
- name: ignore
- version: 5.2.0
- engines: {node: '>= 4'}
- dev: true
-
- registry.npmmirror.com/immutable/4.0.0:
- resolution: {integrity: sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/immutable/-/immutable-4.0.0.tgz}
- name: immutable
- version: 4.0.0
- dev: true
-
- registry.npmmirror.com/inflight/1.0.6:
- resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz}
- name: inflight
- version: 1.0.6
- dependencies:
- once: registry.npmmirror.com/once/1.4.0
- wrappy: registry.npmmirror.com/wrappy/1.0.2
- dev: true
-
- registry.npmmirror.com/inherits/2.0.4:
- resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz}
- name: inherits
- version: 2.0.4
- dev: true
-
- registry.npmmirror.com/internal-slot/1.0.3:
- resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/internal-slot/-/internal-slot-1.0.3.tgz}
- name: internal-slot
- version: 1.0.3
- engines: {node: '>= 0.4'}
- dependencies:
- get-intrinsic: registry.npmmirror.com/get-intrinsic/1.1.1
- has: registry.npmmirror.com/has/1.0.3
- side-channel: registry.npmmirror.com/side-channel/1.0.4
- dev: true
+ source-map@0.7.6: {}
- registry.npmmirror.com/internmap/2.0.3:
- resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/internmap/-/internmap-2.0.3.tgz}
- name: internmap
- version: 2.0.3
- engines: {node: '>=12'}
- dev: true
-
- registry.npmmirror.com/is-arrayish/0.2.1:
- resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz}
- name: is-arrayish
- version: 0.2.1
- dev: true
-
- registry.npmmirror.com/is-bigint/1.0.4:
- resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-bigint/-/is-bigint-1.0.4.tgz}
- name: is-bigint
- version: 1.0.4
- dependencies:
- has-bigints: registry.npmmirror.com/has-bigints/1.0.2
- dev: true
-
- registry.npmmirror.com/is-binary-path/2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz}
- name: is-binary-path
- version: 2.1.0
- engines: {node: '>=8'}
- dependencies:
- binary-extensions: registry.npmmirror.com/binary-extensions/2.2.0
- dev: true
+ space-separated-tokens@2.0.2: {}
- registry.npmmirror.com/is-boolean-object/1.1.2:
- resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz}
- name: is-boolean-object
- version: 1.1.2
- engines: {node: '>= 0.4'}
+ spdx-correct@3.2.0:
dependencies:
- call-bind: registry.npmmirror.com/call-bind/1.0.2
- has-tostringtag: registry.npmmirror.com/has-tostringtag/1.0.0
- dev: true
+ spdx-expression-parse: 3.0.1
+ spdx-license-ids: 3.0.24
- registry.npmmirror.com/is-callable/1.2.4:
- resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-callable/-/is-callable-1.2.4.tgz}
- name: is-callable
- version: 1.2.4
- engines: {node: '>= 0.4'}
- dev: true
+ spdx-exceptions@2.5.0: {}
- registry.npmmirror.com/is-core-module/2.9.0:
- resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-core-module/-/is-core-module-2.9.0.tgz}
- name: is-core-module
- version: 2.9.0
+ spdx-expression-parse@3.0.1:
dependencies:
- has: registry.npmmirror.com/has/1.0.3
- dev: true
+ spdx-exceptions: 2.5.0
+ spdx-license-ids: 3.0.24
- registry.npmmirror.com/is-date-object/1.0.5:
- resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-date-object/-/is-date-object-1.0.5.tgz}
- name: is-date-object
- version: 1.0.5
- engines: {node: '>= 0.4'}
+ spdx-license-ids@3.0.24: {}
+
+ split2@3.2.2:
dependencies:
- has-tostringtag: registry.npmmirror.com/has-tostringtag/1.0.0
- dev: true
+ readable-stream: 3.6.2
- registry.npmmirror.com/is-extendable/0.1.1:
- resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-extendable/-/is-extendable-0.1.1.tgz}
- name: is-extendable
- version: 0.1.1
- engines: {node: '>=0.10.0'}
- dev: true
+ strictdom@1.0.1: {}
- registry.npmmirror.com/is-extglob/2.1.1:
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz}
- name: is-extglob
- version: 2.1.1
- engines: {node: '>=0.10.0'}
- dev: true
+ string-width@4.2.3:
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
- registry.npmmirror.com/is-glob/4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz}
- name: is-glob
- version: 4.0.3
- engines: {node: '>=0.10.0'}
+ string-width@7.2.0:
dependencies:
- is-extglob: registry.npmmirror.com/is-extglob/2.1.1
- dev: true
+ emoji-regex: 10.6.0
+ get-east-asian-width: 1.7.0
+ strip-ansi: 7.2.0
- registry.npmmirror.com/is-interactive/2.0.0:
- resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-interactive/-/is-interactive-2.0.0.tgz}
- name: is-interactive
- version: 2.0.0
- engines: {node: '>=12'}
- dev: true
-
- registry.npmmirror.com/is-module/1.0.0:
- resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-module/-/is-module-1.0.0.tgz}
- name: is-module
- version: 1.0.0
- dev: true
-
- registry.npmmirror.com/is-negative-zero/2.0.2:
- resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz}
- name: is-negative-zero
- version: 2.0.2
- engines: {node: '>= 0.4'}
- dev: true
+ string-width@8.3.0:
+ dependencies:
+ get-east-asian-width: 1.7.0
+ strip-ansi: 7.2.0
- registry.npmmirror.com/is-number-object/1.0.7:
- resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-number-object/-/is-number-object-1.0.7.tgz}
- name: is-number-object
- version: 1.0.7
- engines: {node: '>= 0.4'}
+ string_decoder@1.3.0:
dependencies:
- has-tostringtag: registry.npmmirror.com/has-tostringtag/1.0.0
- dev: true
+ safe-buffer: 5.2.1
- registry.npmmirror.com/is-number/7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz}
- name: is-number
- version: 7.0.0
- engines: {node: '>=0.12.0'}
- dev: true
+ stringify-entities@4.0.4:
+ dependencies:
+ character-entities-html4: 2.1.0
+ character-entities-legacy: 3.0.0
- registry.npmmirror.com/is-obj/1.0.1:
- resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-obj/-/is-obj-1.0.1.tgz}
- name: is-obj
- version: 1.0.1
- engines: {node: '>=0.10.0'}
- dev: true
+ strip-ansi@6.0.1:
+ dependencies:
+ ansi-regex: 5.0.1
- registry.npmmirror.com/is-obj/2.0.0:
- resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-obj/-/is-obj-2.0.0.tgz}
- name: is-obj
- version: 2.0.0
- engines: {node: '>=8'}
- dev: true
+ strip-ansi@7.2.0:
+ dependencies:
+ ansi-regex: 6.4.0
- registry.npmmirror.com/is-plain-obj/1.1.0:
- resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz}
- name: is-plain-obj
- version: 1.1.0
- engines: {node: '>=0.10.0'}
- dev: true
+ strip-bom@4.0.0: {}
- registry.npmmirror.com/is-regex/1.1.4:
- resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-regex/-/is-regex-1.1.4.tgz}
- name: is-regex
- version: 1.1.4
- engines: {node: '>= 0.4'}
+ strip-final-newline@2.0.0: {}
+
+ strip-indent@3.0.0:
dependencies:
- call-bind: registry.npmmirror.com/call-bind/1.0.2
- has-tostringtag: registry.npmmirror.com/has-tostringtag/1.0.0
- dev: true
+ min-indent: 1.0.1
- registry.npmmirror.com/is-regexp/1.0.0:
- resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-regexp/-/is-regexp-1.0.0.tgz}
- name: is-regexp
- version: 1.0.0
- engines: {node: '>=0.10.0'}
- dev: true
+ strip-json-comments@3.1.1: {}
- registry.npmmirror.com/is-shared-array-buffer/1.0.2:
- resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz}
- name: is-shared-array-buffer
- version: 1.0.2
+ style-to-js@1.1.21:
dependencies:
- call-bind: registry.npmmirror.com/call-bind/1.0.2
- dev: true
+ style-to-object: 1.0.14
- registry.npmmirror.com/is-stream/2.0.1:
- resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz}
- name: is-stream
- version: 2.0.1
- engines: {node: '>=8'}
- dev: true
-
- registry.npmmirror.com/is-stream/3.0.0:
- resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-stream/-/is-stream-3.0.0.tgz}
- name: is-stream
- version: 3.0.0
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: true
-
- registry.npmmirror.com/is-string/1.0.7:
- resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-string/-/is-string-1.0.7.tgz}
- name: is-string
- version: 1.0.7
- engines: {node: '>= 0.4'}
+ style-to-object@1.0.14:
dependencies:
- has-tostringtag: registry.npmmirror.com/has-tostringtag/1.0.0
- dev: true
+ inline-style-parser: 0.2.7
- registry.npmmirror.com/is-symbol/1.0.4:
- resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-symbol/-/is-symbol-1.0.4.tgz}
- name: is-symbol
- version: 1.0.4
- engines: {node: '>= 0.4'}
- dependencies:
- has-symbols: registry.npmmirror.com/has-symbols/1.0.3
- dev: true
+ stylis@4.4.0: {}
- registry.npmmirror.com/is-unicode-supported/1.3.0:
- resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz}
- name: is-unicode-supported
- version: 1.3.0
- engines: {node: '>=12'}
- dev: true
-
- registry.npmmirror.com/is-weakref/1.0.2:
- resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-weakref/-/is-weakref-1.0.2.tgz}
- name: is-weakref
- version: 1.0.2
- dependencies:
- call-bind: registry.npmmirror.com/call-bind/1.0.2
- dev: true
-
- registry.npmmirror.com/isexe/2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz}
- name: isexe
- version: 2.0.0
- dev: true
-
- registry.npmmirror.com/jake/10.8.5:
- resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jake/-/jake-10.8.5.tgz}
- name: jake
- version: 10.8.5
- engines: {node: '>=10'}
- hasBin: true
- dependencies:
- async: registry.npmmirror.com/async/3.2.3
- chalk: registry.npmmirror.com/chalk/4.1.2
- filelist: registry.npmmirror.com/filelist/1.0.3
- minimatch: registry.npmmirror.com/minimatch/3.1.2
- dev: true
-
- registry.npmmirror.com/jest-worker/26.6.2:
- resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-worker/-/jest-worker-26.6.2.tgz}
- name: jest-worker
- version: 26.6.2
- engines: {node: '>= 10.13.0'}
- dependencies:
- '@types/node': registry.npmmirror.com/@types/node/17.0.32
- merge-stream: registry.npmmirror.com/merge-stream/2.0.0
- supports-color: registry.npmmirror.com/supports-color/7.2.0
- dev: true
-
- registry.npmmirror.com/js-tokens/4.0.0:
- resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz}
- name: js-tokens
- version: 4.0.0
- dev: true
-
- registry.npmmirror.com/js-yaml/3.14.1:
- resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.1.tgz}
- name: js-yaml
- version: 3.14.1
- hasBin: true
+ supports-color@5.5.0:
dependencies:
- argparse: registry.npmmirror.com/argparse/1.0.10
- esprima: registry.npmmirror.com/esprima/4.0.1
- dev: true
+ has-flag: 3.0.0
- registry.npmmirror.com/jsesc/0.5.0:
- resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jsesc/-/jsesc-0.5.0.tgz}
- name: jsesc
- version: 0.5.0
- hasBin: true
- dev: true
+ supports-color@7.2.0:
+ dependencies:
+ has-flag: 4.0.0
- registry.npmmirror.com/jsesc/2.5.2:
- resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz}
- name: jsesc
- version: 2.5.2
- engines: {node: '>=4'}
- hasBin: true
- dev: true
-
- registry.npmmirror.com/json-parse-even-better-errors/2.3.1:
- resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz}
- name: json-parse-even-better-errors
- version: 2.3.1
- dev: true
-
- registry.npmmirror.com/json-schema-traverse/1.0.0:
- resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz}
- name: json-schema-traverse
- version: 1.0.0
- dev: true
-
- registry.npmmirror.com/json-schema/0.4.0:
- resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/json-schema/-/json-schema-0.4.0.tgz}
- name: json-schema
- version: 0.4.0
- dev: true
-
- registry.npmmirror.com/json5/2.2.1:
- resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/json5/-/json5-2.2.1.tgz}
- name: json5
- version: 2.2.1
- engines: {node: '>=6'}
- hasBin: true
- dev: true
+ supports-preserve-symlinks-flag@1.0.0: {}
- registry.npmmirror.com/jsonfile/6.1.0:
- resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz}
- name: jsonfile
- version: 6.1.0
+ svgo@4.1.0:
dependencies:
- universalify: registry.npmmirror.com/universalify/2.0.0
- optionalDependencies:
- graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10
- dev: true
+ commander: 11.1.0
+ css-select: 6.0.0
+ css-tree: 3.2.1
+ css-what: 7.0.0
+ csso: 5.0.5
+ picocolors: 1.1.1
+ sax: 1.6.1
- registry.npmmirror.com/jsonpointer/5.0.0:
- resolution: {integrity: sha512-PNYZIdMjVIvVgDSYKTT63Y+KZ6IZvGRNNWcxwD+GNnUz1MKPfv30J8ueCjdwcN0nDx2SlshgyB7Oy0epAzVRRg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jsonpointer/-/jsonpointer-5.0.0.tgz}
- name: jsonpointer
- version: 5.0.0
- engines: {node: '>=0.10.0'}
- dev: true
+ text-extensions@1.9.0: {}
- registry.npmmirror.com/juice/8.1.0:
- resolution: {integrity: sha512-FLzurJrx5Iv1e7CfBSZH68dC04EEvXvvVvPYB7Vx1WAuhCp1ZPIMtqxc+WTWxVkpTIC2Ach/GAv0rQbtGf6YMA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/juice/-/juice-8.1.0.tgz}
- name: juice
- version: 8.1.0
- engines: {node: '>=10.0.0'}
- hasBin: true
+ through2@4.0.2:
dependencies:
- cheerio: registry.npmmirror.com/cheerio/1.0.0-rc.10
- commander: registry.npmmirror.com/commander/6.2.1
- mensch: registry.npmmirror.com/mensch/0.3.4
- slick: registry.npmmirror.com/slick/1.12.2
- web-resource-inliner: registry.npmmirror.com/web-resource-inliner/6.0.1
- transitivePeerDependencies:
- - encoding
- dev: true
+ readable-stream: 3.6.2
- registry.npmmirror.com/katex/0.16.3:
- resolution: {integrity: sha512-3EykQddareoRmbtNiNEDgl3IGjryyrp2eg/25fHDEnlHymIDi33bptkMv6K4EOC2LZCybLW/ZkEo6Le+EM9pmA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/katex/-/katex-0.16.3.tgz}
- name: katex
- version: 0.16.3
- hasBin: true
- dependencies:
- commander: registry.npmmirror.com/commander/8.3.0
- dev: true
+ through@2.3.8: {}
- registry.npmmirror.com/khroma/2.0.0:
- resolution: {integrity: sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/khroma/-/khroma-2.0.0.tgz}
- name: khroma
- version: 2.0.0
- dev: true
+ tiny-inflate@1.0.3: {}
- registry.npmmirror.com/kind-of/6.0.3:
- resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz}
- name: kind-of
- version: 6.0.3
- engines: {node: '>=0.10.0'}
- dev: true
-
- registry.npmmirror.com/layout-base/1.0.2:
- resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/layout-base/-/layout-base-1.0.2.tgz}
- name: layout-base
- version: 1.0.2
- dev: true
-
- registry.npmmirror.com/layout-base/2.0.1:
- resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/layout-base/-/layout-base-2.0.1.tgz}
- name: layout-base
- version: 2.0.1
- dev: true
-
- registry.npmmirror.com/leven/3.1.0:
- resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/leven/-/leven-3.1.0.tgz}
- name: leven
- version: 3.1.0
- engines: {node: '>=6'}
- dev: true
+ tinyclip@1.0.3: {}
- registry.npmmirror.com/lilconfig/2.0.6:
- resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lilconfig/-/lilconfig-2.0.6.tgz}
- name: lilconfig
- version: 2.0.6
- engines: {node: '>=10'}
- dev: true
-
- registry.npmmirror.com/lines-and-columns/1.2.4:
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz}
- name: lines-and-columns
- version: 1.2.4
- dev: true
-
- registry.npmmirror.com/linkify-it/4.0.1:
- resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/linkify-it/-/linkify-it-4.0.1.tgz}
- name: linkify-it
- version: 4.0.1
- dependencies:
- uc.micro: registry.npmmirror.com/uc.micro/1.0.6
- dev: true
-
- registry.npmmirror.com/lit-element/3.2.0:
- resolution: {integrity: sha512-HbE7yt2SnUtg5DCrWt028oaU4D5F4k/1cntAFHTkzY8ZIa8N0Wmu92PxSxucsQSOXlODFrICkQ5x/tEshKi13g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lit-element/-/lit-element-3.2.0.tgz}
- name: lit-element
- version: 3.2.0
- dependencies:
- '@lit/reactive-element': registry.npmmirror.com/@lit/reactive-element/1.4.2
- lit-html: registry.npmmirror.com/lit-html/2.4.0
- dev: true
-
- registry.npmmirror.com/lit-html/2.4.0:
- resolution: {integrity: sha512-G6qXu4JNUpY6aaF2VMfaszhO9hlWw0hOTRFDmuMheg/nDYGB+2RztUSOyrzALAbr8Nh0Y7qjhYkReh3rPnplVg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lit-html/-/lit-html-2.4.0.tgz}
- name: lit-html
- version: 2.4.0
- dependencies:
- '@types/trusted-types': registry.npmmirror.com/@types/trusted-types/2.0.2
- dev: true
-
- registry.npmmirror.com/lit/2.4.1:
- resolution: {integrity: sha512-qohSgLiyN1cFnJG26dIiY03S4F49857A0AHQfnS0zYtnUVnD2MFvx+UT52rtXsIuNFQrnUupX+zyGSATlk1f/A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lit/-/lit-2.4.1.tgz}
- name: lit
- version: 2.4.1
- dependencies:
- '@lit/reactive-element': registry.npmmirror.com/@lit/reactive-element/1.4.2
- lit-element: registry.npmmirror.com/lit-element/3.2.0
- lit-html: registry.npmmirror.com/lit-html/2.4.0
- dev: true
-
- registry.npmmirror.com/lodash.debounce/4.0.8:
- resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz}
- name: lodash.debounce
- version: 4.0.8
- dev: true
-
- registry.npmmirror.com/lodash.sortby/4.7.0:
- resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz}
- name: lodash.sortby
- version: 4.7.0
- dev: true
-
- registry.npmmirror.com/lodash/4.17.21:
- resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz}
- name: lodash
- version: 4.17.21
- dev: true
-
- registry.npmmirror.com/log-symbols/5.1.0:
- resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/log-symbols/-/log-symbols-5.1.0.tgz}
- name: log-symbols
- version: 5.1.0
- engines: {node: '>=12'}
- dependencies:
- chalk: registry.npmmirror.com/chalk/5.1.2
- is-unicode-supported: registry.npmmirror.com/is-unicode-supported/1.3.0
- dev: true
+ tinyexec@1.3.1: {}
- registry.npmmirror.com/lru-cache/6.0.0:
- resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz}
- name: lru-cache
- version: 6.0.0
- engines: {node: '>=10'}
+ tinyglobby@0.2.17:
dependencies:
- yallist: registry.npmmirror.com/yallist/4.0.0
- dev: true
+ fdir: 6.5.0(picomatch@4.0.7)
+ picomatch: 4.0.7
- registry.npmmirror.com/magic-string/0.25.9:
- resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz}
- name: magic-string
- version: 0.25.9
+ to-regex-range@5.0.1:
dependencies:
- sourcemap-codec: registry.npmmirror.com/sourcemap-codec/1.4.8
- dev: true
+ is-number: 7.0.0
- registry.npmmirror.com/markdown-it-anchor/8.6.5_ea7kj7wzjkld5jo2noyjqxi764:
- resolution: {integrity: sha512-PI1qEHHkTNWT+X6Ip9w+paonfIQ+QZP9sCeMYi47oqhH+EsW8CrJ8J7CzV19QVOj6il8ATGbK2nTECj22ZHGvQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/markdown-it-anchor/-/markdown-it-anchor-8.6.5.tgz}
- id: registry.npmmirror.com/markdown-it-anchor/8.6.5
- name: markdown-it-anchor
- version: 8.6.5
- peerDependencies:
- '@types/markdown-it': '*'
- markdown-it: '*'
- dependencies:
- '@types/markdown-it': registry.npmmirror.com/@types/markdown-it/12.2.3
- markdown-it: registry.npmmirror.com/markdown-it/13.0.1
- dev: true
-
- registry.npmmirror.com/markdown-it-container/3.0.0:
- resolution: {integrity: sha512-y6oKTq4BB9OQuY/KLfk/O3ysFhB3IMYoIWhGJEidXt1NQFocFK2sA2t0NYZAMyMShAGL6x5OPIbrmXPIqaN9rw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/markdown-it-container/-/markdown-it-container-3.0.0.tgz}
- name: markdown-it-container
- version: 3.0.0
- dev: true
-
- registry.npmmirror.com/markdown-it-emoji/2.0.2:
- resolution: {integrity: sha512-zLftSaNrKuYl0kR5zm4gxXjHaOI3FAOEaloKmRA5hijmJZvSjmxcokOLlzycb/HXlUFWzXqpIEoyEMCE4i9MvQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/markdown-it-emoji/-/markdown-it-emoji-2.0.2.tgz}
- name: markdown-it-emoji
- version: 2.0.2
- dev: true
-
- registry.npmmirror.com/markdown-it/13.0.1:
- resolution: {integrity: sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/markdown-it/-/markdown-it-13.0.1.tgz}
- name: markdown-it
- version: 13.0.1
- hasBin: true
- dependencies:
- argparse: registry.npmmirror.com/argparse/2.0.1
- entities: registry.npmmirror.com/entities/3.0.1
- linkify-it: registry.npmmirror.com/linkify-it/4.0.1
- mdurl: registry.npmmirror.com/mdurl/1.0.1
- uc.micro: registry.npmmirror.com/uc.micro/1.0.6
- dev: true
-
- registry.npmmirror.com/marked/4.2.2:
- resolution: {integrity: sha512-JjBTFTAvuTgANXx82a5vzK9JLSMoV6V3LBVn4Uhdso6t7vXrGx7g1Cd2r6NYSsxrYbQGFCMqBDhFHyK5q2UvcQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/marked/-/marked-4.2.2.tgz}
- name: marked
- version: 4.2.2
- engines: {node: '>= 12'}
- hasBin: true
- dev: true
-
- registry.npmmirror.com/mathjax-full/3.2.2:
- resolution: {integrity: sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mathjax-full/-/mathjax-full-3.2.2.tgz}
- name: mathjax-full
- version: 3.2.2
- dependencies:
- esm: registry.npmmirror.com/esm/3.2.25
- mhchemparser: registry.npmmirror.com/mhchemparser/4.1.1
- mj-context-menu: registry.npmmirror.com/mj-context-menu/0.6.1
- speech-rule-engine: registry.npmmirror.com/speech-rule-engine/4.0.7
- dev: true
-
- registry.npmmirror.com/mdurl/1.0.1:
- resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mdurl/-/mdurl-1.0.1.tgz}
- name: mdurl
- version: 1.0.1
- dev: true
-
- registry.npmmirror.com/medium-zoom/1.0.6:
- resolution: {integrity: sha512-UdiUWfvz9fZMg1pzf4dcuqA0W079o0mpqbTnOz5ip4VGYX96QjmbM+OgOU/0uOzAytxC0Ny4z+VcYQnhdifimg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/medium-zoom/-/medium-zoom-1.0.6.tgz}
- name: medium-zoom
- version: 1.0.6
- dev: true
-
- registry.npmmirror.com/mensch/0.3.4:
- resolution: {integrity: sha512-IAeFvcOnV9V0Yk+bFhYR07O3yNina9ANIN5MoXBKYJ/RLYPurd2d0yw14MDhpr9/momp0WofT1bPUh3hkzdi/g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mensch/-/mensch-0.3.4.tgz}
- name: mensch
- version: 0.3.4
- dev: true
-
- registry.npmmirror.com/merge-stream/2.0.0:
- resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz}
- name: merge-stream
- version: 2.0.0
- dev: true
-
- registry.npmmirror.com/merge2/1.4.1:
- resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz}
- name: merge2
- version: 1.4.1
- engines: {node: '>= 8'}
- dev: true
-
- registry.npmmirror.com/mermaid/9.2.2:
- resolution: {integrity: sha512-6s7eKMqFJGS+0MYjmx8f6ZigqKBJVoSx5ql2gw6a4Aa+WJ49QiEJg7gPwywaBg3DZMs79UP7trESp4+jmaQccw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mermaid/-/mermaid-9.2.2.tgz}
- name: mermaid
- version: 9.2.2
- dependencies:
- '@braintree/sanitize-url': registry.npmmirror.com/@braintree/sanitize-url/6.0.0
- d3: registry.npmmirror.com/d3/7.4.4
- dagre: registry.npmmirror.com/dagre/0.8.5
- dagre-d3: registry.npmmirror.com/dagre-d3/0.6.4
- dompurify: registry.npmmirror.com/dompurify/2.4.0
- fast-clone: registry.npmmirror.com/fast-clone/1.5.13
- graphlib: registry.npmmirror.com/graphlib/2.1.8
- khroma: registry.npmmirror.com/khroma/2.0.0
- lodash: registry.npmmirror.com/lodash/4.17.21
- moment-mini: registry.npmmirror.com/moment-mini/2.24.0
- non-layered-tidy-tree-layout: registry.npmmirror.com/non-layered-tidy-tree-layout/2.0.2
- stylis: registry.npmmirror.com/stylis/4.1.3
- uuid: registry.npmmirror.com/uuid/9.0.0
- dev: true
-
- registry.npmmirror.com/mhchemparser/4.1.1:
- resolution: {integrity: sha512-R75CUN6O6e1t8bgailrF1qPq+HhVeFTM3XQ0uzI+mXTybmphy3b6h4NbLOYhemViQ3lUs+6CKRkC3Ws1TlYREA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mhchemparser/-/mhchemparser-4.1.1.tgz}
- name: mhchemparser
- version: 4.1.1
- dev: true
-
- registry.npmmirror.com/micromatch/4.0.5:
- resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz}
- name: micromatch
- version: 4.0.5
- engines: {node: '>=8.6'}
+ trim-lines@3.0.1: {}
+
+ trim-newlines@3.0.1: {}
+
+ trough@2.2.0: {}
+
+ ts-dedent@2.3.0: {}
+
+ ts-node@10.9.2(@types/node@20.5.1)(typescript@5.9.3):
dependencies:
- braces: registry.npmmirror.com/braces/3.0.2
- picomatch: registry.npmmirror.com/picomatch/2.3.1
- dev: true
+ '@cspotcode/source-map-support': 0.8.1
+ '@tsconfig/node10': 1.0.13
+ '@tsconfig/node12': 1.0.11
+ '@tsconfig/node14': 1.0.3
+ '@tsconfig/node16': 1.0.4
+ '@types/node': 20.5.1
+ acorn: 8.19.0
+ acorn-walk: 8.3.5
+ arg: 4.1.3
+ create-require: 1.1.1
+ diff: 4.0.4
+ make-error: 1.3.6
+ typescript: 5.9.3
+ v8-compile-cache-lib: 3.0.1
+ yn: 3.1.1
- registry.npmmirror.com/mime/2.6.0:
- resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime/-/mime-2.6.0.tgz}
- name: mime
- version: 2.6.0
- engines: {node: '>=4.0.0'}
- hasBin: true
- dev: true
+ tslib@2.8.1: {}
- registry.npmmirror.com/mimic-fn/1.2.0:
- resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mimic-fn/-/mimic-fn-1.2.0.tgz}
- name: mimic-fn
- version: 1.2.0
- engines: {node: '>=4'}
- dev: true
+ type-fest@0.18.1: {}
- registry.npmmirror.com/mimic-fn/2.1.0:
- resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz}
- name: mimic-fn
- version: 2.1.0
- engines: {node: '>=6'}
- dev: true
+ type-fest@0.21.3: {}
- registry.npmmirror.com/mimic-fn/4.0.0:
- resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mimic-fn/-/mimic-fn-4.0.0.tgz}
- name: mimic-fn
- version: 4.0.0
- engines: {node: '>=12'}
- dev: true
+ type-fest@0.6.0: {}
- registry.npmmirror.com/minimatch/3.1.2:
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz}
- name: minimatch
- version: 3.1.2
- dependencies:
- brace-expansion: registry.npmmirror.com/brace-expansion/1.1.11
- dev: true
+ type-fest@0.8.1: {}
- registry.npmmirror.com/minimatch/5.0.1:
- resolution: {integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/minimatch/-/minimatch-5.0.1.tgz}
- name: minimatch
- version: 5.0.1
- engines: {node: '>=10'}
- dependencies:
- brace-expansion: registry.npmmirror.com/brace-expansion/2.0.1
- dev: true
-
- registry.npmmirror.com/mitt/3.0.0:
- resolution: {integrity: sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mitt/-/mitt-3.0.0.tgz}
- name: mitt
- version: 3.0.0
- dev: true
-
- registry.npmmirror.com/mj-context-menu/0.6.1:
- resolution: {integrity: sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mj-context-menu/-/mj-context-menu-0.6.1.tgz}
- name: mj-context-menu
- version: 0.6.1
- dev: true
-
- registry.npmmirror.com/moment-mini/2.24.0:
- resolution: {integrity: sha512-9ARkWHBs+6YJIvrIp0Ik5tyTTtP9PoV0Ssu2Ocq5y9v8+NOOpWiRshAp8c4rZVWTOe+157on/5G+zj5pwIQFEQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/moment-mini/-/moment-mini-2.24.0.tgz}
- name: moment-mini
- version: 2.24.0
- dev: true
-
- registry.npmmirror.com/ms/2.1.2:
- resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz}
- name: ms
- version: 2.1.2
- dev: true
-
- registry.npmmirror.com/nanoid/3.3.4:
- resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz}
- name: nanoid
- version: 3.3.4
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
- dev: true
+ typesafe-path@0.2.2: {}
- registry.npmmirror.com/node-fetch/2.6.7:
- resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/node-fetch/-/node-fetch-2.6.7.tgz}
- name: node-fetch
- version: 2.6.7
- engines: {node: 4.x || >=6.0.0}
- peerDependencies:
- encoding: ^0.1.0
- peerDependenciesMeta:
- encoding:
- optional: true
+ typescript-auto-import-cache@0.3.6:
dependencies:
- whatwg-url: registry.npmmirror.com/whatwg-url/5.0.0
- dev: true
+ semver: 7.8.5
- registry.npmmirror.com/node-releases/2.0.6:
- resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/node-releases/-/node-releases-2.0.6.tgz}
- name: node-releases
- version: 2.0.6
- dev: true
+ typescript@5.9.3: {}
- registry.npmmirror.com/nodemailer/6.9.1:
- resolution: {integrity: sha512-qHw7dOiU5UKNnQpXktdgQ1d3OFgRAekuvbJLcdG5dnEo/GtcTHRYM7+UfJARdOFU9WUQO8OiIamgWPmiSFHYAA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/nodemailer/-/nodemailer-6.9.1.tgz}
- name: nodemailer
- version: 6.9.1
- engines: {node: '>=6.0.0'}
- dev: true
-
- registry.npmmirror.com/non-layered-tidy-tree-layout/2.0.2:
- resolution: {integrity: sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz}
- name: non-layered-tidy-tree-layout
- version: 2.0.2
- dev: true
-
- registry.npmmirror.com/normalize-path/3.0.0:
- resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz}
- name: normalize-path
- version: 3.0.0
- engines: {node: '>=0.10.0'}
- dev: true
+ typescript@6.0.3: {}
- registry.npmmirror.com/normalize-range/0.1.2:
- resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/normalize-range/-/normalize-range-0.1.2.tgz}
- name: normalize-range
- version: 0.1.2
- engines: {node: '>=0.10.0'}
- dev: true
+ ufo@1.6.4: {}
- registry.npmmirror.com/npm-run-path/4.0.1:
- resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz}
- name: npm-run-path
- version: 4.0.1
- engines: {node: '>=8'}
- dependencies:
- path-key: registry.npmmirror.com/path-key/3.1.1
- dev: true
+ ultrahtml@1.7.0: {}
- registry.npmmirror.com/npm-run-path/5.1.0:
- resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/npm-run-path/-/npm-run-path-5.1.0.tgz}
- name: npm-run-path
- version: 5.1.0
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dependencies:
- path-key: registry.npmmirror.com/path-key/4.0.0
- dev: true
+ uncrypto@0.1.3: {}
- registry.npmmirror.com/nth-check/2.1.1:
- resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz}
- name: nth-check
- version: 2.1.1
- dependencies:
- boolbase: registry.npmmirror.com/boolbase/1.0.0
- dev: true
+ undici-types@6.21.0: {}
- registry.npmmirror.com/object-inspect/1.12.0:
- resolution: {integrity: sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.0.tgz}
- name: object-inspect
- version: 1.12.0
- dev: true
+ undici-types@7.24.6: {}
- registry.npmmirror.com/object-keys/1.1.1:
- resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz}
- name: object-keys
- version: 1.1.1
- engines: {node: '>= 0.4'}
- dev: true
+ undici@8.11.2: {}
- registry.npmmirror.com/object.assign/4.1.2:
- resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/object.assign/-/object.assign-4.1.2.tgz}
- name: object.assign
- version: 4.1.2
- engines: {node: '>= 0.4'}
+ unified@11.0.5:
dependencies:
- call-bind: registry.npmmirror.com/call-bind/1.0.2
- define-properties: registry.npmmirror.com/define-properties/1.1.4
- has-symbols: registry.npmmirror.com/has-symbols/1.0.3
- object-keys: registry.npmmirror.com/object-keys/1.1.1
- dev: true
+ '@types/unist': 3.0.3
+ bail: 2.0.2
+ devlop: 1.1.0
+ extend: 3.0.2
+ is-plain-obj: 4.1.0
+ trough: 2.2.0
+ vfile: 6.0.3
- registry.npmmirror.com/once/1.4.0:
- resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/once/-/once-1.4.0.tgz}
- name: once
- version: 1.4.0
+ unifont@0.7.5:
dependencies:
- wrappy: registry.npmmirror.com/wrappy/1.0.2
- dev: true
+ css-tree: 3.2.1
+ ohash: 2.0.12
+ undici: 8.11.2
- registry.npmmirror.com/onetime/2.0.1:
- resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/onetime/-/onetime-2.0.1.tgz}
- name: onetime
- version: 2.0.1
- engines: {node: '>=4'}
+ unist-util-find-after@5.0.0:
dependencies:
- mimic-fn: registry.npmmirror.com/mimic-fn/1.2.0
- dev: true
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.1
- registry.npmmirror.com/onetime/5.1.2:
- resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz}
- name: onetime
- version: 5.1.2
- engines: {node: '>=6'}
+ unist-util-is@6.0.1:
dependencies:
- mimic-fn: registry.npmmirror.com/mimic-fn/2.1.0
- dev: true
+ '@types/unist': 3.0.3
- registry.npmmirror.com/onetime/6.0.0:
- resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/onetime/-/onetime-6.0.0.tgz}
- name: onetime
- version: 6.0.0
- engines: {node: '>=12'}
- dependencies:
- mimic-fn: registry.npmmirror.com/mimic-fn/4.0.0
- dev: true
-
- registry.npmmirror.com/ora/6.1.2:
- resolution: {integrity: sha512-EJQ3NiP5Xo94wJXIzAyOtSb0QEIAUu7m8t6UZ9krbz0vAJqr92JpcK/lEXg91q6B9pEGqrykkd2EQplnifDSBw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ora/-/ora-6.1.2.tgz}
- name: ora
- version: 6.1.2
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dependencies:
- bl: registry.npmmirror.com/bl/5.1.0
- chalk: registry.npmmirror.com/chalk/5.1.2
- cli-cursor: registry.npmmirror.com/cli-cursor/4.0.0
- cli-spinners: registry.npmmirror.com/cli-spinners/2.6.1
- is-interactive: registry.npmmirror.com/is-interactive/2.0.0
- is-unicode-supported: registry.npmmirror.com/is-unicode-supported/1.3.0
- log-symbols: registry.npmmirror.com/log-symbols/5.1.0
- strip-ansi: registry.npmmirror.com/strip-ansi/7.0.1
- wcwidth: registry.npmmirror.com/wcwidth/1.0.1
- dev: true
-
- registry.npmmirror.com/parse-json/5.2.0:
- resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz}
- name: parse-json
- version: 5.2.0
- engines: {node: '>=8'}
+ unist-util-modify-children@4.0.0:
dependencies:
- '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.16.7
- error-ex: registry.npmmirror.com/error-ex/1.3.2
- json-parse-even-better-errors: registry.npmmirror.com/json-parse-even-better-errors/2.3.1
- lines-and-columns: registry.npmmirror.com/lines-and-columns/1.2.4
- dev: true
-
- registry.npmmirror.com/parse5-htmlparser2-tree-adapter/6.0.1:
- resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz}
- name: parse5-htmlparser2-tree-adapter
- version: 6.0.1
- dependencies:
- parse5: registry.npmmirror.com/parse5/6.0.1
- dev: true
-
- registry.npmmirror.com/parse5-htmlparser2-tree-adapter/7.0.0:
- resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz}
- name: parse5-htmlparser2-tree-adapter
- version: 7.0.0
- dependencies:
- domhandler: registry.npmmirror.com/domhandler/5.0.3
- parse5: registry.npmmirror.com/parse5/7.1.1
- dev: true
-
- registry.npmmirror.com/parse5/6.0.1:
- resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parse5/-/parse5-6.0.1.tgz}
- name: parse5
- version: 6.0.1
- dev: true
-
- registry.npmmirror.com/parse5/7.1.1:
- resolution: {integrity: sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parse5/-/parse5-7.1.1.tgz}
- name: parse5
- version: 7.1.1
- dependencies:
- entities: registry.npmmirror.com/entities/4.4.0
- dev: true
-
- registry.npmmirror.com/path-is-absolute/1.0.1:
- resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz}
- name: path-is-absolute
- version: 1.0.1
- engines: {node: '>=0.10.0'}
- dev: true
-
- registry.npmmirror.com/path-key/3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz}
- name: path-key
- version: 3.1.1
- engines: {node: '>=8'}
- dev: true
+ '@types/unist': 3.0.3
+ array-iterate: 2.0.1
- registry.npmmirror.com/path-key/4.0.0:
- resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-key/-/path-key-4.0.0.tgz}
- name: path-key
- version: 4.0.0
- engines: {node: '>=12'}
- dev: true
-
- registry.npmmirror.com/path-parse/1.0.7:
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz}
- name: path-parse
- version: 1.0.7
- dev: true
-
- registry.npmmirror.com/path-type/4.0.0:
- resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz}
- name: path-type
- version: 4.0.0
- engines: {node: '>=8'}
- dev: true
-
- registry.npmmirror.com/photoswipe/5.3.3:
- resolution: {integrity: sha512-BUuulwZwkYFKADSe5xf0dd+wf6dws34ZvqP8R3oYHepRauOXoQHvw600sw1HlWd8K0S3LRCS4jxyR5fTuI383Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/photoswipe/-/photoswipe-5.3.3.tgz}
- name: photoswipe
- version: 5.3.3
- engines: {node: '>= 0.12.0'}
- dev: true
-
- registry.npmmirror.com/picocolors/1.0.0:
- resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz}
- name: picocolors
- version: 1.0.0
- dev: true
-
- registry.npmmirror.com/picomatch/2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz}
- name: picomatch
- version: 2.3.1
- engines: {node: '>=8.6'}
- dev: true
-
- registry.npmmirror.com/postcss-load-config/4.0.1_postcss@8.4.19:
- resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss-load-config/-/postcss-load-config-4.0.1.tgz}
- id: registry.npmmirror.com/postcss-load-config/4.0.1
- name: postcss-load-config
- version: 4.0.1
- engines: {node: '>= 14'}
- peerDependencies:
- postcss: '>=8.0.9'
- ts-node: '>=9.0.0'
- peerDependenciesMeta:
- postcss:
- optional: true
- ts-node:
- optional: true
- dependencies:
- lilconfig: registry.npmmirror.com/lilconfig/2.0.6
- postcss: registry.npmmirror.com/postcss/8.4.19
- yaml: registry.npmmirror.com/yaml/2.1.3
- dev: true
-
- registry.npmmirror.com/postcss-value-parser/4.2.0:
- resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz}
- name: postcss-value-parser
- version: 4.2.0
- dev: true
-
- registry.npmmirror.com/postcss/8.4.13:
- resolution: {integrity: sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss/-/postcss-8.4.13.tgz}
- name: postcss
- version: 8.4.13
- engines: {node: ^10 || ^12 || >=14}
+ unist-util-position-from-estree@2.0.0:
dependencies:
- nanoid: registry.npmmirror.com/nanoid/3.3.4
- picocolors: registry.npmmirror.com/picocolors/1.0.0
- source-map-js: registry.npmmirror.com/source-map-js/1.0.2
- dev: true
+ '@types/unist': 3.0.3
- registry.npmmirror.com/postcss/8.4.19:
- resolution: {integrity: sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss/-/postcss-8.4.19.tgz}
- name: postcss
- version: 8.4.19
- engines: {node: ^10 || ^12 || >=14}
+ unist-util-position@5.0.0:
dependencies:
- nanoid: registry.npmmirror.com/nanoid/3.3.4
- picocolors: registry.npmmirror.com/picocolors/1.0.0
- source-map-js: registry.npmmirror.com/source-map-js/1.0.2
- dev: true
-
- registry.npmmirror.com/pretty-bytes/5.6.0:
- resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz}
- name: pretty-bytes
- version: 5.6.0
- engines: {node: '>=6'}
- dev: true
-
- registry.npmmirror.com/prismjs/1.29.0:
- resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/prismjs/-/prismjs-1.29.0.tgz}
- name: prismjs
- version: 1.29.0
- engines: {node: '>=6'}
- dev: true
+ '@types/unist': 3.0.3
- registry.npmmirror.com/punycode/2.1.1:
- resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/punycode/-/punycode-2.1.1.tgz}
- name: punycode
- version: 2.1.1
- engines: {node: '>=6'}
- dev: true
-
- registry.npmmirror.com/queue-microtask/1.2.3:
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz}
- name: queue-microtask
- version: 1.2.3
- dev: true
-
- registry.npmmirror.com/randombytes/2.1.0:
- resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz}
- name: randombytes
- version: 2.1.0
- dependencies:
- safe-buffer: registry.npmmirror.com/safe-buffer/5.2.1
- dev: true
-
- registry.npmmirror.com/raphael/2.3.0:
- resolution: {integrity: sha512-w2yIenZAQnp257XUWGni4bLMVxpUpcIl7qgxEgDIXtmSypYtlNxfXWpOBxs7LBTps5sDwhRnrToJrMUrivqNTQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/raphael/-/raphael-2.3.0.tgz}
- name: raphael
- version: 2.3.0
- dependencies:
- eve-raphael: registry.npmmirror.com/eve-raphael/0.5.0
- dev: true
-
- registry.npmmirror.com/readable-stream/3.6.0:
- resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.0.tgz}
- name: readable-stream
- version: 3.6.0
- engines: {node: '>= 6'}
+ unist-util-remove-position@5.0.0:
dependencies:
- inherits: registry.npmmirror.com/inherits/2.0.4
- string_decoder: registry.npmmirror.com/string_decoder/1.3.0
- util-deprecate: registry.npmmirror.com/util-deprecate/1.0.2
- dev: true
+ '@types/unist': 3.0.3
+ unist-util-visit: 5.1.0
- registry.npmmirror.com/readdirp/3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz}
- name: readdirp
- version: 3.6.0
- engines: {node: '>=8.10.0'}
+ unist-util-stringify-position@4.0.0:
dependencies:
- picomatch: registry.npmmirror.com/picomatch/2.3.1
- dev: true
+ '@types/unist': 3.0.3
- registry.npmmirror.com/regenerate-unicode-properties/10.0.1:
- resolution: {integrity: sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz}
- name: regenerate-unicode-properties
- version: 10.0.1
- engines: {node: '>=4'}
+ unist-util-visit-children@3.0.0:
dependencies:
- regenerate: registry.npmmirror.com/regenerate/1.4.2
- dev: true
-
- registry.npmmirror.com/regenerate/1.4.2:
- resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz}
- name: regenerate
- version: 1.4.2
- dev: true
-
- registry.npmmirror.com/regenerator-runtime/0.13.9:
- resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz}
- name: regenerator-runtime
- version: 0.13.9
- dev: true
-
- registry.npmmirror.com/regenerator-transform/0.15.0:
- resolution: {integrity: sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.0.tgz}
- name: regenerator-transform
- version: 0.15.0
- dependencies:
- '@babel/runtime': registry.npmmirror.com/@babel/runtime/7.17.9
- dev: true
-
- registry.npmmirror.com/regexp.prototype.flags/1.4.3:
- resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz}
- name: regexp.prototype.flags
- version: 1.4.3
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: registry.npmmirror.com/call-bind/1.0.2
- define-properties: registry.npmmirror.com/define-properties/1.1.4
- functions-have-names: registry.npmmirror.com/functions-have-names/1.2.3
- dev: true
+ '@types/unist': 3.0.3
- registry.npmmirror.com/regexpu-core/5.0.1:
- resolution: {integrity: sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/regexpu-core/-/regexpu-core-5.0.1.tgz}
- name: regexpu-core
- version: 5.0.1
- engines: {node: '>=4'}
+ unist-util-visit-parents@6.0.2:
dependencies:
- regenerate: registry.npmmirror.com/regenerate/1.4.2
- regenerate-unicode-properties: registry.npmmirror.com/regenerate-unicode-properties/10.0.1
- regjsgen: registry.npmmirror.com/regjsgen/0.6.0
- regjsparser: registry.npmmirror.com/regjsparser/0.8.4
- unicode-match-property-ecmascript: registry.npmmirror.com/unicode-match-property-ecmascript/2.0.0
- unicode-match-property-value-ecmascript: registry.npmmirror.com/unicode-match-property-value-ecmascript/2.0.0
- dev: true
-
- registry.npmmirror.com/register-service-worker/1.7.2:
- resolution: {integrity: sha512-CiD3ZSanZqcMPRhtfct5K9f7i3OLCcBBWsJjLh1gW9RO/nS94sVzY59iS+fgYBOBqaBpf4EzfqUF3j9IG+xo8A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/register-service-worker/-/register-service-worker-1.7.2.tgz}
- name: register-service-worker
- version: 1.7.2
- dev: true
-
- registry.npmmirror.com/regjsgen/0.6.0:
- resolution: {integrity: sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/regjsgen/-/regjsgen-0.6.0.tgz}
- name: regjsgen
- version: 0.6.0
- dev: true
-
- registry.npmmirror.com/regjsparser/0.8.4:
- resolution: {integrity: sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/regjsparser/-/regjsparser-0.8.4.tgz}
- name: regjsparser
- version: 0.8.4
- hasBin: true
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.1
+
+ unist-util-visit@5.1.0:
dependencies:
- jsesc: registry.npmmirror.com/jsesc/0.5.0
- dev: true
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.1
+ unist-util-visit-parents: 6.0.2
- registry.npmmirror.com/require-from-string/2.0.2:
- resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz}
- name: require-from-string
- version: 2.0.2
- engines: {node: '>=0.10.0'}
- dev: true
+ universalify@2.0.1: {}
- registry.npmmirror.com/resolve/1.22.1:
- resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/resolve/-/resolve-1.22.1.tgz}
- name: resolve
- version: 1.22.1
- hasBin: true
- dependencies:
- is-core-module: registry.npmmirror.com/is-core-module/2.9.0
- path-parse: registry.npmmirror.com/path-parse/1.0.7
- supports-preserve-symlinks-flag: registry.npmmirror.com/supports-preserve-symlinks-flag/1.0.0
- dev: true
-
- registry.npmmirror.com/restore-cursor/4.0.0:
- resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/restore-cursor/-/restore-cursor-4.0.0.tgz}
- name: restore-cursor
- version: 4.0.0
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dependencies:
- onetime: registry.npmmirror.com/onetime/5.1.2
- signal-exit: registry.npmmirror.com/signal-exit/3.0.7
- dev: true
-
- registry.npmmirror.com/reusify/1.0.4:
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz}
- name: reusify
- version: 1.0.4
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
- dev: true
-
- registry.npmmirror.com/reveal.js/4.4.0:
- resolution: {integrity: sha512-jIV6C9V2NEUjGzU8L6dUFGpk1KJmq7/EzP2fOW67ggc2c0Cp/PdprWxZ9Qgp46F0T2ZWDCjQ1p3Ytzy5jA6a2w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/reveal.js/-/reveal.js-4.4.0.tgz}
- name: reveal.js
- version: 4.4.0
- engines: {node: '>=10.0.0'}
- dev: true
-
- registry.npmmirror.com/robust-predicates/3.0.1:
- resolution: {integrity: sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/robust-predicates/-/robust-predicates-3.0.1.tgz}
- name: robust-predicates
- version: 3.0.1
- dev: true
-
- registry.npmmirror.com/rollup-plugin-terser/7.0.2_rollup@2.79.1:
- resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz}
- id: registry.npmmirror.com/rollup-plugin-terser/7.0.2
- name: rollup-plugin-terser
- version: 7.0.2
- peerDependencies:
- rollup: ^2.0.0
- dependencies:
- '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.16.7
- jest-worker: registry.npmmirror.com/jest-worker/26.6.2
- rollup: registry.npmmirror.com/rollup/2.79.1
- serialize-javascript: registry.npmmirror.com/serialize-javascript/4.0.0
- terser: registry.npmmirror.com/terser/5.15.1
- dev: true
-
- registry.npmmirror.com/rollup/2.78.1:
- resolution: {integrity: sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rollup/-/rollup-2.78.1.tgz}
- name: rollup
- version: 2.78.1
- engines: {node: '>=10.0.0'}
- hasBin: true
- optionalDependencies:
- fsevents: registry.npmmirror.com/fsevents/2.3.2
- dev: true
-
- registry.npmmirror.com/rollup/2.79.1:
- resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rollup/-/rollup-2.79.1.tgz}
- name: rollup
- version: 2.79.1
- engines: {node: '>=10.0.0'}
- hasBin: true
- optionalDependencies:
- fsevents: registry.npmmirror.com/fsevents/2.3.2
- dev: true
-
- registry.npmmirror.com/run-parallel/1.2.0:
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz}
- name: run-parallel
- version: 1.2.0
- dependencies:
- queue-microtask: registry.npmmirror.com/queue-microtask/1.2.3
- dev: true
-
- registry.npmmirror.com/rw/1.3.3:
- resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rw/-/rw-1.3.3.tgz}
- name: rw
- version: 1.3.3
- dev: true
-
- registry.npmmirror.com/safe-buffer/5.1.2:
- resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz}
- name: safe-buffer
- version: 5.1.2
- dev: true
-
- registry.npmmirror.com/safe-buffer/5.2.1:
- resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz}
- name: safe-buffer
- version: 5.2.1
- dev: true
-
- registry.npmmirror.com/safer-buffer/2.1.2:
- resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz}
- name: safer-buffer
- version: 2.1.2
- dev: true
-
- registry.npmmirror.com/sass/1.56.1:
- resolution: {integrity: sha512-VpEyKpyBPCxE7qGDtOcdJ6fFbcpOM+Emu7uZLxVrkX8KVU/Dp5UF7WLvzqRuUhB6mqqQt1xffLoG+AndxTZrCQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sass/-/sass-1.56.1.tgz}
- name: sass
- version: 1.56.1
- engines: {node: '>=12.0.0'}
- hasBin: true
- dependencies:
- chokidar: registry.npmmirror.com/chokidar/3.5.3
- immutable: registry.npmmirror.com/immutable/4.0.0
- source-map-js: registry.npmmirror.com/source-map-js/1.0.2
- dev: true
-
- registry.npmmirror.com/sax/1.2.4:
- resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz}
- name: sax
- version: 1.2.4
- dev: true
-
- registry.npmmirror.com/section-matter/1.0.0:
- resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/section-matter/-/section-matter-1.0.0.tgz}
- name: section-matter
- version: 1.0.0
- engines: {node: '>=4'}
+ unstorage@1.17.5:
dependencies:
- extend-shallow: registry.npmmirror.com/extend-shallow/2.0.1
- kind-of: registry.npmmirror.com/kind-of/6.0.3
- dev: true
+ anymatch: 3.1.3
+ chokidar: 5.0.0
+ destr: 2.0.5
+ h3: 1.15.11
+ lru-cache: 11.5.3
+ node-fetch-native: 1.6.7
+ ofetch: 1.5.1
+ ufo: 1.6.4
- registry.npmmirror.com/semver/5.7.1:
- resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz}
- name: semver
- version: 5.7.1
- hasBin: true
- dev: true
+ util-deprecate@1.0.2: {}
- registry.npmmirror.com/semver/6.3.0:
- resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz}
- name: semver
- version: 6.3.0
- hasBin: true
- dev: true
+ uuid@14.0.2: {}
- registry.npmmirror.com/semver/7.0.0:
- resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/semver/-/semver-7.0.0.tgz}
- name: semver
- version: 7.0.0
- hasBin: true
- dev: true
+ v8-compile-cache-lib@3.0.1: {}
- registry.npmmirror.com/semver/7.3.8:
- resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/semver/-/semver-7.3.8.tgz}
- name: semver
- version: 7.3.8
- engines: {node: '>=10'}
- hasBin: true
+ validate-npm-package-license@3.0.4:
dependencies:
- lru-cache: registry.npmmirror.com/lru-cache/6.0.0
- dev: true
+ spdx-correct: 3.2.0
+ spdx-expression-parse: 3.0.1
- registry.npmmirror.com/serialize-javascript/4.0.0:
- resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz}
- name: serialize-javascript
- version: 4.0.0
- dependencies:
- randombytes: registry.npmmirror.com/randombytes/2.1.0
- dev: true
+ verkit@0.4.1: {}
- registry.npmmirror.com/shebang-command/2.0.0:
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz}
- name: shebang-command
- version: 2.0.0
- engines: {node: '>=8'}
+ vfile-location@5.0.3:
dependencies:
- shebang-regex: registry.npmmirror.com/shebang-regex/3.0.0
- dev: true
+ '@types/unist': 3.0.3
+ vfile: 6.0.3
- registry.npmmirror.com/shebang-regex/3.0.0:
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz}
- name: shebang-regex
- version: 3.0.0
- engines: {node: '>=8'}
- dev: true
-
- registry.npmmirror.com/side-channel/1.0.4:
- resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz}
- name: side-channel
- version: 1.0.4
- dependencies:
- call-bind: registry.npmmirror.com/call-bind/1.0.2
- get-intrinsic: registry.npmmirror.com/get-intrinsic/1.1.1
- object-inspect: registry.npmmirror.com/object-inspect/1.12.0
- dev: true
-
- registry.npmmirror.com/signal-exit/3.0.7:
- resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz}
- name: signal-exit
- version: 3.0.7
- dev: true
-
- registry.npmmirror.com/sitemap/7.1.1:
- resolution: {integrity: sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sitemap/-/sitemap-7.1.1.tgz}
- name: sitemap
- version: 7.1.1
- engines: {node: '>=12.0.0', npm: '>=5.6.0'}
- hasBin: true
+ vfile-message@4.0.3:
dependencies:
- '@types/node': registry.npmmirror.com/@types/node/17.0.32
- '@types/sax': registry.npmmirror.com/@types/sax/1.2.4
- arg: registry.npmmirror.com/arg/5.0.1
- sax: registry.npmmirror.com/sax/1.2.4
- dev: true
-
- registry.npmmirror.com/slash/4.0.0:
- resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/slash/-/slash-4.0.0.tgz}
- name: slash
- version: 4.0.0
- engines: {node: '>=12'}
- dev: true
-
- registry.npmmirror.com/slick/1.12.2:
- resolution: {integrity: sha512-4qdtOGcBjral6YIBCWJ0ljFSKNLz9KkhbWtuGvUyRowl1kxfuE1x/Z/aJcaiilpb3do9bl5K7/1h9XC5wWpY/A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/slick/-/slick-1.12.2.tgz}
- name: slick
- version: 1.12.2
- dev: true
-
- registry.npmmirror.com/source-map-js/1.0.2:
- resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz}
- name: source-map-js
- version: 1.0.2
- engines: {node: '>=0.10.0'}
- dev: true
+ '@types/unist': 3.0.3
+ unist-util-stringify-position: 4.0.0
- registry.npmmirror.com/source-map-support/0.5.21:
- resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz}
- name: source-map-support
- version: 0.5.21
+ vfile@6.0.3:
dependencies:
- buffer-from: registry.npmmirror.com/buffer-from/1.1.2
- source-map: registry.npmmirror.com/source-map/0.6.1
- dev: true
-
- registry.npmmirror.com/source-map/0.6.1:
- resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz}
- name: source-map
- version: 0.6.1
- engines: {node: '>=0.10.0'}
- dev: true
+ '@types/unist': 3.0.3
+ vfile-message: 4.0.3
- registry.npmmirror.com/source-map/0.8.0-beta.0:
- resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/source-map/-/source-map-0.8.0-beta.0.tgz}
- name: source-map
- version: 0.8.0-beta.0
- engines: {node: '>= 8'}
+ vite@8.3.2(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1):
dependencies:
- whatwg-url: registry.npmmirror.com/whatwg-url/7.1.0
- dev: true
+ lightningcss: 1.33.0
+ picomatch: 4.0.7
+ postcss: 8.5.29
+ rolldown: 1.2.12
+ tinyglobby: 0.2.17
+ optionalDependencies:
+ '@types/node': 22.20.5
+ esbuild: 0.28.2
+ fsevents: 2.3.3
+ jiti: 2.6.1
+ yaml: 2.9.1
- registry.npmmirror.com/sourcemap-codec/1.4.8:
- resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz}
- name: sourcemap-codec
- version: 1.4.8
- dev: true
+ vitefu@1.1.3(vite@8.3.2(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)):
+ optionalDependencies:
+ vite: 8.3.2(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.6.1)(yaml@2.9.1)
- registry.npmmirror.com/speech-rule-engine/4.0.7:
- resolution: {integrity: sha512-sJrL3/wHzNwJRLBdf6CjJWIlxC04iYKkyXvYSVsWVOiC2DSkHmxsqOhEeMsBA9XK+CHuNcsdkbFDnoUfAsmp9g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/speech-rule-engine/-/speech-rule-engine-4.0.7.tgz}
- name: speech-rule-engine
- version: 4.0.7
- hasBin: true
+ volar-service-css@0.0.71(@volar/language-service@2.4.28):
dependencies:
- commander: registry.npmmirror.com/commander/9.2.0
- wicked-good-xpath: registry.npmmirror.com/wicked-good-xpath/1.3.0
- xmldom-sre: registry.npmmirror.com/xmldom-sre/0.1.31
- dev: true
-
- registry.npmmirror.com/sprintf-js/1.0.3:
- resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz}
- name: sprintf-js
- version: 1.0.3
- dev: true
-
- registry.npmmirror.com/string.prototype.matchall/4.0.7:
- resolution: {integrity: sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz}
- name: string.prototype.matchall
- version: 4.0.7
- dependencies:
- call-bind: registry.npmmirror.com/call-bind/1.0.2
- define-properties: registry.npmmirror.com/define-properties/1.1.4
- es-abstract: registry.npmmirror.com/es-abstract/1.20.0
- get-intrinsic: registry.npmmirror.com/get-intrinsic/1.1.1
- has-symbols: registry.npmmirror.com/has-symbols/1.0.3
- internal-slot: registry.npmmirror.com/internal-slot/1.0.3
- regexp.prototype.flags: registry.npmmirror.com/regexp.prototype.flags/1.4.3
- side-channel: registry.npmmirror.com/side-channel/1.0.4
- dev: true
-
- registry.npmmirror.com/string.prototype.trimend/1.0.5:
- resolution: {integrity: sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz}
- name: string.prototype.trimend
- version: 1.0.5
- dependencies:
- call-bind: registry.npmmirror.com/call-bind/1.0.2
- define-properties: registry.npmmirror.com/define-properties/1.1.4
- es-abstract: registry.npmmirror.com/es-abstract/1.20.0
- dev: true
-
- registry.npmmirror.com/string.prototype.trimstart/1.0.5:
- resolution: {integrity: sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz}
- name: string.prototype.trimstart
- version: 1.0.5
- dependencies:
- call-bind: registry.npmmirror.com/call-bind/1.0.2
- define-properties: registry.npmmirror.com/define-properties/1.1.4
- es-abstract: registry.npmmirror.com/es-abstract/1.20.0
- dev: true
-
- registry.npmmirror.com/string_decoder/1.3.0:
- resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz}
- name: string_decoder
- version: 1.3.0
- dependencies:
- safe-buffer: registry.npmmirror.com/safe-buffer/5.2.1
- dev: true
-
- registry.npmmirror.com/stringify-object/3.3.0:
- resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/stringify-object/-/stringify-object-3.3.0.tgz}
- name: stringify-object
- version: 3.3.0
- engines: {node: '>=4'}
+ vscode-css-languageservice: 6.3.10
+ vscode-languageserver-textdocument: 1.0.15
+ vscode-uri: 3.2.0
+ optionalDependencies:
+ '@volar/language-service': 2.4.28
+
+ volar-service-emmet@0.0.71(@volar/language-service@2.4.28):
dependencies:
- get-own-enumerable-property-symbols: registry.npmmirror.com/get-own-enumerable-property-symbols/3.0.2
- is-obj: registry.npmmirror.com/is-obj/1.0.1
- is-regexp: registry.npmmirror.com/is-regexp/1.0.0
- dev: true
+ '@emmetio/css-parser': 0.4.1
+ '@emmetio/html-matcher': 1.3.0
+ '@vscode/emmet-helper': 2.11.0
+ vscode-uri: 3.2.0
+ optionalDependencies:
+ '@volar/language-service': 2.4.28
- registry.npmmirror.com/strip-ansi/6.0.1:
- resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz}
- name: strip-ansi
- version: 6.0.1
- engines: {node: '>=8'}
+ volar-service-html@0.0.71(@volar/language-service@2.4.28):
dependencies:
- ansi-regex: registry.npmmirror.com/ansi-regex/5.0.1
- dev: true
+ vscode-html-languageservice: 5.6.2
+ vscode-languageserver-textdocument: 1.0.15
+ vscode-uri: 3.2.0
+ optionalDependencies:
+ '@volar/language-service': 2.4.28
- registry.npmmirror.com/strip-ansi/7.0.1:
- resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.0.1.tgz}
- name: strip-ansi
- version: 7.0.1
- engines: {node: '>=12'}
+ volar-service-prettier@0.0.71(@volar/language-service@2.4.28)(prettier@3.9.9):
dependencies:
- ansi-regex: registry.npmmirror.com/ansi-regex/6.0.1
- dev: true
+ vscode-uri: 3.2.0
+ optionalDependencies:
+ '@volar/language-service': 2.4.28
+ prettier: 3.9.9
- registry.npmmirror.com/strip-bom-string/1.0.0:
- resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz}
- name: strip-bom-string
- version: 1.0.0
- engines: {node: '>=0.10.0'}
- dev: true
+ volar-service-typescript-twoslash-queries@0.0.71(@volar/language-service@2.4.28):
+ dependencies:
+ vscode-uri: 3.2.0
+ optionalDependencies:
+ '@volar/language-service': 2.4.28
- registry.npmmirror.com/strip-comments/2.0.1:
- resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strip-comments/-/strip-comments-2.0.1.tgz}
- name: strip-comments
- version: 2.0.1
- engines: {node: '>=10'}
- dev: true
+ volar-service-typescript@0.0.71(@volar/language-service@2.4.28):
+ dependencies:
+ path-browserify: 1.0.1
+ semver: 7.8.5
+ typescript-auto-import-cache: 0.3.6
+ vscode-languageserver-textdocument: 1.0.15
+ vscode-nls: 5.2.0
+ vscode-uri: 3.2.0
+ optionalDependencies:
+ '@volar/language-service': 2.4.28
- registry.npmmirror.com/strip-final-newline/2.0.0:
- resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz}
- name: strip-final-newline
- version: 2.0.0
- engines: {node: '>=6'}
- dev: true
+ volar-service-yaml@0.0.71(@volar/language-service@2.4.28):
+ dependencies:
+ vscode-uri: 3.2.0
+ yaml-language-server: 1.23.0
+ optionalDependencies:
+ '@volar/language-service': 2.4.28
- registry.npmmirror.com/strip-final-newline/3.0.0:
- resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz}
- name: strip-final-newline
- version: 3.0.0
- engines: {node: '>=12'}
- dev: true
-
- registry.npmmirror.com/striptags/3.2.0:
- resolution: {integrity: sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/striptags/-/striptags-3.2.0.tgz}
- name: striptags
- version: 3.2.0
- dev: true
-
- registry.npmmirror.com/stylis/4.1.3:
- resolution: {integrity: sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/stylis/-/stylis-4.1.3.tgz}
- name: stylis
- version: 4.1.3
- dev: true
-
- registry.npmmirror.com/supports-color/5.5.0:
- resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz}
- name: supports-color
- version: 5.5.0
- engines: {node: '>=4'}
+ vscode-css-languageservice@6.3.10:
dependencies:
- has-flag: registry.npmmirror.com/has-flag/3.0.0
- dev: true
+ '@vscode/l10n': 0.0.18
+ vscode-languageserver-textdocument: 1.0.15
+ vscode-languageserver-types: 3.17.5
+ vscode-uri: 3.2.0
- registry.npmmirror.com/supports-color/7.2.0:
- resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz}
- name: supports-color
- version: 7.2.0
- engines: {node: '>=8'}
+ vscode-html-languageservice@5.6.2:
dependencies:
- has-flag: registry.npmmirror.com/has-flag/4.0.0
- dev: true
+ '@vscode/l10n': 0.0.18
+ vscode-languageserver-textdocument: 1.0.15
+ vscode-languageserver-types: 3.18.4
+ vscode-uri: 3.2.0
- registry.npmmirror.com/supports-preserve-symlinks-flag/1.0.0:
- resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz}
- name: supports-preserve-symlinks-flag
- version: 1.0.0
- engines: {node: '>= 0.4'}
- dev: true
+ vscode-json-languageservice@4.1.8:
+ dependencies:
+ jsonc-parser: 3.3.1
+ vscode-languageserver-textdocument: 1.0.15
+ vscode-languageserver-types: 3.18.4
+ vscode-nls: 5.2.0
+ vscode-uri: 3.2.0
- registry.npmmirror.com/temp-dir/2.0.0:
- resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/temp-dir/-/temp-dir-2.0.0.tgz}
- name: temp-dir
- version: 2.0.0
- engines: {node: '>=8'}
- dev: true
+ vscode-jsonrpc@8.2.0: {}
- registry.npmmirror.com/tempy/0.6.0:
- resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tempy/-/tempy-0.6.0.tgz}
- name: tempy
- version: 0.6.0
- engines: {node: '>=10'}
- dependencies:
- is-stream: registry.npmmirror.com/is-stream/2.0.1
- temp-dir: registry.npmmirror.com/temp-dir/2.0.0
- type-fest: registry.npmmirror.com/type-fest/0.16.0
- unique-string: registry.npmmirror.com/unique-string/2.0.0
- dev: true
+ vscode-jsonrpc@9.0.3: {}
- registry.npmmirror.com/terser/5.15.1:
- resolution: {integrity: sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/terser/-/terser-5.15.1.tgz}
- name: terser
- version: 5.15.1
- engines: {node: '>=10'}
- hasBin: true
+ vscode-languageserver-protocol@3.17.5:
dependencies:
- '@jridgewell/source-map': registry.npmmirror.com/@jridgewell/source-map/0.3.2
- acorn: registry.npmmirror.com/acorn/8.7.1
- commander: registry.npmmirror.com/commander/2.20.3
- source-map-support: registry.npmmirror.com/source-map-support/0.5.21
- dev: true
-
- registry.npmmirror.com/to-fast-properties/2.0.0:
- resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz}
- name: to-fast-properties
- version: 2.0.0
- engines: {node: '>=4'}
- dev: true
+ vscode-jsonrpc: 8.2.0
+ vscode-languageserver-types: 3.17.5
- registry.npmmirror.com/to-regex-range/5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz}
- name: to-regex-range
- version: 5.0.1
- engines: {node: '>=8.0'}
+ vscode-languageserver-protocol@3.18.4:
dependencies:
- is-number: registry.npmmirror.com/is-number/7.0.0
- dev: true
-
- registry.npmmirror.com/tr46/0.0.3:
- resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz}
- name: tr46
- version: 0.0.3
- dev: true
-
- registry.npmmirror.com/tr46/1.0.1:
- resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tr46/-/tr46-1.0.1.tgz}
- name: tr46
- version: 1.0.1
- dependencies:
- punycode: registry.npmmirror.com/punycode/2.1.1
- dev: true
-
- registry.npmmirror.com/ts-debounce/4.0.0:
- resolution: {integrity: sha512-+1iDGY6NmOGidq7i7xZGA4cm8DAa6fqdYcvO5Z6yBevH++Bdo9Qt/mN0TzHUgcCcKv1gmh9+W5dHqz8pMWbCbg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ts-debounce/-/ts-debounce-4.0.0.tgz}
- name: ts-debounce
- version: 4.0.0
- dev: true
-
- registry.npmmirror.com/tslib/2.3.0:
- resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz}
- name: tslib
- version: 2.3.0
- dev: true
-
- registry.npmmirror.com/twikoo/1.6.7:
- resolution: {integrity: sha512-jFSKkdpwke0kO8XZIXUJrvq+YpyQ5iAP7L6OOz8zeW4TqGYbzJCfHBpBNiKd59rix21InIpDfmk610mmNyOtHA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/twikoo/-/twikoo-1.6.7.tgz}
- name: twikoo
- version: 1.6.7
- dev: true
-
- registry.npmmirror.com/type-fest/0.16.0:
- resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/type-fest/-/type-fest-0.16.0.tgz}
- name: type-fest
- version: 0.16.0
- engines: {node: '>=10'}
- dev: true
+ vscode-jsonrpc: 9.0.3
+ vscode-languageserver-types: 3.18.4
- registry.npmmirror.com/type-fest/0.18.1:
- resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/type-fest/-/type-fest-0.18.1.tgz}
- name: type-fest
- version: 0.18.1
- engines: {node: '>=10'}
- dev: true
+ vscode-languageserver-textdocument@1.0.15: {}
- registry.npmmirror.com/type-fest/0.6.0:
- resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/type-fest/-/type-fest-0.6.0.tgz}
- name: type-fest
- version: 0.6.0
- engines: {node: '>=8'}
- dev: true
+ vscode-languageserver-types@3.17.5: {}
- registry.npmmirror.com/type-fest/0.8.1:
- resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/type-fest/-/type-fest-0.8.1.tgz}
- name: type-fest
- version: 0.8.1
- engines: {node: '>=8'}
- dev: true
-
- registry.npmmirror.com/uc.micro/1.0.6:
- resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/uc.micro/-/uc.micro-1.0.6.tgz}
- name: uc.micro
- version: 1.0.6
- dev: true
-
- registry.npmmirror.com/unbox-primitive/1.0.2:
- resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz}
- name: unbox-primitive
- version: 1.0.2
- dependencies:
- call-bind: registry.npmmirror.com/call-bind/1.0.2
- has-bigints: registry.npmmirror.com/has-bigints/1.0.2
- has-symbols: registry.npmmirror.com/has-symbols/1.0.3
- which-boxed-primitive: registry.npmmirror.com/which-boxed-primitive/1.0.2
- dev: true
-
- registry.npmmirror.com/unicode-canonical-property-names-ecmascript/2.0.0:
- resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz}
- name: unicode-canonical-property-names-ecmascript
- version: 2.0.0
- engines: {node: '>=4'}
- dev: true
+ vscode-languageserver-types@3.18.4: {}
- registry.npmmirror.com/unicode-match-property-ecmascript/2.0.0:
- resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz}
- name: unicode-match-property-ecmascript
- version: 2.0.0
- engines: {node: '>=4'}
+ vscode-languageserver@9.0.1:
dependencies:
- unicode-canonical-property-names-ecmascript: registry.npmmirror.com/unicode-canonical-property-names-ecmascript/2.0.0
- unicode-property-aliases-ecmascript: registry.npmmirror.com/unicode-property-aliases-ecmascript/2.0.0
- dev: true
+ vscode-languageserver-protocol: 3.17.5
- registry.npmmirror.com/unicode-match-property-value-ecmascript/2.0.0:
- resolution: {integrity: sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz}
- name: unicode-match-property-value-ecmascript
- version: 2.0.0
- engines: {node: '>=4'}
- dev: true
+ vscode-nls@5.2.0: {}
- registry.npmmirror.com/unicode-property-aliases-ecmascript/2.0.0:
- resolution: {integrity: sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz}
- name: unicode-property-aliases-ecmascript
- version: 2.0.0
- engines: {node: '>=4'}
- dev: true
+ vscode-uri@3.2.0: {}
- registry.npmmirror.com/unique-string/2.0.0:
- resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unique-string/-/unique-string-2.0.0.tgz}
- name: unique-string
- version: 2.0.0
- engines: {node: '>=8'}
+ wcwidth@1.0.1:
dependencies:
- crypto-random-string: registry.npmmirror.com/crypto-random-string/2.0.0
- dev: true
+ defaults: 1.0.4
- registry.npmmirror.com/universalify/2.0.0:
- resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/universalify/-/universalify-2.0.0.tgz}
- name: universalify
- version: 2.0.0
- engines: {node: '>= 10.0.0'}
- dev: true
+ web-namespaces@2.0.1: {}
- registry.npmmirror.com/upath/1.2.0:
- resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/upath/-/upath-1.2.0.tgz}
- name: upath
- version: 1.2.0
- engines: {node: '>=4'}
- dev: true
+ which@1.3.1:
+ dependencies:
+ isexe: 2.0.0
- registry.npmmirror.com/upath/2.0.1:
- resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/upath/-/upath-2.0.1.tgz}
- name: upath
- version: 2.0.1
- engines: {node: '>=4'}
- dev: true
+ which@2.0.2:
+ dependencies:
+ isexe: 2.0.0
- registry.npmmirror.com/update-browserslist-db/1.0.10_browserslist@4.21.4:
- resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz}
- id: registry.npmmirror.com/update-browserslist-db/1.0.10
- name: update-browserslist-db
- version: 1.0.10
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
- dependencies:
- browserslist: registry.npmmirror.com/browserslist/4.21.4
- escalade: registry.npmmirror.com/escalade/3.1.1
- picocolors: registry.npmmirror.com/picocolors/1.0.0
- dev: true
-
- registry.npmmirror.com/uri-js/4.4.1:
- resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz}
- name: uri-js
- version: 4.4.1
- dependencies:
- punycode: registry.npmmirror.com/punycode/2.1.1
- dev: true
-
- registry.npmmirror.com/util-deprecate/1.0.2:
- resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz}
- name: util-deprecate
- version: 1.0.2
- dev: true
-
- registry.npmmirror.com/uuid/9.0.0:
- resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/uuid/-/uuid-9.0.0.tgz}
- name: uuid
- version: 9.0.0
- hasBin: true
- dev: true
+ word-wrap@1.2.5: {}
- registry.npmmirror.com/valid-data-url/3.0.1:
- resolution: {integrity: sha512-jOWVmzVceKlVVdwjNSenT4PbGghU0SBIizAev8ofZVgivk/TVHXSbNL8LP6M3spZvkR9/QolkyJavGSX5Cs0UA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/valid-data-url/-/valid-data-url-3.0.1.tgz}
- name: valid-data-url
- version: 3.0.1
- engines: {node: '>=10'}
- dev: true
+ wrap-ansi@6.2.0:
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
- registry.npmmirror.com/vite/3.1.8:
- resolution: {integrity: sha512-m7jJe3nufUbuOfotkntGFupinL/fmuTNuQmiVE7cH2IZMuf4UbfbGYMUT3jVWgGYuRVLY9j8NnrRqgw5rr5QTg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vite/-/vite-3.1.8.tgz}
- name: vite
- version: 3.1.8
- engines: {node: ^14.18.0 || >=16.0.0}
- hasBin: true
- peerDependencies:
- less: '*'
- sass: '*'
- stylus: '*'
- terser: ^5.4.0
- peerDependenciesMeta:
- less:
- optional: true
- sass:
- optional: true
- stylus:
- optional: true
- terser:
- optional: true
+ wrap-ansi@7.0.0:
dependencies:
- esbuild: registry.npmmirror.com/esbuild/0.15.14
- postcss: registry.npmmirror.com/postcss/8.4.19
- resolve: registry.npmmirror.com/resolve/1.22.1
- rollup: registry.npmmirror.com/rollup/2.78.1
- optionalDependencies:
- fsevents: registry.npmmirror.com/fsevents/2.3.2
- dev: true
-
- registry.npmmirror.com/vue-demi/0.12.5_vue@3.2.45:
- resolution: {integrity: sha512-BREuTgTYlUr0zw0EZn3hnhC3I6gPWv+Kwh4MCih6QcAeaTlaIX0DwOVN0wHej7hSvDPecz4jygy/idsgKfW58Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue-demi/-/vue-demi-0.12.5.tgz}
- id: registry.npmmirror.com/vue-demi/0.12.5
- name: vue-demi
- version: 0.12.5
- engines: {node: '>=12'}
- hasBin: true
- requiresBuild: true
- peerDependencies:
- '@vue/composition-api': ^1.0.0-rc.1
- vue: ^3.0.0-0 || ^2.6.0
- peerDependenciesMeta:
- '@vue/composition-api':
- optional: true
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+
+ wrap-ansi@9.0.2:
dependencies:
- vue: registry.npmmirror.com/vue/3.2.45
- dev: true
+ ansi-styles: 6.2.3
+ string-width: 7.2.0
+ strip-ansi: 7.2.0
- registry.npmmirror.com/vue-router/4.1.6_vue@3.2.45:
- resolution: {integrity: sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue-router/-/vue-router-4.1.6.tgz}
- id: registry.npmmirror.com/vue-router/4.1.6
- name: vue-router
- version: 4.1.6
- peerDependencies:
- vue: ^3.2.0
- dependencies:
- '@vue/devtools-api': registry.npmmirror.com/@vue/devtools-api/6.4.5
- vue: registry.npmmirror.com/vue/3.2.45
- dev: true
-
- registry.npmmirror.com/vue/3.2.45:
- resolution: {integrity: sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue/-/vue-3.2.45.tgz}
- name: vue
- version: 3.2.45
- dependencies:
- '@vue/compiler-dom': registry.npmmirror.com/@vue/compiler-dom/3.2.45
- '@vue/compiler-sfc': registry.npmmirror.com/@vue/compiler-sfc/3.2.45
- '@vue/runtime-dom': registry.npmmirror.com/@vue/runtime-dom/3.2.45
- '@vue/server-renderer': registry.npmmirror.com/@vue/server-renderer/3.2.45_vue@3.2.45
- '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45
- dev: true
-
- registry.npmmirror.com/vuepress-plugin-blog2/2.0.0-beta.124:
- resolution: {integrity: sha512-GgSf+7TI5Hvswfr5ABneUJZDbjL3bbHw41R6YJ8V0BB8g4rzcNVeLGhkqCSYHOqd+dfsNoy+/4wu7oI1bwSyIA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vuepress-plugin-blog2/-/vuepress-plugin-blog2-2.0.0-beta.124.tgz}
- name: vuepress-plugin-blog2
- version: 2.0.0-beta.124
- dependencies:
- '@vuepress/client': registry.npmmirror.com/@vuepress/client/2.0.0-beta.53
- '@vuepress/core': registry.npmmirror.com/@vuepress/core/2.0.0-beta.53
- '@vuepress/shared': registry.npmmirror.com/@vuepress/shared/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- chokidar: registry.npmmirror.com/chokidar/3.5.3
- vue: registry.npmmirror.com/vue/3.2.45
- vue-router: registry.npmmirror.com/vue-router/4.1.6_vue@3.2.45
- vuepress-shared: registry.npmmirror.com/vuepress-shared/2.0.0-beta.124
- transitivePeerDependencies:
- - supports-color
- dev: true
+ wrappy@1.0.2: {}
- registry.npmmirror.com/vuepress-plugin-comment2/2.0.0-beta.124:
- resolution: {integrity: sha512-PUksKPihPrdqMueMmSXZVTxlrRJ6eXef1Q9nd/NXTVlDC5eO+0JwA8g5mKwJw+/aZvnyKgepKDRdmDaftADR1w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vuepress-plugin-comment2/-/vuepress-plugin-comment2-2.0.0-beta.124.tgz}
- name: vuepress-plugin-comment2
- version: 2.0.0-beta.124
- peerDependencies:
- sass-loader: ^13.0.0
- peerDependenciesMeta:
- sass-loader:
- optional: true
- dependencies:
- '@vuepress/client': registry.npmmirror.com/@vuepress/client/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- '@waline/client': registry.npmmirror.com/@waline/client/2.14.1
- giscus: registry.npmmirror.com/giscus/1.2.3
- twikoo: registry.npmmirror.com/twikoo/1.6.7
- vue: registry.npmmirror.com/vue/3.2.45
- vue-router: registry.npmmirror.com/vue-router/4.1.6_vue@3.2.45
- vuepress-plugin-sass-palette: registry.npmmirror.com/vuepress-plugin-sass-palette/2.0.0-beta.124
- vuepress-shared: registry.npmmirror.com/vuepress-shared/2.0.0-beta.124
- transitivePeerDependencies:
- - '@vue/composition-api'
- - supports-color
- dev: true
+ xxhash-wasm@1.1.0: {}
- registry.npmmirror.com/vuepress-plugin-components/2.0.0-beta.124:
- resolution: {integrity: sha512-paCk1d3CGQeA3Bhs+yFIlGptmtXezXC9r9bHzgFamd2QDvbixrnh8pMNatKjIjFj8J00M+MRwuYuXTOGTrrGKw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vuepress-plugin-components/-/vuepress-plugin-components-2.0.0-beta.124.tgz}
- name: vuepress-plugin-components
- version: 2.0.0-beta.124
- peerDependencies:
- sass-loader: ^13.0.0
- peerDependenciesMeta:
- sass-loader:
- optional: true
- dependencies:
- '@vuepress/client': registry.npmmirror.com/@vuepress/client/2.0.0-beta.53
- '@vuepress/shared': registry.npmmirror.com/@vuepress/shared/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- '@vueuse/core': registry.npmmirror.com/@vueuse/core/9.5.0_vue@3.2.45
- balloon-css: registry.npmmirror.com/balloon-css/1.2.0
- vue: registry.npmmirror.com/vue/3.2.45
- vue-router: registry.npmmirror.com/vue-router/4.1.6_vue@3.2.45
- vuepress-plugin-reading-time2: registry.npmmirror.com/vuepress-plugin-reading-time2/2.0.0-beta.124
- vuepress-plugin-sass-palette: registry.npmmirror.com/vuepress-plugin-sass-palette/2.0.0-beta.124
- vuepress-shared: registry.npmmirror.com/vuepress-shared/2.0.0-beta.124
- transitivePeerDependencies:
- - '@vue/composition-api'
- - supports-color
- dev: true
+ y18n@5.0.8: {}
- registry.npmmirror.com/vuepress-plugin-copy-code2/2.0.0-beta.124:
- resolution: {integrity: sha512-e8cVPRlpsd9MSiVxO6LROVWBg10gH/wvxJh7que/4tN4tq+pELO/bPqRY7AOm/z13Wul3zS+ipVZfE6C5UCLBw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vuepress-plugin-copy-code2/-/vuepress-plugin-copy-code2-2.0.0-beta.124.tgz}
- name: vuepress-plugin-copy-code2
- version: 2.0.0-beta.124
- peerDependencies:
- sass-loader: ^13.0.0
- peerDependenciesMeta:
- sass-loader:
- optional: true
- dependencies:
- '@vuepress/client': registry.npmmirror.com/@vuepress/client/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- balloon-css: registry.npmmirror.com/balloon-css/1.2.0
- vue: registry.npmmirror.com/vue/3.2.45
- vue-router: registry.npmmirror.com/vue-router/4.1.6_vue@3.2.45
- vuepress-plugin-sass-palette: registry.npmmirror.com/vuepress-plugin-sass-palette/2.0.0-beta.124
- vuepress-shared: registry.npmmirror.com/vuepress-shared/2.0.0-beta.124
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- registry.npmmirror.com/vuepress-plugin-copyright2/2.0.0-beta.124:
- resolution: {integrity: sha512-8cckN2feN2/qj9eqaqDlng5rJorS6Hxps85c0GvAI40kyH6VzZuj8h6CarBjJ1yfOVk018s2bPat4ciLyEwhQw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vuepress-plugin-copyright2/-/vuepress-plugin-copyright2-2.0.0-beta.124.tgz}
- name: vuepress-plugin-copyright2
- version: 2.0.0-beta.124
- dependencies:
- '@vuepress/client': registry.npmmirror.com/@vuepress/client/2.0.0-beta.53
- '@vuepress/shared': registry.npmmirror.com/@vuepress/shared/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- '@vueuse/core': registry.npmmirror.com/@vueuse/core/9.5.0_vue@3.2.45
- vue: registry.npmmirror.com/vue/3.2.45
- vuepress-shared: registry.npmmirror.com/vuepress-shared/2.0.0-beta.124
- transitivePeerDependencies:
- - '@vue/composition-api'
- - supports-color
- dev: true
+ yallist@4.0.0: {}
- registry.npmmirror.com/vuepress-plugin-feed2/2.0.0-beta.124:
- resolution: {integrity: sha512-ZWoxhyYivCWZlGNLEJw+aYq86xJd8FJBWTLtrd/Y2/rfAhzXvL76OOyQeeKjXIIL4m5lzgnvaa7kT9+6i40huQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vuepress-plugin-feed2/-/vuepress-plugin-feed2-2.0.0-beta.124.tgz}
- name: vuepress-plugin-feed2
- version: 2.0.0-beta.124
+ yaml-language-server@1.23.0:
dependencies:
- '@vuepress/shared': registry.npmmirror.com/@vuepress/shared/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- vuepress-shared: registry.npmmirror.com/vuepress-shared/2.0.0-beta.124
- xml-js: registry.npmmirror.com/xml-js/1.6.11
- transitivePeerDependencies:
- - supports-color
- dev: true
+ '@vscode/l10n': 0.0.18
+ ajv: 8.20.0
+ ajv-draft-04: 1.0.0(ajv@8.20.0)
+ ajv-i18n: 4.2.0(ajv@8.20.0)
+ prettier: 3.9.9
+ request-light: 0.5.8
+ vscode-json-languageservice: 4.1.8
+ vscode-languageserver: 9.0.1
+ vscode-languageserver-textdocument: 1.0.15
+ vscode-languageserver-types: 3.18.4
+ vscode-uri: 3.2.0
+ yaml: 2.8.3
- registry.npmmirror.com/vuepress-plugin-md-enhance/2.0.0-beta.124:
- resolution: {integrity: sha512-VwI8vVE92t+MqRxaGg28R2t6bcd05l9+vqgn4XpuRLPJZyF32UptiGvbD7CRcQBAdW1Pe+ewaDn0mwcWFthN4w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vuepress-plugin-md-enhance/-/vuepress-plugin-md-enhance-2.0.0-beta.124.tgz}
- name: vuepress-plugin-md-enhance
- version: 2.0.0-beta.124
- peerDependencies:
- sass-loader: ^13.0.0
- peerDependenciesMeta:
- sass-loader:
- optional: true
- dependencies:
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@mermaid-js/mermaid-mindmap': registry.npmmirror.com/@mermaid-js/mermaid-mindmap/9.2.2
- '@types/katex': registry.npmmirror.com/@types/katex/0.14.0
- '@types/markdown-it': registry.npmmirror.com/@types/markdown-it/12.2.3
- '@vue/repl': registry.npmmirror.com/@vue/repl/1.3.2_vue@3.2.45
- '@vuepress/client': registry.npmmirror.com/@vuepress/client/2.0.0-beta.53
- '@vuepress/shared': registry.npmmirror.com/@vuepress/shared/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- '@vueuse/core': registry.npmmirror.com/@vueuse/core/9.5.0_vue@3.2.45
- balloon-css: registry.npmmirror.com/balloon-css/1.2.0
- chart.js: registry.npmmirror.com/chart.js/4.0.1
- echarts: registry.npmmirror.com/echarts/5.4.0
- flowchart.js: registry.npmmirror.com/flowchart.js/1.17.1
- juice: registry.npmmirror.com/juice/8.1.0
- katex: registry.npmmirror.com/katex/0.16.3
- markdown-it: registry.npmmirror.com/markdown-it/13.0.1
- mathjax-full: registry.npmmirror.com/mathjax-full/3.2.2
- mermaid: registry.npmmirror.com/mermaid/9.2.2
- reveal.js: registry.npmmirror.com/reveal.js/4.4.0
- vue: registry.npmmirror.com/vue/3.2.45
- vue-router: registry.npmmirror.com/vue-router/4.1.6_vue@3.2.45
- vuepress-plugin-sass-palette: registry.npmmirror.com/vuepress-plugin-sass-palette/2.0.0-beta.124
- vuepress-shared: registry.npmmirror.com/vuepress-shared/2.0.0-beta.124
- transitivePeerDependencies:
- - '@vue/composition-api'
- - encoding
- - supports-color
- dev: true
+ yaml@2.8.3: {}
- registry.npmmirror.com/vuepress-plugin-photo-swipe/2.0.0-beta.124:
- resolution: {integrity: sha512-n90Hotxwk9gOXdhRAPgNQEkNXVD+z3sCpE2IxeLJH2fuq4hTU66UMul9TnvE+LqHlaj+q8ZkKIpAa1yUCEobqw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vuepress-plugin-photo-swipe/-/vuepress-plugin-photo-swipe-2.0.0-beta.124.tgz}
- name: vuepress-plugin-photo-swipe
- version: 2.0.0-beta.124
- peerDependencies:
- sass-loader: ^13.0.0
- peerDependenciesMeta:
- sass-loader:
- optional: true
- dependencies:
- '@vuepress/client': registry.npmmirror.com/@vuepress/client/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- '@vueuse/core': registry.npmmirror.com/@vueuse/core/9.5.0_vue@3.2.45
- photoswipe: registry.npmmirror.com/photoswipe/5.3.3
- vue: registry.npmmirror.com/vue/3.2.45
- vue-router: registry.npmmirror.com/vue-router/4.1.6_vue@3.2.45
- vuepress-plugin-sass-palette: registry.npmmirror.com/vuepress-plugin-sass-palette/2.0.0-beta.124
- vuepress-shared: registry.npmmirror.com/vuepress-shared/2.0.0-beta.124
- transitivePeerDependencies:
- - '@vue/composition-api'
- - supports-color
- dev: true
+ yaml@2.9.1: {}
- registry.npmmirror.com/vuepress-plugin-pwa2/2.0.0-beta.124:
- resolution: {integrity: sha512-Ad6wl+WB0MPsqevlWW3fqmrczPqgFH5iO33o6Kjw0ra2VS8OIEw8Sk8Uf+hehs/1PYB3AizVpi7ZV38V3Tiz5Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vuepress-plugin-pwa2/-/vuepress-plugin-pwa2-2.0.0-beta.124.tgz}
- name: vuepress-plugin-pwa2
- version: 2.0.0-beta.124
- peerDependencies:
- sass-loader: ^13.0.0
- peerDependenciesMeta:
- sass-loader:
- optional: true
- dependencies:
- '@vuepress/client': registry.npmmirror.com/@vuepress/client/2.0.0-beta.53
- '@vuepress/shared': registry.npmmirror.com/@vuepress/shared/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- '@vueuse/core': registry.npmmirror.com/@vueuse/core/9.5.0_vue@3.2.45
- mitt: registry.npmmirror.com/mitt/3.0.0
- register-service-worker: registry.npmmirror.com/register-service-worker/1.7.2
- vue: registry.npmmirror.com/vue/3.2.45
- vue-router: registry.npmmirror.com/vue-router/4.1.6_vue@3.2.45
- vuepress-plugin-sass-palette: registry.npmmirror.com/vuepress-plugin-sass-palette/2.0.0-beta.124
- vuepress-shared: registry.npmmirror.com/vuepress-shared/2.0.0-beta.124
- workbox-build: registry.npmmirror.com/workbox-build/6.5.4
- transitivePeerDependencies:
- - '@types/babel__core'
- - '@vue/composition-api'
- - supports-color
- dev: true
+ yargs-parser@20.2.9: {}
- registry.npmmirror.com/vuepress-plugin-reading-time2/2.0.0-beta.124:
- resolution: {integrity: sha512-+RF1oCnYFdDYpujjZ5+Ad31W309LOz6c8kCuXHinz+3CiOS684n9zaCFslj4HIYe8EhJRAr+/2U50K20H/+/Zw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vuepress-plugin-reading-time2/-/vuepress-plugin-reading-time2-2.0.0-beta.124.tgz}
- name: vuepress-plugin-reading-time2
- version: 2.0.0-beta.124
- dependencies:
- vuepress-shared: registry.npmmirror.com/vuepress-shared/2.0.0-beta.124
- transitivePeerDependencies:
- - supports-color
- dev: true
+ yargs-parser@21.1.1: {}
- registry.npmmirror.com/vuepress-plugin-sass-palette/2.0.0-beta.124:
- resolution: {integrity: sha512-8777qDJ5tj+bBR8jC9uyfEQ8MLcADtSIao2W4drYo+ltxArMfHbFyAgOJzClocAfbN3xOzgiyjYKudayIAvJsQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vuepress-plugin-sass-palette/-/vuepress-plugin-sass-palette-2.0.0-beta.124.tgz}
- name: vuepress-plugin-sass-palette
- version: 2.0.0-beta.124
- peerDependencies:
- sass-loader: ^13.0.0
- peerDependenciesMeta:
- sass-loader:
- optional: true
- dependencies:
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- chokidar: registry.npmmirror.com/chokidar/3.5.3
- sass: registry.npmmirror.com/sass/1.56.1
- vuepress-shared: registry.npmmirror.com/vuepress-shared/2.0.0-beta.124
- transitivePeerDependencies:
- - supports-color
- dev: true
+ yargs-parser@22.0.0: {}
- registry.npmmirror.com/vuepress-plugin-search-pro/2.0.0-beta.124:
- resolution: {integrity: sha512-NxXNAsft7hCfGDDrvdsyeB7XsS0u6wo3xt/t39iaoS3SInmFzCzbOZ9HfNnQjFWCZSX1X6j6KfqogdGNPMRhpg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vuepress-plugin-search-pro/-/vuepress-plugin-search-pro-2.0.0-beta.124.tgz}
- name: vuepress-plugin-search-pro
- version: 2.0.0-beta.124
- peerDependencies:
- sass-loader: ^13.3d.0
- peerDependenciesMeta:
- sass-loader:
- optional: true
+ yargs@17.7.3:
dependencies:
- '@vuepress/client': registry.npmmirror.com/@vuepress/client/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- '@vueuse/core': registry.npmmirror.com/@vueuse/core/9.5.0_vue@3.2.45
- cheerio: registry.npmmirror.com/cheerio/1.0.0-rc.12
- chokidar: registry.npmmirror.com/chokidar/3.5.3
- vue: registry.npmmirror.com/vue/3.2.45
- vue-router: registry.npmmirror.com/vue-router/4.1.6_vue@3.2.45
- vuepress-plugin-sass-palette: registry.npmmirror.com/vuepress-plugin-sass-palette/2.0.0-beta.124
- vuepress-shared: registry.npmmirror.com/vuepress-shared/2.0.0-beta.124
- transitivePeerDependencies:
- - '@vue/composition-api'
- - supports-color
- dev: true
+ cliui: 8.0.1
+ escalade: 3.2.0
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ string-width: 4.2.3
+ y18n: 5.0.8
+ yargs-parser: 21.1.1
- registry.npmmirror.com/vuepress-plugin-seo2/2.0.0-beta.124:
- resolution: {integrity: sha512-PTr8VAjtAZ5l4T9HB15UgRGQ2zQVH/FgpI4A9nlZoYSXYhnrdQyTEH+N33UtZX95LkKhSIN9anB2D72ekP+sGQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vuepress-plugin-seo2/-/vuepress-plugin-seo2-2.0.0-beta.124.tgz}
- name: vuepress-plugin-seo2
- version: 2.0.0-beta.124
+ yargs@18.2.0:
dependencies:
- '@vuepress/shared': registry.npmmirror.com/@vuepress/shared/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- gray-matter: registry.npmmirror.com/gray-matter/4.0.3
- vuepress-shared: registry.npmmirror.com/vuepress-shared/2.0.0-beta.124
- transitivePeerDependencies:
- - supports-color
- dev: true
+ cliui: 9.0.1
+ escalade: 3.2.0
+ get-caller-file: 2.0.5
+ string-width: 8.3.0
+ y18n: 5.0.8
+ yargs-parser: 22.0.0
- registry.npmmirror.com/vuepress-plugin-sitemap2/2.0.0-beta.124:
- resolution: {integrity: sha512-uzJv3ncHp/Iw3UH5TRGP9j4Fa/jgohzY3r0lzsKp0PeaTYu8uCIDi7veTVpxwi+WyZEJxhoA+vypokc5sU8kvQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vuepress-plugin-sitemap2/-/vuepress-plugin-sitemap2-2.0.0-beta.124.tgz}
- name: vuepress-plugin-sitemap2
- version: 2.0.0-beta.124
- dependencies:
- '@vuepress/shared': registry.npmmirror.com/@vuepress/shared/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- sitemap: registry.npmmirror.com/sitemap/7.1.1
- vuepress-shared: registry.npmmirror.com/vuepress-shared/2.0.0-beta.124
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- registry.npmmirror.com/vuepress-shared/2.0.0-beta.124:
- resolution: {integrity: sha512-gMXvmKJtq+RqJnC4j/lDZrKimhQp5j087H0UI3iCQLqsZ/HddXIpqQElZr43jfEIpVEV3M/+usbiTF0fwepFlA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vuepress-shared/-/vuepress-shared-2.0.0-beta.124.tgz}
- name: vuepress-shared
- version: 2.0.0-beta.124
- dependencies:
- '@vuepress/client': registry.npmmirror.com/@vuepress/client/2.0.0-beta.53
- '@vuepress/plugin-git': registry.npmmirror.com/@vuepress/plugin-git/2.0.0-beta.53
- '@vuepress/shared': registry.npmmirror.com/@vuepress/shared/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- dayjs: registry.npmmirror.com/dayjs/1.11.6
- execa: registry.npmmirror.com/execa/6.1.0
- fflate: registry.npmmirror.com/fflate/0.7.4
- ora: registry.npmmirror.com/ora/6.1.2
- striptags: registry.npmmirror.com/striptags/3.2.0
- vue: registry.npmmirror.com/vue/3.2.45
- vue-router: registry.npmmirror.com/vue-router/4.1.6_vue@3.2.45
- transitivePeerDependencies:
- - supports-color
- dev: true
+ yn@3.1.1: {}
- registry.npmmirror.com/vuepress-theme-hope/2.0.0-beta.124:
- resolution: {integrity: sha512-N/RzhOaU4rDWprbKgz807H5diT2gEEO5XKNSzR9L0Gh36TPqDUs7t1EPal1fJrHtn6QbBM1Zf9Unmqw8QBCHPQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vuepress-theme-hope/-/vuepress-theme-hope-2.0.0-beta.124.tgz}
- name: vuepress-theme-hope
- version: 2.0.0-beta.124
- peerDependencies:
- sass-loader: ^13.0.0
- peerDependenciesMeta:
- sass-loader:
- optional: true
- dependencies:
- '@vuepress/cli': registry.npmmirror.com/@vuepress/cli/2.0.0-beta.53
- '@vuepress/client': registry.npmmirror.com/@vuepress/client/2.0.0-beta.53
- '@vuepress/core': registry.npmmirror.com/@vuepress/core/2.0.0-beta.53
- '@vuepress/plugin-active-header-links': registry.npmmirror.com/@vuepress/plugin-active-header-links/2.0.0-beta.53
- '@vuepress/plugin-container': registry.npmmirror.com/@vuepress/plugin-container/2.0.0-beta.53
- '@vuepress/plugin-external-link-icon': registry.npmmirror.com/@vuepress/plugin-external-link-icon/2.0.0-beta.53
- '@vuepress/plugin-git': registry.npmmirror.com/@vuepress/plugin-git/2.0.0-beta.53
- '@vuepress/plugin-nprogress': registry.npmmirror.com/@vuepress/plugin-nprogress/2.0.0-beta.53
- '@vuepress/plugin-palette': registry.npmmirror.com/@vuepress/plugin-palette/2.0.0-beta.53
- '@vuepress/plugin-prismjs': registry.npmmirror.com/@vuepress/plugin-prismjs/2.0.0-beta.53
- '@vuepress/plugin-theme-data': registry.npmmirror.com/@vuepress/plugin-theme-data/2.0.0-beta.53
- '@vuepress/shared': registry.npmmirror.com/@vuepress/shared/2.0.0-beta.53
- '@vuepress/utils': registry.npmmirror.com/@vuepress/utils/2.0.0-beta.53
- '@vueuse/core': registry.npmmirror.com/@vueuse/core/9.5.0_vue@3.2.45
- balloon-css: registry.npmmirror.com/balloon-css/1.2.0
- bcrypt-ts: registry.npmmirror.com/bcrypt-ts/3.0.0
- gray-matter: registry.npmmirror.com/gray-matter/4.0.3
- vue: registry.npmmirror.com/vue/3.2.45
- vue-router: registry.npmmirror.com/vue-router/4.1.6_vue@3.2.45
- vuepress-plugin-blog2: registry.npmmirror.com/vuepress-plugin-blog2/2.0.0-beta.124
- vuepress-plugin-comment2: registry.npmmirror.com/vuepress-plugin-comment2/2.0.0-beta.124
- vuepress-plugin-components: registry.npmmirror.com/vuepress-plugin-components/2.0.0-beta.124
- vuepress-plugin-copy-code2: registry.npmmirror.com/vuepress-plugin-copy-code2/2.0.0-beta.124
- vuepress-plugin-copyright2: registry.npmmirror.com/vuepress-plugin-copyright2/2.0.0-beta.124
- vuepress-plugin-feed2: registry.npmmirror.com/vuepress-plugin-feed2/2.0.0-beta.124
- vuepress-plugin-md-enhance: registry.npmmirror.com/vuepress-plugin-md-enhance/2.0.0-beta.124
- vuepress-plugin-photo-swipe: registry.npmmirror.com/vuepress-plugin-photo-swipe/2.0.0-beta.124
- vuepress-plugin-pwa2: registry.npmmirror.com/vuepress-plugin-pwa2/2.0.0-beta.124
- vuepress-plugin-reading-time2: registry.npmmirror.com/vuepress-plugin-reading-time2/2.0.0-beta.124
- vuepress-plugin-sass-palette: registry.npmmirror.com/vuepress-plugin-sass-palette/2.0.0-beta.124
- vuepress-plugin-seo2: registry.npmmirror.com/vuepress-plugin-seo2/2.0.0-beta.124
- vuepress-plugin-sitemap2: registry.npmmirror.com/vuepress-plugin-sitemap2/2.0.0-beta.124
- vuepress-shared: registry.npmmirror.com/vuepress-shared/2.0.0-beta.124
- transitivePeerDependencies:
- - '@types/babel__core'
- - '@vue/composition-api'
- - encoding
- - supports-color
- dev: true
+ yocto-queue@0.1.0: {}
- registry.npmmirror.com/vuepress-vite/2.0.0-beta.53_54nmke4n2vj3tdp5cd33kvtiom:
- resolution: {integrity: sha512-kITVMM+LcV5mDQXQXAKgK0adAGMm7oyPls6HPTLM9gUvpSs2A19zfwf8zFoxIF9X+ANay4Tg87egtnJOcp8Wcg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vuepress-vite/-/vuepress-vite-2.0.0-beta.53.tgz}
- id: registry.npmmirror.com/vuepress-vite/2.0.0-beta.53
- name: vuepress-vite
- version: 2.0.0-beta.53
- hasBin: true
- peerDependencies:
- '@vuepress/client': ^2.0.0-beta.50
- vue: ^3.2.37
- dependencies:
- '@vuepress/bundler-vite': registry.npmmirror.com/@vuepress/bundler-vite/2.0.0-beta.53
- '@vuepress/cli': registry.npmmirror.com/@vuepress/cli/2.0.0-beta.53
- '@vuepress/client': registry.npmmirror.com/@vuepress/client/2.0.0-beta.53
- '@vuepress/core': registry.npmmirror.com/@vuepress/core/2.0.0-beta.53
- '@vuepress/theme-default': registry.npmmirror.com/@vuepress/theme-default/2.0.0-beta.53
- vue: registry.npmmirror.com/vue/3.2.45
- transitivePeerDependencies:
- - '@vue/composition-api'
- - less
- - sass
- - sass-loader
- - stylus
- - supports-color
- - terser
- - ts-node
- dev: true
-
- registry.npmmirror.com/vuepress/2.0.0-beta.53_54nmke4n2vj3tdp5cd33kvtiom:
- resolution: {integrity: sha512-swnH25oCHAE0ZIXBAp4gaalIsrxLLn+mguekOybwLcTNQUgbcqf8EXwVxOgN663JzPuHcxRAJg3nN/swKsFifQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vuepress/-/vuepress-2.0.0-beta.53.tgz}
- id: registry.npmmirror.com/vuepress/2.0.0-beta.53
- name: vuepress
- version: 2.0.0-beta.53
- hasBin: true
- dependencies:
- vuepress-vite: registry.npmmirror.com/vuepress-vite/2.0.0-beta.53_54nmke4n2vj3tdp5cd33kvtiom
- transitivePeerDependencies:
- - '@vue/composition-api'
- - '@vuepress/client'
- - less
- - sass
- - sass-loader
- - stylus
- - supports-color
- - terser
- - ts-node
- - vue
- dev: true
-
- registry.npmmirror.com/wcwidth/1.0.1:
- resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/wcwidth/-/wcwidth-1.0.1.tgz}
- name: wcwidth
- version: 1.0.1
- dependencies:
- defaults: registry.npmmirror.com/defaults/1.0.3
- dev: true
-
- registry.npmmirror.com/web-resource-inliner/6.0.1:
- resolution: {integrity: sha512-kfqDxt5dTB1JhqsCUQVFDj0rmY+4HLwGQIsLPbyrsN9y9WV/1oFDSx3BQ4GfCv9X+jVeQ7rouTqwK53rA/7t8A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/web-resource-inliner/-/web-resource-inliner-6.0.1.tgz}
- name: web-resource-inliner
- version: 6.0.1
- engines: {node: '>=10.0.0'}
- dependencies:
- ansi-colors: registry.npmmirror.com/ansi-colors/4.1.3
- escape-goat: registry.npmmirror.com/escape-goat/3.0.0
- htmlparser2: registry.npmmirror.com/htmlparser2/5.0.1
- mime: registry.npmmirror.com/mime/2.6.0
- node-fetch: registry.npmmirror.com/node-fetch/2.6.7
- valid-data-url: registry.npmmirror.com/valid-data-url/3.0.1
- transitivePeerDependencies:
- - encoding
- dev: true
-
- registry.npmmirror.com/webidl-conversions/3.0.1:
- resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz}
- name: webidl-conversions
- version: 3.0.1
- dev: true
-
- registry.npmmirror.com/webidl-conversions/4.0.2:
- resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz}
- name: webidl-conversions
- version: 4.0.2
- dev: true
-
- registry.npmmirror.com/whatwg-url/5.0.0:
- resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/whatwg-url/-/whatwg-url-5.0.0.tgz}
- name: whatwg-url
- version: 5.0.0
- dependencies:
- tr46: registry.npmmirror.com/tr46/0.0.3
- webidl-conversions: registry.npmmirror.com/webidl-conversions/3.0.1
- dev: true
-
- registry.npmmirror.com/whatwg-url/7.1.0:
- resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/whatwg-url/-/whatwg-url-7.1.0.tgz}
- name: whatwg-url
- version: 7.1.0
- dependencies:
- lodash.sortby: registry.npmmirror.com/lodash.sortby/4.7.0
- tr46: registry.npmmirror.com/tr46/1.0.1
- webidl-conversions: registry.npmmirror.com/webidl-conversions/4.0.2
- dev: true
-
- registry.npmmirror.com/which-boxed-primitive/1.0.2:
- resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz}
- name: which-boxed-primitive
- version: 1.0.2
- dependencies:
- is-bigint: registry.npmmirror.com/is-bigint/1.0.4
- is-boolean-object: registry.npmmirror.com/is-boolean-object/1.1.2
- is-number-object: registry.npmmirror.com/is-number-object/1.0.7
- is-string: registry.npmmirror.com/is-string/1.0.7
- is-symbol: registry.npmmirror.com/is-symbol/1.0.4
- dev: true
-
- registry.npmmirror.com/which/1.3.1:
- resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/which/-/which-1.3.1.tgz}
- name: which
- version: 1.3.1
- hasBin: true
- dependencies:
- isexe: registry.npmmirror.com/isexe/2.0.0
- dev: true
+ yocto-queue@1.2.2: {}
- registry.npmmirror.com/which/2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/which/-/which-2.0.2.tgz}
- name: which
- version: 2.0.2
- engines: {node: '>= 8'}
- hasBin: true
- dependencies:
- isexe: registry.npmmirror.com/isexe/2.0.0
- dev: true
-
- registry.npmmirror.com/wicked-good-xpath/1.3.0:
- resolution: {integrity: sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz}
- name: wicked-good-xpath
- version: 1.3.0
- dev: true
-
- registry.npmmirror.com/workbox-background-sync/6.5.4:
- resolution: {integrity: sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz}
- name: workbox-background-sync
- version: 6.5.4
- dependencies:
- idb: registry.npmmirror.com/idb/7.1.1
- workbox-core: registry.npmmirror.com/workbox-core/6.5.4
- dev: true
-
- registry.npmmirror.com/workbox-broadcast-update/6.5.4:
- resolution: {integrity: sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz}
- name: workbox-broadcast-update
- version: 6.5.4
- dependencies:
- workbox-core: registry.npmmirror.com/workbox-core/6.5.4
- dev: true
-
- registry.npmmirror.com/workbox-build/6.5.4:
- resolution: {integrity: sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/workbox-build/-/workbox-build-6.5.4.tgz}
- name: workbox-build
- version: 6.5.4
- engines: {node: '>=10.0.0'}
- dependencies:
- '@apideck/better-ajv-errors': registry.npmmirror.com/@apideck/better-ajv-errors/0.3.3_ajv@8.11.0
- '@babel/core': registry.npmmirror.com/@babel/core/7.17.10
- '@babel/preset-env': registry.npmmirror.com/@babel/preset-env/7.17.10_@babel+core@7.17.10
- '@babel/runtime': registry.npmmirror.com/@babel/runtime/7.17.9
- '@rollup/plugin-babel': registry.npmmirror.com/@rollup/plugin-babel/5.3.1_rdqchdyh26wleuqzxvwvgxjg6a
- '@rollup/plugin-node-resolve': registry.npmmirror.com/@rollup/plugin-node-resolve/11.2.1_rollup@2.79.1
- '@rollup/plugin-replace': registry.npmmirror.com/@rollup/plugin-replace/2.4.2_rollup@2.79.1
- '@surma/rollup-plugin-off-main-thread': registry.npmmirror.com/@surma/rollup-plugin-off-main-thread/2.2.3
- ajv: registry.npmmirror.com/ajv/8.11.0
- common-tags: registry.npmmirror.com/common-tags/1.8.2
- fast-json-stable-stringify: registry.npmmirror.com/fast-json-stable-stringify/2.1.0
- fs-extra: registry.npmmirror.com/fs-extra/9.1.0
- glob: registry.npmmirror.com/glob/7.2.0
- lodash: registry.npmmirror.com/lodash/4.17.21
- pretty-bytes: registry.npmmirror.com/pretty-bytes/5.6.0
- rollup: registry.npmmirror.com/rollup/2.79.1
- rollup-plugin-terser: registry.npmmirror.com/rollup-plugin-terser/7.0.2_rollup@2.79.1
- source-map: registry.npmmirror.com/source-map/0.8.0-beta.0
- stringify-object: registry.npmmirror.com/stringify-object/3.3.0
- strip-comments: registry.npmmirror.com/strip-comments/2.0.1
- tempy: registry.npmmirror.com/tempy/0.6.0
- upath: registry.npmmirror.com/upath/1.2.0
- workbox-background-sync: registry.npmmirror.com/workbox-background-sync/6.5.4
- workbox-broadcast-update: registry.npmmirror.com/workbox-broadcast-update/6.5.4
- workbox-cacheable-response: registry.npmmirror.com/workbox-cacheable-response/6.5.4
- workbox-core: registry.npmmirror.com/workbox-core/6.5.4
- workbox-expiration: registry.npmmirror.com/workbox-expiration/6.5.4
- workbox-google-analytics: registry.npmmirror.com/workbox-google-analytics/6.5.4
- workbox-navigation-preload: registry.npmmirror.com/workbox-navigation-preload/6.5.4
- workbox-precaching: registry.npmmirror.com/workbox-precaching/6.5.4
- workbox-range-requests: registry.npmmirror.com/workbox-range-requests/6.5.4
- workbox-recipes: registry.npmmirror.com/workbox-recipes/6.5.4
- workbox-routing: registry.npmmirror.com/workbox-routing/6.5.4
- workbox-strategies: registry.npmmirror.com/workbox-strategies/6.5.4
- workbox-streams: registry.npmmirror.com/workbox-streams/6.5.4
- workbox-sw: registry.npmmirror.com/workbox-sw/6.5.4
- workbox-window: registry.npmmirror.com/workbox-window/6.5.4
- transitivePeerDependencies:
- - '@types/babel__core'
- - supports-color
- dev: true
-
- registry.npmmirror.com/workbox-cacheable-response/6.5.4:
- resolution: {integrity: sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz}
- name: workbox-cacheable-response
- version: 6.5.4
- dependencies:
- workbox-core: registry.npmmirror.com/workbox-core/6.5.4
- dev: true
-
- registry.npmmirror.com/workbox-core/6.5.4:
- resolution: {integrity: sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/workbox-core/-/workbox-core-6.5.4.tgz}
- name: workbox-core
- version: 6.5.4
- dev: true
-
- registry.npmmirror.com/workbox-expiration/6.5.4:
- resolution: {integrity: sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/workbox-expiration/-/workbox-expiration-6.5.4.tgz}
- name: workbox-expiration
- version: 6.5.4
- dependencies:
- idb: registry.npmmirror.com/idb/7.1.1
- workbox-core: registry.npmmirror.com/workbox-core/6.5.4
- dev: true
-
- registry.npmmirror.com/workbox-google-analytics/6.5.4:
- resolution: {integrity: sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz}
- name: workbox-google-analytics
- version: 6.5.4
- dependencies:
- workbox-background-sync: registry.npmmirror.com/workbox-background-sync/6.5.4
- workbox-core: registry.npmmirror.com/workbox-core/6.5.4
- workbox-routing: registry.npmmirror.com/workbox-routing/6.5.4
- workbox-strategies: registry.npmmirror.com/workbox-strategies/6.5.4
- dev: true
-
- registry.npmmirror.com/workbox-navigation-preload/6.5.4:
- resolution: {integrity: sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz}
- name: workbox-navigation-preload
- version: 6.5.4
- dependencies:
- workbox-core: registry.npmmirror.com/workbox-core/6.5.4
- dev: true
-
- registry.npmmirror.com/workbox-precaching/6.5.4:
- resolution: {integrity: sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/workbox-precaching/-/workbox-precaching-6.5.4.tgz}
- name: workbox-precaching
- version: 6.5.4
- dependencies:
- workbox-core: registry.npmmirror.com/workbox-core/6.5.4
- workbox-routing: registry.npmmirror.com/workbox-routing/6.5.4
- workbox-strategies: registry.npmmirror.com/workbox-strategies/6.5.4
- dev: true
-
- registry.npmmirror.com/workbox-range-requests/6.5.4:
- resolution: {integrity: sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz}
- name: workbox-range-requests
- version: 6.5.4
- dependencies:
- workbox-core: registry.npmmirror.com/workbox-core/6.5.4
- dev: true
-
- registry.npmmirror.com/workbox-recipes/6.5.4:
- resolution: {integrity: sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/workbox-recipes/-/workbox-recipes-6.5.4.tgz}
- name: workbox-recipes
- version: 6.5.4
- dependencies:
- workbox-cacheable-response: registry.npmmirror.com/workbox-cacheable-response/6.5.4
- workbox-core: registry.npmmirror.com/workbox-core/6.5.4
- workbox-expiration: registry.npmmirror.com/workbox-expiration/6.5.4
- workbox-precaching: registry.npmmirror.com/workbox-precaching/6.5.4
- workbox-routing: registry.npmmirror.com/workbox-routing/6.5.4
- workbox-strategies: registry.npmmirror.com/workbox-strategies/6.5.4
- dev: true
-
- registry.npmmirror.com/workbox-routing/6.5.4:
- resolution: {integrity: sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/workbox-routing/-/workbox-routing-6.5.4.tgz}
- name: workbox-routing
- version: 6.5.4
- dependencies:
- workbox-core: registry.npmmirror.com/workbox-core/6.5.4
- dev: true
-
- registry.npmmirror.com/workbox-strategies/6.5.4:
- resolution: {integrity: sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/workbox-strategies/-/workbox-strategies-6.5.4.tgz}
- name: workbox-strategies
- version: 6.5.4
- dependencies:
- workbox-core: registry.npmmirror.com/workbox-core/6.5.4
- dev: true
-
- registry.npmmirror.com/workbox-streams/6.5.4:
- resolution: {integrity: sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/workbox-streams/-/workbox-streams-6.5.4.tgz}
- name: workbox-streams
- version: 6.5.4
- dependencies:
- workbox-core: registry.npmmirror.com/workbox-core/6.5.4
- workbox-routing: registry.npmmirror.com/workbox-routing/6.5.4
- dev: true
-
- registry.npmmirror.com/workbox-sw/6.5.4:
- resolution: {integrity: sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/workbox-sw/-/workbox-sw-6.5.4.tgz}
- name: workbox-sw
- version: 6.5.4
- dev: true
-
- registry.npmmirror.com/workbox-window/6.5.4:
- resolution: {integrity: sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/workbox-window/-/workbox-window-6.5.4.tgz}
- name: workbox-window
- version: 6.5.4
- dependencies:
- '@types/trusted-types': registry.npmmirror.com/@types/trusted-types/2.0.2
- workbox-core: registry.npmmirror.com/workbox-core/6.5.4
- dev: true
-
- registry.npmmirror.com/wrappy/1.0.2:
- resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz}
- name: wrappy
- version: 1.0.2
- dev: true
-
- registry.npmmirror.com/xml-js/1.6.11:
- resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/xml-js/-/xml-js-1.6.11.tgz}
- name: xml-js
- version: 1.6.11
- hasBin: true
- dependencies:
- sax: registry.npmmirror.com/sax/1.2.4
- dev: true
-
- registry.npmmirror.com/xmldom-sre/0.1.31:
- resolution: {integrity: sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/xmldom-sre/-/xmldom-sre-0.1.31.tgz}
- name: xmldom-sre
- version: 0.1.31
- engines: {node: '>=0.1'}
- dev: true
-
- registry.npmmirror.com/yallist/4.0.0:
- resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz}
- name: yallist
- version: 4.0.0
- dev: true
-
- registry.npmmirror.com/yaml/2.1.3:
- resolution: {integrity: sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/yaml/-/yaml-2.1.3.tgz}
- name: yaml
- version: 2.1.3
- engines: {node: '>= 14'}
- dev: true
-
- registry.npmmirror.com/zrender/5.4.0:
- resolution: {integrity: sha512-rOS09Z2HSVGFs2dn/TuYk5BlCaZcVe8UDLLjj1ySYF828LATKKdxuakSZMvrDz54yiKPDYVfjdKqcX8Jky3BIA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/zrender/-/zrender-5.4.0.tgz}
- name: zrender
- version: 5.4.0
- dependencies:
- tslib: registry.npmmirror.com/tslib/2.3.0
- dev: true
+ zod@4.6.5: {}
+
+ zwitch@2.0.4: {}
diff --git a/public/content-assets/github-profile/footer-dark.svg b/public/content-assets/github-profile/footer-dark.svg
new file mode 100644
index 000000000..dac26508a
--- /dev/null
+++ b/public/content-assets/github-profile/footer-dark.svg
@@ -0,0 +1,32 @@
+
diff --git a/public/content-assets/github-profile/footer-light.svg b/public/content-assets/github-profile/footer-light.svg
new file mode 100644
index 000000000..f8dff67e0
--- /dev/null
+++ b/public/content-assets/github-profile/footer-light.svg
@@ -0,0 +1,32 @@
+
diff --git a/public/content-assets/github-profile/profile-dark.svg b/public/content-assets/github-profile/profile-dark.svg
new file mode 100644
index 000000000..e00bf43b9
--- /dev/null
+++ b/public/content-assets/github-profile/profile-dark.svg
@@ -0,0 +1,63 @@
+
diff --git a/public/content-assets/github-profile/profile-light.svg b/public/content-assets/github-profile/profile-light.svg
new file mode 100644
index 000000000..cfd719be5
--- /dev/null
+++ b/public/content-assets/github-profile/profile-light.svg
@@ -0,0 +1,63 @@
+
diff --git a/public/content-assets/github-profile/typing.svg b/public/content-assets/github-profile/typing.svg
new file mode 100644
index 000000000..29c72fed5
--- /dev/null
+++ b/public/content-assets/github-profile/typing.svg
@@ -0,0 +1 @@
+
diff --git a/public/content-assets/multihop-evidence-chain.svg b/public/content-assets/multihop-evidence-chain.svg
new file mode 100644
index 000000000..42b0397e4
--- /dev/null
+++ b/public/content-assets/multihop-evidence-chain.svg
@@ -0,0 +1,33 @@
+
diff --git a/src/.vuepress/public/favicon.ico b/public/favicon.ico
similarity index 100%
rename from src/.vuepress/public/favicon.ico
rename to public/favicon.ico
diff --git a/public/favicon.svg b/public/favicon.svg
new file mode 100644
index 000000000..226390571
--- /dev/null
+++ b/public/favicon.svg
@@ -0,0 +1 @@
+
diff --git a/public/images/editorial-design.jpg b/public/images/editorial-design.jpg
new file mode 100644
index 000000000..c1615814f
Binary files /dev/null and b/public/images/editorial-design.jpg differ
diff --git a/public/images/editorial-engineering.jpg b/public/images/editorial-engineering.jpg
new file mode 100644
index 000000000..5f01906ee
Binary files /dev/null and b/public/images/editorial-engineering.jpg differ
diff --git a/public/images/editorial-writing.jpg b/public/images/editorial-writing.jpg
new file mode 100644
index 000000000..1a0931d8e
Binary files /dev/null and b/public/images/editorial-writing.jpg differ
diff --git a/public/search-sw.js b/public/search-sw.js
new file mode 100644
index 000000000..5a38d4f67
--- /dev/null
+++ b/public/search-sw.js
@@ -0,0 +1,595 @@
+/* Versioned offline search. Automatic preparation yields to visible-page activity. */
+const SCOPE = new URL(self.registration.scope);
+const BASE = SCOPE.pathname;
+const PREFIX = `myblogdoc-search-v1:${encodeURIComponent(BASE)}:`;
+const MARKER = new URL(".offline-search-complete.json", SCOPE).href;
+const VISITED_STATE = new URL(".offline-search-visited.json", SCOPE).href;
+const VISITED_CACHE = `${PREFIX}visited`;
+const MAX_VISITED = 20;
+const MAX_VISITED_ASSETS = 256;
+let snapshotsPromise;
+let warmJob;
+let epoch = 0;
+let visitedQueue = Promise.resolve();
+const automaticClients = new Map();
+let automaticQuotaBlocked = false;
+
+const scoped = (url) =>
+ url.origin === SCOPE.origin && url.pathname.startsWith(BASE);
+const validVersion = (value) =>
+ typeof value === "string" && /^[\w.-]{1,128}$/.test(value);
+const jsonResponse = (value) =>
+ new Response(JSON.stringify(value), {
+ headers: { "Content-Type": "application/json" },
+ });
+const stateFor = (snapshot) =>
+ snapshot
+ ? {
+ phase: "ready",
+ hasDownload: true,
+ version: snapshot.version,
+ completed: snapshot.files.length,
+ total: snapshot.files.length,
+ totalBytes: snapshot.totalBytes,
+ }
+ : { phase: "available", hasDownload: false };
+
+async function networkFetch(resource, options = {}, timeout = 45000) {
+ const controller = new AbortController();
+ const parent = options.signal;
+ const abort = () => controller.abort();
+ if (parent?.aborted) controller.abort();
+ else parent?.addEventListener("abort", abort, { once: true });
+ const timer = setTimeout(abort, timeout);
+ try {
+ return await fetch(resource, { ...options, signal: controller.signal });
+ } finally {
+ clearTimeout(timer);
+ parent?.removeEventListener("abort", abort);
+ }
+}
+
+function manifestData(value) {
+ if (
+ !value ||
+ !validVersion(value.version) ||
+ value.base !== BASE ||
+ !Array.isArray(value.files) ||
+ !Number.isSafeInteger(value.totalBytes) ||
+ value.totalBytes < 0
+ )
+ throw new Error("Invalid offline search manifest.");
+ const seen = new Set();
+ const files = value.files.map((file) => {
+ if (
+ typeof file.url !== "string" ||
+ !Number.isSafeInteger(file.bytes) ||
+ file.bytes < 0
+ )
+ throw new Error("Invalid search asset.");
+ const url = new URL(file.url, SCOPE);
+ if (
+ !scoped(url) ||
+ url.username ||
+ url.password ||
+ url.search ||
+ url.hash ||
+ /%(?:2f|5c)/i.test(url.pathname) ||
+ [MARKER, VISITED_STATE].includes(url.href) ||
+ seen.has(url.href)
+ )
+ throw new Error("Search asset leaves its project scope.");
+ seen.add(url.href);
+ return { url: url.href, bytes: file.bytes };
+ });
+ if (
+ !files.length ||
+ files.reduce((sum, file) => sum + file.bytes, 0) !== value.totalBytes
+ )
+ throw new Error("Search asset sizes do not match the manifest.");
+ for (const required of [
+ "search-version.json",
+ "search-dictionary.json",
+ "content-index.json",
+ "blog/",
+ "en/blog/",
+ "pagefind/pagefind.js",
+ ]) {
+ if (!seen.has(new URL(required, SCOPE).href))
+ throw new Error("Offline search manifest is missing a required asset.");
+ }
+ return {
+ version: value.version,
+ base: BASE,
+ articleCount: value.articleCount,
+ totalBytes: value.totalBytes,
+ files,
+ };
+}
+
+async function snapshots() {
+ if (!snapshotsPromise)
+ snapshotsPromise = (async () => {
+ const complete = [];
+ for (const name of await caches.keys()) {
+ if (!name.startsWith(`${PREFIX}pack:`)) continue;
+ const cache = await caches.open(name);
+ const response = await cache.match(MARKER);
+ if (!response) continue;
+ try {
+ const marker = await response.json();
+ const manifest = manifestData(marker);
+ const keys = new Set(
+ (await cache.keys()).map((request) => request.url),
+ );
+ if (!manifest.files.every((file) => keys.has(file.url))) continue;
+ complete.push({
+ ...manifest,
+ name,
+ cache,
+ completedAt: marker.completedAt || 0,
+ urls: new Set(manifest.files.map((file) => file.url)),
+ });
+ } catch {
+ /* An interrupted or malformed pack is never published. */
+ }
+ }
+ return complete.sort((a, b) => b.completedAt - a.completedAt);
+ })().catch((error) => {
+ snapshotsPromise = undefined;
+ throw error;
+ });
+ return snapshotsPromise;
+}
+
+async function broadcast(state) {
+ for (const client of await self.clients.matchAll({
+ type: "window",
+ includeUncontrolled: true,
+ })) {
+ if (scoped(new URL(client.url)))
+ client.postMessage({ type: "OFFLINE_SEARCH_STATE", state });
+ }
+}
+function progress(job) {
+ for (const port of job.ports) {
+ try {
+ port.postMessage({ type: "OFFLINE_SEARCH_PROGRESS", state: job.state });
+ } catch {
+ job.ports.delete(port);
+ }
+ }
+ void broadcast(job.state);
+}
+async function offlineCacheStatus() {
+ return warmJob ? warmJob.state : stateFor((await snapshots())[0]);
+}
+
+async function automaticPermission(job) {
+ if (!job.automatic) return;
+ while (true) {
+ job.controller.signal.throwIfAborted();
+ let permitted = false;
+ let foregroundBusy = false;
+ for (const [id, policy] of automaticClients) {
+ const client = await self.clients.get(id);
+ if (!client || !scoped(new URL(client.url))) {
+ automaticClients.delete(id);
+ continue;
+ }
+ if (client.visibilityState === "visible") {
+ if (policy.busy) foregroundBusy = true;
+ if (policy.allowed) permitted = true;
+ }
+ }
+ permitted = permitted && !foregroundBusy;
+ if (job.state.paused === permitted) {
+ job.state.paused = !permitted;
+ progress(job);
+ }
+ if (permitted) return;
+ progress(job); // A paused sender still gets a heartbeat without fetching any assets.
+ await new Promise((resolve, reject) => {
+ const finish = () => {
+ clearTimeout(timer);
+ job.wake.delete(finish);
+ job.controller.signal.removeEventListener("abort", abort);
+ resolve();
+ };
+ const abort = () => {
+ finish();
+ reject(job.controller.signal.reason);
+ };
+ const timer = setTimeout(finish, 15000);
+ job.wake.add(finish);
+ job.controller.signal.addEventListener("abort", abort, { once: true });
+ if (job.controller.signal.aborted) abort();
+ });
+ }
+}
+
+async function resumableCache(manifest, complete) {
+ const preserved = complete[0]?.name;
+ let resumed;
+ for (const name of await caches.keys()) {
+ if (!name.startsWith(`${PREFIX}pack:`) || name === preserved) continue;
+ const cache = await caches.open(name);
+ if (
+ !resumed &&
+ name.startsWith(`${PREFIX}pack:${manifest.version}:`) &&
+ !(await cache.match(MARKER))
+ ) {
+ try {
+ const saved = manifestData(
+ await (
+ await cache.match(new URL("search-manifest.json", SCOPE).href)
+ ).json(),
+ );
+ if (JSON.stringify(saved.files) === JSON.stringify(manifest.files))
+ resumed = { name, cache };
+ } catch {
+ /* A partial pack is reusable only with the exact same reviewed manifest. */
+ }
+ }
+ if (resumed?.name !== name) await caches.delete(name);
+ }
+ return resumed;
+}
+
+async function downloadPack(job, expectedVersion) {
+ const controller = job.controller;
+ const manifestUrl = new URL("search-manifest.json", SCOPE).href;
+ let cacheName;
+ let committed = false;
+ let quotaFailure = false;
+ try {
+ await automaticPermission(job);
+ const response = await networkFetch(manifestUrl, {
+ cache: "no-store",
+ signal: controller.signal,
+ ...(job.automatic ? { priority: "low" } : {}),
+ });
+ if (!response.ok)
+ throw new Error("Offline search manifest could not be loaded.");
+ const rawManifest = await response.json();
+ const manifest = manifestData(rawManifest);
+ if (expectedVersion && manifest.version !== expectedVersion)
+ throw new Error("Search content changed. Try the download again.");
+ const complete = await snapshots();
+ const existing = complete.find((item) => item.version === manifest.version);
+ if (existing) return stateFor(existing);
+ // Same-version partial downloads can resume after a tab closes or a worker stops.
+ const resumed = await resumableCache(manifest, complete);
+ snapshotsPromise = undefined;
+ cacheName =
+ resumed?.name ||
+ `${PREFIX}pack:${manifest.version}:${Date.now()}-${Math.random().toString(36).slice(2)}`;
+ const cache = resumed?.cache || (await caches.open(cacheName));
+ await cache.put(manifestUrl, jsonResponse(rawManifest));
+ job.state = {
+ phase: "downloading",
+ hasDownload: complete.length > 0,
+ version: manifest.version,
+ completed: 0,
+ total: manifest.files.length,
+ totalBytes: manifest.totalBytes,
+ ...(job.automatic ? { paused: false } : {}),
+ };
+ progress(job);
+ let position = 0;
+ const workers = Array.from(
+ { length: Math.min(job.automatic ? 1 : 4, manifest.files.length) },
+ async () => {
+ try {
+ while (position < manifest.files.length) {
+ await automaticPermission(job);
+ controller.signal.throwIfAborted();
+ if (position >= manifest.files.length) break;
+ const file = manifest.files[position++];
+ const prior = await cache.match(file.url);
+ const reusable =
+ prior?.ok &&
+ (await prior.clone().arrayBuffer()).byteLength === file.bytes;
+ const asset = reusable
+ ? prior
+ : await networkFetch(file.url, {
+ cache: "no-store",
+ signal: controller.signal,
+ ...(job.automatic ? { priority: "low" } : {}),
+ });
+ if (
+ !asset.ok ||
+ !scoped(new URL(asset.url || file.url)) ||
+ (await asset.clone().arrayBuffer()).byteLength !== file.bytes
+ )
+ throw new Error("A search asset changed or could not be saved.");
+ controller.signal.throwIfAborted();
+ if (!reusable) await cache.put(file.url, asset);
+ job.state.completed++;
+ progress(job);
+ }
+ } catch (error) {
+ controller.abort();
+ throw error;
+ }
+ },
+ );
+ const results = await Promise.allSettled(workers);
+ const failure = results.find((result) => result.status === "rejected");
+ if (failure) throw failure.reason;
+ await automaticPermission(job);
+ controller.signal.throwIfAborted();
+ const versionResponse = await networkFetch(
+ new URL("search-version.json", SCOPE),
+ {
+ cache: "no-store",
+ signal: controller.signal,
+ ...(job.automatic ? { priority: "low" } : {}),
+ },
+ );
+ if (
+ !versionResponse.ok ||
+ (await versionResponse.json()).version !== manifest.version
+ )
+ throw new Error("Search content changed during the download.");
+ controller.signal.throwIfAborted();
+ await cache.put(manifestUrl, jsonResponse(rawManifest));
+ controller.signal.throwIfAborted();
+ // This is the only publication point: every listed asset is already present.
+ await cache.put(
+ MARKER,
+ jsonResponse({ ...manifest, completedAt: Date.now() }),
+ );
+ committed = true;
+ snapshotsPromise = undefined;
+ return stateFor({ ...manifest });
+ } catch (error) {
+ quotaFailure =
+ error?.name === "QuotaExceededError" ||
+ /quota/i.test(error?.message || "");
+ throw error;
+ } finally {
+ if (cacheName && !committed && (!job.automatic || quotaFailure))
+ await caches.delete(cacheName);
+ snapshotsPromise = undefined;
+ }
+}
+
+self.addEventListener("install", (event) =>
+ event.waitUntil(self.skipWaiting()),
+);
+self.addEventListener("activate", (event) =>
+ event.waitUntil(self.clients.claim()),
+);
+self.addEventListener("message", (event) => {
+ const port = event.ports?.[0];
+ if (!event.source?.url || !scoped(new URL(event.source.url))) return;
+ if (!port && event.data?.type !== "OFFLINE_SEARCH_ACTIVITY") return;
+ event.waitUntil(
+ (async () => {
+ try {
+ let state;
+ if (event.data?.type === "OFFLINE_SEARCH_ACTIVITY") {
+ if (event.source.id)
+ automaticClients.set(event.source.id, {
+ allowed: event.data.allowed === true,
+ busy: event.data.busy === true,
+ });
+ if (warmJob?.automatic) for (const wake of [...warmJob.wake]) wake();
+ state = await offlineCacheStatus();
+ } else if (event.data?.type === "OFFLINE_SEARCH_STATUS")
+ state = await offlineCacheStatus();
+ else if (event.data?.type === "OFFLINE_SEARCH_CLAIM") {
+ await self.clients.claim();
+ state = await offlineCacheStatus();
+ } else if (event.data?.type === "OFFLINE_SEARCH_DOWNLOAD") {
+ if (event.data.automatic === true && automaticQuotaBlocked)
+ throw Object.assign(
+ new Error("Offline storage quota is unavailable."),
+ { name: "QuotaExceededError" },
+ );
+ if (!warmJob) {
+ const complete = await snapshots();
+ if (!warmJob) {
+ const job = {
+ controller: new AbortController(),
+ ports: new Set(),
+ wake: new Set(),
+ automatic: event.data.automatic === true,
+ state: {
+ phase: "downloading",
+ hasDownload: complete.length > 0,
+ completed: 0,
+ version: event.data.expectedVersion,
+ ...(event.data.automatic === true ? { paused: false } : {}),
+ },
+ };
+ warmJob = job;
+ job.promise = downloadPack(job, event.data.expectedVersion)
+ .then(async (result) => {
+ await broadcast(result);
+ return result;
+ })
+ .catch(async (error) => {
+ const quota =
+ error?.name === "QuotaExceededError" ||
+ /quota/i.test(error?.message || "");
+ if (quota && job.automatic) automaticQuotaBlocked = true;
+ const complete = await snapshots().catch(() => []);
+ await broadcast({
+ ...job.state,
+ phase: "error",
+ hasDownload: complete.length > 0,
+ errorKind: quota ? "quota" : "network",
+ });
+ throw error;
+ })
+ .finally(() => {
+ if (warmJob === job) warmJob = undefined;
+ });
+ }
+ }
+ const job = warmJob;
+ job.ports.add(port);
+ port.postMessage({
+ type: "OFFLINE_SEARCH_PROGRESS",
+ state: job.state,
+ });
+ try {
+ state = await job.promise;
+ } finally {
+ job.ports.delete(port);
+ }
+ } else if (event.data?.type === "OFFLINE_SEARCH_REMOVE") {
+ epoch++;
+ automaticQuotaBlocked = false;
+ if (warmJob) {
+ warmJob.controller.abort();
+ await warmJob.promise.catch(() => {});
+ }
+ await visitedQueue.catch(() => {});
+ for (const name of await caches.keys())
+ if (name.startsWith(PREFIX)) await caches.delete(name);
+ snapshotsPromise = undefined;
+ state = { phase: "available", hasDownload: false };
+ await broadcast(state);
+ } else return;
+ port?.postMessage({ type: "OFFLINE_SEARCH_REPLY", ok: true, state });
+ } catch (error) {
+ port?.postMessage({
+ type: "OFFLINE_SEARCH_REPLY",
+ ok: false,
+ error: error?.message || "Offline search operation failed.",
+ code: error?.name,
+ });
+ }
+ })(),
+ );
+});
+
+function safeQueryPath(url) {
+ const path = url.pathname.slice(BASE.length);
+ return /^(?:pagefind\/|_astro\/|(?:images|content-assets)\/.+\.(?:svg|png|jpe?g|avif|webp)$|(?:content-index|search-version|search-manifest)\.json$|(?:en\/)?blog\/$)/i.test(
+ path,
+ );
+}
+async function cachedResponse(url) {
+ const complete = await snapshots();
+ if (!complete.length) return undefined;
+ const canonical = new URL(url.href);
+ canonical.hash = "";
+ const relativePath = url.pathname.slice(BASE.length);
+ if (safeQueryPath(url)) canonical.search = "";
+ const tag = relativePath.startsWith("pagefind/")
+ ? url.searchParams.get("v") ||
+ url.searchParams.get("ts") ||
+ url.searchParams.get("metaCacheTag")
+ : null;
+ const eligible = tag
+ ? complete.filter((snapshot) => snapshot.version === tag)
+ : complete;
+ for (const snapshot of eligible) {
+ if (
+ !snapshot.urls.has(canonical.href) &&
+ relativePath !== "search-manifest.json"
+ )
+ continue;
+ const response = await snapshot.cache.match(canonical.href);
+ if (response) return response;
+ }
+ if (tag && !eligible.length) return undefined;
+ const visited = await caches.open(VISITED_CACHE);
+ return visited.match(url.href);
+}
+
+function visitable(url, request) {
+ const path = url.pathname.slice(BASE.length);
+ if (request.mode === "navigate") return /^(?:en\/)?posts\/.+\/$/.test(path);
+ return /^(?:_astro\/.+\.(?:js|css)|images\/.+\.(?:avif|webp|png|jpe?g|svg)|content-assets\/.+\.(?:svg|png|jpe?g|webp|avif|mp4|webm|woff2?))$/i.test(
+ path,
+ );
+}
+function rememberVisit(url, request, response, requestEpoch) {
+ if (!response.ok || !visitable(url, request)) return Promise.resolve();
+ const task = visitedQueue
+ .catch(() => {})
+ .then(async () => {
+ if (epoch !== requestEpoch || !(await snapshots()).length) return;
+ const cache = await caches.open(VISITED_CACHE);
+ await cache.put(url.href, response);
+ const prior = await cache.match(VISITED_STATE);
+ const record = prior ? await prior.json() : { urls: [], assets: [] };
+ const key = request.mode === "navigate" ? "urls" : "assets";
+ record[key] = [
+ ...(record[key] || []).filter((value) => value !== url.href),
+ url.href,
+ ];
+ const limit = key === "urls" ? MAX_VISITED : MAX_VISITED_ASSETS;
+ while (record[key].length > limit)
+ await cache.delete(record[key].shift());
+ await cache.put(VISITED_STATE, jsonResponse(record));
+ })
+ .catch(() => {}); // Quota exhaustion for optional reading must not break live pages.
+ visitedQueue = task;
+ return task;
+}
+function filteredArchiveRedirect(url) {
+ const match = url.pathname
+ .slice(BASE.length)
+ .match(/^(en\/)?blog\/[1-9]\d*\/$/);
+ if (
+ !match ||
+ (!url.searchParams.has("q") && !url.searchParams.has("category"))
+ )
+ return undefined;
+ const archive = new URL(match[1] ? "en/blog/" : "blog/", SCOPE);
+ archive.search = url.search;
+ archive.hash = url.hash;
+ return Response.redirect(archive.href, 302);
+}
+function offlinePage(url) {
+ const english = url.pathname.slice(BASE.length).startsWith("en/");
+ const archive = new URL(english ? "en/blog/" : "blog/", SCOPE).pathname;
+ const title = english
+ ? "This page is not saved offline."
+ : "此页面尚未保存到离线缓存。";
+ const description = english
+ ? "Downloaded search is available. Articles can be read offline after you visit them."
+ : "已下载的文章搜索仍可使用。访问过的文章可供离线阅读。";
+ return new Response(
+ `
${title}${title}
${description}
${english ? "Open offline search" : "打开离线搜索"}`,
+ {
+ status: 503,
+ headers: {
+ "Content-Type": "text/html; charset=utf-8",
+ "Cache-Control": "no-store",
+ },
+ },
+ );
+}
+self.addEventListener("fetch", (event) => {
+ const request = event.request;
+ const url = new URL(request.url);
+ if (request.method !== "GET" || !scoped(url)) return;
+ const requestEpoch = epoch;
+ event.respondWith(
+ (async () => {
+ try {
+ const response = await networkFetch(request, {}, 15000);
+ if (response.ok) {
+ event.waitUntil(
+ rememberVisit(url, request, response.clone(), requestEpoch),
+ );
+ return response;
+ }
+ return (await cachedResponse(url)) || response;
+ } catch {
+ const saved = await cachedResponse(url);
+ if (saved) return saved;
+ if (request.mode === "navigate" && (await snapshots()).length)
+ return filteredArchiveRedirect(url) || offlinePage(url);
+ return Response.error();
+ }
+ })(),
+ );
+});
diff --git a/public/social-card.jpg b/public/social-card.jpg
new file mode 100644
index 000000000..af613271a
Binary files /dev/null and b/public/social-card.jpg differ
diff --git a/public/social-card.svg b/public/social-card.svg
new file mode 100644
index 000000000..65136a37a
--- /dev/null
+++ b/public/social-card.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/reports/content-migration.json b/reports/content-migration.json
new file mode 100644
index 000000000..49b9c4d62
--- /dev/null
+++ b/reports/content-migration.json
@@ -0,0 +1,16712 @@
+{
+ "schemaVersion": 1,
+ "sourceReadOnly": true,
+ "datePolicy": "Explicit article frontmatter stays intact. Source filesystem modification times are provenance and dateModified only; they are never treated as publication dates.",
+ "counts": {
+ "reviewed": 820,
+ "added": 516,
+ "skipped": 292,
+ "excluded": 2,
+ "updated": 7,
+ "excluded_by_request": 3,
+ "assets": 1,
+ "recommendations": {
+ "import_new": 516,
+ "skip_working_notes": 3,
+ "skip_private_or_sensitive": 2,
+ "skip_duplicate": 221,
+ "skip_empty": 22,
+ "skip_about_duplicate": 1,
+ "skip_site_home": 1,
+ "skip_source_duplicate": 7,
+ "preserve_existing": 27,
+ "skip_superseded": 2,
+ "skip_stub": 8,
+ "update_existing": 7,
+ "skip_user_excluded": 3
+ },
+ "links": {
+ "rewritten": 1104,
+ "unresolved-to-text": 76,
+ "asset-rewritten": 1
+ },
+ "originallyMissingDocumentLinks": {
+ "inventoried": 153,
+ "rewritten": 128,
+ "convertedToText": 25
+ }
+ },
+ "existingRequestExcludedTargets": [],
+ "decisions": [
+ {
+ "sourceRelativePath": "产运快速Vibe Coding验证你的所思所想.md",
+ "targetRelativePath": "产运快速Vibe Coding验证你的所思所想.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d81d70d752fae753eedef3e5c3ae69867ca02fd7929c3285dfdaea783be6df1f"
+ },
+ {
+ "sourceRelativePath": "URL 解释 - 基础知识.md",
+ "targetRelativePath": "URL 解释 - 基础知识.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "7429174e6fc2ca9dcbe15983bf0442c0f78614de8b55232dcaca030fabd28ed7"
+ },
+ {
+ "sourceRelativePath": "「241024」Money Hack (下) What's Your Number.md",
+ "targetRelativePath": "「241024」Money Hack (下) What's Your Number.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "db148b3ba4e5763f3d8fadc36472d1a7936dba3f9c10ab032e07b0646ef3ee74"
+ },
+ {
+ "sourceRelativePath": "平台发布.md",
+ "targetRelativePath": "平台发布.md",
+ "recommendation": "skip_working_notes",
+ "action": "skipped",
+ "rationale": "internal article distribution/publishing plan"
+ },
+ {
+ "excluded": true,
+ "recommendation": "skip_private_or_sensitive",
+ "action": "excluded",
+ "rationale": "Private or sensitive working note omitted; no contents or fingerprints retained."
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "targetRelativePath": "索引.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "143d4b1d1fcf778408cc83794339fb855c067bdfa71c5c1de279474a6897ca57"
+ },
+ {
+ "sourceRelativePath": "技术目录整理清单.md",
+ "targetRelativePath": "技术目录整理清单.md",
+ "recommendation": "skip_working_notes",
+ "action": "skipped",
+ "rationale": "source directory migration checklist, not an article"
+ },
+ {
+ "sourceRelativePath": "个人简介.md",
+ "targetRelativePath": "个人简介.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "targetRelativePath": "翻译索引.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "80b29f8d8361f5cd549f616a9cf06038014a4cc6095c07ac3024206c9b64e615"
+ },
+ {
+ "sourceRelativePath": "().md",
+ "targetRelativePath": "().md",
+ "recommendation": "skip_empty",
+ "action": "skipped",
+ "rationale": null
+ },
+ {
+ "sourceRelativePath": "2026-01-18.md",
+ "targetRelativePath": "2026-01-18.md",
+ "recommendation": "skip_empty",
+ "action": "skipped",
+ "rationale": null
+ },
+ {
+ "sourceRelativePath": "intro.md",
+ "targetRelativePath": "intro.md",
+ "recommendation": "skip_about_duplicate",
+ "action": "skipped",
+ "rationale": "about page is newer and includes source content plus additional social info"
+ },
+ {
+ "sourceRelativePath": "2023 进阶清单.md",
+ "targetRelativePath": "2023 进阶清单.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "a0195482a367622172c5293b01af833d81b1fb361d42d919f740d71b723c1828"
+ },
+ {
+ "sourceRelativePath": "Vue Test Utils处理异步行为.md",
+ "targetRelativePath": "Vue Test Utils处理异步行为.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "be81efe27773c853f2bd0adaf0043ad157c46280ae65844b35d3865b2c62dccf"
+ },
+ {
+ "sourceRelativePath": "插件.md",
+ "targetRelativePath": "插件.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "4ac0b332c00cd7141f48a9e900056f1006a5d8d49587101963342fa766cf6370"
+ },
+ {
+ "sourceRelativePath": "README.md",
+ "targetRelativePath": "README.md",
+ "recommendation": "skip_site_home",
+ "action": "skipped",
+ "rationale": "source VuePress home config conflicts with Astro homepage"
+ },
+ {
+ "excluded": true,
+ "recommendation": "skip_private_or_sensitive",
+ "action": "excluded",
+ "rationale": "Private or sensitive working note omitted; no contents or fingerprints retained."
+ },
+ {
+ "sourceRelativePath": "123.md",
+ "targetRelativePath": "123.md",
+ "recommendation": "skip_empty",
+ "action": "skipped",
+ "rationale": null
+ },
+ {
+ "sourceRelativePath": "2023 书单.md",
+ "targetRelativePath": "2023 书单.md",
+ "recommendation": "skip_empty",
+ "action": "skipped",
+ "rationale": null
+ },
+ {
+ "sourceRelativePath": "Go/Go基础语法极速版(二)——续看基本类型.md",
+ "targetRelativePath": "Go/Go基础语法极速版(二)——续看基本类型.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "311f0b58daba4e1ffffce6dc030ef537d554fd4806dcc516eab4c861e41ffd30"
+ },
+ {
+ "sourceRelativePath": "Go/Go基础语法极速版(一)——从main函数到string类型.md",
+ "targetRelativePath": "Go/Go基础语法极速版(一)——从main函数到string类型.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "3bfa3242153a9b9e87c16a7299f5773e3492cd6ac2d4cf87371dbd6e03ac6820"
+ },
+ {
+ "sourceRelativePath": "Go/Go基础语法极速版(三)——变量、常量声明.md",
+ "targetRelativePath": "Go/Go基础语法极速版(三)——变量、常量声明.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "c432448843912c516aeb083cc6f646a1929cf1f961ed677a632a5f8041d915e4"
+ },
+ {
+ "sourceRelativePath": "Lit/第五章:致React开发者 - 将你的知识平移到Lit.md",
+ "targetRelativePath": "Lit/第五章:致React开发者 - 将你的知识平移到Lit.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "289169a3ff05f67899b1c6d4f6f3f421cb675643ad47c4ecc6966af14db5bfcf"
+ },
+ {
+ "sourceRelativePath": "Lit/第四章:响应式与状态 - 让组件动起来.md",
+ "targetRelativePath": "Lit/第四章:响应式与状态 - 让组件动起来.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d9142e6ed006265b9a36b86a745fbdcabaa5634982ceae1283bf04c5c2c93aeb"
+ },
+ {
+ "sourceRelativePath": "Lit/第三章:lit-html的威力 - 精通声明式模板.md",
+ "targetRelativePath": "Lit/第三章:lit-html的威力 - 精通声明式模板.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "e03af74bf2f0504279c5336fabfdff514841769db01fd6db231da2b972f792a9"
+ },
+ {
+ "sourceRelativePath": "Lit/第七章:组件化构建 - 组合与通信.md",
+ "targetRelativePath": "Lit/第七章:组件化构建 - 组合与通信.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "c1592be97cb373bc7e81c5705b10d089713624913320a91056da05f4b4fab94d"
+ },
+ {
+ "sourceRelativePath": "Lit/第八章:高级概念与Lit生态系统.md",
+ "targetRelativePath": "Lit/第八章:高级概念与Lit生态系统.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "b0570fc39cea7dc414c3ea68789d5499223d5ffc99496bad0bd44e1f2ef676e3"
+ },
+ {
+ "sourceRelativePath": "Lit/第六章:样式与主题 - Shadow DOM的封装艺术.md",
+ "targetRelativePath": "Lit/第六章:样式与主题 - Shadow DOM的封装艺术.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "e69d45b6e63bff082d79c7cb283d7e4930a69d38202cfc3f4b9c61f13c4ea821"
+ },
+ {
+ "sourceRelativePath": "Lit/第一章:Lit简介 - 现代Web组件标准.md",
+ "targetRelativePath": "Lit/第一章:Lit简介 - 现代Web组件标准.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "c99c9c7370ef8798f808f85fc35b7e9ffd01c106b0844346881207e5bcedcd42"
+ },
+ {
+ "sourceRelativePath": "Lit/第二章:你的第一个Lit组件 - 从零到\"Hello, World\".md",
+ "targetRelativePath": "Lit/第二章:你的第一个Lit组件 - 从零到\"Hello, World\".md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "da5a6434e35dac8def494904a6fcbf5abba6390866d6a9241da5e1bf7eacf62c"
+ },
+ {
+ "sourceRelativePath": "Lit/第二章:你的第一个Lit组件 - 从零到“Hello, World”.md",
+ "targetRelativePath": "Lit/第二章:你的第一个Lit组件 - 从零到\"Hello, World\".md",
+ "recommendation": "skip_source_duplicate",
+ "action": "skipped",
+ "rationale": "same Lit第二章 topic: short 2393-char no-H1 draft superseded by 9237-char full tutorial with H1, complete chapter summary and exercises"
+ },
+ {
+ "sourceRelativePath": "CSS/Flex 布局.md",
+ "targetRelativePath": "CSS/基础知识/Flex 布局.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "CSS/Grid 布局.md",
+ "targetRelativePath": "CSS/基础知识/Grid 布局.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "targetRelativePath": "CSS/索引.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "376b74c5dad5c35c32fdb1c2e222a5a70de4563fb0d9964e8cd31cbcbaa6ec74"
+ },
+ {
+ "sourceRelativePath": "CSS/CSS 父元素没有被子元素撑开问题.md",
+ "targetRelativePath": "CSS/CSS 父元素没有被子元素撑开问题.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "CSS/Web 安全字体和网络字体 (Web Fonts).md",
+ "targetRelativePath": "CSS/基础知识/Web 安全字体和网络字体 (Web Fonts).md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "CSS/Tailwind CSS 核心概念:功能类优先.md",
+ "targetRelativePath": "CSS/Tailwind CSS 核心概念:功能类优先.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "CSS/CSS 自定义属性.md",
+ "targetRelativePath": "CSS/基础知识/CSS 自定义属性.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "CSS/逻辑组合伪类.md",
+ "targetRelativePath": "CSS/基础知识/逻辑组合伪类.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "CSS/伪类与伪元素的区别.md",
+ "targetRelativePath": "CSS/基础知识/伪类与伪元素的区别.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "CSS/Stylus 学习整合.md",
+ "targetRelativePath": "CSS/基础知识/Stylus 学习整合.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "CSS/值得你了解的Tailwind CSS Tips和技巧.md",
+ "targetRelativePath": "CSS/值得你了解的Tailwind CSS Tips和技巧.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "93dcddbe3be5b6aef2512f7fd307b4578ca98d7eb8118266757a9da74c29022c"
+ },
+ {
+ "sourceRelativePath": "CSS/Vue scoped属性的用途和工作原理.md",
+ "targetRelativePath": "CSS/Vue scoped属性的用途和工作原理.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "CSS/Less 知识点汇总.md",
+ "targetRelativePath": "CSS/基础知识/Less 知识点汇总.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "CSS/CSS进阶:逻辑组合伪类.md",
+ "targetRelativePath": "CSS/基础知识/CSS进阶:逻辑组合伪类.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "CSS/PostCSS.md",
+ "targetRelativePath": "CSS/PostCSS.md",
+ "recommendation": "skip_empty",
+ "action": "skipped",
+ "rationale": null
+ },
+ {
+ "sourceRelativePath": "TipTap/Tiptap教程系列(二)_优化版.md",
+ "targetRelativePath": "TipTap/Tiptap教程系列(二).md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": "use expanded optimized edition at stable ordinary chapter filename",
+ "resultHash": "7ff651ddb10aab6f11bc5240d67f8e3d161f4f0a0fb3f6e40e43896ce05d0d01"
+ },
+ {
+ "sourceRelativePath": "TipTap/Tiptap教程系列(三)-优化版.md",
+ "targetRelativePath": "TipTap/Tiptap教程系列(三).md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": "use expanded optimized edition at stable ordinary chapter filename",
+ "resultHash": "2cc4262dcf8a6d2b0cd6b003d7c272916becd7eaec32eb81d7cd9d679e5d3afc"
+ },
+ {
+ "sourceRelativePath": "TipTap/Tiptap教程系列(三).md",
+ "targetRelativePath": "TipTap/Tiptap教程系列(三).md",
+ "recommendation": "skip_superseded",
+ "action": "skipped",
+ "rationale": "expanded optimized edition supplies same tutorial chapter"
+ },
+ {
+ "sourceRelativePath": "TipTap/大纲.md",
+ "targetRelativePath": "产品/B站视频播客:长视频的另类出路,还是看上去很美?.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": "actual first H3/article subject differs from its temporary filename",
+ "titleOverride": "B站视频播客:长视频的另类出路,还是看上去很美?",
+ "resultHash": "e8b5dcd9aea20178debfa995c2d943eb96484705722990b57577a752823c0add"
+ },
+ {
+ "sourceRelativePath": "TipTap/Tiptap教程系列(一).md",
+ "targetRelativePath": "TipTap/Tiptap教程系列(一).md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "57748a3ed8b0a6f9b60fe2025230837fedb08d6660ba39c52223cfdf208be11d"
+ },
+ {
+ "sourceRelativePath": "TipTap/编辑器加载快了 60%:我们是怎么把 1.5MB 的\"赘肉\"切掉的.md",
+ "targetRelativePath": "TipTap/编辑器加载快了 60%:我们是怎么把 1.5MB 的\"赘肉\"切掉的.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "4ab6ceebf630785edd2a52a356d39f56a9408e4f0e7858d0c2dd744c67748191"
+ },
+ {
+ "sourceRelativePath": "TipTap/Tiptap教程系列(二).md",
+ "targetRelativePath": "TipTap/Tiptap教程系列(二).md",
+ "recommendation": "skip_superseded",
+ "action": "skipped",
+ "rationale": "expanded optimized edition supplies same tutorial chapter"
+ },
+ {
+ "sourceRelativePath": "TipTap/Tiptap 深度教程(四):终极定制 - 从零创建你的专属扩展.md",
+ "targetRelativePath": "TipTap/Tiptap 深度教程(四):终极定制 - 从零创建你的专属扩展.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "0cea1a84253399489a675c221c455da3e43fa804f39158cc9b9a3e3596d21b57"
+ },
+ {
+ "sourceRelativePath": "安全/未命名.md",
+ "targetRelativePath": "安全/未命名.md",
+ "recommendation": "skip_empty",
+ "action": "skipped",
+ "rationale": null
+ },
+ {
+ "sourceRelativePath": "安全/Web 安全演进:数字证书签名算法升级指南.md",
+ "targetRelativePath": "安全/Web 安全演进:数字证书签名算法升级指南.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "e4ebd8699c049dfd112f7531351d6c34496632ec64297e8e6736865b60a4000f"
+ },
+ {
+ "sourceRelativePath": "安全/Web 安全上下文技术实践指南.md",
+ "targetRelativePath": "安全/Web 安全上下文技术实践指南.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "e09411b256a6ec8917fb359ca06e4b7e7e041eec0a9bc5863e610f08a690110b"
+ },
+ {
+ "sourceRelativePath": "TypeScript/TS中的内置条件类型:ReturnType.md",
+ "targetRelativePath": "TypeScript/TS中的内置条件类型:ReturnType.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "TypeScript/如何在TypeScript中迭代对象键.md",
+ "targetRelativePath": "TypeScript/如何在TypeScript中迭代对象键.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "7e8f42f6bc235e313c750c612c5fa11db38dbafaf9bb9407da4ca3b4adc78907"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "targetRelativePath": "TypeScript/索引.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "761e7f2507f2b61dc759bbcc5ce377eaf272699b9bb6405d0d3d9bd7682e732f"
+ },
+ {
+ "sourceRelativePath": "TypeScript/工具类型.md",
+ "targetRelativePath": "TypeScript/工具类型.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "TypeScript/函数泛型.md",
+ "targetRelativePath": "TypeScript/函数泛型.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "TypeScript/TypeScript 笔记.md",
+ "targetRelativePath": "TypeScript/TypeScript 笔记.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "TypeScript/自定义协议唤起 | 唤端能力支持库编写 —— 基于TypeScript 编写.md",
+ "targetRelativePath": "TypeScript/自定义协议唤起 | 唤端能力支持库编写 —— 基于TypeScript 编写.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "9904b2aa98bba5554535db0a262413523ae053ade4d60ab1284f070f54188f58"
+ },
+ {
+ "sourceRelativePath": "TypeScript/TS 装饰器使用一览.md",
+ "targetRelativePath": "TypeScript/TS 装饰器使用一览.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Vue/Vue test方法.md",
+ "targetRelativePath": "Vue/Vue test方法.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "2536b081603da7abb77ea29202de72f9aaa12bb01359387065f83869edc80ded"
+ },
+ {
+ "sourceRelativePath": "Vue/VueBus 总线传参数.md",
+ "targetRelativePath": "Vue/VueBus 总线传参数.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "588899aa4c32acfb5984f238f92e5adadd650296f555bbd77cb9a4e511d5f189"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "targetRelativePath": "Vue/索引.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "8b4764662daf63083a4836174454ab5e0613dde39fc811395942540bc7f0ec7a"
+ },
+ {
+ "sourceRelativePath": "Vue/Vue3渲染机制.md",
+ "targetRelativePath": "Vue/Vue3渲染机制.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "9e05950902e1801417241f7608d612aaf973793a8b2d6e4297ff81ec0e80f2d2"
+ },
+ {
+ "sourceRelativePath": "Vue/Vuex 基础与进阶使用.md",
+ "targetRelativePath": "Vue/Vuex 基础与进阶使用.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "fc43865b74f76d9d129e4ae1eb3781181c4ea13b3a256948543b23dd1c39900e"
+ },
+ {
+ "sourceRelativePath": "Vue/Vue 自定义钩子如何访问生命周期.md",
+ "targetRelativePath": "Vue/Vue 自定义钩子如何访问生命周期.md",
+ "recommendation": "skip_stub",
+ "action": "skipped",
+ "rationale": "only one H1 title and no article body"
+ },
+ {
+ "sourceRelativePath": "Vue/Vue项目常用库.md",
+ "targetRelativePath": "Vue/Vue项目常用库.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "4e0e67efd6000cdb25b363cfbe5d9a1376edb67a8b6be00676ab2a3d2f0103da"
+ },
+ {
+ "sourceRelativePath": "Vue/Vue keep-alive 笔记.md",
+ "targetRelativePath": "Vue/Vue keep-alive 笔记.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "53237354fff16cdde7c28a31bf9e9bdc2f2b02250a023a8398937330512ae132"
+ },
+ {
+ "sourceRelativePath": "Vue/前端路由 hash 与 history 差异.md",
+ "targetRelativePath": "Vue/前端路由 hash 与 history 差异.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f37755b838fd03fc1bd969a9595fb2351714c96408b3aaee4c7ae22480166417"
+ },
+ {
+ "sourceRelativePath": "Vue/Pinia 学习笔记.md",
+ "targetRelativePath": "Vue/Pinia 学习笔记.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "a0ed6f59afe164d066f229f40a2617d075f33139ea17069ddf9166a504361890"
+ },
+ {
+ "sourceRelativePath": "Vue/Vue Router 浅析.md",
+ "targetRelativePath": "Vue/Vue Router 浅析.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "4aec3f548999e8b44bba084d1f3ac8d7a753a021c2005537b27dda78a6c269af"
+ },
+ {
+ "sourceRelativePath": "Vue/渲染函数 hyperscript.md",
+ "targetRelativePath": "Vue/渲染函数 hyperscript.md",
+ "recommendation": "skip_stub",
+ "action": "skipped",
+ "rationale": "only one H1 title and no article body"
+ },
+ {
+ "sourceRelativePath": "Vue/组件自定义v-model以及自定义修饰符.md",
+ "targetRelativePath": "Vue/组件自定义v-model以及自定义修饰符.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "99926e91c9455d91649589f96dbe6343bb8f3f0fc7717b67fa59187b01bf1027"
+ },
+ {
+ "sourceRelativePath": "Vue/Vue.set()和this.$set().md",
+ "targetRelativePath": "Vue/Vue.set()和this.$set().md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "c85ce99b6860f570fc2c126ee40dd7ac2cd9998481ba24980675b1e24208f08d"
+ },
+ {
+ "sourceRelativePath": "Vue/Vue 进阶使用.md",
+ "targetRelativePath": "Vue/Vue 进阶使用.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "712d611e4f174237048b05c147c03cc5f8988774cc2d6c6bdb65c032326100b8"
+ },
+ {
+ "sourceRelativePath": "Vue/`$nextTick`深入探究.md",
+ "targetRelativePath": "Vue/`$nextTick`深入探究.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "5cfa1001127ebc7b88a3711dfd3a9c2c583b50f345bbe50c7aa7c20e87e9d71b"
+ },
+ {
+ "sourceRelativePath": "数据库/Redis 学习笔记.md",
+ "targetRelativePath": "数据库/Redis 学习笔记.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "30dae2c8713d1a4edfc735030c985d8cc6aba62c1e42e1eeea9014c7f064e813"
+ },
+ {
+ "sourceRelativePath": "数据库/MySQL从入门到入院.md",
+ "targetRelativePath": "数据库/MySQL从入门到入院.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "bba4c10d30b780a1832fda20751dfbfc0ec1c6776fada489fed1e6cede152ee9"
+ },
+ {
+ "sourceRelativePath": "数据库/高并发常见性能表现评估指标.md",
+ "targetRelativePath": "数据库/高并发常见性能表现评估指标.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "1e3252d2d9fad60ddc3b15f1fa3e97ef26dde241048246aae132fe1a388e2f18"
+ },
+ {
+ "sourceRelativePath": "Rust/wasm-pack 集成至vite项目.md",
+ "targetRelativePath": "Rust/wasm-pack 集成至vite项目.md",
+ "recommendation": "skip_empty",
+ "action": "skipped",
+ "rationale": null
+ },
+ {
+ "sourceRelativePath": "外文翻译/Islands Architecture 孤岛架构.md",
+ "targetRelativePath": "外文翻译/Islands Architecture 孤岛架构.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "9dde6da448734046f963045ab4229904e0b737e69cb865431141993fc397aae0"
+ },
+ {
+ "sourceRelativePath": "外文翻译/居中一个 div 的 N 种方法.md",
+ "targetRelativePath": "外文翻译/居中一个 div 的 N 种方法.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "5a3b166650c8ae47b5ce6b9042ef2f41fdce23d7b91e2c2de462a9d259630d42"
+ },
+ {
+ "sourceRelativePath": "外文翻译/INP (Interaction to Next Paint) 与用户体验真的有关系吗?.md",
+ "targetRelativePath": "外文翻译/INP (Interaction to Next Paint) 与用户体验真的有关系吗?.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f58d3f83dc4d8adf3bd160937a2a42ec5ef0f5e3cd343e829bb2d6b3e64d8bdb"
+ },
+ {
+ "sourceRelativePath": "外文翻译/用于调试和分析的 5 大 Node.js 工具.md",
+ "targetRelativePath": "外文翻译/用于调试和分析的 5 大 Node.js 工具.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "be54c6aa64790f363a1fb746e23971ece563799cb8c5230c49b7808f0915570c"
+ },
+ {
+ "sourceRelativePath": "外文翻译/URL 设计最佳实践.md",
+ "targetRelativePath": "外文翻译/URL 设计最佳实践.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "8e303f17479a79ff2da002bc9fec53e106adee9af0bc4e4025b0ee988c829b13"
+ },
+ {
+ "sourceRelativePath": "外文翻译/ECMAScript 装饰器的 10 年.md",
+ "targetRelativePath": "外文翻译/ECMAScript 装饰器的 10 年.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "18a744a3db7b1f4141be16cc8909e5235ca65b17ef526eb2ef5cd49f4c8c3897"
+ },
+ {
+ "sourceRelativePath": "外文翻译/为什么 RSC 才是正确答案?.md",
+ "targetRelativePath": "外文翻译/为什么 RSC 才是正确答案?.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f933871eca1046b1a6eba7b520b9db40d1ea20c4a914b56bc5956bfa06562854"
+ },
+ {
+ "sourceRelativePath": "外文翻译/什么是会话固定.md",
+ "targetRelativePath": "外文翻译/什么是会话固定.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "b21c00e0805f2dc8074de7e887add760e99dcc55d582eab11cdfc2d2cb2efcd9"
+ },
+ {
+ "sourceRelativePath": "外文翻译/每个开发人员都应该知道的五大Node.js功能.md",
+ "targetRelativePath": "外文翻译/每个开发人员都应该知道的五大Node.js功能.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "7515eb9d1709637f4230d47c67f3e91c6f246ef5b7182f43c647673fe49623a5"
+ },
+ {
+ "sourceRelativePath": "外文翻译/交互时导入.md",
+ "targetRelativePath": "外文翻译/交互时导入.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "e59ac3057e75564ffd9d11fd4712ed9deff9d462d0d39aac93332914fe445204"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "targetRelativePath": "学习路径/JavaScript完整指南.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "5a4594b1c4bafb735965de8a545a653a5929b2f27749af5e255f80bdf70a5ad2"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "targetRelativePath": "学习路径/Vue全栈路线.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "1bd2cee35c8099d1ee166f3d58979c6910f0ffa1559758bae63154a44f3934bc"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "targetRelativePath": "面试准备/README.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "c55d454fce4ea73f3005f8ccd5f6a5c04150e7335f3ef07d5a8648275653c9ab"
+ },
+ {
+ "sourceRelativePath": "前端杂文/CommitMessage的Git格式规范.md",
+ "targetRelativePath": "前端杂文/CommitMessage的Git格式规范.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "前端杂文/Google 核心 Web 指标.md",
+ "targetRelativePath": "前端杂文/Google 核心 Web 指标.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "前端杂文/RPC 笔记.md",
+ "targetRelativePath": "前端杂文/RPC 笔记.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "前端杂文/前端应用的静态测试vs单元测试vs集成测试vsE2E(端到端)测试.md",
+ "targetRelativePath": "前端杂文/前端应用的静态测试vs单元测试vs集成测试vsE2E(端到端)测试.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "3350af5816eb153d05eb60c40f0ac13e62cdea3821eb0839759121acc8106493"
+ },
+ {
+ "sourceRelativePath": "前端杂文/强缓存和协商缓存.md",
+ "targetRelativePath": "前端杂文/强缓存和协商缓存.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "前端杂文/前端抓包.md",
+ "targetRelativePath": "前端杂文/前端抓包.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "前端杂文/CORS.md",
+ "targetRelativePath": "前端杂文/CORS.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "前端杂文/同构渲染:SSR (Server-Side Rendering) 与CSH (Client-Side Hydration).md",
+ "targetRelativePath": "前端杂文/同构渲染:SSR (Server-Side Rendering) 与CSH (Client-Side Hydration).md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "前端杂文/BFF 模式 (Backend For Frontend).md",
+ "targetRelativePath": "前端杂文/BFF 模式 (Backend For Frontend).md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "HTML/HTML知识点汇总.md",
+ "targetRelativePath": "HTML/HTML知识点汇总.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "HTML/HTML 高频.md",
+ "targetRelativePath": "八股文/HTML 高频.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "HTML/button标签和div模拟按钮的区别.md",
+ "targetRelativePath": "HTML/button标签和div模拟按钮的区别.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "HTML/Web Component.md",
+ "targetRelativePath": "HTML/Web Component.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "6e58b82ceca9ac73db3ffe5df9cd40453171b9c0f3bd78afe0564bf2309889b0"
+ },
+ {
+ "sourceRelativePath": "Agent/综合题库.md",
+ "targetRelativePath": "Agent/综合题库.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "bca3dc5fdb4c4dcc9ca754913a120c6e7f3455713fd4b73f456a1bac2c97b3b7"
+ },
+ {
+ "sourceRelativePath": "面经/星网锐捷面经.md",
+ "targetRelativePath": "面经/星网锐捷面经.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "2df8e74a4ed11033064b08303bef9666ca2e1b48d41f7d1045953366456a2ca2"
+ },
+ {
+ "sourceRelativePath": "面经/未命名.md",
+ "targetRelativePath": "面经/未命名.md",
+ "recommendation": "skip_empty",
+ "action": "skipped",
+ "rationale": null
+ },
+ {
+ "sourceRelativePath": "面经/快手面经.md",
+ "targetRelativePath": "面经/快手面经.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "481d9f4ce013c5ef0de228e011f982ff45830d5cafcfa90fd3c3a9d25bd59af7"
+ },
+ {
+ "sourceRelativePath": "面经/美团面经.md",
+ "targetRelativePath": "面经/美团面经.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "27c89d009620aae3d4bc02115502942906b993c29b6f23e5d36bfae9a198b524"
+ },
+ {
+ "sourceRelativePath": "面经/哔哩哔哩面经.md",
+ "targetRelativePath": "面经/哔哩哔哩面经.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "b8643fdfee6c375c32854163cb599370c87041ef04197967f2ae03333f10a3b4"
+ },
+ {
+ "sourceRelativePath": "面经/朴朴面经.md",
+ "targetRelativePath": "面经/朴朴面经.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "b5e3921f4dbc12bbf0f93f1326c889c21628c8ad45086d00c4254a9c4d48ed23"
+ },
+ {
+ "sourceRelativePath": "翻译/「译」这种模式将破坏你React应用的TS性能.md",
+ "targetRelativePath": "翻译/「译」这种模式将破坏你React应用的TS性能.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "2a407631bdf3d696988caa491e1ea45aa826355289cad0fb5dc1bf90935dcf93"
+ },
+ {
+ "sourceRelativePath": "翻译/「译」如何为应用选择最佳渲染策略.md",
+ "targetRelativePath": "翻译/「译」如何为应用选择最佳渲染策略.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "fc738793f6546fef270ad4e8178237b6faeb2bc87300793fdce7f54c28316f1d"
+ },
+ {
+ "sourceRelativePath": "翻译/「译」谷歌在索引过程中如何处理 JavaScript.md",
+ "targetRelativePath": "翻译/「译」谷歌在索引过程中如何处理 JavaScript.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "9660770322e58ce0c9951e62f3c77a7b2cec58837b67e10be3da51dac4b5732b"
+ },
+ {
+ "sourceRelativePath": "翻译/「译」为 Rust 及所有语言优化 WebAssembly.md",
+ "targetRelativePath": "翻译/「译」为 Rust 及所有语言优化 WebAssembly.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "31b94db262401aa4537f73c9c7652cfafc4e9b486c5660b058c9a7574cbb4b40"
+ },
+ {
+ "sourceRelativePath": "翻译/「译」解析 JavaScript 中的循环依赖.md",
+ "targetRelativePath": "翻译/「译」解析 JavaScript 中的循环依赖.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "3103c053564d141c6f0b9dca045fc87e25e90defda348acc9724452c5f3ccbfa"
+ },
+ {
+ "sourceRelativePath": "翻译/「译」设置项目.md",
+ "targetRelativePath": "翻译/「译」设置项目.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "5431173b3fdb5b26c3baf9c6d61d788431a4682e6957fab910fabefda4f51799"
+ },
+ {
+ "sourceRelativePath": "翻译/PRPL 模式.md",
+ "targetRelativePath": "翻译/PRPL 模式.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "2c1d2cc68125273259ca0c38f10591a7050f82dfb74b6b18d44c59debbf86e72"
+ },
+ {
+ "sourceRelativePath": "翻译/「译」SolidStart 1.0:未来框架的形态.md",
+ "targetRelativePath": "翻译/「译」SolidStart 1.0:未来框架的形态.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "5170bff7eb0ab6e8488eff1f1ffeafc21847636bff054aff219690af4af3fba4"
+ },
+ {
+ "sourceRelativePath": "翻译/「译」不要将 DTO 传递给用户界面组件.md",
+ "targetRelativePath": "翻译/「译」不要将 DTO 传递给用户界面组件.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "af70c911364b941285924584b7bc7aa775b992ffd6a916452e38fc35283b87ce"
+ },
+ {
+ "sourceRelativePath": "翻译/命名在编程中的重要性.md",
+ "targetRelativePath": "翻译/命名在编程中的重要性.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "917c7f59528cf6a9ad3944c6730a27ae44f5cb7a525d7425dd815aac2a254172"
+ },
+ {
+ "sourceRelativePath": "翻译/「译」如何编写 React 应用程序的样式.md",
+ "targetRelativePath": "翻译/「译」如何编写 React 应用程序的样式.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "9b9d04e0de00c43ced3aae828bc6013d9abe00417b8fa1a97a604e86cf240acf"
+ },
+ {
+ "sourceRelativePath": "翻译/「译」使用 Rust 编程 WebAssembly 第一部分:从 WAT 到 WASM 集成.md",
+ "targetRelativePath": "翻译/「译」使用 Rust 编程 WebAssembly 第一部分:从 WAT 到 WASM 集成.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "b3e9e27f8656d36e89e7cfe65c165fe2d24f215d94025170ae8219c7ba7e3523"
+ },
+ {
+ "sourceRelativePath": "翻译/「译」JavaScript 舍入误差(在金融应用程序中).md",
+ "targetRelativePath": "翻译/「译」JavaScript 舍入误差(在金融应用程序中).md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "cfde998a7124e8a51d36e4d9d00dbaa60d80a3f416322fe1cf9af1ea6ee2abbc"
+ },
+ {
+ "sourceRelativePath": "翻译/「译」如何写出更好的Typescript代码.md",
+ "targetRelativePath": "翻译/「译」如何写出更好的Typescript代码.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "b0380f3d985db21d36ab071cb0476398576c7a51ab27742184d4396ccdbae8c3"
+ },
+ {
+ "sourceRelativePath": "翻译/「译」现在如何使用容器查询.md",
+ "targetRelativePath": "翻译/「译」现在如何使用容器查询.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "658c1b068dc6987d102c2ced590b82f9ca3a701fddf0fef15d5aa90a3154ba33"
+ },
+ {
+ "sourceRelativePath": "翻译/在企业环境中正确使用 Node.js 的九大原.md",
+ "targetRelativePath": "翻译/在企业环境中正确使用 Node.js 的九大原.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "e9a4af383c45195b876d54b7ac875116ea429f0b5cd8bf39e7818e4467653aa4"
+ },
+ {
+ "sourceRelativePath": "翻译/「译」从领域开始.md",
+ "targetRelativePath": "翻译/「译」从领域开始.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "fdef94056ef35a62e2ffc1426884f8ebd0360f6198d400762bf693eae630e4e0"
+ },
+ {
+ "sourceRelativePath": "翻译/「译」2024 年的 5 个 JavaScript 安全最佳实践.md",
+ "targetRelativePath": "翻译/「译」2024 年的 5 个 JavaScript 安全最佳实践.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "2e5dfca1d74fac3d42e4837b142f637aada13c3d01a2740f19c670719b52fffa"
+ },
+ {
+ "sourceRelativePath": "翻译/「Astro 5.0 」Astro新功能概述.md",
+ "targetRelativePath": "翻译/「Astro 5.0 」Astro新功能概述.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "4ceda59c7dc10070d33d12a0572900b12b12aab78c21a181d859cbd59737a182"
+ },
+ {
+ "sourceRelativePath": "翻译/Express. js v5.0中的新增功能.md",
+ "targetRelativePath": "翻译/Express. js v5.0中的新增功能.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "676e9e395324bb3dd58a0aa1e9af011388c020bd500ac64cfdf305d526517049"
+ },
+ {
+ "sourceRelativePath": "翻译/「译」React 服务器组件 (RSCs) 的深入分析.md",
+ "targetRelativePath": "翻译/「译」React 服务器组件 (RSCs) 的深入分析.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "ce8beecc218d7aee893b9b323e1acd7588516ccb3ed22429f5734ac90a2c585b"
+ },
+ {
+ "sourceRelativePath": "翻译/「译」选择技术栈.md",
+ "targetRelativePath": "翻译/「译」选择技术栈.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "1ce757ab7ff4c214496b0995d9685d4a811ffea3ae9f3a206f8d0c966b2144a6"
+ },
+ {
+ "sourceRelativePath": "翻译/「译」如何初始化前端项目.md",
+ "targetRelativePath": "翻译/「译」设置项目.md",
+ "recommendation": "skip_source_duplicate",
+ "action": "skipped",
+ "rationale": "same source article body as 翻译/「译」设置项目.md after ignoring first H1"
+ },
+ {
+ "sourceRelativePath": "翻译/「译」使用 CSS 解析器扩展来填充 CSS(提案).md",
+ "targetRelativePath": "翻译/「译」使用 CSS 解析器扩展来填充 CSS(提案).md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "48cc8bfd2d280bbe2cc4b051560829b8288602991c6417afefc13f6ed457cb6c"
+ },
+ {
+ "sourceRelativePath": "翻译/「译」从简单到复杂 —— 软件四象限.md",
+ "targetRelativePath": "翻译/「译」从简单到复杂 —— 软件四象限.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "fdeef0ce471a71413542345ff3a5ea24fa3bbdc36aee76f6d9d067b588579e81"
+ },
+ {
+ "sourceRelativePath": "翻译/「译」面向 JavaScript 开发人员的 TSConfig 简介.md",
+ "targetRelativePath": "翻译/「译」面向 JavaScript 开发人员的 TSConfig 简介.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "437ab289e3dab669ee8094dc7e528d6d5c8a947552c104d2d0e4e1df326577d0"
+ },
+ {
+ "sourceRelativePath": "翻译/「译」如何从头开始构建机器人检测脚本:分步指南.md",
+ "targetRelativePath": "翻译/「译」如何从头开始构建机器人检测脚本:分步指南.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "2ba8c2f56e2052b6b8dd327b4983c2ce80f994f85f3101d2dc4d62c36c206452"
+ },
+ {
+ "sourceRelativePath": "翻译/编写 Dockerfile:从入门到精通.md",
+ "targetRelativePath": "翻译/编写 Dockerfile:从入门到精通.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d42df39ff434ed39754ff7d4af9266985bfff4582a5107b0fb8698f1872c8608"
+ },
+ {
+ "sourceRelativePath": "翻译/Claude 4 重磅来袭:你需要了解的一切.md",
+ "targetRelativePath": "翻译/Claude 4 重磅来袭:你需要了解的一切.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "9a07044aa65a8003ec222da82cae59ef23d8d6fcd1a2f0afeac7df0231d23b05"
+ },
+ {
+ "sourceRelativePath": "翻译/「译」关于优化 LCP 的常见误解.md",
+ "targetRelativePath": "翻译/「译」关于优化 LCP 的常见误解.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "64e00b44e1cd71738950f729137cd7f040888907ba55d70fc18fb55367c14737"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI应用开发面试题.md",
+ "targetRelativePath": "AI应用开发/AI应用开发面试题.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "86489339e1be494b707308453ed8acf97b9919d7ee81f237ad1f058362798645"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "targetRelativePath": "校招/知识大纲.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "da4faa5ce31ac22a7d7c6aa10968b39202e6372299f80c65e1797a49ca90bde3"
+ },
+ {
+ "sourceRelativePath": "校招/2022年终总结.md",
+ "targetRelativePath": "软文/2022年终总结.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "校招/2022年中总结.md",
+ "targetRelativePath": "软文/2022年中总结.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "校招/校招日志 校招经验总结.md",
+ "targetRelativePath": "软文/校招日志 校招经验总结.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "校招/offer,三方,两方,毁约 这些你需要知道的事.md",
+ "targetRelativePath": "软文/offer,三方,两方,毁约 这些你需要知道的事.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "校招/2023年中总结.md",
+ "targetRelativePath": "校招/2023年中总结.md",
+ "recommendation": "skip_empty",
+ "action": "skipped",
+ "rationale": null
+ },
+ {
+ "sourceRelativePath": "计算机网络/Nginx:高性能的Web服务器.md",
+ "targetRelativePath": "计算机科学/计算机网络/Nginx:高性能的Web服务器.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "targetRelativePath": "计算机网络/索引.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f793a7e1dec06e6ce791442a89f92be6479203417eb5fb6b0d1d5d80e8458799"
+ },
+ {
+ "sourceRelativePath": "计算机网络/浏览器缓存机制-请求头.md",
+ "targetRelativePath": "计算机科学/计算机网络/浏览器缓存机制-请求头.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "计算机网络/前端存储方案一览.md",
+ "targetRelativePath": "计算机科学/计算机网络/前端存储方案一览.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "计算机网络/RESTful 下请求方法的幂等性.md",
+ "targetRelativePath": "计算机科学/计算机网络/RESTful 下请求方法的幂等性.md",
+ "recommendation": "update_existing",
+ "action": "updated",
+ "rationale": "fixes RESTfull title typo",
+ "resultHash": "872575990ea72480947c673ff432f934b00b8a102b5680610e50429edae0a7e3"
+ },
+ {
+ "sourceRelativePath": "计算机网络/WebSocket.md",
+ "targetRelativePath": "计算机科学/计算机网络/WebSocket.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "计算机网络/OpenResty:更灵活的Web服务器.md",
+ "targetRelativePath": "计算机科学/计算机网络/OpenResty:更灵活的Web服务器.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "计算机网络/WAF 网络应用防火墙.md",
+ "targetRelativePath": "计算机科学/计算机网络/WAF 网络应用防火墙.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "计算机网络/浏览器缓存机制-缓存位置.md",
+ "targetRelativePath": "计算机科学/计算机网络/浏览器缓存机制-缓存位置.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "计算机网络/CDN 内容分发网络.md",
+ "targetRelativePath": "计算机科学/计算机网络/CDN 内容分发网络.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Webpack/Webpack 配置及规则.md",
+ "targetRelativePath": "Webpack/Webpack 配置及规则.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Webpack/Webpack 插件开发实践.md",
+ "targetRelativePath": "Webpack/Webpack 插件开发实践.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Webpack/Webpack 性能优化.md",
+ "targetRelativePath": "Webpack/Webpack 性能优化.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Webpack/Webpack 图像处理.md",
+ "targetRelativePath": "Webpack/Webpack 图像处理.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Webpack/Webpack 工作流程.md",
+ "targetRelativePath": "Webpack/Webpack 工作流程.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Webpack/Webpack 学习指北.md",
+ "targetRelativePath": "Webpack/Webpack 学习指北.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Webpack/Webpack 链式调用模型.md",
+ "targetRelativePath": "Webpack/Webpack 链式调用模型.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Webpack/Webpack Loader 实践.md",
+ "targetRelativePath": "Webpack/Webpack Loader 实践.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Browser/Web Components 中使用生命周期回调函数.md",
+ "targetRelativePath": "Browser/Web Components 中使用生命周期回调函数.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "55acdedadb5b3bc2bd113cf251eac9389b31872edc26f4052555dd7b97229fb3"
+ },
+ {
+ "sourceRelativePath": "Browser/Web浏览器滚动方案一览| rAF等.md",
+ "targetRelativePath": "Browser/Web浏览器滚动方案一览| rAF等.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "144a66d16b2fecaa70cdb8d37c56d71ba2b7e73acccdeb5a05c2f4eee36171e8"
+ },
+ {
+ "sourceRelativePath": "Browser/索引.md",
+ "targetRelativePath": "Browser/索引.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "85794f9515a52a30b204def3f19c7acfbfc5b52a20db61f350b4362ef905dc64"
+ },
+ {
+ "sourceRelativePath": "Browser/CORB 兼容性和影响.md",
+ "targetRelativePath": "浏览器原理/CORB 兼容性和影响.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Browser/浏览器插件开发框架:WXT.md",
+ "targetRelativePath": "Browser/浏览器插件开发框架:WXT.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "73196488d08988607a985bde9d45d85e2b0a9431f4d568ccd7a6afe098fdc130"
+ },
+ {
+ "sourceRelativePath": "Browser/CORB 应对策略.md",
+ "targetRelativePath": "浏览器原理/CORB 应对策略.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "Browser/基于 StorageEvent的跨tab事件传输方案.md",
+ "targetRelativePath": "Browser/基于 StorageEvent的跨tab事件传输方案.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d0266c0246a94adf130d8ff2f7b3546ee72955cb7ad4f71b21591461753a85a1"
+ },
+ {
+ "sourceRelativePath": "Browser/在现代应用中使用 localStorage 的全面指南.md",
+ "targetRelativePath": "Browser/在现代应用中使用 localStorage 的全面指南.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "c3d051496f4dd877375c96858e0ec63ff02a4674d873c0648f1c5d21e0e152e1"
+ },
+ {
+ "sourceRelativePath": "Browser/Chrome浏览器插件(扩展)- Manifest V3 插件开发规范简介.md",
+ "targetRelativePath": "Browser/Chrome浏览器插件(扩展)- Manifest V3 插件开发规范简介.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "4211e027fd296af8dd7eb0281d0459d0148f35015d4c2c4a92cb39b620e25d3e"
+ },
+ {
+ "sourceRelativePath": "Browser/CORB 策略.md",
+ "targetRelativePath": "浏览器原理/CORB 策略.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "Vite/静态资源处理.md",
+ "targetRelativePath": "Vite/静态资源处理.md",
+ "recommendation": "skip_empty",
+ "action": "skipped",
+ "rationale": null
+ },
+ {
+ "sourceRelativePath": "Vite/探索 Rolldown.md",
+ "targetRelativePath": "Vite/探索 Rolldown.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "9c3e19adbf10fcf601fd7e46239131f4839325646b46ea996c13d2cbff3922fe"
+ },
+ {
+ "sourceRelativePath": "Vite/项目启动配置.md",
+ "targetRelativePath": "Vite/项目启动配置.md",
+ "recommendation": "skip_empty",
+ "action": "skipped",
+ "rationale": null
+ },
+ {
+ "sourceRelativePath": "Vite/构建Vite知识体系-项目性能优化.md",
+ "targetRelativePath": "Vite/构建Vite知识体系-项目性能优化.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "83fdf0d5052028cbe94f198b365ef98eaa5aaa3e95c5bb819dec5e1c80983f1f"
+ },
+ {
+ "sourceRelativePath": "Vite/Rollup 基本概念、使用和插件机制.md",
+ "targetRelativePath": "Vite/Rollup 基本概念、使用和插件机制.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "c87d3aaffe624a17657053f651e90195b30d078e44d9ed86d13983627efe5b56"
+ },
+ {
+ "sourceRelativePath": "Vite/项目 Lint 管理.md",
+ "targetRelativePath": "Vite/项目 Lint 管理.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "0ab35433cc0d06e6ba6e4be034d7c91de344f84235bf020a48bf62a6be6bc457"
+ },
+ {
+ "sourceRelativePath": "Vite/Vite 小册笔记.md",
+ "targetRelativePath": "Vite/Vite 小册笔记.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "81221cd128d6d8c4e8c3a423ab3b74fba69b02866cbac8b684dd26132e33bddf"
+ },
+ {
+ "sourceRelativePath": "Vite/Vite SSR 方案.md",
+ "targetRelativePath": "Vite/Vite SSR 方案.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "2198b0b06adfac2cfd91c5256afa7892ff8d0cbd00e9cad19bd9e0f440d58ac0"
+ },
+ {
+ "sourceRelativePath": "Vite/HMR API 及其原理.md",
+ "targetRelativePath": "Vite/HMR API 及其原理.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "37e006689c8bd0369eb9353dff5ec6b4b4c92b8b6f69082bc4696464ea4d09c5"
+ },
+ {
+ "sourceRelativePath": "Vite/Vite 可用项目模版.md",
+ "targetRelativePath": "Vite/Vite 可用项目模版.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "fef85d38a2b845913195be5b372daa94a36eace702509751a127e7e1cc1cb8ea"
+ },
+ {
+ "sourceRelativePath": "产品/广告.md",
+ "targetRelativePath": "产品/广告.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "aaf50a8f6ce064699d9ed3f6d83f620330e25477b1f5880d263d22c007b40950"
+ },
+ {
+ "sourceRelativePath": "产品/产品思维.md",
+ "targetRelativePath": "产品/产品思维.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "7de469144ab00e6d5b2dd49f33f66671c20f9115a4ac780763fe82190f3ad00e"
+ },
+ {
+ "sourceRelativePath": "产品/「241018」Money Hack(上) 逃离浅滩,做空这个时代.md",
+ "targetRelativePath": "产品/「241018」Money Hack(上) 逃离浅滩,做空这个时代.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "af9d15a0d31e912eba5d40d8ec641d3bf436e0de737355477bb4365676568903"
+ },
+ {
+ "sourceRelativePath": "产品/产品经理基础知识文档.md",
+ "targetRelativePath": "产品/产品经理基础知识文档.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "151d947727acb60ae10f36d90dfb36f573bfd5251d149adad13f8d9ae0586dfa"
+ },
+ {
+ "sourceRelativePath": "产品/名称解释.md",
+ "targetRelativePath": "产品/名称解释.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "b99b8b97c74e0156c3665cd36901295dc24c756dcf2c7aefb11e09d24329b122"
+ },
+ {
+ "sourceRelativePath": "产品/利率.md",
+ "targetRelativePath": "产品/利率.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "55a17fd21ee95e9bbe60cfda75f8fa282052bf93998fc5237db88a6e58f7a16d"
+ },
+ {
+ "sourceRelativePath": "MySQL/019-too-many-indexes.md",
+ "targetRelativePath": "MySQL/019-too-many-indexes.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "25521a04c8cdd64418d7e4d49d4a84b141b82b98a84433465345c2a0f3017a45"
+ },
+ {
+ "sourceRelativePath": "MySQL/018-index-effect-troubleshooting.md",
+ "targetRelativePath": "MySQL/018-index-effect-troubleshooting.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "2cb56116990fd23b54a2b502539850cf9747bfa3655898060faed2805839b05a"
+ },
+ {
+ "sourceRelativePath": "MySQL/068-mysql-performance-optimization.md",
+ "targetRelativePath": "MySQL/068-mysql-performance-optimization.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "7c62292bd565a3397f0f4e27c15203c669bbbfa2dbb47aa152f343149a144784"
+ },
+ {
+ "sourceRelativePath": "MySQL/013-index-back-to-table.md",
+ "targetRelativePath": "MySQL/013-index-back-to-table.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f5daf7e3bb0b89dbd96d186a0d2dbbd8f9dbb689cf213d431857e8f5be1664c9"
+ },
+ {
+ "sourceRelativePath": "MySQL/031-lock-types.md",
+ "targetRelativePath": "MySQL/031-lock-types.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "ebc953687ab7213a134de25cb3b1a1f7f9ffd83aa80af39418b5ed4d56eed251"
+ },
+ {
+ "sourceRelativePath": "MySQL/047-log-buffer.md",
+ "targetRelativePath": "MySQL/047-log-buffer.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "4c2d29d77b1e2d04bc1862e981fb5202cf9dd4a119201597bb2406de7a08700e"
+ },
+ {
+ "sourceRelativePath": "MySQL/054-text-type-limits.md",
+ "targetRelativePath": "MySQL/054-text-type-limits.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "bbeaa868bb0eba6675e85a64afd05621b2362bc7b762c897a58b75ed63272498"
+ },
+ {
+ "sourceRelativePath": "MySQL/014-leftmost-prefix-rule.md",
+ "targetRelativePath": "MySQL/014-leftmost-prefix-rule.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "050a1d9eec4060fc661da84d8354de54a9f9a10dc090d8c847371e97b3e10bd3"
+ },
+ {
+ "sourceRelativePath": "MySQL/075-redo-log-insert-records.md",
+ "targetRelativePath": "MySQL/075-redo-log-insert-records.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "1e9d413edd237ab9cbf06ebc43774552cad2fa0cdb6f3a63a9fdbab40b2b597d"
+ },
+ {
+ "sourceRelativePath": "MySQL/063-exists-vs-in.md",
+ "targetRelativePath": "MySQL/063-exists-vs-in.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "347a3af7573fcf5f1b27720acbd4168469beafe1832de1a18f621c2e27cae04c"
+ },
+ {
+ "sourceRelativePath": "MySQL/040-read-write-splitting.md",
+ "targetRelativePath": "MySQL/040-read-write-splitting.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "6551cb93123137d5413910831e4f7ed2342da3db48d62e2c9c27625edccee234"
+ },
+ {
+ "sourceRelativePath": "MySQL/058-database-cursor.md",
+ "targetRelativePath": "MySQL/058-database-cursor.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "9f66b1c0033f07bfbffa8cf35f62c538ffae129ff5479802150810fbda6466c0"
+ },
+ {
+ "sourceRelativePath": "MySQL/023-mysql-transaction-implementation.md",
+ "targetRelativePath": "MySQL/023-mysql-transaction-implementation.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "5e95adbb977913b8310056db26eb710d314166b71454fd3b4f255a059e23b971"
+ },
+ {
+ "sourceRelativePath": "MySQL/004-mysql-order-by-sorting.md",
+ "targetRelativePath": "MySQL/004-mysql-order-by-sorting.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "44fbc0cab4375383630020a4ebe302bef40088dc4fce4a019381f24b195aeff3"
+ },
+ {
+ "sourceRelativePath": "MySQL/041-replication.md",
+ "targetRelativePath": "MySQL/041-replication.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "521311340ec157219ee24db18ea0cb2a6d976f504171f68473f0757eb592dec4"
+ },
+ {
+ "sourceRelativePath": "MySQL/059-large-binary-content-storage.md",
+ "targetRelativePath": "MySQL/059-large-binary-content-storage.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "dbd83f4fa76f96337a9d410e49db82b703e3ac2dd05ec19db7e1b24d066eead1"
+ },
+ {
+ "sourceRelativePath": "MySQL/001-database-sharding.md",
+ "targetRelativePath": "MySQL/001-database-sharding.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "b8287a0655af00c7956b1af933505a06f42a143c67f06051c1824b036c48f17c"
+ },
+ {
+ "sourceRelativePath": "MySQL/026-secondary-index-mvcc.md",
+ "targetRelativePath": "MySQL/026-secondary-index-mvcc.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "1c7626104f343cc6533bf5e9e571465e1c8c0622907b14b90ce5740496e0ecfb"
+ },
+ {
+ "sourceRelativePath": "MySQL/030-dirty-nonrepeatable-phantom-read.md",
+ "targetRelativePath": "MySQL/030-dirty-nonrepeatable-phantom-read.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "3a0acd8b1e62d1258aee1c5a2fba8372b24d7f298a0fc8bb832e01edfcbde4ed"
+ },
+ {
+ "sourceRelativePath": "MySQL/048-avoid-multi-table-joins.md",
+ "targetRelativePath": "MySQL/048-avoid-multi-table-joins.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d40482bc643abd1d968efb772428e6c4fe35fa6d1f3dc01af034a6d6a96c1bfe"
+ },
+ {
+ "sourceRelativePath": "MySQL/077-maximum-table-columns.md",
+ "targetRelativePath": "MySQL/077-maximum-table-columns.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "bdbf51b7a531107eb6bc688bf58c2a6643d0e6ca04eed3e78192c3f966ddfb60"
+ },
+ {
+ "sourceRelativePath": "MySQL/064-write-ahead-logging.md",
+ "targetRelativePath": "MySQL/064-write-ahead-logging.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d9f6d7ca9c229524cbd2cbff73c992088b06aa00b8d8d9e01c22d4e8ec380dfd"
+ },
+ {
+ "sourceRelativePath": "MySQL/006-mysql-index-types.md",
+ "targetRelativePath": "MySQL/006-mysql-index-types.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "7b58d2cc5209850cc1a4671b69c6c3c4eeb49bdae959cf0a06f671fc29818f97"
+ },
+ {
+ "sourceRelativePath": "MySQL/079-multithreaded-data-warehouse-sync.md",
+ "targetRelativePath": "MySQL/079-multithreaded-data-warehouse-sync.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "e17485f506930ee6e75a4e617eeed45bd8ee2a555833187e1dc3c0964d54569d"
+ },
+ {
+ "sourceRelativePath": "MySQL/032-optimistic-pessimistic-lock.md",
+ "targetRelativePath": "MySQL/032-optimistic-pessimistic-lock.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d59666fc7a40d329549f648db4af750d7827cc5a650bf0b523afb78649fd6f2d"
+ },
+ {
+ "sourceRelativePath": "MySQL/050-delete-drop-truncate.md",
+ "targetRelativePath": "MySQL/050-delete-drop-truncate.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "3fa8aea19387237c61b761f030ef4c572b626d605b9395dd8fd7ae4471d770bd"
+ },
+ {
+ "sourceRelativePath": "MySQL/046-doublewrite-buffer.md",
+ "targetRelativePath": "MySQL/046-doublewrite-buffer.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "39c10f7570e9259789767e55afa9f312b9c46a8213da4fdd872c99d1ba8418d4"
+ },
+ {
+ "sourceRelativePath": "MySQL/028-transaction-isolation-levels.md",
+ "targetRelativePath": "MySQL/028-transaction-isolation-levels.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "12e1d68a642a27899077519546ff216b353852df93a30b8f7e4cbaedd2052cd4"
+ },
+ {
+ "sourceRelativePath": "MySQL/067-zero-downtime-database-migration.md",
+ "targetRelativePath": "MySQL/067-zero-downtime-database-migration.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "94843dee0bf2322c67cf79e9dfdb3b5f682bd233aed985ac68c68b90f14551e7"
+ },
+ {
+ "sourceRelativePath": "MySQL/020-bplus-tree-query-process.md",
+ "targetRelativePath": "MySQL/020-bplus-tree-query-process.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "7611465e8aef158e44db0041deb6188df9c94a5e9b7e186f52512ca803e80b60"
+ },
+ {
+ "sourceRelativePath": "MySQL/071-logical-vs-physical-foreign-key.md",
+ "targetRelativePath": "MySQL/071-logical-vs-physical-foreign-key.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "c2a3eb6ed09921e0d98cdbf6ce8fa7c865cab251b600e5b86420e19757a030d7"
+ },
+ {
+ "sourceRelativePath": "MySQL/076-sql-logical-execution-order.md",
+ "targetRelativePath": "MySQL/076-sql-logical-execution-order.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "4c9c0405fba26ca17eac3404d0b4cbc1257906441d6917ec685d28453c26ee70"
+ },
+ {
+ "sourceRelativePath": "MySQL/003-normalization-denormalization.md",
+ "targetRelativePath": "MySQL/003-normalization-denormalization.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "dc5c7e24ff1663edb0857ffc4edb5a6ec65668ecfa641d38445b347228b07e18"
+ },
+ {
+ "sourceRelativePath": "MySQL/035-count-differences.md",
+ "targetRelativePath": "MySQL/035-count-differences.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d6fdd07c377ed7814ffffd2deda6d4de05208f5f94ead99500bdba1a193ea286"
+ },
+ {
+ "sourceRelativePath": "MySQL/036-int-display-width.md",
+ "targetRelativePath": "MySQL/036-int-display-width.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "333c461995a92bff06fed5d628d3488bafaca4cab7bc4ec4360b10c9a55c13a8"
+ },
+ {
+ "sourceRelativePath": "MySQL/016-index-condition-pushdown.md",
+ "targetRelativePath": "MySQL/016-index-condition-pushdown.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "006b3ce6d552d504da77546f7bee0a5891cee5a652cf208e3b42bd1534fc30ff"
+ },
+ {
+ "sourceRelativePath": "MySQL/025-mvcc.md",
+ "targetRelativePath": "MySQL/025-mvcc.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "0613c206e6aaf97a662f22060817e2bf841092ddb4c6c33919355b34848bea71"
+ },
+ {
+ "sourceRelativePath": "MySQL/065-production-isolation-level-choice.md",
+ "targetRelativePath": "MySQL/065-production-isolation-level-choice.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "0d0f16ec187b6e827cb9d3f4b623c7a88d0ff8949cf4743b689807accf92fd18"
+ },
+ {
+ "sourceRelativePath": "MySQL/062-when-not-to-create-index.md",
+ "targetRelativePath": "MySQL/062-when-not-to-create-index.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f88d78c8f9b14932038e0dc96494b843092104315f183871beebbf362cfef332"
+ },
+ {
+ "sourceRelativePath": "MySQL/073-three-level-bplus-tree-capacity.md",
+ "targetRelativePath": "MySQL/073-three-level-bplus-tree-capacity.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "74858956dbe79137903b1afbec2c88323476efe98c2d70c436a9ce19d609f937"
+ },
+ {
+ "sourceRelativePath": "MySQL/037-varchar-vs-char.md",
+ "targetRelativePath": "MySQL/037-varchar-vs-char.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d7dae866f71c425ec302c8381abbbe99f88df50bb81e2d970e387d558177eaa3"
+ },
+ {
+ "sourceRelativePath": "MySQL/069-query-optimizer-plan-selection.md",
+ "targetRelativePath": "MySQL/069-query-optimizer-plan-selection.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "62997f0aaf7c343706702b47d372408f33224392cc0d47f7d9aad4675f2a9743"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "targetRelativePath": "MySQL/README.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "8e005fbf1acfad1ca2c9843272832da35398418fba9fdf60a33d85e8673e41fd"
+ },
+ {
+ "sourceRelativePath": "MySQL/034-explain-query-analysis.md",
+ "targetRelativePath": "MySQL/034-explain-query-analysis.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "7512706054d37a6a8574d3a67fe810434d2042af0813aadc0205f60da74f645b"
+ },
+ {
+ "sourceRelativePath": "MySQL/042-replication-lag.md",
+ "targetRelativePath": "MySQL/042-replication-lag.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "1f6038037809b7a1f74327b32a72fb810fd169a8ce0b6314e1917a4e98323430"
+ },
+ {
+ "sourceRelativePath": "MySQL/017-index-design-notes.md",
+ "targetRelativePath": "MySQL/017-index-design-notes.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "45c6074f9981ba2221d36ac91e2884bbc34cfcb7fe37ba3e6f2f60fdda6a7867"
+ },
+ {
+ "sourceRelativePath": "MySQL/024-long-running-transactions.md",
+ "targetRelativePath": "MySQL/024-long-running-transactions.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "4a801f5920855d292298eea8fdae24f12bdde52012f3ba07e58206aaacf5ae38"
+ },
+ {
+ "sourceRelativePath": "MySQL/056-money-data-type.md",
+ "targetRelativePath": "MySQL/056-money-data-type.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "378b41d30132316b51e6fc8d1ad34e276683dbd290007cd6f5cb33621e104178"
+ },
+ {
+ "sourceRelativePath": "MySQL/057-database-view.md",
+ "targetRelativePath": "MySQL/057-database-view.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d19ee50621e7439caca6586265a1efc6cb4e01dadb016213d22e4517666482c0"
+ },
+ {
+ "sourceRelativePath": "MySQL/072-innodb-binlog-two-phase-commit.md",
+ "targetRelativePath": "MySQL/072-innodb-binlog-two-phase-commit.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "4ecfb650697506be36eadbb408b031535850ae69d4a3dcba8156ca6745d1e280"
+ },
+ {
+ "sourceRelativePath": "MySQL/066-avoid-stored-procedures.md",
+ "targetRelativePath": "MySQL/066-avoid-stored-procedures.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "32c0c68f2a7b7cfc68e59a67f2db42cd510beb06e25e526cb149208b556f4c03"
+ },
+ {
+ "sourceRelativePath": "MySQL/009-full-and-incremental-sync.md",
+ "targetRelativePath": "MySQL/009-full-and-incremental-sync.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f2821331d43fd01460774fba5a34fa5ec1f8bc869ced1ea8461bff321775234f"
+ },
+ {
+ "sourceRelativePath": "MySQL/029-default-isolation-level.md",
+ "targetRelativePath": "MySQL/029-default-isolation-level.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "a2632d4eaeac76ab87b4c6b8c37fda69e794cb02b36ea9a15aeae0bd172e01de"
+ },
+ {
+ "sourceRelativePath": "MySQL/005-sql-execution-process.md",
+ "targetRelativePath": "MySQL/005-sql-execution-process.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "aa953b6d23fba950b089c411bc557016f293d4b9d2d251354a661adfd4b0fe02"
+ },
+ {
+ "sourceRelativePath": "MySQL/074-table-design-checklist.md",
+ "targetRelativePath": "MySQL/074-table-design-checklist.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d2c6816dd9ba437d2f896162b88a53ed7a32c98c17d45237a0c851383dfef30b"
+ },
+ {
+ "sourceRelativePath": "MySQL/052-datetime-vs-timestamp.md",
+ "targetRelativePath": "MySQL/052-datetime-vs-timestamp.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "e78aa8a111c7e81b1e4a6410bf9f704d81743a1f733e00446c8a2a87f3bc8e95"
+ },
+ {
+ "sourceRelativePath": "MySQL/010-cursor-pagination.md",
+ "targetRelativePath": "MySQL/010-cursor-pagination.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "6b9dfd602f01e4d7eef9c9b938e9bced493f294cb2906221c2bba6c3ad19cfee"
+ },
+ {
+ "sourceRelativePath": "MySQL/055-auto-increment-maximum.md",
+ "targetRelativePath": "MySQL/055-auto-increment-maximum.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "fe11ba18458f48d16d7a19ad7d555d7dcc5067f7a7834b74ceab41b259bd7498"
+ },
+ {
+ "sourceRelativePath": "MySQL/027-without-mvcc.md",
+ "targetRelativePath": "MySQL/027-without-mvcc.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "75f60357ad9a83caa0638d64113304fa5d93600855abd8a6ddf748f543cba9a4"
+ },
+ {
+ "sourceRelativePath": "MySQL/045-buffer-pool-read-path.md",
+ "targetRelativePath": "MySQL/045-buffer-pool-read-path.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "90b6f914741916771b751177f0bc991a7a67d2963956217d19289a18c575fb70"
+ },
+ {
+ "sourceRelativePath": "MySQL/038-sql-tuning.md",
+ "targetRelativePath": "MySQL/038-sql-tuning.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "28ca3f2d2efd37b407119482b09728faa7d370b6c45075339ba143106dc322f2"
+ },
+ {
+ "sourceRelativePath": "MySQL/044-sharding-problems.md",
+ "targetRelativePath": "MySQL/044-sharding-problems.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "1e6ba2d49b3e343954b130db7846ee88d17655edbdb40ccdaba6bcd7d6bce65a"
+ },
+ {
+ "sourceRelativePath": "MySQL/039-avoid-single-point-failure.md",
+ "targetRelativePath": "MySQL/039-avoid-single-point-failure.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "0213db10c9656eab7e35173b0ce1e0fd1a6e7352fc52686f30ef26c06b623d77"
+ },
+ {
+ "sourceRelativePath": "MySQL/011-storage-engines.md",
+ "targetRelativePath": "MySQL/011-storage-engines.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "3de664a162d8477410723d9a93972e3fa4c871c827f309191d4b3d4b3f12595b"
+ },
+ {
+ "sourceRelativePath": "MySQL/021-why-bplus-tree-index.md",
+ "targetRelativePath": "MySQL/021-why-bplus-tree-index.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "8e86ee08117267ed5a3f1d7c1af7df25df4e4458b4bfbed4491d64beb7b056af"
+ },
+ {
+ "sourceRelativePath": "MySQL/007-change-buffer.md",
+ "targetRelativePath": "MySQL/007-change-buffer.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "a6f484c03e30d8d556e037d88d5a75137383cac44bf9c41831447dfd47815b90"
+ },
+ {
+ "sourceRelativePath": "MySQL/049-slow-sql-monitoring-optimization.md",
+ "targetRelativePath": "MySQL/049-slow-sql-monitoring-optimization.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "24bc8a8b54b0d723a50867f16d4d201bf7dd1213a0494080eeb17aeec10a76db"
+ },
+ {
+ "sourceRelativePath": "MySQL/061-varchar-length-difference.md",
+ "targetRelativePath": "MySQL/061-varchar-length-difference.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "54f35ff6c30a2362d26397ae4fa7d5bc642d603ec250d2045c5389fb5cdf1213"
+ },
+ {
+ "sourceRelativePath": "MySQL/012-clustered-and-secondary-index.md",
+ "targetRelativePath": "MySQL/012-clustered-and-secondary-index.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f39da7b005b34d651cbd61c752dde05058e728c915ea4c24f84f3e109ed632d3"
+ },
+ {
+ "sourceRelativePath": "MySQL/015-covering-index.md",
+ "targetRelativePath": "MySQL/015-covering-index.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "36cbdf339b486a9edf59f363ca2568cccf0d81d9e8789d7c264e665989a77573"
+ },
+ {
+ "sourceRelativePath": "MySQL/060-mysql-vs-oracle-advantages.md",
+ "targetRelativePath": "MySQL/060-mysql-vs-oracle-advantages.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "a73d9e42a3de27662e74da9cd11eb1f818df6c71e229182e034b3cec6283efb1"
+ },
+ {
+ "sourceRelativePath": "MySQL/022-mysql-logs-binlog-redo-undo.md",
+ "targetRelativePath": "MySQL/022-mysql-logs-binlog-redo-undo.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "b3c3573a3de03e1679c3f87754de56a621de919af93b35c2895be7d6ed90f07b"
+ },
+ {
+ "sourceRelativePath": "MySQL/033-deadlock-handling.md",
+ "targetRelativePath": "MySQL/033-deadlock-handling.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "18e5275651c62ecd0461d11daffa8759bfe20c79f6d68e813ac8274f9500528d"
+ },
+ {
+ "sourceRelativePath": "MySQL/008-batch-insert.md",
+ "targetRelativePath": "MySQL/008-batch-insert.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "55bff050aa783d7b78611da1bcc8cd5c19d1b90a0988d9a8426d1fe99ccf3b55"
+ },
+ {
+ "sourceRelativePath": "MySQL/070-logical-vs-physical-delete.md",
+ "targetRelativePath": "MySQL/070-logical-vs-physical-delete.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "3d84eb9dfff2554b897556f225c3b8235846d00767b32a51b190dbbcec3a015a"
+ },
+ {
+ "sourceRelativePath": "MySQL/078-change-data-capture.md",
+ "targetRelativePath": "MySQL/078-change-data-capture.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "9ffcc2cc4b73300b3b6e950090796d596b36b29135d6abf370d89deca5dda81e"
+ },
+ {
+ "sourceRelativePath": "MySQL/051-limit-offset-performance.md",
+ "targetRelativePath": "MySQL/051-limit-offset-performance.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "0902caea73fc42f0a7c337cdc1b76ca97d604e52ae33d4bf49f4464695fab283"
+ },
+ {
+ "sourceRelativePath": "MySQL/002-sql-join-on-where.md",
+ "targetRelativePath": "MySQL/002-sql-join-on-where.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "8ada0f7985f020955708058dc295bfbbbd3c66679d50c0532e6036e3a0cbdaf0"
+ },
+ {
+ "sourceRelativePath": "MySQL/053-common-mysql-functions.md",
+ "targetRelativePath": "MySQL/053-common-mysql-functions.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "cba3dedba829321385d15c19d6a086e9bd9071e07f9fe26da32021823b3f2eb7"
+ },
+ {
+ "sourceRelativePath": "MySQL/043-sharding-implementation-process.md",
+ "targetRelativePath": "MySQL/043-sharding-implementation-process.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "b25521b3d17eb81d4e569f71aadd8d96c357e42c88a95d5d706ae0406199581e"
+ },
+ {
+ "sourceRelativePath": "日本/行程.md",
+ "targetRelativePath": "日本/行程.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "9e6587879ee6ee7d6a842cd20600832fab8f1513d6183a7dd295da5bb098083c"
+ },
+ {
+ "sourceRelativePath": "日本/App 安装.md",
+ "targetRelativePath": "日本/App 安装.md",
+ "recommendation": "skip_stub",
+ "action": "skipped",
+ "rationale": "unfinished personal app packing checklist"
+ },
+ {
+ "sourceRelativePath": "日本/出入境、护照和常识.md",
+ "targetRelativePath": "日本/出入境、护照和常识.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "fde272a96abc78358081fd8619280e1408bec61e3b2394669332c05e36ac853d"
+ },
+ {
+ "sourceRelativePath": "Rollup/构建中常用插件介绍commonjs、node-resolve、typescript和replace.md",
+ "targetRelativePath": "Rollup/构建中常用插件介绍commonjs、node-resolve、typescript和replace.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "1d24310f5fbaf99b0a6ddd9d674155dc012366ea7c1cb4660781e96c4b454f1d"
+ },
+ {
+ "sourceRelativePath": "场景面试题/15-message-peak-shaving.md",
+ "targetRelativePath": "场景面试题/15-message-peak-shaving.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f38c696f679992325705a02d36a0eee2ba100c3654adc7d158522330ea1f1595"
+ },
+ {
+ "sourceRelativePath": "场景面试题/02-distributed-lock-alternatives.md",
+ "targetRelativePath": "场景面试题/02-distributed-lock-alternatives.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "a1422de2dc20a22e1b60a206816b32df30322d9291c903fccb896be3060d2532"
+ },
+ {
+ "sourceRelativePath": "场景面试题/10-cache-avalanche.md",
+ "targetRelativePath": "场景面试题/10-cache-avalanche.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "77dac1894da2e0d93f30a6f18fb23518c907b9c95e3a4a27a70eab46645395d7"
+ },
+ {
+ "sourceRelativePath": "场景面试题/27-mysql-replication-lag.md",
+ "targetRelativePath": "场景面试题/27-mysql-replication-lag.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "0de8f71895f62b4476aac5e3f8f3a858ff0ac0a45665fc2683d823838273a211"
+ },
+ {
+ "sourceRelativePath": "场景面试题/26-mysql-configuration-tuning.md",
+ "targetRelativePath": "场景面试题/26-mysql-configuration-tuning.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d659889819983cad51c0384153051e342750bb0ffc00ad4ec7cdf69ea72ebe2d"
+ },
+ {
+ "sourceRelativePath": "场景面试题/07-cache-value.md",
+ "targetRelativePath": "场景面试题/07-cache-value.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d890db3839a1efdbda7f3b986555a7cba2da5893fca61cbc0288b00d8750f5ac"
+ },
+ {
+ "sourceRelativePath": "场景面试题/13-message-fanout.md",
+ "targetRelativePath": "场景面试题/13-message-fanout.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "8c69ca1c2b35080ccfadc57306371698309f7f406103cdf4d8a25200255734b0"
+ },
+ {
+ "sourceRelativePath": "场景面试题/22-sharding-cross-query-transactions.md",
+ "targetRelativePath": "场景面试题/22-sharding-cross-query-transactions.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "374e1c4b3a2eb5ebe9906adff25de259dd9b046a1c72f275f20c7d92c3aaa5c8"
+ },
+ {
+ "sourceRelativePath": "场景面试题/28-mysql-primary-failover.md",
+ "targetRelativePath": "场景面试题/28-mysql-primary-failover.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "281f9b1ba5dd7c74703bf743e7bcc252ad3c2bdb89c8241c8f4e9fad4a5990c1"
+ },
+ {
+ "sourceRelativePath": "场景面试题/06-redis-big-key.md",
+ "targetRelativePath": "场景面试题/06-redis-big-key.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "619fb6b12328eb428d91ae9c4f09d93aa85b81f9028c3f5532d1668175acdb21"
+ },
+ {
+ "sourceRelativePath": "场景面试题/30-server-closes-tcp.md",
+ "targetRelativePath": "场景面试题/30-server-closes-tcp.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "4ef46d0b2f81984d1ad0f9be0a9aa8de4db351b30f3b560eb06529668a9e153a"
+ },
+ {
+ "sourceRelativePath": "场景面试题/31-tcp-server-crash-power-loss.md",
+ "targetRelativePath": "场景面试题/31-tcp-server-crash-power-loss.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f7321840cfa03fad2ad35e4332b92c4f95fb85c38a2414cd27442acf57af02d6"
+ },
+ {
+ "sourceRelativePath": "场景面试题/24-mysql-monitoring.md",
+ "targetRelativePath": "场景面试题/24-mysql-monitoring.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "00bb128a2450714f9081be58c62688d31876b2c0f115228f19a57c47a10d7b57"
+ },
+ {
+ "sourceRelativePath": "场景面试题/01-redis-as-message-queue.md",
+ "targetRelativePath": "场景面试题/01-redis-as-message-queue.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "12d5176f08c7af576da395a0596196245215cfa3808fa46d1814aaa9fd58baab"
+ },
+ {
+ "sourceRelativePath": "场景面试题/03-distributed-lock-essentials.md",
+ "targetRelativePath": "场景面试题/03-distributed-lock-essentials.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "994b222a189cda3807164ee6ac18586b996ea94bea612bfc5ce570871cf09f50"
+ },
+ {
+ "sourceRelativePath": "场景面试题/05-redis-lock-timeout.md",
+ "targetRelativePath": "场景面试题/05-redis-lock-timeout.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f7fc81a23ef7264f660c605241edd537f8ab31778e251cdf3e405274e846abea"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "targetRelativePath": "场景面试题/README.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "3c0ce4ad6c3abc5c5504f6237fd1535ec5e617068c9ca855eacc2925d7803681"
+ },
+ {
+ "sourceRelativePath": "场景面试题/21-tcp-client-failure-detection.md",
+ "targetRelativePath": "场景面试题/21-tcp-client-failure-detection.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "3bb46fd4ecbb4c18b296ebc74da9a3e4e24df12c9d0a2402a625ea4182ffe856"
+ },
+ {
+ "sourceRelativePath": "场景面试题/17-kafka-message-loss.md",
+ "targetRelativePath": "场景面试题/17-kafka-message-loss.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "450e0752fa3cfe4897467ce5475a4a3449cab0c08134adfc2e5eb2db90685fbd"
+ },
+ {
+ "sourceRelativePath": "场景面试题/20-database-sharding-when.md",
+ "targetRelativePath": "场景面试题/20-database-sharding-when.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f5237edc690f36ab54fbce78243de3e18ac7a8eb3a130fcbc8f6d7d04ab27343"
+ },
+ {
+ "sourceRelativePath": "场景面试题/25-mysql-deep-pagination.md",
+ "targetRelativePath": "场景面试题/25-mysql-deep-pagination.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "8837f3c58a925704e900445ae733eeaa8116cb1948032f6b10278f327bf58458"
+ },
+ {
+ "sourceRelativePath": "场景面试题/29-http-user-identity-cluster.md",
+ "targetRelativePath": "场景面试题/29-http-user-identity-cluster.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "10136206247a6aabfb9c0c2bc125a58aa38e4ec3956eed0c2197b31836253346"
+ },
+ {
+ "sourceRelativePath": "场景面试题/08-cache-penetration.md",
+ "targetRelativePath": "场景面试题/08-cache-penetration.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "4164306c4393000176a1bcf2ee0bb71847207a79565ae681fbfbe1fd1c11a2b4"
+ },
+ {
+ "sourceRelativePath": "场景面试题/14-message-decoupling.md",
+ "targetRelativePath": "场景面试题/14-message-decoupling.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "ceae8d004c9a94284edde91ffe61a4689665ad9f33a52cc3d2e948b1d93cb922"
+ },
+ {
+ "sourceRelativePath": "场景面试题/04-redis-lock-pros-cons.md",
+ "targetRelativePath": "场景面试题/04-redis-lock-pros-cons.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f5d274d9e420382a21f7010c4c85ec49f4dec54487aaee14dbd9ab894ea5e4ab"
+ },
+ {
+ "sourceRelativePath": "场景面试题/19-mq-backlog.md",
+ "targetRelativePath": "场景面试题/19-mq-backlog.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "737278aa0f5ab1ed27717d0377ae9343a6bb37d8cba5d48499928914234bc798"
+ },
+ {
+ "sourceRelativePath": "场景面试题/09-cache-breakdown.md",
+ "targetRelativePath": "场景面试题/09-cache-breakdown.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "0486327d448ba51d861c2add4b01d5ddf6305e9e74a7c26c25910ee0b7b65dd0"
+ },
+ {
+ "sourceRelativePath": "场景面试题/32-tcp-connection-count.md",
+ "targetRelativePath": "场景面试题/32-tcp-connection-count.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f05de3fa501a5dfd3f573f203b718ca07d64c3570c5b758eb55d1c8f4f8a8d53"
+ },
+ {
+ "sourceRelativePath": "场景面试题/23-mysql-slow-sql.md",
+ "targetRelativePath": "场景面试题/23-mysql-slow-sql.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f1c97482a45646909cb074342ea4fa7e9cd34cae7d93f90b6337a2bbc4b58fa5"
+ },
+ {
+ "sourceRelativePath": "场景面试题/16-kafka-throughput.md",
+ "targetRelativePath": "场景面试题/16-kafka-throughput.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "fc4a8c06bba19ebcca64e4eecf31671ad6a4feadef4ce8a76a1a0b7dc0c091e9"
+ },
+ {
+ "sourceRelativePath": "场景面试题/11-redis-hot-key.md",
+ "targetRelativePath": "场景面试题/11-redis-hot-key.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "1dbcda1fbe955c2252682e7b0822fd438498bc35835e632b5d3efc93f9fb2c4d"
+ },
+ {
+ "sourceRelativePath": "场景面试题/12-redis-reentrant-lock.md",
+ "targetRelativePath": "场景面试题/12-redis-reentrant-lock.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "8372b0728abe5fecad6a310768e775530c2e2dedc6b1d93883d5baefe6973d42"
+ },
+ {
+ "sourceRelativePath": "场景面试题/18-kafka-duplicate-consumption.md",
+ "targetRelativePath": "场景面试题/18-kafka-duplicate-consumption.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "785776c6582b50a2d980beec15fc96527bf7ed40b08c47a240e679d7d346aa93"
+ },
+ {
+ "sourceRelativePath": "JavaScript/前端通过 canvas 实现图片裁剪.md",
+ "targetRelativePath": "JavaScript/前端通过 canvas 实现图片裁剪.md",
+ "recommendation": "skip_empty",
+ "action": "skipped",
+ "rationale": null
+ },
+ {
+ "sourceRelativePath": "JavaScript/构建工具应该包含哪些能力?.md",
+ "targetRelativePath": "JavaScript/构建工具应该包含哪些能力?.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/来认识一下实用的、好用的:URL API.md",
+ "targetRelativePath": "JavaScript/来认识一下实用的、好用的:URL API.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/LocalStorage、sessionStorage 封装 - 基于TypeScript.md",
+ "targetRelativePath": "JavaScript/技术实践/LocalStorage、sessionStorage 封装 - 基于TypeScript.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/前端模块:CJS, AMD, UMD, ESM, System 和 IIFE.md",
+ "targetRelativePath": "JavaScript/前端模块分类.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "same article body after removing H1"
+ },
+ {
+ "sourceRelativePath": "JavaScript/正则表达式卷起来!.md",
+ "targetRelativePath": "JavaScript/正则表达式卷起来!.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "JavaScript/Atomics API.md",
+ "targetRelativePath": "JavaScript/基础知识/Atomics API.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "JavaScript/JavaScript优雅写法及骚操作.md",
+ "targetRelativePath": "JavaScript/技术实践/JavaScript优雅写法及骚操作.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "targetRelativePath": "JavaScript/索引.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "7435c072575f38b02601f49b14b799c04230939592a2f1e9d07cbabf73d47e22"
+ },
+ {
+ "sourceRelativePath": "JavaScript/浏览器中如何通过webgl获取渲染器的供应商和版本信息?.md",
+ "targetRelativePath": "JavaScript/浏览器中如何通过webgl获取渲染器的供应商和版本信息?.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "b3a0c203e75b779f47cb7a7b6189488157e7314d42bed259601e4bd68282969f"
+ },
+ {
+ "sourceRelativePath": "JavaScript/IIFE 立即执行函数表达式.md",
+ "targetRelativePath": "JavaScript/基础知识/IIFE 立即执行函数表达式.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/玩转一行代码KO问题.md",
+ "targetRelativePath": "JavaScript/玩转一行代码KO问题.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/JavaScript 错误处理指南.md",
+ "targetRelativePath": "JavaScript/技术实践/JavaScript 错误处理指南.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/js中==与===的区别.md",
+ "targetRelativePath": "JavaScript/基础知识/js中==与===的区别.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/ES5、6 指导规范.md",
+ "targetRelativePath": "JavaScript/基础知识/ES5、6 指导规范.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/Vue 源码参考.md",
+ "targetRelativePath": "JavaScript/Vue 源码参考.md",
+ "recommendation": "skip_empty",
+ "action": "skipped",
+ "rationale": null
+ },
+ {
+ "sourceRelativePath": "JavaScript/axios、XHR、XML、AJAX和Fetch分不清怎么办?.md",
+ "targetRelativePath": "JavaScript/技术实践/axios、XHR、XML、AJAX和Fetch分不清怎么办?.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/Web Worker 常见使用问题和解决方案.md",
+ "targetRelativePath": "JavaScript/Web Woker 常见使用问题和解决方案.md",
+ "recommendation": "update_existing",
+ "action": "updated",
+ "rationale": "corrected Worker spelling plus reciprocal internal link",
+ "resultHash": "70a6330e59bd680354e3b90f1bdf83b6923192f9e3fcf08b21ff9e17993af9a3"
+ },
+ {
+ "sourceRelativePath": "JavaScript/JavaScript 获取用户操作系统信息及浏览器信息.md",
+ "targetRelativePath": "JavaScript/技术实践/JavaScript 获取用户操作系统信息及浏览器信息.md",
+ "recommendation": "update_existing",
+ "action": "updated",
+ "rationale": "article body stable; source image URL upgraded in 2024",
+ "resultHash": "abe2763ff6322264cd2ee6e1b2c2f477fad24c38ae32207550ef3d07deb29c7c"
+ },
+ {
+ "sourceRelativePath": "JavaScript/ES 12 新特性.md",
+ "targetRelativePath": "JavaScript/基础知识/ES 12 新特性.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/页面生命周期:DOMContentLoaded, load, beforeunload, unload.md",
+ "targetRelativePath": "JavaScript/页面生命周期.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/使用Node.js、Express.js、TS写个简单的图床脚本(一).md",
+ "targetRelativePath": "JavaScript/使用Node.js、Express.js、TS写个简单的图床脚本(一).md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "JavaScript/为什么每个人都在谈论同构JavaScript 以及为什么它很重要.md",
+ "targetRelativePath": "JavaScript/为什么每个人都在谈论同构JavaScript 以及为什么它很重要.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/JS垃圾回收机制.md",
+ "targetRelativePath": "JavaScript/基础知识/JS垃圾回收机制.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/Property原型链与原型链.md",
+ "targetRelativePath": "JavaScript/Property原型链与原型链.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "JavaScript/深入解析call、apply、bind.md",
+ "targetRelativePath": "JavaScript/深入解析call、apply、bind.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/Web Woker 与主线程通信场景下对postMessage的简洁封装.md",
+ "targetRelativePath": "JavaScript/Web Woker 与主线程通信场景下对postMessage的简洁封装.md",
+ "recommendation": "skip_source_duplicate",
+ "action": "skipped",
+ "rationale": "correctly-spelled source is superseding expanded version"
+ },
+ {
+ "sourceRelativePath": "JavaScript/事件循环是如何影响页面渲染的?.md",
+ "targetRelativePath": "JavaScript/事件循环是如何影响页面渲染的?.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/PromiseA 集合.md",
+ "targetRelativePath": "JavaScript/PromiseA 集合.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/WebPerf Snippets —— 直接可以在浏览器控制台中获取网页性能指标的代码片段.md",
+ "targetRelativePath": "JavaScript/WebPerf Snippets —— 直接可以在浏览器控制台中获取网页性能指标的代码片段.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d5f3336d1d0e3101c51984c3858373ce2ead8a6ccda3108bb1eda47ca8873702"
+ },
+ {
+ "sourceRelativePath": "JavaScript/Web Worker 与主线程通信场景下对postMessage的简洁封装.md",
+ "targetRelativePath": "JavaScript/Web Woker 与主线程通信场景下对postMessage的简洁封装.md",
+ "recommendation": "update_existing",
+ "action": "updated",
+ "rationale": "expanded postMessage implementation plus corrected Worker spelling",
+ "resultHash": "c86c0bcf93ae6075c402c15aed858ebc35b2dc501e06321524173a3f709bd6ea"
+ },
+ {
+ "sourceRelativePath": "JavaScript/使用Node.js、pm2和ssh2模块实现一个简单的Node.js项目部署脚本.md",
+ "targetRelativePath": "JavaScript/使用Node.js、pm2和ssh2模块实现一个简单的Node.js项目部署脚本.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "JavaScript/Web Woker 常见使用问题和解决方案.md",
+ "targetRelativePath": "JavaScript/Web Woker 常见使用问题和解决方案.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/了解MutationObserver的使用以及在Vue3中的使用案例.md",
+ "targetRelativePath": "JavaScript/了解MutationObserver的使用以及在Vue3中的使用案例.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "7c896836a48a442aae788018b3db07cd62ede74597ae954a423442d00ad75968"
+ },
+ {
+ "sourceRelativePath": "JavaScript/前端 SSO 单点登入方案.md",
+ "targetRelativePath": "JavaScript/前端 SSO 单点登入方案.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "JavaScript/JSDoc 初探:代码内的文档标记.md",
+ "targetRelativePath": "JavaScript/技术实践/JSDoc 初探:代码内的文档标记.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/怎么总有人混淆Service Worker 和 Web Worker?.md",
+ "targetRelativePath": "JavaScript/怎么总有人混淆Service Worker 和 Web Worker?.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/JavaScript 进阶整合.md",
+ "targetRelativePath": "JavaScript/基础知识/JavaScript 进阶整合.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "JavaScript/Set,Map 和 Array的区别.md",
+ "targetRelativePath": "JavaScript/Set,Map 和 Array的区别.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/JavaScript 如何跳出(终止)forEach 循环.md",
+ "targetRelativePath": "JavaScript/技术实践/JavaScript 如何跳出(终止)forEach 循环.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/如何使用Performance API 来衡量应用性能?.md",
+ "targetRelativePath": "JavaScript/如何使用Performance API 来衡量应用性能?.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Astro/来了解一下 Island Architecture 孤岛架构.md",
+ "targetRelativePath": "元框架/Astro/来了解一下 Island Architecture 孤岛架构.md",
+ "recommendation": "update_existing",
+ "action": "updated",
+ "rationale": "new image URL and explicit astro code fence",
+ "resultHash": "f3ccf9610e234b66650dcf17f058792be2dcb35d2f849f7d72afc6fd45f3de17"
+ },
+ {
+ "sourceRelativePath": "Astro/Astro 中启用服务器端渲染.md",
+ "targetRelativePath": "元框架/Astro/Astro 中启用服务器端渲染.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Astro/Vue集成.md",
+ "targetRelativePath": "元框架/Astro/Vue集成.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/优化事件处理逻辑:使用WeakSet跟踪事件处理状态.md",
+ "targetRelativePath": "Node/优化事件处理逻辑:使用WeakSet跟踪事件处理状态.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "08968fed579f0ea662109ddaf1c3bb5ef21120483af2a2932efbbe3368a6c063"
+ },
+ {
+ "sourceRelativePath": "Node/Node 笔记(2)模块化.md",
+ "targetRelativePath": "Node/笔记/Node 笔记(2)模块化.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/为什么是 pnpm?我们为何使用monorepo?.md",
+ "targetRelativePath": "Node/为什么是 pnpm?我们为何使用monorepo?.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/Node 笔记(3)Node常用内置模块.md",
+ "targetRelativePath": "Node/笔记/Node 笔记(3)Node常用内置模块.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/Node 笔记(7)Buffer的使用.md",
+ "targetRelativePath": "Node/笔记/Node 笔记(7)Buffer的使用.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/CJS 和 ES Module 横向对比.md",
+ "targetRelativePath": "Node/CJS 和 ES Module 横向对比.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/http-server 和 live-server.md",
+ "targetRelativePath": "Node/http-server 和 live-server.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "c3170789c5dd92ea3b05dd03bcc82f66616efef429f835cb363a705080ca7140"
+ },
+ {
+ "sourceRelativePath": "Node/npm包打补丁 — patch-package.md",
+ "targetRelativePath": "Node/npm包打补丁 — patch-package.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "targetRelativePath": "Node/索引.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "8e4df28d86f9b751b6662308d711bf95df7f43ca5d7320e18524c4122aa2fe5d"
+ },
+ {
+ "sourceRelativePath": "Node/Node.js 进程通信.md",
+ "targetRelativePath": "Node/Node.js 进程通信.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/Node 笔记(9)深入事件循环.md",
+ "targetRelativePath": "Node/笔记/Node 笔记(9)深入事件循环.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/PM2 使用指南~.md",
+ "targetRelativePath": "Node/PM2 使用指南~.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "Node/Node.js 子进程管理和进程通信.md",
+ "targetRelativePath": "Node/Node.js 子进程管理和进程通信.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "Node/Node 笔记(6)Stream.md",
+ "targetRelativePath": "Node/笔记/Node 笔记(6)Stream.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/深入探索 Node.js 中的事件处理.md",
+ "targetRelativePath": "Node/深入探索 Node.js 中的事件处理.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "32fa8b6eee64da90c25bed06560a72242be04547e05f6c016ee5a1f9c38f33cb"
+ },
+ {
+ "sourceRelativePath": "Node/Node 笔记(1)内核引擎.md",
+ "targetRelativePath": "Node/笔记/Node 笔记(1)内核引擎.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "Node/Node 笔记(4)包管理工具.md",
+ "targetRelativePath": "Node/笔记/Node 笔记(4)包管理工具.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/Node 笔记(5)开发脚手架工具.md",
+ "targetRelativePath": "Node/笔记/Node 笔记(5)开发脚手架工具.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/图片格式转换:将上传图片转为webp.md",
+ "targetRelativePath": "Node/图片格式转换:将上传图片转为webp.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "Node/Yarn 4.0发布:性能提升,提供更多命令和功能.md",
+ "targetRelativePath": "Node/Yarn 4.0发布:性能提升,提供更多命令和功能.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "69e0b67b7070dcf25c837fdd073fc5ef0edea85cbd50295b896de1062cfef84b"
+ },
+ {
+ "sourceRelativePath": "Node/使用Node.js 实现网络代理(无框架,通过http-proxy).md",
+ "targetRelativePath": "Node/使用Node.js 实现网络代理(无框架,通过http-proxy).md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/Node 笔记(8)Http模块.md",
+ "targetRelativePath": "Node/笔记/Node 笔记(8)Http模块.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/静态根:具有编译时常量地址的对象.md",
+ "targetRelativePath": "Node/静态根:具有编译时常量地址的对象.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d56f4c5a10116d8686653d886117d48217750257d2f2ff63c3c0a5bc83091e4c"
+ },
+ {
+ "sourceRelativePath": "Node/横向对比 CJS 和 ES Module.md",
+ "targetRelativePath": "Node/横向对比 CJS 和 ES Module.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/CORS 跨域及其 Nodejs 服务端配置实践.md",
+ "targetRelativePath": "Node/CORS 跨域及其 Nodejs 服务端配置实践.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/咱们来整一个Node.js脚本,使用ffmpeg将视频转换为GIF文件.md",
+ "targetRelativePath": "Node/咱们来整一个Node.js脚本,使用ffmpeg将视频转换为GIF文件.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "Node/Node.js 文件系统指南.md",
+ "targetRelativePath": "Node/Node.js 文件系统指南.md",
+ "recommendation": "skip_empty",
+ "action": "skipped",
+ "rationale": null
+ },
+ {
+ "sourceRelativePath": "牛客/牛客网刷题1-10.md",
+ "targetRelativePath": "牛客/牛客网刷题1-10.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "85d66e5c816ea39e38e4931ca5f771b9c8e2f1947a4cb91c0ce6da505e5c8ae4"
+ },
+ {
+ "sourceRelativePath": "牛客/牛客网刷题21-30.md",
+ "targetRelativePath": "牛客/牛客网刷题21-30.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "1944a618cf69414d1f52f9240c4d6130ab9c108264c29f2604c739cada71b9fc"
+ },
+ {
+ "sourceRelativePath": "牛客/牛客网刷题41-50.md",
+ "targetRelativePath": "牛客/牛客网刷题41-50.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "7393d360608d9207d173eda90704fbd1685205c34b2ae69cf3a76fbe892fb842"
+ },
+ {
+ "sourceRelativePath": "牛客/牛客网刷题31-40.md",
+ "targetRelativePath": "牛客/牛客网刷题31-40.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "e4779deb4c6d4040c6825ea9519617323733343b27660dae719d4c99941fdadb"
+ },
+ {
+ "sourceRelativePath": "牛客/牛客网刷题11-20.md",
+ "targetRelativePath": "牛客/牛客网刷题11-20.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "ba9de14647363bc69e8fc97550dfdca18893f8a454cc017bcc64ab0c4c64720a"
+ },
+ {
+ "sourceRelativePath": "牛客/牛客网刷题51-60.md",
+ "targetRelativePath": "牛客/牛客网刷题51-60.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "2c7658cdafc03a34bb95767437aeebd6f4f51a9c3257ba769b1a2f6cb4536821"
+ },
+ {
+ "sourceRelativePath": "软技能/前端学习目标.md",
+ "targetRelativePath": "软文/前端学习目标.md",
+ "recommendation": "update_existing",
+ "action": "updated",
+ "rationale": "updated book checklist state",
+ "resultHash": "9c4b315e789bf19c80b3b323520907b42c7ed382107f473086b25122c521f977"
+ },
+ {
+ "sourceRelativePath": "软技能/精选文章列表.md",
+ "targetRelativePath": "软文/精选文章列表.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "软技能/PPT图文排版心得.md",
+ "targetRelativePath": "软文/PPT图文排版心得.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "软技能/DDD.md",
+ "targetRelativePath": "软技能/DDD.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "a3ca6ff50fefa7614d8d3eac2931bfdce24a390052774a88b844bd6513c8c1e2"
+ },
+ {
+ "sourceRelativePath": "软技能/LaTeX 数学公式语法手册.md",
+ "targetRelativePath": "软文/LaTeX 数学公式语法手册.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "软技能/开发黑话 专业术语.md",
+ "targetRelativePath": "软技能/开发黑话 专业术语.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "6331c3dfbf3b2535b50e1ef1499b6a44270d80271a547763abf2756db673e16b"
+ },
+ {
+ "sourceRelativePath": "软技能/API 版本控制.md",
+ "targetRelativePath": "软技能/API 版本控制.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "75df25ead12623e64d2c272896e8d37671d030b94ca69114c7435bbb5bbb1a48"
+ },
+ {
+ "sourceRelativePath": "软技能/浏览器翻译.md",
+ "targetRelativePath": "软文/浏览器翻译.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "杂文/写作技巧和经验.md",
+ "targetRelativePath": "软文/写作技巧和经验.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "杂文/来了解一下 git fetch 与 git pull的区别.md",
+ "targetRelativePath": "软文/来了解一下 git fetch 与 git pull的区别.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "杂文/Git 分支模型.md",
+ "targetRelativePath": "杂文/Git 分支模型.md",
+ "recommendation": "skip_empty",
+ "action": "skipped",
+ "rationale": null
+ },
+ {
+ "sourceRelativePath": "杂文/Serverless 笔记.md",
+ "targetRelativePath": "软文/Serverless 笔记.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "杂文/我的大学四年.md",
+ "targetRelativePath": "杂文/我的大学四年.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "33624b170fa20644494ff31f6f22786f52a7859c2813f976613d98d79b6b4650"
+ },
+ {
+ "sourceRelativePath": "杂文/UED、UCD、UE、UI、交互设计.md",
+ "targetRelativePath": "软文/UED、UCD、UE、UI、交互设计.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "杂文/Git 常用语句与命令行.md",
+ "targetRelativePath": "软文/Git 常用语句与命令行.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "面试通用/share.md",
+ "targetRelativePath": "面试通用/share.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "887dbf3eebcd45cbe843d9dcb157c72c2558faae17c7bcb1804af5884b6d1061"
+ },
+ {
+ "sourceRelativePath": "面试通用/前端工程师面试手册.md",
+ "targetRelativePath": "面试通用/前端工程师面试手册.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "fbf7c23c8cba3c0669f529c511852142bbb9c231890a2707818326733e7a2fa9"
+ },
+ {
+ "sourceRelativePath": "面试通用/「算法与数据结构」梳理6大排序算法 为了offer.md",
+ "targetRelativePath": "面试通用/「算法与数据结构」梳理6大排序算法 为了offer.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "bd1ccbde43548214d5fd6edc735ec6acc2d6713868b282308cb8a5fe7b0e4504"
+ },
+ {
+ "sourceRelativePath": "面试通用/计算机网络面试题.md",
+ "targetRelativePath": "面试通用/计算机网络面试题.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "754e394254323bc823ba66cf7174fe16cc0be06df3f032e3981660f1906b861e"
+ },
+ {
+ "sourceRelativePath": "面试通用/Node.js 前端面试题.md",
+ "targetRelativePath": "面试通用/Node.js 前端面试题.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "177d955592a72046e96c0dd2414ea864b0d70b5e95236838585a01f73128a10d"
+ },
+ {
+ "sourceRelativePath": "面试通用/前端面试十万字书籍总结.md",
+ "targetRelativePath": "面试通用/前端面试十万字书籍总结.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "2640b11857f2418a5ae478942e353286b606401f19223cae2352ce709e428802"
+ },
+ {
+ "sourceRelativePath": "React/从零开始实现RSC - 第 1 部分:Server Component.md",
+ "targetRelativePath": "React/从零开始实现RSC - 第 1 部分:Server Component.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "targetRelativePath": "React/索引.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "cca711dac34494dd1df5da14ca332ced24e1eb07c9cd014c63eaaa9b897ccb51"
+ },
+ {
+ "sourceRelativePath": "React/ReactHooks汇总.md",
+ "targetRelativePath": "React/React Hooks笔记/ReactHooks汇总.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/React基础.md",
+ "targetRelativePath": "React/React基础.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/执行和清除Effect的时机.md",
+ "targetRelativePath": "React/执行和清除Effect的时机.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/React 项目优化.md",
+ "targetRelativePath": "React/React 项目优化.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/ReactRouter V6 解析.md",
+ "targetRelativePath": "React/ReactRouter V6 解析.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/useReducer:类Redux的useState替代方案.md",
+ "targetRelativePath": "React/useReducer:类Redux的useState替代方案.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/容器内选择单一列表并进行高亮切换的实践.md",
+ "targetRelativePath": "React/容器内选择单一列表并进行高亮切换的实践.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/Mobx 教程.md",
+ "targetRelativePath": "React/Mobx 教程.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/eslint-plugin-react 配置.md",
+ "targetRelativePath": "React/eslint-plugin-react 配置.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/React 中使用 TypeScript.md",
+ "targetRelativePath": "React/React 中使用 TypeScript.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/高级 React 组件组合.md",
+ "targetRelativePath": "React/高级 React 组件组合.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/Web Components 中使用生命周期回调函数.md",
+ "targetRelativePath": "Browser/Web Components 中使用生命周期回调函数.md",
+ "recommendation": "skip_source_duplicate",
+ "action": "skipped",
+ "rationale": "same source article body as Browser/Web Components 中使用生命周期回调函数.md after ignoring first H1"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/Web浏览器滚动方案一览| rAF等.md",
+ "targetRelativePath": "浏览器工作原理/Web浏览器滚动方案一览| rAF等.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "c70902640ce3797ff596f24be4d0d4273c04c14a2558b9b3d91638d142069944"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/索引.md",
+ "targetRelativePath": "浏览器工作原理/索引.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f7433670799979f07a16971e795699b6961c2cb2b746780e0ba393394da48c90"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/CORB 兼容性和影响.md",
+ "targetRelativePath": "浏览器原理/CORB 兼容性和影响.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/深入理解内容安全策略(CSP):保障网页安全的利器.md",
+ "targetRelativePath": "浏览器工作原理/深入理解内容安全策略(CSP):保障网页安全的利器.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "6808224cdf6a37cfc27b2ffcacde3b796fac5aebefd08129c0d088a288a323a0"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/CORB 应对策略.md",
+ "targetRelativePath": "浏览器原理/CORB 应对策略.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/Chrome浏览器插件(扩展)- Manifest V3 插件开发规范简介.md",
+ "targetRelativePath": "Browser/Chrome浏览器插件(扩展)- Manifest V3 插件开发规范简介.md",
+ "recommendation": "skip_source_duplicate",
+ "action": "skipped",
+ "rationale": "same source article body as Browser/Chrome浏览器插件(扩展)- Manifest V3 插件开发规范简介.md after ignoring first H1"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/CORB 策略.md",
+ "targetRelativePath": "浏览器原理/CORB 策略.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "年终总结/再见大学,你好bilibili——一个前端工程师的不走寻常路年终总结.md",
+ "targetRelativePath": "年终总结/再见大学,你好bilibili——一个前端工程师的不走寻常路年终总结.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "a85d66ab7dd3b5c392969df3f5e3c0b381480e619ee45a24056f83c40b73b99d"
+ },
+ {
+ "sourceRelativePath": "年终总结/2025 年终总结.md",
+ "targetRelativePath": "年终总结/2025 年终总结.md",
+ "recommendation": "skip_stub",
+ "action": "skipped",
+ "rationale": "unwritten annual review outline"
+ },
+ {
+ "sourceRelativePath": "面试题合集/前端性能优化篇.md",
+ "targetRelativePath": "八股文/浏览器原理/前端性能优化篇.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "面试题合集/浏览器原理面试题汇总.md",
+ "targetRelativePath": "八股文/浏览器原理/浏览器原理面试题汇总.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "抖音/本地推投流配置.md",
+ "targetRelativePath": "抖音/本地推投流配置.md",
+ "recommendation": "skip_user_excluded",
+ "action": "excluded_by_request",
+ "rationale": "Source directory excluded by the user's request.",
+ "excludedByRequest": true
+ },
+ {
+ "sourceRelativePath": "抖音/如何使用Dou+.md",
+ "targetRelativePath": "抖音/如何使用Dou+.md",
+ "recommendation": "skip_user_excluded",
+ "action": "excluded_by_request",
+ "rationale": "Source directory excluded by the user's request.",
+ "excludedByRequest": true
+ },
+ {
+ "sourceRelativePath": "src/后端/85-Agent死循环排查与治理.md",
+ "targetRelativePath": "后端/85-Agent死循环排查与治理.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f468ee3d9dc011c5040994288df22312b0dfce0128ba89c6507a3a79382dd9a2"
+ },
+ {
+ "sourceRelativePath": "src/后端/118-一致性Hash设计.md",
+ "targetRelativePath": "后端/118-一致性Hash设计.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "a8c5099b788c0016bb8d539fc8cca8099a24e3508e693c1ad1c618905df2ce92"
+ },
+ {
+ "sourceRelativePath": "src/后端/36-大HashMap扩容优化.md",
+ "targetRelativePath": "后端/36-大HashMap扩容优化.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "1525ae3901ccfe5f5cf47809574bac3723d2f7cbb06ed43f17df7fa39428f832"
+ },
+ {
+ "sourceRelativePath": "src/后端/103-订单数据同步数仓方案.md",
+ "targetRelativePath": "后端/103-订单数据同步数仓方案.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "8f2b260643fd6ee34cfa772f8316d3cb499dfc98aed2a119cf4ec0c7b735a973"
+ },
+ {
+ "sourceRelativePath": "src/后端/102-亿级ArrayList去重.md",
+ "targetRelativePath": "后端/102-亿级ArrayList去重.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "eb472aa29e2d912f93778380ffc4f67989f716b5a54cc954e064aa7bc9ab8503"
+ },
+ {
+ "sourceRelativePath": "src/后端/33-Excel导出慢优化.md",
+ "targetRelativePath": "后端/33-Excel导出慢优化.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "18ba08f3816a4dd3e95fdf47d406eea415c0f3d3bf1150c55897e52990a5b842"
+ },
+ {
+ "sourceRelativePath": "src/后端/109-订单状态同步顺序错乱.md",
+ "targetRelativePath": "后端/109-订单状态同步顺序错乱.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "559bb9f83e798f6790889deffd0a0947e29891891a520aac4e0cec9e319b1a91"
+ },
+ {
+ "sourceRelativePath": "src/后端/39-设计线程池.md",
+ "targetRelativePath": "后端/39-设计线程池.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "31a4a9e3718b3636d23b4aadb551c8f1725e5f2607319c7c4afdd86aefe7af8a"
+ },
+ {
+ "sourceRelativePath": "src/后端/99-主线程收集并行任务结果.md",
+ "targetRelativePath": "后端/99-主线程收集并行任务结果.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "2ec9acee186d9cf21fa84edf0c1956151aab3ef717c1fa913f3c82295383afc6"
+ },
+ {
+ "sourceRelativePath": "src/后端/84-4C8G与8C16G服务器选型.md",
+ "targetRelativePath": "后端/84-4C8G与8C16G服务器选型.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "73bbc9af197a9abde85610847768adec9be450459f8d9fd7c1daa460db97c3c6"
+ },
+ {
+ "sourceRelativePath": "src/后端/77-一秒请求优化到一毫秒.md",
+ "targetRelativePath": "后端/77-一秒请求优化到一毫秒.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "4f11f8ab2539ddb591876f9ed7bd6e0143211f12b9bccdf3d1db1b26a572f403"
+ },
+ {
+ "sourceRelativePath": "src/后端/16-接口变慢如何排查.md",
+ "targetRelativePath": "后端/16-接口变慢如何排查.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "796630abe79d5196de623b5014d5a278b8f8b9b6b7e1b90fe3766a2a9a1e75f6"
+ },
+ {
+ "sourceRelativePath": "src/后端/82-服务重启避免重连洪峰.md",
+ "targetRelativePath": "后端/82-服务重启避免重连洪峰.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "fe26775c20976b23f4e50333171bfcd9268406a9650053bbfc930f1a927e7f55"
+ },
+ {
+ "sourceRelativePath": "src/后端/96-五分钟内重复登录检测.md",
+ "targetRelativePath": "后端/96-五分钟内重复登录检测.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "ef483b98123f34f2e72e38f62a8fad53bec2622baa711c0a955a5113faf3c120"
+ },
+ {
+ "sourceRelativePath": "src/后端/115-配置中心故障降级.md",
+ "targetRelativePath": "后端/115-配置中心故障降级.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "6c04ad09433760bc5f61f1283cd2c106b71f77de044f1ed51c836e3ccd64e15b"
+ },
+ {
+ "sourceRelativePath": "src/后端/80-核心数据缓存预热设计.md",
+ "targetRelativePath": "后端/80-核心数据缓存预热设计.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "80be7b648db4cc4a6e4cac828555013d5a41b7a705195318d9161cbee3959172"
+ },
+ {
+ "sourceRelativePath": "src/后端/31-避免用户重复下单占库存.md",
+ "targetRelativePath": "后端/31-避免用户重复下单占库存.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "707832d832ae1a363af936046ab204dee0b99fb62dbe29c626fa2db2c14936d8"
+ },
+ {
+ "sourceRelativePath": "src/后端/58-会员到期提前7天提醒.md",
+ "targetRelativePath": "后端/58-会员到期提前7天提醒.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "2da4464cbf2ca8435c6022d66067190b4968d4bd4918d7dde66632e5f1c4e2bf"
+ },
+ {
+ "sourceRelativePath": "src/后端/65-Redis只保留热点数据.md",
+ "targetRelativePath": "后端/65-Redis只保留热点数据.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "fd72b9603fa7e093c4b512fc9ac3f1be6533b874312fe97193b827d52bac2190"
+ },
+ {
+ "sourceRelativePath": "src/后端/89-接口恶意刷流量治理.md",
+ "targetRelativePath": "后端/89-接口恶意刷流量治理.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "9dc33eedb54ed9a27a939fb5c0d5dd097b6aa890e8f05eefff966914726136cb"
+ },
+ {
+ "sourceRelativePath": "src/后端/52-Redis内存溢出排查与解决.md",
+ "targetRelativePath": "后端/52-Redis内存溢出排查与解决.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "283b852b1a1b3a967196b89ab955ea50cdefe958b606e76547469653146ad507"
+ },
+ {
+ "sourceRelativePath": "src/后端/63-调用第三方接口注意事项.md",
+ "targetRelativePath": "后端/63-调用第三方接口注意事项.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "5da46da2012cbb52252d9d6350f67cd3513bddd0074c6822c5fbe456e344d6e1"
+ },
+ {
+ "sourceRelativePath": "src/后端/83-第三方上游异步处理方案.md",
+ "targetRelativePath": "后端/83-第三方上游异步处理方案.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "908167d57582b469efd4374f115531cb53a3eb169cd837bbb27e99a1c5ddf9f9"
+ },
+ {
+ "sourceRelativePath": "src/后端/93-OAuth2授权服务设计.md",
+ "targetRelativePath": "后端/93-OAuth2授权服务设计.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "dc9d0da2210dcd762ab53d2cc011d773e1fd8b42bfb3d753e2c46113c64872ce"
+ },
+ {
+ "sourceRelativePath": "src/后端/111-API网关设计.md",
+ "targetRelativePath": "后端/111-API网关设计.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "84f944739aec3281ac02ef698d2eaa3c758e22be17d9f0229cbba117f35fb3d9"
+ },
+ {
+ "sourceRelativePath": "src/后端/91-代码之外的性能优化.md",
+ "targetRelativePath": "后端/91-代码之外的性能优化.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "04f49e7f0b7025867d5d943702fec44845528d28286bcbe83ca7537fde095708"
+ },
+ {
+ "sourceRelativePath": "src/后端/68-微服务服务发现原理.md",
+ "targetRelativePath": "后端/68-微服务服务发现原理.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "256bb1250926ec0b7bd0c98a0c1e4b497f12ec09a5fe81d8a367f93f12737703"
+ },
+ {
+ "sourceRelativePath": "src/后端/13-限流与限流算法.md",
+ "targetRelativePath": "后端/13-限流与限流算法.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "3f860e4be303cd9a555696189802eb36aea47dce67209060a24cd03095246144"
+ },
+ {
+ "sourceRelativePath": "src/后端/07-设计短链系统.md",
+ "targetRelativePath": "后端/07-设计短链系统.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "5478cefd34eba04a011cbe66aeaa170ce4e4b52062fc6e0978fae9ccebfeb316"
+ },
+ {
+ "sourceRelativePath": "src/后端/100-分布式FIFO支付限流设计.md",
+ "targetRelativePath": "后端/100-分布式FIFO支付限流设计.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "08ea939fe4a7141e7febb1dbb9c97722ccc7df7d5e8791b6fb0fe5db0eac06cd"
+ },
+ {
+ "sourceRelativePath": "src/后端/59-店铺Top50商品设计.md",
+ "targetRelativePath": "后端/59-店铺Top50商品设计.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d9c40eb37845f132d0ce72212c5ca7ee299ce741369eeb8fbca6dc33269c47c8"
+ },
+ {
+ "sourceRelativePath": "src/后端/51-JVM内存占用与OOM分析.md",
+ "targetRelativePath": "后端/51-JVM内存占用与OOM分析.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "b01361b42a5d36ee276e07de78903554243774ec9bb4e07119cfec4c3f74282f"
+ },
+ {
+ "sourceRelativePath": "src/后端/47-JDK序列化问题排查.md",
+ "targetRelativePath": "后端/47-JDK序列化问题排查.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "9d2756026ed136925aae52791ef89b906c50a8950fb30252a12398626f344534"
+ },
+ {
+ "sourceRelativePath": "src/后端/78-WebSocket与IM协议设计.md",
+ "targetRelativePath": "后端/78-WebSocket与IM协议设计.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "ed2e034fd538f61f71b8bd92227154ebd95c086b2ba7393b108e6f1930696d2c"
+ },
+ {
+ "sourceRelativePath": "src/后端/60-MySQL查询千万行内存问题.md",
+ "targetRelativePath": "后端/60-MySQL查询千万行内存问题.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "8ccf64ae4f4111019fed414c7972c4a4f3ac901ac4e717f4a685222d3ee26e34"
+ },
+ {
+ "sourceRelativePath": "src/后端/95-大表在线新增字段.md",
+ "targetRelativePath": "后端/95-大表在线新增字段.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "6cddca7c976ae98159543797e5ea75a42e2a04cf02266e396a1999385632268d"
+ },
+ {
+ "sourceRelativePath": "src/后端/26-接口响应慢定位与解决.md",
+ "targetRelativePath": "后端/26-接口响应慢定位与解决.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "15fc4460970c17d584096ad2e887f874ed23d3bf3acf87f1a2fb12553cf639f4"
+ },
+ {
+ "sourceRelativePath": "src/后端/40-千亿数据快速安全写入HashMap.md",
+ "targetRelativePath": "后端/40-千亿数据快速安全写入HashMap.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "793d5c56af53305774169551b8327832a108ba87c990d7cb816f9654260c45bd"
+ },
+ {
+ "sourceRelativePath": "src/后端/69-MySQL单表大数据优化.md",
+ "targetRelativePath": "后端/69-MySQL单表大数据优化.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "9decea2f3ebfb8d4ee094af2acf4fe3985c6e3cdafdff9f346803a6109bd1ad3"
+ },
+ {
+ "sourceRelativePath": "src/后端/41-数据库连接池爆满排查.md",
+ "targetRelativePath": "后端/41-数据库连接池爆满排查.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "69e9b3818a7d4b9d2de4cad1bfae064edbe1014a90b31ca5b229003d30f84081"
+ },
+ {
+ "sourceRelativePath": "src/后端/11-设计文件上传系统.md",
+ "targetRelativePath": "后端/11-设计文件上传系统.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "b8ed1e4526144e67fb4b650ab2510f31cdef0ffc5ff8792c6f6f48eb893b83de"
+ },
+ {
+ "sourceRelativePath": "src/后端/15-设计线程安全的HashMap.md",
+ "targetRelativePath": "后端/15-设计线程安全的HashMap.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "a2c8d59c734057df352f3044061847b75d7256fc1888b4d8a0e300c232492a2b"
+ },
+ {
+ "sourceRelativePath": "src/后端/55-Java文件写入磁盘过程.md",
+ "targetRelativePath": "后端/55-Java文件写入磁盘过程.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "ad2427811be232bc1c0a3737a4e94336c493c71a80c06b53ba65974d3b3a66b6"
+ },
+ {
+ "sourceRelativePath": "src/后端/62-订单超时取消设计.md",
+ "targetRelativePath": "后端/62-订单超时取消设计.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "e1b082618556aa7e5c562a4b7ccfbd667b0068afa79a776fa14b920e71ddb0f1"
+ },
+ {
+ "sourceRelativePath": "src/后端/30-订单取消与支付并发.md",
+ "targetRelativePath": "后端/30-订单取消与支付并发.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "6ce465db0d0addfbb35c46c5166e875daebdc9ca63f84cdcc1eb75adf1d17e60"
+ },
+ {
+ "sourceRelativePath": "src/后端/21-无锁实现线程安全单例.md",
+ "targetRelativePath": "后端/21-无锁实现线程安全单例.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d2b348695c925f3bc5d775c34f24c0f63be503f9fd10a0d14acc52ddaab743c2"
+ },
+ {
+ "sourceRelativePath": "src/后端/67-Redis挂掉的系统应对.md",
+ "targetRelativePath": "后端/67-Redis挂掉的系统应对.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "23015de2e22b7548b453606f79df462e9ad1153bd1465a975eb9d1e6c2235aef"
+ },
+ {
+ "sourceRelativePath": "src/后端/12-设计分布式ID发号器.md",
+ "targetRelativePath": "后端/12-设计分布式ID发号器.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "b48c8150ccaf6a7168bf2362345826310cd44eac996e3fd85098a9f346407ae7"
+ },
+ {
+ "sourceRelativePath": "src/后端/106-LIMIT-OFFSET分页同步丢数据.md",
+ "targetRelativePath": "后端/106-LIMIT-OFFSET分页同步丢数据.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "bd6db32bbb75daa8cafd17fe79038094c8ad650a08a2a507ab008e2e41b83843"
+ },
+ {
+ "sourceRelativePath": "src/后端/101-MySQL亿级数据快速加索引.md",
+ "targetRelativePath": "后端/101-MySQL亿级数据快速加索引.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "a1d53af98667a174911e2379c9f3fcfb77c14dbe75df46556d704a4b092c6442"
+ },
+ {
+ "sourceRelativePath": "src/后端/92-新项目上线关注指标.md",
+ "targetRelativePath": "后端/92-新项目上线关注指标.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "a261c6185be0007b0bfc0feeeb2a4673b055dde2ee5e8b6c94c72b599e0cb9fb"
+ },
+ {
+ "sourceRelativePath": "src/后端/86-LLM千用户并发吞吐分析.md",
+ "targetRelativePath": "后端/86-LLM千用户并发吞吐分析.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "32625e09862873ddc9c6a1efdf12235186d5cff9d46bc731c150febebcc65f3a"
+ },
+ {
+ "sourceRelativePath": "src/后端/04-设计秒杀功能.md",
+ "targetRelativePath": "后端/04-设计秒杀功能.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "e453ec6a6f9addaa8871a676c923bdbeba5ffe5532e2830a00278bd4bedf61d8"
+ },
+ {
+ "sourceRelativePath": "src/后端/76-不用大小于号比较正整数.md",
+ "targetRelativePath": "后端/76-不用大小于号比较正整数.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "70b5bb8c8e8a0717247793922afb7bb88cef9f1d36c1ba5d9e92c95f3ba4dea4"
+ },
+ {
+ "sourceRelativePath": "src/后端/17-不用sleep制造必然死锁.md",
+ "targetRelativePath": "后端/17-不用sleep制造必然死锁.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "b0c3545ad896674ad03de88cfeacb9fcfd9eaa1ae7aac2697a0e06733312ca14"
+ },
+ {
+ "sourceRelativePath": "src/后端/25-线上CPULoad飙高排查.md",
+ "targetRelativePath": "后端/25-线上CPULoad飙高排查.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "0ae7fc2aa4fc07191613a1740bf9b6f406e76dc5a94d81edbe34922f328ffddc"
+ },
+ {
+ "sourceRelativePath": "src/后端/01-避免支付宝八折优惠类事故.md",
+ "targetRelativePath": "后端/01-避免支付宝八折优惠类事故.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "8088058b1e36cbe11e1642c81f2672d82875658a8e05895b988d02139bd1294e"
+ },
+ {
+ "sourceRelativePath": "src/后端/64-朋友圈点赞设计.md",
+ "targetRelativePath": "后端/64-朋友圈点赞设计.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "774f00f9a02f9d48689a9ccfb867571a1bf88c689b6fee4048685c95c447fe1c"
+ },
+ {
+ "sourceRelativePath": "src/后端/61-千任务一秒线程池参数.md",
+ "targetRelativePath": "后端/61-千任务一秒线程池参数.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "442924df499b7894d3f3d1a1abde2b9dd3cae883fb6588b9fcb44631633a814d"
+ },
+ {
+ "sourceRelativePath": "src/后端/38-网关到后端RPC超时预算.md",
+ "targetRelativePath": "后端/38-网关到后端RPC超时预算.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d1c30cc9cc2ceafdbce1628e535e03d2234357b003e66289c72beac69eea2e74"
+ },
+ {
+ "sourceRelativePath": "src/后端/81-关联表与冗余字段权衡.md",
+ "targetRelativePath": "后端/81-关联表与冗余字段权衡.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "ac95c3c06e42818aea0da5badf4f5edcf1ee53a098723871450140e85c84af53"
+ },
+ {
+ "sourceRelativePath": "src/后端/74-几行代码实现负载均衡器.md",
+ "targetRelativePath": "后端/74-几行代码实现负载均衡器.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "7cf1dc1847a46a168b2a27a92b5d4275c983a5b7de7aea9ee9d4092eea6a58b3"
+ },
+ {
+ "sourceRelativePath": "src/后端/22-抢红包金额算法.md",
+ "targetRelativePath": "后端/22-抢红包金额算法.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "7d6ce7410f9272e9283ec74c4fdbb961c4758cbfd4410185f5f1b8fb2095366d"
+ },
+ {
+ "sourceRelativePath": "src/后端/34-百万Excel数据导入数据库.md",
+ "targetRelativePath": "后端/34-百万Excel数据导入数据库.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "34d25769f7cc1da2c71a59deb0285ea5a01639581091d9893835937ab127ff20"
+ },
+ {
+ "sourceRelativePath": "src/后端/87-JWT安全设计.md",
+ "targetRelativePath": "后端/87-JWT安全设计.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "989c4e64276eae04f18eb95e1f239743e5a8fe2733a7f39ba6d0dfd9f2600831"
+ },
+ {
+ "sourceRelativePath": "src/后端/08-实现分布式单例对象.md",
+ "targetRelativePath": "后端/08-实现分布式单例对象.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "e48f9afcc46b1bf5037a09a045ac68886789d65a975f9bb767f1172413c65095"
+ },
+ {
+ "sourceRelativePath": "src/后端/94-验证码接口恶意滥用治理.md",
+ "targetRelativePath": "后端/94-验证码接口恶意滥用治理.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "8307ec5a312647f8205f572f34c8b9d0643f1d29391404f8991f9b9df14198c9"
+ },
+ {
+ "sourceRelativePath": "src/后端/98-最大在线人数与最长持续时间.md",
+ "targetRelativePath": "后端/98-最大在线人数与最长持续时间.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "71be1a053cece92198be9459073062420ac1462590a4a85a4e2885d9f2cc3041"
+ },
+ {
+ "sourceRelativePath": "src/后端/105-高可用数据同步系统.md",
+ "targetRelativePath": "后端/105-高可用数据同步系统.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "610194f05bfe655bde0fd82ece1346bb42b3ceef767b2842151220a2a654f1a8"
+ },
+ {
+ "sourceRelativePath": "src/后端/24-线上服务器CPU飙高排查.md",
+ "targetRelativePath": "后端/24-线上服务器CPU飙高排查.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "dabbf8aa76b2851d48636981bd4bfcc0e7e0b3511dc773e85a05e859964bb6a5"
+ },
+ {
+ "sourceRelativePath": "src/后端/70-Java非堆内存持续增长.md",
+ "targetRelativePath": "后端/70-Java非堆内存持续增长.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "c951b15d0fe2f2611ec9556c0b59be0cae8b15df73b8c2b29f0fc2c4c97cffd4"
+ },
+ {
+ "sourceRelativePath": "src/后端/49-消息队列故障兜底改造.md",
+ "targetRelativePath": "后端/49-消息队列故障兜底改造.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "369ed212e46b10b5b63981ad1db29e5e8eb3a8551135f3cd3f633a42cf6eb805"
+ },
+ {
+ "sourceRelativePath": "src/后端/71-稀疏用户ID的Bitmap问题.md",
+ "targetRelativePath": "后端/71-稀疏用户ID的Bitmap问题.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "96e708bb5f1720dd44ff921513e2a9b6939035b4272a06732f141bfbf1b4ea5b"
+ },
+ {
+ "sourceRelativePath": "src/后端/114-配置中心设计与实时通知.md",
+ "targetRelativePath": "后端/114-配置中心设计与实时通知.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "e50e192ac994e4d8efa6fab5040cbac6c2b5884cd0f77a5584f46f842ced6b32"
+ },
+ {
+ "sourceRelativePath": "src/后端/23-设计HashMap.md",
+ "targetRelativePath": "后端/23-设计HashMap.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "978b54a5950f8e3cb2b11a03d0399f9e866acab23cb7c0db7fee5e93bb18e635"
+ },
+ {
+ "sourceRelativePath": "src/后端/02-设计RPC框架.md",
+ "targetRelativePath": "后端/02-设计RPC框架.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f7fe8e09b933c3e83bd8073bc33cd550691fa6c591be55858847d00f55cf8b57"
+ },
+ {
+ "sourceRelativePath": "src/后端/113-网关防重放攻击.md",
+ "targetRelativePath": "后端/113-网关防重放攻击.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "29b49544181ebc77b2d44dbf5d068dd5d58c684517391528ae66e0c9deb00e2f"
+ },
+ {
+ "sourceRelativePath": "src/后端/29-数据库存储IP地址.md",
+ "targetRelativePath": "后端/29-数据库存储IP地址.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "82a40c42f1e12722c8f98d3cf7a19cc413ba32cd351f8013872d519cce2506e0"
+ },
+ {
+ "sourceRelativePath": "src/后端/45-MySQL索引效果排查.md",
+ "targetRelativePath": "后端/45-MySQL索引效果排查.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "51d17c80d0069901d9308d8e3758f34e7da749967fb85e1962662c8477953414"
+ },
+ {
+ "sourceRelativePath": "src/后端/54-附近商户最近5家检索.md",
+ "targetRelativePath": "后端/54-附近商户最近5家检索.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "6cb6da6679171f7e3d845d1c447685bada6cf1e2f01279409e727f0cba8a9555"
+ },
+ {
+ "sourceRelativePath": "src/后端/79-Linux命令执行过程.md",
+ "targetRelativePath": "后端/79-Linux命令执行过程.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f4e37e38ba00aa970a24ce27c8a8a9ab3c9cf3333ece8f82527ecc6d8e71c7e9"
+ },
+ {
+ "sourceRelativePath": "src/后端/116-订单库存支付分布式事务.md",
+ "targetRelativePath": "后端/116-订单库存支付分布式事务.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "cc63d9f7bc047279590c51ff5cb28ae366aea304e7e7bcdd379d0ec874102abc"
+ },
+ {
+ "sourceRelativePath": "src/后端/108-双十一同步消息堆积处理.md",
+ "targetRelativePath": "后端/108-双十一同步消息堆积处理.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "136971dfe558bedb8976fb439ad5d17bb4bb9a4add34d6e593836437553a7e9d"
+ },
+ {
+ "sourceRelativePath": "src/后端/20-40亿QQ号在1GB内存中去重.md",
+ "targetRelativePath": "后端/20-40亿QQ号在1GB内存中去重.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "7d968f3ca57c56b62853de3c126fb34e1e7172e9b35f2fe6f05bb6ed4aa4c1b2"
+ },
+ {
+ "sourceRelativePath": "src/后端/112-API网关接口版本管理.md",
+ "targetRelativePath": "后端/112-API网关接口版本管理.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "3e7064a115e961bc77564ca4307bef603815ec9078cda6db3434154299f4089e"
+ },
+ {
+ "sourceRelativePath": "src/后端/110-同步任务中途失败一致性.md",
+ "targetRelativePath": "后端/110-同步任务中途失败一致性.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "6ac9065f75ae75bf7e093bdd90e4c04109461691c3f12723544f3bad2b90c778"
+ },
+ {
+ "sourceRelativePath": "src/后端/88-CDN安装包流量异常排查.md",
+ "targetRelativePath": "后端/88-CDN安装包流量异常排查.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "5a68116b7dd06446d8165c40a77a96a9ead1d718eded666acce0892f580bb700"
+ },
+ {
+ "sourceRelativePath": "src/后端/56-分布式锁与并发度.md",
+ "targetRelativePath": "后端/56-分布式锁与并发度.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "0e7a55939f50266b4f6f7243972bfc0c09f509435abd52bd6182840c461934e9"
+ },
+ {
+ "sourceRelativePath": "src/后端/119-灰度发布系统设计.md",
+ "targetRelativePath": "后端/119-灰度发布系统设计.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "330bcec024b4d5d8c1ffa4c9e254ac555d99149e2edc0b6f5f34c3fb7aed5c72"
+ },
+ {
+ "sourceRelativePath": "src/后端/09-分布式锁的实现.md",
+ "targetRelativePath": "后端/09-分布式锁的实现.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "336298f22ceff51f4d23eed70dc10b4e745dd175a6e06afdcd3402c6c3c4180e"
+ },
+ {
+ "sourceRelativePath": "src/后端/72-本地操作与远程操作事务一致性.md",
+ "targetRelativePath": "后端/72-本地操作与远程操作事务一致性.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "0cae4484f8e7ba5c68743621e70c3f6bf600209ef5bd6559c1086b39797983d6"
+ },
+ {
+ "sourceRelativePath": "src/后端/53-多生产者单消费者锁设计.md",
+ "targetRelativePath": "后端/53-多生产者单消费者锁设计.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "0cba709d186bad2b5b0ec8a9a3ac06e235e301717f163aeaa3ef43f0662274c5"
+ },
+ {
+ "sourceRelativePath": "src/后端/10-统计每个接口每分钟调用次数.md",
+ "targetRelativePath": "后端/10-统计每个接口每分钟调用次数.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "52161204571e84d962ae0de6bb9be5cc737f26247f35860f9b4200387f07bbb3"
+ },
+ {
+ "sourceRelativePath": "src/后端/46-订单列表全量同步优化.md",
+ "targetRelativePath": "后端/46-订单列表全量同步优化.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d867a053bece44741bcd3921595cfa686eadef3096763bcf4a9c24dda7751491"
+ },
+ {
+ "sourceRelativePath": "src/后端/05-设计消息队列.md",
+ "targetRelativePath": "后端/05-设计消息队列.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f6ba830258f9152a03cd07db091eaf8516cd5bbe9a2fbc7f3c285e4d177480b8"
+ },
+ {
+ "sourceRelativePath": "src/后端/104-MySQL实时同步数仓系统.md",
+ "targetRelativePath": "后端/104-MySQL实时同步数仓系统.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "bef8e34a5a9d1e1631e697e19dd9bea13c5b3284d9194b742039a6a1a9026b67"
+ },
+ {
+ "sourceRelativePath": "src/后端/66-跨十几个服务慢请求排查.md",
+ "targetRelativePath": "后端/66-跨十几个服务慢请求排查.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "777f56c708d2a40cb6c5b7ebe1539bcd2ec60951bff386f34e0f31a3517ebb48"
+ },
+ {
+ "sourceRelativePath": "src/后端/57-设计购物车.md",
+ "targetRelativePath": "后端/57-设计购物车.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "fd9d44385a7e55e7df8e657ee7fa5e50344b761a7983b52b340107bea77b69b2"
+ },
+ {
+ "sourceRelativePath": "src/后端/18-QPS一万是否需要微服务拆分.md",
+ "targetRelativePath": "后端/18-QPS一万是否需要微服务拆分.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "5cb952262fde17bbdbc5d7f4d1a6a3af76ec7f8c2cc0a247ca0301e8bfc94e0e"
+ },
+ {
+ "sourceRelativePath": "src/后端/73-多机部署共享登录信息.md",
+ "targetRelativePath": "后端/73-多机部署共享登录信息.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "3a5cc6f0796a934221f5a97e659adecfc407e267bfa08d9df5eb8840145a8bf5"
+ },
+ {
+ "sourceRelativePath": "src/后端/28-500G数据外部排序.md",
+ "targetRelativePath": "后端/28-500G数据外部排序.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "ea806e722406285a33bd09611f007e2fb2a2e2a21ea90602bf74813ebe591dbc"
+ },
+ {
+ "sourceRelativePath": "src/后端/19-系统每天固定瘫痪一小时.md",
+ "targetRelativePath": "后端/19-系统每天固定瘫痪一小时.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "a348cd392c095a984c513ea92446e4b986596e6fa2268e0290f43cc23e8ccf6c"
+ },
+ {
+ "sourceRelativePath": "src/后端/120-灰度发布数据一致性与Schema变更.md",
+ "targetRelativePath": "后端/120-灰度发布数据一致性与Schema变更.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "ede38b227aa7d03fbdb9e8382aa884620274bff5baaf715f5bc42dbc6547944f"
+ },
+ {
+ "sourceRelativePath": "src/后端/42-数据库不停服迁移.md",
+ "targetRelativePath": "后端/42-数据库不停服迁移.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "a27f594111dc87e627bd40f0ccb47095046a64b447201bade6f97516f66e8171"
+ },
+ {
+ "sourceRelativePath": "src/后端/35-微信支付宝同时支付同一订单.md",
+ "targetRelativePath": "后端/35-微信支付宝同时支付同一订单.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "c9d5f48b7d91c20ec0a6d01b98bb3fae938cf16672c165e2c7da7b4980fe8619"
+ },
+ {
+ "sourceRelativePath": "src/后端/06-消息队列推模式与拉模式.md",
+ "targetRelativePath": "后端/06-消息队列推模式与拉模式.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "bb973d17cb5784d210367f77a222c41a18fe92608e4c484f83f97d4116027c0e"
+ },
+ {
+ "sourceRelativePath": "src/后端/03-统计5000万时间区间的最大并发量.md",
+ "targetRelativePath": "后端/03-统计5000万时间区间的最大并发量.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "5fbc5ccd3953ceb47b37cd2f764f0780b0e03b93373072da63817eb8ec77a388"
+ },
+ {
+ "sourceRelativePath": "src/后端/43-MySQL-SQL调优.md",
+ "targetRelativePath": "后端/43-MySQL-SQL调优.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "914fe9cc373972a7b98d35206bd163f00206cd3c54e56adb3fa0116c162115c8"
+ },
+ {
+ "sourceRelativePath": "src/后端/107-数据同步OOM排查与解决.md",
+ "targetRelativePath": "后端/107-数据同步OOM排查与解决.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "8cbc55ba975e43b6465910ba830d25cfa4c4c2be0772fe99a7e2145abc1a8e13"
+ },
+ {
+ "sourceRelativePath": "src/后端/97-国内到海外数据传输延迟优化.md",
+ "targetRelativePath": "后端/97-国内到海外数据传输延迟优化.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "a6975b967c8d54c6c27babcedd6eca0545fecf411928e420a3e24673b330ed85"
+ },
+ {
+ "sourceRelativePath": "src/后端/90-多数据库适配设计.md",
+ "targetRelativePath": "后端/90-多数据库适配设计.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "589a5db985e47bbb7dfd6b87001813ba18363e576cb1c4783790d04904d9af36"
+ },
+ {
+ "sourceRelativePath": "src/后端/14-即时通讯历史消息分页.md",
+ "targetRelativePath": "后端/14-即时通讯历史消息分页.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "57ca0884dfce971816786df259c34cd8f0675da16bb82aa56af42e050f62618b"
+ },
+ {
+ "sourceRelativePath": "src/后端/32-Redis机器爆了如何优化.md",
+ "targetRelativePath": "后端/32-Redis机器爆了如何优化.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f07e16bb9438af28cf2445791d97ff8e35faa2e5213176db972808f765c8ae4b"
+ },
+ {
+ "sourceRelativePath": "src/后端/50-设计点赞系统.md",
+ "targetRelativePath": "后端/50-设计点赞系统.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "9aa5e20fa837978b7aaf1e1ed067d653cc45cb4f4ae75535c82963eaa308c928"
+ },
+ {
+ "sourceRelativePath": "src/后端/48-SpringCloudGateway-500排查.md",
+ "targetRelativePath": "后端/48-SpringCloudGateway-500排查.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "4df84ad1f0a5a0e1ebe2e3adcdd77f26080b70b8abfd9306016104b20148130b"
+ },
+ {
+ "sourceRelativePath": "src/后端/37-微服务远程调用超时设置.md",
+ "targetRelativePath": "后端/37-微服务远程调用超时设置.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "4e93e1716f8d7a1e7aa0f5ab87c560547f7eb0abe3d9e13bbc8c56d521b5f187"
+ },
+ {
+ "sourceRelativePath": "src/后端/27-敏感词过滤设计.md",
+ "targetRelativePath": "后端/27-敏感词过滤设计.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "8510deaf453ccca5067d4d6e2ac2d360b25edd705220743d4735cd8ffde4c6de"
+ },
+ {
+ "sourceRelativePath": "src/后端/44-MySQL深度分页优化.md",
+ "targetRelativePath": "后端/44-MySQL深度分页优化.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "752837d41508d5a46149d3b164690220201b83280040adcc8b73c96a990dad1d"
+ },
+ {
+ "sourceRelativePath": "src/后端/117-分布式事务补偿机制.md",
+ "targetRelativePath": "后端/117-分布式事务补偿机制.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "3bf4e5a36e93d54b7b1b4e36bcc641a99cb5c88fe2b0a224ec7245c94cbd1df6"
+ },
+ {
+ "sourceRelativePath": "src/后端/75-踢已登录用户下线.md",
+ "targetRelativePath": "后端/75-踢已登录用户下线.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "b60df816f306656655f761a898b028765a93422b92fd047a148a39dd76cb0eea"
+ },
+ {
+ "sourceRelativePath": "面试题合集/AI-Agent工程师/小红书.md",
+ "targetRelativePath": "面试题合集/AI-Agent工程师/小红书.md",
+ "recommendation": "skip_empty",
+ "action": "skipped",
+ "rationale": null
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/面试题/前端性能优化篇.md",
+ "targetRelativePath": "八股文/浏览器原理/前端性能优化篇.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/面试题/浏览器原理面试题汇总.md",
+ "targetRelativePath": "八股文/浏览器原理/浏览器原理面试题汇总.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/Antd 组件库/Antd 表单基础使用.md",
+ "targetRelativePath": "React/Antd 组件库/Antd 表单基础使用.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/Antd 组件库/Antd Pro 新手上路基础知识.md",
+ "targetRelativePath": "React/Antd 组件库/Antd Pro 新手上路基础知识.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/源码学习/React 状态更新.md",
+ "targetRelativePath": "React/源码学习/React 状态更新.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/源码学习/structure.md",
+ "targetRelativePath": "React/源码学习/structure.md",
+ "recommendation": "skip_empty",
+ "action": "skipped",
+ "rationale": null
+ },
+ {
+ "sourceRelativePath": "React/源码学习/Hooks 解析.md",
+ "targetRelativePath": "React/源码学习/Hooks 解析.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/源码学习/React 中的 Fiber(纤程)及其工作原理.md",
+ "targetRelativePath": "React/源码学习/React 中的 Fiber(纤程)及其工作原理.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/源码学习/render 阶段流程.md",
+ "targetRelativePath": "React/源码学习/render 阶段流程.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/源码学习/commit 阶段流程.md",
+ "targetRelativePath": "React/源码学习/commit 阶段流程.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/源码学习/React 源码文件结构.md",
+ "targetRelativePath": "React/源码学习/React 源码文件结构.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/源码学习/React 架构.md",
+ "targetRelativePath": "React/源码学习/React 架构.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/源码学习/React 理念.md",
+ "targetRelativePath": "React/源码学习/React 理念.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/源码学习/深入理解JSX.md",
+ "targetRelativePath": "React/源码学习/深入理解JSX.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/面试题/React 面试.md",
+ "targetRelativePath": "八股文/React/React 面试.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/面试题/React 面试题(二).md",
+ "targetRelativePath": "八股文/React/React 面试题(二).md",
+ "recommendation": "update_existing",
+ "action": "updated",
+ "rationale": "new related-article link; source link must be remapped to React/执行和清除Effect的时机.md",
+ "resultHash": "3229222adf0027f23ebf8efe9b749a45c76229b977def04c20e877d10f9dd4ed"
+ },
+ {
+ "sourceRelativePath": "React/面试题/React 面试题(一).md",
+ "targetRelativePath": "八股文/React/React 面试题(一).md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/umi框架/UmiJS 乌米学习实战.md",
+ "targetRelativePath": "元框架/Umi/UmiJS 乌米学习实战.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/React Native/React Native 基础.md",
+ "targetRelativePath": "React/React Native/React Native 基础.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/React Hooks笔记/自定义 Hooks.md",
+ "targetRelativePath": "React/React Hooks笔记/自定义 Hooks.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/React Hooks笔记/Hooks 实战篇.md",
+ "targetRelativePath": "React/React Hooks笔记/Hooks 实战篇.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/React Hooks笔记/Hooks :如何正确理解函数组件的生命周期?.md",
+ "targetRelativePath": "React/React Hooks笔记/Hooks :如何正确理解函数组件的生命周期?.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/React Hooks笔记/自定义事件.md",
+ "targetRelativePath": "React/React Hooks笔记/自定义事件.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/React Hooks笔记/Hooks(2):避免重复定义回调函数.md",
+ "targetRelativePath": "React/React Hooks笔记/Hooks(2):避免重复定义回调函数.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/React Hooks笔记/React Hooks 基础.md",
+ "targetRelativePath": "React/React Hooks笔记/React Hooks 基础.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/React Hooks笔记/如何展示对话框,并给对话框传递参数?.md",
+ "targetRelativePath": "React/React Hooks笔记/如何展示对话框,并给对话框传递参数?.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/React Hooks笔记/在函数组件中使用 Redux.md",
+ "targetRelativePath": "React/React Hooks笔记/在函数组件中使用 Redux.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/React Hooks笔记/内置 Hooks(1):如何保存组件状态和使用生命周期?.md",
+ "targetRelativePath": "React/React Hooks笔记/内置 Hooks(1):如何保存组件状态和使用生命周期?.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/React Hooks笔记/函数组件设计模式.md",
+ "targetRelativePath": "React/React Hooks笔记/函数组件设计模式.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/React Hooks笔记/React 实现按需加载.md",
+ "targetRelativePath": "React/React Hooks笔记/React 实现按需加载.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/React Hooks笔记/路由管理.md",
+ "targetRelativePath": "React/React Hooks笔记/路由管理.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "React/Dva/dva 数据获取和处理.md",
+ "targetRelativePath": "React/Dva/dva 数据获取和处理.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "94aff4e564f883c4bb603b8bbd2a9f65de97e3ecf8552ac0a0558166540b675d"
+ },
+ {
+ "sourceRelativePath": "牛客/错题本/HTML刷题【错题本】.md",
+ "targetRelativePath": "牛客/错题本/HTML刷题【错题本】.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "c79d08ce662126dd7626f3e37af53e387950f58970bcf1379251e5bfb388d52f"
+ },
+ {
+ "sourceRelativePath": "牛客/错题本/计算机网络基础【错题本】.md",
+ "targetRelativePath": "牛客/错题本/计算机网络基础【错题本】.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "5fe00c4b6fd68e51ae8bbd9ed4d4e7b874e382f952650028f68013effe0d6469"
+ },
+ {
+ "sourceRelativePath": "牛客/错题本/JavaScript刷题【错题本】.md",
+ "targetRelativePath": "牛客/错题本/JavaScript刷题【错题本】.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "508c27d906b692475ccbc64da20a6c837bd3c898780b32a76a224ae2eb876539"
+ },
+ {
+ "sourceRelativePath": "牛客/错题本/CSS刷题【错题本】.md",
+ "targetRelativePath": "牛客/错题本/CSS刷题【错题本】.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "67eb60560bad74b7b999729de756736a4c91982265155aaa58f090e2aedf349c"
+ },
+ {
+ "sourceRelativePath": "Node/笔记/Node 笔记(2)模块化.md",
+ "targetRelativePath": "Node/笔记/Node 笔记(2)模块化.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/笔记/Node 笔记(3)Node常用内置模块.md",
+ "targetRelativePath": "Node/笔记/Node 笔记(3)Node常用内置模块.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/笔记/Node 笔记(7)Buffer的使用.md",
+ "targetRelativePath": "Node/笔记/Node 笔记(7)Buffer的使用.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/笔记/Node 笔记(9)深入事件循环.md",
+ "targetRelativePath": "Node/笔记/Node 笔记(9)深入事件循环.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/笔记/Node 笔记(6)Stream.md",
+ "targetRelativePath": "Node/笔记/Node 笔记(6)Stream.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/笔记/Node 笔记(1)内核引擎.md",
+ "targetRelativePath": "Node/笔记/Node 笔记(1)内核引擎.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/笔记/Node 笔记(4)包管理工具.md",
+ "targetRelativePath": "Node/笔记/Node 笔记(4)包管理工具.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/笔记/Node 笔记(5)开发脚手架工具.md",
+ "targetRelativePath": "Node/笔记/Node 笔记(5)开发脚手架工具.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/笔记/Node 笔记(8)Http模块.md",
+ "targetRelativePath": "Node/笔记/Node 笔记(8)Http模块.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/事件循环/(六).md",
+ "targetRelativePath": "Node/事件循环/(六).md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "7549445789d5918df377935a4f249b9a80c79d8e17562a5bec9bbf8cbccaf8bc"
+ },
+ {
+ "sourceRelativePath": "Node/事件循环/(一)可视化理解 Node.js 事件循环的完整指南.md",
+ "targetRelativePath": "Node/笔记/(一)可视化理解 Node.js 事件循环的完整指南.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/事件循环/(四)Node.js事件循环中的IO队列可视化.md",
+ "targetRelativePath": "Node/笔记/(四)Node.js事件循环中的IO队列可视化.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/事件循环/(二)在 Node.js 事件循环中可视化 nextTick 和 Promise 队列.md",
+ "targetRelativePath": "Node/笔记/(二)在 Node.js 事件循环中可视化 nextTick 和 Promise 队列.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/事件循环/(三)Node.js中的定时器队列可视化.md",
+ "targetRelativePath": "Node/笔记/(三)Node.js中的定时器队列可视化.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/事件循环/(五)在 Node.js 事件循环中可视化 IO 轮询.md",
+ "targetRelativePath": "Node/笔记/(五)在 Node.js 事件循环中可视化 IO 轮询.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/事件循环/(七).md",
+ "targetRelativePath": "Node/事件循环/(七).md",
+ "recommendation": "skip_empty",
+ "action": "skipped",
+ "rationale": null
+ },
+ {
+ "sourceRelativePath": "Node/面试题/Node.js 面试题大集合.md",
+ "targetRelativePath": "Node/面试题/Node.js 面试题大集合.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "bb2442e7716663d28db53e5980ee09077697491beb920be13009f14c7b055f62"
+ },
+ {
+ "sourceRelativePath": "Node/lib/利用Node.js脚本提取你的OPML文件信息.md",
+ "targetRelativePath": "Node/lib/利用Node.js脚本提取你的OPML文件信息.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "4bb0755eb1fe346e42a0323338ecf4646d34ef26daaf48f2bab4558da875f7e2"
+ },
+ {
+ "sourceRelativePath": "Node/lib/jsdom.md",
+ "targetRelativePath": "Node/lib/jsdom.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "c3ed62c73c08812fbdf0b5bf194be329874b7649f0827ad0f3a8d6f3537c00bc"
+ },
+ {
+ "sourceRelativePath": "Node/lib/解析XML数据:使用xml2js库轻松进行XML解析.md",
+ "targetRelativePath": "Node/lib/解析XML数据:使用xml2js库轻松进行XML解析.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "2204e9d094703bcaf02f49bac7cd4afb1b10f34351f78611d6ce6a202eb66d28"
+ },
+ {
+ "sourceRelativePath": "Node/lib/nodemailer:让Node.js 脚本帮你收发邮件.md",
+ "targetRelativePath": "Node/nodemailer:让Node.js 脚本帮你收发邮件.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Node/NPM/NPM 包管理.md",
+ "targetRelativePath": "Node/NPM/NPM 包管理.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "Node/NPM/深入了解npmrc:使用与配置指南.md",
+ "targetRelativePath": "Node/NPM/深入了解npmrc:使用与配置指南.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f211acfb09b8050f8cfdcc68f738ef9233e45f7e0733abe73cff78aa383e31b5"
+ },
+ {
+ "sourceRelativePath": "Node/NPM/版本语义化.md",
+ "targetRelativePath": "Node/NPM/版本语义化.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "Node/NPM/NPM 源设置和管理方法.md",
+ "targetRelativePath": "Node/NPM/NPM 源设置和管理方法.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "JavaScript/库/quill.js 的文本库 —— delta 的使用.md",
+ "targetRelativePath": "JavaScript/库/quill.js 的文本库 —— delta 的使用.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "796d105ee3eae8dfc6778250928ce3ee34640ef3e29fb575d483370c01aae766"
+ },
+ {
+ "sourceRelativePath": "JavaScript/库/husky.md",
+ "targetRelativePath": "JavaScript/库/husky.md",
+ "recommendation": "skip_empty",
+ "action": "skipped",
+ "rationale": null
+ },
+ {
+ "sourceRelativePath": "JavaScript/库/enquirer 指南.md",
+ "targetRelativePath": "Node/库/enquirer 指南.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/库/validate-npm-package-name 小而美的库.md",
+ "targetRelativePath": "JavaScript/库/validate-npm-package-name 小而美的库.md",
+ "recommendation": "skip_empty",
+ "action": "skipped",
+ "rationale": null
+ },
+ {
+ "sourceRelativePath": "JavaScript/库/Puppeteer 使用指南.md",
+ "targetRelativePath": "Node/库/Puppeteer 使用指南.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "JavaScript/库/Quill富文本编辑器使用 - 高度自定义现代 Web 富文本编辑器.md",
+ "targetRelativePath": "JavaScript/库/Quill富文本编辑器使用 - 高度自定义现代 Web 富文本编辑器.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "6ac19a2da8dfe73f5e9acfbd0bd2aad5befe6becc656a9003922a0cc652be237"
+ },
+ {
+ "sourceRelativePath": "JavaScript/库/JS代码混淆器:JavaScript obfuscator 让你的代码看起来让人痛苦.md",
+ "targetRelativePath": "JavaScript/库/JS代码混淆器:JavaScript obfuscator 让你的代码看起来让人痛苦.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "78043dcbd5a112f65fbd50c96e0c8b45ce93aa73d2927d65de51e956bdb30d27"
+ },
+ {
+ "sourceRelativePath": "JavaScript/库/Esprima 指南.md",
+ "targetRelativePath": "Node/库/Esprima 指南.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "JavaScript/库/Git 相关工具.md",
+ "targetRelativePath": "Node/库/Git 相关工具.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "JavaScript/库/inquirer 使用指南.md",
+ "targetRelativePath": "Node/库/inquirer 使用指南.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/库/yargs 使用指南.md",
+ "targetRelativePath": "Node/库/yargs 使用指南.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/库/Vue 3 meta.md",
+ "targetRelativePath": "Node/库/Vue 3 meta.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/库/ESLint.md",
+ "targetRelativePath": "Node/库/ESLint.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/库/Prettier.md",
+ "targetRelativePath": "JavaScript/库/Prettier.md",
+ "recommendation": "skip_empty",
+ "action": "skipped",
+ "rationale": null
+ },
+ {
+ "sourceRelativePath": "JavaScript/库/enquirer 使用指南.md",
+ "targetRelativePath": "Node/库/enquirer 指南.md",
+ "recommendation": "skip_source_duplicate",
+ "action": "skipped",
+ "rationale": "same source article body as JavaScript/库/enquirer 指南.md after ignoring first H1"
+ },
+ {
+ "sourceRelativePath": "JavaScript/库/ora 优雅的终端旋转器.md",
+ "targetRelativePath": "Node/库/ora 优雅的终端旋转器.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "JavaScript/面试题/小滴课堂JS题目汇总.md",
+ "targetRelativePath": "八股文/JavaScript/小滴课堂JS题目汇总.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/面试题/JavaScript 数组去重.md",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 数组去重.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/面试题/JavaScript 高频手撕.md",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 高频手撕.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/面试题/JavaScript高频手撕.md",
+ "targetRelativePath": "八股文/JavaScript/JavaScript高频手撕.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/面试题/JavaScript 输出判断.md",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 输出判断.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/面试题/JavaScript 面试题汇总(上).md",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 面试题汇总(上).md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/面试题/JavaScript 面试题汇总(下).md",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 面试题汇总(下).md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/WebAudio/Web Audio 滤波器Filter.md",
+ "targetRelativePath": "JavaScript/WebAudio/Web Audio 滤波器Filter.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "JavaScript/WebAudio/Tone.js 框架食用指南.md",
+ "targetRelativePath": "JavaScript/WebAudio/Tone.js 框架食用指南.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/07-exists-vs-in.md",
+ "targetRelativePath": "MySQL/面试题/07-exists-vs-in.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "8a43137c06c22132d369ae39ea87af0c2a3b9e1d0442c3845161a262ef84354f"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/26-redo-log.md",
+ "targetRelativePath": "MySQL/面试题/26-redo-log.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "92d902bf057f811ef107735abf45be78cc583991e24237981ff3e594678e90b4"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/14-union-vs-union-all.md",
+ "targetRelativePath": "MySQL/面试题/14-union-vs-union-all.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "fd5875bf475fbb5987fbb96d1ad843f54c231c1526d0e037cd4ecb612d8e7532"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/35-isolation-levels.md",
+ "targetRelativePath": "MySQL/面试题/35-isolation-levels.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f4775ba1b61d2ee8facdec1ded8e2e01a849e51e2631496705613139994525ff"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/13-sql-vs-nosql.md",
+ "targetRelativePath": "MySQL/面试题/13-sql-vs-nosql.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "90ddb95dffc6e057e78fcac5fa002ad94ee57b4765fefa0708930f2b58e194bd"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/39-slow-sql.md",
+ "targetRelativePath": "MySQL/面试题/39-slow-sql.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "4309f41bc116d68304131bf1de17a378a2e3f7cf4a15a88fd35c09c6bb041248"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/01-sharding-when.md",
+ "targetRelativePath": "MySQL/面试题/01-sharding-when.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "27144c477832817b0d971333542a8a62a66ef9a0c8dc8ea6686181c69ec62672"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/25-binlog.md",
+ "targetRelativePath": "MySQL/面试题/25-binlog.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "67b74e6bfc58a69775eaac7349499e1e2abec612376d6d7cb2dac7bb323ba01b"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/33-mvcc.md",
+ "targetRelativePath": "MySQL/面试题/33-mvcc.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "3ceac0a26005a79db60d3956f4b4b3ed43e1f2985e1843fb8160fe3eb803e71e"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/28-binlog-redo-two-phase.md",
+ "targetRelativePath": "MySQL/面试题/28-binlog-redo-two-phase.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "865b2c4d59bb8ace267c0e3c86426fa5acefd34149cb484c1ff9b24147848413"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/29-mysql-log-flush.md",
+ "targetRelativePath": "MySQL/面试题/29-mysql-log-flush.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "46fc3db3eca1caf441934ec02948791698cc4a119d66c4aeb878354d6ad68548"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/18-index-not-used-explain.md",
+ "targetRelativePath": "MySQL/面试题/18-index-not-used-explain.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "cd3869104bd310813b9ca2805c74f0ac401994a941665f70389a25d656e8f36e"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/12-null-semantics.md",
+ "targetRelativePath": "MySQL/面试题/12-null-semantics.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "b6d90c968a4a891a1d76140194e0c95ebbec14a514a54220a7c99a190cf60203"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/36-mysql-lock-types.md",
+ "targetRelativePath": "MySQL/面试题/36-mysql-lock-types.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "44dfc55a02c013c3ef4f405b3e755d7d4ba25d2b95d7579c013f6c3768856341"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/31-transaction-acid.md",
+ "targetRelativePath": "MySQL/面试题/31-transaction-acid.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "74862b35b4312c23ce149ab529efc8b31b4ba238ea717a395355d9d132ee3824"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/10-storage-engines.md",
+ "targetRelativePath": "MySQL/面试题/10-storage-engines.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "a502558c1a64c58b8bc72cab69f982f20943593300b370731124779db52030ac"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/15-varchar-space.md",
+ "targetRelativePath": "MySQL/面试题/15-varchar-space.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f84b50c157729a415d5f797e71a936cac042f6c8e37ae697e1e2aaf303060543"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/09-mysql-cache-vs-redis.md",
+ "targetRelativePath": "MySQL/面试题/09-mysql-cache-vs-redis.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "c314974aef995287404bf8caa6901833c2f8d745997c2afb0a03b6e5b819f925"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/08-query-execution-optimizer.md",
+ "targetRelativePath": "MySQL/面试题/08-query-execution-optimizer.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "92d0e2aa660d45574f179a3251ed4023a01119a786b8773df7fd29c3025f78b4"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/19-covering-index-icp.md",
+ "targetRelativePath": "MySQL/面试题/19-covering-index-icp.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "7291f183110d374d6a50811c8b3704e89623cfad094867c90c5e9c75f4d35fc2"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/11-mysql-constraints.md",
+ "targetRelativePath": "MySQL/面试题/11-mysql-constraints.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "da7ba1e141e3a20a6b825becde07a794df1ecd95d5d345b4d1bc6851a6aea4b6"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/03-normalization.md",
+ "targetRelativePath": "MySQL/面试题/03-normalization.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "fb0d5774f392820df38875d232a61ead68c7ad5352592626f7d1729584e1f949"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/21-leftmost-prefix.md",
+ "targetRelativePath": "MySQL/面试题/21-leftmost-prefix.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "0659a612b2aa8e60c36062762668103015320e6d40242a75a5299fafca7fe4db"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/05-count-usage.md",
+ "targetRelativePath": "MySQL/面试题/05-count-usage.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "3a6417296f41c311a65d778188b0a9f28add570fc3fe8370b5dc720921a49fcc"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/16-where-vs-having.md",
+ "targetRelativePath": "MySQL/面试题/16-where-vs-having.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "13f9b24464dc8932446cd6a4b62028c351385ba552c770fa6afc0785a1be122e"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "targetRelativePath": "MySQL/面试题/README.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "29edf00a7dd15e11ac2340e0b5df376ed5d9fe282f5f1d8bf05d60efcefc3ffd"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/30-optimistic-pessimistic-lock.md",
+ "targetRelativePath": "MySQL/面试题/30-optimistic-pessimistic-lock.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "b7f057d1cfdc6d05d861a3c3021849adfc3411df6f00b50f100b7dfab71b08db"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/44-replication-lag.md",
+ "targetRelativePath": "MySQL/面试题/44-replication-lag.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "ff96c98693cd0a5192966065541b6966e1bd0fc74ff320456bafc1bed72a2a48"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/37-read-write-splitting.md",
+ "targetRelativePath": "MySQL/面试题/37-read-write-splitting.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "0d6ea3b774d775aadaa96ce89f414f22b4dbfa8e8db5d25c2fcc72cc3e641b50"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/43-mysql-config-tuning.md",
+ "targetRelativePath": "MySQL/面试题/43-mysql-config-tuning.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "284388af45a82c1056ec0b80e0d1838493948d45e75008141c5bf9832d5f9dc0"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/04-char-varchar.md",
+ "targetRelativePath": "MySQL/面试题/04-char-varchar.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d3a8b26f65fdfbc5e658c3fe27f364c2915e3dc38a73d2add8402db9202f74c8"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/41-deep-pagination.md",
+ "targetRelativePath": "MySQL/面试题/41-deep-pagination.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "f8f567e26b73313faf76376d7102e04250124edc9badc11e7672b05f4f538623"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/06-delete-drop-truncate.md",
+ "targetRelativePath": "MySQL/面试题/06-delete-drop-truncate.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d6661c8d862a54583d00222ffddbd33ed9fd85f9fe8a5b63b0b7800bb6d7e78a"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/23-mysql-index-types.md",
+ "targetRelativePath": "MySQL/面试题/23-mysql-index-types.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d4f4560e9299efcafbb7541a0dce839112ccaf0f7cf6e88b0626cacf38bfd063"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/32-deadlock.md",
+ "targetRelativePath": "MySQL/面试题/32-deadlock.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "a69c2bfa4fc1ce2dec82984365148caef7b55bae3777d4574b265d1eea320559"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/38-sharding-aftereffects.md",
+ "targetRelativePath": "MySQL/面试题/38-sharding-aftereffects.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d8f3ac607c2b52299c13586b8656c99285d33eff207e77054e202b6884743d63"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/40-mysql-monitoring.md",
+ "targetRelativePath": "MySQL/面试题/40-mysql-monitoring.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "3cfb2edc2c815af99267a0a7253d07057053986545d575ae0c229f2f18ff846f"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/24-mysql-log-retention.md",
+ "targetRelativePath": "MySQL/面试题/24-mysql-log-retention.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "ec26f6458d88472b240d5e6d75b0b3e3ea8c091fb694f35ae32995b8718e2b51"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/02-join-on-where.md",
+ "targetRelativePath": "MySQL/面试题/02-join-on-where.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "29bbed4267afc27810d84364b6e5bdcff55d038a70445b2bc71282a68bdd719a"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/27-undo-log.md",
+ "targetRelativePath": "MySQL/面试题/27-undo-log.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "1101cee98427ed234ae505fc6102334166491be0a6d818bbaadc4c4b6b5c8e3f"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/22-index-maintenance-cost.md",
+ "targetRelativePath": "MySQL/面试题/22-index-maintenance-cost.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "4f18cca7e2e67faff3bf86de9080746d0bc93e123f8ac5de6bbe3700f5b1864b"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/34-gap-next-key-locks.md",
+ "targetRelativePath": "MySQL/面试题/34-gap-next-key-locks.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "41ef544fc84d5b6b8c3966d683b537d48b43e9f10521e87117a7c6b50f174261"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/45-primary-failover.md",
+ "targetRelativePath": "MySQL/面试题/45-primary-failover.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "8544914d10f44e478c58a5c039fde5d21887bcf4ca06dd10365b7c23c4574f02"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/20-bplus-index.md",
+ "targetRelativePath": "MySQL/面试题/20-bplus-index.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "216344293ba4b195af661f59dfbd188fea86d846115c6163b31815ade9317cda"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/42-replication-process.md",
+ "targetRelativePath": "MySQL/面试题/42-replication-process.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "139079bd79a65ef58dba317b7f3de1c653db5a08c1d64c7a24c8e52578df0768"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/17-pagination-sort-like-index.md",
+ "targetRelativePath": "MySQL/面试题/17-pagination-sort-like-index.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "344c8685eb388171061439763938bd0737dff7086697c3165807fadd624a3e48"
+ },
+ {
+ "sourceRelativePath": "产品/小红书/第5篇-电商10大商业模式全解析.md",
+ "targetRelativePath": "产品/小红书/第5篇-电商10大商业模式全解析.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "0ab0196df480ed85003663ea61abd8be15204dde5003c83b0cb0a7b7f4b94bd5"
+ },
+ {
+ "sourceRelativePath": "产品/小红书/第7篇-产品经理的技术思维和心理学技巧.md",
+ "targetRelativePath": "产品/小红书/第7篇-产品经理的技术思维和心理学技巧.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "c70ae13ae1b42867f0f5584ae6a7e3736c756b6d5d79a501b913603f70181027"
+ },
+ {
+ "sourceRelativePath": "产品/小红书/第3篇-设计资源速查手册.md",
+ "targetRelativePath": "产品/小红书/第3篇-设计资源速查手册.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "21c2a88c5115049a4584a56244afe1f90fb8ac4802a12b85ef0745a1ea267a4a"
+ },
+ {
+ "sourceRelativePath": "产品/小红书/第1篇-产品经理工具装备库.md",
+ "targetRelativePath": "产品/小红书/第1篇-产品经理工具装备库.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "1e1491df321c0b99988f441859ff972cb2dcbb316983838e4cde98522d8f0405"
+ },
+ {
+ "sourceRelativePath": "产品/小红书/第4篇-行业黑话速成指南.md",
+ "targetRelativePath": "产品/小红书/第4篇-行业黑话速成指南.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "3332301923d55d2995d303d0e2d327c2f01fe4bf0f43dcec26902b91764d0dad"
+ },
+ {
+ "sourceRelativePath": "产品/小红书/第6篇-数据分析核心指标全解析.md",
+ "targetRelativePath": "产品/小红书/第6篇-数据分析核心指标全解析.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "141cd788ddbc2f51ef932708b02e5a65e19f6cb27e28b93c023a0277f0236d26"
+ },
+ {
+ "sourceRelativePath": "产品/小红书/README.md",
+ "targetRelativePath": "产品/小红书/README.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "a20657863bd35f60bd0a32d4bc1e654c4bb6ce61a829f4ba1d90bc0e473e9feb"
+ },
+ {
+ "sourceRelativePath": "产品/小红书/发布计划.md",
+ "targetRelativePath": "产品/小红书/发布计划.md",
+ "recommendation": "skip_working_notes",
+ "action": "skipped",
+ "rationale": "publishing operations plan, not a finished article"
+ },
+ {
+ "sourceRelativePath": "产品/小红书/第2篇-数据资源网站大全.md",
+ "targetRelativePath": "产品/小红书/第2篇-数据资源网站大全.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "75123eecbdaf28bdbf2d514746495cddc8af22fe7d8cf1220d0ddb6a7269c47c"
+ },
+ {
+ "sourceRelativePath": "Webpack/面试题/Webpack 常见面试题.md",
+ "targetRelativePath": "八股文/Webpack/Webpack 常见面试题.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "计算机网络/面试题/TCP应知应会(中).md",
+ "targetRelativePath": "八股文/计算机网络/TCP应知应会(中).md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "计算机网络/面试题/计网常考面试题.md",
+ "targetRelativePath": "八股文/计算机网络/计网常考面试题.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "计算机网络/面试题/UDP应知应会.md",
+ "targetRelativePath": "八股文/计算机网络/UDP应知应会.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "计算机网络/面试题/TCP应知应会(下).md",
+ "targetRelativePath": "八股文/计算机网络/TCP应知应会(下).md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "计算机网络/面试题/TCP应知应会(上).md",
+ "targetRelativePath": "八股文/计算机网络/TCP应知应会(上).md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "计算机网络/面试题/计网面试题汇总.md",
+ "targetRelativePath": "八股文/计算机网络/计网面试题汇总.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "计算机网络/HTTP/HTTPS与SSL TLS.md",
+ "targetRelativePath": "计算机科学/计算机网络/HTTP/HTTPS与SSL TLS.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "计算机网络/HTTP/HTTP 版本整合.md",
+ "targetRelativePath": "计算机科学/计算机网络/HTTP/HTTP 版本整合.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "计算机网络/HTTP/HTTPS性能优化.md",
+ "targetRelativePath": "计算机科学/计算机网络/HTTP/HTTPS性能优化.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "计算机网络/HTTP/HTTP 代理和缓存.md",
+ "targetRelativePath": "计算机科学/计算机网络/HTTP/HTTP 代理和缓存.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "计算机网络/HTTP/TLS1.2连接过程解析.md",
+ "targetRelativePath": "计算机科学/计算机网络/HTTP/TLS1.2连接过程解析.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/24-event-extraction.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/24-event-extraction.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "6fdba699de3edb65c4423bd262dbf857d6038eaca9e80d06857974145c461e54"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/17-knowledge-engineering-vs-kg.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/17-knowledge-engineering-vs-kg.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "3743e8a907c8355936bab5842ac37f6b07964efd2c9dcb61d0700f5ed9c57838"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/30-knowledge-graph-reasoning.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/30-knowledge-graph-reasoning.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "fe25bc7276bf696813b9001e8875991c82dfec73066968e20b9aa6b3b8e7827f"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/04-rag-vector-incremental-updates.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/04-rag-vector-incremental-updates.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "87b7b82ff1dae2b2e560a7655c74d4eff8ef5f7364914c034d95fb612ac492e2"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/19-embedding-model-selection.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/19-embedding-model-selection.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "029b1dc085d5c29b67e5da1c3ff4ec5baf6bef08ebed496df39075b66ddcaca2"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/09-crf-vs-bert-ner.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/09-crf-vs-bert-ner.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "a23c613139565bcf9acf8dd7942dc616206b869bddc383b9d092af3ccc39ce52"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/14-transe-distmult-complex.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/14-transe-distmult-complex.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "1a12f0f92e23b681bfdefa0835ecf09c61599bbd9086ff80f0fbebf5f0b4fe09"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/20-entity-disambiguation.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/20-entity-disambiguation.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "08c4319210315ae6a85e0c32bd62e42dea86ee73a180c03ca378f8526191a37d"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/08-knowledge-graph-completion.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/08-knowledge-graph-completion.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "88615e8ed5ad9763c1d547c7a9ac0b11dd42934a4acde0de182e3f69ef5a7cef"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/16-context-compression.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/16-context-compression.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "9c049ac18631282e60a388ec44776280e63bd554583fcbc22f073a886b182f6f"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/07-dialogue-state-tracking.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/07-dialogue-state-tracking.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "aa44164b824fabd88883a8d464f34d0f6efdf5464ef70bc8743d3c8a5fdddd6d"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/11-rag-hallucination-citation.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/11-rag-hallucination-citation.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "1a155453dce6e63878531f85cfe4d397484b097357bbb46af28c91694fbe562c"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/21-rag-reranking.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/21-rag-reranking.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "7a6b415a977f1a43001b7b6bf32157d3a69e62b2da4b63170f9ebc9881d40878"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/题目模板.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/题目模板.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d9194195456dd783bd51a4584e8dde4f87f283118e3a664bab9cc27a4b25c35b"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/05-knowledge-graph-llm-rag.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/05-knowledge-graph-llm-rag.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "272f39a818494ac4d3309d96c216f9c1b441d159372619321e47a67926afc2e5"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/32-pipeline-vs-joint-extraction.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/32-pipeline-vs-joint-extraction.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "21d01ba88a6d3f41fe3585920a7cf7a08266bdd98a0b79fde08496ddea29759c"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/26-semantic-chunking.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/26-semantic-chunking.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "17cf9180144062dcff0458a6dd466f4e7ac98b6fd9c96e3b736cac4becd6fc24"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/15-rag-chunking-size.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/15-rag-chunking-size.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "604c0f4002a3d737051dd84ed81c10a56d1de6068fb9367afe095a5201ef80bc"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/02-self-rag.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/02-self-rag.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "4b543bb02f0cd848226bd7ecafdb8f53590cbc748318e6c9fc52999d99a44abb"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/10-distant-supervision.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/10-distant-supervision.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "4d7367875d4615f521739c2f7b36031f3c21be17f96235cfc57faca0de938ee7"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "de939ff7e9caed53112f711ab81f230e89f1568e62a00a997154bf4a2db5c6d2"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/13-graphrag.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/13-graphrag.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "dc3e0d1cc77db202f9865798412aba0a40df5b820bec0095c11faa5052805875"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/参考社区项目.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/参考社区项目.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "fc1e5e5bab1d38c337897c4c515be1c6900b65a26de29645592222fee4d80267"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/31-entity-linking.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/31-entity-linking.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "52e0eb6216cbf91aac573a773f22d59982d0ac984c9fb53ebb587a835c3800b0"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/25-hyde-retrieval.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/25-hyde-retrieval.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "149391b9eb9324b651fb2807a43bb03855fbcddc9c9efb6cefba8762104a7901"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/12-knowledge-fusion.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/12-knowledge-fusion.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "362d4b9707dee72f07aea9fac4c89ea6be255410c43041ad6316ac5d6b8199c9"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/27-relation-extraction.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/27-relation-extraction.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "2d307a1ccfc1f6f10353e053f164c4d8b99405612d9864d2cde4869b75a09fd3"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/28-multilingual-knowledge-base.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/28-multilingual-knowledge-base.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "ba51fe87deadb3060f0f6b93699272050dbbbd250913a3482d9cab97a8d1bd1b"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/03-multimodal-rag.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/03-multimodal-rag.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "b95e541e3791fbe64b80bee9ab8fac2f09a2d0436f2fdd96ad36e702f4e8287e"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/01-rag-multihop-qa.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/01-rag-multihop-qa.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "5f7f77343e597674b10b9a3190944b69c52fbbbe04bab6e8dea3ba9988b2709c"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/06-knowledge-graph-basics.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/06-knowledge-graph-basics.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "a36cd29078647aee7268427c8e80c955d6bc3616eea58322812a9b01138743ed"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/29-hybrid-search.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/29-hybrid-search.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "68e9c1cc70abccc4cca72c10aecc844d8429fb5051b1887100aab83e207def99"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/23-ner-bio.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/23-ner-bio.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "12d2ee23adac4cb040fbc98c4b0926e95d842a41cd45068e24aea5f6d7744581"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/18-rag-evaluation.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/18-rag-evaluation.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d299dce75aa0abb4920c54fefac419cc512584aae529de589a846cf40f46fbb5"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/22-rag-ground-truth.md",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/22-rag-ground-truth.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "38af45d5b096e059799aa0c79b5948dd15a0ca9f1373334d7ad5396a3fa37812"
+ },
+ {
+ "sourceRelativePath": "计算机科学/计算机视觉/SIFT.md",
+ "targetRelativePath": "计算机科学/计算机视觉/SIFT.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "a06a1b52f38e959d54cde8ae1741c6c996162156eaff0efd1ac96fe799ce4f28"
+ },
+ {
+ "sourceRelativePath": "计算机科学/设计模式/Behavior Pattern 行为模式.md",
+ "targetRelativePath": "计算机科学/设计模式/Behavior Pattern 行为模式.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "计算机科学/设计模式/结构型模式 Structural Patterns.md",
+ "targetRelativePath": "计算机科学/设计模式/结构型模式 Structural Patterns.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "计算机科学/设计模式/创建型模式 Creation Pattern.md",
+ "targetRelativePath": "计算机科学/设计模式/创建型模式 Creation Pattern.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "计算机科学/设计模式/牛客设计模式问题总结.md",
+ "targetRelativePath": "计算机科学/设计模式/牛客设计模式问题总结.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "计算机科学/设计模式/UML图关系详解.md",
+ "targetRelativePath": "计算机科学/设计模式/UML图关系详解.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "面经/面经QA/快手面试题总结.md",
+ "targetRelativePath": "面经/面经QA/快手面试题总结.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "8a471c5090e4d5107f073f3329be87caf2ecae99c5184b9c7954b7718f26f023"
+ },
+ {
+ "sourceRelativePath": "面经/面经QA/美团面经.md",
+ "targetRelativePath": "面经/面经QA/美团面经.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "c745da8512662ee288673b4d768c07eea0940d7d5e47b44a18cfbf3e7c0fe1ed"
+ },
+ {
+ "sourceRelativePath": "面经/面经QA/阿里面经问题集合.md",
+ "targetRelativePath": "面经/面经QA/阿里面经问题集合.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "12992fe0d193a4b866d87b6525c9ce839bf162241d29c861cd06f20d754d55d7"
+ },
+ {
+ "sourceRelativePath": "面经/026/海外岗前端 AI 架构师.md",
+ "targetRelativePath": "面经/026/海外岗前端 AI 架构师.md",
+ "recommendation": "skip_stub",
+ "action": "skipped",
+ "rationale": "explicitly says full article could not be recovered"
+ },
+ {
+ "sourceRelativePath": "面经/026/小红书AI工程师.md",
+ "targetRelativePath": "面经/026/小红书AI工程师.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "03bab78ab8607234dc0336cb79e8458fc20b04c1149c45afb5e85d79d75998fd"
+ },
+ {
+ "sourceRelativePath": "面经/026/腾讯混元 AIGC 前端架构师.md",
+ "targetRelativePath": "面经/026/腾讯混元 AIGC 前端架构师.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "2b0d1467354023f5fa0c148e39af8a4f1cf9811b61b4d1f084110f4c9490631c"
+ },
+ {
+ "sourceRelativePath": "面经/026/高德 AI Agent 前端开发.md",
+ "targetRelativePath": "面经/026/高德 AI Agent 前端开发.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "d1a0ae16164c9dc110030ff7ee13544c7cec3d4bc33f85b264121d45c75dd3fe"
+ },
+ {
+ "sourceRelativePath": "数据库/MySQL/从MySQL开始学习数据库.md",
+ "targetRelativePath": "数据库/MySQL/从MySQL开始学习数据库.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "1f0d5316772cb0ae945b7bef33626cb7da4b2c56095bd310b6f3eeeb710f65f1"
+ },
+ {
+ "sourceRelativePath": "Vue/源码学习/Vue 响应式原理.md",
+ "targetRelativePath": "Vue/源码学习/Vue 响应式原理.md",
+ "recommendation": "skip_stub",
+ "action": "skipped",
+ "rationale": "only one H1 title and no article body"
+ },
+ {
+ "sourceRelativePath": "Vue/源码学习/Vue编译.md",
+ "targetRelativePath": "Vue/源码学习/Vue编译.md",
+ "recommendation": "skip_stub",
+ "action": "skipped",
+ "rationale": "only one H1 title and no article body"
+ },
+ {
+ "sourceRelativePath": "Vue/源码学习/数据流原理:Vuex & Pinia.md",
+ "targetRelativePath": "Vue/源码学习/数据流原理:Vuex & Pinia.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "387b8706860399414010d89c0ff58d67c9b9eb9d52d33be98ee727b2067e367d"
+ },
+ {
+ "sourceRelativePath": "Vue/源码学习/VueRouter.md",
+ "targetRelativePath": "Vue/源码学习/VueRouter.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "0b9079a28190bdaa8274744c4414eda0c09b8f3cb83b9275934ff68dec378971"
+ },
+ {
+ "sourceRelativePath": "Vue/源码学习/Vue VDom.md",
+ "targetRelativePath": "Vue/源码学习/Vue VDom.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "90e56c47ab29494abc72e4efcca637413bf74cf4e8f4654a26ccd9503b546a02"
+ },
+ {
+ "sourceRelativePath": "Vue/面试题/Vue 3 面试题集合(系统整理升级变动).md",
+ "targetRelativePath": "八股文/Vue/Vue 3 面试题集合(系统整理升级变动).md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Vue/面试题/Vue 面试(上).md",
+ "targetRelativePath": "八股文/Vue/Vue 面试(上).md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Vue/面试题/Vue 面试(下).md",
+ "targetRelativePath": "八股文/Vue/Vue 面试(下).md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Vue/SSR/Nuxt3:新渲染模式-边缘渲染与swr.md",
+ "targetRelativePath": "Vue/SSR/Nuxt3:新渲染模式-边缘渲染与swr.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "2eb9af202f563432b09a8dd5cc159f3245227021a0e7693becc5d5d0fb2b08e4"
+ },
+ {
+ "sourceRelativePath": "Vue/SSR/编写跨平台友好的代码.md",
+ "targetRelativePath": "Vue/SSR/编写跨平台友好的代码.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "38d3ba720512159338433b6aa09f78978a691b8af49ac9aa5043682e7f8c563e"
+ },
+ {
+ "sourceRelativePath": "Vue/SSR/SSR 异步数据获取.md",
+ "targetRelativePath": "Vue/SSR/SSR 异步数据获取.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "e09b04a8c5a838983038543092096487740e46460112dd26c86693ede2edaf35"
+ },
+ {
+ "sourceRelativePath": "Vue/SSR/「译」Nuxt3:新渲染模式-边缘渲染、swr等.md",
+ "targetRelativePath": "Vue/SSR/「译」Nuxt3:新渲染模式-边缘渲染、swr等.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "7b9eef0b3c88d0f2392486c9cb0ae37dd430f5c1d131d973bcee1ab55c2e6da9"
+ },
+ {
+ "sourceRelativePath": "Vue/Vue3/Teleport 传送.md",
+ "targetRelativePath": "Vue/Vue3/Teleport 传送.md",
+ "recommendation": "skip_stub",
+ "action": "skipped",
+ "rationale": "only one H1 title and no article body"
+ },
+ {
+ "sourceRelativePath": "Vue/Vue3/Vue 3 性能优化.md",
+ "targetRelativePath": "Vue/Vue3/Vue 3 性能优化.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "a433e5a803b88243f80cf6b1aab5e4588c7ae5f311f0a89b08ee78dc9fc43127"
+ },
+ {
+ "sourceRelativePath": "Vue/Vue3/自定义 Hook(组合式函数)、指令.md",
+ "targetRelativePath": "Vue/Vue3/自定义 Hook(组合式函数)、指令.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "eab20cec6ebe88e121abec43affda5ae1fa49a16b03f3ca85abedec250b4da96"
+ },
+ {
+ "sourceRelativePath": "Vue/Vue3/Vue 3 事件处理注意事项.md",
+ "targetRelativePath": "Vue/Vue3/Vue 3 事件处理注意事项.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "becd72dbe5d7d43a00419b67f659b63ca98a947ea712688b83a0a85754533ab0"
+ },
+ {
+ "sourceRelativePath": "Vue/Vue3/Nuxt3:新渲染模式-边缘渲染、swr等.md",
+ "targetRelativePath": "Vue/SSR/Nuxt3:新渲染模式-边缘渲染与swr.md",
+ "recommendation": "skip_source_duplicate",
+ "action": "skipped",
+ "rationale": "same source article body as Vue/SSR/Nuxt3:新渲染模式-边缘渲染与swr.md after ignoring first H1"
+ },
+ {
+ "sourceRelativePath": "Vue/Vue3/Vue3 组件 ref 注意事项.md",
+ "targetRelativePath": "Vue/Vue3/Vue3 组件 ref 注意事项.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "01551e4f8feda8772eb710226244b1989cbe81f2e4650e5b850c3f5cf7312214"
+ },
+ {
+ "sourceRelativePath": "Vue/Vue3/异步组件.md",
+ "targetRelativePath": "Vue/Vue3/异步组件.md",
+ "recommendation": "skip_empty",
+ "action": "skipped",
+ "rationale": null
+ },
+ {
+ "sourceRelativePath": "Vue/Vue3/内置组件.md",
+ "targetRelativePath": "Vue/Vue3/内置组件.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "297fef65714409b447f53ea4e2ef4686b7c4b1480851488023cfd667522d5346"
+ },
+ {
+ "sourceRelativePath": "Vue/Vue3/Vue 3 深入组件笔记.md",
+ "targetRelativePath": "Vue/Vue3/Vue 3 深入组件笔记.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "63ea3847a5baeb4f13209947254bbd803ee47441c2b47f64333641c9b9315a59"
+ },
+ {
+ "sourceRelativePath": "Vue/Vue3/KeepAlive.md",
+ "targetRelativePath": "Vue/Vue3/KeepAlive.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "0afaf0d8889e33dff6df6b656f9ce07d7afdc766534170699b05b464d0442ef5"
+ },
+ {
+ "sourceRelativePath": "Vue/interview/Vue 3 面试题集合(系统整理升级变动).md",
+ "targetRelativePath": "八股文/Vue/Vue 3 面试题集合(系统整理升级变动).md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Vue/interview/Vue 面试(上).md",
+ "targetRelativePath": "八股文/Vue/Vue 面试(上).md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Vue/interview/Vue 面试(下).md",
+ "targetRelativePath": "八股文/Vue/Vue 面试(下).md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Vue/uni-app/uni-simple-router 库使用.md",
+ "targetRelativePath": "元框架/uni-app/uni-simple-router 库使用.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "TypeScript/面试题/TypeScript 面试专题.md",
+ "targetRelativePath": "八股文/TypeScript/TypeScript 面试专题.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "TypeScript/面试题/TypeScript面试题.md",
+ "targetRelativePath": "八股文/TypeScript/TypeScript面试题.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "TypeScript/体操练习/BFE-TS TypeScript类型体操练习 Easy 21-30.md",
+ "targetRelativePath": "TypeScript/体操练习/BFE-TS TypeScript类型体操练习 Easy 21-30.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "TypeScript/体操练习/BFE-TS TypeScript类型体操练习 Easy 1-10.md",
+ "targetRelativePath": "TypeScript/体操练习/BFE-TS TypeScript类型体操练习 Easy 1-10.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "TypeScript/体操练习/BFE-TS TypeScript类型体操练习 41- 50.md",
+ "targetRelativePath": "TypeScript/体操练习/BFE-TS TypeScript类型体操练习 41- 50.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "TypeScript/体操练习/BFE-TS TypeScript类型体操练习 Easy 31-40.md",
+ "targetRelativePath": "TypeScript/体操练习/BFE-TS TypeScript类型体操练习 Easy 31-40.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "TypeScript/体操练习/BFE-TS TypeScript类型体操练习 51- 60.md",
+ "targetRelativePath": "TypeScript/体操练习/BFE-TS TypeScript类型体操练习 51- 60.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "TypeScript/体操练习/BFE-TS TypeScript类型体操练习 Easy 11-20.md",
+ "targetRelativePath": "TypeScript/体操练习/BFE-TS TypeScript类型体操练习 Easy 11-20.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "leetcode/codeTop/快手CodeTop.md",
+ "targetRelativePath": "刷题/Leetcode/codeTop/快手CodeTop.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "leetcode/codeTop/字节跳动CodeTop(一).md",
+ "targetRelativePath": "刷题/Leetcode/codeTop/字节跳动CodeTop(一).md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "leetcode/codeTop/拼多多CodeTop.md",
+ "targetRelativePath": "刷题/Leetcode/codeTop/拼多多CodeTop.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "leetcode/codeTop/腾讯 CodeTop.md",
+ "targetRelativePath": "刷题/Leetcode/codeTop/腾讯 CodeTop.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "leetcode/codeTop/字节跳动CodeTop(二).md",
+ "targetRelativePath": "刷题/Leetcode/codeTop/字节跳动CodeTop(二).md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "leetcode/codeTop/美团CodeTop.md",
+ "targetRelativePath": "刷题/Leetcode/codeTop/美团CodeTop.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "leetcode/codeTop/Leetcode 企业题库.md",
+ "targetRelativePath": "刷题/Leetcode/codeTop/Leetcode 企业题库.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "leetcode/codeTop/字节跳动CodeTop(三).md",
+ "targetRelativePath": "刷题/Leetcode/codeTop/字节跳动CodeTop(三).md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "leetcode/中等题/codetop 中等难度刷题.md",
+ "targetRelativePath": "刷题/Leetcode/中等题/codetop 中等难度刷题.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "leetcode/中等题/中等题刷题.md",
+ "targetRelativePath": "刷题/Leetcode/中等题/中等题刷题.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "CSS/basic/Flex 布局.md",
+ "targetRelativePath": "CSS/基础知识/Flex 布局.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "CSS/basic/Web 安全字体和网络字体 (Web Fonts).md",
+ "targetRelativePath": "CSS/基础知识/Web 安全字体和网络字体 (Web Fonts).md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "CSS/basic/CSS 自定义属性.md",
+ "targetRelativePath": "CSS/基础知识/CSS 自定义属性.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "CSS/basic/逻辑组合伪类.md",
+ "targetRelativePath": "CSS/基础知识/逻辑组合伪类.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "CSS/basic/伪类与伪元素的区别.md",
+ "targetRelativePath": "CSS/基础知识/伪类与伪元素的区别.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "CSS/basic/Stylus 学习整合.md",
+ "targetRelativePath": "CSS/基础知识/Stylus 学习整合.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "CSS/basic/Less 知识点汇总.md",
+ "targetRelativePath": "CSS/基础知识/Less 知识点汇总.md",
+ "recommendation": "preserve_existing",
+ "action": "skipped",
+ "rationale": "source differences are titles/formatting or omit existing attribution/context; current body is retained"
+ },
+ {
+ "sourceRelativePath": "CSS/basic/CSS进阶:逻辑组合伪类.md",
+ "targetRelativePath": "CSS/基础知识/CSS进阶:逻辑组合伪类.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "CSS/面试题/CSS 面试题汇总.md",
+ "targetRelativePath": "八股文/CSS 面试题汇总.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "CSS/tailwindcss/Tailwind CSS 核心概念:功能类优先.md",
+ "targetRelativePath": "CSS/Tailwind CSS 核心概念:功能类优先.md",
+ "recommendation": "skip_duplicate",
+ "action": "skipped",
+ "rationale": "normalized body matches existing article"
+ },
+ {
+ "sourceRelativePath": "Go/gin/gin 中间件.md",
+ "targetRelativePath": "Go/gin/gin 中间件.md",
+ "recommendation": "import_new",
+ "action": "added",
+ "rationale": null,
+ "resultHash": "b3a007f442c6df8c374f03ee6d2c0438730a6d6a320cf6cd4944ebe7d7a2a03a"
+ },
+ {
+ "sourceRelativePath": "法律/法律文件/劳动法.md",
+ "targetRelativePath": "法律/法律文件/劳动法.md",
+ "recommendation": "skip_user_excluded",
+ "action": "excluded_by_request",
+ "rationale": "Source directory excluded by the user's request.",
+ "excludedByRequest": true
+ }
+ ],
+ "assets": [
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/assets/multihop-evidence-chain.svg",
+ "targetRelativePath": "public/content-assets/multihop-evidence-chain.svg",
+ "articleRelativePath": "AI应用开发/AI知识工程与RAG/01-rag-multihop-qa.md",
+ "articleUrl": "/content-assets/multihop-evidence-chain.svg"
+ }
+ ],
+ "assetReferences": [
+ {
+ "sourceRelativePath": "面试通用/前端工程师面试手册.md",
+ "href": "person.jpg",
+ "sourceExists": false,
+ "disposition": "code-example-preserved; never emitted as an image"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/01-rag-multihop-qa.md",
+ "href": "assets/multihop-evidence-chain.svg",
+ "sourceExists": true
+ }
+ ],
+ "sourceMissingDocumentReferences": [
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Node/笔记/Node 笔记(3)内置模块.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Node/笔记/Node 笔记(4)包管理.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Node/笔记/Node 笔记(5)CLI.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Node/笔记/Node 笔记(6)Streams.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Node/笔记/Node 笔记(7)Buffer.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Node/笔记/Node 笔记(8)HTTP.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Node/笔记/Node 笔记(9)事件循环.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Node/事件循环/Node 事件循环可视化指南 - 完整的事件循环.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Node/事件循环/Node 事件循环可视化指南 - nextTick 和 Promise 队列.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Node/事件循环/Node 事件循环可视化指南 - 定时器队列.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Node/事件循环/Node 事件循环可视化指南 - IO 队列.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Node/事件循环/Node 事件循环可视化指南 - IO 轮询.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Node/NPM/包管理.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Node/NPM/npm源配置.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Node/NPM/语义化版本.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Node/NPM/npmrc 配置文件使用指南.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Node/Node进程通讯(IPC).md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Node/Node子进程.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Node/http-server与live-server的区别.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Node/Node.js实现网络代理.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Node/使用Node转换图片为webp格式.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Node/使用ffmpeg将视频转换为gif图.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Node/pm2 进程管理器.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Node/CJS和ES Module的导入区别.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "CSS/basic/Grid 布局.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "TypeScript/ReturnType条件类型.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "TypeScript/对象键遍历.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "TypeScript/装饰器使用概览.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "TypeScript/App启动协议库(TypeScript).md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "TypeScript/在React+TypeScript下可能影响性能的patterns.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Webpack/Webpack Loader 开发实践.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Webpack/Webpack Plugin 开发实践.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Webpack/webpack的工作流程.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Webpack/webpack-chain.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Webpack/webpack中的图片处理.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Webpack/Webpack性能优化.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Webpack/Webpack 完整学习指南.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Vite/Vite HMR API与HMR原理.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Vite/Vite 静态资源处理.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Vite/Vite项目启动配置.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Vite/Rolldown探索.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "计算机网络/CDN.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "计算机网络/WAF.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "计算机网络/RESTful请求方法的幂等性.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "计算机网络/浏览器的缓存机制(位置).md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "计算机网络/浏览器的缓存机制(请求头).md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "计算机网络/前端存储.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "计算机网络/Nginx & OpenResty.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Lit/第一章:现代 Web Components 简介.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Lit/第二章:写个第一个 Lit 组件(Hello World).md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Lit/第三章:lit-html 的强大 - 声明式模板.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Lit/第四章:响应性和状态.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Lit/第五章:给 React 开发者 - 将你的知识转换到 Lit.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Lit/第六章:样式和主题 - Shadow DOM 封装.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Lit/第七章:组件组合与通信.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Lit/第八章:高级概念与 Lit 生态.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "TipTap/第四章:终极自定义 - 创建你自己的自定义扩展.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Go/Go基础语法速成版(一).md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Go/Go基础语法速成版(二).md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "Go/Go基础语法速成版(三).md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "leetcode/codeTop/美团 CodeTop.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "leetcode/codeTop/拼多多 CodeTop.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "leetcode/codeTop/快手 CodeTop.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "前端杂文/BFF.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "前端杂文/Commit Message Git 格式规范.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "前端杂文/Google Core Web Vitals.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "前端杂文/RPC笔记.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "前端杂文/静态 vs 单元 vs 集成 vs E2E 测试.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "前端杂文/强缓存 vs 协商缓存.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "前端杂文/同构渲染:SSR & CSR.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "软技能/API版本控制.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "软技能/LaTeX数学公式语法.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "软技能/PPT排版感悟.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "软技能/开发黑话.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "计算机科学/设计模式创建型模式.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "计算机科学/设计模式结构型模式.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "计算机科学/设计模式行为型模式.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "计算机科学/UML关系图.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "安全/Web 安全演化:数字证书签名算法.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "安全/安全上下文技术实践.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "校招/Offer、三方、两方协议、违约.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "校招/校招日志与经验总结.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "./学习路径/React进阶路线.md"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "href": "./算法练习计划.md"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "href": "./翻译/Express.js v5.0中的新增功能.md"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "href": "./翻译/「译」如何从头开始构建机器人检测脚本:分步指南.md"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "href": "./Webpack学习路径.md"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "href": "./Vite学习路径.md"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "href": "./Node.js完整指南.md"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "href": "./TypeScript学习路径.md"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "href": "./React进阶路线.md"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "href": "../Webpack/Webpack性能优化.md"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "href": "../前端杂文/同构渲染:SSR & CSR.md"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "href": "../前端杂文/静态 vs 单元 vs 集成 vs E2E 测试.md"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "href": "./TypeScript学习路径.md"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "href": "./CSS学习路径.md"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "href": "./Vite学习路径.md"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "href": "./Webpack学习路径.md"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "href": "./Node.js完整指南.md"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "href": "./React进阶路线.md"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "href": "../CSS/basic/Grid 布局.md"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "href": "../计算机网络/浏览器的缓存机制(位置).md"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "href": "../计算机网络/浏览器的缓存机制(请求头).md"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "href": "../leetcode/codeTop/美团 CodeTop.md"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "href": "../leetcode/codeTop/拼多多 CodeTop.md"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "href": "../leetcode/codeTop/快手 CodeTop.md"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "href": "../面试通用/算法与数据结构:六大排序算法.md"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "href": "../面试通用/10万字前端面试书总结.md"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "href": "../面试通用/Node.js前端面试题.md"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "href": "../面试通用/算法与数据结构:六大排序算法.md"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "href": "../校招/校招日志与经验总结.md"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "href": "../校招/Offer、三方、两方协议、违约.md"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "href": "../学习路径/React进阶路线.md"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "HTML 高频.md"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "CSS 面试题汇总.md"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/JavaScript/interview/output.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/JavaScript/interview/writing.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/codeTop/ks.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/leetcode/codeTop/byteDance.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/leetcode/codeTop/Tencent.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/leetcode/codeTop/Tencent.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/leetcode/codeTop/meituan.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/Node/01.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/Node/Node.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/React/basic.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/React/Hooks/basic.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "React 项目优化.md"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "React 中使用 TypeScript.md"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/React/interview/part1.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/React/interview/part2.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "Mobx 教程.md"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "../React 框架/React Native/React Native 基础.md"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/DB/Redis.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/DB/perform.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/DB/MySQL/index.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/DB/MySQL.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/front-end/BFF.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/browser-working/L1.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/interview/6sort.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/interview/CO.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/interview/JavaScript.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/interview/OS.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/interview/JavaScript.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/interview/HTML.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/interview/CSS.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "CSS刷题【错题本】.md"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "HTML刷题【错题本】.md"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "JavaScript刷题【错题本】.md"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "计算机网络基础【错题本】.md"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/nowcoder/10.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/campusRec/need.html"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "href": "/campusRec/company.html"
+ },
+ {
+ "sourceRelativePath": "React/面试题/React 面试题(二).md",
+ "href": "执行和清除Effect的时机.md"
+ }
+ ],
+ "reviewedLinkAliases": {
+ "Node/笔记/Node 笔记(3)内置模块.md": {
+ "targetRelativePath": "Node/笔记/Node 笔记(3)Node常用内置模块.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Node/笔记/Node 笔记(4)包管理.md": {
+ "targetRelativePath": "Node/笔记/Node 笔记(4)包管理工具.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Node/笔记/Node 笔记(5)CLI.md": {
+ "targetRelativePath": "Node/笔记/Node 笔记(5)开发脚手架工具.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Node/笔记/Node 笔记(6)Streams.md": {
+ "targetRelativePath": "Node/笔记/Node 笔记(6)Stream.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Node/笔记/Node 笔记(7)Buffer.md": {
+ "targetRelativePath": "Node/笔记/Node 笔记(7)Buffer的使用.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Node/笔记/Node 笔记(8)HTTP.md": {
+ "targetRelativePath": "Node/笔记/Node 笔记(8)Http模块.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Node/笔记/Node 笔记(9)事件循环.md": {
+ "targetRelativePath": "Node/笔记/Node 笔记(9)深入事件循环.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Node/事件循环/Node 事件循环可视化指南 - 完整的事件循环.md": {
+ "targetRelativePath": "Node/笔记/(一)可视化理解 Node.js 事件循环的完整指南.md",
+ "reason": "已读现存文章首H1及章节:五篇可视化指南分别对应(一)至(五),正文与现有Node/笔记稿一致"
+ },
+ "Node/事件循环/Node 事件循环可视化指南 - nextTick 和 Promise 队列.md": {
+ "targetRelativePath": "Node/笔记/(二)在 Node.js 事件循环中可视化 nextTick 和 Promise 队列.md",
+ "reason": "已读现存文章首H1及章节:五篇可视化指南分别对应(一)至(五),正文与现有Node/笔记稿一致"
+ },
+ "Node/事件循环/Node 事件循环可视化指南 - 定时器队列.md": {
+ "targetRelativePath": "Node/笔记/(三)Node.js中的定时器队列可视化.md",
+ "reason": "已读现存文章首H1及章节:五篇可视化指南分别对应(一)至(五),正文与现有Node/笔记稿一致"
+ },
+ "Node/事件循环/Node 事件循环可视化指南 - IO 队列.md": {
+ "targetRelativePath": "Node/笔记/(四)Node.js事件循环中的IO队列可视化.md",
+ "reason": "已读现存文章首H1及章节:五篇可视化指南分别对应(一)至(五),正文与现有Node/笔记稿一致"
+ },
+ "Node/事件循环/Node 事件循环可视化指南 - IO 轮询.md": {
+ "targetRelativePath": "Node/笔记/(五)在 Node.js 事件循环中可视化 IO 轮询.md",
+ "reason": "已读现存文章首H1及章节:五篇可视化指南分别对应(一)至(五),正文与现有Node/笔记稿一致"
+ },
+ "Node/NPM/包管理.md": {
+ "targetRelativePath": "Node/NPM/NPM 包管理.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Node/NPM/npm源配置.md": {
+ "targetRelativePath": "Node/NPM/NPM 源设置和管理方法.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Node/NPM/语义化版本.md": {
+ "targetRelativePath": "Node/NPM/版本语义化.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Node/NPM/npmrc 配置文件使用指南.md": {
+ "targetRelativePath": "Node/NPM/深入了解npmrc:使用与配置指南.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Node/Node进程通讯(IPC).md": {
+ "targetRelativePath": "Node/Node.js 进程通信.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Node/Node子进程.md": {
+ "targetRelativePath": "Node/Node.js 子进程管理和进程通信.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Node/http-server与live-server的区别.md": {
+ "targetRelativePath": "Node/http-server 和 live-server.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Node/Node.js实现网络代理.md": {
+ "targetRelativePath": "Node/使用Node.js 实现网络代理(无框架,通过http-proxy).md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Node/使用Node转换图片为webp格式.md": {
+ "targetRelativePath": "Node/图片格式转换:将上传图片转为webp.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Node/使用ffmpeg将视频转换为gif图.md": {
+ "targetRelativePath": "Node/咱们来整一个Node.js脚本,使用ffmpeg将视频转换为GIF文件.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Node/pm2 进程管理器.md": {
+ "targetRelativePath": "Node/PM2 使用指南~.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "CSS/basic/Grid 布局.md": {
+ "targetRelativePath": "CSS/基础知识/Grid 布局.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "TypeScript/ReturnType条件类型.md": {
+ "targetRelativePath": "TypeScript/TS中的内置条件类型:ReturnType.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "TypeScript/对象键遍历.md": {
+ "targetRelativePath": "TypeScript/如何在TypeScript中迭代对象键.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "TypeScript/装饰器使用概览.md": {
+ "targetRelativePath": "TypeScript/TS 装饰器使用一览.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "TypeScript/App启动协议库(TypeScript).md": {
+ "targetRelativePath": "TypeScript/自定义协议唤起 | 唤端能力支持库编写 —— 基于TypeScript 编写.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "TypeScript/在React+TypeScript下可能影响性能的patterns.md": {
+ "targetRelativePath": "翻译/「译」这种模式将破坏你React应用的TS性能.md",
+ "reason": "现存译文明确原题 This Pattern Will Wreck Your React App's TS Performance,讲Sentry React类型扩展导致TS性能问题,吻合旧索引标签"
+ },
+ "Webpack/Webpack Loader 开发实践.md": {
+ "targetRelativePath": "Webpack/Webpack Loader 实践.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Webpack/Webpack Plugin 开发实践.md": {
+ "targetRelativePath": "Webpack/Webpack 插件开发实践.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Webpack/webpack的工作流程.md": {
+ "targetRelativePath": "Webpack/Webpack 工作流程.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Webpack/webpack-chain.md": {
+ "targetRelativePath": "Webpack/Webpack 链式调用模型.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Webpack/webpack中的图片处理.md": {
+ "targetRelativePath": "Webpack/Webpack 图像处理.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Webpack/Webpack性能优化.md": {
+ "targetRelativePath": "Webpack/Webpack 性能优化.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Webpack/Webpack 完整学习指南.md": {
+ "targetRelativePath": "Webpack/Webpack 学习指北.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Vite/Vite HMR API与HMR原理.md": {
+ "targetRelativePath": "Vite/HMR API 及其原理.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Vite/Rolldown探索.md": {
+ "targetRelativePath": "Vite/探索 Rolldown.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "计算机网络/CDN.md": {
+ "targetRelativePath": "计算机科学/计算机网络/CDN 内容分发网络.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "计算机网络/WAF.md": {
+ "targetRelativePath": "计算机科学/计算机网络/WAF 网络应用防火墙.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "计算机网络/RESTful请求方法的幂等性.md": {
+ "targetRelativePath": "计算机科学/计算机网络/RESTful 下请求方法的幂等性.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "计算机网络/浏览器的缓存机制(位置).md": {
+ "targetRelativePath": "计算机科学/计算机网络/浏览器缓存机制-缓存位置.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "计算机网络/浏览器的缓存机制(请求头).md": {
+ "targetRelativePath": "计算机科学/计算机网络/浏览器缓存机制-请求头.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "计算机网络/前端存储.md": {
+ "targetRelativePath": "计算机科学/计算机网络/前端存储方案一览.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Lit/第一章:现代 Web Components 简介.md": {
+ "targetRelativePath": "Lit/第一章:Lit简介 - 现代Web组件标准.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Lit/第二章:写个第一个 Lit 组件(Hello World).md": {
+ "targetRelativePath": "Lit/第二章:你的第一个Lit组件 - 从零到\"Hello, World\".md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Lit/第三章:lit-html 的强大 - 声明式模板.md": {
+ "targetRelativePath": "Lit/第三章:lit-html的威力 - 精通声明式模板.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Lit/第四章:响应性和状态.md": {
+ "targetRelativePath": "Lit/第四章:响应式与状态 - 让组件动起来.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Lit/第五章:给 React 开发者 - 将你的知识转换到 Lit.md": {
+ "targetRelativePath": "Lit/第五章:致React开发者 - 将你的知识平移到Lit.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Lit/第六章:样式和主题 - Shadow DOM 封装.md": {
+ "targetRelativePath": "Lit/第六章:样式与主题 - Shadow DOM的封装艺术.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Lit/第七章:组件组合与通信.md": {
+ "targetRelativePath": "Lit/第七章:组件化构建 - 组合与通信.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Lit/第八章:高级概念与 Lit 生态.md": {
+ "targetRelativePath": "Lit/第八章:高级概念与Lit生态系统.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "TipTap/第四章:终极自定义 - 创建你自己的自定义扩展.md": {
+ "targetRelativePath": "TipTap/Tiptap 深度教程(四):终极定制 - 从零创建你的专属扩展.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Go/Go基础语法速成版(一).md": {
+ "targetRelativePath": "Go/Go基础语法极速版(一)——从main函数到string类型.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Go/Go基础语法速成版(二).md": {
+ "targetRelativePath": "Go/Go基础语法极速版(二)——续看基本类型.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "Go/Go基础语法速成版(三).md": {
+ "targetRelativePath": "Go/Go基础语法极速版(三)——变量、常量声明.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "leetcode/codeTop/美团 CodeTop.md": {
+ "targetRelativePath": "刷题/Leetcode/codeTop/美团CodeTop.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "leetcode/codeTop/拼多多 CodeTop.md": {
+ "targetRelativePath": "刷题/Leetcode/codeTop/拼多多CodeTop.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "leetcode/codeTop/快手 CodeTop.md": {
+ "targetRelativePath": "刷题/Leetcode/codeTop/快手CodeTop.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "前端杂文/BFF.md": {
+ "targetRelativePath": "前端杂文/BFF 模式 (Backend For Frontend).md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "前端杂文/Commit Message Git 格式规范.md": {
+ "targetRelativePath": "前端杂文/CommitMessage的Git格式规范.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "前端杂文/Google Core Web Vitals.md": {
+ "targetRelativePath": "前端杂文/Google 核心 Web 指标.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "前端杂文/RPC笔记.md": {
+ "targetRelativePath": "前端杂文/RPC 笔记.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "前端杂文/静态 vs 单元 vs 集成 vs E2E 测试.md": {
+ "targetRelativePath": "前端杂文/前端应用的静态测试vs单元测试vs集成测试vsE2E(端到端)测试.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "前端杂文/强缓存 vs 协商缓存.md": {
+ "targetRelativePath": "前端杂文/强缓存和协商缓存.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "前端杂文/同构渲染:SSR & CSR.md": {
+ "targetRelativePath": "前端杂文/同构渲染:SSR (Server-Side Rendering) 与CSH (Client-Side Hydration).md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "软技能/API版本控制.md": {
+ "targetRelativePath": "软技能/API 版本控制.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "软技能/LaTeX数学公式语法.md": {
+ "targetRelativePath": "软文/LaTeX 数学公式语法手册.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "软技能/PPT排版感悟.md": {
+ "targetRelativePath": "软文/PPT图文排版心得.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "软技能/开发黑话.md": {
+ "targetRelativePath": "软技能/开发黑话 专业术语.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "计算机科学/设计模式创建型模式.md": {
+ "targetRelativePath": "计算机科学/设计模式/创建型模式 Creation Pattern.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "计算机科学/设计模式结构型模式.md": {
+ "targetRelativePath": "计算机科学/设计模式/结构型模式 Structural Patterns.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "计算机科学/设计模式行为型模式.md": {
+ "targetRelativePath": "计算机科学/设计模式/Behavior Pattern 行为模式.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "计算机科学/UML关系图.md": {
+ "targetRelativePath": "计算机科学/设计模式/UML图关系详解.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "安全/Web 安全演化:数字证书签名算法.md": {
+ "targetRelativePath": "安全/Web 安全演进:数字证书签名算法升级指南.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "安全/安全上下文技术实践.md": {
+ "targetRelativePath": "安全/Web 安全上下文技术实践指南.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "校招/Offer、三方、两方协议、违约.md": {
+ "targetRelativePath": "软文/offer,三方,两方,毁约 这些你需要知道的事.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "校招/校招日志与经验总结.md": {
+ "targetRelativePath": "软文/校招日志 校招经验总结.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "翻译/Express.js v5.0中的新增功能.md": {
+ "targetRelativePath": "翻译/Express. js v5.0中的新增功能.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "翻译/「译」如何从头开始构建机器人检测脚本:分步指南.md": {
+ "targetRelativePath": "翻译/「译」如何从头开始构建机器人检测脚本:分步指南.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "面试通用/算法与数据结构:六大排序算法.md": {
+ "targetRelativePath": "面试通用/「算法与数据结构」梳理6大排序算法 为了offer.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "面试通用/10万字前端面试书总结.md": {
+ "targetRelativePath": "面试通用/前端面试十万字书籍总结.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "面试通用/Node.js前端面试题.md": {
+ "targetRelativePath": "面试通用/Node.js 前端面试题.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "校招/HTML 高频.md": {
+ "targetRelativePath": "八股文/HTML 高频.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "校招/CSS 面试题汇总.md": {
+ "targetRelativePath": "八股文/CSS 面试题汇总.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "JavaScript/interview/output.html": {
+ "targetRelativePath": "八股文/JavaScript/JavaScript 输出判断.md",
+ "reason": "已核对知识大纲原链接标签与现存对应稿H1/正文;映射旧VuePress英文路线至真实文章"
+ },
+ "JavaScript/interview/writing.html": {
+ "targetRelativePath": "八股文/JavaScript/JavaScript 高频手撕.md",
+ "reason": "已核对知识大纲原链接标签与现存对应稿H1/正文;映射旧VuePress英文路线至真实文章"
+ },
+ "codeTop/ks.html": {
+ "targetRelativePath": "刷题/Leetcode/codeTop/快手CodeTop.md",
+ "reason": "已核对知识大纲原链接标签与现存对应稿H1/正文;映射旧VuePress英文路线至真实文章"
+ },
+ "leetcode/codeTop/Tencent.html": {
+ "targetRelativePath": "刷题/Leetcode/codeTop/腾讯 CodeTop.md",
+ "reason": "已核对知识大纲原链接标签与现存对应稿H1/正文;映射旧VuePress英文路线至真实文章"
+ },
+ "leetcode/codeTop/meituan.html": {
+ "targetRelativePath": "刷题/Leetcode/codeTop/美团CodeTop.md",
+ "reason": "已核对知识大纲原链接标签与现存对应稿H1/正文;映射旧VuePress英文路线至真实文章"
+ },
+ "Node/Node.html": {
+ "targetRelativePath": "Node/Node.js 进程通信.md",
+ "reason": "已核对知识大纲原链接标签与现存对应稿H1/正文;映射旧VuePress英文路线至真实文章"
+ },
+ "React/basic.html": {
+ "targetRelativePath": "React/React基础.md",
+ "reason": "已核对知识大纲原链接标签与现存对应稿H1/正文;映射旧VuePress英文路线至真实文章"
+ },
+ "React/Hooks/basic.html": {
+ "targetRelativePath": "React/React Hooks笔记/React Hooks 基础.md",
+ "reason": "已核对知识大纲原链接标签与现存对应稿H1/正文;映射旧VuePress英文路线至真实文章"
+ },
+ "校招/React 项目优化.md": {
+ "targetRelativePath": "React/React 项目优化.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "校招/React 中使用 TypeScript.md": {
+ "targetRelativePath": "React/React 中使用 TypeScript.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "React/interview/part1.html": {
+ "targetRelativePath": "八股文/React/React 面试题(一).md",
+ "reason": "已核对知识大纲原链接标签与现存对应稿H1/正文;映射旧VuePress英文路线至真实文章"
+ },
+ "React/interview/part2.html": {
+ "targetRelativePath": "八股文/React/React 面试题(二).md",
+ "reason": "已核对知识大纲原链接标签与现存对应稿H1/正文;映射旧VuePress英文路线至真实文章"
+ },
+ "校招/Mobx 教程.md": {
+ "targetRelativePath": "React/Mobx 教程.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "React 框架/React Native/React Native 基础.md": {
+ "targetRelativePath": "React/React Native/React Native 基础.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "DB/Redis.html": {
+ "targetRelativePath": "数据库/Redis 学习笔记.md",
+ "reason": "已核对知识大纲原链接标签与现存对应稿H1/正文;映射旧VuePress英文路线至真实文章"
+ },
+ "DB/perform.html": {
+ "targetRelativePath": "数据库/高并发常见性能表现评估指标.md",
+ "reason": "已核对知识大纲原链接标签与现存对应稿H1/正文;映射旧VuePress英文路线至真实文章"
+ },
+ "DB/MySQL.html": {
+ "targetRelativePath": "数据库/MySQL从入门到入院.md",
+ "reason": "已核对知识大纲原链接标签与现存对应稿H1/正文;映射旧VuePress英文路线至真实文章"
+ },
+ "front-end/BFF.html": {
+ "targetRelativePath": "前端杂文/BFF 模式 (Backend For Frontend).md",
+ "reason": "已核对知识大纲原链接标签与现存对应稿H1/正文;映射旧VuePress英文路线至真实文章"
+ },
+ "interview/6sort.html": {
+ "targetRelativePath": "面试通用/「算法与数据结构」梳理6大排序算法 为了offer.md",
+ "reason": "已核对知识大纲原链接标签与现存对应稿H1/正文;映射旧VuePress英文路线至真实文章"
+ },
+ "interview/HTML.html": {
+ "targetRelativePath": "八股文/HTML 高频.md",
+ "reason": "已核对知识大纲原链接标签与现存对应稿H1/正文;映射旧VuePress英文路线至真实文章"
+ },
+ "interview/CSS.html": {
+ "targetRelativePath": "八股文/CSS 面试题汇总.md",
+ "reason": "已核对知识大纲原链接标签与现存对应稿H1/正文;映射旧VuePress英文路线至真实文章"
+ },
+ "校招/CSS刷题【错题本】.md": {
+ "targetRelativePath": "牛客/错题本/CSS刷题【错题本】.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "校招/HTML刷题【错题本】.md": {
+ "targetRelativePath": "牛客/错题本/HTML刷题【错题本】.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "校招/JavaScript刷题【错题本】.md": {
+ "targetRelativePath": "牛客/错题本/JavaScript刷题【错题本】.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "校招/计算机网络基础【错题本】.md": {
+ "targetRelativePath": "牛客/错题本/计算机网络基础【错题本】.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "nowcoder/10.html": {
+ "targetRelativePath": "牛客/牛客网刷题1-10.md",
+ "reason": "已核对知识大纲原链接标签与现存对应稿H1/正文;映射旧VuePress英文路线至真实文章"
+ },
+ "campusRec/need.html": {
+ "targetRelativePath": "软文/offer,三方,两方,毁约 这些你需要知道的事.md",
+ "reason": "已核对知识大纲原链接标签与现存对应稿H1/正文;映射旧VuePress英文路线至真实文章"
+ },
+ "React/面试题/执行和清除Effect的时机.md": {
+ "targetRelativePath": "React/执行和清除Effect的时机.md",
+ "reason": "索引旧名称与现存文章首标题/章节主题唯一对应,使用审定迁移目标;保留现有正文路径"
+ },
+ "browser-working/L1.html": {
+ "targetRelativePath": "浏览器原理/L1 浏览器基础.md",
+ "reason": "旧L1编号与现存L1浏览器基础首章唯一对应"
+ },
+ "Node/01.html": {
+ "targetRelativePath": "Node/笔记/Node 笔记(1)内核引擎.md",
+ "reason": "git commit 7e9fa336 明确R099重命名 src/Node/01.md → src/Node/Node 笔记(1)内核引擎.md;manifest源与现Node/笔记稿目标对应,确认旧Node基础路由"
+ },
+ "React/Hooks": {
+ "targetRelativePath": "React/React Hooks笔记/ReactHooks汇总.md",
+ "reason": "校招知识大纲链接标签明确为ReactHooks汇总;现存稿H1 ReactHooks 汇总且目标唯一,源去重hash与src/React/React Hooks笔记/ReactHooks汇总.md一致"
+ },
+ "React/dva": {
+ "targetRelativePath": "React/Dva/dva 数据获取和处理.md",
+ "reason": "git commit 7e9fa336 的R100重命名证据:src/React/dva/README.md → src/React 框架/Dva/dva 数据获取和处理.md;现迁移稿H1及正文对应dva数据获取和处理"
+ },
+ "React/umi": {
+ "targetRelativePath": "元框架/Umi/UmiJS 乌米学习实战.md",
+ "reason": "git commit 7e9fa336 的R100重命名证据:src/React/umi/README.md → src/React 框架/umi框架/UmiJS 乌米学习实战.md;manifest正文hash与现元框架/Umi稿相同"
+ }
+ },
+ "links": [
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/ES%2012%20新特性.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/基础知识/ES 12 新特性.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/PromiseA%20集合.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/PromiseA 集合.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/Property原型链与原型链.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/Property原型链与原型链.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/JavaScript%20错误处理指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/技术实践/JavaScript 错误处理指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/JS垃圾回收机制.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/基础知识/JS垃圾回收机制.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/事件循环是如何影响页面渲染的?.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/事件循环是如何影响页面渲染的?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/js中==与===的区别.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/基础知识/js中==与===的区别.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/IIFE%20立即执行函数表达式.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/基础知识/IIFE 立即执行函数表达式.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/Web%20Worker%20常见使用问题和解决方案.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/Web Woker 常见使用问题和解决方案.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/Web%20Worker%20与主线程通信场景下对postMessage的简洁封装.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/Web Woker 与主线程通信场景下对postMessage的简洁封装.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/怎么总有人混淆Service%20Worker%20和%20Web%20Worker?.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/怎么总有人混淆Service Worker 和 Web Worker?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/WebAudio/Web%20Audio%20滤波器Filter.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/WebAudio/Web Audio 滤波器Filter.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/WebAudio/Tone.js%20框架食用指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/WebAudio/Tone.js 框架食用指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/了解MutationObserver的使用以及在Vue3中的使用案例.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/了解MutationObserver的使用以及在Vue3中的使用案例.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/如何使用Performance%20API%20来衡量应用性能?.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/如何使用Performance API 来衡量应用性能?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/来认识一下实用的、好用的:URL%20API.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/来认识一下实用的、好用的:URL API.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/Atomics%20API.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/基础知识/Atomics API.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/前端模块:CJS,%20AMD,%20UMD,%20ESM,%20System%20和%20IIFE.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/前端模块分类.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/为什么每个人都在谈论同构JavaScript%20以及为什么它很重要.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/为什么每个人都在谈论同构JavaScript 以及为什么它很重要.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/深入解析call、apply、bind.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/深入解析call、apply、bind.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/JavaScript%20如何跳出(终止)forEach%20循环.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/技术实践/JavaScript 如何跳出(终止)forEach 循环.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/面试题/JavaScript%20数组去重.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 数组去重.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/正则表达式卷起来!.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/正则表达式卷起来!.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/JavaScript优雅写法及骚操作.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/技术实践/JavaScript优雅写法及骚操作.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/库/ESLint.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/ESLint.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/库/Prettier.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/Prettier.md",
+ "method": "unique-normalized-title"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/库/husky.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/husky.md",
+ "method": "unique-normalized-title"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/库/inquirer%20使用指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/inquirer 使用指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/库/enquirer%20使用指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/enquirer 指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/库/yargs%20使用指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/yargs 使用指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/库/ora%20优雅的终端旋转器.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/ora 优雅的终端旋转器.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/库/Quill富文本编辑器使用%20-%20高度自定义现代%20Web%20富文本编辑器.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/库/Quill富文本编辑器使用 - 高度自定义现代 Web 富文本编辑器.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/库/quill.js%20的文本库%20——%20delta%20的使用.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/库/quill.js 的文本库 —— delta 的使用.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/库/Esprima%20指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/Esprima 指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/库/Puppeteer%20使用指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/Puppeteer 使用指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/库/JS代码混淆器:JavaScript%20obfuscator%20让你的代码看起来让人痛苦.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/库/JS代码混淆器:JavaScript obfuscator 让你的代码看起来让人痛苦.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/库/validate-npm-package-name%20小而美的库.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/validate-npm-package-name 小而美的库.md",
+ "method": "unique-normalized-title"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/库/Git%20相关工具.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/Git 相关工具.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/LocalStorage、sessionStorage%20封装%20-%20基于TypeScript.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/技术实践/LocalStorage、sessionStorage 封装 - 基于TypeScript.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/前端%20SSO%20单点登入方案.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/前端 SSO 单点登入方案.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/前端通过%20canvas%20实现图片裁剪.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/JavaScript%20获取用户操作系统信息及浏览器信息.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/技术实践/JavaScript 获取用户操作系统信息及浏览器信息.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/浏览器中如何通过webgl获取渲染器的供应商和版本信息?.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/浏览器中如何通过webgl获取渲染器的供应商和版本信息?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/axios、XHR、XML、AJAX和Fetch分不清怎么办?.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/技术实践/axios、XHR、XML、AJAX和Fetch分不清怎么办?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/JSDoc%20初探:代码内的文档标记.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/技术实践/JSDoc 初探:代码内的文档标记.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/构建工具应该包含哪些能力?.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/构建工具应该包含哪些能力?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/面试题/JavaScript%20高频手撕.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 高频手撕.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/面试题/JavaScript%20输出判断.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 输出判断.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/面试题/JavaScript%20数组去重.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 数组去重.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/面试题/JavaScript%20面试题汇总(上).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 面试题汇总(上).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/面试题/JavaScript%20面试题汇总(下).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 面试题汇总(下).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/面试题/小滴课堂JS题目汇总.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/小滴课堂JS题目汇总.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vue/Vue%20进阶使用.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue 进阶使用.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vue/Vue3渲染机制.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3渲染机制.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vue/Vue%20keep-alive%20笔记.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue keep-alive 笔记.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vue/Vue3/KeepAlive.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3/KeepAlive.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vue/`$nextTick`深入探究.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/`$nextTick`深入探究.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vue/Vue.set()和this.$set().md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue.set()和this.$set().md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vue/组件自定义v-model以及自定义修饰符.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/组件自定义v-model以及自定义修饰符.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vue/Vue3/Vue%203%20深入组件笔记.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3/Vue 3 深入组件笔记.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vue/Vue3/Vue%203%20性能优化.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3/Vue 3 性能优化.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vue/Vue3/Vue%203%20事件处理注意事项.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3/Vue 3 事件处理注意事项.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vue/Vue3/Vue3%20组件%20ref%20注意事项.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3/Vue3 组件 ref 注意事项.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vue/Vue3/自定义%20Hook(组合式函数)、指令.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3/自定义 Hook(组合式函数)、指令.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vue/Vue3/Teleport%20传送.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vue/Vue3/异步组件.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vue/Vue3/内置组件.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3/内置组件.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vue/前端路由%20hash%20与%20history%20差异.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/前端路由 hash 与 history 差异.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vue/Pinia%20学习笔记.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Pinia 学习笔记.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vue/Vue项目常用库.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue项目常用库.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vue/SSR/编写跨平台友好的代码.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/SSR/编写跨平台友好的代码.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vue/SSR/SSR%20异步数据获取.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/SSR/SSR 异步数据获取.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vue/Vue3/Nuxt3:新渲染模式-边缘渲染、swr等.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/SSR/Nuxt3:新渲染模式-边缘渲染与swr.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vue%20Test%20Utils处理异步行为.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue Test Utils处理异步行为.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vue/uni-app/uni-simple-router%20库使用.md",
+ "action": "rewritten",
+ "targetRelativePath": "元框架/uni-app/uni-simple-router 库使用.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "CSS/Vue%20scoped属性的用途和工作原理.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/Vue scoped属性的用途和工作原理.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/笔记/Node%20笔记(1)内核引擎.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/Node 笔记(1)内核引擎.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/笔记/Node%20笔记(2)模块化.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/Node 笔记(2)模块化.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/笔记/Node%20笔记(3)内置模块.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/Node 笔记(3)Node常用内置模块.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/笔记/Node%20笔记(4)包管理.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/Node 笔记(4)包管理工具.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/笔记/Node%20笔记(5)CLI.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/Node 笔记(5)开发脚手架工具.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/笔记/Node%20笔记(6)Streams.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/Node 笔记(6)Stream.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/笔记/Node%20笔记(7)Buffer.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/Node 笔记(7)Buffer的使用.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/笔记/Node%20笔记(8)HTTP.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/Node 笔记(8)Http模块.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/笔记/Node%20笔记(9)事件循环.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/Node 笔记(9)深入事件循环.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/事件循环/Node%20事件循环可视化指南%20-%20完整的事件循环.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/(一)可视化理解 Node.js 事件循环的完整指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/事件循环/Node%20事件循环可视化指南%20-%20nextTick%20和%20Promise%20队列.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/(二)在 Node.js 事件循环中可视化 nextTick 和 Promise 队列.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/事件循环/Node%20事件循环可视化指南%20-%20定时器队列.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/(三)Node.js中的定时器队列可视化.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/事件循环/Node%20事件循环可视化指南%20-%20IO%20队列.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/(四)Node.js事件循环中的IO队列可视化.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/事件循环/Node%20事件循环可视化指南%20-%20IO%20轮询.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/(五)在 Node.js 事件循环中可视化 IO 轮询.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/NPM/包管理.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/NPM/NPM 包管理.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/NPM/npm源配置.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/NPM/NPM 源设置和管理方法.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/NPM/语义化版本.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/NPM/版本语义化.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/NPM/npmrc%20配置文件使用指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/NPM/深入了解npmrc:使用与配置指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/Node进程通讯(IPC).md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/Node.js 进程通信.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/Node子进程.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/Node.js 子进程管理和进程通信.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/Node.js%20文件系统指南.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/http-server与live-server的区别.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/http-server 和 live-server.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/Node.js实现网络代理.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/使用Node.js 实现网络代理(无框架,通过http-proxy).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/使用Node转换图片为webp格式.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/图片格式转换:将上传图片转为webp.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/使用ffmpeg将视频转换为gif图.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/咱们来整一个Node.js脚本,使用ffmpeg将视频转换为GIF文件.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/pm2%20进程管理器.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/PM2 使用指南~.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/CORS%20跨域及其%20Nodejs%20服务端配置实践.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/CORS 跨域及其 Nodejs 服务端配置实践.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Node/CJS和ES%20Module的导入区别.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/使用Node.js、Express.js、TS写个简单的图床脚本(一).md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/使用Node.js、Express.js、TS写个简单的图床脚本(一).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript/使用Node.js、pm2和ssh2模块实现一个简单的Node.js项目部署脚本.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/使用Node.js、pm2和ssh2模块实现一个简单的Node.js项目部署脚本.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "CSS/basic/Flex%20布局.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/Flex 布局.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "CSS/basic/Grid%20布局.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/Grid 布局.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "CSS/CSS%20父元素没有被子元素撑开问题.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/CSS 父元素没有被子元素撑开问题.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "CSS/basic/Less%20知识点汇总.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/Less 知识点汇总.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "CSS/basic/Stylus%20学习整合.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/Stylus 学习整合.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "CSS/PostCSS.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "CSS/Tailwind%20CSS%20核心概念:功能类优先.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/Tailwind CSS 核心概念:功能类优先.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "CSS/值得你了解的Tailwind%20CSS%20Tips和技巧.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/值得你了解的Tailwind CSS Tips和技巧.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "CSS/basic/CSS%20自定义属性.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/CSS 自定义属性.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "CSS/basic/CSS进阶:逻辑组合伪类.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/CSS进阶:逻辑组合伪类.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "CSS/basic/伪类与伪元素的区别.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/伪类与伪元素的区别.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "CSS/basic/Web%20安全字体和网络字体%20(Web%20Fonts).md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/Web 安全字体和网络字体 (Web Fonts).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "CSS/Vue%20scoped属性的用途和工作原理.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/Vue scoped属性的用途和工作原理.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "TypeScript/工具类型.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/工具类型.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "TypeScript/函数泛型.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/函数泛型.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "TypeScript/ReturnType条件类型.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/TS中的内置条件类型:ReturnType.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "TypeScript/对象键遍历.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/如何在TypeScript中迭代对象键.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "TypeScript/装饰器使用概览.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/TS 装饰器使用一览.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "TypeScript/App启动协议库(TypeScript).md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/自定义协议唤起 | 唤端能力支持库编写 —— 基于TypeScript 编写.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "TypeScript/在React+TypeScript下可能影响性能的patterns.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/「译」这种模式将破坏你React应用的TS性能.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Webpack/webpack%20配置及规则.md",
+ "action": "rewritten",
+ "targetRelativePath": "Webpack/Webpack 配置及规则.md",
+ "method": "unique-normalized-title"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Webpack/Webpack%20Loader%20开发实践.md",
+ "action": "rewritten",
+ "targetRelativePath": "Webpack/Webpack Loader 实践.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Webpack/Webpack%20Plugin%20开发实践.md",
+ "action": "rewritten",
+ "targetRelativePath": "Webpack/Webpack 插件开发实践.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Webpack/webpack的工作流程.md",
+ "action": "rewritten",
+ "targetRelativePath": "Webpack/Webpack 工作流程.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Webpack/webpack-chain.md",
+ "action": "rewritten",
+ "targetRelativePath": "Webpack/Webpack 链式调用模型.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Webpack/webpack中的图片处理.md",
+ "action": "rewritten",
+ "targetRelativePath": "Webpack/Webpack 图像处理.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Webpack/Webpack性能优化.md",
+ "action": "rewritten",
+ "targetRelativePath": "Webpack/Webpack 性能优化.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Webpack/Webpack%20完整学习指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "Webpack/Webpack 学习指北.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vite/Vite%20HMR%20API与HMR原理.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vite/HMR API 及其原理.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vite/Vite%20SSR%20方案.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vite/Vite SSR 方案.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vite/Vite%20静态资源处理.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vite/Vite%20可用项目模版.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vite/Vite 可用项目模版.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vite/构建Vite知识体系-项目性能优化.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vite/构建Vite知识体系-项目性能优化.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vite/项目%20Lint%20管理.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vite/项目 Lint 管理.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vite/Vite项目启动配置.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vite/Rollup%20基本概念、使用和插件机制.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vite/Rollup 基本概念、使用和插件机制.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vite/Rolldown探索.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vite/探索 Rolldown.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Vite/Vite%20小册笔记.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vite/Vite 小册笔记.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "计算机网络/WebSocket.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/WebSocket.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "计算机网络/CDN.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/CDN 内容分发网络.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "计算机网络/WAF.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/WAF 网络应用防火墙.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "计算机网络/RESTful请求方法的幂等性.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/RESTful 下请求方法的幂等性.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "计算机网络/浏览器的缓存机制(位置).md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/浏览器缓存机制-缓存位置.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "计算机网络/浏览器的缓存机制(请求头).md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/浏览器缓存机制-请求头.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "计算机网络/前端存储.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/前端存储方案一览.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "计算机网络/Nginx%20&%20OpenResty.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Browser/Chrome浏览器插件(扩展)-%20Manifest%20V3%20插件开发规范简介.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/Chrome浏览器插件(扩展)- Manifest V3 插件开发规范简介.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Browser/浏览器插件开发框架:WXT.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/浏览器插件开发框架:WXT.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Browser/CORB%20策略.md",
+ "action": "rewritten",
+ "targetRelativePath": "浏览器原理/CORB 策略.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Browser/CORB%20兼容性和影响.md",
+ "action": "rewritten",
+ "targetRelativePath": "浏览器原理/CORB 兼容性和影响.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Browser/CORB%20应对策略.md",
+ "action": "rewritten",
+ "targetRelativePath": "浏览器原理/CORB 应对策略.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Browser/Web%20Components%20中使用生命周期回调函数.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/Web Components 中使用生命周期回调函数.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Browser/Web浏览器滚动方案一览|%20rAF等.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/Web浏览器滚动方案一览| rAF等.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Browser/基于%20StorageEvent的跨tab事件传输方案.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/基于 StorageEvent的跨tab事件传输方案.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Browser/在现代应用中使用%20localStorage%20的全面指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/在现代应用中使用 localStorage 的全面指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Lit/第一章:现代%20Web%20Components%20简介.md",
+ "action": "rewritten",
+ "targetRelativePath": "Lit/第一章:Lit简介 - 现代Web组件标准.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Lit/第二章:写个第一个%20Lit%20组件(Hello%20World).md",
+ "action": "rewritten",
+ "targetRelativePath": "Lit/第二章:你的第一个Lit组件 - 从零到\"Hello, World\".md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Lit/第三章:lit-html%20的强大%20-%20声明式模板.md",
+ "action": "rewritten",
+ "targetRelativePath": "Lit/第三章:lit-html的威力 - 精通声明式模板.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Lit/第四章:响应性和状态.md",
+ "action": "rewritten",
+ "targetRelativePath": "Lit/第四章:响应式与状态 - 让组件动起来.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Lit/第五章:给%20React%20开发者%20-%20将你的知识转换到%20Lit.md",
+ "action": "rewritten",
+ "targetRelativePath": "Lit/第五章:致React开发者 - 将你的知识平移到Lit.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Lit/第六章:样式和主题%20-%20Shadow%20DOM%20封装.md",
+ "action": "rewritten",
+ "targetRelativePath": "Lit/第六章:样式与主题 - Shadow DOM的封装艺术.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Lit/第七章:组件组合与通信.md",
+ "action": "rewritten",
+ "targetRelativePath": "Lit/第七章:组件化构建 - 组合与通信.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Lit/第八章:高级概念与%20Lit%20生态.md",
+ "action": "rewritten",
+ "targetRelativePath": "Lit/第八章:高级概念与Lit生态系统.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "TipTap/",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "TipTap/第四章:终极自定义%20-%20创建你自己的自定义扩展.md",
+ "action": "rewritten",
+ "targetRelativePath": "TipTap/Tiptap 深度教程(四):终极定制 - 从零创建你的专属扩展.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "TipTap/ProseMirror%20高级教程/",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "TipTap/大纲.md",
+ "action": "rewritten",
+ "targetRelativePath": "产品/B站视频播客:长视频的另类出路,还是看上去很美?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Go/Go基础语法速成版(一).md",
+ "action": "rewritten",
+ "targetRelativePath": "Go/Go基础语法极速版(一)——从main函数到string类型.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Go/Go基础语法速成版(二).md",
+ "action": "rewritten",
+ "targetRelativePath": "Go/Go基础语法极速版(二)——续看基本类型.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Go/Go基础语法速成版(三).md",
+ "action": "rewritten",
+ "targetRelativePath": "Go/Go基础语法极速版(三)——变量、常量声明.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "Go/gin/gin%20中间件.md",
+ "action": "rewritten",
+ "targetRelativePath": "Go/gin/gin 中间件.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "leetcode/codeTop/字节跳动CodeTop(一).md",
+ "action": "rewritten",
+ "targetRelativePath": "刷题/Leetcode/codeTop/字节跳动CodeTop(一).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "leetcode/codeTop/字节跳动CodeTop(二).md",
+ "action": "rewritten",
+ "targetRelativePath": "刷题/Leetcode/codeTop/字节跳动CodeTop(二).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "leetcode/codeTop/字节跳动CodeTop(三).md",
+ "action": "rewritten",
+ "targetRelativePath": "刷题/Leetcode/codeTop/字节跳动CodeTop(三).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "leetcode/codeTop/腾讯%20CodeTop.md",
+ "action": "rewritten",
+ "targetRelativePath": "刷题/Leetcode/codeTop/腾讯 CodeTop.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "leetcode/codeTop/美团%20CodeTop.md",
+ "action": "rewritten",
+ "targetRelativePath": "刷题/Leetcode/codeTop/美团CodeTop.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "leetcode/codeTop/拼多多%20CodeTop.md",
+ "action": "rewritten",
+ "targetRelativePath": "刷题/Leetcode/codeTop/拼多多CodeTop.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "leetcode/codeTop/快手%20CodeTop.md",
+ "action": "rewritten",
+ "targetRelativePath": "刷题/Leetcode/codeTop/快手CodeTop.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "leetcode/中等题/",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "牛客/牛客网刷题1-10.md",
+ "action": "rewritten",
+ "targetRelativePath": "牛客/牛客网刷题1-10.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "牛客/牛客网刷题11-20.md",
+ "action": "rewritten",
+ "targetRelativePath": "牛客/牛客网刷题11-20.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "牛客/牛客网刷题21-30.md",
+ "action": "rewritten",
+ "targetRelativePath": "牛客/牛客网刷题21-30.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "牛客/牛客网刷题31-40.md",
+ "action": "rewritten",
+ "targetRelativePath": "牛客/牛客网刷题31-40.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "牛客/牛客网刷题41-50.md",
+ "action": "rewritten",
+ "targetRelativePath": "牛客/牛客网刷题41-50.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "牛客/牛客网刷题51-60.md",
+ "action": "rewritten",
+ "targetRelativePath": "牛客/牛客网刷题51-60.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "牛客/错题本/",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "面经/哔哩哔哩面经.md",
+ "action": "rewritten",
+ "targetRelativePath": "面经/哔哩哔哩面经.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "面经/快手面经.md",
+ "action": "rewritten",
+ "targetRelativePath": "面经/快手面经.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "面经/美团面经.md",
+ "action": "rewritten",
+ "targetRelativePath": "面经/美团面经.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "面经/朴朴面经.md",
+ "action": "rewritten",
+ "targetRelativePath": "面经/朴朴面经.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "面经/星网锐捷面经.md",
+ "action": "rewritten",
+ "targetRelativePath": "面经/星网锐捷面经.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "面经/面试问答/",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "外文翻译/INP%20(Interaction%20to%20Next%20Paint)%20与用户体验真的有关系吗?.md",
+ "action": "rewritten",
+ "targetRelativePath": "外文翻译/INP (Interaction to Next Paint) 与用户体验真的有关系吗?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "外文翻译/Islands%20Architecture%20孤岛架构.md",
+ "action": "rewritten",
+ "targetRelativePath": "外文翻译/Islands Architecture 孤岛架构.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "外文翻译/URL%20设计最佳实践.md",
+ "action": "rewritten",
+ "targetRelativePath": "外文翻译/URL 设计最佳实践.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "外文翻译/为什么%20RSC%20才是正确答案?.md",
+ "action": "rewritten",
+ "targetRelativePath": "外文翻译/为什么 RSC 才是正确答案?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "外文翻译/居中一个%20div%20的%20N%20种方法.md",
+ "action": "rewritten",
+ "targetRelativePath": "外文翻译/居中一个 div 的 N 种方法.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "外文翻译/每个开发人员都应该知道的五大Node.js功能.md",
+ "action": "rewritten",
+ "targetRelativePath": "外文翻译/每个开发人员都应该知道的五大Node.js功能.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "外文翻译/什么是会话固定.md",
+ "action": "rewritten",
+ "targetRelativePath": "外文翻译/什么是会话固定.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "外文翻译/ECMAScript%20装饰器的%2010%20年.md",
+ "action": "rewritten",
+ "targetRelativePath": "外文翻译/ECMAScript 装饰器的 10 年.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "外文翻译/交互时导入.md",
+ "action": "rewritten",
+ "targetRelativePath": "外文翻译/交互时导入.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "外文翻译/用于调试和分析的%205%20大%20Node.js%20工具.md",
+ "action": "rewritten",
+ "targetRelativePath": "外文翻译/用于调试和分析的 5 大 Node.js 工具.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "./外文翻译/",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "前端杂文/BFF.md",
+ "action": "rewritten",
+ "targetRelativePath": "前端杂文/BFF 模式 (Backend For Frontend).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "前端杂文/Commit%20Message%20Git%20格式规范.md",
+ "action": "rewritten",
+ "targetRelativePath": "前端杂文/CommitMessage的Git格式规范.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "前端杂文/CORS.md",
+ "action": "rewritten",
+ "targetRelativePath": "前端杂文/CORS.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "前端杂文/Google%20Core%20Web%20Vitals.md",
+ "action": "rewritten",
+ "targetRelativePath": "前端杂文/Google 核心 Web 指标.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "前端杂文/RPC笔记.md",
+ "action": "rewritten",
+ "targetRelativePath": "前端杂文/RPC 笔记.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "前端杂文/前端抓包.md",
+ "action": "rewritten",
+ "targetRelativePath": "前端杂文/前端抓包.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "前端杂文/静态%20vs%20单元%20vs%20集成%20vs%20E2E%20测试.md",
+ "action": "rewritten",
+ "targetRelativePath": "前端杂文/前端应用的静态测试vs单元测试vs集成测试vsE2E(端到端)测试.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "前端杂文/强缓存%20vs%20协商缓存.md",
+ "action": "rewritten",
+ "targetRelativePath": "前端杂文/强缓存和协商缓存.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "前端杂文/同构渲染:SSR%20&%20CSR.md",
+ "action": "rewritten",
+ "targetRelativePath": "前端杂文/同构渲染:SSR (Server-Side Rendering) 与CSH (Client-Side Hydration).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "软技能/API版本控制.md",
+ "action": "rewritten",
+ "targetRelativePath": "软技能/API 版本控制.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "软技能/DDD.md",
+ "action": "rewritten",
+ "targetRelativePath": "软技能/DDD.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "软技能/LaTeX数学公式语法.md",
+ "action": "rewritten",
+ "targetRelativePath": "软文/LaTeX 数学公式语法手册.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "软技能/PPT排版感悟.md",
+ "action": "rewritten",
+ "targetRelativePath": "软文/PPT图文排版心得.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "软技能/精选文章列表.md",
+ "action": "rewritten",
+ "targetRelativePath": "软文/精选文章列表.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "软技能/开发黑话.md",
+ "action": "rewritten",
+ "targetRelativePath": "软技能/开发黑话 专业术语.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "软技能/浏览器翻译.md",
+ "action": "rewritten",
+ "targetRelativePath": "软文/浏览器翻译.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "软技能/前端学习目标.md",
+ "action": "rewritten",
+ "targetRelativePath": "软文/前端学习目标.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "计算机科学/设计模式创建型模式.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/设计模式/创建型模式 Creation Pattern.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "计算机科学/设计模式结构型模式.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/设计模式/结构型模式 Structural Patterns.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "计算机科学/设计模式行为型模式.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/设计模式/Behavior Pattern 行为模式.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "计算机科学/UML关系图.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/设计模式/UML图关系详解.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "安全/Web%20安全演化:数字证书签名算法.md",
+ "action": "rewritten",
+ "targetRelativePath": "安全/Web 安全演进:数字证书签名算法升级指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "安全/安全上下文技术实践.md",
+ "action": "rewritten",
+ "targetRelativePath": "安全/Web 安全上下文技术实践指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "HTML/HTML知识点汇总.md",
+ "action": "rewritten",
+ "targetRelativePath": "HTML/HTML知识点汇总.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "HTML/button标签和div模拟按钮的区别.md",
+ "action": "rewritten",
+ "targetRelativePath": "HTML/button标签和div模拟按钮的区别.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "HTML/HTML%20高频.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/HTML 高频.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "HTML/Web%20Component.md",
+ "action": "rewritten",
+ "targetRelativePath": "HTML/Web Component.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "校招/2022年中总结.md",
+ "action": "rewritten",
+ "targetRelativePath": "软文/2022年中总结.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "校招/2022年终总结.md",
+ "action": "rewritten",
+ "targetRelativePath": "软文/2022年终总结.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "校招/2023年中总结.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "校招/Offer、三方、两方协议、违约.md",
+ "action": "rewritten",
+ "targetRelativePath": "软文/offer,三方,两方,毁约 这些你需要知道的事.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "校招/校招日志与经验总结.md",
+ "action": "rewritten",
+ "targetRelativePath": "软文/校招日志 校招经验总结.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "校招/知识大纲.md",
+ "action": "rewritten",
+ "targetRelativePath": "校招/知识大纲.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "URL%20解释%20-%20基础知识.md",
+ "action": "rewritten",
+ "targetRelativePath": "URL 解释 - 基础知识.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "个人简介.md",
+ "action": "rewritten",
+ "targetRelativePath": "@about",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "2023%20书单.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "2023%20进阶清单.md",
+ "action": "rewritten",
+ "targetRelativePath": "2023 进阶清单.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "action": "unresolved-to-text",
+ "reason": "excluded-private-or-sensitive-target"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "平台发布.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "./学习路径/JavaScript完整指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "学习路径/JavaScript完整指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "./学习路径/Vue全栈路线.md",
+ "action": "rewritten",
+ "targetRelativePath": "学习路径/Vue全栈路线.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "./学习路径/React进阶路线.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试准备/README.md",
+ "action": "rewritten",
+ "targetRelativePath": "面试准备/README.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "索引.md",
+ "kind": "markdown",
+ "originalHref": "./算法练习计划.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/「译」React%20服务器组件%20(RSCs)%20的深入分析.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/「译」React 服务器组件 (RSCs) 的深入分析.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./外文翻译/为什么%20RSC%20才是正确答案?.md",
+ "action": "rewritten",
+ "targetRelativePath": "外文翻译/为什么 RSC 才是正确答案?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/「译」SolidStart%201.0:未来框架的形态.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/「译」SolidStart 1.0:未来框架的形态.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/「Astro%205.0%20」Astro新功能概述.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/「Astro 5.0 」Astro新功能概述.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./外文翻译/Islands%20Architecture%20孤岛架构.md",
+ "action": "rewritten",
+ "targetRelativePath": "外文翻译/Islands Architecture 孤岛架构.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/「译」如何编写%20React%20应用程序的样式.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/「译」如何编写 React 应用程序的样式.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/「译」如何为应用选择最佳渲染策略.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/「译」如何为应用选择最佳渲染策略.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/「译」这种模式将破坏你React应用的TS性能.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/「译」这种模式将破坏你React应用的TS性能.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/「译」面向%20JavaScript%20开发人员的%20TSConfig%20简介.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/「译」面向 JavaScript 开发人员的 TSConfig 简介.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/「译」如何写出更好的Typescript代码.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/「译」如何写出更好的Typescript代码.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/「译」JavaScript%20舍入误差(在金融应用程序中).md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/「译」JavaScript 舍入误差(在金融应用程序中).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/「译」解析%20JavaScript%20中的循环依赖.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/「译」解析 JavaScript 中的循环依赖.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/「译」2024%20年的%205%20个%20JavaScript%20安全最佳实践.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/「译」2024 年的 5 个 JavaScript 安全最佳实践.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./外文翻译/ECMAScript%20装饰器的%2010%20年.md",
+ "action": "rewritten",
+ "targetRelativePath": "外文翻译/ECMAScript 装饰器的 10 年.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/「译」谷歌在索引过程中如何处理%20JavaScript.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/「译」谷歌在索引过程中如何处理 JavaScript.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/「译」关于优化%20LCP%20的常见误解.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/「译」关于优化 LCP 的常见误解.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./外文翻译/INP%20(Interaction%20to%20Next%20Paint)%20与用户体验真的有关系吗?.md",
+ "action": "rewritten",
+ "targetRelativePath": "外文翻译/INP (Interaction to Next Paint) 与用户体验真的有关系吗?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/PRPL%20模式.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/PRPL 模式.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./外文翻译/交互时导入.md",
+ "action": "rewritten",
+ "targetRelativePath": "外文翻译/交互时导入.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/「译」现在如何使用容器查询.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/「译」现在如何使用容器查询.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/「译」使用%20CSS%20解析器扩展来填充%20CSS(提案).md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/「译」使用 CSS 解析器扩展来填充 CSS(提案).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./外文翻译/居中一个%20div%20的%20N%20种方法.md",
+ "action": "rewritten",
+ "targetRelativePath": "外文翻译/居中一个 div 的 N 种方法.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/Express.js%20v5.0中的新增功能.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/Express. js v5.0中的新增功能.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/在企业环境中正确使用%20Node.js%20的九大原.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/在企业环境中正确使用 Node.js 的九大原.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./外文翻译/每个开发人员都应该知道的五大Node.js功能.md",
+ "action": "rewritten",
+ "targetRelativePath": "外文翻译/每个开发人员都应该知道的五大Node.js功能.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./外文翻译/用于调试和分析的%205%20大%20Node.js%20工具.md",
+ "action": "rewritten",
+ "targetRelativePath": "外文翻译/用于调试和分析的 5 大 Node.js 工具.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/「译」从领域开始.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/「译」从领域开始.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/「译」选择技术栈.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/「译」选择技术栈.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/「译」如何初始化前端项目.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/「译」设置项目.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/「译」不要将%20DTO%20传递给用户界面组件.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/「译」不要将 DTO 传递给用户界面组件.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/「译」从简单到复杂%20——%20软件四象限.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/「译」从简单到复杂 —— 软件四象限.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/「译」为%20Rust%20及所有语言优化%20WebAssembly.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/「译」为 Rust 及所有语言优化 WebAssembly.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/「译」使用%20Rust%20编程%20WebAssembly%20第一部分:从%20WAT%20到%20WASM%20集成.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/「译」使用 Rust 编程 WebAssembly 第一部分:从 WAT 到 WASM 集成.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./外文翻译/什么是会话固定.md",
+ "action": "rewritten",
+ "targetRelativePath": "外文翻译/什么是会话固定.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/「译」如何从头开始构建机器人检测脚本:分步指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/「译」如何从头开始构建机器人检测脚本:分步指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/编写%20Dockerfile:从入门到精通.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/编写 Dockerfile:从入门到精通.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./外文翻译/URL%20设计最佳实践.md",
+ "action": "rewritten",
+ "targetRelativePath": "外文翻译/URL 设计最佳实践.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/命名在编程中的重要性.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/命名在编程中的重要性.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "翻译索引.md",
+ "kind": "markdown",
+ "originalHref": "./翻译/Claude%204%20重磅来袭:你需要了解的一切.md",
+ "action": "rewritten",
+ "targetRelativePath": "翻译/Claude 4 重磅来袭:你需要了解的一切.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Flex 布局.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/Flex 布局.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Grid 布局.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/Grid 布局.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./伪类与伪元素的区别.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/伪类与伪元素的区别.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./逻辑组合伪类.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/逻辑组合伪类.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./CSS 自定义属性.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/CSS 自定义属性.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Less 知识点汇总.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/Less 知识点汇总.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Stylus 学习整合.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/Stylus 学习整合.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./PostCSS.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Tailwind CSS 核心概念:功能类优先.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/Tailwind CSS 核心概念:功能类优先.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue scoped属性的用途和工作原理.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/Vue scoped属性的用途和工作原理.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/CSS 面试题汇总.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/CSS 面试题汇总.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./CSS 父元素没有被子元素撑开问题.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/CSS 父元素没有被子元素撑开问题.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./CSS 自定义属性.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/CSS 自定义属性.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./CSS进阶:逻辑组合伪类.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/CSS进阶:逻辑组合伪类.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Flex 布局.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/Flex 布局.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Grid 布局.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/Grid 布局.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Web 安全字体和网络字体 (Web Fonts).md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/Web 安全字体和网络字体 (Web Fonts).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./伪类与伪元素的区别.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/伪类与伪元素的区别.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./逻辑组合伪类.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/逻辑组合伪类.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Less 知识点汇总.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/Less 知识点汇总.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./PostCSS.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Stylus 学习整合.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/Stylus 学习整合.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Tailwind CSS 核心概念:功能类优先.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/Tailwind CSS 核心概念:功能类优先.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./值得你了解的Tailwind CSS Tips和技巧.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/值得你了解的Tailwind CSS Tips和技巧.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue scoped属性的用途和工作原理.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/Vue scoped属性的用途和工作原理.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./basic/CSS 自定义属性.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/CSS 自定义属性.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./basic/Flex 布局.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/Flex 布局.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./basic/Less 知识点汇总.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/Less 知识点汇总.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./basic/Stylus 学习整合.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/Stylus 学习整合.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./basic/Web 安全字体和网络字体 (Web Fonts).md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/Web 安全字体和网络字体 (Web Fonts).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./basic/伪类与伪元素的区别.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/伪类与伪元素的区别.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./basic/逻辑组合伪类.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/逻辑组合伪类.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./tailwindcss/Tailwind CSS 核心概念:功能类优先.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/Tailwind CSS 核心概念:功能类优先.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/CSS 面试题汇总.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/CSS 面试题汇总.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "../React/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "CSS/索引.md",
+ "kind": "markdown",
+ "originalHref": "../前端杂文/CORS.md",
+ "action": "rewritten",
+ "targetRelativePath": "前端杂文/CORS.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./TypeScript 笔记.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/TypeScript 笔记.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./工具类型.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/工具类型.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./函数泛型.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/函数泛型.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./TS中的内置条件类型:ReturnType.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/TS中的内置条件类型:ReturnType.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./如何在TypeScript中迭代对象键.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/如何在TypeScript中迭代对象键.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./TS 装饰器使用一览.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/TS 装饰器使用一览.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./自定义协议唤起 | 唤端能力支持库编写 —— 基于TypeScript 编写.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/自定义协议唤起 | 唤端能力支持库编写 —— 基于TypeScript 编写.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/TypeScript 面试专题.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/TypeScript/TypeScript 面试专题.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/TypeScript面试题.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/TypeScript/TypeScript面试题.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./TS 装饰器使用一览.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/TS 装饰器使用一览.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./TS中的内置条件类型:ReturnType.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/TS中的内置条件类型:ReturnType.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./TypeScript 笔记.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/TypeScript 笔记.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./函数泛型.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/函数泛型.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./如何在TypeScript中迭代对象键.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/如何在TypeScript中迭代对象键.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./工具类型.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/工具类型.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./自定义协议唤起 | 唤端能力支持库编写 —— 基于TypeScript 编写.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/自定义协议唤起 | 唤端能力支持库编写 —— 基于TypeScript 编写.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./体操练习/BFE-TS TypeScript类型体操练习 Easy 1-10.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/体操练习/BFE-TS TypeScript类型体操练习 Easy 1-10.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./体操练习/BFE-TS TypeScript类型体操练习 Easy 11-20.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/体操练习/BFE-TS TypeScript类型体操练习 Easy 11-20.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./体操练习/BFE-TS TypeScript类型体操练习 Easy 21-30.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/体操练习/BFE-TS TypeScript类型体操练习 Easy 21-30.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./体操练习/BFE-TS TypeScript类型体操练习 Easy 31-40.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/体操练习/BFE-TS TypeScript类型体操练习 Easy 31-40.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./体操练习/BFE-TS TypeScript类型体操练习 41- 50.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/体操练习/BFE-TS TypeScript类型体操练习 41- 50.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./体操练习/BFE-TS TypeScript类型体操练习 51- 60.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/体操练习/BFE-TS TypeScript类型体操练习 51- 60.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/TypeScript 面试专题.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/TypeScript/TypeScript 面试专题.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/TypeScript面试题.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/TypeScript/TypeScript面试题.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "../React/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "TypeScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue 进阶使用.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue 进阶使用.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./`$nextTick`深入探究.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/`$nextTick`深入探究.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue3渲染机制.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3渲染机制.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue3/Vue 3 深入组件笔记.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3/Vue 3 深入组件笔记.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue3/自定义 Hook(组合式函数)、指令.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3/自定义 Hook(组合式函数)、指令.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./组件自定义v-model以及自定义修饰符.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/组件自定义v-model以及自定义修饰符.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue Router 浅析.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue Router 浅析.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Pinia 学习笔记.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Pinia 学习笔记.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vuex 基础与进阶使用.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vuex 基础与进阶使用.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./源码学习/Vue 响应式原理.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./源码学习/Vue编译.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./源码学习/Vue VDom.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/源码学习/Vue VDom.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/Vue 3 面试题集合(系统整理升级变动).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/Vue/Vue 3 面试题集合(系统整理升级变动).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/Vue 面试(上).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/Vue/Vue 面试(上).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/Vue 面试(下).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/Vue/Vue 面试(下).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./`$nextTick`深入探究.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/`$nextTick`深入探究.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue test方法.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue test方法.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue 进阶使用.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue 进阶使用.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue Router 浅析.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue Router 浅析.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue keep-alive 笔记.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue keep-alive 笔记.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue 自定义钩子如何访问生命周期.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue.set()和this.$set().md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue.set()和this.$set().md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue3渲染机制.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3渲染机制.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./VueBus 总线传参数.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/VueBus 总线传参数.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue项目常用库.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue项目常用库.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./前端路由 hash 与 history 差异.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/前端路由 hash 与 history 差异.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./渲染函数 hyperscript.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./组件自定义v-model以及自定义修饰符.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/组件自定义v-model以及自定义修饰符.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue3/KeepAlive.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3/KeepAlive.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue3/Nuxt3:新渲染模式-边缘渲染、swr等.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/SSR/Nuxt3:新渲染模式-边缘渲染与swr.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue3/Teleport 传送.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue3/Vue 3 事件处理注意事项.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3/Vue 3 事件处理注意事项.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue3/Vue 3 性能优化.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3/Vue 3 性能优化.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue3/Vue 3 深入组件笔记.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3/Vue 3 深入组件笔记.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue3/Vue3 组件 ref 注意事项.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3/Vue3 组件 ref 注意事项.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue3/内置组件.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3/内置组件.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue3/异步组件.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vue3/自定义 Hook(组合式函数)、指令.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3/自定义 Hook(组合式函数)、指令.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Pinia 学习笔记.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Pinia 学习笔记.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Vuex 基础与进阶使用.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vuex 基础与进阶使用.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./SSR/SSR 异步数据获取.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/SSR/SSR 异步数据获取.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./SSR/Nuxt3:新渲染模式-边缘渲染与swr.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/SSR/Nuxt3:新渲染模式-边缘渲染与swr.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./SSR/编写跨平台友好的代码.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/SSR/编写跨平台友好的代码.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./uni-app/uni-simple-router 库使用.md",
+ "action": "rewritten",
+ "targetRelativePath": "元框架/uni-app/uni-simple-router 库使用.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./源码学习/Vue VDom.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/源码学习/Vue VDom.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./源码学习/Vue 响应式原理.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./源码学习/VueRouter.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/源码学习/VueRouter.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./源码学习/Vue编译.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./源码学习/数据流原理:Vuex & Pinia.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/源码学习/数据流原理:Vuex & Pinia.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/Vue 3 面试题集合(系统整理升级变动).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/Vue/Vue 3 面试题集合(系统整理升级变动).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/Vue 面试(上).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/Vue/Vue 面试(上).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/Vue 面试(下).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/Vue/Vue 面试(下).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./interview/Vue 3 面试题集合(系统整理升级变动).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/Vue/Vue 3 面试题集合(系统整理升级变动).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./interview/Vue 面试(上).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/Vue/Vue 面试(上).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "./interview/Vue 面试(下).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/Vue/Vue 面试(下).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "../TypeScript/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vue/索引.md",
+ "kind": "markdown",
+ "originalHref": "../CSS/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/JavaScript%20进阶整合.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/基础知识/JavaScript 进阶整合.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/js中==与===的区别.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/基础知识/js中==与===的区别.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/IIFE%20立即执行函数表达式.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/基础知识/IIFE 立即执行函数表达式.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/面试题/JavaScript%20输出判断.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 输出判断.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/Property原型链与原型链.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/Property原型链与原型链.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/深入解析call、apply、bind.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/深入解析call、apply、bind.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/ES%2012%20新特性.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/基础知识/ES 12 新特性.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/前端模块:CJS,%20AMD,%20UMD,%20ESM,%20System%20和%20IIFE.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/前端模块分类.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/PromiseA%20集合.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/PromiseA 集合.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/JavaScript%20错误处理指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/技术实践/JavaScript 错误处理指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/事件循环是如何影响页面渲染的?.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/事件循环是如何影响页面渲染的?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/LocalStorage、sessionStorage%20封装%20-%20基于TypeScript.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/技术实践/LocalStorage、sessionStorage 封装 - 基于TypeScript.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../Browser/在现代应用中使用%20localStorage%20的全面指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/在现代应用中使用 localStorage 的全面指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../Browser/基于%20StorageEvent的跨tab事件传输方案.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/基于 StorageEvent的跨tab事件传输方案.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/axios、XHR、XML、AJAX和Fetch分不清怎么办?.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/技术实践/axios、XHR、XML、AJAX和Fetch分不清怎么办?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/来认识一下实用的、好用的:URL%20API.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/来认识一下实用的、好用的:URL API.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/了解MutationObserver的使用以及在Vue3中的使用案例.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/了解MutationObserver的使用以及在Vue3中的使用案例.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/如何使用Performance%20API%20来衡量应用性能?.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/如何使用Performance API 来衡量应用性能?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/WebPerf%20Snippets%20——%20直接可以在浏览器控制台中获取网页性能指标的代码片段.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/WebPerf Snippets —— 直接可以在浏览器控制台中获取网页性能指标的代码片段.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/怎么总有人混淆Service%20Worker%20和%20Web%20Worker?.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/怎么总有人混淆Service Worker 和 Web Worker?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/Web%20Worker%20常见使用问题和解决方案.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/Web Woker 常见使用问题和解决方案.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/Web%20Worker%20与主线程通信场景下对postMessage的简洁封装.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/Web Woker 与主线程通信场景下对postMessage的简洁封装.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/WebAudio/Web%20Audio%20滤波器Filter.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/WebAudio/Web Audio 滤波器Filter.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/WebAudio/Tone.js%20框架食用指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/WebAudio/Tone.js 框架食用指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/前端通过%20canvas%20实现图片裁剪.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/浏览器中如何通过webgl获取渲染器的供应商和版本信息?.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/浏览器中如何通过webgl获取渲染器的供应商和版本信息?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/前端%20SSO%20单点登入方案.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/前端 SSO 单点登入方案.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../前端杂文/CORS.md",
+ "action": "rewritten",
+ "targetRelativePath": "前端杂文/CORS.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/JavaScript优雅写法及骚操作.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/技术实践/JavaScript优雅写法及骚操作.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/玩转一行代码KO问题.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/玩转一行代码KO问题.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/正则表达式卷起来!.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/正则表达式卷起来!.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/JavaScript%20如何跳出(终止)forEach%20循环.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/技术实践/JavaScript 如何跳出(终止)forEach 循环.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/面试题/JavaScript%20数组去重.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 数组去重.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/库/Quill富文本编辑器使用%20-%20高度自定义现代%20Web%20富文本编辑器.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/库/Quill富文本编辑器使用 - 高度自定义现代 Web 富文本编辑器.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/库/quill.js%20的文本库%20——%20delta%20的使用.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/库/quill.js 的文本库 —— delta 的使用.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/库/inquirer%20使用指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/inquirer 使用指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/库/enquirer%20使用指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/enquirer 指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/库/yargs%20使用指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/yargs 使用指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/库/ora%20优雅的终端旋转器.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/ora 优雅的终端旋转器.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/库/ESLint.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/ESLint.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/库/Prettier.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/Prettier.md",
+ "method": "unique-normalized-title"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/库/husky.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/husky.md",
+ "method": "unique-normalized-title"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/库/Puppeteer%20使用指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/Puppeteer 使用指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/库/Esprima%20指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/Esprima 指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/库/JS代码混淆器:JavaScript%20obfuscator%20让你的代码看起来让人痛苦.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/库/JS代码混淆器:JavaScript obfuscator 让你的代码看起来让人痛苦.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/库/validate-npm-package-name%20小而美的库.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/validate-npm-package-name 小而美的库.md",
+ "method": "unique-normalized-title"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/库/Git%20相关工具.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/Git 相关工具.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/前端模块:CJS,%20AMD,%20UMD,%20ESM,%20System%20和%20IIFE.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/前端模块分类.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/构建工具应该包含哪些能力?.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/构建工具应该包含哪些能力?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "./Webpack学习路径.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "./Vite学习路径.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/WebPerf%20Snippets%20——%20直接可以在浏览器控制台中获取网页性能指标的代码片段.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/WebPerf Snippets —— 直接可以在浏览器控制台中获取网页性能指标的代码片段.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/如何使用Performance%20API%20来衡量应用性能?.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/如何使用Performance API 来衡量应用性能?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/事件循环是如何影响页面渲染的?.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/事件循环是如何影响页面渲染的?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/JS垃圾回收机制.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/基础知识/JS垃圾回收机制.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/为什么每个人都在谈论同构JavaScript%20以及为什么它很重要.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/为什么每个人都在谈论同构JavaScript 以及为什么它很重要.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/Atomics%20API.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/基础知识/Atomics API.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/JSDoc%20初探:代码内的文档标记.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/技术实践/JSDoc 初探:代码内的文档标记.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/面试题/JavaScript%20高频手撕.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 高频手撕.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/面试题/JavaScript%20输出判断.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 输出判断.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/面试题/JavaScript%20数组去重.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 数组去重.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/面试题/JavaScript%20面试题汇总(上).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 面试题汇总(上).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/面试题/JavaScript%20面试题汇总(下).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 面试题汇总(下).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/面试题/小滴课堂JS题目汇总.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/小滴课堂JS题目汇总.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/JavaScript%20进阶整合.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/基础知识/JavaScript 进阶整合.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "./Node.js完整指南.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "./TypeScript学习路径.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "./Vue全栈路线.md",
+ "action": "rewritten",
+ "targetRelativePath": "学习路径/Vue全栈路线.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/JavaScript完整指南.md",
+ "kind": "markdown",
+ "originalHref": "./React进阶路线.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "./JavaScript完整指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "学习路径/JavaScript完整指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/Vue%20进阶使用.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue 进阶使用.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/Vue3渲染机制.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3渲染机制.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/Vue3/自定义%20Hook(组合式函数)、指令.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3/自定义 Hook(组合式函数)、指令.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/Vue3/Vue%203%20深入组件笔记.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3/Vue 3 深入组件笔记.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/Vue.set()和this.$set().md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue.set()和this.$set().md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/`$nextTick`深入探究.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/`$nextTick`深入探究.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/组件自定义v-model以及自定义修饰符.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/组件自定义v-model以及自定义修饰符.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/Vue3/Vue%203%20深入组件笔记.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3/Vue 3 深入组件笔记.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/Vue3/Vue3%20组件%20ref%20注意事项.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3/Vue3 组件 ref 注意事项.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/Vue3/Vue%203%20事件处理注意事项.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3/Vue 3 事件处理注意事项.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/Vue3/异步组件.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/Vue3/内置组件.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3/内置组件.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/Vue%20keep-alive%20笔记.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue keep-alive 笔记.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/Vue3/KeepAlive.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3/KeepAlive.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/Vue3/Teleport%20传送.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/前端路由%20hash%20与%20history%20差异.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/前端路由 hash 与 history 差异.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/Pinia%20学习笔记.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Pinia 学习笔记.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../CSS/Vue%20scoped属性的用途和工作原理.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/Vue scoped属性的用途和工作原理.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../CSS/Tailwind%20CSS%20核心概念:功能类优先.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/Tailwind CSS 核心概念:功能类优先.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/Vue3/Vue%203%20性能优化.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3/Vue 3 性能优化.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vite/构建Vite知识体系-项目性能优化.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vite/构建Vite知识体系-项目性能优化.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Webpack/Webpack性能优化.md",
+ "action": "rewritten",
+ "targetRelativePath": "Webpack/Webpack 性能优化.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/SSR/编写跨平台友好的代码.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/SSR/编写跨平台友好的代码.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/SSR/SSR%20异步数据获取.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/SSR/SSR 异步数据获取.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../前端杂文/同构渲染:SSR%20&%20CSR.md",
+ "action": "rewritten",
+ "targetRelativePath": "前端杂文/同构渲染:SSR (Server-Side Rendering) 与CSH (Client-Side Hydration).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/Vue3/Nuxt3:新渲染模式-边缘渲染、swr等.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/SSR/Nuxt3:新渲染模式-边缘渲染与swr.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/为什么每个人都在谈论同构JavaScript%20以及为什么它很重要.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/为什么每个人都在谈论同构JavaScript 以及为什么它很重要.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/Vue项目常用库.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue项目常用库.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/uni-app/uni-simple-router%20库使用.md",
+ "action": "rewritten",
+ "targetRelativePath": "元框架/uni-app/uni-simple-router 库使用.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../Vue%20Test%20Utils处理异步行为.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue Test Utils处理异步行为.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "../前端杂文/静态%20vs%20单元%20vs%20集成%20vs%20E2E%20测试.md",
+ "action": "rewritten",
+ "targetRelativePath": "前端杂文/前端应用的静态测试vs单元测试vs集成测试vsE2E(端到端)测试.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "./JavaScript完整指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "学习路径/JavaScript完整指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "./TypeScript学习路径.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "./CSS学习路径.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "./Vite学习路径.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "./Webpack学习路径.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "./Node.js完整指南.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "学习路径/Vue全栈路线.md",
+ "kind": "markdown",
+ "originalHref": "./React进阶路线.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/面试题/JavaScript%20高频手撕.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 高频手撕.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/面试题/JavaScript高频手撕.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript高频手撕.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/面试题/JavaScript%20输出判断.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 输出判断.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/面试题/JavaScript%20面试题汇总(上).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 面试题汇总(上).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/面试题/JavaScript%20面试题汇总(下).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 面试题汇总(下).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/面试题/小滴课堂JS题目汇总.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/小滴课堂JS题目汇总.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/面试题/JavaScript%20数组去重.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 数组去重.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/Vue3渲染机制.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue3渲染机制.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/`$nextTick`深入探究.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/`$nextTick`深入探究.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/Vue%20keep-alive%20笔记.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/Vue keep-alive 笔记.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/前端路由%20hash%20与%20history%20差异.md",
+ "action": "rewritten",
+ "targetRelativePath": "Vue/前端路由 hash 与 history 差异.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../TypeScript/",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../CSS/basic/Flex%20布局.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/Flex 布局.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../CSS/basic/Grid%20布局.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/Grid 布局.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../CSS/basic/伪类与伪元素的区别.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/基础知识/伪类与伪元素的区别.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../计算机网络/HTTP/",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../计算机网络/浏览器的缓存机制(位置).md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/浏览器缓存机制-缓存位置.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../计算机网络/浏览器的缓存机制(请求头).md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/浏览器缓存机制-请求头.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../前端杂文/CORS.md",
+ "action": "rewritten",
+ "targetRelativePath": "前端杂文/CORS.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../Node/事件循环/",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../Node/笔记/",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/事件循环是如何影响页面渲染的?.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/事件循环是如何影响页面渲染的?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../浏览器工作原理/",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../leetcode/codeTop/字节跳动CodeTop(一).md",
+ "action": "rewritten",
+ "targetRelativePath": "刷题/Leetcode/codeTop/字节跳动CodeTop(一).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../leetcode/codeTop/字节跳动CodeTop(二).md",
+ "action": "rewritten",
+ "targetRelativePath": "刷题/Leetcode/codeTop/字节跳动CodeTop(二).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../leetcode/codeTop/字节跳动CodeTop(三).md",
+ "action": "rewritten",
+ "targetRelativePath": "刷题/Leetcode/codeTop/字节跳动CodeTop(三).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../leetcode/codeTop/腾讯%20CodeTop.md",
+ "action": "rewritten",
+ "targetRelativePath": "刷题/Leetcode/codeTop/腾讯 CodeTop.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../leetcode/codeTop/美团%20CodeTop.md",
+ "action": "rewritten",
+ "targetRelativePath": "刷题/Leetcode/codeTop/美团CodeTop.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../leetcode/codeTop/拼多多%20CodeTop.md",
+ "action": "rewritten",
+ "targetRelativePath": "刷题/Leetcode/codeTop/拼多多CodeTop.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../leetcode/codeTop/快手%20CodeTop.md",
+ "action": "rewritten",
+ "targetRelativePath": "刷题/Leetcode/codeTop/快手CodeTop.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../牛客/牛客网刷题1-10.md",
+ "action": "rewritten",
+ "targetRelativePath": "牛客/牛客网刷题1-10.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../牛客/牛客网刷题11-20.md",
+ "action": "rewritten",
+ "targetRelativePath": "牛客/牛客网刷题11-20.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../牛客/牛客网刷题21-30.md",
+ "action": "rewritten",
+ "targetRelativePath": "牛客/牛客网刷题21-30.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../牛客/牛客网刷题31-40.md",
+ "action": "rewritten",
+ "targetRelativePath": "牛客/牛客网刷题31-40.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../牛客/牛客网刷题41-50.md",
+ "action": "rewritten",
+ "targetRelativePath": "牛客/牛客网刷题41-50.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../牛客/牛客网刷题51-60.md",
+ "action": "rewritten",
+ "targetRelativePath": "牛客/牛客网刷题51-60.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../牛客/错题本/",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../面试通用/算法与数据结构:六大排序算法.md",
+ "action": "rewritten",
+ "targetRelativePath": "面试通用/「算法与数据结构」梳理6大排序算法 为了offer.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../面经/哔哩哔哩面经.md",
+ "action": "rewritten",
+ "targetRelativePath": "面经/哔哩哔哩面经.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../面经/快手面经.md",
+ "action": "rewritten",
+ "targetRelativePath": "面经/快手面经.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../面经/美团面经.md",
+ "action": "rewritten",
+ "targetRelativePath": "面经/美团面经.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../面经/朴朴面经.md",
+ "action": "rewritten",
+ "targetRelativePath": "面经/朴朴面经.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../面经/星网锐捷面经.md",
+ "action": "rewritten",
+ "targetRelativePath": "面经/星网锐捷面经.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../面经/面试问答/",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../面试通用/前端工程师面试手册.md",
+ "action": "rewritten",
+ "targetRelativePath": "面试通用/前端工程师面试手册.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../面试通用/10万字前端面试书总结.md",
+ "action": "rewritten",
+ "targetRelativePath": "面试通用/前端面试十万字书籍总结.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../面试通用/Node.js前端面试题.md",
+ "action": "rewritten",
+ "targetRelativePath": "面试通用/Node.js 前端面试题.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../面试通用/计算机网络面试题.md",
+ "action": "rewritten",
+ "targetRelativePath": "面试通用/计算机网络面试题.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../面试通用/算法与数据结构:六大排序算法.md",
+ "action": "rewritten",
+ "targetRelativePath": "面试通用/「算法与数据结构」梳理6大排序算法 为了offer.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../校招/2022年中总结.md",
+ "action": "rewritten",
+ "targetRelativePath": "软文/2022年中总结.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../校招/2022年终总结.md",
+ "action": "rewritten",
+ "targetRelativePath": "软文/2022年终总结.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../校招/2023年中总结.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../校招/校招日志与经验总结.md",
+ "action": "rewritten",
+ "targetRelativePath": "软文/校招日志 校招经验总结.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../校招/Offer、三方、两方协议、违约.md",
+ "action": "rewritten",
+ "targetRelativePath": "软文/offer,三方,两方,毁约 这些你需要知道的事.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../校招/知识大纲.md",
+ "action": "rewritten",
+ "targetRelativePath": "校招/知识大纲.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../学习路径/JavaScript完整指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "学习路径/JavaScript完整指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../学习路径/Vue全栈路线.md",
+ "action": "rewritten",
+ "targetRelativePath": "学习路径/Vue全栈路线.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "面试准备/README.md",
+ "kind": "markdown",
+ "originalHref": "../学习路径/React进阶路线.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "HTML%20高频.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/HTML 高频.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "CSS%20面试题汇总.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/CSS 面试题汇总.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/JavaScript/interview/output.html",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 输出判断.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/JavaScript/interview/writing.html",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 高频手撕.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/JavaScript/interview/",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/browser-working/interview/",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/codeTop/ks.html",
+ "action": "rewritten",
+ "targetRelativePath": "刷题/Leetcode/codeTop/快手CodeTop.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/leetcode/codeTop/byteDance.html",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/leetcode/codeTop/Tencent.html",
+ "action": "rewritten",
+ "targetRelativePath": "刷题/Leetcode/codeTop/腾讯 CodeTop.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/leetcode/codeTop/Tencent.html",
+ "action": "rewritten",
+ "targetRelativePath": "刷题/Leetcode/codeTop/腾讯 CodeTop.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/leetcode/codeTop/meituan.html",
+ "action": "rewritten",
+ "targetRelativePath": "刷题/Leetcode/codeTop/美团CodeTop.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/interview/Vue%20面试(上).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/Vue/Vue 面试(上).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/interview/Vue%20面试(下).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/Vue/Vue 面试(下).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "../Vue/uni-app/uni-simple-router%20库使用.md",
+ "action": "rewritten",
+ "targetRelativePath": "元框架/uni-app/uni-simple-router 库使用.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/Node/01.html",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/Node 笔记(1)内核引擎.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/Node/Node.html",
+ "action": "rewritten",
+ "targetRelativePath": "Node/Node.js 进程通信.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/React/basic.html",
+ "action": "rewritten",
+ "targetRelativePath": "React/React基础.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/React/Hooks/basic.html",
+ "action": "rewritten",
+ "targetRelativePath": "React/React Hooks笔记/React Hooks 基础.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/React/Hooks",
+ "action": "rewritten",
+ "targetRelativePath": "React/React Hooks笔记/ReactHooks汇总.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "React%20项目优化.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React 项目优化.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "React%20中使用%20TypeScript.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React 中使用 TypeScript.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/React/interview/part1.html",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/React/React 面试题(一).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/React/interview/part2.html",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/React/React 面试题(二).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/React/dva",
+ "action": "rewritten",
+ "targetRelativePath": "React/Dva/dva 数据获取和处理.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/React/umi",
+ "action": "rewritten",
+ "targetRelativePath": "元框架/Umi/UmiJS 乌米学习实战.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "Mobx%20教程.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/Mobx 教程.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "../React%20框架/React%20Native/React%20Native%20基础.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React Native/React Native 基础.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "../Webpack/Webpack%20性能优化.md",
+ "action": "rewritten",
+ "targetRelativePath": "Webpack/Webpack 性能优化.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "../Webpack/Webpack%20配置及规则.md",
+ "action": "rewritten",
+ "targetRelativePath": "Webpack/Webpack 配置及规则.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/DB/Redis.html",
+ "action": "rewritten",
+ "targetRelativePath": "数据库/Redis 学习笔记.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/DB/perform.html",
+ "action": "rewritten",
+ "targetRelativePath": "数据库/高并发常见性能表现评估指标.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/DB/MySQL/index.html",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/DB/MySQL.html",
+ "action": "rewritten",
+ "targetRelativePath": "数据库/MySQL从入门到入院.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/front-end/BFF.html",
+ "action": "rewritten",
+ "targetRelativePath": "前端杂文/BFF 模式 (Backend For Frontend).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/browser-working/L1.html",
+ "action": "rewritten",
+ "targetRelativePath": "浏览器原理/L1 浏览器基础.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/interview/6sort.html",
+ "action": "rewritten",
+ "targetRelativePath": "面试通用/「算法与数据结构」梳理6大排序算法 为了offer.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/interview/CO.html",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/interview/JavaScript.html",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/interview/OS.html",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/interview/JavaScript.html",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/interview/HTML.html",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/HTML 高频.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/interview/CSS.html",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/CSS 面试题汇总.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "CSS刷题【错题本】.md",
+ "action": "rewritten",
+ "targetRelativePath": "牛客/错题本/CSS刷题【错题本】.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "HTML刷题【错题本】.md",
+ "action": "rewritten",
+ "targetRelativePath": "牛客/错题本/HTML刷题【错题本】.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "JavaScript刷题【错题本】.md",
+ "action": "rewritten",
+ "targetRelativePath": "牛客/错题本/JavaScript刷题【错题本】.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/nowcoder/wrongTopic/Vue",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/nowcoder/wrongTopic/React",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "计算机网络基础【错题本】.md",
+ "action": "rewritten",
+ "targetRelativePath": "牛客/错题本/计算机网络基础【错题本】.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/nowcoder/10.html",
+ "action": "rewritten",
+ "targetRelativePath": "牛客/牛客网刷题1-10.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/campusRec/need.html",
+ "action": "rewritten",
+ "targetRelativePath": "软文/offer,三方,两方,毁约 这些你需要知道的事.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "校招/知识大纲.md",
+ "kind": "markdown",
+ "originalHref": "/campusRec/company.html",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./HTTP/HTTP 版本整合.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/HTTP/HTTP 版本整合.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./HTTP/HTTPS与SSL TLS.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/HTTP/HTTPS与SSL TLS.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./HTTP/TLS1.2连接过程解析.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/HTTP/TLS1.2连接过程解析.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./浏览器缓存机制-请求头.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/浏览器缓存机制-请求头.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./浏览器缓存机制-缓存位置.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/浏览器缓存机制-缓存位置.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./CDN 内容分发网络.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/CDN 内容分发网络.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Nginx:高性能的Web服务器.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/Nginx:高性能的Web服务器.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./OpenResty:更灵活的Web服务器.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/OpenResty:更灵活的Web服务器.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./WAF 网络应用防火墙.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/WAF 网络应用防火墙.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./WebSocket.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/WebSocket.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/TCP应知应会(上).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/计算机网络/TCP应知应会(上).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/UDP应知应会.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/计算机网络/UDP应知应会.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./HTTP/HTTP 代理和缓存.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/HTTP/HTTP 代理和缓存.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./HTTP/HTTP 版本整合.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/HTTP/HTTP 版本整合.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./HTTP/HTTPS与SSL TLS.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/HTTP/HTTPS与SSL TLS.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./HTTP/HTTPS性能优化.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/HTTP/HTTPS性能优化.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./HTTP/TLS1.2连接过程解析.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/HTTP/TLS1.2连接过程解析.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./RESTful 下请求方法的幂等性.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/RESTful 下请求方法的幂等性.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./CDN 内容分发网络.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/CDN 内容分发网络.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./WebSocket.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/WebSocket.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./前端存储方案一览.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/前端存储方案一览.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./浏览器缓存机制-缓存位置.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/浏览器缓存机制-缓存位置.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./浏览器缓存机制-请求头.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/浏览器缓存机制-请求头.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Nginx:高性能的Web服务器.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/Nginx:高性能的Web服务器.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./OpenResty:更灵活的Web服务器.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/OpenResty:更灵活的Web服务器.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./WAF 网络应用防火墙.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机科学/计算机网络/WAF 网络应用防火墙.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/TCP应知应会(上).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/计算机网络/TCP应知应会(上).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/TCP应知应会(中).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/计算机网络/TCP应知应会(中).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/TCP应知应会(下).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/计算机网络/TCP应知应会(下).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/UDP应知应会.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/计算机网络/UDP应知应会.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/计网常考面试题.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/计算机网络/计网常考面试题.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/计网面试题汇总.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/计算机网络/计网面试题汇总.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "../Browser/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "../浏览器工作原理/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "浏览器工作原理/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "计算机网络/索引.md",
+ "kind": "markdown",
+ "originalHref": "../Node/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Browser/索引.md",
+ "kind": "markdown",
+ "originalHref": "./CORB 策略.md",
+ "action": "rewritten",
+ "targetRelativePath": "浏览器原理/CORB 策略.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Browser/索引.md",
+ "kind": "markdown",
+ "originalHref": "./CORB 应对策略.md",
+ "action": "rewritten",
+ "targetRelativePath": "浏览器原理/CORB 应对策略.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Browser/索引.md",
+ "kind": "markdown",
+ "originalHref": "./CORB 兼容性和影响.md",
+ "action": "rewritten",
+ "targetRelativePath": "浏览器原理/CORB 兼容性和影响.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Browser/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Chrome浏览器插件(扩展)- Manifest V3 插件开发规范简介.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/Chrome浏览器插件(扩展)- Manifest V3 插件开发规范简介.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Browser/索引.md",
+ "kind": "markdown",
+ "originalHref": "./浏览器插件开发框架:WXT.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/浏览器插件开发框架:WXT.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Browser/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Web Components 中使用生命周期回调函数.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/Web Components 中使用生命周期回调函数.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Browser/索引.md",
+ "kind": "markdown",
+ "originalHref": "./在现代应用中使用 localStorage 的全面指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/在现代应用中使用 localStorage 的全面指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Browser/索引.md",
+ "kind": "markdown",
+ "originalHref": "./基于 StorageEvent的跨tab事件传输方案.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/基于 StorageEvent的跨tab事件传输方案.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Browser/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Web浏览器滚动方案一览| rAF等.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/Web浏览器滚动方案一览| rAF等.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Browser/索引.md",
+ "kind": "markdown",
+ "originalHref": "./CORB 策略.md",
+ "action": "rewritten",
+ "targetRelativePath": "浏览器原理/CORB 策略.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Browser/索引.md",
+ "kind": "markdown",
+ "originalHref": "./CORB 应对策略.md",
+ "action": "rewritten",
+ "targetRelativePath": "浏览器原理/CORB 应对策略.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Browser/索引.md",
+ "kind": "markdown",
+ "originalHref": "./CORB 兼容性和影响.md",
+ "action": "rewritten",
+ "targetRelativePath": "浏览器原理/CORB 兼容性和影响.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Browser/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Chrome浏览器插件(扩展)- Manifest V3 插件开发规范简介.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/Chrome浏览器插件(扩展)- Manifest V3 插件开发规范简介.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Browser/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Web Components 中使用生命周期回调函数.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/Web Components 中使用生命周期回调函数.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Browser/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Web浏览器滚动方案一览| rAF等.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/Web浏览器滚动方案一览| rAF等.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Browser/索引.md",
+ "kind": "markdown",
+ "originalHref": "./在现代应用中使用 localStorage 的全面指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/在现代应用中使用 localStorage 的全面指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Browser/索引.md",
+ "kind": "markdown",
+ "originalHref": "./基于 StorageEvent的跨tab事件传输方案.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/基于 StorageEvent的跨tab事件传输方案.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Browser/索引.md",
+ "kind": "markdown",
+ "originalHref": "./浏览器插件开发框架:WXT.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/浏览器插件开发框架:WXT.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Browser/索引.md",
+ "kind": "markdown",
+ "originalHref": "../浏览器工作原理/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "浏览器工作原理/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Browser/索引.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Browser/索引.md",
+ "kind": "markdown",
+ "originalHref": "../计算机网络/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机网络/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vite/Vite 小册笔记.md",
+ "kind": "wiki",
+ "originalHref": "Vite 小册笔记",
+ "action": "rewritten",
+ "targetRelativePath": "Vite/Vite 小册笔记.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vite/Vite 小册笔记.md",
+ "kind": "wiki",
+ "originalHref": "Rollup 基本概念、使用和插件机制",
+ "action": "rewritten",
+ "targetRelativePath": "Vite/Rollup 基本概念、使用和插件机制.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vite/Vite 小册笔记.md",
+ "kind": "wiki",
+ "originalHref": "项目 Lint 管理",
+ "action": "rewritten",
+ "targetRelativePath": "Vite/项目 Lint 管理.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Vite/Vite 小册笔记.md",
+ "kind": "wiki",
+ "originalHref": "构建Vite知识体系-项目性能优化",
+ "action": "rewritten",
+ "targetRelativePath": "Vite/构建Vite知识体系-项目性能优化.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/README.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/README.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./001-database-sharding.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/001-database-sharding.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./002-sql-join-on-where.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/002-sql-join-on-where.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./003-normalization-denormalization.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/003-normalization-denormalization.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./004-mysql-order-by-sorting.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/004-mysql-order-by-sorting.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./005-sql-execution-process.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/005-sql-execution-process.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./006-mysql-index-types.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/006-mysql-index-types.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./007-change-buffer.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/007-change-buffer.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./008-batch-insert.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/008-batch-insert.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./009-full-and-incremental-sync.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/009-full-and-incremental-sync.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./010-cursor-pagination.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/010-cursor-pagination.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./011-storage-engines.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/011-storage-engines.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./012-clustered-and-secondary-index.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/012-clustered-and-secondary-index.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./013-index-back-to-table.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/013-index-back-to-table.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./014-leftmost-prefix-rule.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/014-leftmost-prefix-rule.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./015-covering-index.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/015-covering-index.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./016-index-condition-pushdown.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/016-index-condition-pushdown.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./017-index-design-notes.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/017-index-design-notes.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./018-index-effect-troubleshooting.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/018-index-effect-troubleshooting.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./019-too-many-indexes.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/019-too-many-indexes.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./020-bplus-tree-query-process.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/020-bplus-tree-query-process.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./021-why-bplus-tree-index.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/021-why-bplus-tree-index.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./022-mysql-logs-binlog-redo-undo.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/022-mysql-logs-binlog-redo-undo.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./023-mysql-transaction-implementation.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/023-mysql-transaction-implementation.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./024-long-running-transactions.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/024-long-running-transactions.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./025-mvcc.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/025-mvcc.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./026-secondary-index-mvcc.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/026-secondary-index-mvcc.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./027-without-mvcc.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/027-without-mvcc.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./028-transaction-isolation-levels.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/028-transaction-isolation-levels.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./029-default-isolation-level.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/029-default-isolation-level.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./030-dirty-nonrepeatable-phantom-read.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/030-dirty-nonrepeatable-phantom-read.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./031-lock-types.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/031-lock-types.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./032-optimistic-pessimistic-lock.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/032-optimistic-pessimistic-lock.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./033-deadlock-handling.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/033-deadlock-handling.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./034-explain-query-analysis.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/034-explain-query-analysis.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./035-count-differences.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/035-count-differences.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./036-int-display-width.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/036-int-display-width.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./037-varchar-vs-char.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/037-varchar-vs-char.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./038-sql-tuning.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/038-sql-tuning.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./039-avoid-single-point-failure.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/039-avoid-single-point-failure.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./040-read-write-splitting.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/040-read-write-splitting.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./041-replication.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/041-replication.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./042-replication-lag.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/042-replication-lag.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./001-database-sharding.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/001-database-sharding.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./043-sharding-implementation-process.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/043-sharding-implementation-process.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./044-sharding-problems.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/044-sharding-problems.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./045-buffer-pool-read-path.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/045-buffer-pool-read-path.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./046-doublewrite-buffer.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/046-doublewrite-buffer.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./047-log-buffer.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/047-log-buffer.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./048-avoid-multi-table-joins.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/048-avoid-multi-table-joins.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./010-cursor-pagination.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/010-cursor-pagination.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./049-slow-sql-monitoring-optimization.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/049-slow-sql-monitoring-optimization.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./050-delete-drop-truncate.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/050-delete-drop-truncate.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./002-sql-join-on-where.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/002-sql-join-on-where.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./051-limit-offset-performance.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/051-limit-offset-performance.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./052-datetime-vs-timestamp.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/052-datetime-vs-timestamp.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./003-normalization-denormalization.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/003-normalization-denormalization.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./053-common-mysql-functions.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/053-common-mysql-functions.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./054-text-type-limits.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/054-text-type-limits.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./055-auto-increment-maximum.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/055-auto-increment-maximum.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./056-money-data-type.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/056-money-data-type.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./057-database-view.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/057-database-view.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./058-database-cursor.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/058-database-cursor.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./059-large-binary-content-storage.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/059-large-binary-content-storage.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./060-mysql-vs-oracle-advantages.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/060-mysql-vs-oracle-advantages.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./061-varchar-length-difference.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/061-varchar-length-difference.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./062-when-not-to-create-index.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/062-when-not-to-create-index.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./063-exists-vs-in.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/063-exists-vs-in.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./064-write-ahead-logging.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/064-write-ahead-logging.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./065-production-isolation-level-choice.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/065-production-isolation-level-choice.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./066-avoid-stored-procedures.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/066-avoid-stored-procedures.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./067-zero-downtime-database-migration.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/067-zero-downtime-database-migration.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./068-mysql-performance-optimization.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/068-mysql-performance-optimization.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./011-storage-engines.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/011-storage-engines.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./069-query-optimizer-plan-selection.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/069-query-optimizer-plan-selection.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./070-logical-vs-physical-delete.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/070-logical-vs-physical-delete.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./071-logical-vs-physical-foreign-key.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/071-logical-vs-physical-foreign-key.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./072-innodb-binlog-two-phase-commit.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/072-innodb-binlog-two-phase-commit.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./073-three-level-bplus-tree-capacity.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/073-three-level-bplus-tree-capacity.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./074-table-design-checklist.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/074-table-design-checklist.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./075-redo-log-insert-records.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/075-redo-log-insert-records.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./076-sql-logical-execution-order.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/076-sql-logical-execution-order.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./021-why-bplus-tree-index.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/021-why-bplus-tree-index.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./077-maximum-table-columns.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/077-maximum-table-columns.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./078-change-data-capture.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/078-change-data-capture.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/README.md",
+ "kind": "markdown",
+ "originalHref": "./079-multithreaded-data-warehouse-sync.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/079-multithreaded-data-warehouse-sync.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "01-redis-as-message-queue.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/01-redis-as-message-queue.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "02-distributed-lock-alternatives.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/02-distributed-lock-alternatives.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "03-distributed-lock-essentials.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/03-distributed-lock-essentials.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "04-redis-lock-pros-cons.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/04-redis-lock-pros-cons.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "05-redis-lock-timeout.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/05-redis-lock-timeout.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "06-redis-big-key.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/06-redis-big-key.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "07-cache-value.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/07-cache-value.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "08-cache-penetration.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/08-cache-penetration.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "09-cache-breakdown.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/09-cache-breakdown.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "10-cache-avalanche.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/10-cache-avalanche.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "11-redis-hot-key.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/11-redis-hot-key.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "12-redis-reentrant-lock.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/12-redis-reentrant-lock.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "13-message-fanout.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/13-message-fanout.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "14-message-decoupling.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/14-message-decoupling.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "15-message-peak-shaving.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/15-message-peak-shaving.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "16-kafka-throughput.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/16-kafka-throughput.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "17-kafka-message-loss.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/17-kafka-message-loss.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "18-kafka-duplicate-consumption.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/18-kafka-duplicate-consumption.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "19-mq-backlog.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/19-mq-backlog.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "20-database-sharding-when.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/20-database-sharding-when.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "21-tcp-client-failure-detection.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/21-tcp-client-failure-detection.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "22-sharding-cross-query-transactions.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/22-sharding-cross-query-transactions.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "23-mysql-slow-sql.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/23-mysql-slow-sql.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "24-mysql-monitoring.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/24-mysql-monitoring.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "25-mysql-deep-pagination.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/25-mysql-deep-pagination.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "26-mysql-configuration-tuning.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/26-mysql-configuration-tuning.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "27-mysql-replication-lag.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/27-mysql-replication-lag.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "28-mysql-primary-failover.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/28-mysql-primary-failover.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "29-http-user-identity-cluster.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/29-http-user-identity-cluster.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "30-server-closes-tcp.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/30-server-closes-tcp.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "31-tcp-server-crash-power-loss.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/31-tcp-server-crash-power-loss.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "场景面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "32-tcp-connection-count.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/32-tcp-connection-count.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./JavaScript 进阶整合.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/基础知识/JavaScript 进阶整合.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./ES5、6 指导规范.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/基础知识/ES5、6 指导规范.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./ES 12 新特性.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/基础知识/ES 12 新特性.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Property原型链与原型链.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/Property原型链与原型链.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./深入解析call、apply、bind.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/深入解析call、apply、bind.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./JS垃圾回收机制.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/基础知识/JS垃圾回收机制.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./PromiseA 集合.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/PromiseA 集合.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./事件循环是如何影响页面渲染的?.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/事件循环是如何影响页面渲染的?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./页面生命周期:DOMContentLoaded, load, beforeunload, unload.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/页面生命周期.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./如何使用Performance API 来衡量应用性能?.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/如何使用Performance API 来衡量应用性能?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./来认识一下实用的、好用的:URL API.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/来认识一下实用的、好用的:URL API.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Web Worker 常见使用问题和解决方案.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/Web Woker 常见使用问题和解决方案.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/JavaScript 面试题汇总(上).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 面试题汇总(上).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/JavaScript 面试题汇总(下).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 面试题汇总(下).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/JavaScript 高频手撕.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 高频手撕.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Atomics API.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/基础知识/Atomics API.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./ES 12 新特性.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/基础知识/ES 12 新特性.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./ES5、6 指导规范.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/基础知识/ES5、6 指导规范.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./IIFE 立即执行函数表达式.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/基础知识/IIFE 立即执行函数表达式.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./JSDoc 初探:代码内的文档标记.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/技术实践/JSDoc 初探:代码内的文档标记.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./JS垃圾回收机制.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/基础知识/JS垃圾回收机制.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./JavaScript 如何跳出(终止)forEach 循环.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/技术实践/JavaScript 如何跳出(终止)forEach 循环.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./JavaScript 进阶整合.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/基础知识/JavaScript 进阶整合.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./JavaScript 错误处理指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/技术实践/JavaScript 错误处理指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./JavaScript优雅写法及骚操作.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/技术实践/JavaScript优雅写法及骚操作.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./PromiseA 集合.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/PromiseA 集合.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Property原型链与原型链.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/Property原型链与原型链.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Set,Map 和 Array的区别.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/Set,Map 和 Array的区别.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./js中==与===的区别.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/基础知识/js中==与===的区别.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./深入解析call、apply、bind.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/深入解析call、apply、bind.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./正则表达式卷起来!.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/正则表达式卷起来!.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./玩转一行代码KO问题.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/玩转一行代码KO问题.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./JavaScript 获取用户操作系统信息及浏览器信息.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/技术实践/JavaScript 获取用户操作系统信息及浏览器信息.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./LocalStorage、sessionStorage 封装 - 基于TypeScript.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/技术实践/LocalStorage、sessionStorage 封装 - 基于TypeScript.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Web Worker 常见使用问题和解决方案.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/Web Woker 常见使用问题和解决方案.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Web Worker 与主线程通信场景下对postMessage的简洁封装.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/Web Woker 与主线程通信场景下对postMessage的简洁封装.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./WebAudio/Tone.js 框架食用指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/WebAudio/Tone.js 框架食用指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./WebAudio/Web Audio 滤波器Filter.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/WebAudio/Web Audio 滤波器Filter.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./WebPerf Snippets —— 直接可以在浏览器控制台中获取网页性能指标的代码片段.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/WebPerf Snippets —— 直接可以在浏览器控制台中获取网页性能指标的代码片段.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./axios、XHR、XML、AJAX和Fetch分不清怎么办?.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/技术实践/axios、XHR、XML、AJAX和Fetch分不清怎么办?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./了解MutationObserver的使用以及在Vue3中的使用案例.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/了解MutationObserver的使用以及在Vue3中的使用案例.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./事件循环是如何影响页面渲染的?.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/事件循环是如何影响页面渲染的?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./前端 SSO 单点登入方案.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/前端 SSO 单点登入方案.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./前端通过 canvas 实现图片裁剪.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./如何使用Performance API 来衡量应用性能?.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/如何使用Performance API 来衡量应用性能?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./怎么总有人混淆Service Worker 和 Web Worker?.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/怎么总有人混淆Service Worker 和 Web Worker?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./来认识一下实用的、好用的:URL API.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/来认识一下实用的、好用的:URL API.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./浏览器中如何通过webgl获取渲染器的供应商和版本信息?.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/浏览器中如何通过webgl获取渲染器的供应商和版本信息?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./页面生命周期:DOMContentLoaded, load, beforeunload, unload.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/页面生命周期.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./前端模块:CJS, AMD, UMD, ESM, System 和 IIFE.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/前端模块分类.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./为什么每个人都在谈论同构JavaScript 以及为什么它很重要.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/为什么每个人都在谈论同构JavaScript 以及为什么它很重要.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./构建工具应该包含哪些能力?.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/构建工具应该包含哪些能力?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./使用Node.js、Express.js、TS写个简单的图床脚本(一).md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/使用Node.js、Express.js、TS写个简单的图床脚本(一).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./使用Node.js、pm2和ssh2模块实现一个简单的Node.js项目部署脚本.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/使用Node.js、pm2和ssh2模块实现一个简单的Node.js项目部署脚本.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./库/ESLint.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/ESLint.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./库/Prettier.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/Prettier.md",
+ "method": "unique-normalized-title"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./库/Puppeteer 使用指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/Puppeteer 使用指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./库/Quill富文本编辑器使用 - 高度自定义现代 Web 富文本编辑器.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/库/Quill富文本编辑器使用 - 高度自定义现代 Web 富文本编辑器.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./库/enquirer 使用指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/enquirer 指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./库/inquirer 使用指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/inquirer 使用指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./库/yargs 使用指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/库/yargs 使用指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/JavaScript 数组去重.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 数组去重.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/JavaScript 输出判断.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 输出判断.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/JavaScript 面试题汇总(上).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 面试题汇总(上).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/JavaScript 面试题汇总(下).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 面试题汇总(下).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/JavaScript 高频手撕.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript 高频手撕.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/JavaScript高频手撕.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/JavaScript高频手撕.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/小滴课堂JS题目汇总.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/JavaScript/小滴课堂JS题目汇总.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "../TypeScript/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "../Node/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "../Browser/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/索引.md",
+ "kind": "markdown",
+ "originalHref": "../浏览器工作原理/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "浏览器工作原理/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/Web Worker 常见使用问题和解决方案.md",
+ "kind": "wiki",
+ "originalHref": "Web Worker 与主线程通信场景下对postMessage的简洁封装",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/Web Woker 与主线程通信场景下对postMessage的简洁封装.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "JavaScript/Web Worker 与主线程通信场景下对postMessage的简洁封装.md",
+ "kind": "wiki",
+ "originalHref": "Web Worker 常见使用问题和解决方案",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/Web Woker 常见使用问题和解决方案.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Node 笔记(1)内核引擎.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/Node 笔记(1)内核引擎.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Node 笔记(2)模块化.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/Node 笔记(2)模块化.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Node 笔记(3)Node常用内置模块.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/Node 笔记(3)Node常用内置模块.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./NPM/NPM 包管理.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/NPM/NPM 包管理.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./为什么是 pnpm?我们为何使用monorepo?.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/为什么是 pnpm?我们为何使用monorepo?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./npm包打补丁 — patch-package.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/npm包打补丁 — patch-package.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Node 笔记(9)深入事件循环.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/Node 笔记(9)深入事件循环.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./事件循环/(一)可视化理解 Node.js 事件循环的完整指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/(一)可视化理解 Node.js 事件循环的完整指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Node.js 文件系统指南.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Node.js 子进程管理和进程通信.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/Node.js 子进程管理和进程通信.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./lib/jsdom.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/lib/jsdom.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./CJS 和 ES Module 横向对比.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/CJS 和 ES Module 横向对比.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./横向对比 CJS 和 ES Module.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/横向对比 CJS 和 ES Module.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Node 笔记(1)内核引擎.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/Node 笔记(1)内核引擎.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Node 笔记(2)模块化.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/Node 笔记(2)模块化.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Node 笔记(3)Node常用内置模块.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/Node 笔记(3)Node常用内置模块.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Node 笔记(4)包管理工具.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/Node 笔记(4)包管理工具.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Node 笔记(5)开发脚手架工具.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/Node 笔记(5)开发脚手架工具.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Node 笔记(6)Stream.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/Node 笔记(6)Stream.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Node 笔记(7)Buffer的使用.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/Node 笔记(7)Buffer的使用.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Node 笔记(8)Http模块.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/Node 笔记(8)Http模块.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Node 笔记(9)深入事件循环.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/Node 笔记(9)深入事件循环.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./静态根:具有编译时常量地址的对象.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/静态根:具有编译时常量地址的对象.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./CORS 跨域及其 Nodejs 服务端配置实践.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/CORS 跨域及其 Nodejs 服务端配置实践.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Node.js 子进程管理和进程通信.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/Node.js 子进程管理和进程通信.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Node.js 文件系统指南.md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Node.js 进程通信.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/Node.js 进程通信.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./PM2 使用指南~.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/PM2 使用指南~.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./http-server 和 live-server.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/http-server 和 live-server.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./使用Node.js 实现网络代理(无框架,通过http-proxy).md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/使用Node.js 实现网络代理(无框架,通过http-proxy).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./深入探索 Node.js 中的事件处理.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/深入探索 Node.js 中的事件处理.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./NPM/NPM 包管理.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/NPM/NPM 包管理.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./NPM/NPM 源设置和管理方法.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/NPM/NPM 源设置和管理方法.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./NPM/深入了解npmrc:使用与配置指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/NPM/深入了解npmrc:使用与配置指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./NPM/版本语义化.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/NPM/版本语义化.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Yarn 4.0发布:性能提升,提供更多命令和功能.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/Yarn 4.0发布:性能提升,提供更多命令和功能.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./npm包打补丁 — patch-package.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/npm包打补丁 — patch-package.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./为什么是 pnpm?我们为何使用monorepo?.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/为什么是 pnpm?我们为何使用monorepo?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./lib/jsdom.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/lib/jsdom.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./lib/nodemailer:让Node.js 脚本帮你收发邮件.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/nodemailer:让Node.js 脚本帮你收发邮件.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./lib/利用Node.js脚本提取你的OPML文件信息.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/lib/利用Node.js脚本提取你的OPML文件信息.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./lib/解析XML数据:使用xml2js库轻松进行XML解析.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/lib/解析XML数据:使用xml2js库轻松进行XML解析.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./咱们来整一个Node.js脚本,使用ffmpeg将视频转换为GIF文件.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/咱们来整一个Node.js脚本,使用ffmpeg将视频转换为GIF文件.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./图片格式转换:将上传图片转为webp.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/图片格式转换:将上传图片转为webp.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./优化事件处理逻辑:使用WeakSet跟踪事件处理状态.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/优化事件处理逻辑:使用WeakSet跟踪事件处理状态.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./事件循环/(一)可视化理解 Node.js 事件循环的完整指南.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/(一)可视化理解 Node.js 事件循环的完整指南.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./事件循环/(二)在 Node.js 事件循环中可视化 nextTick 和 Promise 队列.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/(二)在 Node.js 事件循环中可视化 nextTick 和 Promise 队列.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./事件循环/(三)Node.js中的定时器队列可视化.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/(三)Node.js中的定时器队列可视化.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./事件循环/(四)Node.js事件循环中的IO队列可视化.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/(四)Node.js事件循环中的IO队列可视化.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./事件循环/(五)在 Node.js 事件循环中可视化 IO 轮询.md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/笔记/(五)在 Node.js 事件循环中可视化 IO 轮询.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./事件循环/(六).md",
+ "action": "rewritten",
+ "targetRelativePath": "Node/事件循环/(六).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "./事件循环/(七).md",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "Node/索引.md",
+ "kind": "markdown",
+ "originalHref": "../计算机网络/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机网络/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./React基础.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React基础.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./React 中使用 TypeScript.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React 中使用 TypeScript.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./ReactRouter V6 解析.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/ReactRouter V6 解析.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./React Hooks笔记/React Hooks 基础.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React Hooks笔记/React Hooks 基础.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./React Hooks笔记/内置 Hooks(1):如何保存组件状态和使用生命周期?.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React Hooks笔记/内置 Hooks(1):如何保存组件状态和使用生命周期?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./React Hooks笔记/自定义 Hooks.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React Hooks笔记/自定义 Hooks.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./React 项目优化.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React 项目优化.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Mobx 教程.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/Mobx 教程.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Dva/dva 数据获取和处理.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/Dva/dva 数据获取和处理.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./源码学习/React 理念.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/源码学习/React 理念.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./源码学习/React 架构.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/源码学习/React 架构.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./源码学习/React 中的 Fiber(纤程)及其工作原理.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/源码学习/React 中的 Fiber(纤程)及其工作原理.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/React 面试.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/React/React 面试.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/React 面试题(一).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/React/React 面试题(一).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/React 面试题(二).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/React/React 面试题(二).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./React基础.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React基础.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./React 中使用 TypeScript.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React 中使用 TypeScript.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./React 项目优化.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React 项目优化.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./ReactHooks汇总.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React Hooks笔记/ReactHooks汇总.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./ReactRouter V6 解析.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/ReactRouter V6 解析.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./eslint-plugin-react 配置.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/eslint-plugin-react 配置.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./useReducer:类Redux的useState替代方案.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/useReducer:类Redux的useState替代方案.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./从零开始实现RSC - 第 1 部分:Server Component.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/从零开始实现RSC - 第 1 部分:Server Component.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./高级 React 组件组合.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/高级 React 组件组合.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./容器内选择单一列表并进行高亮切换的实践.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/容器内选择单一列表并进行高亮切换的实践.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./执行和清除Effect的时机.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/执行和清除Effect的时机.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./React Hooks笔记/React Hooks 基础.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React Hooks笔记/React Hooks 基础.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./React Hooks笔记/React 实现按需加载.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React Hooks笔记/React 实现按需加载.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./React Hooks笔记/Hooks 实战篇.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React Hooks笔记/Hooks 实战篇.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./React Hooks笔记/Hooks :如何正确理解函数组件的生命周期?.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React Hooks笔记/Hooks :如何正确理解函数组件的生命周期?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./React Hooks笔记/Hooks(2):避免重复定义回调函数.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React Hooks笔记/Hooks(2):避免重复定义回调函数.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./React Hooks笔记/内置 Hooks(1):如何保存组件状态和使用生命周期?.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React Hooks笔记/内置 Hooks(1):如何保存组件状态和使用生命周期?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./React Hooks笔记/函数组件设计模式.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React Hooks笔记/函数组件设计模式.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./React Hooks笔记/在函数组件中使用 Redux.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React Hooks笔记/在函数组件中使用 Redux.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./React Hooks笔记/如何展示对话框,并给对话框传递参数?.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React Hooks笔记/如何展示对话框,并给对话框传递参数?.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./React Hooks笔记/自定义 Hooks.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React Hooks笔记/自定义 Hooks.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./React Hooks笔记/自定义事件.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React Hooks笔记/自定义事件.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./React Hooks笔记/路由管理.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React Hooks笔记/路由管理.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Mobx 教程.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/Mobx 教程.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Dva/dva 数据获取和处理.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/Dva/dva 数据获取和处理.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./umi框架/UmiJS 乌米学习实战.md",
+ "action": "rewritten",
+ "targetRelativePath": "元框架/Umi/UmiJS 乌米学习实战.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Antd 组件库/Antd Pro 新手上路基础知识.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/Antd 组件库/Antd Pro 新手上路基础知识.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Antd 组件库/Antd 表单基础使用.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/Antd 组件库/Antd 表单基础使用.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./React Native/React Native 基础.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/React Native/React Native 基础.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./源码学习/React 理念.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/源码学习/React 理念.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./源码学习/React 架构.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/源码学习/React 架构.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./源码学习/React 源码文件结构.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/源码学习/React 源码文件结构.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./源码学习/React 中的 Fiber(纤程)及其工作原理.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/源码学习/React 中的 Fiber(纤程)及其工作原理.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./源码学习/React 状态更新.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/源码学习/React 状态更新.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./源码学习/Hooks 解析.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/源码学习/Hooks 解析.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./源码学习/深入理解JSX.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/源码学习/深入理解JSX.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./源码学习/render 阶段流程.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/源码学习/render 阶段流程.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./源码学习/commit 阶段流程.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/源码学习/commit 阶段流程.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./源码学习/structure.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/源码学习/structure.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/React 面试.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/React/React 面试.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/React 面试题(一).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/React/React 面试题(一).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/React 面试题(二).md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/React/React 面试题(二).md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "../TypeScript/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "TypeScript/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/索引.md",
+ "kind": "markdown",
+ "originalHref": "../CSS/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "CSS/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/索引.md",
+ "kind": "markdown",
+ "originalHref": "./CORB 策略.md",
+ "action": "rewritten",
+ "targetRelativePath": "浏览器原理/CORB 策略.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/索引.md",
+ "kind": "markdown",
+ "originalHref": "./CORB 应对策略.md",
+ "action": "rewritten",
+ "targetRelativePath": "浏览器原理/CORB 应对策略.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/索引.md",
+ "kind": "markdown",
+ "originalHref": "./深入理解内容安全策略(CSP):保障网页安全的利器.md",
+ "action": "rewritten",
+ "targetRelativePath": "浏览器工作原理/深入理解内容安全策略(CSP):保障网页安全的利器.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Web Components 中使用生命周期回调函数.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/Web Components 中使用生命周期回调函数.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Web浏览器滚动方案一览| rAF等.md",
+ "action": "rewritten",
+ "targetRelativePath": "浏览器工作原理/Web浏览器滚动方案一览| rAF等.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Chrome浏览器插件(扩展)- Manifest V3 插件开发规范简介.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/Chrome浏览器插件(扩展)- Manifest V3 插件开发规范简介.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/浏览器原理面试题汇总.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/浏览器原理/浏览器原理面试题汇总.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/前端性能优化篇.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/浏览器原理/前端性能优化篇.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/索引.md",
+ "kind": "markdown",
+ "originalHref": "./CORB 策略.md",
+ "action": "rewritten",
+ "targetRelativePath": "浏览器原理/CORB 策略.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/索引.md",
+ "kind": "markdown",
+ "originalHref": "./CORB 应对策略.md",
+ "action": "rewritten",
+ "targetRelativePath": "浏览器原理/CORB 应对策略.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/索引.md",
+ "kind": "markdown",
+ "originalHref": "./CORB 兼容性和影响.md",
+ "action": "rewritten",
+ "targetRelativePath": "浏览器原理/CORB 兼容性和影响.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Chrome浏览器插件(扩展)- Manifest V3 插件开发规范简介.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/Chrome浏览器插件(扩展)- Manifest V3 插件开发规范简介.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Web Components 中使用生命周期回调函数.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/Web Components 中使用生命周期回调函数.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/索引.md",
+ "kind": "markdown",
+ "originalHref": "./Web浏览器滚动方案一览| rAF等.md",
+ "action": "rewritten",
+ "targetRelativePath": "浏览器工作原理/Web浏览器滚动方案一览| rAF等.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/索引.md",
+ "kind": "markdown",
+ "originalHref": "./深入理解内容安全策略(CSP):保障网页安全的利器.md",
+ "action": "rewritten",
+ "targetRelativePath": "浏览器工作原理/深入理解内容安全策略(CSP):保障网页安全的利器.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/前端性能优化篇.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/浏览器原理/前端性能优化篇.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/索引.md",
+ "kind": "markdown",
+ "originalHref": "./面试题/浏览器原理面试题汇总.md",
+ "action": "rewritten",
+ "targetRelativePath": "八股文/浏览器原理/浏览器原理面试题汇总.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/索引.md",
+ "kind": "markdown",
+ "originalHref": "../Browser/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/索引.md",
+ "kind": "markdown",
+ "originalHref": "../JavaScript/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "JavaScript/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/索引.md",
+ "kind": "markdown",
+ "originalHref": "../计算机网络/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "计算机网络/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "浏览器工作原理/索引.md",
+ "kind": "markdown",
+ "originalHref": "../Browser/索引.md",
+ "action": "rewritten",
+ "targetRelativePath": "Browser/索引.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "React/面试题/React 面试题(二).md",
+ "kind": "markdown",
+ "originalHref": "执行和清除Effect的时机.md",
+ "action": "rewritten",
+ "targetRelativePath": "React/执行和清除Effect的时机.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/07-exists-vs-in.md",
+ "kind": "markdown",
+ "originalHref": "../063-exists-vs-in.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/063-exists-vs-in.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/26-redo-log.md",
+ "kind": "markdown",
+ "originalHref": "../022-mysql-logs-binlog-redo-undo.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/022-mysql-logs-binlog-redo-undo.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/26-redo-log.md",
+ "kind": "markdown",
+ "originalHref": "../064-write-ahead-logging.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/064-write-ahead-logging.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/35-isolation-levels.md",
+ "kind": "markdown",
+ "originalHref": "../028-transaction-isolation-levels.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/028-transaction-isolation-levels.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/35-isolation-levels.md",
+ "kind": "markdown",
+ "originalHref": "../030-dirty-nonrepeatable-phantom-read.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/030-dirty-nonrepeatable-phantom-read.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/39-slow-sql.md",
+ "kind": "markdown",
+ "originalHref": "../049-slow-sql-monitoring-optimization.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/049-slow-sql-monitoring-optimization.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/39-slow-sql.md",
+ "kind": "markdown",
+ "originalHref": "../034-explain-query-analysis.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/034-explain-query-analysis.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/39-slow-sql.md",
+ "kind": "markdown",
+ "originalHref": "../../场景面试题/23-mysql-slow-sql.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/23-mysql-slow-sql.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/01-sharding-when.md",
+ "kind": "markdown",
+ "originalHref": "../001-database-sharding.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/001-database-sharding.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/01-sharding-when.md",
+ "kind": "markdown",
+ "originalHref": "../043-sharding-implementation-process.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/043-sharding-implementation-process.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/25-binlog.md",
+ "kind": "markdown",
+ "originalHref": "../022-mysql-logs-binlog-redo-undo.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/022-mysql-logs-binlog-redo-undo.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/25-binlog.md",
+ "kind": "markdown",
+ "originalHref": "../041-replication.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/041-replication.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/33-mvcc.md",
+ "kind": "markdown",
+ "originalHref": "../025-mvcc.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/025-mvcc.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/28-binlog-redo-two-phase.md",
+ "kind": "markdown",
+ "originalHref": "../072-innodb-binlog-two-phase-commit.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/072-innodb-binlog-two-phase-commit.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/28-binlog-redo-two-phase.md",
+ "kind": "markdown",
+ "originalHref": "../022-mysql-logs-binlog-redo-undo.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/022-mysql-logs-binlog-redo-undo.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/29-mysql-log-flush.md",
+ "kind": "markdown",
+ "originalHref": "../047-log-buffer.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/047-log-buffer.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/29-mysql-log-flush.md",
+ "kind": "markdown",
+ "originalHref": "../072-innodb-binlog-two-phase-commit.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/072-innodb-binlog-two-phase-commit.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/18-index-not-used-explain.md",
+ "kind": "markdown",
+ "originalHref": "../018-index-effect-troubleshooting.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/018-index-effect-troubleshooting.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/18-index-not-used-explain.md",
+ "kind": "markdown",
+ "originalHref": "../034-explain-query-analysis.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/034-explain-query-analysis.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/36-mysql-lock-types.md",
+ "kind": "markdown",
+ "originalHref": "../031-lock-types.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/031-lock-types.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/31-transaction-acid.md",
+ "kind": "markdown",
+ "originalHref": "../023-mysql-transaction-implementation.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/023-mysql-transaction-implementation.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/10-storage-engines.md",
+ "kind": "markdown",
+ "originalHref": "../011-storage-engines.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/011-storage-engines.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/15-varchar-space.md",
+ "kind": "markdown",
+ "originalHref": "../037-varchar-vs-char.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/037-varchar-vs-char.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/15-varchar-space.md",
+ "kind": "markdown",
+ "originalHref": "../061-varchar-length-difference.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/061-varchar-length-difference.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/09-mysql-cache-vs-redis.md",
+ "kind": "markdown",
+ "originalHref": "../045-buffer-pool-read-path.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/045-buffer-pool-read-path.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/08-query-execution-optimizer.md",
+ "kind": "markdown",
+ "originalHref": "../005-sql-execution-process.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/005-sql-execution-process.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/08-query-execution-optimizer.md",
+ "kind": "markdown",
+ "originalHref": "../069-query-optimizer-plan-selection.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/069-query-optimizer-plan-selection.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/19-covering-index-icp.md",
+ "kind": "markdown",
+ "originalHref": "../015-covering-index.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/015-covering-index.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/19-covering-index-icp.md",
+ "kind": "markdown",
+ "originalHref": "../016-index-condition-pushdown.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/016-index-condition-pushdown.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/11-mysql-constraints.md",
+ "kind": "markdown",
+ "originalHref": "../074-table-design-checklist.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/074-table-design-checklist.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/11-mysql-constraints.md",
+ "kind": "markdown",
+ "originalHref": "../071-logical-vs-physical-foreign-key.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/071-logical-vs-physical-foreign-key.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/03-normalization.md",
+ "kind": "markdown",
+ "originalHref": "../003-normalization-denormalization.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/003-normalization-denormalization.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/21-leftmost-prefix.md",
+ "kind": "markdown",
+ "originalHref": "../014-leftmost-prefix-rule.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/014-leftmost-prefix-rule.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/05-count-usage.md",
+ "kind": "markdown",
+ "originalHref": "../035-count-differences.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/035-count-differences.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/16-where-vs-having.md",
+ "kind": "markdown",
+ "originalHref": "../076-sql-logical-execution-order.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/076-sql-logical-execution-order.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "01-sharding-when.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/01-sharding-when.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "02-join-on-where.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/02-join-on-where.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "03-normalization.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/03-normalization.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "04-char-varchar.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/04-char-varchar.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "05-count-usage.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/05-count-usage.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "06-delete-drop-truncate.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/06-delete-drop-truncate.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "07-exists-vs-in.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/07-exists-vs-in.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "08-query-execution-optimizer.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/08-query-execution-optimizer.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "09-mysql-cache-vs-redis.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/09-mysql-cache-vs-redis.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "10-storage-engines.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/10-storage-engines.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "11-mysql-constraints.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/11-mysql-constraints.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "12-null-semantics.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/12-null-semantics.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "13-sql-vs-nosql.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/13-sql-vs-nosql.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "14-union-vs-union-all.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/14-union-vs-union-all.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "15-varchar-space.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/15-varchar-space.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "16-where-vs-having.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/16-where-vs-having.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "17-pagination-sort-like-index.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/17-pagination-sort-like-index.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "18-index-not-used-explain.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/18-index-not-used-explain.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "19-covering-index-icp.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/19-covering-index-icp.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "20-bplus-index.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/20-bplus-index.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "21-leftmost-prefix.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/21-leftmost-prefix.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "22-index-maintenance-cost.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/22-index-maintenance-cost.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "23-mysql-index-types.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/23-mysql-index-types.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "24-mysql-log-retention.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/24-mysql-log-retention.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "25-binlog.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/25-binlog.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "26-redo-log.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/26-redo-log.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "27-undo-log.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/27-undo-log.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "28-binlog-redo-two-phase.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/28-binlog-redo-two-phase.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "29-mysql-log-flush.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/29-mysql-log-flush.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "30-optimistic-pessimistic-lock.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/30-optimistic-pessimistic-lock.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "31-transaction-acid.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/31-transaction-acid.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "32-deadlock.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/32-deadlock.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "33-mvcc.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/33-mvcc.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "34-gap-next-key-locks.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/34-gap-next-key-locks.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "35-isolation-levels.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/35-isolation-levels.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "36-mysql-lock-types.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/36-mysql-lock-types.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "37-read-write-splitting.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/37-read-write-splitting.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "38-sharding-aftereffects.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/38-sharding-aftereffects.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "39-slow-sql.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/39-slow-sql.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "40-mysql-monitoring.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/40-mysql-monitoring.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "41-deep-pagination.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/41-deep-pagination.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "42-replication-process.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/42-replication-process.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "43-mysql-config-tuning.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/43-mysql-config-tuning.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "44-replication-lag.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/44-replication-lag.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/README.md",
+ "kind": "markdown",
+ "originalHref": "45-primary-failover.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/45-primary-failover.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/30-optimistic-pessimistic-lock.md",
+ "kind": "markdown",
+ "originalHref": "../032-optimistic-pessimistic-lock.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/032-optimistic-pessimistic-lock.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/44-replication-lag.md",
+ "kind": "markdown",
+ "originalHref": "../042-replication-lag.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/042-replication-lag.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/44-replication-lag.md",
+ "kind": "markdown",
+ "originalHref": "../../场景面试题/27-mysql-replication-lag.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/27-mysql-replication-lag.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/37-read-write-splitting.md",
+ "kind": "markdown",
+ "originalHref": "../040-read-write-splitting.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/040-read-write-splitting.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/43-mysql-config-tuning.md",
+ "kind": "markdown",
+ "originalHref": "../068-mysql-performance-optimization.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/068-mysql-performance-optimization.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/43-mysql-config-tuning.md",
+ "kind": "markdown",
+ "originalHref": "../../场景面试题/26-mysql-configuration-tuning.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/26-mysql-configuration-tuning.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/04-char-varchar.md",
+ "kind": "markdown",
+ "originalHref": "../037-varchar-vs-char.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/037-varchar-vs-char.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/04-char-varchar.md",
+ "kind": "markdown",
+ "originalHref": "../061-varchar-length-difference.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/061-varchar-length-difference.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/41-deep-pagination.md",
+ "kind": "markdown",
+ "originalHref": "../010-cursor-pagination.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/010-cursor-pagination.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/41-deep-pagination.md",
+ "kind": "markdown",
+ "originalHref": "../051-limit-offset-performance.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/051-limit-offset-performance.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/41-deep-pagination.md",
+ "kind": "markdown",
+ "originalHref": "../../场景面试题/25-mysql-deep-pagination.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/25-mysql-deep-pagination.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/06-delete-drop-truncate.md",
+ "kind": "markdown",
+ "originalHref": "../050-delete-drop-truncate.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/050-delete-drop-truncate.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/23-mysql-index-types.md",
+ "kind": "markdown",
+ "originalHref": "../006-mysql-index-types.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/006-mysql-index-types.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/23-mysql-index-types.md",
+ "kind": "markdown",
+ "originalHref": "../017-index-design-notes.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/017-index-design-notes.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/32-deadlock.md",
+ "kind": "markdown",
+ "originalHref": "../033-deadlock-handling.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/033-deadlock-handling.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/38-sharding-aftereffects.md",
+ "kind": "markdown",
+ "originalHref": "../044-sharding-problems.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/044-sharding-problems.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/40-mysql-monitoring.md",
+ "kind": "markdown",
+ "originalHref": "../068-mysql-performance-optimization.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/068-mysql-performance-optimization.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/40-mysql-monitoring.md",
+ "kind": "markdown",
+ "originalHref": "../../场景面试题/24-mysql-monitoring.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/24-mysql-monitoring.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/24-mysql-log-retention.md",
+ "kind": "markdown",
+ "originalHref": "../022-mysql-logs-binlog-redo-undo.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/022-mysql-logs-binlog-redo-undo.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/02-join-on-where.md",
+ "kind": "markdown",
+ "originalHref": "../002-sql-join-on-where.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/002-sql-join-on-where.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/27-undo-log.md",
+ "kind": "markdown",
+ "originalHref": "../022-mysql-logs-binlog-redo-undo.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/022-mysql-logs-binlog-redo-undo.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/27-undo-log.md",
+ "kind": "markdown",
+ "originalHref": "../025-mvcc.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/025-mvcc.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/22-index-maintenance-cost.md",
+ "kind": "markdown",
+ "originalHref": "../019-too-many-indexes.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/019-too-many-indexes.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/22-index-maintenance-cost.md",
+ "kind": "markdown",
+ "originalHref": "../018-index-effect-troubleshooting.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/018-index-effect-troubleshooting.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/34-gap-next-key-locks.md",
+ "kind": "markdown",
+ "originalHref": "../031-lock-types.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/031-lock-types.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/34-gap-next-key-locks.md",
+ "kind": "markdown",
+ "originalHref": "../030-dirty-nonrepeatable-phantom-read.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/030-dirty-nonrepeatable-phantom-read.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/45-primary-failover.md",
+ "kind": "markdown",
+ "originalHref": "../039-avoid-single-point-failure.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/039-avoid-single-point-failure.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/45-primary-failover.md",
+ "kind": "markdown",
+ "originalHref": "../../场景面试题/28-mysql-primary-failover.md",
+ "action": "rewritten",
+ "targetRelativePath": "场景面试题/28-mysql-primary-failover.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/20-bplus-index.md",
+ "kind": "markdown",
+ "originalHref": "../020-bplus-tree-query-process.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/020-bplus-tree-query-process.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/20-bplus-index.md",
+ "kind": "markdown",
+ "originalHref": "../021-why-bplus-tree-index.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/021-why-bplus-tree-index.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/42-replication-process.md",
+ "kind": "markdown",
+ "originalHref": "../041-replication.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/041-replication.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/42-replication-process.md",
+ "kind": "markdown",
+ "originalHref": "44-replication-lag.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/44-replication-lag.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/42-replication-process.md",
+ "kind": "markdown",
+ "originalHref": "45-primary-failover.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/面试题/45-primary-failover.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/17-pagination-sort-like-index.md",
+ "kind": "markdown",
+ "originalHref": "../004-mysql-order-by-sorting.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/004-mysql-order-by-sorting.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/17-pagination-sort-like-index.md",
+ "kind": "markdown",
+ "originalHref": "../010-cursor-pagination.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/010-cursor-pagination.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "MySQL/面试题/17-pagination-sort-like-index.md",
+ "kind": "markdown",
+ "originalHref": "../017-index-design-notes.md",
+ "action": "rewritten",
+ "targetRelativePath": "MySQL/017-index-design-notes.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "产品/小红书/第3篇-设计资源速查手册.md",
+ "kind": "markdown",
+ "originalHref": "链接",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "产品/小红书/第3篇-设计资源速查手册.md",
+ "kind": "markdown",
+ "originalHref": "链接",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "产品/小红书/第4篇-行业黑话速成指南.md",
+ "kind": "markdown",
+ "originalHref": "链接",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "产品/小红书/第4篇-行业黑话速成指南.md",
+ "kind": "markdown",
+ "originalHref": "链接",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "产品/小红书/第4篇-行业黑话速成指南.md",
+ "kind": "markdown",
+ "originalHref": "链接",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "产品/小红书/第2篇-数据资源网站大全.md",
+ "kind": "markdown",
+ "originalHref": "链接",
+ "action": "unresolved-to-text"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "01-rag-multihop-qa.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/01-rag-multihop-qa.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "参考社区项目.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/参考社区项目.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "题目模板.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/题目模板.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "../AI应用开发面试题.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI应用开发面试题.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "17-knowledge-engineering-vs-kg.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/17-knowledge-engineering-vs-kg.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "06-knowledge-graph-basics.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/06-knowledge-graph-basics.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "12-knowledge-fusion.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/12-knowledge-fusion.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "28-multilingual-knowledge-base.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/28-multilingual-knowledge-base.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "23-ner-bio.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/23-ner-bio.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "09-crf-vs-bert-ner.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/09-crf-vs-bert-ner.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "27-relation-extraction.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/27-relation-extraction.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "24-event-extraction.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/24-event-extraction.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "10-distant-supervision.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/10-distant-supervision.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "32-pipeline-vs-joint-extraction.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/32-pipeline-vs-joint-extraction.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "31-entity-linking.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/31-entity-linking.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "20-entity-disambiguation.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/20-entity-disambiguation.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "14-transe-distmult-complex.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/14-transe-distmult-complex.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "08-knowledge-graph-completion.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/08-knowledge-graph-completion.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "30-knowledge-graph-reasoning.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/30-knowledge-graph-reasoning.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "05-knowledge-graph-llm-rag.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/05-knowledge-graph-llm-rag.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "13-graphrag.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/13-graphrag.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "15-rag-chunking-size.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/15-rag-chunking-size.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "26-semantic-chunking.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/26-semantic-chunking.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "04-rag-vector-incremental-updates.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/04-rag-vector-incremental-updates.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "19-embedding-model-selection.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/19-embedding-model-selection.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "03-multimodal-rag.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/03-multimodal-rag.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "29-hybrid-search.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/29-hybrid-search.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "25-hyde-retrieval.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/25-hyde-retrieval.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "21-rag-reranking.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/21-rag-reranking.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "16-context-compression.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/16-context-compression.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "01-rag-multihop-qa.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/01-rag-multihop-qa.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "02-self-rag.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/02-self-rag.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "11-rag-hallucination-citation.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/11-rag-hallucination-citation.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "07-dialogue-state-tracking.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/07-dialogue-state-tracking.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "18-rag-evaluation.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/18-rag-evaluation.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "22-rag-ground-truth.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/22-rag-ground-truth.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/README.md",
+ "kind": "markdown",
+ "originalHref": "题目模板.md",
+ "action": "rewritten",
+ "targetRelativePath": "AI应用开发/AI知识工程与RAG/题目模板.md",
+ "method": "path-or-reviewed-alias"
+ },
+ {
+ "sourceRelativePath": "AI应用开发/AI知识工程与RAG/01-rag-multihop-qa.md",
+ "kind": "image",
+ "originalHref": "assets/multihop-evidence-chain.svg",
+ "action": "asset-rewritten"
+ }
+ ]
+}
diff --git a/scripts/build-search.mjs b/scripts/build-search.mjs
new file mode 100644
index 000000000..cda31ec56
--- /dev/null
+++ b/scripts/build-search.mjs
@@ -0,0 +1,380 @@
+import assert from "node:assert/strict";
+import { createHash } from "node:crypto";
+import { mkdir, readFile, rm, writeFile } from "node:fs/promises";
+import { dirname, resolve, sep } from "node:path";
+import { pathToFileURL } from "node:url";
+import * as pagefind from "pagefind";
+import { buildSearchDictionary } from "../src/lib/search-dictionary.mjs";
+
+const normalizeBase = (value) => {
+ const parts = String(value || "/")
+ .split("/")
+ .filter(Boolean);
+ return parts.length ? `/${parts.join("/")}/` : "/";
+};
+const encodePath = (path) => path.split("/").map(encodeURIComponent).join("/");
+const hash = (content) => createHash("sha256").update(content).digest("hex");
+const escapeAttribute = (value) =>
+ String(value).replace(
+ /[&<>"']/g,
+ (character) =>
+ ({ "&": "&", "<": "<", ">": ">", '"': """, "'": "'" })[
+ character
+ ],
+ );
+
+function inside(directory, path) {
+ const candidate = resolve(directory, path);
+ assert.ok(
+ candidate !== directory && candidate.startsWith(`${directory}${sep}`),
+ `Search asset escapes its output directory: ${path}`,
+ );
+ return candidate;
+}
+
+function checkErrors(response, action) {
+ if (response.errors?.length)
+ throw new Error(`${action}: ${response.errors.join("; ")}`);
+ return response;
+}
+
+/** Enrich the rendered document in memory; metadata never becomes searchable body text. */
+export function prepareSearchHtml(html, article) {
+ assert.match(html, /<\/head>/i, `${article.id}: rendered HTML has no head.`);
+ assert.match(
+ html,
+ /\bdata-pagefind-body(?:\s|=|>)/i,
+ `${article.id}: rendered article is missing search body markers.`,
+ );
+ const meta = [
+ ["id", encodeURIComponent(article.id)],
+ ["title", article.title],
+ // Pagefind normalizes metadata whitespace; preserve filenames and fields exactly.
+ ["record", Buffer.from(JSON.stringify(article)).toString("base64url")],
+ ]
+ .map(
+ ([name, value]) =>
+ ``,
+ )
+ .join("");
+ const filters = [...new Set(article.categories)]
+ .map(
+ (category) =>
+ ``,
+ )
+ .join("");
+ const keywords = [article.description, ...(article.tags ?? [])]
+ .filter((value) => typeof value === "string" && value.trim())
+ .map(escapeAttribute)
+ .join(" ");
+ return html
+ .replace(/<\/head>/i, `${meta}${filters}`)
+ .replace(
+ /<\/body>(\s*<\/html>)/i,
+ `${keywords}