├── .editorconfig
├── .eslintignore
├── .eslintrc
├── .gitignore
├── .npmrc
├── LICENSE
├── README.md
├── README_zh.md
├── esbuild.config.mjs
├── gulpfile.js
├── manifest.json
├── package-lock.json
├── package.json
├── src
├── constants.ts
├── main.ts
├── utils
│ ├── file.ts
│ └── notice.ts
└── view.tsx
├── styles.css
├── tsconfig.json
├── version-bump.mjs
├── versions.json
└── yarn.lock
/.editorconfig:
--------------------------------------------------------------------------------
1 | # top-most EditorConfig file
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | end_of_line = lf
7 | insert_final_newline = true
8 | indent_style = tab
9 | indent_size = 4
10 | tab_width = 4
11 |
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 |
3 | main.js
4 |
--------------------------------------------------------------------------------
/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "env": { "node": true },
5 | "plugins": [
6 | "@typescript-eslint"
7 | ],
8 | "extends": [
9 | "eslint:recommended",
10 | "plugin:@typescript-eslint/eslint-recommended",
11 | "plugin:@typescript-eslint/recommended"
12 | ],
13 | "parserOptions": {
14 | "sourceType": "module"
15 | },
16 | "rules": {
17 | "no-unused-vars": "off",
18 | "@typescript-eslint/no-unused-vars": ["error", { "args": "none" }],
19 | "@typescript-eslint/ban-ts-comment": "off",
20 | "no-prototype-builtins": "off",
21 | "@typescript-eslint/no-empty-function": "off"
22 | }
23 | }
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # vscode
2 | .vscode
3 |
4 | # Intellij
5 | *.iml
6 | .idea
7 |
8 | # npm
9 | node_modules
10 |
11 | # Don't include the compiled main.js file in the repo.
12 | # They should be uploaded to GitHub releases instead.
13 | main.js
14 |
15 | # Exclude sourcemaps
16 | *.map
17 |
18 | # obsidian
19 | data.json
20 |
21 | # Exclude macOS Finder (System Explorer) View States
22 | .DS_Store
23 |
24 | obsidian-excalidraw-cn-plugin-*
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | tag-version-prefix=""
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Mozilla Public License Version 2.0
2 | ==================================
3 |
4 | 1. Definitions
5 | --------------
6 |
7 | 1.1. "Contributor"
8 | means each individual or legal entity that creates, contributes to
9 | the creation of, or owns Covered Software.
10 |
11 | 1.2. "Contributor Version"
12 | means the combination of the Contributions of others (if any) used
13 | by a Contributor and that particular Contributor's Contribution.
14 |
15 | 1.3. "Contribution"
16 | means Covered Software of a particular Contributor.
17 |
18 | 1.4. "Covered Software"
19 | means Source Code Form to which the initial Contributor has attached
20 | the notice in Exhibit A, the Executable Form of such Source Code
21 | Form, and Modifications of such Source Code Form, in each case
22 | including portions thereof.
23 |
24 | 1.5. "Incompatible With Secondary Licenses"
25 | means
26 |
27 | (a) that the initial Contributor has attached the notice described
28 | in Exhibit B to the Covered Software; or
29 |
30 | (b) that the Covered Software was made available under the terms of
31 | version 1.1 or earlier of the License, but not also under the
32 | terms of a Secondary License.
33 |
34 | 1.6. "Executable Form"
35 | means any form of the work other than Source Code Form.
36 |
37 | 1.7. "Larger Work"
38 | means a work that combines Covered Software with other material, in
39 | a separate file or files, that is not Covered Software.
40 |
41 | 1.8. "License"
42 | means this document.
43 |
44 | 1.9. "Licensable"
45 | means having the right to grant, to the maximum extent possible,
46 | whether at the time of the initial grant or subsequently, any and
47 | all of the rights conveyed by this License.
48 |
49 | 1.10. "Modifications"
50 | means any of the following:
51 |
52 | (a) any file in Source Code Form that results from an addition to,
53 | deletion from, or modification of the contents of Covered
54 | Software; or
55 |
56 | (b) any new file in Source Code Form that contains any Covered
57 | Software.
58 |
59 | 1.11. "Patent Claims" of a Contributor
60 | means any patent claim(s), including without limitation, method,
61 | process, and apparatus claims, in any patent Licensable by such
62 | Contributor that would be infringed, but for the grant of the
63 | License, by the making, using, selling, offering for sale, having
64 | made, import, or transfer of either its Contributions or its
65 | Contributor Version.
66 |
67 | 1.12. "Secondary License"
68 | means either the GNU General Public License, Version 2.0, the GNU
69 | Lesser General Public License, Version 2.1, the GNU Affero General
70 | Public License, Version 3.0, or any later versions of those
71 | licenses.
72 |
73 | 1.13. "Source Code Form"
74 | means the form of the work preferred for making modifications.
75 |
76 | 1.14. "You" (or "Your")
77 | means an individual or a legal entity exercising rights under this
78 | License. For legal entities, "You" includes any entity that
79 | controls, is controlled by, or is under common control with You. For
80 | purposes of this definition, "control" means (a) the power, direct
81 | or indirect, to cause the direction or management of such entity,
82 | whether by contract or otherwise, or (b) ownership of more than
83 | fifty percent (50%) of the outstanding shares or beneficial
84 | ownership of such entity.
85 |
86 | 2. License Grants and Conditions
87 | --------------------------------
88 |
89 | 2.1. Grants
90 |
91 | Each Contributor hereby grants You a world-wide, royalty-free,
92 | non-exclusive license:
93 |
94 | (a) under intellectual property rights (other than patent or trademark)
95 | Licensable by such Contributor to use, reproduce, make available,
96 | modify, display, perform, distribute, and otherwise exploit its
97 | Contributions, either on an unmodified basis, with Modifications, or
98 | as part of a Larger Work; and
99 |
100 | (b) under Patent Claims of such Contributor to make, use, sell, offer
101 | for sale, have made, import, and otherwise transfer either its
102 | Contributions or its Contributor Version.
103 |
104 | 2.2. Effective Date
105 |
106 | The licenses granted in Section 2.1 with respect to any Contribution
107 | become effective for each Contribution on the date the Contributor first
108 | distributes such Contribution.
109 |
110 | 2.3. Limitations on Grant Scope
111 |
112 | The licenses granted in this Section 2 are the only rights granted under
113 | this License. No additional rights or licenses will be implied from the
114 | distribution or licensing of Covered Software under this License.
115 | Notwithstanding Section 2.1(b) above, no patent license is granted by a
116 | Contributor:
117 |
118 | (a) for any code that a Contributor has removed from Covered Software;
119 | or
120 |
121 | (b) for infringements caused by: (i) Your and any other third party's
122 | modifications of Covered Software, or (ii) the combination of its
123 | Contributions with other software (except as part of its Contributor
124 | Version); or
125 |
126 | (c) under Patent Claims infringed by Covered Software in the absence of
127 | its Contributions.
128 |
129 | This License does not grant any rights in the trademarks, service marks,
130 | or logos of any Contributor (except as may be necessary to comply with
131 | the notice requirements in Section 3.4).
132 |
133 | 2.4. Subsequent Licenses
134 |
135 | No Contributor makes additional grants as a result of Your choice to
136 | distribute the Covered Software under a subsequent version of this
137 | License (see Section 10.2) or under the terms of a Secondary License (if
138 | permitted under the terms of Section 3.3).
139 |
140 | 2.5. Representation
141 |
142 | Each Contributor represents that the Contributor believes its
143 | Contributions are its original creation(s) or it has sufficient rights
144 | to grant the rights to its Contributions conveyed by this License.
145 |
146 | 2.6. Fair Use
147 |
148 | This License is not intended to limit any rights You have under
149 | applicable copyright doctrines of fair use, fair dealing, or other
150 | equivalents.
151 |
152 | 2.7. Conditions
153 |
154 | Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
155 | in Section 2.1.
156 |
157 | 3. Responsibilities
158 | -------------------
159 |
160 | 3.1. Distribution of Source Form
161 |
162 | All distribution of Covered Software in Source Code Form, including any
163 | Modifications that You create or to which You contribute, must be under
164 | the terms of this License. You must inform recipients that the Source
165 | Code Form of the Covered Software is governed by the terms of this
166 | License, and how they can obtain a copy of this License. You may not
167 | attempt to alter or restrict the recipients' rights in the Source Code
168 | Form.
169 |
170 | 3.2. Distribution of Executable Form
171 |
172 | If You distribute Covered Software in Executable Form then:
173 |
174 | (a) such Covered Software must also be made available in Source Code
175 | Form, as described in Section 3.1, and You must inform recipients of
176 | the Executable Form how they can obtain a copy of such Source Code
177 | Form by reasonable means in a timely manner, at a charge no more
178 | than the cost of distribution to the recipient; and
179 |
180 | (b) You may distribute such Executable Form under the terms of this
181 | License, or sublicense it under different terms, provided that the
182 | license for the Executable Form does not attempt to limit or alter
183 | the recipients' rights in the Source Code Form under this License.
184 |
185 | 3.3. Distribution of a Larger Work
186 |
187 | You may create and distribute a Larger Work under terms of Your choice,
188 | provided that You also comply with the requirements of this License for
189 | the Covered Software. If the Larger Work is a combination of Covered
190 | Software with a work governed by one or more Secondary Licenses, and the
191 | Covered Software is not Incompatible With Secondary Licenses, this
192 | License permits You to additionally distribute such Covered Software
193 | under the terms of such Secondary License(s), so that the recipient of
194 | the Larger Work may, at their option, further distribute the Covered
195 | Software under the terms of either this License or such Secondary
196 | License(s).
197 |
198 | 3.4. Notices
199 |
200 | You may not remove or alter the substance of any license notices
201 | (including copyright notices, patent notices, disclaimers of warranty,
202 | or limitations of liability) contained within the Source Code Form of
203 | the Covered Software, except that You may alter any license notices to
204 | the extent required to remedy known factual inaccuracies.
205 |
206 | 3.5. Application of Additional Terms
207 |
208 | You may choose to offer, and to charge a fee for, warranty, support,
209 | indemnity or liability obligations to one or more recipients of Covered
210 | Software. However, You may do so only on Your own behalf, and not on
211 | behalf of any Contributor. You must make it absolutely clear that any
212 | such warranty, support, indemnity, or liability obligation is offered by
213 | You alone, and You hereby agree to indemnify every Contributor for any
214 | liability incurred by such Contributor as a result of warranty, support,
215 | indemnity or liability terms You offer. You may include additional
216 | disclaimers of warranty and limitations of liability specific to any
217 | jurisdiction.
218 |
219 | 4. Inability to Comply Due to Statute or Regulation
220 | ---------------------------------------------------
221 |
222 | If it is impossible for You to comply with any of the terms of this
223 | License with respect to some or all of the Covered Software due to
224 | statute, judicial order, or regulation then You must: (a) comply with
225 | the terms of this License to the maximum extent possible; and (b)
226 | describe the limitations and the code they affect. Such description must
227 | be placed in a text file included with all distributions of the Covered
228 | Software under this License. Except to the extent prohibited by statute
229 | or regulation, such description must be sufficiently detailed for a
230 | recipient of ordinary skill to be able to understand it.
231 |
232 | 5. Termination
233 | --------------
234 |
235 | 5.1. The rights granted under this License will terminate automatically
236 | if You fail to comply with any of its terms. However, if You become
237 | compliant, then the rights granted under this License from a particular
238 | Contributor are reinstated (a) provisionally, unless and until such
239 | Contributor explicitly and finally terminates Your grants, and (b) on an
240 | ongoing basis, if such Contributor fails to notify You of the
241 | non-compliance by some reasonable means prior to 60 days after You have
242 | come back into compliance. Moreover, Your grants from a particular
243 | Contributor are reinstated on an ongoing basis if such Contributor
244 | notifies You of the non-compliance by some reasonable means, this is the
245 | first time You have received notice of non-compliance with this License
246 | from such Contributor, and You become compliant prior to 30 days after
247 | Your receipt of the notice.
248 |
249 | 5.2. If You initiate litigation against any entity by asserting a patent
250 | infringement claim (excluding declaratory judgment actions,
251 | counter-claims, and cross-claims) alleging that a Contributor Version
252 | directly or indirectly infringes any patent, then the rights granted to
253 | You by any and all Contributors for the Covered Software under Section
254 | 2.1 of this License shall terminate.
255 |
256 | 5.3. In the event of termination under Sections 5.1 or 5.2 above, all
257 | end user license agreements (excluding distributors and resellers) which
258 | have been validly granted by You or Your distributors under this License
259 | prior to termination shall survive termination.
260 |
261 | ************************************************************************
262 | * *
263 | * 6. Disclaimer of Warranty *
264 | * ------------------------- *
265 | * *
266 | * Covered Software is provided under this License on an "as is" *
267 | * basis, without warranty of any kind, either expressed, implied, or *
268 | * statutory, including, without limitation, warranties that the *
269 | * Covered Software is free of defects, merchantable, fit for a *
270 | * particular purpose or non-infringing. The entire risk as to the *
271 | * quality and performance of the Covered Software is with You. *
272 | * Should any Covered Software prove defective in any respect, You *
273 | * (not any Contributor) assume the cost of any necessary servicing, *
274 | * repair, or correction. This disclaimer of warranty constitutes an *
275 | * essential part of this License. No use of any Covered Software is *
276 | * authorized under this License except under this disclaimer. *
277 | * *
278 | ************************************************************************
279 |
280 | ************************************************************************
281 | * *
282 | * 7. Limitation of Liability *
283 | * -------------------------- *
284 | * *
285 | * Under no circumstances and under no legal theory, whether tort *
286 | * (including negligence), contract, or otherwise, shall any *
287 | * Contributor, or anyone who distributes Covered Software as *
288 | * permitted above, be liable to You for any direct, indirect, *
289 | * special, incidental, or consequential damages of any character *
290 | * including, without limitation, damages for lost profits, loss of *
291 | * goodwill, work stoppage, computer failure or malfunction, or any *
292 | * and all other commercial damages or losses, even if such party *
293 | * shall have been informed of the possibility of such damages. This *
294 | * limitation of liability shall not apply to liability for death or *
295 | * personal injury resulting from such party's negligence to the *
296 | * extent applicable law prohibits such limitation. Some *
297 | * jurisdictions do not allow the exclusion or limitation of *
298 | * incidental or consequential damages, so this exclusion and *
299 | * limitation may not apply to You. *
300 | * *
301 | ************************************************************************
302 |
303 | 8. Litigation
304 | -------------
305 |
306 | Any litigation relating to this License may be brought only in the
307 | courts of a jurisdiction where the defendant maintains its principal
308 | place of business and such litigation shall be governed by laws of that
309 | jurisdiction, without reference to its conflict-of-law provisions.
310 | Nothing in this Section shall prevent a party's ability to bring
311 | cross-claims or counter-claims.
312 |
313 | 9. Miscellaneous
314 | ----------------
315 |
316 | This License represents the complete agreement concerning the subject
317 | matter hereof. If any provision of this License is held to be
318 | unenforceable, such provision shall be reformed only to the extent
319 | necessary to make it enforceable. Any law or regulation which provides
320 | that the language of a contract shall be construed against the drafter
321 | shall not be used to construe this License against a Contributor.
322 |
323 | 10. Versions of the License
324 | ---------------------------
325 |
326 | 10.1. New Versions
327 |
328 | Mozilla Foundation is the license steward. Except as provided in Section
329 | 10.3, no one other than the license steward has the right to modify or
330 | publish new versions of this License. Each version will be given a
331 | distinguishing version number.
332 |
333 | 10.2. Effect of New Versions
334 |
335 | You may distribute the Covered Software under the terms of the version
336 | of the License under which You originally received the Covered Software,
337 | or under the terms of any subsequent version published by the license
338 | steward.
339 |
340 | 10.3. Modified Versions
341 |
342 | If you create software not governed by this License, and you want to
343 | create a new license for such software, you may create and use a
344 | modified version of this License if you rename the license and remove
345 | any references to the name of the license steward (except to note that
346 | such modified license differs from this License).
347 |
348 | 10.4. Distributing Source Code Form that is Incompatible With Secondary
349 | Licenses
350 |
351 | If You choose to distribute Source Code Form that is Incompatible With
352 | Secondary Licenses under the terms of this version of the License, the
353 | notice described in Exhibit B of this License must be attached.
354 |
355 | Exhibit A - Source Code Form License Notice
356 | -------------------------------------------
357 |
358 | This Source Code Form is subject to the terms of the Mozilla Public
359 | License, v. 2.0. If a copy of the MPL was not distributed with this
360 | file, You can obtain one at http://mozilla.org/MPL/2.0/.
361 |
362 | If it is not possible or desirable to put the notice in a particular
363 | file, then You may include the notice in a location (such as a LICENSE
364 | file in a relevant directory) where a recipient would be likely to look
365 | for such a notice.
366 |
367 | You may add additional accurate notices of copyright ownership.
368 |
369 | Exhibit B - "Incompatible With Secondary Licenses" Notice
370 | ---------------------------------------------------------
371 |
372 | This Source Code Form is "Incompatible With Secondary Licenses", as
373 | defined by the Mozilla Public License, v. 2.0.
374 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # obsidian-excalidraw-cn-plugin
2 |
3 | [中文 README](README_zh.md)
4 |
5 | A Obsidian plugin of [excalidraw-cn](https://github.com/korbinzhao/excalidraw-cn) which a whiteboard supporting Chinese hand draw font by default based on Excalidraw. Otherwise,you can get all the latest features of Excalidraw.
6 |
7 | # Github
8 |
9 | Github OpenSource Projects(**:point_right: Give a Star :star:**):
10 | * [obsidian-excalidraw-cn-plugin](https://github.com/korbinzhao/obsidian-excalidraw-cn-plugin):A Obsidian plugin of [excalidraw-cn](https://github.com/korbinzhao/excalidraw-cn), supports Chinese hand write font by default and double links in Obsidian.
11 | * [excalidraw-cn](https://github.com/korbinzhao/excalidraw-cn): A whiteboard supporting default Chinese hand write font and multi-canvas based on Excalidraw,Online address for free:[handraw.top](https://handraw.top/);
12 |
13 |
14 | 
15 |
16 |
17 | # Features
18 | * [x] Supports all latest features of Excalidraw;
19 | * [x] Support Chines hand write font by default;
20 | * [x] Support double links in Obsidian;
21 | * [ ] Support custom fonts;
22 | * [ ] Support table card;
23 | * [ ] Support mind map card;
24 | * [ ] Support markdown card;
25 | * [ ] Support cloud storage;
26 | * [ ] More features on road...
27 |
28 |
29 | # Usage
30 | Click the ribbon icon to create an excalidraw canvas.
31 | 
32 |
33 | # Default Chinese hand write font
34 | This plugin supports Chinese hand write font by default, you do not need to install Chinese hand write font.
35 |
36 | MacOS:
37 | 
38 |
39 | Windows:
40 | 
41 |
42 | # Double Links
43 | * Method 1: Right click Obsidian File,「Copy Obsidian URL」. Switch to Excalidraw CN canvas,choose the shape,right click to add a new link,paste the obsidian url。
44 | 
45 | * Method 2:Switch to Excalidraw CN canvas,choose the shape,right click to add a new link,type the file name in the specified format ```[[ filename ]]```.
46 | 
47 |
48 |
49 | # Website
50 | You can also visit the website [handraw.top](https://handraw.top/) to use free.
51 |
52 | # Feedback
53 | If you have any problem or suggestion, welcome to send your feedback to [issues](https://github.com/korbinzhao/obsidian-excalidraw-cn-plugin/issues).
54 |
55 | ## Feed my cat
56 |
57 | :point_right: Feed my cat
58 |
59 | ## Buy me a coffee
60 |
61 | :point_right:
62 |
63 |
--------------------------------------------------------------------------------
/README_zh.md:
--------------------------------------------------------------------------------
1 | # obsidian-excalidraw-cn-plugin
2 | [English README](README.md)
3 |
4 | 一个基于 Excalidraw 的默认支持中文手写效果白板工具 [excalidraw-cn](https://github.com/korbinzhao/excalidraw-cn) 的 Obsidian 插件。使用该插件,除了默认中文手写效果外,你还可以使用所有 Excalidraw 的最新特性。
5 |
6 | # 开源项目
7 | Github 开源项目(**:point_right:动动小手给个 Star :star: 吧**):
8 | * [obsidian-excalidraw-cn-plugin](https://github.com/korbinzhao/obsidian-excalidraw-cn-plugin):支持默认中文手写、双向链接的 Excalidraw Obsidian 插件。
9 | * [excalidraw-cn](https://github.com/korbinzhao/excalidraw-cn):支持默认中文手写和多画布的 Excalidraw 白板工具,线上免费地址:[handraw.top](https://handraw.top/);
10 |
11 |
12 | 
13 |
14 |
15 | # 特性
16 | * [x] 支持所有 Excalidraw 最新特性;
17 | * [x] 支持默认中文手写;
18 | * [x] 支持双向链接;
19 | * [ ] 自定义字体;
20 | * [ ] 表格;
21 | * [ ] 脑图;
22 | * [ ] Markdown卡片;
23 | * [ ] 云端存储;
24 | * [ ] 更多特性在路上...
25 |
26 |
27 | # 使用方式
28 | 点击 Obsidian 左侧菜单栏的「羽毛笔」图标,即可创建画布。
29 | 
30 |
31 | # 默认支持中文手写
32 | 默认支持中文手写效果,效果图:
33 |
34 | MacOS:
35 | 
36 |
37 | Windows:
38 | 
39 |
40 | # 双向链接
41 | * 方法1: 右键 Obsidian 文件,「复制 Obsidian URL」 链接。进入 Excalidraw CN 画布,选择要添加双链的图形,右键「新建链接」,复制链接并回车,创建双链完成。
42 | 
43 | * 方法2:进入 Excalidraw CN 画布,选择要添加双链的图形,右键「新建链接」,按照```[[文件名]]```格式输入文件名,并回车,创建双链完成。
44 | 
45 |
46 | # 网页版
47 | 你也可以访问网页版 [handraw.top](https://handraw.top/),无需安装即可免费使用。
48 |
49 | # 问题反馈
50 | 有任何问题或者建议,欢迎反馈到 [issues](https://github.com/korbinzhao/obsidian-excalidraw-cn-plugin/issues)。
51 |
52 | ## 投喂猫粮
53 |
54 | 国内小伙伴欢迎 :point_right: 投喂猫粮。
55 |
56 | ## 买杯咖啡
57 |
58 | :point_right:
59 |
60 |
--------------------------------------------------------------------------------
/esbuild.config.mjs:
--------------------------------------------------------------------------------
1 | import esbuild from "esbuild";
2 | import process from "process";
3 | import builtins from "builtin-modules";
4 | import { sassPlugin } from 'esbuild-sass-plugin';
5 |
6 | const banner =
7 | `/*
8 | THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
9 | if you want to view the source, please visit the github repository of this plugin
10 | */
11 | `;
12 |
13 | const prod = (process.argv[2] === "production");
14 |
15 | const context = await esbuild.context({
16 | banner: {
17 | js: banner,
18 | },
19 | entryPoints: ["src/main.ts"],
20 | bundle: true,
21 | external: [
22 | "obsidian",
23 | "electron",
24 | "@codemirror/autocomplete",
25 | "@codemirror/collab",
26 | "@codemirror/commands",
27 | "@codemirror/language",
28 | "@codemirror/lint",
29 | "@codemirror/search",
30 | "@codemirror/state",
31 | "@codemirror/view",
32 | "@lezer/common",
33 | "@lezer/highlight",
34 | "@lezer/lr",
35 | ...builtins],
36 | format: "cjs",
37 | target: "es2018",
38 | logLevel: "info",
39 | sourcemap: prod ? false : "inline",
40 | treeShaking: true,
41 | outfile: "main.js",
42 | plugins: [
43 | sassPlugin({
44 | type: 'style'
45 | }),],
46 | });
47 |
48 | if (prod) {
49 | await context.rebuild();
50 | process.exit(0);
51 | } else {
52 | await context.watch();
53 | }
--------------------------------------------------------------------------------
/gulpfile.js:
--------------------------------------------------------------------------------
1 | const { src, dest } = require('gulp');
2 | const { version } = require('./package.json');
3 |
4 | function defaultTask(cb) {
5 |
6 | src(['./main.js', 'manifest.json', 'styles.css']).pipe(dest(`obsidian-excalidraw-cn-plugin-${version}/`));
7 |
8 | cb();
9 | }
10 |
11 | exports.default = defaultTask;
--------------------------------------------------------------------------------
/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "excalidraw-cn",
3 | "name": "Excalidraw CN",
4 | "version": "1.0.0",
5 | "minAppVersion": "0.15.0",
6 | "description": "支持中文手写效果的 Excalidraw。Excalidraw supporting Chinese hand write font by default.",
7 | "author": "Korbin Zhao",
8 | "authorUrl": "https://korbinzhao.deno.dev/",
9 | "fundingUrl": "https://afdian.net/a/wantian",
10 | "isDesktopOnly": false
11 | }
12 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "obsidian-sample-plugin",
3 | "version": "1.0.0",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "obsidian-sample-plugin",
9 | "version": "1.0.0",
10 | "license": "MIT",
11 | "devDependencies": {
12 | "@types/node": "^16.11.6",
13 | "@typescript-eslint/eslint-plugin": "5.29.0",
14 | "@typescript-eslint/parser": "5.29.0",
15 | "builtin-modules": "3.3.0",
16 | "esbuild": "0.17.3",
17 | "obsidian": "latest",
18 | "tslib": "2.4.0",
19 | "typescript": "4.7.4"
20 | }
21 | },
22 | "node_modules/@codemirror/state": {
23 | "version": "6.2.1",
24 | "resolved": "https://registry.npm.alibaba-inc.com/@codemirror/state/download/@codemirror/state-6.2.1.tgz",
25 | "integrity": "sha512-RupHSZ8+OjNT38zU9fKH2sv+Dnlr8Eb8sl4NOnnqz95mCFTZUaiRP8Xv5MeeaG0px2b8Bnfe7YGwCV3nsBhbuw==",
26 | "dev": true,
27 | "peer": true
28 | },
29 | "node_modules/@codemirror/view": {
30 | "version": "6.13.2",
31 | "resolved": "https://registry.npm.alibaba-inc.com/@codemirror/view/download/@codemirror/view-6.13.2.tgz",
32 | "integrity": "sha512-XA/jUuu1H+eTja49654QkrQwx2CuDMdjciHcdqyasfTVo4HRlvj87rD/Qmm4HfnhwX8234FQSSA8HxEzxihX/Q==",
33 | "dev": true,
34 | "peer": true,
35 | "dependencies": {
36 | "@codemirror/state": "^6.1.4",
37 | "style-mod": "^4.0.0",
38 | "w3c-keyname": "^2.2.4"
39 | }
40 | },
41 | "node_modules/@esbuild/android-arm": {
42 | "version": "0.17.3",
43 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/android-arm/download/@esbuild/android-arm-0.17.3.tgz",
44 | "integrity": "sha512-1Mlz934GvbgdDmt26rTLmf03cAgLg5HyOgJN+ZGCeP3Q9ynYTNMn2/LQxIl7Uy+o4K6Rfi2OuLsr12JQQR8gNg==",
45 | "cpu": [
46 | "arm"
47 | ],
48 | "dev": true,
49 | "optional": true,
50 | "os": [
51 | "android"
52 | ],
53 | "engines": {
54 | "node": ">=12"
55 | }
56 | },
57 | "node_modules/@esbuild/android-arm64": {
58 | "version": "0.17.3",
59 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/android-arm64/download/@esbuild/android-arm64-0.17.3.tgz",
60 | "integrity": "sha512-XvJsYo3dO3Pi4kpalkyMvfQsjxPWHYjoX4MDiB/FUM4YMfWcXa5l4VCwFWVYI1+92yxqjuqrhNg0CZg3gSouyQ==",
61 | "cpu": [
62 | "arm64"
63 | ],
64 | "dev": true,
65 | "optional": true,
66 | "os": [
67 | "android"
68 | ],
69 | "engines": {
70 | "node": ">=12"
71 | }
72 | },
73 | "node_modules/@esbuild/android-x64": {
74 | "version": "0.17.3",
75 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/android-x64/download/@esbuild/android-x64-0.17.3.tgz",
76 | "integrity": "sha512-nuV2CmLS07Gqh5/GrZLuqkU9Bm6H6vcCspM+zjp9TdQlxJtIe+qqEXQChmfc7nWdyr/yz3h45Utk1tUn8Cz5+A==",
77 | "cpu": [
78 | "x64"
79 | ],
80 | "dev": true,
81 | "optional": true,
82 | "os": [
83 | "android"
84 | ],
85 | "engines": {
86 | "node": ">=12"
87 | }
88 | },
89 | "node_modules/@esbuild/darwin-arm64": {
90 | "version": "0.17.3",
91 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/darwin-arm64/download/@esbuild/darwin-arm64-0.17.3.tgz",
92 | "integrity": "sha512-01Hxaaat6m0Xp9AXGM8mjFtqqwDjzlMP0eQq9zll9U85ttVALGCGDuEvra5Feu/NbP5AEP1MaopPwzsTcUq1cw==",
93 | "cpu": [
94 | "arm64"
95 | ],
96 | "dev": true,
97 | "optional": true,
98 | "os": [
99 | "darwin"
100 | ],
101 | "engines": {
102 | "node": ">=12"
103 | }
104 | },
105 | "node_modules/@esbuild/darwin-x64": {
106 | "version": "0.17.3",
107 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/darwin-x64/download/@esbuild/darwin-x64-0.17.3.tgz",
108 | "integrity": "sha512-Eo2gq0Q/er2muf8Z83X21UFoB7EU6/m3GNKvrhACJkjVThd0uA+8RfKpfNhuMCl1bKRfBzKOk6xaYKQZ4lZqvA==",
109 | "cpu": [
110 | "x64"
111 | ],
112 | "dev": true,
113 | "optional": true,
114 | "os": [
115 | "darwin"
116 | ],
117 | "engines": {
118 | "node": ">=12"
119 | }
120 | },
121 | "node_modules/@esbuild/freebsd-arm64": {
122 | "version": "0.17.3",
123 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/freebsd-arm64/download/@esbuild/freebsd-arm64-0.17.3.tgz",
124 | "integrity": "sha512-CN62ESxaquP61n1ZjQP/jZte8CE09M6kNn3baos2SeUfdVBkWN5n6vGp2iKyb/bm/x4JQzEvJgRHLGd5F5b81w==",
125 | "cpu": [
126 | "arm64"
127 | ],
128 | "dev": true,
129 | "optional": true,
130 | "os": [
131 | "freebsd"
132 | ],
133 | "engines": {
134 | "node": ">=12"
135 | }
136 | },
137 | "node_modules/@esbuild/freebsd-x64": {
138 | "version": "0.17.3",
139 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/freebsd-x64/download/@esbuild/freebsd-x64-0.17.3.tgz",
140 | "integrity": "sha512-feq+K8TxIznZE+zhdVurF3WNJ/Sa35dQNYbaqM/wsCbWdzXr5lyq+AaTUSER2cUR+SXPnd/EY75EPRjf4s1SLg==",
141 | "cpu": [
142 | "x64"
143 | ],
144 | "dev": true,
145 | "optional": true,
146 | "os": [
147 | "freebsd"
148 | ],
149 | "engines": {
150 | "node": ">=12"
151 | }
152 | },
153 | "node_modules/@esbuild/linux-arm": {
154 | "version": "0.17.3",
155 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/linux-arm/download/@esbuild/linux-arm-0.17.3.tgz",
156 | "integrity": "sha512-CLP3EgyNuPcg2cshbwkqYy5bbAgK+VhyfMU7oIYyn+x4Y67xb5C5ylxsNUjRmr8BX+MW3YhVNm6Lq6FKtRTWHQ==",
157 | "cpu": [
158 | "arm"
159 | ],
160 | "dev": true,
161 | "optional": true,
162 | "os": [
163 | "linux"
164 | ],
165 | "engines": {
166 | "node": ">=12"
167 | }
168 | },
169 | "node_modules/@esbuild/linux-arm64": {
170 | "version": "0.17.3",
171 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/linux-arm64/download/@esbuild/linux-arm64-0.17.3.tgz",
172 | "integrity": "sha512-JHeZXD4auLYBnrKn6JYJ0o5nWJI9PhChA/Nt0G4MvLaMrvXuWnY93R3a7PiXeJQphpL1nYsaMcoV2QtuvRnF/g==",
173 | "cpu": [
174 | "arm64"
175 | ],
176 | "dev": true,
177 | "optional": true,
178 | "os": [
179 | "linux"
180 | ],
181 | "engines": {
182 | "node": ">=12"
183 | }
184 | },
185 | "node_modules/@esbuild/linux-ia32": {
186 | "version": "0.17.3",
187 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/linux-ia32/download/@esbuild/linux-ia32-0.17.3.tgz",
188 | "integrity": "sha512-FyXlD2ZjZqTFh0sOQxFDiWG1uQUEOLbEh9gKN/7pFxck5Vw0qjWSDqbn6C10GAa1rXJpwsntHcmLqydY9ST9ZA==",
189 | "cpu": [
190 | "ia32"
191 | ],
192 | "dev": true,
193 | "optional": true,
194 | "os": [
195 | "linux"
196 | ],
197 | "engines": {
198 | "node": ">=12"
199 | }
200 | },
201 | "node_modules/@esbuild/linux-loong64": {
202 | "version": "0.17.3",
203 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/linux-loong64/download/@esbuild/linux-loong64-0.17.3.tgz",
204 | "integrity": "sha512-OrDGMvDBI2g7s04J8dh8/I7eSO+/E7nMDT2Z5IruBfUO/RiigF1OF6xoH33Dn4W/OwAWSUf1s2nXamb28ZklTA==",
205 | "cpu": [
206 | "loong64"
207 | ],
208 | "dev": true,
209 | "optional": true,
210 | "os": [
211 | "linux"
212 | ],
213 | "engines": {
214 | "node": ">=12"
215 | }
216 | },
217 | "node_modules/@esbuild/linux-mips64el": {
218 | "version": "0.17.3",
219 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/linux-mips64el/download/@esbuild/linux-mips64el-0.17.3.tgz",
220 | "integrity": "sha512-DcnUpXnVCJvmv0TzuLwKBC2nsQHle8EIiAJiJ+PipEVC16wHXaPEKP0EqN8WnBe0TPvMITOUlP2aiL5YMld+CQ==",
221 | "cpu": [
222 | "mips64el"
223 | ],
224 | "dev": true,
225 | "optional": true,
226 | "os": [
227 | "linux"
228 | ],
229 | "engines": {
230 | "node": ">=12"
231 | }
232 | },
233 | "node_modules/@esbuild/linux-ppc64": {
234 | "version": "0.17.3",
235 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/linux-ppc64/download/@esbuild/linux-ppc64-0.17.3.tgz",
236 | "integrity": "sha512-BDYf/l1WVhWE+FHAW3FzZPtVlk9QsrwsxGzABmN4g8bTjmhazsId3h127pliDRRu5674k1Y2RWejbpN46N9ZhQ==",
237 | "cpu": [
238 | "ppc64"
239 | ],
240 | "dev": true,
241 | "optional": true,
242 | "os": [
243 | "linux"
244 | ],
245 | "engines": {
246 | "node": ">=12"
247 | }
248 | },
249 | "node_modules/@esbuild/linux-riscv64": {
250 | "version": "0.17.3",
251 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/linux-riscv64/download/@esbuild/linux-riscv64-0.17.3.tgz",
252 | "integrity": "sha512-WViAxWYMRIi+prTJTyV1wnqd2mS2cPqJlN85oscVhXdb/ZTFJdrpaqm/uDsZPGKHtbg5TuRX/ymKdOSk41YZow==",
253 | "cpu": [
254 | "riscv64"
255 | ],
256 | "dev": true,
257 | "optional": true,
258 | "os": [
259 | "linux"
260 | ],
261 | "engines": {
262 | "node": ">=12"
263 | }
264 | },
265 | "node_modules/@esbuild/linux-s390x": {
266 | "version": "0.17.3",
267 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/linux-s390x/download/@esbuild/linux-s390x-0.17.3.tgz",
268 | "integrity": "sha512-Iw8lkNHUC4oGP1O/KhumcVy77u2s6+KUjieUqzEU3XuWJqZ+AY7uVMrrCbAiwWTkpQHkr00BuXH5RpC6Sb/7Ug==",
269 | "cpu": [
270 | "s390x"
271 | ],
272 | "dev": true,
273 | "optional": true,
274 | "os": [
275 | "linux"
276 | ],
277 | "engines": {
278 | "node": ">=12"
279 | }
280 | },
281 | "node_modules/@esbuild/linux-x64": {
282 | "version": "0.17.3",
283 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/linux-x64/download/@esbuild/linux-x64-0.17.3.tgz",
284 | "integrity": "sha512-0AGkWQMzeoeAtXQRNB3s4J1/T2XbigM2/Mn2yU1tQSmQRmHIZdkGbVq2A3aDdNslPyhb9/lH0S5GMTZ4xsjBqg==",
285 | "cpu": [
286 | "x64"
287 | ],
288 | "dev": true,
289 | "optional": true,
290 | "os": [
291 | "linux"
292 | ],
293 | "engines": {
294 | "node": ">=12"
295 | }
296 | },
297 | "node_modules/@esbuild/netbsd-x64": {
298 | "version": "0.17.3",
299 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/netbsd-x64/download/@esbuild/netbsd-x64-0.17.3.tgz",
300 | "integrity": "sha512-4+rR/WHOxIVh53UIQIICryjdoKdHsFZFD4zLSonJ9RRw7bhKzVyXbnRPsWSfwybYqw9sB7ots/SYyufL1mBpEg==",
301 | "cpu": [
302 | "x64"
303 | ],
304 | "dev": true,
305 | "optional": true,
306 | "os": [
307 | "netbsd"
308 | ],
309 | "engines": {
310 | "node": ">=12"
311 | }
312 | },
313 | "node_modules/@esbuild/openbsd-x64": {
314 | "version": "0.17.3",
315 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/openbsd-x64/download/@esbuild/openbsd-x64-0.17.3.tgz",
316 | "integrity": "sha512-cVpWnkx9IYg99EjGxa5Gc0XmqumtAwK3aoz7O4Dii2vko+qXbkHoujWA68cqXjhh6TsLaQelfDO4MVnyr+ODeA==",
317 | "cpu": [
318 | "x64"
319 | ],
320 | "dev": true,
321 | "optional": true,
322 | "os": [
323 | "openbsd"
324 | ],
325 | "engines": {
326 | "node": ">=12"
327 | }
328 | },
329 | "node_modules/@esbuild/sunos-x64": {
330 | "version": "0.17.3",
331 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/sunos-x64/download/@esbuild/sunos-x64-0.17.3.tgz",
332 | "integrity": "sha512-RxmhKLbTCDAY2xOfrww6ieIZkZF+KBqG7S2Ako2SljKXRFi+0863PspK74QQ7JpmWwncChY25JTJSbVBYGQk2Q==",
333 | "cpu": [
334 | "x64"
335 | ],
336 | "dev": true,
337 | "optional": true,
338 | "os": [
339 | "sunos"
340 | ],
341 | "engines": {
342 | "node": ">=12"
343 | }
344 | },
345 | "node_modules/@esbuild/win32-arm64": {
346 | "version": "0.17.3",
347 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/win32-arm64/download/@esbuild/win32-arm64-0.17.3.tgz",
348 | "integrity": "sha512-0r36VeEJ4efwmofxVJRXDjVRP2jTmv877zc+i+Pc7MNsIr38NfsjkQj23AfF7l0WbB+RQ7VUb+LDiqC/KY/M/A==",
349 | "cpu": [
350 | "arm64"
351 | ],
352 | "dev": true,
353 | "optional": true,
354 | "os": [
355 | "win32"
356 | ],
357 | "engines": {
358 | "node": ">=12"
359 | }
360 | },
361 | "node_modules/@esbuild/win32-ia32": {
362 | "version": "0.17.3",
363 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/win32-ia32/download/@esbuild/win32-ia32-0.17.3.tgz",
364 | "integrity": "sha512-wgO6rc7uGStH22nur4aLFcq7Wh86bE9cOFmfTr/yxN3BXvDEdCSXyKkO+U5JIt53eTOgC47v9k/C1bITWL/Teg==",
365 | "cpu": [
366 | "ia32"
367 | ],
368 | "dev": true,
369 | "optional": true,
370 | "os": [
371 | "win32"
372 | ],
373 | "engines": {
374 | "node": ">=12"
375 | }
376 | },
377 | "node_modules/@esbuild/win32-x64": {
378 | "version": "0.17.3",
379 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/win32-x64/download/@esbuild/win32-x64-0.17.3.tgz",
380 | "integrity": "sha512-FdVl64OIuiKjgXBjwZaJLKp0eaEckifbhn10dXWhysMJkWblg3OEEGKSIyhiD5RSgAya8WzP3DNkngtIg3Nt7g==",
381 | "cpu": [
382 | "x64"
383 | ],
384 | "dev": true,
385 | "optional": true,
386 | "os": [
387 | "win32"
388 | ],
389 | "engines": {
390 | "node": ">=12"
391 | }
392 | },
393 | "node_modules/@eslint-community/eslint-utils": {
394 | "version": "4.4.0",
395 | "resolved": "https://registry.npm.alibaba-inc.com/@eslint-community/eslint-utils/download/@eslint-community/eslint-utils-4.4.0.tgz",
396 | "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
397 | "dev": true,
398 | "peer": true,
399 | "dependencies": {
400 | "eslint-visitor-keys": "^3.3.0"
401 | },
402 | "engines": {
403 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
404 | },
405 | "peerDependencies": {
406 | "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
407 | }
408 | },
409 | "node_modules/@eslint-community/regexpp": {
410 | "version": "4.5.1",
411 | "resolved": "https://registry.npm.alibaba-inc.com/@eslint-community/regexpp/download/@eslint-community/regexpp-4.5.1.tgz",
412 | "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==",
413 | "dev": true,
414 | "peer": true,
415 | "engines": {
416 | "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
417 | }
418 | },
419 | "node_modules/@eslint/eslintrc": {
420 | "version": "2.0.3",
421 | "resolved": "https://registry.npm.alibaba-inc.com/@eslint/eslintrc/download/@eslint/eslintrc-2.0.3.tgz",
422 | "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==",
423 | "dev": true,
424 | "peer": true,
425 | "dependencies": {
426 | "ajv": "^6.12.4",
427 | "debug": "^4.3.2",
428 | "espree": "^9.5.2",
429 | "globals": "^13.19.0",
430 | "ignore": "^5.2.0",
431 | "import-fresh": "^3.2.1",
432 | "js-yaml": "^4.1.0",
433 | "minimatch": "^3.1.2",
434 | "strip-json-comments": "^3.1.1"
435 | },
436 | "engines": {
437 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
438 | }
439 | },
440 | "node_modules/@eslint/js": {
441 | "version": "8.43.0",
442 | "resolved": "https://registry.npm.alibaba-inc.com/@eslint/js/download/@eslint/js-8.43.0.tgz",
443 | "integrity": "sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==",
444 | "dev": true,
445 | "peer": true,
446 | "engines": {
447 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
448 | }
449 | },
450 | "node_modules/@humanwhocodes/config-array": {
451 | "version": "0.11.10",
452 | "resolved": "https://registry.npm.alibaba-inc.com/@humanwhocodes/config-array/download/@humanwhocodes/config-array-0.11.10.tgz",
453 | "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==",
454 | "dev": true,
455 | "peer": true,
456 | "dependencies": {
457 | "@humanwhocodes/object-schema": "^1.2.1",
458 | "debug": "^4.1.1",
459 | "minimatch": "^3.0.5"
460 | },
461 | "engines": {
462 | "node": ">=10.10.0"
463 | }
464 | },
465 | "node_modules/@humanwhocodes/module-importer": {
466 | "version": "1.0.1",
467 | "resolved": "https://registry.npm.alibaba-inc.com/@humanwhocodes/module-importer/download/@humanwhocodes/module-importer-1.0.1.tgz",
468 | "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
469 | "dev": true,
470 | "peer": true,
471 | "engines": {
472 | "node": ">=12.22"
473 | }
474 | },
475 | "node_modules/@humanwhocodes/object-schema": {
476 | "version": "1.2.1",
477 | "resolved": "https://registry.npm.alibaba-inc.com/@humanwhocodes/object-schema/download/@humanwhocodes/object-schema-1.2.1.tgz",
478 | "integrity": "sha1-tSBSnsIdjllFoYUd/Rwy6U45/0U=",
479 | "dev": true,
480 | "license": "BSD-3-Clause",
481 | "peer": true
482 | },
483 | "node_modules/@nodelib/fs.scandir": {
484 | "version": "2.1.5",
485 | "resolved": "https://registry.npm.alibaba-inc.com/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.5.tgz",
486 | "integrity": "sha1-dhnC6yGyVIP20WdUi0z9WnSIw9U=",
487 | "dev": true,
488 | "dependencies": {
489 | "@nodelib/fs.stat": "2.0.5",
490 | "run-parallel": "^1.1.9"
491 | },
492 | "engines": {
493 | "node": ">= 8"
494 | }
495 | },
496 | "node_modules/@nodelib/fs.stat": {
497 | "version": "2.0.5",
498 | "resolved": "https://registry.npm.alibaba-inc.com/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.5.tgz",
499 | "integrity": "sha1-W9Jir5Tp0lvR5xsF3u1Eh2oiLos=",
500 | "dev": true,
501 | "engines": {
502 | "node": ">= 8"
503 | }
504 | },
505 | "node_modules/@nodelib/fs.walk": {
506 | "version": "1.2.8",
507 | "resolved": "https://registry.npm.alibaba-inc.com/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.8.tgz",
508 | "integrity": "sha1-6Vc36LtnRt3t9pxVaVNJTxlv5po=",
509 | "dev": true,
510 | "dependencies": {
511 | "@nodelib/fs.scandir": "2.1.5",
512 | "fastq": "^1.6.0"
513 | },
514 | "engines": {
515 | "node": ">= 8"
516 | }
517 | },
518 | "node_modules/@types/codemirror": {
519 | "version": "0.0.108",
520 | "resolved": "https://registry.npm.alibaba-inc.com/@types/codemirror/download/@types/codemirror-0.0.108.tgz",
521 | "integrity": "sha1-5kBCK2Zr9JJRs4TDkM3rI2JYW94=",
522 | "dev": true,
523 | "dependencies": {
524 | "@types/tern": "*"
525 | }
526 | },
527 | "node_modules/@types/estree": {
528 | "version": "1.0.1",
529 | "resolved": "https://registry.npm.alibaba-inc.com/@types/estree/download/@types/estree-1.0.1.tgz",
530 | "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==",
531 | "dev": true
532 | },
533 | "node_modules/@types/json-schema": {
534 | "version": "7.0.12",
535 | "resolved": "https://registry.npm.alibaba-inc.com/@types/json-schema/download/@types/json-schema-7.0.12.tgz",
536 | "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==",
537 | "dev": true
538 | },
539 | "node_modules/@types/node": {
540 | "version": "16.18.36",
541 | "resolved": "https://registry.npm.alibaba-inc.com/@types/node/download/@types/node-16.18.36.tgz",
542 | "integrity": "sha512-8egDX8dE50XyXWH6C6PRCNkTP106DuUrvdrednFouDSmCi7IOvrqr0frznfZaHifHH/3aq/7a7v9N4wdXMqhBQ==",
543 | "dev": true
544 | },
545 | "node_modules/@types/tern": {
546 | "version": "0.23.4",
547 | "resolved": "https://registry.npm.alibaba-inc.com/@types/tern/download/@types/tern-0.23.4.tgz",
548 | "integrity": "sha1-A5JusT2+rzrg05DK9wayZDoBJ/s=",
549 | "dev": true,
550 | "dependencies": {
551 | "@types/estree": "*"
552 | }
553 | },
554 | "node_modules/@typescript-eslint/eslint-plugin": {
555 | "version": "5.29.0",
556 | "resolved": "https://registry.npm.alibaba-inc.com/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-5.29.0.tgz",
557 | "integrity": "sha512-kgTsISt9pM53yRFQmLZ4npj99yGl3x3Pl7z4eA66OuTzAGC4bQB5H5fuLwPnqTKU3yyrrg4MIhjF17UYnL4c0w==",
558 | "dev": true,
559 | "dependencies": {
560 | "@typescript-eslint/scope-manager": "5.29.0",
561 | "@typescript-eslint/type-utils": "5.29.0",
562 | "@typescript-eslint/utils": "5.29.0",
563 | "debug": "^4.3.4",
564 | "functional-red-black-tree": "^1.0.1",
565 | "ignore": "^5.2.0",
566 | "regexpp": "^3.2.0",
567 | "semver": "^7.3.7",
568 | "tsutils": "^3.21.0"
569 | },
570 | "engines": {
571 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
572 | },
573 | "peerDependencies": {
574 | "@typescript-eslint/parser": "^5.0.0",
575 | "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
576 | },
577 | "peerDependenciesMeta": {
578 | "typescript": {
579 | "optional": true
580 | }
581 | }
582 | },
583 | "node_modules/@typescript-eslint/parser": {
584 | "version": "5.29.0",
585 | "resolved": "https://registry.npm.alibaba-inc.com/@typescript-eslint/parser/download/@typescript-eslint/parser-5.29.0.tgz",
586 | "integrity": "sha512-ruKWTv+x0OOxbzIw9nW5oWlUopvP/IQDjB5ZqmTglLIoDTctLlAJpAQFpNPJP/ZI7hTT9sARBosEfaKbcFuECw==",
587 | "dev": true,
588 | "dependencies": {
589 | "@typescript-eslint/scope-manager": "5.29.0",
590 | "@typescript-eslint/types": "5.29.0",
591 | "@typescript-eslint/typescript-estree": "5.29.0",
592 | "debug": "^4.3.4"
593 | },
594 | "engines": {
595 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
596 | },
597 | "peerDependencies": {
598 | "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
599 | },
600 | "peerDependenciesMeta": {
601 | "typescript": {
602 | "optional": true
603 | }
604 | }
605 | },
606 | "node_modules/@typescript-eslint/scope-manager": {
607 | "version": "5.29.0",
608 | "resolved": "https://registry.npm.alibaba-inc.com/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-5.29.0.tgz",
609 | "integrity": "sha512-etbXUT0FygFi2ihcxDZjz21LtC+Eps9V2xVx09zFoN44RRHPrkMflidGMI+2dUs821zR1tDS6Oc9IXxIjOUZwA==",
610 | "dev": true,
611 | "dependencies": {
612 | "@typescript-eslint/types": "5.29.0",
613 | "@typescript-eslint/visitor-keys": "5.29.0"
614 | },
615 | "engines": {
616 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
617 | }
618 | },
619 | "node_modules/@typescript-eslint/type-utils": {
620 | "version": "5.29.0",
621 | "resolved": "https://registry.npm.alibaba-inc.com/@typescript-eslint/type-utils/download/@typescript-eslint/type-utils-5.29.0.tgz",
622 | "integrity": "sha512-JK6bAaaiJozbox3K220VRfCzLa9n0ib/J+FHIwnaV3Enw/TO267qe0pM1b1QrrEuy6xun374XEAsRlA86JJnyg==",
623 | "dev": true,
624 | "dependencies": {
625 | "@typescript-eslint/utils": "5.29.0",
626 | "debug": "^4.3.4",
627 | "tsutils": "^3.21.0"
628 | },
629 | "engines": {
630 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
631 | },
632 | "peerDependencies": {
633 | "eslint": "*"
634 | },
635 | "peerDependenciesMeta": {
636 | "typescript": {
637 | "optional": true
638 | }
639 | }
640 | },
641 | "node_modules/@typescript-eslint/types": {
642 | "version": "5.29.0",
643 | "resolved": "https://registry.npm.alibaba-inc.com/@typescript-eslint/types/download/@typescript-eslint/types-5.29.0.tgz",
644 | "integrity": "sha512-X99VbqvAXOMdVyfFmksMy3u8p8yoRGITgU1joBJPzeYa0rhdf5ok9S56/itRoUSh99fiDoMtarSIJXo7H/SnOg==",
645 | "dev": true,
646 | "engines": {
647 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
648 | }
649 | },
650 | "node_modules/@typescript-eslint/typescript-estree": {
651 | "version": "5.29.0",
652 | "resolved": "https://registry.npm.alibaba-inc.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-5.29.0.tgz",
653 | "integrity": "sha512-mQvSUJ/JjGBdvo+1LwC+GY2XmSYjK1nAaVw2emp/E61wEVYEyibRHCqm1I1vEKbXCpUKuW4G7u9ZCaZhJbLoNQ==",
654 | "dev": true,
655 | "dependencies": {
656 | "@typescript-eslint/types": "5.29.0",
657 | "@typescript-eslint/visitor-keys": "5.29.0",
658 | "debug": "^4.3.4",
659 | "globby": "^11.1.0",
660 | "is-glob": "^4.0.3",
661 | "semver": "^7.3.7",
662 | "tsutils": "^3.21.0"
663 | },
664 | "engines": {
665 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
666 | },
667 | "peerDependenciesMeta": {
668 | "typescript": {
669 | "optional": true
670 | }
671 | }
672 | },
673 | "node_modules/@typescript-eslint/utils": {
674 | "version": "5.29.0",
675 | "resolved": "https://registry.npm.alibaba-inc.com/@typescript-eslint/utils/download/@typescript-eslint/utils-5.29.0.tgz",
676 | "integrity": "sha512-3Eos6uP1nyLOBayc/VUdKZikV90HahXE5Dx9L5YlSd/7ylQPXhLk1BYb29SDgnBnTp+jmSZUU0QxUiyHgW4p7A==",
677 | "dev": true,
678 | "dependencies": {
679 | "@types/json-schema": "^7.0.9",
680 | "@typescript-eslint/scope-manager": "5.29.0",
681 | "@typescript-eslint/types": "5.29.0",
682 | "@typescript-eslint/typescript-estree": "5.29.0",
683 | "eslint-scope": "^5.1.1",
684 | "eslint-utils": "^3.0.0"
685 | },
686 | "engines": {
687 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
688 | },
689 | "peerDependencies": {
690 | "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
691 | }
692 | },
693 | "node_modules/@typescript-eslint/visitor-keys": {
694 | "version": "5.29.0",
695 | "resolved": "https://registry.npm.alibaba-inc.com/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-5.29.0.tgz",
696 | "integrity": "sha512-Hpb/mCWsjILvikMQoZIE3voc9wtQcS0A9FUw3h8bhr9UxBdtI/tw1ZDZUOXHXLOVMedKCH5NxyzATwnU78bWCQ==",
697 | "dev": true,
698 | "dependencies": {
699 | "@typescript-eslint/types": "5.29.0",
700 | "eslint-visitor-keys": "^3.3.0"
701 | },
702 | "engines": {
703 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
704 | }
705 | },
706 | "node_modules/acorn": {
707 | "version": "8.9.0",
708 | "resolved": "https://registry.npm.alibaba-inc.com/acorn/download/acorn-8.9.0.tgz",
709 | "integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==",
710 | "dev": true,
711 | "peer": true,
712 | "bin": {
713 | "acorn": "bin/acorn"
714 | },
715 | "engines": {
716 | "node": ">=0.4.0"
717 | }
718 | },
719 | "node_modules/acorn-jsx": {
720 | "version": "5.3.2",
721 | "resolved": "https://registry.npm.alibaba-inc.com/acorn-jsx/download/acorn-jsx-5.3.2.tgz",
722 | "integrity": "sha1-ftW7VZCLOy8bxVxq8WU7rafweTc=",
723 | "dev": true,
724 | "peer": true,
725 | "peerDependencies": {
726 | "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
727 | }
728 | },
729 | "node_modules/ajv": {
730 | "version": "6.12.6",
731 | "resolved": "https://registry.npm.alibaba-inc.com/ajv/download/ajv-6.12.6.tgz",
732 | "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=",
733 | "dev": true,
734 | "peer": true,
735 | "dependencies": {
736 | "fast-deep-equal": "^3.1.1",
737 | "fast-json-stable-stringify": "^2.0.0",
738 | "json-schema-traverse": "^0.4.1",
739 | "uri-js": "^4.2.2"
740 | }
741 | },
742 | "node_modules/ansi-regex": {
743 | "version": "5.0.1",
744 | "resolved": "https://registry.npm.alibaba-inc.com/ansi-regex/download/ansi-regex-5.0.1.tgz",
745 | "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=",
746 | "dev": true,
747 | "peer": true,
748 | "engines": {
749 | "node": ">=8"
750 | }
751 | },
752 | "node_modules/ansi-styles": {
753 | "version": "4.3.0",
754 | "resolved": "https://registry.npm.alibaba-inc.com/ansi-styles/download/ansi-styles-4.3.0.tgz",
755 | "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
756 | "dev": true,
757 | "peer": true,
758 | "dependencies": {
759 | "color-convert": "^2.0.1"
760 | },
761 | "engines": {
762 | "node": ">=8"
763 | }
764 | },
765 | "node_modules/argparse": {
766 | "version": "2.0.1",
767 | "resolved": "https://registry.npm.alibaba-inc.com/argparse/download/argparse-2.0.1.tgz",
768 | "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=",
769 | "dev": true,
770 | "peer": true
771 | },
772 | "node_modules/array-union": {
773 | "version": "2.1.0",
774 | "resolved": "https://registry.npm.alibaba-inc.com/array-union/download/array-union-2.1.0.tgz",
775 | "integrity": "sha1-t5hCCtvrHego2ErNii4j0+/oXo0=",
776 | "dev": true,
777 | "engines": {
778 | "node": ">=8"
779 | }
780 | },
781 | "node_modules/balanced-match": {
782 | "version": "1.0.2",
783 | "resolved": "https://registry.npm.alibaba-inc.com/balanced-match/download/balanced-match-1.0.2.tgz",
784 | "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=",
785 | "dev": true,
786 | "peer": true
787 | },
788 | "node_modules/brace-expansion": {
789 | "version": "1.1.11",
790 | "resolved": "https://registry.npm.alibaba-inc.com/brace-expansion/download/brace-expansion-1.1.11.tgz",
791 | "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=",
792 | "dev": true,
793 | "peer": true,
794 | "dependencies": {
795 | "balanced-match": "^1.0.0",
796 | "concat-map": "0.0.1"
797 | }
798 | },
799 | "node_modules/braces": {
800 | "version": "3.0.2",
801 | "resolved": "https://registry.npm.alibaba-inc.com/braces/download/braces-3.0.2.tgz",
802 | "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=",
803 | "dev": true,
804 | "dependencies": {
805 | "fill-range": "^7.0.1"
806 | },
807 | "engines": {
808 | "node": ">=8"
809 | }
810 | },
811 | "node_modules/builtin-modules": {
812 | "version": "3.3.0",
813 | "resolved": "https://registry.npm.alibaba-inc.com/builtin-modules/download/builtin-modules-3.3.0.tgz",
814 | "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
815 | "dev": true,
816 | "engines": {
817 | "node": ">=6"
818 | }
819 | },
820 | "node_modules/callsites": {
821 | "version": "3.1.0",
822 | "resolved": "https://registry.npm.alibaba-inc.com/callsites/download/callsites-3.1.0.tgz",
823 | "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=",
824 | "dev": true,
825 | "peer": true,
826 | "engines": {
827 | "node": ">=6"
828 | }
829 | },
830 | "node_modules/chalk": {
831 | "version": "4.1.2",
832 | "resolved": "https://registry.npm.alibaba-inc.com/chalk/download/chalk-4.1.2.tgz",
833 | "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=",
834 | "dev": true,
835 | "peer": true,
836 | "dependencies": {
837 | "ansi-styles": "^4.1.0",
838 | "supports-color": "^7.1.0"
839 | },
840 | "engines": {
841 | "node": ">=10"
842 | }
843 | },
844 | "node_modules/color-convert": {
845 | "version": "2.0.1",
846 | "resolved": "https://registry.npm.alibaba-inc.com/color-convert/download/color-convert-2.0.1.tgz",
847 | "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
848 | "dev": true,
849 | "peer": true,
850 | "dependencies": {
851 | "color-name": "~1.1.4"
852 | },
853 | "engines": {
854 | "node": ">=7.0.0"
855 | }
856 | },
857 | "node_modules/color-name": {
858 | "version": "1.1.4",
859 | "resolved": "https://registry.npm.alibaba-inc.com/color-name/download/color-name-1.1.4.tgz",
860 | "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=",
861 | "dev": true,
862 | "peer": true
863 | },
864 | "node_modules/concat-map": {
865 | "version": "0.0.1",
866 | "resolved": "https://registry.npm.alibaba-inc.com/concat-map/download/concat-map-0.0.1.tgz",
867 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
868 | "dev": true,
869 | "peer": true
870 | },
871 | "node_modules/cross-spawn": {
872 | "version": "7.0.3",
873 | "resolved": "https://registry.npm.alibaba-inc.com/cross-spawn/download/cross-spawn-7.0.3.tgz",
874 | "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=",
875 | "dev": true,
876 | "peer": true,
877 | "dependencies": {
878 | "path-key": "^3.1.0",
879 | "shebang-command": "^2.0.0",
880 | "which": "^2.0.1"
881 | },
882 | "engines": {
883 | "node": ">= 8"
884 | }
885 | },
886 | "node_modules/debug": {
887 | "version": "4.3.4",
888 | "resolved": "https://registry.npm.alibaba-inc.com/debug/download/debug-4.3.4.tgz",
889 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
890 | "dev": true,
891 | "dependencies": {
892 | "ms": "2.1.2"
893 | },
894 | "engines": {
895 | "node": ">=6.0"
896 | },
897 | "peerDependenciesMeta": {
898 | "supports-color": {
899 | "optional": true
900 | }
901 | }
902 | },
903 | "node_modules/deep-is": {
904 | "version": "0.1.4",
905 | "resolved": "https://registry.npm.alibaba-inc.com/deep-is/download/deep-is-0.1.4.tgz",
906 | "integrity": "sha1-pvLc5hL63S7x9Rm3NVHxfoUZmDE=",
907 | "dev": true,
908 | "peer": true
909 | },
910 | "node_modules/dir-glob": {
911 | "version": "3.0.1",
912 | "resolved": "https://registry.npm.alibaba-inc.com/dir-glob/download/dir-glob-3.0.1.tgz",
913 | "integrity": "sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8=",
914 | "dev": true,
915 | "dependencies": {
916 | "path-type": "^4.0.0"
917 | },
918 | "engines": {
919 | "node": ">=8"
920 | }
921 | },
922 | "node_modules/doctrine": {
923 | "version": "3.0.0",
924 | "resolved": "https://registry.npm.alibaba-inc.com/doctrine/download/doctrine-3.0.0.tgz",
925 | "integrity": "sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=",
926 | "dev": true,
927 | "peer": true,
928 | "dependencies": {
929 | "esutils": "^2.0.2"
930 | },
931 | "engines": {
932 | "node": ">=6.0.0"
933 | }
934 | },
935 | "node_modules/esbuild": {
936 | "version": "0.17.3",
937 | "resolved": "https://registry.npm.alibaba-inc.com/esbuild/download/esbuild-0.17.3.tgz",
938 | "integrity": "sha512-9n3AsBRe6sIyOc6kmoXg2ypCLgf3eZSraWFRpnkto+svt8cZNuKTkb1bhQcitBcvIqjNiK7K0J3KPmwGSfkA8g==",
939 | "dev": true,
940 | "hasInstallScript": true,
941 | "bin": {
942 | "esbuild": "bin/esbuild"
943 | },
944 | "engines": {
945 | "node": ">=12"
946 | },
947 | "optionalDependencies": {
948 | "@esbuild/android-arm": "0.17.3",
949 | "@esbuild/android-arm64": "0.17.3",
950 | "@esbuild/android-x64": "0.17.3",
951 | "@esbuild/darwin-arm64": "0.17.3",
952 | "@esbuild/darwin-x64": "0.17.3",
953 | "@esbuild/freebsd-arm64": "0.17.3",
954 | "@esbuild/freebsd-x64": "0.17.3",
955 | "@esbuild/linux-arm": "0.17.3",
956 | "@esbuild/linux-arm64": "0.17.3",
957 | "@esbuild/linux-ia32": "0.17.3",
958 | "@esbuild/linux-loong64": "0.17.3",
959 | "@esbuild/linux-mips64el": "0.17.3",
960 | "@esbuild/linux-ppc64": "0.17.3",
961 | "@esbuild/linux-riscv64": "0.17.3",
962 | "@esbuild/linux-s390x": "0.17.3",
963 | "@esbuild/linux-x64": "0.17.3",
964 | "@esbuild/netbsd-x64": "0.17.3",
965 | "@esbuild/openbsd-x64": "0.17.3",
966 | "@esbuild/sunos-x64": "0.17.3",
967 | "@esbuild/win32-arm64": "0.17.3",
968 | "@esbuild/win32-ia32": "0.17.3",
969 | "@esbuild/win32-x64": "0.17.3"
970 | }
971 | },
972 | "node_modules/escape-string-regexp": {
973 | "version": "4.0.0",
974 | "resolved": "https://registry.npm.alibaba-inc.com/escape-string-regexp/download/escape-string-regexp-4.0.0.tgz",
975 | "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=",
976 | "dev": true,
977 | "peer": true,
978 | "engines": {
979 | "node": ">=10"
980 | }
981 | },
982 | "node_modules/eslint": {
983 | "version": "8.43.0",
984 | "resolved": "https://registry.npm.alibaba-inc.com/eslint/download/eslint-8.43.0.tgz",
985 | "integrity": "sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==",
986 | "dev": true,
987 | "peer": true,
988 | "dependencies": {
989 | "@eslint-community/eslint-utils": "^4.2.0",
990 | "@eslint-community/regexpp": "^4.4.0",
991 | "@eslint/eslintrc": "^2.0.3",
992 | "@eslint/js": "8.43.0",
993 | "@humanwhocodes/config-array": "^0.11.10",
994 | "@humanwhocodes/module-importer": "^1.0.1",
995 | "@nodelib/fs.walk": "^1.2.8",
996 | "ajv": "^6.10.0",
997 | "chalk": "^4.0.0",
998 | "cross-spawn": "^7.0.2",
999 | "debug": "^4.3.2",
1000 | "doctrine": "^3.0.0",
1001 | "escape-string-regexp": "^4.0.0",
1002 | "eslint-scope": "^7.2.0",
1003 | "eslint-visitor-keys": "^3.4.1",
1004 | "espree": "^9.5.2",
1005 | "esquery": "^1.4.2",
1006 | "esutils": "^2.0.2",
1007 | "fast-deep-equal": "^3.1.3",
1008 | "file-entry-cache": "^6.0.1",
1009 | "find-up": "^5.0.0",
1010 | "glob-parent": "^6.0.2",
1011 | "globals": "^13.19.0",
1012 | "graphemer": "^1.4.0",
1013 | "ignore": "^5.2.0",
1014 | "import-fresh": "^3.0.0",
1015 | "imurmurhash": "^0.1.4",
1016 | "is-glob": "^4.0.0",
1017 | "is-path-inside": "^3.0.3",
1018 | "js-yaml": "^4.1.0",
1019 | "json-stable-stringify-without-jsonify": "^1.0.1",
1020 | "levn": "^0.4.1",
1021 | "lodash.merge": "^4.6.2",
1022 | "minimatch": "^3.1.2",
1023 | "natural-compare": "^1.4.0",
1024 | "optionator": "^0.9.1",
1025 | "strip-ansi": "^6.0.1",
1026 | "strip-json-comments": "^3.1.0",
1027 | "text-table": "^0.2.0"
1028 | },
1029 | "bin": {
1030 | "eslint": "bin/eslint.js"
1031 | },
1032 | "engines": {
1033 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1034 | }
1035 | },
1036 | "node_modules/eslint-scope": {
1037 | "version": "5.1.1",
1038 | "resolved": "https://registry.npm.alibaba-inc.com/eslint-scope/download/eslint-scope-5.1.1.tgz",
1039 | "integrity": "sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=",
1040 | "dev": true,
1041 | "dependencies": {
1042 | "esrecurse": "^4.3.0",
1043 | "estraverse": "^4.1.1"
1044 | },
1045 | "engines": {
1046 | "node": ">=8.0.0"
1047 | }
1048 | },
1049 | "node_modules/eslint-utils": {
1050 | "version": "3.0.0",
1051 | "resolved": "https://registry.npm.alibaba-inc.com/eslint-utils/download/eslint-utils-3.0.0.tgz",
1052 | "integrity": "sha1-iuuvrOc0W7M1WdsKHxOh0tSMNnI=",
1053 | "dev": true,
1054 | "dependencies": {
1055 | "eslint-visitor-keys": "^2.0.0"
1056 | },
1057 | "engines": {
1058 | "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
1059 | },
1060 | "peerDependencies": {
1061 | "eslint": ">=5"
1062 | }
1063 | },
1064 | "node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
1065 | "version": "2.1.0",
1066 | "resolved": "https://registry.npm.alibaba-inc.com/eslint-visitor-keys/download/eslint-visitor-keys-2.1.0.tgz",
1067 | "integrity": "sha1-9lMoJZMFknOSyTjtROsKXJsr0wM=",
1068 | "dev": true,
1069 | "engines": {
1070 | "node": ">=10"
1071 | }
1072 | },
1073 | "node_modules/eslint-visitor-keys": {
1074 | "version": "3.4.1",
1075 | "resolved": "https://registry.npm.alibaba-inc.com/eslint-visitor-keys/download/eslint-visitor-keys-3.4.1.tgz",
1076 | "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==",
1077 | "dev": true,
1078 | "engines": {
1079 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1080 | }
1081 | },
1082 | "node_modules/eslint/node_modules/eslint-scope": {
1083 | "version": "7.2.0",
1084 | "resolved": "https://registry.npm.alibaba-inc.com/eslint-scope/download/eslint-scope-7.2.0.tgz",
1085 | "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==",
1086 | "dev": true,
1087 | "peer": true,
1088 | "dependencies": {
1089 | "esrecurse": "^4.3.0",
1090 | "estraverse": "^5.2.0"
1091 | },
1092 | "engines": {
1093 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1094 | }
1095 | },
1096 | "node_modules/eslint/node_modules/estraverse": {
1097 | "version": "5.3.0",
1098 | "resolved": "https://registry.npm.alibaba-inc.com/estraverse/download/estraverse-5.3.0.tgz",
1099 | "integrity": "sha1-LupSkHAvJquP5TcDcP+GyWXSESM=",
1100 | "dev": true,
1101 | "license": "BSD-2-Clause",
1102 | "peer": true,
1103 | "engines": {
1104 | "node": ">=4.0"
1105 | }
1106 | },
1107 | "node_modules/espree": {
1108 | "version": "9.5.2",
1109 | "resolved": "https://registry.npm.alibaba-inc.com/espree/download/espree-9.5.2.tgz",
1110 | "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==",
1111 | "dev": true,
1112 | "peer": true,
1113 | "dependencies": {
1114 | "acorn": "^8.8.0",
1115 | "acorn-jsx": "^5.3.2",
1116 | "eslint-visitor-keys": "^3.4.1"
1117 | },
1118 | "engines": {
1119 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1120 | }
1121 | },
1122 | "node_modules/esquery": {
1123 | "version": "1.5.0",
1124 | "resolved": "https://registry.npm.alibaba-inc.com/esquery/download/esquery-1.5.0.tgz",
1125 | "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
1126 | "dev": true,
1127 | "peer": true,
1128 | "dependencies": {
1129 | "estraverse": "^5.1.0"
1130 | },
1131 | "engines": {
1132 | "node": ">=0.10"
1133 | }
1134 | },
1135 | "node_modules/esquery/node_modules/estraverse": {
1136 | "version": "5.3.0",
1137 | "resolved": "https://registry.npm.alibaba-inc.com/estraverse/download/estraverse-5.3.0.tgz",
1138 | "integrity": "sha1-LupSkHAvJquP5TcDcP+GyWXSESM=",
1139 | "dev": true,
1140 | "license": "BSD-2-Clause",
1141 | "peer": true,
1142 | "engines": {
1143 | "node": ">=4.0"
1144 | }
1145 | },
1146 | "node_modules/esrecurse": {
1147 | "version": "4.3.0",
1148 | "resolved": "https://registry.npm.alibaba-inc.com/esrecurse/download/esrecurse-4.3.0.tgz",
1149 | "integrity": "sha1-eteWTWeauyi+5yzsY3WLHF0smSE=",
1150 | "dev": true,
1151 | "dependencies": {
1152 | "estraverse": "^5.2.0"
1153 | },
1154 | "engines": {
1155 | "node": ">=4.0"
1156 | }
1157 | },
1158 | "node_modules/esrecurse/node_modules/estraverse": {
1159 | "version": "5.3.0",
1160 | "resolved": "https://registry.npm.alibaba-inc.com/estraverse/download/estraverse-5.3.0.tgz",
1161 | "integrity": "sha1-LupSkHAvJquP5TcDcP+GyWXSESM=",
1162 | "dev": true,
1163 | "license": "BSD-2-Clause",
1164 | "engines": {
1165 | "node": ">=4.0"
1166 | }
1167 | },
1168 | "node_modules/estraverse": {
1169 | "version": "4.3.0",
1170 | "resolved": "https://registry.npm.alibaba-inc.com/estraverse/download/estraverse-4.3.0.tgz",
1171 | "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=",
1172 | "dev": true,
1173 | "engines": {
1174 | "node": ">=4.0"
1175 | }
1176 | },
1177 | "node_modules/esutils": {
1178 | "version": "2.0.3",
1179 | "resolved": "https://registry.npm.alibaba-inc.com/esutils/download/esutils-2.0.3.tgz",
1180 | "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=",
1181 | "dev": true,
1182 | "peer": true,
1183 | "engines": {
1184 | "node": ">=0.10.0"
1185 | }
1186 | },
1187 | "node_modules/fast-deep-equal": {
1188 | "version": "3.1.3",
1189 | "resolved": "https://registry.npm.alibaba-inc.com/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz",
1190 | "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=",
1191 | "dev": true,
1192 | "peer": true
1193 | },
1194 | "node_modules/fast-glob": {
1195 | "version": "3.2.12",
1196 | "resolved": "https://registry.npm.alibaba-inc.com/fast-glob/download/fast-glob-3.2.12.tgz",
1197 | "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
1198 | "dev": true,
1199 | "dependencies": {
1200 | "@nodelib/fs.stat": "^2.0.2",
1201 | "@nodelib/fs.walk": "^1.2.3",
1202 | "glob-parent": "^5.1.2",
1203 | "merge2": "^1.3.0",
1204 | "micromatch": "^4.0.4"
1205 | },
1206 | "engines": {
1207 | "node": ">=8.6.0"
1208 | }
1209 | },
1210 | "node_modules/fast-glob/node_modules/glob-parent": {
1211 | "version": "5.1.2",
1212 | "resolved": "https://registry.npm.alibaba-inc.com/glob-parent/download/glob-parent-5.1.2.tgz",
1213 | "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=",
1214 | "dev": true,
1215 | "dependencies": {
1216 | "is-glob": "^4.0.1"
1217 | },
1218 | "engines": {
1219 | "node": ">= 6"
1220 | }
1221 | },
1222 | "node_modules/fast-json-stable-stringify": {
1223 | "version": "2.1.0",
1224 | "resolved": "https://registry.npm.alibaba-inc.com/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz",
1225 | "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=",
1226 | "dev": true,
1227 | "peer": true
1228 | },
1229 | "node_modules/fast-levenshtein": {
1230 | "version": "2.0.6",
1231 | "resolved": "https://registry.npm.alibaba-inc.com/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz",
1232 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
1233 | "dev": true,
1234 | "peer": true
1235 | },
1236 | "node_modules/fastq": {
1237 | "version": "1.15.0",
1238 | "resolved": "https://registry.npm.alibaba-inc.com/fastq/download/fastq-1.15.0.tgz",
1239 | "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
1240 | "dev": true,
1241 | "dependencies": {
1242 | "reusify": "^1.0.4"
1243 | }
1244 | },
1245 | "node_modules/file-entry-cache": {
1246 | "version": "6.0.1",
1247 | "resolved": "https://registry.npm.alibaba-inc.com/file-entry-cache/download/file-entry-cache-6.0.1.tgz",
1248 | "integrity": "sha1-IRst2WWcsDlLBz5zI6w8kz1SICc=",
1249 | "dev": true,
1250 | "peer": true,
1251 | "dependencies": {
1252 | "flat-cache": "^3.0.4"
1253 | },
1254 | "engines": {
1255 | "node": "^10.12.0 || >=12.0.0"
1256 | }
1257 | },
1258 | "node_modules/fill-range": {
1259 | "version": "7.0.1",
1260 | "resolved": "https://registry.npm.alibaba-inc.com/fill-range/download/fill-range-7.0.1.tgz",
1261 | "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=",
1262 | "dev": true,
1263 | "dependencies": {
1264 | "to-regex-range": "^5.0.1"
1265 | },
1266 | "engines": {
1267 | "node": ">=8"
1268 | }
1269 | },
1270 | "node_modules/find-up": {
1271 | "version": "5.0.0",
1272 | "resolved": "https://registry.npm.alibaba-inc.com/find-up/download/find-up-5.0.0.tgz",
1273 | "integrity": "sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw=",
1274 | "dev": true,
1275 | "peer": true,
1276 | "dependencies": {
1277 | "locate-path": "^6.0.0",
1278 | "path-exists": "^4.0.0"
1279 | },
1280 | "engines": {
1281 | "node": ">=10"
1282 | }
1283 | },
1284 | "node_modules/flat-cache": {
1285 | "version": "3.0.4",
1286 | "resolved": "https://registry.npm.alibaba-inc.com/flat-cache/download/flat-cache-3.0.4.tgz",
1287 | "integrity": "sha1-YbAzgwKy/p+Vfcwy/CqH8cMEixE=",
1288 | "dev": true,
1289 | "peer": true,
1290 | "dependencies": {
1291 | "flatted": "^3.1.0",
1292 | "rimraf": "^3.0.2"
1293 | },
1294 | "engines": {
1295 | "node": "^10.12.0 || >=12.0.0"
1296 | }
1297 | },
1298 | "node_modules/flatted": {
1299 | "version": "3.2.7",
1300 | "resolved": "https://registry.npm.alibaba-inc.com/flatted/download/flatted-3.2.7.tgz",
1301 | "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
1302 | "dev": true,
1303 | "peer": true
1304 | },
1305 | "node_modules/fs.realpath": {
1306 | "version": "1.0.0",
1307 | "resolved": "https://registry.npm.alibaba-inc.com/fs.realpath/download/fs.realpath-1.0.0.tgz",
1308 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
1309 | "dev": true,
1310 | "peer": true
1311 | },
1312 | "node_modules/functional-red-black-tree": {
1313 | "version": "1.0.1",
1314 | "resolved": "https://registry.npm.alibaba-inc.com/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz",
1315 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
1316 | "dev": true
1317 | },
1318 | "node_modules/glob": {
1319 | "version": "7.2.3",
1320 | "resolved": "https://registry.npm.alibaba-inc.com/glob/download/glob-7.2.3.tgz",
1321 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
1322 | "dev": true,
1323 | "peer": true,
1324 | "dependencies": {
1325 | "fs.realpath": "^1.0.0",
1326 | "inflight": "^1.0.4",
1327 | "inherits": "2",
1328 | "minimatch": "^3.1.1",
1329 | "once": "^1.3.0",
1330 | "path-is-absolute": "^1.0.0"
1331 | },
1332 | "engines": {
1333 | "node": "*"
1334 | }
1335 | },
1336 | "node_modules/glob-parent": {
1337 | "version": "6.0.2",
1338 | "resolved": "https://registry.npm.alibaba-inc.com/glob-parent/download/glob-parent-6.0.2.tgz",
1339 | "integrity": "sha1-bSN9mQg5UMeSkPJMdkKj3poo+eM=",
1340 | "dev": true,
1341 | "peer": true,
1342 | "dependencies": {
1343 | "is-glob": "^4.0.3"
1344 | },
1345 | "engines": {
1346 | "node": ">=10.13.0"
1347 | }
1348 | },
1349 | "node_modules/globals": {
1350 | "version": "13.20.0",
1351 | "resolved": "https://registry.npm.alibaba-inc.com/globals/download/globals-13.20.0.tgz",
1352 | "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
1353 | "dev": true,
1354 | "peer": true,
1355 | "dependencies": {
1356 | "type-fest": "^0.20.2"
1357 | },
1358 | "engines": {
1359 | "node": ">=8"
1360 | }
1361 | },
1362 | "node_modules/globby": {
1363 | "version": "11.1.0",
1364 | "resolved": "https://registry.npm.alibaba-inc.com/globby/download/globby-11.1.0.tgz",
1365 | "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
1366 | "dev": true,
1367 | "dependencies": {
1368 | "array-union": "^2.1.0",
1369 | "dir-glob": "^3.0.1",
1370 | "fast-glob": "^3.2.9",
1371 | "ignore": "^5.2.0",
1372 | "merge2": "^1.4.1",
1373 | "slash": "^3.0.0"
1374 | },
1375 | "engines": {
1376 | "node": ">=10"
1377 | }
1378 | },
1379 | "node_modules/graphemer": {
1380 | "version": "1.4.0",
1381 | "resolved": "https://registry.npm.alibaba-inc.com/graphemer/download/graphemer-1.4.0.tgz",
1382 | "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
1383 | "dev": true,
1384 | "peer": true
1385 | },
1386 | "node_modules/has-flag": {
1387 | "version": "4.0.0",
1388 | "resolved": "https://registry.npm.alibaba-inc.com/has-flag/download/has-flag-4.0.0.tgz",
1389 | "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
1390 | "dev": true,
1391 | "peer": true,
1392 | "engines": {
1393 | "node": ">=8"
1394 | }
1395 | },
1396 | "node_modules/ignore": {
1397 | "version": "5.2.4",
1398 | "resolved": "https://registry.npm.alibaba-inc.com/ignore/download/ignore-5.2.4.tgz",
1399 | "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
1400 | "dev": true,
1401 | "engines": {
1402 | "node": ">= 4"
1403 | }
1404 | },
1405 | "node_modules/import-fresh": {
1406 | "version": "3.3.0",
1407 | "resolved": "https://registry.npm.alibaba-inc.com/import-fresh/download/import-fresh-3.3.0.tgz",
1408 | "integrity": "sha1-NxYsJfy566oublPVtNiM4X2eDCs=",
1409 | "dev": true,
1410 | "peer": true,
1411 | "dependencies": {
1412 | "parent-module": "^1.0.0",
1413 | "resolve-from": "^4.0.0"
1414 | },
1415 | "engines": {
1416 | "node": ">=6"
1417 | }
1418 | },
1419 | "node_modules/imurmurhash": {
1420 | "version": "0.1.4",
1421 | "resolved": "https://registry.npm.alibaba-inc.com/imurmurhash/download/imurmurhash-0.1.4.tgz",
1422 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
1423 | "dev": true,
1424 | "peer": true,
1425 | "engines": {
1426 | "node": ">=0.8.19"
1427 | }
1428 | },
1429 | "node_modules/inflight": {
1430 | "version": "1.0.6",
1431 | "resolved": "https://registry.npm.alibaba-inc.com/inflight/download/inflight-1.0.6.tgz",
1432 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
1433 | "dev": true,
1434 | "peer": true,
1435 | "dependencies": {
1436 | "once": "^1.3.0",
1437 | "wrappy": "1"
1438 | }
1439 | },
1440 | "node_modules/inherits": {
1441 | "version": "2.0.4",
1442 | "resolved": "https://registry.npm.alibaba-inc.com/inherits/download/inherits-2.0.4.tgz",
1443 | "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=",
1444 | "dev": true,
1445 | "peer": true
1446 | },
1447 | "node_modules/is-extglob": {
1448 | "version": "2.1.1",
1449 | "resolved": "https://registry.npm.alibaba-inc.com/is-extglob/download/is-extglob-2.1.1.tgz",
1450 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
1451 | "dev": true,
1452 | "engines": {
1453 | "node": ">=0.10.0"
1454 | }
1455 | },
1456 | "node_modules/is-glob": {
1457 | "version": "4.0.3",
1458 | "resolved": "https://registry.npm.alibaba-inc.com/is-glob/download/is-glob-4.0.3.tgz",
1459 | "integrity": "sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=",
1460 | "dev": true,
1461 | "dependencies": {
1462 | "is-extglob": "^2.1.1"
1463 | },
1464 | "engines": {
1465 | "node": ">=0.10.0"
1466 | }
1467 | },
1468 | "node_modules/is-number": {
1469 | "version": "7.0.0",
1470 | "resolved": "https://registry.npm.alibaba-inc.com/is-number/download/is-number-7.0.0.tgz",
1471 | "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=",
1472 | "dev": true,
1473 | "engines": {
1474 | "node": ">=0.12.0"
1475 | }
1476 | },
1477 | "node_modules/is-path-inside": {
1478 | "version": "3.0.3",
1479 | "resolved": "https://registry.npm.alibaba-inc.com/is-path-inside/download/is-path-inside-3.0.3.tgz",
1480 | "integrity": "sha1-0jE2LlOgf/Kw4Op/7QSRYf/RYoM=",
1481 | "dev": true,
1482 | "peer": true,
1483 | "engines": {
1484 | "node": ">=8"
1485 | }
1486 | },
1487 | "node_modules/isexe": {
1488 | "version": "2.0.0",
1489 | "resolved": "https://registry.npm.alibaba-inc.com/isexe/download/isexe-2.0.0.tgz",
1490 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
1491 | "dev": true,
1492 | "peer": true
1493 | },
1494 | "node_modules/js-yaml": {
1495 | "version": "4.1.0",
1496 | "resolved": "https://registry.npm.alibaba-inc.com/js-yaml/download/js-yaml-4.1.0.tgz",
1497 | "integrity": "sha1-wftl+PUBeQHN0slRhkuhhFihBgI=",
1498 | "dev": true,
1499 | "peer": true,
1500 | "dependencies": {
1501 | "argparse": "^2.0.1"
1502 | },
1503 | "bin": {
1504 | "js-yaml": "bin/js-yaml.js"
1505 | }
1506 | },
1507 | "node_modules/json-schema-traverse": {
1508 | "version": "0.4.1",
1509 | "resolved": "https://registry.npm.alibaba-inc.com/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz",
1510 | "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=",
1511 | "dev": true,
1512 | "peer": true
1513 | },
1514 | "node_modules/json-stable-stringify-without-jsonify": {
1515 | "version": "1.0.1",
1516 | "resolved": "https://registry.npm.alibaba-inc.com/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz",
1517 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
1518 | "dev": true,
1519 | "peer": true
1520 | },
1521 | "node_modules/levn": {
1522 | "version": "0.4.1",
1523 | "resolved": "https://registry.npm.alibaba-inc.com/levn/download/levn-0.4.1.tgz",
1524 | "integrity": "sha1-rkViwAdHO5MqYgDUAyaN0v/8at4=",
1525 | "dev": true,
1526 | "peer": true,
1527 | "dependencies": {
1528 | "prelude-ls": "^1.2.1",
1529 | "type-check": "~0.4.0"
1530 | },
1531 | "engines": {
1532 | "node": ">= 0.8.0"
1533 | }
1534 | },
1535 | "node_modules/locate-path": {
1536 | "version": "6.0.0",
1537 | "resolved": "https://registry.npm.alibaba-inc.com/locate-path/download/locate-path-6.0.0.tgz",
1538 | "integrity": "sha1-VTIeswn+u8WcSAHZMackUqaB0oY=",
1539 | "dev": true,
1540 | "peer": true,
1541 | "dependencies": {
1542 | "p-locate": "^5.0.0"
1543 | },
1544 | "engines": {
1545 | "node": ">=10"
1546 | }
1547 | },
1548 | "node_modules/lodash.merge": {
1549 | "version": "4.6.2",
1550 | "resolved": "https://registry.npm.alibaba-inc.com/lodash.merge/download/lodash.merge-4.6.2.tgz",
1551 | "integrity": "sha1-VYqlO0O2YeGSWgr9+japoQhf5Xo=",
1552 | "dev": true,
1553 | "peer": true
1554 | },
1555 | "node_modules/lru-cache": {
1556 | "version": "6.0.0",
1557 | "resolved": "https://registry.npm.alibaba-inc.com/lru-cache/download/lru-cache-6.0.0.tgz",
1558 | "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=",
1559 | "dev": true,
1560 | "dependencies": {
1561 | "yallist": "^4.0.0"
1562 | },
1563 | "engines": {
1564 | "node": ">=10"
1565 | }
1566 | },
1567 | "node_modules/merge2": {
1568 | "version": "1.4.1",
1569 | "resolved": "https://registry.npm.alibaba-inc.com/merge2/download/merge2-1.4.1.tgz",
1570 | "integrity": "sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=",
1571 | "dev": true,
1572 | "engines": {
1573 | "node": ">= 8"
1574 | }
1575 | },
1576 | "node_modules/micromatch": {
1577 | "version": "4.0.5",
1578 | "resolved": "https://registry.npm.alibaba-inc.com/micromatch/download/micromatch-4.0.5.tgz",
1579 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
1580 | "dev": true,
1581 | "dependencies": {
1582 | "braces": "^3.0.2",
1583 | "picomatch": "^2.3.1"
1584 | },
1585 | "engines": {
1586 | "node": ">=8.6"
1587 | }
1588 | },
1589 | "node_modules/minimatch": {
1590 | "version": "3.1.2",
1591 | "resolved": "https://registry.npm.alibaba-inc.com/minimatch/download/minimatch-3.1.2.tgz",
1592 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
1593 | "dev": true,
1594 | "peer": true,
1595 | "dependencies": {
1596 | "brace-expansion": "^1.1.7"
1597 | },
1598 | "engines": {
1599 | "node": "*"
1600 | }
1601 | },
1602 | "node_modules/moment": {
1603 | "version": "2.29.4",
1604 | "resolved": "https://registry.npm.alibaba-inc.com/moment/download/moment-2.29.4.tgz",
1605 | "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==",
1606 | "dev": true,
1607 | "engines": {
1608 | "node": "*"
1609 | }
1610 | },
1611 | "node_modules/ms": {
1612 | "version": "2.1.2",
1613 | "resolved": "https://registry.npm.alibaba-inc.com/ms/download/ms-2.1.2.tgz",
1614 | "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
1615 | "dev": true
1616 | },
1617 | "node_modules/natural-compare": {
1618 | "version": "1.4.0",
1619 | "resolved": "https://registry.npm.alibaba-inc.com/natural-compare/download/natural-compare-1.4.0.tgz",
1620 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
1621 | "dev": true,
1622 | "peer": true
1623 | },
1624 | "node_modules/obsidian": {
1625 | "version": "1.2.8",
1626 | "resolved": "https://registry.npm.alibaba-inc.com/obsidian/download/obsidian-1.2.8.tgz",
1627 | "integrity": "sha512-HrC+feA8o0tXspj4lEAqxb1btwLwHD2oHXSwbbN+CdRHURqbCkuIDLld+nkuyJ1w1c9uvVDRVk8BoeOnWheOrQ==",
1628 | "dev": true,
1629 | "dependencies": {
1630 | "@types/codemirror": "0.0.108",
1631 | "moment": "2.29.4"
1632 | },
1633 | "peerDependencies": {
1634 | "@codemirror/state": "^6.0.0",
1635 | "@codemirror/view": "^6.0.0"
1636 | }
1637 | },
1638 | "node_modules/once": {
1639 | "version": "1.4.0",
1640 | "resolved": "https://registry.npm.alibaba-inc.com/once/download/once-1.4.0.tgz",
1641 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
1642 | "dev": true,
1643 | "peer": true,
1644 | "dependencies": {
1645 | "wrappy": "1"
1646 | }
1647 | },
1648 | "node_modules/optionator": {
1649 | "version": "0.9.1",
1650 | "resolved": "https://registry.npm.alibaba-inc.com/optionator/download/optionator-0.9.1.tgz",
1651 | "integrity": "sha1-TyNqY3Pa4FZqbUPhMmZ09QwpFJk=",
1652 | "dev": true,
1653 | "peer": true,
1654 | "dependencies": {
1655 | "deep-is": "^0.1.3",
1656 | "fast-levenshtein": "^2.0.6",
1657 | "levn": "^0.4.1",
1658 | "prelude-ls": "^1.2.1",
1659 | "type-check": "^0.4.0",
1660 | "word-wrap": "^1.2.3"
1661 | },
1662 | "engines": {
1663 | "node": ">= 0.8.0"
1664 | }
1665 | },
1666 | "node_modules/p-limit": {
1667 | "version": "3.1.0",
1668 | "resolved": "https://registry.npm.alibaba-inc.com/p-limit/download/p-limit-3.1.0.tgz",
1669 | "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=",
1670 | "dev": true,
1671 | "peer": true,
1672 | "dependencies": {
1673 | "yocto-queue": "^0.1.0"
1674 | },
1675 | "engines": {
1676 | "node": ">=10"
1677 | }
1678 | },
1679 | "node_modules/p-locate": {
1680 | "version": "5.0.0",
1681 | "resolved": "https://registry.npm.alibaba-inc.com/p-locate/download/p-locate-5.0.0.tgz",
1682 | "integrity": "sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ=",
1683 | "dev": true,
1684 | "peer": true,
1685 | "dependencies": {
1686 | "p-limit": "^3.0.2"
1687 | },
1688 | "engines": {
1689 | "node": ">=10"
1690 | }
1691 | },
1692 | "node_modules/parent-module": {
1693 | "version": "1.0.1",
1694 | "resolved": "https://registry.npm.alibaba-inc.com/parent-module/download/parent-module-1.0.1.tgz",
1695 | "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=",
1696 | "dev": true,
1697 | "peer": true,
1698 | "dependencies": {
1699 | "callsites": "^3.0.0"
1700 | },
1701 | "engines": {
1702 | "node": ">=6"
1703 | }
1704 | },
1705 | "node_modules/path-exists": {
1706 | "version": "4.0.0",
1707 | "resolved": "https://registry.npm.alibaba-inc.com/path-exists/download/path-exists-4.0.0.tgz",
1708 | "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=",
1709 | "dev": true,
1710 | "peer": true,
1711 | "engines": {
1712 | "node": ">=8"
1713 | }
1714 | },
1715 | "node_modules/path-is-absolute": {
1716 | "version": "1.0.1",
1717 | "resolved": "https://registry.npm.alibaba-inc.com/path-is-absolute/download/path-is-absolute-1.0.1.tgz",
1718 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
1719 | "dev": true,
1720 | "peer": true,
1721 | "engines": {
1722 | "node": ">=0.10.0"
1723 | }
1724 | },
1725 | "node_modules/path-key": {
1726 | "version": "3.1.1",
1727 | "resolved": "https://registry.npm.alibaba-inc.com/path-key/download/path-key-3.1.1.tgz",
1728 | "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=",
1729 | "dev": true,
1730 | "peer": true,
1731 | "engines": {
1732 | "node": ">=8"
1733 | }
1734 | },
1735 | "node_modules/path-type": {
1736 | "version": "4.0.0",
1737 | "resolved": "https://registry.npm.alibaba-inc.com/path-type/download/path-type-4.0.0.tgz",
1738 | "integrity": "sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs=",
1739 | "dev": true,
1740 | "engines": {
1741 | "node": ">=8"
1742 | }
1743 | },
1744 | "node_modules/picomatch": {
1745 | "version": "2.3.1",
1746 | "resolved": "https://registry.npm.alibaba-inc.com/picomatch/download/picomatch-2.3.1.tgz",
1747 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
1748 | "dev": true,
1749 | "engines": {
1750 | "node": ">=8.6"
1751 | }
1752 | },
1753 | "node_modules/prelude-ls": {
1754 | "version": "1.2.1",
1755 | "resolved": "https://registry.npm.alibaba-inc.com/prelude-ls/download/prelude-ls-1.2.1.tgz",
1756 | "integrity": "sha1-3rxkidem5rDnYRiIzsiAM30xY5Y=",
1757 | "dev": true,
1758 | "peer": true,
1759 | "engines": {
1760 | "node": ">= 0.8.0"
1761 | }
1762 | },
1763 | "node_modules/punycode": {
1764 | "version": "2.3.0",
1765 | "resolved": "https://registry.npm.alibaba-inc.com/punycode/download/punycode-2.3.0.tgz",
1766 | "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
1767 | "dev": true,
1768 | "peer": true,
1769 | "engines": {
1770 | "node": ">=6"
1771 | }
1772 | },
1773 | "node_modules/queue-microtask": {
1774 | "version": "1.2.3",
1775 | "resolved": "https://registry.npm.alibaba-inc.com/queue-microtask/download/queue-microtask-1.2.3.tgz",
1776 | "integrity": "sha1-SSkii7xyTfrEPg77BYyve2z7YkM=",
1777 | "dev": true
1778 | },
1779 | "node_modules/regexpp": {
1780 | "version": "3.2.0",
1781 | "resolved": "https://registry.npm.alibaba-inc.com/regexpp/download/regexpp-3.2.0.tgz",
1782 | "integrity": "sha1-BCWido2PI7rXDKS5BGH6LxIT4bI=",
1783 | "dev": true,
1784 | "engines": {
1785 | "node": ">=8"
1786 | }
1787 | },
1788 | "node_modules/resolve-from": {
1789 | "version": "4.0.0",
1790 | "resolved": "https://registry.npm.alibaba-inc.com/resolve-from/download/resolve-from-4.0.0.tgz",
1791 | "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=",
1792 | "dev": true,
1793 | "peer": true,
1794 | "engines": {
1795 | "node": ">=4"
1796 | }
1797 | },
1798 | "node_modules/reusify": {
1799 | "version": "1.0.4",
1800 | "resolved": "https://registry.npm.alibaba-inc.com/reusify/download/reusify-1.0.4.tgz",
1801 | "integrity": "sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY=",
1802 | "dev": true,
1803 | "engines": {
1804 | "iojs": ">=1.0.0",
1805 | "node": ">=0.10.0"
1806 | }
1807 | },
1808 | "node_modules/rimraf": {
1809 | "version": "3.0.2",
1810 | "resolved": "https://registry.npm.alibaba-inc.com/rimraf/download/rimraf-3.0.2.tgz",
1811 | "integrity": "sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=",
1812 | "dev": true,
1813 | "peer": true,
1814 | "dependencies": {
1815 | "glob": "^7.1.3"
1816 | },
1817 | "bin": {
1818 | "rimraf": "bin.js"
1819 | }
1820 | },
1821 | "node_modules/run-parallel": {
1822 | "version": "1.2.0",
1823 | "resolved": "https://registry.npm.alibaba-inc.com/run-parallel/download/run-parallel-1.2.0.tgz",
1824 | "integrity": "sha1-ZtE2jae9+SHrnZW9GpIp5/IaQ+4=",
1825 | "dev": true,
1826 | "dependencies": {
1827 | "queue-microtask": "^1.2.2"
1828 | }
1829 | },
1830 | "node_modules/semver": {
1831 | "version": "7.5.2",
1832 | "resolved": "https://registry.npm.alibaba-inc.com/semver/download/semver-7.5.2.tgz",
1833 | "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==",
1834 | "dev": true,
1835 | "dependencies": {
1836 | "lru-cache": "^6.0.0"
1837 | },
1838 | "bin": {
1839 | "semver": "bin/semver.js"
1840 | },
1841 | "engines": {
1842 | "node": ">=10"
1843 | }
1844 | },
1845 | "node_modules/shebang-command": {
1846 | "version": "2.0.0",
1847 | "resolved": "https://registry.npm.alibaba-inc.com/shebang-command/download/shebang-command-2.0.0.tgz",
1848 | "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=",
1849 | "dev": true,
1850 | "peer": true,
1851 | "dependencies": {
1852 | "shebang-regex": "^3.0.0"
1853 | },
1854 | "engines": {
1855 | "node": ">=8"
1856 | }
1857 | },
1858 | "node_modules/shebang-regex": {
1859 | "version": "3.0.0",
1860 | "resolved": "https://registry.npm.alibaba-inc.com/shebang-regex/download/shebang-regex-3.0.0.tgz",
1861 | "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=",
1862 | "dev": true,
1863 | "peer": true,
1864 | "engines": {
1865 | "node": ">=8"
1866 | }
1867 | },
1868 | "node_modules/slash": {
1869 | "version": "3.0.0",
1870 | "resolved": "https://registry.npm.alibaba-inc.com/slash/download/slash-3.0.0.tgz",
1871 | "integrity": "sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ=",
1872 | "dev": true,
1873 | "engines": {
1874 | "node": ">=8"
1875 | }
1876 | },
1877 | "node_modules/strip-ansi": {
1878 | "version": "6.0.1",
1879 | "resolved": "https://registry.npm.alibaba-inc.com/strip-ansi/download/strip-ansi-6.0.1.tgz",
1880 | "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=",
1881 | "dev": true,
1882 | "peer": true,
1883 | "dependencies": {
1884 | "ansi-regex": "^5.0.1"
1885 | },
1886 | "engines": {
1887 | "node": ">=8"
1888 | }
1889 | },
1890 | "node_modules/strip-json-comments": {
1891 | "version": "3.1.1",
1892 | "resolved": "https://registry.npm.alibaba-inc.com/strip-json-comments/download/strip-json-comments-3.1.1.tgz",
1893 | "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=",
1894 | "dev": true,
1895 | "peer": true,
1896 | "engines": {
1897 | "node": ">=8"
1898 | }
1899 | },
1900 | "node_modules/style-mod": {
1901 | "version": "4.0.3",
1902 | "resolved": "https://registry.npm.alibaba-inc.com/style-mod/download/style-mod-4.0.3.tgz",
1903 | "integrity": "sha512-78Jv8kYJdjbvRwwijtCevYADfsI0lGzYJe4mMFdceO8l75DFFDoqBhR1jVDicDRRaX4//g1u9wKeo+ztc2h1Rw==",
1904 | "dev": true,
1905 | "peer": true
1906 | },
1907 | "node_modules/supports-color": {
1908 | "version": "7.2.0",
1909 | "resolved": "https://registry.npm.alibaba-inc.com/supports-color/download/supports-color-7.2.0.tgz",
1910 | "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
1911 | "dev": true,
1912 | "peer": true,
1913 | "dependencies": {
1914 | "has-flag": "^4.0.0"
1915 | },
1916 | "engines": {
1917 | "node": ">=8"
1918 | }
1919 | },
1920 | "node_modules/text-table": {
1921 | "version": "0.2.0",
1922 | "resolved": "https://registry.npm.alibaba-inc.com/text-table/download/text-table-0.2.0.tgz",
1923 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
1924 | "dev": true,
1925 | "peer": true
1926 | },
1927 | "node_modules/to-regex-range": {
1928 | "version": "5.0.1",
1929 | "resolved": "https://registry.npm.alibaba-inc.com/to-regex-range/download/to-regex-range-5.0.1.tgz",
1930 | "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=",
1931 | "dev": true,
1932 | "dependencies": {
1933 | "is-number": "^7.0.0"
1934 | },
1935 | "engines": {
1936 | "node": ">=8.0"
1937 | }
1938 | },
1939 | "node_modules/tslib": {
1940 | "version": "2.4.0",
1941 | "resolved": "https://registry.npm.alibaba-inc.com/tslib/download/tslib-2.4.0.tgz",
1942 | "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
1943 | "dev": true
1944 | },
1945 | "node_modules/tsutils": {
1946 | "version": "3.21.0",
1947 | "resolved": "https://registry.npm.alibaba-inc.com/tsutils/download/tsutils-3.21.0.tgz",
1948 | "integrity": "sha1-tIcX05TOpsHglpg+7Vjp1hcVtiM=",
1949 | "dev": true,
1950 | "dependencies": {
1951 | "tslib": "^1.8.1"
1952 | },
1953 | "engines": {
1954 | "node": ">= 6"
1955 | },
1956 | "peerDependencies": {
1957 | "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
1958 | }
1959 | },
1960 | "node_modules/tsutils/node_modules/tslib": {
1961 | "version": "1.14.1",
1962 | "resolved": "https://registry.npm.alibaba-inc.com/tslib/download/tslib-1.14.1.tgz",
1963 | "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=",
1964 | "dev": true
1965 | },
1966 | "node_modules/type-check": {
1967 | "version": "0.4.0",
1968 | "resolved": "https://registry.npm.alibaba-inc.com/type-check/download/type-check-0.4.0.tgz",
1969 | "integrity": "sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE=",
1970 | "dev": true,
1971 | "peer": true,
1972 | "dependencies": {
1973 | "prelude-ls": "^1.2.1"
1974 | },
1975 | "engines": {
1976 | "node": ">= 0.8.0"
1977 | }
1978 | },
1979 | "node_modules/type-fest": {
1980 | "version": "0.20.2",
1981 | "resolved": "https://registry.npm.alibaba-inc.com/type-fest/download/type-fest-0.20.2.tgz",
1982 | "integrity": "sha1-G/IH9LKPkVg2ZstfvTJ4hzAc1fQ=",
1983 | "dev": true,
1984 | "peer": true,
1985 | "engines": {
1986 | "node": ">=10"
1987 | }
1988 | },
1989 | "node_modules/typescript": {
1990 | "version": "4.7.4",
1991 | "resolved": "https://registry.npm.alibaba-inc.com/typescript/download/typescript-4.7.4.tgz",
1992 | "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==",
1993 | "dev": true,
1994 | "bin": {
1995 | "tsc": "bin/tsc",
1996 | "tsserver": "bin/tsserver"
1997 | },
1998 | "engines": {
1999 | "node": ">=4.2.0"
2000 | }
2001 | },
2002 | "node_modules/uri-js": {
2003 | "version": "4.4.1",
2004 | "resolved": "https://registry.npm.alibaba-inc.com/uri-js/download/uri-js-4.4.1.tgz",
2005 | "integrity": "sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=",
2006 | "dev": true,
2007 | "peer": true,
2008 | "dependencies": {
2009 | "punycode": "^2.1.0"
2010 | }
2011 | },
2012 | "node_modules/w3c-keyname": {
2013 | "version": "2.2.8",
2014 | "resolved": "https://registry.npm.alibaba-inc.com/w3c-keyname/download/w3c-keyname-2.2.8.tgz",
2015 | "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==",
2016 | "dev": true,
2017 | "peer": true
2018 | },
2019 | "node_modules/which": {
2020 | "version": "2.0.2",
2021 | "resolved": "https://registry.npm.alibaba-inc.com/which/download/which-2.0.2.tgz",
2022 | "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=",
2023 | "dev": true,
2024 | "peer": true,
2025 | "dependencies": {
2026 | "isexe": "^2.0.0"
2027 | },
2028 | "bin": {
2029 | "node-which": "bin/node-which"
2030 | },
2031 | "engines": {
2032 | "node": ">= 8"
2033 | }
2034 | },
2035 | "node_modules/word-wrap": {
2036 | "version": "1.2.3",
2037 | "resolved": "https://registry.npm.alibaba-inc.com/word-wrap/download/word-wrap-1.2.3.tgz",
2038 | "integrity": "sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=",
2039 | "dev": true,
2040 | "peer": true,
2041 | "engines": {
2042 | "node": ">=0.10.0"
2043 | }
2044 | },
2045 | "node_modules/wrappy": {
2046 | "version": "1.0.2",
2047 | "resolved": "https://registry.npm.alibaba-inc.com/wrappy/download/wrappy-1.0.2.tgz",
2048 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
2049 | "dev": true,
2050 | "peer": true
2051 | },
2052 | "node_modules/yallist": {
2053 | "version": "4.0.0",
2054 | "resolved": "https://registry.npm.alibaba-inc.com/yallist/download/yallist-4.0.0.tgz",
2055 | "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=",
2056 | "dev": true
2057 | },
2058 | "node_modules/yocto-queue": {
2059 | "version": "0.1.0",
2060 | "resolved": "https://registry.npm.alibaba-inc.com/yocto-queue/download/yocto-queue-0.1.0.tgz",
2061 | "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=",
2062 | "dev": true,
2063 | "peer": true,
2064 | "engines": {
2065 | "node": ">=10"
2066 | }
2067 | }
2068 | },
2069 | "dependencies": {
2070 | "@codemirror/state": {
2071 | "version": "6.2.1",
2072 | "resolved": "https://registry.npm.alibaba-inc.com/@codemirror/state/download/@codemirror/state-6.2.1.tgz",
2073 | "integrity": "sha512-RupHSZ8+OjNT38zU9fKH2sv+Dnlr8Eb8sl4NOnnqz95mCFTZUaiRP8Xv5MeeaG0px2b8Bnfe7YGwCV3nsBhbuw==",
2074 | "dev": true,
2075 | "peer": true
2076 | },
2077 | "@codemirror/view": {
2078 | "version": "6.13.2",
2079 | "resolved": "https://registry.npm.alibaba-inc.com/@codemirror/view/download/@codemirror/view-6.13.2.tgz",
2080 | "integrity": "sha512-XA/jUuu1H+eTja49654QkrQwx2CuDMdjciHcdqyasfTVo4HRlvj87rD/Qmm4HfnhwX8234FQSSA8HxEzxihX/Q==",
2081 | "dev": true,
2082 | "peer": true,
2083 | "requires": {
2084 | "@codemirror/state": "^6.1.4",
2085 | "style-mod": "^4.0.0",
2086 | "w3c-keyname": "^2.2.4"
2087 | }
2088 | },
2089 | "@esbuild/android-arm": {
2090 | "version": "0.17.3",
2091 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/android-arm/download/@esbuild/android-arm-0.17.3.tgz",
2092 | "integrity": "sha512-1Mlz934GvbgdDmt26rTLmf03cAgLg5HyOgJN+ZGCeP3Q9ynYTNMn2/LQxIl7Uy+o4K6Rfi2OuLsr12JQQR8gNg==",
2093 | "dev": true,
2094 | "optional": true
2095 | },
2096 | "@esbuild/android-arm64": {
2097 | "version": "0.17.3",
2098 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/android-arm64/download/@esbuild/android-arm64-0.17.3.tgz",
2099 | "integrity": "sha512-XvJsYo3dO3Pi4kpalkyMvfQsjxPWHYjoX4MDiB/FUM4YMfWcXa5l4VCwFWVYI1+92yxqjuqrhNg0CZg3gSouyQ==",
2100 | "dev": true,
2101 | "optional": true
2102 | },
2103 | "@esbuild/android-x64": {
2104 | "version": "0.17.3",
2105 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/android-x64/download/@esbuild/android-x64-0.17.3.tgz",
2106 | "integrity": "sha512-nuV2CmLS07Gqh5/GrZLuqkU9Bm6H6vcCspM+zjp9TdQlxJtIe+qqEXQChmfc7nWdyr/yz3h45Utk1tUn8Cz5+A==",
2107 | "dev": true,
2108 | "optional": true
2109 | },
2110 | "@esbuild/darwin-arm64": {
2111 | "version": "0.17.3",
2112 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/darwin-arm64/download/@esbuild/darwin-arm64-0.17.3.tgz",
2113 | "integrity": "sha512-01Hxaaat6m0Xp9AXGM8mjFtqqwDjzlMP0eQq9zll9U85ttVALGCGDuEvra5Feu/NbP5AEP1MaopPwzsTcUq1cw==",
2114 | "dev": true,
2115 | "optional": true
2116 | },
2117 | "@esbuild/darwin-x64": {
2118 | "version": "0.17.3",
2119 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/darwin-x64/download/@esbuild/darwin-x64-0.17.3.tgz",
2120 | "integrity": "sha512-Eo2gq0Q/er2muf8Z83X21UFoB7EU6/m3GNKvrhACJkjVThd0uA+8RfKpfNhuMCl1bKRfBzKOk6xaYKQZ4lZqvA==",
2121 | "dev": true,
2122 | "optional": true
2123 | },
2124 | "@esbuild/freebsd-arm64": {
2125 | "version": "0.17.3",
2126 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/freebsd-arm64/download/@esbuild/freebsd-arm64-0.17.3.tgz",
2127 | "integrity": "sha512-CN62ESxaquP61n1ZjQP/jZte8CE09M6kNn3baos2SeUfdVBkWN5n6vGp2iKyb/bm/x4JQzEvJgRHLGd5F5b81w==",
2128 | "dev": true,
2129 | "optional": true
2130 | },
2131 | "@esbuild/freebsd-x64": {
2132 | "version": "0.17.3",
2133 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/freebsd-x64/download/@esbuild/freebsd-x64-0.17.3.tgz",
2134 | "integrity": "sha512-feq+K8TxIznZE+zhdVurF3WNJ/Sa35dQNYbaqM/wsCbWdzXr5lyq+AaTUSER2cUR+SXPnd/EY75EPRjf4s1SLg==",
2135 | "dev": true,
2136 | "optional": true
2137 | },
2138 | "@esbuild/linux-arm": {
2139 | "version": "0.17.3",
2140 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/linux-arm/download/@esbuild/linux-arm-0.17.3.tgz",
2141 | "integrity": "sha512-CLP3EgyNuPcg2cshbwkqYy5bbAgK+VhyfMU7oIYyn+x4Y67xb5C5ylxsNUjRmr8BX+MW3YhVNm6Lq6FKtRTWHQ==",
2142 | "dev": true,
2143 | "optional": true
2144 | },
2145 | "@esbuild/linux-arm64": {
2146 | "version": "0.17.3",
2147 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/linux-arm64/download/@esbuild/linux-arm64-0.17.3.tgz",
2148 | "integrity": "sha512-JHeZXD4auLYBnrKn6JYJ0o5nWJI9PhChA/Nt0G4MvLaMrvXuWnY93R3a7PiXeJQphpL1nYsaMcoV2QtuvRnF/g==",
2149 | "dev": true,
2150 | "optional": true
2151 | },
2152 | "@esbuild/linux-ia32": {
2153 | "version": "0.17.3",
2154 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/linux-ia32/download/@esbuild/linux-ia32-0.17.3.tgz",
2155 | "integrity": "sha512-FyXlD2ZjZqTFh0sOQxFDiWG1uQUEOLbEh9gKN/7pFxck5Vw0qjWSDqbn6C10GAa1rXJpwsntHcmLqydY9ST9ZA==",
2156 | "dev": true,
2157 | "optional": true
2158 | },
2159 | "@esbuild/linux-loong64": {
2160 | "version": "0.17.3",
2161 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/linux-loong64/download/@esbuild/linux-loong64-0.17.3.tgz",
2162 | "integrity": "sha512-OrDGMvDBI2g7s04J8dh8/I7eSO+/E7nMDT2Z5IruBfUO/RiigF1OF6xoH33Dn4W/OwAWSUf1s2nXamb28ZklTA==",
2163 | "dev": true,
2164 | "optional": true
2165 | },
2166 | "@esbuild/linux-mips64el": {
2167 | "version": "0.17.3",
2168 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/linux-mips64el/download/@esbuild/linux-mips64el-0.17.3.tgz",
2169 | "integrity": "sha512-DcnUpXnVCJvmv0TzuLwKBC2nsQHle8EIiAJiJ+PipEVC16wHXaPEKP0EqN8WnBe0TPvMITOUlP2aiL5YMld+CQ==",
2170 | "dev": true,
2171 | "optional": true
2172 | },
2173 | "@esbuild/linux-ppc64": {
2174 | "version": "0.17.3",
2175 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/linux-ppc64/download/@esbuild/linux-ppc64-0.17.3.tgz",
2176 | "integrity": "sha512-BDYf/l1WVhWE+FHAW3FzZPtVlk9QsrwsxGzABmN4g8bTjmhazsId3h127pliDRRu5674k1Y2RWejbpN46N9ZhQ==",
2177 | "dev": true,
2178 | "optional": true
2179 | },
2180 | "@esbuild/linux-riscv64": {
2181 | "version": "0.17.3",
2182 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/linux-riscv64/download/@esbuild/linux-riscv64-0.17.3.tgz",
2183 | "integrity": "sha512-WViAxWYMRIi+prTJTyV1wnqd2mS2cPqJlN85oscVhXdb/ZTFJdrpaqm/uDsZPGKHtbg5TuRX/ymKdOSk41YZow==",
2184 | "dev": true,
2185 | "optional": true
2186 | },
2187 | "@esbuild/linux-s390x": {
2188 | "version": "0.17.3",
2189 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/linux-s390x/download/@esbuild/linux-s390x-0.17.3.tgz",
2190 | "integrity": "sha512-Iw8lkNHUC4oGP1O/KhumcVy77u2s6+KUjieUqzEU3XuWJqZ+AY7uVMrrCbAiwWTkpQHkr00BuXH5RpC6Sb/7Ug==",
2191 | "dev": true,
2192 | "optional": true
2193 | },
2194 | "@esbuild/linux-x64": {
2195 | "version": "0.17.3",
2196 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/linux-x64/download/@esbuild/linux-x64-0.17.3.tgz",
2197 | "integrity": "sha512-0AGkWQMzeoeAtXQRNB3s4J1/T2XbigM2/Mn2yU1tQSmQRmHIZdkGbVq2A3aDdNslPyhb9/lH0S5GMTZ4xsjBqg==",
2198 | "dev": true,
2199 | "optional": true
2200 | },
2201 | "@esbuild/netbsd-x64": {
2202 | "version": "0.17.3",
2203 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/netbsd-x64/download/@esbuild/netbsd-x64-0.17.3.tgz",
2204 | "integrity": "sha512-4+rR/WHOxIVh53UIQIICryjdoKdHsFZFD4zLSonJ9RRw7bhKzVyXbnRPsWSfwybYqw9sB7ots/SYyufL1mBpEg==",
2205 | "dev": true,
2206 | "optional": true
2207 | },
2208 | "@esbuild/openbsd-x64": {
2209 | "version": "0.17.3",
2210 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/openbsd-x64/download/@esbuild/openbsd-x64-0.17.3.tgz",
2211 | "integrity": "sha512-cVpWnkx9IYg99EjGxa5Gc0XmqumtAwK3aoz7O4Dii2vko+qXbkHoujWA68cqXjhh6TsLaQelfDO4MVnyr+ODeA==",
2212 | "dev": true,
2213 | "optional": true
2214 | },
2215 | "@esbuild/sunos-x64": {
2216 | "version": "0.17.3",
2217 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/sunos-x64/download/@esbuild/sunos-x64-0.17.3.tgz",
2218 | "integrity": "sha512-RxmhKLbTCDAY2xOfrww6ieIZkZF+KBqG7S2Ako2SljKXRFi+0863PspK74QQ7JpmWwncChY25JTJSbVBYGQk2Q==",
2219 | "dev": true,
2220 | "optional": true
2221 | },
2222 | "@esbuild/win32-arm64": {
2223 | "version": "0.17.3",
2224 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/win32-arm64/download/@esbuild/win32-arm64-0.17.3.tgz",
2225 | "integrity": "sha512-0r36VeEJ4efwmofxVJRXDjVRP2jTmv877zc+i+Pc7MNsIr38NfsjkQj23AfF7l0WbB+RQ7VUb+LDiqC/KY/M/A==",
2226 | "dev": true,
2227 | "optional": true
2228 | },
2229 | "@esbuild/win32-ia32": {
2230 | "version": "0.17.3",
2231 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/win32-ia32/download/@esbuild/win32-ia32-0.17.3.tgz",
2232 | "integrity": "sha512-wgO6rc7uGStH22nur4aLFcq7Wh86bE9cOFmfTr/yxN3BXvDEdCSXyKkO+U5JIt53eTOgC47v9k/C1bITWL/Teg==",
2233 | "dev": true,
2234 | "optional": true
2235 | },
2236 | "@esbuild/win32-x64": {
2237 | "version": "0.17.3",
2238 | "resolved": "https://registry.npm.alibaba-inc.com/@esbuild/win32-x64/download/@esbuild/win32-x64-0.17.3.tgz",
2239 | "integrity": "sha512-FdVl64OIuiKjgXBjwZaJLKp0eaEckifbhn10dXWhysMJkWblg3OEEGKSIyhiD5RSgAya8WzP3DNkngtIg3Nt7g==",
2240 | "dev": true,
2241 | "optional": true
2242 | },
2243 | "@eslint-community/eslint-utils": {
2244 | "version": "4.4.0",
2245 | "resolved": "https://registry.npm.alibaba-inc.com/@eslint-community/eslint-utils/download/@eslint-community/eslint-utils-4.4.0.tgz",
2246 | "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
2247 | "dev": true,
2248 | "peer": true,
2249 | "requires": {
2250 | "eslint-visitor-keys": "^3.3.0"
2251 | }
2252 | },
2253 | "@eslint-community/regexpp": {
2254 | "version": "4.5.1",
2255 | "resolved": "https://registry.npm.alibaba-inc.com/@eslint-community/regexpp/download/@eslint-community/regexpp-4.5.1.tgz",
2256 | "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==",
2257 | "dev": true,
2258 | "peer": true
2259 | },
2260 | "@eslint/eslintrc": {
2261 | "version": "2.0.3",
2262 | "resolved": "https://registry.npm.alibaba-inc.com/@eslint/eslintrc/download/@eslint/eslintrc-2.0.3.tgz",
2263 | "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==",
2264 | "dev": true,
2265 | "peer": true,
2266 | "requires": {
2267 | "ajv": "^6.12.4",
2268 | "debug": "^4.3.2",
2269 | "espree": "^9.5.2",
2270 | "globals": "^13.19.0",
2271 | "ignore": "^5.2.0",
2272 | "import-fresh": "^3.2.1",
2273 | "js-yaml": "^4.1.0",
2274 | "minimatch": "^3.1.2",
2275 | "strip-json-comments": "^3.1.1"
2276 | }
2277 | },
2278 | "@eslint/js": {
2279 | "version": "8.43.0",
2280 | "resolved": "https://registry.npm.alibaba-inc.com/@eslint/js/download/@eslint/js-8.43.0.tgz",
2281 | "integrity": "sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==",
2282 | "dev": true,
2283 | "peer": true
2284 | },
2285 | "@humanwhocodes/config-array": {
2286 | "version": "0.11.10",
2287 | "resolved": "https://registry.npm.alibaba-inc.com/@humanwhocodes/config-array/download/@humanwhocodes/config-array-0.11.10.tgz",
2288 | "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==",
2289 | "dev": true,
2290 | "peer": true,
2291 | "requires": {
2292 | "@humanwhocodes/object-schema": "^1.2.1",
2293 | "debug": "^4.1.1",
2294 | "minimatch": "^3.0.5"
2295 | }
2296 | },
2297 | "@humanwhocodes/module-importer": {
2298 | "version": "1.0.1",
2299 | "resolved": "https://registry.npm.alibaba-inc.com/@humanwhocodes/module-importer/download/@humanwhocodes/module-importer-1.0.1.tgz",
2300 | "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
2301 | "dev": true,
2302 | "peer": true
2303 | },
2304 | "@humanwhocodes/object-schema": {
2305 | "version": "1.2.1",
2306 | "resolved": "https://registry.npm.alibaba-inc.com/@humanwhocodes/object-schema/download/@humanwhocodes/object-schema-1.2.1.tgz",
2307 | "integrity": "sha1-tSBSnsIdjllFoYUd/Rwy6U45/0U=",
2308 | "dev": true,
2309 | "peer": true
2310 | },
2311 | "@nodelib/fs.scandir": {
2312 | "version": "2.1.5",
2313 | "resolved": "https://registry.npm.alibaba-inc.com/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.5.tgz",
2314 | "integrity": "sha1-dhnC6yGyVIP20WdUi0z9WnSIw9U=",
2315 | "dev": true,
2316 | "requires": {
2317 | "@nodelib/fs.stat": "2.0.5",
2318 | "run-parallel": "^1.1.9"
2319 | }
2320 | },
2321 | "@nodelib/fs.stat": {
2322 | "version": "2.0.5",
2323 | "resolved": "https://registry.npm.alibaba-inc.com/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.5.tgz",
2324 | "integrity": "sha1-W9Jir5Tp0lvR5xsF3u1Eh2oiLos=",
2325 | "dev": true
2326 | },
2327 | "@nodelib/fs.walk": {
2328 | "version": "1.2.8",
2329 | "resolved": "https://registry.npm.alibaba-inc.com/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.8.tgz",
2330 | "integrity": "sha1-6Vc36LtnRt3t9pxVaVNJTxlv5po=",
2331 | "dev": true,
2332 | "requires": {
2333 | "@nodelib/fs.scandir": "2.1.5",
2334 | "fastq": "^1.6.0"
2335 | }
2336 | },
2337 | "@types/codemirror": {
2338 | "version": "0.0.108",
2339 | "resolved": "https://registry.npm.alibaba-inc.com/@types/codemirror/download/@types/codemirror-0.0.108.tgz",
2340 | "integrity": "sha1-5kBCK2Zr9JJRs4TDkM3rI2JYW94=",
2341 | "dev": true,
2342 | "requires": {
2343 | "@types/tern": "*"
2344 | }
2345 | },
2346 | "@types/estree": {
2347 | "version": "1.0.1",
2348 | "resolved": "https://registry.npm.alibaba-inc.com/@types/estree/download/@types/estree-1.0.1.tgz",
2349 | "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==",
2350 | "dev": true
2351 | },
2352 | "@types/json-schema": {
2353 | "version": "7.0.12",
2354 | "resolved": "https://registry.npm.alibaba-inc.com/@types/json-schema/download/@types/json-schema-7.0.12.tgz",
2355 | "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==",
2356 | "dev": true
2357 | },
2358 | "@types/node": {
2359 | "version": "16.18.36",
2360 | "resolved": "https://registry.npm.alibaba-inc.com/@types/node/download/@types/node-16.18.36.tgz",
2361 | "integrity": "sha512-8egDX8dE50XyXWH6C6PRCNkTP106DuUrvdrednFouDSmCi7IOvrqr0frznfZaHifHH/3aq/7a7v9N4wdXMqhBQ==",
2362 | "dev": true
2363 | },
2364 | "@types/tern": {
2365 | "version": "0.23.4",
2366 | "resolved": "https://registry.npm.alibaba-inc.com/@types/tern/download/@types/tern-0.23.4.tgz",
2367 | "integrity": "sha1-A5JusT2+rzrg05DK9wayZDoBJ/s=",
2368 | "dev": true,
2369 | "requires": {
2370 | "@types/estree": "*"
2371 | }
2372 | },
2373 | "@typescript-eslint/eslint-plugin": {
2374 | "version": "5.29.0",
2375 | "resolved": "https://registry.npm.alibaba-inc.com/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-5.29.0.tgz",
2376 | "integrity": "sha512-kgTsISt9pM53yRFQmLZ4npj99yGl3x3Pl7z4eA66OuTzAGC4bQB5H5fuLwPnqTKU3yyrrg4MIhjF17UYnL4c0w==",
2377 | "dev": true,
2378 | "requires": {
2379 | "@typescript-eslint/scope-manager": "5.29.0",
2380 | "@typescript-eslint/type-utils": "5.29.0",
2381 | "@typescript-eslint/utils": "5.29.0",
2382 | "debug": "^4.3.4",
2383 | "functional-red-black-tree": "^1.0.1",
2384 | "ignore": "^5.2.0",
2385 | "regexpp": "^3.2.0",
2386 | "semver": "^7.3.7",
2387 | "tsutils": "^3.21.0"
2388 | }
2389 | },
2390 | "@typescript-eslint/parser": {
2391 | "version": "5.29.0",
2392 | "resolved": "https://registry.npm.alibaba-inc.com/@typescript-eslint/parser/download/@typescript-eslint/parser-5.29.0.tgz",
2393 | "integrity": "sha512-ruKWTv+x0OOxbzIw9nW5oWlUopvP/IQDjB5ZqmTglLIoDTctLlAJpAQFpNPJP/ZI7hTT9sARBosEfaKbcFuECw==",
2394 | "dev": true,
2395 | "requires": {
2396 | "@typescript-eslint/scope-manager": "5.29.0",
2397 | "@typescript-eslint/types": "5.29.0",
2398 | "@typescript-eslint/typescript-estree": "5.29.0",
2399 | "debug": "^4.3.4"
2400 | }
2401 | },
2402 | "@typescript-eslint/scope-manager": {
2403 | "version": "5.29.0",
2404 | "resolved": "https://registry.npm.alibaba-inc.com/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-5.29.0.tgz",
2405 | "integrity": "sha512-etbXUT0FygFi2ihcxDZjz21LtC+Eps9V2xVx09zFoN44RRHPrkMflidGMI+2dUs821zR1tDS6Oc9IXxIjOUZwA==",
2406 | "dev": true,
2407 | "requires": {
2408 | "@typescript-eslint/types": "5.29.0",
2409 | "@typescript-eslint/visitor-keys": "5.29.0"
2410 | }
2411 | },
2412 | "@typescript-eslint/type-utils": {
2413 | "version": "5.29.0",
2414 | "resolved": "https://registry.npm.alibaba-inc.com/@typescript-eslint/type-utils/download/@typescript-eslint/type-utils-5.29.0.tgz",
2415 | "integrity": "sha512-JK6bAaaiJozbox3K220VRfCzLa9n0ib/J+FHIwnaV3Enw/TO267qe0pM1b1QrrEuy6xun374XEAsRlA86JJnyg==",
2416 | "dev": true,
2417 | "requires": {
2418 | "@typescript-eslint/utils": "5.29.0",
2419 | "debug": "^4.3.4",
2420 | "tsutils": "^3.21.0"
2421 | }
2422 | },
2423 | "@typescript-eslint/types": {
2424 | "version": "5.29.0",
2425 | "resolved": "https://registry.npm.alibaba-inc.com/@typescript-eslint/types/download/@typescript-eslint/types-5.29.0.tgz",
2426 | "integrity": "sha512-X99VbqvAXOMdVyfFmksMy3u8p8yoRGITgU1joBJPzeYa0rhdf5ok9S56/itRoUSh99fiDoMtarSIJXo7H/SnOg==",
2427 | "dev": true
2428 | },
2429 | "@typescript-eslint/typescript-estree": {
2430 | "version": "5.29.0",
2431 | "resolved": "https://registry.npm.alibaba-inc.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-5.29.0.tgz",
2432 | "integrity": "sha512-mQvSUJ/JjGBdvo+1LwC+GY2XmSYjK1nAaVw2emp/E61wEVYEyibRHCqm1I1vEKbXCpUKuW4G7u9ZCaZhJbLoNQ==",
2433 | "dev": true,
2434 | "requires": {
2435 | "@typescript-eslint/types": "5.29.0",
2436 | "@typescript-eslint/visitor-keys": "5.29.0",
2437 | "debug": "^4.3.4",
2438 | "globby": "^11.1.0",
2439 | "is-glob": "^4.0.3",
2440 | "semver": "^7.3.7",
2441 | "tsutils": "^3.21.0"
2442 | }
2443 | },
2444 | "@typescript-eslint/utils": {
2445 | "version": "5.29.0",
2446 | "resolved": "https://registry.npm.alibaba-inc.com/@typescript-eslint/utils/download/@typescript-eslint/utils-5.29.0.tgz",
2447 | "integrity": "sha512-3Eos6uP1nyLOBayc/VUdKZikV90HahXE5Dx9L5YlSd/7ylQPXhLk1BYb29SDgnBnTp+jmSZUU0QxUiyHgW4p7A==",
2448 | "dev": true,
2449 | "requires": {
2450 | "@types/json-schema": "^7.0.9",
2451 | "@typescript-eslint/scope-manager": "5.29.0",
2452 | "@typescript-eslint/types": "5.29.0",
2453 | "@typescript-eslint/typescript-estree": "5.29.0",
2454 | "eslint-scope": "^5.1.1",
2455 | "eslint-utils": "^3.0.0"
2456 | }
2457 | },
2458 | "@typescript-eslint/visitor-keys": {
2459 | "version": "5.29.0",
2460 | "resolved": "https://registry.npm.alibaba-inc.com/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-5.29.0.tgz",
2461 | "integrity": "sha512-Hpb/mCWsjILvikMQoZIE3voc9wtQcS0A9FUw3h8bhr9UxBdtI/tw1ZDZUOXHXLOVMedKCH5NxyzATwnU78bWCQ==",
2462 | "dev": true,
2463 | "requires": {
2464 | "@typescript-eslint/types": "5.29.0",
2465 | "eslint-visitor-keys": "^3.3.0"
2466 | }
2467 | },
2468 | "acorn": {
2469 | "version": "8.9.0",
2470 | "resolved": "https://registry.npm.alibaba-inc.com/acorn/download/acorn-8.9.0.tgz",
2471 | "integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==",
2472 | "dev": true,
2473 | "peer": true
2474 | },
2475 | "acorn-jsx": {
2476 | "version": "5.3.2",
2477 | "resolved": "https://registry.npm.alibaba-inc.com/acorn-jsx/download/acorn-jsx-5.3.2.tgz",
2478 | "integrity": "sha1-ftW7VZCLOy8bxVxq8WU7rafweTc=",
2479 | "dev": true,
2480 | "peer": true,
2481 | "requires": {}
2482 | },
2483 | "ajv": {
2484 | "version": "6.12.6",
2485 | "resolved": "https://registry.npm.alibaba-inc.com/ajv/download/ajv-6.12.6.tgz",
2486 | "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=",
2487 | "dev": true,
2488 | "peer": true,
2489 | "requires": {
2490 | "fast-deep-equal": "^3.1.1",
2491 | "fast-json-stable-stringify": "^2.0.0",
2492 | "json-schema-traverse": "^0.4.1",
2493 | "uri-js": "^4.2.2"
2494 | }
2495 | },
2496 | "ansi-regex": {
2497 | "version": "5.0.1",
2498 | "resolved": "https://registry.npm.alibaba-inc.com/ansi-regex/download/ansi-regex-5.0.1.tgz",
2499 | "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=",
2500 | "dev": true,
2501 | "peer": true
2502 | },
2503 | "ansi-styles": {
2504 | "version": "4.3.0",
2505 | "resolved": "https://registry.npm.alibaba-inc.com/ansi-styles/download/ansi-styles-4.3.0.tgz",
2506 | "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
2507 | "dev": true,
2508 | "peer": true,
2509 | "requires": {
2510 | "color-convert": "^2.0.1"
2511 | }
2512 | },
2513 | "argparse": {
2514 | "version": "2.0.1",
2515 | "resolved": "https://registry.npm.alibaba-inc.com/argparse/download/argparse-2.0.1.tgz",
2516 | "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=",
2517 | "dev": true,
2518 | "peer": true
2519 | },
2520 | "array-union": {
2521 | "version": "2.1.0",
2522 | "resolved": "https://registry.npm.alibaba-inc.com/array-union/download/array-union-2.1.0.tgz",
2523 | "integrity": "sha1-t5hCCtvrHego2ErNii4j0+/oXo0=",
2524 | "dev": true
2525 | },
2526 | "balanced-match": {
2527 | "version": "1.0.2",
2528 | "resolved": "https://registry.npm.alibaba-inc.com/balanced-match/download/balanced-match-1.0.2.tgz",
2529 | "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=",
2530 | "dev": true,
2531 | "peer": true
2532 | },
2533 | "brace-expansion": {
2534 | "version": "1.1.11",
2535 | "resolved": "https://registry.npm.alibaba-inc.com/brace-expansion/download/brace-expansion-1.1.11.tgz",
2536 | "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=",
2537 | "dev": true,
2538 | "peer": true,
2539 | "requires": {
2540 | "balanced-match": "^1.0.0",
2541 | "concat-map": "0.0.1"
2542 | }
2543 | },
2544 | "braces": {
2545 | "version": "3.0.2",
2546 | "resolved": "https://registry.npm.alibaba-inc.com/braces/download/braces-3.0.2.tgz",
2547 | "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=",
2548 | "dev": true,
2549 | "requires": {
2550 | "fill-range": "^7.0.1"
2551 | }
2552 | },
2553 | "builtin-modules": {
2554 | "version": "3.3.0",
2555 | "resolved": "https://registry.npm.alibaba-inc.com/builtin-modules/download/builtin-modules-3.3.0.tgz",
2556 | "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
2557 | "dev": true
2558 | },
2559 | "callsites": {
2560 | "version": "3.1.0",
2561 | "resolved": "https://registry.npm.alibaba-inc.com/callsites/download/callsites-3.1.0.tgz",
2562 | "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=",
2563 | "dev": true,
2564 | "peer": true
2565 | },
2566 | "chalk": {
2567 | "version": "4.1.2",
2568 | "resolved": "https://registry.npm.alibaba-inc.com/chalk/download/chalk-4.1.2.tgz",
2569 | "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=",
2570 | "dev": true,
2571 | "peer": true,
2572 | "requires": {
2573 | "ansi-styles": "^4.1.0",
2574 | "supports-color": "^7.1.0"
2575 | }
2576 | },
2577 | "color-convert": {
2578 | "version": "2.0.1",
2579 | "resolved": "https://registry.npm.alibaba-inc.com/color-convert/download/color-convert-2.0.1.tgz",
2580 | "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
2581 | "dev": true,
2582 | "peer": true,
2583 | "requires": {
2584 | "color-name": "~1.1.4"
2585 | }
2586 | },
2587 | "color-name": {
2588 | "version": "1.1.4",
2589 | "resolved": "https://registry.npm.alibaba-inc.com/color-name/download/color-name-1.1.4.tgz",
2590 | "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=",
2591 | "dev": true,
2592 | "peer": true
2593 | },
2594 | "concat-map": {
2595 | "version": "0.0.1",
2596 | "resolved": "https://registry.npm.alibaba-inc.com/concat-map/download/concat-map-0.0.1.tgz",
2597 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
2598 | "dev": true,
2599 | "peer": true
2600 | },
2601 | "cross-spawn": {
2602 | "version": "7.0.3",
2603 | "resolved": "https://registry.npm.alibaba-inc.com/cross-spawn/download/cross-spawn-7.0.3.tgz",
2604 | "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=",
2605 | "dev": true,
2606 | "peer": true,
2607 | "requires": {
2608 | "path-key": "^3.1.0",
2609 | "shebang-command": "^2.0.0",
2610 | "which": "^2.0.1"
2611 | }
2612 | },
2613 | "debug": {
2614 | "version": "4.3.4",
2615 | "resolved": "https://registry.npm.alibaba-inc.com/debug/download/debug-4.3.4.tgz",
2616 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
2617 | "dev": true,
2618 | "requires": {
2619 | "ms": "2.1.2"
2620 | }
2621 | },
2622 | "deep-is": {
2623 | "version": "0.1.4",
2624 | "resolved": "https://registry.npm.alibaba-inc.com/deep-is/download/deep-is-0.1.4.tgz",
2625 | "integrity": "sha1-pvLc5hL63S7x9Rm3NVHxfoUZmDE=",
2626 | "dev": true,
2627 | "peer": true
2628 | },
2629 | "dir-glob": {
2630 | "version": "3.0.1",
2631 | "resolved": "https://registry.npm.alibaba-inc.com/dir-glob/download/dir-glob-3.0.1.tgz",
2632 | "integrity": "sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8=",
2633 | "dev": true,
2634 | "requires": {
2635 | "path-type": "^4.0.0"
2636 | }
2637 | },
2638 | "doctrine": {
2639 | "version": "3.0.0",
2640 | "resolved": "https://registry.npm.alibaba-inc.com/doctrine/download/doctrine-3.0.0.tgz",
2641 | "integrity": "sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=",
2642 | "dev": true,
2643 | "peer": true,
2644 | "requires": {
2645 | "esutils": "^2.0.2"
2646 | }
2647 | },
2648 | "esbuild": {
2649 | "version": "0.17.3",
2650 | "resolved": "https://registry.npm.alibaba-inc.com/esbuild/download/esbuild-0.17.3.tgz",
2651 | "integrity": "sha512-9n3AsBRe6sIyOc6kmoXg2ypCLgf3eZSraWFRpnkto+svt8cZNuKTkb1bhQcitBcvIqjNiK7K0J3KPmwGSfkA8g==",
2652 | "dev": true,
2653 | "requires": {
2654 | "@esbuild/android-arm": "0.17.3",
2655 | "@esbuild/android-arm64": "0.17.3",
2656 | "@esbuild/android-x64": "0.17.3",
2657 | "@esbuild/darwin-arm64": "0.17.3",
2658 | "@esbuild/darwin-x64": "0.17.3",
2659 | "@esbuild/freebsd-arm64": "0.17.3",
2660 | "@esbuild/freebsd-x64": "0.17.3",
2661 | "@esbuild/linux-arm": "0.17.3",
2662 | "@esbuild/linux-arm64": "0.17.3",
2663 | "@esbuild/linux-ia32": "0.17.3",
2664 | "@esbuild/linux-loong64": "0.17.3",
2665 | "@esbuild/linux-mips64el": "0.17.3",
2666 | "@esbuild/linux-ppc64": "0.17.3",
2667 | "@esbuild/linux-riscv64": "0.17.3",
2668 | "@esbuild/linux-s390x": "0.17.3",
2669 | "@esbuild/linux-x64": "0.17.3",
2670 | "@esbuild/netbsd-x64": "0.17.3",
2671 | "@esbuild/openbsd-x64": "0.17.3",
2672 | "@esbuild/sunos-x64": "0.17.3",
2673 | "@esbuild/win32-arm64": "0.17.3",
2674 | "@esbuild/win32-ia32": "0.17.3",
2675 | "@esbuild/win32-x64": "0.17.3"
2676 | }
2677 | },
2678 | "escape-string-regexp": {
2679 | "version": "4.0.0",
2680 | "resolved": "https://registry.npm.alibaba-inc.com/escape-string-regexp/download/escape-string-regexp-4.0.0.tgz",
2681 | "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=",
2682 | "dev": true,
2683 | "peer": true
2684 | },
2685 | "eslint": {
2686 | "version": "8.43.0",
2687 | "resolved": "https://registry.npm.alibaba-inc.com/eslint/download/eslint-8.43.0.tgz",
2688 | "integrity": "sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==",
2689 | "dev": true,
2690 | "peer": true,
2691 | "requires": {
2692 | "@eslint-community/eslint-utils": "^4.2.0",
2693 | "@eslint-community/regexpp": "^4.4.0",
2694 | "@eslint/eslintrc": "^2.0.3",
2695 | "@eslint/js": "8.43.0",
2696 | "@humanwhocodes/config-array": "^0.11.10",
2697 | "@humanwhocodes/module-importer": "^1.0.1",
2698 | "@nodelib/fs.walk": "^1.2.8",
2699 | "ajv": "^6.10.0",
2700 | "chalk": "^4.0.0",
2701 | "cross-spawn": "^7.0.2",
2702 | "debug": "^4.3.2",
2703 | "doctrine": "^3.0.0",
2704 | "escape-string-regexp": "^4.0.0",
2705 | "eslint-scope": "^7.2.0",
2706 | "eslint-visitor-keys": "^3.4.1",
2707 | "espree": "^9.5.2",
2708 | "esquery": "^1.4.2",
2709 | "esutils": "^2.0.2",
2710 | "fast-deep-equal": "^3.1.3",
2711 | "file-entry-cache": "^6.0.1",
2712 | "find-up": "^5.0.0",
2713 | "glob-parent": "^6.0.2",
2714 | "globals": "^13.19.0",
2715 | "graphemer": "^1.4.0",
2716 | "ignore": "^5.2.0",
2717 | "import-fresh": "^3.0.0",
2718 | "imurmurhash": "^0.1.4",
2719 | "is-glob": "^4.0.0",
2720 | "is-path-inside": "^3.0.3",
2721 | "js-yaml": "^4.1.0",
2722 | "json-stable-stringify-without-jsonify": "^1.0.1",
2723 | "levn": "^0.4.1",
2724 | "lodash.merge": "^4.6.2",
2725 | "minimatch": "^3.1.2",
2726 | "natural-compare": "^1.4.0",
2727 | "optionator": "^0.9.1",
2728 | "strip-ansi": "^6.0.1",
2729 | "strip-json-comments": "^3.1.0",
2730 | "text-table": "^0.2.0"
2731 | },
2732 | "dependencies": {
2733 | "eslint-scope": {
2734 | "version": "7.2.0",
2735 | "resolved": "https://registry.npm.alibaba-inc.com/eslint-scope/download/eslint-scope-7.2.0.tgz",
2736 | "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==",
2737 | "dev": true,
2738 | "peer": true,
2739 | "requires": {
2740 | "esrecurse": "^4.3.0",
2741 | "estraverse": "^5.2.0"
2742 | }
2743 | },
2744 | "estraverse": {
2745 | "version": "5.3.0",
2746 | "resolved": "https://registry.npm.alibaba-inc.com/estraverse/download/estraverse-5.3.0.tgz",
2747 | "integrity": "sha1-LupSkHAvJquP5TcDcP+GyWXSESM=",
2748 | "dev": true,
2749 | "peer": true
2750 | }
2751 | }
2752 | },
2753 | "eslint-scope": {
2754 | "version": "5.1.1",
2755 | "resolved": "https://registry.npm.alibaba-inc.com/eslint-scope/download/eslint-scope-5.1.1.tgz",
2756 | "integrity": "sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=",
2757 | "dev": true,
2758 | "requires": {
2759 | "esrecurse": "^4.3.0",
2760 | "estraverse": "^4.1.1"
2761 | }
2762 | },
2763 | "eslint-utils": {
2764 | "version": "3.0.0",
2765 | "resolved": "https://registry.npm.alibaba-inc.com/eslint-utils/download/eslint-utils-3.0.0.tgz",
2766 | "integrity": "sha1-iuuvrOc0W7M1WdsKHxOh0tSMNnI=",
2767 | "dev": true,
2768 | "requires": {
2769 | "eslint-visitor-keys": "^2.0.0"
2770 | },
2771 | "dependencies": {
2772 | "eslint-visitor-keys": {
2773 | "version": "2.1.0",
2774 | "resolved": "https://registry.npm.alibaba-inc.com/eslint-visitor-keys/download/eslint-visitor-keys-2.1.0.tgz",
2775 | "integrity": "sha1-9lMoJZMFknOSyTjtROsKXJsr0wM=",
2776 | "dev": true
2777 | }
2778 | }
2779 | },
2780 | "eslint-visitor-keys": {
2781 | "version": "3.4.1",
2782 | "resolved": "https://registry.npm.alibaba-inc.com/eslint-visitor-keys/download/eslint-visitor-keys-3.4.1.tgz",
2783 | "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==",
2784 | "dev": true
2785 | },
2786 | "espree": {
2787 | "version": "9.5.2",
2788 | "resolved": "https://registry.npm.alibaba-inc.com/espree/download/espree-9.5.2.tgz",
2789 | "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==",
2790 | "dev": true,
2791 | "peer": true,
2792 | "requires": {
2793 | "acorn": "^8.8.0",
2794 | "acorn-jsx": "^5.3.2",
2795 | "eslint-visitor-keys": "^3.4.1"
2796 | }
2797 | },
2798 | "esquery": {
2799 | "version": "1.5.0",
2800 | "resolved": "https://registry.npm.alibaba-inc.com/esquery/download/esquery-1.5.0.tgz",
2801 | "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
2802 | "dev": true,
2803 | "peer": true,
2804 | "requires": {
2805 | "estraverse": "^5.1.0"
2806 | },
2807 | "dependencies": {
2808 | "estraverse": {
2809 | "version": "5.3.0",
2810 | "resolved": "https://registry.npm.alibaba-inc.com/estraverse/download/estraverse-5.3.0.tgz",
2811 | "integrity": "sha1-LupSkHAvJquP5TcDcP+GyWXSESM=",
2812 | "dev": true,
2813 | "peer": true
2814 | }
2815 | }
2816 | },
2817 | "esrecurse": {
2818 | "version": "4.3.0",
2819 | "resolved": "https://registry.npm.alibaba-inc.com/esrecurse/download/esrecurse-4.3.0.tgz",
2820 | "integrity": "sha1-eteWTWeauyi+5yzsY3WLHF0smSE=",
2821 | "dev": true,
2822 | "requires": {
2823 | "estraverse": "^5.2.0"
2824 | },
2825 | "dependencies": {
2826 | "estraverse": {
2827 | "version": "5.3.0",
2828 | "resolved": "https://registry.npm.alibaba-inc.com/estraverse/download/estraverse-5.3.0.tgz",
2829 | "integrity": "sha1-LupSkHAvJquP5TcDcP+GyWXSESM=",
2830 | "dev": true
2831 | }
2832 | }
2833 | },
2834 | "estraverse": {
2835 | "version": "4.3.0",
2836 | "resolved": "https://registry.npm.alibaba-inc.com/estraverse/download/estraverse-4.3.0.tgz",
2837 | "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=",
2838 | "dev": true
2839 | },
2840 | "esutils": {
2841 | "version": "2.0.3",
2842 | "resolved": "https://registry.npm.alibaba-inc.com/esutils/download/esutils-2.0.3.tgz",
2843 | "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=",
2844 | "dev": true,
2845 | "peer": true
2846 | },
2847 | "fast-deep-equal": {
2848 | "version": "3.1.3",
2849 | "resolved": "https://registry.npm.alibaba-inc.com/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz",
2850 | "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=",
2851 | "dev": true,
2852 | "peer": true
2853 | },
2854 | "fast-glob": {
2855 | "version": "3.2.12",
2856 | "resolved": "https://registry.npm.alibaba-inc.com/fast-glob/download/fast-glob-3.2.12.tgz",
2857 | "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
2858 | "dev": true,
2859 | "requires": {
2860 | "@nodelib/fs.stat": "^2.0.2",
2861 | "@nodelib/fs.walk": "^1.2.3",
2862 | "glob-parent": "^5.1.2",
2863 | "merge2": "^1.3.0",
2864 | "micromatch": "^4.0.4"
2865 | },
2866 | "dependencies": {
2867 | "glob-parent": {
2868 | "version": "5.1.2",
2869 | "resolved": "https://registry.npm.alibaba-inc.com/glob-parent/download/glob-parent-5.1.2.tgz",
2870 | "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=",
2871 | "dev": true,
2872 | "requires": {
2873 | "is-glob": "^4.0.1"
2874 | }
2875 | }
2876 | }
2877 | },
2878 | "fast-json-stable-stringify": {
2879 | "version": "2.1.0",
2880 | "resolved": "https://registry.npm.alibaba-inc.com/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz",
2881 | "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=",
2882 | "dev": true,
2883 | "peer": true
2884 | },
2885 | "fast-levenshtein": {
2886 | "version": "2.0.6",
2887 | "resolved": "https://registry.npm.alibaba-inc.com/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz",
2888 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
2889 | "dev": true,
2890 | "peer": true
2891 | },
2892 | "fastq": {
2893 | "version": "1.15.0",
2894 | "resolved": "https://registry.npm.alibaba-inc.com/fastq/download/fastq-1.15.0.tgz",
2895 | "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
2896 | "dev": true,
2897 | "requires": {
2898 | "reusify": "^1.0.4"
2899 | }
2900 | },
2901 | "file-entry-cache": {
2902 | "version": "6.0.1",
2903 | "resolved": "https://registry.npm.alibaba-inc.com/file-entry-cache/download/file-entry-cache-6.0.1.tgz",
2904 | "integrity": "sha1-IRst2WWcsDlLBz5zI6w8kz1SICc=",
2905 | "dev": true,
2906 | "peer": true,
2907 | "requires": {
2908 | "flat-cache": "^3.0.4"
2909 | }
2910 | },
2911 | "fill-range": {
2912 | "version": "7.0.1",
2913 | "resolved": "https://registry.npm.alibaba-inc.com/fill-range/download/fill-range-7.0.1.tgz",
2914 | "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=",
2915 | "dev": true,
2916 | "requires": {
2917 | "to-regex-range": "^5.0.1"
2918 | }
2919 | },
2920 | "find-up": {
2921 | "version": "5.0.0",
2922 | "resolved": "https://registry.npm.alibaba-inc.com/find-up/download/find-up-5.0.0.tgz",
2923 | "integrity": "sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw=",
2924 | "dev": true,
2925 | "peer": true,
2926 | "requires": {
2927 | "locate-path": "^6.0.0",
2928 | "path-exists": "^4.0.0"
2929 | }
2930 | },
2931 | "flat-cache": {
2932 | "version": "3.0.4",
2933 | "resolved": "https://registry.npm.alibaba-inc.com/flat-cache/download/flat-cache-3.0.4.tgz",
2934 | "integrity": "sha1-YbAzgwKy/p+Vfcwy/CqH8cMEixE=",
2935 | "dev": true,
2936 | "peer": true,
2937 | "requires": {
2938 | "flatted": "^3.1.0",
2939 | "rimraf": "^3.0.2"
2940 | }
2941 | },
2942 | "flatted": {
2943 | "version": "3.2.7",
2944 | "resolved": "https://registry.npm.alibaba-inc.com/flatted/download/flatted-3.2.7.tgz",
2945 | "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
2946 | "dev": true,
2947 | "peer": true
2948 | },
2949 | "fs.realpath": {
2950 | "version": "1.0.0",
2951 | "resolved": "https://registry.npm.alibaba-inc.com/fs.realpath/download/fs.realpath-1.0.0.tgz",
2952 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
2953 | "dev": true,
2954 | "peer": true
2955 | },
2956 | "functional-red-black-tree": {
2957 | "version": "1.0.1",
2958 | "resolved": "https://registry.npm.alibaba-inc.com/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz",
2959 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
2960 | "dev": true
2961 | },
2962 | "glob": {
2963 | "version": "7.2.3",
2964 | "resolved": "https://registry.npm.alibaba-inc.com/glob/download/glob-7.2.3.tgz",
2965 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
2966 | "dev": true,
2967 | "peer": true,
2968 | "requires": {
2969 | "fs.realpath": "^1.0.0",
2970 | "inflight": "^1.0.4",
2971 | "inherits": "2",
2972 | "minimatch": "^3.1.1",
2973 | "once": "^1.3.0",
2974 | "path-is-absolute": "^1.0.0"
2975 | }
2976 | },
2977 | "glob-parent": {
2978 | "version": "6.0.2",
2979 | "resolved": "https://registry.npm.alibaba-inc.com/glob-parent/download/glob-parent-6.0.2.tgz",
2980 | "integrity": "sha1-bSN9mQg5UMeSkPJMdkKj3poo+eM=",
2981 | "dev": true,
2982 | "peer": true,
2983 | "requires": {
2984 | "is-glob": "^4.0.3"
2985 | }
2986 | },
2987 | "globals": {
2988 | "version": "13.20.0",
2989 | "resolved": "https://registry.npm.alibaba-inc.com/globals/download/globals-13.20.0.tgz",
2990 | "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
2991 | "dev": true,
2992 | "peer": true,
2993 | "requires": {
2994 | "type-fest": "^0.20.2"
2995 | }
2996 | },
2997 | "globby": {
2998 | "version": "11.1.0",
2999 | "resolved": "https://registry.npm.alibaba-inc.com/globby/download/globby-11.1.0.tgz",
3000 | "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
3001 | "dev": true,
3002 | "requires": {
3003 | "array-union": "^2.1.0",
3004 | "dir-glob": "^3.0.1",
3005 | "fast-glob": "^3.2.9",
3006 | "ignore": "^5.2.0",
3007 | "merge2": "^1.4.1",
3008 | "slash": "^3.0.0"
3009 | }
3010 | },
3011 | "graphemer": {
3012 | "version": "1.4.0",
3013 | "resolved": "https://registry.npm.alibaba-inc.com/graphemer/download/graphemer-1.4.0.tgz",
3014 | "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
3015 | "dev": true,
3016 | "peer": true
3017 | },
3018 | "has-flag": {
3019 | "version": "4.0.0",
3020 | "resolved": "https://registry.npm.alibaba-inc.com/has-flag/download/has-flag-4.0.0.tgz",
3021 | "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
3022 | "dev": true,
3023 | "peer": true
3024 | },
3025 | "ignore": {
3026 | "version": "5.2.4",
3027 | "resolved": "https://registry.npm.alibaba-inc.com/ignore/download/ignore-5.2.4.tgz",
3028 | "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
3029 | "dev": true
3030 | },
3031 | "import-fresh": {
3032 | "version": "3.3.0",
3033 | "resolved": "https://registry.npm.alibaba-inc.com/import-fresh/download/import-fresh-3.3.0.tgz",
3034 | "integrity": "sha1-NxYsJfy566oublPVtNiM4X2eDCs=",
3035 | "dev": true,
3036 | "peer": true,
3037 | "requires": {
3038 | "parent-module": "^1.0.0",
3039 | "resolve-from": "^4.0.0"
3040 | }
3041 | },
3042 | "imurmurhash": {
3043 | "version": "0.1.4",
3044 | "resolved": "https://registry.npm.alibaba-inc.com/imurmurhash/download/imurmurhash-0.1.4.tgz",
3045 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
3046 | "dev": true,
3047 | "peer": true
3048 | },
3049 | "inflight": {
3050 | "version": "1.0.6",
3051 | "resolved": "https://registry.npm.alibaba-inc.com/inflight/download/inflight-1.0.6.tgz",
3052 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
3053 | "dev": true,
3054 | "peer": true,
3055 | "requires": {
3056 | "once": "^1.3.0",
3057 | "wrappy": "1"
3058 | }
3059 | },
3060 | "inherits": {
3061 | "version": "2.0.4",
3062 | "resolved": "https://registry.npm.alibaba-inc.com/inherits/download/inherits-2.0.4.tgz",
3063 | "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=",
3064 | "dev": true,
3065 | "peer": true
3066 | },
3067 | "is-extglob": {
3068 | "version": "2.1.1",
3069 | "resolved": "https://registry.npm.alibaba-inc.com/is-extglob/download/is-extglob-2.1.1.tgz",
3070 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
3071 | "dev": true
3072 | },
3073 | "is-glob": {
3074 | "version": "4.0.3",
3075 | "resolved": "https://registry.npm.alibaba-inc.com/is-glob/download/is-glob-4.0.3.tgz",
3076 | "integrity": "sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=",
3077 | "dev": true,
3078 | "requires": {
3079 | "is-extglob": "^2.1.1"
3080 | }
3081 | },
3082 | "is-number": {
3083 | "version": "7.0.0",
3084 | "resolved": "https://registry.npm.alibaba-inc.com/is-number/download/is-number-7.0.0.tgz",
3085 | "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=",
3086 | "dev": true
3087 | },
3088 | "is-path-inside": {
3089 | "version": "3.0.3",
3090 | "resolved": "https://registry.npm.alibaba-inc.com/is-path-inside/download/is-path-inside-3.0.3.tgz",
3091 | "integrity": "sha1-0jE2LlOgf/Kw4Op/7QSRYf/RYoM=",
3092 | "dev": true,
3093 | "peer": true
3094 | },
3095 | "isexe": {
3096 | "version": "2.0.0",
3097 | "resolved": "https://registry.npm.alibaba-inc.com/isexe/download/isexe-2.0.0.tgz",
3098 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
3099 | "dev": true,
3100 | "peer": true
3101 | },
3102 | "js-yaml": {
3103 | "version": "4.1.0",
3104 | "resolved": "https://registry.npm.alibaba-inc.com/js-yaml/download/js-yaml-4.1.0.tgz",
3105 | "integrity": "sha1-wftl+PUBeQHN0slRhkuhhFihBgI=",
3106 | "dev": true,
3107 | "peer": true,
3108 | "requires": {
3109 | "argparse": "^2.0.1"
3110 | }
3111 | },
3112 | "json-schema-traverse": {
3113 | "version": "0.4.1",
3114 | "resolved": "https://registry.npm.alibaba-inc.com/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz",
3115 | "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=",
3116 | "dev": true,
3117 | "peer": true
3118 | },
3119 | "json-stable-stringify-without-jsonify": {
3120 | "version": "1.0.1",
3121 | "resolved": "https://registry.npm.alibaba-inc.com/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz",
3122 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
3123 | "dev": true,
3124 | "peer": true
3125 | },
3126 | "levn": {
3127 | "version": "0.4.1",
3128 | "resolved": "https://registry.npm.alibaba-inc.com/levn/download/levn-0.4.1.tgz",
3129 | "integrity": "sha1-rkViwAdHO5MqYgDUAyaN0v/8at4=",
3130 | "dev": true,
3131 | "peer": true,
3132 | "requires": {
3133 | "prelude-ls": "^1.2.1",
3134 | "type-check": "~0.4.0"
3135 | }
3136 | },
3137 | "locate-path": {
3138 | "version": "6.0.0",
3139 | "resolved": "https://registry.npm.alibaba-inc.com/locate-path/download/locate-path-6.0.0.tgz",
3140 | "integrity": "sha1-VTIeswn+u8WcSAHZMackUqaB0oY=",
3141 | "dev": true,
3142 | "peer": true,
3143 | "requires": {
3144 | "p-locate": "^5.0.0"
3145 | }
3146 | },
3147 | "lodash.merge": {
3148 | "version": "4.6.2",
3149 | "resolved": "https://registry.npm.alibaba-inc.com/lodash.merge/download/lodash.merge-4.6.2.tgz",
3150 | "integrity": "sha1-VYqlO0O2YeGSWgr9+japoQhf5Xo=",
3151 | "dev": true,
3152 | "peer": true
3153 | },
3154 | "lru-cache": {
3155 | "version": "6.0.0",
3156 | "resolved": "https://registry.npm.alibaba-inc.com/lru-cache/download/lru-cache-6.0.0.tgz",
3157 | "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=",
3158 | "dev": true,
3159 | "requires": {
3160 | "yallist": "^4.0.0"
3161 | }
3162 | },
3163 | "merge2": {
3164 | "version": "1.4.1",
3165 | "resolved": "https://registry.npm.alibaba-inc.com/merge2/download/merge2-1.4.1.tgz",
3166 | "integrity": "sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=",
3167 | "dev": true
3168 | },
3169 | "micromatch": {
3170 | "version": "4.0.5",
3171 | "resolved": "https://registry.npm.alibaba-inc.com/micromatch/download/micromatch-4.0.5.tgz",
3172 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
3173 | "dev": true,
3174 | "requires": {
3175 | "braces": "^3.0.2",
3176 | "picomatch": "^2.3.1"
3177 | }
3178 | },
3179 | "minimatch": {
3180 | "version": "3.1.2",
3181 | "resolved": "https://registry.npm.alibaba-inc.com/minimatch/download/minimatch-3.1.2.tgz",
3182 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
3183 | "dev": true,
3184 | "peer": true,
3185 | "requires": {
3186 | "brace-expansion": "^1.1.7"
3187 | }
3188 | },
3189 | "moment": {
3190 | "version": "2.29.4",
3191 | "resolved": "https://registry.npm.alibaba-inc.com/moment/download/moment-2.29.4.tgz",
3192 | "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==",
3193 | "dev": true
3194 | },
3195 | "ms": {
3196 | "version": "2.1.2",
3197 | "resolved": "https://registry.npm.alibaba-inc.com/ms/download/ms-2.1.2.tgz",
3198 | "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
3199 | "dev": true
3200 | },
3201 | "natural-compare": {
3202 | "version": "1.4.0",
3203 | "resolved": "https://registry.npm.alibaba-inc.com/natural-compare/download/natural-compare-1.4.0.tgz",
3204 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
3205 | "dev": true,
3206 | "peer": true
3207 | },
3208 | "obsidian": {
3209 | "version": "1.2.8",
3210 | "resolved": "https://registry.npm.alibaba-inc.com/obsidian/download/obsidian-1.2.8.tgz",
3211 | "integrity": "sha512-HrC+feA8o0tXspj4lEAqxb1btwLwHD2oHXSwbbN+CdRHURqbCkuIDLld+nkuyJ1w1c9uvVDRVk8BoeOnWheOrQ==",
3212 | "dev": true,
3213 | "requires": {
3214 | "@types/codemirror": "0.0.108",
3215 | "moment": "2.29.4"
3216 | }
3217 | },
3218 | "once": {
3219 | "version": "1.4.0",
3220 | "resolved": "https://registry.npm.alibaba-inc.com/once/download/once-1.4.0.tgz",
3221 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
3222 | "dev": true,
3223 | "peer": true,
3224 | "requires": {
3225 | "wrappy": "1"
3226 | }
3227 | },
3228 | "optionator": {
3229 | "version": "0.9.1",
3230 | "resolved": "https://registry.npm.alibaba-inc.com/optionator/download/optionator-0.9.1.tgz",
3231 | "integrity": "sha1-TyNqY3Pa4FZqbUPhMmZ09QwpFJk=",
3232 | "dev": true,
3233 | "peer": true,
3234 | "requires": {
3235 | "deep-is": "^0.1.3",
3236 | "fast-levenshtein": "^2.0.6",
3237 | "levn": "^0.4.1",
3238 | "prelude-ls": "^1.2.1",
3239 | "type-check": "^0.4.0",
3240 | "word-wrap": "^1.2.3"
3241 | }
3242 | },
3243 | "p-limit": {
3244 | "version": "3.1.0",
3245 | "resolved": "https://registry.npm.alibaba-inc.com/p-limit/download/p-limit-3.1.0.tgz",
3246 | "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=",
3247 | "dev": true,
3248 | "peer": true,
3249 | "requires": {
3250 | "yocto-queue": "^0.1.0"
3251 | }
3252 | },
3253 | "p-locate": {
3254 | "version": "5.0.0",
3255 | "resolved": "https://registry.npm.alibaba-inc.com/p-locate/download/p-locate-5.0.0.tgz",
3256 | "integrity": "sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ=",
3257 | "dev": true,
3258 | "peer": true,
3259 | "requires": {
3260 | "p-limit": "^3.0.2"
3261 | }
3262 | },
3263 | "parent-module": {
3264 | "version": "1.0.1",
3265 | "resolved": "https://registry.npm.alibaba-inc.com/parent-module/download/parent-module-1.0.1.tgz",
3266 | "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=",
3267 | "dev": true,
3268 | "peer": true,
3269 | "requires": {
3270 | "callsites": "^3.0.0"
3271 | }
3272 | },
3273 | "path-exists": {
3274 | "version": "4.0.0",
3275 | "resolved": "https://registry.npm.alibaba-inc.com/path-exists/download/path-exists-4.0.0.tgz",
3276 | "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=",
3277 | "dev": true,
3278 | "peer": true
3279 | },
3280 | "path-is-absolute": {
3281 | "version": "1.0.1",
3282 | "resolved": "https://registry.npm.alibaba-inc.com/path-is-absolute/download/path-is-absolute-1.0.1.tgz",
3283 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
3284 | "dev": true,
3285 | "peer": true
3286 | },
3287 | "path-key": {
3288 | "version": "3.1.1",
3289 | "resolved": "https://registry.npm.alibaba-inc.com/path-key/download/path-key-3.1.1.tgz",
3290 | "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=",
3291 | "dev": true,
3292 | "peer": true
3293 | },
3294 | "path-type": {
3295 | "version": "4.0.0",
3296 | "resolved": "https://registry.npm.alibaba-inc.com/path-type/download/path-type-4.0.0.tgz",
3297 | "integrity": "sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs=",
3298 | "dev": true
3299 | },
3300 | "picomatch": {
3301 | "version": "2.3.1",
3302 | "resolved": "https://registry.npm.alibaba-inc.com/picomatch/download/picomatch-2.3.1.tgz",
3303 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
3304 | "dev": true
3305 | },
3306 | "prelude-ls": {
3307 | "version": "1.2.1",
3308 | "resolved": "https://registry.npm.alibaba-inc.com/prelude-ls/download/prelude-ls-1.2.1.tgz",
3309 | "integrity": "sha1-3rxkidem5rDnYRiIzsiAM30xY5Y=",
3310 | "dev": true,
3311 | "peer": true
3312 | },
3313 | "punycode": {
3314 | "version": "2.3.0",
3315 | "resolved": "https://registry.npm.alibaba-inc.com/punycode/download/punycode-2.3.0.tgz",
3316 | "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
3317 | "dev": true,
3318 | "peer": true
3319 | },
3320 | "queue-microtask": {
3321 | "version": "1.2.3",
3322 | "resolved": "https://registry.npm.alibaba-inc.com/queue-microtask/download/queue-microtask-1.2.3.tgz",
3323 | "integrity": "sha1-SSkii7xyTfrEPg77BYyve2z7YkM=",
3324 | "dev": true
3325 | },
3326 | "regexpp": {
3327 | "version": "3.2.0",
3328 | "resolved": "https://registry.npm.alibaba-inc.com/regexpp/download/regexpp-3.2.0.tgz",
3329 | "integrity": "sha1-BCWido2PI7rXDKS5BGH6LxIT4bI=",
3330 | "dev": true
3331 | },
3332 | "resolve-from": {
3333 | "version": "4.0.0",
3334 | "resolved": "https://registry.npm.alibaba-inc.com/resolve-from/download/resolve-from-4.0.0.tgz",
3335 | "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=",
3336 | "dev": true,
3337 | "peer": true
3338 | },
3339 | "reusify": {
3340 | "version": "1.0.4",
3341 | "resolved": "https://registry.npm.alibaba-inc.com/reusify/download/reusify-1.0.4.tgz",
3342 | "integrity": "sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY=",
3343 | "dev": true
3344 | },
3345 | "rimraf": {
3346 | "version": "3.0.2",
3347 | "resolved": "https://registry.npm.alibaba-inc.com/rimraf/download/rimraf-3.0.2.tgz",
3348 | "integrity": "sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=",
3349 | "dev": true,
3350 | "peer": true,
3351 | "requires": {
3352 | "glob": "^7.1.3"
3353 | }
3354 | },
3355 | "run-parallel": {
3356 | "version": "1.2.0",
3357 | "resolved": "https://registry.npm.alibaba-inc.com/run-parallel/download/run-parallel-1.2.0.tgz",
3358 | "integrity": "sha1-ZtE2jae9+SHrnZW9GpIp5/IaQ+4=",
3359 | "dev": true,
3360 | "requires": {
3361 | "queue-microtask": "^1.2.2"
3362 | }
3363 | },
3364 | "semver": {
3365 | "version": "7.5.2",
3366 | "resolved": "https://registry.npm.alibaba-inc.com/semver/download/semver-7.5.2.tgz",
3367 | "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==",
3368 | "dev": true,
3369 | "requires": {
3370 | "lru-cache": "^6.0.0"
3371 | }
3372 | },
3373 | "shebang-command": {
3374 | "version": "2.0.0",
3375 | "resolved": "https://registry.npm.alibaba-inc.com/shebang-command/download/shebang-command-2.0.0.tgz",
3376 | "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=",
3377 | "dev": true,
3378 | "peer": true,
3379 | "requires": {
3380 | "shebang-regex": "^3.0.0"
3381 | }
3382 | },
3383 | "shebang-regex": {
3384 | "version": "3.0.0",
3385 | "resolved": "https://registry.npm.alibaba-inc.com/shebang-regex/download/shebang-regex-3.0.0.tgz",
3386 | "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=",
3387 | "dev": true,
3388 | "peer": true
3389 | },
3390 | "slash": {
3391 | "version": "3.0.0",
3392 | "resolved": "https://registry.npm.alibaba-inc.com/slash/download/slash-3.0.0.tgz",
3393 | "integrity": "sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ=",
3394 | "dev": true
3395 | },
3396 | "strip-ansi": {
3397 | "version": "6.0.1",
3398 | "resolved": "https://registry.npm.alibaba-inc.com/strip-ansi/download/strip-ansi-6.0.1.tgz",
3399 | "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=",
3400 | "dev": true,
3401 | "peer": true,
3402 | "requires": {
3403 | "ansi-regex": "^5.0.1"
3404 | }
3405 | },
3406 | "strip-json-comments": {
3407 | "version": "3.1.1",
3408 | "resolved": "https://registry.npm.alibaba-inc.com/strip-json-comments/download/strip-json-comments-3.1.1.tgz",
3409 | "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=",
3410 | "dev": true,
3411 | "peer": true
3412 | },
3413 | "style-mod": {
3414 | "version": "4.0.3",
3415 | "resolved": "https://registry.npm.alibaba-inc.com/style-mod/download/style-mod-4.0.3.tgz",
3416 | "integrity": "sha512-78Jv8kYJdjbvRwwijtCevYADfsI0lGzYJe4mMFdceO8l75DFFDoqBhR1jVDicDRRaX4//g1u9wKeo+ztc2h1Rw==",
3417 | "dev": true,
3418 | "peer": true
3419 | },
3420 | "supports-color": {
3421 | "version": "7.2.0",
3422 | "resolved": "https://registry.npm.alibaba-inc.com/supports-color/download/supports-color-7.2.0.tgz",
3423 | "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
3424 | "dev": true,
3425 | "peer": true,
3426 | "requires": {
3427 | "has-flag": "^4.0.0"
3428 | }
3429 | },
3430 | "text-table": {
3431 | "version": "0.2.0",
3432 | "resolved": "https://registry.npm.alibaba-inc.com/text-table/download/text-table-0.2.0.tgz",
3433 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
3434 | "dev": true,
3435 | "peer": true
3436 | },
3437 | "to-regex-range": {
3438 | "version": "5.0.1",
3439 | "resolved": "https://registry.npm.alibaba-inc.com/to-regex-range/download/to-regex-range-5.0.1.tgz",
3440 | "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=",
3441 | "dev": true,
3442 | "requires": {
3443 | "is-number": "^7.0.0"
3444 | }
3445 | },
3446 | "tslib": {
3447 | "version": "2.4.0",
3448 | "resolved": "https://registry.npm.alibaba-inc.com/tslib/download/tslib-2.4.0.tgz",
3449 | "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
3450 | "dev": true
3451 | },
3452 | "tsutils": {
3453 | "version": "3.21.0",
3454 | "resolved": "https://registry.npm.alibaba-inc.com/tsutils/download/tsutils-3.21.0.tgz",
3455 | "integrity": "sha1-tIcX05TOpsHglpg+7Vjp1hcVtiM=",
3456 | "dev": true,
3457 | "requires": {
3458 | "tslib": "^1.8.1"
3459 | },
3460 | "dependencies": {
3461 | "tslib": {
3462 | "version": "1.14.1",
3463 | "resolved": "https://registry.npm.alibaba-inc.com/tslib/download/tslib-1.14.1.tgz",
3464 | "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=",
3465 | "dev": true
3466 | }
3467 | }
3468 | },
3469 | "type-check": {
3470 | "version": "0.4.0",
3471 | "resolved": "https://registry.npm.alibaba-inc.com/type-check/download/type-check-0.4.0.tgz",
3472 | "integrity": "sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE=",
3473 | "dev": true,
3474 | "peer": true,
3475 | "requires": {
3476 | "prelude-ls": "^1.2.1"
3477 | }
3478 | },
3479 | "type-fest": {
3480 | "version": "0.20.2",
3481 | "resolved": "https://registry.npm.alibaba-inc.com/type-fest/download/type-fest-0.20.2.tgz",
3482 | "integrity": "sha1-G/IH9LKPkVg2ZstfvTJ4hzAc1fQ=",
3483 | "dev": true,
3484 | "peer": true
3485 | },
3486 | "typescript": {
3487 | "version": "4.7.4",
3488 | "resolved": "https://registry.npm.alibaba-inc.com/typescript/download/typescript-4.7.4.tgz",
3489 | "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==",
3490 | "dev": true
3491 | },
3492 | "uri-js": {
3493 | "version": "4.4.1",
3494 | "resolved": "https://registry.npm.alibaba-inc.com/uri-js/download/uri-js-4.4.1.tgz",
3495 | "integrity": "sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=",
3496 | "dev": true,
3497 | "peer": true,
3498 | "requires": {
3499 | "punycode": "^2.1.0"
3500 | }
3501 | },
3502 | "w3c-keyname": {
3503 | "version": "2.2.8",
3504 | "resolved": "https://registry.npm.alibaba-inc.com/w3c-keyname/download/w3c-keyname-2.2.8.tgz",
3505 | "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==",
3506 | "dev": true,
3507 | "peer": true
3508 | },
3509 | "which": {
3510 | "version": "2.0.2",
3511 | "resolved": "https://registry.npm.alibaba-inc.com/which/download/which-2.0.2.tgz",
3512 | "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=",
3513 | "dev": true,
3514 | "peer": true,
3515 | "requires": {
3516 | "isexe": "^2.0.0"
3517 | }
3518 | },
3519 | "word-wrap": {
3520 | "version": "1.2.3",
3521 | "resolved": "https://registry.npm.alibaba-inc.com/word-wrap/download/word-wrap-1.2.3.tgz",
3522 | "integrity": "sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=",
3523 | "dev": true,
3524 | "peer": true
3525 | },
3526 | "wrappy": {
3527 | "version": "1.0.2",
3528 | "resolved": "https://registry.npm.alibaba-inc.com/wrappy/download/wrappy-1.0.2.tgz",
3529 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
3530 | "dev": true,
3531 | "peer": true
3532 | },
3533 | "yallist": {
3534 | "version": "4.0.0",
3535 | "resolved": "https://registry.npm.alibaba-inc.com/yallist/download/yallist-4.0.0.tgz",
3536 | "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=",
3537 | "dev": true
3538 | },
3539 | "yocto-queue": {
3540 | "version": "0.1.0",
3541 | "resolved": "https://registry.npm.alibaba-inc.com/yocto-queue/download/yocto-queue-0.1.0.tgz",
3542 | "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=",
3543 | "dev": true,
3544 | "peer": true
3545 | }
3546 | }
3547 | }
3548 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "obsidian-excalidraw-cn",
3 | "version": "1.0.0",
4 | "description": "支持中文手写效果的 Excalidraw。Excalidraw supporting Chinese hand write font.",
5 | "main": "main.js",
6 | "scripts": {
7 | "start": "yarn run dev",
8 | "dev": "node esbuild.config.mjs",
9 | "build": "tsc -noEmit -skipLibCheck && node esbuild.config.mjs production && gulp",
10 | "gulp": "gulp",
11 | "version": "node version-bump.mjs && git add manifest.json versions.json"
12 | },
13 | "keywords": [],
14 | "author": "",
15 | "license": "MIT",
16 | "devDependencies": {
17 | "@types/lodash.throttle": "4.1.7",
18 | "@types/node": "16.11.6",
19 | "@types/react": "18.2.14",
20 | "@types/react-dom": "18.2.6",
21 | "@typescript-eslint/eslint-plugin": "5.29.0",
22 | "@typescript-eslint/parser": "5.29.0",
23 | "autoprefixer": "10.4.14",
24 | "builtin-modules": "3.3.0",
25 | "esbuild": "0.17.3",
26 | "esbuild-sass-plugin": "2.10.0",
27 | "gulp": "4.0.2",
28 | "obsidian": "latest",
29 | "postcss": "8.4.24",
30 | "react": "18.2.0",
31 | "react-dom": "18.2.0",
32 | "react-scripts": "5.0.1",
33 | "sass": "1.63.6",
34 | "tslib": "2.4.0",
35 | "typescript": "4.9.4"
36 | },
37 | "dependencies": {
38 | "handraw-materials": "0.0.2-beta.2"
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/src/constants.ts:
--------------------------------------------------------------------------------
1 | export const ICON_NAME = 'feather';
2 | export const FILE_EXTENSION = 'ex';
3 |
--------------------------------------------------------------------------------
/src/main.ts:
--------------------------------------------------------------------------------
1 | import { Plugin, TFile } from 'obsidian';
2 | import { ExcalidrawCnView, VIEW_TYPE_EXCALIDRAW_CN } from './view';
3 | import { ICON_NAME, FILE_EXTENSION } from './constants';
4 | import { ExcalidrawElement } from 'handraw-materials/es/ExcalidrawApp/types';
5 | import { getLinkFileName } from './utils/file';
6 | import { sendNotice } from './utils/notice';
7 |
8 | export default class ExcalidrawCnPlugin extends Plugin {
9 |
10 | async onload() {
11 | this.registerView(
12 | VIEW_TYPE_EXCALIDRAW_CN,
13 | (leaf) => new ExcalidrawCnView(leaf)
14 | );
15 |
16 | this.registerExtensions([FILE_EXTENSION], VIEW_TYPE_EXCALIDRAW_CN);
17 |
18 | this.addRibbonIcon(ICON_NAME, "Create New Excalidraw File", async (e) => {
19 |
20 | this.createAndOpenDrawing();
21 | });
22 |
23 | this.addEventListeners();
24 | }
25 |
26 | async syncDoubleChainFileNameWhenRename(newName: string, oldName: string) {
27 |
28 | try {
29 | const files = this.app.vault.getFiles();
30 | const excalidrawCnFiles = files.filter(file => file.extension === FILE_EXTENSION);
31 |
32 | for await (const file of excalidrawCnFiles) {
33 | const fileData = await this.app.vault.read(file);
34 | const dataObj = JSON.parse(fileData);
35 |
36 | let matchCount = 0;
37 |
38 | dataObj.elements = dataObj.elements.map((element: ExcalidrawElement) => {
39 | // 此处 fileName 可能带后缀,可能不带后缀,需要做情况兼容,如果不带后缀,统一做 md 文件处理
40 | const fileName = element.link && getLinkFileName(element.link);
41 |
42 | if (fileName === oldName || `${fileName}.md` === oldName) {
43 | matchCount++;
44 | const link = `[[${newName}]]`
45 | return { ...element, link };
46 | }
47 | return element;
48 | });
49 |
50 | // 只有匹配到双链才重新存储文件数据
51 | if (matchCount) {
52 | const newFileData = JSON.stringify(dataObj);
53 | await this.app.vault.modify(file, newFileData);
54 |
55 | sendNotice(`Update ${matchCount} links in ${file.name}`)
56 | }
57 |
58 | }
59 |
60 | } catch (err) {
61 | console.warn('sync new file name failed', err)
62 | }
63 |
64 | }
65 |
66 | addEventListeners() {
67 | this.registerEvent(this.app.vault.on('rename', (file: TFile, oldPath: string) => {
68 |
69 | if (!(file instanceof TFile)) {
70 | return;
71 | }
72 |
73 | oldPath && this.syncDoubleChainFileNameWhenRename(file.name, oldPath);
74 | }));
75 | }
76 |
77 | public async createAndOpenDrawing(): Promise {
78 | this.app.workspace.detachLeavesOfType(VIEW_TYPE_EXCALIDRAW_CN);
79 |
80 | const file = await this.app.vault.create(`excalidraw ${window.moment().format('YY-MM-DD hh.mm.ss')}.${FILE_EXTENSION}`, '{}');
81 |
82 | const leaf = this.app.workspace.getLeaf('tab');
83 |
84 | await leaf.openFile(file, { active: true });
85 |
86 | leaf.setViewState({
87 | type: VIEW_TYPE_EXCALIDRAW_CN,
88 | state: leaf.view.getState(),
89 | });
90 |
91 | this.app.workspace.revealLeaf(
92 | this.app.workspace.getLeavesOfType(VIEW_TYPE_EXCALIDRAW_CN)[0]
93 | );
94 |
95 | return file.path;
96 |
97 | }
98 |
99 | }
100 |
101 |
--------------------------------------------------------------------------------
/src/utils/file.ts:
--------------------------------------------------------------------------------
1 | export const DOUBLE_CHAIN_LINK_WITH_SQUARE_BRACKETS_REGEX = /\[\[(.+)\]\]/;
2 | export const DOUBLE_CHAIN_LINK_AS_OBSIDIAN_LINK_REGEX = /^obsidian:\/\/open\?vault=.+\&file=(.+)$/;
3 |
4 | export const getLinkFileName = (linkText: string | null): string | undefined => {
5 | if (!linkText) {
6 | return;
7 | }
8 |
9 | const fileName = linkText?.match(DOUBLE_CHAIN_LINK_WITH_SQUARE_BRACKETS_REGEX)?.[1] || linkText?.match(DOUBLE_CHAIN_LINK_AS_OBSIDIAN_LINK_REGEX)?.[1];
10 | return fileName && decodeURIComponent(fileName);
11 | }
12 |
--------------------------------------------------------------------------------
/src/utils/notice.ts:
--------------------------------------------------------------------------------
1 | import { Notice } from "obsidian";
2 |
3 | export const sendNotice = (message: string) => {
4 | return new Notice(message, 3000);
5 | }
6 |
--------------------------------------------------------------------------------
/src/view.tsx:
--------------------------------------------------------------------------------
1 | import { TFile, TextFileView, WorkspaceLeaf } from "obsidian";
2 | import React from "react";
3 | import { createRoot, Root } from "react-dom/client";
4 | import { ExcalidrawApp } from 'handraw-materials';
5 | import { ExcalidrawDataSource, NonDeletedExcalidrawElement } from 'handraw-materials/es/ExcalidrawApp/types';
6 | import { sendNotice } from './utils/notice';
7 | import { getLinkFileName } from './utils/file';
8 |
9 | export const VIEW_TYPE_EXCALIDRAW_CN = "excalidraw_cn";
10 |
11 | const DEFAULT_DATA = '{}';
12 | const DEFAULT_DATA_OBJ = {};
13 |
14 | export class ExcalidrawCnView extends TextFileView {
15 | constructor(leaf: WorkspaceLeaf) {
16 | super(leaf);
17 | }
18 |
19 | root: Root;
20 |
21 | data: string = DEFAULT_DATA;
22 |
23 | dataObj: ExcalidrawDataSource | {};
24 |
25 | file: TFile;
26 |
27 | excalidrawCnAppRef: any;
28 |
29 | timer: NodeJS.Timeout | null;
30 |
31 | debounceSave = () => {
32 | this.timer && clearTimeout(this.timer);
33 |
34 | this.timer = setTimeout(() => {
35 | this.timer && clearTimeout(this.timer);
36 | this.timer = null;
37 | this.save();
38 | }, 200);
39 | }
40 |
41 | getViewType() {
42 | return VIEW_TYPE_EXCALIDRAW_CN;
43 | }
44 |
45 | sequelize(data: ExcalidrawDataSource | {}) {
46 | return JSON.stringify(data);
47 | }
48 |
49 | onChange(data: ExcalidrawDataSource | {}) {
50 | this.dataObj = data;
51 |
52 | this.debounceSave();
53 | }
54 |
55 | async onLoadFile(file: TFile): Promise {
56 | this.file = file;
57 |
58 | this.render(file);
59 | }
60 |
61 | async onUnloadFile(file: TFile): Promise {
62 | this.clear();
63 | }
64 |
65 | onunload() {
66 | this.clear();
67 |
68 | this.root?.unmount();
69 | }
70 |
71 | async onClose() {
72 | this.root?.unmount();
73 | }
74 |
75 | getViewData(): string {
76 | return this.data;
77 | }
78 |
79 | setViewData(data: string = DEFAULT_DATA, clear: boolean = false): void {
80 | this.data = data;
81 |
82 | if (clear) {
83 | this.clear();
84 | }
85 | }
86 |
87 | async save(clear: boolean = false) {
88 |
89 | const data = this.sequelize(this.dataObj);
90 |
91 | // no nothing when data not changed
92 | if (data === this.data) {
93 | return;
94 | }
95 |
96 | try {
97 | this.setViewData(data);
98 |
99 | this.app.vault.modify(this.file, this.data);
100 |
101 | if (clear) {
102 | this.clear();
103 | }
104 | } catch (err) {
105 | console.error('Save failed:', err);
106 | sendNotice('Save failed!')
107 | }
108 |
109 |
110 | }
111 |
112 | onLinkOpen(
113 | element: NonDeletedExcalidrawElement,
114 | event: CustomEvent<{
115 | nativeEvent: MouseEvent | React.PointerEvent;
116 | }>
117 | ) {
118 | const fileName = getLinkFileName(element.link);
119 |
120 | fileName && this.app.workspace.openLinkText(decodeURIComponent(fileName), '', 'tab');
121 |
122 | }
123 |
124 | async render(file: TFile) {
125 |
126 | this.root = this.root || createRoot(this.containerEl.children[1]);;
127 |
128 | let fileData = await this.app.vault.read(file);
129 |
130 | if (!fileData) {
131 | return;
132 | }
133 |
134 | this.setViewData(fileData);
135 |
136 | this.root?.render(
137 |
138 |
144 |
145 | );
146 | }
147 |
148 | clear(): void {
149 | this.timer && clearTimeout(this.timer);
150 | this.timer = null;
151 |
152 | this.setViewData(DEFAULT_DATA);
153 | this.dataObj = DEFAULT_DATA_OBJ;
154 | this.root?.render(null);
155 | }
156 |
157 | }
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "inlineSourceMap": true,
5 | "inlineSources": true,
6 | "module": "ESNext",
7 | "target": "ES6",
8 | "allowJs": true,
9 | "noImplicitAny": true,
10 | "moduleResolution": "node",
11 | "importHelpers": true,
12 | "isolatedModules": true,
13 | "strictNullChecks": true,
14 | "lib": [
15 | "DOM",
16 | "ES5",
17 | "ES6",
18 | "ES7"
19 | ],
20 | "jsx": "react",
21 | "allowSyntheticDefaultImports": true,
22 | "outDir": "./",
23 | "esModuleInterop": true,
24 | },
25 | "include": [
26 | "**/*.ts",
27 | "src/view.tsx"
28 | , "src/excalidraw-app/src/icons.tsx" ],
29 | "exclude": [
30 | "node_modules",
31 | "dist"
32 | ]
33 | }
--------------------------------------------------------------------------------
/version-bump.mjs:
--------------------------------------------------------------------------------
1 | import { readFileSync, writeFileSync } from "fs";
2 |
3 | const targetVersion = process.env.npm_package_version;
4 |
5 | // read minAppVersion from manifest.json and bump version to target version
6 | let manifest = JSON.parse(readFileSync("manifest.json", "utf8"));
7 | const { minAppVersion } = manifest;
8 | manifest.version = targetVersion;
9 | writeFileSync("manifest.json", JSON.stringify(manifest, null, "\t"));
10 |
11 | // update versions.json with target version and minAppVersion from manifest.json
12 | let versions = JSON.parse(readFileSync("versions.json", "utf8"));
13 | versions[targetVersion] = minAppVersion;
14 | writeFileSync("versions.json", JSON.stringify(versions, null, "\t"));
15 |
--------------------------------------------------------------------------------
/versions.json:
--------------------------------------------------------------------------------
1 | {
2 | "1.0.0": "0.15.0"
3 | }
4 |
--------------------------------------------------------------------------------