├── .gitignore ├── CHANGELOG.md ├── README.md ├── lib ├── compiler │ ├── importMaps.ts │ ├── index.ts │ └── templateWrap.ts ├── components │ ├── Demo.vue │ └── Edit.vue ├── env.d.ts ├── index.ts ├── markdownPlugin │ ├── index.d.ts │ └── index.ts ├── memo.ts ├── monaco │ ├── highlighterCode.ts │ ├── initMonaco.ts │ └── monaco.d.ts ├── theme │ ├── dark.json │ └── light.json ├── token.ts ├── utils.ts └── vue.d.ts ├── markdownPlugin ├── index.d.ts ├── index.js └── index.umd.cjs ├── package.json ├── scripts └── build.js ├── tsconfig.json ├── vite.config.ts └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | dist 2 | cjs 3 | es 4 | docs 5 | node_modules 6 | test -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 3.0.2 2 | 3 | - fix: `jsx` 中不能`children`返回`array`类型的 `bug` 4 | 5 | - fix: 捕获`vue` 运行时报错,防止视图不更新 6 | 7 | - feat: 在 `:::demo`后可以加`height`属性指定编辑器高度,完整写法`:::demo height:300` 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vitepress-demo-editor 2 | 3 | ## 介绍 4 | 5 | 一个 `vitepress` 文档插件,可以帮助你在编写文档的时候增加 `Vue` 示例,通常使用在组件库展示,支持在线编辑演示源代码且视图实时更新 6 | 7 | ### 支持 8 | 9 | - 支持 vue sfc 10 | 11 | - 支持 jsx/tsx 12 | 13 | - 编辑器语法提示 14 | 15 | - 编辑器代码高亮 16 | 17 | ## demo 预览 18 | 19 | [promiseui](https://liyao1520.github.io/promise-ui/components/button/) (一个 vue3 组件库) 20 | 21 | ## 安装 22 | 23 | `npm install vitepress-demo-editor` 24 | 25 | ## 使用 26 | 27 | **需要先安装两个插件** 28 | 29 | ### 1. 添加 vue 插件 和 样式文件 30 | 31 | ```js 32 | // .vitepress/theme/index.js 33 | 34 | import { vuePlugin } from "vitepress-demo-editor"; 35 | import "vitepress-demo-editor/dist/style.css"; 36 | 37 | export default { 38 | // ...otherConfig 39 | enhanceApp({ app }) { 40 | app.use(vuePlugin, { 41 | defaultDirection: "row", // 默认显示方向 42 | ms: 30, // 编辑器防抖时间 43 | handleError(errs) {}, // 错误信息 44 | onMonacoCreated(monaco) {}, // monaco 创建成功时触发 45 | }); 46 | }, 47 | }; 48 | ``` 49 | 50 | ### 2. 添加 markdown 插件 51 | 52 | ```js 53 | //.vitepress/config.js 54 | import markdownPlugin from "vitepress-demo-editor/markdownPlugin"; 55 | const config = { 56 | // ...otherConfig 57 | markdown: { 58 | config: (md) => { 59 | md.use(markdownPlugin); 60 | }, 61 | }, 62 | }; 63 | export default config; 64 | ``` 65 | 66 | ### 在 markdown 中使用 67 | 68 | ### sfc 69 | 70 | ````md 71 | :::demo 72 | 73 | ```vue 74 | 79 | 84 | 102 | ``` 103 | 104 | ::: 105 | ```` 106 | 107 | ![演示](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a6d7c98390c34792b61e6bd77c85074a~tplv-k3u1fbpfcp-watermark.image?) 108 | 109 | 设置`column`上下显示 110 | 111 | ````md 112 | :::demo column 113 | 114 | ```vue 115 | 116 | ``` 117 | 118 | ::: 119 | ```` 120 | 121 | 设置 `height` 指定编辑器高度(有最小限制 column:200px row:300px) 122 | 123 | 指定高度 400 124 | 125 | ````md 126 | :::demo height:400 127 | 128 | ```vue 129 | 130 | ``` 131 | 132 | ::: 133 | ```` 134 | 135 | ### jsx/tsx 136 | 137 | #### 配置 vite.config.js 138 | 139 | ```js 140 | // docs/vite.config.js 141 | import { defineConfig } from "vite"; 142 | 143 | export default defineConfig({ 144 | define: { 145 | "process.env.BABEL_TYPES_8_BREAKING": "false", 146 | "process.platform": '"darwin"', 147 | "Buffer.isBuffer": "undefined", 148 | }, 149 | resolve: { 150 | alias: { 151 | assert: "browser-assert", 152 | path: "path-browserify", 153 | }, 154 | }, 155 | }); 156 | ``` 157 | 158 | #### 使用 159 | 160 | #### jsx 161 | 162 | ````md 163 | :::demo column 164 | 165 | ```jsx 166 | 167 | ``` 168 | 169 | ::: 170 | ```` 171 | 172 | #### tsx 173 | 174 | ````md 175 | :::demo column 176 | 177 | ```tsx 178 | 179 | ``` 180 | 181 | ::: 182 | ```` 183 | 184 | #### Demo 预览 185 | 186 | [promiseui-table-jsx](http://ui.coderly.top/components/table/#jsx-%E5%86%99%E6%B3%95) 187 | 188 | ## 打包报错? 189 | 190 | 打包可能会报错,提示 ` Error: Missing "./preload-helper" export in "vite" package` , 191 | 192 | 原因不清楚,但有解决办法 193 | 194 | `ctrl + click 进入报错文件` 195 | 196 | ![20220722220240](http://cdn.coderly.top/imgs/20220722220240.png) 197 | 198 | 搜索 `vite/preload-helper` 替换为 `\0vite/preload-helper` 199 | 200 | ![vite](http://cdn.coderly.top/imgs/vite.png) 201 | 202 | `'vite/preload-helper'`->`'\0vite/preload-helper'` 203 | 204 | ![20220722220759](http://cdn.coderly.top/imgs/20220722220759.png) 205 | 206 | ## 高级用法 207 | 208 | ### importMap 209 | 210 | #### 简单使用 211 | 212 | 默认只能`import vue`,要想`import` 其他库需要用`addImportMap` 213 | 214 | ```js 215 | // .vitepress/theme/index.js 216 | import { vuePlugin, addImportMap } from "vitepress-demo-editor"; 217 | import axios from "axios"; 218 | 219 | export default { 220 | // ...otherConfig 221 | enhanceApp({ app }) { 222 | app.use(vuePlugin); 223 | addImportMap("axios", axios); 224 | }, 225 | }; 226 | ``` 227 | 228 | `然后在markdown中就可以使用` 229 | 230 | ````md 231 | :::demo 232 | 233 | ```vue 234 | 235 | 239 | ``` 240 | 241 | ::: 242 | ```` 243 | 244 | #### 对于 ssr 不友好的库 245 | 246 | `由于 VitePress 应用程序在生成静态构建时在 Node.js 中进行服务器渲染,因此任何 Vue 使用都必须符合通用代码要求。简而言之,确保只在 beforeMount 或mounted 钩子中访问浏览器/DOM API。` 247 | 248 | 对于 `ssr` 不友好的库不能直接导入,否则打包会报错.以下代码可解决 249 | 250 | ```js 251 | // .vitepress/theme/index.js 252 | import { vuePlugin, addImportMap } from "vitepress-demo-editor"; 253 | let first = true; 254 | export default { 255 | // ...otherConfig 256 | enhanceApp({ app }) { 257 | app.use(vuePlugin); 258 | app.mixin({ 259 | async mounted() { 260 | if (!first) return; 261 | first = false; 262 | await import("vue-promiseui").then((promiseUI) => { 263 | addImportMap("promiseui-vue", promiseUI); 264 | app.use(promiseUI.default); 265 | }); 266 | }, 267 | }); 268 | }, 269 | }; 270 | ``` 271 | 272 | `由于异步 import 导致 addImportMap 执行时机可能会慢,在这前执行的代码会报错.所以要配置vite.config.ts optimizeDeps 预构建` 273 | 274 | ```js 275 | export default defineConfig({ 276 | optimizeDeps: { 277 | include: ["promiseui-vue"], //填入库名 278 | }, 279 | }); 280 | ``` 281 | 282 | ### 编辑器添加库提示 283 | 284 | 在`tsx` / `jsx` 中, 默认自带 `import` `vue` 有提示 285 | 286 | ![20220721184128](http://cdn.coderly.top/imgs/20220721184128.png) 287 | 288 | 如果想添加其他库代码提示 ,以`vue-promiseui`库为例子 289 | 290 | ```js 291 | import { vuePlugin } from "vitepress-demo-editor"; 292 | import "vitepress-demo-editor/dist/style.css"; 293 | // 找到该库的类型文件,在vite中 以 ?raw方式导入 294 | import promiseuiType from "promiseui-vue/dist/promiseui/vue-promiseui.d.ts?raw"; 295 | 296 | export default { 297 | // ...otherConfig 298 | enhanceApp({ app }) { 299 | app.use(vuePlugin, { 300 | onMonacoCreated(monaco) { 301 | // 在此处 添加库提示 302 | monaco.languages.typescript.typescriptDefaults.addExtraLib( 303 | ` 304 | declare module 'promiseui-vue' { 305 | ${promiseuiType} 306 | } 307 | `, 308 | "promiseui-vue" 309 | ); 310 | }, // 311 | }); 312 | }, 313 | }; 314 | ``` 315 | 316 | ### 黑暗模式 317 | 318 | `html` 标签 `class` 有 `dark` 会自动变为黑暗模式 319 | 320 | ```html 321 | 322 | 323 | 324 | ``` 325 | 326 | ## [CHANGELOG](https://github.com/liyao1520/vitepress-demo-editor/blob/master/CHANGELOG.md) 327 | -------------------------------------------------------------------------------- /lib/compiler/importMaps.ts: -------------------------------------------------------------------------------- 1 | // importMaps 2 | 3 | const importMaps: Record = {}; 4 | 5 | export function addImportMap(key: string, value: any) { 6 | importMaps[key] = value; 7 | } 8 | 9 | export function handleImportMaps(script: string) { 10 | const _window = window as any; 11 | 12 | if (!_window.importMaps) _window.importMaps = importMaps; 13 | script = handleDefault(script); 14 | 15 | script = script.replace( 16 | /import(.*?)from\s+['"](.*?)['"]/g, 17 | (match, p1, p2) => { 18 | const key = p2; 19 | const value = importMaps[key]; 20 | 21 | if (value) { 22 | if (!importMaps[`${key}`]) { 23 | importMaps[`${key}`] = value; 24 | } 25 | 26 | return `const ${p1} = importMaps['${p2}']`; 27 | } else { 28 | return match; 29 | } 30 | } 31 | ); 32 | return script; 33 | } 34 | 35 | function handleDefault(script: string) { 36 | return script 37 | .replace(/import(.*?)from\s+['"]vue['"]/g, (match, p1) => { 38 | p1 = p1.replace(/\sas\s/g, ":"); 39 | return `const ${p1} = _vue`; 40 | }) 41 | .replace(/import 'vue'/g, ""); // import {} from 'vue' -> 42 | } 43 | -------------------------------------------------------------------------------- /lib/compiler/index.ts: -------------------------------------------------------------------------------- 1 | import { templateWrap } from "./templateWrap"; 2 | import { initialGlobalVariable } from "../memo"; 3 | import { handleImportMaps } from "./importMaps"; 4 | import * as compiler from "vue/compiler-sfc"; 5 | 6 | type ErrorFn = (errors: (compiler.CompilerError | SyntaxError)[]) => void; 7 | let g_id = 0; 8 | 9 | initialGlobalVariable(); 10 | 11 | const langs = ["jsx", "vue", "tsx"] as const; 12 | type Lang = typeof langs[number]; 13 | export default class Compiler { 14 | private selector: string; 15 | private scriptEl: HTMLScriptElement | null = null; 16 | private templateUrl = ""; 17 | private scriptUrl = ""; 18 | private _id = g_id; 19 | private styleEl = document.createElement("style"); 20 | private onError: ErrorFn = () => {}; 21 | private lang: Lang; 22 | private isTypeScript = false; 23 | constructor( 24 | selector: string, 25 | lang: string, 26 | isTypeScript = false, 27 | onError?: ErrorFn 28 | ) { 29 | this.selector = selector; 30 | this.lang = langs.includes(lang as Lang) ? (lang as Lang) : "vue"; 31 | this.isTypeScript = isTypeScript; 32 | if (onError) { 33 | this.onError = onError; 34 | } 35 | 36 | document.body.appendChild(this.styleEl); 37 | // 全局id++,避免重名 38 | g_id++; 39 | } 40 | listenError() { 41 | window.addEventListener("error", (e) => { 42 | const isSelfError = [this.scriptUrl, this.templateUrl].includes( 43 | e.filename 44 | ); 45 | if (isSelfError) { 46 | this.handleError([e as any]); 47 | } 48 | }); 49 | } 50 | private async compilerSFC(code: string): Promise { 51 | code = templateWrap(code); 52 | const hasScript = /\.*\<\/script.*?\>/s.test(code); 53 | if (!hasScript) { 54 | code = `${code} 55 | 56 | `; 57 | } 58 | 59 | const ast = compiler.parse(code, { filename: "none" }); 60 | 61 | // 如果有错误,给出错误信息 62 | if (ast.errors) { 63 | this.handleError(ast.errors); 64 | } 65 | 66 | const id = generateID(); 67 | 68 | const template = this.compilerTemplate(ast, id); 69 | 70 | this.templateUrl = createObjectURL(template); 71 | 72 | const script = await this.compilerScript(ast, id); 73 | 74 | this.compilerStyle(ast, id); 75 | 76 | return script; 77 | } 78 | async compileCode(code: string): Promise { 79 | // 清空之前的 ObjectURL 80 | this.revokeAllObjectURL(); 81 | // 创建createScriptEl 82 | this.createScriptEl(); 83 | try { 84 | let App: string | undefined = ""; 85 | if (this.lang === "jsx" || this.lang === "tsx") { 86 | App = await this.compilerJsx(code); 87 | } else if (this.lang === "vue") { 88 | App = await this.compilerSFC(code); 89 | } 90 | if (!App) { 91 | return; 92 | } 93 | this.scriptUrl = createObjectURL(App); 94 | // 运行代码 95 | const res = this.runCode(); 96 | this.clearError(); 97 | return res; 98 | } catch (e) { 99 | this.handleError([e as any]); 100 | throw e; 101 | } 102 | } 103 | private async compilerJsx(code: string): Promise { 104 | const transform = await loadBabelTransform(); 105 | const vue3JSXPlugin = await loadVueJsxPlugin(); 106 | const plugins: any[] = [vue3JSXPlugin]; 107 | 108 | if (this.isTypeScript) { 109 | const ts = await loadTsPlugin(); 110 | plugins.push([ts, { isTSX: true }]); 111 | } 112 | try { 113 | const res = transform(code, { 114 | plugins, 115 | }); 116 | 117 | const transformCode = handleImportMaps(res.code); 118 | 119 | if (!/export default/.test(transformCode)) { 120 | this.handleError([new Error("No default export found")]); 121 | return; 122 | } 123 | 124 | return transformCode; 125 | } catch (err: any) { 126 | this.handleError(Array.isArray(err) ? err : [err]); 127 | } 128 | } 129 | private createScriptEl() { 130 | // 有 scriptEl 了,需要删除一个scriptEl ,再添加一个新的 scriptEl,js代码才能执行 131 | // 修改innerHTML 无法执行 132 | if (this.scriptEl) { 133 | this.scriptEl.remove(); 134 | } 135 | this.scriptEl = document.createElement("script"); 136 | this.scriptEl.type = "module"; 137 | document.body.appendChild(this.scriptEl); 138 | } 139 | private compilerTemplate(ast: compiler.SFCParseResult, id: string) { 140 | const temp = compiler.compileTemplate({ 141 | source: ast.descriptor.template?.content || "", 142 | id, 143 | scoped: true, 144 | filename: ast.descriptor.filename, //大概不需要文件名 145 | slotted: ast.descriptor.slotted, 146 | }); 147 | const template = temp.code; 148 | 149 | return handleImportMaps(template); 150 | } 151 | private async compilerScript(ast: compiler.SFCParseResult, id: string) { 152 | const { descriptor } = ast; 153 | this.isTypeScript = 154 | descriptor.script?.lang === "ts" || descriptor.scriptSetup?.lang === "ts"; 155 | const res = compiler.compileScript(descriptor, { 156 | id, 157 | sourceMap: true, 158 | templateOptions: { 159 | id, 160 | source: ast.descriptor.template?.content || "", 161 | filename: descriptor.filename, 162 | scoped: true, 163 | slotted: descriptor.slotted, 164 | compilerOptions: { 165 | scopeId: `data-v-${id}`, 166 | mode: "module", 167 | }, 168 | }, 169 | }); 170 | 171 | let transformCode = res.content; 172 | 173 | if (this.isTypeScript) { 174 | const transform = await loadBabelTransform(); 175 | const ts = await loadTsPlugin(); 176 | transformCode = transform(transformCode, { 177 | plugins: [[ts]], 178 | }).code; 179 | } 180 | if (!transformCode) { 181 | return ""; 182 | } 183 | 184 | transformCode = transformCode.replace("export default", "const _script ="); 185 | transformCode = handleImportMaps(transformCode); 186 | 187 | return ` 188 | import {render as __render} from "${this.templateUrl}" 189 | ${transformCode} 190 | _script.render = __render; 191 | _script.components = _app._context.components; 192 | _script.__scopeId = "data-v-${id}"; //节点的 __scopeId 193 | export default _script; 194 | `; 195 | } 196 | private compilerStyle(ast: compiler.SFCParseResult, id: string) { 197 | const allStyles = ast.descriptor.styles.reduce((allStyles, item) => { 198 | const res = compiler.compileStyle({ 199 | source: item.content, 200 | filename: ast.descriptor.filename, 201 | id, 202 | scoped: true, 203 | }); 204 | return `${allStyles}\n${res.code}`; 205 | }, ""); 206 | this.styleEl.innerHTML = allStyles; 207 | } 208 | private runCode(): string { 209 | const main = handleImportMaps(` 210 | import { createApp,h,render } from 'vue' 211 | import App from '${this.scriptUrl}' 212 | const vnode = h(App) 213 | vnode.appContext = _app._context; // 全局app 214 | const root = document.querySelector('${this.selector}'); 215 | render(vnode,root) 216 | `); 217 | 218 | // 插入script 219 | if (this.scriptEl) { 220 | this.scriptEl.innerHTML = main; 221 | } 222 | 223 | return main; 224 | } 225 | private handleError(errors: (compiler.CompilerError | SyntaxError)[]) { 226 | this.onError(errors); 227 | } 228 | private clearError() { 229 | this.onError([]); 230 | } 231 | 232 | private revokeAllObjectURL() { 233 | if (this.templateUrl) { 234 | URL.revokeObjectURL(this.templateUrl); 235 | } 236 | if (this.scriptUrl) { 237 | URL.revokeObjectURL(this.scriptUrl); 238 | } 239 | } 240 | } 241 | 242 | function createObjectURL(content: any, type?: string): string { 243 | if (!type) { 244 | type = "application/javascript"; 245 | } 246 | return URL.createObjectURL( 247 | new Blob([content], { type: "application/javascript" }) 248 | ); 249 | } 250 | function generateID() { 251 | return Math.random().toString(36).slice(2, 12); 252 | } 253 | 254 | async function loadTsPlugin() { 255 | return await import("@babel/plugin-transform-typescript").then((m) => { 256 | return m.default; 257 | }); 258 | } 259 | 260 | async function loadBabelTransform() { 261 | return await import("@babel/standalone").then((res) => { 262 | if (res.default) { 263 | return res.default.transform; 264 | } else { 265 | return res.transform; 266 | } 267 | }); 268 | } 269 | 270 | async function loadVueJsxPlugin() { 271 | return await import("@vue/babel-plugin-jsx").then((module) => { 272 | return module.default; 273 | }); 274 | } 275 | -------------------------------------------------------------------------------- /lib/compiler/templateWrap.ts: -------------------------------------------------------------------------------- 1 | export const templateWrap = (content: string) => { 2 | return content.replace(/\(.*)\<\/template.*?\>/s, (match, p1) => { 3 | return `` 4 | }) 5 | } 6 | -------------------------------------------------------------------------------- /lib/components/Demo.vue: -------------------------------------------------------------------------------- 1 | 106 | 196 | 197 | 291 | -------------------------------------------------------------------------------- /lib/components/Edit.vue: -------------------------------------------------------------------------------- 1 | 112 | 113 | 116 | 129 | -------------------------------------------------------------------------------- /lib/env.d.ts: -------------------------------------------------------------------------------- 1 | declare module "@babel/plugin-transform-typescript"; 2 | -------------------------------------------------------------------------------- /lib/index.ts: -------------------------------------------------------------------------------- 1 | import * as Vue from "vue"; 2 | 3 | // 1. 获取vue,用来后续编译,渲染组件 4 | // 2. 获取注册过的Components,可以在每个app实例共享复用它. 注:每个Demo都会创建一个新的app实例 5 | import { setVue, setApp } from "./memo"; 6 | import { onMonacoCreated } from "./monaco/initMonaco"; 7 | import { ConfigToken, IConfig } from "./token"; 8 | 9 | import { addImportMap } from "./compiler/importMaps"; 10 | import { enhanceCreateVnode } from "./utils"; 11 | 12 | export { addImportMap }; 13 | 14 | export const vuePlugin = function (app: Vue.App, config: IConfig) { 15 | config = Object.assign({ ms: 300, defaultDirection: "row" as "row" }, config); 16 | 17 | const Demo = Vue.defineAsyncComponent(() => import("./components/Demo.vue")); 18 | app.component("Demo", Demo); 19 | app.config.errorHandler = function (err) { 20 | console.error(err); 21 | }; 22 | setVue( 23 | Object.assign({}, Vue, { 24 | // 解决 jsx 在 { } 中写入 object 类型 导致的报错 25 | createVNode: enhanceCreateVnode(Vue), 26 | }) 27 | ); 28 | setApp(app); 29 | 30 | app.provide(ConfigToken, config); 31 | 32 | onMonacoCreated(config.onMonacoCreated); 33 | }; 34 | 35 | export default { 36 | vuePlugin, 37 | addImportMap, 38 | }; 39 | -------------------------------------------------------------------------------- /lib/markdownPlugin/index.d.ts: -------------------------------------------------------------------------------- 1 | export declare function markDownPlugin(): any; 2 | -------------------------------------------------------------------------------- /lib/markdownPlugin/index.ts: -------------------------------------------------------------------------------- 1 | import container from "markdown-it-container"; 2 | const markDownPlugin = function (md: any) { 3 | md.use(container, "demo", { 4 | validate(params: any) { 5 | return params.trim().match(/^demo\s*(.*)$/); 6 | }, 7 | render(tokens: any, idx: any) { 8 | if (tokens[idx].nesting === 1) { 9 | // const description = m && m.length > 1 ? m[1] : '' 10 | const content = 11 | tokens[idx + 1].type === "fence" ? tokens[idx + 1].content : ""; 12 | 13 | const lang = tokens[idx + 1].info; 14 | const props = tokens[idx].info + " "; 15 | const hasColumn = props.includes("column"); 16 | const heightRes = /height\:(.*?)\s/.exec(props); 17 | const height = heightRes ? heightRes[1] : undefined; 18 | 19 | return ` 20 | 21 | 26 | `; 27 | } 28 | return ""; 29 | }, 30 | }); 31 | }; 32 | export default markDownPlugin; 33 | -------------------------------------------------------------------------------- /lib/memo.ts: -------------------------------------------------------------------------------- 1 | // 由于 vitepress 打包先在node上运行,所以要先把这些值缓存下来,到浏览器环境再使用 2 | 3 | import { App } from "vue"; 4 | import { isObject } from "."; 5 | 6 | let vue = {}; // 当前 vue 7 | let app = {}; // 当前实例 8 | // export function setProvide() { 9 | // provide(ConfigToken, config); 10 | // } 11 | 12 | export function getVue() { 13 | return vue; 14 | } 15 | export function setVue(_vue: any) { 16 | vue = _vue; 17 | } 18 | 19 | export function setApp(_app: App) { 20 | app = _app; 21 | } 22 | export function getApp() { 23 | return app; 24 | } 25 | export function initialGlobalVariable() { 26 | initialVue(); 27 | initialApp(); 28 | // 防止 babel 报错 29 | } 30 | function initialVue() { 31 | const w = window as any; 32 | if (w["_vue"]) return; 33 | w["_vue"] = vue; 34 | } 35 | 36 | function initialApp() { 37 | const w = window as any; 38 | if (w["_app"]) return; 39 | w["_app"] = app; 40 | } 41 | -------------------------------------------------------------------------------- /lib/monaco/highlighterCode.ts: -------------------------------------------------------------------------------- 1 | // 开发中... 2 | 3 | export default async function (monaco: any, monacoInstance: any) { 4 | // 高亮代码 5 | const [{ default: MonacoJSXHighlighter, JSXTypes }, { parse }, traverse] = 6 | await Promise.all([ 7 | import("monaco-jsx-highlighter"), 8 | import("@babel/parser"), 9 | import("@babel/traverse"), 10 | ]); 11 | 12 | function changeHighlighterClass(key: string, value: string) { 13 | JSXTypes[key].options.inlineClassName = value; 14 | } 15 | changeHighlighterClass("JSXBracket", "mtk1"); 16 | changeHighlighterClass("JSXIdentifier", "mtk6"); 17 | changeHighlighterClass("JSXText", "mtk1"); 18 | changeHighlighterClass("JSXExpressionContainer", "mtk1"); 19 | const monacoJSXHighlighter = new MonacoJSXHighlighter( 20 | monaco, 21 | parse, 22 | traverse, 23 | monacoInstance 24 | ); 25 | 26 | // Activate highlighting (debounceTime default: 100ms) 27 | monacoJSXHighlighter.highlightOnDidChangeModelContent(100); 28 | // Activate JSX commenting 29 | monacoJSXHighlighter.addJSXCommentCommand(); 30 | } 31 | -------------------------------------------------------------------------------- /lib/monaco/initMonaco.ts: -------------------------------------------------------------------------------- 1 | /* __imports__ */ 2 | 3 | import vueTypes from "@vue/runtime-core/dist/runtime-core.d.ts?raw"; 4 | import jsxTypes from "@vue/runtime-dom/dist/runtime-dom.d.ts?raw"; 5 | 6 | let firstIn = true; 7 | let onMonacoCreatedCallback: null | ((m: IMonaco) => void); 8 | export default async function init() { 9 | const monaco = await import("monaco-editor-ex"); 10 | 11 | if (firstIn && typeof onMonacoCreatedCallback === "function") { 12 | firstIn = false; 13 | onMonacoCreatedCallback(monaco); 14 | } 15 | monaco.languages.typescript.typescriptDefaults.setCompilerOptions({ 16 | target: monaco.languages.typescript.ScriptTarget.Latest, 17 | allowNonTsExtensions: true, 18 | moduleResolution: monaco.languages.typescript.ModuleResolutionKind.NodeJs, 19 | module: monaco.languages.typescript.ModuleKind.CommonJS, 20 | noEmit: true, 21 | esModuleInterop: true, 22 | jsx: monaco.languages.typescript.JsxEmit.Preserve, 23 | allowJs: true, 24 | }); 25 | 26 | monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions({ 27 | noSemanticValidation: false, 28 | noSyntaxValidation: false, 29 | }); 30 | 31 | monaco.languages.typescript.typescriptDefaults.addExtraLib( 32 | jsxTypes, 33 | `jsx:type` 34 | ); 35 | monaco.languages.typescript.typescriptDefaults.addExtraLib( 36 | ` 37 | declare module 'vue' { ${vueTypes} } 38 | `, 39 | "ts:vue" 40 | ); 41 | 42 | await Promise.all([ 43 | // load workers 44 | (async () => { 45 | const [ 46 | { default: EditorWorker }, 47 | { default: HtmlWorker }, 48 | { default: TsWorker }, 49 | ] = await Promise.all([ 50 | import("monaco-editor-ex/esm/vs/editor/editor.worker?worker&inline"), 51 | import( 52 | "monaco-editor-ex/esm/vs/language/html/html.worker?worker&inline" 53 | ), 54 | import( 55 | "monaco-editor-ex/esm/vs/language/typescript/ts.worker?worker&inline" 56 | ), 57 | ]); 58 | 59 | // @ts-expect-error 60 | window.MonacoEnvironment = { 61 | getWorker(_: any, label: string) { 62 | if (label === "html" || label === "handlebars" || label === "razor") 63 | return new HtmlWorker(); 64 | if (label === "typescript" || label === "javascript") 65 | return new TsWorker(); 66 | return new EditorWorker(); 67 | }, 68 | }; 69 | })(), 70 | ]); 71 | return monaco; 72 | } 73 | 74 | export function onMonacoCreated(fn?: (monaco: IMonaco) => void) { 75 | onMonacoCreatedCallback = fn || null; 76 | } 77 | -------------------------------------------------------------------------------- /lib/monaco/monaco.d.ts: -------------------------------------------------------------------------------- 1 | declare module "monaco-editor/esm/vs/basic-languages/*" { 2 | const e: any; 3 | export default e; 4 | } 5 | declare module "monaco-jsx-syntax-highlight/worker/index.json" { 6 | const e: any; 7 | export default e; 8 | } 9 | declare module "monaco-jsx-highlighter" { 10 | export const JSXTypes: any; 11 | export default any; 12 | } 13 | declare module "monaco-editor-ex/esm/vs/*"; 14 | declare module "*?raw"; 15 | declare module "*.text?raw"; 16 | type IMonaco = typeof import("monaco-editor-ex"); 17 | -------------------------------------------------------------------------------- /lib/theme/dark.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": "vs-dark", 3 | "inherit": true, 4 | "rules": [ 5 | { 6 | "foreground": "637777", 7 | "token": "comment" 8 | }, 9 | { 10 | "foreground": "addb67", 11 | "token": "string" 12 | }, 13 | { 14 | "foreground": "ecc48d", 15 | "token": "vstring.quoted" 16 | }, 17 | { 18 | "foreground": "ecc48d", 19 | "token": "variable.other.readwrite.js" 20 | }, 21 | { 22 | "foreground": "5ca7e4", 23 | "token": "string.regexp" 24 | }, 25 | { 26 | "foreground": "5ca7e4", 27 | "token": "string.regexp keyword.other" 28 | }, 29 | { 30 | "foreground": "5f7e97", 31 | "token": "meta.function punctuation.separator.comma" 32 | }, 33 | { 34 | "foreground": "f78c6c", 35 | "token": "constant.numeric" 36 | }, 37 | { 38 | "foreground": "f78c6c", 39 | "token": "constant.character.numeric" 40 | }, 41 | { 42 | "foreground": "addb67", 43 | "token": "variable" 44 | }, 45 | { 46 | "foreground": "c792ea", 47 | "token": "keyword" 48 | }, 49 | { 50 | "foreground": "c792ea", 51 | "token": "punctuation.accessor" 52 | }, 53 | { 54 | "foreground": "c792ea", 55 | "token": "storage" 56 | }, 57 | { 58 | "foreground": "c792ea", 59 | "token": "meta.var.expr" 60 | }, 61 | { 62 | "foreground": "c792ea", 63 | "token": "meta.class meta.method.declaration meta.var.expr storage.type.jsm" 64 | }, 65 | { 66 | "foreground": "c792ea", 67 | "token": "storage.type.property.js" 68 | }, 69 | { 70 | "foreground": "c792ea", 71 | "token": "storage.type.property.ts" 72 | }, 73 | { 74 | "foreground": "c792ea", 75 | "token": "storage.type.property.tsx" 76 | }, 77 | { 78 | "foreground": "82aaff", 79 | "token": "storage.type" 80 | }, 81 | { 82 | "foreground": "ffcb8b", 83 | "token": "entity.name.class" 84 | }, 85 | { 86 | "foreground": "ffcb8b", 87 | "token": "meta.class entity.name.type.class" 88 | }, 89 | { 90 | "foreground": "addb67", 91 | "token": "entity.other.inherited-class" 92 | }, 93 | { 94 | "foreground": "82aaff", 95 | "token": "entity.name.function" 96 | }, 97 | { 98 | "foreground": "addb67", 99 | "token": "punctuation.definition.variable" 100 | }, 101 | { 102 | "foreground": "d3423e", 103 | "token": "punctuation.section.embedded" 104 | }, 105 | { 106 | "foreground": "d6deeb", 107 | "token": "punctuation.terminator.expression" 108 | }, 109 | { 110 | "foreground": "d6deeb", 111 | "token": "punctuation.definition.arguments" 112 | }, 113 | { 114 | "foreground": "d6deeb", 115 | "token": "punctuation.definition.array" 116 | }, 117 | { 118 | "foreground": "d6deeb", 119 | "token": "punctuation.section.array" 120 | }, 121 | { 122 | "foreground": "d6deeb", 123 | "token": "meta.array" 124 | }, 125 | { 126 | "foreground": "d9f5dd", 127 | "token": "punctuation.definition.list.begin" 128 | }, 129 | { 130 | "foreground": "d9f5dd", 131 | "token": "punctuation.definition.list.end" 132 | }, 133 | { 134 | "foreground": "d9f5dd", 135 | "token": "punctuation.separator.arguments" 136 | }, 137 | { 138 | "foreground": "d9f5dd", 139 | "token": "punctuation.definition.list" 140 | }, 141 | { 142 | "foreground": "d3423e", 143 | "token": "string.template meta.template.expression" 144 | }, 145 | { 146 | "foreground": "d6deeb", 147 | "token": "string.template punctuation.definition.string" 148 | }, 149 | { 150 | "foreground": "c792ea", 151 | "fontStyle": "italic", 152 | "token": "italic" 153 | }, 154 | { 155 | "foreground": "addb67", 156 | "fontStyle": "bold", 157 | "token": "bold" 158 | }, 159 | { 160 | "foreground": "82aaff", 161 | "token": "constant.language" 162 | }, 163 | { 164 | "foreground": "82aaff", 165 | "token": "punctuation.definition.constant" 166 | }, 167 | { 168 | "foreground": "82aaff", 169 | "token": "variable.other.constant" 170 | }, 171 | { 172 | "foreground": "7fdbca", 173 | "token": "support.function.construct" 174 | }, 175 | { 176 | "foreground": "7fdbca", 177 | "token": "keyword.other.new" 178 | }, 179 | { 180 | "foreground": "82aaff", 181 | "token": "constant.character" 182 | }, 183 | { 184 | "foreground": "82aaff", 185 | "token": "constant.other" 186 | }, 187 | { 188 | "foreground": "f78c6c", 189 | "token": "constant.character.escape" 190 | }, 191 | { 192 | "foreground": "addb67", 193 | "token": "entity.other.inherited-class" 194 | }, 195 | { 196 | "foreground": "d7dbe0", 197 | "token": "variable.parameter" 198 | }, 199 | { 200 | "foreground": "7fdbca", 201 | "token": "entity.name.tag" 202 | }, 203 | { 204 | "foreground": "cc2996", 205 | "token": "punctuation.definition.tag.html" 206 | }, 207 | { 208 | "foreground": "cc2996", 209 | "token": "punctuation.definition.tag.begin" 210 | }, 211 | { 212 | "foreground": "cc2996", 213 | "token": "punctuation.definition.tag.end" 214 | }, 215 | { 216 | "foreground": "addb67", 217 | "token": "entity.other.attribute-name" 218 | }, 219 | { 220 | "foreground": "addb67", 221 | "token": "entity.name.tag.custom" 222 | }, 223 | { 224 | "foreground": "82aaff", 225 | "token": "support.function" 226 | }, 227 | { 228 | "foreground": "82aaff", 229 | "token": "support.constant" 230 | }, 231 | { 232 | "foreground": "7fdbca", 233 | "token": "upport.constant.meta.property-value" 234 | }, 235 | { 236 | "foreground": "addb67", 237 | "token": "support.type" 238 | }, 239 | { 240 | "foreground": "addb67", 241 | "token": "support.class" 242 | }, 243 | { 244 | "foreground": "addb67", 245 | "token": "support.variable.dom" 246 | }, 247 | { 248 | "foreground": "7fdbca", 249 | "token": "support.constant" 250 | }, 251 | { 252 | "foreground": "7fdbca", 253 | "token": "keyword.other.special-method" 254 | }, 255 | { 256 | "foreground": "7fdbca", 257 | "token": "keyword.other.new" 258 | }, 259 | { 260 | "foreground": "7fdbca", 261 | "token": "keyword.other.debugger" 262 | }, 263 | { 264 | "foreground": "7fdbca", 265 | "token": "keyword.control" 266 | }, 267 | { 268 | "foreground": "c792ea", 269 | "token": "keyword.operator.comparison" 270 | }, 271 | { 272 | "foreground": "c792ea", 273 | "token": "keyword.control.flow.js" 274 | }, 275 | { 276 | "foreground": "c792ea", 277 | "token": "keyword.control.flow.ts" 278 | }, 279 | { 280 | "foreground": "c792ea", 281 | "token": "keyword.control.flow.tsx" 282 | }, 283 | { 284 | "foreground": "c792ea", 285 | "token": "keyword.control.ruby" 286 | }, 287 | { 288 | "foreground": "c792ea", 289 | "token": "keyword.control.module.ruby" 290 | }, 291 | { 292 | "foreground": "c792ea", 293 | "token": "keyword.control.class.ruby" 294 | }, 295 | { 296 | "foreground": "c792ea", 297 | "token": "keyword.control.def.ruby" 298 | }, 299 | { 300 | "foreground": "c792ea", 301 | "token": "keyword.control.loop.js" 302 | }, 303 | { 304 | "foreground": "c792ea", 305 | "token": "keyword.control.loop.ts" 306 | }, 307 | { 308 | "foreground": "c792ea", 309 | "token": "keyword.control.import.js" 310 | }, 311 | { 312 | "foreground": "c792ea", 313 | "token": "keyword.control.import.ts" 314 | }, 315 | { 316 | "foreground": "c792ea", 317 | "token": "keyword.control.import.tsx" 318 | }, 319 | { 320 | "foreground": "c792ea", 321 | "token": "keyword.control.from.js" 322 | }, 323 | { 324 | "foreground": "c792ea", 325 | "token": "keyword.control.from.ts" 326 | }, 327 | { 328 | "foreground": "c792ea", 329 | "token": "keyword.control.from.tsx" 330 | }, 331 | { 332 | "foreground": "ffffff", 333 | "background": "ff2c83", 334 | "token": "invalid" 335 | }, 336 | { 337 | "foreground": "ffffff", 338 | "background": "d3423e", 339 | "token": "invalid.deprecated" 340 | }, 341 | { 342 | "foreground": "7fdbca", 343 | "token": "keyword.operator" 344 | }, 345 | { 346 | "foreground": "c792ea", 347 | "token": "keyword.operator.relational" 348 | }, 349 | { 350 | "foreground": "c792ea", 351 | "token": "keyword.operator.assignement" 352 | }, 353 | { 354 | "foreground": "c792ea", 355 | "token": "keyword.operator.arithmetic" 356 | }, 357 | { 358 | "foreground": "c792ea", 359 | "token": "keyword.operator.bitwise" 360 | }, 361 | { 362 | "foreground": "c792ea", 363 | "token": "keyword.operator.increment" 364 | }, 365 | { 366 | "foreground": "c792ea", 367 | "token": "keyword.operator.ternary" 368 | }, 369 | { 370 | "foreground": "637777", 371 | "token": "comment.line.double-slash" 372 | }, 373 | { 374 | "foreground": "cdebf7", 375 | "token": "object" 376 | }, 377 | { 378 | "foreground": "ff5874", 379 | "token": "constant.language.null" 380 | }, 381 | { 382 | "foreground": "d6deeb", 383 | "token": "meta.brace" 384 | }, 385 | { 386 | "foreground": "c792ea", 387 | "token": "meta.delimiter.period" 388 | }, 389 | { 390 | "foreground": "d9f5dd", 391 | "token": "punctuation.definition.string" 392 | }, 393 | { 394 | "foreground": "ff5874", 395 | "token": "constant.language.boolean" 396 | }, 397 | { 398 | "foreground": "ffffff", 399 | "token": "object.comma" 400 | }, 401 | { 402 | "foreground": "7fdbca", 403 | "token": "variable.parameter.function" 404 | }, 405 | { 406 | "foreground": "80cbc4", 407 | "token": "support.type.vendor.property-name" 408 | }, 409 | { 410 | "foreground": "80cbc4", 411 | "token": "support.constant.vendor.property-value" 412 | }, 413 | { 414 | "foreground": "80cbc4", 415 | "token": "support.type.property-name" 416 | }, 417 | { 418 | "foreground": "80cbc4", 419 | "token": "meta.property-list entity.name.tag" 420 | }, 421 | { 422 | "foreground": "57eaf1", 423 | "token": "meta.property-list entity.name.tag.reference" 424 | }, 425 | { 426 | "foreground": "f78c6c", 427 | "token": "constant.other.color.rgb-value punctuation.definition.constant" 428 | }, 429 | { 430 | "foreground": "ffeb95", 431 | "token": "constant.other.color" 432 | }, 433 | { 434 | "foreground": "ffeb95", 435 | "token": "keyword.other.unit" 436 | }, 437 | { 438 | "foreground": "c792ea", 439 | "token": "meta.selector" 440 | }, 441 | { 442 | "foreground": "fad430", 443 | "token": "entity.other.attribute-name.id" 444 | }, 445 | { 446 | "foreground": "80cbc4", 447 | "token": "meta.property-name" 448 | }, 449 | { 450 | "foreground": "c792ea", 451 | "token": "entity.name.tag.doctype" 452 | }, 453 | { 454 | "foreground": "c792ea", 455 | "token": "meta.tag.sgml.doctype" 456 | }, 457 | { 458 | "foreground": "d9f5dd", 459 | "token": "punctuation.definition.parameters" 460 | }, 461 | { 462 | "foreground": "ecc48d", 463 | "token": "string.quoted" 464 | }, 465 | { 466 | "foreground": "ecc48d", 467 | "token": "string.quoted.double" 468 | }, 469 | { 470 | "foreground": "ecc48d", 471 | "token": "string.quoted.single" 472 | }, 473 | { 474 | "foreground": "addb67", 475 | "token": "support.constant.math" 476 | }, 477 | { 478 | "foreground": "addb67", 479 | "token": "support.type.property-name.json" 480 | }, 481 | { 482 | "foreground": "addb67", 483 | "token": "support.constant.json" 484 | }, 485 | { 486 | "foreground": "c789d6", 487 | "token": "meta.structure.dictionary.value.json string.quoted.double" 488 | }, 489 | { 490 | "foreground": "80cbc4", 491 | "token": "string.quoted.double.json punctuation.definition.string.json" 492 | }, 493 | { 494 | "foreground": "ff5874", 495 | "token": "meta.structure.dictionary.json meta.structure.dictionary.value constant.language" 496 | }, 497 | { 498 | "foreground": "d6deeb", 499 | "token": "variable.other.ruby" 500 | }, 501 | { 502 | "foreground": "ecc48d", 503 | "token": "entity.name.type.class.ruby" 504 | }, 505 | { 506 | "foreground": "ecc48d", 507 | "token": "keyword.control.class.ruby" 508 | }, 509 | { 510 | "foreground": "ecc48d", 511 | "token": "meta.class.ruby" 512 | }, 513 | { 514 | "foreground": "7fdbca", 515 | "token": "constant.language.symbol.hashkey.ruby" 516 | }, 517 | { 518 | "foreground": "e0eddd", 519 | "background": "a57706", 520 | "fontStyle": "italic", 521 | "token": "meta.diff" 522 | }, 523 | { 524 | "foreground": "e0eddd", 525 | "background": "a57706", 526 | "fontStyle": "italic", 527 | "token": "meta.diff.header" 528 | }, 529 | { 530 | "foreground": "ef535090", 531 | "fontStyle": "italic", 532 | "token": "markup.deleted" 533 | }, 534 | { 535 | "foreground": "a2bffc", 536 | "fontStyle": "italic", 537 | "token": "markup.changed" 538 | }, 539 | { 540 | "foreground": "a2bffc", 541 | "fontStyle": "italic", 542 | "token": "meta.diff.header.git" 543 | }, 544 | { 545 | "foreground": "a2bffc", 546 | "fontStyle": "italic", 547 | "token": "meta.diff.header.from-file" 548 | }, 549 | { 550 | "foreground": "a2bffc", 551 | "fontStyle": "italic", 552 | "token": "meta.diff.header.to-file" 553 | }, 554 | { 555 | "foreground": "219186", 556 | "background": "eae3ca", 557 | "token": "markup.inserted" 558 | }, 559 | { 560 | "foreground": "d3201f", 561 | "token": "other.package.exclude" 562 | }, 563 | { 564 | "foreground": "d3201f", 565 | "token": "other.remove" 566 | }, 567 | { 568 | "foreground": "269186", 569 | "token": "other.add" 570 | }, 571 | { 572 | "foreground": "ff5874", 573 | "token": "constant.language.python" 574 | }, 575 | { 576 | "foreground": "82aaff", 577 | "token": "variable.parameter.function.python" 578 | }, 579 | { 580 | "foreground": "82aaff", 581 | "token": "meta.function-call.arguments.python" 582 | }, 583 | { 584 | "foreground": "b2ccd6", 585 | "token": "meta.function-call.python" 586 | }, 587 | { 588 | "foreground": "b2ccd6", 589 | "token": "meta.function-call.generic.python" 590 | }, 591 | { 592 | "foreground": "d6deeb", 593 | "token": "punctuation.python" 594 | }, 595 | { 596 | "foreground": "addb67", 597 | "token": "entity.name.function.decorator.python" 598 | }, 599 | { 600 | "foreground": "8eace3", 601 | "token": "source.python variable.language.special" 602 | }, 603 | { 604 | "foreground": "82b1ff", 605 | "token": "markup.heading.markdown" 606 | }, 607 | { 608 | "foreground": "c792ea", 609 | "fontStyle": "italic", 610 | "token": "markup.italic.markdown" 611 | }, 612 | { 613 | "foreground": "addb67", 614 | "fontStyle": "bold", 615 | "token": "markup.bold.markdown" 616 | }, 617 | { 618 | "foreground": "697098", 619 | "token": "markup.quote.markdown" 620 | }, 621 | { 622 | "foreground": "80cbc4", 623 | "token": "markup.inline.raw.markdown" 624 | }, 625 | { 626 | "foreground": "ff869a", 627 | "token": "markup.underline.link.markdown" 628 | }, 629 | { 630 | "foreground": "ff869a", 631 | "token": "markup.underline.link.image.markdown" 632 | }, 633 | { 634 | "foreground": "d6deeb", 635 | "token": "string.other.link.title.markdown" 636 | }, 637 | { 638 | "foreground": "d6deeb", 639 | "token": "string.other.link.description.markdown" 640 | }, 641 | { 642 | "foreground": "82b1ff", 643 | "token": "punctuation.definition.string.markdown" 644 | }, 645 | { 646 | "foreground": "82b1ff", 647 | "token": "punctuation.definition.string.begin.markdown" 648 | }, 649 | { 650 | "foreground": "82b1ff", 651 | "token": "punctuation.definition.string.end.markdown" 652 | }, 653 | { 654 | "foreground": "82b1ff", 655 | "token": "meta.link.inline.markdown punctuation.definition.string" 656 | }, 657 | { 658 | "foreground": "7fdbca", 659 | "token": "punctuation.definition.metadata.markdown" 660 | }, 661 | { 662 | "foreground": "82b1ff", 663 | "token": "beginning.punctuation.definition.list.markdown" 664 | } 665 | ], 666 | "colors": { 667 | "editor.foreground": "#d6deeb", 668 | "editor.background": "#18181c", 669 | "editor.selectionBackground": "#5f7e9779", 670 | "editor.lineHighlightBackground": "#010E17", 671 | "editorCursor.foreground": "#80a4c2", 672 | "editorWhitespace.foreground": "#2e2040", 673 | "editorIndentGuide.background": "#5e81ce52", 674 | "editor.selectionHighlightBorder": "#122d42" 675 | } 676 | } 677 | -------------------------------------------------------------------------------- /lib/theme/light.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": "vs", 3 | "inherit": true, 4 | "rules": [ 5 | { 6 | "foreground": "008e00", 7 | "token": "comment" 8 | }, 9 | { 10 | "foreground": "7d4726", 11 | "token": "meta.preprocessor" 12 | }, 13 | { 14 | "foreground": "7d4726", 15 | "token": "keyword.control.import" 16 | }, 17 | { 18 | "foreground": "df0002", 19 | "token": "string" 20 | }, 21 | { 22 | "foreground": "3a00dc", 23 | "token": "constant.numeric" 24 | }, 25 | { 26 | "foreground": "c800a4", 27 | "token": "constant.language" 28 | }, 29 | { 30 | "foreground": "275a5e", 31 | "token": "constant.character" 32 | }, 33 | { 34 | "foreground": "275a5e", 35 | "token": "constant.other" 36 | }, 37 | { 38 | "foreground": "c800a4", 39 | "token": "variable.language" 40 | }, 41 | { 42 | "foreground": "c800a4", 43 | "token": "variable.other" 44 | }, 45 | { 46 | "foreground": "c800a4", 47 | "token": "keyword" 48 | }, 49 | { 50 | "foreground": "c900a4", 51 | "token": "storage" 52 | }, 53 | { 54 | "foreground": "438288", 55 | "token": "entity.name.class" 56 | }, 57 | { 58 | "foreground": "790ead", 59 | "token": "entity.name.tag" 60 | }, 61 | { 62 | "foreground": "450084", 63 | "token": "entity.other.attribute-name" 64 | }, 65 | { 66 | "foreground": "450084", 67 | "token": "support.function" 68 | }, 69 | { 70 | "foreground": "450084", 71 | "token": "support.constant" 72 | }, 73 | { 74 | "foreground": "790ead", 75 | "token": "support.type" 76 | }, 77 | { 78 | "foreground": "790ead", 79 | "token": "support.class" 80 | }, 81 | { 82 | "foreground": "790ead", 83 | "token": "support.other.variable" 84 | } 85 | ], 86 | "colors": { 87 | "editor.foreground": "#000000", 88 | "editor.background": "#FFFFFF", 89 | "editor.selectionBackground": "#B5D5FF", 90 | "editor.lineHighlightBackground": "#00000012", 91 | "editorCursor.foreground": "#000000", 92 | "editorWhitespace.foreground": "#BFBFBF" 93 | } 94 | } 95 | -------------------------------------------------------------------------------- /lib/token.ts: -------------------------------------------------------------------------------- 1 | import { InjectionKey } from "vue"; 2 | import { CompilerError } from "vue/compiler-sfc"; 3 | 4 | export const ConfigToken: InjectionKey = Symbol(); 5 | 6 | export interface IConfig { 7 | ms: number; //代码节流时长 8 | defaultDirection: "row" | "column"; 9 | handleError?: (err: CompilerError | SyntaxError[]) => void; 10 | onMonacoCreated?: (monaco: IMonaco) => void; 11 | } 12 | -------------------------------------------------------------------------------- /lib/utils.ts: -------------------------------------------------------------------------------- 1 | export const getRandomId = () => Math.random().toString(36).slice(2, 12); 2 | export const isObject = (target: unknown) => 3 | typeof target == "object" && target !== null; 4 | export const enhanceCreateVnode = (Vue: any) => { 5 | return function (type: any, props: any, children: any, ...rest: any[]) { 6 | if (Array.isArray(children)) { 7 | children = children.map((vnode) => { 8 | if (Array.isArray(vnode)) { 9 | return vnode; 10 | } 11 | if (isObject(vnode) && !vnode.__v_isVNode) { 12 | return Vue.createTextVNode(String(vnode)); 13 | } 14 | return vnode; 15 | }); 16 | } 17 | const vnode = Vue.createVNode(type, props, children, ...rest); 18 | return vnode; 19 | }; 20 | }; 21 | -------------------------------------------------------------------------------- /lib/vue.d.ts: -------------------------------------------------------------------------------- 1 | declare module "*.vue" { 2 | const component: any; 3 | export default component; 4 | } 5 | 6 | 7 | -------------------------------------------------------------------------------- /markdownPlugin/index.d.ts: -------------------------------------------------------------------------------- 1 | export declare function markDownPlugin(): any; 2 | -------------------------------------------------------------------------------- /markdownPlugin/index.js: -------------------------------------------------------------------------------- 1 | var I = function(o, c, a) { 2 | function m(r) { 3 | return r.trim().split(" ", 2)[0] === c; 4 | } 5 | function p(r, l, b, s, e) { 6 | return r[l].nesting === 1 && r[l].attrJoin("class", c), e.renderToken(r, l, b, s, e); 7 | } 8 | a = a || {}; 9 | var _ = 3, f = a.marker || ":", d = f.charCodeAt(0), k = f.length, A = a.validate || m, C = a.render || p; 10 | function D(r, l, b, s) { 11 | var e, i, g, v, M, u, y, $, T = !1, n = r.bMarks[l] + r.tShift[l], t = r.eMarks[l]; 12 | if (d !== r.src.charCodeAt(n)) 13 | return !1; 14 | for (e = n + 1; e <= t && f[(e - n) % k] === r.src[e]; e++) 15 | ; 16 | if (g = Math.floor((e - n) / k), g < _ || (e -= (e - n) % k, v = r.src.slice(n, e), M = r.src.slice(e, t), !A(M, v))) 17 | return !1; 18 | if (s) 19 | return !0; 20 | for (i = l; i++, !(i >= b || (n = r.bMarks[i] + r.tShift[i], t = r.eMarks[i], n < t && r.sCount[i] < r.blkIndent)); ) 21 | if (d === r.src.charCodeAt(n) && !(r.sCount[i] - r.blkIndent >= 4)) { 22 | for (e = n + 1; e <= t && f[(e - n) % k] === r.src[e]; e++) 23 | ; 24 | if (!(Math.floor((e - n) / k) < g) && (e -= (e - n) % k, e = r.skipSpaces(e), !(e < t))) { 25 | T = !0; 26 | break; 27 | } 28 | } 29 | return y = r.parentType, $ = r.lineMax, r.parentType = "container", r.lineMax = i, u = r.push("container_" + c + "_open", "div", 1), u.markup = v, u.block = !0, u.info = M, u.map = [l, i], r.md.block.tokenize(r, l + 1, i), u = r.push("container_" + c + "_close", "div", -1), u.markup = r.src.slice(n, e), u.block = !0, r.parentType = y, r.lineMax = $, r.line = i + (T ? 1 : 0), !0; 30 | } 31 | o.block.ruler.before("fence", "container_" + c, D, { 32 | alt: ["paragraph", "reference", "blockquote", "list"] 33 | }), o.renderer.rules["container_" + c + "_open"] = C, o.renderer.rules["container_" + c + "_close"] = C; 34 | }; 35 | const S = function(h) { 36 | h.use(I, "demo", { 37 | validate(o) { 38 | return o.trim().match(/^demo\s*(.*)$/); 39 | }, 40 | render(o, c) { 41 | if (o[c].nesting === 1) { 42 | const a = o[c + 1].type === "fence" ? o[c + 1].content : "", m = o[c + 1].info, p = o[c].info + " ", _ = p.includes("column"), f = /height\:(.*?)\s/.exec(p), d = f ? f[1] : void 0; 43 | return ` 44 | 45 | 50 | `; 51 | } 52 | return ""; 53 | } 54 | }); 55 | }; 56 | export { 57 | S as default 58 | }; 59 | -------------------------------------------------------------------------------- /markdownPlugin/index.umd.cjs: -------------------------------------------------------------------------------- 1 | (function(p,k){typeof exports=="object"&&typeof module<"u"?module.exports=k():typeof define=="function"&&define.amd?define(k):(p=typeof globalThis<"u"?globalThis:p||self,p.demoEditor=k())})(this,function(){"use strict";var p=function(c,i,f){function _(e){return e.trim().split(" ",2)[0]===i}function h(e,l,g,v,r){return e[l].nesting===1&&e[l].attrJoin("class",i),r.renderToken(e,l,g,v,r)}f=f||{};var b=3,a=f.marker||":",m=a.charCodeAt(0),t=a.length,x=f.validate||_,T=f.render||h;function A(e,l,g,v){var r,o,M,y,C,u,$,D,w=!1,n=e.bMarks[l]+e.tShift[l],d=e.eMarks[l];if(m!==e.src.charCodeAt(n))return!1;for(r=n+1;r<=d&&a[(r-n)%t]===e.src[r];r++);if(M=Math.floor((r-n)/t),M=g||(n=e.bMarks[o]+e.tShift[o],d=e.eMarks[o],n=4)){for(r=n+1;r<=d&&a[(r-n)%t]===e.src[r];r++);if(!(Math.floor((r-n)/t) 3 | 8 | `}return""}})}}); 9 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vitepress-demo-editor", 3 | "version": "3.1.0-beta.5", 4 | "description": "vitepress 插件,支持在线编辑 Demo 演示源代码,支持 SFC, JSX, TSX", 5 | "type": "module", 6 | "main": "./dist/index.umd.cjs", 7 | "module": "./dist/index.js", 8 | "types": "./dist/index.d.ts", 9 | "exports": { 10 | ".": { 11 | "import": "./dist/index.js", 12 | "require": "./dist/index.umd.cjs" 13 | }, 14 | "./markdownPlugin": { 15 | "import": "./markdownPlugin/index.js", 16 | "require": "./markdownPlugin/index.umd.cjs" 17 | }, 18 | "./dist/": "./dist/" 19 | }, 20 | "license": "MIT", 21 | "keywords": [ 22 | "vite", 23 | "vitepress", 24 | "plugin", 25 | "vitepress-plugin", 26 | "demo", 27 | "editor", 28 | "playground" 29 | ], 30 | "files": [ 31 | "dist", 32 | "markdownPlugin" 33 | ], 34 | "homepage": "https://github.com/liyao1520/vitepress-demo-editor", 35 | "repository": { 36 | "type": "git", 37 | "url": "git@github.com:liyao1520/vitepress-demo-editor.git" 38 | }, 39 | "scripts": { 40 | "docs:dev": "vitepress dev docs", 41 | "docs:build": "vitepress build docs", 42 | "docs:serve": "vitepress serve docs", 43 | "build": "vite build" 44 | }, 45 | "devDependencies": { 46 | "@rollup/plugin-typescript": "^8.3.3", 47 | "@types/babel__standalone": "^7.1.4", 48 | "@types/babel__traverse": "^7.17.1", 49 | "@types/markdown-it-container": "^2.0.5", 50 | "@types/node": "^18.0.5", 51 | "@vitejs/plugin-vue": "^3.0.1", 52 | "vite": "^3.0.2", 53 | "vite-plugin-dts": "^1.3.0", 54 | "vite-plugin-static-copy": "^0.12.0", 55 | "vitepress": "^1.0.0-alpha.4" 56 | }, 57 | "dependencies": { 58 | "@babel/core": "^7.18.9", 59 | "@babel/plugin-transform-typescript": "^7.18.8", 60 | "@babel/standalone": "^7.18.8", 61 | "browser-assert": "^1.2.1", 62 | "markdown-it-container": "^3.0.0", 63 | "monaco-editor-ex": "^0.33.8", 64 | "path-browserify": "^1.0.1" 65 | }, 66 | "peerDependencies": { 67 | "@vue/babel-plugin-jsx": ">=1.0.0", 68 | "@vue/runtime-core": ">=3.0.0", 69 | "@vue/runtime-dom": ">=3.0.0", 70 | "vitepress": ">=0.1.0", 71 | "vue": ">=3.0.0" 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /scripts/build.js: -------------------------------------------------------------------------------- 1 | import { build, normalizePath } from "vite"; 2 | import { viteStaticCopy } from "vite-plugin-static-copy"; 3 | import path, { resolve } from "path"; 4 | 5 | import { fileURLToPath } from "url"; 6 | 7 | const __filenameNew = fileURLToPath(import.meta.url); 8 | 9 | const __dirnameNew = path.dirname(__filenameNew); 10 | 11 | build({ 12 | root: "./", 13 | plugins: [ 14 | viteStaticCopy({ 15 | targets: [ 16 | { 17 | src: normalizePath( 18 | resolve(__dirnameNew, "../lib/markdownPlugin/index.d.ts") 19 | ), 20 | dest: normalizePath(resolve(__dirnameNew, "../markdownPlugin")), 21 | }, 22 | ], 23 | }), 24 | ], 25 | build: { 26 | lib: { 27 | entry: resolve(__dirnameNew, "../lib/markdownPlugin", "index.ts"), 28 | fileName: "index", 29 | formats: ["es", "umd"], 30 | }, 31 | rollupOptions: { 32 | output: { 33 | dir: resolve(__dirnameNew, "../markdownPlugin"), 34 | }, 35 | }, 36 | }, 37 | }); 38 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig.json to read more about this file */ 4 | 5 | /* Projects */ 6 | // "incremental": true, /* Enable incremental compilation */ 7 | // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ 8 | // "tsBuildInfoFile": "./", /* Specify the folder for .tsbuildinfo incremental compilation files. */ 9 | // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects */ 10 | // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ 11 | // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ 12 | 13 | /* Language and Environment */ 14 | "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ 15 | // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ 16 | // "jsx": "preserve", /* Specify what JSX code is generated. */ 17 | // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ 18 | // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ 19 | // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h' */ 20 | // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ 21 | // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.` */ 22 | // "reactNamespace": "", /* Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit. */ 23 | // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ 24 | // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ 25 | 26 | /* Modules */ 27 | "module": "ESNext", /* Specify what module code is generated. */ 28 | // "rootDir": "./", /* Specify the root folder within your source files. */ 29 | "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ 30 | // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ 31 | // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ 32 | // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ 33 | // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */ 34 | // "types": [], /* Specify type package names to be included without being referenced in a source file. */ 35 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 36 | "resolveJsonModule": true, /* Enable importing .json files */ 37 | // "noResolve": true, /* Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project. */ 38 | 39 | /* JavaScript Support */ 40 | // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */ 41 | // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ 42 | // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`. */ 43 | 44 | /* Emit */ 45 | // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ 46 | // "declarationMap": true, /* Create sourcemaps for d.ts files. */ 47 | // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ 48 | // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ 49 | // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output. */ 50 | // "outDir": "./", /* Specify an output folder for all emitted files. */ 51 | // "removeComments": true, /* Disable emitting comments. */ 52 | // "noEmit": true, /* Disable emitting files from a compilation. */ 53 | // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ 54 | // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types */ 55 | // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ 56 | // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ 57 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 58 | // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ 59 | // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ 60 | // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ 61 | // "newLine": "crlf", /* Set the newline character for emitting files. */ 62 | // "stripInternal": true, /* Disable emitting declarations that have `@internal` in their JSDoc comments. */ 63 | // "noEmitHelpers": true, /* Disable generating custom helper functions like `__extends` in compiled output. */ 64 | // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ 65 | // "preserveConstEnums": true, /* Disable erasing `const enum` declarations in generated code. */ 66 | // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ 67 | // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ 68 | 69 | /* Interop Constraints */ 70 | // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ 71 | // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ 72 | "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */ 73 | // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ 74 | "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ 75 | 76 | /* Type Checking */ 77 | "strict": true, /* Enable all strict type-checking options. */ 78 | // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied `any` type.. */ 79 | // "strictNullChecks": true, /* When type checking, take into account `null` and `undefined`. */ 80 | // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ 81 | // "strictBindCallApply": true, /* Check that the arguments for `bind`, `call`, and `apply` methods match the original function. */ 82 | // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ 83 | // "noImplicitThis": true, /* Enable error reporting when `this` is given the type `any`. */ 84 | // "useUnknownInCatchVariables": true, /* Type catch clause variables as 'unknown' instead of 'any'. */ 85 | // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ 86 | // "noUnusedLocals": true, /* Enable error reporting when a local variables aren't read. */ 87 | // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read */ 88 | // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ 89 | // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ 90 | // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ 91 | // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ 92 | // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ 93 | // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type */ 94 | // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ 95 | // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ 96 | 97 | /* Completeness */ 98 | // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ 99 | "skipLibCheck": true /* Skip type checking all .d.ts files. */ 100 | 101 | }, 102 | "include":["lib"] 103 | } 104 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import vue from "@vitejs/plugin-vue"; 3 | import dts from "vite-plugin-dts"; 4 | 5 | import { resolve } from "path"; 6 | 7 | export default defineConfig({ 8 | base: "/", 9 | resolve: { 10 | alias: { 11 | assert: "browser-assert", 12 | path: "path-browserify", 13 | }, 14 | }, 15 | plugins: [vue(), dts()], 16 | build: { 17 | cssCodeSplit: false, 18 | lib: { 19 | entry: resolve(__dirname, "lib", "index.ts"), 20 | name: "demoEditor", 21 | fileName: "index", 22 | formats: ["es", "umd"], 23 | }, 24 | rollupOptions: { 25 | external: [ 26 | "vue", 27 | "@vue/babel-plugin-jsx", 28 | "@vue/runtime-dom", 29 | "@vue/runtime-core", 30 | // "@babel/standalone", 31 | // "@babel/plugin-transform-typescript", 32 | // "vue/compiler-sfc", 33 | ], 34 | output: { 35 | // 在 UMD 构建模式下为这些外部化的依赖提供一个全局变量 36 | globals: { 37 | vue: "Vue", 38 | }, 39 | }, 40 | }, 41 | }, 42 | optimizeDeps: { 43 | include: ["browser-assert", "path-browserify", "@babel/core"], 44 | }, 45 | }); 46 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@algolia/autocomplete-core@1.7.1": 6 | version "1.7.1" 7 | resolved "https://registry.npmmirror.com/@algolia/autocomplete-core/-/autocomplete-core-1.7.1.tgz" 8 | integrity sha512-eiZw+fxMzNQn01S8dA/hcCpoWCOCwcIIEUtHHdzN5TGB3IpzLbuhqFeTfh2OUhhgkE8Uo17+wH+QJ/wYyQmmzg== 9 | dependencies: 10 | "@algolia/autocomplete-shared" "1.7.1" 11 | 12 | "@algolia/autocomplete-preset-algolia@1.7.1": 13 | version "1.7.1" 14 | resolved "https://registry.npmmirror.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.7.1.tgz" 15 | integrity sha512-pJwmIxeJCymU1M6cGujnaIYcY3QPOVYZOXhFkWVM7IxKzy272BwCvMFMyc5NpG/QmiObBxjo7myd060OeTNJXg== 16 | dependencies: 17 | "@algolia/autocomplete-shared" "1.7.1" 18 | 19 | "@algolia/autocomplete-shared@1.7.1": 20 | version "1.7.1" 21 | resolved "https://registry.npmmirror.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.7.1.tgz" 22 | integrity sha512-eTmGVqY3GeyBTT8IWiB2K5EuURAqhnumfktAEoHxfDY2o7vg2rSnO16ZtIG0fMgt3py28Vwgq42/bVEuaQV7pg== 23 | 24 | "@algolia/cache-browser-local-storage@4.13.1": 25 | version "4.13.1" 26 | resolved "https://registry.npmmirror.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.13.1.tgz" 27 | integrity sha512-UAUVG2PEfwd/FfudsZtYnidJ9eSCpS+LW9cQiesePQLz41NAcddKxBak6eP2GErqyFagSlnVXe/w2E9h2m2ttg== 28 | dependencies: 29 | "@algolia/cache-common" "4.13.1" 30 | 31 | "@algolia/cache-common@4.13.1": 32 | version "4.13.1" 33 | resolved "https://registry.npmmirror.com/@algolia/cache-common/-/cache-common-4.13.1.tgz" 34 | integrity sha512-7Vaf6IM4L0Jkl3sYXbwK+2beQOgVJ0mKFbz/4qSxKd1iy2Sp77uTAazcX+Dlexekg1fqGUOSO7HS4Sx47ZJmjA== 35 | 36 | "@algolia/cache-in-memory@4.13.1": 37 | version "4.13.1" 38 | resolved "https://registry.npmmirror.com/@algolia/cache-in-memory/-/cache-in-memory-4.13.1.tgz" 39 | integrity sha512-pZzybCDGApfA/nutsFK1P0Sbsq6fYJU3DwIvyKg4pURerlJM4qZbB9bfLRef0FkzfQu7W11E4cVLCIOWmyZeuQ== 40 | dependencies: 41 | "@algolia/cache-common" "4.13.1" 42 | 43 | "@algolia/client-account@4.13.1": 44 | version "4.13.1" 45 | resolved "https://registry.npmmirror.com/@algolia/client-account/-/client-account-4.13.1.tgz" 46 | integrity sha512-TFLiZ1KqMiir3FNHU+h3b0MArmyaHG+eT8Iojio6TdpeFcAQ1Aiy+2gb3SZk3+pgRJa/BxGmDkRUwE5E/lv3QQ== 47 | dependencies: 48 | "@algolia/client-common" "4.13.1" 49 | "@algolia/client-search" "4.13.1" 50 | "@algolia/transporter" "4.13.1" 51 | 52 | "@algolia/client-analytics@4.13.1": 53 | version "4.13.1" 54 | resolved "https://registry.npmmirror.com/@algolia/client-analytics/-/client-analytics-4.13.1.tgz" 55 | integrity sha512-iOS1JBqh7xaL5x00M5zyluZ9+9Uy9GqtYHv/2SMuzNW1qP7/0doz1lbcsP3S7KBbZANJTFHUOfuqyRLPk91iFA== 56 | dependencies: 57 | "@algolia/client-common" "4.13.1" 58 | "@algolia/client-search" "4.13.1" 59 | "@algolia/requester-common" "4.13.1" 60 | "@algolia/transporter" "4.13.1" 61 | 62 | "@algolia/client-common@4.13.1": 63 | version "4.13.1" 64 | resolved "https://registry.npmmirror.com/@algolia/client-common/-/client-common-4.13.1.tgz" 65 | integrity sha512-LcDoUE0Zz3YwfXJL6lJ2OMY2soClbjrrAKB6auYVMNJcoKZZ2cbhQoFR24AYoxnGUYBER/8B+9sTBj5bj/Gqbg== 66 | dependencies: 67 | "@algolia/requester-common" "4.13.1" 68 | "@algolia/transporter" "4.13.1" 69 | 70 | "@algolia/client-personalization@4.13.1": 71 | version "4.13.1" 72 | resolved "https://registry.npmmirror.com/@algolia/client-personalization/-/client-personalization-4.13.1.tgz" 73 | integrity sha512-1CqrOW1ypVrB4Lssh02hP//YxluoIYXAQCpg03L+/RiXJlCs+uIqlzC0ctpQPmxSlTK6h07kr50JQoYH/TIM9w== 74 | dependencies: 75 | "@algolia/client-common" "4.13.1" 76 | "@algolia/requester-common" "4.13.1" 77 | "@algolia/transporter" "4.13.1" 78 | 79 | "@algolia/client-search@4.13.1": 80 | version "4.13.1" 81 | resolved "https://registry.npmmirror.com/@algolia/client-search/-/client-search-4.13.1.tgz" 82 | integrity sha512-YQKYA83MNRz3FgTNM+4eRYbSmHi0WWpo019s5SeYcL3HUan/i5R09VO9dk3evELDFJYciiydSjbsmhBzbpPP2A== 83 | dependencies: 84 | "@algolia/client-common" "4.13.1" 85 | "@algolia/requester-common" "4.13.1" 86 | "@algolia/transporter" "4.13.1" 87 | 88 | "@algolia/logger-common@4.13.1": 89 | version "4.13.1" 90 | resolved "https://registry.npmmirror.com/@algolia/logger-common/-/logger-common-4.13.1.tgz" 91 | integrity sha512-L6slbL/OyZaAXNtS/1A8SAbOJeEXD5JcZeDCPYDqSTYScfHu+2ePRTDMgUTY4gQ7HsYZ39N1LujOd8WBTmM2Aw== 92 | 93 | "@algolia/logger-console@4.13.1": 94 | version "4.13.1" 95 | resolved "https://registry.npmmirror.com/@algolia/logger-console/-/logger-console-4.13.1.tgz" 96 | integrity sha512-7jQOTftfeeLlnb3YqF8bNgA2GZht7rdKkJ31OCeSH2/61haO0tWPoNRjZq9XLlgMQZH276pPo0NdiArcYPHjCA== 97 | dependencies: 98 | "@algolia/logger-common" "4.13.1" 99 | 100 | "@algolia/requester-browser-xhr@4.13.1": 101 | version "4.13.1" 102 | resolved "https://registry.npmmirror.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.13.1.tgz" 103 | integrity sha512-oa0CKr1iH6Nc7CmU6RE7TnXMjHnlyp7S80pP/LvZVABeJHX3p/BcSCKovNYWWltgTxUg0U1o+2uuy8BpMKljwA== 104 | dependencies: 105 | "@algolia/requester-common" "4.13.1" 106 | 107 | "@algolia/requester-common@4.13.1": 108 | version "4.13.1" 109 | resolved "https://registry.npmmirror.com/@algolia/requester-common/-/requester-common-4.13.1.tgz" 110 | integrity sha512-eGVf0ID84apfFEuXsaoSgIxbU3oFsIbz4XiotU3VS8qGCJAaLVUC5BUJEkiFENZIhon7hIB4d0RI13HY4RSA+w== 111 | 112 | "@algolia/requester-node-http@4.13.1": 113 | version "4.13.1" 114 | resolved "https://registry.npmmirror.com/@algolia/requester-node-http/-/requester-node-http-4.13.1.tgz" 115 | integrity sha512-7C0skwtLdCz5heKTVe/vjvrqgL/eJxmiEjHqXdtypcE5GCQCYI15cb+wC4ytYioZDMiuDGeVYmCYImPoEgUGPw== 116 | dependencies: 117 | "@algolia/requester-common" "4.13.1" 118 | 119 | "@algolia/transporter@4.13.1": 120 | version "4.13.1" 121 | resolved "https://registry.npmmirror.com/@algolia/transporter/-/transporter-4.13.1.tgz" 122 | integrity sha512-pICnNQN7TtrcYJqqPEXByV8rJ8ZRU2hCiIKLTLRyNpghtQG3VAFk6fVtdzlNfdUGZcehSKGarPIZEHlQXnKjgw== 123 | dependencies: 124 | "@algolia/cache-common" "4.13.1" 125 | "@algolia/logger-common" "4.13.1" 126 | "@algolia/requester-common" "4.13.1" 127 | 128 | "@ampproject/remapping@^2.1.0": 129 | version "2.2.0" 130 | resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" 131 | integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== 132 | dependencies: 133 | "@jridgewell/gen-mapping" "^0.1.0" 134 | "@jridgewell/trace-mapping" "^0.3.9" 135 | 136 | "@babel/code-frame@^7.18.6": 137 | version "7.18.6" 138 | resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" 139 | integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== 140 | dependencies: 141 | "@babel/highlight" "^7.18.6" 142 | 143 | "@babel/compat-data@^7.18.8": 144 | version "7.18.8" 145 | resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz#2483f565faca607b8535590e84e7de323f27764d" 146 | integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ== 147 | 148 | "@babel/core@^7.1.0", "@babel/core@^7.18.9": 149 | version "7.18.9" 150 | resolved "https://registry.npmjs.org/@babel/core/-/core-7.18.9.tgz#805461f967c77ff46c74ca0460ccf4fe933ddd59" 151 | integrity sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g== 152 | dependencies: 153 | "@ampproject/remapping" "^2.1.0" 154 | "@babel/code-frame" "^7.18.6" 155 | "@babel/generator" "^7.18.9" 156 | "@babel/helper-compilation-targets" "^7.18.9" 157 | "@babel/helper-module-transforms" "^7.18.9" 158 | "@babel/helpers" "^7.18.9" 159 | "@babel/parser" "^7.18.9" 160 | "@babel/template" "^7.18.6" 161 | "@babel/traverse" "^7.18.9" 162 | "@babel/types" "^7.18.9" 163 | convert-source-map "^1.7.0" 164 | debug "^4.1.0" 165 | gensync "^1.0.0-beta.2" 166 | json5 "^2.2.1" 167 | semver "^6.3.0" 168 | 169 | "@babel/generator@^7.18.9": 170 | version "7.18.9" 171 | resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.18.9.tgz#68337e9ea8044d6ddc690fb29acae39359cca0a5" 172 | integrity sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug== 173 | dependencies: 174 | "@babel/types" "^7.18.9" 175 | "@jridgewell/gen-mapping" "^0.3.2" 176 | jsesc "^2.5.1" 177 | 178 | "@babel/helper-annotate-as-pure@^7.18.6": 179 | version "7.18.6" 180 | resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" 181 | integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== 182 | dependencies: 183 | "@babel/types" "^7.18.6" 184 | 185 | "@babel/helper-compilation-targets@^7.18.9": 186 | version "7.18.9" 187 | resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz#69e64f57b524cde3e5ff6cc5a9f4a387ee5563bf" 188 | integrity sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg== 189 | dependencies: 190 | "@babel/compat-data" "^7.18.8" 191 | "@babel/helper-validator-option" "^7.18.6" 192 | browserslist "^4.20.2" 193 | semver "^6.3.0" 194 | 195 | "@babel/helper-create-class-features-plugin@^7.18.6": 196 | version "7.18.9" 197 | resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz#d802ee16a64a9e824fcbf0a2ffc92f19d58550ce" 198 | integrity sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw== 199 | dependencies: 200 | "@babel/helper-annotate-as-pure" "^7.18.6" 201 | "@babel/helper-environment-visitor" "^7.18.9" 202 | "@babel/helper-function-name" "^7.18.9" 203 | "@babel/helper-member-expression-to-functions" "^7.18.9" 204 | "@babel/helper-optimise-call-expression" "^7.18.6" 205 | "@babel/helper-replace-supers" "^7.18.9" 206 | "@babel/helper-split-export-declaration" "^7.18.6" 207 | 208 | "@babel/helper-environment-visitor@^7.18.9": 209 | version "7.18.9" 210 | resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" 211 | integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== 212 | 213 | "@babel/helper-function-name@^7.18.9": 214 | version "7.18.9" 215 | resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz#940e6084a55dee867d33b4e487da2676365e86b0" 216 | integrity sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A== 217 | dependencies: 218 | "@babel/template" "^7.18.6" 219 | "@babel/types" "^7.18.9" 220 | 221 | "@babel/helper-hoist-variables@^7.18.6": 222 | version "7.18.6" 223 | resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" 224 | integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== 225 | dependencies: 226 | "@babel/types" "^7.18.6" 227 | 228 | "@babel/helper-member-expression-to-functions@^7.18.9": 229 | version "7.18.9" 230 | resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz#1531661e8375af843ad37ac692c132841e2fd815" 231 | integrity sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg== 232 | dependencies: 233 | "@babel/types" "^7.18.9" 234 | 235 | "@babel/helper-module-imports@^7.18.6": 236 | version "7.18.6" 237 | resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" 238 | integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== 239 | dependencies: 240 | "@babel/types" "^7.18.6" 241 | 242 | "@babel/helper-module-transforms@^7.18.9": 243 | version "7.18.9" 244 | resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz#5a1079c005135ed627442df31a42887e80fcb712" 245 | integrity sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g== 246 | dependencies: 247 | "@babel/helper-environment-visitor" "^7.18.9" 248 | "@babel/helper-module-imports" "^7.18.6" 249 | "@babel/helper-simple-access" "^7.18.6" 250 | "@babel/helper-split-export-declaration" "^7.18.6" 251 | "@babel/helper-validator-identifier" "^7.18.6" 252 | "@babel/template" "^7.18.6" 253 | "@babel/traverse" "^7.18.9" 254 | "@babel/types" "^7.18.9" 255 | 256 | "@babel/helper-optimise-call-expression@^7.18.6": 257 | version "7.18.6" 258 | resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" 259 | integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== 260 | dependencies: 261 | "@babel/types" "^7.18.6" 262 | 263 | "@babel/helper-plugin-utils@^7.18.6": 264 | version "7.18.9" 265 | resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz#4b8aea3b069d8cb8a72cdfe28ddf5ceca695ef2f" 266 | integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w== 267 | 268 | "@babel/helper-replace-supers@^7.18.9": 269 | version "7.18.9" 270 | resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz#1092e002feca980fbbb0bd4d51b74a65c6a500e6" 271 | integrity sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ== 272 | dependencies: 273 | "@babel/helper-environment-visitor" "^7.18.9" 274 | "@babel/helper-member-expression-to-functions" "^7.18.9" 275 | "@babel/helper-optimise-call-expression" "^7.18.6" 276 | "@babel/traverse" "^7.18.9" 277 | "@babel/types" "^7.18.9" 278 | 279 | "@babel/helper-simple-access@^7.18.6": 280 | version "7.18.6" 281 | resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" 282 | integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== 283 | dependencies: 284 | "@babel/types" "^7.18.6" 285 | 286 | "@babel/helper-split-export-declaration@^7.18.6": 287 | version "7.18.6" 288 | resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" 289 | integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== 290 | dependencies: 291 | "@babel/types" "^7.18.6" 292 | 293 | "@babel/helper-validator-identifier@^7.18.6": 294 | version "7.18.6" 295 | resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" 296 | integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== 297 | 298 | "@babel/helper-validator-option@^7.18.6": 299 | version "7.18.6" 300 | resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" 301 | integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== 302 | 303 | "@babel/helpers@^7.18.9": 304 | version "7.18.9" 305 | resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz#4bef3b893f253a1eced04516824ede94dcfe7ff9" 306 | integrity sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ== 307 | dependencies: 308 | "@babel/template" "^7.18.6" 309 | "@babel/traverse" "^7.18.9" 310 | "@babel/types" "^7.18.9" 311 | 312 | "@babel/highlight@^7.18.6": 313 | version "7.18.6" 314 | resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" 315 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== 316 | dependencies: 317 | "@babel/helper-validator-identifier" "^7.18.6" 318 | chalk "^2.0.0" 319 | js-tokens "^4.0.0" 320 | 321 | "@babel/parser@^7.16.4": 322 | version "7.18.8" 323 | resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.18.8.tgz" 324 | integrity sha512-RSKRfYX20dyH+elbJK2uqAkVyucL+xXzhqlMD5/ZXx+dAAwpyB7HsvnHe/ZUGOF+xLr5Wx9/JoXVTj6BQE2/oA== 325 | 326 | "@babel/parser@^7.18.6", "@babel/parser@^7.18.9": 327 | version "7.18.9" 328 | resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz#f2dde0c682ccc264a9a8595efd030a5cc8fd2539" 329 | integrity sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg== 330 | 331 | "@babel/plugin-syntax-typescript@^7.18.6": 332 | version "7.18.6" 333 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz#1c09cd25795c7c2b8a4ba9ae49394576d4133285" 334 | integrity sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA== 335 | dependencies: 336 | "@babel/helper-plugin-utils" "^7.18.6" 337 | 338 | "@babel/plugin-transform-typescript@^7.18.8": 339 | version "7.18.8" 340 | resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.18.8.tgz#303feb7a920e650f2213ef37b36bbf327e6fa5a0" 341 | integrity sha512-p2xM8HI83UObjsZGofMV/EdYjamsDm6MoN3hXPYIT0+gxIoopE+B7rPYKAxfrz9K9PK7JafTTjqYC6qipLExYA== 342 | dependencies: 343 | "@babel/helper-create-class-features-plugin" "^7.18.6" 344 | "@babel/helper-plugin-utils" "^7.18.6" 345 | "@babel/plugin-syntax-typescript" "^7.18.6" 346 | 347 | "@babel/standalone@^7.18.8": 348 | version "7.18.9" 349 | resolved "https://registry.npmjs.org/@babel/standalone/-/standalone-7.18.9.tgz#27d9bccac590df9e2d34b632e5d600f68b3fe581" 350 | integrity sha512-6E+p5azHMHcMkHzGFnA7Pqhtgfwx1cClwjMqomMHhdFupCLZDDpVQUctRGYE7p7nn7cXJZSI/L9en+tt30AP3w== 351 | 352 | "@babel/template@^7.18.6": 353 | version "7.18.6" 354 | resolved "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz#1283f4993e00b929d6e2d3c72fdc9168a2977a31" 355 | integrity sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw== 356 | dependencies: 357 | "@babel/code-frame" "^7.18.6" 358 | "@babel/parser" "^7.18.6" 359 | "@babel/types" "^7.18.6" 360 | 361 | "@babel/traverse@^7.18.9": 362 | version "7.18.9" 363 | resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.9.tgz#deeff3e8f1bad9786874cb2feda7a2d77a904f98" 364 | integrity sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg== 365 | dependencies: 366 | "@babel/code-frame" "^7.18.6" 367 | "@babel/generator" "^7.18.9" 368 | "@babel/helper-environment-visitor" "^7.18.9" 369 | "@babel/helper-function-name" "^7.18.9" 370 | "@babel/helper-hoist-variables" "^7.18.6" 371 | "@babel/helper-split-export-declaration" "^7.18.6" 372 | "@babel/parser" "^7.18.9" 373 | "@babel/types" "^7.18.9" 374 | debug "^4.1.0" 375 | globals "^11.1.0" 376 | 377 | "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.3.0": 378 | version "7.18.9" 379 | resolved "https://registry.npmjs.org/@babel/types/-/types-7.18.9.tgz#7148d64ba133d8d73a41b3172ac4b83a1452205f" 380 | integrity sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg== 381 | dependencies: 382 | "@babel/helper-validator-identifier" "^7.18.6" 383 | to-fast-properties "^2.0.0" 384 | 385 | "@docsearch/css@3.1.1", "@docsearch/css@^3.0.0": 386 | version "3.1.1" 387 | resolved "https://registry.npmmirror.com/@docsearch/css/-/css-3.1.1.tgz" 388 | integrity sha512-utLgg7E1agqQeqCJn05DWC7XXMk4tMUUnL7MZupcknRu2OzGN13qwey2qA/0NAKkVBGugiWtON0+rlU0QIPojg== 389 | 390 | "@docsearch/js@^3.0.0": 391 | version "3.1.1" 392 | resolved "https://registry.npmmirror.com/@docsearch/js/-/js-3.1.1.tgz" 393 | integrity sha512-bt7l2aKRoSnLUuX+s4LVQ1a7AF2c9myiZNv5uvQCePG5tpvVGpwrnMwqVXOUJn9q6FwVVhOrQMO/t+QmnnAEUw== 394 | dependencies: 395 | "@docsearch/react" "3.1.1" 396 | preact "^10.0.0" 397 | 398 | "@docsearch/react@3.1.1": 399 | version "3.1.1" 400 | resolved "https://registry.npmmirror.com/@docsearch/react/-/react-3.1.1.tgz" 401 | integrity sha512-cfoql4qvtsVRqBMYxhlGNpvyy/KlCoPqjIsJSZYqYf9AplZncKjLBTcwBu6RXFMVCe30cIFljniI4OjqAU67pQ== 402 | dependencies: 403 | "@algolia/autocomplete-core" "1.7.1" 404 | "@algolia/autocomplete-preset-algolia" "1.7.1" 405 | "@docsearch/css" "3.1.1" 406 | algoliasearch "^4.0.0" 407 | 408 | "@jridgewell/gen-mapping@^0.1.0": 409 | version "0.1.1" 410 | resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" 411 | integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== 412 | dependencies: 413 | "@jridgewell/set-array" "^1.0.0" 414 | "@jridgewell/sourcemap-codec" "^1.4.10" 415 | 416 | "@jridgewell/gen-mapping@^0.3.2": 417 | version "0.3.2" 418 | resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" 419 | integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== 420 | dependencies: 421 | "@jridgewell/set-array" "^1.0.1" 422 | "@jridgewell/sourcemap-codec" "^1.4.10" 423 | "@jridgewell/trace-mapping" "^0.3.9" 424 | 425 | "@jridgewell/resolve-uri@^3.0.3": 426 | version "3.1.0" 427 | resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" 428 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== 429 | 430 | "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": 431 | version "1.1.2" 432 | resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" 433 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== 434 | 435 | "@jridgewell/sourcemap-codec@^1.4.10": 436 | version "1.4.14" 437 | resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" 438 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== 439 | 440 | "@jridgewell/trace-mapping@^0.3.9": 441 | version "0.3.14" 442 | resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz#b231a081d8f66796e475ad588a1ef473112701ed" 443 | integrity sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ== 444 | dependencies: 445 | "@jridgewell/resolve-uri" "^3.0.3" 446 | "@jridgewell/sourcemap-codec" "^1.4.10" 447 | 448 | "@microsoft/api-extractor-model@7.21.0": 449 | version "7.21.0" 450 | resolved "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.21.0.tgz" 451 | integrity sha512-NN4mXzoQWTuzznIcnLWeV6tGyn6Os9frDK6M/mmTXZ73vUYOvSWoKQ5SYzyzP7HF3YtvTmr1Rs+DsBb0HRx7WQ== 452 | dependencies: 453 | "@microsoft/tsdoc" "0.14.1" 454 | "@microsoft/tsdoc-config" "~0.16.1" 455 | "@rushstack/node-core-library" "3.49.0" 456 | 457 | "@microsoft/api-extractor@^7.20.0": 458 | version "7.28.4" 459 | resolved "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.28.4.tgz" 460 | integrity sha512-7JeROBGYTUt4/4HPnpMscsQgLzX0OfGTQR2qOQzzh3kdkMyxmiv2mzpuhoMnwbubb1GvPcyFm+NguoqOqkCVaw== 461 | dependencies: 462 | "@microsoft/api-extractor-model" "7.21.0" 463 | "@microsoft/tsdoc" "0.14.1" 464 | "@microsoft/tsdoc-config" "~0.16.1" 465 | "@rushstack/node-core-library" "3.49.0" 466 | "@rushstack/rig-package" "0.3.13" 467 | "@rushstack/ts-command-line" "4.12.1" 468 | colors "~1.2.1" 469 | lodash "~4.17.15" 470 | resolve "~1.17.0" 471 | semver "~7.3.0" 472 | source-map "~0.6.1" 473 | typescript "~4.6.3" 474 | 475 | "@microsoft/tsdoc-config@~0.16.1": 476 | version "0.16.1" 477 | resolved "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.16.1.tgz" 478 | integrity sha512-2RqkwiD4uN6MLnHFljqBlZIXlt/SaUT6cuogU1w2ARw4nKuuppSmR0+s+NC+7kXBQykd9zzu0P4HtBpZT5zBpQ== 479 | dependencies: 480 | "@microsoft/tsdoc" "0.14.1" 481 | ajv "~6.12.6" 482 | jju "~1.4.0" 483 | resolve "~1.19.0" 484 | 485 | "@microsoft/tsdoc@0.14.1": 486 | version "0.14.1" 487 | resolved "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz" 488 | integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw== 489 | 490 | "@nodelib/fs.scandir@2.1.5": 491 | version "2.1.5" 492 | resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" 493 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 494 | dependencies: 495 | "@nodelib/fs.stat" "2.0.5" 496 | run-parallel "^1.1.9" 497 | 498 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 499 | version "2.0.5" 500 | resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" 501 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 502 | 503 | "@nodelib/fs.walk@^1.2.3": 504 | version "1.2.8" 505 | resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" 506 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 507 | dependencies: 508 | "@nodelib/fs.scandir" "2.1.5" 509 | fastq "^1.6.0" 510 | 511 | "@rollup/plugin-typescript@^8.3.3": 512 | version "8.3.3" 513 | resolved "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-8.3.3.tgz#eee7edab9cfc064f1cfd16570492693cf1432215" 514 | integrity sha512-55L9SyiYu3r/JtqdjhwcwaECXP7JeJ9h1Sg1VWRJKIutla2MdZQodTgcCNybXLMCnqpNLEhS2vGENww98L1npg== 515 | dependencies: 516 | "@rollup/pluginutils" "^3.1.0" 517 | resolve "^1.17.0" 518 | 519 | "@rollup/pluginutils@^3.1.0": 520 | version "3.1.0" 521 | resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" 522 | integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== 523 | dependencies: 524 | "@types/estree" "0.0.39" 525 | estree-walker "^1.0.1" 526 | picomatch "^2.2.2" 527 | 528 | "@rushstack/node-core-library@3.49.0", "@rushstack/node-core-library@^3.45.1": 529 | version "3.49.0" 530 | resolved "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.49.0.tgz" 531 | integrity sha512-yBJRzGgUNFwulVrwwBARhbGaHsxVMjsZ9JwU1uSBbqPYCdac+t2HYdzi4f4q/Zpgb0eNbwYj2yxgHYpJORNEaw== 532 | dependencies: 533 | "@types/node" "12.20.24" 534 | colors "~1.2.1" 535 | fs-extra "~7.0.1" 536 | import-lazy "~4.0.0" 537 | jju "~1.4.0" 538 | resolve "~1.17.0" 539 | semver "~7.3.0" 540 | timsort "~0.3.0" 541 | z-schema "~5.0.2" 542 | 543 | "@rushstack/rig-package@0.3.13": 544 | version "0.3.13" 545 | resolved "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.3.13.tgz" 546 | integrity sha512-4/2+yyA/uDl7LQvtYtFs1AkhSWuaIGEKhP9/KK2nNARqOVc5eCXmu1vyOqr5mPvNq7sHoIR+sG84vFbaKYGaDA== 547 | dependencies: 548 | resolve "~1.17.0" 549 | strip-json-comments "~3.1.1" 550 | 551 | "@rushstack/ts-command-line@4.12.1": 552 | version "4.12.1" 553 | resolved "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.12.1.tgz" 554 | integrity sha512-S1Nev6h/kNnamhHeGdp30WgxZTA+B76SJ/P721ctP7DrnC+rrjAc6h/R80I4V0cA2QuEEcMdVOQCtK2BTjsOiQ== 555 | dependencies: 556 | "@types/argparse" "1.0.38" 557 | argparse "~1.0.9" 558 | colors "~1.2.1" 559 | string-argv "~0.3.1" 560 | 561 | "@ts-morph/common@~0.13.0": 562 | version "0.13.0" 563 | resolved "https://registry.npmjs.org/@ts-morph/common/-/common-0.13.0.tgz" 564 | integrity sha512-fEJ6j7Cu8yiWjA4UmybOBH9Efgb/64ZTWuvCF4KysGu4xz8ettfyaqFt8WZ1btCxXsGZJjZ2/3svOF6rL+UFdQ== 565 | dependencies: 566 | fast-glob "^3.2.11" 567 | minimatch "^5.0.1" 568 | mkdirp "^1.0.4" 569 | path-browserify "^1.0.1" 570 | 571 | "@types/argparse@1.0.38": 572 | version "1.0.38" 573 | resolved "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz" 574 | integrity sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA== 575 | 576 | "@types/babel__standalone@^7.1.4": 577 | version "7.1.4" 578 | resolved "https://registry.npmjs.org/@types/babel__standalone/-/babel__standalone-7.1.4.tgz#a0c04d1e1bf519468edde5fb245d97ae31e425ae" 579 | integrity sha512-HijIDmcNl3Wmo0guqjYkQvMzyRCM6zMCkYcdG8f+2X7mPBNa9ikSeaQlWs2Yg18KN1klOJzyupX5BPOf+7ahaw== 580 | dependencies: 581 | "@babel/core" "^7.1.0" 582 | 583 | "@types/babel__traverse@^7.17.1": 584 | version "7.17.1" 585 | resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz#1a0e73e8c28c7e832656db372b779bfd2ef37314" 586 | integrity sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA== 587 | dependencies: 588 | "@babel/types" "^7.3.0" 589 | 590 | "@types/estree@0.0.39": 591 | version "0.0.39" 592 | resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" 593 | integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== 594 | 595 | "@types/linkify-it@*": 596 | version "3.0.2" 597 | resolved "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.2.tgz" 598 | integrity sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA== 599 | 600 | "@types/markdown-it-container@^2.0.5": 601 | version "2.0.5" 602 | resolved "https://registry.npmjs.org/@types/markdown-it-container/-/markdown-it-container-2.0.5.tgz" 603 | integrity sha512-8v5jIC5gcCUv+JcD0DExwNBkoKC0kLB4acensF0NoNlTIcXmQxF3RDjzAdIW82sXSoR+n772ePguxIWlq2ELvA== 604 | dependencies: 605 | "@types/markdown-it" "*" 606 | 607 | "@types/markdown-it@*": 608 | version "12.2.3" 609 | resolved "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz" 610 | integrity sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ== 611 | dependencies: 612 | "@types/linkify-it" "*" 613 | "@types/mdurl" "*" 614 | 615 | "@types/mdurl@*": 616 | version "1.0.2" 617 | resolved "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz" 618 | integrity sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA== 619 | 620 | "@types/node@12.20.24": 621 | version "12.20.24" 622 | resolved "https://registry.npmjs.org/@types/node/-/node-12.20.24.tgz" 623 | integrity sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ== 624 | 625 | "@types/node@^18.0.5": 626 | version "18.0.5" 627 | resolved "https://registry.npmjs.org/@types/node/-/node-18.0.5.tgz" 628 | integrity sha512-En7tneq+j0qAiVwysBD79y86MT3ModuoIJbe7JXp+sb5UAjInSShmK3nXXMioBzfF7rXC12hv12d4IyCVwN4dA== 629 | 630 | "@types/web-bluetooth@^0.0.14": 631 | version "0.0.14" 632 | resolved "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.14.tgz" 633 | integrity sha512-5d2RhCard1nQUC3aHcq/gHzWYO6K0WJmAbjO7mQJgCQKtZpgXxv1rOM6O/dBDhDYYVutk1sciOgNSe+5YyfM8A== 634 | 635 | "@vitejs/plugin-vue@^2.3.2": 636 | version "2.3.3" 637 | resolved "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-2.3.3.tgz#fbf80cc039b82ac21a1acb0f0478de8f61fbf600" 638 | integrity sha512-SmQLDyhz+6lGJhPELsBdzXGc+AcaT8stgkbiTFGpXPe8Tl1tJaBw1A6pxDqDuRsVkD8uscrkx3hA7QDOoKYtyw== 639 | 640 | "@vitejs/plugin-vue@^3.0.1": 641 | version "3.0.1" 642 | resolved "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-3.0.1.tgz#b6af8f782485374bbb5fe09edf067a845bf4caae" 643 | integrity sha512-Ll9JgxG7ONIz/XZv3dssfoMUDu9qAnlJ+km+pBA0teYSXzwPCIzS/e1bmwNYl5dcQGs677D21amgfYAnzMl17A== 644 | 645 | "@vue/compiler-core@3.2.37": 646 | version "3.2.37" 647 | resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.37.tgz" 648 | integrity sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg== 649 | dependencies: 650 | "@babel/parser" "^7.16.4" 651 | "@vue/shared" "3.2.37" 652 | estree-walker "^2.0.2" 653 | source-map "^0.6.1" 654 | 655 | "@vue/compiler-dom@3.2.37": 656 | version "3.2.37" 657 | resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz" 658 | integrity sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ== 659 | dependencies: 660 | "@vue/compiler-core" "3.2.37" 661 | "@vue/shared" "3.2.37" 662 | 663 | "@vue/compiler-sfc@3.2.37": 664 | version "3.2.37" 665 | resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz" 666 | integrity sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg== 667 | dependencies: 668 | "@babel/parser" "^7.16.4" 669 | "@vue/compiler-core" "3.2.37" 670 | "@vue/compiler-dom" "3.2.37" 671 | "@vue/compiler-ssr" "3.2.37" 672 | "@vue/reactivity-transform" "3.2.37" 673 | "@vue/shared" "3.2.37" 674 | estree-walker "^2.0.2" 675 | magic-string "^0.25.7" 676 | postcss "^8.1.10" 677 | source-map "^0.6.1" 678 | 679 | "@vue/compiler-ssr@3.2.37": 680 | version "3.2.37" 681 | resolved "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz" 682 | integrity sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw== 683 | dependencies: 684 | "@vue/compiler-dom" "3.2.37" 685 | "@vue/shared" "3.2.37" 686 | 687 | "@vue/devtools-api@^6.1.4": 688 | version "6.2.1" 689 | resolved "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.2.1.tgz" 690 | integrity sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ== 691 | 692 | "@vue/reactivity-transform@3.2.37": 693 | version "3.2.37" 694 | resolved "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz" 695 | integrity sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg== 696 | dependencies: 697 | "@babel/parser" "^7.16.4" 698 | "@vue/compiler-core" "3.2.37" 699 | "@vue/shared" "3.2.37" 700 | estree-walker "^2.0.2" 701 | magic-string "^0.25.7" 702 | 703 | "@vue/reactivity@3.2.37": 704 | version "3.2.37" 705 | resolved "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.37.tgz" 706 | integrity sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A== 707 | dependencies: 708 | "@vue/shared" "3.2.37" 709 | 710 | "@vue/runtime-core@3.2.37": 711 | version "3.2.37" 712 | resolved "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.37.tgz" 713 | integrity sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ== 714 | dependencies: 715 | "@vue/reactivity" "3.2.37" 716 | "@vue/shared" "3.2.37" 717 | 718 | "@vue/runtime-dom@3.2.37": 719 | version "3.2.37" 720 | resolved "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.37.tgz" 721 | integrity sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw== 722 | dependencies: 723 | "@vue/runtime-core" "3.2.37" 724 | "@vue/shared" "3.2.37" 725 | csstype "^2.6.8" 726 | 727 | "@vue/server-renderer@3.2.37": 728 | version "3.2.37" 729 | resolved "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.37.tgz" 730 | integrity sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA== 731 | dependencies: 732 | "@vue/compiler-ssr" "3.2.37" 733 | "@vue/shared" "3.2.37" 734 | 735 | "@vue/shared@3.2.37": 736 | version "3.2.37" 737 | resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.37.tgz" 738 | integrity sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw== 739 | 740 | "@vueuse/core@^8.5.0": 741 | version "8.9.3" 742 | resolved "https://registry.npmmirror.com/@vueuse/core/-/core-8.9.3.tgz" 743 | integrity sha512-q2pr3N7FPG7IBBhEXTYOJU+38VwKMLP5IfD33byzBV4Th7f1JHT4qPKvJrvr17knAefPRzNqgt9et+xFqaRlPQ== 744 | dependencies: 745 | "@types/web-bluetooth" "^0.0.14" 746 | "@vueuse/metadata" "8.9.3" 747 | "@vueuse/shared" "8.9.3" 748 | vue-demi "*" 749 | 750 | "@vueuse/metadata@8.9.3": 751 | version "8.9.3" 752 | resolved "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-8.9.3.tgz" 753 | integrity sha512-57gZZKtWAmcJaUBmciCohvmumVLz4+FnoVnWj7U5BWs5PC2/7gU9Z0/i1i9leDNeboAauFzAq7z1GjS8eYnT+w== 754 | 755 | "@vueuse/shared@8.9.3": 756 | version "8.9.3" 757 | resolved "https://registry.npmmirror.com/@vueuse/shared/-/shared-8.9.3.tgz" 758 | integrity sha512-foorYQAU3CGknAO1w9No/rpGBJmb7L74MPltnZAYxeBRfhsajjJYYgja+D5IT2vT+/a0NciISaVp3fDwMN1ocA== 759 | dependencies: 760 | vue-demi "*" 761 | 762 | ajv@~6.12.6: 763 | version "6.12.6" 764 | resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" 765 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 766 | dependencies: 767 | fast-deep-equal "^3.1.1" 768 | fast-json-stable-stringify "^2.0.0" 769 | json-schema-traverse "^0.4.1" 770 | uri-js "^4.2.2" 771 | 772 | algoliasearch@^4.0.0: 773 | version "4.13.1" 774 | resolved "https://registry.npmmirror.com/algoliasearch/-/algoliasearch-4.13.1.tgz" 775 | integrity sha512-dtHUSE0caWTCE7liE1xaL+19AFf6kWEcyn76uhcitWpntqvicFHXKFoZe5JJcv9whQOTRM6+B8qJz6sFj+rDJA== 776 | dependencies: 777 | "@algolia/cache-browser-local-storage" "4.13.1" 778 | "@algolia/cache-common" "4.13.1" 779 | "@algolia/cache-in-memory" "4.13.1" 780 | "@algolia/client-account" "4.13.1" 781 | "@algolia/client-analytics" "4.13.1" 782 | "@algolia/client-common" "4.13.1" 783 | "@algolia/client-personalization" "4.13.1" 784 | "@algolia/client-search" "4.13.1" 785 | "@algolia/logger-common" "4.13.1" 786 | "@algolia/logger-console" "4.13.1" 787 | "@algolia/requester-browser-xhr" "4.13.1" 788 | "@algolia/requester-common" "4.13.1" 789 | "@algolia/requester-node-http" "4.13.1" 790 | "@algolia/transporter" "4.13.1" 791 | 792 | ansi-styles@^3.2.1: 793 | version "3.2.1" 794 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 795 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 796 | dependencies: 797 | color-convert "^1.9.0" 798 | 799 | ansi-styles@^4.1.0: 800 | version "4.3.0" 801 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" 802 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 803 | dependencies: 804 | color-convert "^2.0.1" 805 | 806 | anymatch@~3.1.2: 807 | version "3.1.3" 808 | resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" 809 | integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== 810 | dependencies: 811 | normalize-path "^3.0.0" 812 | picomatch "^2.0.4" 813 | 814 | argparse@~1.0.9: 815 | version "1.0.10" 816 | resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" 817 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 818 | dependencies: 819 | sprintf-js "~1.0.2" 820 | 821 | balanced-match@^1.0.0: 822 | version "1.0.2" 823 | resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" 824 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 825 | 826 | binary-extensions@^2.0.0: 827 | version "2.2.0" 828 | resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 829 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 830 | 831 | body-scroll-lock@^4.0.0-beta.0: 832 | version "4.0.0-beta.0" 833 | resolved "https://registry.npmmirror.com/body-scroll-lock/-/body-scroll-lock-4.0.0-beta.0.tgz" 834 | integrity sha512-a7tP5+0Mw3YlUJcGAKUqIBkYYGlYxk2fnCasq/FUph1hadxlTRjF+gAcZksxANnaMnALjxEddmSi/H3OR8ugcQ== 835 | 836 | brace-expansion@^2.0.1: 837 | version "2.0.1" 838 | resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" 839 | integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== 840 | dependencies: 841 | balanced-match "^1.0.0" 842 | 843 | braces@^3.0.2, braces@~3.0.2: 844 | version "3.0.2" 845 | resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" 846 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 847 | dependencies: 848 | fill-range "^7.0.1" 849 | 850 | browser-assert@^1.2.1: 851 | version "1.2.1" 852 | resolved "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz#9aaa5a2a8c74685c2ae05bfe46efd606f068c200" 853 | integrity sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ== 854 | 855 | browserslist@^4.20.2: 856 | version "4.21.2" 857 | resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.2.tgz#59a400757465535954946a400b841ed37e2b4ecf" 858 | integrity sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA== 859 | dependencies: 860 | caniuse-lite "^1.0.30001366" 861 | electron-to-chromium "^1.4.188" 862 | node-releases "^2.0.6" 863 | update-browserslist-db "^1.0.4" 864 | 865 | caniuse-lite@^1.0.30001366: 866 | version "1.0.30001367" 867 | resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001367.tgz#2b97fe472e8fa29c78c5970615d7cd2ee414108a" 868 | integrity sha512-XDgbeOHfifWV3GEES2B8rtsrADx4Jf+juKX2SICJcaUhjYBO3bR96kvEIHa15VU6ohtOhBZuPGGYGbXMRn0NCw== 869 | 870 | chalk@^2.0.0: 871 | version "2.4.2" 872 | resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 873 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 874 | dependencies: 875 | ansi-styles "^3.2.1" 876 | escape-string-regexp "^1.0.5" 877 | supports-color "^5.3.0" 878 | 879 | chalk@^4.1.2: 880 | version "4.1.2" 881 | resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" 882 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 883 | dependencies: 884 | ansi-styles "^4.1.0" 885 | supports-color "^7.1.0" 886 | 887 | chokidar@^3.5.3: 888 | version "3.5.3" 889 | resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" 890 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 891 | dependencies: 892 | anymatch "~3.1.2" 893 | braces "~3.0.2" 894 | glob-parent "~5.1.2" 895 | is-binary-path "~2.1.0" 896 | is-glob "~4.0.1" 897 | normalize-path "~3.0.0" 898 | readdirp "~3.6.0" 899 | optionalDependencies: 900 | fsevents "~2.3.2" 901 | 902 | code-block-writer@^11.0.0: 903 | version "11.0.2" 904 | resolved "https://registry.npmjs.org/code-block-writer/-/code-block-writer-11.0.2.tgz" 905 | integrity sha512-goP2FghRVwp940jOvhtUrRDiSVU0h4Ah2jPX1gu2ueGW8boQmdQV4NwiHoM5MQQbUWLQuZopougO8+Ajljgpnw== 906 | 907 | color-convert@^1.9.0: 908 | version "1.9.3" 909 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 910 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 911 | dependencies: 912 | color-name "1.1.3" 913 | 914 | color-convert@^2.0.1: 915 | version "2.0.1" 916 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" 917 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 918 | dependencies: 919 | color-name "~1.1.4" 920 | 921 | color-name@1.1.3: 922 | version "1.1.3" 923 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 924 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== 925 | 926 | color-name@~1.1.4: 927 | version "1.1.4" 928 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" 929 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 930 | 931 | colors@~1.2.1: 932 | version "1.2.5" 933 | resolved "https://registry.npmjs.org/colors/-/colors-1.2.5.tgz" 934 | integrity sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg== 935 | 936 | commander@^2.20.3: 937 | version "2.20.3" 938 | resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" 939 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== 940 | 941 | convert-source-map@^1.7.0: 942 | version "1.8.0" 943 | resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" 944 | integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== 945 | dependencies: 946 | safe-buffer "~5.1.1" 947 | 948 | csstype@^2.6.8: 949 | version "2.6.20" 950 | resolved "https://registry.npmmirror.com/csstype/-/csstype-2.6.20.tgz" 951 | integrity sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA== 952 | 953 | debug@^4.1.0, debug@^4.3.4: 954 | version "4.3.4" 955 | resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" 956 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 957 | dependencies: 958 | ms "2.1.2" 959 | 960 | electron-to-chromium@^1.4.188: 961 | version "1.4.195" 962 | resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.195.tgz#139b2d95a42a3f17df217589723a1deac71d1473" 963 | integrity sha512-vefjEh0sk871xNmR5whJf9TEngX+KTKS3hOHpjoMpauKkwlGwtMz1H8IaIjAT/GNnX0TbGwAdmVoXCAzXf+PPg== 964 | 965 | esbuild-android-64@0.14.49: 966 | version "0.14.49" 967 | resolved "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.49.tgz#9e4682c36dcf6e7b71b73d2a3723a96e0fdc5054" 968 | integrity sha512-vYsdOTD+yi+kquhBiFWl3tyxnj2qZJsl4tAqwhT90ktUdnyTizgle7TjNx6Ar1bN7wcwWqZ9QInfdk2WVagSww== 969 | 970 | esbuild-android-arm64@0.14.49: 971 | version "0.14.49" 972 | resolved "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.49.tgz#9861b1f7e57d1dd1f23eeef6198561c5f34b51f6" 973 | integrity sha512-g2HGr/hjOXCgSsvQZ1nK4nW/ei8JUx04Li74qub9qWrStlysaVmadRyTVuW32FGIpLQyc5sUjjZopj49eGGM2g== 974 | 975 | esbuild-darwin-64@0.14.49: 976 | version "0.14.49" 977 | resolved "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.49.tgz#fd30a5ebe28704a3a117126c60f98096c067c8d1" 978 | integrity sha512-3rvqnBCtX9ywso5fCHixt2GBCUsogNp9DjGmvbBohh31Ces34BVzFltMSxJpacNki96+WIcX5s/vum+ckXiLYg== 979 | 980 | esbuild-darwin-arm64@0.14.49: 981 | version "0.14.49" 982 | resolved "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.49.tgz#c04a3a57dad94a972c66a697a68a25aa25947f41" 983 | integrity sha512-XMaqDxO846srnGlUSJnwbijV29MTKUATmOLyQSfswbK/2X5Uv28M9tTLUJcKKxzoo9lnkYPsx2o8EJcTYwCs/A== 984 | 985 | esbuild-freebsd-64@0.14.49: 986 | version "0.14.49" 987 | resolved "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.49.tgz#c404dbd66c98451395b1eef0fa38b73030a7be82" 988 | integrity sha512-NJ5Q6AjV879mOHFri+5lZLTp5XsO2hQ+KSJYLbfY9DgCu8s6/Zl2prWXVANYTeCDLlrIlNNYw8y34xqyLDKOmQ== 989 | 990 | esbuild-freebsd-arm64@0.14.49: 991 | version "0.14.49" 992 | resolved "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.49.tgz#b62cec96138ebc5937240ce3e1b97902963ea74a" 993 | integrity sha512-lFLtgXnAc3eXYqj5koPlBZvEbBSOSUbWO3gyY/0+4lBdRqELyz4bAuamHvmvHW5swJYL7kngzIZw6kdu25KGOA== 994 | 995 | esbuild-linux-32@0.14.49: 996 | version "0.14.49" 997 | resolved "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.49.tgz#495b1cc011b8c64d8bbaf65509c1e7135eb9ddbf" 998 | integrity sha512-zTTH4gr2Kb8u4QcOpTDVn7Z8q7QEIvFl/+vHrI3cF6XOJS7iEI1FWslTo3uofB2+mn6sIJEQD9PrNZKoAAMDiA== 999 | 1000 | esbuild-linux-64@0.14.49: 1001 | version "0.14.49" 1002 | resolved "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.49.tgz#3f28dd8f986e6ff42f38888ee435a9b1fb916a56" 1003 | integrity sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg== 1004 | 1005 | esbuild-linux-arm64@0.14.49: 1006 | version "0.14.49" 1007 | resolved "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.49.tgz#a52e99ae30246566dc5f33e835aa6ca98ef70e33" 1008 | integrity sha512-KLQ+WpeuY+7bxukxLz5VgkAAVQxUv67Ft4DmHIPIW+2w3ObBPQhqNoeQUHxopoW/aiOn3m99NSmSV+bs4BSsdA== 1009 | 1010 | esbuild-linux-arm@0.14.49: 1011 | version "0.14.49" 1012 | resolved "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.49.tgz#7c33d05a64ec540cf7474834adaa57b3167bbe97" 1013 | integrity sha512-iE3e+ZVv1Qz1Sy0gifIsarJMQ89Rpm9mtLSRtG3AH0FPgAzQ5Z5oU6vYzhc/3gSPi2UxdCOfRhw2onXuFw/0lg== 1014 | 1015 | esbuild-linux-mips64le@0.14.49: 1016 | version "0.14.49" 1017 | resolved "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.49.tgz#ed062bd844b587be649443831eb84ba304685f25" 1018 | integrity sha512-n+rGODfm8RSum5pFIqFQVQpYBw+AztL8s6o9kfx7tjfK0yIGF6tm5HlG6aRjodiiKkH2xAiIM+U4xtQVZYU4rA== 1019 | 1020 | esbuild-linux-ppc64le@0.14.49: 1021 | version "0.14.49" 1022 | resolved "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.49.tgz#c0786fb5bddffd90c10a2078181513cbaf077958" 1023 | integrity sha512-WP9zR4HX6iCBmMFH+XHHng2LmdoIeUmBpL4aL2TR8ruzXyT4dWrJ5BSbT8iNo6THN8lod6GOmYDLq/dgZLalGw== 1024 | 1025 | esbuild-linux-riscv64@0.14.49: 1026 | version "0.14.49" 1027 | resolved "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.49.tgz#579b0e7cc6fce4bfc698e991a52503bb616bec49" 1028 | integrity sha512-h66ORBz+Dg+1KgLvzTVQEA1LX4XBd1SK0Fgbhhw4akpG/YkN8pS6OzYI/7SGENiN6ao5hETRDSkVcvU9NRtkMQ== 1029 | 1030 | esbuild-linux-s390x@0.14.49: 1031 | version "0.14.49" 1032 | resolved "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.49.tgz#09eb15c753e249a500b4e28d07c5eef7524a9740" 1033 | integrity sha512-DhrUoFVWD+XmKO1y7e4kNCqQHPs6twz6VV6Uezl/XHYGzM60rBewBF5jlZjG0nCk5W/Xy6y1xWeopkrhFFM0sQ== 1034 | 1035 | esbuild-netbsd-64@0.14.49: 1036 | version "0.14.49" 1037 | resolved "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.49.tgz#f7337cd2bddb7cc9d100d19156f36c9ca117b58d" 1038 | integrity sha512-BXaUwFOfCy2T+hABtiPUIpWjAeWK9P8O41gR4Pg73hpzoygVGnj0nI3YK4SJhe52ELgtdgWP/ckIkbn2XaTxjQ== 1039 | 1040 | esbuild-openbsd-64@0.14.49: 1041 | version "0.14.49" 1042 | resolved "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.49.tgz#1f8bdc49f8a44396e73950a3fb6b39828563631d" 1043 | integrity sha512-lP06UQeLDGmVPw9Rg437Btu6J9/BmyhdoefnQ4gDEJTtJvKtQaUcOQrhjTq455ouZN4EHFH1h28WOJVANK41kA== 1044 | 1045 | esbuild-sunos-64@0.14.49: 1046 | version "0.14.49" 1047 | resolved "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.49.tgz#47d042739365b61aa8ca642adb69534a8eef9f7a" 1048 | integrity sha512-4c8Zowp+V3zIWje329BeLbGh6XI9c/rqARNaj5yPHdC61pHI9UNdDxT3rePPJeWcEZVKjkiAS6AP6kiITp7FSw== 1049 | 1050 | esbuild-windows-32@0.14.49: 1051 | version "0.14.49" 1052 | resolved "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.49.tgz#79198c88ec9bde163c18a6b430c34eab098ec21a" 1053 | integrity sha512-q7Rb+J9yHTeKr9QTPDYkqfkEj8/kcKz9lOabDuvEXpXuIcosWCJgo5Z7h/L4r7rbtTH4a8U2FGKb6s1eeOHmJA== 1054 | 1055 | esbuild-windows-64@0.14.49: 1056 | version "0.14.49" 1057 | resolved "https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.14.49.tgz" 1058 | integrity sha512-+Cme7Ongv0UIUTniPqfTX6mJ8Deo7VXw9xN0yJEN1lQMHDppTNmKwAM3oGbD/Vqff+07K2gN0WfNkMohmG+dVw== 1059 | 1060 | esbuild-windows-arm64@0.14.49: 1061 | version "0.14.49" 1062 | resolved "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.49.tgz#d83c03ff6436caf3262347cfa7e16b0a8049fae7" 1063 | integrity sha512-v+HYNAXzuANrCbbLFJ5nmO3m5y2PGZWLe3uloAkLt87aXiO2mZr3BTmacZdjwNkNEHuH3bNtN8cak+mzVjVPfA== 1064 | 1065 | esbuild@^0.14.27, esbuild@^0.14.47: 1066 | version "0.14.49" 1067 | resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.14.49.tgz#b82834760eba2ddc17b44f05cfcc0aaca2bae492" 1068 | integrity sha512-/TlVHhOaq7Yz8N1OJrjqM3Auzo5wjvHFLk+T8pIue+fhnhIMpfAzsG6PLVMbFveVxqD2WOp3QHei+52IMUNmCw== 1069 | optionalDependencies: 1070 | esbuild-android-64 "0.14.49" 1071 | esbuild-android-arm64 "0.14.49" 1072 | esbuild-darwin-64 "0.14.49" 1073 | esbuild-darwin-arm64 "0.14.49" 1074 | esbuild-freebsd-64 "0.14.49" 1075 | esbuild-freebsd-arm64 "0.14.49" 1076 | esbuild-linux-32 "0.14.49" 1077 | esbuild-linux-64 "0.14.49" 1078 | esbuild-linux-arm "0.14.49" 1079 | esbuild-linux-arm64 "0.14.49" 1080 | esbuild-linux-mips64le "0.14.49" 1081 | esbuild-linux-ppc64le "0.14.49" 1082 | esbuild-linux-riscv64 "0.14.49" 1083 | esbuild-linux-s390x "0.14.49" 1084 | esbuild-netbsd-64 "0.14.49" 1085 | esbuild-openbsd-64 "0.14.49" 1086 | esbuild-sunos-64 "0.14.49" 1087 | esbuild-windows-32 "0.14.49" 1088 | esbuild-windows-64 "0.14.49" 1089 | esbuild-windows-arm64 "0.14.49" 1090 | 1091 | escalade@^3.1.1: 1092 | version "3.1.1" 1093 | resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 1094 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 1095 | 1096 | escape-string-regexp@^1.0.5: 1097 | version "1.0.5" 1098 | resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1099 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== 1100 | 1101 | estree-walker@^1.0.1: 1102 | version "1.0.1" 1103 | resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" 1104 | integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== 1105 | 1106 | estree-walker@^2.0.2: 1107 | version "2.0.2" 1108 | resolved "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz" 1109 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== 1110 | 1111 | fast-deep-equal@^3.1.1: 1112 | version "3.1.3" 1113 | resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" 1114 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 1115 | 1116 | fast-glob@^3.2.11: 1117 | version "3.2.11" 1118 | resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz" 1119 | integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== 1120 | dependencies: 1121 | "@nodelib/fs.stat" "^2.0.2" 1122 | "@nodelib/fs.walk" "^1.2.3" 1123 | glob-parent "^5.1.2" 1124 | merge2 "^1.3.0" 1125 | micromatch "^4.0.4" 1126 | 1127 | fast-json-stable-stringify@^2.0.0: 1128 | version "2.1.0" 1129 | resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" 1130 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 1131 | 1132 | fastq@^1.6.0: 1133 | version "1.13.0" 1134 | resolved "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" 1135 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== 1136 | dependencies: 1137 | reusify "^1.0.4" 1138 | 1139 | fill-range@^7.0.1: 1140 | version "7.0.1" 1141 | resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" 1142 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 1143 | dependencies: 1144 | to-regex-range "^5.0.1" 1145 | 1146 | fs-extra@^10.0.1, fs-extra@^10.1.0: 1147 | version "10.1.0" 1148 | resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" 1149 | integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== 1150 | dependencies: 1151 | graceful-fs "^4.2.0" 1152 | jsonfile "^6.0.1" 1153 | universalify "^2.0.0" 1154 | 1155 | fs-extra@~7.0.1: 1156 | version "7.0.1" 1157 | resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz" 1158 | integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== 1159 | dependencies: 1160 | graceful-fs "^4.1.2" 1161 | jsonfile "^4.0.0" 1162 | universalify "^0.1.0" 1163 | 1164 | fsevents@~2.3.2: 1165 | version "2.3.2" 1166 | resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 1167 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 1168 | 1169 | function-bind@^1.1.1: 1170 | version "1.1.1" 1171 | resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz" 1172 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1173 | 1174 | gensync@^1.0.0-beta.2: 1175 | version "1.0.0-beta.2" 1176 | resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" 1177 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 1178 | 1179 | glob-parent@^5.1.2, glob-parent@~5.1.2: 1180 | version "5.1.2" 1181 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" 1182 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 1183 | dependencies: 1184 | is-glob "^4.0.1" 1185 | 1186 | globals@^11.1.0: 1187 | version "11.12.0" 1188 | resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 1189 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 1190 | 1191 | graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: 1192 | version "4.2.10" 1193 | resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" 1194 | integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== 1195 | 1196 | has-flag@^3.0.0: 1197 | version "3.0.0" 1198 | resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1199 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== 1200 | 1201 | has-flag@^4.0.0: 1202 | version "4.0.0" 1203 | resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" 1204 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 1205 | 1206 | has@^1.0.3: 1207 | version "1.0.3" 1208 | resolved "https://registry.npmmirror.com/has/-/has-1.0.3.tgz" 1209 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1210 | dependencies: 1211 | function-bind "^1.1.1" 1212 | 1213 | import-lazy@~4.0.0: 1214 | version "4.0.0" 1215 | resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz" 1216 | integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== 1217 | 1218 | is-binary-path@~2.1.0: 1219 | version "2.1.0" 1220 | resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 1221 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 1222 | dependencies: 1223 | binary-extensions "^2.0.0" 1224 | 1225 | is-core-module@^2.1.0, is-core-module@^2.9.0: 1226 | version "2.9.0" 1227 | resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.9.0.tgz" 1228 | integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== 1229 | dependencies: 1230 | has "^1.0.3" 1231 | 1232 | is-extglob@^2.1.1: 1233 | version "2.1.1" 1234 | resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" 1235 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 1236 | 1237 | is-glob@^4.0.1, is-glob@~4.0.1: 1238 | version "4.0.3" 1239 | resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" 1240 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 1241 | dependencies: 1242 | is-extglob "^2.1.1" 1243 | 1244 | is-number@^7.0.0: 1245 | version "7.0.0" 1246 | resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" 1247 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1248 | 1249 | jju@~1.4.0: 1250 | version "1.4.0" 1251 | resolved "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz" 1252 | integrity sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA== 1253 | 1254 | js-tokens@^4.0.0: 1255 | version "4.0.0" 1256 | resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1257 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1258 | 1259 | jsesc@^2.5.1: 1260 | version "2.5.2" 1261 | resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 1262 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 1263 | 1264 | json-schema-traverse@^0.4.1: 1265 | version "0.4.1" 1266 | resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" 1267 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 1268 | 1269 | json5@^2.2.1: 1270 | version "2.2.1" 1271 | resolved "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" 1272 | integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== 1273 | 1274 | jsonc-parser@^3.0.0: 1275 | version "3.1.0" 1276 | resolved "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.1.0.tgz" 1277 | integrity sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg== 1278 | 1279 | jsonfile@^4.0.0: 1280 | version "4.0.0" 1281 | resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" 1282 | integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== 1283 | optionalDependencies: 1284 | graceful-fs "^4.1.6" 1285 | 1286 | jsonfile@^6.0.1: 1287 | version "6.1.0" 1288 | resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" 1289 | integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== 1290 | dependencies: 1291 | universalify "^2.0.0" 1292 | optionalDependencies: 1293 | graceful-fs "^4.1.6" 1294 | 1295 | lodash.get@^4.4.2: 1296 | version "4.4.2" 1297 | resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz" 1298 | integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== 1299 | 1300 | lodash.isequal@^4.5.0: 1301 | version "4.5.0" 1302 | resolved "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz" 1303 | integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== 1304 | 1305 | lodash@~4.17.15: 1306 | version "4.17.21" 1307 | resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" 1308 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 1309 | 1310 | lru-cache@^6.0.0: 1311 | version "6.0.0" 1312 | resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" 1313 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1314 | dependencies: 1315 | yallist "^4.0.0" 1316 | 1317 | magic-string@^0.25.7: 1318 | version "0.25.9" 1319 | resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz" 1320 | integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== 1321 | dependencies: 1322 | sourcemap-codec "^1.4.8" 1323 | 1324 | markdown-it-container@^3.0.0: 1325 | version "3.0.0" 1326 | resolved "https://registry.npmjs.org/markdown-it-container/-/markdown-it-container-3.0.0.tgz" 1327 | integrity sha512-y6oKTq4BB9OQuY/KLfk/O3ysFhB3IMYoIWhGJEidXt1NQFocFK2sA2t0NYZAMyMShAGL6x5OPIbrmXPIqaN9rw== 1328 | 1329 | merge2@^1.3.0: 1330 | version "1.4.1" 1331 | resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" 1332 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 1333 | 1334 | micromatch@^4.0.4: 1335 | version "4.0.5" 1336 | resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" 1337 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 1338 | dependencies: 1339 | braces "^3.0.2" 1340 | picomatch "^2.3.1" 1341 | 1342 | minimatch@^5.0.1: 1343 | version "5.1.0" 1344 | resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz" 1345 | integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== 1346 | dependencies: 1347 | brace-expansion "^2.0.1" 1348 | 1349 | mkdirp@^1.0.4: 1350 | version "1.0.4" 1351 | resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" 1352 | integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== 1353 | 1354 | monaco-editor-ex@^0.33.8: 1355 | version "0.33.8" 1356 | resolved "https://registry.npmjs.org/monaco-editor-ex/-/monaco-editor-ex-0.33.8.tgz#fad90c0ea1a5baf322d243a71d94f69c6d37e643" 1357 | integrity sha512-ZCszderiZ5XFFA8wOHwqDLmf88moUVQ50pIcyww5DZPmbgf8M3q0WRTiQ7XisPNsgdMo1PfcbgB4AOy/KhReYw== 1358 | 1359 | ms@2.1.2: 1360 | version "2.1.2" 1361 | resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" 1362 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1363 | 1364 | nanoid@^3.3.4: 1365 | version "3.3.4" 1366 | resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz" 1367 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== 1368 | 1369 | node-releases@^2.0.6: 1370 | version "2.0.6" 1371 | resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" 1372 | integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== 1373 | 1374 | normalize-path@^3.0.0, normalize-path@~3.0.0: 1375 | version "3.0.0" 1376 | resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 1377 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 1378 | 1379 | path-browserify@^1.0.1: 1380 | version "1.0.1" 1381 | resolved "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" 1382 | integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== 1383 | 1384 | path-parse@^1.0.6, path-parse@^1.0.7: 1385 | version "1.0.7" 1386 | resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz" 1387 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 1388 | 1389 | picocolors@^1.0.0: 1390 | version "1.0.0" 1391 | resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz" 1392 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 1393 | 1394 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.1: 1395 | version "2.3.1" 1396 | resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" 1397 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 1398 | 1399 | postcss@^8.1.10, postcss@^8.4.13, postcss@^8.4.14: 1400 | version "8.4.14" 1401 | resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.14.tgz" 1402 | integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== 1403 | dependencies: 1404 | nanoid "^3.3.4" 1405 | picocolors "^1.0.0" 1406 | source-map-js "^1.0.2" 1407 | 1408 | preact@^10.0.0: 1409 | version "10.10.0" 1410 | resolved "https://registry.npmmirror.com/preact/-/preact-10.10.0.tgz" 1411 | integrity sha512-fszkg1iJJjq68I4lI8ZsmBiaoQiQHbxf1lNq+72EmC/mZOsFF5zn3k1yv9QGoFgIXzgsdSKtYymLJsrJPoamjQ== 1412 | 1413 | punycode@^2.1.0: 1414 | version "2.1.1" 1415 | resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" 1416 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 1417 | 1418 | queue-microtask@^1.2.2: 1419 | version "1.2.3" 1420 | resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" 1421 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 1422 | 1423 | readdirp@~3.6.0: 1424 | version "3.6.0" 1425 | resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 1426 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 1427 | dependencies: 1428 | picomatch "^2.2.1" 1429 | 1430 | resolve@^1.17.0, resolve@^1.22.0, resolve@^1.22.1: 1431 | version "1.22.1" 1432 | resolved "https://registry.npmmirror.com/resolve/-/resolve-1.22.1.tgz" 1433 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 1434 | dependencies: 1435 | is-core-module "^2.9.0" 1436 | path-parse "^1.0.7" 1437 | supports-preserve-symlinks-flag "^1.0.0" 1438 | 1439 | resolve@~1.17.0: 1440 | version "1.17.0" 1441 | resolved "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz" 1442 | integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== 1443 | dependencies: 1444 | path-parse "^1.0.6" 1445 | 1446 | resolve@~1.19.0: 1447 | version "1.19.0" 1448 | resolved "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz" 1449 | integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== 1450 | dependencies: 1451 | is-core-module "^2.1.0" 1452 | path-parse "^1.0.6" 1453 | 1454 | reusify@^1.0.4: 1455 | version "1.0.4" 1456 | resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" 1457 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 1458 | 1459 | rollup@^2.59.0, rollup@^2.75.6: 1460 | version "2.77.0" 1461 | resolved "https://registry.npmjs.org/rollup/-/rollup-2.77.0.tgz#749eaa5ac09b6baa52acc076bc46613eddfd53f4" 1462 | integrity sha512-vL8xjY4yOQEw79DvyXLijhnhh+R/O9zpF/LEgkCebZFtb6ELeN9H3/2T0r8+mp+fFTBHZ5qGpOpW2ela2zRt3g== 1463 | optionalDependencies: 1464 | fsevents "~2.3.2" 1465 | 1466 | run-parallel@^1.1.9: 1467 | version "1.2.0" 1468 | resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" 1469 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 1470 | dependencies: 1471 | queue-microtask "^1.2.2" 1472 | 1473 | safe-buffer@~5.1.1: 1474 | version "5.1.2" 1475 | resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1476 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1477 | 1478 | semver@^6.3.0: 1479 | version "6.3.0" 1480 | resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 1481 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 1482 | 1483 | semver@~7.3.0: 1484 | version "7.3.7" 1485 | resolved "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz" 1486 | integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== 1487 | dependencies: 1488 | lru-cache "^6.0.0" 1489 | 1490 | shiki@^0.10.1: 1491 | version "0.10.1" 1492 | resolved "https://registry.npmmirror.com/shiki/-/shiki-0.10.1.tgz" 1493 | integrity sha512-VsY7QJVzU51j5o1+DguUd+6vmCmZ5v/6gYu4vyYAhzjuNQU6P/vmSy4uQaOhvje031qQMiW0d2BwgMH52vqMng== 1494 | dependencies: 1495 | jsonc-parser "^3.0.0" 1496 | vscode-oniguruma "^1.6.1" 1497 | vscode-textmate "5.2.0" 1498 | 1499 | source-map-js@^1.0.2: 1500 | version "1.0.2" 1501 | resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz" 1502 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 1503 | 1504 | source-map@^0.6.1, source-map@~0.6.1: 1505 | version "0.6.1" 1506 | resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz" 1507 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 1508 | 1509 | sourcemap-codec@^1.4.8: 1510 | version "1.4.8" 1511 | resolved "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" 1512 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== 1513 | 1514 | sprintf-js@~1.0.2: 1515 | version "1.0.3" 1516 | resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" 1517 | integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== 1518 | 1519 | string-argv@~0.3.1: 1520 | version "0.3.1" 1521 | resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz" 1522 | integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== 1523 | 1524 | strip-json-comments@~3.1.1: 1525 | version "3.1.1" 1526 | resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" 1527 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 1528 | 1529 | supports-color@^5.3.0: 1530 | version "5.5.0" 1531 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1532 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1533 | dependencies: 1534 | has-flag "^3.0.0" 1535 | 1536 | supports-color@^7.1.0: 1537 | version "7.2.0" 1538 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" 1539 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1540 | dependencies: 1541 | has-flag "^4.0.0" 1542 | 1543 | supports-preserve-symlinks-flag@^1.0.0: 1544 | version "1.0.0" 1545 | resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" 1546 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 1547 | 1548 | timsort@~0.3.0: 1549 | version "0.3.0" 1550 | resolved "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz" 1551 | integrity sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A== 1552 | 1553 | to-fast-properties@^2.0.0: 1554 | version "2.0.0" 1555 | resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 1556 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== 1557 | 1558 | to-regex-range@^5.0.1: 1559 | version "5.0.1" 1560 | resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" 1561 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1562 | dependencies: 1563 | is-number "^7.0.0" 1564 | 1565 | ts-morph@^14.0.0: 1566 | version "14.0.0" 1567 | resolved "https://registry.npmjs.org/ts-morph/-/ts-morph-14.0.0.tgz" 1568 | integrity sha512-tO8YQ1dP41fw8GVmeQAdNsD8roZi1JMqB7YwZrqU856DvmG5/710e41q2XauzTYrygH9XmMryaFeLo+kdCziyA== 1569 | dependencies: 1570 | "@ts-morph/common" "~0.13.0" 1571 | code-block-writer "^11.0.0" 1572 | 1573 | typescript@~4.6.3: 1574 | version "4.6.4" 1575 | resolved "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz" 1576 | integrity sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg== 1577 | 1578 | universalify@^0.1.0: 1579 | version "0.1.2" 1580 | resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" 1581 | integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== 1582 | 1583 | universalify@^2.0.0: 1584 | version "2.0.0" 1585 | resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" 1586 | integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== 1587 | 1588 | update-browserslist-db@^1.0.4: 1589 | version "1.0.5" 1590 | resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38" 1591 | integrity sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q== 1592 | dependencies: 1593 | escalade "^3.1.1" 1594 | picocolors "^1.0.0" 1595 | 1596 | uri-js@^4.2.2: 1597 | version "4.4.1" 1598 | resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" 1599 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 1600 | dependencies: 1601 | punycode "^2.1.0" 1602 | 1603 | validator@^13.7.0: 1604 | version "13.7.0" 1605 | resolved "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz" 1606 | integrity sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw== 1607 | 1608 | vite-plugin-dts@^1.3.0: 1609 | version "1.3.0" 1610 | resolved "https://registry.npmjs.org/vite-plugin-dts/-/vite-plugin-dts-1.3.0.tgz" 1611 | integrity sha512-YxDNqOE2wp713SyZ6AMmSu/sNfmiiy7GtlFXCMvlpD4nMaIbpqltidbve7fNlc3+gxlV+e156As/TwBtBp3g4Q== 1612 | dependencies: 1613 | "@microsoft/api-extractor" "^7.20.0" 1614 | "@rushstack/node-core-library" "^3.45.1" 1615 | chalk "^4.1.2" 1616 | debug "^4.3.4" 1617 | fast-glob "^3.2.11" 1618 | fs-extra "^10.0.1" 1619 | ts-morph "^14.0.0" 1620 | 1621 | vite-plugin-static-copy@^0.12.0: 1622 | version "0.12.0" 1623 | resolved "https://registry.npmjs.org/vite-plugin-static-copy/-/vite-plugin-static-copy-0.12.0.tgz#a7dbdaccc67725124cd950dc06cb54cea28d3f09" 1624 | integrity sha512-5a8hCjYJdf/rl8s7ct/YWt97gXdGPGNSOoJtkY5IYhbnSq04X1gTt5GpFHKfAxhHoed1Grfw3Ed13t7AjJi7gw== 1625 | dependencies: 1626 | chokidar "^3.5.3" 1627 | fast-glob "^3.2.11" 1628 | fs-extra "^10.1.0" 1629 | picocolors "^1.0.0" 1630 | 1631 | vite@^2.9.7: 1632 | version "2.9.14" 1633 | resolved "https://registry.npmmirror.com/vite/-/vite-2.9.14.tgz" 1634 | integrity sha512-P/UCjSpSMcE54r4mPak55hWAZPlyfS369svib/gpmz8/01L822lMPOJ/RYW6tLCe1RPvMvOsJ17erf55bKp4Hw== 1635 | dependencies: 1636 | esbuild "^0.14.27" 1637 | postcss "^8.4.13" 1638 | resolve "^1.22.0" 1639 | rollup "^2.59.0" 1640 | optionalDependencies: 1641 | fsevents "~2.3.2" 1642 | 1643 | vite@^3.0.2: 1644 | version "3.0.2" 1645 | resolved "https://registry.npmjs.org/vite/-/vite-3.0.2.tgz#2a7b4642c53ae066cf724e7e581d6c1fd24e2c32" 1646 | integrity sha512-TAqydxW/w0U5AoL5AsD9DApTvGb2iNbGs3sN4u2VdT1GFkQVUfgUldt+t08TZgi23uIauh1TUOQJALduo9GXqw== 1647 | dependencies: 1648 | esbuild "^0.14.47" 1649 | postcss "^8.4.14" 1650 | resolve "^1.22.1" 1651 | rollup "^2.75.6" 1652 | optionalDependencies: 1653 | fsevents "~2.3.2" 1654 | 1655 | vitepress@^1.0.0-alpha.4: 1656 | version "1.0.0-alpha.4" 1657 | resolved "https://registry.npmmirror.com/vitepress/-/vitepress-1.0.0-alpha.4.tgz" 1658 | integrity sha512-bOAA4KW6vYGlkbcrPLZLTKWTgXVroObU+o9xj9EENyEl6yg26WWvfN7DGA4BftjdM5O8nR93Z5khPQ3W/tFE7Q== 1659 | dependencies: 1660 | "@docsearch/css" "^3.0.0" 1661 | "@docsearch/js" "^3.0.0" 1662 | "@vitejs/plugin-vue" "^2.3.2" 1663 | "@vue/devtools-api" "^6.1.4" 1664 | "@vueuse/core" "^8.5.0" 1665 | body-scroll-lock "^4.0.0-beta.0" 1666 | shiki "^0.10.1" 1667 | vite "^2.9.7" 1668 | vue "^3.2.33" 1669 | 1670 | vscode-oniguruma@^1.6.1: 1671 | version "1.6.2" 1672 | resolved "https://registry.npmmirror.com/vscode-oniguruma/-/vscode-oniguruma-1.6.2.tgz" 1673 | integrity sha512-KH8+KKov5eS/9WhofZR8M8dMHWN2gTxjMsG4jd04YhpbPR91fUj7rYQ2/XjeHCJWbg7X++ApRIU9NUwM2vTvLA== 1674 | 1675 | vscode-textmate@5.2.0: 1676 | version "5.2.0" 1677 | resolved "https://registry.npmmirror.com/vscode-textmate/-/vscode-textmate-5.2.0.tgz" 1678 | integrity sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ== 1679 | 1680 | vue-demi@*: 1681 | version "0.13.5" 1682 | resolved "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.5.tgz" 1683 | integrity sha512-tO3K2bML3AwiHmVHeKCq6HLef2st4zBXIV5aEkoJl6HZ+gJWxWv2O8wLH8qrA3SX3lDoTDHNghLX1xZg83MXvw== 1684 | 1685 | vue@^3.2.33: 1686 | version "3.2.37" 1687 | resolved "https://registry.npmmirror.com/vue/-/vue-3.2.37.tgz" 1688 | integrity sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ== 1689 | dependencies: 1690 | "@vue/compiler-dom" "3.2.37" 1691 | "@vue/compiler-sfc" "3.2.37" 1692 | "@vue/runtime-dom" "3.2.37" 1693 | "@vue/server-renderer" "3.2.37" 1694 | "@vue/shared" "3.2.37" 1695 | 1696 | yallist@^4.0.0: 1697 | version "4.0.0" 1698 | resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" 1699 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 1700 | 1701 | z-schema@~5.0.2: 1702 | version "5.0.3" 1703 | resolved "https://registry.npmjs.org/z-schema/-/z-schema-5.0.3.tgz" 1704 | integrity sha512-sGvEcBOTNum68x9jCpCVGPFJ6mWnkD0YxOcddDlJHRx3tKdB2q8pCHExMVZo/AV/6geuVJXG7hljDaWG8+5GDw== 1705 | dependencies: 1706 | lodash.get "^4.4.2" 1707 | lodash.isequal "^4.5.0" 1708 | validator "^13.7.0" 1709 | optionalDependencies: 1710 | commander "^2.20.3" 1711 | --------------------------------------------------------------------------------