From a03c999e98f2295d607f92fc109f72337634ca43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sunsonliu=28=E5=88=98=E9=98=B3=29?= Date: Thu, 27 Jun 2024 11:17:56 +0800 Subject: [PATCH 01/42] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E6=9C=89?= =?UTF-8?q?=E5=A4=A7=E9=87=8Fbase64=E6=95=B0=E6=8D=AE=E6=97=B6=E7=9A=84?= =?UTF-8?q?=E6=B8=B2=E6=9F=93=E6=80=A7=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Engine.js | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/src/Engine.js b/src/Engine.js index f64df1e40..695fddc39 100644 --- a/src/Engine.js +++ b/src/Engine.js @@ -19,7 +19,7 @@ import NestedError, { $expectTarget, $expectInherit, $expectInstance } from './u import md5 from 'md5'; import SyntaxBase from './core/SyntaxBase'; import ParagraphBase from './core/ParagraphBase'; -import { PUNCTUATION } from './utils/regexp'; +import { PUNCTUATION, imgBase64Reg, imgDrawioXmlReg } from './utils/regexp'; import { escapeHTMLSpecialChar } from './utils/sanitize'; import Logger from './Logger'; import { configureMathJax } from './utils/mathjax'; @@ -48,6 +48,7 @@ export default class Engine { this.hooks = this.hookCenter.getHookList(); this.md5Cache = {}; this.md5StrMap = {}; + this.cachedBigData = {}; this.markdownParams = markdownParams; this.currentStrMd5 = []; this.globalConfig = markdownParams.engine.global; @@ -227,14 +228,37 @@ export default class Engine { return this.$fireHookAction(md, 'paragraph', 'makeHtml', this.$dealSentenceByCache.bind(this)); } + // 缓存大文本数据,用以提升渲染性能 + $cacheBigData(md) { + let $md = md.replace(imgBase64Reg, (whole, m1, m2) => { + const cacheKey = `bigDataBegin${this.md5(m2)}bigDataEnd`; + this.cachedBigData[cacheKey] = m2; + return `${m1}${cacheKey})`; + }); + $md = $md.replace(imgDrawioXmlReg, (whole, m1, m2) => { + const cacheKey = `bigDataBegin${this.md5(m2)}bigDataEnd`; + this.cachedBigData[cacheKey] = m2; + return `${m1}${cacheKey}}`; + }); + return $md; + } + + $deCacheBigData(md) { + return md.replace(/bigDataBegin[^\n]+?bigDataEnd/g, (whole) => { + return this.cachedBigData[whole]; + }); + } + /** * @param {string} md md字符串 * @returns {string} 获取html */ makeHtml(md) { - let $md = this.$beforeMakeHtml(md); + let $md = this.$cacheBigData(md); + $md = this.$beforeMakeHtml($md); $md = this.$dealParagraph($md); $md = this.$afterMakeHtml($md); + $md = this.$deCacheBigData($md); return $md; } From d398c6a4f4c98a9c4e1616eb8e1633ef2957deea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sunsonliu=28=E5=88=98=E9=98=B3=29?= Date: Thu, 27 Jun 2024 17:00:20 +0800 Subject: [PATCH 02/42] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dmenu.setName?= =?UTF-8?q?=E5=A4=B1=E6=95=88=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/toolbars/MenuBase.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/toolbars/MenuBase.js b/src/toolbars/MenuBase.js index fe5c5971c..5957a7d98 100644 --- a/src/toolbars/MenuBase.js +++ b/src/toolbars/MenuBase.js @@ -115,6 +115,7 @@ export default class MenuBase { setName(name, iconName) { this.name = name; this.iconName = iconName; + this.$currentMenuOptions = { name, icon: iconName }; } /** From 40ba66fd3cda87542bc916b9252863a38eb18cd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sunsonliu=28=E5=88=98=E9=98=B3=29?= Date: Thu, 27 Jun 2024 17:52:54 +0800 Subject: [PATCH 03/42] =?UTF-8?q?feat:=20#522=20=E5=A2=9E=E5=8A=A0vim?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=A8=A1=E5=BC=8F=E7=9A=84=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.CN.md | 1 + README.md | 1 + examples/markdown/basic.md | 2 ++ examples/scripts/index-demo.js | 2 +- examples/vim.html | 47 ++++++++++++++++++++++++++++++++++ src/Cherry.config.js | 2 ++ src/Editor.js | 3 +++ types/cherry.d.ts | 2 ++ types/editor.d.ts | 1 + 9 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 examples/vim.html diff --git a/README.CN.md b/README.CN.md index 43a285aaa..20267cb6d 100644 --- a/README.CN.md +++ b/README.CN.md @@ -28,6 +28,7 @@ - [表格编辑](https://tencent.github.io/cherry-markdown/examples/table.html) - [标题自动序号](https://tencent.github.io/cherry-markdown/examples/head_num.html) - [流式输入模式(AI chart场景)](https://tencent.github.io/cherry-markdown/examples/ai_chat.html) +- [VIM 编辑模式](https://tencent.github.io/cherry-markdown/examples/vim.html) ----- diff --git a/README.md b/README.md index 02259c2f9..567614caf 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,7 @@ English | [简体中文](./README.CN.md) - [table wysiwyg](https://tencent.github.io/cherry-markdown/examples/table.html) - [headers with auto num](https://tencent.github.io/cherry-markdown/examples/head_num.html) - [流式输入模式(AI chart场景)](https://tencent.github.io/cherry-markdown/examples/ai_chat.html) +- [VIM 编辑模式](https://tencent.github.io/cherry-markdown/examples/vim.html) ----- diff --git a/examples/markdown/basic.md b/examples/markdown/basic.md index 78102cc6c..c5ff70040 100644 --- a/examples/markdown/basic.md +++ b/examples/markdown/basic.md @@ -14,6 +14,8 @@ - [表格所见即所得编辑尺寸](table.html){target=_blank} - [标题自动序号](head_num.html){target=_blank} - [流式输入模式(AI chart场景)](ai_chat.html){target=_blank} +- [VIM 编辑模式](vim.html){target=_blank} + # Cherry Markdown { 简明手册 | jiǎn míng shǒu cè } diff --git a/examples/scripts/index-demo.js b/examples/scripts/index-demo.js index 031f2f881..a25ce9a76 100644 --- a/examples/scripts/index-demo.js +++ b/examples/scripts/index-demo.js @@ -179,7 +179,7 @@ var basicConfig = { '|', 'formula', { - insert: ['image', 'audio', 'video', 'link', 'hr', 'br', 'code', 'formula', 'toc', 'table', 'pdf', 'word', 'ruby'], + insert: ['image', 'audio', 'video', 'link', 'hr', 'br', 'code', 'formula', 'toc', 'table', 'pdf', 'word'], }, 'graph', 'customMenuTable', diff --git a/examples/vim.html b/examples/vim.html new file mode 100644 index 000000000..f51b66d3f --- /dev/null +++ b/examples/vim.html @@ -0,0 +1,47 @@ + + + + + VIM demo - Cherry Editor + + + + + + +
+ + + + diff --git a/src/Cherry.config.js b/src/Cherry.config.js index 7243af6f3..15b4ca0de 100644 --- a/src/Cherry.config.js +++ b/src/Cherry.config.js @@ -260,6 +260,8 @@ const defaultConfig = { defaultModel: 'edit&preview', // 粘贴时是否自动将html转成markdown convertWhenPaste: true, + // 快捷键风格,目前仅支持 sublime 和 vim + keyMap: 'sublime', codemirror: { // 是否自动focus 默认为true autofocus: true, diff --git a/src/Editor.js b/src/Editor.js index 25ed247dd..2babecb15 100644 --- a/src/Editor.js +++ b/src/Editor.js @@ -25,6 +25,7 @@ import 'codemirror/addon/edit/matchtags'; import 'codemirror/addon/search/searchcursor'; import 'codemirror/addon/display/placeholder'; import 'codemirror/keymap/sublime'; +import 'codemirror/keymap/vim'; import 'cm-search-replace/src/search'; import 'codemirror/addon/scroll/annotatescrollbar'; @@ -65,6 +66,7 @@ export default class Editor { wrapperDom: null, autoScrollByCursor: true, convertWhenPaste: true, + keyMap: 'sublime', showFullWidthMark: true, showSuggestList: true, codemirror: { @@ -110,6 +112,7 @@ export default class Editor { Object.assign(this.options.codemirror, codemirror); } Object.assign(this.options, restOptions); + this.options.codemirror.keyMap = this.options.keyMap; this.$cherry = this.options.$cherry; this.instanceId = this.$cherry.getInstanceId(); } diff --git a/types/cherry.d.ts b/types/cherry.d.ts index d9a3a3b99..4b519d09a 100644 --- a/types/cherry.d.ts +++ b/types/cherry.d.ts @@ -163,6 +163,8 @@ export interface CherryEditorOptions { defaultModel?: EditorMode; /** 粘贴时是否自动将html转成markdown */ convertWhenPaste?: boolean; + /** 快捷键风格,目前仅支持 sublime 和 vim */ + keyMap?: 'sublime' | 'vim'; /** 透传给codemirror的配置项 */ codemirror?: object; /** 书写风格,normal 普通 | typewriter 打字机 | focus 专注,默认normal */ diff --git a/types/editor.d.ts b/types/editor.d.ts index c47d82ed4..101412d95 100644 --- a/types/editor.d.ts +++ b/types/editor.d.ts @@ -46,6 +46,7 @@ export type EditorConfiguration = { toolbars: any; value?: string; convertWhenPaste?: boolean; + keyMap?: 'sublime' | 'vim'; // 快捷键风格,目前仅支持 sublime 和 vim keepDocumentScrollAfterInit?: boolean; /** 是否高亮全角符号 ·|¥|、|:|“|”|【|】|(|)|《|》 */ showFullWidthMark?: boolean; From c1bed21cec99000f9a71f78f557500cafde6a7e3 Mon Sep 17 00:00:00 2001 From: saraph1nes Date: Wed, 19 Jun 2024 00:10:46 +0800 Subject: [PATCH 04/42] =?UTF-8?q?feat:=20#794=20=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E6=94=AF=E6=8C=81pr=E9=A2=84=E8=A7=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/build.yml | 22 +++++++ .github/workflows/pr-viewer.yml | 113 ++++++++++++++++++++++++++++++++ 2 files changed, 135 insertions(+) create mode 100644 .github/workflows/pr-viewer.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5030c607a..b2c4dfb99 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -37,6 +37,28 @@ jobs: uses: borales/actions-yarn@v3.0.0 with: cmd: build + + - name: Archive build dist + if: matrix.node-version == '16.x' + uses: actions/upload-artifact@v4 + with: + name: build-dist + path: dist + + - name: Archive examples + if: matrix.node-version == '16.x' + uses: actions/upload-artifact@v4 + with: + name: build-examples + path: examples # - uses: borales/actions-yarn@v2.3.0 # with: # cmd: test + + review: + needs: build + permissions: write-all + uses: ./.github/workflows/pr-viewer.yml + # inherit the secrets from the parent workflow + # https://docs.github.com/actions/using-workflows/reusing-workflows#using-inputs-and-secrets-in-a-reusable-workflow + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/pr-viewer.yml b/.github/workflows/pr-viewer.yml new file mode 100644 index 000000000..a69a6a8ea --- /dev/null +++ b/.github/workflows/pr-viewer.yml @@ -0,0 +1,113 @@ +name: PR Reviewer + +on: + workflow_call: + +jobs: + upload: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Print PR details + run: | + echo "The PR ID is ${{ github.event.pull_request.id }}" + echo "The PR number is ${{ github.event.pull_request.number }}" + echo "The PR title is ${{ github.event.pull_request.title }}" + echo "The PR branch is ${{ github.event.pull_request.head.ref }}" + + - run: npm install cos-nodejs-sdk-v5 + + - name: Download build dist + uses: actions/download-artifact@v4 + with: + name: build-dist + path: dist + + - name: Download build artifact + uses: actions/download-artifact@v4 + with: + name: build-examples + path: examples + + - name: Upload to COS + uses: actions/github-script@v7 + with: + script: | + const COS = require('cos-nodejs-sdk-v5'); + const fs = require('fs'); + const path = require('path'); + + const cos = new COS({ + SecretId: '${{ secrets.COS_SECRETID }}', + SecretKey: '${{ secrets.COS_SECRETKEY }}', + }); + + const uploadDirectory = (directoryPath, keyPrefix) => { + const uploadPromises = []; + const files = fs.readdirSync(directoryPath); + files.forEach(file => { + const filePath = path.join(directoryPath, file); + const key = `${keyPrefix}/${file}`; + if (fs.lstatSync(filePath).isDirectory()) { + uploadPromises.push(uploadDirectory(filePath, key)); + } else { + uploadPromises.push(uploadFile(filePath, key)); + } + }); + return Promise.all(uploadPromises); + }; + + const uploadFile = (filePath, key) => { + return new Promise((resolve, reject) => { + cos.uploadFile({ + Bucket: 'cherry-markdown-dev-1301618266', + Region: 'ap-shanghai', + Key: key, + FilePath: filePath, + SliceSize: 1024 * 1024 * 5, /* 触发分块上传的阈值,超过5MB使用分块上传,非必须 */ + ContentDisposition: 'inline', + CacheControl: 'no-cache', + Headers: { + 'Cache-control': 'no-cache', + 'Content-Disposition': 'inline', + }, + }, function(err, data) { + if (err) { + reject(err); + } else { + resolve(data); + } + }); + }); + }; + + (async () => { + try { + await uploadDirectory('dist', 'pr${{ github.event.pull_request.number }}/dist'); + await uploadDirectory('examples', 'pr${{ github.event.pull_request.number }}/examples'); + console.log('Upload success'); + } catch (err) { + console.error('Upload failed:', err); + } + })(); + + - name: Add Comment + uses: actions/github-script@v7 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + const response = await github.request('POST /repos/{owner}/{repo}/issues/{issue_number}/comments', { + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + body: ` + ### 【预览链接】 + + 通过下方链接查看效果 + + - https://cherry-markdown-dev-1301618266.cos-website.ap-shanghai.myqcloud.com/pr${{ github.event.pull_request.number }}/examples/index.html + ` + }); From d26a3bec891ed93115210d94f71cdbfa38c2c884 Mon Sep 17 00:00:00 2001 From: Leo Xia <52569690+Saraph1nes@users.noreply.github.com> Date: Sat, 29 Jun 2024 20:26:04 +0800 Subject: [PATCH 05/42] =?UTF-8?q?feat:=20#794=20=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E6=94=AF=E6=8C=81pr=E9=A2=84=E8=A7=88=20(#816)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: saraph1nes --- .github/workflows/build.yml | 22 +++++++ .github/workflows/pr-viewer.yml | 113 ++++++++++++++++++++++++++++++++ 2 files changed, 135 insertions(+) create mode 100644 .github/workflows/pr-viewer.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5030c607a..b2c4dfb99 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -37,6 +37,28 @@ jobs: uses: borales/actions-yarn@v3.0.0 with: cmd: build + + - name: Archive build dist + if: matrix.node-version == '16.x' + uses: actions/upload-artifact@v4 + with: + name: build-dist + path: dist + + - name: Archive examples + if: matrix.node-version == '16.x' + uses: actions/upload-artifact@v4 + with: + name: build-examples + path: examples # - uses: borales/actions-yarn@v2.3.0 # with: # cmd: test + + review: + needs: build + permissions: write-all + uses: ./.github/workflows/pr-viewer.yml + # inherit the secrets from the parent workflow + # https://docs.github.com/actions/using-workflows/reusing-workflows#using-inputs-and-secrets-in-a-reusable-workflow + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/pr-viewer.yml b/.github/workflows/pr-viewer.yml new file mode 100644 index 000000000..a69a6a8ea --- /dev/null +++ b/.github/workflows/pr-viewer.yml @@ -0,0 +1,113 @@ +name: PR Reviewer + +on: + workflow_call: + +jobs: + upload: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Print PR details + run: | + echo "The PR ID is ${{ github.event.pull_request.id }}" + echo "The PR number is ${{ github.event.pull_request.number }}" + echo "The PR title is ${{ github.event.pull_request.title }}" + echo "The PR branch is ${{ github.event.pull_request.head.ref }}" + + - run: npm install cos-nodejs-sdk-v5 + + - name: Download build dist + uses: actions/download-artifact@v4 + with: + name: build-dist + path: dist + + - name: Download build artifact + uses: actions/download-artifact@v4 + with: + name: build-examples + path: examples + + - name: Upload to COS + uses: actions/github-script@v7 + with: + script: | + const COS = require('cos-nodejs-sdk-v5'); + const fs = require('fs'); + const path = require('path'); + + const cos = new COS({ + SecretId: '${{ secrets.COS_SECRETID }}', + SecretKey: '${{ secrets.COS_SECRETKEY }}', + }); + + const uploadDirectory = (directoryPath, keyPrefix) => { + const uploadPromises = []; + const files = fs.readdirSync(directoryPath); + files.forEach(file => { + const filePath = path.join(directoryPath, file); + const key = `${keyPrefix}/${file}`; + if (fs.lstatSync(filePath).isDirectory()) { + uploadPromises.push(uploadDirectory(filePath, key)); + } else { + uploadPromises.push(uploadFile(filePath, key)); + } + }); + return Promise.all(uploadPromises); + }; + + const uploadFile = (filePath, key) => { + return new Promise((resolve, reject) => { + cos.uploadFile({ + Bucket: 'cherry-markdown-dev-1301618266', + Region: 'ap-shanghai', + Key: key, + FilePath: filePath, + SliceSize: 1024 * 1024 * 5, /* 触发分块上传的阈值,超过5MB使用分块上传,非必须 */ + ContentDisposition: 'inline', + CacheControl: 'no-cache', + Headers: { + 'Cache-control': 'no-cache', + 'Content-Disposition': 'inline', + }, + }, function(err, data) { + if (err) { + reject(err); + } else { + resolve(data); + } + }); + }); + }; + + (async () => { + try { + await uploadDirectory('dist', 'pr${{ github.event.pull_request.number }}/dist'); + await uploadDirectory('examples', 'pr${{ github.event.pull_request.number }}/examples'); + console.log('Upload success'); + } catch (err) { + console.error('Upload failed:', err); + } + })(); + + - name: Add Comment + uses: actions/github-script@v7 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + const response = await github.request('POST /repos/{owner}/{repo}/issues/{issue_number}/comments', { + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + body: ` + ### 【预览链接】 + + 通过下方链接查看效果 + + - https://cherry-markdown-dev-1301618266.cos-website.ap-shanghai.myqcloud.com/pr${{ github.event.pull_request.number }}/examples/index.html + ` + }); From f72848760d50142bac1defe46831cd1de15c360a Mon Sep 17 00:00:00 2001 From: saraph1nes Date: Sun, 30 Jun 2024 17:53:08 +0800 Subject: [PATCH 06/42] =?UTF-8?q?feat:=20=E8=AE=BE=E7=BD=AEactions?= =?UTF-8?q?=E6=9D=83=E9=99=90=EF=BC=8C=E6=94=AF=E6=8C=81pr=E6=9E=84?= =?UTF-8?q?=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/build.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b2c4dfb99..df5d89550 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,12 +6,17 @@ name: Package Build on: push: branches: [main, dev] - pull_request: + # 由 pull_request_target 事件触发的工作流中,GITHUB_TOKEN 被授予了对仓库的读写访问权限。 + # 请注意限制每个作业的权限! + # https://docs.github.com/actions/using-jobs/assigning-permissions-to-jobs + pull_request_target: branches: [main, dev] jobs: build: runs-on: ubuntu-latest + # 将权限设置为 `read-all`,以防止工作流意外地对仓库进行写操作 + permissions: read-all strategy: matrix: @@ -57,6 +62,7 @@ jobs: review: needs: build + # 需要写权限才能在相应的PR中创建评论 permissions: write-all uses: ./.github/workflows/pr-viewer.yml # inherit the secrets from the parent workflow From 9214bd47caf8abbd4cc5155d7cc72a2ae8adc781 Mon Sep 17 00:00:00 2001 From: xiayuxuan Date: Sun, 30 Jun 2024 22:20:13 +0800 Subject: [PATCH 07/42] =?UTF-8?q?fix:=20github=20actions=20build=E6=8E=92?= =?UTF-8?q?=E9=99=A4=E6=8E=89push?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index df5d89550..2c502f36a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,6 +14,8 @@ on: jobs: build: + # do not run on PRs in forks + if: github.repository == 'Tencent/cherry-markdown' runs-on: ubuntu-latest # 将权限设置为 `read-all`,以防止工作流意外地对仓库进行写操作 permissions: read-all @@ -64,6 +66,7 @@ jobs: needs: build # 需要写权限才能在相应的PR中创建评论 permissions: write-all + if: github.event_name == 'pull_request_target' uses: ./.github/workflows/pr-viewer.yml # inherit the secrets from the parent workflow # https://docs.github.com/actions/using-workflows/reusing-workflows#using-inputs-and-secrets-in-a-reusable-workflow From 564091907424c54d504131783f81088736237abb Mon Sep 17 00:00:00 2001 From: xiayuxuan Date: Sun, 30 Jun 2024 23:21:59 +0800 Subject: [PATCH 08/42] =?UTF-8?q?revert:=20=E5=9B=9E=E9=80=80build.yml?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E6=94=B9=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/build.yml | 33 +------------------------ .github/workflows/pr-viewer.yml | 43 ++++++++++++++++++++++++++++++++- 2 files changed, 43 insertions(+), 33 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2c502f36a..5030c607a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,19 +6,12 @@ name: Package Build on: push: branches: [main, dev] - # 由 pull_request_target 事件触发的工作流中,GITHUB_TOKEN 被授予了对仓库的读写访问权限。 - # 请注意限制每个作业的权限! - # https://docs.github.com/actions/using-jobs/assigning-permissions-to-jobs - pull_request_target: + pull_request: branches: [main, dev] jobs: build: - # do not run on PRs in forks - if: github.repository == 'Tencent/cherry-markdown' runs-on: ubuntu-latest - # 将权限设置为 `read-all`,以防止工作流意外地对仓库进行写操作 - permissions: read-all strategy: matrix: @@ -44,30 +37,6 @@ jobs: uses: borales/actions-yarn@v3.0.0 with: cmd: build - - - name: Archive build dist - if: matrix.node-version == '16.x' - uses: actions/upload-artifact@v4 - with: - name: build-dist - path: dist - - - name: Archive examples - if: matrix.node-version == '16.x' - uses: actions/upload-artifact@v4 - with: - name: build-examples - path: examples # - uses: borales/actions-yarn@v2.3.0 # with: # cmd: test - - review: - needs: build - # 需要写权限才能在相应的PR中创建评论 - permissions: write-all - if: github.event_name == 'pull_request_target' - uses: ./.github/workflows/pr-viewer.yml - # inherit the secrets from the parent workflow - # https://docs.github.com/actions/using-workflows/reusing-workflows#using-inputs-and-secrets-in-a-reusable-workflow - secrets: inherit \ No newline at end of file diff --git a/.github/workflows/pr-viewer.yml b/.github/workflows/pr-viewer.yml index a69a6a8ea..a5bb253cd 100644 --- a/.github/workflows/pr-viewer.yml +++ b/.github/workflows/pr-viewer.yml @@ -1,9 +1,50 @@ name: PR Reviewer on: - workflow_call: + workflow_dispatch: jobs: + build: + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [16.x] + # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v2 + with: + node-version: ${{ matrix.node-version }} + cache: 'yarn' + - name: Install dependencies + uses: borales/actions-yarn@v3.0.0 + with: + cmd: install + - name: Eslint + uses: borales/actions-yarn@v3.0.0 + with: + cmd: lint:ci + - name: Run Build + uses: borales/actions-yarn@v3.0.0 + with: + cmd: build + - name: Archive build dist + if: matrix.node-version == '16.x' + uses: actions/upload-artifact@v4 + with: + name: build-dist + path: dist + + - name: Archive examples + if: matrix.node-version == '16.x' + uses: actions/upload-artifact@v4 + with: + name: build-examples + path: examples + upload: runs-on: ubuntu-latest From 1e61fe45b24f01b7b34c3ccfa58b4d4178a16d9c Mon Sep 17 00:00:00 2001 From: Jake W Date: Thu, 4 Jul 2024 14:04:22 +0800 Subject: [PATCH 09/42] Updated typescript version to 4.7.2 (#825) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ae94a9d26..a8bda8dff 100644 --- a/package.json +++ b/package.json @@ -144,7 +144,7 @@ "standard-version": "^9.3.2", "ts-jest": "^27.1.1", "ts-node": "^10.7.0", - "typescript": "4.5.5", + "typescript": "4.7.2", "virtual-dom": "^2.1.1" }, "dependencies": { From adc310be0926912122be6405da258077ff69e28d Mon Sep 17 00:00:00 2001 From: yuxuanxia Date: Tue, 2 Jul 2024 11:02:41 +0800 Subject: [PATCH 10/42] =?UTF-8?q?feat:=20=E8=B0=83=E6=95=B4pr-viewer?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{pr-viewer.yml => pr-reviewer.yml} | 56 ++---------- .github/workflows/pr-test.yml | 85 +++++++++++++++++++ 2 files changed, 91 insertions(+), 50 deletions(-) rename .github/workflows/{pr-viewer.yml => pr-reviewer.yml} (70%) create mode 100644 .github/workflows/pr-test.yml diff --git a/.github/workflows/pr-viewer.yml b/.github/workflows/pr-reviewer.yml similarity index 70% rename from .github/workflows/pr-viewer.yml rename to .github/workflows/pr-reviewer.yml index a5bb253cd..cf313115f 100644 --- a/.github/workflows/pr-viewer.yml +++ b/.github/workflows/pr-reviewer.yml @@ -1,51 +1,9 @@ name: PR Reviewer -on: - workflow_dispatch: +on: workflow_call jobs: - build: - runs-on: ubuntu-latest - - strategy: - matrix: - node-version: [16.x] - # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ - - steps: - - uses: actions/checkout@v2 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v2 - with: - node-version: ${{ matrix.node-version }} - cache: 'yarn' - - name: Install dependencies - uses: borales/actions-yarn@v3.0.0 - with: - cmd: install - - name: Eslint - uses: borales/actions-yarn@v3.0.0 - with: - cmd: lint:ci - - name: Run Build - uses: borales/actions-yarn@v3.0.0 - with: - cmd: build - - name: Archive build dist - if: matrix.node-version == '16.x' - uses: actions/upload-artifact@v4 - with: - name: build-dist - path: dist - - - name: Archive examples - if: matrix.node-version == '16.x' - uses: actions/upload-artifact@v4 - with: - name: build-examples - path: examples - - upload: + review: runs-on: ubuntu-latest steps: @@ -104,8 +62,8 @@ jobs: const uploadFile = (filePath, key) => { return new Promise((resolve, reject) => { cos.uploadFile({ - Bucket: 'cherry-markdown-dev-1301618266', - Region: 'ap-shanghai', + Bucket: 'cherrymd-1301618266', + Region: 'ap-singapore', Key: key, FilePath: filePath, SliceSize: 1024 * 1024 * 5, /* 触发分块上传的阈值,超过5MB使用分块上传,非必须 */ @@ -147,8 +105,6 @@ jobs: body: ` ### 【预览链接】 - 通过下方链接查看效果 - - - https://cherry-markdown-dev-1301618266.cos-website.ap-shanghai.myqcloud.com/pr${{ github.event.pull_request.number }}/examples/index.html + - https://cherrymd.com/pr${{ github.event.pull_request.number }}/examples/index.html ` - }); + }); \ No newline at end of file diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml new file mode 100644 index 000000000..30665b801 --- /dev/null +++ b/.github/workflows/pr-test.yml @@ -0,0 +1,85 @@ +name: PR Test + +on: + pull_request_target: + branches: [main, dev] + +jobs: + build: + runs-on: ubuntu-latest + env: + BASE_SHA: ${{ github.event.pull_request.base.sha }} + HEAD_SHA: ${{ github.event.pull_request.head.sha }} + + steps: + - uses: actions/checkout@v2 + with: + ref: '${{ env.HEAD_SHA }}' + + - name: Get changed files and operations + run: | + # 使用 GitHub API 获取变更文件列表及其操作 + DIFF_DOCUMENTS=$(gh api repos/${{ github.repository }}/compare/${{ env.BASE_SHA }}...${{ env.HEAD_SHA }} \ + --jq '.files | .[] | select(.status|IN("added", "modified", "renamed", "copied", "changed")) | .filename') + echo "Changed files and operations: ${DIFF_DOCUMENTS}" + + # 忽略 .github/workflows 下的文件 + GIT_DIFF_FILES=$(echo "${DIFF_DOCUMENTS}" | grep -vE '^\.github\/workflows\/.*' | xargs) + echo "GIT_DIFF_FILES=${GIT_DIFF_FILES}" >> $GITHUB_ENV + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - uses: actions/checkout@v2 + if: ${{ env.GIT_DIFF_FILES }} + with: + repository: ${{ github.repository }} + ref: '${{ env.BASE_SHA }}' + path: base-repo + + - name: Replace changed files + if: ${{ env.GIT_DIFF_FILES }} + run: | + for file in ${{ env.GIT_DIFF_FILES }}; do + cp "$file" "base-repo/$file" + done + + - name: Use Node.js 16.x + uses: actions/setup-node@v2 + with: + node-version: 16.x + cache: 'yarn' + + - name: Install dependencies + uses: borales/actions-yarn@v3.0.0 + with: + cmd: install + + - name: Lint Changed Files + if: ${{ env.GIT_DIFF_FILES }} + run: | + for file in ${{ env.GIT_DIFF_FILES }}; do + yarn eslint "$file" + done + + - name: Run Build + uses: borales/actions-yarn@v3.0.0 + with: + cmd: build + + - name: Archive build dist + uses: actions/upload-artifact@v4 + with: + name: build-dist + path: dist + + - name: Archive examples + uses: actions/upload-artifact@v4 + with: + name: build-examples + path: examples + + review: + needs: build + permissions: write-all + uses: ./.github/workflows/pr-reviewer.yml + secrets: inherit From 837bf153f68e3c13c8a183ea71d2f5daf2d96a5c Mon Sep 17 00:00:00 2001 From: ufec Date: Sat, 6 Jul 2024 23:08:37 +0800 Subject: [PATCH 11/42] =?UTF-8?q?feat(ShortcutKey):=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=BF=AB=E6=8D=B7=E9=94=AE=E9=85=8D=E7=BD=AE=E8=83=BD=E5=8A=9B?= =?UTF-8?q?=20Closes=20#571?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Cherry.js | 21 ++ src/Factory.js | 3 + src/locales/en_US.js | 3 +- src/locales/zh_CN.js | 3 +- src/sass/cherry.scss | 1 + src/sass/components/shortcut_key_config.scss | 53 ++++ src/toolbars/MenuBase.js | 61 +++- src/toolbars/ShortcutKeyConfigPanel.js | 233 ++++++++++++++ src/toolbars/Toolbar.js | 48 ++- src/toolbars/hooks/Bold.js | 17 +- src/toolbars/hooks/Code.js | 17 +- src/toolbars/hooks/Formula.js | 18 +- src/toolbars/hooks/Header.js | 34 +- src/toolbars/hooks/Image.js | 17 +- src/toolbars/hooks/Italic.js | 18 +- src/toolbars/hooks/Link.js | 17 +- src/toolbars/hooks/Publish.js | 2 +- src/toolbars/hooks/Settings.js | 54 +++- src/toolbars/hooks/Size.js | 26 +- src/toolbars/hooks/Strikethrough.js | 14 +- src/toolbars/hooks/Underline.js | 17 +- src/utils/shortcutKey.js | 308 +++++++++++++++++++ types/cherry.d.ts | 18 ++ types/editor.d.ts | 3 + 24 files changed, 916 insertions(+), 90 deletions(-) create mode 100644 src/sass/components/shortcut_key_config.scss create mode 100644 src/toolbars/ShortcutKeyConfigPanel.js create mode 100644 src/utils/shortcutKey.js diff --git a/src/Cherry.js b/src/Cherry.js index 6a9df60b6..2e6f848d9 100644 --- a/src/Cherry.js +++ b/src/Cherry.js @@ -35,6 +35,7 @@ import locales from '@/locales/index'; import { urlProcessorProxy } from './UrlCache'; import { CherryStatic } from './CherryStatic'; import { LIST_CONTENT } from '@/utils/regexp'; +import { storageKeyMap, clearAllStorageKeyMap } from './utils/shortcutKey'; /** @typedef {import('~types/cherry').CherryOptions} CherryOptions */ export default class Cherry extends CherryStatic { @@ -110,6 +111,26 @@ export default class Cherry extends CherryStatic { */ this.engine = new Engine(this.options, this); this.init(); + const toolbarShortcutKeyMap = this.toolbar?.shortcutKeyMap ?? {}; + if ( + toolbarShortcutKeyMap && + typeof toolbarShortcutKeyMap === 'object' && + Object.keys(toolbarShortcutKeyMap).length + ) { + const cacheShortcutKeyMap = Object.entries(toolbarShortcutKeyMap) + .filter(([_, value]) => value && typeof value === 'object') + .reduce((prev, curr) => { + const [key, value] = curr; + if (key in prev) { + throw Error(`Duplicate shortcut key: ${key}`); + } + return (prev[key] = value), prev; + }, {}); + storageKeyMap(this.instanceId, cacheShortcutKeyMap); + this.clearAllStorageKeyMap = clearAllStorageKeyMap; + // 页面关闭时清除缓存 + window.addEventListener('unload', this.clearAllStorageKeyMap); + } } /** diff --git a/src/Factory.js b/src/Factory.js index aa1ef1c91..f09704058 100644 --- a/src/Factory.js +++ b/src/Factory.js @@ -167,6 +167,9 @@ export function createMenuHook(name, options) { } get shortcutKeys() { + console.warn( + 'shortcutKeys will deprecated in the future, please use shortcutKeyMap instead, get more info at https://github.com/Tencent/cherry-markdown/wiki', + ); if (filteredOptions.shortcutKeys) { return filteredOptions.shortcutKeys; } diff --git a/src/locales/en_US.js b/src/locales/en_US.js index 5df6407ea..0a496477c 100644 --- a/src/locales/en_US.js +++ b/src/locales/en_US.js @@ -75,7 +75,7 @@ export default { pinyin: 'Pinyin', pastePlain: 'Paste as Plain Text', pasteMarkdown: 'Paste as Markdown', - hide: 'Hide (ctrl+0)', + hide: 'Hide Toolbar', exportToPdf: 'Export to PDF', exportScreenshot: 'Screenshot', exportMarkdownFile: 'Export Markdown File', @@ -99,4 +99,5 @@ export default { superLarge: 'Super Large', detailDefaultContent: 'Click to expand more\nContent\n++- Expand by default\nContent\n++ Collapse by default\nContent', + editShortcutKeyConfigTip: 'double click shortcut key area to edit', }; diff --git a/src/locales/zh_CN.js b/src/locales/zh_CN.js index bee5674a3..07979c615 100644 --- a/src/locales/zh_CN.js +++ b/src/locales/zh_CN.js @@ -76,7 +76,7 @@ export default { file: '文件', pastePlain: '粘贴为纯文本格式', // 粘贴为纯文本格式 pasteMarkdown: '粘贴为markdown格式', // 粘贴为markdown格式 - hide: '隐藏(ctrl+0)', // 隐藏(ctrl+0) + hide: '隐藏工具栏', // 隐藏 exportToPdf: '导出PDF', // 导出PDF exportScreenshot: '导出长图', // 导出长图 exportMarkdownFile: '导出markdown', // 导出markdown文件 @@ -102,4 +102,5 @@ export default { large: '大', superLarge: '特大', detailDefaultContent: '点击展开更多\n内容\n++- 默认展开\n内容\n++ 默认收起\n内容', + editShortcutKeyConfigTip: '双击快捷键区域编辑快捷键', }; diff --git a/src/sass/cherry.scss b/src/sass/cherry.scss index e17defd2b..cb6bc6540 100644 --- a/src/sass/cherry.scss +++ b/src/sass/cherry.scss @@ -6,6 +6,7 @@ @import './print.scss'; @import './bubble_formula.scss'; @import './formula_utils_bubble.scss'; +@import './components/shortcut_key_config.scss'; @mixin cherryFont { font-family: $fontFamily; diff --git a/src/sass/components/shortcut_key_config.scss b/src/sass/components/shortcut_key_config.scss new file mode 100644 index 000000000..7b3f3b492 --- /dev/null +++ b/src/sass/components/shortcut_key_config.scss @@ -0,0 +1,53 @@ +.cherry-shortcut-key-config-panel-wrapper { + width: 250px !important; + height: 400px !important; + .cherry-shortcut-key-config-panel-inner { + width: 100%; + height: 100%; + overflow: auto; + // 隐藏滚动条 + &::-webkit-scrollbar { + display: none; + } + .shortcut-top { + width: 100%; + } + .cherry-shortcut-key-config-panel-ul { + // 去掉列表样式 + list-style: none; + padding: 0; + margin: 0; + display: flex; + flex-direction: column; + gap: 10px; + + .shortcut-key-item { + display: flex; + justify-content: space-between; + // .shortcut-key-config-panel-name { + // &:hover { + // color: #333; + // } + // } + .shortcut-key-config-panel-kbd { + display: flex; + gap: 10px; + .keyboard-key { + border-radius: 3px; + border-style: solid; + border-width: 1px; + display: inline-block; + font-size: 11px; + margin: 0 2px; + padding: 3px 5px; + vertical-align: middle; + line-height: 20px; + margin: 4px; + width: 10px; + text-align: center; + } + } + } + } + } +} diff --git a/src/toolbars/MenuBase.js b/src/toolbars/MenuBase.js index 5957a7d98..cbfd7b42e 100644 --- a/src/toolbars/MenuBase.js +++ b/src/toolbars/MenuBase.js @@ -18,6 +18,7 @@ import Logger from '@/Logger'; import { escapeHTMLSpecialCharOnce as $e } from '@/utils/sanitize'; import { createElement } from '@/utils/dom'; import NestedError from '@/utils/error'; +import { updateStorageKeyMap } from '@/utils/shortcutKey'; /** * @typedef {Object} SubMenuConfigItem @@ -25,6 +26,11 @@ import NestedError from '@/utils/error'; * @property {string=} iconName - 子菜单项图标名称 * @property {function(MouseEvent): any} onclick - 子菜单项点击事件 * @property {string=} icon - 子菜单项图标(url) + * @property {boolean=} [disabledHideAllSubMenu=false] - 是否禁用后续调用hideAllSubMenu + */ + +/** + * @typedef {Record} HookShortcutKeyMap */ /** @@ -55,6 +61,10 @@ function getPosition(targetDom, positionModel = 'absolute') { * @typedef {import('@/Editor').default} Editor */ +/** + * @typedef {Partial & {$currentMenuOptions?:import('~types/menus').CustomMenuConfig}} MenuBaseConstructorParams + */ + /** * @class MenuBase */ @@ -66,8 +76,7 @@ export default class MenuBase { _onClick; /** - * - * @param {Partial & {$currentMenuOptions?:import('~types/menus').CustomMenuConfig}} $cherry + * @param {MenuBaseConstructorParams} $cherry */ constructor($cherry) { this.$cherry = $cherry; @@ -101,6 +110,11 @@ export default class MenuBase { // eslint-disable-next-line no-underscore-dangle this.fire = this._onClick; } + /** + * 快捷键map映射 + * @type {HookShortcutKeyMap} + */ + this.shortcutKeyMap = {}; } getSubMenuConfig() { @@ -427,10 +441,45 @@ export default class MenuBase { return selection; } + /** + * 兼容之前的写法,但不支持配置 + */ get shortcutKeys() { return []; } + /** + * @param {HookShortcutKeyMap} value 新值 + */ + setShortcutKeyMap(value) { + if (!value || typeof value !== 'object') { + throw new Error('shortcutKeyMap must be an object'); + } + this.shortcutKeyMap = value; + } + + /** + * 更新快捷键映射 + * @param {string} oldShortcutKey 旧的快捷键 + * @param {string} newShortcutKey 新的快捷键 + */ + updateShortcutKeyMap(oldShortcutKey, newShortcutKey) { + const old = this.shortcutKeyMap[oldShortcutKey]; + if (!old) { + return false; + } + // 删除旧值 + delete this.shortcutKeyMap[oldShortcutKey]; + const newValue = { + ...this.shortcutKeyMap, + [newShortcutKey]: old, + }; + // 更新内存中的映射 + this.shortcutKeyMap = newValue; + // 更新缓存中的映射 + updateStorageKeyMap(this.$cherry.instanceId, oldShortcutKey, newValue); + } + /** * 更新菜单图标 * @param {import('~types/menus').CustomMenuConfig['icon']} options 图标配置 @@ -508,6 +557,14 @@ export default class MenuBase { return getPosition(this.dom, this.positionModel); } + hide() { + this.dom.style.display = 'none'; + } + + show() { + this.dom.style.display = 'block'; + } + /** * 根据按钮获取按钮的父元素,这里父元素要绕过toolbar-(left|right)那一层 * @param {HTMLElement} dom 按钮元素 diff --git a/src/toolbars/ShortcutKeyConfigPanel.js b/src/toolbars/ShortcutKeyConfigPanel.js new file mode 100644 index 000000000..a10e985ec --- /dev/null +++ b/src/toolbars/ShortcutKeyConfigPanel.js @@ -0,0 +1,233 @@ +import { mac } from 'codemirror/src/util/browser'; +import { + getAllowedShortcutKey, + keyStackIsModifierkeys, + ENTER_KEY, + BACKSPACE_KEY, + keyStack2UniqueString, + shortcutCode2Key, + keyStack2UnPlatformUniqueString, +} from '@/utils/shortcutKey'; +import { createElement } from '@/utils/dom'; +/** + * 隐藏输入框,展示快捷键配置项 + * @param {Element} inputWrapper + * @param {HTMLElement} shortcutPanel + */ +function hiddenInputWrapper(inputWrapper, shortcutPanel) { + inputWrapper.setAttribute('style', 'display: none;'); + shortcutPanel.style.display = 'flex'; +} + +export default class ShortcutKeyConfigPanel { + /** + * + * @param {Partial & {$currentMenuOptions?:import('~types/menus').CustomMenuConfig}} $cherry + */ + constructor($cherry) { + this.$cherry = $cherry; + this.shortcutUlClassName = 'cherry-shortcut-key-config-panel-ul'; + this.shortcutUlId = this.shortcutUlClassName; + this.shortcutConfigPanelKbdClassName = 'shortcut-key-config-panel-kbd'; + this.shortcutKeyboardKeyClassName = 'keyboard-key'; + // 双击快捷键区域 + this.handleDbClick = (/** @type {MouseEvent} */ e) => { + if (e.target instanceof HTMLElement) { + if ( + e.target.classList.contains(this.shortcutConfigPanelKbdClassName) || + e.target.classList.contains(this.shortcutKeyboardKeyClassName) + ) { + const shortcutPanel = e.target.classList.contains(this.shortcutConfigPanelKbdClassName) + ? e.target + : e.target.parentElement; + // 隐藏展示快捷键的容器 + shortcutPanel.style.display = 'none'; + const inputWrapper = shortcutPanel.nextElementSibling; + // 显示输入框 + inputWrapper.setAttribute('style', 'display: block;'); + const inputElement = inputWrapper.querySelector('input'); + // 获取焦点 + inputElement.focus(); + inputElement.onblur = () => { + hiddenInputWrapper(inputWrapper, shortcutPanel); + inputElement.value = ''; + }; + /** @type {string[]} 按下的快捷键栈 */ + let keyStack = []; + inputElement.onkeydown = (/** @type {KeyboardEvent} */ e) => { + e.preventDefault(); + e.stopPropagation(); + if (e.key === ENTER_KEY || e.key === BACKSPACE_KEY) { + if (e.key === ENTER_KEY) { + const { hookname = '' } = shortcutPanel.parentElement?.dataset ?? {}; + const oldShortcutKeys = []; + for (let i = 0; i < shortcutPanel.children.length; i++) { + /** @type {HTMLDivElement} */ + // @ts-ignore + const element = shortcutPanel.children.item(i); + const { code } = element.dataset ?? {}; + if (code) { + oldShortcutKeys.push(code); + } + } + // 防止修改 + if (oldShortcutKeys.length === shortcutPanel.children.length) { + // 旧的shortcutKey用于在更新时比较,删除旧值 + const oldShortcutKey = keyStack2UniqueString(oldShortcutKeys); + if (hookname && this.$cherry?.toolbar?.menus?.hooks?.[hookname]) { + // 触发更新快捷键 + this.$cherry?.toolbar?.menus?.hooks?.[hookname].updateShortcutKeyMap( + oldShortcutKey, + keyStack2UniqueString(keyStack), + ); + // 取二者较大者 + const endIndex = Math.max(keyStack.length, shortcutPanel.children.length); + // 更新界面展示的快捷键 + for (let i = 0; i < endIndex; i++) { + const element = shortcutPanel.children.item(i); + // 如果当前快捷键栈不存在了,说明新的快捷键个数比上一次少,则应该删除当前element + if (!keyStack[i] && element) { + element.remove(); + continue; + } + const matchRes = shortcutCode2Key(keyStack[i], mac); + if (element) { + element.setAttribute('title', matchRes.tip); + element.textContent = matchRes.text; + element.setAttribute('data-code', keyStack[i]); + } else { + const matchRes = shortcutCode2Key(keyStack[i], mac); + const kbd = createElement('span', this.shortcutKeyboardKeyClassName, { + title: matchRes.tip, + }); + kbd.setAttribute('data-code', keyStack[i]); + kbd.innerText = matchRes.text; + shortcutPanel.appendChild(kbd); + } + } + } + } + hiddenInputWrapper(inputWrapper, shortcutPanel); + } else { + if (keyStack.length === 0) { + hiddenInputWrapper(inputWrapper, shortcutPanel); + } + // 退栈 + keyStack.pop(); + inputElement.value = keyStack2UnPlatformUniqueString(keyStack, mac); + } + } else { + keyStack = getAllowedShortcutKey(e); + if (!keyStackIsModifierkeys(keyStack) && Array.isArray(keyStack) && keyStack.length >= 2) { + inputElement.value = keyStack2UnPlatformUniqueString(keyStack, mac); + } + } + }; + } + } + }; + this.init(); + } + + init() { + if (this.$cherry?.toolbar?.shortcutKeyMap) { + this.dom = document.createElement('div'); + this.dom.className = [ + 'cherry-dropdown', + 'cherry-shortcut-key-config-panel', + 'cherry-shortcut-key-config-panel-wrapper', + ].join(' '); + this.dom.innerHTML = this.generateShortcutKeyConfigPanelHtmlStr(); + // 实例化后,将容器插入到富文本编辑器中,默认隐藏 + this.dom.style.display = 'none'; + this.$cherry.wrapperDom.append(this.dom); + } + } + + generateShortcutKeyConfigPanelHtmlStr() { + const liStr = Object.entries(this.$cherry.toolbar.shortcutKeyMap ?? {}) + .filter(([key, val]) => typeof val === 'object' && val) + .map(([key, val]) => { + const { hookName, aliasName, ...rest } = val; + let otherDataSet = ''; + if (rest && typeof rest === 'object') { + otherDataSet = Object.entries(rest) + .map(([otherField, fieldValue]) => `data-${otherField}=${fieldValue}`) + .join(' '); + } + return `
  • +
    ${aliasName}
    +
    ${key + ?.split('-') + .map((singalKey) => { + const matchRes = shortcutCode2Key(singalKey, mac); + const shortKey = matchRes ?? { + text: singalKey, + tip: singalKey, + }; + return `${shortKey.text}`; + }) + .join('')}
    + +
  • `; + }) + .join(''); + //
    + // + // + //
    + const ulStr = ` +
    +
    ${this.$cherry.locale.editShortcutKeyConfigTip}
    +
      ${liStr}
    +
    `; + return ulStr; + } + + /** + * 显示快捷键配置面板 + */ + show() { + this.dom.style.removeProperty('display'); + const ulWrapper = document.querySelector(`#${this.shortcutUlId}`); + if (ulWrapper instanceof HTMLUListElement) { + // 监听双击 + ulWrapper.addEventListener('dblclick', this.handleDbClick); + } + } + + hide() { + this.dom.style.display = 'none'; + const ulWrapper = document.querySelector(`#${this.shortcutUlId}`); + if (ulWrapper instanceof HTMLUListElement) { + // 销毁时取消监听 + ulWrapper.removeEventListener('dblclick', this.handleDbClick); + } + } + + isShow() { + return this.dom.style.display === 'block'; + } + + isHide() { + return this.dom.style.display === 'none'; + } + + /** + * 展示/隐藏快捷键配置面板 + * @param {HTMLElement} settingsDom + */ + toggle(settingsDom) { + if (!(settingsDom instanceof HTMLElement)) { + throw new Error(`settingsDom must be an instance of HTMLElement, but got: ${settingsDom}`); + } + const pos = settingsDom.getBoundingClientRect(); + if (this.isHide()) { + this.dom.style.left = `${pos.left + pos.width}px`; + this.dom.style.top = `${pos.top + pos.height}px`; + this.show(); + return; + } + return this.hide(); + } +} diff --git a/src/toolbars/Toolbar.js b/src/toolbars/Toolbar.js index c0646b132..8d12fe62d 100644 --- a/src/toolbars/Toolbar.js +++ b/src/toolbars/Toolbar.js @@ -17,6 +17,7 @@ import { mac } from 'codemirror/src/util/browser'; import HookCenter from './HookCenter'; import { createElement } from '@/utils/dom'; import Logger from '@/Logger'; +import { getAllowedShortcutKey, getStorageKeyMap, keyStack2UniqueString } from '@/utils/shortcutKey'; /** * @typedef {()=>void} Bold 向cherry编辑器中插入粗体语法 @@ -204,7 +205,9 @@ export default class Toolbar { if (subMenuConfig.length > 0) { subMenuConfig.forEach((config) => { const btn = this.menus.hooks[name].createSubBtnByConfig(config); - btn.addEventListener('click', () => this.hideAllSubMenu(), false); + if (!config?.disabledHideAllSubMenu) { + btn.addEventListener('click', () => this.hideAllSubMenu(), false); + } this.subMenus[name].appendChild(btn); }); } @@ -231,7 +234,6 @@ export default class Toolbar { * 展开/收起二级菜单 */ toggleSubMenu(name) { - console.log('name: ', name); if (!this.subMenus[name]) { // 如果没有二级菜单,则先画出来,然后再显示 this.hideAllSubMenu(); @@ -280,12 +282,24 @@ export default class Toolbar { */ collectShortcutKey() { if (this.options.shortcutKey && Object.keys(this.options.shortcutKey).length > 0) { + console.warn( + 'options.shortcutKey will deprecated in the future, please use shortcutKeyMap instead, get more info at https://github.com/Tencent/cherry-markdown/wiki', + ); this.shortcutKeyMap = this.options.shortcutKey; } else { this.menus.allMenusName.forEach((name) => { this.menus.hooks[name].shortcutKeys?.forEach((key) => { this.shortcutKeyMap[key] = name; }); + if (typeof this.menus.hooks[name].shortcutKeyMap === 'object' && this.menus.hooks[name].shortcutKeyMap) { + Object.entries(this.menus.hooks[name].shortcutKeyMap).forEach(([key, value]) => { + if (key in this.shortcutKeyMap) { + console.error(`The shortcut key ${key} is already registered`); + return; + } + this.shortcutKeyMap[key] = value; + }); + } }); } } @@ -314,6 +328,17 @@ export default class Toolbar { * @returns {boolean} 是否有对应的快捷键 */ matchShortcutKey(evt) { + const storageShortcutKeyMap = getStorageKeyMap(this.instanceId); + if (storageShortcutKeyMap) { + try { + const onKeyStack = getAllowedShortcutKey(evt); + const shortcutKey = keyStack2UniqueString(onKeyStack); + return !!storageShortcutKeyMap?.[shortcutKey]; + } catch (error) { + console.error(error); + return false; + } + } return !!this.shortcutKeyMap[this.getCurrentKey(evt)]; } @@ -322,8 +347,23 @@ export default class Toolbar { * @param {KeyboardEvent} evt */ fireShortcutKey(evt) { - const currentKey = this.getCurrentKey(evt); - this.menus.hooks[this.shortcutKeyMap[currentKey]]?.fire(evt, currentKey); + const storageShortcutKeyMap = getStorageKeyMap(this.instanceId); + let currentKey = ''; + let keyMap; + if (storageShortcutKeyMap) { + const onKeyStack = getAllowedShortcutKey(evt); + currentKey = keyStack2UniqueString(onKeyStack); + keyMap = storageShortcutKeyMap[currentKey]; + } else { + currentKey = this.getCurrentKey(evt); + keyMap = this.shortcutKeyMap[currentKey]; + } + if (typeof keyMap === 'string' && keyMap) { + this.menus.hooks[keyMap]?.fire(evt, currentKey); + } else if (typeof keyMap === 'object' && keyMap) { + const { hookName } = keyMap; + this.menus.hooks[hookName]?.fire(evt, currentKey); + } } /** diff --git a/src/toolbars/hooks/Bold.js b/src/toolbars/hooks/Bold.js index 96a3da2a3..35bd34a6b 100644 --- a/src/toolbars/hooks/Bold.js +++ b/src/toolbars/hooks/Bold.js @@ -14,13 +14,23 @@ * limitations under the License. */ import MenuBase from '@/toolbars/MenuBase'; +import { CONTROL_KEY, getKeyCode } from '@/utils/shortcutKey'; /** * 加粗按钮 */ export default class Bold extends MenuBase { + /** + * @param {import('@/toolbars/MenuBase').MenuBaseConstructorParams} $cherry + */ constructor($cherry) { super($cherry); this.setName('bold', 'bold'); + this.shortcutKeyMap = { + [`${CONTROL_KEY}-${getKeyCode('b')}`]: { + hookName: this.name, + aliasName: $cherry.locale[this.name], + }, + }; } /** @@ -60,11 +70,4 @@ export default class Bold extends MenuBase { }); return $selection.replace(/(^)([^\n]+)($)/gm, '$1**$2**$3'); } - - /** - * 声明绑定的快捷键,快捷键触发onClick - */ - get shortcutKeys() { - return ['Ctrl-b']; - } } diff --git a/src/toolbars/hooks/Code.js b/src/toolbars/hooks/Code.js index 318705fef..476ba1510 100644 --- a/src/toolbars/hooks/Code.js +++ b/src/toolbars/hooks/Code.js @@ -14,13 +14,23 @@ * limitations under the License. */ import MenuBase from '@/toolbars/MenuBase'; +import { CONTROL_KEY, getKeyCode } from '@/utils/shortcutKey'; /** * 插入代码块的按钮 */ export default class Code extends MenuBase { + /** + * @param {import('@/toolbars/MenuBase').MenuBaseConstructorParams} $cherry + */ constructor($cherry) { super($cherry); this.setName('code', 'code'); + this.shortcutKeyMap = { + [`${CONTROL_KEY}-${getKeyCode('k')}`]: { + hookName: this.name, + aliasName: this.$cherry.locale[this.name], + }, + }; } /** @@ -36,11 +46,4 @@ export default class Code extends MenuBase { }); return `\n\`\`\` \n${code}\n\`\`\`\n`; } - - /** - * 声明绑定的快捷键,快捷键触发onClick - */ - get shortcutKeys() { - return ['Ctrl-k']; - } } diff --git a/src/toolbars/hooks/Formula.js b/src/toolbars/hooks/Formula.js index 91bd80012..43daed385 100644 --- a/src/toolbars/hooks/Formula.js +++ b/src/toolbars/hooks/Formula.js @@ -15,17 +15,28 @@ */ import MenuBase from '@/toolbars/MenuBase'; import BubbleFormula from '../BubbleFormula'; +import { CONTROL_KEY, getKeyCode } from '@/utils/shortcutKey'; + /** * 插入行内公式 * @see https://github.com/QianJianTech/LaTeXLive/blob/master/README.md */ export default class Formula extends MenuBase { + /** + * @param {import('@/toolbars/MenuBase').MenuBaseConstructorParams} $cherry + */ constructor($cherry) { super($cherry); this.setName('formula', 'insertFormula'); this.subBubbleFormulaMenu = new BubbleFormula($cherry?.options?.toolbars?.config?.formula); $cherry.editor.options.wrapperDom.appendChild(this.subBubbleFormulaMenu.dom); this.catchOnce = ''; + this.shortcutKeyMap = { + [`${CONTROL_KEY}-${getKeyCode('m')}`]: { + hookName: this.name, + aliasName: this.$cherry.locale[this.name], + }, + }; } /** @@ -55,11 +66,4 @@ export default class Formula extends MenuBase { } return this.getAndCleanCacheOnce(); } - - /** - * 声明绑定的快捷键,快捷键触发onClick - */ - get shortcutKeys() { - return ['Ctrl-m']; - } } diff --git a/src/toolbars/hooks/Header.js b/src/toolbars/hooks/Header.js index 8bc7c885a..2bba61e14 100644 --- a/src/toolbars/hooks/Header.js +++ b/src/toolbars/hooks/Header.js @@ -15,10 +15,14 @@ */ import MenuBase from '@/toolbars/MenuBase'; import { getSelection } from '@/utils/selection'; +import { CONTROL_KEY, getKeyCode } from '@/utils/shortcutKey'; /** * 插入1级~5级标题 */ export default class Header extends MenuBase { + /** + * @param {import('@/toolbars/MenuBase').MenuBaseConstructorParams} $cherry + */ constructor($cherry) { super($cherry); this.setName('header', 'header'); @@ -29,6 +33,28 @@ export default class Header extends MenuBase { { iconName: 'h4', name: 'h4', onclick: this.bindSubClick.bind(this, '4') }, { iconName: 'h5', name: 'h5', onclick: this.bindSubClick.bind(this, '5') }, ]; + this.shortcutKeyMap = { + [`${CONTROL_KEY}-${getKeyCode(1)}`]: { + hookName: this.name, + aliasName: this.$cherry.locale.h1, + }, + [`${CONTROL_KEY}-${getKeyCode(2)}`]: { + hookName: this.name, + aliasName: this.$cherry.locale.h2, + }, + [`${CONTROL_KEY}-${getKeyCode(3)}`]: { + hookName: this.name, + aliasName: this.$cherry.locale.h3, + }, + [`${CONTROL_KEY}-${getKeyCode(4)}`]: { + hookName: this.name, + aliasName: this.$cherry.locale.h4, + }, + [`${CONTROL_KEY}-${getKeyCode(5)}`]: { + hookName: this.name, + aliasName: this.$cherry.locale.h5, + }, + }; } getSubMenuConfig() { @@ -89,12 +115,4 @@ export default class Header extends MenuBase { }); return $selection.replace(/(^)([\s]*)([^\n]+)($)/gm, `$1${header} $3$4`); } - - /** - * 获得监听的快捷键 - * 在windows下是Ctrl+1,在mac下是cmd+1 - */ - get shortcutKeys() { - return ['Ctrl-1', 'Ctrl-2', 'Ctrl-3', 'Ctrl-4', 'Ctrl-5', 'Ctrl-6']; - } } diff --git a/src/toolbars/hooks/Image.js b/src/toolbars/hooks/Image.js index 51b615cc6..094a8f405 100644 --- a/src/toolbars/hooks/Image.js +++ b/src/toolbars/hooks/Image.js @@ -15,13 +15,23 @@ */ import MenuBase from '@/toolbars/MenuBase'; import { handleUpload, handleParams } from '@/utils/file'; +import { CONTROL_KEY, getKeyCode } from '@/utils/shortcutKey'; /** * 插入图片 */ export default class Image extends MenuBase { + /** + * @param {import('@/toolbars/MenuBase').MenuBaseConstructorParams} $cherry + */ constructor($cherry) { super($cherry); this.setName('image', 'image'); + this.shortcutKeyMap = { + [`${CONTROL_KEY}-${getKeyCode('g')}`]: { + hookName: this.name, + aliasName: this.$cherry.locale[this.name], + }, + }; } /** @@ -50,11 +60,4 @@ export default class Image extends MenuBase { this.updateMarkdown = false; return selection; } - - /** - * 声明绑定的快捷键,快捷键触发onClick - */ - get shortcutKeys() { - return ['Ctrl-g']; - } } diff --git a/src/toolbars/hooks/Italic.js b/src/toolbars/hooks/Italic.js index 37380ddf3..7664f7492 100644 --- a/src/toolbars/hooks/Italic.js +++ b/src/toolbars/hooks/Italic.js @@ -14,13 +14,23 @@ * limitations under the License. */ import MenuBase from '@/toolbars/MenuBase'; +import { CONTROL_KEY, getKeyCode } from '@/utils/shortcutKey'; /** * 插入斜体的按钮 */ export default class Italic extends MenuBase { + /** + * @param {import('@/toolbars/MenuBase').MenuBaseConstructorParams} $cherry + */ constructor($cherry) { super($cherry); this.setName('italic', 'italic'); + this.shortcutKeyMap = { + [`${CONTROL_KEY}-${getKeyCode('i')}`]: { + hookName: this.name, + aliasName: this.$cherry.locale[this.name], + }, + }; } /** @@ -59,12 +69,4 @@ export default class Italic extends MenuBase { }); return $selection.replace(/(^)([^\n]+)($)/gm, '$1*$2*$3'); } - - /** - * 获得监听的快捷键 - * 在windows下是Ctrl+i,在mac下是cmd+i - */ - get shortcutKeys() { - return ['Ctrl-i']; - } } diff --git a/src/toolbars/hooks/Link.js b/src/toolbars/hooks/Link.js index 55ae6f60b..7a90d5544 100644 --- a/src/toolbars/hooks/Link.js +++ b/src/toolbars/hooks/Link.js @@ -14,13 +14,23 @@ * limitations under the License. */ import MenuBase from '@/toolbars/MenuBase'; +import { CONTROL_KEY, getKeyCode } from '@/utils/shortcutKey'; /** * 插入超链接 */ export default class Link extends MenuBase { + /** + * @param {import('@/toolbars/MenuBase').MenuBaseConstructorParams} $cherry + */ constructor($cherry) { super($cherry); this.setName('link', 'link'); + this.shortcutKeyMap = { + [`${CONTROL_KEY}-${getKeyCode('l')}`]: { + hookName: this.name, + aliasName: this.$cherry.locale[this.name], + }, + }; } /** @@ -36,11 +46,4 @@ export default class Link extends MenuBase { const title = selection ? selection : this.locale.link; return `[${title}](http://url.com) `; } - - /** - * 声明绑定的快捷键,快捷键触发onClick - */ - get shortcutKeys() { - return ['Ctrl-l']; - } } diff --git a/src/toolbars/hooks/Publish.js b/src/toolbars/hooks/Publish.js index da2cf0859..230b6675f 100644 --- a/src/toolbars/hooks/Publish.js +++ b/src/toolbars/hooks/Publish.js @@ -24,7 +24,7 @@ const supportPlatforms = ['wechat']; export default class Publish extends MenuBase { /** - * @param {Partial & {$currentMenuOptions?:import('~types/menus').CustomMenuConfig}} $cherry + * @param {import('@/toolbars/MenuBase').MenuBaseConstructorParams} $cherry */ constructor($cherry) { super($cherry); diff --git a/src/toolbars/hooks/Settings.js b/src/toolbars/hooks/Settings.js index beacf9d4e..4ca66b482 100644 --- a/src/toolbars/hooks/Settings.js +++ b/src/toolbars/hooks/Settings.js @@ -15,6 +15,8 @@ */ import MenuBase from '@/toolbars/MenuBase'; import { saveIsClassicBrToLocal, getIsClassicBrFromLocal, testKeyInLocal } from '@/utils/config'; +import ShortcutKeyConfigPanel from '@/toolbars/ShortcutKeyConfigPanel'; +import { CONTROL_KEY, getKeyCode, getStorageKeyMap } from '@/utils/shortcutKey'; /** * 设置按钮 @@ -37,18 +39,32 @@ export default class Settings extends MenuBase { const previewIcon = defaultModel === 'editOnly' ? 'preview' : 'previewClose'; const previewName = defaultModel === 'editOnly' ? 'togglePreview' : 'previewClose'; this.instanceId = $cherry.instanceId; + /** @type {import('@/toolbars/MenuBase').SubMenuConfigItem[]} */ this.subMenuConfig = [ { iconName: classicBrIconName, name: classicBrName, onclick: this.bindSubClick.bind(this, 'classicBr') }, { iconName: previewIcon, name: previewName, onclick: this.bindSubClick.bind(this, 'previewClose') }, { iconName: '', name: 'hide', onclick: this.bindSubClick.bind(this, 'toggleToolbar') }, - ]; - this.attachEventListeners(); - this.shortcutKeyMaps = [ { - shortKey: 'toggleToolbar', - shortcutKey: 'Ctrl-0', + iconName: '', + name: '快捷键配置', + onclick: this.bindSubClick.bind(this, 'shortcutKey'), + disabledHideAllSubMenu: true, }, ]; + this.attachEventListeners(); + this.shortcutKeyMap = { + [`${CONTROL_KEY}-${getKeyCode('0')}`]: { + hookName: this.name, + sub: 'toggleToolbar', + aliasName: this.$cherry.locale.hide, + }, + }; + // this.shortcutKeyMaps = [ + // { + // shortKey: 'toggleToolbar', + // shortcutKey: 'Ctrl-0', + // }, + // ]; } /** @@ -152,6 +168,15 @@ export default class Settings extends MenuBase { } } else if (shortKey === 'toggleToolbar') { this.toggleToolbar(); + } else if (shortKey === 'shortcutKey') { + if (!this.shortcutKeyConfigPanel) { + this.shortcutKeyConfigPanel = new ShortcutKeyConfigPanel(this.engine.$cherry); + } + const subMenuDropdownDom = this.engine?.$cherry?.toolbar?.subMenus?.[this.name]; + if (subMenuDropdownDom instanceof HTMLElement) { + subMenuDropdownDom.style.display = 'none'; + } + this.shortcutKeyConfigPanel.toggle(this.dom); } return selection; } @@ -162,10 +187,15 @@ export default class Settings extends MenuBase { * @returns */ matchShortcutKey(shortcutKey) { - const shortcutKeyMap = this.shortcutKeyMaps.find((item) => { - return item.shortcutKey === shortcutKey; - }); - return shortcutKeyMap !== undefined ? shortcutKeyMap.shortKey : shortcutKey; + // 处理 bindSubClick 事件 + const shortcutConfig = Object.values(this.shortcutKeyMap).find(({ sub }) => sub === shortcutKey); + if (typeof shortcutConfig === 'undefined') { + // 尝试找快捷键 + const storageKeyMap = getStorageKeyMap(this.$cherry.instanceId); + const storageShortcutConfig = storageKeyMap?.[shortcutKey]; + return storageShortcutConfig ? String(storageShortcutConfig.sub) : shortcutKey; + } + return shortcutConfig.sub; } /** @@ -183,10 +213,4 @@ export default class Settings extends MenuBase { } } } - - get shortcutKeys() { - return this.shortcutKeyMaps.map((item) => { - return item.shortcutKey; - }); - } } diff --git a/src/toolbars/hooks/Size.js b/src/toolbars/hooks/Size.js index 01e1bdc81..0a9ae833d 100644 --- a/src/toolbars/hooks/Size.js +++ b/src/toolbars/hooks/Size.js @@ -15,8 +15,12 @@ */ import MenuBase from '@/toolbars/MenuBase'; import { getSelection } from '@/utils/selection'; +import { ALT_KEY, getKeyCode } from '@/utils/shortcutKey'; export default class Size extends MenuBase { + /** + * @param {import('@/toolbars/MenuBase').MenuBaseConstructorParams} $cherry + */ constructor($cherry) { super($cherry); this.setName('size', 'size'); @@ -32,6 +36,24 @@ export default class Size extends MenuBase { 'Alt-3': '24', 'Alt-4': '32', }; + this.shortcutKeyMap = { + [`${ALT_KEY}-${getKeyCode(1)}`]: { + hookName: this.name, + aliasName: `${this.$cherry.locale[this.name]}-${this.$cherry.locale.small}`, + }, + [`${ALT_KEY}-${getKeyCode(2)}`]: { + hookName: this.name, + aliasName: `${this.$cherry.locale[this.name]}-${this.$cherry.locale.medium}`, + }, + [`${ALT_KEY}-${getKeyCode(3)}`]: { + hookName: this.name, + aliasName: `${this.$cherry.locale[this.name]}-${this.$cherry.locale.large}`, + }, + [`${ALT_KEY}-${getKeyCode(4)}`]: { + hookName: this.name, + aliasName: `${this.$cherry.locale[this.name]}-${this.$cherry.locale.superLarge}`, + }, + }; } getSubMenuConfig() { @@ -93,8 +115,4 @@ export default class Size extends MenuBase { }); return $selection.replace(/(^)([^\n]+)($)/gm, `$1!${size} $2!$3`); } - - get shortcutKeys() { - return ['Alt-1', 'Alt-2', 'Alt-3', 'Alt-4']; - } } diff --git a/src/toolbars/hooks/Strikethrough.js b/src/toolbars/hooks/Strikethrough.js index 0f6156326..3b1956e2c 100644 --- a/src/toolbars/hooks/Strikethrough.js +++ b/src/toolbars/hooks/Strikethrough.js @@ -15,13 +15,23 @@ */ import MenuBase from '@/toolbars/MenuBase'; import { getSelection } from '@/utils/selection'; +import { CONTROL_KEY, getKeyCode } from '@/utils/shortcutKey'; /** * 删除线的按钮 */ export default class Strikethrough extends MenuBase { + /** + * @param {import('@/toolbars/MenuBase').MenuBaseConstructorParams} $cherry + */ constructor($cherry) { super($cherry); this.setName('strikethrough', 'strike'); + this.shortcutKeyMap = { + [`${CONTROL_KEY}-${getKeyCode('d')}`]: { + hookName: this.name, + aliasName: this.$cherry.locale[this.name], + }, + }; } $testIsStrike(selection) { @@ -58,8 +68,4 @@ export default class Strikethrough extends MenuBase { }); return $selection.replace(/(^)[\s]*([\s\S]+?)[\s]*($)/g, `$1${space}~~$2~~${space}$3`); } - - get shortcutKeys() { - return ['Ctrl-d']; - } } diff --git a/src/toolbars/hooks/Underline.js b/src/toolbars/hooks/Underline.js index a61ba8c1b..b4084a8fa 100644 --- a/src/toolbars/hooks/Underline.js +++ b/src/toolbars/hooks/Underline.js @@ -14,13 +14,23 @@ * limitations under the License. */ import MenuBase from '@/toolbars/MenuBase'; +import { CONTROL_KEY, getKeyCode } from '@/utils/shortcutKey'; /** * 下划线按钮 **/ export default class Underline extends MenuBase { + /** + * @param {import('@/toolbars/MenuBase').MenuBaseConstructorParams} $cherry + */ constructor($cherry) { super($cherry); this.setName('underline', 'underline'); + this.shortcutKeyMap = { + [`${CONTROL_KEY}-${getKeyCode('u')}`]: { + hookName: this.name, + aliasName: this.$cherry.locale[this.name], + }, + }; } $testIsUnderline(selection) { @@ -55,11 +65,4 @@ export default class Underline extends MenuBase { // 如果选中的内容里没有下划线语法,则加上下划线 return $selection.replace(/(^)([^\n]+)($)/gm, '$1 /$2/ $3'); } - - /** - * 声明绑定的快捷键,快捷键触发onClick - */ - get shortcutKeys() { - return ['Ctrl-u']; - } } diff --git a/src/utils/shortcutKey.js b/src/utils/shortcutKey.js new file mode 100644 index 000000000..bd2cd4e4b --- /dev/null +++ b/src/utils/shortcutKey.js @@ -0,0 +1,308 @@ +import { mac } from 'codemirror/src/util/browser'; + +export const SHIFT_KEY = 'Shift'; +export const ALT_KEY = 'Alt'; +// mac的command(meta)键,windows的ctrl键 +export const CONTROL_KEY = mac ? 'Meta' : 'Control'; +export const META_KEY = 'Meta'; +export const ENTER_KEY = 'Enter'; +export const ESCAPE_KEY = 'Escape'; +export const BACKSPACE_KEY = 'Backspace'; + +export const shortKey2UnPlatformKey = { + [SHIFT_KEY]: (/** @type {boolean} */ isMac) => { + if (isMac) { + return { + text: '⇧', + tip: 'Shift', + }; + } + return { + text: '⇧', + tip: 'Shift', + }; + }, + [CONTROL_KEY]: (/** @type {boolean} */ isMac) => { + if (isMac) { + return { + text: '⌃', + tip: 'Control', + }; + } + return { + text: 'Ctrl', + tip: 'Control', + }; + }, + [ALT_KEY]: (/** @type {boolean} */ isMac) => { + if (isMac) { + return { + text: '⌥', + tip: 'Option', + }; + } + return { + text: 'Alt', + tip: 'Alt', + }; + }, + [META_KEY]: (/** @type {boolean} */ isMac) => { + if (isMac) { + return { + text: '⌘', + tip: 'Command', + }; + } + return { + text: '⊞', + tip: 'Windows', + }; + }, +}; + +/** + * 编辑属性的快捷键 + * @type {string[]} + * @see https://developer.mozilla.org/zh-CN/docs/Web/API/UI_Events/Keyboard_event_key_values#editing_keys + */ +const editingKeys = [ + 'Backspace', + 'Clear', + 'Copy', + 'CrSel', + 'Cut', + 'Delete', + 'EraseEof', + 'ExSel', + 'Insert', + 'Paste', + 'Redo', + 'Undo', +]; + +/** + * 导航快捷键 + * @type {string[]} + * @see https://developer.mozilla.org/zh-CN/docs/Web/API/UI_Events/Keyboard_event_key_values#navigation_keys + */ +const navigationKeys = ['ArrowDown', 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'End', 'Home', 'PageDown', 'PageUp']; + +/** + * whitespace_keys + * @type {string[]} + * @see https://developer.mozilla.org/zh-CN/docs/Web/API/UI_Events/Keyboard_event_key_values#whitespace_keys + */ +const whiteSpaceKeys = [' ', 'Tab', 'Enter']; + +/** + * 默认禁止的快捷键,主要是一些会对编辑器造成影响的快捷键 + * @type {string[]} + */ +const defaultForbiddenKeys = [...editingKeys, ...navigationKeys, ...whiteSpaceKeys]; + +/** + * 获取合法的快捷键 + * @param {KeyboardEvent} event 键盘事件 + * @param {string[]} customForbiddenKeys 自定义的禁止的快捷键 + */ +export const getAllowedShortcutKey = (event, customForbiddenKeys = []) => { + const finalForbiddenKeys = [...defaultForbiddenKeys, ...customForbiddenKeys]; + /** @type {string[]} */ + const keyStack = []; + const isSpecialKey = event.metaKey || event.ctrlKey || event.altKey || event.shiftKey; + /** + * 这里用 key 是因为 code 带有布局特征 + */ + if (finalForbiddenKeys.includes(event.key)) { + return keyStack; + } + /** + * 这个逻辑体内就规定了特殊按键的顺序:Meta > Control > Alt > Shift,从而保证了快捷键的顺序而不会重复 + * 也就是说这四个特殊键无论怎么按下,都会按照这个顺序排列 + */ + if (isSpecialKey) { + if (event.metaKey) { + keyStack.push(META_KEY); + } + if (event.ctrlKey) { + keyStack.push(CONTROL_KEY); + } + if (event.altKey) { + keyStack.push(ALT_KEY); + } + if (event.shiftKey) { + keyStack.push(SHIFT_KEY); + } + } + // 这里排除掉上面 isSpecialKey 的键,追加其他键 + if (!keyStack.includes(event.key)) { + /** + * 这里用 code 的原因在于要抹平不同浏览器对键值的不同处理,以及按下Shift键时key的表示不同 + * shfit、alt 等调节性键,在按下时,key的值会不同,但code的值是相同的 + * @see https://developer.mozilla.org/zh-CN/docs/Web/API/KeyboardEvent/code + */ + // 当前键是否是重复按下的 + if (event.repeat) { + keyStack.push(event.code); + return keyStack; + } + keyStack.push(event.code); + } + return keyStack; +}; + +/** + * 判断一个快捷键栈是否只包含了修饰键+输入键 + * @param {string[]} keyStack 快捷键栈 + */ +export const keyStackIsModifierkeys = (keyStack) => { + // 不是数组或长度不为2的肯定不是,(shift/alt)+input + if (!Array.isArray(keyStack) || keyStack.length !== 2) { + return false; + } + const includeShiftKey = keyStack.includes(SHIFT_KEY); + const includeAltKey = keyStack.includes(ALT_KEY); + // 只包含 Shift 和 Alt 的肯定不是 + if (includeShiftKey && includeAltKey && keyStack.length === 2) { + return false; + } + return (includeShiftKey || includeAltKey) && !keyStack.includes(META_KEY) && !keyStack.includes(CONTROL_KEY); +}; + +/** + * 缓存快捷键映射 + * @param {string} cherryInstanceId cherry 实例id + * @param {import('@/toolbars/MenuBase').HookShortcutKeyMap} keyMap 快捷键映射 + * @returns + */ +export const storageKeyMap = (cherryInstanceId, keyMap) => { + if (!keyMap || typeof keyMap !== 'object') { + throw new Error('keyMap must be a object'); + } + return window.localStorage.setItem(`cherry-shortcut-keymap-${cherryInstanceId}`, JSON.stringify(keyMap)); +}; + +/** + * 获取缓存快捷键映射 + * @param {string} cherryInstanceId cherry 实例id + * @returns + */ +export const getStorageKeyMap = (cherryInstanceId) => { + const shortcutKeyMapStorage = window.localStorage.getItem(`cherry-shortcut-keymap-${cherryInstanceId}`); + if (shortcutKeyMapStorage) { + try { + /** @type {import('@/toolbars/MenuBase').HookShortcutKeyMap} */ + const res = JSON.parse(shortcutKeyMapStorage); + return res; + } catch (error) { + console.error(error); + return null; + } + } + return null; +}; + +/** + * 将快捷键栈转换为唯一字符串 + * @param {string[]} keyStack 快捷键栈 + * @returns + */ +export const keyStack2UniqueString = (keyStack) => { + if (!Array.isArray(keyStack)) { + throw new Error('keyStack must be a array'); + } + return keyStack.join('-'); +}; + +/** + * 清除cherry 实例的快捷键映射 + */ +export const clearAllStorageKeyMap = () => { + // 清除所有 cherry 实例的快捷键映射,即删除以`cherry-shortcut-keymap-` 开头的所有 localStorage + Object.keys(window.localStorage).forEach((key) => { + if (key.startsWith('cherry-shortcut-keymap-')) { + window.localStorage.removeItem(key); + } + }); +}; + +/** + * 更新缓存中的快捷键映射 + * @param {string} cherryInstanceId cherry 实例id + * @param {string} oldShortcutKey 旧的快捷键 + * @param {import('@/toolbars/MenuBase').HookShortcutKeyMap} keyMap 快捷键映射 + */ +export const updateStorageKeyMap = (cherryInstanceId, oldShortcutKey, keyMap) => { + const originStorageKeyMap = getStorageKeyMap(cherryInstanceId); + if (originStorageKeyMap) { + // 先删除旧值 + delete originStorageKeyMap[oldShortcutKey]; + // 再添加新值 + Object.assign(originStorageKeyMap, keyMap); + storageKeyMap(cherryInstanceId, originStorageKeyMap); + } +}; + +/** + * 将快捷键代码转换为平台对应的快捷键 + * @param {string} code 源code + * @param {boolean} isMac 是否是mac平台 + */ +export const shortcutCode2Key = (code, isMac) => { + if (code in shortKey2UnPlatformKey) { + /** @type {keyof shortKey2UnPlatformKey} */ + // @ts-ignore + const origin = code; + const func = shortKey2UnPlatformKey[origin]; + if (typeof func === 'function') { + return func(isMac); + } + } + // 由于code包含了Key、Digit等,所以需要替换掉 + const text = code.replace(/Key|Digit/g, ''); + return { + text, + tip: text, + }; +}; + +/** + * 将快捷键栈转换为平台无关的唯一字符串 + * @param {string[]} keyStack 快捷键栈 + * @param {boolean} isMac 是否是mac平台 + * @returns + */ +export const keyStack2UnPlatformUniqueString = (keyStack, isMac) => { + if (!Array.isArray(keyStack)) { + throw new Error('keyStack must be a array'); + } + return keyStack2UniqueString(keyStack.map((code) => shortcutCode2Key(code, isMac).text)); +}; + +/** + * 获取快捷键 + * @param {string|number} key 易读的键 + * @example [0-9, a-z] + * @see https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_code_values + */ +export const getKeyCode = (key) => { + if (typeof key === 'number') { + return `Digit${key}`; + } + if (typeof key !== 'string') { + throw new Error('key must be a string or number'); + } + // 一次只能输入一个字符 + if (key.length > 1) { + throw new Error(`key length must be 1, but get ${key.length}`); + } + const upperCaseKey = key.toUpperCase(); + // 字符串数字 + if (/\d/.test(upperCaseKey)) { + return `Digit${upperCaseKey}`; + } + // 字符串字母 + if (/[A-Z]/.test(upperCaseKey)) { + return `Key${upperCaseKey}`; + } +}; diff --git a/types/cherry.d.ts b/types/cherry.d.ts index 4b519d09a..7db112cca 100644 --- a/types/cherry.d.ts +++ b/types/cherry.d.ts @@ -340,3 +340,21 @@ export interface CherryFileUploadHandler { callback: (url: string, params?: {name?: string, poster?: string, isBorder?: boolean, isShadow?: boolean, isRadius?: boolean; width?: string, height?: string} ) => void): void; } + + +type ShortcutKeyMapStruct = { + /** + * 原始hook + */ + hookName: string; + /** + * 展示名称 + */ + aliasName: string; + /** + * 其他扩展字段 + * 如果存在则会赋值给 data-[fieldName]=value 存储记录 + * @summary 切记不要使用驼峰,因为dataset 会全部转成全小写,除非你在取值的时候能记住,否则永远不要这么做 + */ + [x: string]: string | number; +} diff --git a/types/editor.d.ts b/types/editor.d.ts index 101412d95..b3bf7cb79 100644 --- a/types/editor.d.ts +++ b/types/editor.d.ts @@ -15,6 +15,7 @@ */ import CodeMirror from 'codemirror'; import Cherry from '../src/Cherry.js'; +import { EditorMode } from './cherry.js'; interface EditorEventMap { onBlur: FocusEvent; @@ -66,4 +67,6 @@ export type EditorConfiguration = { $cherry?: Cherry; /** 书写风格,normal 普通 | typewriter 打字机 | focus 专注,默认normal */ writingStyle?: string; + /** 编辑器初始化后的模式 */ + defaultModel?: EditorMode; }; From 8faef0ac679584706b59af88bbe8965b4ddd7d27 Mon Sep 17 00:00:00 2001 From: Saraph1nes Date: Sat, 6 Jul 2024 23:25:50 +0800 Subject: [PATCH 12/42] =?UTF-8?q?feat:=20pr-test=E8=84=9A=E6=9C=ACeslint?= =?UTF-8?q?=E5=8F=AA=E6=A3=80=E6=9F=A5js=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/pr-test.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index 30665b801..e3a87db13 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -23,6 +23,10 @@ jobs: --jq '.files | .[] | select(.status|IN("added", "modified", "renamed", "copied", "changed")) | .filename') echo "Changed files and operations: ${DIFF_DOCUMENTS}" + # Eslint 检查js文件 + LINT_FILES=$(echo "${DIFF_DOCUMENTS}" | grep -E '^.*\.js$' | xargs) + echo "LINT_FILES=${LINT_FILES}" >> $GITHUB_ENV + # 忽略 .github/workflows 下的文件 GIT_DIFF_FILES=$(echo "${DIFF_DOCUMENTS}" | grep -vE '^\.github\/workflows\/.*' | xargs) echo "GIT_DIFF_FILES=${GIT_DIFF_FILES}" >> $GITHUB_ENV @@ -55,9 +59,9 @@ jobs: cmd: install - name: Lint Changed Files - if: ${{ env.GIT_DIFF_FILES }} + if: ${{ env.LINT_FILES }} run: | - for file in ${{ env.GIT_DIFF_FILES }}; do + for file in ${{ env.LINT_FILES }}; do yarn eslint "$file" done From 223eac22b8ed68c0b2730881b2d012e0376b9b5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sunsonliu=28=E5=88=98=E9=98=B3=29?= Date: Mon, 8 Jul 2024 15:22:37 +0800 Subject: [PATCH 13/42] =?UTF-8?q?doc:=20=E6=9B=B4=E6=96=B0api=E6=96=87?= =?UTF-8?q?=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/api.html | 63 +++++++++++++++++++++++++++++------- examples/scripts/api-demo.js | 2 +- 2 files changed, 52 insertions(+), 13 deletions(-) diff --git a/examples/api.html b/examples/api.html index 6874b4444..12f5a5899 100644 --- a/examples/api.html +++ b/examples/api.html @@ -248,6 +248,7 @@

    engine.makeMarkdown(html:string)


    Cherry.toolbar.toolbarHandlers API

    +

    注:要调用 toolbarHandlers 的API,需要先在cherry.config.toolbars的“toolbar|toolbarRight|sidebar|bubble|float”中的其中一项里配置上对应的工具栏

    toolbar.toolbarHandlers.bold()

    @@ -371,18 +372,6 @@

    toolbar.toolbarHandlers.insert(type:string)

    'link' 超链接 - - 'image' - 图片 - - - 'video' - 视频 - - - 'audio' - 音频 - 'normal-table' 插入3行5列的表格 @@ -405,6 +394,56 @@

    toolbar.toolbarHandlers.insert(type:string)

    +
    +

    toolbar.toolbarHandlers.image()

    +

    向cherry编辑器中插入图片文件

    +
    + + 试一试 +
    +
    + +
    +

    toolbar.toolbarHandlers.video()

    +

    向cherry编辑器中插入视频文件

    +
    + + 试一试 +
    +
    + +
    +

    toolbar.toolbarHandlers.audio()

    +

    向cherry编辑器中插入音频文件

    +
    + + 试一试 +
    +
    + +
    +

    toolbar.toolbarHandlers.pdf()

    +

    向cherry编辑器中插入PDF文件

    +
    + + 试一试 +
    +
    + +
    +

    toolbar.toolbarHandlers.word()

    +

    向cherry编辑器中插入Word文件

    +
    + + 试一试 +
    +
    +

    toolbar.toolbarHandlers.graph(type:string)

    diff --git a/examples/scripts/api-demo.js b/examples/scripts/api-demo.js index 5a2f709fb..f99fb4924 100644 --- a/examples/scripts/api-demo.js +++ b/examples/scripts/api-demo.js @@ -72,7 +72,7 @@ var cherryConfig = { 'header', '|', 'list', - { insert: ['image', 'audio', 'video', 'link', 'hr', 'br', 'code', 'formula', 'toc', 'table', 'pdf', 'word'] }, + { insert: ['image', 'audio', 'video', 'link', 'hr', 'br', 'code', 'formula', 'toc', 'table', 'pdf', 'word', 'file'] }, 'graph', 'settings', 'export' From d94b357b2338fbf641e6b3ceb48edb3c8a02e9eb Mon Sep 17 00:00:00 2001 From: xiayuxuan Date: Thu, 11 Jul 2024 00:41:31 +0800 Subject: [PATCH 14/42] =?UTF-8?q?fix:=20#835=20=E4=BB=A3=E7=A0=81=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E8=87=AA=E5=8A=A8=E8=A1=A5=E5=85=A8=E5=9B=BD=E9=99=85?= =?UTF-8?q?=E5=8C=96=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/hooks/SuggestList.js | 8 ++++---- src/core/hooks/Suggester.js | 3 ++- src/locales/en_US.js | 2 ++ src/locales/zh_CN.js | 2 ++ 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/core/hooks/SuggestList.js b/src/core/hooks/SuggestList.js index 5019f5df3..dc3d358ac 100644 --- a/src/core/hooks/SuggestList.js +++ b/src/core/hooks/SuggestList.js @@ -261,14 +261,14 @@ const MoreSuggestList = [ }, { icon: 'FullWidth', - label: '行内代码', + label: 'inlineCode', keyword: '`', value: '``', goLeft: 1, }, { icon: 'FullWidth', - label: '代码块', + label: 'codeBlock', keyword: '`', value: '```\n\n```\n', goTop: 2, @@ -316,10 +316,10 @@ export function allSuggestList(keyword, locales) { const systemSuggestList = [].concat(SystemSuggestList); const otherSuggestList = [].concat(OtherSuggestList); systemSuggestList.forEach((item) => { - item.label = locales ? locales[item.label] : item.label; + item.label = locales[item.label] || item.label; }); otherSuggestList.forEach((item) => { - item.label = locales ? locales[item.label] : item.label; + item.label = locales[item.label] || item.label; }); if (keyword[0] === '/' || keyword[0] === '、' || addonsKeywords.includes(keyword[0])) { systemSuggestList.forEach((item) => { diff --git a/src/core/hooks/Suggester.js b/src/core/hooks/Suggester.js index 709365a6d..2664b222d 100644 --- a/src/core/hooks/Suggester.js +++ b/src/core/hooks/Suggester.js @@ -105,6 +105,7 @@ export default class Suggester extends SyntaxBase { this.suggester = {}; const defaultSuggest = []; + const that = this; // 默认的唤醒关键字 for (const suggesterKeyword of suggesterKeywords) { defaultSuggest.push({ @@ -112,7 +113,7 @@ export default class Suggester extends SyntaxBase { suggestList(_word, callback) { // 将word全转成小写 const word = _word.toLowerCase(); - const systemSuggestList = allSuggestList(suggesterKeyword, this.$locale); + const systemSuggestList = allSuggestList(suggesterKeyword, that.$locale); // 加个空格就直接退出联想 if (/^\s$/.test(word)) { callback(false); diff --git a/src/locales/en_US.js b/src/locales/en_US.js index 5df6407ea..23a4dec11 100644 --- a/src/locales/en_US.js +++ b/src/locales/en_US.js @@ -99,4 +99,6 @@ export default { superLarge: 'Super Large', detailDefaultContent: 'Click to expand more\nContent\n++- Expand by default\nContent\n++ Collapse by default\nContent', + inlineCode: 'Inline Code', + codeBlock: 'Code Block', }; diff --git a/src/locales/zh_CN.js b/src/locales/zh_CN.js index bee5674a3..00b4dc205 100644 --- a/src/locales/zh_CN.js +++ b/src/locales/zh_CN.js @@ -102,4 +102,6 @@ export default { large: '大', superLarge: '特大', detailDefaultContent: '点击展开更多\n内容\n++- 默认展开\n内容\n++ 默认收起\n内容', + inlineCode: '行内代码', + codeBlock: '代码块', }; From 0cd79ca80916cd93cdba0a8372995b9dcd727a4c Mon Sep 17 00:00:00 2001 From: xiayuxuan Date: Thu, 11 Jul 2024 00:48:11 +0800 Subject: [PATCH 15/42] =?UTF-8?q?fix:=20#835=20=E5=A4=84=E7=90=86eslint?= =?UTF-8?q?=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/locales/en_US.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/en_US.js b/src/locales/en_US.js index 2cd686a7e..94638cb59 100644 --- a/src/locales/en_US.js +++ b/src/locales/en_US.js @@ -98,7 +98,7 @@ export default { large: 'Large', superLarge: 'Super Large', detailDefaultContent: - 'Click to expand more\nContent\n++- Expand by default\nContent\n++ Collapse by default\nContent', + 'Click to expand more\nContent\n++- Expand by default\nContent\n++ Collapse by default\nContent', inlineCode: 'Inline Code', codeBlock: 'Code Block', editShortcutKeyConfigTip: 'double click shortcut key area to edit', From 0da9aba0bbb783c23b09343a224a18b806a2fbb0 Mon Sep 17 00:00:00 2001 From: Saraph1nes Date: Sat, 13 Jul 2024 00:27:10 +0800 Subject: [PATCH 16/42] =?UTF-8?q?feat:=20#836=20PR=E5=90=88=E5=B9=B6?= =?UTF-8?q?=E5=90=8E=E8=87=AA=E5=8A=A8=E6=B8=85=E9=99=A4PR=E5=9C=A8?= =?UTF-8?q?=E7=BA=BF=E9=A2=84=E8=A7=88=E7=9B=B8=E5=85=B3=E8=B5=84=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/pr-merge.yml | 79 ++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 .github/workflows/pr-merge.yml diff --git a/.github/workflows/pr-merge.yml b/.github/workflows/pr-merge.yml new file mode 100644 index 000000000..f4651ed4d --- /dev/null +++ b/.github/workflows/pr-merge.yml @@ -0,0 +1,79 @@ +name: PR Closed + +on: + pull_request_target: + types: + - closed + +jobs: + remove_assets: + runs-on: ubuntu-latest + + steps: + # 检出仓库代码 + - name: Checkout repository + uses: actions/checkout@v2 + + # 打印 PR 详细信息 + - name: Print PR details + run: | + echo "The PR ID is ${{ github.event.pull_request.id }}" + echo "The PR number is ${{ github.event.pull_request.number }}" + echo "The PR title is ${{ github.event.pull_request.title }}" + echo "The PR branch is ${{ github.event.pull_request.head.ref }}" + + # 安装 cos-nodejs-sdk-v5 + - name: Install cos-nodejs-sdk-v5 + run: npm install cos-nodejs-sdk-v5 + + # 删除对应的资源 + - name: Delete Resources On COS + uses: actions/github-script@v7 + with: + script: | + const COS = require('cos-nodejs-sdk-v5'); + + const cos = new COS({ + SecretId: process.env.COS_SECRETID, + SecretKey: process.env.COS_SECRETKEY, + }); + + const bucket = 'cherrymd-1301618266'; + const region = 'ap-singapore'; + const prNumber = '${{ github.event.pull_request.number }}'; + const prefix = `pr${prNumber}/`; + + // List objects in the bucket with the specified prefix + cos.getBucket({ + Bucket: bucket, + Region: region, + Prefix: prefix, + }, (err, data) => { + if (err) { + console.error('Error listing objects:', err); + return; + } + + const objectsToDelete = data.Contents.map(item => ({ Key: item.Key })); + + if (objectsToDelete.length === 0) { + console.log('No objects to delete.'); + return; + } + + // Delete the listed objects + cos.deleteMultipleObject({ + Bucket: bucket, + Region: region, + Objects: objectsToDelete, + }, (err, data) => { + if (err) { + console.error('Error deleting objects:', err); + } else { + console.log('Successfully deleted objects:', data); + } + }); + }); + env: + COS_SECRETID: ${{ secrets.COS_SECRETID }} + COS_SECRETKEY: ${{ secrets.COS_SECRETKEY }} From 28c0e816fe0945cf165e4a2e01a54096715cca42 Mon Sep 17 00:00:00 2001 From: lyy <2213732736@qq.com> Date: Mon, 1 Jul 2024 17:53:16 +0800 Subject: [PATCH 17/42] feat: add react demo for cherry-markdown #797 --- .../cherry-markdown-react-demo/.gitignore | 23 + examples/cherry-markdown-react-demo/README.md | 8 + .../cherry-markdown-react-demo/package.json | 35 ++ .../public/favicon.ico | Bin 0 -> 3520 bytes .../public/github.svg | 1 + .../public/index.html | 43 ++ .../public/logo--color.png | Bin 0 -> 23780 bytes .../public/manifest.json | 15 + .../cherry-markdown-react-demo/src/App.css | 178 +++++++ .../cherry-markdown-react-demo/src/App.jsx | 40 ++ .../src/components/Header.jsx | 16 + .../src/components/Menu.jsx | 496 ++++++++++++++++++ .../src/components/Title.jsx | 7 + .../cherry-markdown-react-demo/src/index.css | 13 + .../cherry-markdown-react-demo/src/index.js | 9 + 15 files changed, 884 insertions(+) create mode 100644 examples/cherry-markdown-react-demo/.gitignore create mode 100644 examples/cherry-markdown-react-demo/README.md create mode 100644 examples/cherry-markdown-react-demo/package.json create mode 100644 examples/cherry-markdown-react-demo/public/favicon.ico create mode 100644 examples/cherry-markdown-react-demo/public/github.svg create mode 100644 examples/cherry-markdown-react-demo/public/index.html create mode 100644 examples/cherry-markdown-react-demo/public/logo--color.png create mode 100644 examples/cherry-markdown-react-demo/public/manifest.json create mode 100644 examples/cherry-markdown-react-demo/src/App.css create mode 100644 examples/cherry-markdown-react-demo/src/App.jsx create mode 100644 examples/cherry-markdown-react-demo/src/components/Header.jsx create mode 100644 examples/cherry-markdown-react-demo/src/components/Menu.jsx create mode 100644 examples/cherry-markdown-react-demo/src/components/Title.jsx create mode 100644 examples/cherry-markdown-react-demo/src/index.css create mode 100644 examples/cherry-markdown-react-demo/src/index.js diff --git a/examples/cherry-markdown-react-demo/.gitignore b/examples/cherry-markdown-react-demo/.gitignore new file mode 100644 index 000000000..4d29575de --- /dev/null +++ b/examples/cherry-markdown-react-demo/.gitignore @@ -0,0 +1,23 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/examples/cherry-markdown-react-demo/README.md b/examples/cherry-markdown-react-demo/README.md new file mode 100644 index 000000000..a732af201 --- /dev/null +++ b/examples/cherry-markdown-react-demo/README.md @@ -0,0 +1,8 @@ +# 介绍 +这是cherry-markdown的react示例 + +# 开始 +``` +npm install +npm start +``` \ No newline at end of file diff --git a/examples/cherry-markdown-react-demo/package.json b/examples/cherry-markdown-react-demo/package.json new file mode 100644 index 000000000..6db4cf3cb --- /dev/null +++ b/examples/cherry-markdown-react-demo/package.json @@ -0,0 +1,35 @@ +{ + "name": "cherry-markdown-react-demo", + "version": "0.1.0", + "private": true, + "dependencies": { + "cherry-markdown": "^0.8.44", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-scripts": "5.0.1" + }, + "scripts": { + "start": "react-scripts start", + "build": "react-scripts build", + "test": "react-scripts test", + "eject": "react-scripts eject" + }, + "eslintConfig": { + "extends": [ + "react-app", + "react-app/jest" + ] + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + } +} \ No newline at end of file diff --git a/examples/cherry-markdown-react-demo/public/favicon.ico b/examples/cherry-markdown-react-demo/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..aa8c8987c7742d00a176b411c7a3244a8d772002 GIT binary patch literal 3520 zcmV;x4L|aUP)>`P05DdZH zdEIZ`yxG~E$%e#(f(3$t8VrgBsHKt!RpJqa7^E;3mn2cZisUkcP?&^dcV>1s$%Z5( z?D+pPkJKKsJFnk#zt=s}f7M@9h1%WM{dNES_xB%NSEogb7A;z|Xwjmj>Lh(h`t9=~ z=CoAU>`aBpL#Z&`0(uzq2I z0QEm(0PZMxCe=vl^{lCG-Xq4ubeNa`>eHYD<$zCz=!W)?IU9a-oSr>JrL(j1n6?nP z+&Rw=m*4FL-3mGfe^$?+qS8KtoZKFv3)5k`%_Zol-S{)frsQ}%gQ}YOQ0$^qggyXZ z9&!&n$+m~db$A2NGpMMUPe*72?DmHlb~|c6ob$J(>YLxKXHm)PTXH-AZ#j2$7T^zp zl~^)AY`sschrN4`)08Pgf(SuV+wEnb$x*1&-QNtiXe= z*X*6bl4`U*2p}%^0Q?p>Ca%`(ox`1dn!A5z`Mf^zL#y+o14=i zGpuJ%b@0QqiIK$v29Ml{)UTdBg{8B;^DTv_8{1jm2VvT;>e*A>!wok9_ zwwN=`cX&w4LcLFO_+?~|VNA@~Mq}0{-^s@5(rldk19U5B4z$P7F8F^NKp)Lo#uCuE zIlJXFKfVuh?wx%5JR`aDd$bxF;S!Qbm{YSBSp@nVfI9%1_o&ZjEYi_M$jKtUGucEY z!)r{pQ4s#EF=I;Q{=v)-d^yMja%VoHHS7(c5u%`T+c3 zeFJ=jq<6EQ91lP~=>h!Lf#kVVBage@Hf914|MMC6A)2#^;fdsdJG%$)^QjP>r_Xsf z=QB3>ZIHkZ($~7;Y2D8_AJ(|DM{brC_@ipmpNxI(lY}Smfgq~s#LZlsd|!I-Q7!VP(Z(=u20a_V-0xul z9L9S6S_VI*1o%Z=HHPE&H&0$aWbf84_!j+2k!(?90ode^rN#m0_ch+Yr_a?a&);nu zXTsHLk3zd2384{=+Jafp<2_{b6ih!jj2F}-_%Am%zYR?Pzf}U?SpZ)f$@XElOizT* z?Qi~$JY@Jl0BR-tjYPf{NFW&KU8;ePafsg3(8ye}spTX9bFYVU|0PTeIeHY@(eTl$ zCa|Bo=g)m-)q>w+o0rOb*B|}-Hx`WC{bZ51-EV$=$Q2m)g&}-HoUH3>t-?rP-ZYPc z0j^ih^jpTy@|{C7a&QM@>oj({*IZV@8NRZ_-|f!X^wU*l`sqT&z~2lx0aukKeN4i> z`$-m$jp4rw15Km+eaL&D4OIa?=Ig)4zKxp6E96n!UU z!QYi^ISB@_FJQ0_Ad^>Eh!*`)C7Hk;h@bv)efPR!v9rp2e{WYTdcK;0o;bZJAke$f zoZ~sVJ@j?a zp%GC^T_mRbUDUWl#rS9Y2>!EvoRthc`S!MjVrRMiy+{C|sdur!7pvs_t@0yh4~shd z+8M~?RqFMRI$v0=5J=v!@GH3 zKe{j?vGal2eZnDx4q=NI=;wE39fxo(URhnUremb31-ttb4NePO1ry)pU`2iTGw zxuEmr4V9R8*S9B|-s3u01$7h>l0U{`K?|UVXXWnD01vquKz_}IhrbRwe8kezty9Hq zAoG(vauow~0Lj0^Odp--;c#0Kk_k0RPQc{}bF7fMs0F zFgIDuwUovDUn?dl(`e*>?$hSV!7n<9yt{K_f+(biW!xW+rIT0uKLTvhDPRHQL{Pl| z+)7RhATPofz*+pq2@JRrjY$nxg?F|&v}?F;Yma9aS7CN6M3x4K>cP;w{30^r@w z?NuS{A5ghmoWC&b5!uku>4NGyIVSM>Lf%n8xC?I+L;o5V^H~7qH^s(P$kQzIB`Q|J zvHL#x?v^}!?_T@ zzk>t#y&Yk5iVquV2g`gR6(6((c!75XkLLvtqBj9h+aZHzNrCo_kkqh5kG#kF{)`{( zTwhEk$HVv!G4?W=9_Ru9PxML73*dFHjty4iz-~XllkmaTE`Bv~X3Pt4u7WfYumzyY zdGi3>cJnEotw5Mw<)w3HDQ_PiVfOR!1|)Xao#ucWPCA{vdADe*$gE*M9*Q^7yuS4aUbIc7LPuPG8?BpdUgrUvw17^q}7A z!D?mZ^B=8c%zZVIAPc~h$Pg&Si47Z)P39SGVR9j6^eBqWLdp;b3X>4r*N$-0BlU< zkv9LiBm*e4f#sbQv@`ERQAXgq-!xD6;`}+cr8X%B;WUL3P#R`@u?Eh5@75EDBY6fQ zra0uE)eL?nLC^NQ`{QJOVRh39Z9%cUIf>k(|W1pw75g384Dv7JiQIDQuS zT~+! zEA1ei*g#g?A|Q(tzVdOH7x%B421stu>xK68kE`|IveO%QCm)A6I!*ckV{DtH)Y+rn zs={&L?0jDBbDvd-6_;ddcl8*CaCV{D03!L7e`;w+Ek~r!GFq zln)@Uuh1&Lc*pPK&w(h^F?__tKw~DcZDdRL6~=!2el%D{vy6$cxcEdpX2tUXj9|EL zco&bQ?wu=z94GgK^K=F8Ni2Hz#x3}=hsf{8bg}B-zism6fFF^>xch3jp8g1*g~j&v z%vW1jNSLaIT)Z!@p{V5byCaCCdrj`@2k3dex>5PJ-E6C zz~2nPopUwfB?PZP$kqvbg)B%tf&@>^c>0xb?dDW}@(Fy?7qFRzMwTtob_`epQ)rT@ z_`7`u-vPj=s7BPI6d$If-&M>>+>aT|Q2u>_Mv#+W$~io;*v{Hb(`W61F!61f*61XS zm_SDn%xa4h#goBV9Kd!hKx##+p2wHYS%jU2rBb3EuPj%t2LJswCcJ1QB#>N^Ovcx^ zv3HJ$##K&5?|t}G9{w#o%wr8TC-1 ueG4?L#A=+t`|@kiqD6}qEn2ilB>x8i60U2{T7?n-0000 \ No newline at end of file diff --git a/examples/cherry-markdown-react-demo/public/index.html b/examples/cherry-markdown-react-demo/public/index.html new file mode 100644 index 000000000..d35cfde09 --- /dev/null +++ b/examples/cherry-markdown-react-demo/public/index.html @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + Cherry React Demo + + + + +

    + + + + \ No newline at end of file diff --git a/examples/cherry-markdown-react-demo/public/logo--color.png b/examples/cherry-markdown-react-demo/public/logo--color.png new file mode 100644 index 0000000000000000000000000000000000000000..786b7a5bc7aaacb64c9442a517f74319ae0ee482 GIT binary patch literal 23780 zcmaHSWn5KF)GvtADbfuJNOv4MBqUY3>(I@iyO9=ba%rM>4v*OpZC5W z?(g~mH=CI?|J5^V*8ZrhD2;(ij0y(_haoE?`5q4LX*KXXfs6?JRBSF#0{$a{ywQMs zurr0Y8ajgE#7yjrz?8B!hGyXRU_%pkhd!_%Fzcy>iUveOK^|mmXTxInFowm=#vYgr z2PY`vW^ZV01%^->fz2#zg{Tjj+NdclOoXV_xfR$H>?OeF7BU`=;13>(D#jjG#{4GK zBEpn{ZXkew4H#lb>1JbX>jZKWqJE?c0-hgUvrT8m~EYC{-YoXb~1Lf zu!mUK*-}1GG&Hhvh6qsuNdK~6W3Qm_KZI?a{s{^Y8LOM2Ju5p48>@}Y17DA$ognYQ z{};ypbF`C+yFHloJ=n?4+0hu#hbhf}lL6WN{}=jipo#JSjI(!kw0`8%#F!Oq4YmQ> zLYx3l?2m{5;D1j9-msVebJ=;>r6eTzxOln5fthc_#5g!4#otJB@QR6v ziL>$Y{5MzD)(K*0YYcu^^kJ^W|DDVE|D6kxa0DAd>>O3>?5zJY6k?HRRuuwZ(%4 zfvgQ}%>Yp`n}AIXovk6%!kZuCH=@b~SsyIZ+5#B-`1E%k>;Izm`1*gD@_!=%|9E)( zAIAiK`5)H?+XDXV2so|`jlgp_I1LwBNih|-+5HTp`VVieprL3+@YZ7cErthQrpt?Q z(9UW~15)duZASavFkR!Q)aj;aXFTI>ma}k!?!_>T@_;|S`a|W^8;k3i{C%$v4%`>F z%J&A-`Ik~sIFAPhc*$txlMRBf#gVCku%YW?Go|$dScBI0Wy7eSN9i@CfY-$qza=1jQ z#;E2VUyybj7VUY#@Quzy6F^F>)0^|^5jC}fa7ISEn>LE8|CLzPrTh{1_O$pnNLw-E z10Y=f>c>%%>%DnZkv28>C#>69%0I;_4xgOt5=IFdrt5f*@ygu%(%aU{sV=a;02l^OG3!L%~27pbDwaFE^e=^e-M!G ze@ga$5GU87Wik5rtL!;8o=Jz1Z1HbgVrm3{5aRs*LF#x7aOa?d$-8*gF$BL5l82Z1 zR2Ntf+P4b~ldO!Dkb5vsalUp?WpuC$R(TdbDhQ*oSo!rWL(zk3`Xv9UW+eiVztSgY zC>KzzQe`86<&*V)SYRE{UZa~rc=$8M2Gk&QB1Iod6_=%+CDZpb|j; zWe>q&Qp)N`XAZInPdC>OL{~`ejB@ii~ z8}vm)WOT#vsCFUItSWCQdS@TP1TyhIP)3Tv8M+urR@oZ}GIvDg27uvfKDwG@?mux; ze_tQdEbRhef~fs`mUu^UMlb+C0maM@I+6Nk)RO3Zc~y+7j?C4LaDAK$5~!cwtNta! z`5zgnXuS1b2NPjK-5g;!H*s<83f?SaNx%!Ms~JOzfm8F z211O*V~D{v6#uKzurR>HfMA7PZ3@@d_S6P|(i-~+1&614L-}!?0AQWg`evg52h#;i z8%ncB;vL~?f5V+*m=~zuCb&nGF4cgRZa5H=S>-M6U+D+o{Sz#;xNrt6yx)1G7XGCY z(j-;z+X70t2dAUn|EEM8cukIyGIvV!fZLWP{sr;upFEKH0eLX%{Py>F8Y`Hg z=?Taq&E!!YlFyz6KSY8cWOiVPrw%!1JAc*PtG_6}g#0r~s#jSxSmKF-CM&KEe;8M1enEeI`7 zgs?DV@%j(m46*>>frceX^cvAE?IC+SV+ejg5XSJ=7r#)cI1!bWY7xw$&-S`07DvM` zozZOTZL4ixs#K8fM#ngt>Y~B$mu(aoRo?dGOQJqV@#kMDhW*IjM%m1Ir`T!F%s1VtFr`#$ECqK$eZuy0eto7bMQ5fh6 zrqwXRSI@Eer@7UjzxMS-cN$OgHfJq6nEH-yNqjCZd?Sz8eas8wDab;H=oTT80|DGr z<(1llsXF|#>Tw0`q#4pAr<_c74<=~hER`zL(o|U5#@NhVy-xR?hF=~3SLN3kdCwmb zd|3Uzcw_lJwVx@x|IG+KySF5$rdA%W9}CGn9*D2-ELdV02+e~)-l>j%TLL&L)oPg0 zqy2wTC~T0I-d4UjX2#Vw!_Nt{z|M63m~9Irt(_Omolo}$h!J5Waeo*3g7>&DG5>7I zQuUH$O3dojc7=YB2f&j93+`ZEm9D)zz83qB=6m!K&HRLrf|Ez>mj3hS?{eHpD-2oc z3YF=aCK&VtqK)dQ1{s3tW@sXj9K7rts)VXok1kSd zj?H*G%&;uq2-yTI4Lz7GG7iJvq0be$llX}M6=POHxinjZM1JN~$!RqqqSO)o2D0+q zxYfgUQ!;M*CGLY|^nFY1Pmk{ZR4G|>QhbgC_+aj#TC+0>pB)kaBjzOh5eC;^3Chq< z=xj>Tn5i)jj72Z4=hQqInvxj7^AG|k2FXzWbySqEsr@4>j?GN(aGjs^4FjvMI6D4t zzrvZ#Q+};5vWN31v%elALpY&hN`UKSoyYgi$+`jvm~G5roX^tpfZQ;e=fV9*_g?@& z`I6dS9NNz<1;4zvvIV+xQ8EwoJ3gj|eAA0~&{?gb22~TUCqrq zU=NFs#ECG3mSHt(`RL+Ze_i|&Tw%iiQ~f-Ka}xKisY#Tt>yvSsQ(q1{ZKO05OJUb-e zQZLjX=WG!H5`Bw79?!EA=&u?xuqRbvgiV7~fwh;OJw9P9_j} zIfz-^vu6#J#>i#)9hd6^TVQ9rnub23zJF38_ zp`;{88ZkYT1W;OM$<2An_v3rlz~AEhd~eI%J&4ia?-r8U6u@UI#wf=5lNc7_&~s)5 z!#dj8KdQIJHz02f#I)FRt~*-Nz*LlQuSZQ4D^q!#`!{q^`|M+u&~a9$NoPmB?>^KPf$8FsWRFQcELnLF zjQ<0i4fsQrXp%UIM8wzdjj`;5y^C9N_)XY=__q^9X5TPD&Y{T>(5T*w8)MD-_@j@0 z-TCXI6)R88O;ZdR>PJ6TeBZuU3I9%2V05`~MwiDAz^POuex5sTjXHPp#fav?Qu6;M0vxPpg=N=_p(5VwB)YLV0K=5u!5nWkqzsTk z%)~W~-~k;FAY^Zx0ztlwm|Vzh3&a*T1q?4AXwd(o;Q-iD0PQsHc}EA~w#7Eenhlv( z!>^(UAh2F5?jgmVsE_0b`}md=EakkZ1+rjkq3omGJ^yQWzqYW=Lz0E(*nrdz|B(6x zYx^z@ZwgA`zj}%SmN3+FfFwpBx-fe~j z<_!78gVDTEHmR1St=(d5bLts1ivTjx`Vwna`?_~)*zo5E?xYlqq+xkB#YEFXDu@uo z32=R!?~y=KhOgJz;G3BP+)9KjA-G@uT3ySb-%w=w+CS`+ju72f)_XLM1#=|OybL;F z-UGJR%=KTo^teD-Jzw#>*3n;WF!D}@U+j^pU(b$)<@Y3Y3S&*VWu;h)G!zxe!eyd&Q;D6wR2ftoW%j=nJ+Y=wriWn;PgMdfxW&z@U7X+6 z-=Vpak;Uy}g!LJi2tu$R?0c?-8kl>LbCuC!#?r37(iXawvj-!qa9dDdrvb9Q7n8gS z6IKsHn7gR)DSV z?X2ogYlA2$Ag#p~-N}MW?P{*0YUN{NRF->}Z*_JLWG3LrVH> znGR5fLRwgWfPCuah&aEQzLT?n+FdB@pdr6=KZe=5rqAU59;<%qgUbLm7)hQ%@^bp; z?h^sSVbz_f&RYEfj|mY`^!^_qpJVe7Vdyp%!~$~zLp$VZC-PYAdQ9PSMqFbwlJna< znk{7h9-ic-Q`tjzRAchb%q-7y4CpeEU0EO>suDlXon)HWmA%)@xwaa(R3CS|UR zhestoI9fZ@8hX{pJN}L~g@uvWPIXS8e9X2saJ-kNE%eZI_&jqciwSN4oHQJogD``X zgqC-l)sPBiyE8Swt*Td&>|deVCj@rXJ~&RM3cGame%c^RbV}bk2_NH--`a!VT6S^C zv{DxxvAn}AQae$(UMA|d*#ko;4mCn+eMgWb1bO2O&9MOO10}!3H;b9ow|zq%+O0Vl z?nb9YS`Ws<|p0&nmSIrgPSIvp2G=ymR}k(?|+#+xC#?{PJe4 zu9c_mK>xY@1zUZdgKKC;nJ|MS{e|xE8J&ofPfUR6)SQ#i6fC>WV7Q8kY<2{dSs_2Y zNFwlXc*{mwkO7k#@#~h}4sS#E*Iz}%LDI}L`KJGe&M7oPAgpczDAtU}n9 zCDsrVi_V(T9oXz;+Qg^zL^a#cBJRZ}>TiXt)w8)#GX;si9Sy>SufK(FEM(JXDQ_AH z?B4~yeccOtDhT_dlx0!AuU|;}zRP~U>NAW+@OvLC4v#V|L6F-IY;{&nze^^ZJ`kO# zVxX}2-8~ImBtt6ZvF zJLo4NnMN7_w%* zMu_NE*)`@?Ta@#g;jMTOe(9tK&glsS$D1_!?^obyOCf2Ph#8(;kfMdz+;Gg9f=r%S zAk3a)yey+_BRh=q{x)F1fIG?XCi0Z}eW_c(QV6goIZPhM6$yo7OB`;;_?cHUp-Pb5 zJZKmcMt8&GP_xHYJ=ep48EcM6@5&TNLm8d2R#|0WyVhN|K^;4BlIYzje26k4RK8Wr z(W77eREOXFJ*K+JuQ@?EbXZS}f$ufWykfU(*ht6B7bIn+>;4xu;z+kN^IEW~+bzpt zx=7wnD@d8eoo;j(M9OQz=#*Xw!zLH|f+dIdPX=~*XoBQ@ zEk21Ietd>#XJwi$Ca5uqehg+vB-bYShicMY84c6e>~2}%3D`Noa&=|mLKE*!Y&wZ7 zOCx6|wvb$%r7tx{Yb*R&s%kmI=216|Ua^ny@%-4AT6qdWR9a$JWoje+){zBNJwx#Q zwbJ0h_B$xfFFiS{fm;1l?z>_5rWoEuDk7E(SMDUucAy$vKXKzuGOwlmO)}OSvvl2u zlX}Uit^D34`H)n*e+PCQa)%d!lA`||`A1H7?wcrrI{!TOfn+vq%als&l@P@c>e+%8 zlkij!#ncR*9L%55(Z@A8OCkIC$-ai;_dW8p!O^DGZptIALGZTu4z523LTrbG&o3G9k=N$AlGv$w#VuP*v0C;7;Sy4~h0W6UU@{Xz+~@q41pRB7 zFeyN8LA#0AIiZRr&u5ETIo>D)PFookMeW{F%}Rg}E2EE{D32;#;WFe{{I}wKlQ?y0 zq6o&hk$GwnO4*#u3N>2k_n!#@b=JT;V?iW*y4A$=FEQ0T5Tv_J+HJddHK6Ke(40Lg zF|efc;%odK^R~+O(6%PR)RD-oPJwKv-@?*;HbAN1MTGLpj|#A5PjHGj->%(=fA`1C z=8sA`J02@tRL08sr0YAgDE^8iNY(?hU8Aez0pA^fstJ?7iwRSdglb+;7&>HpKETC_ zDCLU+UsxMiZDErQg)rogbA9?6pNNiOUFjN^+=v$D7zu(+@D>H$hycp9Y`Z?m`H*}b zQ0c@}_Pse4T6?CM(Gr!#hCgp}F}S3b2^0zFvN2!>`~^Mnv1Xn3bx$BnCtzgqsf~}} zd8$q+Uokr*IW(u;LPc#}e?ZPM-uMuhLF`t)bZ%;0C03c6*0Hj84>xwJV&171Y? zMySAm9M)Qf*L3&RdBoh>u)TGj@!`NZ;_36k2J{SexuE)V!4!r>JCp~oOzQD%w#_90 zFhh)OjIU12;}MK49eNIj!cZbs`WD7$H77!%)&!LF_RkCI%S{dj1DRF{dNxfL-=kX* z+jt|JrgcrzXc>v@@V-7tzYffkp*{M8udhhIH^7j(`5XQY^J<=lDIISk{Pj?*Q+8+W z7!keAogeY1IX3&(MR#4Pb5V8P^wD0Zx^vl{3#bc5mLhnOp>j;-&CG(4hE<||?)^E; z#=1V#FAp|oYnh#=8Ne_J?Gl7R0)s`&fD+r#lFXtl>5JqEbL@2 zS}ADhw7S;C-I2QgVh27c=2U#Kl$3n(;fUjH-!RZFV76p|RW$sGWeyW6*^t3lBYt(k zOU!B-fi_vV$+7nxC~X@5A@hPK#vij2yzY!jFE^a;+R8bM9^3e70G(f{T_ivA
    o z{&_g`?84_ylZ&DJ&%Vr?+O*9s@Vce3NKwfQV#`vHmy`DGGww6)`j*(H?r(SEhaPYHN&*eNbu7J0$=8WJ}kjOTRbPbqf!%VOoU_IY*O#4yj;y2&3MR{p# zu1~W%WJqsJ14h&z*=ZKo=Nppt>?A^hme2H$*S*P~#AI0GC|ReAiC&i9A@>oMbc@EL zt5U`4xm+t;lyiug*d3&~yA!&Jmis~hnKqmyHxfO--L1wEu+w?7!C~9kKe7mOD4pm7 zQI+mt0Rqc08~`etVEMBCC)-u_*yTkN?)6yeth$TElz+w$4mLI{S&rfF8tQXjV$}xr zDraOs=JwrQc!RCpOb?&uph@N>~nBT@Hh(Ok;@X;Na zJ1L2-ipbA1?AtX|w{r@3H~ z73ge%W=^-3Q9l3tPnG>)pHTe)EynJLiT)|!xl;XNr8PytwN)3vs;0HOJ`|bj5G{h+ zF8@Rq6=h6Q#1w<1m(f*ZWx^xx-Kcsb${I2+O-J;$UxYb8+&b`-)(bZRy{LVTi&L$r zh|zWz4zQ6T1z&HX_ViH%p4n^?&g`m(VS;Q+oP;90nlt*Wlv?YFSKo%Z8`3SOf}&ML zux7hfZhb>*ExMjxTC#M0+hYu=?rlkANX$aj{{CfzFZ2w5gJ`=<;K{&?91_80io7To?Vs4u35n;~In}$b3_J8HwJw znTST6lP{92Tpitpn|PMwets~gr2dTo7Dd}IksW_CBW;E#w=2mK8|DvPq?5s;>tESZ zeJTA!5?bRO#7alhYu!i|Ts=U(?3OS^3$eTyF!VqG4%HDj)H+Me4kJP?aIL6q7~jv5 z6JWPz1F!ng=7zI#Tam>8Sl?~q!HtpF7Z>MuH`Ttc#aKgT4Q)v zVzsE1c+dsSkBKkn3|E1^%e{e2s8jU>|d;Z*W zCO7Uef7@EtEVWv;Lf_kEDt(W(&=(>YjGY8ag?NTQkSB0v3ye|%udc~x8~kj1gOT@K zW10kNxffl!2%a=zveq|-*PqaJ8}6dhB^&W4fh|B zeD!-78SQQaaJ}xVs=PGx1!-);TXm(i{(7`D#8@Om?>Q9KN>(mG$!8JpCxkze{pSdK ztl~KLoM?iO$E5v=j7Ot|^COGK>7cb9LoU@i)0X@YuF1ns1W>AF^xXc9!-3&%AMUbx z>C_Y0YbDJ>&pm$BM@XwM_J>rP3neflwxJoeMq3}<@}lJ^APOkjnRy3GO165>Lr;8Z zljDo{g+bzpiadfj!%wRU!wv~|wlzZH;|Cp06ms=`RXA6|(ga_`W(5qby5o*2DwIc9 zzKxC>p#Ao{W?Vyzi2c3`?)R{0c>jzlz9F*?p1CajGok!VtuW=u51^VWfw#7GPa*r9 z(Q$JNW_o&@i=S3l1k5~F(zxv_4+!dl{zytB`5*FMR$Aez?VX`pR5a3A69G3lUQ60s z{3H>fe{?a}7eB#DrzfEC|DNvG_Yn|SXMDp?9kF z3>!Bw;xp-Yp;@0MAM=hPZNaZ^EbWnxyM~;r$e44iq~CXQ^uvlU<4wFOPfwpc$GN)m z4(dmQ!YrDgwY*cc=RaQHxDRnJ`aflHf1&jZ>>~4Ycj9Ri#;4F??`^)z!KfzLJ^Jc* zC-L?j^}Cb}WN`*nT59HGHqD~drORi}$?bg9G!o@esf;=eq4ztCq}e4IaN1=1%f@{v zRTE_E!Hj;oh@D^KVH{zMKXjm#26TZ)iOo}AU28Rv`+sQzhsOx)O*zHHo#U@-C$$N( zZ@Lg8jdPk06?aMZ*mgE-L?mB^0p(*`^Z6deFHZDPjvxjj=RFLa$snC94=-D7r2DSo zD5D>@xuh>^-aOx*7?paa+fl!OJ2as|vhr%dE(p8h7Rj#&OVKHITneQePn|epm$D!V z02WU&?{T5kJLtl8bS1-St1}38LwB3Po?Y*YZ7upN9vey_VVSl?mRDDRL!G+R&KO0| z{|l_VXUyiKB{`{p=r*O3;>y16C^zpwpVp91E*|3LRGCm=bKsoJbS-K|TkKZhO}xn& zg%@v+YNgFsUGFtIfwK~yuE|OW^ao(t3Y?H+dz3t#`FSweuow*z#Z^BL*AJ~R_7~Kf z?z$c(c;6&QGU^p8 z^FIe4B@m7?LPu8%yje1|Jg4gyWi8U&2u0h?I3U$$;Y}sq_eRA1R~&DBqJMW%x@a$V zH-B?cLdN-nG99u)sjYz-6h_ni+-so}?la@mNj39^LS-G61{&1U2+OM=Y>ZXKthNLH z=(lfc3qM{O7R`{l_;oA`rjlkZRt3V6x#NFRF$wIOw2*Xo4HCzBH506QhzvM*IGTUV z$7*eOZzU3na4=>vG0i!$Qg>;Y(2i@QQAW#OqeCV&isU^637CC#Rz-f6GQi|>@ypb%EFElNy4t36W>6or29#AC9fbn^7_cTP{e z#p_?2n3qpt>j`p#h3V*)X?Gd?>9va~8pGo4aI<9AY`=E@{{dr zS6y_RAdg`;j6KRs%glqZ8q+o5j*Px*t6&CKoa2Pf>=?i(ps3K zmg5(lWD@15g4?Z|dG-5<4arZn>&(hpTX0n-Z_Xr)Db^erLh(_Nl@MpA#b&c4G;3VN z!@@A98~fF`*St<+g%-@{#+q%kBf$>RVT-?*sF-+ZB(ySpQN+mW3l9ddr!HAZ^Lj+5 z<+iJ6jM)B=TOlnPlfJC`Cd97Sh1~oBbbtj(&_M+MJ`NgZR(y|7`pVTlAbkE>*jL1J z9)qg{PwRe*9_E|7>|+*${e}O+#RsGaiXy1mlLb;gJePmK51AYmqcc35=o(Gaeot2!oPfoWFFA7UWh+~S1{ zwmFBU>_ewnEpzeqrr!(6aGI zyFTP=-K#3G;f{LgTZbhSj}n`s5_vXVTV(e;DWurV_Z~26DIL_7Wy%a8_SRh{Cun$N zAQ#`eB&F09Ynj+vvX|Y$SAId$`&g(|RMmj*h~=6+=L3Xx*VzL+Zlsr*6ig&`GeTfli=VW@)Zb6VSTKy0JSN?ff*S_vuhl;F#>@vZu;fAs=(`e68J`>hctMwvaZ$-nOi=IwfU}Ux3Q~yRxozJOB2|QtWzwkml z$PXi`jaiE{)+ZTT+h+gxT!%xr(mybw%zg%1uU*mQ|MtbIaEL>&S`QnTHfxAOWIhpO zR#mACv^+?DU35jG9OOUQ!C~Kcj$~m?%L)C`wtn8^`s#|ktv3Pp+No^$sCd{!ZGWcd z;AS_k?(KdLCo^W$>2uW0y+WY8k6oTSyyQzd`eWI!dO|u%4-|9V64}3q8MpfDmjG3Z z2+g0&j%oPc_$L@gJJxjhau~inc$-t=JG3*aM?hb(X3(xT_8fv)=_UtR6!zho&vp?l z*4sBHWN4B_?e{~UF-Ny?)z?n;Cz1}UCXZ7F<{VfhnI|LKSPeHIbL{d+kFwkRY+Rw8XL-lxPA2wn->2S*X=e{Jm zKYqkkp|UdyI>^2rWzz093NsA~Bf3zG?A+kV>SMC1EB?5>I#uz99 zPx#+Yyhr}E4$bO;VnJfZX;8{1sG);}andSB#NvcX1v}&?7{KK+p^k0p{(b6%+nn%~ zL{sV}&?ac09e4w#*&d)~%zumWjv&4HvfYfh=x5|7F!=afSqQe`lj4vnxO{xxpQ9vT zj1F_mKcpaEzFd(&iuvdXZ|N{z;jZKS4rtr_!)}ayLCsY){8iY0QQohF#npfjO6;lq zt&GYGuS1ZV0ei1PIk`5Z^;rqfV#yL|BnDJ`bTsP{3KOtvjO)mRS2$BPzMwvI_RC<~C{l>KOJ_)i2nFC%x2BpRMQyR8co=>+afwmy`f z)+Z z4chV^&$Tlb=5fgNj#1#S$O*c%zEQQL?pY)8RhG|+S~~N;$SjEYjX7JH6|=<3h$}VK z0|;Z7F57N~g-{(G#x_@!Fno?1(Ya%QMjph8oZ2VmSVxzG?p%4zdCOwv`DUUbXMhHm zEApAqjdg^mr@cLXAT*0?po;93t9P-d39!iw?BA(Wt(L*-p8$^4@w`nz^x6@;yHY?~ zt&DKS0?-0E{*2@%y;{H+oDuEig&Vk9t@)!i{JE1>_bG{Q$Vb;7>r!jy*a>gI9lfjP zp67A$)20hYoWB}1Y@} z`A|<+%9~nL`UMf7OGiU>O!=28t^H57thOw&r4>yuRA$w+xfm8wvc~JxEzZ83dz?*@ znL0oGE-s1g+aLS>oTUj(3M1v?yxkn^FYOp2YocVx8CLUr=DnBfwRlQgf^xOtTnB0P z-3FRrhsnSa=TVKo<&=@~raur&89B~57a2YzF1>c3<}Ui-Paf7plZ|O6e#_K7?orou{Wj) z60u#)r#%gEy6F#*t454I^H@BK3_Mf*)iDwACDdKz*qa4O76B4_zCyKcEd*IuwG@EQ zLMrz;GZD?KiA-FMCSK?`bbpo-q$~NQzDS!%MiEGafk+E43!QixpW>C=cHB$6OhrsY&{7d5DwS3a5;080Q|UvO z-OQ(L5|mY=wo^eNZDy+gY)78xn97jApatUq>4mH-H7S*OkJcAMb$MLy*9U4WBEN+ zz5F&;M<)8iZzCJk_L|9?5esgmCpMoY7b}+LiNq7~PKz1_B7xJOYfI(`C*|^q^v^D8 z_zT@%{Au#Z^@o+DS~j?!g(ZDYe(eYrnW62FLIpBXLT8`0a35)I6RRpy1=$b3S2J86 z0K#G0^Dj3i)u=@!da4e#m=I#%D!X)4i&=8!OQ(nK_PdsxKLL)N^+E!OUTHBV7N6j_ zKCwzV8Vc5siKo`-=d{G}?aY61d>tgi#!6^+-xyo+<%GNgI_bfjlh=k~igvW#%*Yw> zbeY#@i~1L{kg z;%I&Gtej$Z0Gr=opeZqPHqX0 zC1YUR+!Th2OU5~%c&H7P!vaF?X8zUkoeI* zcT4oSrTlp9qeOYP(3^v&dJ~^D^Kr@@R!ZsJRHmY~@n*iX#z37Hh?X0{6#pr`K1 z{rpQ4O>NRyoH)+vzHF~@UstI>+jGR9CMs>O%p@FiKVD(X9mFSP;5F%d`D zcS(*mod+<34W7kUDs{6#@zQx>blEodA6{*-((+d?a@>(>k@O~DYYlI2=Vj(1xxMrv9y zOS(nm74ch&tTtb5+DIm!rG-(#>j65tV=hgRrw4SXZ1Y`*S{wY_@wJE-x5;I}Z$Y60 zuY-_L1YyP)Tvt7PDXN@;@2{w;H;#K>d|GC~9lGF)46KOIQ#uCpnGO@K@UQdIP$O_a zT9N{V5gevODk4O&uq^6onWodGUEkdHZ12S=hGh(?Ii#e@VwMnieee9Nr`?+_9u~`n zR{eEAnOEoNHkOvYL#a?>lj#7LYH;y2a9v>9^6k3=?RY+D;B$u3&vj~e>ov+K0x;Cv zDA4XYO0&9z>C$y%X@C1iXzW)BSxo=I=ns9D0`a6;k!eS1!__W{{K42%s}QcM3~)%J zCVV4SZQ7gf$U?j!T>25Bp}VJCnLxiA6^kd&pTroTuR|Z~{t50T+DUjS@vir{dU(mM z5T&zV8hLkxGs^6_X;r*(bR`4Gm;F~xFk<2mQybm**9KkqE%(!Ob zL|!3?|Izy*g9Cdnf=3b47c+H6g5W=gdHzZEfeG`HQA^%=J%`o-Y&{^s$JEc`jP5)1 zui#DSd=Fey=`^s8dPCwSl358U8(?|ale5|?AL1yQVBylJ@R3x{KNQvB%*X(ci zCJ1l|ER6;d)7M)T0S#+3&|YHQSt_?*^9{u;B(u=NKiuBDf%HmU<`@dIFx`*UL`fx$n>@C#Kzf zyXy)cx9s-3y9ztKAmRMOgAcW=T^U%VWGUzv9oSSY27xj0I(i0Q)|c->samY49S2}o%Eay^RwP83Wh5-pgsir| zBBPHXETi|>?u|-s_`QJEV>6%uckg2BE!E)aOz+ZK?-pB2iGiOtLDvTH*mOzAI=-g< zOTWOVy47*4;boGm65s&*J1F`j1^SM51(W%N(X3|!4oP-lV!4>$T@sdc&#_}a$1TmC zzz~)z@=!z^0M&stSnk|*ko7ntHZLZAnj58UsUF!f)PqO3q63)D}Rhz;yy-2dqH zCF6&WAp6ImT~q!&yt!XpK$59RS^>27*7vd)!YV(9Hcy}-9WCWH`OZs22wEc?@sOBz~& zDCNE#AYF(h3|VNCZwG<8wK%0GuMG2A#rW*!F!!B0CnAQx@4Ehi31I_XXzyBqA}9B2 zG;~DY&x=7}huNM;YqoFBXK?rpHOH|sGFeEkt;dFCL|azjX?3{PR^j56TzfFxEE{Zu5NlaMgk#9sX+CuyX&8 zenjmp1r9rcI+z(t`-QQvu@Cu)>eD0Hyh&XkT|YE6o>KiFxgw7@(qh2~`HQc>+vuVymWZ^d5j7S2K9FJ}(#fk1 zq_Nqz&s?-x?IBqkIpOKRmt+)CLS~%|m~kM%oU`2cKt<*x>1SiF9e8KYYQ%50Da7Vh zE_p+Rqpv-I5BhY1UA!bK`!%rCfo`P_*_cxDxYHqwR1|)x-W}Tr^!j#tQDKCb^$p=G zhUW0nvaKk(to_hd{nO~fCtXduN(;f2^`-;6_+*+abt>d`oiyDQf)z{|`+PGKIRb~| zrXQVjtu4Cq=lk8OJ3UW194%3(ZX9wVYLQ_hQYbJljLzUgF&!4GP3fa{Y?qGKAWS1) z)M0P+4n1yT(iZ%j8*+pN-9hlUNHRL;G8_1a$fm#vxf0U27#>D);WB8}{6QeeA$h<3 z;`jD)kcmC%Np5cS1%?;>dVJ97I5Viq4d{SGDN0hfA?vQ^X8)SQhpdGW+1kYs^u8sscnwx@(-Z?oW<=UllcSGqlELLA`jINa7J| znyg_T(u1{tFE$0ym+vF*nH!^m^2}O+`zke6PTpTB-4aZMSsNyyf$$>eVhtWrc2Zp^ zUR8-58?Viuh4wAlwpCFRc^8%y<92|3ci$xp4$|n=ZErj6415W6yRR1rw~>i#$<71Z ze#*^Z&@4K4LCcbj;oPY)eNdms10GRVcQ70K%TP!rMWq~2WY!xOKof>(@cdqVskn%e z`@yOOQ5e;1ce{M`=vW||Is4TgF9NZ)+FvuNXtS)g{nvDc8CX-2Omh(u!+^4La};Gu zvfNzG;`wk}BxEWjk#=&fo_yppToVztYo1OmT~567|35XHcRX9)AI9krQCsbzXpOH` zn>~Vb$M661y62wHeZ9^- z=kq+zyT%j$ReM%S83+e0Y@qNiV}6)F!nnFAj=uxdOnQdA*Fb+ExztzKJ^M=p7gJ#^`AIjPqI*7YFjU5>c>=4l&BvFSSvHWS9~ zu!|{)T+>kfHHROP{35L2vqUxmiy5!CAfD|7_iERk9w9Rg)V_Vby&_I1zuPjABRvPN5= z?Z>X^i)~ZIb7nN;D*EFcft4wxDCyhsGJ!^hq@E5i63Tg30TnoSQ=(btp1ynD57d(x zor;MN!9igiK`);CODDfdN&fatks*^R4;G}s;>I5k)AL9ulXVT%4s3o}hF@Gar|+8% zO#kN{%f;T@i|loKE$LizkRkfVq12Z*c2wy7*4Kh?o3c zrB-od!mDQn*K_YHbn;Z$x^o}L5nd}BDluT%gv5__g{{&arDO$h!Uz!hu7yFyhJYNv z)(1Eu21Uj`hK4OH_g@w9ujbp-tJPYbda6EkhSDH$$Gbia9!|7b>g4FjD!Kg)eS{C+@=Kx2%eB@zAIAsgU)!zfxz-pRad_RB zL5+N)13ATc=^Q9rWRyU!Se^xl_g>5xxH8n!o-PG{M=({%ZO@Ztx8HJ=AU|#h$iS$H>+vIX|4i2Avl}D<$nzKG>6or1i4|l?ecY13iGRHdIVK%K z7nDrWp9QaHobv0pvD7XEI@hq%*b27JAAg=D~;80j1W8rj_gb!i{Z00=ok?0IQ zF_*cASHO~M9J|U*q`KOB6}I{w%$7m@q91Xr+q+)Shm2GVqF4d1OEt$~wsUTfl0@UP zpL#23S4m&hI=u;Aiol<)JQjTF%UW|wvf@x z?<^-K^6>lVW%onDD{MBXfV=y*Lzw4t(i#R&)pmjMg@o%T8&6`rwF|jJ=F@P;TIc~pi~nCsqfqj^(2_> z(zs5tjoI+pQ_Q4deTydX4yyg0woICGmE#@6j)+TFdk>GV{n%{ldzudX@AI!Eh#neS z*Vo-rC%@J9j$&ijFMzM9It!P$sXub#g~S%HCpHKqg!EiCV@;06JmGn7>~d(Eg^&E! zJ`$lJUoe73_A07By+bjTqR*}MnEq!pu4?ECoAkVA)B7Iv^$FgHnWYw$^~=|8H}-5$ zlu03MU*6UB4nC1Cj2RA46Vv9P-pP@>JRbyG? zB2+CRO+`V`g-;Kg`oj)%Mx&~ZWY6T23~Sh*bAZbolGT0UwuG=yhuB``qqwNap6>{{ zZ^Wa_HvB6OV@)~VmWt*Z=Tezn&^%p4x0-8sT+?*to|%6g zPJ6f^0c2hGWt{;5x{gIc;l~{^f#F%}jM4h4w9Pyx7S&O$Ox_BlVO{+0bME~` zq#DdrWKBd{5-!0dWqv$|h0?{HZQ1v(%wyi_Y@NbhyddLAX<)wiqgl%1v6!b*SOxEL zx{43-ETQLgrVF!M@m1TLw!QgL&dmPrH0O(fb>~*J#B!3ws6%n6&9+&`^2X*n1N>nm zDTyhJXPB=9&9x8Dizo3YP4|Lp=domMR}EkAx*t5eo#Zy7J)_iBZjeUhF|Cbbd1za< z=oN+u*|l7CTw@Y$n*QmVF!{{iaH3orv&5FA;y!qVzvxR|a|gB=QlQb0GaVXyICHAP zwqL9jUci2Hrh02d^ao$q2cIs^Oe49BE2V?sc5E#_%Fp!< zz1Tv~y-(qERBao}rSU!KzJL~F?U8lUCR7POtieFm$3m^USl8v8-u3NQnR=PYvN9b! zcDGJ)5o8h^a%YS0V-@hZ8jHTYV<&i;+ zTi3=FYcsc4_OQN$?S;`bGJxKLuD%}hrl=Pb-k-d|CcjgxUngCV?A}FevJAOVRwcXY z9d%^tIwNlUs>x$Gv=%TlR#d`!I!Jun8y7Y8cecMql>S=l4m@;Fs&0)XU9u=s;?1}t z=JjQI?&8LyEte5(eTkt8uaps=M_lfkSKLX3rJ1oD?zEqy1&AYfjO~O5l~lV@2hKYh zrE9&Qt+V*VhEr@ru8QR*$da$DsskN)|B1wZh@b}Gmi`tHGBi9zHHbXWy)sKO-BdUN z(q5e_>nTfS<&vGw^JeXPZQ)*lx9&jde^!!y7UB1tj&6+51Ce=Z%;6Tmu3UQ^dT4x% z$?+_#-EB?vzU$J`xLbcl(s-dzPkI8&NFe^_eC~o()OpAtvgC`U1U+s4t9j)gO@aju z@v^guI0=a6byVYHbE&A8<7<8k;15fQ=dzy+yz;t!r0O=yD{d;Dfnx8~LzXoK&2*|Y zRLV%&o__4kWVOZ*gDJ47$q4IC)rbQZki!n(o@Y(GxodOk3@JUivzZgYsf>l z__H)vfzs^TAkVlHK{O@8q@RTjv`hxNY*3jf#_>q$KKjlE@Ap(af-EGWf%JDV;afKc zxL6hgirLqXN7c1uyoxs9;S=ogBuoyl5Zn;1z zOJyq1a_r`Au@dEg#JZW#CMj^{8bithiUU4VuADT{86Vx1ALmpQaNpA!yDG0E8{SQU z;(IdrvSKm&p=rRpCW-R%s~@?)a&NvJ6g2LrOvr~G%m&$ocw^F>wzx%aS zk4#C73gdOex4jCFp{9NKo^|+$^)xx10(HpUO~~VX=Wd>eI?N(Dk^+`x%OK#JndYXh*txQe(^`5-4j)0D^}vEXne+1 zu8Cs&=a!}XZ2RL(>$F|IJswhP zveSuBSCJ+cvmqZ2buL^aFonCtPz z5t4wk;!wNVQkc6-ic! zu=xTCi%KVQptt0_maCy8f)Gc^F1R3QDjykZ4IlDQxb>=SF($2yg)P-I2bZbgXApt% zs)~rrEuiQB^z(LhZ<$A{yfhv1&<@}P&G{Drokf8QJPlS~LtMGj7_r`O`mSQg87#Vy zO}0HZ_%iZsd(bVM?EYcSZ7Gfc?;fdMs~8;*3N8>g;QLx5+Ru`Unw4*Oc)M2T78}Du z2wh->vb$cf5O+przy4E1Q&4#4z==cad*{2`$6{?>;nLubkB>@S0@#LW#|mvlclw9XyS+LwcI@MfW`~ zZZS$aNeJ7L>lQ4yq4i82;>|g*_xKx$7!)=udIh^gL&J*>RZASy5Q-S{bgA4{5aG6t z>*;XWp*i_NrNXA!UBp$}bY+(l- zD#x1%7*wu&s!KMhejEaDVx9t%7X5Naz1=ZcazvODrLMd!AXq@tt(DDddd-yy-9G7U zous}HpG1w70wSvIBRWOWc9G`E$SH34`23qqXsX05zh~)&Nflj>{&1&+9F|R2xK^mt z+B5X|EL|bwer|{$-HRI<#m2Ns zAa8do@p-ttb8LLDY}dGc0m|ptdUd-+J>>E8HM*8FhXKd1ZjkDd1WoxV-s3>urI~L9cv?A zPYZFI`!JrUnAD%otZq3-<#vI$%O$jaGHXN8@p$fAFoaBqjiQkmpqWmOwpyCU$-z;>Ib&d z6yh%i^zP~}>zu@+?!8sD1efgLQ1*!MFWk`%_Umte3WN6`w$T1=G;%}B%4e*)!+JlD-b^aDqstYM$vvxI3R52}p1`FK05Q{sn7C9dit+4@IsVaA<{#5tHKlE#?1Rzf*kirLtDIY~RMp+8A yJX;VN=U4%qT;xjoFTJ-v{?CV9B%Ge-ps;Nes5I0}Ncznk*S?{Dy+ZRr`2PSArxf%6 literal 0 HcmV?d00001 diff --git a/examples/cherry-markdown-react-demo/public/manifest.json b/examples/cherry-markdown-react-demo/public/manifest.json new file mode 100644 index 000000000..c4e4f94bc --- /dev/null +++ b/examples/cherry-markdown-react-demo/public/manifest.json @@ -0,0 +1,15 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} \ No newline at end of file diff --git a/examples/cherry-markdown-react-demo/src/App.css b/examples/cherry-markdown-react-demo/src/App.css new file mode 100644 index 000000000..7e566de81 --- /dev/null +++ b/examples/cherry-markdown-react-demo/src/App.css @@ -0,0 +1,178 @@ +:root { + --width: 1400px; + --color: #e26862; +} + +header { + height: 60px; + border-bottom: 1px solid var(--color); + display: flex; + justify-content: center; +} + +h2 { + margin-top: 8px; + margin-bottom: 8px; +} + +h3 { + margin-top: 6px; + margin-bottom: 6px; +} + +.header-wrapper { + height: 100%; + width: var(--width); + display: flex; + justify-content: start; + align-items: center; +} + +.header-logo { + height: 60%; + width: auto; + object-fit: contain; +} + +.header-repo-a { + height: 100%; + display: flex; + align-items: center; + margin-left: auto; +} + +.header-text { + font-size: 20px; + text-decoration: none; + color: inherit; + padding: 10px; + + margin-left: 15px; + border-radius: 5px; +} + +.header-text:hover { + background-color: var(--color); + color: white; +} + +.header-text:nth-child(2) { + background-color: var(--color); + color: white; +} + +main { + display: flex; + align-items: center; + flex-direction: column; + width: 100%; +} + +.main-wrapper { + width: var(--width) +} + +.title-wrapper { + width: 100%; +} + +.title { + display: flex; + justify-content: start; +} + +.menu { + border: 1px solid gray; + padding: 8px; + border-radius: 5px; + margin-bottom: 10px; +} + + +#markdown-container { + width: 100%; + height: 800px !important; +} + +.custom-select-container { + display: inline-block; + min-width: 250px; + text-align: center; + position: relative; + z-index: 100; + margin-left: 5px; +} + +.custom-select { + padding: 5px; + border-bottom: 1px solid var(--color); +} + +.custom-option-wrapper { + position: absolute; + width: 100%; + margin: 0; + padding: 0; + text-align: center; + background: white; + border: 1px solid var(--color); + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; +} + +.custom-option { + list-style-type: none; + margin: 6px 10px; + border-bottom: 1px solid gainsboro; + cursor: pointer; + line-height: 30px; + border-radius: 5px; +} + +.custom-option:hover { + /* background-color: gray; */ + color: #ffffff; + background-color: var(--color); +} + + +.code-input { + width: 99%; + max-width: 99%; + padding: 5px; + font-size: 20px; +} + + +.demo-desc { + font-size: 17px; + white-space: pre-wrap; +} + + +.run-btn { + background-color: white; + font-size: 20px; + color: white; + border: 1px solid var(--color); + background-color: var(--color); + border-radius: 5px; + margin-left: 5px; + cursor: pointer; +} + +.run-btn:disabled { + background-color: gainsboro; + border: 1px solid gainsboro; + cursor: default; +} + +.run-btn:disabled:hover { + background-color: gainsboro; + border: 1px solid gainsboro; +} + +.run-btn:hover { + background-color: red; + border: 1px solid red; +} \ No newline at end of file diff --git a/examples/cherry-markdown-react-demo/src/App.jsx b/examples/cherry-markdown-react-demo/src/App.jsx new file mode 100644 index 000000000..04d749cae --- /dev/null +++ b/examples/cherry-markdown-react-demo/src/App.jsx @@ -0,0 +1,40 @@ +import { useEffect, useState, useRef } from 'react'; +import './App.css'; +import Header from './components/Header' +import 'cherry-markdown/dist/cherry-markdown.css'; +import Cherry from 'cherry-markdown'; +import Title from './components/Title'; +import Menu from "./components/Menu"; + +function App() { + const editorRef = useRef(null); + const [editor, setEditor] = useState(null); + useEffect(() => { + if (editor == null) { + // 初始化编辑器 + const config = { + el: editorRef.current, + value: '', + callback: { + afterChange: (md, html) => console.log('change'), + }, + }; + setEditor(new Cherry(config)); + } + }, []); + return ( + <> +
    +
    +
    + + <Menu cherryObj={editor} /> + {/* 该div作为编辑器的最外层容器 */} + <div ref={editorRef} id="markdown-container" /> + </div> + </main> + </> + ); +} + +export default App; \ No newline at end of file diff --git a/examples/cherry-markdown-react-demo/src/components/Header.jsx b/examples/cherry-markdown-react-demo/src/components/Header.jsx new file mode 100644 index 000000000..18f9efcfb --- /dev/null +++ b/examples/cherry-markdown-react-demo/src/components/Header.jsx @@ -0,0 +1,16 @@ +export default () => { + return ( + <header> + <div className="header-wrapper"> + <img src="logo--color.png" className="header-logo" /> + <a href="#" className="header-text">Demo</a> + <a href="https://github.com/Tencent/cherry-markdown/wiki/%E5%88%9D%E8%AF%86cherry-markdown-%E7%BC%96%E8%BE%91%E5%99%A8" target="_blank" className="header-text">介绍</a> + <a href="https://tencent.github.io/cherry-markdown/examples/api.html" target="_blank" className="header-text">API文档</a> + <a href="https://tencent.github.io/cherry-markdown/examples/preview_only.html" target="_blank" className="header-text">Markdown语法</a> + <a href="https://github.com/Tencent/cherry-markdown" target="_black" className="header-repo-a"> + <img src="github.svg" className="header-logo" /> + </a> + </div> + </header> + ) +} \ No newline at end of file diff --git a/examples/cherry-markdown-react-demo/src/components/Menu.jsx b/examples/cherry-markdown-react-demo/src/components/Menu.jsx new file mode 100644 index 000000000..269512a54 --- /dev/null +++ b/examples/cherry-markdown-react-demo/src/components/Menu.jsx @@ -0,0 +1,496 @@ +import { useEffect, useRef, useState } from "react" + +const Select = ({ options, onChange, selected }) => { + const [showOptions, setShowOptions] = useState(false); + return ( + <div className="custom-select-container"> + <div + className={showOptions ? "custom-select active" : "custom-select"} + onClick={() => { setShowOptions(prev => !prev); }} + > + {options[selected]} + </div> + {showOptions && ( + <ul className="custom-option-wrapper"> + {options.map((option, idx) => { + return ( + <li key={idx} + className="custom-option" + onClick={() => { onChange(idx); setShowOptions(false); }} + > + {option} + </li> + ) + })} + </ul> + )} + </div> + ); +} + +const getFullCode = (code) => `\`\`\`javascript +import { useEffect, useState, useRef } from 'react'; +import 'cherry-markdown/dist/cherry-markdown.css'; +import Cherry from 'cherry-markdown'; +export default () => { + const editorRef = useRef(null); + const [cherry, setCherry] = useState(null); + useEffect(() => { + if (cherry == null) { + // 初始化编辑器 + const config = { + el: editorRef.current, + value: '', + callback: { + afterChange: (md, html) => console.log('change'), + }, + }; + const cherryObj = new Cherry(config); + setCherry(cherryObj); + // api操作如下 + ${code} + } + },[]) + return (<div ref={editorRef} />); +} +\`\`\`` + +const data = [ + { + name: "Cherry API", api: [ + { + name: "setMarkdown", title: `setMarkdown(content:string, keepCursor = false)`, + desc: `设置内容,直接编辑器中的全部文本。setValue(content:string, keepCursor = false)有同样的功能,keepCursor = true 时更新内容的时候保持光标位置`, + code: `cherryObj.setMarkdown("初始内容"); +setTimeout(()=>{cherryObj.setMarkdown("2秒后替换成的新内容")},2000);`, + markdown: `# Cherry API +## setMarkdown(content:string, keepCursor = false) +设置内容 +${getFullCode(`cherryObj.setMarkdown("初始内容"); + setTimeout(()=>{cherryObj.setMarkdown("2秒后替换成的新内容")},2000);`)} + + ` + }, + { + name: "insert", + title: `insert(content: string, isSelect = false, anchor = false, focus = true)`, + desc: `插入内容\nisSelect = true 选中刚插入的内容\nanchor = false 在光标处插入内容\nanchor = [1, 3] 在第2行第4个字符处插入内容`, + code: `cherryObj.insert("在光标处插入内容"); +cherryObj.insert("在第二行插入内容,并选中插入的内容", true, [1, 0]);`, + markdown: `# Cherry API +## insert(content: string, isSelect = false, anchor = false, focus = true) +在光标处或者指定行 + 偏移量插入内容 + > insert(\`content\`, \`isSelect\`, \`anchor\`, \`focus\`) +- \`content\` 被插入的文本 +- \`isSelect\` 是否选中刚插入的内容,默认false,不选中 +- \`anchor\` [x,y] 代表x+1行,y+1字符偏移量,默认false 会从光标处插入 +- \`focus\` 保持编辑器处于focus状态,默认true,选中编辑器(用户可以继续输入) +${getFullCode(`cherryObj.insert("在光标处插入内容"); + cherryObj.insert("在第二行插入内容,并选中插入的内容", true, [1, 0]);`)}`, + }, + { + name: "getMarkdown", + title: `getMarkdown()`, + desc: `获取markdown内容`, + code: `alert(cherryObj.getMarkdown()); +console.log(cherryObj.getMarkdown());`, + markdown: `# Cherry API +## getMarkdown() +获取markdown内容 +${getFullCode(`alert(cherryObj.getMarkdown()); + console.log(cherryObj.getMarkdown());`)}`, + }, + { + name: "getHtml", + title: `getHtml()`, + desc: `获取渲染后的html内容`, + code: `alert(cherryObj.getHtml()); +console.log(cherryObj.getHtml());`, + markdown: `# Cherry API +## getHtml() +获取渲染后的html内容 +${getFullCode(`alert(cherryObj.getHtml()); + console.log(cherryObj.getHtml());`)}`, + }, + { + name: "destroy", + title: `destroy()`, + desc: `销毁函数`, + code: `cherryObj.destroy();`, + markdown: `# Cherry API +## destroy() +销毁函数 +${getFullCode(`// cherryObj.destroy(); `)}`, + }, + { + name: "resetToolbar", + title: `resetToolbar(type:string, toolbar:array)`, + desc: `重置工具栏 +type 修改工具栏的类型 {'toolbar'|'toolbarRight'|'sidebar'|'bubble'|'float'} +toolbar 工具栏配置`, + code: `cherryObj.resetToolbar('toolbar', ['bold', 'table']);`, + markdown: `# Cherry API +## resetToolbar(type:string, toolbar:array) +重置工具栏 +type 修改工具栏的类型 {'toolbar'|'toolbarRight'|'sidebar'|'bubble'|'float'} +toolbar 工具栏配置 +${getFullCode(`cherryObj.resetToolbar('toolbar', ['bold', 'table']);`)}`, + }, + { + name: "export", + title: `export(type:string)`, + desc: `导出预览区域的内容,type:{'pdf'|'img'}`, + code: `if(confirm('导出pdf')) { + cherryObj.export(); +}else if(confirm('导出长图')) { + cherryObj.export('img'); +}`, + markdown: `# Cherry API +## export(type:string) +导出预览区域的内容,type:{'pdf'|'img'} +${getFullCode(`if(confirm('导出pdf')) { + cherryObj.export(); + }else if(confirm('导出长图')) { + cherryObj.export('img'); + }` + )}`, + }, + { + name: "switchModel", + title: `switchModel(model:string)`, + desc: `切换模式:{'edit&preview'|'editOnly'|'previewOnly'}`, + code: `if(confirm('只读模式')) { + cherryObj.switchModel('previewOnly'); +}else if(confirm('纯编辑模式')) { + cherryObj.switchModel('editOnly'); +}else if(confirm('双栏编辑模式')) { + cherryObj.switchModel('edit&preview'); +}`, + markdown: `# Cherry API +## switchModel(model:string) +切换模式:{'edit&preview'|'editOnly'|'previewOnly'} +${getFullCode(`if(confirm('只读模式')) { + cherryObj.switchModel('previewOnly'); + }else if(confirm('纯编辑模式')) { + cherryObj.switchModel('editOnly'); + }else if(confirm('双栏编辑模式')) { + cherryObj.switchModel('edit&preview'); + }` + )}`, + }, + { + name: "getToc", + title: `getToc()`, + desc: `获取由标题组成的目录`, + code: `alert(cherryObj.getToc()); +console.log(cherryObj.getToc());`, + markdown: `# Cherry API +## getToc() +获取由标题组成的目录 +${getFullCode(`alert(cherryObj.getToc()); + console.log(cherryObj.getToc());`)}`, + }, + { + name: "getCodeMirror", + title: `getCodeMirror()`, + desc: `获取左侧编辑器实例`, + code: `alert(cherryObj.getCodeMirror()); +console.log(cherryObj.getCodeMirror());`, + markdown: `# Cherry API +## getCodeMirror() +获取左侧编辑器实例 +${getFullCode(`alert(cherryObj.getCodeMirror()); + console.log(cherryObj.getCodeMirror());`)}`, + }, + { + name: "getPreviewer", + title: `getPreviewer()`, + desc: `获取右侧预览区对象实例`, + code: `alert(cherryObj.getPreviewer()); +console.log(cherryObj.getPreviewer());`, + markdown: `# Cherry API +## getPreviewer() +获取右侧预览区对象实例 +${getFullCode(`alert(cherryObj.getPreviewer()); + console.log(cherryObj.getPreviewer());`)}`, + }, + + ], + }, + { + name: "Cherry.Previewer API", + api: [{ + name: "Previewer.scrollToId", + title: `Previewer.scrollToId(id:string)`, + desc: `滚动到对应id的元素位置 +id 可以为带#号hash,也可以是id值`, + code: `// 查看可跳转的id +console.log(cherryObj.getToc()); +// 两种方式都可获得previewer对象 +console.log(cherryObj.previewer == cherryObj.getPreviewer()) +//两种写法都可以 +// cherryObj.previewer.scrollToId('#test-scroll'); +cherryObj.previewer.scrollToId('test-scroll');`, + markdown: `# Cherry API +## Previewer.scrollToId(id:string) +滚动到对应id的元素位置 +id 可以为带#号hash,也可以是id值 +// 查看可跳转的id +${getFullCode(`// 查看可跳转的id + console.log(cherryObj.getToc()); + // 两种方式都可获得previewer对象 + console.log(cherryObj.previewer == cherryObj.getPreviewer()) + // 两种写法都可以 + // cherryObj.previewer.scrollToId('#test-scroll'); + cherryObj.previewer.scrollToId('test-scroll');`)} +# Test Scroll`, + }] + }, + { + name: "Cherry.engine API", + api: [ + { + name: "makeHtml", + title: `engine.makeHtml(markdown:string)`, + desc: `将markdown字符串渲染成Html`, + code: `alert(cherryObj.engine.makeHtml('This is \`inline code\`')); +console.log(cherryObj.engine.makeHtml('This is \`inline code\`'));`, + markdown: `# Cherry.engine API +## engine.makeHtml(markdown:string) +将markdown字符串渲染成Html +${getFullCode(`alert(cherryObj.engine.makeHtml('This is \`inline code\`')); + console.log(cherryObj.engine.makeHtml('This is\`inline code\`'));`)}`, + }, + { + name: "makeMarkdown", + title: `engine.makeMarkdown(html:string)`, + desc: `将html字符串渲染成markdown`, + code: `var html = \` < p > This is<code>inline code</code></ >\`; +alert(cherryObj.engine.makeMarkdown(html)); +console.log(cherryObj.engine.makeMarkdown(html));`, + markdown: `# Cherry.engine API +## engine.makeMarkdown(html:string) +将html字符串渲染成markdown +${getFullCode(`var html = \` < p > This is < code > inline code</ ></ >\`; + alert(cherryObj.engine.makeMarkdown(html)); + console.log(cherryObj.engine.makeMarkdown(html));`)}`, + }, + ], + }, + { + name: "Cherry.toolbar.toolbarHandlers API", + api: [ + { + name: "bold", + title: `toolbar.toolbarHandlers.bold()`, + desc: `在cherry编辑区域的选定文本处插入加粗语法`, + code: `cherryObj.toolbar.toolbarHandlers.bold()`, + markdown: `# Cherry.toolbar.toolbarHandlers API +## toolbar.toolbarHandlers.bold() +在cherry编辑区域的选定文本处插入加粗语法 +${getFullCode(`cherryObj.toolbar.toolbarHandlers.bold()`)}`, + }, + { + name: "italic", + title: `toolbar.toolbarHandlers.italic()`, + desc: `在cherry编辑区域的选定文本处插入斜体语法`, + code: `cherryObj.toolbar.toolbarHandlers.italic()`, + markdown: `# Cherry.toolbar.toolbarHandlers API +## toolbar.toolbarHandlers.italic() +在cherry编辑区域的选定文本处插入斜体语法 +${getFullCode(`cherryObj.toolbar.toolbarHandlers.italic()`)}`, + }, + { + name: "header", + title: `toolbar.toolbarHandlers.header(level: int)`, + desc: `在cherry编辑区域的选定文本处插入标题语法`, + code: `cherryObj.toolbar.toolbarHandlers.header(1) +// cherryObj.toolbar.toolbarHandlers.header(2) +// cherryObj.toolbar.toolbarHandlers.header(4)`, + markdown: `# Cherry.toolbar.toolbarHandlers API +## toolbar.toolbarHandlers.header(level: int) + +在cherry编辑区域的选定文本处插入标题语法 + +${getFullCode(`cherryObj.toolbar.toolbarHandlers.header(1) + // cherryObj.toolbar.toolbarHandlers.header(2) + // cherryObj.toolbar.toolbarHandlers.header(4)`)}`, + }, + { + name: "strikethrough", + title: `toolbar.toolbarHandlers.strikethrough()`, + desc: `在cherry编辑区域的选定文本处插入删除线语法`, + code: `cherryObj.toolbar.toolbarHandlers.strikethrough()`, + markdown: `# Cherry.toolbar.toolbarHandlers API +## toolbar.toolbarHandlers.strikethrough() +在cherry编辑区域的选定文本处插入删除线语法 +${getFullCode(`cherryObj.toolbar.toolbarHandlers.strikethrough()`)}`, + }, + { + name: "list", + title: `toolbar.toolbarHandlers.list(type: string)`, + desc: `在cherry编辑区域的选定文本处插入有序、无序列表或者checklist语法`, + code: `if(confirm('有序列表')) { + cherryObj.toolbar.toolbarHandlers.list(1); + }else if (confirm('无序列表')) { + cherryObj.toolbar.toolbarHandlers.list('2'); + } else if (confirm('checklist')) { + cherryObj.toolbar.toolbarHandlers.list(3); + } `, + markdown: `# Cherry.toolbar.toolbarHandlers API +## toolbar.toolbarHandlers.list(type: string) +在cherry编辑区域的选定文本处插入有序、无序列表或者checklist语法 +| level | 效果 | +|:-:|:-:| +| 1 | ol 列表 | +| 2 | ul 列表 | +| 3 | checklist | +${getFullCode(`if(confirm('有序列表')) { + cherryObj.toolbar.toolbarHandlers.list(1); + }else if (confirm('无序列表')) { + cherryObj.toolbar.toolbarHandlers.list('2'); + } else if (confirm('checklist')) { + cherryObj.toolbar.toolbarHandlers.list(3); + } `)}`, + }, + { + name: "insert", + title: `toolbar.toolbarHandlers.insert(type: string)`, + desc: `在cherry编辑区域的光标处插入特定语法`, + code: `if (confirm('插入3*4的表格')) { + cherryObj.toolbar.toolbarHandlers.insert('normal-table-3*4'); +} else if (confirm('插入checklist')) { + cherryObj.toolbar.toolbarHandlers.insert('checklist'); +} `, + markdown: `# Cherry.toolbar.toolbarHandlers API +## toolbar.toolbarHandlers.insert(type: string) +在cherry编辑区域的光标处插入特定语法: + +| type | 效果 | +|:-:|:-:| +| 'hr' | 删除线 | +| 'br' | 强制换行 | +| 'code' | 代码块 | +| 'formula' | 行内公式 | +| 'checklist' | 检查项 | +| 'toc' | 目录 | +| 'link' | 超链接 | +| 'image' | 图片 | +| 'video' | 视频 | +| 'audio' | 音频 | +| 'normal-table' | 插入3行5列的表格 | +| 'normal-table-row*col' | 如 \`normal-table-2*4\` 插入2行(包含表头是3行)4列的表格 | + +${getFullCode(`if (confirm('插入3*4的表格')) { + cherryObj.toolbar.toolbarHandlers.insert('normal-table-3*4'); + } else if (confirm('插入checklist')) { + cherryObj.toolbar.toolbarHandlers.insert('checklist'); + } `)}`, + }, + { + name: "graph", + title: `toolbar.toolbarHandlers.graph(type:string)`, + desc: `在cherry编辑区域的光标处插入画图语法`, + code: `cherryObj.toolbar.toolbarHandlers.graph(1) +// cherryObj.toolbar.toolbarHandlers.graph('2') +// cherryObj.toolbar.toolbarHandlers.graph(4)`, + markdown: `# Cherry.toolbar.toolbarHandlers API +## toolbar.toolbarHandlers.graph(type:string) +在cherry编辑区域的光标处插入画图语法 + +|id |效果 | +|:-:|:-:| +|'1' |流程图 | +|'2' |时序图 | +|'3' |状态图 | +|'4' |类图 | +|'5' |饼图 | +|'6' |甘特图 | +\`\`\`mermaid +graph LR + A[公司] -->| 下 班 | B(菜市场) + B --> C{看见<br>卖西瓜的} + C -->|Yes| D[买一个包子] + C -->|No| E[买一斤包子] +\`\`\` +${getFullCode(`cherryObj.toolbar.toolbarHandlers.graph(1) + // cherryObj.toolbar.toolbarHandlers.graph('2') + // cherryObj.toolbar.toolbarHandlers.graph(4)`)}`, + }, + ] + } +] + +const CodeTextArea = ({ value, onChange }) => { + const ref = useRef(null); + useEffect(() => { + // 高度适应内容 + const resize = () => { + if (ref.current) { + ref.current.style.height = 'auto'; // 重置高度 + ref.current.style.height = `${ref.current.scrollHeight}px`; // 设置新高度 + } + }; + resize(); + }, [value]); + return ( + <textarea ref={ref} className="code-input" placeholder="请输入可执行的js代码,编辑器对象为'cherryObj'" onChange={e => onChange(e.target.value)} value={value} /> + ) +} + +export default ({ cherryObj }) => { + const [selectedGroup, setSelectedGroup] = useState(0); + const [selectedApi, setSelectedApi] = useState(0); + const [title, setTitle] = useState(""); + const [desc, setDesc] = useState(""); + const [code, setCode] = useState(""); + const [allowReset, setAllowReset] = useState(false); + const handleOptionChange = (groupIdx, apiIdx) => { + setSelectedGroup(groupIdx); + setSelectedApi(apiIdx); + const content = data[groupIdx].api[apiIdx]; + setCode(content.code); + setDesc(content.desc); + setTitle(content.title); + cherryObj.setMarkdown(content.markdown); + } + const reset = () => { + const content = data[selectedGroup].api[selectedApi]; + setCode(content.code); + cherryObj.setMarkdown(content.markdown); + } + const computeAllowReset = () => { + const content = data[selectedGroup].api[selectedApi]; + const allow = content.name != "resetToolbar" && content.name != "destroy"; + setAllowReset(allow); + return + } + useEffect(() => { + if (cherryObj) { + handleOptionChange(selectedGroup, selectedApi); + } + computeAllowReset() + }, [cherryObj, selectedGroup, selectedApi]) + return ( + <div className="menu"> + <div> + <span>选择例子</span> + {cherryObj && <> + <Select options={data.map(datum => datum.name)} onChange={(idx) => { setSelectedGroup(idx); setSelectedApi(0) }} selected={selectedGroup} /> + <Select options={data[selectedGroup].api.map(datum => datum.name)} onChange={setSelectedApi} selected={selectedApi} /> + </>} + </div> + <h2>{title}</h2> + <h3>描述</h3> + <div className="demo-desc">{desc}</div> + <h3> + <span>代码示例</span> + {cherryObj && <> + <button className="run-btn" onClick={() => { eval(code); }}>点击执行</button> + <button className="run-btn" onClick={reset} disabled={!allowReset}>{allowReset ? "重置" : "请通过刷新恢复"}</button> + </>} + </h3> + <CodeTextArea value={code} onChange={setCode} /> + </div> + ) +} \ No newline at end of file diff --git a/examples/cherry-markdown-react-demo/src/components/Title.jsx b/examples/cherry-markdown-react-demo/src/components/Title.jsx new file mode 100644 index 000000000..09240f007 --- /dev/null +++ b/examples/cherry-markdown-react-demo/src/components/Title.jsx @@ -0,0 +1,7 @@ +export default () => { + return ( + <div className="title-wrapper"> + <h2 className='title'>React Demo</h2> + </div> + ) +} \ No newline at end of file diff --git a/examples/cherry-markdown-react-demo/src/index.css b/examples/cherry-markdown-react-demo/src/index.css new file mode 100644 index 000000000..3e3b6a190 --- /dev/null +++ b/examples/cherry-markdown-react-demo/src/index.css @@ -0,0 +1,13 @@ +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', + 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', + sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +code { + font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', + monospace; +} \ No newline at end of file diff --git a/examples/cherry-markdown-react-demo/src/index.js b/examples/cherry-markdown-react-demo/src/index.js new file mode 100644 index 000000000..f45e211e0 --- /dev/null +++ b/examples/cherry-markdown-react-demo/src/index.js @@ -0,0 +1,9 @@ +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import './index.css'; +import App from './App'; + +const root = ReactDOM.createRoot(document.getElementById('root')); +root.render( + <App /> +); \ No newline at end of file From e61ec5f17ea4b789019f8bcb79ed6a040bc950dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sunsonliu=28=E5=88=98=E9=98=B3=29?= <sunsonliu@tencent.com> Date: Thu, 18 Jul 2024 16:26:01 +0800 Subject: [PATCH 18/42] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=AD=97?= =?UTF-8?q?=E6=95=B0=E7=BB=9F=E8=AE=A1=E5=B7=A5=E5=85=B7=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/scripts/index-demo.js | 2 +- src/locales/en_US.js | 5 ++++- src/locales/zh_CN.js | 5 ++++- src/toolbars/HookCenter.js | 5 +++-- src/toolbars/hooks/WordCount.js | 32 +++++++++++++++++++++++--------- 5 files changed, 35 insertions(+), 14 deletions(-) diff --git a/examples/scripts/index-demo.js b/examples/scripts/index-demo.js index a25ce9a76..111e2de0e 100644 --- a/examples/scripts/index-demo.js +++ b/examples/scripts/index-demo.js @@ -193,7 +193,7 @@ var basicConfig = { 'customMenuCName', 'theme', ], - toolbarRight: ['fullScreen', '|'], + toolbarRight: ['fullScreen', '|', 'wordCount'], bubble: ['bold', 'italic', 'underline', 'strikethrough', 'sub', 'sup', 'quote', 'ruby', '|', 'size', 'color'], // array or false sidebar: ['mobilePreview', 'copy', 'theme', 'publish'], sidebar: ['mobilePreview', 'copy', 'theme'], diff --git a/src/locales/en_US.js b/src/locales/en_US.js index 94638cb59..c37b4c733 100644 --- a/src/locales/en_US.js +++ b/src/locales/en_US.js @@ -90,7 +90,6 @@ export default { justifyCenter: 'Center', justifyRight: 'Right', publish: 'Publish', - wordCount: 'Word Count', fontColor: 'Font Color', fontBgColor: 'Font Bg Color', small: 'Small', @@ -102,4 +101,8 @@ export default { inlineCode: 'Inline Code', codeBlock: 'Code Block', editShortcutKeyConfigTip: 'double click shortcut key area to edit', + wordCount: 'Word Count', + wordCountP: 'P', + wordCountW: 'W', + wordCountC: 'C' }; diff --git a/src/locales/zh_CN.js b/src/locales/zh_CN.js index 3005cedb7..17bc9010a 100644 --- a/src/locales/zh_CN.js +++ b/src/locales/zh_CN.js @@ -94,7 +94,6 @@ export default { justifyCenter: '居中', justifyRight: '右对齐', publish: '发布', - wordCount: '字数', fontColor: '文本颜色', fontBgColor: '背景颜色', small: '小', @@ -105,4 +104,8 @@ export default { inlineCode: '行内代码', codeBlock: '代码块', editShortcutKeyConfigTip: '双击快捷键区域编辑快捷键', + wordCount: '字数统计', + wordCountP: '段落', + wordCountW: '单词', + wordCountC: '字符' }; diff --git a/src/toolbars/HookCenter.js b/src/toolbars/HookCenter.js index c0b987b90..e3b3e0a35 100644 --- a/src/toolbars/HookCenter.js +++ b/src/toolbars/HookCenter.js @@ -175,13 +175,14 @@ export default class HookCenter { */ const currentMenuOptions = options || { name, icon: name }; const { $cherry, customMenu } = this.toolbar.options; + $cherry.$currentMenuOptions = currentMenuOptions; if (HookList[name]) { this.allMenusName.push(name); - this.hooks[name] = new HookList[name]({ ...$cherry, $currentMenuOptions: currentMenuOptions }); + this.hooks[name] = new HookList[name]($cherry); } else if (customMenu !== undefined && customMenu !== null && customMenu[name]) { this.allMenusName.push(name); // 如果是自定义菜单,传参兼容旧版 - this.hooks[name] = new customMenu[name]({ ...$cherry, $currentMenuOptions: currentMenuOptions }); + this.hooks[name] = new customMenu[name]($cherry); } } diff --git a/src/toolbars/hooks/WordCount.js b/src/toolbars/hooks/WordCount.js index f83da2396..767fdc623 100644 --- a/src/toolbars/hooks/WordCount.js +++ b/src/toolbars/hooks/WordCount.js @@ -32,18 +32,29 @@ export default class wordCount extends MenuBase { * @returns {string} 回填到编辑器光标位置/选中文本区域的内容 */ onClick(selection, shortKey = '') { - const span = document.querySelector('.cherry-toolbar-button.cherry-toolbar-wordCount'); + const span = this.$cherry.wrapperDom.querySelector('.cherry-toolbar-button.cherry-toolbar-wordCount'); // 首次点击时添加监听器 if (this.countState === 0) { span.addEventListener('count', () => { const markdown = this.$cherry.getMarkdown(); const { characters, words, paragraphs } = this.wordCount(markdown); - if (this.countState === 1) { - span.innerHTML = `P ${paragraphs}`; - } else if (this.countState === 2) { - span.innerHTML = `W ${words}`; - } else { - span.innerHTML = `C ${characters}`; + const { locale } = this.$cherry; + switch (this.countState) { + case 0: + span.innerHTML = locale.wordCount; + break; + case 1: + span.innerHTML = `${locale.wordCountC} ${characters}`; + break; + case 2: + span.innerHTML = `${locale.wordCountW} ${words}`; + break; + case 3: + span.innerHTML = `${locale.wordCountP} ${paragraphs}`; + break; + case 4: + span.innerHTML = `${locale.wordCountC} ${characters}   ${locale.wordCountW} ${words}   ${locale.wordCountP} ${paragraphs}`; + break; } }); @@ -60,8 +71,11 @@ export default class wordCount extends MenuBase { }, 500); }); } - // 循环切换3种状态 - this.countState = ((this.countState + 1) % 3) + 1; + // 循环切换4种状态 + this.countState += 1; + if (this.countState > 4) { + this.countState = 0; + } span.dispatchEvent(this.countEvent); return selection; } From f7018d9d1a4dd5588ad44f175d2e837f9d4fea66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sunsonliu=28=E5=88=98=E9=98=B3=29?= <sunsonliu@tencent.com> Date: Thu, 18 Jul 2024 16:30:17 +0800 Subject: [PATCH 19/42] fix lint --- src/locales/en_US.js | 2 +- src/locales/zh_CN.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/locales/en_US.js b/src/locales/en_US.js index c37b4c733..90c01d4d1 100644 --- a/src/locales/en_US.js +++ b/src/locales/en_US.js @@ -104,5 +104,5 @@ export default { wordCount: 'Word Count', wordCountP: 'P', wordCountW: 'W', - wordCountC: 'C' + wordCountC: 'C', }; diff --git a/src/locales/zh_CN.js b/src/locales/zh_CN.js index 17bc9010a..e52e06531 100644 --- a/src/locales/zh_CN.js +++ b/src/locales/zh_CN.js @@ -107,5 +107,5 @@ export default { wordCount: '字数统计', wordCountP: '段落', wordCountW: '单词', - wordCountC: '字符' + wordCountC: '字符', }; From 3476f213fcaa8394b1db43b963c8c7ebb397227e Mon Sep 17 00:00:00 2001 From: Leo Xia <52569690+Saraph1nes@users.noreply.github.com> Date: Fri, 19 Jul 2024 14:08:43 +0800 Subject: [PATCH 20/42] =?UTF-8?q?feat:=20#847=20=E6=8F=92=E5=85=A5?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E6=B7=BB=E5=8A=A0=E2=80=9C=E5=86=85=E8=81=94?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E2=80=9D=E6=8C=89=E9=92=AE=20(#849)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit feat: #847 插入菜单添加“内联代码”按钮 feat: #847 插入菜单添加“内联代码”按钮 Co-authored-by: Saraph1nes <xiayx.leo@qq.com> --- examples/scripts/index-demo.js | 4 +- src/sass/ch-icon.scss | 4 +- src/sass/components/shortcut_key_config.scss | 5 +- src/sass/icons/uEA73-inlineCode.svg | 18 +++++++ src/sass/icons/uEA74-codeBlock.svg | 1 + src/toolbars/HookCenter.js | 2 + src/toolbars/hooks/Code.js | 2 +- src/toolbars/hooks/InlineCode.js | 53 ++++++++++++++++++++ 8 files changed, 84 insertions(+), 5 deletions(-) create mode 100644 src/sass/icons/uEA73-inlineCode.svg create mode 100644 src/sass/icons/uEA74-codeBlock.svg create mode 100644 src/toolbars/hooks/InlineCode.js diff --git a/examples/scripts/index-demo.js b/examples/scripts/index-demo.js index 111e2de0e..8c0580d5a 100644 --- a/examples/scripts/index-demo.js +++ b/examples/scripts/index-demo.js @@ -179,7 +179,7 @@ var basicConfig = { '|', 'formula', { - insert: ['image', 'audio', 'video', 'link', 'hr', 'br', 'code', 'formula', 'toc', 'table', 'pdf', 'word'], + insert: ['image', 'audio', 'video', 'link', 'hr', 'br', 'code', 'inlineCode', 'formula', 'toc', 'table', 'pdf', 'word'], }, 'graph', 'customMenuTable', @@ -216,7 +216,7 @@ var basicConfig = { // serviceUrl: 'http://localhost:3001', // injectPayload: { // thumb_media_id: 'ft7IwCi1eukC6lRHzmkYuzeMmVXWbU3JoipysW2EZamblyucA67wdgbYTix4X377', - // author: 'Cherry Markdown', + // author: 'Cherry Markdown', // }, // } // ], diff --git a/src/sass/ch-icon.scss b/src/sass/ch-icon.scss index cd5418ce7..59b37e247 100644 --- a/src/sass/ch-icon.scss +++ b/src/sass/ch-icon.scss @@ -108,4 +108,6 @@ .ch-icon-justifyRight:before { content: "\EA6F" } .ch-icon-chevronsLeft:before { content: "\EA70" } .ch-icon-chevronsRight:before { content: "\EA71" } -.ch-icon-trendingUp:before { content: "\EA72" } \ No newline at end of file +.ch-icon-trendingUp:before { content: "\EA72" } +.ch-icon-inlineCode:before { content: "\EA73" } +.ch-icon-codeBlock:before { content: "\EA74" } \ No newline at end of file diff --git a/src/sass/components/shortcut_key_config.scss b/src/sass/components/shortcut_key_config.scss index 7b3f3b492..f84e8b22b 100644 --- a/src/sass/components/shortcut_key_config.scss +++ b/src/sass/components/shortcut_key_config.scss @@ -32,6 +32,9 @@ .shortcut-key-config-panel-kbd { display: flex; gap: 10px; + min-width: 120px; + justify-content: right; + .keyboard-key { border-radius: 3px; border-style: solid; @@ -43,7 +46,7 @@ vertical-align: middle; line-height: 20px; margin: 4px; - width: 10px; + min-width: 16px; text-align: center; } } diff --git a/src/sass/icons/uEA73-inlineCode.svg b/src/sass/icons/uEA73-inlineCode.svg new file mode 100644 index 000000000..9c124fc6a --- /dev/null +++ b/src/sass/icons/uEA73-inlineCode.svg @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="图形" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="90.288 58.809 850.394 850.394" enable-background="new 90.288 58.809 850.394 850.394" xml:space="preserve"> +<g> + <path d="M350.505,641.598L166.106,484.626l184.79-162.875c12.429-10.956,13.625-29.913,2.669-42.343 + c-10.955-12.429-29.912-13.624-42.343-2.669L100.451,462.515c-6.529,5.755-10.237,14.062-10.162,22.764 + c0.075,8.703,3.926,16.944,10.553,22.585l210.771,179.421c5.646,4.807,12.556,7.157,19.432,7.157 + c8.489-0.001,16.924-3.584,22.858-10.555C364.643,671.272,363.122,652.337,350.505,641.598z"/> + <path d="M930.519,464.678L719.747,278.903c-12.431-10.955-31.387-9.759-42.343,2.669c-10.955,12.43-9.761,31.387,2.669,42.343 + L864.864,486.79l-184.4,156.971c-12.616,10.739-14.138,29.674-3.397,42.29c5.934,6.971,14.368,10.555,22.858,10.555 + c6.875-0.001,13.786-2.352,19.432-7.157l210.772-179.42c6.627-5.642,10.478-13.883,10.553-22.586 + C940.756,478.74,937.047,470.433,930.519,464.678z"/> + <path d="M582.347,201.347c-16.13-3.813-32.287,6.165-36.101,22.289L426.335,730.564c-3.814,16.124,6.165,32.286,22.289,36.101 + c2.323,0.55,4.644,0.813,6.931,0.813c13.591,0,25.904-9.3,29.169-23.101l119.912-506.929 + C608.45,221.323,598.47,205.161,582.347,201.347z"/> +</g> +</svg> diff --git a/src/sass/icons/uEA74-codeBlock.svg b/src/sass/icons/uEA74-codeBlock.svg new file mode 100644 index 000000000..b2fe63975 --- /dev/null +++ b/src/sass/icons/uEA74-codeBlock.svg @@ -0,0 +1 @@ +<svg class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path d="M832 992H192C102.4 992 32 921.6 32 832V192C32 102.4 102.4 32 192 32h640c89.6 0 160 70.4 160 160v640c0 89.6-70.4 160-160 160zM192 96c-51.2 0-96 44.8-96 96v640c0 51.2 44.8 96 96 96h640c51.2 0 96-44.8 96-96V192c0-51.2-44.8-96-96-96H192z" fill="#000000" p-id="2464"></path><path d="M339.2 704c-6.4 0-19.2-6.4-25.6-12.8L192 556.8c-19.2-25.6-19.2-64 0-89.6l121.6-140.8c12.8-6.4 32-12.8 44.8 0 12.8 12.8 12.8 32 6.4 44.8L243.2 512l121.6 140.8c12.8 12.8 12.8 32-6.4 44.8-6.4 6.4-12.8 6.4-19.2 6.4zM691.2 704c-6.4 0-12.8 0-19.2-6.4-12.8-12.8-12.8-32-6.4-44.8L780.8 512l-121.6-140.8c-12.8-12.8-12.8-32 6.4-44.8 12.8-12.8 32-12.8 44.8 6.4L832 467.2c19.2 25.6 19.2 57.6 0 83.2l-121.6 140.8c-6.4 6.4-12.8 12.8-19.2 12.8z" fill="#000000" p-id="2465"></path><path d="M448 704h-12.8c-19.2-6.4-25.6-25.6-19.2-38.4l128-320c6.4-19.2 25.6-32 44.8-25.6 19.2 6.4 25.6 25.6 19.2 38.4l-128 320c-6.4 19.2-19.2 25.6-32 25.6z" fill="#000000"></path></svg> diff --git a/src/toolbars/HookCenter.js b/src/toolbars/HookCenter.js index e3b3e0a35..c7d2ce96b 100644 --- a/src/toolbars/HookCenter.js +++ b/src/toolbars/HookCenter.js @@ -41,6 +41,7 @@ import FullScreen from './hooks/FullScreen'; import Undo from './hooks/Undo'; import Redo from './hooks/Redo'; import Code from './hooks/Code'; +import InlineCode from './hooks/InlineCode'; import CodeTheme from './hooks/CodeTheme'; import Export from './hooks/Export'; import Settings from './hooks/Settings'; @@ -99,6 +100,7 @@ const HookList = { quickTable: QuickTable, togglePreview: TogglePreview, code: Code, + inlineCode: InlineCode, codeTheme: CodeTheme, export: Export, settings: Settings, diff --git a/src/toolbars/hooks/Code.js b/src/toolbars/hooks/Code.js index 476ba1510..7fcd2ca8a 100644 --- a/src/toolbars/hooks/Code.js +++ b/src/toolbars/hooks/Code.js @@ -24,7 +24,7 @@ export default class Code extends MenuBase { */ constructor($cherry) { super($cherry); - this.setName('code', 'code'); + this.setName('code', 'codeBlock'); this.shortcutKeyMap = { [`${CONTROL_KEY}-${getKeyCode('k')}`]: { hookName: this.name, diff --git a/src/toolbars/hooks/InlineCode.js b/src/toolbars/hooks/InlineCode.js new file mode 100644 index 000000000..4127b344b --- /dev/null +++ b/src/toolbars/hooks/InlineCode.js @@ -0,0 +1,53 @@ +/** + * Copyright (C) 2021 THL A29 Limited, a Tencent company. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import MenuBase from '@/toolbars/MenuBase'; +import { CONTROL_KEY } from '@/utils/shortcutKey'; +/** + * 插入行内代码的按钮 + */ +export default class InlineCode extends MenuBase { + constructor($cherry) { + super($cherry); + this.setName('inlineCode', 'inlineCode'); + this.shortcutKeyMap = { + [`${CONTROL_KEY}-Backquote`]: { + hookName: this.name, + aliasName: this.$cherry.locale[this.name], + }, + }; + } + + /** + * 响应点击事件 + * @param {string} selection 被用户选中的文本内容 + * @param {string} shortKey 快捷键参数,本函数不处理这个参数 + * @returns {string} 回填到编辑器光标位置/选中文本区域的内容 + */ + onClick(selection, shortKey = '') { + if (!selection) { + this.registerAfterClickCb(() => this.setLessSelection('`', '`')); + return '``'; + } + + if (!selection.includes('\n')) { + this.registerAfterClickCb(() => this.setLessSelection('`', '`')); + return `\`${selection}\``; + } + + const arr = selection.split('\n').map((item) => `\`${item}\``); + return arr.join('\n'); + } +} From 2d43853d5e6f8443866369b4a650b8e16522c5fa Mon Sep 17 00:00:00 2001 From: Ikko Eltociear Ashimine <eltociear@gmail.com> Date: Mon, 22 Jul 2024 10:43:57 +0900 Subject: [PATCH 21/42] docs: add Japanese README (#851) --- README.JP.md | 294 +++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 2 +- 2 files changed, 295 insertions(+), 1 deletion(-) create mode 100644 README.JP.md diff --git a/README.JP.md b/README.JP.md new file mode 100644 index 000000000..38a31cda2 --- /dev/null +++ b/README.JP.md @@ -0,0 +1,294 @@ +<p align="center"><img src="logo/new_logo.png" alt="cherry logo" width="50%"/></p> + +# Cherry Markdown Writer + +[![Cloud Studio Template](https://cs-res.codehub.cn/common/assets/icon-badge.svg)](https://cloudstudio.net#https://github.com/Tencent/cherry-markdown) + +日本語 | [English](./README.md) | [简体中文](./README.CN.md) + +### ドキュメント +- [初識cherry markdown 編集器](https://github.com/Tencent/cherry-markdown/wiki/%E5%88%9D%E8%AF%86cherry-markdown-%E7%BC%96%E8%BE%91%E5%99%A8) +- [hello world](https://github.com/Tencent/cherry-markdown/wiki/hello-world) +- [画像&ファイルアップロードインターフェースの設定](https://github.com/Tencent/cherry-markdown/wiki/%E9%85%8D%E7%BD%AE%E5%9B%BE%E7%89%87&%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0%E6%8E%A5%E5%8F%A3) +- [ツールバーの調整](https://github.com/Tencent/cherry-markdown/wiki/%E8%B0%83%E6%95%B4%E5%B7%A5%E5%85%B7%E6%A0%8F) +- [カスタムシンタックス](https://github.com/Tencent/cherry-markdown/wiki/%E8%87%AA%E5%AE%9A%E4%B9%89%E8%AF%AD%E6%B3%95) +- [設定項目の全解](https://github.com/Tencent/cherry-markdown/wiki/%E9%85%8D%E7%BD%AE%E9%A1%B9%E5%85%A8%E8%A7%A3) +- [テーマの設定](https://github.com/Tencent/cherry-markdown/wiki/%E9%85%8D%E7%BD%AE%E4%B8%BB%E9%A2%98) +- [コードブロックシンタックスの拡張](https://github.com/Tencent/cherry-markdown/wiki/%E6%89%A9%E5%B1%95%E4%BB%A3%E7%A0%81%E5%9D%97%E8%AF%AD%E6%B3%95) +- [イベント&コールバック](https://github.com/Tencent/cherry-markdown/wiki/%E4%BA%8B%E4%BB%B6&%E5%9B%9E%E8%B0%83) +- [API](https://tencent.github.io/cherry-markdown/examples/api.html) + +### デモ + +- [フルモデル](https://tencent.github.io/cherry-markdown/examples/index.html) +- [ベーシック](https://tencent.github.io/cherry-markdown/examples/basic.html) +- [モバイル](https://tencent.github.io/cherry-markdown/examples/h5.html) +- [複数インスタンス](https://tencent.github.io/cherry-markdown/examples/multiple.html) +- [ツールバーなしエディタ](https://tencent.github.io/cherry-markdown/examples/notoolbar.html) +- [純プレビュー](https://tencent.github.io/cherry-markdown/examples/preview_only.html) +- [XSS](https://tencent.github.io/cherry-markdown/examples/xss.html)(デフォルトでは許可されていません) +- [画像WYSIWYG](https://tencent.github.io/cherry-markdown/examples/img.html) +- [テーブルWYSIWYG](https://tencent.github.io/cherry-markdown/examples/table.html) +- [自動番号付きヘッダー](https://tencent.github.io/cherry-markdown/examples/head_num.html) +- [ストリーム入力モード(AIチャートシナリオ)](https://tencent.github.io/cherry-markdown/examples/ai_chat.html) + +----- + +## 紹介 + +Cherry Markdown Editorは、Javascriptで書かれたMarkdownエディタです。Cherry Markdown Editorは、すぐに使える、軽量でシンプル、拡張が容易などの利点があります。ブラウザやサーバー(NodeJs)で動作します。 + +### **すぐに使える** + +開発者は非常に簡単な方法でCherry Markdown Editorを呼び出してインスタンス化できます。インスタンス化されたエディタは、デフォルトでほとんどの一般的なMarkdownシンタックス(タイトル、目次、フローチャート、数式など)をサポートします。 + +### **拡張が容易** + +Cherry Markdown Editorがサポートするシンタックスが開発者のニーズを満たさない場合、迅速に二次開発や機能拡張を行うことができます。同時に、Cherry Markdown Editorは純粋なJavaScriptで実装されるべきであり、angular、vue、reactなどのフレームワーク技術に依存すべきではありません。フレームワークはコンテナ環境を提供するだけです。 + +## 特徴 + +### シンタックスの特徴 + +1. 画像のズーム、配置、引用 +2. テーブルの内容に基づいてチャートを生成 +3. フォントの色とサイズの調整 +4. フォントの背景色、上付き文字、下付き文字 +5. チェックリストの挿入 +6. オーディオやビデオの挿入 + +### 複数のモード + +1. スクロール同期付きのライブプレビュー +2. プレビューのみのモード +3. ツールバーなしのモード(ミニマリスト編集モード) +4. モバイルプレビューモード + +### 機能の特徴 + +1. リッチテキストからコピーしてMarkdownテキストとして貼り付け +2. クラシック改行&通常改行 +3. マルチカーソル編集 +4. 画像サイズの編集 +5. 画像やPDFとしてエクスポート +6. 新しい行の先頭に表示されるフロートツールバー +7. テキストを選択すると表示されるバブルツールバー + +### パフォーマンスの特徴 + +1. 部分的なレンダリング +2. 部分的な更新 + +### セキュリティ + +Cherry Markdownには組み込みのセキュリティフックがあり、ホワイトリストのフィルタリングとDomPurifyを使用してスキャンとフィルタリングを行います。 + +### スタイルテーマ + +Cherry Markdownにはさまざまなスタイルテーマが用意されています。 + +### 特徴の表示 + +詳細については[こちら](https://github.com/Tencent/cherry-markdown/wiki/%E7%89%B9%E6%80%A7%E5%B1%95%E7%A4%BA-features)をクリックしてください。 + +## インストール + +yarnを使用 + +```bash +yarn add cherry-markdown +``` + +npmを使用 + +```bash +npm install cherry-markdown --save +``` + +`mermaid`描画とテーブル自動チャート機能を有効にする必要がある場合は、`mermaid`と`echarts`パッケージを同時に追加する必要があります。 + +現在、**Cherry**が推奨するプラグインバージョンは`echarts@4.6.0`、`mermaid@9.4.3`です。 + +```bash +# mermaid依存関係をインストールしてmermaid描画機能を有効にする +yarn add mermaid@9.4.3 +# echarts依存関係をインストールしてテーブル自動チャート機能を有効にする +yarn add echarts@4.6.0 +``` + +## クイックスタート + +### ブラウザ + +#### UMD + +```html +<link href="cherry-editor.min.css" /> +<div id="markdown-container"></div> +<script src="cherry-editor.min.js"></script> +<script> + new Cherry({ + id: 'markdown-container', + value: '# welcome to cherry editor!', + }); +</script> +``` + +#### ESM + +```javascript +import 'cherry-markdown/dist/cherry-markdown.css'; +import Cherry from 'cherry-markdown'; +const cherryInstance = new Cherry({ + id: 'markdown-container', + value: '# welcome to cherry editor!', +}); +``` + +### Node + +```javascript +const { default: CherryEngine } = require('cherry-markdown/dist/cherry-markdown.engine.core.common'); +const cherryEngineInstance = new CherryEngine(); +const htmlContent = cherryEngineInstance.makeHtml('# welcome to cherry editor!'); +``` + +## ライトバージョンの使用 + +mermaidライブラリのサイズが非常に大きいため、cherryビルド製品にはmermaidを内蔵しないコアビルドパッケージが含まれています。コアビルドは以下の方法でインポートできます。 + +### フルモード(UIインターフェース付き) + +```javascript +import 'cherry-markdown/dist/cherry-markdown.css'; +import Cherry from 'cherry-markdown/dist/cherry-markdown.core'; +const cherryInstance = new Cherry({ + id: 'markdown-container', + value: '# welcome to cherry editor!', +}); +``` + +### エンジンモード(シンタックスコンパイルのみ) + +```javascript +// Cherryエンジンコアビルドをインポート +// エンジンの設定項目はCherryの設定項目と同じです。以下のドキュメント内容はCherryコアパッケージのみを紹介します。 +import CherryEngine from 'cherry-markdown/dist/cherry-markdown.engine.core'; +const cherryEngineInstance = new CherryEngine(); +const htmlContent = cherryEngineInstance.makeHtml('# welcome to cherry editor!'); + +// --> <h1>welcome to cherry editor!</h1> +``` + +### ⚠️ mermaidについて + +コアビルドパッケージにはmermaid依存関係が含まれていないため、関連プラグインを手動でインポートする必要があります。 + +```javascript +import 'cherry-markdown/dist/cherry-markdown.css'; +import Cherry from 'cherry-markdown/dist/cherry-markdown.core'; +import CherryMermaidPlugin from 'cherry-markdown/dist/addons/cherry-code-block-mermaid-plugin'; +import mermaid from 'mermaid'; + +// プラグインの登録はCherryのインスタンス化前に行う必要があります +Cherry.usePlugin(CherryMermaidPlugin, { + mermaid, // mermaidオブジェクトを渡す + // mermaidAPI: mermaid.mermaidAPI, // mermaid APIを渡すこともできます + // 同時にここでmermaidの動作を設定できます。詳細はmermaid公式ドキュメントを参照してください。 + // theme: 'neutral', + // sequence: { useMaxWidth: false, showSequenceNumbers: true } +}); + +const cherryInstance = new Cherry({ + id: 'markdown-container', + value: '# welcome to cherry editor!', +}); +``` + +### 動的インポート + +**推奨** 動的インポートを使用します。以下はwebpackの動的インポートの例です。 + +```javascript +import 'cherry-markdown/dist/cherry-markdown.css'; +import Cherry from 'cherry-markdown/dist/cherry-markdown.core'; + +const registerPlugin = async () => { + const [{ default: CherryMermaidPlugin }, mermaid] = await Promise.all([ + import('cherry-markdown/src/addons/cherry-code-block-mermaid-plugin'), + import('mermaid'), + ]); + Cherry.usePlugin(CherryMermaidPlugin, { + mermaid, // mermaidオブジェクトを渡す + }); +}; + +registerPlugin().then(() => { + // プラグインの登録はCherryのインスタンス化前に行う必要があります + const cherryInstance = new Cherry({ + id: 'markdown-container', + value: '# welcome to cherry editor!', + }); +}); +``` + +## 設定 +`/src/Cherry.config.js`を参照するか、[こちら](https://github.com/Tencent/cherry-markdown/wiki/%E9%85%8D%E7%BD%AE%E9%A1%B9%E5%85%A8%E8%A7%A3)をクリックしてください。 + +## 例 + +詳細な例については[こちら](https://github.com/Tencent/cherry-markdown/wiki)をクリックしてください。 + +### クライアント +開発中です。詳細は`/client/`ディレクトリを参照してください。 + +## 拡張 + +### カスタムシンタックス +[こちら](https://github.com/Tencent/cherry-markdown/wiki/%E8%87%AA%E5%AE%9A%E4%B9%89%E8%AF%AD%E6%B3%95)をクリックしてください。 + +### カスタムツールバー +[こちら](https://github.com/Tencent/cherry-markdown/wiki/%E8%B0%83%E6%95%B4%E5%B7%A5%E5%85%B7%E6%A0%8F)をクリックしてください。 + +## ユニットテスト + +Jestはそのアサーション、非同期サポート、スナップショット機能のために選ばれました。ユニットテストにはCommonMarkテストとスナップショットテストが含まれます。 + +### CommonMarkテスト + +`yarn run test:commonmark`を実行して公式のCommonMarkスイートをテストします。このコマンドは高速で実行されます。 + +スイートは`test/suites/commonmark.spec.json`にあります。例えば: + +```json +{ + "markdown": " \tfoo\tbaz\t\tbim\n", + "html": "<pre><code>foo\tbaz\t\tbim\n</code></pre>\n", + "example": 2, + "start_line": 363, + "end_line": 368, + "section": "Tabs" +}, +``` + +この場合、Jestは`Cherry.makeHtml(" \tfoo\tbaz\t\tbim\n")`によって生成されたHTMLを期待される結果`"<pre><code>foo\tbaz\t \tbim\n</code></pre>\n"`と比較します。Cherry Markdownのマッチャーは`data-line`などのプライベート属性を無視しています。 + +CommonMarkの仕様とスイートは次の場所から取得できます:https://spec.commonmark.org/ 。 + +### スナップショットテスト + +`yarn run test:snapshot`を実行してスナップショットテストを実行します。`test/core/hooks/List.spec.ts`のようにスナップショットスイートを書くことができます。最初の実行時にスナップショットが自動的に生成されます。その後、Jestはスナップショットと生成されたHTMLを比較できます。スナップショットを再生成する必要がある場合は、`test/core/hooks/__snapshots__`の下にある古いスナップショットを削除してこのコマンドを再度実行します。 + +スナップショットテストは遅く実行されます。エラーが発生しやすく、Cherry Markdownの特別なシンタックスを含むフックをテストするためにのみ使用されるべきです。 + +## 貢献 + +より強力なMarkdownエディタを構築するために参加してください。もちろん、機能リクエストを提出することもできます。作業を始める前に[こちら](https://github.com/Tencent/cherry-markdown/wiki/%E5%88%9D%E8%AF%86cherry-markdown-%E7%BC%96%E8%BE%91%E5%99%A8)を読んでください。 + +## Stargazers over time + +[![Stargazers over time](https://starchart.cc/Tencent/cherry-markdown.svg)](https://starchart.cc/Tencent/cherry-markdown) + +## ライセンス + +Apache-2.0 diff --git a/README.md b/README.md index 567614caf..123c8dadb 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ [![Cloud Studio Template](https://cs-res.codehub.cn/common/assets/icon-badge.svg)](https://cloudstudio.net#https://github.com/Tencent/cherry-markdown) -English | [简体中文](./README.CN.md) +English | [简体中文](./README.CN.md) | [日本語](./README.JP.md) ### Document - [初识cherry markdown 编辑器](https://github.com/Tencent/cherry-markdown/wiki/%E5%88%9D%E8%AF%86cherry-markdown-%E7%BC%96%E8%BE%91%E5%99%A8) From c5a73ddb7e7697b494d9aa336f4f1b737f3336da Mon Sep 17 00:00:00 2001 From: Saraph1nes <xiayx.leo@qq.com> Date: Mon, 22 Jul 2024 10:07:52 +0800 Subject: [PATCH 22/42] =?UTF-8?q?chore:=20PR=E9=A2=84=E8=A7=88=E9=99=90?= =?UTF-8?q?=E5=88=B6=E4=BB=93=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/pr-test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index e3a87db13..9d8bf7a55 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -6,6 +6,8 @@ on: jobs: build: + # 不需要在fork仓库的pr中运行 + if: github.repository == 'Tencent/cherry-markdown' runs-on: ubuntu-latest env: BASE_SHA: ${{ github.event.pull_request.base.sha }} From c82ab407207e753171745ec4805052bfc0a64081 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sunsonliu=28=E5=88=98=E9=98=B3=29?= <sunsonliu@tencent.com> Date: Wed, 24 Jul 2024 10:40:22 +0800 Subject: [PATCH 23/42] =?UTF-8?q?feat:=20#838=20=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E5=9D=97=E8=AF=AD=E6=B3=95=E5=BF=BD=E7=95=A5=E5=A4=A7=E5=B0=8F?= =?UTF-8?q?=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/hooks/CodeBlock.js | 2 +- src/toolbars/hooks/Code.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/hooks/CodeBlock.js b/src/core/hooks/CodeBlock.js index 4e4341c3f..de24c7c44 100644 --- a/src/core/hooks/CodeBlock.js +++ b/src/core/hooks/CodeBlock.js @@ -189,7 +189,7 @@ export default class CodeBlock extends ParagraphBase { */ renderCodeBlock($code, $lang, sign, lines) { let cacheCode = $code; - let lang = $lang; + let lang = $lang.toLowerCase(); if (this.customHighlighter) { // 平台自定义代码块样式 cacheCode = this.customHighlighter(cacheCode, lang); diff --git a/src/toolbars/hooks/Code.js b/src/toolbars/hooks/Code.js index 7fcd2ca8a..1aaae7208 100644 --- a/src/toolbars/hooks/Code.js +++ b/src/toolbars/hooks/Code.js @@ -24,7 +24,7 @@ export default class Code extends MenuBase { */ constructor($cherry) { super($cherry); - this.setName('code', 'codeBlock'); + this.setName('codeBlock', 'codeBlock'); this.shortcutKeyMap = { [`${CONTROL_KEY}-${getKeyCode('k')}`]: { hookName: this.name, From a2498203be566aff2e24663424f34eb1b73f43a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sunsonliu=28=E5=88=98=E9=98=B3=29?= <sunsonliu@tencent.com> Date: Thu, 25 Jul 2024 14:33:59 +0800 Subject: [PATCH 24/42] =?UTF-8?q?feat:=20#814=20=E4=B8=B0=E5=AF=8C?= =?UTF-8?q?=E8=81=94=E6=83=B3=E4=BB=A3=E7=A0=81=E8=AF=AD=E8=A8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/code-preview-language-setting.js | 138 ++++++++++++++++++++- 1 file changed, 136 insertions(+), 2 deletions(-) diff --git a/src/utils/code-preview-language-setting.js b/src/utils/code-preview-language-setting.js index 0d2423bf3..83a624584 100644 --- a/src/utils/code-preview-language-setting.js +++ b/src/utils/code-preview-language-setting.js @@ -18,8 +18,7 @@ export const getCodePreviewLangSelectElement = (lang) => { </select>`; }; -// program language list: -export const codePreviewLangSelectList = [ +const allCodeLangPrismSupport = [ 'javascript', 'typescript', 'html', @@ -46,4 +45,139 @@ export const codePreviewLangSelectList = [ 'sql', 'xml', 'svg', + // TODO: 后续可以取Prism.languages,而不是人工维护了 + 'adoc', + 'asciidoc', + 'asm6502', + 'aspnet', + 'atom', + 'awk', + 'bash', + 'basic', + 'batch', + 'c', + 'clike', + 'cmake', + 'context', + 'cpp', + 'cs', + 'csharp', + 'css', + 'csv', + 'dart', + 'diff', + 'django', + 'dns-zone', + 'dns-zone-file', + 'docker', + 'dockerfile', + 'dotnet', + 'extend', + 'ftl', + 'gawk', + 'git', + 'glsl', + 'go', + 'go-mod', + 'go-module', + 'graphql', + 'haml', + 'html', + 'http', + 'ini', + 'insertBefore', + 'java', + 'javadoc', + 'javadoclike', + 'javascript', + 'javastacktrace', + 'jinja2', + 'js', + 'jsdoc', + 'json', + 'json5', + 'jsonp', + 'jsstacktrace', + 'jsx', + 'latex', + 'ld', + 'less', + 'linker-script', + 'lua', + 'makefile', + 'markdown', + 'markup', + 'markup-templating', + 'mathml', + 'matlab', + 'md', + 'mermaid', + 'mongodb', + 'nasm', + 'nginx', + 'nsis', + 'objc', + 'objectivec', + 'objectpascal', + 'pascal', + 'perl', + 'php', + 'phpdoc', + 'plain', + 'plaintext', + 'plant-uml', + 'plantuml', + 'plsql', + 'powershell', + 'properties', + 'protobuf', + 'py', + 'python', + 'r', + 'rb', + 'regex', + 'rss', + 'ruby', + 'rust', + 'sas', + 'sass', + 'scala', + 'scheme', + 'scss', + 'sh-session', + 'shell', + 'shell-session', + 'shellsession', + 'smali', + 'splunk-spl', + 'sql', + 'ssml', + 'svg', + 'swift', + 'systemd', + 'tex', + 'text', + 'textile', + 'ts', + 'tsx', + 'txt', + 'typescript', + 'uri', + 'url', + 'vb', + 'vba', + 'vbnet', + 'vim', + 'visual-basic', + 'wasm', + 'webmanifest', + 'wiki', + 'xml', + 'yaml', + 'yml', ]; + +// program language list: +export const codePreviewLangSelectList = allCodeLangPrismSupport.filter( + (item, index) => allCodeLangPrismSupport.indexOf(item) === index, +); From ba0f71e8b880b161454677408c9360a5c7c41fa9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sunsonliu=28=E5=88=98=E9=98=B3=29?= <sunsonliu@tencent.com> Date: Thu, 25 Jul 2024 15:57:53 +0800 Subject: [PATCH 25/42] =?UTF-8?q?feat:=20#823=20=E4=B8=B0=E5=AF=8Capi?= =?UTF-8?q?=E6=96=87=E6=A1=A3=EF=BC=8C=E5=A2=9E=E5=8A=A0=E5=AD=97=E4=BD=93?= =?UTF-8?q?=E9=A2=9C=E8=89=B2=E3=80=81=E5=AD=97=E4=BD=93=E8=83=8C=E6=99=AF?= =?UTF-8?q?=E8=89=B2=E3=80=81=E4=BF=A1=E6=81=AF=E9=9D=A2=E6=9D=BF=E3=80=81?= =?UTF-8?q?=E5=AF=B9=E9=BD=90=E6=96=B9=E5=BC=8F=E7=AD=89api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/api.html | 110 ++++++++++++++++++++++++++++++++++- examples/scripts/api-demo.js | 2 + src/toolbars/hooks/Color.js | 19 +++++- 3 files changed, 125 insertions(+), 6 deletions(-) diff --git a/examples/api.html b/examples/api.html index 12f5a5899..31989e9be 100644 --- a/examples/api.html +++ b/examples/api.html @@ -270,6 +270,56 @@ <h2 class="one-api__name">toolbar.toolbarHandlers.italic()</h2> </div> </div> + <div class="one-api"> + <h2 class="one-api__name">toolbar.toolbarHandlers.strikethrough()</h2> + <p class="one-api__desc">向cherry编辑器中插入删除线语法</p> + <div class="one-api__try"> + <textarea id="setMarkdown" placeholder="输入内容"> +cherryObj.toolbar.toolbarHandlers.strikethrough()</textarea> + <a class="one-api__btn" onclick="dealClick(this, event)">试一试</a> + </div> + </div> + + <div class="one-api"> + <h2 class="one-api__name">toolbar.toolbarHandlers.size(fontSize: int)</h2> + <p class="one-api__desc">向cherry编辑器中插入字体大小语法</p> + <div class="one-api__try"> + <textarea id="setMarkdown" placeholder="输入内容"> +cherryObj.toolbar.toolbarHandlers.size(28)</textarea> + <a class="one-api__btn" onclick="dealClick(this, event)">试一试</a> + </div> + </div> + + <div class="one-api"> + <h2 class="one-api__name">toolbar.toolbarHandlers.color(param:string)</h2> + <p class="one-api__desc"> + 向cherry编辑器中插入字体颜色或字体背景色语法 + <table class="cherry-api-table"> + <thead> + <tr> + <th style="width: 400px;">param</th> + <th>效果</th> + </tr> + </thead> + <tbody> + <tr> + <td>'color: #c2255c'</td> + <td>字体颜色</td> + </tr> + <tr> + <td>'background-color: #c2255c'</td> + <td>字体背景颜色</td> + </tr> + </tbody> + </table> + </p> + <div class="one-api__try"> + <textarea id="setMarkdown" placeholder="输入内容"> +cherryObj.toolbar.toolbarHandlers.color('color: #3582fb')</textarea> + <a class="one-api__btn" onclick="dealClick(this, event)">试一试</a> + </div> + </div> + <div class="one-api"> <h2 class="one-api__name">toolbar.toolbarHandlers.header(level:int)</h2> <p class="one-api__desc">向cherry编辑器中插入标题语法</p> @@ -283,11 +333,65 @@ <h2 class="one-api__name">toolbar.toolbarHandlers.header(level:int)</h2> </div> <div class="one-api"> - <h2 class="one-api__name">toolbar.toolbarHandlers.strikethrough()</h2> - <p class="one-api__desc">向cherry编辑器中插入删除线语法</p> + <h2 class="one-api__name">toolbar.toolbarHandlers.quote()</h2> + <p class="one-api__desc">向cherry编辑器中插入引用语法</p> + <div class="one-api__try"> + <textarea id="setMarkdown" placeholder="输入内容" rows="2"> +cherryObj.toolbar.toolbarHandlers.quote()</textarea> + <a class="one-api__btn" onclick="dealClick(this, event)">试一试</a> + </div> + </div> + + <div class="one-api"> + <h2 class="one-api__name">toolbar.toolbarHandlers.panel(param:string)</h2> + <p class="one-api__desc"> + 向cherry编辑器中插入对齐方式或信息面板语法 + <table class="cherry-api-table"> + <thead> + <tr> + <th style="width: 400px;">param</th> + <th>效果</th> + </tr> + </thead> + <tbody> + <tr> + <td>'left'</td> + <td>左对齐</td> + </tr> + <tr> + <td>'center'</td> + <td>居中对齐</td> + </tr> + <tr> + <td>'right'</td> + <td>右对齐</td> + </tr> + <tr> + <td>'primary'</td> + <td>首选项</td> + </tr> + <tr> + <td>'info'</td> + <td>一般信息</td> + </tr> + <tr> + <td>'warning'</td> + <td>警告</td> + </tr> + <tr> + <td>'danger'</td> + <td>危险</td> + </tr> + <tr> + <td>'success'</td> + <td>成功</td> + </tr> + </tbody> + </table> + </p> <div class="one-api__try"> <textarea id="setMarkdown" placeholder="输入内容"> -cherryObj.toolbar.toolbarHandlers.strikethrough()</textarea> +cherryObj.toolbar.toolbarHandlers.panel('success')</textarea> <a class="one-api__btn" onclick="dealClick(this, event)">试一试</a> </div> </div> diff --git a/examples/scripts/api-demo.js b/examples/scripts/api-demo.js index f99fb4924..6e96e516a 100644 --- a/examples/scripts/api-demo.js +++ b/examples/scripts/api-demo.js @@ -75,6 +75,8 @@ var cherryConfig = { { insert: ['image', 'audio', 'video', 'link', 'hr', 'br', 'code', 'formula', 'toc', 'table', 'pdf', 'word', 'file'] }, 'graph', 'settings', + 'panel', + 'justify', 'export' ], }, diff --git a/src/toolbars/hooks/Color.js b/src/toolbars/hooks/Color.js index 27f798257..590699fd8 100644 --- a/src/toolbars/hooks/Color.js +++ b/src/toolbars/hooks/Color.js @@ -35,18 +35,31 @@ export default class Color extends MenuBase { return bgReg.test(selection); } + $testIsShortKey(shortKey) { + return /(color|background-color)\s*:/.test(shortKey); + } + + $getTypeAndColor(shortKey) { + if (this.$testIsShortKey(shortKey)) { + const type = /background-color\s*:/.test(shortKey) ? 'background-color' : 'text'; + const color = shortKey.replace(/(color|background-color)\s*:\s*([#0-9a-zA-Z]+)[^#0-9a-zA-Z]*$/, '$2').trim(); + return { type, color }; + } + return this.getAndCleanCacheOnce(); + } + /** * 响应点击事件 * @param {string} selection 被用户选中的文本内容 - * @param {string} shortKey 快捷键参数,本函数不处理这个参数 + * @param {string} shortKey 快捷键参数,color: #000000 | background-color: #000000 * @param {Event & {target:HTMLElement}} event 点击事件,用来从被点击的调色盘中获得对应的颜色 * @returns 回填到编辑器光标位置/选中文本区域的内容 */ onClick(selection, shortKey = '', event) { let $selection = getSelection(this.editor.editor, selection) || this.locale.color; - if (this.hasCacheOnce()) { + if (this.hasCacheOnce() || this.$testIsShortKey(shortKey)) { // @ts-ignore - const { type, color } = this.getAndCleanCacheOnce(); + const { type, color } = this.$getTypeAndColor(shortKey); const begin = type === 'text' ? `!!${color} ` : `!!!${color} `; const end = type === 'text' ? '!!' : '!!!'; if (!this.isSelections && !this.$testIsColor(type, $selection)) { From 71b8c031d94220d1d1ac9f3d5786928448b0bfc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sunsonliu=28=E5=88=98=E9=98=B3=29?= <sunsonliu@tencent.com> Date: Thu, 25 Jul 2024 16:58:13 +0800 Subject: [PATCH 26/42] =?UTF-8?q?feat:=20#755=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E9=9A=90=E8=97=8F=E5=B7=A5=E5=85=B7=E6=A0=8F=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/scripts/api-demo.js | 3 +-- src/Cherry.config.js | 1 + src/Cherry.js | 16 ++++++++++++++++ src/toolbars/HiddenToolbar.js | 29 +++++++++++++++++++++++++++++ types/cherry.d.ts | 2 ++ 5 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 src/toolbars/HiddenToolbar.js diff --git a/examples/scripts/api-demo.js b/examples/scripts/api-demo.js index 6e96e516a..64e16e50f 100644 --- a/examples/scripts/api-demo.js +++ b/examples/scripts/api-demo.js @@ -75,10 +75,9 @@ var cherryConfig = { { insert: ['image', 'audio', 'video', 'link', 'hr', 'br', 'code', 'formula', 'toc', 'table', 'pdf', 'word', 'file'] }, 'graph', 'settings', - 'panel', - 'justify', 'export' ], + hiddenToolbar: ['panel', 'justify'], }, editor: {}, previewer: { diff --git a/src/Cherry.config.js b/src/Cherry.config.js index 15b4ca0de..2350f5f75 100644 --- a/src/Cherry.config.js +++ b/src/Cherry.config.js @@ -312,6 +312,7 @@ const defaultConfig = { sidebar: false, bubble: ['bold', 'italic', 'underline', 'strikethrough', 'sub', 'sup', 'quote', '|', 'size', 'color'], // array or false float: ['h1', 'h2', 'h3', '|', 'checklist', 'quote', 'table', 'code'], // array or false + hiddenToolbar: [], // 不展示在编辑器中的工具栏,只使用工具栏的api和快捷键功能 toc: false, // 不展示悬浮目录 // toc: { // updateLocationHash: false, // 要不要更新URL的hash diff --git a/src/Cherry.js b/src/Cherry.js index 2e6f848d9..4a97eae19 100644 --- a/src/Cherry.js +++ b/src/Cherry.js @@ -24,6 +24,7 @@ import ToolbarRight from './toolbars/ToolbarRight'; import Toc from './toolbars/Toc'; import { createElement } from './utils/dom'; import Sidebar from './toolbars/Sidebar'; +import HiddenToolbar from './toolbars/HiddenToolbar'; import { customizer, getThemeFromLocal, changeTheme, getCodeThemeFromLocal } from './utils/config'; import NestedError, { $expectTarget } from './utils/error'; import getPosBydiffs from './utils/recount-pos'; @@ -188,6 +189,7 @@ export default class Cherry extends CherryStatic { this.wrapperDom = wrapperDom; // 创建预览区域的侧边工具栏 this.createSidebar(); + this.createHiddenToolbar(); mountEl.appendChild(wrapperDom); editor.init(previewer); @@ -592,6 +594,7 @@ export default class Cherry extends CherryStatic { this.createBubble(); this.createFloatMenu(); this.createSidebar(); + this.createHiddenToolbar(); return true; } @@ -637,6 +640,19 @@ export default class Cherry extends CherryStatic { } } + createHiddenToolbar() { + console.log(this.options.toolbars.hiddenToolbar); + if (this.options.toolbars.hiddenToolbar) { + $expectTarget(this.options.toolbars.hiddenToolbar, Array); + this.hiddenToolbar = new HiddenToolbar({ + $cherry: this, + buttonConfig: this.options.toolbars.hiddenToolbar, + customMenu: this.options.toolbars.customMenu, + }); + this.toolbar.collectMenuInfo(this.hiddenToolbar); + } + } + /** * @private * @returns diff --git a/src/toolbars/HiddenToolbar.js b/src/toolbars/HiddenToolbar.js new file mode 100644 index 000000000..f81d468bf --- /dev/null +++ b/src/toolbars/HiddenToolbar.js @@ -0,0 +1,29 @@ +/** + * Copyright (C) 2021 THL A29 Limited, a Tencent company. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import Toolbar from './Toolbar'; +/** + * 预览区域右侧悬浮的工具栏 + * 推荐放置跟编辑区域完全无关的工具栏 + * 比如复制预览区域内容、修改预览区域主题等 + */ +export default class HiddenToolbar extends Toolbar { + // constructor(options) { + // super(options); + // } + appendMenusToDom(menus) { + return; + } +} diff --git a/types/cherry.d.ts b/types/cherry.d.ts index 7db112cca..812433929 100644 --- a/types/cherry.d.ts +++ b/types/cherry.d.ts @@ -307,6 +307,8 @@ export interface CherryToolbarOptions { position: 'absolute' | 'fixed', // 悬浮目录的悬浮方式。当滚动条在cherry内部时,用absolute;当滚动条在cherry外部时,用fixed cssText: string, // 额外样式 }; + /** 不展示在编辑器中的工具栏,只使用工具栏的api和快捷键功能 */ + hiddenToolbar?: any[]; /** 是否展示顶部工具栏 */ showToolbar?: boolean; /** 侧边栏配置 */ From 425938dccff321188e16ce53b1786db427270109 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sunsonliu=28=E5=88=98=E9=98=B3=29?= <sunsonliu@tencent.com> Date: Thu, 25 Jul 2024 17:19:30 +0800 Subject: [PATCH 27/42] chore(release): 0.8.45 --- CHANGELOG.md | 30 ++++++++++++++++++++++ dist/cherry-markdown.core.common.js | 4 +-- dist/cherry-markdown.core.js | 4 +-- dist/cherry-markdown.css | 4 +-- dist/cherry-markdown.engine.core.common.js | 4 +-- dist/cherry-markdown.engine.core.esm.js | 4 +-- dist/cherry-markdown.engine.core.js | 4 +-- dist/cherry-markdown.esm.js | 4 +-- dist/cherry-markdown.js | 4 +-- dist/cherry-markdown.js.map | 4 +-- dist/cherry-markdown.min.css | 4 +-- dist/cherry-markdown.min.js | 4 +-- dist/fonts/ch-icon.eot | 4 +-- dist/fonts/ch-icon.svg | 4 +-- dist/fonts/ch-icon.ttf | 4 +-- dist/fonts/ch-icon.woff | 4 +-- dist/fonts/ch-icon.woff2 | 4 +-- examples/test.html | 24 +++++++++++++++++ package.json | 2 +- 19 files changed, 87 insertions(+), 33 deletions(-) create mode 100644 examples/test.html diff --git a/CHANGELOG.md b/CHANGELOG.md index 74e2b2f93..21116ba2b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,36 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [0.8.45](https://github.com/Tencent/cherry-markdown/compare/v0.8.44...v0.8.45) (2024-07-25) + + +### Features + +* [#522](https://github.com/Tencent/cherry-markdown/issues/522) 增加vim编辑模式的配置 ([40ba66f](https://github.com/Tencent/cherry-markdown/commit/40ba66fd3cda87542bc916b9252863a38eb18cd9)) +* [#755](https://github.com/Tencent/cherry-markdown/issues/755) 增加隐藏工具栏机制 ([71b8c03](https://github.com/Tencent/cherry-markdown/commit/71b8c031d94220d1d1ac9f3d5786928448b0bfc0)) +* [#794](https://github.com/Tencent/cherry-markdown/issues/794) 脚本支持pr预览 ([c1bed21](https://github.com/Tencent/cherry-markdown/commit/c1bed21cec99000f9a71f78f557500cafde6a7e3)) +* [#794](https://github.com/Tencent/cherry-markdown/issues/794) 脚本支持pr预览 ([#816](https://github.com/Tencent/cherry-markdown/issues/816)) ([d26a3be](https://github.com/Tencent/cherry-markdown/commit/d26a3bec891ed93115210d94f71cdbfa38c2c884)) +* [#814](https://github.com/Tencent/cherry-markdown/issues/814) 丰富联想代码语言 ([a249820](https://github.com/Tencent/cherry-markdown/commit/a2498203be566aff2e24663424f34eb1b73f43a3)) +* [#823](https://github.com/Tencent/cherry-markdown/issues/823) 丰富api文档,增加字体颜色、字体背景色、信息面板、对齐方式等api ([ba0f71e](https://github.com/Tencent/cherry-markdown/commit/ba0f71e8b880b161454677408c9360a5c7c41fa9)) +* [#836](https://github.com/Tencent/cherry-markdown/issues/836) PR合并后自动清除PR在线预览相关资源 ([0da9aba](https://github.com/Tencent/cherry-markdown/commit/0da9aba0bbb783c23b09343a224a18b806a2fbb0)) +* [#838](https://github.com/Tencent/cherry-markdown/issues/838) 代码块语法忽略大小写 ([c82ab40](https://github.com/Tencent/cherry-markdown/commit/c82ab407207e753171745ec4805052bfc0a64081)) +* [#847](https://github.com/Tencent/cherry-markdown/issues/847) 插入菜单添加“内联代码”按钮 ([#849](https://github.com/Tencent/cherry-markdown/issues/849)) ([3476f21](https://github.com/Tencent/cherry-markdown/commit/3476f213fcaa8394b1db43b963c8c7ebb397227e)) +* 调整pr-viewer脚本 ([adc310b](https://github.com/Tencent/cherry-markdown/commit/adc310be0926912122be6405da258077ff69e28d)) +* 设置actions权限,支持pr构建 ([f728487](https://github.com/Tencent/cherry-markdown/commit/f72848760d50142bac1defe46831cd1de15c360a)) +* 优化有大量base64数据时的渲染性能 ([a03c999](https://github.com/Tencent/cherry-markdown/commit/a03c999e98f2295d607f92fc109f72337634ca43)) +* add react demo for cherry-markdown [#797](https://github.com/Tencent/cherry-markdown/issues/797) ([28c0e81](https://github.com/Tencent/cherry-markdown/commit/28c0e816fe0945cf165e4a2e01a54096715cca42)) +* pr-test脚本eslint只检查js文件 ([8faef0a](https://github.com/Tencent/cherry-markdown/commit/8faef0ac679584706b59af88bbe8965b4ddd7d27)) +* **ShortcutKey:** 增加快捷键配置能力 Closes [#571](https://github.com/Tencent/cherry-markdown/issues/571) ([837bf15](https://github.com/Tencent/cherry-markdown/commit/837bf153f68e3c13c8a183ea71d2f5daf2d96a5c)) + + +### Bug Fixes + +* [#835](https://github.com/Tencent/cherry-markdown/issues/835) 处理eslint报错 ([0cd79ca](https://github.com/Tencent/cherry-markdown/commit/0cd79ca80916cd93cdba0a8372995b9dcd727a4c)) +* [#835](https://github.com/Tencent/cherry-markdown/issues/835) 代码提示自动补全国际化问题 ([d94b357](https://github.com/Tencent/cherry-markdown/commit/d94b357b2338fbf641e6b3ceb48edb3c8a02e9eb)) +* 修复字数统计工具报错的问题 ([e61ec5f](https://github.com/Tencent/cherry-markdown/commit/e61ec5f17ea4b789019f8bcb79ed6a040bc950dd)) +* 修复menu.setName失效的问题 ([d398c6a](https://github.com/Tencent/cherry-markdown/commit/d398c6a4f4c98a9c4e1616eb8e1633ef2957deea)) +* github actions build排除掉push ([9214bd4](https://github.com/Tencent/cherry-markdown/commit/9214bd47caf8abbd4cc5155d7cc72a2ae8adc781)) + ### [0.8.44](https://github.com/Tencent/cherry-markdown/compare/v0.8.43...v0.8.44) (2024-06-25) ### Bug Fixes diff --git a/dist/cherry-markdown.core.common.js b/dist/cherry-markdown.core.common.js index 1d2cd4a6e..9a3d48a66 100644 --- a/dist/cherry-markdown.core.common.js +++ b/dist/cherry-markdown.core.common.js @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:80bfe3fad2fc623bf5055f3d803ae6d38a0530d6bda7fd446bbfe7c70e453197 -size 1300452 +oid sha256:b57abe87b5d04e064b77da4fead14a7ef6d4312d595ad86dc6917f28999ca2ea +size 1399474 diff --git a/dist/cherry-markdown.core.js b/dist/cherry-markdown.core.js index 3d8d04be9..f5ba5c5eb 100644 --- a/dist/cherry-markdown.core.js +++ b/dist/cherry-markdown.core.js @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:795efe757b3145f705fba7329eeeff7654cfbb1b5a41685e208c87f83c19016b -size 1300737 +oid sha256:6d5409924b85fecab2d305003ba24af0c2fab2964ddd5c96d05806016786632c +size 1399761 diff --git a/dist/cherry-markdown.css b/dist/cherry-markdown.css index 2845e1e4a..8877e0e0e 100644 --- a/dist/cherry-markdown.css +++ b/dist/cherry-markdown.css @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:eaa96d5c55e34c35abdedbd92f6dcb65bbdad10223c5dead98749355bb1a83fe -size 165483 +oid sha256:c243610cb40f1a5e75d4f80918b3df627e933475fbdb2b1cbebca7e66ffc3e8a +size 167165 diff --git a/dist/cherry-markdown.engine.core.common.js b/dist/cherry-markdown.engine.core.common.js index eabfce89a..9124a2b57 100644 --- a/dist/cherry-markdown.engine.core.common.js +++ b/dist/cherry-markdown.engine.core.common.js @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:211a10bf9870205953a099cb7b3a3afe5d7dfd7e98161b48e924cf83639d3afb -size 472769 +oid sha256:3db6c467aa701764ce777fb43df92face85c3395a8f761782d3aeeae2c130eb8 +size 478142 diff --git a/dist/cherry-markdown.engine.core.esm.js b/dist/cherry-markdown.engine.core.esm.js index b30c77564..c8009b690 100644 --- a/dist/cherry-markdown.engine.core.esm.js +++ b/dist/cherry-markdown.engine.core.esm.js @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a415e79b06ea033f5213c6877fbbc003772e03738b30b30b988edc82a8698984 -size 472654 +oid sha256:18428a745eceacceebee8f31e679f59d1e72663a18b0b0079fba98b56a13e715 +size 478027 diff --git a/dist/cherry-markdown.engine.core.js b/dist/cherry-markdown.engine.core.js index 5b826034d..b7796577f 100644 --- a/dist/cherry-markdown.engine.core.js +++ b/dist/cherry-markdown.engine.core.js @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:626e4ac9c576f1406eae0cd0fa75f90f92062afb8219dfed1b315319db767a95 -size 473002 +oid sha256:86b9d8e790b54a6de27ce38461fb5b9e2adeb0badce8418f784034ed0c4eaccc +size 478375 diff --git a/dist/cherry-markdown.esm.js b/dist/cherry-markdown.esm.js index bd7e3e57e..0d56b7ab8 100644 --- a/dist/cherry-markdown.esm.js +++ b/dist/cherry-markdown.esm.js @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c4f2cd286a4be66e46ef3cd2522abe9d576ae7bed0d99ea96337a9109f4d1290 -size 4058359 +oid sha256:90b68367e93593a6214760408e6c7f38ac700ba61988051a3ec2a480757f2b59 +size 4157383 diff --git a/dist/cherry-markdown.js b/dist/cherry-markdown.js index 8d4e0b429..d0d96e828 100644 --- a/dist/cherry-markdown.js +++ b/dist/cherry-markdown.js @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1de91f62e8cf25aab61bb0a110ff1b42252fbbd7dc7072c9e762f7cec2ed988a -size 7704734 +oid sha256:f0e98497e92c69472dea25e3ed02ca33c884cce99108bb8bd21673d42c772fae +size 7980962 diff --git a/dist/cherry-markdown.js.map b/dist/cherry-markdown.js.map index ff3b66e7d..05d2f71c7 100644 --- a/dist/cherry-markdown.js.map +++ b/dist/cherry-markdown.js.map @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6c4bdfd7ea3b5b38ed2e330bc011f822d3c38dbaee7de322a241bf9264470bb7 -size 18358015 +oid sha256:39e3eb93628e9fba4a4a2486b03ecde183ad0e117aa1e8134896be5cc6e96def +size 18898349 diff --git a/dist/cherry-markdown.min.css b/dist/cherry-markdown.min.css index 426d86244..681666f22 100644 --- a/dist/cherry-markdown.min.css +++ b/dist/cherry-markdown.min.css @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fe1389a0b49c098a5628253bd6a112bb80035b5699bf2c6663ad59eab8a5436a -size 124004 +oid sha256:136c92566071fb5403efdbebadff3823f87d34922a973a914ad73939abef6ea3 +size 125507 diff --git a/dist/cherry-markdown.min.js b/dist/cherry-markdown.min.js index 0e04adf3a..a29a97e90 100644 --- a/dist/cherry-markdown.min.js +++ b/dist/cherry-markdown.min.js @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d118628bc7956a60f2c00be5260b3c5c7e085c3e49d416f4b50476c1d5d4eda4 -size 4058666 +oid sha256:e728a7c98b9f8b18855edc1cdb126ac6de3000cf7178e55b6f54881712bc64cb +size 4157692 diff --git a/dist/fonts/ch-icon.eot b/dist/fonts/ch-icon.eot index 5235f0848..3f4e73d18 100644 --- a/dist/fonts/ch-icon.eot +++ b/dist/fonts/ch-icon.eot @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a90e09f389d8d95e48489afd5a5389708f5f6e9545e463b3079abe655fcff048 -size 20424 +oid sha256:b16c5e7934e32c872d4e94c148b673aaeca67615e73c93b7be8ef0020c24ed60 +size 20768 diff --git a/dist/fonts/ch-icon.svg b/dist/fonts/ch-icon.svg index 68d2f994b..a9e649bf5 100644 --- a/dist/fonts/ch-icon.svg +++ b/dist/fonts/ch-icon.svg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5751cc7c68e44c82ba4bf6c16471245f2dcbeba9eef99d334c657cdc1b8d8c8b -size 283185 +oid sha256:a7d847755bf4952421cd072304f172ebb672a903aa96a8a5f662d3c9f1d26fc8 +size 288404 diff --git a/dist/fonts/ch-icon.ttf b/dist/fonts/ch-icon.ttf index 0b9297d93..b83e42976 100644 --- a/dist/fonts/ch-icon.ttf +++ b/dist/fonts/ch-icon.ttf @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:da0f9c3648a842be5136fe97f3cf83664a654609d21a2641edf500fb13afea8e -size 20260 +oid sha256:2121487c4111b552e92dbb9a8973e9a7299398629931783dd1e8f451224f4d1e +size 20604 diff --git a/dist/fonts/ch-icon.woff b/dist/fonts/ch-icon.woff index eed96b82a..e908404c4 100644 --- a/dist/fonts/ch-icon.woff +++ b/dist/fonts/ch-icon.woff @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c797539e6c11cc4379e40db697c0b1094119de1954b43cab5134f21be0bc30db -size 11780 +oid sha256:c05106acbed2e34aba774424f079fcc6938419340dcb99b4c11d9ab90962cc58 +size 12008 diff --git a/dist/fonts/ch-icon.woff2 b/dist/fonts/ch-icon.woff2 index 6e1adb3a0..0cb35fad3 100644 --- a/dist/fonts/ch-icon.woff2 +++ b/dist/fonts/ch-icon.woff2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e3a2c2e505fbe33e8b064d2f3a0ac287cb15b0eef8399891b38913c87348b9e3 -size 10032 +oid sha256:14612873cc35dbcc1487f9de723d68dfe0695a81a0526771dde1dcef4dd72cd8 +size 10188 diff --git a/examples/test.html b/examples/test.html new file mode 100644 index 000000000..41f56f25c --- /dev/null +++ b/examples/test.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="UTF-8"> + <title>Angular Example + + + + + + + + + diff --git a/package.json b/package.json index a8bda8dff..7f397da47 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "cherry-markdown", "license": "Apache-2.0", - "version": "0.8.44", + "version": "0.8.45", "description": "a new markdown editor", "repository": { "type": "git", From aa3ca4dcda2ba7cd348e7e63b5a1cb4ab979df1e Mon Sep 17 00:00:00 2001 From: Saraph1nes Date: Tue, 30 Jul 2024 11:43:59 +0800 Subject: [PATCH 28/42] feat: pr-merge action execute limit repository --- .github/workflows/pr-merge.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr-merge.yml b/.github/workflows/pr-merge.yml index f4651ed4d..0fd53abb5 100644 --- a/.github/workflows/pr-merge.yml +++ b/.github/workflows/pr-merge.yml @@ -1,4 +1,4 @@ -name: PR Closed +name: PR Closed Or Merge on: pull_request_target: @@ -7,6 +7,8 @@ on: jobs: remove_assets: + # 不需要在fork仓库的pr中运行 + if: github.repository == 'Tencent/cherry-markdown' runs-on: ubuntu-latest steps: From 122e27a34c546c4e6f25826b955d0c907db547eb Mon Sep 17 00:00:00 2001 From: Saraph1nes Date: Tue, 30 Jul 2024 23:32:40 +0800 Subject: [PATCH 29/42] =?UTF-8?q?fix:=20#858=20=E4=BF=AE=E5=A4=8D=E6=BC=8F?= =?UTF-8?q?=E6=B4=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/pr-merge.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/pr-merge.yml b/.github/workflows/pr-merge.yml index 0fd53abb5..bd6bd8828 100644 --- a/.github/workflows/pr-merge.yml +++ b/.github/workflows/pr-merge.yml @@ -16,14 +16,6 @@ jobs: - name: Checkout repository uses: actions/checkout@v2 - # 打印 PR 详细信息 - - name: Print PR details - run: | - echo "The PR ID is ${{ github.event.pull_request.id }}" - echo "The PR number is ${{ github.event.pull_request.number }}" - echo "The PR title is ${{ github.event.pull_request.title }}" - echo "The PR branch is ${{ github.event.pull_request.head.ref }}" - # 安装 cos-nodejs-sdk-v5 - name: Install cos-nodejs-sdk-v5 run: npm install cos-nodejs-sdk-v5 From cf68be2b57926142a59f004714dca355742503d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E4=BC=9A=E6=95=B2=E4=BB=A3=E7=A0=81=E7=9A=84?= =?UTF-8?q?=E5=A4=A7=E9=9B=84?= <91526388+huangqinxiong970822@users.noreply.github.com> Date: Wed, 31 Jul 2024 16:52:07 +0800 Subject: [PATCH 30/42] =?UTF-8?q?feat:=20=E9=A2=84=E8=A7=88=E5=8C=BA?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=9D=97=E6=94=AF=E6=8C=81=E5=B1=95=E5=BC=80?= =?UTF-8?q?=E6=94=B6=E8=B5=B7=E5=8A=9F=E8=83=BD=E5=92=8C=E5=AF=B9=E5=BA=94?= =?UTF-8?q?=E7=9A=84=E9=85=8D=E7=BD=AE=20(#793)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: sunsonliu --- .../CherryMarkdown/cherry.config.ts | 19 +++++ src/Cherry.config.js | 20 ++++++ src/core/hooks/CodeBlock.js | 11 ++- src/sass/ch-icon.scss | 2 +- src/sass/cherry.scss | 48 ++++++++++++- src/sass/icons/uEA73-expand.svg | 3 + src/sass/icons/uEA74-unExpand.svg | 3 + src/utils/codeBlockContentHandler.js | 69 ++++++++++++++++++- types/cherry.d.ts | 2 + 9 files changed, 173 insertions(+), 4 deletions(-) create mode 100644 src/sass/icons/uEA73-expand.svg create mode 100644 src/sass/icons/uEA74-unExpand.svg diff --git a/client/src/components/CherryMarkdown/cherry.config.ts b/client/src/components/CherryMarkdown/cherry.config.ts index 38b5155f0..3afa950c5 100644 --- a/client/src/components/CherryMarkdown/cherry.config.ts +++ b/client/src/components/CherryMarkdown/cherry.config.ts @@ -60,6 +60,20 @@ const initCherryMarkdown = () => { // 对复制内容进行额外处理 return code; }, + onExpandCode: (event, code) => { + // 阻止默认的粘贴事件 + // return false; + // 对复制内容进行额外处理 + // console.log(event, code); + return code; + }, + onUnExpandCode: (event, code) => { + // 阻止默认的粘贴事件 + // return false; + // 对复制内容进行额外处理 + // console.log(event, code); + return code; + }, // 获取中文的拼音 changeString2Pinyin: (string: string) => { /** @@ -114,6 +128,8 @@ const initCherryMarkdown = () => { wrap: true, lineNumber: true, copyCode: true, + expandCode: true, // 是否展开代码块 + unExpandCode: true, // 是否展开代码块 customRenderer: { }, indentedCodeBlock: true, @@ -218,6 +234,9 @@ const initCherryMarkdown = () => { beforeImageMounted: callbacks.beforeImageMounted, onClickPreview: callbacks.onClickPreview, onCopyCode: callbacks.onCopyCode, + // 展开代码块代码时的回调 + onExpandCode: callbacks.onExpandCode, + onUnExpandCode: callbacks.onUnExpandCode, changeString2Pinyin: callbacks.changeString2Pinyin, }, previewer: { diff --git a/src/Cherry.config.js b/src/Cherry.config.js index 2350f5f75..27f4fe97a 100644 --- a/src/Cherry.config.js +++ b/src/Cherry.config.js @@ -56,6 +56,20 @@ const callbacks = { afterInit: (text, html) => {}, beforeImageMounted: (srcProp, src) => ({ srcProp, src }), onClickPreview: (event) => {}, + onExpandCode: (event, code) => { + // 阻止默认的粘贴事件 + // return false; + // 对复制内容进行额外处理 + // console.log(event, code); + return code; + }, + onUnExpandCode: (event, code) => { + // 阻止默认的粘贴事件 + // return false; + // 对复制内容进行额外处理 + // console.log(event, code); + return code; + }, /** * 粘贴时触发 * @param {ClipboardEvent['clipboardData']} clipboardData @@ -168,6 +182,8 @@ const defaultConfig = { copyCode: true, // 是否显示“复制”按钮 editCode: true, // 是否显示“编辑”按钮 changeLang: true, // 是否显示“切换语言”按钮 + expandCode: true, // 是否展开代码块 + unExpandCode: false, // 是否展开代码块 selfClosing: true, // 自动闭合,为true时,当md中有奇数个```时,会自动在md末尾追加一个``` customRenderer: { // 自定义语法渲染器 @@ -364,6 +380,10 @@ const defaultConfig = { onClickPreview: callbacks.onClickPreview, // 复制代码块代码时的回调 onCopyCode: callbacks.onCopyCode, + // 展开代码块代码时的回调 + onExpandCode: callbacks.onExpandCode, + // 缩起代码块代码时的回调 + onUnExpandCode: callbacks.onUnExpandCode, // 把中文变成拼音的回调,当然也可以把中文变成英文、英文变成中文 changeString2Pinyin: callbacks.changeString2Pinyin, /** diff --git a/src/core/hooks/CodeBlock.js b/src/core/hooks/CodeBlock.js index de24c7c44..6b7c60bfd 100644 --- a/src/core/hooks/CodeBlock.js +++ b/src/core/hooks/CodeBlock.js @@ -38,6 +38,8 @@ export default class CodeBlock extends ParagraphBase { this.wrap = config.wrap; // 超出是否换行 this.lineNumber = config.lineNumber; // 是否显示行号 this.copyCode = config.copyCode; // 是否显示“复制”按钮 + this.expandCode = config.expandCode; // 是否显示“展开”按钮 + this.unExpandCode = config.unExpandCode; // 是否显示“缩放”按钮 this.editCode = config.editCode; // 是否显示“编辑”按钮 this.changeLang = config.changeLang; // 是否显示“切换语言”按钮 this.selfClosing = config.selfClosing; // 自动闭合,为true时,当md中有奇数个```时,会自动在md末尾追加一个``` @@ -199,16 +201,23 @@ export default class CodeBlock extends ParagraphBase { cacheCode = Prism.highlight(cacheCode, Prism.languages[lang], lang); cacheCode = this.renderLineNumber(cacheCode); } + const maskclassName = lines - 3 > 10 ? 'maskHeight' : ''; cacheCode = `
    -
    ${this.wrapCode(cacheCode, lang)}
    +
    ${this.wrapCode(cacheCode, lang)}
    +
    `; return cacheCode; } diff --git a/src/sass/ch-icon.scss b/src/sass/ch-icon.scss index 59b37e247..649008a4b 100644 --- a/src/sass/ch-icon.scss +++ b/src/sass/ch-icon.scss @@ -110,4 +110,4 @@ .ch-icon-chevronsRight:before { content: "\EA71" } .ch-icon-trendingUp:before { content: "\EA72" } .ch-icon-inlineCode:before { content: "\EA73" } -.ch-icon-codeBlock:before { content: "\EA74" } \ No newline at end of file +.ch-icon-codeBlock:before { content: "\EA74" } diff --git a/src/sass/cherry.scss b/src/sass/cherry.scss index cb6bc6540..ef755a45c 100644 --- a/src/sass/cherry.scss +++ b/src/sass/cherry.scss @@ -577,15 +577,33 @@ display: block; } } +.maskHeight{ + height: 240px; + overflow: hidden !important; +} .cherry-previewer-codeBlock-click-handler { position: absolute; z-index: 1; } + +.cherry-mark-code-block{ + width: 100%; + padding-top: 78px; + background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(#fff)); + background-image: linear-gradient(-180deg, rgba(255, 255, 255, 0) 0%, #fff 100%); + position: absolute; + left: 0; + right: 0; + bottom: 0; + z-index: 10; +} + .cherry-previewer-codeBlock-hover-handler { z-index: 0; position: absolute; .cherry-copy-code-block, + .cherry-unExpand-code-block, .cherry-edit-code-block { position: relative; width: 25px; @@ -603,13 +621,39 @@ background-color: #eee; border-color: #3582fb; } + .cherry-expand-code-block{ + position: absolute; + width: 25px; + text-align: center; + height: 25px; + border: 1px solid #3582fb; + cursor: pointer; + float: right; + border-radius: 5px; + margin-left: -27px; + transition: all 0.3s; + z-index: 2; + color: #3582fb; + background-color: #eee; + border-color: #3582fb; + } + .cherry-expand-code-block { + top: 45px; + right:10px; + } + .cherry-unExpand-code-block{ + right: 10px; + z-index: 12; + } .cherry-copy-code-block { right: 10px; } .cherry-edit-code-block { - right: 10+25+10px; + right: 10+25+5px; } .cherry-copy-code-block:hover, + .cherry-expand-code-block:hover, + .cherry-unExpand-code-block:hover, .cherry-edit-code-block:hover { color: #eee; background-color: #3582fb; @@ -676,6 +720,8 @@ [data-code-block-theme='solarized-light'] &, [data-code-block-theme='coy'] & { .cherry-copy-code-block, + .cherry-expand-code-block, + .cherry-unExpand-code-block, .cherry-edit-code-block { background-color: #3582fb; } diff --git a/src/sass/icons/uEA73-expand.svg b/src/sass/icons/uEA73-expand.svg new file mode 100644 index 000000000..c687ba68b --- /dev/null +++ b/src/sass/icons/uEA73-expand.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/sass/icons/uEA74-unExpand.svg b/src/sass/icons/uEA74-unExpand.svg new file mode 100644 index 000000000..8af688529 --- /dev/null +++ b/src/sass/icons/uEA74-unExpand.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/utils/codeBlockContentHandler.js b/src/utils/codeBlockContentHandler.js index e222c219b..8b620e9fc 100644 --- a/src/utils/codeBlockContentHandler.js +++ b/src/utils/codeBlockContentHandler.js @@ -160,7 +160,7 @@ export default class CodeBlockHandler { * 展示代码块区域的按钮 */ $showBtn(isEnableBubbleAndEditorShow) { - const { changeLang, editCode, copyCode, lang } = this.target.dataset; + const { changeLang, editCode, copyCode, lang, expandCode, unexpandCode, lines } = this.target.dataset; this.container.innerHTML = ''; if (changeLang === 'true' && isEnableBubbleAndEditorShow) { // 添加删除btn @@ -203,6 +203,39 @@ export default class CodeBlockHandler { }); this.copyDom = copyDom; } + if (expandCode === 'true') { + if (lines - 3 <= 10) return; + if (this.target.dataset.unexpandCode === 'true') return; + // 添加展开btn + const expandDom = document.createElement('div'); + expandDom.className = 'cherry-expand-code-block'; + expandDom.innerHTML = ''; + this.container.appendChild(expandDom); + expandDom.addEventListener('click', (e) => { + e.preventDefault(); + e.stopPropagation(); + this.parent.$removeAllPreviewerBubbles('click'); + this.$expandCodeBlock('0'); + }); + this.expandDom = expandDom; + } + if (unexpandCode === 'true') { + if (lines - 3 <= 10) return; + if (this.target.dataset.expandCode === 'true') return; + // 添加缩起btn + const unExpandDom = document.createElement('div'); + unExpandDom.className = 'cherry-unExpand-code-block'; + unExpandDom.innerHTML = ''; + unExpandDom.style.top = `${(lines - 3) * 25}px`; + this.container.appendChild(unExpandDom); + unExpandDom.addEventListener('click', (e) => { + e.preventDefault(); + e.stopPropagation(); + this.parent.$removeAllPreviewerBubbles('click'); + this.$expandCodeBlock('1'); + }); + this.unExpandDom = unExpandDom; + } } // 隐藏所有按钮(切换语言、编辑、复制) $hideAllBtn() { @@ -215,6 +248,12 @@ export default class CodeBlockHandler { if (this.copyDom?.style?.display) { this.copyDom.style.display = 'none'; } + if (this.expandDom?.style?.display) { + this.expandDom.style.display = 'none'; + } + if (this.unExpandDom?.style?.display) { + this.unExpandDom.style.display = 'none'; + } } /** * 切换代码块的语言 @@ -256,6 +295,34 @@ export default class CodeBlockHandler { // editorInstance.setCursor(Number.MAX_VALUE, Number.MAX_VALUE); // 指针设置至CodeBlock末尾 } + /** + * 处理扩展、缩起代码块的操作 + */ + $expandCodeBlock(str) { + const expandDomDiv = this.target.childNodes[1]; + const maskDom = this.target.childNodes[3]; + this.setStyle(expandDomDiv, 'height', str === '0' ? `${(this.target.dataset.lines - 3) * 25}px` : '240px'); + this.setStyle(expandDomDiv, 'overflow', str === '0' ? 'auto' : 'hidden'); + this.setStyle(maskDom, 'display', str === '0' ? 'none' : 'inline-block'); + str === '0' ? this.setStyle(this.expandDom, 'display', 'none') : this.setStyle(this.unExpandDom, 'display', 'none'); + str === '0' ? this.expandDom.remove() : this.unExpandDom.remove(); + // 添加缩起btn + const unExpandDom = document.createElement('div'); + unExpandDom.className = str === '0' ? 'cherry-unExpand-code-block' : 'cherry-expand-code-block'; + unExpandDom.innerHTML = + str === '0' ? '' : ''; + unExpandDom.style.top = str === '0' ? `${(this.target.dataset.lines - 3) * 25}px` : '45px'; + this.container.appendChild(unExpandDom); + unExpandDom.addEventListener('click', (e) => { + e.preventDefault(); + e.stopPropagation(); + this.parent.$removeAllPreviewerBubbles('click'); + str === '0' ? this.$expandCodeBlock('1') : this.$expandCodeBlock('0'); + }); + str === '0' ? (this.unExpandDom = unExpandDom) : (this.expandDom = unExpandDom); + this.target.dataset.unexpandCode = str === '0' ? 'true' : 'false'; + this.target.dataset.expandCode = str === '0' ? 'false' : 'true'; + } /** * 处理复制代码块的操作 */ diff --git a/types/cherry.d.ts b/types/cherry.d.ts index 812433929..1daf5fc74 100644 --- a/types/cherry.d.ts +++ b/types/cherry.d.ts @@ -50,6 +50,8 @@ export interface CherryOptions { beforeImageMounted?: (srcProp: string, src: string) => { srcProp: string; src: string }; onClickPreview?: (e: MouseEvent) => void; onCopyCode?: (e: ClipboardEvent, code: string) => string|false; + onExpandCode?: (e: ClipboardEvent, code: string) => string|false; + onUnExpandCode?: (e: ClipboardEvent, code: string) => string|false; changeString2Pinyin?: (str: string) => string; onPaste?: (clipboardData: ClipboardEvent['clipboardData']) => string|boolean; }; From 1ef9e47ede0267b4a3fa03e99174f5282d94f346 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sunsonliu=28=E5=88=98=E9=98=B3=29?= Date: Thu, 1 Aug 2024 09:56:21 +0800 Subject: [PATCH 31/42] =?UTF-8?q?style:=20=E4=BF=AE=E6=94=B9=E5=9B=BE?= =?UTF-8?q?=E6=A0=87=E4=BA=A7=E7=94=9F=E7=9A=84=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/sass/ch-icon.scss | 2 ++ src/sass/icons/{uEA73-expand.svg => uEA75-expand.svg} | 0 src/sass/icons/{uEA74-unExpand.svg => uEA76-unExpand.svg} | 0 3 files changed, 2 insertions(+) rename src/sass/icons/{uEA73-expand.svg => uEA75-expand.svg} (100%) rename src/sass/icons/{uEA74-unExpand.svg => uEA76-unExpand.svg} (100%) diff --git a/src/sass/ch-icon.scss b/src/sass/ch-icon.scss index 649008a4b..e548a68ba 100644 --- a/src/sass/ch-icon.scss +++ b/src/sass/ch-icon.scss @@ -111,3 +111,5 @@ .ch-icon-trendingUp:before { content: "\EA72" } .ch-icon-inlineCode:before { content: "\EA73" } .ch-icon-codeBlock:before { content: "\EA74" } +.ch-icon-expand:before { content: "\EA75" } +.ch-icon-unExpand:before { content: "\EA76" } \ No newline at end of file diff --git a/src/sass/icons/uEA73-expand.svg b/src/sass/icons/uEA75-expand.svg similarity index 100% rename from src/sass/icons/uEA73-expand.svg rename to src/sass/icons/uEA75-expand.svg diff --git a/src/sass/icons/uEA74-unExpand.svg b/src/sass/icons/uEA76-unExpand.svg similarity index 100% rename from src/sass/icons/uEA74-unExpand.svg rename to src/sass/icons/uEA76-unExpand.svg From bca1789310473319336046c96c30edef5555ecaa Mon Sep 17 00:00:00 2001 From: Leo Xia <52569690+Saraph1nes@users.noreply.github.com> Date: Mon, 5 Aug 2024 14:04:31 +0800 Subject: [PATCH 32/42] =?UTF-8?q?feat:=20#815=20=E5=A4=9A=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E4=B8=8A=E4=BC=A0=20(#863)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit feat: #815 多文件上传 feat: #815 多文件上传 Co-authored-by: Saraph1nes --- examples/scripts/index-demo.js | 10 ++++- src/Cherry.config.js | 69 ++++++++++++++++++++++++++++++ src/toolbars/hooks/Audio.js | 30 ++++++++++++- src/toolbars/hooks/File.js | 30 ++++++++++++- src/toolbars/hooks/Image.js | 32 +++++++++++++- src/toolbars/hooks/Pdf.js | 29 ++++++++++++- src/toolbars/hooks/Video.js | 30 ++++++++++++- src/toolbars/hooks/Word.js | 29 ++++++++++++- src/utils/file.js | 78 ++++++++++++++++++++++++++++------ types/cherry.d.ts | 11 +++++ yarn.lock | 67 ++--------------------------- 11 files changed, 326 insertions(+), 89 deletions(-) diff --git a/examples/scripts/index-demo.js b/examples/scripts/index-demo.js index 8c0580d5a..7f6aa077a 100644 --- a/examples/scripts/index-demo.js +++ b/examples/scripts/index-demo.js @@ -156,6 +156,14 @@ var basicConfig = { }, }, }, + multipleFileSelection: { + video: true, + audio: false, + image: true, + word: false, + pdf: true, + file: true, + }, toolbars: { toolbar: [ 'bold', @@ -179,7 +187,7 @@ var basicConfig = { '|', 'formula', { - insert: ['image', 'audio', 'video', 'link', 'hr', 'br', 'code', 'inlineCode', 'formula', 'toc', 'table', 'pdf', 'word'], + insert: ['image', 'audio', 'video', 'link', 'hr', 'br', 'code', 'inlineCode', 'formula', 'toc', 'table', 'pdf', 'word', 'file'], }, 'graph', 'customMenuTable', diff --git a/src/Cherry.config.js b/src/Cherry.config.js index 27f4fe97a..0350c76cf 100644 --- a/src/Cherry.config.js +++ b/src/Cherry.config.js @@ -52,6 +52,62 @@ const callbacks = { callback('images/demo-dog.png'); } }, + fileUploadMulti(files, callback) { + const fileType = files[0].type; + const promises = []; + for (const file of files) { + const promise = new Promise((resolve) => { + if (/video/i.test(fileType)) { + resolve({ + url: 'images/demo-dog.png', + params: { + name: `${file.name.replace(/\.[^.]+$/, '')}`, + poster: 'images/demo-dog.png?poster=true', + isBorder: true, + isShadow: true, + isRadius: true, + }, + }); + } else if (/image/i.test(fileType)) { + // 如果上传的是图片,则默认回显base64内容(因为没有图床) + // 创建 FileReader 对象 + const reader = new FileReader(); + // 读取文件内容 + reader.onload = (event) => { + // 获取 base64 内容 + const base64Content = event.target.result; + resolve({ + url: base64Content, + params: { + name: `${file.name.replace(/\.[^.]+$/, '')}`, + isShadow: true, + width: '60%', + height: 'auto', + }, + }); + }; + reader.readAsDataURL(file); + } else if (/audio/i.test(fileType)) { + resolve({ + url: 'images/demo-dog.png', + params: { + name: `${file.name.replace(/\.[^.]+$/, '')}`, + poster: 'images/demo-dog.png?poster=true', + isBorder: true, + isShadow: true, + isRadius: true, + }, + }); + } else { + resolve('images/demo-dog.png'); + } + }); + promises.push(promise); + } + Promise.all(promises).then((results) => { + callback(results); + }); + }, afterChange: (text, html) => {}, afterInit: (text, html) => {}, beforeImageMounted: (srcProp, src) => ({ srcProp, src }), @@ -365,6 +421,17 @@ const defaultConfig = { pdf: '.pdf', file: '*', }, + /** + * 上传文件的时候是否开启多选 + */ + multipleFileSelection: { + video: false, + audio: false, + image: false, + word: false, + pdf: false, + file: false, + }, callback: { /** * 全局的URL处理器 @@ -375,6 +442,8 @@ const defaultConfig = { urlProcessor: callbacks.urlProcessor, // 上传文件的回调 fileUpload: callbacks.fileUpload, + // 上传多文件的回调 + fileUploadMulti: callbacks.fileUploadMulti, beforeImageMounted: callbacks.beforeImageMounted, // 预览区域点击事件,previewer.enablePreviewerBubble = true 时生效 onClickPreview: callbacks.onClickPreview, diff --git a/src/toolbars/hooks/Audio.js b/src/toolbars/hooks/Audio.js index 7dab9c6ac..7f664f51f 100644 --- a/src/toolbars/hooks/Audio.js +++ b/src/toolbars/hooks/Audio.js @@ -14,7 +14,7 @@ * limitations under the License. */ import MenuBase from '@/toolbars/MenuBase'; -import { handleUpload, handleParams } from '@/utils/file'; +import { handleUpload, handleParams, handleUploadMulti } from '@/utils/file'; /** * 插入音频 */ @@ -30,6 +30,33 @@ export default class Audio extends MenuBase { * @returns {string} 回填到编辑器光标位置/选中文本区域的内容 */ onClick(selection, shortKey = '') { + const accept = this.$cherry.options?.fileTypeLimitMap?.audio ?? '*'; + const multiple = this.$cherry?.options.multipleFileSelection?.audio ?? false; + if (multiple) { + if (this.hasCacheOnce()) { + // @ts-ignore + const arr = this.getAndCleanCacheOnce(); + let res = ''; + // @ts-ignore + for (const { url, params } of arr) { + const begin = '!audio['; + const end = `](${url})`; + this.registerAfterClickCb(() => { + this.setLessSelection(begin, end); + }); + const finalName = params.name ? params.name : name; + res += `${begin}${finalName}${handleParams(params)}${end}\n`; + } + return res; + } + // 插入图片,调用上传文件逻辑 + handleUploadMulti(this.editor, 'audio', accept, (arr) => { + this.setCacheOnce(arr); + this.fire(null); + }); + this.updateMarkdown = false; + return selection; + } if (this.hasCacheOnce()) { // @ts-ignore const { name, url, params } = this.getAndCleanCacheOnce(); @@ -41,7 +68,6 @@ export default class Audio extends MenuBase { const finalName = params.name ? params.name : name; return `${begin}${finalName}${handleParams(params)}${end}`; } - const accept = this.$cherry.options?.fileTypeLimitMap?.audio ?? '*'; // 插入图片,调用上传文件逻辑 handleUpload(this.editor, 'audio', accept, (name, url, params) => { this.setCacheOnce({ name, url, params }); diff --git a/src/toolbars/hooks/File.js b/src/toolbars/hooks/File.js index e5bc57dd1..232e1b569 100644 --- a/src/toolbars/hooks/File.js +++ b/src/toolbars/hooks/File.js @@ -14,7 +14,7 @@ * limitations under the License. */ import MenuBase from '@/toolbars/MenuBase'; -import { handleUpload } from '@/utils/file'; +import { handleUpload, handleUploadMulti } from '@/utils/file'; /** * 插入pdf */ @@ -30,6 +30,33 @@ export default class File extends MenuBase { * @returns {string} 回填到编辑器光标位置/选中文本区域的内容 */ onClick(selection, shortKey = '') { + const accept = this.$cherry.options?.fileTypeLimitMap?.file ?? '*'; + const multiple = this.$cherry?.options.multipleFileSelection?.file ?? false; + if (multiple) { + if (this.hasCacheOnce()) { + // @ts-ignore + const arr = this.getAndCleanCacheOnce(); + let res = ''; + // @ts-ignore + for (const { url, params } of arr) { + const begin = '['; + const end = `](${url})`; + this.registerAfterClickCb(() => { + this.setLessSelection(begin, end); + }); + const finalName = params.name ? params.name : name; + res += `${begin}${finalName}${end}\n`; + } + return res; + } + // 插入图片,调用上传文件逻辑 + handleUploadMulti(this.editor, 'file', accept, (arr) => { + this.setCacheOnce(arr); + this.fire(null); + }); + this.updateMarkdown = false; + return selection; + } if (this.hasCacheOnce()) { // @ts-ignore const { name, url, params } = this.getAndCleanCacheOnce(); @@ -41,7 +68,6 @@ export default class File extends MenuBase { const finalName = params.name ? params.name : name; return `${begin}${finalName}${end}`; } - const accept = this.$cherry.options?.fileTypeLimitMap?.file ?? '*'; // 插入图片,调用上传文件逻辑 handleUpload(this.editor, 'file', accept, (name, url, params) => { this.setCacheOnce({ name, url, params }); diff --git a/src/toolbars/hooks/Image.js b/src/toolbars/hooks/Image.js index 094a8f405..959162383 100644 --- a/src/toolbars/hooks/Image.js +++ b/src/toolbars/hooks/Image.js @@ -14,7 +14,7 @@ * limitations under the License. */ import MenuBase from '@/toolbars/MenuBase'; -import { handleUpload, handleParams } from '@/utils/file'; +import { handleUpload, handleParams, handleUploadMulti } from '@/utils/file'; import { CONTROL_KEY, getKeyCode } from '@/utils/shortcutKey'; /** * 插入图片 @@ -40,6 +40,35 @@ export default class Image extends MenuBase { * @returns {string} 回填到编辑器光标位置/选中文本区域的内容 */ onClick(selection, shortKey = '') { + const accept = this.$cherry.options?.fileTypeLimitMap?.image ?? '*'; + const multiple = this.$cherry?.options.multipleFileSelection?.image ?? false; + + if (multiple) { + if (this.hasCacheOnce()) { + // @ts-ignore + const arr = this.getAndCleanCacheOnce(); + let res = ''; + // @ts-ignore + for (const { url, params } of arr) { + const begin = '!['; + const end = `](${url})`; + this.registerAfterClickCb(() => { + this.setLessSelection(begin, end); + }); + const finalName = params.name ? params.name : name; + res += `${begin}${finalName}${handleParams(params)}${end}\n`; + } + return res; + } + // 插入图片,调用上传文件逻辑 + handleUploadMulti(this.editor, 'image', accept, (arr) => { + this.setCacheOnce(arr); + this.fire(null); + }); + this.updateMarkdown = false; + return selection; + } + if (this.hasCacheOnce()) { // @ts-ignore const { name, url, params } = this.getAndCleanCacheOnce(); @@ -51,7 +80,6 @@ export default class Image extends MenuBase { const finalName = params.name ? params.name : name; return `${begin}${finalName}${handleParams(params)}${end}`; } - const accept = this.$cherry.options?.fileTypeLimitMap?.image ?? '*'; // 插入图片,调用上传文件逻辑 handleUpload(this.editor, 'image', accept, (name, url, params) => { this.setCacheOnce({ name, url, params }); diff --git a/src/toolbars/hooks/Pdf.js b/src/toolbars/hooks/Pdf.js index cdb35ab2e..5b071c8aa 100644 --- a/src/toolbars/hooks/Pdf.js +++ b/src/toolbars/hooks/Pdf.js @@ -14,7 +14,7 @@ * limitations under the License. */ import MenuBase from '@/toolbars/MenuBase'; -import { handleUpload } from '@/utils/file'; +import { handleUpload, handleUploadMulti } from '@/utils/file'; /** * 插入pdf */ @@ -30,6 +30,32 @@ export default class Pdf extends MenuBase { * @returns {string} 回填到编辑器光标位置/选中文本区域的内容 */ onClick(selection, shortKey = '') { + const accept = this.$cherry.options?.fileTypeLimitMap?.pdf ?? '*'; + const multiple = this.$cherry?.options.multipleFileSelection?.pdf ?? false; + if (multiple) { + if (this.hasCacheOnce()) { + const arr = this.getAndCleanCacheOnce(); + let res = ''; + // @ts-ignore + for (const { url, params } of arr) { + const begin = '['; + const end = `](${url})`; + this.registerAfterClickCb(() => { + this.setLessSelection(begin, end); + }); + const finalName = params.name ? params.name : name; + res += `${begin}${finalName}${end}\n`; + } + return res; + } + // 插入图片,调用上传文件逻辑 + handleUploadMulti(this.editor, 'pdf', accept, (arr) => { + this.setCacheOnce(arr); + this.fire(null); + }); + this.updateMarkdown = false; + return selection; + } if (this.hasCacheOnce()) { // @ts-ignore const { name, url, params } = this.getAndCleanCacheOnce(); @@ -41,7 +67,6 @@ export default class Pdf extends MenuBase { const finalName = params.name ? params.name : name; return `${begin}${finalName}${end}`; } - const accept = this.$cherry.options?.fileTypeLimitMap?.pdf ?? '*'; // 插入图片,调用上传文件逻辑 handleUpload(this.editor, 'pdf', accept, (name, url, params) => { this.setCacheOnce({ name, url, params }); diff --git a/src/toolbars/hooks/Video.js b/src/toolbars/hooks/Video.js index b995593e6..0bc1412b5 100644 --- a/src/toolbars/hooks/Video.js +++ b/src/toolbars/hooks/Video.js @@ -14,7 +14,7 @@ * limitations under the License. */ import MenuBase from '@/toolbars/MenuBase'; -import { handleUpload, handleParams } from '@/utils/file'; +import { handleUpload, handleParams, handleUploadMulti } from '@/utils/file'; /** * 插入视频 */ @@ -30,6 +30,33 @@ export default class Video extends MenuBase { * @returns {string} 回填到编辑器光标位置/选中文本区域的内容 */ onClick(selection, shortKey = '') { + const accept = this.$cherry.options?.fileTypeLimitMap?.video ?? '*'; + const multiple = this.$cherry?.options.multipleFileSelection?.video ?? false; + if (multiple) { + if (this.hasCacheOnce()) { + // @ts-ignore + const arr = this.getAndCleanCacheOnce(); + let res = ''; + // @ts-ignore + for (const { url, params } of arr) { + const begin = '!video['; + const end = params.poster ? `](${url}){poster=${params.poster}}` : `](${url})`; + this.registerAfterClickCb(() => { + this.setLessSelection(begin, end); + }); + const finalName = params.name ? params.name : name; + res += `${begin}${finalName}${handleParams(params)}${end}\n`; + } + return res; + } + // 插入图片,调用上传文件逻辑 + handleUploadMulti(this.editor, 'video', accept, (arr) => { + this.setCacheOnce(arr); + this.fire(null); + }); + this.updateMarkdown = false; + return selection; + } if (this.hasCacheOnce()) { // @ts-ignore const { name, url, params } = this.getAndCleanCacheOnce(); @@ -41,7 +68,6 @@ export default class Video extends MenuBase { const finalName = params.name ? params.name : name; return `${begin}${finalName}${handleParams(params)}${end}`; } - const accept = this.$cherry.options?.fileTypeLimitMap?.video ?? '*'; // 插入图片,调用上传文件逻辑 handleUpload(this.editor, 'video', accept, (name, url, params) => { this.setCacheOnce({ name, url, params }); diff --git a/src/toolbars/hooks/Word.js b/src/toolbars/hooks/Word.js index d072cd5a7..5ef0d236e 100644 --- a/src/toolbars/hooks/Word.js +++ b/src/toolbars/hooks/Word.js @@ -14,7 +14,7 @@ * limitations under the License. */ import MenuBase from '@/toolbars/MenuBase'; -import { handleUpload } from '@/utils/file'; +import { handleUpload, handleUploadMulti } from '@/utils/file'; /** * 插入word */ @@ -30,6 +30,32 @@ export default class Word extends MenuBase { * @returns {string} 回填到编辑器光标位置/选中文本区域的内容 */ onClick(selection, shortKey = '') { + const accept = this.$cherry.options?.fileTypeLimitMap?.word ?? '*'; + const multiple = this.$cherry?.options.multipleFileSelection?.word ?? false; + if (multiple) { + if (this.hasCacheOnce()) { + // @ts-ignore + const arr = this.getAndCleanCacheOnce(); + let res = ''; + // @ts-ignore + for (const { url, params } of arr) { + const begin = '['; + const end = `](${url})`; + this.registerAfterClickCb(() => { + this.setLessSelection(begin, end); + }); + const finalName = params.name ? params.name : name; + res += `${begin}${finalName}${end}\n`; + } + return res; + } + handleUploadMulti(this.editor, 'word', accept, (arr) => { + this.setCacheOnce(arr); + this.fire(null); + }); + this.updateMarkdown = false; + return selection; + } if (this.hasCacheOnce()) { // @ts-ignore const { name, url, params } = this.getAndCleanCacheOnce(); @@ -41,7 +67,6 @@ export default class Word extends MenuBase { const finalName = params.name ? params.name : name; return `${begin}${finalName}${end}`; } - const accept = this.$cherry.options?.fileTypeLimitMap?.word ?? '*'; // 插入图片,调用上传文件逻辑 handleUpload(this.editor, 'word', accept, (name, url, params) => { this.setCacheOnce({ name, url, params }); diff --git a/src/utils/file.js b/src/utils/file.js index 92e09c8e4..22bdd0d1c 100644 --- a/src/utils/file.js +++ b/src/utils/file.js @@ -14,6 +14,46 @@ * limitations under the License. */ +/** + * 多选上传文件的逻辑,如果有callback,则不再走默认的替换文本的逻辑,而是调用callback + * @param {string} type 上传文件的类型 + */ +export function handleUploadMulti(editor, type = 'image', accept = '*', callback = null) { + // type为上传文件类型 image|video|audio|pdf|word + const input = document.createElement('input'); + const inputMultiple = editor.$cherry.options.multipleFileSelection || false; + input.type = 'file'; + input.id = 'fileUpload'; + input.value = ''; + input.style.display = 'none'; + input.accept = accept; + input.multiple = inputMultiple; + // document.body.appendChild(input); + input.addEventListener('change', (event) => { + // @ts-ignore + const { files } = event.target; + // 文件上传后的回调函数可以由调用方自己实现 + editor.$cherry.options.callback.fileUploadMulti(files, (arr) => { + // 文件上传的默认回调行数,调用方可以完全不使用该函数 + if (arr.length === 0) { + return; + } + if (callback) { + return callback(arr); + } + let code = ''; + for (const file of files) { + const { url } = file; + code += `${handleType(type, file, url)}/n`; + } + // 替换选中区域 + // @ts-ignore + editor.editor.doc.replaceSelection(code); + }); + }); + input.click(); +} + /** * 上传文件的逻辑,如果有callback,则不再走默认的替换文本的逻辑,而是调用callback * @param {string} type 上传文件的类型 @@ -40,19 +80,7 @@ export function handleUpload(editor, type = 'image', accept = '*', callback = nu return callback(file.name, url, params); } let code = ''; - if (type === 'image') { - // 如果是图片,则返回固定的图片markdown源码 - code = `![${file.name}](${url})`; - } else if (type === 'video') { - // 如果是视频,则返回固定的视频markdown源码 - code = `!video[${file.name}](${url})`; - } else if (type === 'audio') { - // 如果是音频,则返回固定的音频markdown源码 - code = `!audio[${file.name}](${url})`; - } else { - // 默认返回超链接 - code = `[${file.name}](${url})`; - } + code = handleType(type, file, url); // 替换选中区域 // @ts-ignore editor.editor.doc.replaceSelection(code); @@ -61,6 +89,30 @@ export function handleUpload(editor, type = 'image', accept = '*', callback = nu input.click(); } +/** + * 处理要插入的代码 + * @param type 文件类型 + * @param file 文件 + * @param url 路径 + * @returns string + */ +const handleType = (type, file, url) => { + if (type === 'image') { + // 如果是图片,则返回固定的图片markdown源码 + return `![${file.name}](${url})`; + } + if (type === 'video') { + // 如果是视频,则返回固定的视频markdown源码 + return `!video[${file.name}](${url})`; + } + if (type === 'audio') { + // 如果是音频,则返回固定的音频markdown源码 + return `!audio[${file.name}](${url})`; + } + // 默认返回超链接 + return `[${file.name}](${url})`; +}; + /** * 解析params参数 * @param params?.isBorder 是否有边框样式(图片场景下生效) diff --git a/types/cherry.d.ts b/types/cherry.d.ts index 1daf5fc74..6b828c0ae 100644 --- a/types/cherry.d.ts +++ b/types/cherry.d.ts @@ -29,6 +29,15 @@ export interface CherryOptions { pdf: string, file: string, }; + /** 文件是否支持多选 */ + multipleFileSelection: { + video: boolean; + audio: boolean; + image: boolean; + word: boolean; + pdf: boolean; + file: boolean; + }; /** 有哪些主题 */ theme: {className: string, label: string}[]; /** 定义主题的作用范围,相同themeNameSpace的实例共享主题配置 */ @@ -42,6 +51,8 @@ export interface CherryOptions { urlProcessor?: (url: string, srcType: 'image' | 'audio' | 'video' | 'autolink' | 'link') => string; /** 文件上传回调 */ fileUpload?: CherryFileUploadHandler; + /** 多文件上传回调 */ + fileUploadMulti?: CherryFileUploadHandler; /** 编辑器内容改变并完成渲染后触发 */ afterChange?: CherryLifecycle; /** 编辑器完成初次渲染后触发 */ diff --git a/yarn.lock b/yarn.lock index 822fd0459..cdf0f3009 100644 --- a/yarn.lock +++ b/yarn.lock @@ -24,14 +24,6 @@ dependencies: "@babel/highlight" "^7.16.7" -"@babel/code-frame@^7.10.4": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465" - integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== - dependencies: - "@babel/highlight" "^7.24.7" - picocolors "^1.0.0" - "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.10": version "7.17.10" resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz" @@ -251,11 +243,6 @@ resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz" integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== -"@babel/helper-validator-identifier@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" - integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== - "@babel/helper-validator-option@^7.16.7": version "7.16.7" resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz" @@ -289,16 +276,6 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/highlight@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d" - integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== - dependencies: - "@babel/helper-validator-identifier" "^7.24.7" - chalk "^2.4.2" - js-tokens "^4.0.0" - picocolors "^1.0.0" - "@babel/node@^7.12.10": version "7.17.10" resolved "https://registry.npmjs.org/@babel/node/-/node-7.17.10.tgz" @@ -7260,15 +7237,6 @@ jest-watcher@^27.5.1: jest-util "^27.5.1" string-length "^4.0.1" -jest-worker@^26.2.1: - version "26.6.2" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - jest-worker@^27.5.1: version "27.5.1" resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" @@ -9990,16 +9958,6 @@ rollup-plugin-serve@^2.0.2: mime ">=2.4.6" opener "1" -rollup-plugin-terser@^7.0.2: - version "7.0.2" - resolved "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" - integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== - dependencies: - "@babel/code-frame" "^7.10.4" - jest-worker "^26.2.1" - serialize-javascript "^4.0.0" - terser "^5.0.0" - rollup-plugin-typescript2@^0.32.1: version "0.32.1" resolved "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.32.1.tgz" @@ -10152,13 +10110,6 @@ semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0, semver@^6.3.1: resolved "https://mirrors.tencent.com/npm/semver/-/semver-6.3.1.tgz" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" - integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== - dependencies: - randombytes "^2.1.0" - serialize-javascript@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz" @@ -10923,16 +10874,6 @@ terminal-link@^2.0.0: ansi-escapes "^4.2.1" supports-hyperlinks "^2.0.0" -terser@^5.0.0: - version "5.31.1" - resolved "https://registry.npmjs.org/terser/-/terser-5.31.1.tgz#735de3c987dd671e95190e6b98cfe2f07f3cf0d4" - integrity sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg== - dependencies: - "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" - commander "^2.20.0" - source-map-support "~0.5.20" - terser@^5.17.4: version "5.19.2" resolved "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz" @@ -11321,10 +11262,10 @@ typedarray@^0.0.6: resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" integrity "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" -typescript@4.5.5: - version "4.5.5" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz" - integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== +typescript@4.7.2: + version "4.7.2" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.7.2.tgz#1f9aa2ceb9af87cca227813b4310fff0b51593c4" + integrity sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A== typescript@^4.6.4: version "4.6.4" From 4a3c19574f8ffa6ed739c22d0ba8a0c77b455e0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sunsonliu=28=E5=88=98=E9=98=B3=29?= Date: Thu, 8 Aug 2024 18:45:00 +0800 Subject: [PATCH 33/42] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E5=9D=97=E5=B1=95=E5=BC=80=E6=94=B6=E8=B5=B7=E5=BC=95?= =?UTF-8?q?=E5=85=A5=E7=9A=84bug=EF=BC=8C=E5=B9=B6=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=B1=95=E5=BC=80=E6=94=B6=E8=B5=B7=E7=9A=84=E4=BA=A4=E4=BA=92?= =?UTF-8?q?=E4=BD=93=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/scripts/index-demo.js | 1 + src/Cherry.config.js | 10 ++-- src/core/hooks/CodeBlock.js | 20 ++++---- src/sass/cherry.scss | 44 +++++++++++++++--- src/toolbars/PreviewerBubble.js | 10 ++++ src/utils/codeBlockContentHandler.js | 68 ++++++++-------------------- 6 files changed, 85 insertions(+), 68 deletions(-) diff --git a/examples/scripts/index-demo.js b/examples/scripts/index-demo.js index 7f6aa077a..7add26d1d 100644 --- a/examples/scripts/index-demo.js +++ b/examples/scripts/index-demo.js @@ -118,6 +118,7 @@ var basicConfig = { codeBlock: { theme: 'twilight', lineNumber: true, // 默认显示行号 + expandCode: true, }, table: { enableChart: true, diff --git a/src/Cherry.config.js b/src/Cherry.config.js index 0350c76cf..683b4ce4c 100644 --- a/src/Cherry.config.js +++ b/src/Cherry.config.js @@ -187,8 +187,11 @@ const defaultConfig = { htmlWhiteList: '', /** * 适配流式会话的场景,开启后将具备以下特性: - * 1. 代码块自动闭合,相当于强制 `engine.syntax.codeBlock.selfClosing=true` - * 2. 文章末尾的段横线标题语法(`\n-`)失效 + * - cherry渲染频率从50ms/次提升到10ms/次 + * - 代码块自动闭合,相当于强制 `engine.syntax.codeBlock.selfClosing=true` + * - 文章末尾的段横线标题语法(`\n-`)失效 + * - 表格语法自动闭合,相当于强制`engine.syntax.table.selfClosing=true` + * - 加粗、斜体语法自动闭合,相当于强制`engine.syntax.fontEmphasis.selfClosing=true` * * 后续如果有新的需求,可提issue反馈 */ @@ -238,8 +241,7 @@ const defaultConfig = { copyCode: true, // 是否显示“复制”按钮 editCode: true, // 是否显示“编辑”按钮 changeLang: true, // 是否显示“切换语言”按钮 - expandCode: true, // 是否展开代码块 - unExpandCode: false, // 是否展开代码块 + expandCode: false, // 是否展开/收起代码块,当代码块行数大于10行时,会自动收起代码块 selfClosing: true, // 自动闭合,为true时,当md中有奇数个```时,会自动在md末尾追加一个``` customRenderer: { // 自定义语法渲染器 diff --git a/src/core/hooks/CodeBlock.js b/src/core/hooks/CodeBlock.js index 6b7c60bfd..749aba712 100644 --- a/src/core/hooks/CodeBlock.js +++ b/src/core/hooks/CodeBlock.js @@ -39,7 +39,6 @@ export default class CodeBlock extends ParagraphBase { this.lineNumber = config.lineNumber; // 是否显示行号 this.copyCode = config.copyCode; // 是否显示“复制”按钮 this.expandCode = config.expandCode; // 是否显示“展开”按钮 - this.unExpandCode = config.unExpandCode; // 是否显示“缩放”按钮 this.editCode = config.editCode; // 是否显示“编辑”按钮 this.changeLang = config.changeLang; // 是否显示“切换语言”按钮 this.selfClosing = config.selfClosing; // 自动闭合,为true时,当md中有奇数个```时,会自动在md末尾追加一个``` @@ -201,7 +200,7 @@ export default class CodeBlock extends ParagraphBase { cacheCode = Prism.highlight(cacheCode, Prism.languages[lang], lang); cacheCode = this.renderLineNumber(cacheCode); } - const maskclassName = lines - 3 > 10 ? 'maskHeight' : ''; + const needUnExpand = this.expandCode && $code.match(/\n/g)?.length > 10; // 是否需要收起代码块 cacheCode = `
    -
    ${this.wrapCode(cacheCode, lang)}
    -
    -
    `; +
    ${this.wrapCode(cacheCode, lang)}
    + `; + if (needUnExpand) { + cacheCode += `
    +
    + +
    +
    `; + } + cacheCode += '
    '; return cacheCode; } diff --git a/src/sass/cherry.scss b/src/sass/cherry.scss index ef755a45c..f7799dfd2 100644 --- a/src/sass/cherry.scss +++ b/src/sass/cherry.scss @@ -577,26 +577,52 @@ display: block; } } -.maskHeight{ - height: 240px; - overflow: hidden !important; -} .cherry-previewer-codeBlock-click-handler { position: absolute; z-index: 1; } -.cherry-mark-code-block{ +.cherry-mask-code-block{ width: 100%; - padding-top: 78px; + padding-top: 50px; + display: none; background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(#fff)); background-image: linear-gradient(-180deg, rgba(255, 255, 255, 0) 0%, #fff 100%); + text-align: center; position: absolute; left: 0; right: 0; - bottom: 0; + bottom: 0.5em; z-index: 10; + .expand-btn { + width: 25px; + height: 25px; + border: 1px solid #ffffff00; + cursor: pointer; + border-radius: 5px; + transition: all 0.3s; + z-index: 12; + color: #3582fb; + background-color: #d7e6fe; + display: inline-block; + &:hover { + color: #eee; + background-color: #3582fb; + border-color: #eee; + } + } +} + + +.cherry-code-unExpand{ + pre { + height: 240px; + overflow: hidden !important; + } + .cherry-mask-code-block { + display: inline-block; + } } .cherry-previewer-codeBlock-hover-handler { @@ -644,6 +670,10 @@ .cherry-unExpand-code-block{ right: 10px; z-index: 12; + margin-top: 30px; + &.hidden { + display: none; + } } .cherry-copy-code-block { right: 10px; diff --git a/src/toolbars/PreviewerBubble.js b/src/toolbars/PreviewerBubble.js index 158b5e69a..9dca5f3ed 100644 --- a/src/toolbars/PreviewerBubble.js +++ b/src/toolbars/PreviewerBubble.js @@ -254,6 +254,16 @@ export default class PreviewerBubble { } } + // 点击展开代码块操作 + if (target.className === 'expand-btn ' || target.className === 'ch-icon ch-icon-expand') { + const expandBtnDom = this.$getClosestNode(target, 'DIV'); + expandBtnDom.parentNode.parentNode.classList.remove('cherry-code-unExpand'); + expandBtnDom.parentNode.parentNode.classList.add('cherry-code-expand'); + if (this.bubbleHandler?.hover?.unExpandDom) { + this.bubbleHandler.hover.unExpandDom.classList.remove('hidden'); + } + } + if (!this.enablePreviewerBubble) { return; } diff --git a/src/utils/codeBlockContentHandler.js b/src/utils/codeBlockContentHandler.js index 8b620e9fc..2c5e31edf 100644 --- a/src/utils/codeBlockContentHandler.js +++ b/src/utils/codeBlockContentHandler.js @@ -160,7 +160,7 @@ export default class CodeBlockHandler { * 展示代码块区域的按钮 */ $showBtn(isEnableBubbleAndEditorShow) { - const { changeLang, editCode, copyCode, lang, expandCode, unexpandCode, lines } = this.target.dataset; + const { changeLang, editCode, copyCode, lang, expandCode, lines } = this.target.dataset; this.container.innerHTML = ''; if (changeLang === 'true' && isEnableBubbleAndEditorShow) { // 添加删除btn @@ -183,6 +183,7 @@ export default class CodeBlockHandler { editDom.addEventListener('click', (e) => { e.preventDefault(); e.stopPropagation(); + this.$expandCodeBlock(true); this.$hideAllBtn(); this.parent.$removeAllPreviewerBubbles('click'); this.parent.showCodeBlockPreviewerBubbles('click', this.target); @@ -204,35 +205,21 @@ export default class CodeBlockHandler { this.copyDom = copyDom; } if (expandCode === 'true') { - if (lines - 3 <= 10) return; - if (this.target.dataset.unexpandCode === 'true') return; - // 添加展开btn - const expandDom = document.createElement('div'); - expandDom.className = 'cherry-expand-code-block'; - expandDom.innerHTML = ''; - this.container.appendChild(expandDom); - expandDom.addEventListener('click', (e) => { - e.preventDefault(); - e.stopPropagation(); - this.parent.$removeAllPreviewerBubbles('click'); - this.$expandCodeBlock('0'); - }); - this.expandDom = expandDom; - } - if (unexpandCode === 'true') { - if (lines - 3 <= 10) return; - if (this.target.dataset.expandCode === 'true') return; + const isExpand = this.target.classList.contains('cherry-code-expand'); + const maskDom = this.target.querySelector('.cherry-mask-code-block'); // 添加缩起btn const unExpandDom = document.createElement('div'); unExpandDom.className = 'cherry-unExpand-code-block'; unExpandDom.innerHTML = ''; - unExpandDom.style.top = `${(lines - 3) * 25}px`; + if (!isExpand || !maskDom) { + unExpandDom.classList.add('hidden'); + } this.container.appendChild(unExpandDom); unExpandDom.addEventListener('click', (e) => { e.preventDefault(); e.stopPropagation(); this.parent.$removeAllPreviewerBubbles('click'); - this.$expandCodeBlock('1'); + this.$expandCodeBlock(false); }); this.unExpandDom = unExpandDom; } @@ -248,9 +235,6 @@ export default class CodeBlockHandler { if (this.copyDom?.style?.display) { this.copyDom.style.display = 'none'; } - if (this.expandDom?.style?.display) { - this.expandDom.style.display = 'none'; - } if (this.unExpandDom?.style?.display) { this.unExpandDom.style.display = 'none'; } @@ -298,36 +282,22 @@ export default class CodeBlockHandler { /** * 处理扩展、缩起代码块的操作 */ - $expandCodeBlock(str) { - const expandDomDiv = this.target.childNodes[1]; - const maskDom = this.target.childNodes[3]; - this.setStyle(expandDomDiv, 'height', str === '0' ? `${(this.target.dataset.lines - 3) * 25}px` : '240px'); - this.setStyle(expandDomDiv, 'overflow', str === '0' ? 'auto' : 'hidden'); - this.setStyle(maskDom, 'display', str === '0' ? 'none' : 'inline-block'); - str === '0' ? this.setStyle(this.expandDom, 'display', 'none') : this.setStyle(this.unExpandDom, 'display', 'none'); - str === '0' ? this.expandDom.remove() : this.unExpandDom.remove(); - // 添加缩起btn - const unExpandDom = document.createElement('div'); - unExpandDom.className = str === '0' ? 'cherry-unExpand-code-block' : 'cherry-expand-code-block'; - unExpandDom.innerHTML = - str === '0' ? '' : ''; - unExpandDom.style.top = str === '0' ? `${(this.target.dataset.lines - 3) * 25}px` : '45px'; - this.container.appendChild(unExpandDom); - unExpandDom.addEventListener('click', (e) => { - e.preventDefault(); - e.stopPropagation(); - this.parent.$removeAllPreviewerBubbles('click'); - str === '0' ? this.$expandCodeBlock('1') : this.$expandCodeBlock('0'); - }); - str === '0' ? (this.unExpandDom = unExpandDom) : (this.expandDom = unExpandDom); - this.target.dataset.unexpandCode = str === '0' ? 'true' : 'false'; - this.target.dataset.expandCode = str === '0' ? 'false' : 'true'; + $expandCodeBlock(isExpand = true) { + this.target.classList.remove('cherry-code-unExpand'); + this.target.classList.remove('cherry-code-expand'); + this.unExpandDom.classList.remove('hidden'); + if (isExpand) { + this.target.classList.add('cherry-code-expand'); + } else { + this.unExpandDom.classList.add('hidden'); + this.target.classList.add('cherry-code-unExpand'); + } } /** * 处理复制代码块的操作 */ $copyCodeBlock() { - const codeContent = this.target.lastElementChild.innerText; + const codeContent = this.target.querySelector('pre').innerText; const final = this.$cherry.options.callback.onCopyCode({ target: this.target }, codeContent); if (final === false) { return false; From b663c54bca142448bffa9b1dbe4af42597fd3f23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sunsonliu=28=E5=88=98=E9=98=B3=29?= Date: Thu, 8 Aug 2024 18:45:42 +0800 Subject: [PATCH 34/42] lint --- src/Cherry.config.js | 2 +- src/core/hooks/CodeBlock.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Cherry.config.js b/src/Cherry.config.js index 683b4ce4c..14d46d4d0 100644 --- a/src/Cherry.config.js +++ b/src/Cherry.config.js @@ -187,7 +187,7 @@ const defaultConfig = { htmlWhiteList: '', /** * 适配流式会话的场景,开启后将具备以下特性: - * - cherry渲染频率从50ms/次提升到10ms/次 + * - cherry渲染频率从50ms/次提升到10ms/次 * - 代码块自动闭合,相当于强制 `engine.syntax.codeBlock.selfClosing=true` * - 文章末尾的段横线标题语法(`\n-`)失效 * - 表格语法自动闭合,相当于强制`engine.syntax.table.selfClosing=true` diff --git a/src/core/hooks/CodeBlock.js b/src/core/hooks/CodeBlock.js index 749aba712..1befbd4a6 100644 --- a/src/core/hooks/CodeBlock.js +++ b/src/core/hooks/CodeBlock.js @@ -200,7 +200,7 @@ export default class CodeBlock extends ParagraphBase { cacheCode = Prism.highlight(cacheCode, Prism.languages[lang], lang); cacheCode = this.renderLineNumber(cacheCode); } - const needUnExpand = this.expandCode && $code.match(/\n/g)?.length > 10; // 是否需要收起代码块 + const needUnExpand = this.expandCode && $code.match(/\n/g)?.length > 10; // 是否需要收起代码块 cacheCode = `
    Date: Thu, 8 Aug 2024 18:48:42 +0800 Subject: [PATCH 35/42] lint --- src/utils/codeBlockContentHandler.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/codeBlockContentHandler.js b/src/utils/codeBlockContentHandler.js index 2c5e31edf..6e9aa3c2f 100644 --- a/src/utils/codeBlockContentHandler.js +++ b/src/utils/codeBlockContentHandler.js @@ -160,7 +160,7 @@ export default class CodeBlockHandler { * 展示代码块区域的按钮 */ $showBtn(isEnableBubbleAndEditorShow) { - const { changeLang, editCode, copyCode, lang, expandCode, lines } = this.target.dataset; + const { changeLang, editCode, copyCode, lang, expandCode } = this.target.dataset; this.container.innerHTML = ''; if (changeLang === 'true' && isEnableBubbleAndEditorShow) { // 添加删除btn From 1c907dad6eb1438e0bde5f6bfe3ae648958ee206 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sunsonliu=28=E5=88=98=E9=98=B3=29?= Date: Fri, 9 Aug 2024 09:28:08 +0800 Subject: [PATCH 36/42] =?UTF-8?q?fix:=20#866=20=E4=BF=AE=E5=A4=8Ddraw.io?= =?UTF-8?q?=E5=9C=A8=E9=A2=84=E8=A7=88=E5=8C=BA=E6=97=A0=E8=84=91=E6=89=93?= =?UTF-8?q?=E5=BC=80=E7=BC=96=E8=BE=91=E6=A1=86=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Cherry.config.js | 2 +- src/toolbars/PreviewerBubble.js | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/Cherry.config.js b/src/Cherry.config.js index 14d46d4d0..f860272dc 100644 --- a/src/Cherry.config.js +++ b/src/Cherry.config.js @@ -447,7 +447,7 @@ const defaultConfig = { // 上传多文件的回调 fileUploadMulti: callbacks.fileUploadMulti, beforeImageMounted: callbacks.beforeImageMounted, - // 预览区域点击事件,previewer.enablePreviewerBubble = true 时生效 + // 预览区域点击事件 onClickPreview: callbacks.onClickPreview, // 复制代码块代码时的回调 onCopyCode: callbacks.onCopyCode, diff --git a/src/toolbars/PreviewerBubble.js b/src/toolbars/PreviewerBubble.js index 9dca5f3ed..6af7aabb9 100644 --- a/src/toolbars/PreviewerBubble.js +++ b/src/toolbars/PreviewerBubble.js @@ -43,7 +43,6 @@ export default class PreviewerBubble { */ this.editor = previewer.editor; this.previewerDom = this.previewer.getDom(); - this.enablePreviewerBubble = this.previewer.options.enablePreviewerBubble; this.$cherry = previewer.$cherry; /** * @property @@ -136,7 +135,7 @@ export default class PreviewerBubble { * @returns {boolean} */ $isEnableBubbleAndEditorShow() { - if (!this.enablePreviewerBubble) { + if (!this.previewer.options.enablePreviewerBubble) { return false; } const cherryStatus = this.previewer.$cherry.getStatus(); @@ -185,7 +184,7 @@ export default class PreviewerBubble { } $onMouseOut() { - if (!this.enablePreviewerBubble) { + if (!this.previewer.options.enablePreviewerBubble) { return; } const cherryStatus = this.previewer.$cherry.getStatus(); @@ -239,9 +238,13 @@ export default class PreviewerBubble { return; } - // 编辑draw.io不受enablePreviewerBubble配置的影响 + // 编辑draw.io不受previewer.options.enablePreviewerBubble配置的影响 if (target instanceof HTMLImageElement) { - if (target.tagName === 'IMG' && target.getAttribute('data-type') === 'drawio') { + if ( + target.tagName === 'IMG' && + target.getAttribute('data-type') === 'drawio' && + this.$cherry.status.editor === 'show' + ) { if (!this.beginChangeDrawioImg(target)) { return; } @@ -264,7 +267,7 @@ export default class PreviewerBubble { } } - if (!this.enablePreviewerBubble) { + if (!this.previewer.options.enablePreviewerBubble) { return; } // 只有双栏编辑模式才出现下面的功能 From 91e943ab23795ed9f92cda89dcc362c1c4c68136 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sunsonliu=28=E5=88=98=E9=98=B3=29?= Date: Fri, 9 Aug 2024 12:20:28 +0800 Subject: [PATCH 37/42] =?UTF-8?q?feat:=20#813=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=AF=B9drawioIframe=E6=A0=B7=E5=BC=8F=E7=9A=84=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Cherry.config.js | 2 ++ src/toolbars/PreviewerBubble.js | 16 ++++++++++++---- src/toolbars/hooks/DrawIo.js | 5 ++--- src/utils/dialog.js | 8 ++++---- types/cherry.d.ts | 2 ++ 5 files changed, 22 insertions(+), 11 deletions(-) diff --git a/src/Cherry.config.js b/src/Cherry.config.js index f860272dc..f410ce016 100644 --- a/src/Cherry.config.js +++ b/src/Cherry.config.js @@ -412,6 +412,8 @@ const defaultConfig = { }, // 打开draw.io编辑页的url,如果为空则drawio按钮失效 drawioIframeUrl: '', + // drawio iframe的样式 + drawioIframeStyle: 'border: none;', /** * 上传文件的时候用来指定文件类型 */ diff --git a/src/toolbars/PreviewerBubble.js b/src/toolbars/PreviewerBubble.js index 6af7aabb9..7c7dc10d9 100644 --- a/src/toolbars/PreviewerBubble.js +++ b/src/toolbars/PreviewerBubble.js @@ -249,10 +249,18 @@ export default class PreviewerBubble { return; } const xmlData = decodeURI(target.getAttribute('data-xml')); - drawioDialog(this.previewer.$cherry.options.drawioIframeUrl, xmlData, (newData) => { - const { xmlData, base64 } = newData; - this.editor.editor.replaceSelection(`(${base64}){data-type=drawio data-xml=${encodeURI(xmlData)}}`, 'around'); - }); + drawioDialog( + this.previewer.$cherry.options.drawioIframeUrl, + this.previewer.$cherry.options.drawioIframeStyle, + xmlData, + (newData) => { + const { xmlData, base64 } = newData; + this.editor.editor.replaceSelection( + `(${base64}){data-type=drawio data-xml=${encodeURI(xmlData)}}`, + 'around', + ); + }, + ); return; } } diff --git a/src/toolbars/hooks/DrawIo.js b/src/toolbars/hooks/DrawIo.js index cdf153358..cea07e373 100644 --- a/src/toolbars/hooks/DrawIo.js +++ b/src/toolbars/hooks/DrawIo.js @@ -23,7 +23,6 @@ export default class DrawIo extends MenuBase { super($cherry); this.setName('draw.io', 'draw.io'); this.noIcon = true; - this.drawioIframeUrl = $cherry.options.drawioIframeUrl; } /** @@ -33,7 +32,7 @@ export default class DrawIo extends MenuBase { * @returns {string} 回填到编辑器光标位置/选中文本区域的内容 */ onClick(selection, shortKey = '') { - if (!this.drawioIframeUrl) { + if (!this.$cherry.options.drawioIframeUrl) { // 如果没有配置drawio的编辑页URL,则直接失效 return selection; } @@ -48,7 +47,7 @@ export default class DrawIo extends MenuBase { return `${begin}在预览区点击图片重新编辑draw.io${end}`; } // 插入图片,调用上传文件逻辑 - drawioDialog(this.drawioIframeUrl, '', (data) => { + drawioDialog(this.$cherry.options.drawioIframeUrl, this.$cherry.options.drawioIframeStyle, '', (data) => { this.setCacheOnce(data); this.fire(null); }); diff --git a/src/utils/dialog.js b/src/utils/dialog.js index 5a148d332..d4d087806 100644 --- a/src/utils/dialog.js +++ b/src/utils/dialog.js @@ -96,7 +96,7 @@ const dialog = { }, draw(params, onReady, onSubmit) { - const { iframeSrc, title } = params; + const { iframeSrc, iframeStyle, title } = params; this.onSubmit = onSubmit; this.onReady = onReady; @@ -125,7 +125,7 @@ const dialog = { } }); // 构造页面元素 - this.iframeDom = createElement('iframe', 'cherry-dialog-iframe', { src: iframeSrc, style: 'border: none;' }); + this.iframeDom = createElement('iframe', 'cherry-dialog-iframe', { src: iframeSrc, style: iframeStyle }); this.dom = createElement('div', 'cherry-dialog', { style: [ 'z-index:9999', @@ -200,8 +200,8 @@ const dialog = { * @param {string} xml draw.io的xml格式的字符串数据 * @param {*} callback 回调 */ -export function drawioDialog(iframeSrc = '', xml = '', callback = null) { - const dialogParam = { iframeSrc, title: 'draw.io' }; +export function drawioDialog(iframeSrc = '', iframeStyle = '', xml = '', callback = null) { + const dialogParam = { iframeSrc, iframeStyle, title: 'draw.io' }; dialog.draw( dialogParam, () => { diff --git a/types/cherry.d.ts b/types/cherry.d.ts index 6b828c0ae..36aa5c4d4 100644 --- a/types/cherry.d.ts +++ b/types/cherry.d.ts @@ -18,6 +18,8 @@ export interface CherryOptions { toolbars: CherryToolbarOptions; // 打开draw.io编辑页的url,如果为空则drawio按钮失效 drawioIframeUrl: string; + // drawio iframe的样式 + drawioIframeStyle: string; /** 文件上传回调 */ fileUpload: CherryFileUploadHandler; /** 上传文件的时候用来指定文件类型 */ From 9ae7cb2539bb2ceafd6692f05fc9cdaf4e563be9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sunsonliu=28=E5=88=98=E9=98=B3=29?= Date: Fri, 9 Aug 2024 17:18:52 +0800 Subject: [PATCH 38/42] =?UTF-8?q?feat:=20#822=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=9D=97=E4=B8=BB=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/sass/markdown.scss | 16 +- src/sass/prism/one-dark.scss | 440 ++++++++++++++++++++++++++++++++ src/sass/prism/one-light.scss | 428 +++++++++++++++++++++++++++++++ src/sass/prism/vs-dark.scss | 275 ++++++++++++++++++++ src/sass/prism/vs-light.scss | 168 ++++++++++++ src/toolbars/hooks/CodeTheme.js | 11 +- 6 files changed, 1332 insertions(+), 6 deletions(-) create mode 100644 src/sass/prism/one-dark.scss create mode 100644 src/sass/prism/one-light.scss create mode 100644 src/sass/prism/vs-dark.scss create mode 100644 src/sass/prism/vs-light.scss diff --git a/src/sass/markdown.scss b/src/sass/markdown.scss index d594cb554..edee124fb 100644 --- a/src/sass/markdown.scss +++ b/src/sass/markdown.scss @@ -512,8 +512,20 @@ div[data-type='codeBlock'] { @import 'prism/dark'; } - [data-code-block-theme='funky'] & { - @import 'prism/funky'; + [data-code-block-theme='one-dark'] & { + @import 'prism/one-dark'; + } + + [data-code-block-theme='one-light'] & { + @import 'prism/one-light'; + } + + [data-code-block-theme='vs-dark'] & { + @import 'prism/vs-dark'; + } + + [data-code-block-theme='vs-light'] & { + @import 'prism/vs-light'; } [data-code-block-theme='okaidia'] & { diff --git a/src/sass/prism/one-dark.scss b/src/sass/prism/one-dark.scss new file mode 100644 index 000000000..51944e864 --- /dev/null +++ b/src/sass/prism/one-dark.scss @@ -0,0 +1,440 @@ +/** + * One Dark theme for prism.js + * Based on Atom's One Dark theme: https://github.com/atom/atom/tree/master/packages/one-dark-syntax + */ + +/** + * One Dark colours (accurate as of commit 8ae45ca on 6 Sep 2018) + * From colors.less + * --mono-1: hsl(220, 14%, 71%); + * --mono-2: hsl(220, 9%, 55%); + * --mono-3: hsl(220, 10%, 40%); + * --hue-1: hsl(187, 47%, 55%); + * --hue-2: hsl(207, 82%, 66%); + * --hue-3: hsl(286, 60%, 67%); + * --hue-4: hsl(95, 38%, 62%); + * --hue-5: hsl(355, 65%, 65%); + * --hue-5-2: hsl(5, 48%, 51%); + * --hue-6: hsl(29, 54%, 61%); + * --hue-6-2: hsl(39, 67%, 69%); + * --syntax-fg: hsl(220, 14%, 71%); + * --syntax-bg: hsl(220, 13%, 18%); + * --syntax-gutter: hsl(220, 14%, 45%); + * --syntax-guide: hsla(220, 14%, 71%, 0.15); + * --syntax-accent: hsl(220, 100%, 66%); + * From syntax-variables.less + * --syntax-selection-color: hsl(220, 13%, 28%); + * --syntax-gutter-background-color-selected: hsl(220, 13%, 26%); + * --syntax-cursor-line: hsla(220, 100%, 80%, 0.04); + */ + +code[class*="language-"], +pre[class*="language-"] { + background: hsl(220, 13%, 18%); + color: hsl(220, 14%, 71%); + text-shadow: 0 1px rgba(0, 0, 0, 0.3); + font-family: "Fira Code", "Fira Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + line-height: 1.5; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +/* Selection */ +code[class*="language-"]::-moz-selection, +code[class*="language-"] *::-moz-selection, +pre[class*="language-"] *::-moz-selection { + background: hsl(220, 13%, 28%); + color: inherit; + text-shadow: none; +} + +code[class*="language-"]::selection, +code[class*="language-"] *::selection, +pre[class*="language-"] *::selection { + background: hsl(220, 13%, 28%); + color: inherit; + text-shadow: none; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; + border-radius: 0.3em; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: 0.2em 0.3em; + border-radius: 0.3em; + white-space: normal; +} + +/* Print */ +@media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +.token.comment, +.token.prolog, +.token.cdata { + color: hsl(220, 10%, 40%); +} + +.token.doctype, +.token.punctuation, +.token.entity { + color: hsl(220, 14%, 71%); +} + +.token.attr-name, +.token.class-name, +.token.boolean, +.token.constant, +.token.number, +.token.atrule { + color: hsl(29, 54%, 61%); +} + +.token.keyword { + color: hsl(286, 60%, 67%); +} + +.token.property, +.token.tag, +.token.symbol, +.token.deleted, +.token.important { + color: hsl(355, 65%, 65%); +} + +.token.selector, +.token.string, +.token.char, +.token.builtin, +.token.inserted, +.token.regex, +.token.attr-value, +.token.attr-value > .token.punctuation { + color: hsl(95, 38%, 62%); +} + +.token.variable, +.token.operator, +.token.function { + color: hsl(207, 82%, 66%); +} + +.token.url { + color: hsl(187, 47%, 55%); +} + +/* HTML overrides */ +.token.attr-value > .token.punctuation.attr-equals, +.token.special-attr > .token.attr-value > .token.value.css { + color: hsl(220, 14%, 71%); +} + +/* CSS overrides */ +.language-css .token.selector { + color: hsl(355, 65%, 65%); +} + +.language-css .token.property { + color: hsl(220, 14%, 71%); +} + +.language-css .token.function, +.language-css .token.url > .token.function { + color: hsl(187, 47%, 55%); +} + +.language-css .token.url > .token.string.url { + color: hsl(95, 38%, 62%); +} + +.language-css .token.important, +.language-css .token.atrule .token.rule { + color: hsl(286, 60%, 67%); +} + +/* JS overrides */ +.language-javascript .token.operator { + color: hsl(286, 60%, 67%); +} + +.language-javascript .token.template-string > .token.interpolation > .token.interpolation-punctuation.punctuation { + color: hsl(5, 48%, 51%); +} + +/* JSON overrides */ +.language-json .token.operator { + color: hsl(220, 14%, 71%); +} + +.language-json .token.null.keyword { + color: hsl(29, 54%, 61%); +} + +/* MD overrides */ +.language-markdown .token.url, +.language-markdown .token.url > .token.operator, +.language-markdown .token.url-reference.url > .token.string { + color: hsl(220, 14%, 71%); +} + +.language-markdown .token.url > .token.content { + color: hsl(207, 82%, 66%); +} + +.language-markdown .token.url > .token.url, +.language-markdown .token.url-reference.url { + color: hsl(187, 47%, 55%); +} + +.language-markdown .token.blockquote.punctuation, +.language-markdown .token.hr.punctuation { + color: hsl(220, 10%, 40%); + font-style: italic; +} + +.language-markdown .token.code-snippet { + color: hsl(95, 38%, 62%); +} + +.language-markdown .token.bold .token.content { + color: hsl(29, 54%, 61%); +} + +.language-markdown .token.italic .token.content { + color: hsl(286, 60%, 67%); +} + +.language-markdown .token.strike .token.content, +.language-markdown .token.strike .token.punctuation, +.language-markdown .token.list.punctuation, +.language-markdown .token.title.important > .token.punctuation { + color: hsl(355, 65%, 65%); +} + +/* General */ +.token.bold { + font-weight: bold; +} + +.token.comment, +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +.token.namespace { + opacity: 0.8; +} + +/* Plugin overrides */ +/* Selectors should have higher specificity than those in the plugins' default stylesheets */ + +/* Show Invisibles plugin overrides */ +.token.token.tab:not(:empty):before, +.token.token.cr:before, +.token.token.lf:before, +.token.token.space:before { + color: hsla(220, 14%, 71%, 0.15); + text-shadow: none; +} + +/* Toolbar plugin overrides */ +/* Space out all buttons and move them away from the right edge of the code block */ +div.code-toolbar > .toolbar.toolbar > .toolbar-item { + margin-right: 0.4em; +} + +/* Styling the buttons */ +div.code-toolbar > .toolbar.toolbar > .toolbar-item > button, +div.code-toolbar > .toolbar.toolbar > .toolbar-item > a, +div.code-toolbar > .toolbar.toolbar > .toolbar-item > span { + background: hsl(220, 13%, 26%); + color: hsl(220, 9%, 55%); + padding: 0.1em 0.4em; + border-radius: 0.3em; +} + +div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover, +div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus, +div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:hover, +div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:focus, +div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:hover, +div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus { + background: hsl(220, 13%, 28%); + color: hsl(220, 14%, 71%); +} + +/* Line Highlight plugin overrides */ +/* The highlighted line itself */ +.line-highlight.line-highlight { + background: hsla(220, 100%, 80%, 0.04); +} + +/* Default line numbers in Line Highlight plugin */ +.line-highlight.line-highlight:before, +.line-highlight.line-highlight[data-end]:after { + background: hsl(220, 13%, 26%); + color: hsl(220, 14%, 71%); + padding: 0.1em 0.6em; + border-radius: 0.3em; + box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.2); /* same as Toolbar plugin default */ +} + +/* Hovering over a linkable line number (in the gutter area) */ +/* Requires Line Numbers plugin as well */ +pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows > span:hover:before { + background-color: hsla(220, 100%, 80%, 0.04); +} + +/* Line Numbers and Command Line plugins overrides */ +/* Line separating gutter from coding area */ +.line-numbers.line-numbers .line-numbers-rows, +.command-line .command-line-prompt { + border-right-color: hsla(220, 14%, 71%, 0.15); +} + +/* Stuff in the gutter */ +.line-numbers .line-numbers-rows > span:before, +.command-line .command-line-prompt > span:before { + color: hsl(220, 14%, 45%); +} + +/* Match Braces plugin overrides */ +/* Note: Outline colour is inherited from the braces */ +.rainbow-braces .token.token.punctuation.brace-level-1, +.rainbow-braces .token.token.punctuation.brace-level-5, +.rainbow-braces .token.token.punctuation.brace-level-9 { + color: hsl(355, 65%, 65%); +} + +.rainbow-braces .token.token.punctuation.brace-level-2, +.rainbow-braces .token.token.punctuation.brace-level-6, +.rainbow-braces .token.token.punctuation.brace-level-10 { + color: hsl(95, 38%, 62%); +} + +.rainbow-braces .token.token.punctuation.brace-level-3, +.rainbow-braces .token.token.punctuation.brace-level-7, +.rainbow-braces .token.token.punctuation.brace-level-11 { + color: hsl(207, 82%, 66%); +} + +.rainbow-braces .token.token.punctuation.brace-level-4, +.rainbow-braces .token.token.punctuation.brace-level-8, +.rainbow-braces .token.token.punctuation.brace-level-12 { + color: hsl(286, 60%, 67%); +} + +/* Diff Highlight plugin overrides */ +/* Taken from https://github.com/atom/github/blob/master/styles/variables.less */ +pre.diff-highlight > code .token.token.deleted:not(.prefix), +pre > code.diff-highlight .token.token.deleted:not(.prefix) { + background-color: hsla(353, 100%, 66%, 0.15); +} + +pre.diff-highlight > code .token.token.deleted:not(.prefix)::-moz-selection, +pre.diff-highlight > code .token.token.deleted:not(.prefix) *::-moz-selection, +pre > code.diff-highlight .token.token.deleted:not(.prefix)::-moz-selection, +pre > code.diff-highlight .token.token.deleted:not(.prefix) *::-moz-selection { + background-color: hsla(353, 95%, 66%, 0.25); +} + +pre.diff-highlight > code .token.token.deleted:not(.prefix)::selection, +pre.diff-highlight > code .token.token.deleted:not(.prefix) *::selection, +pre > code.diff-highlight .token.token.deleted:not(.prefix)::selection, +pre > code.diff-highlight .token.token.deleted:not(.prefix) *::selection { + background-color: hsla(353, 95%, 66%, 0.25); +} + +pre.diff-highlight > code .token.token.inserted:not(.prefix), +pre > code.diff-highlight .token.token.inserted:not(.prefix) { + background-color: hsla(137, 100%, 55%, 0.15); +} + +pre.diff-highlight > code .token.token.inserted:not(.prefix)::-moz-selection, +pre.diff-highlight > code .token.token.inserted:not(.prefix) *::-moz-selection, +pre > code.diff-highlight .token.token.inserted:not(.prefix)::-moz-selection, +pre > code.diff-highlight .token.token.inserted:not(.prefix) *::-moz-selection { + background-color: hsla(135, 73%, 55%, 0.25); +} + +pre.diff-highlight > code .token.token.inserted:not(.prefix)::selection, +pre.diff-highlight > code .token.token.inserted:not(.prefix) *::selection, +pre > code.diff-highlight .token.token.inserted:not(.prefix)::selection, +pre > code.diff-highlight .token.token.inserted:not(.prefix) *::selection { + background-color: hsla(135, 73%, 55%, 0.25); +} + +/* Previewers plugin overrides */ +/* Based on https://github.com/atom-community/atom-ide-datatip/blob/master/styles/atom-ide-datatips.less and https://github.com/atom/atom/blob/master/packages/one-dark-ui */ +/* Border around popup */ +.prism-previewer.prism-previewer:before, +.prism-previewer-gradient.prism-previewer-gradient div { + border-color: hsl(224, 13%, 17%); +} + +/* Angle and time should remain as circles and are hence not included */ +.prism-previewer-color.prism-previewer-color:before, +.prism-previewer-gradient.prism-previewer-gradient div, +.prism-previewer-easing.prism-previewer-easing:before { + border-radius: 0.3em; +} + +/* Triangles pointing to the code */ +.prism-previewer.prism-previewer:after { + border-top-color: hsl(224, 13%, 17%); +} + +.prism-previewer-flipped.prism-previewer-flipped.after { + border-bottom-color: hsl(224, 13%, 17%); +} + +/* Background colour within the popup */ +.prism-previewer-angle.prism-previewer-angle:before, +.prism-previewer-time.prism-previewer-time:before, +.prism-previewer-easing.prism-previewer-easing { + background: hsl(219, 13%, 22%); +} + +/* For angle, this is the positive area (eg. 90deg will display one quadrant in this colour) */ +/* For time, this is the alternate colour */ +.prism-previewer-angle.prism-previewer-angle circle, +.prism-previewer-time.prism-previewer-time circle { + stroke: hsl(220, 14%, 71%); + stroke-opacity: 1; +} + +/* Stroke colours of the handle, direction point, and vector itself */ +.prism-previewer-easing.prism-previewer-easing circle, +.prism-previewer-easing.prism-previewer-easing path, +.prism-previewer-easing.prism-previewer-easing line { + stroke: hsl(220, 14%, 71%); +} + +/* Fill colour of the handle */ +.prism-previewer-easing.prism-previewer-easing circle { + fill: transparent; +} diff --git a/src/sass/prism/one-light.scss b/src/sass/prism/one-light.scss new file mode 100644 index 000000000..b99b0e31b --- /dev/null +++ b/src/sass/prism/one-light.scss @@ -0,0 +1,428 @@ +/** + * One Light theme for prism.js + * Based on Atom's One Light theme: https://github.com/atom/atom/tree/master/packages/one-light-syntax + */ + +/** + * One Light colours (accurate as of commit eb064bf on 19 Feb 2021) + * From colors.less + * --mono-1: hsl(230, 8%, 24%); + * --mono-2: hsl(230, 6%, 44%); + * --mono-3: hsl(230, 4%, 64%) + * --hue-1: hsl(198, 99%, 37%); + * --hue-2: hsl(221, 87%, 60%); + * --hue-3: hsl(301, 63%, 40%); + * --hue-4: hsl(119, 34%, 47%); + * --hue-5: hsl(5, 74%, 59%); + * --hue-5-2: hsl(344, 84%, 43%); + * --hue-6: hsl(35, 99%, 36%); + * --hue-6-2: hsl(35, 99%, 40%); + * --syntax-fg: hsl(230, 8%, 24%); + * --syntax-bg: hsl(230, 1%, 98%); + * --syntax-gutter: hsl(230, 1%, 62%); + * --syntax-guide: hsla(230, 8%, 24%, 0.2); + * --syntax-accent: hsl(230, 100%, 66%); + * From syntax-variables.less + * --syntax-selection-color: hsl(230, 1%, 90%); + * --syntax-gutter-background-color-selected: hsl(230, 1%, 90%); + * --syntax-cursor-line: hsla(230, 8%, 24%, 0.05); + */ + +code[class*="language-"], +pre[class*="language-"] { + background: hsl(230, 1%, 98%); + color: hsl(230, 8%, 24%); + font-family: "Fira Code", "Fira Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + line-height: 1.5; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +/* Selection */ +code[class*="language-"]::-moz-selection, +code[class*="language-"] *::-moz-selection, +pre[class*="language-"] *::-moz-selection { + background: hsl(230, 1%, 90%); + color: inherit; +} + +code[class*="language-"]::selection, +code[class*="language-"] *::selection, +pre[class*="language-"] *::selection { + background: hsl(230, 1%, 90%); + color: inherit; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; + border-radius: 0.3em; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: 0.2em 0.3em; + border-radius: 0.3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.cdata { + color: hsl(230, 4%, 64%); +} + +.token.doctype, +.token.punctuation, +.token.entity { + color: hsl(230, 8%, 24%); +} + +.token.attr-name, +.token.class-name, +.token.boolean, +.token.constant, +.token.number, +.token.atrule { + color: hsl(35, 99%, 36%); +} + +.token.keyword { + color: hsl(301, 63%, 40%); +} + +.token.property, +.token.tag, +.token.symbol, +.token.deleted, +.token.important { + color: hsl(5, 74%, 59%); +} + +.token.selector, +.token.string, +.token.char, +.token.builtin, +.token.inserted, +.token.regex, +.token.attr-value, +.token.attr-value > .token.punctuation { + color: hsl(119, 34%, 47%); +} + +.token.variable, +.token.operator, +.token.function { + color: hsl(221, 87%, 60%); +} + +.token.url { + color: hsl(198, 99%, 37%); +} + +/* HTML overrides */ +.token.attr-value > .token.punctuation.attr-equals, +.token.special-attr > .token.attr-value > .token.value.css { + color: hsl(230, 8%, 24%); +} + +/* CSS overrides */ +.language-css .token.selector { + color: hsl(5, 74%, 59%); +} + +.language-css .token.property { + color: hsl(230, 8%, 24%); +} + +.language-css .token.function, +.language-css .token.url > .token.function { + color: hsl(198, 99%, 37%); +} + +.language-css .token.url > .token.string.url { + color: hsl(119, 34%, 47%); +} + +.language-css .token.important, +.language-css .token.atrule .token.rule { + color: hsl(301, 63%, 40%); +} + +/* JS overrides */ +.language-javascript .token.operator { + color: hsl(301, 63%, 40%); +} + +.language-javascript .token.template-string > .token.interpolation > .token.interpolation-punctuation.punctuation { + color: hsl(344, 84%, 43%); +} + +/* JSON overrides */ +.language-json .token.operator { + color: hsl(230, 8%, 24%); +} + +.language-json .token.null.keyword { + color: hsl(35, 99%, 36%); +} + +/* MD overrides */ +.language-markdown .token.url, +.language-markdown .token.url > .token.operator, +.language-markdown .token.url-reference.url > .token.string { + color: hsl(230, 8%, 24%); +} + +.language-markdown .token.url > .token.content { + color: hsl(221, 87%, 60%); +} + +.language-markdown .token.url > .token.url, +.language-markdown .token.url-reference.url { + color: hsl(198, 99%, 37%); +} + +.language-markdown .token.blockquote.punctuation, +.language-markdown .token.hr.punctuation { + color: hsl(230, 4%, 64%); + font-style: italic; +} + +.language-markdown .token.code-snippet { + color: hsl(119, 34%, 47%); +} + +.language-markdown .token.bold .token.content { + color: hsl(35, 99%, 36%); +} + +.language-markdown .token.italic .token.content { + color: hsl(301, 63%, 40%); +} + +.language-markdown .token.strike .token.content, +.language-markdown .token.strike .token.punctuation, +.language-markdown .token.list.punctuation, +.language-markdown .token.title.important > .token.punctuation { + color: hsl(5, 74%, 59%); +} + +/* General */ +.token.bold { + font-weight: bold; +} + +.token.comment, +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +.token.namespace { + opacity: 0.8; +} + +/* Plugin overrides */ +/* Selectors should have higher specificity than those in the plugins' default stylesheets */ + +/* Show Invisibles plugin overrides */ +.token.token.tab:not(:empty):before, +.token.token.cr:before, +.token.token.lf:before, +.token.token.space:before { + color: hsla(230, 8%, 24%, 0.2); +} + +/* Toolbar plugin overrides */ +/* Space out all buttons and move them away from the right edge of the code block */ +div.code-toolbar > .toolbar.toolbar > .toolbar-item { + margin-right: 0.4em; +} + +/* Styling the buttons */ +div.code-toolbar > .toolbar.toolbar > .toolbar-item > button, +div.code-toolbar > .toolbar.toolbar > .toolbar-item > a, +div.code-toolbar > .toolbar.toolbar > .toolbar-item > span { + background: hsl(230, 1%, 90%); + color: hsl(230, 6%, 44%); + padding: 0.1em 0.4em; + border-radius: 0.3em; +} + +div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover, +div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus, +div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:hover, +div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:focus, +div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:hover, +div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus { + background: hsl(230, 1%, 78%); /* custom: darken(--syntax-bg, 20%) */ + color: hsl(230, 8%, 24%); +} + +/* Line Highlight plugin overrides */ +/* The highlighted line itself */ +.line-highlight.line-highlight { + background: hsla(230, 8%, 24%, 0.05); +} + +/* Default line numbers in Line Highlight plugin */ +.line-highlight.line-highlight:before, +.line-highlight.line-highlight[data-end]:after { + background: hsl(230, 1%, 90%); + color: hsl(230, 8%, 24%); + padding: 0.1em 0.6em; + border-radius: 0.3em; + box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.2); /* same as Toolbar plugin default */ +} + +/* Hovering over a linkable line number (in the gutter area) */ +/* Requires Line Numbers plugin as well */ +pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows > span:hover:before { + background-color: hsla(230, 8%, 24%, 0.05); +} + +/* Line Numbers and Command Line plugins overrides */ +/* Line separating gutter from coding area */ +.line-numbers.line-numbers .line-numbers-rows, +.command-line .command-line-prompt { + border-right-color: hsla(230, 8%, 24%, 0.2); +} + +/* Stuff in the gutter */ +.line-numbers .line-numbers-rows > span:before, +.command-line .command-line-prompt > span:before { + color: hsl(230, 1%, 62%); +} + +/* Match Braces plugin overrides */ +/* Note: Outline colour is inherited from the braces */ +.rainbow-braces .token.token.punctuation.brace-level-1, +.rainbow-braces .token.token.punctuation.brace-level-5, +.rainbow-braces .token.token.punctuation.brace-level-9 { + color: hsl(5, 74%, 59%); +} + +.rainbow-braces .token.token.punctuation.brace-level-2, +.rainbow-braces .token.token.punctuation.brace-level-6, +.rainbow-braces .token.token.punctuation.brace-level-10 { + color: hsl(119, 34%, 47%); +} + +.rainbow-braces .token.token.punctuation.brace-level-3, +.rainbow-braces .token.token.punctuation.brace-level-7, +.rainbow-braces .token.token.punctuation.brace-level-11 { + color: hsl(221, 87%, 60%); +} + +.rainbow-braces .token.token.punctuation.brace-level-4, +.rainbow-braces .token.token.punctuation.brace-level-8, +.rainbow-braces .token.token.punctuation.brace-level-12 { + color: hsl(301, 63%, 40%); +} + +/* Diff Highlight plugin overrides */ +/* Taken from https://github.com/atom/github/blob/master/styles/variables.less */ +pre.diff-highlight > code .token.token.deleted:not(.prefix), +pre > code.diff-highlight .token.token.deleted:not(.prefix) { + background-color: hsla(353, 100%, 66%, 0.15); +} + +pre.diff-highlight > code .token.token.deleted:not(.prefix)::-moz-selection, +pre.diff-highlight > code .token.token.deleted:not(.prefix) *::-moz-selection, +pre > code.diff-highlight .token.token.deleted:not(.prefix)::-moz-selection, +pre > code.diff-highlight .token.token.deleted:not(.prefix) *::-moz-selection { + background-color: hsla(353, 95%, 66%, 0.25); +} + +pre.diff-highlight > code .token.token.deleted:not(.prefix)::selection, +pre.diff-highlight > code .token.token.deleted:not(.prefix) *::selection, +pre > code.diff-highlight .token.token.deleted:not(.prefix)::selection, +pre > code.diff-highlight .token.token.deleted:not(.prefix) *::selection { + background-color: hsla(353, 95%, 66%, 0.25); +} + +pre.diff-highlight > code .token.token.inserted:not(.prefix), +pre > code.diff-highlight .token.token.inserted:not(.prefix) { + background-color: hsla(137, 100%, 55%, 0.15); +} + +pre.diff-highlight > code .token.token.inserted:not(.prefix)::-moz-selection, +pre.diff-highlight > code .token.token.inserted:not(.prefix) *::-moz-selection, +pre > code.diff-highlight .token.token.inserted:not(.prefix)::-moz-selection, +pre > code.diff-highlight .token.token.inserted:not(.prefix) *::-moz-selection { + background-color: hsla(135, 73%, 55%, 0.25); +} + +pre.diff-highlight > code .token.token.inserted:not(.prefix)::selection, +pre.diff-highlight > code .token.token.inserted:not(.prefix) *::selection, +pre > code.diff-highlight .token.token.inserted:not(.prefix)::selection, +pre > code.diff-highlight .token.token.inserted:not(.prefix) *::selection { + background-color: hsla(135, 73%, 55%, 0.25); +} + +/* Previewers plugin overrides */ +/* Based on https://github.com/atom-community/atom-ide-datatip/blob/master/styles/atom-ide-datatips.less and https://github.com/atom/atom/blob/master/packages/one-light-ui */ +/* Border around popup */ +.prism-previewer.prism-previewer:before, +.prism-previewer-gradient.prism-previewer-gradient div { + border-color: hsl(0, 0, 95%); +} + +/* Angle and time should remain as circles and are hence not included */ +.prism-previewer-color.prism-previewer-color:before, +.prism-previewer-gradient.prism-previewer-gradient div, +.prism-previewer-easing.prism-previewer-easing:before { + border-radius: 0.3em; +} + +/* Triangles pointing to the code */ +.prism-previewer.prism-previewer:after { + border-top-color: hsl(0, 0, 95%); +} + +.prism-previewer-flipped.prism-previewer-flipped.after { + border-bottom-color: hsl(0, 0, 95%); +} + +/* Background colour within the popup */ +.prism-previewer-angle.prism-previewer-angle:before, +.prism-previewer-time.prism-previewer-time:before, +.prism-previewer-easing.prism-previewer-easing { + background: hsl(0, 0%, 100%); +} + +/* For angle, this is the positive area (eg. 90deg will display one quadrant in this colour) */ +/* For time, this is the alternate colour */ +.prism-previewer-angle.prism-previewer-angle circle, +.prism-previewer-time.prism-previewer-time circle { + stroke: hsl(230, 8%, 24%); + stroke-opacity: 1; +} + +/* Stroke colours of the handle, direction point, and vector itself */ +.prism-previewer-easing.prism-previewer-easing circle, +.prism-previewer-easing.prism-previewer-easing path, +.prism-previewer-easing.prism-previewer-easing line { + stroke: hsl(230, 8%, 24%); +} + +/* Fill colour of the handle */ +.prism-previewer-easing.prism-previewer-easing circle { + fill: transparent; +} diff --git a/src/sass/prism/vs-dark.scss b/src/sass/prism/vs-dark.scss new file mode 100644 index 000000000..d3bd5010a --- /dev/null +++ b/src/sass/prism/vs-dark.scss @@ -0,0 +1,275 @@ +pre[class*="language-"], +code[class*="language-"] { + color: #d4d4d4; + font-size: 13px; + text-shadow: none; + font-family: Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + line-height: 1.5; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::selection, +code[class*="language-"]::selection, +pre[class*="language-"] *::selection, +code[class*="language-"] *::selection { + text-shadow: none; + background: #264F78; +} + +@media print { + pre[class*="language-"], + code[class*="language-"] { + text-shadow: none; + } +} + +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; + background: #1e1e1e; +} + +:not(pre) > code[class*="language-"] { + padding: .1em .3em; + border-radius: .3em; + color: #db4c69; + background: #1e1e1e; +} +/********************************************************* +* Tokens +*/ +.namespace { + opacity: .7; +} + +.token.doctype .token.doctype-tag { + color: #569CD6; +} + +.token.doctype .token.name { + color: #9cdcfe; +} + +.token.comment, +.token.prolog { + color: #6a9955; +} + +.token.punctuation, +.language-html .language-css .token.punctuation, +.language-html .language-javascript .token.punctuation { + color: #d4d4d4; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.inserted, +.token.unit { + color: #b5cea8; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.deleted { + color: #ce9178; +} + +.language-css .token.string.url { + text-decoration: underline; +} + +.token.operator, +.token.entity { + color: #d4d4d4; +} + +.token.operator.arrow { + color: #569CD6; +} + +.token.atrule { + color: #ce9178; +} + +.token.atrule .token.rule { + color: #c586c0; +} + +.token.atrule .token.url { + color: #9cdcfe; +} + +.token.atrule .token.url .token.function { + color: #dcdcaa; +} + +.token.atrule .token.url .token.punctuation { + color: #d4d4d4; +} + +.token.keyword { + color: #569CD6; +} + +.token.keyword.module, +.token.keyword.control-flow { + color: #c586c0; +} + +.token.function, +.token.function .token.maybe-class-name { + color: #dcdcaa; +} + +.token.regex { + color: #d16969; +} + +.token.important { + color: #569cd6; +} + +.token.italic { + font-style: italic; +} + +.token.constant { + color: #9cdcfe; +} + +.token.class-name, +.token.maybe-class-name { + color: #4ec9b0; +} + +.token.console { + color: #9cdcfe; +} + +.token.parameter { + color: #9cdcfe; +} + +.token.interpolation { + color: #9cdcfe; +} + +.token.punctuation.interpolation-punctuation { + color: #569cd6; +} + +.token.boolean { + color: #569cd6; +} + +.token.property, +.token.variable, +.token.imports .token.maybe-class-name, +.token.exports .token.maybe-class-name { + color: #9cdcfe; +} + +.token.selector { + color: #d7ba7d; +} + +.token.escape { + color: #d7ba7d; +} + +.token.tag { + color: #569cd6; +} + +.token.tag .token.punctuation { + color: #808080; +} + +.token.cdata { + color: #808080; +} + +.token.attr-name { + color: #9cdcfe; +} + +.token.attr-value, +.token.attr-value .token.punctuation { + color: #ce9178; +} + +.token.attr-value .token.punctuation.attr-equals { + color: #d4d4d4; +} + +.token.entity { + color: #569cd6; +} + +.token.namespace { + color: #4ec9b0; +} +/********************************************************* +* Language Specific +*/ + +pre[class*="language-javascript"], +code[class*="language-javascript"], +pre[class*="language-jsx"], +code[class*="language-jsx"], +pre[class*="language-typescript"], +code[class*="language-typescript"], +pre[class*="language-tsx"], +code[class*="language-tsx"] { + color: #9cdcfe; +} + +pre[class*="language-css"], +code[class*="language-css"] { + color: #ce9178; +} + +pre[class*="language-html"], +code[class*="language-html"] { + color: #d4d4d4; +} + +.language-regex .token.anchor { + color: #dcdcaa; +} + +.language-html .token.punctuation { + color: #808080; +} +/********************************************************* +* Line highlighting +*/ +pre[class*="language-"] > code[class*="language-"] { + position: relative; + z-index: 1; +} + +.line-highlight.line-highlight { + background: #f7ebc6; + box-shadow: inset 5px 0 0 #f7d87c; + z-index: 0; +} diff --git a/src/sass/prism/vs-light.scss b/src/sass/prism/vs-light.scss new file mode 100644 index 000000000..54377dfab --- /dev/null +++ b/src/sass/prism/vs-light.scss @@ -0,0 +1,168 @@ +/** + * VS theme by Andrew Lock (https://andrewlock.net) + * Inspired by Visual Studio syntax coloring + */ + +code[class*="language-"], +pre[class*="language-"] { + color: #393A34; + font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + font-size: .9em; + line-height: 1.2em; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre > code[class*="language-"] { + font-size: 1em; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + background: #C1DEF1; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + background: #C1DEF1; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; + border: 1px solid #dddddd; + background-color: white; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .2em; + padding-top: 1px; + padding-bottom: 1px; + background: #f8f8f8; + border: 1px solid #dddddd; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #008000; + font-style: italic; +} + +.token.namespace { + opacity: .7; +} + +.token.string { + color: #A31515; +} + +.token.punctuation, +.token.operator { + color: #393A34; /* no highlight */ +} + +.token.url, +.token.symbol, +.token.number, +.token.boolean, +.token.variable, +.token.constant, +.token.inserted { + color: #36acaa; +} + +.token.atrule, +.token.keyword, +.token.attr-value, +.language-autohotkey .token.selector, +.language-json .token.boolean, +.language-json .token.number, +code[class*="language-css"] { + color: #0000ff; +} + +.token.function { + color: #393A34; +} + +.token.deleted, +.language-autohotkey .token.tag { + color: #9a050f; +} + +.token.selector, +.language-autohotkey .token.keyword { + color: #00009f; +} + +.token.important { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.class-name, +.language-json .token.property { + color: #2B91AF; +} + +.token.tag, +.token.selector { + color: #800000; +} + +.token.attr-name, +.token.property, +.token.regex, +.token.entity { + color: #ff0000; +} + +.token.directive.tag .tag { + background: #ffff00; + color: #393A34; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers.line-numbers .line-numbers-rows { + border-right-color: #a5a5a5; +} + +.line-numbers .line-numbers-rows > span:before { + color: #2B91AF; +} + +/* overrides color-values for the Line Highlight plugin +* http://prismjs.com/plugins/line-highlight/ +*/ +.line-highlight.line-highlight { + background: rgba(193, 222, 241, 0.2); + background: -webkit-linear-gradient(left, rgba(193, 222, 241, 0.2) 70%, rgba(221, 222, 241, 0)); + background: linear-gradient(to right, rgba(193, 222, 241, 0.2) 70%, rgba(221, 222, 241, 0)); +} diff --git a/src/toolbars/hooks/CodeTheme.js b/src/toolbars/hooks/CodeTheme.js index 0d5778fb0..8b36a2dd6 100644 --- a/src/toolbars/hooks/CodeTheme.js +++ b/src/toolbars/hooks/CodeTheme.js @@ -26,14 +26,17 @@ export default class CodeTheme extends MenuBase { this.updateMarkdown = false; this.noIcon = true; this.subMenuConfig = [ - { noIcon: true, name: 'default', onclick: this.bindSubClick.bind(this, 'default') }, + { noIcon: true, name: 'light', onclick: this.bindSubClick.bind(this, 'default') }, { noIcon: true, name: 'dark', onclick: this.bindSubClick.bind(this, 'dark') }, - { noIcon: true, name: 'funky', onclick: this.bindSubClick.bind(this, 'funky') }, + { noIcon: true, name: 'one light', onclick: this.bindSubClick.bind(this, 'one-light') }, + { noIcon: true, name: 'one dark', onclick: this.bindSubClick.bind(this, 'one-dark') }, + { noIcon: true, name: 'vs light', onclick: this.bindSubClick.bind(this, 'vs-light') }, + { noIcon: true, name: 'vs dark', onclick: this.bindSubClick.bind(this, 'vs-dark') }, + { noIcon: true, name: 'solarized light', onclick: this.bindSubClick.bind(this, 'solarized-light') }, + { noIcon: true, name: 'tomorrow dark', onclick: this.bindSubClick.bind(this, 'tomorrow-night') }, { noIcon: true, name: 'okaidia', onclick: this.bindSubClick.bind(this, 'okaidia') }, { noIcon: true, name: 'twilight', onclick: this.bindSubClick.bind(this, 'twilight') }, { noIcon: true, name: 'coy', onclick: this.bindSubClick.bind(this, 'coy') }, - { noIcon: true, name: 'solarized light', onclick: this.bindSubClick.bind(this, 'solarized-light') }, - { noIcon: true, name: 'tomorrow night', onclick: this.bindSubClick.bind(this, 'tomorrow-night') }, ]; } From 9425441b29264728d942cefeaa96372c2f5118a0 Mon Sep 17 00:00:00 2001 From: plus7zzz <90538688+plus7c@users.noreply.github.com> Date: Fri, 9 Aug 2024 18:11:16 +0800 Subject: [PATCH 39/42] =?UTF-8?q?style:=20=E6=9A=97=E9=BB=91=E4=B8=BB?= =?UTF-8?q?=E9=A2=98=E4=BC=98=E5=8C=96=20(#837)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * style: 暗黑主题优化 * feat: 暗黑风格侧边目录栏样式微调 --- src/sass/themes/dark.scss | 112 +++++++++++++++++++++++++++++++++++++- 1 file changed, 109 insertions(+), 3 deletions(-) diff --git a/src/sass/themes/dark.scss b/src/sass/themes/dark.scss index 12bb75db0..b607f5915 100644 --- a/src/sass/themes/dark.scss +++ b/src/sass/themes/dark.scss @@ -13,7 +13,7 @@ $sidebarShadow: $shadow; $editorBg: rgb(37, 37, 38); $editorColor: rgb(200, 200, 200); $editorSelectedBg: $toolbarBtnBgHover; -$editorUrlBg: rgb(0,0,0); +$editorUrlBg: rgba(81,56,56,1); $editorCursorColor: rgb(255,255,255); $editorImportantColor: rgb(247, 133, 83); $editorCodeColor: rgb(255, 203, 107); @@ -135,6 +135,112 @@ $mdSvgTextColor: rgb(250, 160, 0); } } } + /* 目录区域样式 */ + .cherry-flex-toc { + &:hover { + background-color: #d0cece; + width: 260px; + } + .cherry-toc-head { + i { + &:hover { + color: $toolbarColorItemHoverBorderColor; + } + } + } + .cherry-toc-list { + .cherry-toc-one-a { + &.current { + border-left-color: rgb(255, 100, 33); + color: rgb(255, 100, 33); + } + &:hover { + border-left-color: rgb(247, 162, 14); + color: rgb(247, 162, 14) ; + } + } + } + + &.cherry-flex-toc__pure { + width: 30px; + height: calc(100% - 200px); + max-height: 600px; + background: #ffffff00; + box-shadow: none; + border-radius: 0; + .cherry-toc-head { + height: 25px; + border-bottom: 1px dashed #33333300; + .cherry-toc-title { + display: none; + } + .ch-icon-chevronsRight { + display: none; + } + .ch-icon-chevronsLeft { + display: inline; + } + } + .cherry-toc-list { + padding-left: 7px; + .cherry-toc-one-a { + overflow: hidden; + width: 0; + margin-bottom: 3px; + height: 5px; + border-left-width: 18px; + } + } + } + + &.auto-num { + .cherry-toc-list { + counter-reset: toclevel1; + + .cherry-toc-one-a__1 { + counter-reset: toclevel2; + } + .cherry-toc-one-a__2 { + counter-reset: toclevel3; + } + .cherry-toc-one-a__3 { + counter-reset: toclevel4; + } + .cherry-toc-one-a__4 { + counter-reset: toclevel5; + } + .cherry-toc-one-a__5 { + counter-reset: toclevel6; + } + .cherry-toc-one-a__1:before { + counter-increment: toclevel1; + content: counter(toclevel1) '. '; + } + .cherry-toc-one-a__2:before { + counter-increment: toclevel2; + content: counter(toclevel1) '.' counter(toclevel2) '. '; + } + .cherry-toc-one-a__3:before { + counter-increment: toclevel3; + content: counter(toclevel1) '.' counter(toclevel2) '.' counter(toclevel3) '. '; + } + .cherry-toc-one-a__4:before { + counter-increment: toclevel4; + content: counter(toclevel1) '.' counter(toclevel2) '.' counter(toclevel3) '.' counter(toclevel4) '. '; + } + .cherry-toc-one-a__5:before { + counter-increment: toclevel5; + content: counter(toclevel1) '.' counter(toclevel2) '.' counter(toclevel3) '.' counter(toclevel4) '.' + counter(toclevel5) '. '; + } + .cherry-toc-one-a__6:before { + counter-increment: toclevel5; + content: counter(toclevel1) '.' counter(toclevel2) '.' counter(toclevel3) '.' counter(toclevel4) '.' + counter(toclevel5) '.' counter(toclevel6) '. '; + } + } + } + } } /** 预览区域样式 */ @@ -199,7 +305,7 @@ $mdSvgTextColor: rgb(250, 160, 0); } &.cherry-list__default { - + background-color: $previewBg; } /** checklist 模式,未勾选时 */ @@ -382,7 +488,7 @@ $mdSvgTextColor: rgb(250, 160, 0); } .cherry-highlight-line { - background-color: #151422; + background-color: $previewBg; } } From b294536f07965d3a628262215af635c1afd8eda9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sunsonliu=28=E5=88=98=E9=98=B3=29?= Date: Mon, 12 Aug 2024 11:36:34 +0800 Subject: [PATCH 40/42] =?UTF-8?q?style:=20=E4=BC=98=E5=8C=96=E6=9A=97?= =?UTF-8?q?=E9=BB=91=E6=A8=A1=E5=BC=8F=E4=B8=8B=E7=9A=84=E7=BB=86=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/sass/prism/one-light.scss | 6 +++--- src/sass/themes/dark.scss | 11 +++++++++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/sass/prism/one-light.scss b/src/sass/prism/one-light.scss index b99b0e31b..c5f13276b 100644 --- a/src/sass/prism/one-light.scss +++ b/src/sass/prism/one-light.scss @@ -381,7 +381,7 @@ pre > code.diff-highlight .token.token.inserted:not(.prefix) *::selection { /* Border around popup */ .prism-previewer.prism-previewer:before, .prism-previewer-gradient.prism-previewer-gradient div { - border-color: hsl(0, 0, 95%); + border-color: rgb(242, 242, 242); } /* Angle and time should remain as circles and are hence not included */ @@ -393,11 +393,11 @@ pre > code.diff-highlight .token.token.inserted:not(.prefix) *::selection { /* Triangles pointing to the code */ .prism-previewer.prism-previewer:after { - border-top-color: hsl(0, 0, 95%); + border-top-color: rgb(242, 242, 242); } .prism-previewer-flipped.prism-previewer-flipped.after { - border-bottom-color: hsl(0, 0, 95%); + border-bottom-color: rgb(242, 242, 242); } /* Background colour within the popup */ diff --git a/src/sass/themes/dark.scss b/src/sass/themes/dark.scss index b607f5915..7a09772ba 100644 --- a/src/sass/themes/dark.scss +++ b/src/sass/themes/dark.scss @@ -150,13 +150,14 @@ $mdSvgTextColor: rgb(250, 160, 0); } .cherry-toc-list { .cherry-toc-one-a { + border-left-color: rgb(247, 133, 83, 0.3); &.current { border-left-color: rgb(255, 100, 33); color: rgb(255, 100, 33); } &:hover { border-left-color: rgb(247, 162, 14); - color: rgb(247, 162, 14) ; + color: rgb(255, 100, 33); } } } @@ -179,6 +180,7 @@ $mdSvgTextColor: rgb(250, 160, 0); } .ch-icon-chevronsLeft { display: inline; + color: rgb(255, 100, 33); } } .cherry-toc-list { @@ -487,8 +489,13 @@ $mdSvgTextColor: rgb(250, 160, 0); } } + @keyframes changeBgColor { + 0% { background-color: rgb(78 76 76); } + 60% { background-color: rgb(78 76 76); } + 100% { background-color: $previewBg; } + } .cherry-highlight-line { - background-color: $previewBg; + background: $previewBg; } } From 5bc8d6a338f48c3b2a51e420802d2193f8a9d08f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sunsonliu=28=E5=88=98=E9=98=B3=29?= Date: Mon, 12 Aug 2024 12:13:39 +0800 Subject: [PATCH 41/42] =?UTF-8?q?style:=20=E4=BC=98=E5=8C=96=E6=9A=97?= =?UTF-8?q?=E9=BB=91=E6=A8=A1=E5=BC=8F=E4=B8=8B=E7=9A=84=E7=BB=86=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/sass/themes/dark.scss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sass/themes/dark.scss b/src/sass/themes/dark.scss index 7a09772ba..1a4b89557 100644 --- a/src/sass/themes/dark.scss +++ b/src/sass/themes/dark.scss @@ -489,13 +489,13 @@ $mdSvgTextColor: rgb(250, 160, 0); } } - @keyframes changeBgColor { + @keyframes changeBgColorDark { 0% { background-color: rgb(78 76 76); } 60% { background-color: rgb(78 76 76); } 100% { background-color: $previewBg; } } .cherry-highlight-line { - background: $previewBg; + animation: changeBgColorDark 3s; } } From 7f398cd50510084ba3431b562918bb64b12db806 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sunsonliu=28=E5=88=98=E9=98=B3=29?= Date: Mon, 12 Aug 2024 17:13:49 +0800 Subject: [PATCH 42/42] chore(release): 0.8.46 --- CHANGELOG.md | 26 + .../advance/cherry-table-echarts-plugin.js | 4 +- .../cherry-code-block-mermaid-plugin.js | 4 +- .../cherry-code-block-plantuml-plugin.js | 4 +- dist/cherry-markdown.core.common.js | 4 +- dist/cherry-markdown.core.js | 4 +- dist/cherry-markdown.css | 4 +- dist/cherry-markdown.engine.core.common.js | 4 +- dist/cherry-markdown.engine.core.esm.js | 4 +- dist/cherry-markdown.engine.core.js | 4 +- dist/cherry-markdown.esm.js | 4 +- dist/cherry-markdown.js | 4 +- dist/cherry-markdown.js.map | 4 +- dist/cherry-markdown.markdown.css | 4 +- dist/cherry-markdown.markdown.min.css | 4 +- dist/cherry-markdown.min.css | 4 +- dist/cherry-markdown.min.js | 4 +- dist/fonts/ch-icon.eot | 4 +- dist/fonts/ch-icon.svg | 4 +- dist/fonts/ch-icon.ttf | 4 +- dist/fonts/ch-icon.woff | 4 +- dist/fonts/ch-icon.woff2 | 4 +- package.json | 2 +- yarn.lock | 6640 ++++++++++------- 24 files changed, 3903 insertions(+), 2849 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 21116ba2b..a97391ac4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,32 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [0.8.46](https://github.com/Tencent/cherry-markdown/compare/v0.8.45...v0.8.46) (2024-08-12) + + +### Features + +* [#813](https://github.com/Tencent/cherry-markdown/issues/813) 增加对drawioIframe样式的配置 ([91e943a](https://github.com/Tencent/cherry-markdown/commit/91e943ab23795ed9f92cda89dcc362c1c4c68136)) +* [#815](https://github.com/Tencent/cherry-markdown/issues/815) 多文件上传 ([#863](https://github.com/Tencent/cherry-markdown/issues/863)) ([bca1789](https://github.com/Tencent/cherry-markdown/commit/bca1789310473319336046c96c30edef5555ecaa)) +* [#822](https://github.com/Tencent/cherry-markdown/issues/822) 增加代码块主题 ([9ae7cb2](https://github.com/Tencent/cherry-markdown/commit/9ae7cb2539bb2ceafd6692f05fc9cdaf4e563be9)) +* 预览区代码块支持展开收起功能和对应的配置 ([#793](https://github.com/Tencent/cherry-markdown/issues/793)) ([cf68be2](https://github.com/Tencent/cherry-markdown/commit/cf68be2b57926142a59f004714dca355742503d3)) +* pr-merge action execute limit repository ([aa3ca4d](https://github.com/Tencent/cherry-markdown/commit/aa3ca4dcda2ba7cd348e7e63b5a1cb4ab979df1e)) + + +### Bug Fixes + +* [#858](https://github.com/Tencent/cherry-markdown/issues/858) 修复漏洞 ([122e27a](https://github.com/Tencent/cherry-markdown/commit/122e27a34c546c4e6f25826b955d0c907db547eb)) +* [#866](https://github.com/Tencent/cherry-markdown/issues/866) 修复draw.io在预览区无脑打开编辑框的问题 ([1c907da](https://github.com/Tencent/cherry-markdown/commit/1c907dad6eb1438e0bde5f6bfe3ae648958ee206)) +* 修复代码块展开收起引入的bug,并优化展开收起的交互体验 ([4a3c195](https://github.com/Tencent/cherry-markdown/commit/4a3c19574f8ffa6ed739c22d0ba8a0c77b455e0b)) + + +### Css or Code Change + +* 暗黑主题优化 ([#837](https://github.com/Tencent/cherry-markdown/issues/837)) ([9425441](https://github.com/Tencent/cherry-markdown/commit/9425441b29264728d942cefeaa96372c2f5118a0)) +* 修改图标产生的冲突 ([1ef9e47](https://github.com/Tencent/cherry-markdown/commit/1ef9e47ede0267b4a3fa03e99174f5282d94f346)) +* 优化暗黑模式下的细节 ([5bc8d6a](https://github.com/Tencent/cherry-markdown/commit/5bc8d6a338f48c3b2a51e420802d2193f8a9d08f)) +* 优化暗黑模式下的细节 ([b294536](https://github.com/Tencent/cherry-markdown/commit/b294536f07965d3a628262215af635c1afd8eda9)) + ### [0.8.45](https://github.com/Tencent/cherry-markdown/compare/v0.8.44...v0.8.45) (2024-07-25) diff --git a/dist/addons/advance/cherry-table-echarts-plugin.js b/dist/addons/advance/cherry-table-echarts-plugin.js index 8a6202575..7f4967732 100644 --- a/dist/addons/advance/cherry-table-echarts-plugin.js +++ b/dist/addons/advance/cherry-table-echarts-plugin.js @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b6b4d6f1c40868f9b55522c3bda6a40db1b5830322618551f7aff8ea72d0b934 -size 38055 +oid sha256:7c3287c1516b23ea98b20b7a4648a750bdf30fc8945eb0fdf2b1348a9483c193 +size 42961 diff --git a/dist/addons/cherry-code-block-mermaid-plugin.js b/dist/addons/cherry-code-block-mermaid-plugin.js index a10559f19..753546abc 100644 --- a/dist/addons/cherry-code-block-mermaid-plugin.js +++ b/dist/addons/cherry-code-block-mermaid-plugin.js @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0b0ed61ec4ca29374c878e329f4a23f604635d8dd3211ec41ee5a1f1d209082a -size 39334 +oid sha256:5a01c4bf300bddea65d8a1f95f53f558d49568433f962bfb60c9975b117ef195 +size 44244 diff --git a/dist/addons/cherry-code-block-plantuml-plugin.js b/dist/addons/cherry-code-block-plantuml-plugin.js index 7b4e0879d..76f9c110d 100644 --- a/dist/addons/cherry-code-block-plantuml-plugin.js +++ b/dist/addons/cherry-code-block-plantuml-plugin.js @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:79bc6ec5258530e94015480fa115cd275af0de0509bef515983fc128e0640347 -size 44248 +oid sha256:69e1d1b2dbdd0caf5ced805af954df022c07aa3c63db8e975bcc38a800c6b31a +size 48508 diff --git a/dist/cherry-markdown.core.common.js b/dist/cherry-markdown.core.common.js index 9a3d48a66..00dfc9e59 100644 --- a/dist/cherry-markdown.core.common.js +++ b/dist/cherry-markdown.core.common.js @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b57abe87b5d04e064b77da4fead14a7ef6d4312d595ad86dc6917f28999ca2ea -size 1399474 +oid sha256:0ac01c15fd8ab02d3faec627c3493c842412f2c802c6e4af93b2d24e14d073dc +size 1411937 diff --git a/dist/cherry-markdown.core.js b/dist/cherry-markdown.core.js index f5ba5c5eb..e709f5b98 100644 --- a/dist/cherry-markdown.core.js +++ b/dist/cherry-markdown.core.js @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6d5409924b85fecab2d305003ba24af0c2fab2964ddd5c96d05806016786632c -size 1399761 +oid sha256:175bb84f00cd8237262d02db2933db29d556b1855a8d7ce21a685a4031599d58 +size 1412270 diff --git a/dist/cherry-markdown.css b/dist/cherry-markdown.css index 8877e0e0e..08d736282 100644 --- a/dist/cherry-markdown.css +++ b/dist/cherry-markdown.css @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c243610cb40f1a5e75d4f80918b3df627e933475fbdb2b1cbebca7e66ffc3e8a -size 167165 +oid sha256:ee9b384e9e8d553258192eb81005cdc0b25913b8120201e902bb11537a6834dc +size 223792 diff --git a/dist/cherry-markdown.engine.core.common.js b/dist/cherry-markdown.engine.core.common.js index 9124a2b57..b70912401 100644 --- a/dist/cherry-markdown.engine.core.common.js +++ b/dist/cherry-markdown.engine.core.common.js @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3db6c467aa701764ce777fb43df92face85c3395a8f761782d3aeeae2c130eb8 -size 478142 +oid sha256:e318ab7d114482b649a010c955a3a6920b7004d0e98e67f2251b094d90cc43b9 +size 489726 diff --git a/dist/cherry-markdown.engine.core.esm.js b/dist/cherry-markdown.engine.core.esm.js index c8009b690..1c80a86a8 100644 --- a/dist/cherry-markdown.engine.core.esm.js +++ b/dist/cherry-markdown.engine.core.esm.js @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:18428a745eceacceebee8f31e679f59d1e72663a18b0b0079fba98b56a13e715 -size 478027 +oid sha256:c2273a96aa4928c63049b0ae8bbb43eec1a23046eb6b667cdf1ee62e6e86b4c0 +size 489613 diff --git a/dist/cherry-markdown.engine.core.js b/dist/cherry-markdown.engine.core.js index b7796577f..7df042c56 100644 --- a/dist/cherry-markdown.engine.core.js +++ b/dist/cherry-markdown.engine.core.js @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:86b9d8e790b54a6de27ce38461fb5b9e2adeb0badce8418f784034ed0c4eaccc -size 478375 +oid sha256:31fc013a62b4a5d8266672fde7fae56e56fab52d6cbfdf0b8e6ec2f4151d89a2 +size 490015 diff --git a/dist/cherry-markdown.esm.js b/dist/cherry-markdown.esm.js index 0d56b7ab8..d5ac98294 100644 --- a/dist/cherry-markdown.esm.js +++ b/dist/cherry-markdown.esm.js @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:90b68367e93593a6214760408e6c7f38ac700ba61988051a3ec2a480757f2b59 -size 4157383 +oid sha256:b949495216a729b8bcb273b99c4ea8ddef8e7d4a1dd7f01c42506322ca847947 +size 4182325 diff --git a/dist/cherry-markdown.js b/dist/cherry-markdown.js index d0d96e828..5ad97a8ed 100644 --- a/dist/cherry-markdown.js +++ b/dist/cherry-markdown.js @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f0e98497e92c69472dea25e3ed02ca33c884cce99108bb8bd21673d42c772fae -size 7980962 +oid sha256:023ce4923c67a36c82b586844d662a2e8d2c969320ecc30e8ba76cc7737a9e3b +size 8056353 diff --git a/dist/cherry-markdown.js.map b/dist/cherry-markdown.js.map index 05d2f71c7..98131e33c 100644 --- a/dist/cherry-markdown.js.map +++ b/dist/cherry-markdown.js.map @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:39e3eb93628e9fba4a4a2486b03ecde183ad0e117aa1e8134896be5cc6e96def -size 18898349 +oid sha256:93cca4aa35cfc6ecf0d4c21d120024b6ae94ad8f0797e3e0f31684124ca12ac4 +size 19133533 diff --git a/dist/cherry-markdown.markdown.css b/dist/cherry-markdown.markdown.css index 3d8188a58..e0134b423 100644 --- a/dist/cherry-markdown.markdown.css +++ b/dist/cherry-markdown.markdown.css @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cefd33452e518b224caf6cf66b34fd1c0993a4c6d113bcde32b5d05c6a66668b -size 117625 +oid sha256:71e8b82a445d54665e2d5237ac7412b0526e1e4e145c51fe5636d370eed3ac29 +size 171712 diff --git a/dist/cherry-markdown.markdown.min.css b/dist/cherry-markdown.markdown.min.css index 6776a2c20..e26e213f4 100644 --- a/dist/cherry-markdown.markdown.min.css +++ b/dist/cherry-markdown.markdown.min.css @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:11d9ddd89c3007cdbf5de8a174883244bc1ff00750a1a4470b26385a6f171ac9 -size 84259 +oid sha256:648adb9fb0ad6251719497845d0c3fb260120d5367e2a8e1990d396167fb2c29 +size 130052 diff --git a/dist/cherry-markdown.min.css b/dist/cherry-markdown.min.css index 681666f22..2b24be57b 100644 --- a/dist/cherry-markdown.min.css +++ b/dist/cherry-markdown.min.css @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:136c92566071fb5403efdbebadff3823f87d34922a973a914ad73939abef6ea3 -size 125507 +oid sha256:819b8fe0ef4c2ec5389efb6752e398f614525997135ead2fd2a36adbf7551504 +size 173575 diff --git a/dist/cherry-markdown.min.js b/dist/cherry-markdown.min.js index a29a97e90..5ab143242 100644 --- a/dist/cherry-markdown.min.js +++ b/dist/cherry-markdown.min.js @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e728a7c98b9f8b18855edc1cdb126ac6de3000cf7178e55b6f54881712bc64cb -size 4157692 +oid sha256:e7396a074525d0be1696a9d6397f9b25e3c404f196c0882ecaeafe86b63b2871 +size 4182671 diff --git a/dist/fonts/ch-icon.eot b/dist/fonts/ch-icon.eot index 3f4e73d18..6344fe24e 100644 --- a/dist/fonts/ch-icon.eot +++ b/dist/fonts/ch-icon.eot @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b16c5e7934e32c872d4e94c148b673aaeca67615e73c93b7be8ef0020c24ed60 -size 20768 +oid sha256:8989ea021363279d19798eca69b71cac4b59427a256c1c4ac456dc8b80df291e +size 20940 diff --git a/dist/fonts/ch-icon.svg b/dist/fonts/ch-icon.svg index a9e649bf5..3882e9845 100644 --- a/dist/fonts/ch-icon.svg +++ b/dist/fonts/ch-icon.svg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a7d847755bf4952421cd072304f172ebb672a903aa96a8a5f662d3c9f1d26fc8 -size 288404 +oid sha256:b81d116a8c376911ad40e7d26c12ea5268d3f91bb2dd62df986a7830b53b2bde +size 289651 diff --git a/dist/fonts/ch-icon.ttf b/dist/fonts/ch-icon.ttf index b83e42976..e30f367f6 100644 --- a/dist/fonts/ch-icon.ttf +++ b/dist/fonts/ch-icon.ttf @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2121487c4111b552e92dbb9a8973e9a7299398629931783dd1e8f451224f4d1e -size 20604 +oid sha256:ae1418a5b5f12acb324c25c601be6106581114ad4f6135f9ae37d08ef6a4ca8f +size 20776 diff --git a/dist/fonts/ch-icon.woff b/dist/fonts/ch-icon.woff index e908404c4..0ed3ef1e4 100644 --- a/dist/fonts/ch-icon.woff +++ b/dist/fonts/ch-icon.woff @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c05106acbed2e34aba774424f079fcc6938419340dcb99b4c11d9ab90962cc58 -size 12008 +oid sha256:9eead8f4beef3461125618da8de50920fd389d61be81d23eca5a278fdb0f519a +size 12092 diff --git a/dist/fonts/ch-icon.woff2 b/dist/fonts/ch-icon.woff2 index 0cb35fad3..d4c170186 100644 --- a/dist/fonts/ch-icon.woff2 +++ b/dist/fonts/ch-icon.woff2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:14612873cc35dbcc1487f9de723d68dfe0695a81a0526771dde1dcef4dd72cd8 -size 10188 +oid sha256:2e48de00fd3ffc179107d269879f2362135dcbf686388f5e821efc36b327cec3 +size 10256 diff --git a/package.json b/package.json index 7f397da47..0de7755d2 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "cherry-markdown", "license": "Apache-2.0", - "version": "0.8.45", + "version": "0.8.46", "description": "a new markdown editor", "repository": { "type": "git", diff --git a/yarn.lock b/yarn.lock index cdf0f3009..cb0f6f621 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,13 +2,21 @@ # yarn lockfile v1 -"@ampproject/remapping@^2.1.0": - version "2.2.0" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== +"@ampproject/remapping@^2.2.0": + version "2.3.0" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz" + integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz" + integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== dependencies: - "@jridgewell/gen-mapping" "^0.1.0" - "@jridgewell/trace-mapping" "^0.3.9" + "@babel/highlight" "^7.24.7" + picocolors "^1.0.0" "@babel/code-frame@7.12.11": version "7.12.11" @@ -17,437 +25,344 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz" - integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== - dependencies: - "@babel/highlight" "^7.16.7" - -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.10": - version "7.17.10" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz" - integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw== - -"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.8.0": - version "7.18.0" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.18.0.tgz" - integrity sha512-Xyw74OlJwDijToNi0+6BBI5mLLR5+5R3bcSH80LXzjzEGEUlvNzujEE71BaD/ApEZHAvFI/Mlmp4M5lIkdeeWw== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.18.0" - "@babel/helper-compilation-targets" "^7.17.10" - "@babel/helper-module-transforms" "^7.18.0" - "@babel/helpers" "^7.18.0" - "@babel/parser" "^7.18.0" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.18.0" - "@babel/types" "^7.18.0" - convert-source-map "^1.7.0" +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz" + integrity sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw== + +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.1.0", "@babel/core@^7.11.0", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.14.6", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.7.2", "@babel/core@^7.8.0", "@babel/core@>=7.0.0-beta.0 <8": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz" + integrity sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.24.7" + "@babel/generator" "^7.24.7" + "@babel/helper-compilation-targets" "^7.24.7" + "@babel/helper-module-transforms" "^7.24.7" + "@babel/helpers" "^7.24.7" + "@babel/parser" "^7.24.7" + "@babel/template" "^7.24.7" + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" + convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" + json5 "^2.2.3" + semver "^6.3.1" "@babel/eslint-parser@^7.12.1", "@babel/eslint-parser@^7.14.5": - version "7.17.0" - resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.17.0.tgz" - integrity sha512-PUEJ7ZBXbRkbq3qqM/jZ2nIuakUBqCYc7Qf52Lj7dlZ6zERnqisdHioL0l4wwQZnmskMeasqUNzLBFKs3nylXA== + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.24.7.tgz" + integrity sha512-SO5E3bVxDuxyNxM5agFv480YA2HO6ohZbGxbazZdIk3KQOPOGVNw6q78I9/lbviIf95eq6tPozeYnJLbjnC8IA== dependencies: - eslint-scope "^5.1.1" + "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" eslint-visitor-keys "^2.1.0" - semver "^6.3.0" + semver "^6.3.1" -"@babel/generator@^7.18.0", "@babel/generator@^7.7.2": - version "7.18.0" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.18.0.tgz" - integrity sha512-81YO9gGx6voPXlvYdZBliFXAZU8vZ9AZ6z+CjlmcnaeOcYSFbMTpdeDUO9xD9dh/68Vq03I8ZspfUTPfitcDHg== +"@babel/generator@^7.24.7", "@babel/generator@^7.7.2": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz" + integrity sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA== dependencies: - "@babel/types" "^7.18.0" - "@jridgewell/gen-mapping" "^0.3.0" + "@babel/types" "^7.24.7" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" -"@babel/helper-annotate-as-pure@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz" - integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== +"@babel/helper-annotate-as-pure@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz" + integrity sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg== dependencies: - "@babel/types" "^7.16.7" + "@babel/types" "^7.24.7" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz" - integrity sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz" + integrity sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA== dependencies: - "@babel/helper-explode-assignable-expression" "^7.16.7" - "@babel/types" "^7.16.7" + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.10": - version "7.17.10" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz" - integrity sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ== +"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz" + integrity sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg== dependencies: - "@babel/compat-data" "^7.17.10" - "@babel/helper-validator-option" "^7.16.7" - browserslist "^4.20.2" - semver "^6.3.0" + "@babel/compat-data" "^7.24.7" + "@babel/helper-validator-option" "^7.24.7" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.17.12", "@babel/helper-create-class-features-plugin@^7.18.0": - version "7.18.0" - resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.0.tgz" - integrity sha512-Kh8zTGR9de3J63e5nS0rQUdRs/kbtwoeQQ0sriS0lItjC96u8XXZN6lKpuyWd2coKSU13py/y+LTmThLuVX0Pg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.17.9" - "@babel/helper-member-expression-to-functions" "^7.17.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz" + integrity sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.24.7" + "@babel/helper-environment-visitor" "^7.24.7" + "@babel/helper-function-name" "^7.24.7" + "@babel/helper-member-expression-to-functions" "^7.24.7" + "@babel/helper-optimise-call-expression" "^7.24.7" + "@babel/helper-replace-supers" "^7.24.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" + "@babel/helper-split-export-declaration" "^7.24.7" + semver "^6.3.1" -"@babel/helper-create-regexp-features-plugin@^7.16.7", "@babel/helper-create-regexp-features-plugin@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz" - integrity sha512-b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw== +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.7.tgz" + integrity sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA== dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - regexpu-core "^5.0.1" + "@babel/helper-annotate-as-pure" "^7.24.7" + regexpu-core "^5.3.1" + semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.3.1": - version "0.3.1" - resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz" - integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA== +"@babel/helper-define-polyfill-provider@^0.6.1", "@babel/helper-define-polyfill-provider@^0.6.2": + version "0.6.2" + resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz" + integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ== dependencies: - "@babel/helper-compilation-targets" "^7.13.0" - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/traverse" "^7.13.0" + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" debug "^4.1.1" lodash.debounce "^4.0.8" resolve "^1.14.2" - semver "^6.1.2" - -"@babel/helper-environment-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz" - integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== + +"@babel/helper-environment-visitor@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz" + integrity sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ== dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-explode-assignable-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz" - integrity sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ== + "@babel/types" "^7.24.7" + +"@babel/helper-function-name@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz" + integrity sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA== dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-function-name@^7.16.7", "@babel/helper-function-name@^7.17.9": - version "7.17.9" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz" - integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg== - dependencies: - "@babel/template" "^7.16.7" - "@babel/types" "^7.17.0" - -"@babel/helper-hoist-variables@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz" - integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-member-expression-to-functions@^7.16.7", "@babel/helper-member-expression-to-functions@^7.17.7": - version "7.17.7" - resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz" - integrity sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw== - dependencies: - "@babel/types" "^7.17.0" - -"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz" - integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-module-transforms@^7.18.0": - version "7.18.0" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz" - integrity sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA== - dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-simple-access" "^7.17.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.18.0" - "@babel/types" "^7.18.0" - -"@babel/helper-optimise-call-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz" - integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.17.12", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz" - integrity sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA== - -"@babel/helper-remap-async-to-generator@^7.16.8": - version "7.16.8" - resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz" - integrity sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-wrap-function" "^7.16.8" - "@babel/types" "^7.16.8" - -"@babel/helper-replace-supers@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz" - integrity sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw== - dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-member-expression-to-functions" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-simple-access@^7.17.7": - version "7.17.7" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz" - integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA== - dependencies: - "@babel/types" "^7.17.0" - -"@babel/helper-skip-transparent-expression-wrappers@^7.16.0": - version "7.16.0" - resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz" - integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-split-export-declaration@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz" - integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-validator-identifier@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz" - integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== - -"@babel/helper-validator-option@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz" - integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== - -"@babel/helper-wrap-function@^7.16.8": - version "7.16.8" - resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz" - integrity sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw== - dependencies: - "@babel/helper-function-name" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.8" - "@babel/types" "^7.16.8" - -"@babel/helpers@^7.18.0": - version "7.18.0" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.0.tgz" - integrity sha512-AE+HMYhmlMIbho9nbvicHyxFwhrO+xhKB6AhRxzl8w46Yj0VXTZjEsAoBVC7rB2I0jzX+yWyVybnO08qkfx6kg== - dependencies: - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.18.0" - "@babel/types" "^7.18.0" - -"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.7": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz" - integrity sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - chalk "^2.0.0" + "@babel/template" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/helper-hoist-variables@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz" + integrity sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ== + dependencies: + "@babel/types" "^7.24.7" + +"@babel/helper-member-expression-to-functions@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz" + integrity sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w== + dependencies: + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz" + integrity sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA== + dependencies: + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/helper-module-transforms@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz" + integrity sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ== + dependencies: + "@babel/helper-environment-visitor" "^7.24.7" + "@babel/helper-module-imports" "^7.24.7" + "@babel/helper-simple-access" "^7.24.7" + "@babel/helper-split-export-declaration" "^7.24.7" + "@babel/helper-validator-identifier" "^7.24.7" + +"@babel/helper-optimise-call-expression@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz" + integrity sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A== + dependencies: + "@babel/types" "^7.24.7" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz" + integrity sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg== + +"@babel/helper-remap-async-to-generator@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz" + integrity sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.24.7" + "@babel/helper-environment-visitor" "^7.24.7" + "@babel/helper-wrap-function" "^7.24.7" + +"@babel/helper-replace-supers@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz" + integrity sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg== + dependencies: + "@babel/helper-environment-visitor" "^7.24.7" + "@babel/helper-member-expression-to-functions" "^7.24.7" + "@babel/helper-optimise-call-expression" "^7.24.7" + +"@babel/helper-simple-access@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz" + integrity sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg== + dependencies: + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz" + integrity sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ== + dependencies: + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/helper-split-export-declaration@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz" + integrity sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA== + dependencies: + "@babel/types" "^7.24.7" + +"@babel/helper-string-parser@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz" + integrity sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg== + +"@babel/helper-validator-identifier@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz" + integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== + +"@babel/helper-validator-option@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz" + integrity sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw== + +"@babel/helper-wrap-function@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz" + integrity sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw== + dependencies: + "@babel/helper-function-name" "^7.24.7" + "@babel/template" "^7.24.7" + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/helpers@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz" + integrity sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg== + dependencies: + "@babel/template" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz" + integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== + dependencies: + "@babel/helper-validator-identifier" "^7.24.7" + chalk "^2.4.2" js-tokens "^4.0.0" + picocolors "^1.0.0" "@babel/node@^7.12.10": - version "7.17.10" - resolved "https://registry.npmjs.org/@babel/node/-/node-7.17.10.tgz" - integrity sha512-sFFMyvw23U8QOcTnLJnw2/Myr01e4+iLVy7rHAHrNSnXAfnwS3j2NqihpmZm7TotyNKKf/y8cJ96T5asY46eyw== + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/node/-/node-7.24.7.tgz" + integrity sha512-BCYNLxUQjGTgy8bAq12jy+Lt8soGWa/5u3s7U3aTVXxviIp0YVS+/Wm0b4eaitLVvetYrEoAiRF0QOk4WKsHAQ== dependencies: - "@babel/register" "^7.17.7" - commander "^4.0.1" - core-js "^3.22.1" + "@babel/register" "^7.24.6" + commander "^6.2.0" + core-js "^3.30.2" node-environment-flags "^1.0.5" - regenerator-runtime "^0.13.4" + regenerator-runtime "^0.14.0" v8flags "^3.1.1" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.18.0": - version "7.18.0" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.18.0.tgz" - integrity sha512-AqDccGC+m5O/iUStSJy3DGRIUFu7WbY/CppZYwrEUB4N0tZlnI8CSTsgL7v5fHVFmUbRv2sd+yy27o8Ydt4MGg== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz" + integrity sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw== -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz" - integrity sha512-xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw== +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz" + integrity sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-environment-visitor" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz" - integrity sha512-/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ== +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.7.tgz" + integrity sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.17.12" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-proposal-async-generator-functions@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.17.12.tgz" - integrity sha512-RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz" + integrity sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-remap-async-to-generator" "^7.16.8" - "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" + "@babel/plugin-transform-optional-chaining" "^7.24.7" -"@babel/plugin-proposal-class-properties@^7.17.12", "@babel/plugin-proposal-class-properties@^7.8.3": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz" - integrity sha512-U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw== +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.7.tgz" + integrity sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg== dependencies: - "@babel/helper-create-class-features-plugin" "^7.17.12" - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-environment-visitor" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-proposal-class-static-block@^7.18.0": - version "7.18.0" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.0.tgz" - integrity sha512-t+8LsRMMDE74c6sV7KShIw13sqbqd58tlqNrsWoWBTIMw7SVQ0cZ905wLNS/FBCy/3PyooRHLFFlfrUNyyz5lA== +"@babel/plugin-proposal-class-properties@^7.8.3": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.0" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-proposal-decorators@^7.14.5": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.12.tgz" - integrity sha512-gL0qSSeIk/VRfTDgtQg/EtejENssN/r3p5gJsPie1UacwiHibprpr19Z0pcK3XKuqQvjGVxsQ37Tl1MGfXzonA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.17.12" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/plugin-syntax-decorators" "^7.17.12" - charcodes "^0.2.0" - -"@babel/plugin-proposal-dynamic-import@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz" - integrity sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz" - integrity sha512-j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz" - integrity sha512-rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg== + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.7.tgz" + integrity sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-logical-assignment-operators@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz" - integrity sha512-EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/helper-create-class-features-plugin" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/plugin-syntax-decorators" "^7.24.7" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1", "@babel/plugin-proposal-nullish-coalescing-operator@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz" - integrity sha512-ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag== +"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz" + integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-proposal-numeric-separator@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz" - integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw== +"@babel/plugin-proposal-optional-chaining@^7.12.7": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz" + integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.18.0": - version "7.18.0" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz" - integrity sha512-nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw== - dependencies: - "@babel/compat-data" "^7.17.10" - "@babel/helper-compilation-targets" "^7.17.10" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.17.12" - -"@babel/plugin-proposal-optional-catch-binding@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz" - integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.12.7", "@babel/plugin-proposal-optional-chaining@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz" - integrity sha512-7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz" - integrity sha512-SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.17.12" - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-proposal-private-property-in-object@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz" - integrity sha512-/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-create-class-features-plugin" "^7.17.12" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-proposal-unicode-property-regex@^7.17.12", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz" - integrity sha512-Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.17.12" - "@babel/helper-plugin-utils" "^7.17.12" +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -477,12 +392,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-decorators@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.17.12.tgz" - integrity sha512-D1Hz0qtGTza8K2xGyEdVNCYLdVHukAcbQr4K3/s6r/esadyEriZovpJimQOpu8ju4/jV8dW/1xdaE0UpDroidw== +"@babel/plugin-syntax-decorators@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.7.tgz" + integrity sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" @@ -498,14 +413,21 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-import-assertions@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.17.12.tgz" - integrity sha512-n/loy2zkq9ZEM8tEOwON9wTQSTNDTDEz6NujPtJGLU7qObzT1N4c4YZZf8E6ATB2AjNQg/Ib2AIpO03EZaCehw== +"@babel/plugin-syntax-import-assertions@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz" + integrity sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + +"@babel/plugin-syntax-import-attributes@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz" + integrity sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-syntax-import-meta@^7.8.3": +"@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.8.3": version "7.10.4" resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== @@ -576,308 +498,441 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript@^7.7.2": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.12.tgz" - integrity sha512-TYY0SXFiO31YXtNg3HtFwNJHjLsAyIIhAhNWkQ5whPPS7HWUFlg9z0Ta4qAQNjQbP1wsSt/oKkmZ/4/WWdMUpw== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-transform-arrow-functions@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz" - integrity sha512-PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-transform-async-to-generator@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.17.12.tgz" - integrity sha512-J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-remap-async-to-generator" "^7.16.8" - -"@babel/plugin-transform-block-scoped-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz" - integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-block-scoping@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.17.12.tgz" - integrity sha512-jw8XW/B1i7Lqwqj2CbrViPcZijSxfguBWZP2aN59NHgxUyO/OcO1mfdCxH13QhN5LbWhPkX+f+brKGhZTiqtZQ== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-transform-classes@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.17.12.tgz" - integrity sha512-cvO7lc7pZat6BsvH6l/EGaI8zpl8paICaoGk+7x7guvtfak/TbIf66nYmJOH13EuG0H+Xx3M+9LQDtSvZFKXKw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.17.9" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz" + integrity sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-arrow-functions@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz" + integrity sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + +"@babel/plugin-transform-async-generator-functions@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.7.tgz" + integrity sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g== + dependencies: + "@babel/helper-environment-visitor" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-remap-async-to-generator" "^7.24.7" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-transform-async-to-generator@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz" + integrity sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA== + dependencies: + "@babel/helper-module-imports" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-remap-async-to-generator" "^7.24.7" + +"@babel/plugin-transform-block-scoped-functions@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz" + integrity sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + +"@babel/plugin-transform-block-scoping@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.7.tgz" + integrity sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + +"@babel/plugin-transform-class-properties@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz" + integrity sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" + +"@babel/plugin-transform-class-static-block@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz" + integrity sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-transform-classes@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.7.tgz" + integrity sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.24.7" + "@babel/helper-compilation-targets" "^7.24.7" + "@babel/helper-environment-visitor" "^7.24.7" + "@babel/helper-function-name" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-replace-supers" "^7.24.7" + "@babel/helper-split-export-declaration" "^7.24.7" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz" - integrity sha512-a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ== +"@babel/plugin-transform-computed-properties@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz" + integrity sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/template" "^7.24.7" -"@babel/plugin-transform-destructuring@^7.18.0": - version "7.18.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.0.tgz" - integrity sha512-Mo69klS79z6KEfrLg/1WkmVnB8javh75HX4pi2btjvlIoasuxilEyjtsQW6XPrubNd7AQy0MMaNIaQE4e7+PQw== +"@babel/plugin-transform-destructuring@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz" + integrity sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz" - integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ== +"@babel/plugin-transform-dotall-regex@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz" + integrity sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-create-regexp-features-plugin" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-duplicate-keys@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz" - integrity sha512-EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw== +"@babel/plugin-transform-duplicate-keys@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz" + integrity sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-exponentiation-operator@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz" - integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA== +"@babel/plugin-transform-dynamic-import@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz" + integrity sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-transform-exponentiation-operator@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz" + integrity sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" + +"@babel/plugin-transform-export-namespace-from@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz" + integrity sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-transform-for-of@^7.17.12": - version "7.18.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.1.tgz" - integrity sha512-+TTB5XwvJ5hZbO8xvl2H4XaMDOAK57zF4miuC9qQJgysPNEAZZ9Z69rdF5LJkozGdZrjBIUAIyKUWRMmebI7vg== +"@babel/plugin-transform-for-of@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz" + integrity sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" -"@babel/plugin-transform-function-name@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz" - integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA== +"@babel/plugin-transform-function-name@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.7.tgz" + integrity sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w== dependencies: - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-compilation-targets" "^7.24.7" + "@babel/helper-function-name" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-literals@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz" - integrity sha512-8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ== +"@babel/plugin-transform-json-strings@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz" + integrity sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-transform-literals@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz" + integrity sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-member-expression-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz" - integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw== +"@babel/plugin-transform-logical-assignment-operators@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz" + integrity sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-transform-modules-amd@^7.18.0": - version "7.18.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.0.tgz" - integrity sha512-h8FjOlYmdZwl7Xm2Ug4iX2j7Qy63NANI+NQVWQzv6r25fqgg7k2dZl03p95kvqNclglHs4FZ+isv4p1uXMA+QA== +"@babel/plugin-transform-member-expression-literals@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz" + integrity sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw== dependencies: - "@babel/helper-module-transforms" "^7.18.0" - "@babel/helper-plugin-utils" "^7.17.12" - babel-plugin-dynamic-import-node "^2.3.3" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-modules-commonjs@^7.18.0": - version "7.18.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.0.tgz" - integrity sha512-cCeR0VZWtfxWS4YueAK2qtHtBPJRSaJcMlbS8jhSIm/A3E2Kpro4W1Dn4cqJtp59dtWfXjQwK7SPKF8ghs7rlw== +"@babel/plugin-transform-modules-amd@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz" + integrity sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg== dependencies: - "@babel/helper-module-transforms" "^7.18.0" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-simple-access" "^7.17.7" - babel-plugin-dynamic-import-node "^2.3.3" + "@babel/helper-module-transforms" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-modules-systemjs@^7.18.0": - version "7.18.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.0.tgz" - integrity sha512-vwKpxdHnlM5tIrRt/eA0bzfbi7gUBLN08vLu38np1nZevlPySRe6yvuATJB5F/WPJ+ur4OXwpVYq9+BsxqAQuQ== +"@babel/plugin-transform-modules-commonjs@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz" + integrity sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ== dependencies: - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-module-transforms" "^7.18.0" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-validator-identifier" "^7.16.7" - babel-plugin-dynamic-import-node "^2.3.3" + "@babel/helper-module-transforms" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-simple-access" "^7.24.7" -"@babel/plugin-transform-modules-umd@^7.18.0": - version "7.18.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.0.tgz" - integrity sha512-d/zZ8I3BWli1tmROLxXLc9A6YXvGK8egMxHp+E/rRwMh1Kip0AP77VwZae3snEJ33iiWwvNv2+UIIhfalqhzZA== +"@babel/plugin-transform-modules-systemjs@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.7.tgz" + integrity sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw== dependencies: - "@babel/helper-module-transforms" "^7.18.0" - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-hoist-variables" "^7.24.7" + "@babel/helper-module-transforms" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-validator-identifier" "^7.24.7" -"@babel/plugin-transform-named-capturing-groups-regex@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz" - integrity sha512-vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA== +"@babel/plugin-transform-modules-umd@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz" + integrity sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.17.12" - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-module-transforms" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-new-target@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.17.12.tgz" - integrity sha512-CaOtzk2fDYisbjAD4Sd1MTKGVIpRtx9bWLyj24Y/k6p4s4gQ3CqDGJauFJxt8M/LEx003d0i3klVqnN73qvK3w== +"@babel/plugin-transform-named-capturing-groups-regex@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz" + integrity sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-create-regexp-features-plugin" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-object-super@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz" - integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw== +"@babel/plugin-transform-new-target@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz" + integrity sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-parameters@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz" - integrity sha512-6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA== +"@babel/plugin-transform-nullish-coalescing-operator@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz" + integrity sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-transform-property-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz" - integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw== +"@babel/plugin-transform-numeric-separator@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz" + integrity sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-transform-object-rest-spread@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz" + integrity sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q== + dependencies: + "@babel/helper-compilation-targets" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.24.7" + +"@babel/plugin-transform-object-super@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz" + integrity sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-replace-supers" "^7.24.7" + +"@babel/plugin-transform-optional-catch-binding@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz" + integrity sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-transform-optional-chaining@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.7.tgz" + integrity sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-transform-regenerator@^7.18.0": - version "7.18.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.0.tgz" - integrity sha512-C8YdRw9uzx25HSIzwA7EM7YP0FhCe5wNvJbZzjVNHHPGVcDJ3Aie+qGYYdS1oVQgn+B3eAIJbWFLrJ4Jipv7nw== +"@babel/plugin-transform-parameters@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz" + integrity sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - regenerator-transform "^0.15.0" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-reserved-words@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz" - integrity sha512-1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA== +"@babel/plugin-transform-private-methods@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz" + integrity sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-create-class-features-plugin" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" + +"@babel/plugin-transform-private-property-in-object@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz" + integrity sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.24.7" + "@babel/helper-create-class-features-plugin" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-transform-property-literals@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz" + integrity sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + +"@babel/plugin-transform-regenerator@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz" + integrity sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + regenerator-transform "^0.15.2" + +"@babel/plugin-transform-reserved-words@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz" + integrity sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-transform-runtime@^7.12.10": - version "7.18.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.0.tgz" - integrity sha512-7kM/jJ3DD/y1hDPn0jov12DoUIFsxLiItprhNydUSibxaywaxNqKwq+ODk72J9ePn4LWobIc5ik6TAJhVl8IkQ== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.17.12" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.5.0" - babel-plugin-polyfill-regenerator "^0.3.0" - semver "^6.3.0" + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.7.tgz" + integrity sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw== + dependencies: + "@babel/helper-module-imports" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" + babel-plugin-polyfill-corejs2 "^0.4.10" + babel-plugin-polyfill-corejs3 "^0.10.1" + babel-plugin-polyfill-regenerator "^0.6.1" + semver "^6.3.1" + +"@babel/plugin-transform-shorthand-properties@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz" + integrity sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + +"@babel/plugin-transform-spread@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz" + integrity sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" -"@babel/plugin-transform-shorthand-properties@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz" - integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg== +"@babel/plugin-transform-sticky-regex@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz" + integrity sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-spread@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz" - integrity sha512-9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg== +"@babel/plugin-transform-template-literals@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz" + integrity sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-sticky-regex@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz" - integrity sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw== +"@babel/plugin-transform-typeof-symbol@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.7.tgz" + integrity sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-template-literals@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.17.12.tgz" - integrity sha512-kAKJ7DX1dSRa2s7WN1xUAuaQmkTpN+uig4wCKWivVXIObqGbVTUlSavHyfI2iZvz89GFAMGm9p2DBJ4Y1Tp0hw== +"@babel/plugin-transform-unicode-escapes@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz" + integrity sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-typeof-symbol@^7.17.12": - version "7.17.12" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz" - integrity sha512-Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw== +"@babel/plugin-transform-unicode-property-regex@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz" + integrity sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w== dependencies: - "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-create-regexp-features-plugin" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-unicode-escapes@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz" - integrity sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q== +"@babel/plugin-transform-unicode-regex@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz" + integrity sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-create-regexp-features-plugin" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-unicode-regex@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz" - integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q== +"@babel/plugin-transform-unicode-sets-regex@^7.24.7": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz" + integrity sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-create-regexp-features-plugin" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" "@babel/preset-env@^7.7.1": - version "7.18.0" - resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.0.tgz" - integrity sha512-cP74OMs7ECLPeG1reiCQ/D/ypyOxgfm8uR6HRYV23vTJ7Lu1nbgj9DQDo/vH59gnn7GOAwtTDPPYV4aXzsMKHA== - dependencies: - "@babel/compat-data" "^7.17.10" - "@babel/helper-compilation-targets" "^7.17.10" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-validator-option" "^7.16.7" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.17.12" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.17.12" - "@babel/plugin-proposal-async-generator-functions" "^7.17.12" - "@babel/plugin-proposal-class-properties" "^7.17.12" - "@babel/plugin-proposal-class-static-block" "^7.18.0" - "@babel/plugin-proposal-dynamic-import" "^7.16.7" - "@babel/plugin-proposal-export-namespace-from" "^7.17.12" - "@babel/plugin-proposal-json-strings" "^7.17.12" - "@babel/plugin-proposal-logical-assignment-operators" "^7.17.12" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.17.12" - "@babel/plugin-proposal-numeric-separator" "^7.16.7" - "@babel/plugin-proposal-object-rest-spread" "^7.18.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" - "@babel/plugin-proposal-optional-chaining" "^7.17.12" - "@babel/plugin-proposal-private-methods" "^7.17.12" - "@babel/plugin-proposal-private-property-in-object" "^7.17.12" - "@babel/plugin-proposal-unicode-property-regex" "^7.17.12" + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.7.tgz" + integrity sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ== + dependencies: + "@babel/compat-data" "^7.24.7" + "@babel/helper-compilation-targets" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-validator-option" "^7.24.7" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.24.7" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.7" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.7" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.7" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.17.12" + "@babel/plugin-syntax-import-assertions" "^7.24.7" + "@babel/plugin-syntax-import-attributes" "^7.24.7" + "@babel/plugin-syntax-import-meta" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" @@ -887,114 +942,134 @@ "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.17.12" - "@babel/plugin-transform-async-to-generator" "^7.17.12" - "@babel/plugin-transform-block-scoped-functions" "^7.16.7" - "@babel/plugin-transform-block-scoping" "^7.17.12" - "@babel/plugin-transform-classes" "^7.17.12" - "@babel/plugin-transform-computed-properties" "^7.17.12" - "@babel/plugin-transform-destructuring" "^7.18.0" - "@babel/plugin-transform-dotall-regex" "^7.16.7" - "@babel/plugin-transform-duplicate-keys" "^7.17.12" - "@babel/plugin-transform-exponentiation-operator" "^7.16.7" - "@babel/plugin-transform-for-of" "^7.17.12" - "@babel/plugin-transform-function-name" "^7.16.7" - "@babel/plugin-transform-literals" "^7.17.12" - "@babel/plugin-transform-member-expression-literals" "^7.16.7" - "@babel/plugin-transform-modules-amd" "^7.18.0" - "@babel/plugin-transform-modules-commonjs" "^7.18.0" - "@babel/plugin-transform-modules-systemjs" "^7.18.0" - "@babel/plugin-transform-modules-umd" "^7.18.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.17.12" - "@babel/plugin-transform-new-target" "^7.17.12" - "@babel/plugin-transform-object-super" "^7.16.7" - "@babel/plugin-transform-parameters" "^7.17.12" - "@babel/plugin-transform-property-literals" "^7.16.7" - "@babel/plugin-transform-regenerator" "^7.18.0" - "@babel/plugin-transform-reserved-words" "^7.17.12" - "@babel/plugin-transform-shorthand-properties" "^7.16.7" - "@babel/plugin-transform-spread" "^7.17.12" - "@babel/plugin-transform-sticky-regex" "^7.16.7" - "@babel/plugin-transform-template-literals" "^7.17.12" - "@babel/plugin-transform-typeof-symbol" "^7.17.12" - "@babel/plugin-transform-unicode-escapes" "^7.16.7" - "@babel/plugin-transform-unicode-regex" "^7.16.7" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.18.0" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.5.0" - babel-plugin-polyfill-regenerator "^0.3.0" - core-js-compat "^3.22.1" - semver "^6.3.0" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.24.7" + "@babel/plugin-transform-async-generator-functions" "^7.24.7" + "@babel/plugin-transform-async-to-generator" "^7.24.7" + "@babel/plugin-transform-block-scoped-functions" "^7.24.7" + "@babel/plugin-transform-block-scoping" "^7.24.7" + "@babel/plugin-transform-class-properties" "^7.24.7" + "@babel/plugin-transform-class-static-block" "^7.24.7" + "@babel/plugin-transform-classes" "^7.24.7" + "@babel/plugin-transform-computed-properties" "^7.24.7" + "@babel/plugin-transform-destructuring" "^7.24.7" + "@babel/plugin-transform-dotall-regex" "^7.24.7" + "@babel/plugin-transform-duplicate-keys" "^7.24.7" + "@babel/plugin-transform-dynamic-import" "^7.24.7" + "@babel/plugin-transform-exponentiation-operator" "^7.24.7" + "@babel/plugin-transform-export-namespace-from" "^7.24.7" + "@babel/plugin-transform-for-of" "^7.24.7" + "@babel/plugin-transform-function-name" "^7.24.7" + "@babel/plugin-transform-json-strings" "^7.24.7" + "@babel/plugin-transform-literals" "^7.24.7" + "@babel/plugin-transform-logical-assignment-operators" "^7.24.7" + "@babel/plugin-transform-member-expression-literals" "^7.24.7" + "@babel/plugin-transform-modules-amd" "^7.24.7" + "@babel/plugin-transform-modules-commonjs" "^7.24.7" + "@babel/plugin-transform-modules-systemjs" "^7.24.7" + "@babel/plugin-transform-modules-umd" "^7.24.7" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.24.7" + "@babel/plugin-transform-new-target" "^7.24.7" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.7" + "@babel/plugin-transform-numeric-separator" "^7.24.7" + "@babel/plugin-transform-object-rest-spread" "^7.24.7" + "@babel/plugin-transform-object-super" "^7.24.7" + "@babel/plugin-transform-optional-catch-binding" "^7.24.7" + "@babel/plugin-transform-optional-chaining" "^7.24.7" + "@babel/plugin-transform-parameters" "^7.24.7" + "@babel/plugin-transform-private-methods" "^7.24.7" + "@babel/plugin-transform-private-property-in-object" "^7.24.7" + "@babel/plugin-transform-property-literals" "^7.24.7" + "@babel/plugin-transform-regenerator" "^7.24.7" + "@babel/plugin-transform-reserved-words" "^7.24.7" + "@babel/plugin-transform-shorthand-properties" "^7.24.7" + "@babel/plugin-transform-spread" "^7.24.7" + "@babel/plugin-transform-sticky-regex" "^7.24.7" + "@babel/plugin-transform-template-literals" "^7.24.7" + "@babel/plugin-transform-typeof-symbol" "^7.24.7" + "@babel/plugin-transform-unicode-escapes" "^7.24.7" + "@babel/plugin-transform-unicode-property-regex" "^7.24.7" + "@babel/plugin-transform-unicode-regex" "^7.24.7" + "@babel/plugin-transform-unicode-sets-regex" "^7.24.7" + "@babel/preset-modules" "0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2 "^0.4.10" + babel-plugin-polyfill-corejs3 "^0.10.4" + babel-plugin-polyfill-regenerator "^0.6.1" + core-js-compat "^3.31.0" + semver "^6.3.1" -"@babel/preset-modules@^0.1.5": - version "0.1.5" - resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz" - integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/register@^7.12.1", "@babel/register@^7.17.7": - version "7.17.7" - resolved "https://registry.npmjs.org/@babel/register/-/register-7.17.7.tgz" - integrity sha512-fg56SwvXRifootQEDQAu1mKdjh5uthPzdO0N6t358FktfL4XjAVXuH58ULoiW8mesxiOgNIrxiImqEwv0+hRRA== +"@babel/register@^7.12.1", "@babel/register@^7.24.6": + version "7.24.6" + resolved "https://registry.npmjs.org/@babel/register/-/register-7.24.6.tgz" + integrity sha512-WSuFCc2wCqMeXkz/i3yfAAsxwWflEgbVkZzivgAmXl/MxrXeoYFZOOPllbC8R8WTF7u61wSRQtDVZ1879cdu6w== dependencies: clone-deep "^4.0.1" find-cache-dir "^2.0.0" make-dir "^2.1.0" - pirates "^4.0.5" + pirates "^4.0.6" source-map-support "^0.5.16" +"@babel/regjsgen@^0.8.0": + version "0.8.0" + resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz" + integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== + "@babel/runtime-corejs3@^7.12.5": - version "7.18.0" - resolved "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.18.0.tgz" - integrity sha512-G5FaGZOWORq9zthDjIrjib5XlcddeqLbIiDO3YQsut6j7aGf76xn0umUC/pA6+nApk3hQJF4JzLzg5PCl6ewJg== + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.24.7.tgz" + integrity sha512-eytSX6JLBY6PVAeQa2bFlDx/7Mmln/gaEpsit5a3WEvjGfiIytEsgAwuIXCPM0xvw0v0cJn3ilq0/TvXrW0kgA== dependencies: - core-js-pure "^3.20.2" - regenerator-runtime "^0.13.4" + core-js-pure "^3.30.2" + regenerator-runtime "^0.14.0" "@babel/runtime@^7.12.5", "@babel/runtime@^7.8.4": - version "7.18.0" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.0.tgz" - integrity sha512-YMQvx/6nKEaucl0MY56mwIG483xk8SDNdlUwb2Ts6FUpr7fm85DxEmsY18LXBNhcTz6tO6JwZV8w1W06v8UKeg== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.16.7", "@babel/template@^7.3.3": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz" - integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.18.0", "@babel/traverse@^7.7.2": - version "7.18.0" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.0.tgz" - integrity sha512-oNOO4vaoIQoGjDQ84LgtF/IAlxlyqL4TUuoQ7xLkQETFaHkY1F7yazhB4Kt3VcZGL0ZF/jhrEpnXqUb0M7V3sw== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.18.0" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.17.9" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.18.0" - "@babel/types" "^7.18.0" - debug "^4.1.0" + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz" + integrity sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.24.7", "@babel/template@^7.3.3": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz" + integrity sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig== + dependencies: + "@babel/code-frame" "^7.24.7" + "@babel/parser" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/traverse@^7.24.7", "@babel/traverse@^7.7.2": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz" + integrity sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA== + dependencies: + "@babel/code-frame" "^7.24.7" + "@babel/generator" "^7.24.7" + "@babel/helper-environment-visitor" "^7.24.7" + "@babel/helper-function-name" "^7.24.7" + "@babel/helper-hoist-variables" "^7.24.7" + "@babel/helper-split-export-declaration" "^7.24.7" + "@babel/parser" "^7.24.7" + "@babel/types" "^7.24.7" + debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.18.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.18.0" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.18.0.tgz" - integrity sha512-vhAmLPAiC8j9K2GnsnLPCIH5wCrPpYIVBCWRBFDCB7Y/BXLqi/O+1RSTTM2bsmg6U/551+FCf9PNPxjABmxHTw== +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.24.7", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.24.7" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz" + integrity sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q== dependencies: - "@babel/helper-validator-identifier" "^7.16.7" + "@babel/helper-string-parser" "^7.24.7" + "@babel/helper-validator-identifier" "^7.24.7" to-fast-properties "^2.0.0" "@bcoe/v8-coverage@^0.2.3": @@ -1003,63 +1078,63 @@ integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== "@braintree/sanitize-url@^6.0.0": - version "6.0.0" - resolved "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.0.tgz" - integrity sha512-mgmE7XBYY/21erpzhexk4Cj1cyTQ9LzvnTxtzM17BJ7ERMNE6W72mQRo0I1Ud8eFJ+RVVIcBNhLFZ3GX4XFz5w== + version "6.0.4" + resolved "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz" + integrity sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A== -"@colors/colors@1.5.0": - version "1.5.0" - resolved "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz" - integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== +"@colors/colors@^1.6.0", "@colors/colors@1.6.0": + version "1.6.0" + resolved "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz" + integrity sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA== -"@commitlint/config-validator@^17.0.0": - version "17.0.0" - resolved "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-17.0.0.tgz" - integrity sha512-78IQjoZWR4kDHp/U5y17euEWzswJpPkA9TDL5F6oZZZaLIEreWzrDZD5PWtM8MsSRl/K2LDU/UrzYju2bKLMpA== +"@commitlint/config-validator@^19.0.3": + version "19.0.3" + resolved "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-19.0.3.tgz" + integrity sha512-2D3r4PKjoo59zBc2auodrSCaUnCSALCx54yveOFwwP/i2kfEAQrygwOleFWswLqK0UL/F9r07MFi5ev2ohyM4Q== dependencies: - "@commitlint/types" "^17.0.0" - ajv "^6.12.6" + "@commitlint/types" "^19.0.3" + ajv "^8.11.0" -"@commitlint/execute-rule@^17.0.0": - version "17.0.0" - resolved "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-17.0.0.tgz" - integrity sha512-nVjL/w/zuqjCqSJm8UfpNaw66V9WzuJtQvEnCrK4jDw6qKTmZB+1JQ8m6BQVZbNBcwfYdDNKnhIhqI0Rk7lgpQ== +"@commitlint/execute-rule@^19.0.0": + version "19.0.0" + resolved "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-19.0.0.tgz" + integrity sha512-mtsdpY1qyWgAO/iOK0L6gSGeR7GFcdW7tIjcNFxcWkfLDF5qVbPHKuGATFqRMsxcO8OUKNj0+3WOHB7EHm4Jdw== "@commitlint/load@>6.1.1": - version "17.0.0" - resolved "https://registry.npmjs.org/@commitlint/load/-/load-17.0.0.tgz" - integrity sha512-XaiHF4yWQOPAI0O6wXvk+NYLtJn/Xb7jgZEeKd4C1ZWd7vR7u8z5h0PkWxSr0uLZGQsElGxv3fiZ32C5+q6M8w== - dependencies: - "@commitlint/config-validator" "^17.0.0" - "@commitlint/execute-rule" "^17.0.0" - "@commitlint/resolve-extends" "^17.0.0" - "@commitlint/types" "^17.0.0" - "@types/node" ">=12" - chalk "^4.1.0" - cosmiconfig "^7.0.0" - cosmiconfig-typescript-loader "^2.0.0" - lodash "^4.17.19" - resolve-from "^5.0.0" - typescript "^4.6.4" + version "19.2.0" + resolved "https://registry.npmjs.org/@commitlint/load/-/load-19.2.0.tgz" + integrity sha512-XvxxLJTKqZojCxaBQ7u92qQLFMMZc4+p9qrIq/9kJDy8DOrEa7P1yx7Tjdc2u2JxIalqT4KOGraVgCE7eCYJyQ== + dependencies: + "@commitlint/config-validator" "^19.0.3" + "@commitlint/execute-rule" "^19.0.0" + "@commitlint/resolve-extends" "^19.1.0" + "@commitlint/types" "^19.0.3" + chalk "^5.3.0" + cosmiconfig "^9.0.0" + cosmiconfig-typescript-loader "^5.0.0" + lodash.isplainobject "^4.0.6" + lodash.merge "^4.6.2" + lodash.uniq "^4.5.0" -"@commitlint/resolve-extends@^17.0.0": - version "17.0.0" - resolved "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-17.0.0.tgz" - integrity sha512-wi60WiJmwaQ7lzMXK8Vbc18Hq9tE2j/6iv2AFfPUGV7fvfY6Sf1iNKuUHirSqR0fquUyufIXe4y/K9A6LVIIvw== +"@commitlint/resolve-extends@^19.1.0": + version "19.1.0" + resolved "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-19.1.0.tgz" + integrity sha512-z2riI+8G3CET5CPgXJPlzftH+RiWYLMYv4C9tSLdLXdr6pBNimSKukYP9MS27ejmscqCTVA4almdLh0ODD2KYg== dependencies: - "@commitlint/config-validator" "^17.0.0" - "@commitlint/types" "^17.0.0" - import-fresh "^3.0.0" - lodash "^4.17.19" + "@commitlint/config-validator" "^19.0.3" + "@commitlint/types" "^19.0.3" + global-directory "^4.0.1" + import-meta-resolve "^4.0.0" + lodash.mergewith "^4.6.2" resolve-from "^5.0.0" - resolve-global "^1.0.0" -"@commitlint/types@^17.0.0": - version "17.0.0" - resolved "https://registry.npmjs.org/@commitlint/types/-/types-17.0.0.tgz" - integrity sha512-hBAw6U+SkAT5h47zDMeOu3HSiD0SODw4Aq7rRNh1ceUmL7GyLKYhPbUvlRWqZ65XjBLPHZhFyQlRaPNz8qvUyQ== +"@commitlint/types@^19.0.3": + version "19.0.3" + resolved "https://registry.npmjs.org/@commitlint/types/-/types-19.0.3.tgz" + integrity sha512-tpyc+7i6bPG9mvaBbtKUeghfyZSDgWquIDfMgqYtTbmZ9Y9VzEm2je9EYcQ0aoz5o7NvGS+rcDec93yO08MHYA== dependencies: - chalk "^4.1.0" + "@types/conventional-commits-parser" "^5.0.0" + chalk "^5.3.0" "@cspotcode/source-map-support@^0.8.0": version "0.8.1" @@ -1077,6 +1152,13 @@ enabled "2.0.x" kuler "^2.0.0" +"@eslint-community/eslint-utils@^4.2.0": + version "4.4.0" + resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + "@eslint/eslintrc@^0.4.3": version "0.4.3" resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz" @@ -1301,45 +1383,45 @@ "@types/yargs" "^16.0.0" chalk "^4.0.0" -"@jridgewell/gen-mapping@^0.1.0": - version "0.1.1" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== - dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/gen-mapping@^0.3.0": - version "0.3.1" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz" - integrity sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg== +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== dependencies: - "@jridgewell/set-array" "^1.0.0" + "@jridgewell/set-array" "^1.2.1" "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/trace-mapping" "^0.3.24" -"@jridgewell/resolve-uri@^3.0.3": - version "3.0.7" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz" - integrity sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA== +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== -"@jridgewell/set-array@^1.0.0": - version "1.1.1" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz" - integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ== +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== "@jridgewell/source-map@^0.3.3": - version "0.3.5" - resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz" - integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== + version "0.3.6" + resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz" + integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ== dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.13" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz" - integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w== +"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" "@jridgewell/trace-mapping@0.3.9": version "0.3.9" @@ -1349,13 +1431,12 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@jridgewell/trace-mapping@^0.3.9": - version "0.3.13" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz" - integrity sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w== +"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": + version "5.1.1-v1" + resolved "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz" + integrity sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg== dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" + eslint-scope "5.1.1" "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -1365,7 +1446,7 @@ "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": version "2.0.5" resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== @@ -1379,17 +1460,17 @@ fastq "^1.6.0" "@npmcli/fs@^2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.0.tgz" - integrity sha512-DmfBvNXGaetMxj9LTp8NAN9vEidXURrf5ZTslQzEAi/6GbW+4yjaLFQc6Tue5cpZ9Frlk4OBo/Snf1Bh/S7qTQ== + version "2.1.2" + resolved "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz" + integrity sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ== dependencies: "@gar/promisify" "^1.1.3" semver "^7.3.5" "@npmcli/move-file@^2.0.0": - version "2.0.0" - resolved "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.0.tgz" - integrity sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg== + version "2.0.1" + resolved "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz" + integrity sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ== dependencies: mkdirp "^1.0.4" rimraf "^3.0.2" @@ -1423,9 +1504,9 @@ resolve "^1.11.0" "@rollup/plugin-eslint@^8.0.1": - version "8.0.2" - resolved "https://registry.npmjs.org/@rollup/plugin-eslint/-/plugin-eslint-8.0.2.tgz" - integrity sha512-XI38cLYfl/jww8KklJT/ji0yJbCyHgFWPbVQlGrgWblWgHlngteOJDhqtc+7iy5ek0q8k6tvBYkbCQwMScEJHA== + version "8.0.5" + resolved "https://registry.npmjs.org/@rollup/plugin-eslint/-/plugin-eslint-8.0.5.tgz" + integrity sha512-cSasMRxV4lddMpjcHSN9QV4MCDxYQWuXhc3xa0lUuw+DEQuS0tNoKNZEzsEZqoEvs4KVkHgDpbhQ4jKU+AZ9iw== dependencies: "@rollup/pluginutils" "^4.0.0" eslint "^7.12.0" @@ -1438,9 +1519,9 @@ "@rollup/pluginutils" "^3.0.8" "@rollup/plugin-node-resolve@^15.1.0": - version "15.2.1" - resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.1.tgz" - integrity sha512-nsbUg588+GDSu8/NS8T4UAshO6xeaOfINNuXeVHcKV02LJtoRaM1SiOacClw4kws1SFiNhdLGxlbMY9ga/zs/w== + version "15.2.3" + resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz" + integrity sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ== dependencies: "@rollup/pluginutils" "^5.0.1" "@types/resolve" "1.20.2" @@ -1458,9 +1539,9 @@ magic-string "^0.25.7" "@rollup/plugin-terser@^0.4.3": - version "0.4.3" - resolved "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.3.tgz" - integrity sha512-EF0oejTMtkyhrkwCdg0HJ0IpkcaVg1MMSf2olHb2Jp+1mnLM04OhjpJWGma4HobiDTF0WCyViWuvadyE9ch2XA== + version "0.4.4" + resolved "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz" + integrity sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A== dependencies: serialize-javascript "^6.0.1" smob "^1.0.0" @@ -1475,7 +1556,15 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@rollup/pluginutils@^4.0.0", "@rollup/pluginutils@^4.1.2": +"@rollup/pluginutils@^4.0.0": + version "4.2.1" + resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz" + integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== + dependencies: + estree-walker "^2.0.1" + picomatch "^2.2.2" + +"@rollup/pluginutils@^4.1.2": version "4.2.1" resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz" integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== @@ -1484,18 +1573,18 @@ picomatch "^2.2.2" "@rollup/pluginutils@^5.0.1": - version "5.0.3" - resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.3.tgz" - integrity sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g== + version "5.1.0" + resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz" + integrity sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g== dependencies: "@types/estree" "^1.0.0" estree-walker "^2.0.2" picomatch "^2.3.1" "@sinonjs/commons@^1.7.0": - version "1.8.3" - resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz" - integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== + version "1.8.6" + resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz" + integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== dependencies: type-detect "4.0.8" @@ -1517,57 +1606,57 @@ integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== "@tsconfig/node10@^1.0.7": - version "1.0.8" - resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz" - integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg== + version "1.0.11" + resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz" + integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== "@tsconfig/node12@^1.0.7": - version "1.0.9" - resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz" - integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw== + version "1.0.11" + resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== "@tsconfig/node14@^1.0.0": - version "1.0.1" - resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz" - integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg== + version "1.0.3" + resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== "@tsconfig/node16@^1.0.2": - version "1.0.2" - resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz" - integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== + version "1.0.4" + resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": - version "7.1.19" - resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz" - integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14", "@types/babel__core@^7.1.9": + version "7.20.5" + resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz" + integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" "@types/babel__generator" "*" "@types/babel__template" "*" "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.6.4" - resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz" - integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== + version "7.6.8" + resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz" + integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": - version "7.4.1" - resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + version "7.4.4" + resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz" + integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.17.1" - resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz" - integrity sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA== + version "7.20.6" + resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz" + integrity sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg== dependencies: - "@babel/types" "^7.3.0" + "@babel/types" "^7.20.7" "@types/codemirror@^0.0.108": version "0.0.108" @@ -1576,10 +1665,17 @@ dependencies: "@types/tern" "*" +"@types/conventional-commits-parser@^5.0.0": + version "5.0.0" + resolved "https://registry.npmjs.org/@types/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz" + integrity sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ== + dependencies: + "@types/node" "*" + "@types/dompurify@^2.2.3": - version "2.3.3" - resolved "https://registry.npmjs.org/@types/dompurify/-/dompurify-2.3.3.tgz" - integrity sha512-nnVQSgRVuZ/843oAfhA25eRSNzUFcBPk/LOiw5gm8mD9/X7CNcbRkQu/OsjCewO8+VIYfPxUnXvPEVGenw14+w== + version "2.4.0" + resolved "https://registry.npmjs.org/@types/dompurify/-/dompurify-2.4.0.tgz" + integrity sha512-IDBwO5IZhrKvHFUl+clZxgf3hn2b/lU6H1KaBShPkQyGJUQ0xwebezIPSuiyGwfz1UzJWQl4M7BDxtHtCCPlTg== dependencies: "@types/trusted-types" "*" @@ -1590,16 +1686,16 @@ dependencies: "@types/zrender" "*" -"@types/estree@*", "@types/estree@0.0.39": +"@types/estree@*", "@types/estree@^1.0.0": + version "1.0.5" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + +"@types/estree@0.0.39": version "0.0.39" resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz" integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== -"@types/estree@^1.0.0": - version "1.0.1" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz" - integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== - "@types/glob@^7.2.0": version "7.2.0" resolved "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz" @@ -1609,62 +1705,62 @@ "@types/node" "*" "@types/graceful-fs@^4.1.2": - version "4.1.5" - resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== + version "4.1.9" + resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz" + integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== dependencies: "@types/node" "*" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.4" - resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + version "2.0.6" + resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== "@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + version "3.0.3" + resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + version "3.0.4" + resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@^27.0.3": - version "27.5.1" - resolved "https://registry.npmjs.org/@types/jest/-/jest-27.5.1.tgz" - integrity sha512-fUy7YRpT+rHXto1YlL+J9rs0uLGyiqVt3ZOTQR+4ROc47yNl8WLdVLgUloBRhOxP1PZvguHl44T3H0wAWxahYQ== +"@types/jest@^27.0.0", "@types/jest@^27.0.3": + version "27.5.2" + resolved "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz" + integrity sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA== dependencies: jest-matcher-utils "^27.0.0" pretty-format "^27.0.0" "@types/jsdom@^16.2.13": - version "16.2.14" - resolved "https://registry.npmjs.org/@types/jsdom/-/jsdom-16.2.14.tgz" - integrity sha512-6BAy1xXEmMuHeAJ4Fv4yXKwBDTGTOseExKE3OaHiNycdHdZw59KfYzrt0DkDluvwmik1HRt6QS7bImxUmpSy+w== + version "16.2.15" + resolved "https://registry.npmjs.org/@types/jsdom/-/jsdom-16.2.15.tgz" + integrity sha512-nwF87yjBKuX/roqGYerZZM0Nv1pZDMAT5YhOHYeM/72Fic+VEqJh4nyoqoapzJnW3pUlfxPY5FhgsJtM+dRnQQ== dependencies: "@types/node" "*" - "@types/parse5" "*" + "@types/parse5" "^6.0.3" "@types/tough-cookie" "*" "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.9": - version "7.0.11" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + version "7.0.15" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/json5@^0.0.29": version "0.0.29" - resolved "https://mirrors.tencent.com/npm/@types/json5/-/json5-0.0.29.tgz" - integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== "@types/lodash@^4.14.170": - version "4.14.182" - resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.182.tgz" - integrity sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q== + version "4.17.5" + resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.5.tgz" + integrity sha512-MBIOHVZqVqgfro1euRDWX7OO0fBVUUMrN6Pwm8LQsz8cWhEpihlvR70ENj3f40j58TNxZaWv2ndSkInykNBBJw== "@types/mermaid@^8.2.6": version "8.2.9" @@ -1672,100 +1768,100 @@ integrity sha512-f1i8fNoVFVJXedk+R7GcEk4KoOWzWAU3CzFqlVw1qWKktfsataBERezCz1pOdKy8Ec02ZdPQXGM7NU2lPHABYQ== "@types/minimatch@*": - version "3.0.5" - resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz" - integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== + version "5.1.2" + resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz" + integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== "@types/minimist@^1.2.0": - version "1.2.2" - resolved "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz" - integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== + version "1.2.5" + resolved "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz" + integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== -"@types/node@*", "@types/node@>=12", "@types/node@^17.0.42": - version "17.0.42" - resolved "https://registry.npmjs.org/@types/node/-/node-17.0.42.tgz" - integrity sha512-Q5BPGyGKcvQgAMbsr7qEGN/kIPN6zZecYYABeTDBizOsau+2NMdSVTar9UQw21A2+JyA2KRNDYaYrPB0Rpk2oQ== +"@types/node@*", "@types/node@^17.0.42": + version "17.0.45" + resolved "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz" + integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== "@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + version "2.4.4" + resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz" + integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== -"@types/parse5@*": +"@types/parse5@^6.0.3": version "6.0.3" resolved "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz" integrity sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g== "@types/prettier@^2.1.5": - version "2.6.1" - resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.1.tgz" - integrity sha512-XFjFHmaLVifrAKaZ+EKghFHtHSUonyw8P2Qmy2/+osBnrKbH9UYtlK10zg8/kCt47MFilll/DEDKy3DHfJ0URw== + version "2.7.3" + resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz" + integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== "@types/q@^1.5.1": - version "1.5.5" - resolved "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz" - integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ== + version "1.5.8" + resolved "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz" + integrity sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw== "@types/resolve@1.20.2": version "1.20.2" resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz" integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q== +"@types/semver@^7.3.12": + version "7.5.8" + resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz" + integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== + "@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== + version "2.0.3" + resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz" + integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== "@types/tern@*": - version "0.23.4" - resolved "https://registry.npmjs.org/@types/tern/-/tern-0.23.4.tgz" - integrity sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg== + version "0.23.9" + resolved "https://registry.npmjs.org/@types/tern/-/tern-0.23.9.tgz" + integrity sha512-ypzHFE/wBzh+BlH6rrBgS5I/Z7RD21pGhZ2rltb/+ZrVM1awdZwjx7hE5XfuYgHWk9uvV5HLZN3SloevCAp3Bw== dependencies: "@types/estree" "*" "@types/tough-cookie@*": - version "4.0.2" - resolved "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz" - integrity sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw== + version "4.0.5" + resolved "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz" + integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== "@types/triple-beam@^1.3.2": - version "1.3.2" - resolved "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.2.tgz" - integrity sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g== + version "1.3.5" + resolved "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz" + integrity sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw== "@types/trusted-types@*": - version "2.0.2" - resolved "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz" - integrity sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg== + version "2.0.7" + resolved "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz" + integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw== "@types/virtual-dom@^2.1.0": - version "2.1.1" - resolved "https://registry.npmjs.org/@types/virtual-dom/-/virtual-dom-2.1.1.tgz" - integrity sha512-BPy2A3WXWL9RMoQQ0UQueKX93N/NL9KmlyNiSklj+Sbn91unDLcIUS00diWzV32N9CD7rRUrXE9VIzqMAZ3Wcg== + version "2.1.4" + resolved "https://registry.npmjs.org/@types/virtual-dom/-/virtual-dom-2.1.4.tgz" + integrity sha512-Y7L/frVydXRd16MevczslJZQu+QWsrqZlj6ytk7mST3xen0fkx7Ollw31By/89A8Wq+nfNWm/IoTR1ac/0fRhA== "@types/yargs-parser@*": - version "21.0.0" - resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" - integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== + version "21.0.3" + resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== "@types/yargs@^16.0.0": - version "16.0.4" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz" - integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== + version "16.0.9" + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz" + integrity sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA== dependencies: "@types/yargs-parser" "*" "@types/zrender@*": - version "4.0.2" - resolved "https://registry.npmjs.org/@types/zrender/-/zrender-4.0.2.tgz" - integrity sha512-Y/3hGzYeFdJUD4yWV0a+jkk3kIjtrbjzxwqkAWRjXLGm6lpL2tckg3vgopkn9KKPK1QyzwGH+JSDvzbKJO59+Q== + version "4.0.6" + resolved "https://registry.npmjs.org/@types/zrender/-/zrender-4.0.6.tgz" + integrity sha512-1jZ9bJn2BsfmYFPBHtl5o3uV+ILejAtGrDcYSpT4qaVKEI/0YY+arw3XHU04Ebd8Nca3SQ7uNcLaqiL+tTFVMg== -"@typescript-eslint/eslint-plugin@^4.27.0": +"@typescript-eslint/eslint-plugin@^4.0.0 || ^5.0.0", "@typescript-eslint/eslint-plugin@^4.27.0", "@typescript-eslint/eslint-plugin@^4.27.0 || ^5.12.0": version "4.33.0" resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz" integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== @@ -1779,6 +1875,13 @@ semver "^7.3.5" tsutils "^3.21.0" +"@typescript-eslint/experimental-utils@^5.0.0": + version "5.62.0" + resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz" + integrity sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw== + dependencies: + "@typescript-eslint/utils" "5.62.0" + "@typescript-eslint/experimental-utils@4.33.0": version "4.33.0" resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz" @@ -1791,14 +1894,7 @@ eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/experimental-utils@^5.0.0": - version "5.25.0" - resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.25.0.tgz" - integrity sha512-YTe9rmslCh1xAvNa3X+uZe4L2lsyb8V3WIeK9z46nNiPswk/V/0SGLJSfo8W9Hj4R7ak7bolazXGn3DErmb8QA== - dependencies: - "@typescript-eslint/utils" "5.25.0" - -"@typescript-eslint/parser@^4.27.0": +"@typescript-eslint/parser@^4.0.0", "@typescript-eslint/parser@^4.27.0", "@typescript-eslint/parser@^4.27.0 || ^5.12.0": version "4.33.0" resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz" integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== @@ -1816,23 +1912,23 @@ "@typescript-eslint/types" "4.33.0" "@typescript-eslint/visitor-keys" "4.33.0" -"@typescript-eslint/scope-manager@5.25.0": - version "5.25.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.25.0.tgz" - integrity sha512-p4SKTFWj+2VpreUZ5xMQsBMDdQ9XdRvODKXN4EksyBjFp2YvQdLkyHqOffakYZPuWJUDNu3jVXtHALDyTv3cww== +"@typescript-eslint/scope-manager@5.62.0": + version "5.62.0" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz" + integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== dependencies: - "@typescript-eslint/types" "5.25.0" - "@typescript-eslint/visitor-keys" "5.25.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" "@typescript-eslint/types@4.33.0": version "4.33.0" resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz" integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== -"@typescript-eslint/types@5.25.0": - version "5.25.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.25.0.tgz" - integrity sha512-7fWqfxr0KNHj75PFqlGX24gWjdV/FDBABXL5dyvBOWHpACGyveok8Uj4ipPX/1fGU63fBkzSIycEje4XsOxUFA== +"@typescript-eslint/types@5.62.0": + version "5.62.0" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz" + integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== "@typescript-eslint/typescript-estree@4.33.0": version "4.33.0" @@ -1847,30 +1943,32 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@5.25.0": - version "5.25.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.25.0.tgz" - integrity sha512-MrPODKDych/oWs/71LCnuO7NyR681HuBly2uLnX3r5i4ME7q/yBqC4hW33kmxtuauLTM0OuBOhhkFaxCCOjEEw== +"@typescript-eslint/typescript-estree@5.62.0": + version "5.62.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz" + integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== dependencies: - "@typescript-eslint/types" "5.25.0" - "@typescript-eslint/visitor-keys" "5.25.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.25.0": - version "5.25.0" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.25.0.tgz" - integrity sha512-qNC9bhnz/n9Kba3yI6HQgQdBLuxDoMgdjzdhSInZh6NaDnFpTUlwNGxplUFWfY260Ya0TRPvkg9dd57qxrJI9g== +"@typescript-eslint/utils@5.62.0": + version "5.62.0" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz" + integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== dependencies: + "@eslint-community/eslint-utils" "^4.2.0" "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.25.0" - "@typescript-eslint/types" "5.25.0" - "@typescript-eslint/typescript-estree" "5.25.0" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" eslint-scope "^5.1.1" - eslint-utils "^3.0.0" + semver "^7.3.7" "@typescript-eslint/visitor-keys@4.33.0": version "4.33.0" @@ -1880,33 +1978,25 @@ "@typescript-eslint/types" "4.33.0" eslint-visitor-keys "^2.0.0" -"@typescript-eslint/visitor-keys@5.25.0": - version "5.25.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.25.0.tgz" - integrity sha512-yd26vFgMsC4h2dgX4+LR+GeicSKIfUvZREFLf3DDjZPtqgLx5AJZr6TetMNwFP9hcKreTTeztQYBTNbNoOycwA== +"@typescript-eslint/visitor-keys@5.62.0": + version "5.62.0" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz" + integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== dependencies: - "@typescript-eslint/types" "5.25.0" + "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" -"@zeit/schemas@2.29.0": - version "2.29.0" - resolved "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.29.0.tgz" - integrity sha512-g5QiLIfbg3pLuYUJPlisNKY+epQJTcMDsOnVNkscrDP1oi7vmJnzOANYJI/1pZcVJ6umUkBv3aFtlg1UvUHGzA== - -JSONStream@^1.0.4: - version "1.3.5" - resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" +"@zeit/schemas@2.36.0": + version "2.36.0" + resolved "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.36.0.tgz" + integrity sha512-7kjMwcChYEzMKjeex9ZFXkt1AyNov9R5HZtjBKVsmVpw7pa7ZtlCGvCBC2vnnXctaYN+aRI61HjIqeetZW5ROg== abab@^2.0.3, abab@^2.0.5, abab@^2.0.6: version "2.0.6" resolved "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz" integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== -abbrev@1: +abbrev@^1.0.0: version "1.1.1" resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== @@ -1938,26 +2028,38 @@ acorn-walk@^7.1.1: integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== acorn-walk@^8.1.1: - version "8.2.0" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + version "8.3.3" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz" + integrity sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw== + dependencies: + acorn "^8.11.0" -acorn@8.8.2, acorn@^8.2.4, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.8.2: - version "8.8.2" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz" - integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.11.0, acorn@^8.2.4, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.8.2: + version "8.12.0" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz" + integrity sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw== -acorn@^7.1.1, acorn@^7.4.0: +acorn@^7.1.1: version "7.4.1" resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== +acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@8.11.3: + version "8.11.3" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + add-stream@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz" integrity sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ== -agent-base@6, agent-base@^6.0.2: +agent-base@^6.0.2, agent-base@6: version "6.0.2" resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== @@ -1965,12 +2067,10 @@ agent-base@6, agent-base@^6.0.2: debug "4" agentkeepalive@^4.2.1: - version "4.2.1" - resolved "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz" - integrity sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA== + version "4.5.0" + resolved "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz" + integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== dependencies: - debug "^4.1.0" - depd "^1.1.2" humanize-ms "^1.2.1" aggregate-error@^3.0.0: @@ -1981,17 +2081,7 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" -ajv@8.11.0, ajv@^8.0.1: - version "8.11.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz" - integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.6: +ajv@^6.10.0, ajv@^6.12.4: version "6.12.6" resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -2001,6 +2091,36 @@ ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.6: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^8.0.1: + version "8.16.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz" + integrity sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw== + dependencies: + fast-deep-equal "^3.1.3" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.4.1" + +ajv@^8.11.0: + version "8.16.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz" + integrity sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw== + dependencies: + fast-deep-equal "^3.1.3" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.4.1" + +ajv@8.12.0: + version "8.12.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + alphanum-sort@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz" @@ -2044,11 +2164,31 @@ ansi-gray@^0.1.1: dependencies: ansi-wrap "0.1.0" -ansi-regex@5.0.1, ansi-regex@^2.0.0, ansi-regex@^3.0.0, ansi-regex@^4.1.0, ansi-regex@^5.0.1, ansi-regex@^6.0.1: +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" + integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== + +ansi-regex@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz" + integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== + +ansi-regex@^4.1.0: + version "4.1.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz" + integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== + +ansi-regex@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" @@ -2061,7 +2201,14 @@ ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-styles@^4.0.0, ansi-styles@^4.1.0: +ansi-styles@^4.0.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== @@ -2074,24 +2221,32 @@ ansi-styles@^5.0.0: integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== ansi-styles@^6.0.0: - version "6.1.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.0.tgz" - integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ== + version "6.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== ansi-styles@^6.1.0: version "6.2.1" resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== -ansi-wrap@0.1.0, ansi-wrap@^0.1.0: +ansi-wrap@^0.1.0, ansi-wrap@0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz" integrity sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw== +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + anymatch@^3.0.3, anymatch@~3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + version "3.1.3" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" @@ -2119,23 +2274,23 @@ archy@^1.0.0: integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== are-we-there-yet@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz" - integrity sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw== + version "3.0.1" + resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz" + integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg== dependencies: delegates "^1.0.0" readable-stream "^3.6.0" -arg@5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" - integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== - arg@^4.1.0: version "4.1.3" resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== +arg@5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" + integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== + argparse@^1.0.6, argparse@^1.0.7: version "1.0.10" resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" @@ -2143,6 +2298,11 @@ argparse@^1.0.6, argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz" @@ -2172,13 +2332,13 @@ arr-union@^3.1.0: resolved "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== -array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://mirrors.tencent.com/npm/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== +array-buffer-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz" + integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" + call-bind "^1.0.5" + is-array-buffer "^3.0.4" array-differ@^1.0.0: version "1.0.0" @@ -2195,15 +2355,16 @@ array-ify@^1.0.0: resolved "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz" integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== -array-includes@^3.1.6: - version "3.1.6" - resolved "https://mirrors.tencent.com/npm/array-includes/-/array-includes-3.1.6.tgz" - integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - get-intrinsic "^1.1.3" +array-includes@^3.1.7: + version "3.1.8" + resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz" + integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" is-string "^1.0.7" array-initial@^1.0.0: @@ -2250,25 +2411,36 @@ array-unique@^0.3.2: resolved "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== -array.prototype.findlastindex@^1.2.2: - version "1.2.2" - resolved "https://mirrors.tencent.com/npm/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz" - integrity sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw== +array.prototype.findlastindex@^1.2.3: + version "1.2.5" + resolved "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz" + integrity sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-shim-unscopables "^1.0.2" + +array.prototype.flat@^1.3.2: + version "1.3.2" + resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" - get-intrinsic "^1.1.3" -array.prototype.flat@^1.3.1: - version "1.3.1" - resolved "https://mirrors.tencent.com/npm/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz" - integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== +array.prototype.flatmap@^1.3.2: + version "1.3.2" + resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz" + integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" array.prototype.flatmap@1.2.4: @@ -2281,37 +2453,31 @@ array.prototype.flatmap@1.2.4: es-abstract "^1.18.0-next.1" function-bind "^1.1.1" -array.prototype.flatmap@^1.3.1: - version "1.3.1" - resolved "https://mirrors.tencent.com/npm/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz" - integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - -array.prototype.reduce@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz" - integrity sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw== +array.prototype.reduce@^1.0.6: + version "1.0.7" + resolved "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.7.tgz" + integrity sha512-mzmiUCVwtiD4lgxYP8g7IYy8El8p2CSMePvIbTS7gchKir/L1fgJrk0yDKmAX6mnRQFKNADYIk8nNlTris5H1Q== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.2" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" es-array-method-boxes-properly "^1.0.0" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" is-string "^1.0.7" -arraybuffer.prototype.slice@^1.0.1: - version "1.0.1" - resolved "https://mirrors.tencent.com/npm/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz" - integrity sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw== - dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.2" - define-properties "^1.2.0" - get-intrinsic "^1.2.1" - is-array-buffer "^3.0.2" +arraybuffer.prototype.slice@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz" + integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== + dependencies: + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.2.1" + get-intrinsic "^1.2.3" + is-array-buffer "^3.0.4" is-shared-array-buffer "^1.0.2" arrify@^1.0.1: @@ -2329,7 +2495,7 @@ astral-regex@^2.0.0: resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== -async-done@^1.2.2: +async-done@^1.2.0, async-done@^1.2.2: version "1.3.2" resolved "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz" integrity sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw== @@ -2339,14 +2505,10 @@ async-done@^1.2.2: process-nextick-args "^2.0.0" stream-exhaust "^1.0.1" -async-done@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/async-done/-/async-done-2.0.0.tgz" - integrity sha512-j0s3bzYq9yKIVLKGE/tWlCpa3PfFLcrDZLTSVdnnCTGagXuXBJO4SsY9Xdk/fQBirCkH4evW5xOeJXqlAQFdsw== - dependencies: - end-of-stream "^1.4.4" - once "^1.4.0" - stream-exhaust "^1.0.2" +async-each@^1.0.1: + version "1.0.6" + resolved "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz" + integrity sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg== async-settle@^1.0.0: version "1.0.0" @@ -2356,35 +2518,42 @@ async-settle@^1.0.0: async-done "^1.2.2" async@^3.2.3, async@^3.2.4: - version "3.2.4" - resolved "https://registry.npmjs.org/async/-/async-3.2.4.tgz" - integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== + version "3.2.5" + resolved "https://registry.npmjs.org/async/-/async-3.2.5.tgz" + integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== asynckit@^0.4.0: version "0.4.0" resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + atob@^2.1.2: version "2.1.2" resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://mirrors.tencent.com/npm/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" axios@^0.26.0: version "0.26.1" - resolved "https://mirrors.tencent.com/npm/axios/-/axios-0.26.1.tgz" + resolved "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz" integrity sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA== dependencies: follow-redirects "^1.14.8" -babel-jest@27, babel-jest@^27.5.1: +babel-jest@^27.5.1, "babel-jest@>=27.0.0 <28", babel-jest@27: version "27.5.1" - resolved "https://mirrors.tencent.com/npm/babel-jest/-/babel-jest-27.5.1.tgz" + resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz" integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg== dependencies: "@jest/transform" "^27.5.1" @@ -2396,13 +2565,6 @@ babel-jest@27, babel-jest@^27.5.1: graceful-fs "^4.2.9" slash "^3.0.0" -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - babel-plugin-istanbul@^6.1.1: version "6.1.1" resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" @@ -2416,7 +2578,7 @@ babel-plugin-istanbul@^6.1.1: babel-plugin-jest-hoist@^27.5.1: version "27.5.1" - resolved "https://mirrors.tencent.com/npm/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz" + resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz" integrity sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ== dependencies: "@babel/template" "^7.3.3" @@ -2424,29 +2586,29 @@ babel-plugin-jest-hoist@^27.5.1: "@types/babel__core" "^7.0.0" "@types/babel__traverse" "^7.0.6" -babel-plugin-polyfill-corejs2@^0.3.0: - version "0.3.1" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz" - integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w== +babel-plugin-polyfill-corejs2@^0.4.10: + version "0.4.11" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz" + integrity sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q== dependencies: - "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.3.1" - semver "^6.1.1" + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.6.2" + semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.5.0: - version "0.5.2" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz" - integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ== +babel-plugin-polyfill-corejs3@^0.10.1, babel-plugin-polyfill-corejs3@^0.10.4: + version "0.10.4" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz" + integrity sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.1" - core-js-compat "^3.21.0" + "@babel/helper-define-polyfill-provider" "^0.6.1" + core-js-compat "^3.36.1" -babel-plugin-polyfill-regenerator@^0.3.0: - version "0.3.1" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz" - integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A== +babel-plugin-polyfill-regenerator@^0.6.1: + version "0.6.2" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz" + integrity sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg== dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.1" + "@babel/helper-define-polyfill-provider" "^0.6.2" babel-plugin-prismjs@^2.1.0: version "2.1.0" @@ -2473,7 +2635,7 @@ babel-preset-current-node-syntax@^1.0.0: babel-preset-jest@^27.5.1: version "27.5.1" - resolved "https://mirrors.tencent.com/npm/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz" + resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz" integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag== dependencies: babel-plugin-jest-hoist "^27.5.1" @@ -2499,16 +2661,6 @@ balanced-match@^1.0.0: resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base64-arraybuffer@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz" - integrity sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ== - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - base@^0.11.1: version "0.11.2" resolved "https://registry.npmjs.org/base/-/base-0.11.2.tgz" @@ -2522,6 +2674,16 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" +base64-arraybuffer@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz" + integrity sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + beeper@^1.0.0: version "1.1.1" resolved "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz" @@ -2532,10 +2694,15 @@ big.js@^5.2.2: resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== + binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + version "2.3.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== bindings@^1.5.0: version "1.5.0" @@ -2592,7 +2759,7 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" -braces@^2.3.1: +braces@^2.3.1, braces@^2.3.2: version "2.3.2" resolved "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz" integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== @@ -2608,12 +2775,12 @@ braces@^2.3.1: split-string "^3.0.2" to-regex "^3.0.1" -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== +braces@^3.0.3, braces@~3.0.2: + version "3.0.3" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== dependencies: - fill-range "^7.0.1" + fill-range "^7.1.1" browser-process-hrtime@^1.0.0: version "1.0.0" @@ -2625,16 +2792,15 @@ browser-split@0.0.1: resolved "https://registry.npmjs.org/browser-split/-/browser-split-0.0.1.tgz" integrity sha512-JhvgRb2ihQhsljNda3BI8/UcRHVzrVwo3Q+P8vDtSiyobXuFpuZ9mq+MbRGMnC22CjW3RrfXdg6j6ITX8M+7Ow== -browserslist@^4.0.0, browserslist@^4.20.2, browserslist@^4.20.3: - version "4.20.3" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz" - integrity sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg== +browserslist@^4.0.0, browserslist@^4.22.2, browserslist@^4.23.0, "browserslist@>= 4.21.0": + version "4.23.1" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz" + integrity sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw== dependencies: - caniuse-lite "^1.0.30001332" - electron-to-chromium "^1.4.118" - escalade "^3.1.1" - node-releases "^2.0.3" - picocolors "^1.0.0" + caniuse-lite "^1.0.30001629" + electron-to-chromium "^1.4.796" + node-releases "^2.0.14" + update-browserslist-db "^1.0.16" bs-logger@0.x: version "0.2.6" @@ -2651,9 +2817,9 @@ bser@2.1.1: node-int64 "^0.4.0" buffer-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz" - integrity sha512-tcBWO2Dl4e7Asr9hTGcpVrCe+F7DubpmqWCTbj4FHLmjqO2hIaC383acQubWtRJhdceqs5uBHs6Es+Sk//RKiQ== + version "1.0.1" + resolved "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.1.tgz" + integrity sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg== buffer-from@^1.0.0: version "1.1.2" @@ -2693,9 +2859,9 @@ bytes@3.0.0: integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== cacache@^16.1.0: - version "16.1.0" - resolved "https://registry.npmjs.org/cacache/-/cacache-16.1.0.tgz" - integrity sha512-Pk4aQkwCW82A4jGKFvcGkQFqZcMspfP9YWq9Pr87/ldDvlWf718zeI6KWCdKt/jeihu6BytHRUicJPB1K2k8EQ== + version "16.1.3" + resolved "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz" + integrity sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ== dependencies: "@npmcli/fs" "^2.1.0" "@npmcli/move-file" "^2.0.0" @@ -2714,7 +2880,7 @@ cacache@^16.1.0: rimraf "^3.0.2" ssri "^9.0.0" tar "^6.1.11" - unique-filename "^1.1.1" + unique-filename "^2.0.0" cache-base@^1.0.1: version "1.0.1" @@ -2731,18 +2897,21 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" -cachedir@2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/cachedir/-/cachedir-2.2.0.tgz" - integrity sha512-VvxA0xhNqIIfg0V9AmJkDg91DaJwryutH5rVEZAhcNi4iJFj9f+QxmAjgK1LT9I8OgToX27fypX6/MeCXVbBjQ== +cachedir@2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz" + integrity sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw== -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" + es-define-property "^1.0.0" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" caller-callsite@^2.0.0: version "2.0.0" @@ -2798,9 +2967,9 @@ camelcase@^7.0.0: integrity sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw== camelize@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz" - integrity sha512-W2lPwkBkMZwFlPCXhIlYgxu+7gC/NUlCtdK652DAJ1JdgV0sTrvuPFshNPrFa1TY2JOkLhgdeEBplB4ezEa+xg== + version "1.0.1" + resolved "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz" + integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ== caniuse-api@^3.0.0: version "3.0.0" @@ -2812,10 +2981,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001332: - version "1.0.30001342" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001342.tgz" - integrity sha512-bn6sOCu7L7jcbBbyNhLg0qzXdJ/PMbybZTH/BA6Roet9wxYRm6Tr9D0s0uhLkOZ6MSG+QU6txUgdpr3MXIVqjA== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001629: + version "1.0.30001636" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz" + integrity sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg== chalk-template@0.4.0: version "0.4.0" @@ -2824,12 +2993,18 @@ chalk-template@0.4.0: dependencies: chalk "^4.1.2" -chalk@5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz" - integrity sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w== +chalk@^1.0.0: + version "1.1.3" + resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" + integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" -chalk@^1.0.0, chalk@^1.1.3: +chalk@^1.1.3: version "1.1.3" resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== @@ -2840,7 +3015,7 @@ chalk@^1.0.0, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2849,7 +3024,31 @@ chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.1.1: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.1.2: version "4.1.2" resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -2862,16 +3061,21 @@ chalk@^5.0.1: resolved "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz" integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== +chalk@^5.3.0: + version "5.3.0" + resolved "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz" + integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== + +chalk@5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz" + integrity sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w== + char-regex@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== -charcodes@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/charcodes/-/charcodes-0.2.0.tgz" - integrity sha512-Y4kiDb+AM4Ecy58YkuZrrSRJBDQdQ2L+NyS1vHHFtNtUjgutcZfx3yp1dAONI/oPaPmyGfCLx5CxL+zauIMyKQ== - chardet@^0.7.0: version "0.7.0" resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz" @@ -2882,36 +3086,68 @@ charenc@0.0.2: resolved "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz" integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== -cheerio-select@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz" - integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g== +cheerio-select@^1.5.0: + version "1.6.0" + resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.6.0.tgz" + integrity sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g== dependencies: - boolbase "^1.0.0" - css-select "^5.1.0" - css-what "^6.1.0" - domelementtype "^2.3.0" - domhandler "^5.0.3" - domutils "^3.0.1" - -cheerio@^1.0.0-rc.3: - version "1.0.0-rc.11" - resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.11.tgz" - integrity sha512-bQwNaDIBKID5ts/DsdhxrjqFXYfLw4ste+wMKqWA8DyKcS4qwsPP4Bk8ZNaTJjvpiX/qW3BT4sU7d6Bh5i+dag== - dependencies: - cheerio-select "^2.1.0" - dom-serializer "^2.0.0" - domhandler "^5.0.3" - domutils "^3.0.1" - htmlparser2 "^8.0.1" - parse5 "^7.0.0" - parse5-htmlparser2-tree-adapter "^7.0.0" - tslib "^2.4.0" + css-select "^4.3.0" + css-what "^6.0.1" + domelementtype "^2.2.0" + domhandler "^4.3.1" + domutils "^2.8.0" + +cheerio@1.0.0-rc.10: + version "1.0.0-rc.10" + resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz" + integrity sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw== + dependencies: + cheerio-select "^1.5.0" + dom-serializer "^1.3.2" + domhandler "^4.2.0" + htmlparser2 "^6.1.0" + parse5 "^6.0.1" + parse5-htmlparser2-tree-adapter "^6.0.1" + tslib "^2.2.0" + +chokidar@^2.0.0: + version "2.1.8" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" + optionalDependencies: + fsevents "^1.2.7" -"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.0, chokidar@^3.5.3: - version "3.5.3" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== +chokidar@^3.5.0: + version "3.6.0" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +"chokidar@>=3.0.0 <4.0.0": + version "3.6.0" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== dependencies: anymatch "~3.1.2" braces "~3.0.2" @@ -2929,14 +3165,14 @@ chownr@^2.0.0: integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== ci-info@^3.2.0: - version "3.3.1" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.3.1.tgz" - integrity sha512-SXgeMX9VwDe7iFFaEWkA5AstuER9YKqy4EhHqr4DVqkwmD9rpVimkMKWHdjn30Ja45txyjhSn63lVX69eVCckg== + version "3.9.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== cjs-module-lexer@^1.0.0: - version "1.2.2" - resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz" - integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== + version "1.3.1" + resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz" + integrity sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q== class-utils@^0.3.5: version "0.3.6" @@ -2973,9 +3209,9 @@ cli-cursor@^3.1.0: restore-cursor "^3.1.0" cli-spinners@^2.5.0: - version "2.6.1" - resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz" - integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== + version "2.9.2" + resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz" + integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== cli-truncate@^2.1.0: version "2.1.0" @@ -2998,6 +3234,11 @@ cli-width@^2.0.0: resolved "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz" integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + clipboardy@3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz" @@ -3010,7 +3251,7 @@ clipboardy@3.0.0: cliui@^3.2.0: version "3.2.0" resolved "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz" - integrity "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==" + integrity sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w== dependencies: string-width "^1.0.1" strip-ansi "^3.0.1" @@ -3037,7 +3278,7 @@ cliui@^8.0.1: clone-buffer@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz" - integrity "sha1-4+JbIHrE5wGvch4staFnksrD3Fg= sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==" + integrity sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g== clone-deep@^4.0.1: version "4.0.1" @@ -3051,22 +3292,22 @@ clone-deep@^4.0.1: clone-stats@^0.0.1: version "0.0.1" resolved "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz" - integrity "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE= sha512-dhUqc57gSMCo6TX85FLfe51eC/s+Im2MLkAgJwfaRRexR2tA4dd3eLEW4L6efzHc2iNorrRRXITifnDLlRrhaA==" + integrity sha512-dhUqc57gSMCo6TX85FLfe51eC/s+Im2MLkAgJwfaRRexR2tA4dd3eLEW4L6efzHc2iNorrRRXITifnDLlRrhaA== clone-stats@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz" - integrity "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==" + integrity sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag== clone@^1.0.0, clone@^1.0.2: version "1.0.4" resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" - integrity "sha1-2jCcwmPfFZlMaIypAheco8fNfH4= sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== clone@^2.1.1: version "2.1.2" resolved "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz" - integrity "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==" + integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== cloneable-readable@^1.0.0: version "1.1.3" @@ -3079,13 +3320,13 @@ cloneable-readable@^1.0.0: cm-search-replace@^1.0.0: version "1.0.1" - resolved "https://mirrors.tencent.com/npm/cm-search-replace/-/cm-search-replace-1.0.1.tgz" + resolved "https://registry.npmjs.org/cm-search-replace/-/cm-search-replace-1.0.1.tgz" integrity sha512-LV2qlSjc8s5GviwfXop0Wwr7Ntlg2yjqOHDeRqy8BRE71JDlPe5Idu20x50i4Cx2+/VAQN7eVqvt5U8gL2ncjQ== co@^4.6.0: version "4.6.0" resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" - integrity "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== coa@^2.0.2: version "2.0.2" @@ -3099,7 +3340,7 @@ coa@^2.0.2: code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" - integrity "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==" + integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA== codemirror@5.58.2: version "5.58.2" @@ -3107,14 +3348,14 @@ codemirror@5.58.2: integrity sha512-K/hOh24cCwRutd1Mk3uLtjWzNISOkm4fvXiMO7LucCrqbh6aJDdtqUziim3MZUI6wOY0rvY1SlL1Ork01uMy6w== collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + version "1.0.2" + resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz" + integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== collection-map@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz" - integrity "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw= sha512-5D2XXSpkOnleOI21TG7p3T0bGAsZ/XknZpKBmGYyluO8pw4zA3K8ZlrBIbC4FXg3m6z/RNFiUFfT2sQK01+UHA==" + integrity sha512-5D2XXSpkOnleOI21TG7p3T0bGAsZ/XknZpKBmGYyluO8pw4zA3K8ZlrBIbC4FXg3m6z/RNFiUFfT2sQK01+UHA== dependencies: arr-map "^2.0.2" for-own "^1.0.0" @@ -3123,7 +3364,7 @@ collection-map@^1.0.0: collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz" - integrity "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==" + integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== dependencies: map-visit "^1.0.0" object-visit "^1.0.0" @@ -3142,10 +3383,10 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@1.1.3, color-name@^1.0.0: +color-name@^1.0.0, color-name@1.1.3: version "1.1.3" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== color-name@~1.1.4: version "1.1.4" @@ -3174,9 +3415,9 @@ color@^3.0.0, color@^3.1.3: color-string "^1.6.0" colorette@^2.0.16: - version "2.0.19" - resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz" - integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== + version "2.0.20" + resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== colorspace@1.1.x: version "1.1.4" @@ -3193,16 +3434,6 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" -commander@10.0.0: - version "10.0.0" - resolved "https://registry.npmjs.org/commander/-/commander-10.0.0.tgz" - integrity sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA== - -commander@7: - version "7.2.0" - resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - commander@^2.20.0: version "2.20.3" resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" @@ -3218,35 +3449,50 @@ commander@^6.1.0: resolved "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz" integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== +commander@^6.2.0: + version "6.2.1" + resolved "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + commander@^9.3.0: - version "9.4.0" - resolved "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz" - integrity sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw== + version "9.5.0" + resolved "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz" + integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== + +commander@12.0.0: + version "12.0.0" + resolved "https://registry.npmjs.org/commander/-/commander-12.0.0.tgz" + integrity sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA== + +commander@7: + version "7.2.0" + resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== commitizen@^4.0.3, commitizen@^4.0.5: - version "4.2.4" - resolved "https://registry.npmjs.org/commitizen/-/commitizen-4.2.4.tgz" - integrity sha512-LlZChbDzg3Ir3O2S7jSo/cgWp5/QwylQVr59K4xayVq8S4/RdKzSyJkghAiZZHfhh5t4pxunUoyeg0ml1q/7aw== + version "4.3.0" + resolved "https://registry.npmjs.org/commitizen/-/commitizen-4.3.0.tgz" + integrity sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw== dependencies: - cachedir "2.2.0" - cz-conventional-changelog "3.2.0" + cachedir "2.3.0" + cz-conventional-changelog "3.3.0" dedent "0.7.0" - detect-indent "6.0.0" + detect-indent "6.1.0" find-node-modules "^2.1.2" find-root "1.1.0" - fs-extra "8.1.0" - glob "7.1.4" - inquirer "6.5.2" + fs-extra "9.1.0" + glob "7.2.3" + inquirer "8.2.5" is-utf8 "^0.2.1" - lodash "^4.17.20" - minimist "1.2.5" + lodash "4.17.21" + minimist "1.2.7" strip-bom "4.0.0" - strip-json-comments "3.0.1" + strip-json-comments "3.1.1" commondir@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" - integrity "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== compare-func@^2.0.0: version "2.0.0" @@ -3257,9 +3503,9 @@ compare-func@^2.0.0: dot-prop "^5.1.0" component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + version "1.3.1" + resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz" + integrity sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ== compressible@~2.0.16: version "2.0.18" @@ -3284,7 +3530,7 @@ compression@1.7.4: concat-map@0.0.1: version "0.0.1" resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - integrity "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== concat-stream@^1.6.0: version "1.6.2" @@ -3316,12 +3562,12 @@ concat-with-sourcemaps@^1.1.0: console-control-strings@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" - integrity "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" + integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== consolidate@~0.14.0: version "0.14.5" resolved "https://registry.npmjs.org/consolidate/-/consolidate-0.14.5.tgz" - integrity "sha1-WiUEe8dvcwcmZ8jLUsmJiI9JTGM= sha512-PZFskfj64QnpKVK9cPdY36pyWEhZNM+srRVqtwMiVTlnViSoZcvX35PpBhhUcyLTHXYvz7pZRmxvsqwzJqg9kA==" + integrity sha512-PZFskfj64QnpKVK9cPdY36pyWEhZNM+srRVqtwMiVTlnViSoZcvX35PpBhhUcyLTHXYvz7pZRmxvsqwzJqg9kA== dependencies: bluebird "^3.1.1" @@ -3357,7 +3603,7 @@ conventional-changelog-config-spec@2.1.0: resolved "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz" integrity sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ== -conventional-changelog-conventionalcommits@4.6.3, conventional-changelog-conventionalcommits@^4.5.0: +conventional-changelog-conventionalcommits@^4.5.0, conventional-changelog-conventionalcommits@4.6.3: version "4.6.3" resolved "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz" integrity sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g== @@ -3477,8 +3723,8 @@ conventional-commits-parser@^3.2.0: resolved "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz" integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q== dependencies: - JSONStream "^1.0.4" is-text-path "^1.0.1" + JSONStream "^1.0.4" lodash "^4.17.15" meow "^8.0.0" split2 "^3.0.0" @@ -3498,17 +3744,30 @@ conventional-recommended-bump@6.1.0: meow "^8.0.0" q "^1.5.1" -convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" +convert-source-map@^1.4.0: + version "1.9.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +convert-source-map@^1.5.0: + version "1.9.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +convert-source-map@^1.6.0: + version "1.9.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz" - integrity "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==" + integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== copy-props@^2.0.1: version "2.0.5" @@ -3518,23 +3777,22 @@ copy-props@^2.0.1: each-props "^1.3.2" is-plain-object "^5.0.0" -core-js-compat@^3.21.0, core-js-compat@^3.22.1: - version "3.22.6" - resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.6.tgz" - integrity sha512-dQ/SxlHcuiywaPIoSUCU6Fx+Mk/H5TXENqd/ZJcK85ta0ZcQkbzHwblxPeL0hF5o+NsT2uK3q9ZOG5TboiVuWw== +core-js-compat@^3.31.0, core-js-compat@^3.36.1: + version "3.37.1" + resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz" + integrity sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg== dependencies: - browserslist "^4.20.3" - semver "7.0.0" + browserslist "^4.23.0" -core-js-pure@^3.20.2, core-js-pure@^3.8.2: - version "3.22.6" - resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.22.6.tgz" - integrity sha512-u5yG2VL6NKXz9BZHr9RAm6eWD1DTNjG7jJnJgLGR+Im0whdPcPXqwqxd+dcUrZvpvPan5KMgn/3pI+Q/aGqPOA== +core-js-pure@^3.30.2, core-js-pure@^3.8.2: + version "3.37.1" + resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.37.1.tgz" + integrity sha512-J/r5JTHSmzTxbiYYrzXg9w1VpqrYt+gexenBE9pugeyhwPZTAEJddyiReJWsLO6uNQ8xJZFbod6XC7KKwatCiA== -core-js@^3.22.1: - version "3.22.6" - resolved "https://registry.npmjs.org/core-js/-/core-js-3.22.6.tgz" - integrity sha512-2IGcGH00z9I4twgNWU4uGCNEsBFG1s2JudVQrgSCoVhOfwoTwQjxC8aMo9exrpTMOxvobggEpaHnGMmQY4cfBQ== +core-js@^3.30.2: + version "3.37.1" + resolved "https://registry.npmjs.org/core-js/-/core-js-3.37.1.tgz" + integrity sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw== core-util-is@~1.0.0: version "1.0.3" @@ -3555,13 +3813,12 @@ cose-base@^2.2.0: dependencies: layout-base "^2.0.0" -cosmiconfig-typescript-loader@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-2.0.0.tgz" - integrity sha512-2NlGul/E3vTQEANqPziqkA01vfiuUU8vT0jZAuUIjEW8u3eCcnCQWLggapCjhbF76s7KQF0fM0kXSKmzaDaG1g== +cosmiconfig-typescript-loader@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-5.0.0.tgz" + integrity sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA== dependencies: - cosmiconfig "^7" - ts-node "^10.7.0" + jiti "^1.19.1" cosmiconfig@^5.0.0: version "5.2.1" @@ -3573,27 +3830,15 @@ cosmiconfig@^5.0.0: js-yaml "^3.13.1" parse-json "^4.0.0" -cosmiconfig@^7: - version "7.1.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" - integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -cosmiconfig@^7.0.0: - version "7.0.1" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz" - integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== +cosmiconfig@^9.0.0, cosmiconfig@>=8.2: + version "9.0.0" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz" + integrity sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" + env-paths "^2.2.1" + import-fresh "^3.3.0" + js-yaml "^4.1.0" + parse-json "^5.2.0" create-require@^1.1.0: version "1.1.1" @@ -3630,9 +3875,9 @@ cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: crypt@0.0.2: version "0.0.2" resolved "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz" - integrity "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs= sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==" + integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== -css-color-names@0.0.4, css-color-names@^0.0.4: +css-color-names@^0.0.4, css-color-names@0.0.4: version "0.0.4" resolved "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz" integrity sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q== @@ -3679,15 +3924,15 @@ css-select@^2.0.0: domutils "^1.7.0" nth-check "^1.0.2" -css-select@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz" - integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== +css-select@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" + integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== dependencies: boolbase "^1.0.0" - css-what "^6.1.0" - domhandler "^5.0.2" - domutils "^3.0.1" + css-what "^6.0.1" + domhandler "^4.3.1" + domutils "^2.8.0" nth-check "^2.0.1" css-selector-tokenizer@^0.7.0: @@ -3698,14 +3943,6 @@ css-selector-tokenizer@^0.7.0: cssesc "^3.0.0" fastparse "^1.1.2" -css-tree@1.0.0-alpha.37: - version "1.0.0-alpha.37" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz" - integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== - dependencies: - mdn-data "2.0.4" - source-map "^0.6.1" - css-tree@^1.1.2: version "1.1.3" resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" @@ -3714,12 +3951,20 @@ css-tree@^1.1.2: mdn-data "2.0.14" source-map "^0.6.1" +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz" + integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + css-what@^3.2.1: version "3.4.2" resolved "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz" integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== -css-what@^6.1.0: +css-what@^6.0.1: version "6.1.0" resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== @@ -3845,18 +4090,15 @@ cytoscape-fcose@^2.1.0: dependencies: cose-base "^2.2.0" -cytoscape@^3.23.0: - version "3.26.0" - resolved "https://registry.npmjs.org/cytoscape/-/cytoscape-3.26.0.tgz" - integrity sha512-IV+crL+KBcrCnVVUCZW+zRRRFUZQcrtdOPXki+o4CFUWLdAEYvuZLcBSJC9EBK++suamERKzeY7roq2hdovV3w== - dependencies: - heap "^0.2.6" - lodash "^4.17.21" +cytoscape@^3.2.0, cytoscape@^3.23.0: + version "3.29.2" + resolved "https://registry.npmjs.org/cytoscape/-/cytoscape-3.29.2.tgz" + integrity sha512-2G1ycU28Nh7OHT9rkXRLpCDP30MKH1dXJORZuBhtEhEW7pKwgPi77ImqlCWinouyE1PNepIOGZBOrE84DG7LyQ== -cz-conventional-changelog@3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.2.0.tgz" - integrity sha512-yAYxeGpVi27hqIilG1nh4A9Bnx4J3Ov+eXy4koL3drrR+IO9GaWPsKjik20ht608Asqi8TQPf0mczhEeyAtMzg== +cz-conventional-changelog@3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.3.0.tgz" + integrity sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw== dependencies: chalk "^2.4.1" commitizen "^4.0.3" @@ -3868,9 +4110,9 @@ cz-conventional-changelog@3.2.0: "@commitlint/load" ">6.1.1" cz-customizable@^6.2.0: - version "6.3.0" - resolved "https://registry.npmjs.org/cz-customizable/-/cz-customizable-6.3.0.tgz" - integrity sha512-MWGmWa45v4Ds3NJNNwQc3GCFdjtH3k4ypDWoWkwultMVLf7aOHR9VaXGYGZHLOQS4sMfbkBSjNUYoXCSmLuRSA== + version "6.9.2" + resolved "https://registry.npmjs.org/cz-customizable/-/cz-customizable-6.9.2.tgz" + integrity sha512-33Y0eHAp40sb7K346Shm07X+ZIckPKV8pBHUH5Lh2tI4fi0mjHkrYDrwQyJMS8095Ri+H+xkxOmblzQ64wT/Fg== dependencies: editor "1.0.0" find-config "^1.0.0" @@ -3879,7 +4121,15 @@ cz-customizable@^6.2.0: temp "^0.9.0" word-wrap "^1.2.3" -"d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3, d3-array@^3.2.0: +d@^1.0.1, d@^1.0.2, d@1: + version "1.0.2" + resolved "https://registry.npmjs.org/d/-/d-1.0.2.tgz" + integrity sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw== + dependencies: + es5-ext "^0.10.64" + type "^2.7.2" + +d3-array@^3.2.0, "d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3: version "3.2.4" resolved "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz" integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== @@ -3922,9 +4172,9 @@ d3-contour@4: d3-array "^3.2.0" d3-delaunay@6: - version "6.0.2" - resolved "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.2.tgz" - integrity sha512-IMLNldruDQScrcfT+MWnazhHbDJhcRJyOEBAJfwQnHle1RPh6WDuLvxNArUju2VSMSUuKlY5BGHRJ2cYyoFLQQ== + version "6.0.4" + resolved "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz" + integrity sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A== dependencies: delaunator "5" @@ -3977,9 +4227,9 @@ d3-force@3: integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA== d3-geo@3: - version "3.0.1" - resolved "https://registry.npmjs.org/d3-geo/-/d3-geo-3.0.1.tgz" - integrity sha512-Wt23xBych5tSy9IYAM1FR2rWIBFWa52B/oF/GYe5zbdHrg08FU8+BuI6X4PvTwPDdqdAdq04fuWJpELtsaEjeA== + version "3.1.1" + resolved "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz" + integrity sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q== dependencies: d3-array "2.5.0 - 3" @@ -3995,10 +4245,10 @@ d3-hierarchy@3: dependencies: d3-color "1 - 3" -"d3-path@1 - 3", d3-path@3: - version "3.0.1" - resolved "https://registry.npmjs.org/d3-path/-/d3-path-3.0.1.tgz" - integrity sha512-gq6gZom9AFZby0YLduxT1qmrp4xpBA1YZr19OI717WIdKE2OM5ETq5qrHLb301IgxhLwcuxvGZVLeeWc/k1I6w== +d3-path@^3.1.0, "d3-path@1 - 3", d3-path@3: + version "3.1.0" + resolved "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz" + integrity sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ== d3-polygon@3: version "3.0.1" @@ -4016,9 +4266,9 @@ d3-random@3: integrity sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ== d3-scale-chromatic@3: - version "3.0.0" - resolved "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz" - integrity sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g== + version "3.1.0" + resolved "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz" + integrity sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ== dependencies: d3-color "1 - 3" d3-interpolate "1 - 3" @@ -4040,11 +4290,11 @@ d3-scale@4: integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ== d3-shape@3: - version "3.1.0" - resolved "https://registry.npmjs.org/d3-shape/-/d3-shape-3.1.0.tgz" - integrity sha512-tGDh1Muf8kWjEDT/LswZJ8WF85yDZLvVJpYU9Nq+8+yW1Z5enxrmXOhTArlkaElU+CTn0OTVNli+/i+HP45QEQ== + version "3.2.0" + resolved "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz" + integrity sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA== dependencies: - d3-path "1 - 3" + d3-path "^3.1.0" "d3-time-format@2 - 4", d3-time-format@4: version "4.1.0" @@ -4054,9 +4304,9 @@ d3-shape@3: d3-time "1 - 3" "d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@3: - version "3.0.0" - resolved "https://registry.npmjs.org/d3-time/-/d3-time-3.0.0.tgz" - integrity sha512-zmV3lRnlaLI08y9IMRXSDshQb5Nj77smnfpnd2LrBa/2K281Jijactokeak14QacHs/kKq0AQ121nidNYlarbQ== + version "3.1.0" + resolved "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz" + integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q== dependencies: d3-array "2 - 3" @@ -4088,9 +4338,9 @@ d3-zoom@3: d3-transition "2 - 3" d3@^7.4.0, d3@^7.8.2: - version "7.8.5" - resolved "https://registry.npmjs.org/d3/-/d3-7.8.5.tgz" - integrity sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA== + version "7.9.0" + resolved "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz" + integrity sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA== dependencies: d3-array "3" d3-axis "3" @@ -4123,14 +4373,6 @@ d3@^7.4.0, d3@^7.8.2: d3-transition "3" d3-zoom "3" -d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/d/-/d-1.0.1.tgz" - integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== - dependencies: - es5-ext "^0.10.50" - type "^1.0.1" - dagre-d3-es@7.0.9: version "7.0.9" resolved "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.9.tgz" @@ -4162,10 +4404,37 @@ data-urls@^3.0.1: whatwg-mimetype "^3.0.0" whatwg-url "^11.0.0" +data-view-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz" + integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz" + integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz" + integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + dateformat@^2.0.0: version "2.2.0" resolved "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz" - integrity "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI= sha512-GODcnWq3YGoTnygPfi02ygEiRxqUxpJwuRHjdhJYuxpcZmDq4rjBiXYmbCCzStxo176ixfLT6i4NPwQooRySnw==" + integrity sha512-GODcnWq3YGoTnygPfi02ygEiRxqUxpJwuRHjdhJYuxpcZmDq4rjBiXYmbCCzStxo176ixfLT6i4NPwQooRySnw== dateformat@^3.0.0: version "3.0.3" @@ -4173,35 +4442,49 @@ dateformat@^3.0.0: integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== dayjs@^1.11.7: - version "1.11.9" - resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz" - integrity sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA== + version "1.11.11" + resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.11.tgz" + integrity sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg== -debug@2.6.9, debug@^2.2.0, debug@^2.3.3: +debug@^2.2.0: version "2.6.9" resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.3, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== +debug@^2.3.3: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: - ms "2.1.2" + ms "2.0.0" debug@^3.2.7: version "3.2.7" - resolved "https://mirrors.tencent.com/npm/debug/-/debug-3.2.7.tgz" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.3, debug@^4.3.4, debug@4: + version "4.3.5" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz" + integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== + dependencies: + ms "2.1.2" + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + decamelize-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz" - integrity "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==" + version "1.1.1" + resolved "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz" + integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== dependencies: decamelize "^1.1.0" map-obj "^1.0.0" @@ -4209,37 +4492,37 @@ decamelize-keys@^1.1.0: decamelize@^1.1.0, decamelize@^1.1.1: version "1.2.0" resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" - integrity "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== decimal.js@^10.2.1, decimal.js@^10.3.1: - version "10.3.1" - resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz" - integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== + version "10.4.3" + resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz" + integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" - integrity "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==" + version "0.2.2" + resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== -dedent@0.7.0, dedent@^0.7.0: +dedent@^0.7.0, dedent@0.7.0: version "0.7.0" resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" - integrity "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== -deep-is@^0.1.3, deep-is@~0.1.3: +deep-is@^0.1.3: version "0.1.4" resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + version "4.3.1" + resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== default-compare@^1.0.0: version "1.0.0" @@ -4251,34 +4534,44 @@ default-compare@^1.0.0: default-resolution@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz" - integrity "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ= sha512-2xaP6GiwVwOEbXCGoJ4ufgC76m8cj805jrghScewJC2ZDsb9U0b4BIrba+xt/Uytyd0HvQ6+WymSRTfnYj59GQ==" + integrity sha512-2xaP6GiwVwOEbXCGoJ4ufgC76m8cj805jrghScewJC2ZDsb9U0b4BIrba+xt/Uytyd0HvQ6+WymSRTfnYj59GQ== defaults@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz" - integrity sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA== + version "1.0.4" + resolved "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== dependencies: clone "^1.0.2" -define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: - version "1.2.0" - resolved "https://mirrors.tencent.com/npm/define-properties/-/define-properties-1.2.0.tgz" - integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== +define-data-property@^1.0.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== dependencies: + define-data-property "^1.0.1" has-property-descriptors "^1.0.0" object-keys "^1.1.1" define-property@^0.2.5: version "0.2.5" resolved "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" - integrity "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==" + integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== dependencies: is-descriptor "^0.1.0" define-property@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz" - integrity "sha1-dp66rz9KY6rTr56NMEybvnm/sOY= sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==" + integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== dependencies: is-descriptor "^1.0.0" @@ -4291,36 +4584,31 @@ define-property@^2.0.2: isobject "^3.0.1" delaunator@5: - version "5.0.0" - resolved "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz" - integrity sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw== + version "5.0.1" + resolved "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz" + integrity sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw== dependencies: - robust-predicates "^3.0.0" + robust-predicates "^3.0.2" delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - integrity "sha1-3zrhmayt+31ECqrgsp4icrJOxhk= sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== delegates@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" - integrity "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" - -depd@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" - integrity "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" + integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== detect-file@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz" - integrity "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==" + integrity sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q== -detect-indent@6.0.0, detect-indent@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz" - integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA== +detect-indent@^6.0.0, detect-indent@6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz" + integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== detect-newline@^3.0.0, detect-newline@^3.1.0: version "3.1.0" @@ -4363,15 +4651,7 @@ dom-parser@^0.1.6: resolved "https://registry.npmjs.org/dom-parser/-/dom-parser-0.1.6.tgz" integrity sha512-3nVRKbLEwmGfghLoeT1dxlK/0votalnOfasP+8VCHYDfDuCETY4LeMblfOeqww6XZk2ymZ1Uewy/hVad6Dy3yw== -dom-serializer@0: - version "0.2.2" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz" - integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - -dom-serializer@^1.0.1: +dom-serializer@^1.0.1, dom-serializer@^1.3.2: version "1.4.1" resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== @@ -4380,30 +4660,29 @@ dom-serializer@^1.0.1: domhandler "^4.2.0" entities "^2.0.0" -dom-serializer@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz" - integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== +dom-serializer@0: + version "0.2.2" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== dependencies: - domelementtype "^2.3.0" - domhandler "^5.0.2" - entities "^4.2.0" + domelementtype "^2.0.1" + entities "^2.0.0" dom-walk@^0.1.0: version "0.1.2" resolved "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz" integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + domelementtype@1: version "1.3.1" resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz" integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== -domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" - integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== - domexception@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz" @@ -4418,37 +4697,30 @@ domexception@^4.0.0: dependencies: webidl-conversions "^7.0.0" -domhandler@^3.0.0: +domhandler@^3.3.0: version "3.3.0" resolved "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz" integrity sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA== dependencies: domelementtype "^2.0.1" -domhandler@^4.2.0: +domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: version "4.3.1" resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== dependencies: domelementtype "^2.2.0" -domhandler@^5.0.1, domhandler@^5.0.2, domhandler@^5.0.3: - version "5.0.3" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" - integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== - dependencies: - domelementtype "^2.3.0" +dompurify@^3.0.8: + version "3.1.5" + resolved "https://registry.npmjs.org/dompurify/-/dompurify-3.1.5.tgz" + integrity sha512-lwG+n5h8QNpxtyrJW/gJWckL+1/DQiYMX8f7t8Z2AZTPw1esVrqjI63i7Zc2Gz0aKzLVMYC1V1PL/ky+aY/NgA== dompurify@2.4.3: version "2.4.3" resolved "https://registry.npmjs.org/dompurify/-/dompurify-2.4.3.tgz" integrity sha512-q6QaLcakcRjebxjg8/+NP+h0rPfatOgOzc46Fst9VAA3jF2ApfKBNKMzdP4DYTqtUMXSCd5pRS/8Po/OmoCHZQ== -dompurify@^3.0.8: - version "3.0.8" - resolved "https://registry.npmjs.org/dompurify/-/dompurify-3.0.8.tgz#e0021ab1b09184bc8af7e35c7dd9063f43a8a437" - integrity sha512-b7uwreMYL2eZhrSCRC4ahLTeZcPZxSmYfmcQGXGkXiZSNW1X85v+SDM5KsWcpivIiUBH47Ji7NtyUdpLeF5JZQ== - domutils@^1.7.0: version "1.7.0" resolved "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz" @@ -4457,7 +4729,7 @@ domutils@^1.7.0: dom-serializer "0" domelementtype "1" -domutils@^2.0.0: +domutils@^2.4.2, domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== @@ -4466,15 +4738,6 @@ domutils@^2.0.0: domelementtype "^2.2.0" domhandler "^4.2.0" -domutils@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz" - integrity sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q== - dependencies: - dom-serializer "^2.0.0" - domelementtype "^2.3.0" - domhandler "^5.0.1" - dot-prop@^5.1.0, dot-prop@^5.2.0: version "5.3.0" resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" @@ -4484,26 +4747,26 @@ dot-prop@^5.1.0, dot-prop@^5.2.0: dotgitignore@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz" - integrity sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA== - dependencies: - find-up "^3.0.0" - minimatch "^3.0.4" - -duplexer2@0.0.2: - version "0.0.2" - resolved "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz" - integrity "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds= sha512-+AWBwjGadtksxjOQSFDhPNQbed7icNXApT4+2BNpsXzcCBiInq2H9XW0O8sfHFaPmnQRs7cg/P0fAr2IWQSW0g==" + resolved "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz" + integrity sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA== dependencies: - readable-stream "~1.1.9" + find-up "^3.0.0" + minimatch "^3.0.4" duplexer2@^0.1.2: version "0.1.4" resolved "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz" - integrity "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME= sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==" + integrity sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA== dependencies: readable-stream "^2.0.2" +duplexer2@0.0.2: + version "0.0.2" + resolved "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz" + integrity sha512-+AWBwjGadtksxjOQSFDhPNQbed7icNXApT4+2BNpsXzcCBiInq2H9XW0O8sfHFaPmnQRs7cg/P0fAr2IWQSW0g== + dependencies: + readable-stream "~1.1.9" + duplexify@^3.6.0: version "3.7.1" resolved "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz" @@ -4530,12 +4793,12 @@ eastasianwidth@^0.2.0: editor@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/editor/-/editor-1.0.0.tgz" - integrity "sha1-YMf4e9YrzGqJT6jM1q+3gjok90I= sha512-SoRmbGStwNYHgKfjOrX2L0mUvp9bUVv0uPppZSOMAntEbcFtoC3MKF5b3T6HQPXKIV+QGY3xPO3JK5it5lVkuw==" + integrity sha512-SoRmbGStwNYHgKfjOrX2L0mUvp9bUVv0uPppZSOMAntEbcFtoC3MKF5b3T6HQPXKIV+QGY3xPO3JK5it5lVkuw== -electron-to-chromium@^1.4.118: - version "1.4.137" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz" - integrity sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA== +electron-to-chromium@^1.4.796: + version "1.4.811" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.811.tgz" + integrity sha512-CDyzcJ5XW78SHzsIOdn27z8J4ist8eaFLhdto2hSMSJQgsiwvbv2fbizcKUICryw1Wii1TI/FEkvzvJsR3awrA== elkjs@^0.8.2: version "0.8.2" @@ -4567,38 +4830,34 @@ enabled@2.0.x: resolved "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz" integrity sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ== -encoding@^0.1.13: +encoding@^0.1.0, encoding@^0.1.13: version "0.1.13" resolved "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz" integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== dependencies: iconv-lite "^0.6.2" -end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.4: +end-of-stream@^1.0.0, end-of-stream@^1.1.0: version "1.4.4" resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== dependencies: once "^1.4.0" -enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== +enquirer@^2.3.5, "enquirer@>= 2.3.0 < 3": + version "2.4.1" + resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz" + integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== dependencies: ansi-colors "^4.1.1" + strip-ansi "^6.0.1" entities@^2.0.0: version "2.2.0" resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== -entities@^4.2.0, entities@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/entities/-/entities-4.3.0.tgz" - integrity sha512-/iP1rZrSEJ0DTlPiX+jbzlA3eVkY/e8L8SozroF395fIqE3TYF/Nz7YOMAawta+vLmyJ/hkGNNPcSbMADCCXbg== - -env-paths@^2.2.0: +env-paths@^2.2.0, env-paths@^2.2.1: version "2.2.1" resolved "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz" integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== @@ -4618,56 +4877,63 @@ error-ex@^1.2.0, error-ex@^1.3.1: error@^4.3.0: version "4.4.0" resolved "https://registry.npmjs.org/error/-/error-4.4.0.tgz" - integrity "sha1-v2n/JR+0onnBmtzNqmth6Q2b8So= sha512-SNDKualLUtT4StGFP7xNfuFybL2f6iJujFtrWuvJqGbVQGaN+adE23veqzPz1hjUjTunLi2EnJ+0SJxtbJreKw==" + integrity sha512-SNDKualLUtT4StGFP7xNfuFybL2f6iJujFtrWuvJqGbVQGaN+adE23veqzPz1hjUjTunLi2EnJ+0SJxtbJreKw== dependencies: camelize "^1.0.0" string-template "~0.2.0" xtend "~4.0.0" -es-abstract@^1.17.2, es-abstract@^1.18.0-next.1, es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.20.1, es-abstract@^1.20.4, es-abstract@^1.21.2: - version "1.22.1" - resolved "https://mirrors.tencent.com/npm/es-abstract/-/es-abstract-1.22.1.tgz" - integrity sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw== - dependencies: - array-buffer-byte-length "^1.0.0" - arraybuffer.prototype.slice "^1.0.1" - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-set-tostringtag "^2.0.1" +es-abstract@^1.17.2, es-abstract@^1.18.0-next.1, es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2: + version "1.23.3" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz" + integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== + dependencies: + array-buffer-byte-length "^1.0.1" + arraybuffer.prototype.slice "^1.0.3" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + data-view-buffer "^1.0.1" + data-view-byte-length "^1.0.1" + data-view-byte-offset "^1.0.0" + es-define-property "^1.0.0" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-set-tostringtag "^2.0.3" es-to-primitive "^1.2.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.2.1" - get-symbol-description "^1.0.0" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.4" + get-symbol-description "^1.0.2" globalthis "^1.0.3" gopd "^1.0.1" - has "^1.0.3" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" has-symbols "^1.0.3" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" + hasown "^2.0.2" + internal-slot "^1.0.7" + is-array-buffer "^3.0.4" is-callable "^1.2.7" - is-negative-zero "^2.0.2" + is-data-view "^1.0.1" + is-negative-zero "^2.0.3" is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" + is-shared-array-buffer "^1.0.3" is-string "^1.0.7" - is-typed-array "^1.1.10" + is-typed-array "^1.1.13" is-weakref "^1.0.2" - object-inspect "^1.12.3" + object-inspect "^1.13.1" object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.0" - safe-array-concat "^1.0.0" - safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.7" - string.prototype.trimend "^1.0.6" - string.prototype.trimstart "^1.0.6" - typed-array-buffer "^1.0.0" - typed-array-byte-length "^1.0.0" - typed-array-byte-offset "^1.0.0" - typed-array-length "^1.0.4" + object.assign "^4.1.5" + regexp.prototype.flags "^1.5.2" + safe-array-concat "^1.1.2" + safe-regex-test "^1.0.3" + string.prototype.trim "^1.2.9" + string.prototype.trimend "^1.0.8" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.2" + typed-array-byte-length "^1.0.1" + typed-array-byte-offset "^1.0.2" + typed-array-length "^1.0.6" unbox-primitive "^1.0.2" - which-typed-array "^1.1.10" + which-typed-array "^1.1.15" es-array-method-boxes-properly@^1.0.0: version "1.0.0" @@ -4675,31 +4941,50 @@ es-array-method-boxes-properly@^1.0.0: integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== es-check@^7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/es-check/-/es-check-7.1.1.tgz" - integrity sha512-rgwR2wdJp437Exq28Emwc4x5+Qn6ORDliN9daWo0wTCg5jOQxJsIZieqxVi4AfDEIN4OwMwYhld9b13mnRocUQ== + version "7.2.1" + resolved "https://registry.npmjs.org/es-check/-/es-check-7.2.1.tgz" + integrity sha512-4sxU2OZ1aYYRRX2ajL3hDDBaY96Yr/OcH6MTRerIuOSyil6SQYQQ0b48uqVfYGRCiI0NgJbtY6Sbmf75oPaTeQ== dependencies: - acorn "8.8.2" - commander "10.0.0" - fast-glob "^3.2.12" + acorn "8.11.3" + commander "12.0.0" + fast-glob "^3.3.2" supports-color "^8.1.1" - winston "^3.8.2" + winston "3.13.0" -es-set-tostringtag@^2.0.1: - version "2.0.1" - resolved "https://mirrors.tencent.com/npm/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz" - integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== dependencies: - get-intrinsic "^1.1.3" - has "^1.0.3" - has-tostringtag "^1.0.0" + get-intrinsic "^1.2.4" + +es-errors@^1.2.1, es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== -es-shim-unscopables@^1.0.0: +es-object-atoms@^1.0.0: version "1.0.0" - resolved "https://mirrors.tencent.com/npm/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" - integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + resolved "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz" + integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== + dependencies: + es-errors "^1.3.0" + +es-set-tostringtag@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz" + integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== + dependencies: + get-intrinsic "^1.2.4" + has-tostringtag "^1.0.2" + hasown "^2.0.1" + +es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz" + integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== dependencies: - has "^1.0.3" + hasown "^2.0.0" es-to-primitive@^1.2.1: version "1.2.1" @@ -4710,31 +4995,32 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50: - version "0.10.61" - resolved "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.61.tgz" - integrity sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA== +es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.62, es5-ext@^0.10.64, es5-ext@~0.10.14: + version "0.10.64" + resolved "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz" + integrity sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg== dependencies: es6-iterator "^2.0.3" es6-symbol "^3.1.3" + esniff "^2.0.1" next-tick "^1.1.0" es6-iterator@^2.0.1, es6-iterator@^2.0.3: version "2.0.3" resolved "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz" - integrity "sha1-p96IkUGgWpSwhUQDstCg+/qY87c= sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==" + integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== dependencies: d "1" es5-ext "^0.10.35" es6-symbol "^3.1.1" es6-symbol@^3.1.1, es6-symbol@^3.1.3: - version "3.1.3" - resolved "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz" - integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== + version "3.1.4" + resolved "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz" + integrity sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg== dependencies: - d "^1.0.1" - ext "^1.1.2" + d "^1.0.2" + ext "^1.7.0" es6-weak-map@^2.0.1: version "2.0.3" @@ -4746,10 +5032,10 @@ es6-weak-map@^2.0.1: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== +escalade@^3.1.1, escalade@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== escape-goat@^3.0.0: version "3.0.0" @@ -4759,7 +5045,7 @@ escape-goat@^3.0.0: escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - integrity "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== escape-string-regexp@^2.0.0: version "2.0.0" @@ -4772,21 +5058,20 @@ escape-string-regexp@^4.0.0: integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== escodegen@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz" - integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== + version "2.1.0" + resolved "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz" + integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== dependencies: esprima "^4.0.1" estraverse "^5.2.0" esutils "^2.0.2" - optionator "^0.8.1" optionalDependencies: source-map "~0.6.1" eslint-config-prettier@^8.1.0: - version "8.5.0" - resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz" - integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== + version "8.10.0" + resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz" + integrity sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg== eslint-config-tencent@^1.0.2: version "1.0.4" @@ -4797,9 +5082,9 @@ eslint-config-tencent@^1.0.2: eslint-plugin-chalk "^1.0.0" eslint-plugin-import "^2.23.4" -eslint-import-resolver-node@^0.3.7: +eslint-import-resolver-node@^0.3.9: version "0.3.9" - resolved "https://mirrors.tencent.com/npm/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz" + resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz" integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== dependencies: debug "^3.2.7" @@ -4807,9 +5092,9 @@ eslint-import-resolver-node@^0.3.7: resolve "^1.22.4" eslint-module-utils@^2.8.0: - version "2.8.0" - resolved "https://mirrors.tencent.com/npm/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz" - integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== + version "2.8.1" + resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz" + integrity sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q== dependencies: debug "^3.2.7" @@ -4821,36 +5106,35 @@ eslint-plugin-chalk@^1.0.0: chalk "^4.1.2" eslint-plugin-file-progress@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/eslint-plugin-file-progress/-/eslint-plugin-file-progress-1.3.0.tgz" - integrity sha512-LncpnGHU26KPvCrvDC2Sl9PfjdrsG8qltgiK6BR7KybWtfqrdlsu1ax3+hyPMn5OkKBTF3Wki3oqK1MSMeOtQw== + version "1.4.0" + resolved "https://registry.npmjs.org/eslint-plugin-file-progress/-/eslint-plugin-file-progress-1.4.0.tgz" + integrity sha512-MQiq8GGfPc8stuECBktL03CAUu91+kZyufsVjoAEzC7Y4ipAY9M3xB3YYCt7Xv0C5O5t47wlAkqaxnX6LO7DBg== dependencies: chalk "^4.1.2" ora "^5.4.1" eslint-plugin-import@^2.23.4, eslint-plugin-import@^2.27.5: - version "2.28.0" - resolved "https://mirrors.tencent.com/npm/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz" - integrity sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q== - dependencies: - array-includes "^3.1.6" - array.prototype.findlastindex "^1.2.2" - array.prototype.flat "^1.3.1" - array.prototype.flatmap "^1.3.1" + version "2.29.1" + resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz" + integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== + dependencies: + array-includes "^3.1.7" + array.prototype.findlastindex "^1.2.3" + array.prototype.flat "^1.3.2" + array.prototype.flatmap "^1.3.2" debug "^3.2.7" doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.7" + eslint-import-resolver-node "^0.3.9" eslint-module-utils "^2.8.0" - has "^1.0.3" - is-core-module "^2.12.1" + hasown "^2.0.0" + is-core-module "^2.13.1" is-glob "^4.0.3" minimatch "^3.1.2" - object.fromentries "^2.0.6" - object.groupby "^1.0.0" - object.values "^1.1.6" - resolve "^1.22.3" + object.fromentries "^2.0.7" + object.groupby "^1.0.1" + object.values "^1.1.7" semver "^6.3.1" - tsconfig-paths "^3.14.2" + tsconfig-paths "^3.15.0" eslint-plugin-jest@^25.3.0: version "25.7.0" @@ -4859,14 +5143,14 @@ eslint-plugin-jest@^25.3.0: dependencies: "@typescript-eslint/experimental-utils" "^5.0.0" -eslint-plugin-prettier@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz" - integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ== +"eslint-plugin-prettier@^3.4.0 || ^4.0.0", eslint-plugin-prettier@^4.0.0: + version "4.2.1" + resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz" + integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== dependencies: prettier-linter-helpers "^1.0.0" -eslint-scope@^5.1.1: +eslint-scope@^5.1.1, eslint-scope@5.1.1: version "5.1.1" resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== @@ -4888,7 +5172,12 @@ eslint-utils@^3.0.0: dependencies: eslint-visitor-keys "^2.0.0" -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: +eslint-visitor-keys@^1.1.0: + version "1.3.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^1.3.0: version "1.3.0" resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== @@ -4899,11 +5188,11 @@ eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== eslint-visitor-keys@^3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz" - integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== + version "3.4.3" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint@^7.12.0, eslint@^7.32.0: +eslint@*, "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8", "eslint@^5.0.0 || ^6.0.0 || ^7.0.0", "eslint@^6.0.0 || ^7.0.0 || ^8.0.0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^7.0.0 || ^8.0.0 || ^9.0.0", eslint@^7.12.0, "eslint@^7.28.0 || ^8.0.0", eslint@^7.32.0, "eslint@^7.5.0 || ^8.0.0 || ^9.0.0", eslint@>=1.0.0, eslint@>=5, eslint@>=7.0.0, eslint@>=7.28.0: version "7.32.0" resolved "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz" integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== @@ -4949,6 +5238,16 @@ eslint@^7.12.0, eslint@^7.32.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" +esniff@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz" + integrity sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg== + dependencies: + d "^1.0.1" + es5-ext "^0.10.62" + event-emitter "^0.3.5" + type "^2.7.2" + espree@^7.3.0, espree@^7.3.1: version "7.3.1" resolved "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz" @@ -4964,9 +5263,9 @@ esprima@^4.0.0, esprima@^4.0.1: integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + version "1.5.0" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== dependencies: estraverse "^5.1.0" @@ -4997,7 +5296,12 @@ estree-walker@^1.0.1: resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz" integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== -estree-walker@^2.0.1, estree-walker@^2.0.2: +estree-walker@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + +estree-walker@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== @@ -5010,10 +5314,18 @@ esutils@^2.0.2: ev-store@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/ev-store/-/ev-store-7.0.0.tgz" - integrity "sha1-GrDH+CE2UF3XSzHRdwHLK+bSZVg= sha512-otazchNRnGzp2YarBJ+GXKVGvhxVATB1zmaStxJBYet0Dyq7A9VhH8IUEB/gRcL6Ch52lfpgPTRJ2m49epyMsQ==" + integrity sha512-otazchNRnGzp2YarBJ+GXKVGvhxVATB1zmaStxJBYet0Dyq7A9VhH8IUEB/gRcL6Ch52lfpgPTRJ2m49epyMsQ== dependencies: individual "^3.0.0" +event-emitter@^0.3.5: + version "0.3.5" + resolved "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz" + integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== + dependencies: + d "1" + es5-ext "~0.10.14" + eventemitter3@^4.0.4: version "4.0.7" resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" @@ -5037,12 +5349,12 @@ execa@^5.0.0, execa@^5.1.1: exit@^0.1.2: version "0.1.2" resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" - integrity "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz" - integrity "sha1-t3c14xXOMPa27/D4OwQVGiJEliI= sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==" + integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== dependencies: debug "^2.3.3" define-property "^0.2.5" @@ -5055,7 +5367,7 @@ expand-brackets@^2.1.4: expand-tilde@^2.0.0, expand-tilde@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz" - integrity "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==" + integrity sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw== dependencies: homedir-polyfill "^1.0.1" @@ -5069,24 +5381,29 @@ expect@^27.5.1: jest-matcher-utils "^27.5.1" jest-message-util "^27.5.1" -ext@^1.1.2: - version "1.6.0" - resolved "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz" - integrity sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg== +exponential-backoff@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz" + integrity sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw== + +ext@^1.7.0: + version "1.7.0" + resolved "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz" + integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== dependencies: - type "^2.5.0" + type "^2.7.2" extend-shallow@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" - integrity "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==" + integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== dependencies: is-extendable "^0.1.0" extend-shallow@^3.0.0, extend-shallow@^3.0.2: version "3.0.2" resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" - integrity "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==" + integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== dependencies: assign-symbols "^1.0.0" is-extendable "^1.0.1" @@ -5135,14 +5452,14 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-diff@^1.1.2: - version "1.2.0" - resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz" - integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== + version "1.3.0" + resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz" + integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== -fast-glob@^3.2.12, fast-glob@^3.2.9: - version "3.3.1" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz" - integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== +fast-glob@^3.2.9, fast-glob@^3.3.2: + version "3.3.2" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -5150,7 +5467,7 @@ fast-glob@^3.2.12, fast-glob@^3.2.9: merge2 "^1.3.0" micromatch "^4.0.4" -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: +fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@2.x: version "2.1.0" resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== @@ -5158,12 +5475,12 @@ fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: fast-levenshtein@^1.0.0: version "1.1.4" resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz" - integrity "sha1-5qdUzI8V5YmHqpy9J69m/W9OWvk= sha512-Ia0sQNrMPXXkqVFt6w6M1n1oKo3NfKs+mvaV811Jwir7vAk9a6PVV9VPYf6X3BU97QiLEmuW3uXH9u87zDFfdw==" + integrity sha512-Ia0sQNrMPXXkqVFt6w6M1n1oKo3NfKs+mvaV811Jwir7vAk9a6PVV9VPYf6X3BU97QiLEmuW3uXH9u87zDFfdw== -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: +fast-levenshtein@^2.0.6: version "2.0.6" resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - integrity "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fast-url-parser@1.1.3: version "1.1.3" @@ -5178,16 +5495,16 @@ fastparse@^1.1.2: integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== fastq@^1.6.0: - version "1.13.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + version "1.17.1" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== dependencies: reusify "^1.0.4" fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + version "2.0.2" + resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== dependencies: bser "2.1.1" @@ -5199,11 +5516,11 @@ fecha@^4.2.0: figures@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz" - integrity "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==" + integrity sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA== dependencies: escape-string-regexp "^1.0.5" -figures@^3.1.0: +figures@^3.0.0, figures@^3.1.0: version "3.2.0" resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== @@ -5225,17 +5542,17 @@ file-uri-to-path@1.0.0: fill-range@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" - integrity "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==" + integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== dependencies: extend-shallow "^2.0.1" is-number "^3.0.0" repeat-string "^1.6.1" to-regex-range "^2.1.0" -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== dependencies: to-regex-range "^5.0.1" @@ -5260,7 +5577,7 @@ find-cache-dir@^3.3.2: find-config@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/find-config/-/find-config-1.0.0.tgz" - integrity "sha1-6vorm8B/qckOmgw++c7PHMgA9TA= sha512-Z+suHH+7LSE40WfUeZPIxSxypCWvrzdVc60xAjUShZeT5eMWM0/FQUduq3HjluyfAHWvC/aOBkT1pTZktyF/jg==" + integrity sha512-Z+suHH+7LSE40WfUeZPIxSxypCWvrzdVc60xAjUShZeT5eMWM0/FQUduq3HjluyfAHWvC/aOBkT1pTZktyF/jg== dependencies: user-home "^2.0.0" @@ -5280,7 +5597,7 @@ find-root@1.1.0: find-up@^1.0.0: version "1.1.2" resolved "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz" - integrity "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==" + integrity sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA== dependencies: path-exists "^2.0.0" pinkie-promise "^2.0.0" @@ -5288,7 +5605,7 @@ find-up@^1.0.0: find-up@^2.0.0: version "2.1.0" resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" - integrity "sha1-RdG35QbHF93UgndaK3eSCjwMV6c= sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==" + integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== dependencies: locate-path "^2.0.0" @@ -5299,7 +5616,15 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" -find-up@^4.0.0, find-up@^4.1.0: +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== @@ -5318,7 +5643,7 @@ find-up@^5.0.0: findup-sync@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz" - integrity "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw= sha512-vs+3unmJT45eczmcAZ6zMJtxN3l/QXeccaXQx5cu/MeJMhewVfoWZqibRkOxPnmoR59+Zy5hjabfQc6JLSah4g==" + integrity sha512-vs+3unmJT45eczmcAZ6zMJtxN3l/QXeccaXQx5cu/MeJMhewVfoWZqibRkOxPnmoR59+Zy5hjabfQc6JLSah4g== dependencies: detect-file "^1.0.0" is-glob "^3.1.0" @@ -5362,17 +5687,18 @@ flagged-respawn@^1.0.0: integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q== flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + version "3.2.0" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== dependencies: - flatted "^3.1.0" + flatted "^3.2.9" + keyv "^4.5.3" rimraf "^3.0.2" -flatted@^3.1.0: - version "3.2.5" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz" - integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== +flatted@^3.2.9: + version "3.3.1" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz" + integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== flush-write-stream@^1.0.2: version "1.1.1" @@ -5388,13 +5714,13 @@ fn.name@1.x.x: integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw== follow-redirects@^1.14.8: - version "1.15.0" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz" - integrity sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ== + version "1.15.6" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz" + integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== for-each@^0.3.3: version "0.3.3" - resolved "https://mirrors.tencent.com/npm/for-each/-/for-each-0.3.3.tgz" + resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== dependencies: is-callable "^1.1.3" @@ -5402,12 +5728,12 @@ for-each@^0.3.3: for-in@^1.0.1, for-in@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" - integrity "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==" + integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== for-own@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz" - integrity "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs= sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==" + integrity sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg== dependencies: for-in "^1.0.1" @@ -5432,19 +5758,10 @@ form-data@^4.0.0: fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz" - integrity "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==" + integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== dependencies: map-cache "^0.2.2" -fs-extra@8.1.0: - version "8.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - fs-extra@^10.0.0: version "10.1.0" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" @@ -5454,6 +5771,16 @@ fs-extra@^10.0.0: jsonfile "^6.0.1" universalify "^2.0.0" +fs-extra@9.1.0: + version "9.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-minipass@^2.0.0, fs-minipass@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" @@ -5464,7 +5791,7 @@ fs-minipass@^2.0.0, fs-minipass@^2.1.0: fs-mkdirp-stream@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz" - integrity "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes= sha512-+vSd9frUnapVC2RZYfL3FCB2p3g4TBhaUmrsWlSudsGdnxIuUvBB2QM1VZeBtc49QFwrp+wQLrDs3+xxDgI5gQ==" + integrity sha512-+vSd9frUnapVC2RZYfL3FCB2p3g4TBhaUmrsWlSudsGdnxIuUvBB2QM1VZeBtc49QFwrp+wQLrDs3+xxDgI5gQ== dependencies: graceful-fs "^4.1.11" through2 "^2.0.3" @@ -5472,34 +5799,29 @@ fs-mkdirp-stream@^1.0.0: fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - integrity "sha1-FQStJSMVjKpA20onh8sBQRmU6k8= sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - -fsevents@^2.3.2, fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function-bind@^1.1.1, function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== -function.prototype.name@^1.1.5: - version "1.1.5" - resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" - integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== +function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - functions-have-names "^1.2.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" - integrity "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" + integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== -functions-have-names@^1.2.2, functions-have-names@^1.2.3: +functions-have-names@^1.2.3: version "1.2.3" resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== @@ -5545,15 +5867,16 @@ get-caller-file@^2.0.5: resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1: - version "1.2.1" - resolved "https://mirrors.tencent.com/npm/get-intrinsic/-/get-intrinsic-1.2.1.tgz" - integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== +get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== dependencies: - function-bind "^1.1.1" - has "^1.0.3" + es-errors "^1.3.0" + function-bind "^1.1.2" has-proto "^1.0.1" has-symbols "^1.0.3" + hasown "^2.0.0" get-package-type@^0.1.0: version "0.1.0" @@ -5575,18 +5898,19 @@ get-stream@^6.0.0: resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== +get-symbol-description@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz" + integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" + call-bind "^1.0.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz" - integrity "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==" + integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== git-raw-commits@^2.0.8: version "2.0.11" @@ -5602,7 +5926,7 @@ git-raw-commits@^2.0.8: git-remote-origin-url@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz" - integrity "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8= sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==" + integrity sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw== dependencies: gitconfiglocal "^1.0.0" pify "^2.3.0" @@ -5618,13 +5942,21 @@ git-semver-tags@^4.0.0, git-semver-tags@^4.1.1: gitconfiglocal@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz" - integrity "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s= sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==" + integrity sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ== dependencies: ini "^1.3.2" -glob-parent@5.1.2, glob-parent@^3.1.0, glob-parent@^5.1.2, glob-parent@~5.1.2: +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz" + integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA== + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" @@ -5632,7 +5964,7 @@ glob-parent@5.1.2, glob-parent@^3.1.0, glob-parent@^5.1.2, glob-parent@~5.1.2: glob-stream@^6.1.0: version "6.1.0" resolved "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz" - integrity "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ= sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==" + integrity sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw== dependencies: extend "^3.0.0" glob "^7.1.1" @@ -5645,27 +5977,68 @@ glob-stream@^6.1.0: to-absolute-glob "^2.0.0" unique-stream "^2.0.2" -glob-watcher@6.0.0, glob-watcher@^5.0.3: - version "6.0.0" - resolved "https://registry.npmjs.org/glob-watcher/-/glob-watcher-6.0.0.tgz#8565341978a92233fb3881b8857b4d1e9c6bf080" - integrity sha512-wGM28Ehmcnk2NqRORXFOTOR064L4imSw3EeOqU5bIwUf62eXGwg89WivH6VMahL8zlQHeodzvHpXplrqzrz3Nw== +glob-watcher@^5.0.3: + version "5.0.5" + resolved "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz" + integrity sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw== dependencies: - async-done "^2.0.0" - chokidar "^3.5.3" + anymatch "^2.0.0" + async-done "^1.2.0" + chokidar "^2.0.0" + is-negated-glob "^1.0.0" + just-debounce "^1.0.0" + normalize-path "^3.0.0" + object.defaults "^1.1.0" -glob@7.1.4: - version "7.1.4" - resolved "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz" - integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== +glob@^7.1.1: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^3.0.4" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.1.2: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.1.3: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.1.4: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@^7.1.6: version "7.2.3" resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -5688,12 +6061,24 @@ glob@^8.0.1, glob@^8.0.3, glob@^8.1.0: minimatch "^5.0.1" once "^1.3.0" -global-dirs@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz" - integrity "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU= sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==" +glob@7.2.3: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: - ini "^1.3.4" + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-directory@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz" + integrity sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q== + dependencies: + ini "4.1.1" global-modules@^1.0.0: version "1.0.0" @@ -5707,7 +6092,7 @@ global-modules@^1.0.0: global-prefix@^1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz" - integrity "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==" + integrity sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg== dependencies: expand-tilde "^2.0.2" homedir-polyfill "^1.0.1" @@ -5728,19 +6113,27 @@ globals@^11.1.0: resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^13.6.0, globals@^13.9.0: - version "13.15.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz" - integrity sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog== +globals@^13.6.0: + version "13.24.0" + resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== + dependencies: + type-fest "^0.20.2" + +globals@^13.9.0: + version "13.24.0" + resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== dependencies: type-fest "^0.20.2" globalthis@^1.0.3: - version "1.0.3" - resolved "https://mirrors.tencent.com/npm/globalthis/-/globalthis-1.0.3.tgz" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + version "1.0.4" + resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz" + integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== dependencies: - define-properties "^1.1.3" + define-properties "^1.2.1" + gopd "^1.0.1" globby@^11.0.3, globby@^11.1.0: version "11.1.0" @@ -5763,15 +6156,15 @@ glogg@^1.0.0: gopd@^1.0.1: version "1.0.1" - resolved "https://mirrors.tencent.com/npm/gopd/-/gopd-1.0.1.tgz" + resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== dependencies: get-intrinsic "^1.1.3" graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.6, graceful-fs@^4.2.9: - version "4.2.10" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + version "4.2.11" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== gulp-cli@^2.2.0: version "2.3.0" @@ -5800,7 +6193,7 @@ gulp-cli@^2.2.0: gulp-consolidate@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/gulp-consolidate/-/gulp-consolidate-0.2.0.tgz" - integrity "sha1-7zc7YTSvMbD4xR9etV+qC9dU31I= sha512-Zre5TU/GAxZTYxW+m3fHEO0d9QpGvU01Abp0tkOynAO61fP36h3ki9/xxKz9S3WEddivTOhMZmObxu2DFqY6FA==" + integrity sha512-Zre5TU/GAxZTYxW+m3fHEO0d9QpGvU01Abp0tkOynAO61fP36h3ki9/xxKz9S3WEddivTOhMZmObxu2DFqY6FA== dependencies: consolidate "~0.14.0" map-stream "0.0.4" @@ -5835,7 +6228,7 @@ gulp-spawn@^1.0.0: gulp-svg2ttf@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/gulp-svg2ttf/-/gulp-svg2ttf-2.0.1.tgz" - integrity "sha1-EdaLu+J7ifR2V7TY8pzzOFTX5ow= sha512-L0oi56jjFKSGXSZfmG1YKwiC5pe5JrQtF5a54xgAqUSBtAcSfBYC2JfOatF2qefIUu+uLCH8rPmfSZozw+WYng==" + integrity sha512-L0oi56jjFKSGXSZfmG1YKwiC5pe5JrQtF5a54xgAqUSBtAcSfBYC2JfOatF2qefIUu+uLCH8rPmfSZozw+WYng== dependencies: bufferstreams "^1.1.0" gulp-util "^3.0.7" @@ -5857,13 +6250,23 @@ gulp-svgicons2svgfont@^5.0.1: gulp-ttf2eot@^1.1.1: version "1.1.2" resolved "https://registry.npmjs.org/gulp-ttf2eot/-/gulp-ttf2eot-1.1.2.tgz" - integrity "sha1-Z1Fv4lO67Ls5ELQXoI3LUeNKyww= sha512-B2NwwG+QVMF6ETzeXwZHx6MeYEx0oHguIj0ZjPhqtKM3iXuDOrYbT2054q73cTI6hn2GMNAQWy11GjZM+LUxRg==" + integrity sha512-B2NwwG+QVMF6ETzeXwZHx6MeYEx0oHguIj0ZjPhqtKM3iXuDOrYbT2054q73cTI6hn2GMNAQWy11GjZM+LUxRg== dependencies: bufferstreams "^1.1.0" gulp-util "^3.0.7" readable-stream "^2.0.4" ttf2eot "^2.0.0" +gulp-ttf2woff@^1.1.0: + version "1.1.1" + resolved "https://registry.npmjs.org/gulp-ttf2woff/-/gulp-ttf2woff-1.1.1.tgz" + integrity sha512-l230Pv3CzE9OND8GlXyrdLvBjrfS2VCVs8g0+L6DaglqnW7aZFvZdeDH5VFe0zfp16n/zNPf4HBNfNStn9iXDA== + dependencies: + bufferstreams "^1.0.2" + gulp-util "^3.0.6" + readable-stream "^2.0.1" + ttf2woff "^2.0.1" + gulp-ttf2woff2@^4.0.0: version "4.0.1" resolved "https://registry.npmjs.org/gulp-ttf2woff2/-/gulp-ttf2woff2-4.0.1.tgz" @@ -5876,20 +6279,10 @@ gulp-ttf2woff2@^4.0.0: ttf2woff2 "^4.0.1" vinyl "^2.2.0" -gulp-ttf2woff@^1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/gulp-ttf2woff/-/gulp-ttf2woff-1.1.1.tgz" - integrity "sha1-4iym5xvZrRBXUWRPixx+O+Owhqw= sha512-l230Pv3CzE9OND8GlXyrdLvBjrfS2VCVs8g0+L6DaglqnW7aZFvZdeDH5VFe0zfp16n/zNPf4HBNfNStn9iXDA==" - dependencies: - bufferstreams "^1.0.2" - gulp-util "^3.0.6" - readable-stream "^2.0.1" - ttf2woff "^2.0.1" - gulp-util@^3.0.6, gulp-util@^3.0.7: version "3.0.8" resolved "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz" - integrity "sha1-AFTh50RQLifATBh8PsxQXdVLu08= sha512-q5oWPc12lwSFS9h/4VIjG+1NuNDlJ48ywV2JKItY4Ycc/n1fXJeYPVQsfu5ZrhQi7FGSDBalwUCLar/GyHXKGw==" + integrity sha512-q5oWPc12lwSFS9h/4VIjG+1NuNDlJ48ywV2JKItY4Ycc/n1fXJeYPVQsfu5ZrhQi7FGSDBalwUCLar/GyHXKGw== dependencies: array-differ "^1.0.0" array-uniq "^1.0.2" @@ -5923,17 +6316,17 @@ gulp@^4.0.2: gulplog@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz" - integrity "sha1-4oxNRdBey77YGDY86PnFkmIp/+U= sha512-hm6N8nrm3Y08jXie48jsC55eCZz9mnb4OirAStEk2deqeyhXU3C1otDVh+ccttMuc1sBi6RX6ZJ720hs9RCvgw==" + integrity sha512-hm6N8nrm3Y08jXie48jsC55eCZz9mnb4OirAStEk2deqeyhXU3C1otDVh+ccttMuc1sBi6RX6ZJ720hs9RCvgw== dependencies: glogg "^1.0.0" handlebars@^4.7.7: - version "4.7.7" - resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz" - integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== + version "4.7.8" + resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz" + integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== dependencies: minimist "^1.2.5" - neo-async "^2.6.0" + neo-async "^2.6.2" source-map "^0.6.1" wordwrap "^1.0.0" optionalDependencies: @@ -5947,7 +6340,7 @@ hard-rejection@^2.1.0: has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" - integrity "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==" + integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== dependencies: ansi-regex "^2.0.0" @@ -5964,7 +6357,7 @@ has-flag@^1.0.0: has-flag@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - integrity "sha1-tdRU3CGZriJWmfNGfloH87lVuv0= sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" @@ -5974,43 +6367,43 @@ has-flag@^4.0.0: has-gulplog@^0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz" - integrity "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4= sha512-+F4GzLjwHNNDEAJW2DC1xXfEoPkRDmUdJ7CBYw4MpqtDwOnqdImJl7GWlpqx+Wko6//J8uKTnIe4wZSv7yCqmw==" + integrity sha512-+F4GzLjwHNNDEAJW2DC1xXfEoPkRDmUdJ7CBYw4MpqtDwOnqdImJl7GWlpqx+Wko6//J8uKTnIe4wZSv7yCqmw== dependencies: sparkles "^1.0.0" -has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== dependencies: - get-intrinsic "^1.1.1" + es-define-property "^1.0.0" -has-proto@^1.0.1: - version "1.0.1" - resolved "https://mirrors.tencent.com/npm/has-proto/-/has-proto-1.0.1.tgz" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== +has-proto@^1.0.1, has-proto@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== +has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== dependencies: - has-symbols "^1.0.2" + has-symbols "^1.0.3" has-unicode@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" - integrity "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" + integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== has-value@^0.3.1: version "0.3.1" resolved "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" - integrity "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==" + integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== dependencies: get-value "^2.0.3" has-values "^0.1.4" @@ -6019,7 +6412,7 @@ has-value@^0.3.1: has-value@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz" - integrity "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==" + integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== dependencies: get-value "^2.0.6" has-values "^1.0.0" @@ -6028,27 +6421,27 @@ has-value@^1.0.0: has-values@^0.1.4: version "0.1.4" resolved "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz" - integrity "sha1-bWHeldkd/Km5oCCJrThL/49it3E= sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==" + integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== has-values@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz" - integrity "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==" + integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== dependencies: is-number "^3.0.0" kind-of "^4.0.0" -has@^1.0.0, has@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" +has@^1.0.0: + version "1.0.4" + resolved "https://registry.npmjs.org/has/-/has-1.0.4.tgz" + integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ== -heap@^0.2.6: - version "0.2.7" - resolved "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz" - integrity sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg== +hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" hex-color-regex@^1.1.0: version "1.1.0" @@ -6067,7 +6460,14 @@ hosted-git-info@^2.1.4: resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: +hosted-git-info@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== + dependencies: + lru-cache "^6.0.0" + +hosted-git-info@^4.0.1: version "4.1.0" resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz" integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== @@ -6111,30 +6511,30 @@ html2canvas@^1.1.3: css-line-break "^2.1.0" text-segmentation "^1.0.3" -htmlparser2@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz" - integrity sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q== +htmlparser2@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-5.0.1.tgz" + integrity sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ== dependencies: domelementtype "^2.0.1" - domhandler "^3.0.0" - domutils "^2.0.0" + domhandler "^3.3.0" + domutils "^2.4.2" entities "^2.0.0" -htmlparser2@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz" - integrity sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA== +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== dependencies: - domelementtype "^2.3.0" - domhandler "^5.0.2" - domutils "^3.0.1" - entities "^4.3.0" + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" http-cache-semantics@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz" - integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + version "4.1.1" + resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== http-proxy-agent@^4.0.1: version "4.0.1" @@ -6170,7 +6570,7 @@ human-signals@^2.1.0: humanize-ms@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz" - integrity "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0= sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==" + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== dependencies: ms "^2.0.0" @@ -6179,21 +6579,28 @@ husky@~7.0.4: resolved "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz" integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== -iconv-lite@0.4.24, iconv-lite@^0.4.24: +iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@0.6, iconv-lite@0.6.3, iconv-lite@^0.6.2: +iconv-lite@^0.6.2, iconv-lite@0.6, iconv-lite@0.6.3: version "0.6.3" resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== dependencies: safer-buffer ">= 2.1.2 < 3.0.0" -icss-replace-symbols@1.1.0, icss-replace-symbols@^1.1.0: +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-replace-symbols@^1.1.0, icss-replace-symbols@1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz" integrity sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg== @@ -6208,15 +6615,20 @@ ignore@^4.0.6: resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^5.1.8, ignore@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== +ignore@^5.1.8: + version "5.3.1" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz" + integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + +ignore@^5.2.0: + version "5.3.1" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz" + integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== immutable@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz" - integrity sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ== + version "4.3.6" + resolved "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz" + integrity sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ== import-cwd@^2.0.0: version "2.1.0" @@ -6240,7 +6652,7 @@ import-fresh@^2.0.0: caller-path "^2.0.0" resolve-from "^3.0.0" -import-fresh@^3.0.0, import-fresh@^3.2.1: +import-fresh@^3.0.0, import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -6270,10 +6682,15 @@ import-local@^3.0.2: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" +import-meta-resolve@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz" + integrity sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw== + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - integrity "sha1-khi5srkoojixPcT7a21XbyMUU+o= sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== indent-string@^4.0.0: version "4.0.0" @@ -6288,7 +6705,7 @@ indexes-of@^1.0.1: individual@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/individual/-/individual-3.0.0.tgz" - integrity "sha1-58pPhfiVewGHNPKFdQ3CLsL5hi0= sha512-rUY5vtT748NMRbEMrTNiFfy29BgGZwGXUi2NFUVMWQrogSLzlJvQV9eeMWi+g1aVaQ53tpyLAQtd5x/JH0Nh1g==" + integrity sha512-rUY5vtT748NMRbEMrTNiFfy29BgGZwGXUi2NFUVMWQrogSLzlJvQV9eeMWi+g1aVaQ53tpyLAQtd5x/JH0Nh1g== infer-owner@^1.0.4: version "1.0.4" @@ -6298,22 +6715,37 @@ infer-owner@^1.0.4: inflight@^1.0.4: version "1.0.6" resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - integrity "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: +inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@2: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -ini@^1.3.2, ini@^1.3.4, ini@~1.3.0: +ini@^1.3.2: + version "1.3.8" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +ini@^1.3.4: + version "1.3.8" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +ini@~1.3.0: version "1.3.8" resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -inquirer@6.5.2, inquirer@^6.3.1: +ini@4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz" + integrity sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g== + +inquirer@^6.3.1: version "6.5.2" resolved "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz" integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== @@ -6332,13 +6764,34 @@ inquirer@6.5.2, inquirer@^6.3.1: strip-ansi "^5.1.0" through "^2.3.6" -internal-slot@^1.0.5: - version "1.0.5" - resolved "https://mirrors.tencent.com/npm/internal-slot/-/internal-slot-1.0.5.tgz" - integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== +inquirer@8.2.5: + version "8.2.5" + resolved "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz" + integrity sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + wrap-ansi "^7.0.0" + +internal-slot@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz" + integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== dependencies: - get-intrinsic "^1.2.0" - has "^1.0.3" + es-errors "^1.3.0" + hasown "^2.0.0" side-channel "^1.0.4" "internmap@1 - 2": @@ -6354,12 +6807,15 @@ interpret@^1.4.0: invert-kv@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz" - integrity "sha1-EEqOSqym09jNFXqO+L+rLXo//bY= sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==" + integrity sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ== -ip@^1.1.5: - version "1.1.8" - resolved "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz" - integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== +ip-address@^9.0.5: + version "9.0.5" + resolved "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz" + integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== + dependencies: + jsbn "1.1.0" + sprintf-js "^1.1.3" is-absolute-url@^2.0.0: version "2.1.0" @@ -6374,33 +6830,25 @@ is-absolute@^1.0.0: is-relative "^1.0.0" is-windows "^1.0.1" -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" - integrity "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==" - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== +is-accessor-descriptor@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz" + integrity sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA== dependencies: - kind-of "^6.0.0" + hasown "^2.0.0" -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://mirrors.tencent.com/npm/is-array-buffer/-/is-array-buffer-3.0.2.tgz" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== +is-array-buffer@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz" + integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== dependencies: call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" + get-intrinsic "^1.2.1" is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - integrity "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-arrayish@^0.3.1: version "0.3.2" @@ -6414,6 +6862,13 @@ is-bigint@^1.0.1: dependencies: has-bigints "^1.0.1" +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz" + integrity sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q== + dependencies: + binary-extensions "^1.0.0" + is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" @@ -6443,7 +6898,7 @@ is-builtin-module@^3.2.1: is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: version "1.2.7" - resolved "https://mirrors.tencent.com/npm/is-callable/-/is-callable-1.2.7.tgz" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== is-color-stop@^1.0.0: @@ -6458,26 +6913,26 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" -is-core-module@^2.12.1, is-core-module@^2.13.0, is-core-module@^2.5.0: - version "2.13.0" - resolved "https://mirrors.tencent.com/npm/is-core-module/-/is-core-module-2.13.0.tgz" - integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== +is-core-module@^2.13.0, is-core-module@^2.13.1, is-core-module@^2.5.0: + version "2.14.0" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz" + integrity sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A== dependencies: - has "^1.0.3" + hasown "^2.0.2" -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" - integrity "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==" +is-data-descriptor@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz" + integrity sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw== dependencies: - kind-of "^3.0.2" + hasown "^2.0.0" -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== +is-data-view@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz" + integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== dependencies: - kind-of "^6.0.0" + is-typed-array "^1.1.13" is-date-object@^1.0.1: version "1.0.5" @@ -6487,22 +6942,28 @@ is-date-object@^1.0.1: has-tostringtag "^1.0.0" is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + version "0.1.7" + resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz" + integrity sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg== dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" + is-accessor-descriptor "^1.0.1" + is-data-descriptor "^1.0.1" -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== +is-descriptor@^1.0.0: + version "1.0.3" + resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz" + integrity sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw== dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" + is-accessor-descriptor "^1.0.1" + is-data-descriptor "^1.0.1" + +is-descriptor@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz" + integrity sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw== + dependencies: + is-accessor-descriptor "^1.0.1" + is-data-descriptor "^1.0.1" is-directory@^0.3.1: version "0.3.1" @@ -6517,7 +6978,7 @@ is-docker@^2.0.0: is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" - integrity "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== is-extendable@^1.0.1: version "1.0.1" @@ -6529,19 +6990,19 @@ is-extendable@^1.0.1: is-extglob@^2.1.0, is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-fullwidth-code-point@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" - integrity "sha1-754xOG8DGn8NZDr4L95QxFfvAMs= sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==" + integrity sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw== dependencies: number-is-nan "^1.0.0" is-fullwidth-code-point@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" - integrity "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== is-fullwidth-code-point@^3.0.0: version "3.0.0" @@ -6561,7 +7022,7 @@ is-generator-fn@^2.0.0: is-glob@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz" - integrity "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==" + integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw== dependencies: is-extglob "^2.1.0" @@ -6580,22 +7041,22 @@ is-interactive@^1.0.0: is-lambda@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz" - integrity "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU= sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==" + integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== is-module@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz" - integrity "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== is-negated-glob@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz" - integrity "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==" + integrity sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug== -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== +is-negative-zero@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== is-number-object@^1.0.4: version "1.0.7" @@ -6607,7 +7068,7 @@ is-number-object@^1.0.4: is-number@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz" - integrity "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==" + integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== dependencies: kind-of "^3.0.2" @@ -6634,7 +7095,7 @@ is-object@^1.0.1: is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" - integrity "sha1-caUMhCnfync8kqOQpKA7OfzVHT4= sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==" + integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" @@ -6685,12 +7146,12 @@ is-resolvable@^1.0.0: resolved "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz" integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== +is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz" + integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.7" is-stream@^2.0.0: version "2.0.1" @@ -6714,21 +7175,21 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: is-text-path@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz" - integrity "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4= sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==" + integrity sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w== dependencies: text-extensions "^1.0.0" -is-typed-array@^1.1.10, is-typed-array@^1.1.9: - version "1.1.12" - resolved "https://mirrors.tencent.com/npm/is-typed-array/-/is-typed-array-1.1.12.tgz" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== +is-typed-array@^1.1.13: + version "1.1.13" + resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz" + integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== dependencies: - which-typed-array "^1.1.11" + which-typed-array "^1.1.14" is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - integrity "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== is-unc-path@^1.0.0: version "1.0.0" @@ -6745,12 +7206,12 @@ is-unicode-supported@^0.1.0: is-utf8@^0.2.0, is-utf8@^0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" - integrity "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==" + integrity sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q== is-valid-glob@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz" - integrity "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==" + integrity sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA== is-weakref@^1.0.2: version "1.0.2" @@ -6771,52 +7232,57 @@ is-wsl@^2.2.0: dependencies: is-docker "^2.0.0" +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + isarray@0.0.1: version "0.0.1" resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - integrity "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== -isarray@1.0.0, isarray@~1.0.0: +isarray@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - integrity "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - -isarray@^2.0.5: - version "2.0.5" - resolved "https://mirrors.tencent.com/npm/isarray/-/isarray-2.0.5.tgz" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== isexe@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== isobject@^2.0.0: version "2.1.0" resolved "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" - integrity "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==" + integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== dependencies: isarray "1.0.0" isobject@^3.0.0, isobject@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" - integrity "sha1-TkMekrEalzFjaqH5yNHMvP2reN8= sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== isstream@^0.1.2: version "0.1.2" resolved "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" - integrity "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + version "3.2.2" + resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: - version "5.2.0" - resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz" - integrity sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A== + version "5.2.1" + resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== dependencies: "@babel/core" "^7.12.3" "@babel/parser" "^7.14.7" @@ -6825,12 +7291,12 @@ istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: semver "^6.3.0" istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + version "3.0.1" + resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== dependencies: istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" + make-dir "^4.0.0" supports-color "^7.1.0" istanbul-lib-source-maps@^4.0.0: @@ -6843,9 +7309,9 @@ istanbul-lib-source-maps@^4.0.0: source-map "^0.6.1" istanbul-reports@^3.1.3: - version "3.1.4" - resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz" - integrity sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw== + version "3.1.7" + resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz" + integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== dependencies: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" @@ -7075,9 +7541,9 @@ jest-mock@^27.5.1: "@types/node" "*" jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + version "1.2.3" + resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz" + integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== jest-regex-util@^27.5.1: version "27.5.1" @@ -7093,7 +7559,7 @@ jest-resolve-dependencies@^27.5.1: jest-regex-util "^27.5.1" jest-snapshot "^27.5.1" -jest-resolve@^27.5.1: +jest-resolve@*, jest-resolve@^27.5.1: version "27.5.1" resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz" integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw== @@ -7246,7 +7712,7 @@ jest-worker@^27.5.1: merge-stream "^2.0.0" supports-color "^8.0.0" -jest@^27.5.1: +jest@^27.0.0, jest@^27.5.1: version "27.5.1" resolved "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz" integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ== @@ -7255,6 +7721,11 @@ jest@^27.5.1: import-local "^3.0.2" jest-cli "^27.5.1" +jiti@^1.19.1: + version "1.21.6" + resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz" + integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== + js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" @@ -7268,6 +7739,18 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsbn@1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz" + integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== + jsdom@^16.6.0: version "16.7.0" resolved "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz" @@ -7342,7 +7825,12 @@ jsesc@^2.5.1: jsesc@~0.5.0: version "0.5.0" resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" - integrity "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== json-parse-better-errors@^1.0.1: version "1.0.2" @@ -7367,31 +7855,31 @@ json-schema-traverse@^1.0.0: json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" - integrity "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json-stringify-safe@^5.0.1: version "5.0.1" resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" - integrity "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== -json5@2.x, json5@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz" - integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== +json5@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" -json5@^1.0.1, json5@^1.0.2: +json5@^1.0.2: version "1.0.2" - resolved "https://mirrors.tencent.com/npm/json5/-/json5-1.0.2.tgz" + resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== dependencies: minimist "^1.2.0" -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" - integrity "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==" - optionalDependencies: - graceful-fs "^4.1.6" +json5@^2.2.3, json5@2.x: + version "2.2.3" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== jsonfile@^6.0.1: version "6.1.0" @@ -7405,44 +7893,78 @@ jsonfile@^6.0.1: jsonparse@^1.2.0: version "1.3.1" resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" - integrity "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== + +JSONStream@^1.0.4: + version "1.3.5" + resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" juice@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/juice/-/juice-8.0.0.tgz" - integrity sha512-LRCfXBOqI1wt+zYR/5xwDnf+ZyiJiDt44DGZaBSAVwZWyWv3BliaiGTLS6KCvadv3uw6XGiPPFcTfY7CdF7Z/Q== + version "8.1.0" + resolved "https://registry.npmjs.org/juice/-/juice-8.1.0.tgz" + integrity sha512-FLzurJrx5Iv1e7CfBSZH68dC04EEvXvvVvPYB7Vx1WAuhCp1ZPIMtqxc+WTWxVkpTIC2Ach/GAv0rQbtGf6YMA== dependencies: - cheerio "^1.0.0-rc.3" + cheerio "1.0.0-rc.10" commander "^6.1.0" mensch "^0.3.4" slick "^1.12.2" - web-resource-inliner "^5.0.0" + web-resource-inliner "^6.0.1" + +just-debounce@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz" + integrity sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ== + +keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" khroma@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/khroma/-/khroma-2.0.0.tgz" - integrity sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g== + version "2.1.0" + resolved "https://registry.npmjs.org/khroma/-/khroma-2.1.0.tgz" + integrity sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw== + +kind-of@^3.0.2: + version "3.2.2" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== + dependencies: + is-buffer "^1.1.5" + +kind-of@^3.0.3: + version "3.2.2" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== + dependencies: + is-buffer "^1.1.5" -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: +kind-of@^3.2.0: version "3.2.2" resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" - integrity "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==" + integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== dependencies: is-buffer "^1.1.5" kind-of@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" - integrity "sha1-IIE989cSkosgc3hpGkUGb65y3Vc= sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==" + integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== dependencies: is-buffer "^1.1.5" -kind-of@^5.0.0, kind-of@^5.0.2: +kind-of@^5.0.2: version "5.1.0" resolved "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== -kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: +kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -7460,7 +7982,7 @@ kuler@^2.0.0: last-run@^1.1.0: version "1.1.1" resolved "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz" - integrity "sha1-RblpQsF7HHnHchmCWbqUO+v4yls= sha512-U/VxvpX4N/rFvPzr3qG5EtLKEnNI0emvIQB3/ecEwv+8GHaUKbIB8vxv1Oai5FAF0d0r7LXHhLLe5K/yChm5GQ==" + integrity sha512-U/VxvpX4N/rFvPzr3qG5EtLKEnNI0emvIQB3/ecEwv+8GHaUKbIB8vxv1Oai5FAF0d0r7LXHhLLe5K/yChm5GQ== dependencies: default-resolution "^2.0.0" es6-weak-map "^2.0.1" @@ -7485,14 +8007,14 @@ lazystream@^1.0.0: lcid@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz" - integrity "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==" + integrity sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw== dependencies: invert-kv "^1.0.0" lead@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz" - integrity "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI= sha512-IpSVCk9AYvLHo5ctcIXxOBpMWUe+4TKN3VPWAKUbJikkmsGp0VrSM8IttVc32D6J4WUsiPE6aEFRNmIoF/gdow==" + integrity sha512-IpSVCk9AYvLHo5ctcIXxOBpMWUe+4TKN3VPWAKUbJikkmsGp0VrSM8IttVc32D6J4WUsiPE6aEFRNmIoF/gdow== dependencies: flush-write-stream "^1.0.2" @@ -7509,14 +8031,6 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" - integrity "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==" - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - liftoff@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz" @@ -7576,9 +8090,9 @@ listr2@^4.0.5: wrap-ansi "^7.0.0" livereload-js@^3.3.1: - version "3.4.0" - resolved "https://registry.npmjs.org/livereload-js/-/livereload-js-3.4.0.tgz" - integrity sha512-F/pz9ZZP+R+arY94cECTZco7PXgBXyL+KVWUPZq8AQE9TOu14GV6fYeKOviv02JCvFa4Oi3Rs1hYEpfeajc+ow== + version "3.4.1" + resolved "https://registry.npmjs.org/livereload-js/-/livereload-js-3.4.1.tgz" + integrity sha512-5MP0uUeVCec89ZbNOT/i97Mc+q3SxXmiUGhRFOTmhrGPn//uWVQdCvcLJDy64MSBR5MidFdOR7B9viumoavy6g== livereload@^0.9.1: version "0.9.3" @@ -7593,7 +8107,7 @@ livereload@^0.9.1: load-json-file@^1.0.0: version "1.1.0" resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz" - integrity "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==" + integrity sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A== dependencies: graceful-fs "^4.1.2" parse-json "^2.2.0" @@ -7604,7 +8118,7 @@ load-json-file@^1.0.0: load-json-file@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" - integrity "sha1-L19Fq5HjMhYjT9U62rZo607AmTs= sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==" + integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== dependencies: graceful-fs "^4.1.2" parse-json "^4.0.0" @@ -7623,7 +8137,7 @@ loader-utils@^1.1.0: locate-path@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" - integrity "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==" + integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== dependencies: p-locate "^2.0.0" path-exists "^3.0.0" @@ -7655,20 +8169,50 @@ lodash-es@^4.17.21: resolved "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz" integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== +lodash._basecopy@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz" + integrity sha512-rFR6Vpm4HeCK1WPGvjZSJ+7yik8d8PVUdCJx5rT2pogG4Ve/2ZS7kfmO5l5T2o5V2mqlNIfSF5MZlr1+xOoYQQ== + +lodash._basetostring@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz" + integrity sha512-mTzAr1aNAv/i7W43vOR/uD/aJ4ngbtsRaCubp2BfZhlGU/eORUjg/7F6X0orNMdv33JOrdgGybtvMN/po3EWrA== + +lodash._basevalues@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz" + integrity sha512-H94wl5P13uEqlCg7OcNNhMQ8KvWSIyqXzOPusRgHC9DK3o54P6P3xtbXlVbRABG4q5gSmp7EDdJ0MSuW9HX6Mg== + +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz" + integrity sha512-RrL9VxMEPyDMHOd9uFbvMe8X55X16/cGM5IgOKgRElQZutpX89iS6vwl64duTV1/16w5JY7tuFNXqoekmh1EmA== + +lodash._isiterateecall@^3.0.0: + version "3.0.9" + resolved "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz" + integrity sha512-De+ZbrMu6eThFti/CSzhRvTKMgQToLxbij58LMfM8JnYDNSOjkjTCIaa8ixglOeGh2nyPlakbt5bJWJ7gvpYlQ== + lodash._reescape@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz" - integrity "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo= sha512-Sjlavm5y+FUVIF3vF3B75GyXrzsfYV8Dlv3L4mEpuB9leg8N6yf/7rU06iLPx9fY0Mv3khVp9p7Dx0mGV6V5OQ==" + integrity sha512-Sjlavm5y+FUVIF3vF3B75GyXrzsfYV8Dlv3L4mEpuB9leg8N6yf/7rU06iLPx9fY0Mv3khVp9p7Dx0mGV6V5OQ== lodash._reevaluate@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz" - integrity "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0= sha512-OrPwdDc65iJiBeUe5n/LIjd7Viy99bKwDdk7Z5ljfZg0uFRFlfQaCy9tZ4YMAag9WAZmlVpe1iZrkIMMSMHD3w==" + integrity sha512-OrPwdDc65iJiBeUe5n/LIjd7Viy99bKwDdk7Z5ljfZg0uFRFlfQaCy9tZ4YMAag9WAZmlVpe1iZrkIMMSMHD3w== lodash._reinterpolate@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz" - integrity "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==" + integrity sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA== + +lodash._root@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz" + integrity sha512-O0pWuFSK6x4EXhM1dhZ8gchNtG7JMqBtrHdoUFUWXD7dJnNSUze1GuyQr5sOs0aCvgGeI3o/OJW8f4ca7FDxmQ== lodash.camelcase@^4.3.0: version "4.3.0" @@ -7678,54 +8222,103 @@ lodash.camelcase@^4.3.0: lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" - integrity "sha1-gteb/zCmfEAF/9XiUVMArZyk168= sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.escape@^3.0.0: + version "3.2.0" + resolved "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz" + integrity sha512-n1PZMXgaaDWZDSvuNZ/8XOcYO2hOKDqZel5adtR30VKQAtoWs/5AOeFA0vPV8moiPzlqe7F4cP2tzpFewQyelQ== + dependencies: + lodash._root "^3.0.0" + +lodash.isarguments@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz" + integrity sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg== + +lodash.isarray@^3.0.0: + version "3.0.4" + resolved "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz" + integrity sha512-JwObCrNJuT0Nnbuecmqr5DgtuBppuCvGD9lxjFpAzwnVtdGoDQ1zig+5W8k5/6Gcn0gZ3936HDAlGd28i7sOGQ== lodash.ismatch@^4.4.0: version "4.4.0" resolved "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz" - integrity "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc= sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==" + integrity sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g== + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz" + integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== + +lodash.keys@^3.0.0: + version "3.1.2" + resolved "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz" + integrity sha512-CuBsapFjcubOGMn3VD+24HOAPxM79tH+V6ivJL3CHYjtrawauDJHUk//Yew9Hvc6e9rbCrURGk8z6PC+8WJBfQ== + dependencies: + lodash._getnative "^3.0.0" + lodash.isarguments "^3.0.0" + lodash.isarray "^3.0.0" lodash.map@^4.5.1: version "4.6.0" resolved "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz" - integrity "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM= sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==" + integrity sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q== -lodash.memoize@4.x, lodash.memoize@^4.1.2: +lodash.memoize@^4.1.2, lodash.memoize@4.x: version "4.1.2" resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" - integrity "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash.template@4.5.0, lodash.template@^3.0.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" - integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== - dependencies: +lodash.mergewith@^4.6.2: + version "4.6.2" + resolved "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz" + integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== + +lodash.restparam@^3.0.0: + version "3.6.1" + resolved "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz" + integrity sha512-L4/arjjuq4noiUJpt3yS6KIKDtJwNe2fIYgMqyYYKoeIfV1iEqvPwhCx23o+R9dzouGihDAPN1dTIRWa7zk8tw== + +lodash.template@^3.0.0: + version "3.6.2" + resolved "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz" + integrity sha512-0B4Y53I0OgHUJkt+7RmlDFWKjVAI/YUpWNiL9GQz5ORDr4ttgfQGo+phBWKFLJbBdtOwgMuUkdOHOnPg45jKmQ== + dependencies: + lodash._basecopy "^3.0.0" + lodash._basetostring "^3.0.0" + lodash._basevalues "^3.0.0" + lodash._isiterateecall "^3.0.0" lodash._reinterpolate "^3.0.0" - lodash.templatesettings "^4.0.0" + lodash.escape "^3.0.0" + lodash.keys "^3.0.0" + lodash.restparam "^3.0.0" + lodash.templatesettings "^3.0.0" -lodash.templatesettings@^4.0.0: - version "4.2.0" - resolved "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz" - integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== +lodash.templatesettings@^3.0.0: + version "3.1.1" + resolved "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz" + integrity sha512-TcrlEr31tDYnWkHFWDCV3dHYroKEXpJZ2YJYvJdhN+y4AkWMDZ5I4I8XDtUKqSAyG81N7w+I1mFEJtcED+tGqQ== dependencies: lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" lodash.truncate@^4.4.2: version "4.4.2" resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz" - integrity "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==" + integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== -lodash@^4.17.10, lodash@^4.17.12, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0: +lodash@^4.17.10, lodash@^4.17.12, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0, lodash@4.17.21: version "4.17.21" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -7749,11 +8342,11 @@ log-update@^4.0.0: wrap-ansi "^6.2.0" logform@^2.3.2, logform@^2.4.0: - version "2.5.1" - resolved "https://registry.npmjs.org/logform/-/logform-2.5.1.tgz" - integrity sha512-9FyqAm9o9NKKfiAKfZoYo9bGXXuwMkxQiQttkT4YjjVtQVIQtK6LmVtlxmCaFswo6N4AfEkHqZTV0taDtPotNg== + version "2.6.0" + resolved "https://registry.npmjs.org/logform/-/logform-2.6.0.tgz" + integrity sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ== dependencies: - "@colors/colors" "1.5.0" + "@colors/colors" "1.6.0" "@types/triple-beam" "^1.3.2" fecha "^4.2.0" ms "^2.1.1" @@ -7763,7 +8356,14 @@ logform@^2.3.2, logform@^2.4.0: longest@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/longest/-/longest-2.0.1.tgz" - integrity "sha1-eB4YMpaqlPbU2RbcM10NF676I/g= sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==" + integrity sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q== + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" lru-cache@^6.0.0: version "6.0.0" @@ -7773,9 +8373,9 @@ lru-cache@^6.0.0: yallist "^4.0.0" lru-cache@^7.7.1: - version "7.10.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz" - integrity sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A== + version "7.18.3" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz" + integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== magic-string@^0.25.2, magic-string@^0.25.7: version "0.25.9" @@ -7792,22 +8392,29 @@ make-dir@^2.0.0, make-dir@^2.1.0: pify "^4.0.1" semver "^5.6.0" -make-dir@^3.0.0, make-dir@^3.0.2: +make-dir@^3.0.2: version "3.1.0" resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== dependencies: semver "^6.0.0" -make-error@1.x, make-error@^1.1.1: +make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" + +make-error@^1.1.1, make-error@1.x: version "1.3.6" resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== make-fetch-happen@^10.0.3: - version "10.1.5" - resolved "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.5.tgz" - integrity sha512-mucOj2H0Jn/ax7H9K9T1bf0p1nn/mBFa551Os7ed9xRfLEx20aZhZeLslmRYfAaAqXZUGipcs+m5KOKvOH0XKA== + version "10.2.1" + resolved "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz" + integrity sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w== dependencies: agentkeepalive "^4.2.1" cacache "^16.1.0" @@ -7823,7 +8430,7 @@ make-fetch-happen@^10.0.3: minipass-pipeline "^1.2.4" negotiator "^0.6.3" promise-retry "^2.0.1" - socks-proxy-agent "^6.1.1" + socks-proxy-agent "^7.0.0" ssri "^9.0.0" make-iterator@^1.0.0: @@ -7843,12 +8450,12 @@ makeerror@1.0.12: map-cache@^0.2.0, map-cache@^0.2.2: version "0.2.2" resolved "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" - integrity "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==" + integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== map-obj@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" - integrity "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==" + integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== map-obj@^4.0.0: version "4.3.0" @@ -7858,19 +8465,19 @@ map-obj@^4.0.0: map-stream@0.0.4: version "0.0.4" resolved "https://registry.npmjs.org/map-stream/-/map-stream-0.0.4.tgz" - integrity "sha1-XsbekCE+9sey65Nn6a3o2k79tos= sha512-Z7r7iyB+6s4kZzM6V0DjG9em/X1roScoUPL2n35gEzofAiQTuU575taNaE3h+h20cZGUfInxjtq9KX7bzBQaXA==" + integrity sha512-Z7r7iyB+6s4kZzM6V0DjG9em/X1roScoUPL2n35gEzofAiQTuU575taNaE3h+h20cZGUfInxjtq9KX7bzBQaXA== map-visit@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" - integrity "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==" + integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== dependencies: object-visit "^1.0.0" matchdep@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz" - integrity "sha1-xvNINKDY28OzfCfui7yyfHd1WC4= sha512-LFgVbaHIHMqCRuCZyfCtUOq9/Lnzhi7Z0KFUE2fhD54+JN2jLh3hC02RLkqauJ3U4soU6H1J3tfj/Byk7GoEjA==" + integrity sha512-LFgVbaHIHMqCRuCZyfCtUOq9/Lnzhi7Z0KFUE2fhD54+JN2jLh3hC02RLkqauJ3U4soU6H1J3tfj/Byk7GoEjA== dependencies: findup-sync "^2.0.0" micromatch "^3.0.4" @@ -7899,7 +8506,7 @@ mdn-data@2.0.4: memorystream@^0.3.1: version "0.3.1" resolved "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz" - integrity "sha1-htcJCzDORV1j+64S3aUaR93K+bI= sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==" + integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw== mensch@^0.3.4: version "0.3.4" @@ -7928,16 +8535,16 @@ merge-stream@^2.0.0: resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - merge@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/merge/-/merge-2.1.1.tgz" integrity sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w== +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + mermaid@9.4.3: version "9.4.3" resolved "https://registry.npmjs.org/mermaid/-/mermaid-9.4.3.tgz" @@ -7963,7 +8570,7 @@ mermaid@9.4.3: microbuffer@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/microbuffer/-/microbuffer-1.0.0.tgz" - integrity "sha1-izgy7UDIfVH0e7I0kTppinVtGdI= sha512-O/SUXauVN4x6RaEJFqSPcXNtLFL+QzJHKZlyDVYFwcDDRVca3Fa/37QXXC+4zAGGa4YhHrHxKXuuHvLDIQECtA==" + integrity sha512-O/SUXauVN4x6RaEJFqSPcXNtLFL+QzJHKZlyDVYFwcDDRVca3Fa/37QXXC+4zAGGa4YhHrHxKXuuHvLDIQECtA== micromatch@^3.0.4: version "3.1.10" @@ -7984,15 +8591,53 @@ micromatch@^3.0.4: snapdragon "^0.8.1" to-regex "^3.0.2" +micromatch@^3.1.10: + version "3.1.10" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + version "4.0.7" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz" + integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== dependencies: - braces "^3.0.2" + braces "^3.0.3" picomatch "^2.3.1" -mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": +"mime-db@>= 1.43.0 < 2", mime-db@1.52.0: version "1.52.0" resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== @@ -8002,13 +8647,6 @@ mime-db@~1.33.0: resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz" integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ== -mime-types@2.1.18: - version "2.1.18" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz" - integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ== - dependencies: - mime-db "~1.33.0" - mime-types@^2.1.12, mime-types@~2.1.34: version "2.1.35" resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" @@ -8016,16 +8654,23 @@ mime-types@^2.1.12, mime-types@~2.1.34: dependencies: mime-db "1.52.0" -mime@>=2.0.3, mime@>=2.4.6: - version "3.0.0" - resolved "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz" - integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== +mime-types@2.1.18: + version "2.1.18" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz" + integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ== + dependencies: + mime-db "~1.33.0" -mime@^2.4.6: +mime@^2.4.6, mime@>=2.0.3: version "2.6.0" resolved "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz" integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== +mime@^3: + version "3.0.0" + resolved "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz" + integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== + mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz" @@ -8039,7 +8684,7 @@ mimic-fn@^2.1.0: min-document@^2.19.0: version "2.19.0" resolved "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz" - integrity "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU= sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==" + integrity sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ== dependencies: dom-walk "^0.1.0" @@ -8048,7 +8693,7 @@ min-indent@^1.0.0: resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -minimatch@3.1.2, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2, minimatch@3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -8056,9 +8701,9 @@ minimatch@3.1.2, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: brace-expansion "^1.1.7" minimatch@^5.0.1: - version "5.1.0" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz" - integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== + version "5.1.6" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== dependencies: brace-expansion "^2.0.1" @@ -8071,15 +8716,10 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@1.2.5, minimist@^1.1.0, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -minimist@^1.2.6: - version "1.2.6" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz" - integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== +minimist@^1.1.0, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz" + integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== minipass-collect@^1.0.2: version "1.0.2" @@ -8089,9 +8729,9 @@ minipass-collect@^1.0.2: minipass "^3.0.0" minipass-fetch@^2.0.3: - version "2.1.0" - resolved "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.0.tgz" - integrity sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg== + version "2.1.2" + resolved "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz" + integrity sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA== dependencies: minipass "^3.1.6" minipass-sized "^1.0.3" @@ -8121,12 +8761,17 @@ minipass-sized@^1.0.3: minipass "^3.0.0" minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6: - version "3.1.6" - resolved "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz" - integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ== + version "3.3.6" + resolved "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== dependencies: yallist "^4.0.0" +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== + minizlib@^2.1.1, minizlib@^2.1.2: version "2.1.2" resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" @@ -8136,9 +8781,9 @@ minizlib@^2.1.1, minizlib@^2.1.2: yallist "^4.0.0" mitt@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/mitt/-/mitt-3.0.0.tgz" - integrity sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ== + version "3.0.1" + resolved "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz" + integrity sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw== mixin-deep@^1.2.0: version "1.3.2" @@ -8155,7 +8800,12 @@ mkdirp@^0.5.1, mkdirp@~0.5.1: dependencies: minimist "^1.2.6" -mkdirp@^1.0.3, mkdirp@^1.0.4: +mkdirp@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mkdirp@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== @@ -8165,20 +8815,20 @@ modify-values@^1.0.0: resolved "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz" integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== +ms@^2.0.0, ms@^2.1.1, ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + ms@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== -ms@2.1.2, ms@^2.0.0, ms@^2.1.1: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - multipipe@^0.1.2: version "0.1.2" resolved "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz" - integrity "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s= sha512-7ZxrUybYv9NonoXgwoOqtStIu18D1c3eFZj27hqgf5kBrBF8Q+tE8V0MW8dKM5QLkQPh1JhhbKgHLY9kifov4Q==" + integrity sha512-7ZxrUybYv9NonoXgwoOqtStIu18D1c3eFZj27hqgf5kBrBF8Q+tE8V0MW8dKM5QLkQPh1JhhbKgHLY9kifov4Q== dependencies: duplexer2 "0.0.2" @@ -8198,17 +8848,22 @@ mute-stdout@^1.0.0: mute-stream@0.0.7: version "0.0.7" resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz" - integrity "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==" + integrity sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ== + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== nan@^2.14.2: - version "2.15.0" - resolved "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz" - integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== + version "2.20.0" + resolved "https://registry.npmjs.org/nan/-/nan-2.20.0.tgz" + integrity sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw== -nanoid@^3.3.4: - version "3.3.4" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz" - integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== nanomatch@^1.2.9: version "1.2.13" @@ -8230,21 +8885,21 @@ nanomatch@^1.2.9: natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - integrity "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== neatequal@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/neatequal/-/neatequal-1.0.0.tgz" - integrity "sha1-LuEhG8n6bkxVcV/SELsFYC6xrjs= sha512-sVt5awO4a4w24QmAthdrCPiVRW3naB8FGLdyadin01BH+6BzNPEBwGrpwCczQvPlULS6uXTItTe1PJ5P0kYm7A==" + integrity sha512-sVt5awO4a4w24QmAthdrCPiVRW3naB8FGLdyadin01BH+6BzNPEBwGrpwCczQvPlULS6uXTItTe1PJ5P0kYm7A== dependencies: varstream "^0.3.2" -negotiator@0.6.3, negotiator@^0.6.3: +negotiator@^0.6.3, negotiator@0.6.3: version "0.6.3" resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== -neo-async@^2.6.0: +neo-async@^2.6.2: version "2.6.2" resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== @@ -8252,7 +8907,7 @@ neo-async@^2.6.0: next-tick@^0.2.2: version "0.2.2" resolved "https://registry.npmjs.org/next-tick/-/next-tick-0.2.2.tgz" - integrity "sha1-ddpKkn7liH45BliABltzNkE7MQ0= sha512-f7h4svPtl+QidoBv4taKXUjJ70G2asaZ8G28nS0OkqaalX8dwwrtWtyxEDPK62AC00ur/+/E0pUwBwY5EPn15Q==" + integrity sha512-f7h4svPtl+QidoBv4taKXUjJ70G2asaZ8G28nS0OkqaalX8dwwrtWtyxEDPK62AC00ur/+/E0pUwBwY5EPn15Q== next-tick@^1.1.0: version "1.1.0" @@ -8273,22 +8928,23 @@ node-environment-flags@^1.0.5: semver "^5.7.0" node-fetch@^2.6.0: - version "2.6.7" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + version "2.7.0" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== dependencies: whatwg-url "^5.0.0" node-gyp@^9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-9.0.0.tgz" - integrity sha512-Ma6p4s+XCTPxCuAMrOA/IJRmVy16R8Sdhtwl4PrCr7IBlj4cPawF0vg/l7nOT1jPbuNS7lIRJpBSvVsXwEZuzw== + version "9.4.1" + resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.1.tgz" + integrity sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ== dependencies: env-paths "^2.2.0" + exponential-backoff "^3.1.1" glob "^7.1.4" graceful-fs "^4.2.6" make-fetch-happen "^10.0.3" - nopt "^5.0.0" + nopt "^6.0.0" npmlog "^6.0.0" rimraf "^3.0.2" semver "^7.3.5" @@ -8298,26 +8954,36 @@ node-gyp@^9.0.0: node-int64@^0.4.0: version "0.4.0" resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" - integrity "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== -node-releases@^2.0.3: - version "2.0.4" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz" - integrity sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ== +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== non-layered-tidy-tree-layout@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz" integrity sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw== -nopt@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz" - integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== +nopt@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz" + integrity sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g== + dependencies: + abbrev "^1.0.0" + +normalize-package-data@^2.3.2: + version "2.5.0" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== dependencies: - abbrev "1" + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" -normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: +normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== @@ -8340,7 +9006,7 @@ normalize-package-data@^3.0.0: normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" - integrity "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==" + integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== dependencies: remove-trailing-separator "^1.0.1" @@ -8401,45 +9067,45 @@ nth-check@^1.0.2: boolbase "~1.0.0" nth-check@^2.0.1: - version "2.1.0" - resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.0.tgz" - integrity sha512-/sJnahgHzXT7OGgQeAPJ5WDcxs7teA2FU1wo6fEoYqjoHBU+AQi3Qz5hecKPlnOr1YjnSYwJTlBXADbEsaBMLg== + version "2.1.1" + resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== dependencies: boolbase "^1.0.0" number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" - integrity "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==" + integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + version "2.2.10" + resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.10.tgz" + integrity sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ== object-assign@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz" - integrity "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I= sha512-jHP15vXVGeVh1HuaA2wY6lxk+whK/x4KBG88VXeRma7CCun7iGD5qPc4eYykQ9sdQvg8jkwFKsSxHln2ybW3xQ==" + integrity sha512-jHP15vXVGeVh1HuaA2wY6lxk+whK/x4KBG88VXeRma7CCun7iGD5qPc4eYykQ9sdQvg8jkwFKsSxHln2ybW3xQ== object-assign@^4.1.0: version "4.1.1" resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - integrity "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== object-copy@^0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" - integrity "sha1-fn2Fi3gb18mRpBupde04EnVOmYw= sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==" + integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== dependencies: copy-descriptor "^0.1.0" define-property "^0.2.5" kind-of "^3.0.3" -object-inspect@^1.12.2, object-inspect@^1.12.3, object-inspect@^1.9.0: - version "1.12.3" - resolved "https://mirrors.tencent.com/npm/object-inspect/-/object-inspect-1.12.3.tgz" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== +object-inspect@^1.12.2, object-inspect@^1.13.1: + version "1.13.2" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz" + integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g== object-keys@^1.1.1: version "1.1.1" @@ -8449,63 +9115,66 @@ object-keys@^1.1.1: object-visit@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz" - integrity "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==" + integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== dependencies: isobject "^3.0.0" -object.assign@^4.0.4, object.assign@^4.1.0, object.assign@^4.1.4: - version "4.1.4" - resolved "https://mirrors.tencent.com/npm/object.assign/-/object.assign-4.1.4.tgz" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== +object.assign@^4.0.4, object.assign@^4.1.0, object.assign@^4.1.5: + version "4.1.5" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz" + integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" + call-bind "^1.0.5" + define-properties "^1.2.1" has-symbols "^1.0.3" object-keys "^1.1.1" object.defaults@^1.0.0, object.defaults@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz" - integrity "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8= sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==" + integrity sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA== dependencies: array-each "^1.0.1" array-slice "^1.0.0" for-own "^1.0.0" isobject "^3.0.0" -object.fromentries@^2.0.6: - version "2.0.6" - resolved "https://mirrors.tencent.com/npm/object.fromentries/-/object.fromentries-2.0.6.tgz" - integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== +object.fromentries@^2.0.7: + version "2.0.8" + resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz" + integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: - version "2.1.4" - resolved "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz" - integrity sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ== - dependencies: - array.prototype.reduce "^1.0.4" - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.1" + version "2.1.8" + resolved "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz" + integrity sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A== + dependencies: + array.prototype.reduce "^1.0.6" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + gopd "^1.0.1" + safe-array-concat "^1.1.2" -object.groupby@^1.0.0: - version "1.0.0" - resolved "https://mirrors.tencent.com/npm/object.groupby/-/object.groupby-1.0.0.tgz" - integrity sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw== +object.groupby@^1.0.1: + version "1.0.3" + resolved "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz" + integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.21.2" - get-intrinsic "^1.2.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" object.map@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz" - integrity "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc= sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==" + integrity sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w== dependencies: for-own "^1.0.0" make-iterator "^1.0.0" @@ -8513,26 +9182,26 @@ object.map@^1.0.0: object.pick@^1.2.0, object.pick@^1.3.0: version "1.3.0" resolved "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" - integrity "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==" + integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== dependencies: isobject "^3.0.1" object.reduce@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz" - integrity "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60= sha512-naLhxxpUESbNkRqc35oQ2scZSJueHGQNUfMW/0U37IgN6tE2dgDWg3whf+NEliy3F/QysrO48XKUz/nGPe+AQw==" + integrity sha512-naLhxxpUESbNkRqc35oQ2scZSJueHGQNUfMW/0U37IgN6tE2dgDWg3whf+NEliy3F/QysrO48XKUz/nGPe+AQw== dependencies: for-own "^1.0.0" make-iterator "^1.0.0" -object.values@^1.1.0, object.values@^1.1.6: - version "1.1.6" - resolved "https://mirrors.tencent.com/npm/object.values/-/object.values-1.1.6.tgz" - integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== +object.values@^1.1.0, object.values@^1.1.7: + version "1.2.0" + resolved "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz" + integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" on-headers@~1.0.2: version "1.0.2" @@ -8542,7 +9211,7 @@ on-headers@~1.0.2: once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - integrity "sha1-WDsap3WWHUsROsF9nFC6753Xa9E= sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" @@ -8556,7 +9225,7 @@ one-time@^1.0.0: onetime@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz" - integrity "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==" + integrity sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ== dependencies: mimic-fn "^1.0.0" @@ -8569,7 +9238,7 @@ onetime@^5.1.0, onetime@^5.1.2: openai@^3.3.0: version "3.3.0" - resolved "https://mirrors.tencent.com/npm/openai/-/openai-3.3.0.tgz" + resolved "https://registry.npmjs.org/openai/-/openai-3.3.0.tgz" integrity sha512-uqxI/Au+aPRnsaQRe8CojU0eCR7I0mBiKjD3sNMzY6DaC1ZVrc85u98mtJW6voDug8fgGN+DIZmTDxTthxb7dQ== dependencies: axios "^0.26.0" @@ -8580,29 +9249,17 @@ opener@1: resolved "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + version "0.9.4" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== dependencies: deep-is "^0.1.3" fast-levenshtein "^2.0.6" levn "^0.4.1" prelude-ls "^1.2.1" type-check "^0.4.0" - word-wrap "^1.2.3" + word-wrap "^1.2.5" "opts@>= 1.2.0": version "2.0.2" @@ -8627,31 +9284,31 @@ ora@^5.4.1: ordered-read-streams@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz" - integrity "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4= sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw==" + integrity sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw== dependencies: readable-stream "^2.0.1" os-homedir@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" - integrity "sha1-/7xJiDNuDoM94MFox+8VISGqf7M= sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==" + integrity sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ== os-locale@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz" - integrity "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk= sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==" + integrity sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g== dependencies: lcid "^1.0.0" os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" - integrity "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== p-finally@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" - integrity "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== p-limit@^1.1.0: version "1.3.0" @@ -8677,7 +9334,7 @@ p-limit@^3.0.2: p-locate@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" - integrity "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==" + integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== dependencies: p-limit "^1.1.0" @@ -8727,7 +9384,7 @@ p-timeout@^3.2.0: p-try@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" - integrity "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==" + integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== p-try@^2.0.0: version "2.2.0" @@ -8749,7 +9406,7 @@ parent-module@^1.0.0: parse-filepath@^1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz" - integrity "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==" + integrity sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q== dependencies: is-absolute "^1.0.0" map-cache "^0.2.0" @@ -8758,7 +9415,7 @@ parse-filepath@^1.0.1: parse-json@^2.2.0: version "2.2.0" resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" - integrity "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==" + integrity sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ== dependencies: error-ex "^1.2.0" @@ -8788,44 +9445,41 @@ parse-node-version@^1.0.0: parse-passwd@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz" - integrity "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==" + integrity sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q== -parse5-htmlparser2-tree-adapter@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz" - integrity sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g== +parse5-htmlparser2-tree-adapter@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz" + integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== dependencies: - domhandler "^5.0.2" - parse5 "^7.0.0" + parse5 "^6.0.1" -parse5@6.0.1: +parse5@^6.0.1, parse5@6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== -parse5@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/parse5/-/parse5-7.0.0.tgz" - integrity sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g== - dependencies: - entities "^4.3.0" - pascalcase@^0.1.1: version "0.1.1" resolved "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz" - integrity "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==" + integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz" + integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q== path-exists@^2.0.0: version "2.1.0" resolved "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" - integrity "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==" + integrity sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ== dependencies: pinkie-promise "^2.0.0" path-exists@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" - integrity "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== path-exists@^4.0.0: version "4.0.0" @@ -8835,7 +9489,7 @@ path-exists@^4.0.0: path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - integrity "sha1-F0uSaHNVNP+8es5r9TpanhtcX18= sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-is-inside@1.0.2: version "1.0.2" @@ -8845,7 +9499,7 @@ path-is-inside@1.0.2: path-key@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" - integrity "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==" + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" @@ -8860,12 +9514,12 @@ path-parse@^1.0.7: path-root-regex@^0.1.0: version "0.1.2" resolved "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz" - integrity "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==" + integrity sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ== path-root@^0.1.1: version "0.1.1" resolved "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz" - integrity "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==" + integrity sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg== dependencies: path-root-regex "^0.1.0" @@ -8877,7 +9531,7 @@ path-to-regexp@2.2.1: path-type@^1.0.0: version "1.1.0" resolved "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz" - integrity "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==" + integrity sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg== dependencies: graceful-fs "^4.1.2" pify "^2.0.0" @@ -8900,10 +9554,10 @@ picocolors@^0.2.1: resolved "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz" integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== +picocolors@^1.0.0, picocolors@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz" + integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" @@ -8920,15 +9574,20 @@ pidtree@^0.5.0: resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.5.0.tgz" integrity sha512-9nxspIM7OpZuhBxPg73Zvyq7j1QMPMPsGKTqRc2XOaFQauDvoNz9fM1Wdkjmeo7l9GXOZiRs97sPkuayl39wjA== -pify@^2.0.0, pify@^2.3.0: +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pify@^2.3.0: version "2.3.0" resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" - integrity "sha1-7RQaasBDqEnqWISY59yosVMw6Qw= sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== pify@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" - integrity "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== pify@^4.0.1: version "4.0.1" @@ -8943,19 +9602,19 @@ pify@^5.0.0: pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" - integrity "sha1-ITXW36ejWMBprJsXh3YogihFD/o= sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==" + integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== dependencies: pinkie "^2.0.0" pinkie@^2.0.0: version "2.0.4" resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" - integrity "sha1-clVrgM+g1IqXToDnckjoDtT3+HA= sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==" + integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== -pirates@^4.0.4, pirates@^4.0.5: - version "4.0.5" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" - integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== +pirates@^4.0.4, pirates@^4.0.6: + version "4.0.6" + resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== pkg-dir@^3.0.0: version "3.0.0" @@ -8964,7 +9623,14 @@ pkg-dir@^3.0.0: dependencies: find-up "^3.0.0" -pkg-dir@^4.1.0, pkg-dir@^4.2.0: +pkg-dir@^4.1.0: + version "4.2.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pkg-dir@^4.2.0: version "4.2.0" resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== @@ -8992,7 +9658,12 @@ plugin-error@^1.0.1: posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" - integrity "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==" + integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== + +possible-typed-array-names@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz" + integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== postcss-calc@^7.0.1: version "7.0.5" @@ -9282,9 +9953,9 @@ postcss-selector-parser@^3.0.0: uniq "^1.0.1" postcss-selector-parser@^6.0.2: - version "6.0.13" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz" - integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== + version "6.1.0" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz" + integrity sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" @@ -9317,15 +9988,6 @@ postcss-value-parser@^4.0.2: resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz" - integrity sha512-VbGX1LQgQbf9l3cZ3qbUuC3hGqIEOGQFHAEHQ/Diaeo0yLgpgK5Rb8J+OcamIfQ9PbAU/fzBjVtQX3AhJHUvZw== - dependencies: - chalk "^1.1.3" - source-map "^0.5.6" - supports-color "^3.2.3" - postcss@^6.0.1: version "6.0.23" resolved "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz" @@ -9335,7 +9997,23 @@ postcss@^6.0.1: source-map "^0.6.1" supports-color "^5.4.0" -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.27: +postcss@^7.0.0: + version "7.0.39" + resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + +postcss@^7.0.1: + version "7.0.39" + resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + +postcss@^7.0.27: version "7.0.39" resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== @@ -9344,24 +10022,28 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.27: source-map "^0.6.1" postcss@^8.2.15: - version "8.4.14" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz" - integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== + version "8.4.38" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz" + integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== dependencies: - nanoid "^3.3.4" + nanoid "^3.3.7" picocolors "^1.0.0" - source-map-js "^1.0.2" + source-map-js "^1.2.0" + +postcss@6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz" + integrity sha512-VbGX1LQgQbf9l3cZ3qbUuC3hGqIEOGQFHAEHQ/Diaeo0yLgpgK5Rb8J+OcamIfQ9PbAU/fzBjVtQX3AhJHUvZw== + dependencies: + chalk "^1.1.3" + source-map "^0.5.6" + supports-color "^3.2.3" prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" - integrity "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" - prettier-linter-helpers@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" @@ -9369,7 +10051,7 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@2.6.2: +prettier@^2.3.1, prettier@>=2.0.0, prettier@2.6.2: version "2.6.2" resolved "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz" integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== @@ -9386,12 +10068,12 @@ pretty-format@^27.0.0, pretty-format@^27.5.1: pretty-hrtime@^1.0.0: version "1.0.3" resolved "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz" - integrity "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==" + integrity sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A== -prismjs@^1.24.1: - version "1.28.0" - resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.28.0.tgz" - integrity sha512-8aaXdYvl1F7iC7Xm1spqSaY/OJBpYW3v+KJ+F17iYxvdc8sfjW194COK5wVhMZX45tGteiBQgdvD/nhxcRwylw== +prismjs@^1.18.0, prismjs@^1.24.1: + version "1.29.0" + resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz" + integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: version "2.0.1" @@ -9401,7 +10083,7 @@ process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: process@^0.11.10: version "0.11.10" resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz" - integrity "sha1-czIwDoQBYb2j5podHZGn1LwW8YI= sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== progress@^2.0.0: version "2.0.3" @@ -9411,7 +10093,7 @@ progress@^2.0.0: promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz" - integrity "sha1-mEcocL8igTL8vdhoEputEsPAKeM= sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" + integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== promise-retry@^2.0.1: version "2.0.1" @@ -9424,7 +10106,7 @@ promise-retry@^2.0.1: promise.series@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/promise.series/-/promise.series-0.2.0.tgz" - integrity "sha1-LMfr6Vn8OmYZwEq029yeRS2GS70= sha512-VWQJyU2bcDTgZw8kpfBpB/ejZASlCrzwz5f2hjb/zlujOEB4oeiAhHygAWq8ubsX2GVkD4kCU5V2dwOTaCY5EQ==" + integrity sha512-VWQJyU2bcDTgZw8kpfBpB/ejZASlCrzwz5f2hjb/zlujOEB4oeiAhHygAWq8ubsX2GVkD4kCU5V2dwOTaCY5EQ== prompts@^2.0.1: version "2.4.2" @@ -9435,9 +10117,9 @@ prompts@^2.0.1: sisteransi "^1.0.5" psl@^1.1.33: - version "1.8.0" - resolved "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + version "1.9.0" + resolved "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== pump@^2.0.0: version "2.0.1" @@ -9462,14 +10144,19 @@ punycode@^1.3.2: integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + version "2.3.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== q@^1.1.2, q@^1.5.1: version "1.5.1" resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz" - integrity "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" + integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== queue-microtask@^1.2.2: version "1.2.3" @@ -9511,7 +10198,7 @@ react-is@^17.0.1: read-pkg-up@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz" - integrity "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==" + integrity sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A== dependencies: find-up "^1.0.0" read-pkg "^1.0.0" @@ -9519,7 +10206,7 @@ read-pkg-up@^1.0.1: read-pkg-up@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz" - integrity "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==" + integrity sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw== dependencies: find-up "^2.0.0" read-pkg "^3.0.0" @@ -9536,7 +10223,7 @@ read-pkg-up@^7.0.1: read-pkg@^1.0.0: version "1.1.0" resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz" - integrity "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==" + integrity sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ== dependencies: load-json-file "^1.0.0" normalize-package-data "^2.3.2" @@ -9545,7 +10232,7 @@ read-pkg@^1.0.0: read-pkg@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz" - integrity "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==" + integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== dependencies: load-json-file "^4.0.0" normalize-package-data "^2.3.2" @@ -9561,29 +10248,169 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.4.0, readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== +readable-stream@^1.0.33: + version "1.1.14" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" + integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@^2.0.0: + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^2.0.1: + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^2.0.2: + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^2.0.4: + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^2.0.5: + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^2.1.5: + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^2.2.2: + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^2.3.3: + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^2.3.5: + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^2.3.6: + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.4.0, readable-stream@^3.6.0, readable-stream@3: + version "3.6.2" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== dependencies: inherits "^2.0.3" string_decoder "^1.1.1" util-deprecate "^1.0.1" -readable-stream@^1.0.33, readable-stream@~1.1.9: +readable-stream@~1.1.9: version "1.1.14" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" - integrity "sha1-fPTFTvZI44EwhMY23SB54WbAgdk= sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==" + integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== dependencies: core-util-is "~1.0.0" inherits "~2.0.1" isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.7" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== +readable-stream@~2.3.6: + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== dependencies: core-util-is "~1.0.0" inherits "~2.0.3" @@ -9593,6 +10420,15 @@ readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable string_decoder "~1.1.1" util-deprecate "~1.0.1" +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + readdirp@~3.6.0: version "3.6.0" resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" @@ -9603,7 +10439,7 @@ readdirp@~3.6.0: rechoir@^0.6.2: version "0.6.2" resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" - integrity "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==" + integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== dependencies: resolve "^1.1.6" @@ -9615,10 +10451,10 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" -regenerate-unicode-properties@^10.0.1: - version "10.0.1" - resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz" - integrity sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw== +regenerate-unicode-properties@^10.1.0: + version "10.1.1" + resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz" + integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== dependencies: regenerate "^1.4.2" @@ -9627,15 +10463,15 @@ regenerate@^1.4.2: resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@^0.13.4: - version "0.13.9" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== -regenerator-transform@^0.15.0: - version "0.15.0" - resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz" - integrity sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg== +regenerator-transform@^0.15.2: + version "0.15.2" + resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz" + integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== dependencies: "@babel/runtime" "^7.8.4" @@ -9647,31 +10483,32 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" -regexp.prototype.flags@^1.5.0: - version "1.5.0" - resolved "https://mirrors.tencent.com/npm/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz" - integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA== +regexp.prototype.flags@^1.5.2: + version "1.5.2" + resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz" + integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - functions-have-names "^1.2.3" + call-bind "^1.0.6" + define-properties "^1.2.1" + es-errors "^1.3.0" + set-function-name "^2.0.1" regexpp@^3.1.0: version "3.2.0" resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== -regexpu-core@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz" - integrity sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw== +regexpu-core@^5.3.1: + version "5.3.2" + resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz" + integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== dependencies: + "@babel/regjsgen" "^0.8.0" regenerate "^1.4.2" - regenerate-unicode-properties "^10.0.1" - regjsgen "^0.6.0" - regjsparser "^0.8.2" + regenerate-unicode-properties "^10.1.0" + regjsparser "^0.9.1" unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" registry-auth-token@3.3.2: version "3.3.2" @@ -9688,15 +10525,10 @@ registry-url@3.1.0: dependencies: rc "^1.0.1" -regjsgen@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz" - integrity sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA== - -regjsparser@^0.8.2: - version "0.8.4" - resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz" - integrity sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA== +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== dependencies: jsesc "~0.5.0" @@ -9711,7 +10543,7 @@ remove-bom-buffer@^3.0.0: remove-bom-stream@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz" - integrity "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM= sha512-wigO8/O08XHb8YPzpDDT+QmRANfW6vLqxfaXm1YXhnFf3AkSLyjfG3GEFg4McZkmgL7KvCj5u2KczkvSP6NfHA==" + integrity sha512-wigO8/O08XHb8YPzpDDT+QmRANfW6vLqxfaXm1YXhnFf3AkSLyjfG3GEFg4McZkmgL7KvCj5u2KczkvSP6NfHA== dependencies: remove-bom-buffer "^3.0.0" safe-buffer "^5.1.0" @@ -9720,7 +10552,7 @@ remove-bom-stream@^1.2.0: remove-trailing-separator@^1.0.1, remove-trailing-separator@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" - integrity "sha1-wkvOKig62tW8P1jg1IJJuSN52O8= sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==" + integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== repeat-element@^1.1.2: version "1.1.4" @@ -9730,12 +10562,7 @@ repeat-element@^1.1.2: repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" - integrity "sha1-jcrkcOHIirwtYA//Sndihtp15jc= sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" - -replace-ext@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz" - integrity "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ= sha512-AFBWBy9EVRTa/LhEcG8QDP3FvpwZqmvN2QFDuJswFeaVhWnZMp8q3E6Zd90SR04PlIwfGdyVjNyLPyen/ek5CQ==" + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== replace-ext@^1.0.0: version "1.0.1" @@ -9747,19 +10574,24 @@ replace-ext@^2.0.0: resolved "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz" integrity sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug== +replace-ext@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz" + integrity sha512-AFBWBy9EVRTa/LhEcG8QDP3FvpwZqmvN2QFDuJswFeaVhWnZMp8q3E6Zd90SR04PlIwfGdyVjNyLPyen/ek5CQ== + replace-homedir@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz" - integrity "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw= sha512-CHPV/GAglbIB1tnQgaiysb8H2yCy8WQ7lcEwQ/eT+kLj0QHV8LnJW0zpqpE7RSkrMSRoa+EBoag86clf7WAgSg==" + integrity sha512-CHPV/GAglbIB1tnQgaiysb8H2yCy8WQ7lcEwQ/eT+kLj0QHV8LnJW0zpqpE7RSkrMSRoa+EBoag86clf7WAgSg== dependencies: homedir-polyfill "^1.0.1" is-absolute "^1.0.0" remove-trailing-separator "^1.1.0" replace-in-file@^7.0.1: - version "7.0.2" - resolved "https://registry.npmjs.org/replace-in-file/-/replace-in-file-7.0.2.tgz" - integrity sha512-tPG+Qmqf+x2Rf1WVdb/9B5tFIf6KJ5hs3fgxh1OTzPRUugPPvyAva7NvCJtnSpmyq6r+ABYcuUOqZkm6yzGSUw== + version "7.2.0" + resolved "https://registry.npmjs.org/replace-in-file/-/replace-in-file-7.2.0.tgz" + integrity sha512-CiLXVop3o8/h2Kd1PwKPPimmS9wUV0Ki6Fl8+1ITD35nB3Gl/PrW5IONpTE0AXk0z4v8WYcpEpdeZqMXvSnWpg== dependencies: chalk "^4.1.2" glob "^8.1.0" @@ -9768,7 +10600,7 @@ replace-in-file@^7.0.1: require-directory@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - integrity "sha1-jGStX9MNqxyXbiNE/+f3kqam30I= sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== require-from-string@^2.0.2: version "2.0.2" @@ -9778,7 +10610,12 @@ require-from-string@^2.0.2: require-main-filename@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz" - integrity "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==" + integrity sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== resolve-cwd@^3.0.0: version "3.0.0" @@ -9790,7 +10627,7 @@ resolve-cwd@^3.0.0: resolve-dir@^1.0.0, resolve-dir@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz" - integrity "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==" + integrity sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg== dependencies: expand-tilde "^2.0.0" global-modules "^1.0.0" @@ -9810,34 +10647,27 @@ resolve-from@^5.0.0: resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve-global@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz" - integrity sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw== - dependencies: - global-dirs "^0.1.1" - resolve-options@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz" - integrity "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE= sha512-NYDgziiroVeDC29xq7bp/CacZERYsA9bXYd1ZmcJlF3BcrZv5pTb4NG7SjdyKDnXZ84aC4vo2u6sNKIA1LCu/A==" + integrity sha512-NYDgziiroVeDC29xq7bp/CacZERYsA9bXYd1ZmcJlF3BcrZv5pTb4NG7SjdyKDnXZ84aC4vo2u6sNKIA1LCu/A== dependencies: value-or-function "^3.0.0" resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" - integrity "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==" + integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== resolve.exports@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz" - integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== + version "1.1.1" + resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz" + integrity sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ== -resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.14.2, resolve@^1.16.1, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.3, resolve@^1.22.4, resolve@^1.4.0: - version "1.22.4" - resolved "https://mirrors.tencent.com/npm/resolve/-/resolve-1.22.4.tgz" - integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg== +resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.14.2, resolve@^1.16.1, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.4, resolve@^1.4.0: + version "1.22.8" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== dependencies: is-core-module "^2.13.0" path-parse "^1.0.7" @@ -9846,7 +10676,7 @@ resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.14. restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz" - integrity "sha1-n37ih/gv0ybU/RYpI9YhKe7g368= sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==" + integrity sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q== dependencies: onetime "^2.0.0" signal-exit "^3.0.2" @@ -9867,7 +10697,7 @@ ret@~0.1.10: retry@^0.12.0: version "0.12.0" resolved "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz" - integrity "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==" + integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== reusify@^1.0.4: version "1.0.4" @@ -9875,9 +10705,9 @@ reusify@^1.0.4: integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rfdc@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz" - integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== + version "1.4.1" + resolved "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz" + integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== rgb-regex@^1.0.1: version "1.0.1" @@ -9903,10 +10733,10 @@ rimraf@~2.6.2: dependencies: glob "^7.1.3" -robust-predicates@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.1.tgz" - integrity sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g== +robust-predicates@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz" + integrity sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg== rollup-plugin-livereload@~2.0.5: version "2.0.5" @@ -9951,11 +10781,11 @@ rollup-plugin-serve-proxy@^1.1.4: opener "1" rollup-plugin-serve@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/rollup-plugin-serve/-/rollup-plugin-serve-2.0.2.tgz" - integrity sha512-ALqyTbPhlf7FZ5RzlbDvMYvbKuCHWginJkTo6dMsbgji/a78IbsXox+pC83HENdkTRz8OXrTj+aShp3+3ratpg== + version "2.0.3" + resolved "https://registry.npmjs.org/rollup-plugin-serve/-/rollup-plugin-serve-2.0.3.tgz" + integrity sha512-gQKmfQng17+jOsX5tmDanvJkm0f9XLqWVvXsD7NGd1SlneT+U1j/HjslDUXQz6cqwLnVDRc6xF2lj6rre+eeeQ== dependencies: - mime ">=2.4.6" + mime "^3" opener "1" rollup-plugin-typescript2@^0.32.1: @@ -9976,14 +10806,14 @@ rollup-pluginutils@^2.3.3, rollup-pluginutils@^2.8.2: dependencies: estree-walker "^0.6.1" -rollup@~2.79.1: +"rollup@^1.20.0 || ^2.0.0", rollup@^1.20.0||^2.0.0, rollup@^1.20.0||^2.0.0||^3.0.0||^4.0.0, rollup@^2.0.0||^3.0.0||^4.0.0, rollup@^2.78.0||^3.0.0||^4.0.0, rollup@>=1.26.3, rollup@~2.79.1: version "2.79.1" resolved "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz" integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== optionalDependencies: fsevents "~2.3.2" -run-async@^2.2.0: +run-async@^2.2.0, run-async@^2.4.0: version "2.4.1" resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== @@ -9998,7 +10828,7 @@ run-parallel@^1.1.9: rw@1: version "1.3.3" resolved "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz" - integrity "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q= sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" + integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ== rxjs@^6.4.0: version "6.6.7" @@ -10008,23 +10838,33 @@ rxjs@^6.4.0: tslib "^1.9.0" rxjs@^7.5.5: - version "7.5.6" - resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz" - integrity sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw== + version "7.8.1" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== dependencies: tslib "^2.1.0" -safe-array-concat@^1.0.0: - version "1.0.0" - resolved "https://mirrors.tencent.com/npm/safe-array-concat/-/safe-array-concat-1.0.0.tgz" - integrity sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ== +safe-array-concat@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz" + integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" + call-bind "^1.0.7" + get-intrinsic "^1.2.4" has-symbols "^1.0.3" isarray "^2.0.5" -safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@5.1.2: version "5.1.2" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== @@ -10034,19 +10874,19 @@ safe-identifier@^0.4.1: resolved "https://registry.npmjs.org/safe-identifier/-/safe-identifier-0.4.2.tgz" integrity sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w== -safe-regex-test@^1.0.0: - version "1.0.0" - resolved "https://mirrors.tencent.com/npm/safe-regex-test/-/safe-regex-test-1.0.0.tgz" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== +safe-regex-test@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz" + integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" + call-bind "^1.0.6" + es-errors "^1.3.0" is-regex "^1.1.4" safe-regex@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" - integrity "sha1-QKNmnzsHfR6UPURinhV91IAjvy4= sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==" + integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== dependencies: ret "~0.1.10" @@ -10061,15 +10901,20 @@ safe-stable-stringify@^2.3.1: integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sass@^1.52.3: - version "1.52.3" - resolved "https://registry.npmjs.org/sass/-/sass-1.52.3.tgz" - integrity sha512-LNNPJ9lafx+j1ArtA7GyEJm9eawXN8KlA1+5dF6IZyoONg1Tyo/g+muOsENWJH/2Q1FHbbV4UwliU0cXMa/VIA== + version "1.77.6" + resolved "https://registry.npmjs.org/sass/-/sass-1.77.6.tgz" + integrity sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sax@^1.2.4, sax@~1.2.4: +sax@^1.2.4: + version "1.4.1" + resolved "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz" + integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg== + +sax@~1.2.4: version "1.2.4" resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== @@ -10084,36 +10929,79 @@ saxes@^5.0.1: semver-greatest-satisfied-range@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz" - integrity "sha1-E+jCZYq5aRywzXEJMkAoDTb3els= sha512-Ny/iyOzSSa8M5ML46IAx3iXc6tfOsYU2R4AXi2UpHk60Zrgyq6eqPj/xiOfS0rRl/iiQ/rdJkVjw/5cdUyCntQ==" + integrity sha512-Ny/iyOzSSa8M5ML46IAx3iXc6tfOsYU2R4AXi2UpHk60Zrgyq6eqPj/xiOfS0rRl/iiQ/rdJkVjw/5cdUyCntQ== dependencies: sver-compat "^1.5.0" -"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0, semver@^5.7.0: - version "5.7.1" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== +semver@^5.5.0: + version "5.7.2" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== -semver@7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== +semver@^5.6.0: + version "5.7.2" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== -semver@7.x, semver@^7.1.1, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: - version "7.3.7" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz" - integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== - dependencies: - lru-cache "^6.0.0" +semver@^5.7.0: + version "5.7.2" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== -semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0, semver@^6.3.1: +semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: version "6.3.1" - resolved "https://mirrors.tencent.com/npm/semver/-/semver-6.3.1.tgz" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== +semver@^7.1.1: + version "7.6.2" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz" + integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== + +semver@^7.2.1: + version "7.6.2" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz" + integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== + +semver@^7.3.2: + version "7.6.2" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz" + integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== + +semver@^7.3.4: + version "7.6.2" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz" + integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== + +semver@^7.3.5: + version "7.6.2" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz" + integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== + +semver@^7.3.7: + version "7.6.2" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz" + integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== + +semver@^7.5.3: + version "7.6.2" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz" + integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== + +"semver@2 || 3 || 4 || 5": + version "5.7.2" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@7.x: + version "7.6.2" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz" + integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== + serialize-javascript@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz" - integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== + version "6.0.2" + resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== dependencies: randombytes "^2.1.0" @@ -10132,12 +11020,12 @@ serve-handler@6.1.5: range-parser "1.2.0" serve@^14.2.0: - version "14.2.1" - resolved "https://registry.npmjs.org/serve/-/serve-14.2.1.tgz" - integrity sha512-48er5fzHh7GCShLnNyPBRPEjs2I6QBozeGr02gaacROiyS/8ARADlj595j39iZXAqBbJHH/ivJJyPRWY9sQWZA== + version "14.2.3" + resolved "https://registry.npmjs.org/serve/-/serve-14.2.3.tgz" + integrity sha512-VqUFMC7K3LDGeGnJM9h56D3XGKb6KGgOw0cVNtA26yYXHCcpxf3xwCTUaQoWlVS7i8Jdh3GjQkOB23qsXyjoyQ== dependencies: - "@zeit/schemas" "2.29.0" - ajv "8.11.0" + "@zeit/schemas" "2.36.0" + ajv "8.12.0" arg "5.0.2" boxen "7.0.0" chalk "5.0.1" @@ -10151,14 +11039,39 @@ serve@^14.2.0: set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" - integrity "sha1-BF+XgtARrppoA93TgrJDkrPYkPc= sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== -set-value@4.0.1, set-value@^2.0.0, set-value@^2.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/set-value/-/set-value-4.0.1.tgz#bc23522ade2d52314ec3b5d6fb140f5cd3a88acf" - integrity sha512-ayATicCYPVnlNpFmjq2/VmVwhoCQA9+13j8qWp044fmFE3IFphosPtRM+0CJ5xoIx5Uy52fCcwg3XeH2pHbbPQ== +set-function-length@^1.2.1: + version "1.2.2" + resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== dependencies: - is-plain-object "^2.0.4" + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +set-function-name@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.2" + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" shallow-clone@^3.0.0: version "3.0.1" @@ -10170,7 +11083,7 @@ shallow-clone@^3.0.0: shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" - integrity "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== dependencies: shebang-regex "^1.0.0" @@ -10184,7 +11097,7 @@ shebang-command@^2.0.0: shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" - integrity "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== shebang-regex@^3.0.0: version "3.0.0" @@ -10192,18 +11105,19 @@ shebang-regex@^3.0.0: integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shell-quote@^1.6.1: - version "1.7.3" - resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz" - integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw== + version "1.8.1" + resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz" + integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== side-channel@^1.0.4: - version "1.0.4" - resolved "https://mirrors.tencent.com/npm/side-channel/-/side-channel-1.0.4.tgz" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + version "1.0.6" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz" + integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" + call-bind "^1.0.7" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" @@ -10256,7 +11170,7 @@ slice-ansi@^5.0.0: slick@^1.12.2: version "1.12.2" resolved "https://registry.npmjs.org/slick/-/slick-1.12.2.tgz" - integrity "sha1-vQSN23TefRymkV+qSldXCzVQwtc= sha512-4qdtOGcBjral6YIBCWJ0ljFSKNLz9KkhbWtuGvUyRowl1kxfuE1x/Z/aJcaiilpb3do9bl5K7/1h9XC5wWpY/A==" + integrity sha512-4qdtOGcBjral6YIBCWJ0ljFSKNLz9KkhbWtuGvUyRowl1kxfuE1x/Z/aJcaiilpb3do9bl5K7/1h9XC5wWpY/A== smart-buffer@^4.2.0: version "4.2.0" @@ -10264,9 +11178,9 @@ smart-buffer@^4.2.0: integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== smob@^1.0.0: - version "1.4.0" - resolved "https://registry.npmjs.org/smob/-/smob-1.4.0.tgz" - integrity sha512-MqR3fVulhjWuRNSMydnTlweu38UhQ0HXM4buStD/S3mc/BzX3CuM9OmhyQpmtYCvoYdl5ris6TI0ZqH355Ymqg== + version "1.5.0" + resolved "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz" + integrity sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig== snapdragon-node@^2.0.1: version "2.1.1" @@ -10298,27 +11212,27 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" -socks-proxy-agent@^6.1.1: - version "6.2.0" - resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.0.tgz" - integrity sha512-wWqJhjb32Q6GsrUqzuFkukxb/zzide5quXYcMVpIjxalDBBYy2nqKCFQ/9+Ie4dvOYSQdOk3hUlZSdzZOd3zMQ== +socks-proxy-agent@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz" + integrity sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww== dependencies: agent-base "^6.0.2" debug "^4.3.3" socks "^2.6.2" socks@^2.6.2: - version "2.6.2" - resolved "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz" - integrity sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA== + version "2.8.3" + resolved "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz" + integrity sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw== dependencies: - ip "^1.1.5" + ip-address "^9.0.5" smart-buffer "^4.2.0" -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== +source-map-js@^1.2.0, "source-map-js@>=0.6.2 <2.0.0": + version "1.2.0" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== source-map-resolve@^0.5.0: version "0.5.3" @@ -10355,9 +11269,9 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== source-map@^0.7.3: - version "0.7.3" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + version "0.7.4" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== sourcemap-codec@^1.4.8: version "1.4.8" @@ -10370,17 +11284,17 @@ sparkles@^1.0.0: integrity sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw== spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + version "3.2.0" + resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== dependencies: spdx-expression-parse "^3.0.0" spdx-license-ids "^3.0.0" spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + version "2.5.0" + resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz" + integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== spdx-expression-parse@^3.0.0: version "3.0.1" @@ -10391,17 +11305,24 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.11" - resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz" - integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== + version "3.0.18" + resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz" + integrity sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ== -split-string@^3.0.2: +split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" resolved "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz" integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== dependencies: extend-shallow "^3.0.0" +split@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/split/-/split-1.0.1.tgz" + integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== + dependencies: + through "2" + split2@^3.0.0: version "3.2.2" resolved "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz" @@ -10409,17 +11330,15 @@ split2@^3.0.0: dependencies: readable-stream "^3.0.0" -split@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/split/-/split-1.0.1.tgz" - integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== - dependencies: - through "2" +sprintf-js@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz" + integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - integrity "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== ssri@^9.0.0: version "9.0.1" @@ -10436,12 +11355,12 @@ stable@^0.1.8: stack-trace@0.0.10, stack-trace@0.0.x: version "0.0.10" resolved "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz" - integrity "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==" + integrity sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg== stack-utils@^2.0.3: - version "2.0.5" - resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz" - integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== + version "2.0.6" + resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== dependencies: escape-string-regexp "^2.0.0" @@ -10468,20 +11387,20 @@ standard-version@^9.3.2: static-extend@^0.1.1: version "0.1.2" resolved "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" - integrity "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==" + integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== dependencies: define-property "^0.2.5" object-copy "^0.1.0" -stream-exhaust@^1.0.1, stream-exhaust@^1.0.2: +stream-exhaust@^1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz" integrity sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw== stream-shift@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz" - integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== + version "1.0.3" + resolved "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz" + integrity sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ== streamfilter@^3.0.0: version "3.0.0" @@ -10493,12 +11412,31 @@ streamfilter@^3.0.0: streamifier@^0.1.1: version "0.1.1" resolved "https://registry.npmjs.org/streamifier/-/streamifier-0.1.1.tgz" - integrity "sha1-l+mNj6TRBdYqJpHR3AfoINuN/E8= sha512-zDgl+muIlWzXNsXeyUfOk9dChMjlpkq0DRsxujtYPgyJ676yQ8jEm6zzaaWHFDg5BNcLuif0eD2MTyJdZqXpdg==" + integrity sha512-zDgl+muIlWzXNsXeyUfOk9dChMjlpkq0DRsxujtYPgyJ676yQ8jEm6zzaaWHFDg5BNcLuif0eD2MTyJdZqXpdg== + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" string-argv@^0.3.1: - version "0.3.1" - resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + version "0.3.2" + resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz" + integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== string-hash@^1.1.1: version "1.1.3" @@ -10516,18 +11454,36 @@ string-length@^4.0.1: string-template@~0.2.0: version "0.2.1" resolved "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz" - integrity "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0= sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw==" + integrity sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw== + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" + integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw== + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" -string-width@^1.0.1, string-width@^1.0.2: +string-width@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" - integrity "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==" + integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw== dependencies: code-point-at "^1.0.0" is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^2.1.0: +string-width@^2.1.0: version "2.1.1" resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -10535,16 +11491,16 @@ string-width@^1.0.1, string-width@^1.0.2: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== +string-width@^5.0.0: + version "5.1.2" + resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" -string-width@^5.0.0, string-width@^5.0.1, string-width@^5.1.2: +string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== @@ -10556,7 +11512,7 @@ string-width@^5.0.0, string-width@^5.0.1, string-width@^5.1.2: string.fromcodepoint@^0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/string.fromcodepoint/-/string.fromcodepoint-0.2.1.tgz" - integrity "sha1-jZeDM8C8klOPUPOD5IiPPlYZ1lM= sha512-n69H31OnxSGSZyZbgBlvYIXlrMhJQ0dQAX1js1QDhpaUH6zmU3QYlj07bCwCNlPOu3oRXIubGPl2gDGnHsiCqg==" + integrity sha512-n69H31OnxSGSZyZbgBlvYIXlrMhJQ0dQAX1js1QDhpaUH6zmU3QYlj07bCwCNlPOu3oRXIubGPl2gDGnHsiCqg== string.prototype.codepointat@^0.2.1: version "0.2.1" @@ -10564,52 +11520,42 @@ string.prototype.codepointat@^0.2.1: integrity sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg== string.prototype.padend@^3.0.0: - version "3.1.3" - resolved "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz" - integrity sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -string.prototype.trim@^1.2.7: - version "1.2.7" - resolved "https://mirrors.tencent.com/npm/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz" - integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== + version "3.1.6" + resolved "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.6.tgz" + integrity sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" -string.prototype.trimend@^1.0.6: - version "1.0.6" - resolved "https://mirrors.tencent.com/npm/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz" - integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== +string.prototype.trim@^1.2.9: + version "1.2.9" + resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz" + integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.0" + es-object-atoms "^1.0.0" -string.prototype.trimstart@^1.0.6: - version "1.0.6" - resolved "https://mirrors.tencent.com/npm/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz" - integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== +string.prototype.trimend@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz" + integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" -string_decoder@^1.1.1, string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== +string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== dependencies: - safe-buffer "~5.1.0" - -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" - integrity "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" stringify-package@^1.0.1: version "1.0.1" @@ -10619,14 +11565,14 @@ stringify-package@^1.0.1: strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" - integrity "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==" + integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== dependencies: ansi-regex "^2.0.0" strip-ansi@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" - integrity "sha1-qEeQIusaw2iocTibY1JixQXuNo8= sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==" + integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== dependencies: ansi-regex "^3.0.0" @@ -10651,22 +11597,22 @@ strip-ansi@^7.0.1: dependencies: ansi-regex "^6.0.1" -strip-bom@4.0.0, strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" - integrity "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==" + integrity sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g== dependencies: is-utf8 "^0.2.0" strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" - integrity "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-bom@^4.0.0, strip-bom@4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== strip-final-newline@^2.0.0: version "2.0.0" @@ -10680,12 +11626,7 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" -strip-json-comments@3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz" - integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== - -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1, strip-json-comments@3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== @@ -10710,14 +11651,14 @@ stylehacks@^4.0.0: postcss-selector-parser "^3.0.0" stylis@^4.1.2: - version "4.3.0" - resolved "https://registry.npmjs.org/stylis/-/stylis-4.3.0.tgz" - integrity sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ== + version "4.3.2" + resolved "https://registry.npmjs.org/stylis/-/stylis-4.3.2.tgz" + integrity sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg== supports-color@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" - integrity "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==" + integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== supports-color@^3.2.3: version "3.2.3" @@ -10733,14 +11674,28 @@ supports-color@^5.3.0, supports-color@^5.4.0: dependencies: has-flag "^3.0.0" -supports-color@^7.0.0, supports-color@^7.1.0: +supports-color@^7.0.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^7.1.0: version "7.2.0" resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" -supports-color@^8.0.0, supports-color@^8.1.1: +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.1.1: version "8.1.1" resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== @@ -10748,14 +11703,14 @@ supports-color@^8.0.0, supports-color@^8.1.1: has-flag "^4.0.0" supports-color@^9.2.2: - version "9.2.2" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-9.2.2.tgz" - integrity sha512-XC6g/Kgux+rJXmwokjm9ECpD6k/smUoS5LKlUCcsYr4IY3rW0XyAympon2RmxGrlnZURMpg5T18gWDP9CsHXFA== + version "9.4.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-9.4.0.tgz" + integrity sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw== supports-hyperlinks@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz" - integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== + version "2.3.0" + resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz" + integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== dependencies: has-flag "^4.0.0" supports-color "^7.0.0" @@ -10768,7 +11723,7 @@ supports-preserve-symlinks-flag@^1.0.0: sver-compat@^1.5.0: version "1.5.0" resolved "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz" - integrity "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg= sha512-aFTHfmjwizMNlNE6dsGmoAM4lHjL0CyiobWaFiXWSlD7cIxshW422Nb8KbXCmR6z+0ZEPY+daXJrDyh/vuwTyg==" + integrity sha512-aFTHfmjwizMNlNE6dsGmoAM4lHjL0CyiobWaFiXWSlD7cIxshW422Nb8KbXCmR6z+0ZEPY+daXJrDyh/vuwTyg== dependencies: es6-iterator "^2.0.1" es6-symbol "^3.1.1" @@ -10826,9 +11781,9 @@ svgo@^1.0.0: util.promisify "~1.0.0" svgpath@^2.1.5: - version "2.5.0" - resolved "https://registry.npmjs.org/svgpath/-/svgpath-2.5.0.tgz" - integrity sha512-o/vohwqjUO9nDAh4rcjE3KaW/v//At8UJu2LJMybXidf5QLQLVA4bxH0//4YCsr+1H4Gw1Wi/Jc62ynzSBYidw== + version "2.6.0" + resolved "https://registry.npmjs.org/svgpath/-/svgpath-2.6.0.tgz" + integrity sha512-OIWR6bKzXvdXYyO4DK/UWa1VA1JeKq8E+0ug2DG98Y/vOmMpfZNj+TIG988HjfYSqtcy/hFOtZq/n/j5GSESNg== symbol-tree@^3.2.4: version "3.2.4" @@ -10836,9 +11791,9 @@ symbol-tree@^3.2.4: integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== table@^6.0.9: - version "6.8.0" - resolved "https://registry.npmjs.org/table/-/table-6.8.0.tgz" - integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== + version "6.8.2" + resolved "https://registry.npmjs.org/table/-/table-6.8.2.tgz" + integrity sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA== dependencies: ajv "^8.0.1" lodash.truncate "^4.4.2" @@ -10847,13 +11802,13 @@ table@^6.0.9: strip-ansi "^6.0.1" tar@^6.1.11, tar@^6.1.2: - version "6.1.11" - resolved "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz" - integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== + version "6.2.1" + resolved "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz" + integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== dependencies: chownr "^2.0.0" fs-minipass "^2.0.0" - minipass "^3.0.0" + minipass "^5.0.0" minizlib "^2.1.1" mkdirp "^1.0.3" yallist "^4.0.0" @@ -10875,9 +11830,9 @@ terminal-link@^2.0.0: supports-hyperlinks "^2.0.0" terser@^5.17.4: - version "5.19.2" - resolved "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz" - integrity sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA== + version "5.31.1" + resolved "https://registry.npmjs.org/terser/-/terser-5.31.1.tgz" + integrity sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -10913,12 +11868,17 @@ text-segmentation@^1.0.3: text-table@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - integrity "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== throat@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz" - integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== + version "6.0.2" + resolved "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz" + integrity sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ== + +through@^2.3.6, through@^2.3.8, "through@>=2.2.7 <3", through@2: + version "2.3.8" + resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== through2-filter@^3.0.0: version "3.0.0" @@ -10943,15 +11903,10 @@ through2@^4.0.0: dependencies: readable-stream "3" -through@2, "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8: - version "2.3.8" - resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" - integrity "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - time-stamp@^1.0.0: version "1.1.0" resolved "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz" - integrity "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw==" + integrity sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw== timsort@^0.3.0: version "0.3.0" @@ -10973,7 +11928,7 @@ tmpl@1.0.5: to-absolute-glob@^2.0.0: version "2.0.2" resolved "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz" - integrity "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs= sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==" + integrity sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA== dependencies: is-absolute "^1.0.0" is-negated-glob "^1.0.0" @@ -10981,19 +11936,19 @@ to-absolute-glob@^2.0.0: to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - integrity "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== to-object-path@^0.3.0: version "0.3.0" resolved "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" - integrity "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==" + integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== dependencies: kind-of "^3.0.2" to-regex-range@^2.1.0: version "2.1.1" resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" - integrity "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==" + integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== dependencies: is-number "^3.0.0" repeat-string "^1.6.1" @@ -11018,18 +11973,19 @@ to-regex@^3.0.1, to-regex@^3.0.2: to-through@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz" - integrity "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY= sha512-+QIz37Ly7acM4EMdw2PRN389OneM5+d844tirkGp4dPKzI5OE72V9OsbFp+CIYJDahZ41ZV05hNtcPAQUAm9/Q==" + integrity sha512-+QIz37Ly7acM4EMdw2PRN389OneM5+d844tirkGp4dPKzI5OE72V9OsbFp+CIYJDahZ41ZV05hNtcPAQUAm9/Q== dependencies: through2 "^2.0.3" tough-cookie@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz" - integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== + version "4.1.4" + resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz" + integrity sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag== dependencies: psl "^1.1.33" punycode "^2.1.1" - universalify "^0.1.2" + universalify "^0.2.0" + url-parse "^1.5.3" tr46@^2.1.0: version "2.1.0" @@ -11048,7 +12004,7 @@ tr46@^3.0.0: tr46@~0.0.3: version "0.0.3" resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" - integrity "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== trim-newlines@^3.0.0: version "3.0.1" @@ -11079,10 +12035,10 @@ ts-jest@^27.1.1: semver "7.x" yargs-parser "20.x" -ts-node@^10.7.0: - version "10.8.0" - resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.8.0.tgz" - integrity sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA== +ts-node@^10.7.0, ts-node@>=9.0.0: + version "10.9.2" + resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== dependencies: "@cspotcode/source-map-support" "^0.8.0" "@tsconfig/node10" "^1.0.7" @@ -11098,10 +12054,10 @@ ts-node@^10.7.0: v8-compile-cache-lib "^3.0.1" yn "3.1.1" -tsconfig-paths@^3.14.2: - version "3.14.2" - resolved "https://mirrors.tencent.com/npm/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz" - integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== +tsconfig-paths@^3.15.0: + version "3.15.0" + resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz" + integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== dependencies: "@types/json5" "^0.0.29" json5 "^1.0.2" @@ -11113,10 +12069,20 @@ tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.1.0, tslib@^2.4.0: - version "2.4.0" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== +tslib@^2.1.0: + version "2.6.3" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz" + integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== + +tslib@^2.2.0: + version "2.6.3" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz" + integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== + +tslib@^2.4.0: + version "2.6.3" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz" + integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== tsutils@^3.21.0: version "3.21.0" @@ -11128,10 +12094,19 @@ tsutils@^3.21.0: ttf2eot@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ttf2eot/-/ttf2eot-2.0.0.tgz" - integrity "sha1-jmM3pYWr0WCKDISVirSDzmn2ZUs= sha512-U56aG2Ylw7psLOmakjemAzmpqVgeadwENg9oaDjaZG5NYX4WB6+7h74bNPcc+0BXsoU5A/XWiHabDXyzFOmsxQ==" + integrity sha512-U56aG2Ylw7psLOmakjemAzmpqVgeadwENg9oaDjaZG5NYX4WB6+7h74bNPcc+0BXsoU5A/XWiHabDXyzFOmsxQ== + dependencies: + argparse "^1.0.6" + microbuffer "^1.0.0" + +ttf2woff@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/ttf2woff/-/ttf2woff-2.0.2.tgz" + integrity sha512-X68badwBjAy/+itU49scLjXUL094up+rHuYk+YAOTTBYSUMOmLZ7VyhZJuqQESj1gnyLAC2/5V8Euv+mExmyPA== dependencies: argparse "^1.0.6" microbuffer "^1.0.0" + pako "^1.0.0" ttf2woff2@^4.0.1: version "4.0.5" @@ -11143,15 +12118,6 @@ ttf2woff2@^4.0.1: nan "^2.14.2" node-gyp "^9.0.0" -ttf2woff@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/ttf2woff/-/ttf2woff-2.0.2.tgz" - integrity sha512-X68badwBjAy/+itU49scLjXUL094up+rHuYk+YAOTTBYSUMOmLZ7VyhZJuqQESj1gnyLAC2/5V8Euv+mExmyPA== - dependencies: - argparse "^1.0.6" - microbuffer "^1.0.0" - pako "^1.0.0" - type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" @@ -11159,13 +12125,6 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" - integrity "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==" - dependencies: - prelude-ls "~1.1.2" - type-detect@4.0.8: version "4.0.8" resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" @@ -11201,54 +12160,54 @@ type-fest@^2.13.0: resolved "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz" integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== -type@^1.0.1: - version "1.2.0" - resolved "https://registry.npmjs.org/type/-/type-1.2.0.tgz" - integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== - -type@^2.5.0: - version "2.6.0" - resolved "https://registry.npmjs.org/type/-/type-2.6.0.tgz" - integrity sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ== +type@^2.7.2: + version "2.7.3" + resolved "https://registry.npmjs.org/type/-/type-2.7.3.tgz" + integrity sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ== -typed-array-buffer@^1.0.0: - version "1.0.0" - resolved "https://mirrors.tencent.com/npm/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz" - integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== +typed-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz" + integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - is-typed-array "^1.1.10" + call-bind "^1.0.7" + es-errors "^1.3.0" + is-typed-array "^1.1.13" -typed-array-byte-length@^1.0.0: - version "1.0.0" - resolved "https://mirrors.tencent.com/npm/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz" - integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== +typed-array-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz" + integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.7" for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" -typed-array-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://mirrors.tencent.com/npm/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz" - integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== +typed-array-byte-offset@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz" + integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://mirrors.tencent.com/npm/typed-array-length/-/typed-array-length-1.0.4.tgz" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== +typed-array-length@^1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz" + integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.7" for-each "^0.3.3" - is-typed-array "^1.1.9" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" typedarray-to-buffer@^3.1.5: version "3.1.5" @@ -11260,22 +12219,17 @@ typedarray-to-buffer@^3.1.5: typedarray@^0.0.6: version "0.0.6" resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" - integrity "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@4.7.2: +typescript@>=2.4.0, typescript@>=2.7, "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", "typescript@>=3.8 <5.0", typescript@>=4, typescript@>=4.9.5, typescript@4.7.2: version "4.7.2" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.7.2.tgz#1f9aa2ceb9af87cca227813b4310fff0b51593c4" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.7.2.tgz" integrity sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A== -typescript@^4.6.4: - version "4.6.4" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz" - integrity sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg== - uglify-js@^3.1.4: - version "3.15.5" - resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.5.tgz" - integrity sha512-hNM5q5GbBRB5xB+PMqVRcgYe4c8jbyZ1pzZhS6jbq54/4F2gFK869ZheiE5A8/t+W5jtTNpWef/5Q9zk639FNQ== + version "3.18.0" + resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.18.0.tgz" + integrity sha512-SyVVbcNBCk0dzr9XL/R/ySrmYf0s372K6/hFklzgcp2lBFyXtw4I7BOdDjlLhE1aVqaI/SHWXWmYdlZxuyF38A== unbox-primitive@^1.0.2: version "1.0.2" @@ -11290,12 +12244,12 @@ unbox-primitive@^1.0.2: unc-path-regex@^0.1.2: version "0.1.2" resolved "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz" - integrity "sha1-5z3T17DXxe2G+6xrCufYxqadUPo= sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==" + integrity sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg== undertaker-registry@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz" - integrity "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA= sha512-UR1khWeAjugW3548EfQmL9Z7pGMlBgXteQpr1IZeZBtnkCJQJIJ1Scj0mb9wQaPvUZ9Q17XqW6TIaPchJkyfqw==" + integrity sha512-UR1khWeAjugW3548EfQmL9Z7pGMlBgXteQpr1IZeZBtnkCJQJIJ1Scj0mb9wQaPvUZ9Q17XqW6TIaPchJkyfqw== undertaker@^1.2.1: version "1.3.0" @@ -11326,15 +12280,15 @@ unicode-match-property-ecmascript@^2.0.0: unicode-canonical-property-names-ecmascript "^2.0.0" unicode-property-aliases-ecmascript "^2.0.0" -unicode-match-property-value-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz" - integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== unicode-property-aliases-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz" - integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== + version "2.1.0" + resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== union-value@^1.0.0: version "1.0.1" @@ -11356,17 +12310,17 @@ uniqs@^2.0.0: resolved "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz" integrity sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ== -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== +unique-filename@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz" + integrity sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A== dependencies: - unique-slug "^2.0.0" + unique-slug "^3.0.0" -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== +unique-slug@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz" + integrity sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w== dependencies: imurmurhash "^0.1.4" @@ -11378,15 +12332,15 @@ unique-stream@^2.0.2: json-stable-stringify-without-jsonify "^1.0.1" through2-filter "^3.0.0" -universalify@^0.1.0, universalify@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz" + integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + version "2.0.1" + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== unquote@~1.1.1: version "1.1.1" @@ -11396,11 +12350,24 @@ unquote@~1.1.1: unset-value@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz" - integrity "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==" + integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== dependencies: has-value "^0.3.1" isobject "^3.0.0" +upath@^1.1.1: + version "1.2.0" + resolved "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + +update-browserslist-db@^1.0.16: + version "1.0.16" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz" + integrity sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ== + dependencies: + escalade "^3.1.2" + picocolors "^1.0.1" + update-check@1.5.4: version "1.5.4" resolved "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz" @@ -11409,7 +12376,7 @@ update-check@1.5.4: registry-auth-token "3.3.2" registry-url "3.1.0" -uri-js@^4.2.2: +uri-js@^4.2.2, uri-js@^4.4.1: version "4.4.1" resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== @@ -11419,7 +12386,15 @@ uri-js@^4.2.2: urix@^0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" - integrity "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==" + integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== + +url-parse@^1.5.3: + version "1.5.10" + resolved "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" use@^3.1.0: version "3.1.1" @@ -11429,14 +12404,14 @@ use@^3.1.0: user-home@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz" - integrity "sha1-nHC/2Babwdy/SGBODwS4tJzenp8= sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ==" + integrity sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ== dependencies: os-homedir "^1.0.0" util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - integrity "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== util.promisify@~1.0.0: version "1.0.1" @@ -11456,9 +12431,9 @@ utrie@^1.0.2: base64-arraybuffer "^1.0.2" uuid@^9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz" - integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== + version "9.0.1" + resolved "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== v8-compile-cache-lib@^3.0.1: version "3.0.1" @@ -11466,9 +12441,9 @@ v8-compile-cache-lib@^3.0.1: integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== v8-compile-cache@^2.0.3: - version "2.3.0" - resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + version "2.4.0" + resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz" + integrity sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw== v8-to-istanbul@^8.1.0: version "8.1.1" @@ -11502,12 +12477,12 @@ validate-npm-package-license@^3.0.1: value-or-function@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz" - integrity "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg==" + integrity sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg== varstream@^0.3.2: version "0.3.2" resolved "https://registry.npmjs.org/varstream/-/varstream-0.3.2.tgz" - integrity "sha1-GKxklHZfP/GjWtmkvgU77BiKXeE= sha512-OpR3Usr9dGZZbDttlTxdviGdxiURI0prX68+DuaN/JfIDbK9ZOmREKM6PgmelsejMnhgjXmEEEgf+E4NbsSqMg==" + integrity sha512-OpR3Usr9dGZZbDttlTxdviGdxiURI0prX68+DuaN/JfIDbK9ZOmREKM6PgmelsejMnhgjXmEEEgf+E4NbsSqMg== dependencies: readable-stream "^1.0.33" @@ -11547,7 +12522,7 @@ vinyl-fs@^3.0.0: vinyl-sourcemap@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz" - integrity "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY= sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA==" + integrity sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA== dependencies: append-buffer "^1.0.2" convert-source-map "^1.5.0" @@ -11560,7 +12535,7 @@ vinyl-sourcemap@^1.1.0: vinyl@^0.5.0: version "0.5.3" resolved "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz" - integrity "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4= sha512-P5zdf3WB9uzr7IFoVQ2wZTmUwHL8cMZWJGzLBNCHNZ3NB6HTMsYABtt7z8tAGIINLXyAob9B9a1yzVGMFOYKEA==" + integrity sha512-P5zdf3WB9uzr7IFoVQ2wZTmUwHL8cMZWJGzLBNCHNZ3NB6HTMsYABtt7z8tAGIINLXyAob9B9a1yzVGMFOYKEA== dependencies: clone "^1.0.0" clone-stats "^0.0.1" @@ -11581,7 +12556,7 @@ vinyl@^2.0.0, vinyl@^2.1.0, vinyl@^2.2.0: virtual-dom@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/virtual-dom/-/virtual-dom-2.1.1.tgz" - integrity "sha1-gO2i1IG57eDASRGM78tKBfIdE3U= sha512-wb6Qc9Lbqug0kRqo/iuApfBpJJAq14Sk1faAnSmtqXiwahg7PVTvWMs9L02Z8nNIMqbwsxzBAA90bbtRLbw0zg==" + integrity sha512-wb6Qc9Lbqug0kRqo/iuApfBpJJAq14Sk1faAnSmtqXiwahg7PVTvWMs9L02Z8nNIMqbwsxzBAA90bbtRLbw0zg== dependencies: browser-split "0.0.1" error "^4.3.0" @@ -11627,27 +12602,27 @@ wcwidth@^1.0.1: dependencies: defaults "^1.0.3" -web-resource-inliner@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/web-resource-inliner/-/web-resource-inliner-5.0.0.tgz" - integrity sha512-AIihwH+ZmdHfkJm7BjSXiEClVt4zUFqX4YlFAzjL13wLtDuUneSaFvDBTbdYRecs35SiU7iNKbMnN+++wVfb6A== +web-resource-inliner@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/web-resource-inliner/-/web-resource-inliner-6.0.1.tgz" + integrity sha512-kfqDxt5dTB1JhqsCUQVFDj0rmY+4HLwGQIsLPbyrsN9y9WV/1oFDSx3BQ4GfCv9X+jVeQ7rouTqwK53rA/7t8A== dependencies: ansi-colors "^4.1.1" escape-goat "^3.0.0" - htmlparser2 "^4.0.0" + htmlparser2 "^5.0.0" mime "^2.4.6" node-fetch "^2.6.0" valid-data-url "^3.0.0" web-worker@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz" - integrity sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA== + version "1.3.0" + resolved "https://registry.npmjs.org/web-worker/-/web-worker-1.3.0.tgz" + integrity sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA== webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" - integrity "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== webidl-conversions@^5.0.0: version "5.0.0" @@ -11707,7 +12682,7 @@ whatwg-url@^11.0.0: whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" - integrity "sha1-lmRU6HZUYuN2RNNib2dCzotwll0= sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== dependencies: tr46 "~0.0.3" webidl-conversions "^3.0.0" @@ -11735,20 +12710,27 @@ which-boxed-primitive@^1.0.2: which-module@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz" - integrity "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8= sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==" + integrity sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ== -which-typed-array@^1.1.10, which-typed-array@^1.1.11: - version "1.1.11" - resolved "https://mirrors.tencent.com/npm/which-typed-array/-/which-typed-array-1.1.11.tgz" - integrity sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew== +which-typed-array@^1.1.14, which-typed-array@^1.1.15: + version "1.1.15" + resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz" + integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" for-each "^0.3.3" gopd "^1.0.1" - has-tostringtag "^1.0.0" + has-tostringtag "^1.0.2" + +which@^1.2.14: + version "1.3.1" + resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" -which@^1.2.14, which@^1.2.9: +which@^1.2.9: version "1.3.1" resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -11776,21 +12758,21 @@ widest-line@^4.0.1: dependencies: string-width "^5.0.1" -winston-transport@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz" - integrity sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q== +winston-transport@^4.7.0: + version "4.7.0" + resolved "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.0.tgz" + integrity sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg== dependencies: logform "^2.3.2" readable-stream "^3.6.0" triple-beam "^1.3.0" -winston@^3.8.2: - version "3.10.0" - resolved "https://registry.npmjs.org/winston/-/winston-3.10.0.tgz" - integrity sha512-nT6SIDaE9B7ZRO0u3UvdrimG0HkB7dSTAgInQnNR2SOPJ4bvq5q79+pXLftKmP52lJGW15+H5MCK0nM9D3KB/g== +winston@3.13.0: + version "3.13.0" + resolved "https://registry.npmjs.org/winston/-/winston-3.13.0.tgz" + integrity sha512-rwidmA1w3SE4j0E5MuIufFhyJPBDG7Nu71RkZor1p2+qHvJSZ9GYDA81AyleQcZbh/+V6HjeBdfnTZJm9rSeQQ== dependencies: - "@colors/colors" "1.5.0" + "@colors/colors" "^1.6.0" "@dabh/diagnostics" "^2.0.2" async "^3.2.3" is-stream "^2.0.0" @@ -11800,22 +12782,22 @@ winston@^3.8.2: safe-stable-stringify "^2.3.1" stack-trace "0.0.x" triple-beam "^1.3.0" - winston-transport "^4.5.0" + winston-transport "^4.7.0" -word-wrap@^1.0.3, word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== +word-wrap@^1.0.3, word-wrap@^1.2.3, word-wrap@^1.2.5: + version "1.2.5" + resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== wordwrap@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" - integrity "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" + integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz" - integrity "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==" + integrity sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw== dependencies: string-width "^1.0.1" strip-ansi "^3.0.1" @@ -11850,7 +12832,7 @@ wrap-ansi@^8.0.1: wrappy@1: version "1.0.2" resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - integrity "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== write-file-atomic@^3.0.0: version "3.0.3" @@ -11862,25 +12844,30 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -ws@^7.4.3, ws@^7.4.6: - version "7.5.7" - resolved "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz" - integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== +ws@^7.4.3: + version "7.5.10" + resolved "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz" + integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== + +ws@^7.4.6: + version "7.5.10" + resolved "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz" + integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== ws@^8.2.3: - version "8.6.0" - resolved "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz" - integrity sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw== + version "8.17.1" + resolved "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz" + integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== x-is-array@0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/x-is-array/-/x-is-array-0.1.0.tgz" - integrity "sha1-3lIBcdR7P0FvVYfWKbidJrEtwp0= sha512-goHPif61oNrr0jJgsXRfc8oqtYzvfiMJpTqwE7Z4y9uH+T3UozkGqQ4d2nX9mB9khvA8U2o/UbPOFjgC7hLWIA==" + integrity sha512-goHPif61oNrr0jJgsXRfc8oqtYzvfiMJpTqwE7Z4y9uH+T3UozkGqQ4d2nX9mB9khvA8U2o/UbPOFjgC7hLWIA== x-is-string@0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz" - integrity "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI= sha512-GojqklwG8gpzOVEVki5KudKNoq7MbbjYZCbyWzEz7tyPA7eleiE0+ePwOWQQRb5fm86rD3S8Tc0tSFf3AOv50w==" + integrity sha512-GojqklwG8gpzOVEVki5KudKNoq7MbbjYZCbyWzEz7tyPA7eleiE0+ePwOWQQRb5fm86rD3S8Tc0tSFf3AOv50w== xml-name-validator@^3.0.0: version "3.0.0" @@ -11897,10 +12884,10 @@ xmlchars@^2.2.0: resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xmldom@0.5.0, xmldom@~0.1.22: - version "0.5.0" - resolved "https://registry.npmjs.org/xmldom/-/xmldom-0.5.0.tgz#193cb96b84aa3486127ea6272c4596354cb4962e" - integrity sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA== +xmldom@~0.1.22: + version "0.1.31" + resolved "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz" + integrity sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ== xtend@~4.0.0, xtend@~4.0.1: version "4.0.2" @@ -11917,22 +12904,63 @@ y18n@^5.0.5: resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + yallist@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0, yaml@^1.10.2: +yaml@^1.10.2: version "1.10.2" resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yargs-parser@20.2.9, yargs-parser@20.x, yargs-parser@^20.2.2, yargs-parser@^20.2.3, yargs-parser@^21.1.1, yargs-parser@^5.0.1: +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^20.2.3: + version "20.2.9" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs-parser@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz" + integrity sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA== + dependencies: + camelcase "^3.0.0" + object.assign "^4.1.0" + +yargs-parser@20.x: version "20.2.9" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs@^16.0.0, yargs@^16.2.0: +yargs@^16.0.0: + version "16.2.0" + resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yargs@^16.2.0: version "16.2.0" resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==