From 523e6d92e01bcbd6d930c3e59a3ff40961c2572c Mon Sep 17 00:00:00 2001
From: kakachake <282281884@qq.com>
Date: Wed, 11 Jan 2023 21:47:38 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E5=BC=80=E5=8F=91=E7=83=AD=E6=9B=B4?=
=?UTF-8?q?=E6=96=B0=20&=20=E5=A4=9A=E8=B7=AF=E7=94=B1=E6=89=93=E5=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.eslintrc.cjs | 2 +
.prettierignore | 1 -
.prettierrc | 3 +-
docs/b.tsx | 7 +
docs/config.ts | 10 +
docs/counter.tsx | 16 +
docs/guide/a.tsx | 7 +
docs/guide/index.tsx | 7 +
docs/index.md | 1 -
docs/index.mdx | 22 +
docs/tsconfig.json | 5 +
package.json | 29 +-
pnpm-lock.yaml | 1709 ++++++++++++++++-
src/node/__test__/md.test.ts | 90 +
src/node/build.ts | 80 +-
src/node/cli.ts | 17 +-
src/node/config.ts | 83 +
src/node/dev.ts | 18 +-
src/node/index.ts | 1 +
src/node/plugin-island/config.ts | 52 +
src/node/plugin-island/indexHtml.ts | 1 -
src/node/plugin-mdx/index.ts | 6 +
src/node/plugin-mdx/pluginMdxHmr.ts | 34 +
src/node/plugin-mdx/pluginMdxRollup.ts | 46 +
.../plugin-mdx/rehypePlugins/preWrapper.ts | 54 +
src/node/plugin-mdx/rehypePlugins/shiki.ts | 33 +
src/node/plugin-mdx/remarkPlugins/toc.ts | 64 +
src/node/plugin-routes/RouteService.test.ts | 53 +
src/node/plugin-routes/RouteService.ts | 70 +
src/node/plugin-routes/fixtures/a.mdx | 0
.../plugin-routes/fixtures/guide/index.mdx | 0
src/node/plugin-routes/index.ts | 36 +
src/node/vitePlugins.ts | 23 +
src/runtime/Content.tsx | 7 +
src/runtime/client-entry.tsx | 9 +-
src/runtime/index.ts | 1 +
src/runtime/ssr-entry.tsx | 11 +-
src/shared/types/index.ts | 49 +
src/shared/types/types.d.ts | 10 +
src/theme-default/Layout/index.tsx | 9 +-
tsconfig.json | 9 +-
tsup.config.ts | 10 +-
42 files changed, 2571 insertions(+), 124 deletions(-)
create mode 100644 docs/b.tsx
create mode 100644 docs/config.ts
create mode 100644 docs/counter.tsx
create mode 100644 docs/guide/a.tsx
create mode 100644 docs/guide/index.tsx
delete mode 100644 docs/index.md
create mode 100644 docs/index.mdx
create mode 100644 docs/tsconfig.json
create mode 100644 src/node/__test__/md.test.ts
create mode 100644 src/node/config.ts
create mode 100644 src/node/index.ts
create mode 100644 src/node/plugin-island/config.ts
create mode 100644 src/node/plugin-mdx/index.ts
create mode 100644 src/node/plugin-mdx/pluginMdxHmr.ts
create mode 100644 src/node/plugin-mdx/pluginMdxRollup.ts
create mode 100644 src/node/plugin-mdx/rehypePlugins/preWrapper.ts
create mode 100644 src/node/plugin-mdx/rehypePlugins/shiki.ts
create mode 100644 src/node/plugin-mdx/remarkPlugins/toc.ts
create mode 100644 src/node/plugin-routes/RouteService.test.ts
create mode 100644 src/node/plugin-routes/RouteService.ts
create mode 100644 src/node/plugin-routes/fixtures/a.mdx
create mode 100644 src/node/plugin-routes/fixtures/guide/index.mdx
create mode 100644 src/node/plugin-routes/index.ts
create mode 100644 src/node/vitePlugins.ts
create mode 100644 src/runtime/Content.tsx
create mode 100644 src/runtime/index.ts
create mode 100644 src/shared/types/index.ts
create mode 100644 src/shared/types/types.d.ts
diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index f44be76..4c35429 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -3,6 +3,8 @@ module.exports = {
"eslint:recommended",
"plugin:react/recommended",
"plugin:@typescript-eslint/recommended",
+ 'prettier',
+ "plugin:prettier/recommended",
],
parser: "@typescript-eslint/parser",
parserOptions: {
diff --git a/.prettierignore b/.prettierignore
index 27c6f3c..384aa4d 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -5,4 +5,3 @@ pnpm-lock.yaml
dist
bin
esm-cjs
-docs
\ No newline at end of file
diff --git a/.prettierrc b/.prettierrc
index 1807e14..5f35112 100644
--- a/.prettierrc
+++ b/.prettierrc
@@ -2,5 +2,6 @@
"semi": true,
"singleQuote": true,
"printWidth": 80,
- "trailingComma": "none"
+ "trailingComma": "none",
+ "endOfLine": "auto"
}
diff --git a/docs/b.tsx b/docs/b.tsx
new file mode 100644
index 0000000..8e0c9c7
--- /dev/null
+++ b/docs/b.tsx
@@ -0,0 +1,7 @@
+const B = ()=>{
+ return
+
hello b
+
+}
+
+export default B
\ No newline at end of file
diff --git a/docs/config.ts b/docs/config.ts
new file mode 100644
index 0000000..4894eba
--- /dev/null
+++ b/docs/config.ts
@@ -0,0 +1,10 @@
+import {defineConfig} from '../dist'
+
+export default defineConfig({
+ title: "123",
+ description:"121152",
+ themeConfig:{
+ },
+ vite:{}
+})
+
diff --git a/docs/counter.tsx b/docs/counter.tsx
new file mode 100644
index 0000000..9624c10
--- /dev/null
+++ b/docs/counter.tsx
@@ -0,0 +1,16 @@
+import { useState } from 'react';
+
+export default function Counter() {
+ const [counter, setCounter] = useState(0);
+ return (
+
+ {
+ setCounter((v) => v + 1);
+ }}
+ >
+ 点击 {counter}
+
+
+ );
+}
diff --git a/docs/guide/a.tsx b/docs/guide/a.tsx
new file mode 100644
index 0000000..c848272
--- /dev/null
+++ b/docs/guide/a.tsx
@@ -0,0 +1,7 @@
+const A = ()=>{
+ return
+
hello a
+
+}
+
+export default A
\ No newline at end of file
diff --git a/docs/guide/index.tsx b/docs/guide/index.tsx
new file mode 100644
index 0000000..4ee928f
--- /dev/null
+++ b/docs/guide/index.tsx
@@ -0,0 +1,7 @@
+const Index = ()=>{
+ return
+
hello index!
+
+}
+
+export default Index
\ No newline at end of file
diff --git a/docs/index.md b/docs/index.md
deleted file mode 100644
index 52bd9f8..0000000
--- a/docs/index.md
+++ /dev/null
@@ -1 +0,0 @@
-# 123123
diff --git a/docs/index.mdx b/docs/index.mdx
new file mode 100644
index 0000000..32cecd5
--- /dev/null
+++ b/docs/index.mdx
@@ -0,0 +1,22 @@
+---
+title: 'island'
+---
+
+# 1231231
+
+import Counter from './counter.tsx';
+
+
+
+## GFM
+
+### Autolink
+
+literals www.example.com, https://example.com, and contact@example.com.
+
+111111
+
+```js
+const a = 1;
+console.log(a);
+```
diff --git a/docs/tsconfig.json b/docs/tsconfig.json
new file mode 100644
index 0000000..4756d93
--- /dev/null
+++ b/docs/tsconfig.json
@@ -0,0 +1,5 @@
+{
+ "compilerOptions": {
+ "jsx": "react-jsx"
+ }
+}
\ No newline at end of file
diff --git a/package.json b/package.json
index 11170a5..5827423 100644
--- a/package.json
+++ b/package.json
@@ -7,10 +7,10 @@
"lint": "eslint --fix --ext .ts,.tsx,.js,.jsx --quiet ./",
"dev": "tsup --watch",
"build": "tsup",
- "preview": "cd build && serve .",
+ "preview": "cd docs/build && serve .",
"prepare": "husky install",
"commit": "cz",
- "test:unit": "vitest --ui",
+ "test:unit": "vitest",
"prepare:e2e": "tsx scripts/prepare-e2e.ts",
"test:e2e": "playwright test"
},
@@ -25,6 +25,8 @@
"@commitlint/config-conventional": "^17.3.0",
"@playwright/test": "1.26.1",
"@types/fs-extra": "^9.0.13",
+ "@types/hast": "^2.3.4",
+ "@types/mdast": "^3.0.10",
"@types/node": "^18.11.7",
"@types/react": "^18.0.24",
"@types/react-dom": "^18.0.8",
@@ -41,23 +43,44 @@
"execa": "^6.1.0",
"husky": "^8.0.2",
"lint-staged": "^13.1.0",
+ "remark-mdx": "^2.2.1",
+ "remark-stringify": "^10.0.2",
"rollup": "^3.2.3",
"serve": "^14.0.1",
"tsup": "^6.5.0",
"tsx": "^3.12.1",
"typescript": "^4.8.4",
+ "unist-util-visit": "^4.1.1",
"vitest": "^0.25.3"
},
"dependencies": {
+ "@loadable/component": "^5.15.2",
+ "@mdx-js/rollup": "2.1.3",
"@vitejs/plugin-react": "^2.2.0",
+ "acorn": "^8.8.1",
"cac": "^6.7.14",
"eslint-config-prettier": "^8.5.0",
+ "fast-glob": "^3.2.12",
"fs-extra": "^10.1.0",
+ "github-slugger": "^2.0.0",
+ "hast-util-from-html": "^1.0.0",
+ "mdast-util-mdxjs-esm": "^1.3.0",
"ora": "^6.1.2",
"prettier": "^2.8.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
- "vite": "^3.2.1"
+ "react-router-dom": "6.4.3",
+ "rehype-autolink-headings": "^6.1.1",
+ "rehype-slug": "^5.1.0",
+ "rehype-stringify": "^9.0.3",
+ "remark-frontmatter": "^4.0.1",
+ "remark-gfm": "^3.0.1",
+ "remark-mdx-frontmatter": "^2.1.1",
+ "remark-parse": "^10.0.1",
+ "remark-rehype": "^10.1.0",
+ "shiki": "^0.12.1",
+ "unified": "^10.1.2",
+ "vite": "3.1.4"
},
"lint-staged": {
"**/*.{js,jsx,tsx,ts}": [
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 7749123..dfbb0df 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -3,8 +3,12 @@ lockfileVersion: 5.4
specifiers:
'@commitlint/cli': ^17.3.0
'@commitlint/config-conventional': ^17.3.0
+ '@loadable/component': ^5.15.2
+ '@mdx-js/rollup': 2.1.3
'@playwright/test': 1.26.1
'@types/fs-extra': ^9.0.13
+ '@types/hast': ^2.3.4
+ '@types/mdast': ^3.0.10
'@types/node': ^18.11.7
'@types/react': ^18.0.24
'@types/react-dom': ^18.0.8
@@ -12,6 +16,7 @@ specifiers:
'@typescript-eslint/parser': ^5.45.0
'@vitejs/plugin-react': ^2.2.0
'@vitest/ui': ^0.25.3
+ acorn: ^8.8.1
cac: ^6.7.14
commitizen: ^4.2.5
commitlint: ^17.3.0
@@ -22,37 +27,75 @@ specifiers:
eslint-plugin-react: ^7.31.11
eslint-plugin-react-hooks: ^4.6.0
execa: ^6.1.0
+ fast-glob: ^3.2.12
fs-extra: ^10.1.0
+ github-slugger: ^2.0.0
+ hast-util-from-html: ^1.0.0
husky: ^8.0.2
lint-staged: ^13.1.0
+ mdast-util-mdxjs-esm: ^1.3.0
ora: ^6.1.2
prettier: ^2.8.0
react: ^18.2.0
react-dom: ^18.2.0
+ react-router-dom: 6.4.3
+ rehype-autolink-headings: ^6.1.1
+ rehype-slug: ^5.1.0
+ rehype-stringify: ^9.0.3
+ remark-frontmatter: ^4.0.1
+ remark-gfm: ^3.0.1
+ remark-mdx: ^2.2.1
+ remark-mdx-frontmatter: ^2.1.1
+ remark-parse: ^10.0.1
+ remark-rehype: ^10.1.0
+ remark-stringify: ^10.0.2
rollup: ^3.2.3
serve: ^14.0.1
+ shiki: ^0.12.1
tsup: ^6.5.0
tsx: ^3.12.1
typescript: ^4.8.4
- vite: ^3.2.1
+ unified: ^10.1.2
+ unist-util-visit: ^4.1.1
+ vite: 3.1.4
vitest: ^0.25.3
dependencies:
- '@vitejs/plugin-react': registry.npmmirror.com/@vitejs/plugin-react/2.2.0_vite@3.2.1
+ '@loadable/component': registry.npmmirror.com/@loadable/component/5.15.2_react@18.2.0
+ '@mdx-js/rollup': registry.npmmirror.com/@mdx-js/rollup/2.1.3_rollup@3.2.3
+ '@vitejs/plugin-react': registry.npmmirror.com/@vitejs/plugin-react/2.2.0_vite@3.1.4
+ acorn: registry.npmmirror.com/acorn/8.8.1
cac: registry.npmmirror.com/cac/6.7.14
eslint-config-prettier: registry.npmmirror.com/eslint-config-prettier/8.5.0_eslint@8.29.0
+ fast-glob: registry.npmmirror.com/fast-glob/3.2.12
fs-extra: registry.npmmirror.com/fs-extra/10.1.0
+ github-slugger: registry.npmmirror.com/github-slugger/2.0.0
+ hast-util-from-html: registry.npmmirror.com/hast-util-from-html/1.0.0
+ mdast-util-mdxjs-esm: registry.npmmirror.com/mdast-util-mdxjs-esm/1.3.0
ora: registry.npmmirror.com/ora/6.1.2
prettier: registry.npmmirror.com/prettier/2.8.0
react: registry.npmmirror.com/react/18.2.0
react-dom: registry.npmmirror.com/react-dom/18.2.0_react@18.2.0
- vite: registry.npmmirror.com/vite/3.2.1
+ react-router-dom: registry.npmmirror.com/react-router-dom/6.4.3_biqbaboplfbrettd7655fr4n2y
+ rehype-autolink-headings: registry.npmmirror.com/rehype-autolink-headings/6.1.1
+ rehype-slug: registry.npmmirror.com/rehype-slug/5.1.0
+ rehype-stringify: registry.npmmirror.com/rehype-stringify/9.0.3
+ remark-frontmatter: registry.npmmirror.com/remark-frontmatter/4.0.1
+ remark-gfm: registry.npmmirror.com/remark-gfm/3.0.1
+ remark-mdx-frontmatter: registry.npmmirror.com/remark-mdx-frontmatter/2.1.1
+ remark-parse: registry.npmmirror.com/remark-parse/10.0.1
+ remark-rehype: registry.npmmirror.com/remark-rehype/10.1.0
+ shiki: registry.npmmirror.com/shiki/0.12.1
+ unified: registry.npmmirror.com/unified/10.1.2
+ vite: registry.npmmirror.com/vite/3.1.4
devDependencies:
'@commitlint/cli': registry.npmmirror.com/@commitlint/cli/17.3.0
'@commitlint/config-conventional': registry.npmmirror.com/@commitlint/config-conventional/17.3.0
'@playwright/test': registry.npmmirror.com/@playwright/test/1.26.1
'@types/fs-extra': registry.npmmirror.com/@types/fs-extra/9.0.13
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ '@types/mdast': registry.npmmirror.com/@types/mdast/3.0.10
'@types/node': registry.npmmirror.com/@types/node/18.11.7
'@types/react': registry.npmmirror.com/@types/react/18.0.24
'@types/react-dom': registry.npmmirror.com/@types/react-dom/18.0.8
@@ -69,11 +112,14 @@ devDependencies:
execa: registry.npmmirror.com/execa/6.1.0
husky: registry.npmmirror.com/husky/8.0.2
lint-staged: registry.npmmirror.com/lint-staged/13.1.0
+ remark-mdx: registry.npmmirror.com/remark-mdx/2.2.1
+ remark-stringify: registry.npmmirror.com/remark-stringify/10.0.2
rollup: registry.npmmirror.com/rollup/3.2.3
serve: registry.npmmirror.com/serve/14.0.1
tsup: registry.npmmirror.com/tsup/6.5.0_typescript@4.8.4
tsx: registry.npmmirror.com/tsx/3.12.1
typescript: registry.npmmirror.com/typescript/4.8.4
+ unist-util-visit: registry.npmmirror.com/unist-util-visit/4.1.1
vitest: registry.npmmirror.com/vitest/0.25.3_@vitest+ui@0.25.3
packages:
@@ -364,6 +410,15 @@ packages:
'@babel/types': registry.npmmirror.com/@babel/types/7.20.0
dev: false
+ registry.npmmirror.com/@babel/runtime/7.20.6:
+ resolution: {integrity: sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/runtime/-/runtime-7.20.6.tgz}
+ name: '@babel/runtime'
+ version: 7.20.6
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ regenerator-runtime: registry.npmmirror.com/regenerator-runtime/0.13.11
+ dev: false
+
registry.npmmirror.com/@babel/template/7.18.10:
resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/template/-/template-7.18.10.tgz}
name: '@babel/template'
@@ -766,6 +821,64 @@ packages:
'@jridgewell/sourcemap-codec': registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14
dev: true
+ registry.npmmirror.com/@loadable/component/5.15.2_react@18.2.0:
+ resolution: {integrity: sha512-ryFAZOX5P2vFkUdzaAtTG88IGnr9qxSdvLRvJySXcUA4B4xVWurUNADu3AnKPksxOZajljqTrDEDcYjeL4lvLw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@loadable/component/-/component-5.15.2.tgz}
+ id: registry.npmmirror.com/@loadable/component/5.15.2
+ name: '@loadable/component'
+ version: 5.15.2
+ engines: {node: '>=8'}
+ peerDependencies:
+ react: '>=16.3.0'
+ dependencies:
+ '@babel/runtime': registry.npmmirror.com/@babel/runtime/7.20.6
+ hoist-non-react-statics: registry.npmmirror.com/hoist-non-react-statics/3.3.2
+ react: registry.npmmirror.com/react/18.2.0
+ react-is: registry.npmmirror.com/react-is/16.13.1
+ dev: false
+
+ registry.npmmirror.com/@mdx-js/mdx/2.2.1:
+ resolution: {integrity: sha512-hZ3ex7exYLJn6FfReq8yTvA6TE53uW9UHJQM9IlSauOuS55J9y8RtA7W+dzp6Yrzr00/U1sd7q+Wf61q6SfiTQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@mdx-js/mdx/-/mdx-2.2.1.tgz}
+ name: '@mdx-js/mdx'
+ version: 2.2.1
+ dependencies:
+ '@types/estree-jsx': registry.npmmirror.com/@types/estree-jsx/1.0.0
+ '@types/mdx': registry.npmmirror.com/@types/mdx/2.0.3
+ estree-util-build-jsx: registry.npmmirror.com/estree-util-build-jsx/2.2.0
+ estree-util-is-identifier-name: registry.npmmirror.com/estree-util-is-identifier-name/2.0.1
+ estree-util-to-js: registry.npmmirror.com/estree-util-to-js/1.1.0
+ estree-walker: registry.npmmirror.com/estree-walker/3.0.1
+ hast-util-to-estree: registry.npmmirror.com/hast-util-to-estree/2.1.0
+ markdown-extensions: registry.npmmirror.com/markdown-extensions/1.1.1
+ periscopic: registry.npmmirror.com/periscopic/3.0.4
+ remark-mdx: registry.npmmirror.com/remark-mdx/2.2.1
+ remark-parse: registry.npmmirror.com/remark-parse/10.0.1
+ remark-rehype: registry.npmmirror.com/remark-rehype/10.1.0
+ unified: registry.npmmirror.com/unified/10.1.2
+ unist-util-position-from-estree: registry.npmmirror.com/unist-util-position-from-estree/1.1.1
+ unist-util-stringify-position: registry.npmmirror.com/unist-util-stringify-position/3.0.2
+ unist-util-visit: registry.npmmirror.com/unist-util-visit/4.1.1
+ vfile: registry.npmmirror.com/vfile/5.3.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ registry.npmmirror.com/@mdx-js/rollup/2.1.3_rollup@3.2.3:
+ resolution: {integrity: sha512-KaX9GcZ63TDaLNH9UYYE94+naZQldV2IUzmMkDVOlPxDtTh8kcEn8l6/4W1P79wxZZbakSOFejTuaYmcstl5sA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@mdx-js/rollup/-/rollup-2.1.3.tgz}
+ id: registry.npmmirror.com/@mdx-js/rollup/2.1.3
+ name: '@mdx-js/rollup'
+ version: 2.1.3
+ peerDependencies:
+ rollup: '>=2'
+ dependencies:
+ '@mdx-js/mdx': registry.npmmirror.com/@mdx-js/mdx/2.2.1
+ '@rollup/pluginutils': registry.npmmirror.com/@rollup/pluginutils/4.2.1
+ rollup: registry.npmmirror.com/rollup/3.2.3
+ source-map: registry.npmmirror.com/source-map/0.7.4
+ vfile: registry.npmmirror.com/vfile/5.3.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
registry.npmmirror.com/@nodelib/fs.scandir/2.1.5:
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz}
name: '@nodelib/fs.scandir'
@@ -774,14 +887,12 @@ packages:
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
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}
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, registry: http://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
registry.npmmirror.com/@nodelib/fs.walk/1.2.8:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz}
@@ -791,7 +902,6 @@ packages:
dependencies:
'@nodelib/fs.scandir': registry.npmmirror.com/@nodelib/fs.scandir/2.1.5
fastq: registry.npmmirror.com/fastq/1.13.0
- dev: true
registry.npmmirror.com/@playwright/test/1.26.1:
resolution: {integrity: sha512-bNxyZASVt2adSZ9gbD7NCydzcb5JaI0OR9hc7s+nmPeH604gwp0zp17NNpwXY4c8nvuBGQQ9oGDx72LE+cUWvw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@playwright/test/-/test-1.26.1.tgz}
@@ -810,6 +920,23 @@ packages:
version: 1.0.0-next.21
dev: true
+ registry.npmmirror.com/@remix-run/router/1.0.3:
+ resolution: {integrity: sha512-ceuyTSs7PZ/tQqi19YZNBc5X7kj1f8p+4DIyrcIYFY9h+hd1OKm4RqtiWldR9eGEvIiJfsqwM4BsuCtRIuEw6Q==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@remix-run/router/-/router-1.0.3.tgz}
+ name: '@remix-run/router'
+ version: 1.0.3
+ engines: {node: '>=14'}
+ dev: false
+
+ registry.npmmirror.com/@rollup/pluginutils/4.2.1:
+ resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz}
+ name: '@rollup/pluginutils'
+ version: 4.2.1
+ engines: {node: '>= 8.0.0'}
+ dependencies:
+ estree-walker: registry.npmmirror.com/estree-walker/2.0.2
+ picomatch: registry.npmmirror.com/picomatch/2.3.1
+ dev: false
+
registry.npmmirror.com/@tsconfig/node10/1.0.9:
resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@tsconfig/node10/-/node10-1.0.9.tgz}
name: '@tsconfig/node10'
@@ -834,6 +961,13 @@ packages:
version: 1.0.3
dev: true
+ registry.npmmirror.com/@types/acorn/4.0.6:
+ resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/acorn/-/acorn-4.0.6.tgz}
+ name: '@types/acorn'
+ version: 4.0.6
+ dependencies:
+ '@types/estree': registry.npmmirror.com/@types/estree/1.0.0
+
registry.npmmirror.com/@types/chai-subset/1.3.3:
resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/chai-subset/-/chai-subset-1.3.3.tgz}
name: '@types/chai-subset'
@@ -848,6 +982,25 @@ packages:
version: 4.3.4
dev: true
+ registry.npmmirror.com/@types/debug/4.1.7:
+ resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==, registry: http://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
+
+ registry.npmmirror.com/@types/estree-jsx/1.0.0:
+ resolution: {integrity: sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/estree-jsx/-/estree-jsx-1.0.0.tgz}
+ name: '@types/estree-jsx'
+ version: 1.0.0
+ dependencies:
+ '@types/estree': registry.npmmirror.com/@types/estree/1.0.0
+
+ registry.npmmirror.com/@types/estree/1.0.0:
+ resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/estree/-/estree-1.0.0.tgz}
+ name: '@types/estree'
+ version: 1.0.0
+
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'
@@ -856,18 +1009,43 @@ packages:
'@types/node': registry.npmmirror.com/@types/node/18.11.7
dev: true
+ registry.npmmirror.com/@types/hast/2.3.4:
+ resolution: {integrity: sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/hast/-/hast-2.3.4.tgz}
+ name: '@types/hast'
+ version: 2.3.4
+ dependencies:
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+
registry.npmmirror.com/@types/json-schema/7.0.11:
resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.11.tgz}
name: '@types/json-schema'
version: 7.0.11
dev: true
+ registry.npmmirror.com/@types/mdast/3.0.10:
+ resolution: {integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/mdast/-/mdast-3.0.10.tgz}
+ name: '@types/mdast'
+ version: 3.0.10
+ dependencies:
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+
+ registry.npmmirror.com/@types/mdx/2.0.3:
+ resolution: {integrity: sha512-IgHxcT3RC8LzFLhKwP3gbMPeaK7BM9eBH46OdapPA7yvuIUJ8H6zHZV53J8hGZcTSnt95jANt+rTBNUUc22ACQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/mdx/-/mdx-2.0.3.tgz}
+ name: '@types/mdx'
+ version: 2.0.3
+ dev: false
+
registry.npmmirror.com/@types/minimist/1.2.2:
resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/minimist/-/minimist-1.2.2.tgz}
name: '@types/minimist'
version: 1.2.2
dev: true
+ registry.npmmirror.com/@types/ms/0.7.31:
+ resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/ms/-/ms-0.7.31.tgz}
+ name: '@types/ms'
+ version: 0.7.31
+
registry.npmmirror.com/@types/node/14.18.34:
resolution: {integrity: sha512-hcU9AIQVHmPnmjRK+XUUYlILlr9pQrsqSrwov/JK1pnf3GTQowVBhx54FbvM0AU/VXGH4i3+vgXS5EguR7fysA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/node/-/node-14.18.34.tgz}
name: '@types/node'
@@ -892,6 +1070,12 @@ packages:
version: 4.0.0
dev: true
+ registry.npmmirror.com/@types/parse5/6.0.3:
+ resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/parse5/-/parse5-6.0.3.tgz}
+ name: '@types/parse5'
+ version: 6.0.3
+ dev: false
+
registry.npmmirror.com/@types/prop-types/15.7.5:
resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/prop-types/-/prop-types-15.7.5.tgz}
name: '@types/prop-types'
@@ -928,6 +1112,11 @@ packages:
version: 7.3.13
dev: true
+ registry.npmmirror.com/@types/unist/2.0.6:
+ resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/unist/-/unist-2.0.6.tgz}
+ name: '@types/unist'
+ version: 2.0.6
+
registry.npmmirror.com/@typescript-eslint/eslint-plugin/5.45.0_e7dbdy4h4uife7ujplb4sbnkau:
resolution: {integrity: sha512-CXXHNlf0oL+Yg021cxgOdMHNTXD17rHkq7iW6RFHoybdFgQBjU3yIXhhcPpGwr1CjZlo6ET8C6tzX5juQoXeGA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.45.0.tgz}
id: registry.npmmirror.com/@typescript-eslint/eslint-plugin/5.45.0
@@ -1078,7 +1267,7 @@ packages:
eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys/3.3.0
dev: true
- registry.npmmirror.com/@vitejs/plugin-react/2.2.0_vite@3.2.1:
+ registry.npmmirror.com/@vitejs/plugin-react/2.2.0_vite@3.1.4:
resolution: {integrity: sha512-FFpefhvExd1toVRlokZgxgy2JtnBOdp4ZDsq7ldCWaqGSGn9UhWMAVm/1lxPL14JfNS5yGz+s9yFrQY6shoStA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vitejs/plugin-react/-/plugin-react-2.2.0.tgz}
id: registry.npmmirror.com/@vitejs/plugin-react/2.2.0
name: '@vitejs/plugin-react'
@@ -1094,7 +1283,7 @@ packages:
'@babel/plugin-transform-react-jsx-source': registry.npmmirror.com/@babel/plugin-transform-react-jsx-source/7.19.6_@babel+core@7.19.6
magic-string: registry.npmmirror.com/magic-string/0.26.7
react-refresh: registry.npmmirror.com/react-refresh/0.14.0
- vite: registry.npmmirror.com/vite/3.2.1
+ vite: registry.npmmirror.com/vite/3.1.4
transitivePeerDependencies:
- supports-color
dev: false
@@ -1142,7 +1331,6 @@ packages:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
acorn: registry.npmmirror.com/acorn/8.8.1
- dev: true
registry.npmmirror.com/acorn-walk/8.2.0:
resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/acorn-walk/-/acorn-walk-8.2.0.tgz}
@@ -1157,7 +1345,6 @@ packages:
version: 8.8.1
engines: {node: '>=0.4.0'}
hasBin: true
- dev: true
registry.npmmirror.com/aggregate-error/3.1.0:
resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/aggregate-error/-/aggregate-error-3.1.0.tgz}
@@ -1355,6 +1542,13 @@ packages:
engines: {node: '>=8'}
dev: true
+ registry.npmmirror.com/astring/1.8.4:
+ resolution: {integrity: sha512-97a+l2LBU3Op3bBQEff79i/E4jMD2ZLFD8rHx9B6mXyB2uQwhJQYfiDqUwtfjF4QA1F2qs//N6Cw8LetMbQjcw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/astring/-/astring-1.8.4.tgz}
+ name: astring
+ version: 1.8.4
+ hasBin: true
+ dev: false
+
registry.npmmirror.com/at-least-node/1.0.0:
resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz}
name: at-least-node
@@ -1362,6 +1556,11 @@ packages:
engines: {node: '>= 4.0.0'}
dev: true
+ registry.npmmirror.com/bail/2.0.2:
+ resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/bail/-/bail-2.0.2.tgz}
+ name: bail
+ version: 2.0.2
+
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
@@ -1432,7 +1631,6 @@ packages:
engines: {node: '>=8'}
dependencies:
fill-range: registry.npmmirror.com/fill-range/7.0.1
- dev: true
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}
@@ -1551,6 +1749,11 @@ packages:
version: 1.0.30001426
dev: false
+ registry.npmmirror.com/ccount/2.0.1:
+ resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ccount/-/ccount-2.0.1.tgz}
+ name: ccount
+ version: 2.0.1
+
registry.npmmirror.com/chai/4.3.7:
resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chai/-/chai-4.3.7.tgz}
name: chai
@@ -1601,6 +1804,26 @@ packages:
version: 5.0.1
engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+ registry.npmmirror.com/character-entities-html4/2.1.0:
+ resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz}
+ name: character-entities-html4
+ version: 2.1.0
+
+ registry.npmmirror.com/character-entities-legacy/3.0.0:
+ resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz}
+ name: character-entities-legacy
+ version: 3.0.0
+
+ registry.npmmirror.com/character-entities/2.0.2:
+ resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/character-entities/-/character-entities-2.0.2.tgz}
+ name: character-entities
+ version: 2.0.2
+
+ registry.npmmirror.com/character-reference-invalid/2.0.1:
+ resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz}
+ name: character-reference-invalid
+ version: 2.0.1
+
registry.npmmirror.com/chardet/0.7.0:
resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chardet/-/chardet-0.7.0.tgz}
name: chardet
@@ -1756,6 +1979,12 @@ packages:
version: 2.0.19
dev: true
+ registry.npmmirror.com/comma-separated-tokens/2.0.3:
+ resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz}
+ name: comma-separated-tokens
+ version: 2.0.3
+ dev: false
+
registry.npmmirror.com/commander/4.1.1:
resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/commander/-/commander-4.1.1.tgz}
name: commander
@@ -2029,6 +2258,13 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ registry.npmmirror.com/decode-named-character-reference/1.0.2:
+ resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz}
+ name: decode-named-character-reference
+ version: 1.0.2
+ dependencies:
+ character-entities: registry.npmmirror.com/character-entities/2.0.2
+
registry.npmmirror.com/dedent/0.7.0:
resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dedent/-/dedent-0.7.0.tgz}
name: dedent
@@ -2074,6 +2310,12 @@ packages:
object-keys: registry.npmmirror.com/object-keys/1.1.1
dev: true
+ registry.npmmirror.com/dequal/2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dequal/-/dequal-2.0.3.tgz}
+ name: dequal
+ version: 2.0.3
+ engines: {node: '>=6'}
+
registry.npmmirror.com/detect-file/1.0.0:
resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/detect-file/-/detect-file-1.0.0.tgz}
name: detect-file
@@ -2095,6 +2337,12 @@ packages:
engines: {node: '>=0.3.1'}
dev: true
+ registry.npmmirror.com/diff/5.1.0:
+ resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/diff/-/diff-5.1.0.tgz}
+ name: diff
+ version: 5.1.0
+ engines: {node: '>=0.3.1'}
+
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
@@ -2155,6 +2403,13 @@ packages:
version: 9.2.2
dev: true
+ registry.npmmirror.com/entities/4.4.0:
+ resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==, registry: http://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: false
+
registry.npmmirror.com/error-ex/1.3.2:
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz}
name: error-ex
@@ -2464,6 +2719,13 @@ packages:
engines: {node: '>=10'}
dev: true
+ registry.npmmirror.com/escape-string-regexp/5.0.0:
+ resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz}
+ name: escape-string-regexp
+ version: 5.0.0
+ engines: {node: '>=12'}
+ dev: false
+
registry.npmmirror.com/eslint-config-prettier/8.5.0_eslint@8.29.0:
resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz}
id: registry.npmmirror.com/eslint-config-prettier/8.5.0
@@ -2675,6 +2937,69 @@ packages:
engines: {node: '>=4.0'}
dev: true
+ registry.npmmirror.com/estree-util-attach-comments/2.1.0:
+ resolution: {integrity: sha512-rJz6I4L0GaXYtHpoMScgDIwM0/Vwbu5shbMeER596rB2D1EWF6+Gj0e0UKzJPZrpoOc87+Q2kgVFHfjAymIqmw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/estree-util-attach-comments/-/estree-util-attach-comments-2.1.0.tgz}
+ name: estree-util-attach-comments
+ version: 2.1.0
+ dependencies:
+ '@types/estree': registry.npmmirror.com/@types/estree/1.0.0
+ dev: false
+
+ registry.npmmirror.com/estree-util-build-jsx/2.2.0:
+ resolution: {integrity: sha512-apsfRxF9uLrqosApvHVtYZjISPvTJ+lBiIydpC+9wE6cF6ssbhnjyQLqaIjgzGxvC2Hbmec1M7g91PoBayYoQQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/estree-util-build-jsx/-/estree-util-build-jsx-2.2.0.tgz}
+ name: estree-util-build-jsx
+ version: 2.2.0
+ dependencies:
+ '@types/estree-jsx': registry.npmmirror.com/@types/estree-jsx/1.0.0
+ estree-util-is-identifier-name: registry.npmmirror.com/estree-util-is-identifier-name/2.0.1
+ estree-walker: registry.npmmirror.com/estree-walker/3.0.1
+ dev: false
+
+ registry.npmmirror.com/estree-util-is-identifier-name/2.0.1:
+ resolution: {integrity: sha512-rxZj1GkQhY4x1j/CSnybK9cGuMFQYFPLq0iNyopqf14aOVLFtMv7Esika+ObJWPWiOHuMOAHz3YkWoLYYRnzWQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.0.1.tgz}
+ name: estree-util-is-identifier-name
+ version: 2.0.1
+
+ registry.npmmirror.com/estree-util-to-js/1.1.0:
+ resolution: {integrity: sha512-490lbfCcpLk+ofK6HCgqDfYs4KAfq6QVvDw3+Bm1YoKRgiOjKiKYGAVQE1uwh7zVxBgWhqp4FDtp5SqunpUk1A==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/estree-util-to-js/-/estree-util-to-js-1.1.0.tgz}
+ name: estree-util-to-js
+ version: 1.1.0
+ dependencies:
+ '@types/estree-jsx': registry.npmmirror.com/@types/estree-jsx/1.0.0
+ astring: registry.npmmirror.com/astring/1.8.4
+ source-map: registry.npmmirror.com/source-map/0.7.4
+ dev: false
+
+ registry.npmmirror.com/estree-util-value-to-estree/2.1.0:
+ resolution: {integrity: sha512-fcAWmZilY1+tEt7GSeLZoHDvp2NNgLkJznBRYkEpaholas41d+Y0zd/Acch7+qzZdxLtxLi+m04KjHFJSoMa6A==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/estree-util-value-to-estree/-/estree-util-value-to-estree-2.1.0.tgz}
+ name: estree-util-value-to-estree
+ version: 2.1.0
+ engines: {node: '>=14.0.0'}
+ dependencies:
+ '@types/estree': registry.npmmirror.com/@types/estree/1.0.0
+ is-plain-obj: registry.npmmirror.com/is-plain-obj/4.1.0
+ dev: false
+
+ registry.npmmirror.com/estree-util-visit/1.2.0:
+ resolution: {integrity: sha512-wdsoqhWueuJKsh5hqLw3j8lwFqNStm92VcwtAOAny8g/KS/l5Y8RISjR4k5W6skCj3Nirag/WUCMS0Nfy3sgsg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/estree-util-visit/-/estree-util-visit-1.2.0.tgz}
+ name: estree-util-visit
+ version: 1.2.0
+ dependencies:
+ '@types/estree-jsx': registry.npmmirror.com/@types/estree-jsx/1.0.0
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+
+ registry.npmmirror.com/estree-walker/2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==, registry: http://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: false
+
+ registry.npmmirror.com/estree-walker/3.0.1:
+ resolution: {integrity: sha512-woY0RUD87WzMBUiZLx8NsYr23N5BKsOMZHhu2hoNRVh6NXGfoiT1KOL8G3UHlJAnEDGmfa5ubNA/AacfG+Kb0g==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/estree-walker/-/estree-walker-3.0.1.tgz}
+ name: estree-walker
+ version: 3.0.1
+ dev: false
+
registry.npmmirror.com/esutils/2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz}
name: esutils
@@ -2725,6 +3050,11 @@ packages:
homedir-polyfill: registry.npmmirror.com/homedir-polyfill/1.0.3
dev: true
+ registry.npmmirror.com/extend/3.0.2:
+ resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz}
+ name: extend
+ version: 3.0.2
+
registry.npmmirror.com/external-editor/3.1.0:
resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/external-editor/-/external-editor-3.1.0.tgz}
name: external-editor
@@ -2749,7 +3079,7 @@ packages:
dev: true
registry.npmmirror.com/fast-glob/3.2.12:
- resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.12.tgz}
+ resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.12.tgz}
name: fast-glob
version: 3.2.12
engines: {node: '>=8.6.0'}
@@ -2759,7 +3089,6 @@ packages:
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: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz}
@@ -2787,7 +3116,14 @@ packages:
version: 1.13.0
dependencies:
reusify: registry.npmmirror.com/reusify/1.0.4
- dev: true
+
+ registry.npmmirror.com/fault/2.0.1:
+ resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fault/-/fault-2.0.1.tgz}
+ name: fault
+ version: 2.0.1
+ dependencies:
+ format: registry.npmmirror.com/format/0.2.2
+ dev: false
registry.npmmirror.com/figures/3.2.0:
resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/figures/-/figures-3.2.0.tgz}
@@ -2814,7 +3150,6 @@ packages:
engines: {node: '>=8'}
dependencies:
to-regex-range: registry.npmmirror.com/to-regex-range/5.0.1
- dev: true
registry.npmmirror.com/find-node-modules/2.1.3:
resolution: {integrity: sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/find-node-modules/-/find-node-modules-2.1.3.tgz}
@@ -2879,6 +3214,13 @@ packages:
version: 3.2.7
dev: true
+ registry.npmmirror.com/format/0.2.2:
+ resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/format/-/format-0.2.2.tgz}
+ name: format
+ version: 0.2.2
+ engines: {node: '>=0.4.x'}
+ dev: false
+
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
@@ -3006,14 +3348,19 @@ packages:
through2: registry.npmmirror.com/through2/4.0.2
dev: true
+ registry.npmmirror.com/github-slugger/2.0.0:
+ resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/github-slugger/-/github-slugger-2.0.0.tgz}
+ name: github-slugger
+ version: 2.0.0
+ dev: false
+
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}
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, registry: http://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-parent/6.0.2:
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz}
@@ -3182,6 +3529,138 @@ packages:
dependencies:
function-bind: registry.npmmirror.com/function-bind/1.1.1
+ registry.npmmirror.com/hast-util-from-html/1.0.0:
+ resolution: {integrity: sha512-tXYPhk28aMtDjGb4xNDaxtGKqlyZAEPGjN12jPCjczWppdLSrG/0r604a3FMvrd+9nV1HclILQiVqMnuPxN0WQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hast-util-from-html/-/hast-util-from-html-1.0.0.tgz}
+ name: hast-util-from-html
+ version: 1.0.0
+ dependencies:
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ hast-util-from-parse5: registry.npmmirror.com/hast-util-from-parse5/7.1.0
+ parse5: registry.npmmirror.com/parse5/7.1.2
+ vfile: registry.npmmirror.com/vfile/5.3.6
+ dev: false
+
+ registry.npmmirror.com/hast-util-from-parse5/7.1.0:
+ resolution: {integrity: sha512-m8yhANIAccpU4K6+121KpPP55sSl9/samzQSQGpb0mTExcNh2WlvjtMwSWFhg6uqD4Rr6Nfa8N6TMypQM51rzQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hast-util-from-parse5/-/hast-util-from-parse5-7.1.0.tgz}
+ name: hast-util-from-parse5
+ version: 7.1.0
+ dependencies:
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ '@types/parse5': registry.npmmirror.com/@types/parse5/6.0.3
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+ hastscript: registry.npmmirror.com/hastscript/7.1.0
+ property-information: registry.npmmirror.com/property-information/6.2.0
+ vfile: registry.npmmirror.com/vfile/5.3.6
+ vfile-location: registry.npmmirror.com/vfile-location/4.0.1
+ web-namespaces: registry.npmmirror.com/web-namespaces/2.0.1
+ dev: false
+
+ registry.npmmirror.com/hast-util-has-property/2.0.0:
+ resolution: {integrity: sha512-4Qf++8o5v14us4Muv3HRj+Er6wTNGA/N9uCaZMty4JWvyFKLdhULrv4KE1b65AthsSO9TXSZnjuxS8ecIyhb0w==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hast-util-has-property/-/hast-util-has-property-2.0.0.tgz}
+ name: hast-util-has-property
+ version: 2.0.0
+ dev: false
+
+ registry.npmmirror.com/hast-util-heading-rank/2.1.0:
+ resolution: {integrity: sha512-w+Rw20Q/iWp2Bcnr6uTrYU6/ftZLbHKhvc8nM26VIWpDqDMlku2iXUVTeOlsdoih/UKQhY7PHQ+vZ0Aqq8bxtQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hast-util-heading-rank/-/hast-util-heading-rank-2.1.0.tgz}
+ name: hast-util-heading-rank
+ version: 2.1.0
+ dependencies:
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ dev: false
+
+ registry.npmmirror.com/hast-util-is-element/2.1.2:
+ resolution: {integrity: sha512-thjnlGAnwP8ef/GSO1Q8BfVk2gundnc2peGQqEg2kUt/IqesiGg/5mSwN2fE7nLzy61pg88NG6xV+UrGOrx9EA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hast-util-is-element/-/hast-util-is-element-2.1.2.tgz}
+ name: hast-util-is-element
+ version: 2.1.2
+ dependencies:
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+ dev: false
+
+ registry.npmmirror.com/hast-util-parse-selector/3.1.0:
+ resolution: {integrity: sha512-AyjlI2pTAZEOeu7GeBPZhROx0RHBnydkQIXlhnFzDi0qfXTmGUWoCYZtomHbrdrheV4VFUlPcfJ6LMF5T6sQzg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hast-util-parse-selector/-/hast-util-parse-selector-3.1.0.tgz}
+ name: hast-util-parse-selector
+ version: 3.1.0
+ dependencies:
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ dev: false
+
+ registry.npmmirror.com/hast-util-to-estree/2.1.0:
+ resolution: {integrity: sha512-Vwch1etMRmm89xGgz+voWXvVHba2iiMdGMKmaMfYt35rbVtFDq8JNwwAIvi8zHMkO6Gvqo9oTMwJTmzVRfXh4g==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hast-util-to-estree/-/hast-util-to-estree-2.1.0.tgz}
+ name: hast-util-to-estree
+ version: 2.1.0
+ dependencies:
+ '@types/estree': registry.npmmirror.com/@types/estree/1.0.0
+ '@types/estree-jsx': registry.npmmirror.com/@types/estree-jsx/1.0.0
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+ comma-separated-tokens: registry.npmmirror.com/comma-separated-tokens/2.0.3
+ estree-util-attach-comments: registry.npmmirror.com/estree-util-attach-comments/2.1.0
+ estree-util-is-identifier-name: registry.npmmirror.com/estree-util-is-identifier-name/2.0.1
+ hast-util-whitespace: registry.npmmirror.com/hast-util-whitespace/2.0.0
+ mdast-util-mdx-expression: registry.npmmirror.com/mdast-util-mdx-expression/1.3.1
+ mdast-util-mdxjs-esm: registry.npmmirror.com/mdast-util-mdxjs-esm/1.3.0
+ property-information: registry.npmmirror.com/property-information/6.2.0
+ space-separated-tokens: registry.npmmirror.com/space-separated-tokens/2.0.2
+ style-to-object: registry.npmmirror.com/style-to-object/0.3.0
+ unist-util-position: registry.npmmirror.com/unist-util-position/4.0.3
+ zwitch: registry.npmmirror.com/zwitch/2.0.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ registry.npmmirror.com/hast-util-to-html/8.0.3:
+ resolution: {integrity: sha512-/D/E5ymdPYhHpPkuTHOUkSatxr4w1ZKrZsG0Zv/3C2SRVT0JFJG53VS45AMrBtYk0wp5A7ksEhiC8QaOZM95+A==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hast-util-to-html/-/hast-util-to-html-8.0.3.tgz}
+ name: hast-util-to-html
+ version: 8.0.3
+ dependencies:
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ ccount: registry.npmmirror.com/ccount/2.0.1
+ comma-separated-tokens: registry.npmmirror.com/comma-separated-tokens/2.0.3
+ hast-util-is-element: registry.npmmirror.com/hast-util-is-element/2.1.2
+ hast-util-whitespace: registry.npmmirror.com/hast-util-whitespace/2.0.0
+ html-void-elements: registry.npmmirror.com/html-void-elements/2.0.1
+ property-information: registry.npmmirror.com/property-information/6.2.0
+ space-separated-tokens: registry.npmmirror.com/space-separated-tokens/2.0.2
+ stringify-entities: registry.npmmirror.com/stringify-entities/4.0.3
+ unist-util-is: registry.npmmirror.com/unist-util-is/5.1.1
+ dev: false
+
+ registry.npmmirror.com/hast-util-to-string/2.0.0:
+ resolution: {integrity: sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hast-util-to-string/-/hast-util-to-string-2.0.0.tgz}
+ name: hast-util-to-string
+ version: 2.0.0
+ dependencies:
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ dev: false
+
+ registry.npmmirror.com/hast-util-whitespace/2.0.0:
+ resolution: {integrity: sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hast-util-whitespace/-/hast-util-whitespace-2.0.0.tgz}
+ name: hast-util-whitespace
+ version: 2.0.0
+ dev: false
+
+ registry.npmmirror.com/hastscript/7.1.0:
+ resolution: {integrity: sha512-uBjaTTLN0MkCZxY/R2fWUOcu7FRtUVzKRO5P/RAfgsu3yFiMB1JWCO4AjeVkgHxAira1f2UecHK5WfS9QurlWA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hastscript/-/hastscript-7.1.0.tgz}
+ name: hastscript
+ version: 7.1.0
+ dependencies:
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ comma-separated-tokens: registry.npmmirror.com/comma-separated-tokens/2.0.3
+ hast-util-parse-selector: registry.npmmirror.com/hast-util-parse-selector/3.1.0
+ property-information: registry.npmmirror.com/property-information/6.2.0
+ space-separated-tokens: registry.npmmirror.com/space-separated-tokens/2.0.2
+ dev: false
+
+ registry.npmmirror.com/hoist-non-react-statics/3.3.2:
+ resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz}
+ name: hoist-non-react-statics
+ version: 3.3.2
+ dependencies:
+ react-is: registry.npmmirror.com/react-is/16.13.1
+ dev: false
+
registry.npmmirror.com/homedir-polyfill/1.0.3:
resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz}
name: homedir-polyfill
@@ -3206,6 +3685,12 @@ packages:
lru-cache: registry.npmmirror.com/lru-cache/6.0.0
dev: true
+ registry.npmmirror.com/html-void-elements/2.0.1:
+ resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/html-void-elements/-/html-void-elements-2.0.1.tgz}
+ name: html-void-elements
+ version: 2.0.1
+ dev: false
+
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
@@ -3293,6 +3778,12 @@ packages:
version: 1.3.8
dev: true
+ registry.npmmirror.com/inline-style-parser/0.1.1:
+ resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz}
+ name: inline-style-parser
+ version: 0.1.1
+ dev: false
+
registry.npmmirror.com/inquirer/8.2.4:
resolution: {integrity: sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/inquirer/-/inquirer-8.2.4.tgz}
name: inquirer
@@ -3327,6 +3818,19 @@ packages:
side-channel: registry.npmmirror.com/side-channel/1.0.4
dev: true
+ registry.npmmirror.com/is-alphabetical/2.0.1:
+ resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz}
+ name: is-alphabetical
+ version: 2.0.1
+
+ registry.npmmirror.com/is-alphanumerical/2.0.1:
+ resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz}
+ name: is-alphanumerical
+ version: 2.0.1
+ dependencies:
+ is-alphabetical: registry.npmmirror.com/is-alphabetical/2.0.1
+ is-decimal: registry.npmmirror.com/is-decimal/2.0.1
+
registry.npmmirror.com/is-arrayish/0.2.1:
resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz}
name: is-arrayish
@@ -3360,6 +3864,12 @@ packages:
has-tostringtag: registry.npmmirror.com/has-tostringtag/1.0.0
dev: true
+ registry.npmmirror.com/is-buffer/2.0.5:
+ resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-buffer/-/is-buffer-2.0.5.tgz}
+ name: is-buffer
+ version: 2.0.5
+ engines: {node: '>=4'}
+
registry.npmmirror.com/is-callable/1.2.7:
resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-callable/-/is-callable-1.2.7.tgz}
name: is-callable
@@ -3383,6 +3893,11 @@ packages:
has-tostringtag: registry.npmmirror.com/has-tostringtag/1.0.0
dev: true
+ registry.npmmirror.com/is-decimal/2.0.1:
+ resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-decimal/-/is-decimal-2.0.1.tgz}
+ name: is-decimal
+ version: 2.0.1
+
registry.npmmirror.com/is-docker/2.2.1:
resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz}
name: is-docker
@@ -3396,7 +3911,6 @@ packages:
name: is-extglob
version: 2.1.1
engines: {node: '>=0.10.0'}
- dev: true
registry.npmmirror.com/is-fullwidth-code-point/3.0.0:
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz}
@@ -3419,7 +3933,11 @@ packages:
engines: {node: '>=0.10.0'}
dependencies:
is-extglob: registry.npmmirror.com/is-extglob/2.1.1
- dev: true
+
+ registry.npmmirror.com/is-hexadecimal/2.0.1:
+ resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz}
+ name: is-hexadecimal
+ version: 2.0.1
registry.npmmirror.com/is-interactive/1.0.0:
resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-interactive/-/is-interactive-1.0.0.tgz}
@@ -3456,7 +3974,6 @@ packages:
name: is-number
version: 7.0.0
engines: {node: '>=0.12.0'}
- dev: true
registry.npmmirror.com/is-obj/2.0.0:
resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-obj/-/is-obj-2.0.0.tgz}
@@ -3479,6 +3996,12 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ registry.npmmirror.com/is-plain-obj/4.1.0:
+ resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz}
+ name: is-plain-obj
+ version: 4.1.0
+ engines: {node: '>=12'}
+
registry.npmmirror.com/is-port-reachable/4.0.0:
resolution: {integrity: sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-port-reachable/-/is-port-reachable-4.0.0.tgz}
name: is-port-reachable
@@ -3486,6 +4009,14 @@ packages:
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
dev: true
+ registry.npmmirror.com/is-reference/3.0.0:
+ resolution: {integrity: sha512-Eo1W3wUoHWoCoVM4GVl/a+K0IgiqE5aIo4kJABFyMum1ZORlPkC+UC357sSQUL5w5QCE5kCC9upl75b7+7CY/Q==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-reference/-/is-reference-3.0.0.tgz}
+ name: is-reference
+ version: 3.0.0
+ dependencies:
+ '@types/estree': registry.npmmirror.com/@types/estree/1.0.0
+ dev: false
+
registry.npmmirror.com/is-regex/1.1.4:
resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-regex/-/is-regex-1.1.4.tgz}
name: is-regex
@@ -3662,6 +4193,12 @@ packages:
hasBin: true
dev: false
+ registry.npmmirror.com/jsonc-parser/3.2.0:
+ resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz}
+ name: jsonc-parser
+ version: 3.2.0
+ dev: false
+
registry.npmmirror.com/jsonfile/6.1.0:
resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz}
name: jsonfile
@@ -3695,6 +4232,12 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ registry.npmmirror.com/kleur/4.1.5:
+ resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/kleur/-/kleur-4.1.5.tgz}
+ name: kleur
+ version: 4.1.5
+ engines: {node: '>=6'}
+
registry.npmmirror.com/levn/0.4.1:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz}
name: levn
@@ -3906,6 +4449,11 @@ packages:
wrap-ansi: registry.npmmirror.com/wrap-ansi/6.2.0
dev: true
+ registry.npmmirror.com/longest-streak/3.1.0:
+ resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/longest-streak/-/longest-streak-3.1.0.tgz}
+ name: longest-streak
+ version: 3.1.0
+
registry.npmmirror.com/longest/2.0.1:
resolution: {integrity: sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/longest/-/longest-2.0.1.tgz}
name: longest
@@ -3967,43 +4515,642 @@ packages:
engines: {node: '>=8'}
dev: true
- registry.npmmirror.com/meow/8.1.2:
- resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/meow/-/meow-8.1.2.tgz}
- name: meow
- version: 8.1.2
- engines: {node: '>=10'}
- dependencies:
- '@types/minimist': registry.npmmirror.com/@types/minimist/1.2.2
- camelcase-keys: registry.npmmirror.com/camelcase-keys/6.2.2
- decamelize-keys: registry.npmmirror.com/decamelize-keys/1.1.1
- hard-rejection: registry.npmmirror.com/hard-rejection/2.1.0
- minimist-options: registry.npmmirror.com/minimist-options/4.1.0
- normalize-package-data: registry.npmmirror.com/normalize-package-data/3.0.3
- read-pkg-up: registry.npmmirror.com/read-pkg-up/7.0.1
- redent: registry.npmmirror.com/redent/3.0.0
- trim-newlines: registry.npmmirror.com/trim-newlines/3.0.1
- type-fest: registry.npmmirror.com/type-fest/0.18.1
- yargs-parser: registry.npmmirror.com/yargs-parser/20.2.9
- dev: true
+ registry.npmmirror.com/markdown-extensions/1.1.1:
+ resolution: {integrity: sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/markdown-extensions/-/markdown-extensions-1.1.1.tgz}
+ name: markdown-extensions
+ version: 1.1.1
+ engines: {node: '>=0.10.0'}
+ dev: false
- registry.npmmirror.com/merge-stream/2.0.0:
- resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, registry: http://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/markdown-table/3.0.3:
+ resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/markdown-table/-/markdown-table-3.0.3.tgz}
+ name: markdown-table
+ version: 3.0.3
+ dev: false
- registry.npmmirror.com/merge/2.1.1:
- resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/merge/-/merge-2.1.1.tgz}
- name: merge
+ registry.npmmirror.com/mdast-util-definitions/5.1.1:
+ resolution: {integrity: sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mdast-util-definitions/-/mdast-util-definitions-5.1.1.tgz}
+ name: mdast-util-definitions
+ version: 5.1.1
+ dependencies:
+ '@types/mdast': registry.npmmirror.com/@types/mdast/3.0.10
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+ unist-util-visit: registry.npmmirror.com/unist-util-visit/4.1.1
+ dev: false
+
+ registry.npmmirror.com/mdast-util-find-and-replace/2.2.1:
+ resolution: {integrity: sha512-SobxkQXFAdd4b5WmEakmkVoh18icjQRxGy5OWTCzgsLRm1Fu/KCtwD1HIQSsmq5ZRjVH0Ehwg6/Fn3xIUk+nKw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.1.tgz}
+ name: mdast-util-find-and-replace
+ version: 2.2.1
+ dependencies:
+ escape-string-regexp: registry.npmmirror.com/escape-string-regexp/5.0.0
+ unist-util-is: registry.npmmirror.com/unist-util-is/5.1.1
+ unist-util-visit-parents: registry.npmmirror.com/unist-util-visit-parents/5.1.1
+ dev: false
+
+ registry.npmmirror.com/mdast-util-from-markdown/1.2.0:
+ resolution: {integrity: sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz}
+ name: mdast-util-from-markdown
+ version: 1.2.0
+ dependencies:
+ '@types/mdast': registry.npmmirror.com/@types/mdast/3.0.10
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+ decode-named-character-reference: registry.npmmirror.com/decode-named-character-reference/1.0.2
+ mdast-util-to-string: registry.npmmirror.com/mdast-util-to-string/3.1.0
+ micromark: registry.npmmirror.com/micromark/3.1.0
+ micromark-util-decode-numeric-character-reference: registry.npmmirror.com/micromark-util-decode-numeric-character-reference/1.0.0
+ micromark-util-decode-string: registry.npmmirror.com/micromark-util-decode-string/1.0.2
+ micromark-util-normalize-identifier: registry.npmmirror.com/micromark-util-normalize-identifier/1.0.0
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+ unist-util-stringify-position: registry.npmmirror.com/unist-util-stringify-position/3.0.2
+ uvu: registry.npmmirror.com/uvu/0.5.6
+ transitivePeerDependencies:
+ - supports-color
+
+ registry.npmmirror.com/mdast-util-frontmatter/1.0.0:
+ resolution: {integrity: sha512-7itKvp0arEVNpCktOET/eLFAYaZ+0cNjVtFtIPxgQ5tV+3i+D4SDDTjTzPWl44LT59PC+xdx+glNTawBdF98Mw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mdast-util-frontmatter/-/mdast-util-frontmatter-1.0.0.tgz}
+ name: mdast-util-frontmatter
+ version: 1.0.0
+ dependencies:
+ micromark-extension-frontmatter: registry.npmmirror.com/micromark-extension-frontmatter/1.0.0
+ dev: false
+
+ registry.npmmirror.com/mdast-util-gfm-autolink-literal/1.0.2:
+ resolution: {integrity: sha512-FzopkOd4xTTBeGXhXSBU0OCDDh5lUj2rd+HQqG92Ld+jL4lpUfgX2AT2OHAVP9aEeDKp7G92fuooSZcYJA3cRg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.2.tgz}
+ name: mdast-util-gfm-autolink-literal
+ version: 1.0.2
+ dependencies:
+ '@types/mdast': registry.npmmirror.com/@types/mdast/3.0.10
+ ccount: registry.npmmirror.com/ccount/2.0.1
+ mdast-util-find-and-replace: registry.npmmirror.com/mdast-util-find-and-replace/2.2.1
+ micromark-util-character: registry.npmmirror.com/micromark-util-character/1.1.0
+ dev: false
+
+ registry.npmmirror.com/mdast-util-gfm-footnote/1.0.1:
+ resolution: {integrity: sha512-p+PrYlkw9DeCRkTVw1duWqPRHX6Ywh2BNKJQcZbCwAuP/59B0Lk9kakuAd7KbQprVO4GzdW8eS5++A9PUSqIyw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.1.tgz}
+ name: mdast-util-gfm-footnote
+ version: 1.0.1
+ dependencies:
+ '@types/mdast': registry.npmmirror.com/@types/mdast/3.0.10
+ mdast-util-to-markdown: registry.npmmirror.com/mdast-util-to-markdown/1.4.0
+ micromark-util-normalize-identifier: registry.npmmirror.com/micromark-util-normalize-identifier/1.0.0
+ dev: false
+
+ registry.npmmirror.com/mdast-util-gfm-strikethrough/1.0.2:
+ resolution: {integrity: sha512-T/4DVHXcujH6jx1yqpcAYYwd+z5lAYMw4Ls6yhTfbMMtCt0PHY4gEfhW9+lKsLBtyhUGKRIzcUA2FATVqnvPDA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.2.tgz}
+ name: mdast-util-gfm-strikethrough
+ version: 1.0.2
+ dependencies:
+ '@types/mdast': registry.npmmirror.com/@types/mdast/3.0.10
+ mdast-util-to-markdown: registry.npmmirror.com/mdast-util-to-markdown/1.4.0
+ dev: false
+
+ registry.npmmirror.com/mdast-util-gfm-table/1.0.6:
+ resolution: {integrity: sha512-uHR+fqFq3IvB3Rd4+kzXW8dmpxUhvgCQZep6KdjsLK4O6meK5dYZEayLtIxNus1XO3gfjfcIFe8a7L0HZRGgag==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.6.tgz}
+ name: mdast-util-gfm-table
+ version: 1.0.6
+ dependencies:
+ '@types/mdast': registry.npmmirror.com/@types/mdast/3.0.10
+ markdown-table: registry.npmmirror.com/markdown-table/3.0.3
+ mdast-util-from-markdown: registry.npmmirror.com/mdast-util-from-markdown/1.2.0
+ mdast-util-to-markdown: registry.npmmirror.com/mdast-util-to-markdown/1.4.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ registry.npmmirror.com/mdast-util-gfm-task-list-item/1.0.1:
+ resolution: {integrity: sha512-KZ4KLmPdABXOsfnM6JHUIjxEvcx2ulk656Z/4Balw071/5qgnhz+H1uGtf2zIGnrnvDC8xR4Fj9uKbjAFGNIeA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.1.tgz}
+ name: mdast-util-gfm-task-list-item
+ version: 1.0.1
+ dependencies:
+ '@types/mdast': registry.npmmirror.com/@types/mdast/3.0.10
+ mdast-util-to-markdown: registry.npmmirror.com/mdast-util-to-markdown/1.4.0
+ dev: false
+
+ registry.npmmirror.com/mdast-util-gfm/2.0.1:
+ resolution: {integrity: sha512-42yHBbfWIFisaAfV1eixlabbsa6q7vHeSPY+cg+BBjX51M8xhgMacqH9g6TftB/9+YkcI0ooV4ncfrJslzm/RQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mdast-util-gfm/-/mdast-util-gfm-2.0.1.tgz}
+ name: mdast-util-gfm
+ version: 2.0.1
+ dependencies:
+ mdast-util-from-markdown: registry.npmmirror.com/mdast-util-from-markdown/1.2.0
+ mdast-util-gfm-autolink-literal: registry.npmmirror.com/mdast-util-gfm-autolink-literal/1.0.2
+ mdast-util-gfm-footnote: registry.npmmirror.com/mdast-util-gfm-footnote/1.0.1
+ mdast-util-gfm-strikethrough: registry.npmmirror.com/mdast-util-gfm-strikethrough/1.0.2
+ mdast-util-gfm-table: registry.npmmirror.com/mdast-util-gfm-table/1.0.6
+ mdast-util-gfm-task-list-item: registry.npmmirror.com/mdast-util-gfm-task-list-item/1.0.1
+ mdast-util-to-markdown: registry.npmmirror.com/mdast-util-to-markdown/1.4.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ registry.npmmirror.com/mdast-util-mdx-expression/1.3.1:
+ resolution: {integrity: sha512-TTb6cKyTA1RD+1su1iStZ5PAv3rFfOUKcoU5EstUpv/IZo63uDX03R8+jXjMEhcobXnNOiG6/ccekvVl4eV1zQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.1.tgz}
+ name: mdast-util-mdx-expression
+ version: 1.3.1
+ dependencies:
+ '@types/estree-jsx': registry.npmmirror.com/@types/estree-jsx/1.0.0
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ '@types/mdast': registry.npmmirror.com/@types/mdast/3.0.10
+ mdast-util-from-markdown: registry.npmmirror.com/mdast-util-from-markdown/1.2.0
+ mdast-util-to-markdown: registry.npmmirror.com/mdast-util-to-markdown/1.4.0
+ transitivePeerDependencies:
+ - supports-color
+
+ registry.npmmirror.com/mdast-util-mdx-jsx/2.1.0:
+ resolution: {integrity: sha512-KzgzfWMhdteDkrY4mQtyvTU5bc/W4ppxhe9SzelO6QUUiwLAM+Et2Dnjjprik74a336kHdo0zKm7Tp+n6FFeRg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.0.tgz}
+ name: mdast-util-mdx-jsx
+ version: 2.1.0
+ dependencies:
+ '@types/estree-jsx': registry.npmmirror.com/@types/estree-jsx/1.0.0
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ '@types/mdast': registry.npmmirror.com/@types/mdast/3.0.10
+ ccount: registry.npmmirror.com/ccount/2.0.1
+ mdast-util-to-markdown: registry.npmmirror.com/mdast-util-to-markdown/1.4.0
+ parse-entities: registry.npmmirror.com/parse-entities/4.0.0
+ stringify-entities: registry.npmmirror.com/stringify-entities/4.0.3
+ unist-util-remove-position: registry.npmmirror.com/unist-util-remove-position/4.0.1
+ unist-util-stringify-position: registry.npmmirror.com/unist-util-stringify-position/3.0.2
+ vfile-message: registry.npmmirror.com/vfile-message/3.1.3
+
+ registry.npmmirror.com/mdast-util-mdx/2.0.0:
+ resolution: {integrity: sha512-M09lW0CcBT1VrJUaF/PYxemxxHa7SLDHdSn94Q9FhxjCQfuW7nMAWKWimTmA3OyDMSTH981NN1csW1X+HPSluw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mdast-util-mdx/-/mdast-util-mdx-2.0.0.tgz}
+ name: mdast-util-mdx
+ version: 2.0.0
+ dependencies:
+ mdast-util-mdx-expression: registry.npmmirror.com/mdast-util-mdx-expression/1.3.1
+ mdast-util-mdx-jsx: registry.npmmirror.com/mdast-util-mdx-jsx/2.1.0
+ mdast-util-mdxjs-esm: registry.npmmirror.com/mdast-util-mdxjs-esm/1.3.0
+ transitivePeerDependencies:
+ - supports-color
+
+ registry.npmmirror.com/mdast-util-mdxjs-esm/1.3.0:
+ resolution: {integrity: sha512-7N5ihsOkAEGjFotIX9p/YPdl4TqUoMxL4ajNz7PbT89BqsdWJuBC9rvgt6wpbwTZqWWR0jKWqQbwsOWDBUZv4g==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.0.tgz}
+ name: mdast-util-mdxjs-esm
+ version: 1.3.0
+ dependencies:
+ '@types/estree-jsx': registry.npmmirror.com/@types/estree-jsx/1.0.0
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ '@types/mdast': registry.npmmirror.com/@types/mdast/3.0.10
+ mdast-util-from-markdown: registry.npmmirror.com/mdast-util-from-markdown/1.2.0
+ mdast-util-to-markdown: registry.npmmirror.com/mdast-util-to-markdown/1.4.0
+ transitivePeerDependencies:
+ - supports-color
+
+ registry.npmmirror.com/mdast-util-to-hast/12.2.4:
+ resolution: {integrity: sha512-a21xoxSef1l8VhHxS1Dnyioz6grrJkoaCUgGzMD/7dWHvboYX3VW53esRUfB5tgTyz4Yos1n25SPcj35dJqmAg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mdast-util-to-hast/-/mdast-util-to-hast-12.2.4.tgz}
+ name: mdast-util-to-hast
+ version: 12.2.4
+ dependencies:
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ '@types/mdast': registry.npmmirror.com/@types/mdast/3.0.10
+ mdast-util-definitions: registry.npmmirror.com/mdast-util-definitions/5.1.1
+ micromark-util-sanitize-uri: registry.npmmirror.com/micromark-util-sanitize-uri/1.1.0
+ trim-lines: registry.npmmirror.com/trim-lines/3.0.1
+ unist-builder: registry.npmmirror.com/unist-builder/3.0.0
+ unist-util-generated: registry.npmmirror.com/unist-util-generated/2.0.0
+ unist-util-position: registry.npmmirror.com/unist-util-position/4.0.3
+ unist-util-visit: registry.npmmirror.com/unist-util-visit/4.1.1
+ dev: false
+
+ registry.npmmirror.com/mdast-util-to-markdown/1.4.0:
+ resolution: {integrity: sha512-IjXARf/O8VGx/pc5SZ7syfydq1DYL9vd92orsG5U0b4GNCmAvXzu+n7sbzfIKrXwB0AVrYk3NV2kXl0AIi9LCA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mdast-util-to-markdown/-/mdast-util-to-markdown-1.4.0.tgz}
+ name: mdast-util-to-markdown
+ version: 1.4.0
+ dependencies:
+ '@types/mdast': registry.npmmirror.com/@types/mdast/3.0.10
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+ longest-streak: registry.npmmirror.com/longest-streak/3.1.0
+ mdast-util-to-string: registry.npmmirror.com/mdast-util-to-string/3.1.0
+ micromark-util-decode-string: registry.npmmirror.com/micromark-util-decode-string/1.0.2
+ unist-util-visit: registry.npmmirror.com/unist-util-visit/4.1.1
+ zwitch: registry.npmmirror.com/zwitch/2.0.4
+
+ registry.npmmirror.com/mdast-util-to-string/3.1.0:
+ resolution: {integrity: sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz}
+ name: mdast-util-to-string
+ version: 3.1.0
+
+ registry.npmmirror.com/meow/8.1.2:
+ resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/meow/-/meow-8.1.2.tgz}
+ name: meow
+ version: 8.1.2
+ engines: {node: '>=10'}
+ dependencies:
+ '@types/minimist': registry.npmmirror.com/@types/minimist/1.2.2
+ camelcase-keys: registry.npmmirror.com/camelcase-keys/6.2.2
+ decamelize-keys: registry.npmmirror.com/decamelize-keys/1.1.1
+ hard-rejection: registry.npmmirror.com/hard-rejection/2.1.0
+ minimist-options: registry.npmmirror.com/minimist-options/4.1.0
+ normalize-package-data: registry.npmmirror.com/normalize-package-data/3.0.3
+ read-pkg-up: registry.npmmirror.com/read-pkg-up/7.0.1
+ redent: registry.npmmirror.com/redent/3.0.0
+ trim-newlines: registry.npmmirror.com/trim-newlines/3.0.1
+ type-fest: registry.npmmirror.com/type-fest/0.18.1
+ yargs-parser: registry.npmmirror.com/yargs-parser/20.2.9
+ dev: true
+
+ registry.npmmirror.com/merge-stream/2.0.0:
+ resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, registry: http://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/merge/2.1.1:
+ resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/merge/-/merge-2.1.1.tgz}
+ name: merge
version: 2.1.1
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}
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, registry: http://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/micromark-core-commonmark/1.0.6:
+ resolution: {integrity: sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz}
+ name: micromark-core-commonmark
+ version: 1.0.6
+ dependencies:
+ decode-named-character-reference: registry.npmmirror.com/decode-named-character-reference/1.0.2
+ micromark-factory-destination: registry.npmmirror.com/micromark-factory-destination/1.0.0
+ micromark-factory-label: registry.npmmirror.com/micromark-factory-label/1.0.2
+ micromark-factory-space: registry.npmmirror.com/micromark-factory-space/1.0.0
+ micromark-factory-title: registry.npmmirror.com/micromark-factory-title/1.0.2
+ micromark-factory-whitespace: registry.npmmirror.com/micromark-factory-whitespace/1.0.0
+ micromark-util-character: registry.npmmirror.com/micromark-util-character/1.1.0
+ micromark-util-chunked: registry.npmmirror.com/micromark-util-chunked/1.0.0
+ micromark-util-classify-character: registry.npmmirror.com/micromark-util-classify-character/1.0.0
+ micromark-util-html-tag-name: registry.npmmirror.com/micromark-util-html-tag-name/1.1.0
+ micromark-util-normalize-identifier: registry.npmmirror.com/micromark-util-normalize-identifier/1.0.0
+ micromark-util-resolve-all: registry.npmmirror.com/micromark-util-resolve-all/1.0.0
+ micromark-util-subtokenize: registry.npmmirror.com/micromark-util-subtokenize/1.0.2
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+ uvu: registry.npmmirror.com/uvu/0.5.6
+
+ registry.npmmirror.com/micromark-extension-frontmatter/1.0.0:
+ resolution: {integrity: sha512-EXjmRnupoX6yYuUJSQhrQ9ggK0iQtQlpi6xeJzVD5xscyAI+giqco5fdymayZhJMbIFecjnE2yz85S9NzIgQpg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-extension-frontmatter/-/micromark-extension-frontmatter-1.0.0.tgz}
+ name: micromark-extension-frontmatter
+ version: 1.0.0
+ dependencies:
+ fault: registry.npmmirror.com/fault/2.0.1
+ micromark-util-character: registry.npmmirror.com/micromark-util-character/1.1.0
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+ dev: false
+
+ registry.npmmirror.com/micromark-extension-gfm-autolink-literal/1.0.3:
+ resolution: {integrity: sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.3.tgz}
+ name: micromark-extension-gfm-autolink-literal
+ version: 1.0.3
+ dependencies:
+ micromark-util-character: registry.npmmirror.com/micromark-util-character/1.1.0
+ micromark-util-sanitize-uri: registry.npmmirror.com/micromark-util-sanitize-uri/1.1.0
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+ uvu: registry.npmmirror.com/uvu/0.5.6
+ dev: false
+
+ registry.npmmirror.com/micromark-extension-gfm-footnote/1.0.4:
+ resolution: {integrity: sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.0.4.tgz}
+ name: micromark-extension-gfm-footnote
+ version: 1.0.4
+ dependencies:
+ micromark-core-commonmark: registry.npmmirror.com/micromark-core-commonmark/1.0.6
+ micromark-factory-space: registry.npmmirror.com/micromark-factory-space/1.0.0
+ micromark-util-character: registry.npmmirror.com/micromark-util-character/1.1.0
+ micromark-util-normalize-identifier: registry.npmmirror.com/micromark-util-normalize-identifier/1.0.0
+ micromark-util-sanitize-uri: registry.npmmirror.com/micromark-util-sanitize-uri/1.1.0
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+ uvu: registry.npmmirror.com/uvu/0.5.6
+ dev: false
+
+ registry.npmmirror.com/micromark-extension-gfm-strikethrough/1.0.4:
+ resolution: {integrity: sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.4.tgz}
+ name: micromark-extension-gfm-strikethrough
+ version: 1.0.4
+ dependencies:
+ micromark-util-chunked: registry.npmmirror.com/micromark-util-chunked/1.0.0
+ micromark-util-classify-character: registry.npmmirror.com/micromark-util-classify-character/1.0.0
+ micromark-util-resolve-all: registry.npmmirror.com/micromark-util-resolve-all/1.0.0
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+ uvu: registry.npmmirror.com/uvu/0.5.6
+ dev: false
+
+ registry.npmmirror.com/micromark-extension-gfm-table/1.0.5:
+ resolution: {integrity: sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.5.tgz}
+ name: micromark-extension-gfm-table
+ version: 1.0.5
+ dependencies:
+ micromark-factory-space: registry.npmmirror.com/micromark-factory-space/1.0.0
+ micromark-util-character: registry.npmmirror.com/micromark-util-character/1.1.0
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+ uvu: registry.npmmirror.com/uvu/0.5.6
+ dev: false
+
+ registry.npmmirror.com/micromark-extension-gfm-tagfilter/1.0.1:
+ resolution: {integrity: sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.1.tgz}
+ name: micromark-extension-gfm-tagfilter
+ version: 1.0.1
+ dependencies:
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+ dev: false
+
+ registry.npmmirror.com/micromark-extension-gfm-task-list-item/1.0.3:
+ resolution: {integrity: sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.3.tgz}
+ name: micromark-extension-gfm-task-list-item
+ version: 1.0.3
+ dependencies:
+ micromark-factory-space: registry.npmmirror.com/micromark-factory-space/1.0.0
+ micromark-util-character: registry.npmmirror.com/micromark-util-character/1.1.0
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+ uvu: registry.npmmirror.com/uvu/0.5.6
+ dev: false
+
+ registry.npmmirror.com/micromark-extension-gfm/2.0.1:
+ resolution: {integrity: sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-extension-gfm/-/micromark-extension-gfm-2.0.1.tgz}
+ name: micromark-extension-gfm
+ version: 2.0.1
+ dependencies:
+ micromark-extension-gfm-autolink-literal: registry.npmmirror.com/micromark-extension-gfm-autolink-literal/1.0.3
+ micromark-extension-gfm-footnote: registry.npmmirror.com/micromark-extension-gfm-footnote/1.0.4
+ micromark-extension-gfm-strikethrough: registry.npmmirror.com/micromark-extension-gfm-strikethrough/1.0.4
+ micromark-extension-gfm-table: registry.npmmirror.com/micromark-extension-gfm-table/1.0.5
+ micromark-extension-gfm-tagfilter: registry.npmmirror.com/micromark-extension-gfm-tagfilter/1.0.1
+ micromark-extension-gfm-task-list-item: registry.npmmirror.com/micromark-extension-gfm-task-list-item/1.0.3
+ micromark-util-combine-extensions: registry.npmmirror.com/micromark-util-combine-extensions/1.0.0
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+ dev: false
+
+ registry.npmmirror.com/micromark-extension-mdx-expression/1.0.3:
+ resolution: {integrity: sha512-TjYtjEMszWze51NJCZmhv7MEBcgYRgb3tJeMAJ+HQCAaZHHRBaDCccqQzGizR/H4ODefP44wRTgOn2vE5I6nZA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.3.tgz}
+ name: micromark-extension-mdx-expression
+ version: 1.0.3
+ dependencies:
+ micromark-factory-mdx-expression: registry.npmmirror.com/micromark-factory-mdx-expression/1.0.6
+ micromark-factory-space: registry.npmmirror.com/micromark-factory-space/1.0.0
+ micromark-util-character: registry.npmmirror.com/micromark-util-character/1.1.0
+ micromark-util-events-to-acorn: registry.npmmirror.com/micromark-util-events-to-acorn/1.2.0
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+ uvu: registry.npmmirror.com/uvu/0.5.6
+
+ registry.npmmirror.com/micromark-extension-mdx-jsx/1.0.3:
+ resolution: {integrity: sha512-VfA369RdqUISF0qGgv2FfV7gGjHDfn9+Qfiv5hEwpyr1xscRj/CiVRkU7rywGFCO7JwJ5L0e7CJz60lY52+qOA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.3.tgz}
+ name: micromark-extension-mdx-jsx
+ version: 1.0.3
+ dependencies:
+ '@types/acorn': registry.npmmirror.com/@types/acorn/4.0.6
+ estree-util-is-identifier-name: registry.npmmirror.com/estree-util-is-identifier-name/2.0.1
+ micromark-factory-mdx-expression: registry.npmmirror.com/micromark-factory-mdx-expression/1.0.6
+ micromark-factory-space: registry.npmmirror.com/micromark-factory-space/1.0.0
+ micromark-util-character: registry.npmmirror.com/micromark-util-character/1.1.0
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+ uvu: registry.npmmirror.com/uvu/0.5.6
+ vfile-message: registry.npmmirror.com/vfile-message/3.1.3
+
+ registry.npmmirror.com/micromark-extension-mdx-md/1.0.0:
+ resolution: {integrity: sha512-xaRAMoSkKdqZXDAoSgp20Azm0aRQKGOl0RrS81yGu8Hr/JhMsBmfs4wR7m9kgVUIO36cMUQjNyiyDKPrsv8gOw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.0.tgz}
+ name: micromark-extension-mdx-md
+ version: 1.0.0
+ dependencies:
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+
+ registry.npmmirror.com/micromark-extension-mdxjs-esm/1.0.3:
+ resolution: {integrity: sha512-2N13ol4KMoxb85rdDwTAC6uzs8lMX0zeqpcyx7FhS7PxXomOnLactu8WI8iBNXW8AVyea3KIJd/1CKnUmwrK9A==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.3.tgz}
+ name: micromark-extension-mdxjs-esm
+ version: 1.0.3
+ dependencies:
+ micromark-core-commonmark: registry.npmmirror.com/micromark-core-commonmark/1.0.6
+ micromark-util-character: registry.npmmirror.com/micromark-util-character/1.1.0
+ micromark-util-events-to-acorn: registry.npmmirror.com/micromark-util-events-to-acorn/1.2.0
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+ unist-util-position-from-estree: registry.npmmirror.com/unist-util-position-from-estree/1.1.1
+ uvu: registry.npmmirror.com/uvu/0.5.6
+ vfile-message: registry.npmmirror.com/vfile-message/3.1.3
+
+ registry.npmmirror.com/micromark-extension-mdxjs/1.0.0:
+ resolution: {integrity: sha512-TZZRZgeHvtgm+IhtgC2+uDMR7h8eTKF0QUX9YsgoL9+bADBpBY6SiLvWqnBlLbCEevITmTqmEuY3FoxMKVs1rQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.0.tgz}
+ name: micromark-extension-mdxjs
+ version: 1.0.0
+ dependencies:
+ acorn: registry.npmmirror.com/acorn/8.8.1
+ acorn-jsx: registry.npmmirror.com/acorn-jsx/5.3.2_acorn@8.8.1
+ micromark-extension-mdx-expression: registry.npmmirror.com/micromark-extension-mdx-expression/1.0.3
+ micromark-extension-mdx-jsx: registry.npmmirror.com/micromark-extension-mdx-jsx/1.0.3
+ micromark-extension-mdx-md: registry.npmmirror.com/micromark-extension-mdx-md/1.0.0
+ micromark-extension-mdxjs-esm: registry.npmmirror.com/micromark-extension-mdxjs-esm/1.0.3
+ micromark-util-combine-extensions: registry.npmmirror.com/micromark-util-combine-extensions/1.0.0
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+
+ registry.npmmirror.com/micromark-factory-destination/1.0.0:
+ resolution: {integrity: sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz}
+ name: micromark-factory-destination
+ version: 1.0.0
+ dependencies:
+ micromark-util-character: registry.npmmirror.com/micromark-util-character/1.1.0
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+
+ registry.npmmirror.com/micromark-factory-label/1.0.2:
+ resolution: {integrity: sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz}
+ name: micromark-factory-label
+ version: 1.0.2
+ dependencies:
+ micromark-util-character: registry.npmmirror.com/micromark-util-character/1.1.0
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+ uvu: registry.npmmirror.com/uvu/0.5.6
+
+ registry.npmmirror.com/micromark-factory-mdx-expression/1.0.6:
+ resolution: {integrity: sha512-WRQIc78FV7KrCfjsEf/sETopbYjElh3xAmNpLkd1ODPqxEngP42eVRGbiPEQWpRV27LzqW+XVTvQAMIIRLPnNA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.6.tgz}
+ name: micromark-factory-mdx-expression
+ version: 1.0.6
+ dependencies:
+ micromark-factory-space: registry.npmmirror.com/micromark-factory-space/1.0.0
+ micromark-util-character: registry.npmmirror.com/micromark-util-character/1.1.0
+ micromark-util-events-to-acorn: registry.npmmirror.com/micromark-util-events-to-acorn/1.2.0
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+ unist-util-position-from-estree: registry.npmmirror.com/unist-util-position-from-estree/1.1.1
+ uvu: registry.npmmirror.com/uvu/0.5.6
+ vfile-message: registry.npmmirror.com/vfile-message/3.1.3
+
+ registry.npmmirror.com/micromark-factory-space/1.0.0:
+ resolution: {integrity: sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz}
+ name: micromark-factory-space
+ version: 1.0.0
+ dependencies:
+ micromark-util-character: registry.npmmirror.com/micromark-util-character/1.1.0
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+
+ registry.npmmirror.com/micromark-factory-title/1.0.2:
+ resolution: {integrity: sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz}
+ name: micromark-factory-title
+ version: 1.0.2
+ dependencies:
+ micromark-factory-space: registry.npmmirror.com/micromark-factory-space/1.0.0
+ micromark-util-character: registry.npmmirror.com/micromark-util-character/1.1.0
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+ uvu: registry.npmmirror.com/uvu/0.5.6
+
+ registry.npmmirror.com/micromark-factory-whitespace/1.0.0:
+ resolution: {integrity: sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz}
+ name: micromark-factory-whitespace
+ version: 1.0.0
+ dependencies:
+ micromark-factory-space: registry.npmmirror.com/micromark-factory-space/1.0.0
+ micromark-util-character: registry.npmmirror.com/micromark-util-character/1.1.0
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+
+ registry.npmmirror.com/micromark-util-character/1.1.0:
+ resolution: {integrity: sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-1.1.0.tgz}
+ name: micromark-util-character
+ version: 1.1.0
+ dependencies:
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+
+ registry.npmmirror.com/micromark-util-chunked/1.0.0:
+ resolution: {integrity: sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz}
+ name: micromark-util-chunked
+ version: 1.0.0
+ dependencies:
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+
+ registry.npmmirror.com/micromark-util-classify-character/1.0.0:
+ resolution: {integrity: sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz}
+ name: micromark-util-classify-character
+ version: 1.0.0
+ dependencies:
+ micromark-util-character: registry.npmmirror.com/micromark-util-character/1.1.0
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+
+ registry.npmmirror.com/micromark-util-combine-extensions/1.0.0:
+ resolution: {integrity: sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz}
+ name: micromark-util-combine-extensions
+ version: 1.0.0
+ dependencies:
+ micromark-util-chunked: registry.npmmirror.com/micromark-util-chunked/1.0.0
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+
+ registry.npmmirror.com/micromark-util-decode-numeric-character-reference/1.0.0:
+ resolution: {integrity: sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz}
+ name: micromark-util-decode-numeric-character-reference
+ version: 1.0.0
+ dependencies:
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+
+ registry.npmmirror.com/micromark-util-decode-string/1.0.2:
+ resolution: {integrity: sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz}
+ name: micromark-util-decode-string
+ version: 1.0.2
+ dependencies:
+ decode-named-character-reference: registry.npmmirror.com/decode-named-character-reference/1.0.2
+ micromark-util-character: registry.npmmirror.com/micromark-util-character/1.1.0
+ micromark-util-decode-numeric-character-reference: registry.npmmirror.com/micromark-util-decode-numeric-character-reference/1.0.0
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+
+ registry.npmmirror.com/micromark-util-encode/1.0.1:
+ resolution: {integrity: sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz}
+ name: micromark-util-encode
+ version: 1.0.1
+
+ registry.npmmirror.com/micromark-util-events-to-acorn/1.2.0:
+ resolution: {integrity: sha512-WWp3bf7xT9MppNuw3yPjpnOxa8cj5ACivEzXJKu0WwnjBYfzaBvIAT9KfeyI0Qkll+bfQtfftSwdgTH6QhTOKw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.0.tgz}
+ name: micromark-util-events-to-acorn
+ version: 1.2.0
+ dependencies:
+ '@types/acorn': registry.npmmirror.com/@types/acorn/4.0.6
+ '@types/estree': registry.npmmirror.com/@types/estree/1.0.0
+ estree-util-visit: registry.npmmirror.com/estree-util-visit/1.2.0
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+ uvu: registry.npmmirror.com/uvu/0.5.6
+ vfile-location: registry.npmmirror.com/vfile-location/4.0.1
+ vfile-message: registry.npmmirror.com/vfile-message/3.1.3
+
+ registry.npmmirror.com/micromark-util-html-tag-name/1.1.0:
+ resolution: {integrity: sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz}
+ name: micromark-util-html-tag-name
+ version: 1.1.0
+
+ registry.npmmirror.com/micromark-util-normalize-identifier/1.0.0:
+ resolution: {integrity: sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz}
+ name: micromark-util-normalize-identifier
+ version: 1.0.0
+ dependencies:
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+
+ registry.npmmirror.com/micromark-util-resolve-all/1.0.0:
+ resolution: {integrity: sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz}
+ name: micromark-util-resolve-all
+ version: 1.0.0
+ dependencies:
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+
+ registry.npmmirror.com/micromark-util-sanitize-uri/1.1.0:
+ resolution: {integrity: sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz}
+ name: micromark-util-sanitize-uri
+ version: 1.1.0
+ dependencies:
+ micromark-util-character: registry.npmmirror.com/micromark-util-character/1.1.0
+ micromark-util-encode: registry.npmmirror.com/micromark-util-encode/1.0.1
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+
+ registry.npmmirror.com/micromark-util-subtokenize/1.0.2:
+ resolution: {integrity: sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz}
+ name: micromark-util-subtokenize
+ version: 1.0.2
+ dependencies:
+ micromark-util-chunked: registry.npmmirror.com/micromark-util-chunked/1.0.0
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+ uvu: registry.npmmirror.com/uvu/0.5.6
+
+ registry.npmmirror.com/micromark-util-symbol/1.0.1:
+ resolution: {integrity: sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz}
+ name: micromark-util-symbol
+ version: 1.0.1
+
+ registry.npmmirror.com/micromark-util-types/1.0.2:
+ resolution: {integrity: sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-util-types/-/micromark-util-types-1.0.2.tgz}
+ name: micromark-util-types
+ version: 1.0.2
+
+ registry.npmmirror.com/micromark/3.1.0:
+ resolution: {integrity: sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark/-/micromark-3.1.0.tgz}
+ name: micromark
+ version: 3.1.0
+ dependencies:
+ '@types/debug': registry.npmmirror.com/@types/debug/4.1.7
+ debug: registry.npmmirror.com/debug/4.3.4
+ decode-named-character-reference: registry.npmmirror.com/decode-named-character-reference/1.0.2
+ micromark-core-commonmark: registry.npmmirror.com/micromark-core-commonmark/1.0.6
+ micromark-factory-space: registry.npmmirror.com/micromark-factory-space/1.0.0
+ micromark-util-character: registry.npmmirror.com/micromark-util-character/1.1.0
+ micromark-util-chunked: registry.npmmirror.com/micromark-util-chunked/1.0.0
+ micromark-util-combine-extensions: registry.npmmirror.com/micromark-util-combine-extensions/1.0.0
+ micromark-util-decode-numeric-character-reference: registry.npmmirror.com/micromark-util-decode-numeric-character-reference/1.0.0
+ micromark-util-encode: registry.npmmirror.com/micromark-util-encode/1.0.1
+ micromark-util-normalize-identifier: registry.npmmirror.com/micromark-util-normalize-identifier/1.0.0
+ micromark-util-resolve-all: registry.npmmirror.com/micromark-util-resolve-all/1.0.0
+ micromark-util-sanitize-uri: registry.npmmirror.com/micromark-util-sanitize-uri/1.1.0
+ micromark-util-subtokenize: registry.npmmirror.com/micromark-util-subtokenize/1.0.2
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+ uvu: registry.npmmirror.com/uvu/0.5.6
+ transitivePeerDependencies:
+ - supports-color
registry.npmmirror.com/micromatch/4.0.5:
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz}
@@ -4013,7 +5160,6 @@ packages:
dependencies:
braces: registry.npmmirror.com/braces/3.0.2
picomatch: registry.npmmirror.com/picomatch/2.3.1
- dev: true
registry.npmmirror.com/mime-db/1.33.0:
resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime-db/-/mime-db-1.33.0.tgz}
@@ -4106,6 +5252,12 @@ packages:
version: 1.2.7
dev: true
+ registry.npmmirror.com/mri/1.2.0:
+ resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mri/-/mri-1.2.0.tgz}
+ name: mri
+ version: 1.2.0
+ engines: {node: '>=4'}
+
registry.npmmirror.com/mrmime/1.0.1:
resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mrmime/-/mrmime-1.0.1.tgz}
name: mrmime
@@ -4141,7 +5293,7 @@ packages:
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}
+ resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==, registry: http://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}
@@ -4442,6 +5594,20 @@ packages:
callsites: registry.npmmirror.com/callsites/3.1.0
dev: true
+ registry.npmmirror.com/parse-entities/4.0.0:
+ resolution: {integrity: sha512-5nk9Fn03x3rEhGaX1FU6IDwG/k+GxLXlFAkgrbM1asuAFl3BhdQWvASaIsmwWypRNcZKHPYnIuOSfIWEyEQnPQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parse-entities/-/parse-entities-4.0.0.tgz}
+ name: parse-entities
+ version: 4.0.0
+ dependencies:
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+ character-entities: registry.npmmirror.com/character-entities/2.0.2
+ character-entities-legacy: registry.npmmirror.com/character-entities-legacy/3.0.0
+ character-reference-invalid: registry.npmmirror.com/character-reference-invalid/2.0.1
+ decode-named-character-reference: registry.npmmirror.com/decode-named-character-reference/1.0.2
+ is-alphanumerical: registry.npmmirror.com/is-alphanumerical/2.0.1
+ is-decimal: registry.npmmirror.com/is-decimal/2.0.1
+ is-hexadecimal: registry.npmmirror.com/is-hexadecimal/2.0.1
+
registry.npmmirror.com/parse-json/5.2.0:
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz}
name: parse-json
@@ -4461,6 +5627,14 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ registry.npmmirror.com/parse5/7.1.2:
+ resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parse5/-/parse5-7.1.2.tgz}
+ name: parse5
+ version: 7.1.2
+ dependencies:
+ entities: registry.npmmirror.com/entities/4.4.0
+ dev: false
+
registry.npmmirror.com/path-exists/4.0.0:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz}
name: path-exists
@@ -4519,8 +5693,17 @@ packages:
version: 1.1.1
dev: true
+ registry.npmmirror.com/periscopic/3.0.4:
+ resolution: {integrity: sha512-SFx68DxCv0Iyo6APZuw/AKewkkThGwssmU0QWtTlvov3VAtPX+QJ4CadwSaz8nrT5jPIuxdvJWB4PnD2KNDxQg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/periscopic/-/periscopic-3.0.4.tgz}
+ name: periscopic
+ version: 3.0.4
+ dependencies:
+ estree-walker: registry.npmmirror.com/estree-walker/3.0.1
+ is-reference: registry.npmmirror.com/is-reference/3.0.0
+ dev: false
+
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}
+ resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz}
name: picocolors
version: 1.0.0
@@ -4529,7 +5712,6 @@ packages:
name: picomatch
version: 2.3.1
engines: {node: '>=8.6'}
- dev: true
registry.npmmirror.com/pidtree/0.6.0:
resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pidtree/-/pidtree-0.6.0.tgz}
@@ -4573,7 +5755,7 @@ packages:
dev: true
registry.npmmirror.com/postcss/8.4.18:
- resolution: {integrity: sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss/-/postcss-8.4.18.tgz}
+ resolution: {integrity: sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss/-/postcss-8.4.18.tgz}
name: postcss
version: 8.4.18
engines: {node: ^10 || ^12 || >=14}
@@ -4616,6 +5798,12 @@ packages:
react-is: registry.npmmirror.com/react-is/16.13.1
dev: true
+ registry.npmmirror.com/property-information/6.2.0:
+ resolution: {integrity: sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/property-information/-/property-information-6.2.0.tgz}
+ name: property-information
+ version: 6.2.0
+ dev: false
+
registry.npmmirror.com/punycode/1.4.1:
resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/punycode/-/punycode-1.4.1.tgz}
name: punycode
@@ -4640,7 +5828,6 @@ packages:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, registry: http://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/quick-lru/4.0.1:
resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/quick-lru/-/quick-lru-4.0.1.tgz}
@@ -4685,7 +5872,6 @@ packages:
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz}
name: react-is
version: 16.13.1
- dev: true
registry.npmmirror.com/react-refresh/0.14.0:
resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/react-refresh/-/react-refresh-0.14.0.tgz}
@@ -4694,6 +5880,35 @@ packages:
engines: {node: '>=0.10.0'}
dev: false
+ registry.npmmirror.com/react-router-dom/6.4.3_biqbaboplfbrettd7655fr4n2y:
+ resolution: {integrity: sha512-MiaYQU8CwVCaOfJdYvt84KQNjT78VF0TJrA17SIQgNHRvLnXDJO6qsFqq8F/zzB1BWZjCFIrQpu4QxcshitziQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/react-router-dom/-/react-router-dom-6.4.3.tgz}
+ id: registry.npmmirror.com/react-router-dom/6.4.3
+ name: react-router-dom
+ version: 6.4.3
+ engines: {node: '>=14'}
+ peerDependencies:
+ react: '>=16.8'
+ react-dom: '>=16.8'
+ dependencies:
+ '@remix-run/router': registry.npmmirror.com/@remix-run/router/1.0.3
+ react: registry.npmmirror.com/react/18.2.0
+ react-dom: registry.npmmirror.com/react-dom/18.2.0_react@18.2.0
+ react-router: registry.npmmirror.com/react-router/6.4.3_react@18.2.0
+ dev: false
+
+ registry.npmmirror.com/react-router/6.4.3_react@18.2.0:
+ resolution: {integrity: sha512-BT6DoGn6aV1FVP5yfODMOiieakp3z46P1Fk0RNzJMACzE7C339sFuHebfvWtnB4pzBvXXkHP2vscJzWRuUjTtA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/react-router/-/react-router-6.4.3.tgz}
+ id: registry.npmmirror.com/react-router/6.4.3
+ name: react-router
+ version: 6.4.3
+ engines: {node: '>=14'}
+ peerDependencies:
+ react: '>=16.8'
+ dependencies:
+ '@remix-run/router': registry.npmmirror.com/@remix-run/router/1.0.3
+ react: registry.npmmirror.com/react/18.2.0
+ dev: false
+
registry.npmmirror.com/react/18.2.0:
resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/react/-/react-18.2.0.tgz}
name: react
@@ -4755,6 +5970,12 @@ packages:
strip-indent: registry.npmmirror.com/strip-indent/3.0.0
dev: true
+ registry.npmmirror.com/regenerator-runtime/0.13.11:
+ resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz}
+ name: regenerator-runtime
+ version: 0.13.11
+ dev: false
+
registry.npmmirror.com/regexp.prototype.flags/1.4.3:
resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz}
name: regexp.prototype.flags
@@ -4791,6 +6012,125 @@ packages:
rc: registry.npmmirror.com/rc/1.2.8
dev: true
+ registry.npmmirror.com/rehype-autolink-headings/6.1.1:
+ resolution: {integrity: sha512-NMYzZIsHM3sA14nC5rAFuUPIOfg+DFmf9EY1YMhaNlB7+3kK/ZlE6kqPfuxr1tsJ1XWkTrMtMoyHosU70d35mA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rehype-autolink-headings/-/rehype-autolink-headings-6.1.1.tgz}
+ name: rehype-autolink-headings
+ version: 6.1.1
+ dependencies:
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ extend: registry.npmmirror.com/extend/3.0.2
+ hast-util-has-property: registry.npmmirror.com/hast-util-has-property/2.0.0
+ hast-util-heading-rank: registry.npmmirror.com/hast-util-heading-rank/2.1.0
+ hast-util-is-element: registry.npmmirror.com/hast-util-is-element/2.1.2
+ unified: registry.npmmirror.com/unified/10.1.2
+ unist-util-visit: registry.npmmirror.com/unist-util-visit/4.1.1
+ dev: false
+
+ registry.npmmirror.com/rehype-slug/5.1.0:
+ resolution: {integrity: sha512-Gf91dJoXneiorNEnn+Phx97CO7oRMrpi+6r155tTxzGuLtm+QrI4cTwCa9e1rtePdL4i9tSO58PeSS6HWfgsiw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rehype-slug/-/rehype-slug-5.1.0.tgz}
+ name: rehype-slug
+ version: 5.1.0
+ dependencies:
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ github-slugger: registry.npmmirror.com/github-slugger/2.0.0
+ hast-util-has-property: registry.npmmirror.com/hast-util-has-property/2.0.0
+ hast-util-heading-rank: registry.npmmirror.com/hast-util-heading-rank/2.1.0
+ hast-util-to-string: registry.npmmirror.com/hast-util-to-string/2.0.0
+ unified: registry.npmmirror.com/unified/10.1.2
+ unist-util-visit: registry.npmmirror.com/unist-util-visit/4.1.1
+ dev: false
+
+ registry.npmmirror.com/rehype-stringify/9.0.3:
+ resolution: {integrity: sha512-kWiZ1bgyWlgOxpqD5HnxShKAdXtb2IUljn3hQAhySeak6IOQPPt6DeGnsIh4ixm7yKJWzm8TXFuC/lPfcWHJqw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rehype-stringify/-/rehype-stringify-9.0.3.tgz}
+ name: rehype-stringify
+ version: 9.0.3
+ dependencies:
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ hast-util-to-html: registry.npmmirror.com/hast-util-to-html/8.0.3
+ unified: registry.npmmirror.com/unified/10.1.2
+ dev: false
+
+ registry.npmmirror.com/remark-frontmatter/4.0.1:
+ resolution: {integrity: sha512-38fJrB0KnmD3E33a5jZC/5+gGAC2WKNiPw1/fdXJvijBlhA7RCsvJklrYJakS0HedninvaCYW8lQGf9C918GfA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/remark-frontmatter/-/remark-frontmatter-4.0.1.tgz}
+ name: remark-frontmatter
+ version: 4.0.1
+ dependencies:
+ '@types/mdast': registry.npmmirror.com/@types/mdast/3.0.10
+ mdast-util-frontmatter: registry.npmmirror.com/mdast-util-frontmatter/1.0.0
+ micromark-extension-frontmatter: registry.npmmirror.com/micromark-extension-frontmatter/1.0.0
+ unified: registry.npmmirror.com/unified/10.1.2
+ dev: false
+
+ registry.npmmirror.com/remark-gfm/3.0.1:
+ resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/remark-gfm/-/remark-gfm-3.0.1.tgz}
+ name: remark-gfm
+ version: 3.0.1
+ dependencies:
+ '@types/mdast': registry.npmmirror.com/@types/mdast/3.0.10
+ mdast-util-gfm: registry.npmmirror.com/mdast-util-gfm/2.0.1
+ micromark-extension-gfm: registry.npmmirror.com/micromark-extension-gfm/2.0.1
+ unified: registry.npmmirror.com/unified/10.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ registry.npmmirror.com/remark-mdx-frontmatter/2.1.1:
+ resolution: {integrity: sha512-kH8R4FcZ9VD2Uak9FuEgoZnKdIXhIXA3kYVB+6hkoWgYXbgpZNetgiAw58q4Z0MMN3W+nfkg7Fv6bcJTr1Y8BQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/remark-mdx-frontmatter/-/remark-mdx-frontmatter-2.1.1.tgz}
+ name: remark-mdx-frontmatter
+ version: 2.1.1
+ engines: {node: '>=14.0.0'}
+ dependencies:
+ '@types/mdast': registry.npmmirror.com/@types/mdast/3.0.10
+ estree-util-is-identifier-name: registry.npmmirror.com/estree-util-is-identifier-name/2.0.1
+ estree-util-value-to-estree: registry.npmmirror.com/estree-util-value-to-estree/2.1.0
+ toml: registry.npmmirror.com/toml/3.0.0
+ unified: registry.npmmirror.com/unified/10.1.2
+ yaml: registry.npmmirror.com/yaml/2.1.3
+ dev: false
+
+ registry.npmmirror.com/remark-mdx/2.2.1:
+ resolution: {integrity: sha512-R9wcN+/THRXTKyRBp6Npo/mcbGA2iT3N4G8qUqLA5pOEg7kBidHv8K2hHidCMYZ6DXmwK18umu0K4cicgA2PPQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/remark-mdx/-/remark-mdx-2.2.1.tgz}
+ name: remark-mdx
+ version: 2.2.1
+ dependencies:
+ mdast-util-mdx: registry.npmmirror.com/mdast-util-mdx/2.0.0
+ micromark-extension-mdxjs: registry.npmmirror.com/micromark-extension-mdxjs/1.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ registry.npmmirror.com/remark-parse/10.0.1:
+ resolution: {integrity: sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/remark-parse/-/remark-parse-10.0.1.tgz}
+ name: remark-parse
+ version: 10.0.1
+ dependencies:
+ '@types/mdast': registry.npmmirror.com/@types/mdast/3.0.10
+ mdast-util-from-markdown: registry.npmmirror.com/mdast-util-from-markdown/1.2.0
+ unified: registry.npmmirror.com/unified/10.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ registry.npmmirror.com/remark-rehype/10.1.0:
+ resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/remark-rehype/-/remark-rehype-10.1.0.tgz}
+ name: remark-rehype
+ version: 10.1.0
+ dependencies:
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ '@types/mdast': registry.npmmirror.com/@types/mdast/3.0.10
+ mdast-util-to-hast: registry.npmmirror.com/mdast-util-to-hast/12.2.4
+ unified: registry.npmmirror.com/unified/10.1.2
+ dev: false
+
+ registry.npmmirror.com/remark-stringify/10.0.2:
+ resolution: {integrity: sha512-6wV3pvbPvHkbNnWB0wdDvVFHOe1hBRAx1Q/5g/EpH4RppAII6J8Gnwe7VbHuXaoKIF6LAg6ExTel/+kNqSQ7lw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/remark-stringify/-/remark-stringify-10.0.2.tgz}
+ name: remark-stringify
+ version: 10.0.2
+ dependencies:
+ '@types/mdast': registry.npmmirror.com/@types/mdast/3.0.10
+ mdast-util-to-markdown: registry.npmmirror.com/mdast-util-to-markdown/1.4.0
+ unified: registry.npmmirror.com/unified/10.1.2
+ dev: true
+
registry.npmmirror.com/require-directory/2.1.1:
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz}
name: require-directory
@@ -4839,7 +6179,7 @@ packages:
dev: true
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}
+ resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/resolve/-/resolve-1.22.1.tgz}
name: resolve
version: 1.22.1
hasBin: true
@@ -4884,7 +6224,6 @@ packages:
name: reusify
version: 1.0.4
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
- dev: true
registry.npmmirror.com/rfdc/1.3.0:
resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rfdc/-/rfdc-1.3.0.tgz}
@@ -4901,14 +6240,25 @@ packages:
glob: registry.npmmirror.com/glob/7.2.3
dev: true
+ registry.npmmirror.com/rollup/2.78.1:
+ resolution: {integrity: sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==, registry: http://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: false
+
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}
+ resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==, registry: http://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/rollup/3.2.3:
resolution: {integrity: sha512-qfadtkY5kl0F5e4dXVdj2D+GtOdifasXHFMiL1SMf9ADQDv5Eti6xReef9FKj+iQPR2pvtqWna57s/PjARY4fg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rollup/-/rollup-3.2.3.tgz}
@@ -4943,7 +6293,6 @@ packages:
version: 1.2.0
dependencies:
queue-microtask: registry.npmmirror.com/queue-microtask/1.2.3
- dev: true
registry.npmmirror.com/rxjs/7.6.0:
resolution: {integrity: sha512-DDa7d8TFNUalGC9VqXvQ1euWNN7sc63TrUCuM9J998+ViviahMIjKSOU7rfcgFOF+FCD71BhDRv4hrFz+ImDLQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rxjs/-/rxjs-7.6.0.tgz}
@@ -4953,6 +6302,14 @@ packages:
tslib: registry.npmmirror.com/tslib/2.4.1
dev: true
+ registry.npmmirror.com/sade/1.8.1:
+ resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sade/-/sade-1.8.1.tgz}
+ name: sade
+ version: 1.8.1
+ engines: {node: '>=6'}
+ dependencies:
+ mri: registry.npmmirror.com/mri/1.2.0
+
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
@@ -5074,6 +6431,16 @@ packages:
engines: {node: '>=8'}
dev: true
+ registry.npmmirror.com/shiki/0.12.1:
+ resolution: {integrity: sha512-aieaV1m349rZINEBkjxh2QbBvFFQOlgqYTNtCal82hHj4dDZ76oMlQIX+C7ryerBTDiga3e5NfH6smjdJ02BbQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/shiki/-/shiki-0.12.1.tgz}
+ name: shiki
+ version: 0.12.1
+ dependencies:
+ jsonc-parser: registry.npmmirror.com/jsonc-parser/3.2.0
+ vscode-oniguruma: registry.npmmirror.com/vscode-oniguruma/1.7.0
+ vscode-textmate: registry.npmmirror.com/vscode-textmate/8.0.0
+ dev: false
+
registry.npmmirror.com/side-channel/1.0.4:
resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz}
name: side-channel
@@ -5140,7 +6507,7 @@ packages:
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}
+ resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, registry: http://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'}
@@ -5161,6 +6528,13 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ registry.npmmirror.com/source-map/0.7.4:
+ resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz}
+ name: source-map
+ version: 0.7.4
+ engines: {node: '>= 8'}
+ dev: false
+
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
@@ -5176,6 +6550,12 @@ packages:
version: 1.4.8
dev: false
+ registry.npmmirror.com/space-separated-tokens/2.0.2:
+ resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz}
+ name: space-separated-tokens
+ version: 2.0.2
+ dev: false
+
registry.npmmirror.com/spdx-correct/3.1.1:
resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/spdx-correct/-/spdx-correct-3.1.1.tgz}
name: spdx-correct
@@ -5285,6 +6665,14 @@ packages:
dependencies:
safe-buffer: registry.npmmirror.com/safe-buffer/5.2.1
+ registry.npmmirror.com/stringify-entities/4.0.3:
+ resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/stringify-entities/-/stringify-entities-4.0.3.tgz}
+ name: stringify-entities
+ version: 4.0.3
+ dependencies:
+ character-entities-html4: registry.npmmirror.com/character-entities-html4/2.1.0
+ character-entities-legacy: registry.npmmirror.com/character-entities-legacy/3.0.0
+
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
@@ -5354,6 +6742,14 @@ packages:
acorn: registry.npmmirror.com/acorn/8.8.1
dev: true
+ registry.npmmirror.com/style-to-object/0.3.0:
+ resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/style-to-object/-/style-to-object-0.3.0.tgz}
+ name: style-to-object
+ version: 0.3.0
+ dependencies:
+ inline-style-parser: registry.npmmirror.com/inline-style-parser/0.1.1
+ dev: false
+
registry.npmmirror.com/sucrase/3.29.0:
resolution: {integrity: sha512-bZPAuGA5SdFHuzqIhTAqt9fvNEo9rESqXIG3oiKdF8K4UmkQxC4KlNL3lVyAErXp+mPvUqZ5l13qx6TrDIGf3A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sucrase/-/sucrase-3.29.0.tgz}
name: sucrase
@@ -5479,7 +6875,12 @@ packages:
engines: {node: '>=8.0'}
dependencies:
is-number: registry.npmmirror.com/is-number/7.0.0
- dev: true
+
+ registry.npmmirror.com/toml/3.0.0:
+ resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/toml/-/toml-3.0.0.tgz}
+ name: toml
+ version: 3.0.0
+ dev: false
registry.npmmirror.com/totalist/3.0.0:
resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/totalist/-/totalist-3.0.0.tgz}
@@ -5503,6 +6904,12 @@ packages:
hasBin: true
dev: true
+ registry.npmmirror.com/trim-lines/3.0.1:
+ resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/trim-lines/-/trim-lines-3.0.1.tgz}
+ name: trim-lines
+ version: 3.0.1
+ dev: false
+
registry.npmmirror.com/trim-newlines/3.0.1:
resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/trim-newlines/-/trim-newlines-3.0.1.tgz}
name: trim-newlines
@@ -5510,6 +6917,11 @@ packages:
engines: {node: '>=8'}
dev: true
+ registry.npmmirror.com/trough/2.1.0:
+ resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/trough/-/trough-2.1.0.tgz}
+ name: trough
+ version: 2.1.0
+
registry.npmmirror.com/ts-interface-checker/0.1.13:
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz}
name: ts-interface-checker
@@ -5704,6 +7116,85 @@ packages:
which-boxed-primitive: registry.npmmirror.com/which-boxed-primitive/1.0.2
dev: true
+ registry.npmmirror.com/unified/10.1.2:
+ resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unified/-/unified-10.1.2.tgz}
+ name: unified
+ version: 10.1.2
+ dependencies:
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+ bail: registry.npmmirror.com/bail/2.0.2
+ extend: registry.npmmirror.com/extend/3.0.2
+ is-buffer: registry.npmmirror.com/is-buffer/2.0.5
+ is-plain-obj: registry.npmmirror.com/is-plain-obj/4.1.0
+ trough: registry.npmmirror.com/trough/2.1.0
+ vfile: registry.npmmirror.com/vfile/5.3.6
+
+ registry.npmmirror.com/unist-builder/3.0.0:
+ resolution: {integrity: sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unist-builder/-/unist-builder-3.0.0.tgz}
+ name: unist-builder
+ version: 3.0.0
+ dependencies:
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+ dev: false
+
+ registry.npmmirror.com/unist-util-generated/2.0.0:
+ resolution: {integrity: sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unist-util-generated/-/unist-util-generated-2.0.0.tgz}
+ name: unist-util-generated
+ version: 2.0.0
+ dev: false
+
+ registry.npmmirror.com/unist-util-is/5.1.1:
+ resolution: {integrity: sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unist-util-is/-/unist-util-is-5.1.1.tgz}
+ name: unist-util-is
+ version: 5.1.1
+
+ registry.npmmirror.com/unist-util-position-from-estree/1.1.1:
+ resolution: {integrity: sha512-xtoY50b5+7IH8tFbkw64gisG9tMSpxDjhX9TmaJJae/XuxQ9R/Kc8Nv1eOsf43Gt4KV/LkriMy9mptDr7XLcaw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.1.tgz}
+ name: unist-util-position-from-estree
+ version: 1.1.1
+ dependencies:
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+
+ registry.npmmirror.com/unist-util-position/4.0.3:
+ resolution: {integrity: sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unist-util-position/-/unist-util-position-4.0.3.tgz}
+ name: unist-util-position
+ version: 4.0.3
+ dependencies:
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+ dev: false
+
+ registry.npmmirror.com/unist-util-remove-position/4.0.1:
+ resolution: {integrity: sha512-0yDkppiIhDlPrfHELgB+NLQD5mfjup3a8UYclHruTJWmY74je8g+CIFr79x5f6AkmzSwlvKLbs63hC0meOMowQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unist-util-remove-position/-/unist-util-remove-position-4.0.1.tgz}
+ name: unist-util-remove-position
+ version: 4.0.1
+ dependencies:
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+ unist-util-visit: registry.npmmirror.com/unist-util-visit/4.1.1
+
+ registry.npmmirror.com/unist-util-stringify-position/3.0.2:
+ resolution: {integrity: sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.2.tgz}
+ name: unist-util-stringify-position
+ version: 3.0.2
+ dependencies:
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+
+ registry.npmmirror.com/unist-util-visit-parents/5.1.1:
+ resolution: {integrity: sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.1.tgz}
+ name: unist-util-visit-parents
+ version: 5.1.1
+ dependencies:
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+ unist-util-is: registry.npmmirror.com/unist-util-is/5.1.1
+
+ registry.npmmirror.com/unist-util-visit/4.1.1:
+ resolution: {integrity: sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unist-util-visit/-/unist-util-visit-4.1.1.tgz}
+ name: unist-util-visit
+ version: 4.1.1
+ dependencies:
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+ unist-util-is: registry.npmmirror.com/unist-util-is/5.1.1
+ unist-util-visit-parents: registry.npmmirror.com/unist-util-visit-parents/5.1.1
+
registry.npmmirror.com/universalify/2.0.0:
resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/universalify/-/universalify-2.0.0.tgz}
name: universalify
@@ -5746,6 +7237,18 @@ packages:
name: util-deprecate
version: 1.0.2
+ registry.npmmirror.com/uvu/0.5.6:
+ resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/uvu/-/uvu-0.5.6.tgz}
+ name: uvu
+ version: 0.5.6
+ engines: {node: '>=8'}
+ hasBin: true
+ dependencies:
+ dequal: registry.npmmirror.com/dequal/2.0.3
+ diff: registry.npmmirror.com/diff/5.1.0
+ kleur: registry.npmmirror.com/kleur/4.1.5
+ sade: registry.npmmirror.com/sade/1.8.1
+
registry.npmmirror.com/v8-compile-cache-lib/3.0.1:
resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz}
name: v8-compile-cache-lib
@@ -5768,8 +7271,63 @@ packages:
engines: {node: '>= 0.8'}
dev: true
+ registry.npmmirror.com/vfile-location/4.0.1:
+ resolution: {integrity: sha512-JDxPlTbZrZCQXogGheBHjbRWjESSPEak770XwWPfw5mTc1v1nWGLB/apzZxsx8a0SJVfF8HK8ql8RD308vXRUw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vfile-location/-/vfile-location-4.0.1.tgz}
+ name: vfile-location
+ version: 4.0.1
+ dependencies:
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+ vfile: registry.npmmirror.com/vfile/5.3.6
+
+ registry.npmmirror.com/vfile-message/3.1.3:
+ resolution: {integrity: sha512-0yaU+rj2gKAyEk12ffdSbBfjnnj+b1zqTBv3OQCTn8yEB02bsPizwdBPrLJjHnK+cU9EMMcUnNv938XcZIkmdA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vfile-message/-/vfile-message-3.1.3.tgz}
+ name: vfile-message
+ version: 3.1.3
+ dependencies:
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+ unist-util-stringify-position: registry.npmmirror.com/unist-util-stringify-position/3.0.2
+
+ registry.npmmirror.com/vfile/5.3.6:
+ resolution: {integrity: sha512-ADBsmerdGBs2WYckrLBEmuETSPyTD4TuLxTrw0DvjirxW1ra4ZwkbzG8ndsv3Q57smvHxo677MHaQrY9yxH8cA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vfile/-/vfile-5.3.6.tgz}
+ name: vfile
+ version: 5.3.6
+ dependencies:
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+ is-buffer: registry.npmmirror.com/is-buffer/2.0.5
+ unist-util-stringify-position: registry.npmmirror.com/unist-util-stringify-position/3.0.2
+ vfile-message: registry.npmmirror.com/vfile-message/3.1.3
+
+ registry.npmmirror.com/vite/3.1.4:
+ resolution: {integrity: sha512-JoQI08aBjY9lycL7jcEq4p9o1xUjq5aRvdH4KWaXtkSx7e7RpAh9D3IjzDWRD4Fg44LS3oDAIOG/Kq1L+82psA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vite/-/vite-3.1.4.tgz}
+ name: vite
+ version: 3.1.4
+ 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
+ dependencies:
+ esbuild: registry.npmmirror.com/esbuild/0.15.12
+ postcss: registry.npmmirror.com/postcss/8.4.18
+ 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: false
+
registry.npmmirror.com/vite/3.2.1:
- resolution: {integrity: sha512-ADtMkfHuWq4tskJsri2n2FZkORO8ZyhI+zIz7zTrDAgDEtct1jdxOg3YsZBfHhKjmMoWLOSCr+64qrEDGo/DbQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vite/-/vite-3.2.1.tgz}
+ resolution: {integrity: sha512-ADtMkfHuWq4tskJsri2n2FZkORO8ZyhI+zIz7zTrDAgDEtct1jdxOg3YsZBfHhKjmMoWLOSCr+64qrEDGo/DbQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vite/-/vite-3.2.1.tgz}
name: vite
version: 3.2.1
engines: {node: ^14.18.0 || >=16.0.0}
@@ -5798,6 +7356,7 @@ packages:
rollup: registry.npmmirror.com/rollup/2.79.1
optionalDependencies:
fsevents: registry.npmmirror.com/fsevents/2.3.2
+ dev: true
registry.npmmirror.com/vitest/0.25.3_@vitest+ui@0.25.3:
resolution: {integrity: sha512-/UzHfXIKsELZhL7OaM2xFlRF8HRZgAHtPctacvNK8H4vOcbJJAMEgbWNGSAK7Y9b1NBe5SeM7VTuz2RsTHFJJA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vitest/-/vitest-0.25.3.tgz}
@@ -5848,6 +7407,18 @@ packages:
- terser
dev: true
+ registry.npmmirror.com/vscode-oniguruma/1.7.0:
+ resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz}
+ name: vscode-oniguruma
+ version: 1.7.0
+ dev: false
+
+ registry.npmmirror.com/vscode-textmate/8.0.0:
+ resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-textmate/-/vscode-textmate-8.0.0.tgz}
+ name: vscode-textmate
+ version: 8.0.0
+ dev: false
+
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
@@ -5855,6 +7426,12 @@ packages:
dependencies:
defaults: registry.npmmirror.com/defaults/1.0.4
+ registry.npmmirror.com/web-namespaces/2.0.1:
+ resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/web-namespaces/-/web-namespaces-2.0.1.tgz}
+ name: web-namespaces
+ version: 2.0.1
+ dev: false
+
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
@@ -5982,7 +7559,6 @@ packages:
name: yaml
version: 2.1.3
engines: {node: '>= 14'}
- dev: true
registry.npmmirror.com/yargs-parser/20.2.9:
resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz}
@@ -6026,3 +7602,8 @@ packages:
version: 0.1.0
engines: {node: '>=10'}
dev: true
+
+ registry.npmmirror.com/zwitch/2.0.4:
+ resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/zwitch/-/zwitch-2.0.4.tgz}
+ name: zwitch
+ version: 2.0.4
diff --git a/src/node/__test__/md.test.ts b/src/node/__test__/md.test.ts
new file mode 100644
index 0000000..3e70d60
--- /dev/null
+++ b/src/node/__test__/md.test.ts
@@ -0,0 +1,90 @@
+import { unified } from 'unified';
+import remarkParse from 'remark-parse';
+import remarkRehype from 'remark-rehype';
+import rehypeStringify from 'rehype-stringify';
+import { rehypePluginPreWrapper } from '../plugin-mdx/rehypePlugins/preWrapper';
+import { describe, test, expect } from 'vitest';
+import { rehypePluginShiki } from '../plugin-mdx/rehypePlugins/shiki';
+import shiki from 'shiki';
+import remarkMdx from 'remark-mdx';
+import remarkStringify from 'remark-stringify';
+import { remarkPluginToc } from '../plugin-mdx/remarkPlugins/toc';
+
+describe('Markdown compile cases', async () => {
+ const processor = unified();
+
+ processor
+ .use(remarkParse)
+ .use(remarkRehype)
+ .use(rehypeStringify)
+ .use(rehypePluginPreWrapper)
+ .use(rehypePluginShiki, {
+ highlighter: await shiki.getHighlighter({
+ theme: 'nord'
+ })
+ });
+
+ test('Compile title', async () => {
+ const result = processor.processSync('# Hello World');
+ expect(result.toString()).toMatchInlineSnapshot('"Hello World "');
+ });
+
+ test('Compile code', async () => {
+ const mdContent = 'I am using `Island.js`';
+ const result = processor.processSync(mdContent);
+ expect(result.value).toMatchInlineSnapshot(
+ '"I am using Island.js
"'
+ );
+ });
+
+ test('Compile code block', async () => {
+ const mdContent = '```js\nconsole.log("Hello World");\n```';
+ const result = processor.processSync(mdContent);
+ expect(result.value).toMatchInlineSnapshot(`
+ "js console . log ( \\" Hello World \\" ) ;
+
"
+ `);
+ });
+
+ test('Compile TOC', async () => {
+ const mdContent = `# h1
+
+## h2 \`code\`
+
+### h3 [link](https://islandjs.dev)
+
+#### h4
+
+##### h5
+`;
+ const remarkProcessor = unified()
+ .use(remarkParse)
+ .use(remarkMdx)
+ .use(remarkPluginToc)
+ .use(remarkStringify);
+
+ const result = remarkProcessor.processSync(mdContent);
+ expect(result.value.toString().replace(mdContent, ''))
+ .toMatchInlineSnapshot(`
+ "
+ export const toc = [
+ {
+ \\"id\\": \\"h2-code\\",
+ \\"text\\": \\"h2 code\\",
+ \\"depth\\": 2
+ },
+ {
+ \\"id\\": \\"h3-link\\",
+ \\"text\\": \\"h3 link\\",
+ \\"depth\\": 3
+ },
+ {
+ \\"id\\": \\"h4\\",
+ \\"text\\": \\"h4\\",
+ \\"depth\\": 4
+ }
+ ];
+ "
+ `);
+ });
+});
diff --git a/src/node/build.ts b/src/node/build.ts
index f36c6f3..ee3b4e2 100644
--- a/src/node/build.ts
+++ b/src/node/build.ts
@@ -1,18 +1,28 @@
import { build as viteBuild, InlineConfig } from 'vite';
import type { RollupOutput } from 'rollup';
import { CLIENT_ENTRY_PATH, SERVER_ENTRY_PATH } from './constants';
-import { join } from 'path';
+import path, { dirname, join } from 'path';
import fs from 'fs-extra';
import ora from 'ora';
import { pathToFileURL } from 'url';
+import { SiteConfig } from 'shared/types';
+import { createVitePlugins } from './vitePlugins';
+import type { Plugin } from 'vite';
+import { Route } from './plugin-routes';
-export async function bundle(root: string) {
- const resolveViteConfig = (isServer: boolean): InlineConfig => ({
+export async function bundle(root: string, config: SiteConfig) {
+ const resolveViteConfig = async (
+ isServer: boolean
+ ): Promise => ({
mode: 'production',
root,
+ ssr: {
+ noExternal: ['react-router-dom']
+ },
+ plugins: (await createVitePlugins(config, undefined, isServer)) as Plugin[],
build: {
ssr: isServer,
- outDir: isServer ? '.temp' : 'build',
+ outDir: isServer ? path.join(root, '.temp') : path.join(root, 'build'),
rollupOptions: {
input: isServer ? SERVER_ENTRY_PATH : CLIENT_ENTRY_PATH,
output: {
@@ -28,9 +38,9 @@ export async function bundle(root: string) {
try {
const [clientBundle, serverBundle] = await Promise.all([
// client build
- viteBuild(resolveViteConfig(false)),
+ viteBuild(await resolveViteConfig(false)),
// server build
- viteBuild(resolveViteConfig(true))
+ viteBuild(await resolveViteConfig(true))
]);
return [clientBundle, serverBundle] as [RollupOutput, RollupOutput];
} catch (e) {
@@ -39,40 +49,52 @@ export async function bundle(root: string) {
}
export async function renderPage(
- render: () => string,
+ render: (pagePath: string) => string,
root: string,
- clientBundle: RollupOutput
+ clientBundle: RollupOutput,
+ routes: Route[]
) {
const clientChunk = clientBundle.output.find(
(chunk) => chunk.type === 'chunk' && chunk.isEntry
);
console.log('Rendering page in server side...');
- const appHtml = render();
- const html = `
-
-
-
-
-
- title
-
-
-
- ${appHtml}
-
-
-`.trim();
- await fs.ensureDir(join(root, 'build'));
- await fs.writeFile(join(root, 'build/index.html'), html);
+ await Promise.all(
+ routes.map(async (route) => {
+ const routePath = route.path;
+ const appHtml = render(routePath);
+ const html = `
+
+
+
+
+
+ title
+
+
+
+ ${appHtml}
+
+
+ `.trim();
+ const fileName = routePath.endsWith('/')
+ ? `${routePath}index.html`
+ : `${routePath}.html`;
+ // 当前文件的文件夹路径
+ await fs.ensureDir(join(root, 'build', dirname(fileName)));
+ await fs.writeFile(join(root, 'build', fileName), html);
+ })
+ );
await fs.remove(join(root, '.temp'));
}
-export async function build(root: string = process.cwd()) {
+export async function build(root: string = process.cwd(), config: SiteConfig) {
// 1. bundle - client 端 + server 端
- const [clientBundle] = await bundle(root);
+ const [clientBundle] = await bundle(root, config);
// 2. 引入 server-entry 模块
const serverEntryPath = join(root, '.temp', 'ssr-entry.js');
- const { render } = await import(pathToFileURL(serverEntryPath).toString());
+ const { render, routes } = await import(
+ pathToFileURL(serverEntryPath).toString()
+ );
// 3. 服务端渲染,产出 HTML
- await renderPage(render, root, clientBundle);
+ await renderPage(render, root, clientBundle, routes);
}
diff --git a/src/node/cli.ts b/src/node/cli.ts
index fbc709b..3a8cf07 100644
--- a/src/node/cli.ts
+++ b/src/node/cli.ts
@@ -1,14 +1,22 @@
import cac from 'cac';
import { resolve } from 'path';
import { build } from './build';
+import { resolveConfig } from './config';
import { createDevServer } from './dev';
const cli = cac('island').version('0.0.1').help();
cli.command('dev [root]', 'start dev server').action(async (root: string) => {
- const server = await createDevServer(root);
- await server.listen();
- server.printUrls();
+ const createServer = async () => {
+ const { createDevServer } = await import('./dev');
+ const server = await createDevServer(root, async () => {
+ await server.close();
+ await createServer();
+ });
+ await server.listen();
+ server.printUrls();
+ };
+ await createServer();
});
cli
@@ -16,7 +24,8 @@ cli
.action(async (root: string) => {
try {
root = resolve(root);
- await build(root);
+ const config = await resolveConfig(root, 'build', 'production');
+ await build(root, config);
} catch (e) {
console.log(e);
}
diff --git a/src/node/config.ts b/src/node/config.ts
new file mode 100644
index 0000000..62ac2ad
--- /dev/null
+++ b/src/node/config.ts
@@ -0,0 +1,83 @@
+import path from 'path';
+import fs from 'fs-extra';
+import { loadConfigFromFile } from 'vite';
+import { SiteConfig, UserConfig } from 'shared/types/index';
+
+type RawConfig =
+ | UserConfig
+ | Promise
+ | (() => UserConfig | Promise);
+
+function getUserConfigPath(root: string) {
+ try {
+ const supportConfigFiles = ['config.ts', 'config.js'];
+ const configPath = supportConfigFiles
+ .map((file) => path.resolve(root, file))
+ .find((file) => fs.pathExistsSync(file));
+ if (!configPath) {
+ throw new Error('Config file not found');
+ }
+ return configPath;
+ } catch (error) {
+ throw new Error('Failed to load user config');
+ }
+}
+
+function resolveSiteData(userConfig: UserConfig) {
+ return {
+ title: userConfig.title || 'Island.js',
+ description: userConfig.description || 'SSG Framework',
+ themeConfig: userConfig.themeConfig || {},
+ vite: userConfig.vite || {}
+ };
+}
+
+export async function resolveUserConfig(
+ root: string,
+ command: 'serve' | 'build',
+ mode: 'production' | 'development'
+) {
+ // 1. 获取配置文件路径,支持js, ts格式
+ const configPath = getUserConfigPath(root);
+
+ // 2. 解析配置文件
+ const result = await loadConfigFromFile(
+ {
+ command,
+ mode
+ },
+ configPath,
+ root
+ );
+ if (result) {
+ const { config: rawConfig = {} as RawConfig } = result;
+ // 1. object
+ // 2. promise
+ // 3. function
+ const userConfig = await (typeof rawConfig === 'function'
+ ? rawConfig()
+ : rawConfig);
+
+ return [configPath, userConfig] as const;
+ } else {
+ return [configPath, {} as UserConfig] as const;
+ }
+}
+
+export async function resolveConfig(
+ root: string,
+ command: 'serve' | 'build',
+ mode: 'production' | 'development'
+) {
+ const [configPath, userConfig] = await resolveUserConfig(root, command, mode);
+ const siteConfig: SiteConfig = {
+ root,
+ configPath: configPath,
+ siteData: resolveSiteData(userConfig as UserConfig)
+ };
+ return siteConfig;
+}
+
+export function defineConfig(config: UserConfig): UserConfig {
+ return config;
+}
diff --git a/src/node/dev.ts b/src/node/dev.ts
index 31f240c..4797ed0 100644
--- a/src/node/dev.ts
+++ b/src/node/dev.ts
@@ -1,11 +1,19 @@
import { createServer } from 'vite';
-import { pluginIndexHtml } from './plugin-island/indexHtml';
-import pluginReact from '@vitejs/plugin-react';
+
import { PACKAGE_ROOT } from './constants';
-export function createDevServer(root: string) {
+import { resolveConfig } from './config';
+import { createVitePlugins } from './vitePlugins';
+import type { Plugin } from 'vite';
+
+export async function createDevServer(
+ root: string,
+ restart: () => Promise
+) {
+ const config = await resolveConfig(root, 'serve', 'development');
+
return createServer({
- root,
- plugins: [pluginIndexHtml(), pluginReact()],
+ root: PACKAGE_ROOT,
+ plugins: (await createVitePlugins(config, restart)) as Plugin[],
server: {
fs: {
allow: [PACKAGE_ROOT]
diff --git a/src/node/index.ts b/src/node/index.ts
new file mode 100644
index 0000000..b8bb5ac
--- /dev/null
+++ b/src/node/index.ts
@@ -0,0 +1 @@
+export { defineConfig } from './config';
diff --git a/src/node/plugin-island/config.ts b/src/node/plugin-island/config.ts
new file mode 100644
index 0000000..fe86269
--- /dev/null
+++ b/src/node/plugin-island/config.ts
@@ -0,0 +1,52 @@
+import { SiteConfig } from '../../shared/types';
+import { normalizePath, Plugin, ViteDevServer } from 'vite';
+import path from 'path';
+import { PACKAGE_ROOT, RUNTIME_PATH } from 'node/constants';
+
+const SITE_DATA_ID = 'island:site-data';
+
+export function pluginConfig(config: SiteConfig, restart?: () => void): Plugin {
+ let server: ViteDevServer | null = null;
+ return {
+ name: 'island:site-data',
+ resolveId(id) {
+ if (id === SITE_DATA_ID) {
+ return '\0' + SITE_DATA_ID;
+ }
+ },
+ load(id) {
+ if (id === '\0' + SITE_DATA_ID) {
+ return `export default ${JSON.stringify(config.siteData)}`;
+ }
+ },
+ configureServer(_server) {
+ // 获取vite dev server实例
+ server = _server;
+ },
+ async handleHotUpdate(ctx) {
+ const customWatchedFiles = [normalizePath(config.configPath)];
+ const include = (id: string) =>
+ customWatchedFiles.some((file) => id.includes(file));
+
+ if (include(ctx.file)) {
+ console.log(config.root);
+ console.log(`
+ \n${path.relative(config.root, ctx.file)} changed,
+ \nrestarting server...
+ `);
+
+ // 调用dev.ts中的createServer
+ restart && (await restart());
+ }
+ },
+ config() {
+ return {
+ resolve: {
+ alias: {
+ '@runtime': RUNTIME_PATH
+ }
+ }
+ };
+ }
+ };
+}
diff --git a/src/node/plugin-island/indexHtml.ts b/src/node/plugin-island/indexHtml.ts
index 4f9ac76..60f36d6 100644
--- a/src/node/plugin-island/indexHtml.ts
+++ b/src/node/plugin-island/indexHtml.ts
@@ -26,7 +26,6 @@ export function pluginIndexHtml(): Plugin {
return () => {
server.middlewares.use(async (req, res, next) => {
let html = await fs.readFile(DEFAULT_HTML_PATH, 'utf-8');
-
try {
html = await server.transformIndexHtml(
req.url,
diff --git a/src/node/plugin-mdx/index.ts b/src/node/plugin-mdx/index.ts
new file mode 100644
index 0000000..4a9f31a
--- /dev/null
+++ b/src/node/plugin-mdx/index.ts
@@ -0,0 +1,6 @@
+import { pluginMdxHMR } from './pluginMdxHmr';
+import { pluginMdxRollup } from './pluginMdxRollup';
+
+export async function createMdxPlugins() {
+ return [await pluginMdxRollup(), await pluginMdxHMR()];
+}
diff --git a/src/node/plugin-mdx/pluginMdxHmr.ts b/src/node/plugin-mdx/pluginMdxHmr.ts
new file mode 100644
index 0000000..fde7186
--- /dev/null
+++ b/src/node/plugin-mdx/pluginMdxHmr.ts
@@ -0,0 +1,34 @@
+import assert from 'assert';
+import { Plugin } from 'vite';
+
+export function pluginMdxHMR(): Plugin {
+ let viteReactPlugin: Plugin;
+
+ return {
+ name: 'vite-plugin-mdx-hmr',
+ apply: 'serve',
+ configResolved(config) {
+ viteReactPlugin = config.plugins.find(
+ (plugin) => plugin.name === 'vite:react-babel'
+ ) as Plugin;
+ },
+ async transform(code, id, opts) {
+ if (/\.mdx?$/.test(id)) {
+ assert(typeof viteReactPlugin.transform === 'function');
+ const result = await viteReactPlugin.transform?.call(
+ this,
+ code,
+ id + '?.jsx',
+ opts
+ );
+ if (
+ typeof result === 'object' &&
+ !result.code?.includes('import.meta.hot.accept(')
+ ) {
+ result.code += 'import.meta.hot.accept();';
+ }
+ return result;
+ }
+ }
+ };
+}
diff --git a/src/node/plugin-mdx/pluginMdxRollup.ts b/src/node/plugin-mdx/pluginMdxRollup.ts
new file mode 100644
index 0000000..caec65d
--- /dev/null
+++ b/src/node/plugin-mdx/pluginMdxRollup.ts
@@ -0,0 +1,46 @@
+import pluginMdx from '@mdx-js/rollup';
+import remarkGfm from 'remark-gfm';
+import type { Plugin } from 'vite';
+import rehypePluginAutolinkHeadings from 'rehype-autolink-headings';
+import rehypePluginSlug from 'rehype-slug';
+import remarkPluginMDXFrontMatter from 'remark-mdx-frontmatter';
+import remarkPluginFrontmatter from 'remark-frontmatter';
+import { rehypePluginPreWrapper } from './rehypePlugins/preWrapper';
+import { rehypePluginShiki } from './rehypePlugins/shiki';
+import { remarkPluginToc } from './remarkPlugins/toc';
+import shiki from 'shiki';
+
+export async function pluginMdxRollup(): Promise {
+ return pluginMdx({
+ remarkPlugins: [
+ remarkGfm,
+ [remarkPluginMDXFrontMatter, { name: 'frontmatter' }],
+ remarkPluginFrontmatter,
+ remarkPluginToc
+ ],
+ rehypePlugins: [
+ rehypePluginSlug,
+ [
+ rehypePluginAutolinkHeadings,
+ {
+ properties: {
+ class: 'header-anchor'
+ },
+ content: {
+ type: 'text',
+ value: '#'
+ }
+ }
+ ],
+ rehypePluginPreWrapper,
+ [
+ rehypePluginShiki,
+ {
+ highlighter: await shiki.getHighlighter({
+ theme: 'nord'
+ })
+ }
+ ]
+ ]
+ }) as unknown as Plugin;
+}
diff --git a/src/node/plugin-mdx/rehypePlugins/preWrapper.ts b/src/node/plugin-mdx/rehypePlugins/preWrapper.ts
new file mode 100644
index 0000000..8a3a5ca
--- /dev/null
+++ b/src/node/plugin-mdx/rehypePlugins/preWrapper.ts
@@ -0,0 +1,54 @@
+import type { Plugin } from 'unified';
+
+import { visit } from 'unist-util-visit';
+import type { Element, Root } from 'hast';
+
+export const rehypePluginPreWrapper: Plugin<[], Root> = () => {
+ return (tree) => {
+ visit(tree, 'element', (node) => {
+ if (
+ node.tagName === 'pre' &&
+ node.children[0]?.type === 'element' &&
+ node.children[0]?.tagName === 'code' &&
+ node.data?.isVisited !== true
+ ) {
+ const codeNode = node.children[0] as Element;
+ const codeClassName = codeNode.properties?.className?.toString() || '';
+ const lang = codeClassName.replace('language-', '');
+
+ const cloneNode: Element = {
+ type: 'element',
+ tagName: 'pre',
+ children: node.children,
+ properties: {
+ className: codeClassName
+ },
+ data: {
+ isVisited: true
+ }
+ };
+
+ node.tagName = 'div';
+ node.properties = node.properties || {};
+ node.properties.className = codeClassName;
+
+ node.children = [
+ {
+ type: 'element',
+ tagName: 'span',
+ properties: {
+ className: 'code-lang'
+ },
+ children: [
+ {
+ type: 'text',
+ value: lang
+ }
+ ]
+ },
+ cloneNode
+ ];
+ }
+ });
+ };
+};
diff --git a/src/node/plugin-mdx/rehypePlugins/shiki.ts b/src/node/plugin-mdx/rehypePlugins/shiki.ts
new file mode 100644
index 0000000..b1bd75e
--- /dev/null
+++ b/src/node/plugin-mdx/rehypePlugins/shiki.ts
@@ -0,0 +1,33 @@
+import { visit } from 'unist-util-visit';
+import type { Plugin } from 'unified';
+import type { Text, Root } from 'hast';
+import { fromHtml } from 'hast-util-from-html';
+import shiki from 'shiki';
+
+interface Options {
+ highlighter: shiki.Highlighter;
+}
+
+export const rehypePluginShiki: Plugin<[Options], Root> = ({ highlighter }) => {
+ return (tree) => {
+ visit(tree, 'element', (node, index, parent) => {
+ if (
+ node.tagName === 'pre' &&
+ node.children[0]?.type === 'element' &&
+ node.children[0].tagName === 'code'
+ ) {
+ // 语法名称,如:js, 代码内容
+ const codeNode = node.children[0];
+ const codeContent = (codeNode.children[0] as Text)?.value || '';
+ const codeClassName = codeNode.properties.className.toString() || '';
+ const lang = codeClassName.replace('language-', '');
+ if (!lang) return;
+ const highlightedCode = highlighter.codeToHtml(codeContent, { lang });
+ const fragmentAst = fromHtml(highlightedCode, {
+ fragment: true
+ });
+ parent.children.splice(index, 1, ...fragmentAst.children);
+ }
+ });
+ };
+};
diff --git a/src/node/plugin-mdx/remarkPlugins/toc.ts b/src/node/plugin-mdx/remarkPlugins/toc.ts
new file mode 100644
index 0000000..2d2a286
--- /dev/null
+++ b/src/node/plugin-mdx/remarkPlugins/toc.ts
@@ -0,0 +1,64 @@
+import { Root } from 'mdast';
+import { Plugin } from 'unified';
+import { visit } from 'unist-util-visit';
+import Slugger from 'github-slugger';
+import { parse } from 'acorn';
+import type { Program } from 'mdast-util-mdxjs-esm';
+
+const slugger = new Slugger();
+
+interface ChildNode {
+ type: 'link' | 'text' | 'inlineCode';
+ value: string;
+ children?: ChildNode[];
+}
+
+interface TocItem {
+ id: string;
+ text: string;
+ depth: number;
+}
+
+export const remarkPluginToc: Plugin<[], Root> = () => {
+ return (tree) => {
+ const toc: TocItem[] = [];
+
+ visit(tree, 'heading', (node) => {
+ if (!node.depth || !node.children?.length) {
+ return;
+ }
+
+ // h2 ~ h4
+ if (node.depth > 1 && node.depth < 5) {
+ const originText = (node.children as ChildNode[])
+ .map((child) => {
+ switch (child.type) {
+ case 'link':
+ return child.children?.map((c) => c.value).join('') || '';
+ default:
+ return child.value;
+ }
+ })
+ .join('');
+ const id = slugger.slug(originText);
+ toc.push({
+ id,
+ text: originText,
+ depth: node.depth
+ });
+ }
+ });
+ const insertedCode = `export const toc = ${JSON.stringify(toc, null, 2)};`;
+
+ tree.children.push({
+ type: 'mdxjsEsm',
+ value: insertedCode,
+ data: {
+ estree: parse(insertedCode, {
+ ecmaVersion: 2020,
+ sourceType: 'module'
+ }) as unknown as Program
+ }
+ });
+ };
+};
diff --git a/src/node/plugin-routes/RouteService.test.ts b/src/node/plugin-routes/RouteService.test.ts
new file mode 100644
index 0000000..de34d4f
--- /dev/null
+++ b/src/node/plugin-routes/RouteService.test.ts
@@ -0,0 +1,53 @@
+import { RouteService } from './RouteService';
+import { describe, expect, test } from 'vitest';
+import path from 'path';
+import { normalizePath } from 'vite';
+
+describe('RouteService', async () => {
+ const testDir = path.resolve(__dirname, 'fixtures');
+ const routeService = new RouteService(testDir);
+ routeService.init();
+
+ test('should get route meta', () => {
+ const routeMeta = routeService.getRouteMeta().map((item) => ({
+ ...item,
+ absolutePath: item.absolutePath.replace(
+ normalizePath(testDir),
+ 'TEST_DIR'
+ )
+ }));
+ expect(routeMeta).toMatchInlineSnapshot(`
+ [
+ {
+ "absolutePath": "TEST_DIR/a.mdx",
+ "routePath": "/a",
+ },
+ {
+ "absolutePath": "TEST_DIR/guide/index.mdx",
+ "routePath": "/guide/",
+ },
+ ]
+ `);
+ });
+
+ test('should generate route code', () => {
+ const routeCode = routeService.generateRouteCode();
+ expect(routeCode).toMatchInlineSnapshot(`
+ "
+ import React from 'react'
+ import Route0 from 'E:/frontEnd/sgg/island-dev/src/node/plugin-routes/fixtures/a.mdx'
+ import Route1 from 'E:/frontEnd/sgg/island-dev/src/node/plugin-routes/fixtures/guide/index.mdx';
+ export const routes = [
+ {
+ path: '/a',
+ element: React.createElement(Route0)
+ },
+ {
+ path: '/guide/',
+ element: React.createElement(Route1)
+ }
+ ]
+ "
+ `);
+ });
+});
diff --git a/src/node/plugin-routes/RouteService.ts b/src/node/plugin-routes/RouteService.ts
new file mode 100644
index 0000000..aa4aac2
--- /dev/null
+++ b/src/node/plugin-routes/RouteService.ts
@@ -0,0 +1,70 @@
+import fastGlob from 'fast-glob';
+import path from 'node:path';
+import { normalizePath } from 'vite';
+
+interface RouteMeta {
+ routePath: string;
+ absolutePath: string;
+}
+
+export class RouteService {
+ #scanDir: string;
+ #routeData: RouteMeta[] = [];
+
+ constructor(scanDir: string) {
+ this.#scanDir = scanDir;
+ }
+
+ async init() {
+ const files = fastGlob
+ .sync(['**/*.{js,jsx,ts,tsx,md,mdx}'], {
+ cwd: this.#scanDir,
+ absolute: true,
+ ignore: ['**/build/**', '**/.island/**', '**/config.ts']
+ })
+ .sort();
+ files.forEach((file) => {
+ const fileRelativePath = normalizePath(
+ path.relative(this.#scanDir, file)
+ );
+ const routePath = this.normalizeRoutePath(fileRelativePath);
+ this.#routeData.push({
+ routePath,
+ absolutePath: file
+ });
+ });
+ }
+
+ generateRouteCode(ssr: boolean) {
+ return `
+ import React from 'react';
+ ${ssr ? '' : 'import loadable from "@loadable/component";'};
+ ${this.#routeData
+ .map((route, index) => {
+ return ssr
+ ? `import Route${index} from '${route.absolutePath}'`
+ : `const Route${index} = loadable(() => import('${route.absolutePath}'));`;
+ })
+ .join('\n')}
+ export const routes = [
+ ${this.#routeData
+ .map((route, index) => {
+ return `{
+ path: '${route.routePath}',
+ element: React.createElement(Route${index})
+ }`;
+ })
+ .join(',\n')}
+ ]
+ `;
+ }
+
+ normalizeRoutePath(raw: string) {
+ const routePath = raw.replace(/\.(.*)?$/, '').replace(/index$/, '');
+ return routePath.startsWith('/') ? routePath : `/${routePath}`;
+ }
+
+ getRouteMeta() {
+ return this.#routeData;
+ }
+}
diff --git a/src/node/plugin-routes/fixtures/a.mdx b/src/node/plugin-routes/fixtures/a.mdx
new file mode 100644
index 0000000..e69de29
diff --git a/src/node/plugin-routes/fixtures/guide/index.mdx b/src/node/plugin-routes/fixtures/guide/index.mdx
new file mode 100644
index 0000000..e69de29
diff --git a/src/node/plugin-routes/index.ts b/src/node/plugin-routes/index.ts
new file mode 100644
index 0000000..83e5115
--- /dev/null
+++ b/src/node/plugin-routes/index.ts
@@ -0,0 +1,36 @@
+import { Plugin } from 'vite';
+import { RouteService } from './RouteService';
+
+export interface Route {
+ path: string;
+ element: React.ReactElement;
+ filePath: string;
+}
+
+interface PluginOptions {
+ root: string;
+ isSSR: boolean;
+}
+
+export const CONVENTIONAL_ROUTE_ID = 'island:routes';
+
+export function pluginRoutes(options: PluginOptions): Plugin {
+ const { root } = options;
+ const routerService = new RouteService(root);
+ return {
+ name: 'island:routes',
+ resolveId(id) {
+ if (id === CONVENTIONAL_ROUTE_ID) {
+ return '\0' + CONVENTIONAL_ROUTE_ID;
+ }
+ },
+ async configResolved(config) {
+ await routerService.init();
+ },
+ async load(id) {
+ if (id === '\0' + CONVENTIONAL_ROUTE_ID) {
+ return routerService.generateRouteCode(options.isSSR);
+ }
+ }
+ };
+}
diff --git a/src/node/vitePlugins.ts b/src/node/vitePlugins.ts
new file mode 100644
index 0000000..8c4f516
--- /dev/null
+++ b/src/node/vitePlugins.ts
@@ -0,0 +1,23 @@
+import { pluginIndexHtml } from './plugin-island/indexHtml';
+import { pluginConfig } from './plugin-island/config';
+import pluginReact from '@vitejs/plugin-react';
+import { pluginRoutes } from './plugin-routes';
+import { SiteConfig } from 'shared/types';
+import { createMdxPlugins } from './plugin-mdx';
+
+export async function createVitePlugins(
+ config: SiteConfig,
+ restart?: () => Promise,
+ isSSR = false
+) {
+ return [
+ pluginIndexHtml(),
+ pluginReact({ jsxRuntime: 'automatic' }),
+ pluginConfig(config, restart),
+ pluginRoutes({
+ root: config.root,
+ isSSR
+ }),
+ await createMdxPlugins()
+ ];
+}
diff --git a/src/runtime/Content.tsx b/src/runtime/Content.tsx
new file mode 100644
index 0000000..534529a
--- /dev/null
+++ b/src/runtime/Content.tsx
@@ -0,0 +1,7 @@
+import { useRoutes } from 'react-router-dom';
+import { routes } from 'island:routes';
+
+export const Content = () => {
+ const routesElement = useRoutes(routes);
+ return routesElement;
+};
diff --git a/src/runtime/client-entry.tsx b/src/runtime/client-entry.tsx
index f6b5934..3907bab 100644
--- a/src/runtime/client-entry.tsx
+++ b/src/runtime/client-entry.tsx
@@ -1,12 +1,19 @@
import { createRoot } from 'react-dom/client';
import { App } from './app';
+import siteData from 'island:site-data';
+import { BrowserRouter } from 'react-router-dom';
function renderInBrowser() {
+ console.log(siteData);
const containerEl = document.getElementById('root');
if (!containerEl) {
throw new Error('#root element not found');
}
- createRoot(containerEl).render( );
+ createRoot(containerEl).render(
+
+
+
+ );
}
renderInBrowser();
diff --git a/src/runtime/index.ts b/src/runtime/index.ts
new file mode 100644
index 0000000..5023640
--- /dev/null
+++ b/src/runtime/index.ts
@@ -0,0 +1 @@
+export { Content } from './Content';
diff --git a/src/runtime/ssr-entry.tsx b/src/runtime/ssr-entry.tsx
index 48f41af..de2d67c 100644
--- a/src/runtime/ssr-entry.tsx
+++ b/src/runtime/ssr-entry.tsx
@@ -1,7 +1,14 @@
import { App } from './app';
import { renderToString } from 'react-dom/server';
+import { StaticRouter } from 'react-router-dom/server';
// For ssr component render
-export function render() {
- return renderToString( );
+export function render(pagePath: string) {
+ return renderToString(
+
+
+
+ );
}
+
+export { routes } from 'island:routes';
diff --git a/src/shared/types/index.ts b/src/shared/types/index.ts
new file mode 100644
index 0000000..3c3db9e
--- /dev/null
+++ b/src/shared/types/index.ts
@@ -0,0 +1,49 @@
+import { UserConfig as ViteConfiguration } from 'vite';
+
+export type NavItemWithLink = {
+ text: string;
+ link: string;
+};
+
+export interface SideBar {
+ [path: string]: SideBarGroup[];
+}
+
+export interface SideBarGroup {
+ text: string;
+ items: SideBarItem[];
+}
+
+export type SideBarItem =
+ | {
+ text: string;
+ link: string;
+ }
+ | {
+ text: string;
+ link?: string;
+ items: SideBarItem[];
+ };
+
+export interface Footer {
+ message: string;
+}
+
+export interface ThemeConfig {
+ nav?: NavItemWithLink[];
+ sidebar?: SideBar;
+ footer?: Footer;
+}
+
+export interface UserConfig {
+ title: string;
+ description: string;
+ themeConfig: ThemeConfig;
+ vite: ViteConfiguration;
+}
+
+export interface SiteConfig {
+ root: string;
+ configPath: string;
+ siteData: UserConfig;
+}
diff --git a/src/shared/types/types.d.ts b/src/shared/types/types.d.ts
new file mode 100644
index 0000000..52c3131
--- /dev/null
+++ b/src/shared/types/types.d.ts
@@ -0,0 +1,10 @@
+declare module 'island:site-data' {
+ import type { UserConfig } from 'shared/types';
+ const siteData: UserConfig;
+ export default siteData;
+}
+
+declare module 'island:routes' {
+ import type { RouteObject } from 'react-router-dom';
+ export const routes: RouteObject[];
+}
diff --git a/src/theme-default/Layout/index.tsx b/src/theme-default/Layout/index.tsx
index e94748e..e516833 100644
--- a/src/theme-default/Layout/index.tsx
+++ b/src/theme-default/Layout/index.tsx
@@ -1,14 +1,11 @@
import { useState } from 'react';
+import { Content } from '@runtime';
export function Layout() {
- const [count, setCount] = useState(0);
return (
-
This is Layout Component
-
- {count}
- setCount(count + 1)}>Add Count
-
+
Common Content
+
);
}
diff --git a/tsconfig.json b/tsconfig.json
index bb021aa..fe98436 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -2,11 +2,16 @@
"compilerOptions": {
"module": "ESNext",
"outDir": "dist",
- "rootDir": "src",
+ "rootDir": ".",
"target": "ESNext",
"jsx": "react-jsx",
"moduleResolution": "node",
- "esModuleInterop": true
+ "esModuleInterop": true,
+ "baseUrl": "src",
+ "paths": {
+ "shared/*": ["shared/*"],
+ "@runtime": ["runtime/index.ts"]
+ }
},
"include": ["src/**/*"]
}
diff --git a/tsup.config.ts b/tsup.config.ts
index 175faff..7ba18d2 100644
--- a/tsup.config.ts
+++ b/tsup.config.ts
@@ -1,7 +1,11 @@
import { defineConfig } from 'tsup';
export default defineConfig({
- entryPoints: ['src/node/cli.ts'],
+ entryPoints: [
+ './src/node/cli.ts',
+ './src/node/index.ts',
+ './src/node/dev.ts'
+ ],
bundle: true,
splitting: true,
minify: process.env.NODE_ENV === 'production',
@@ -9,7 +13,5 @@ export default defineConfig({
format: ['cjs', 'esm'],
dts: true,
shims: true,
- banner: {
- js: 'import { createRequire as createRequire0 } from "module"; const require = createRequire0(import.meta.url);'
- }
+ clean: true
});