diff --git a/.babelrc b/.babelrc new file mode 100644 index 00000000..c520f2e9 --- /dev/null +++ b/.babelrc @@ -0,0 +1,7 @@ +{ + "presets": [ + [ + "@babel/preset-env" + ] + ] + } \ No newline at end of file diff --git a/package.json b/package.json index e1120762..df212125 100644 --- a/package.json +++ b/package.json @@ -5,21 +5,25 @@ "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build", - "test": "mocha --recursive --exit --colors", - "test:coverage": "nyc --reporter=text mocha --recursive --exit --colors", + "test": "mocha --recursive --exit --colors --require @babel/register", + "test:coverage": "nyc --reporter=text mocha --recursive --exit --colors --require @babel/register", "commit": "git-cz", "electron:build": "vue-cli-service electron:build", "electron:serve": "vue-cli-service electron:serve", "eslint": "eslint . --fix", "postinstall": "electron-builder install-app-deps", "postuninstall": "electron-builder install-app-deps", - "build:tailwind": "tailwind build src/renderer/assets/index.css -o src/renderer/assets/tailwind.css" + "build:tailwind": "tailwind build src/renderer/assets/index.css -o src/renderer/assets/tailwind.css", + "babel-node": "./node_modules/.bin/babel-node" }, "main": "background.js", "dependencies": {}, "devDependencies": { - "@babel/core": "^7.12.16", + "@babel/cli": "^7.21.5", + "@babel/core": "^7.21.5", "@babel/eslint-parser": "^7.12.16", + "@babel/node": "^7.20.7", + "@babel/preset-env": "^7.21.5", "@popperjs/core": "^2.11.7", "@tailwindcss/forms": "0.2.1", "@tailwindcss/postcss7-compat": "^2.2.17", diff --git a/src/IR/block/base/content/base.js b/src/IR/block/base/content/base.js index d730c739..20f29235 100644 --- a/src/IR/block/base/content/base.js +++ b/src/IR/block/base/content/base.js @@ -1,12 +1,5 @@ -const { - rootTypeName, - tableTypeName, - headingTypeName, - quoteTypeName, - mathblockTypeName, - frontmatterTypeName -} = require('../type/constant.js') - +import { rootTypeName, tableTypeName, headingTypeName, quoteTypeName, mathblockTypeName, frontmatterTypeName } from '../type/constant.js' +import yaml from 'js-yaml' class Content { constructor (typename, text) { this.typename = typename @@ -52,9 +45,6 @@ class Content { this.spacePreix = prefix } } - -const yaml = require('js-yaml') - class FrontmatterContent extends Content { constructor (text, lang, style) { super(frontmatterTypeName, text) @@ -77,7 +67,9 @@ class FrontmatterContent extends Content { addTag (tagname) { if (this.data.tags === undefined) { - this.data = { tags: [tagname] } + this.data = { + tags: [tagname] + } } else if (!this.data.tags.includes(tagname)) { this.data.tags.push(tagname) } @@ -105,7 +97,6 @@ class FrontmatterContent extends Content { } } } - class RootContent extends Content { constructor () { super(rootTypeName, '') @@ -124,7 +115,6 @@ class RootContent extends Content { } } } - class ParagraphContent extends Content { // constructor (typename, text) { // super(typename, text) @@ -134,7 +124,6 @@ class ParagraphContent extends Content { return super.toMarkdown() + this.spacePreix + '\n' } } - class HeadingContent extends Content { // private depth constructor (text, depth) { @@ -143,8 +132,7 @@ class HeadingContent extends Content { } toMarkdown () { - return this.normalPrefix + '#'.repeat(+this.depth) + ' ' + this.text + '\n' + - this.spacePreix + '\n' + return this.normalPrefix + '#'.repeat(+this.depth) + ' ' + this.text + '\n' + this.spacePreix + '\n' } getOutlineJson () { @@ -165,7 +153,6 @@ class HeadingContent extends Content { this.depth = depth } } - class CodeContent extends Content { // private type // private lang @@ -191,7 +178,6 @@ class CodeContent extends Content { return mindJson } } - class MathContent extends Content { constructor (text, style) { super(mathblockTypeName, text) @@ -208,7 +194,6 @@ class MathContent extends Content { return mindJson } } - class QuoteContent extends Content { constructor () { super(quoteTypeName, '') @@ -226,7 +211,6 @@ class QuoteContent extends Content { return '> ' } } - class ListContent extends Content { constructor (typename, loose, start, delimiter, marker) { super(typename, '') @@ -257,7 +241,6 @@ class ListContent extends Content { return this.marker === undefined ? ' ' : ' ' } } - class ListItemContent extends Content { constructor (typename, checked) { super(typename, '') @@ -271,7 +254,9 @@ class ListItemContent extends Content { getOneNormalPrefix () { if (this.checked === undefined) { return '' - } else { return `[${this.checked ? 'x' : ' '}] ` } + } else { + return `[${this.checked ? 'x' : ' '}] ` + } } getMindJson () { @@ -280,7 +265,6 @@ class ListItemContent extends Content { return mindJson } } - class TableContent extends Content { constructor (cells) { super(tableTypeName, 'table') @@ -293,16 +277,15 @@ class TableContent extends Content { const row = this.cells.length const column = this.cells[0].children.length const tableData = [] - for (const rowState of this.cells) { tableData.push(rowState.children.map(cell => this.escapeText(cell.text.trim()))) } - - const columnWidth = this.cells[0].children.map(th => ({ width: 5, align: th.meta.align })) - + const columnWidth = this.cells[0].children.map(th => ({ + width: 5, + align: th.meta.align + })) let i let j - for (i = 0; i < row; i++) { for (j = 0; j < column; j++) { columnWidth[j].width = Math.max(columnWidth[j].width, tableData[i][j].length + 2) // add 2, because have two space around text @@ -312,22 +295,22 @@ class TableContent extends Content { tableData.forEach((r, i) => { const rs = indent + '|' + r.map((cell, j) => { const raw = ` ${cell + ' '.repeat(columnWidth[j].width)}` - return raw.substring(0, columnWidth[j].width) }).join('|') + '|' result.push(rs) if (i === 0) { - const cutOff = indent + '|' + columnWidth.map(({ width, align }) => { + const cutOff = indent + '|' + columnWidth.map(({ + width, + align + }) => { let raw = '-'.repeat(width - 2) switch (align) { case 'left': raw = `:${raw} ` break - case 'center': raw = `:${raw}:` break - case 'right': raw = ` ${raw}:` break @@ -335,13 +318,11 @@ class TableContent extends Content { raw = ` ${raw} ` break } - return raw }).join('|') + '|' result.push(cutOff) } }) - return result.join('\n') + '\n' } @@ -356,8 +337,7 @@ class TableContent extends Content { return str.replace(/([^\\])\|/g, '$1\\|') } } - -module.exports = { +export { Content, RootContent, HeadingContent, diff --git a/src/IR/block/base/content/file.js b/src/IR/block/base/content/file.js index 42e17e58..6d934f74 100644 --- a/src/IR/block/base/content/file.js +++ b/src/IR/block/base/content/file.js @@ -1,9 +1,10 @@ -const { folderTypeName, tagTypeName, fileTypeName } = require('../type/constant') -const { Content } = require('./base') - -const folderCategory = 0 -const fileCategory = 1 -const tagCategory = 2 +import { folderTypeName, tagTypeName, fileTypeName } from '../type/constant' +import { Content } from './base' +const category = { + folder: 0, + file: 1, + tag: 2 +} class FileContent extends Content { constructor (id, name, path, content) { @@ -25,11 +26,10 @@ class FileContent extends Content { return { id: `${this.id}`, name: this.name, - category: fileCategory + category: category.file } } } - class FolderContent extends Content { constructor (id, name, path) { super(folderTypeName, name) @@ -50,11 +50,10 @@ class FolderContent extends Content { return { id: `${this.id}`, name: this.name, - category: folderCategory + category: category.folder } } } - class TagContent extends Content { constructor (id, name) { super(tagTypeName, name) @@ -66,12 +65,12 @@ class TagContent extends Content { return { id: `${this.id}`, name: this.name, - category: tagCategory + category: category.tag } } } -module.exports = { +export { FileContent, FolderContent, TagContent diff --git a/src/IR/block/base/linkedList/linkedList.js b/src/IR/block/base/linkedList/linkedList.js index 84a70ea6..69095c22 100644 --- a/src/IR/block/base/linkedList/linkedList.js +++ b/src/IR/block/base/linkedList/linkedList.js @@ -1,4 +1,4 @@ -class LinkedList { +export default class LinkedList { constructor () { this.head = this.tail = null this.length = 0 @@ -112,4 +112,3 @@ class LinkedList { return [...this.iterator()].reduce(callback, initialValue) } } -module.exports = LinkedList diff --git a/src/IR/block/base/linkedList/linkedNode.js b/src/IR/block/base/linkedList/linkedNode.js index 1706a638..2f8d1704 100644 --- a/src/IR/block/base/linkedList/linkedNode.js +++ b/src/IR/block/base/linkedList/linkedNode.js @@ -1,5 +1,5 @@ -const LinkedList = require('./linkedList') -class LinkedNode { +import LinkedList from './linkedList' +export default class LinkedNode { constructor () { this.prev = this.next = null this.parent = null @@ -35,4 +35,3 @@ class LinkedNode { return this.children.head } } -module.exports = LinkedNode diff --git a/src/IR/block/base/treeNode.js b/src/IR/block/base/treeNode.js index e754aa82..99bdcd03 100644 --- a/src/IR/block/base/treeNode.js +++ b/src/IR/block/base/treeNode.js @@ -1,6 +1,6 @@ -const LinkedNode = require('./linkedList/linkedNode.js') -const { headingTypeName, listTypeName, listItemTypeName, frontmatterTypeName } = require('./type/constant.js') -class TreeNode extends LinkedNode { +import LinkedNode from './linkedList/linkedNode.js' +import { headingTypeName, listTypeName, listItemTypeName, frontmatterTypeName } from './type/constant.js' +export default class TreeNode extends LinkedNode { /** * * @param {string} nodeType @@ -94,4 +94,3 @@ class TreeNode extends LinkedNode { return this.content.getNodeJson() } } -module.exports = TreeNode diff --git a/src/IR/block/base/type/constant.js b/src/IR/block/base/type/constant.js index bf17dcd5..9bfabad7 100644 --- a/src/IR/block/base/type/constant.js +++ b/src/IR/block/base/type/constant.js @@ -25,7 +25,7 @@ const fileTypeName = 'file' const folderTypeName = 'folder' const tagTypeName = 'tag' -module.exports = { +export { rootTypeName, headingTypeName, paragraphTypeName, diff --git a/src/IR/block/factory/buildNode.js b/src/IR/block/factory/buildNode.js index dfb647fa..3862aeca 100644 --- a/src/IR/block/factory/buildNode.js +++ b/src/IR/block/factory/buildNode.js @@ -1,37 +1,7 @@ -const { - CodeContent, - HeadingContent, - ListContent, - ListItemContent, - MathContent, - QuoteContent, - RootContent, - TableContent, - ParagraphContent, - FrontmatterContent -} = require('../base/content/base') -const { - FolderContent, - FileContent, - TagContent -} = require('../base/content/file') -const TreeNode = require('../base/treeNode') -const { - paragraphTypeName, - quoteTypeName, - thematicBreakTypeName, - codeblockTypeName, - diagramTypeName, - htmlblockTypeName, - rootTypeName, - frontmatterTypeName, - headingTypeName, - listItemTypeName, - listTypeName, - fileTypeName, - folderTypeName, - tagTypeName -} = require('../base/type/constant') +import { CodeContent, HeadingContent, ListContent, ListItemContent, MathContent, QuoteContent, RootContent, TableContent, ParagraphContent, FrontmatterContent } from '../base/content/base' +import { FolderContent, FileContent, TagContent } from '../base/content/file' +import TreeNode from '../base/treeNode' +import { paragraphTypeName, quoteTypeName, thematicBreakTypeName, codeblockTypeName, diagramTypeName, htmlblockTypeName, rootTypeName, frontmatterTypeName, headingTypeName, listItemTypeName, listTypeName, fileTypeName, folderTypeName, tagTypeName } from '../base/type/constant' function buildRootNode () { return new TreeNode(rootTypeName, new RootContent()) @@ -97,7 +67,7 @@ function buildTagNode (id, name) { return new TreeNode(tagTypeName, new TagContent(id, name)) } -module.exports = { +export { buildCodeBlock, buildDiagramBlock, buildFrontMatter, diff --git a/src/IR/block/factory/filesToGraph.js b/src/IR/block/factory/filesToGraph.js index 1c9f2d70..2a5ed3f2 100644 --- a/src/IR/block/factory/filesToGraph.js +++ b/src/IR/block/factory/filesToGraph.js @@ -1,5 +1,4 @@ -const { IRGraph } = require('../../component/graph') - +import IRGraph from '../../component/graph' function buildGraphFromFileTree (files, relations = [], aerials = []) { const res = new IRGraph() res.addFiles(files) @@ -13,8 +12,7 @@ function buildGraphFromNodes (nodes, links = {}) { const res = new IRGraph() return res } - -module.exports = { +export { buildGraphFromFileTree, buildGraphFromNodes } diff --git a/src/IR/block/factory/markdownToTree.js b/src/IR/block/factory/markdownToTree.js index 7825b363..6ff111b5 100644 --- a/src/IR/block/factory/markdownToTree.js +++ b/src/IR/block/factory/markdownToTree.js @@ -1,5 +1,5 @@ -const { Lexer } = require('../../utils/marked/lexer.js') -const { buildCodeBlock, buildDiagramBlock, buildFrontMatter, buildHeading, buildHtmlBlock, buildListBlock, buildListItemBlock, buildMathBlock, buildParagraph, buildQuoteBlock, buildRootNode, buildTable, buildThematicBreak } = require('./buildNode.js') +import { Lexer } from '../../utils/marked/lexer.js' +import { buildCodeBlock, buildDiagramBlock, buildFrontMatter, buildHeading, buildHtmlBlock, buildListBlock, buildListItemBlock, buildMathBlock, buildParagraph, buildQuoteBlock, buildRootNode, buildTable, buildThematicBreak } from './buildNode.js' const restoreTableEscapeCharacters = text => { // NOTE: markedjs replaces all escaped "|" ("\|") characters inside a cell with "|". @@ -7,7 +7,7 @@ const restoreTableEscapeCharacters = text => { return text.replace(/\|/g, '\\|') } -exports.markdownToTree = function (markdown) { +export function markdownToTree (markdown) { const root = buildRootNode() const tokens = new Lexer({ disableInline: true, diff --git a/src/IR/block/factory/mindToTree.js b/src/IR/block/factory/mindToTree.js index 5b96ca36..e731d749 100644 --- a/src/IR/block/factory/mindToTree.js +++ b/src/IR/block/factory/mindToTree.js @@ -1,46 +1,12 @@ -const { - buildRootNode, - buildFrontMatter, - buildThematicBreak, - buildCodeBlock, - buildMathBlock, - buildHtmlBlock, - buildHeading, - buildParagraph, - buildDiagramBlock, - buildTable, - buildListBlock, - buildQuoteBlock, - buildListItemBlock -} = require('./buildNode') -const { - rootTypeName, - frontmatterTypeName, - thematicBreakTypeName, - codeblockTypeName, - mathblockTypeName, - htmlblockTypeName, - headingTypeName, - paragraphTypeName, - diagramTypeName, - tableTypeName, - bulletlistTypeName, - orderlistTypeName, - quoteTypeName, - tasklistTypeName, - listItemTypeName, - taskListItemTypeName -} = require('../base/type/constant') - -exports.mindToTree = function (mindJson) { +import { buildRootNode, buildFrontMatter, buildThematicBreak, buildCodeBlock, buildMathBlock, buildHtmlBlock, buildHeading, buildParagraph, buildDiagramBlock, buildTable, buildListBlock, buildQuoteBlock, buildListItemBlock } from './buildNode' +import { rootTypeName, frontmatterTypeName, thematicBreakTypeName, codeblockTypeName, mathblockTypeName, htmlblockTypeName, headingTypeName, paragraphTypeName, diagramTypeName, tableTypeName, bulletlistTypeName, orderlistTypeName, quoteTypeName, tasklistTypeName, listItemTypeName, taskListItemTypeName } from '../base/type/constant' +function mindToTree (mindJson) { const rootNode = mindToTreeRecursion(mindJson) - console.log(mindJson) if (mindJson.frontmatter) { rootNode.insertAtHead(buildFrontMatter(mindJson.frontmatter.text)) } return rootNode } - function mindToTreeRecursion (mindJson) { let nowNode let nowLevel @@ -99,7 +65,6 @@ function mindToTreeRecursion (mindJson) { console.log('mindToTree: unknown type ' + mindJson.type) break } - let level mindJson.children.forEach(mjson => { const chnode = mindToTreeRecursion(mjson) @@ -121,3 +86,4 @@ function mindToTreeRecursion (mindJson) { }) return nowNode } +export { mindToTree } diff --git a/src/IR/component/graph.js b/src/IR/component/graph.js index 0fb5c233..10018f4d 100644 --- a/src/IR/component/graph.js +++ b/src/IR/component/graph.js @@ -1,19 +1,15 @@ -const { buildFolderNode, buildFileNode, buildTagNode } = require('../block/factory/buildNode') - +import { buildFolderNode, buildFileNode, buildTagNode } from '../block/factory/buildNode' const linkType = { file: 0, tag: 1, cite: 2 } - -class IRGraph { +export default class IRGraph { constructor () { this.treenodes = [] this.initID() this.graph = undefined - this.tagnodes = [] - this.edges = [] this.relations = [] this.aerials = [] @@ -42,7 +38,6 @@ class IRGraph { addFiles (files) { this.graph = this.parseFileTree(files) - this.makeEdges() } @@ -55,12 +50,10 @@ class IRGraph { for (const node of this.treenodes) { pathToNodeId.set(node.content.path, node.content.id) } - for (const tagInfo of relations) { const tagNodeId = this.allocNodeID() const tagNode = buildTagNode(tagNodeId, tagInfo.tagName) this.tagnodes.push(tagNode) - tagInfo.attach.forEach(filepath => { if (pathToNodeId.has(filepath)) { this.relations.push({ @@ -84,8 +77,7 @@ class IRGraph { pathToNodeId.set(node.content.path, node.content.id) } for (const aerialInfo of aerials) { - if (pathToNodeId.has(aerialInfo.sourcePath) && - pathToNodeId.has(aerialInfo.targetPath)) { + if (pathToNodeId.has(aerialInfo.sourcePath) && pathToNodeId.has(aerialInfo.targetPath)) { this.aerials.push({ id: this.allocLinkID(), source: pathToNodeId.get(aerialInfo.sourcePath), @@ -153,7 +145,3 @@ class IRGraph { this.linkid = 0 } } - -module.exports = { - IRGraph -} diff --git a/src/IR/component/tree.js b/src/IR/component/tree.js index 7502497d..8562ba3f 100644 --- a/src/IR/component/tree.js +++ b/src/IR/component/tree.js @@ -1,6 +1,6 @@ -const { frontmatterTypeName } = require('../block/base/type/constant') -const { buildFrontMatter } = require('../block/factory/buildNode') -const { History } = require('../history/index') +import { frontmatterTypeName } from '../block/base/type/constant' +import { buildFrontMatter } from '../block/factory/buildNode' +import History from '../history/index' class IRTree { constructor (doc, options = {}) { @@ -69,6 +69,6 @@ class IRTree { } } -module.exports = { +export { IRTree } diff --git a/src/IR/helper/counter.js b/src/IR/helper/counter.js index 40954006..21dcafe0 100644 --- a/src/IR/helper/counter.js +++ b/src/IR/helper/counter.js @@ -38,6 +38,6 @@ class IdMarker { } } -module.exports = { +export { IdMarker } diff --git a/src/IR/history/index.js b/src/IR/history/index.js index 21505932..b4f881e0 100644 --- a/src/IR/history/index.js +++ b/src/IR/history/index.js @@ -1,12 +1,10 @@ -const { markdownToTree } = require('../block/factory/markdownToTree') -const { mindToTree } = require('../block/factory/mindToTree') - +import { markdownToTree } from '../block/factory/markdownToTree' +import { mindToTree } from '../block/factory/mindToTree' const DEFAULT_OPTIONS = { delay: 1000, maxStack: 100, userOnly: false } - class History { /** * @@ -19,11 +17,12 @@ class History { this.irtree = irtree // 时间戳 this.lastRecorded = 0 - this.initdoc = doc this.updateTree(doc) - - this.stack = { undo: [], redo: [] } + this.stack = { + undo: [], + redo: [] + } // FIXME: 因为每次undo/redo后会被立刻调用record this.ignoreRecord = false @@ -37,18 +36,13 @@ class History { this.stack.redo = [] const timestamp = Date.now() // 如果两次操作延迟足够短则不记录之前的操作 - if ( - this.lastRecorded + this.options.delay > timestamp && - this.stack.undo.length > 0 - ) { + if (this.lastRecorded + this.options.delay > timestamp && this.stack.undo.length > 0) { this.stack.undo.pop() } else { this.lastRecorded = timestamp } - this.stack.undo.push(doc) this.updateTree(doc) - if (this.stack.undo.length > this.options.maxStack) { this.stack.undo.shift() } @@ -62,7 +56,6 @@ class History { const doc = this.stack.redo.pop() this.stack.undo.push(doc) this.updateTree(doc) - this.lastRecorded = 0 } @@ -73,13 +66,11 @@ class History { } const doc = this.stack.undo.pop() this.stack.redo.push(doc) - if (this.stack.undo.length === 0) { this.updateTree(this.initdoc) } else { this.updateTree(this.stack.undo[this.stack.undo.length - 1]) } - this.lastRecorded = 0 } @@ -94,7 +85,4 @@ class History { } } } - -module.exports = { - History -} +export default History diff --git a/src/IR/manager/index.js b/src/IR/manager/index.js index 12be80b9..68705aac 100644 --- a/src/IR/manager/index.js +++ b/src/IR/manager/index.js @@ -1,6 +1,6 @@ -const { buildGraphFromFileTree } = require('../block/factory/filesToGraph') -const { IRTree } = require('../component/tree') -const { IdMarker } = require('../helper/counter') +import { buildGraphFromFileTree } from '../block/factory/filesToGraph' +import { IRTree } from '../component/tree' +import { IdMarker } from '../helper/counter' const DEFAULT_OPTIONS = { replaced: false @@ -174,4 +174,4 @@ class DataManager { } } -module.exports = DataManager +export default DataManager diff --git a/test/IR/IRToMindjson.test.js b/test/IR/IRToMindjson.test.js index 96673aad..e9678689 100644 --- a/test/IR/IRToMindjson.test.js +++ b/test/IR/IRToMindjson.test.js @@ -1,6 +1,5 @@ -const { markdownToTree } = require('../../src/IR/block/factory/markdownToTree.js') -const assert = require('assert') - +import { markdownToTree } from '../../src/IR/block/factory/markdownToTree.js' +import assert from 'assert' describe('IR到MindJson测试', function () { const root = markdownToTree('# aa') it('简单单行测试', function () { @@ -8,15 +7,13 @@ describe('IR到MindJson测试', function () { name: '', text: '', type: 'root', - children: [ - { - name: 'aa', - text: 'aa', - type: 'heading', - level: 1, - children: [] - } - ] + children: [{ + name: 'aa', + text: 'aa', + type: 'heading', + level: 1, + children: [] + }] }) }) }) diff --git a/test/IR/data/file.js b/test/IR/data/file.js index 51a1b36a..44cec908 100644 --- a/test/IR/data/file.js +++ b/test/IR/data/file.js @@ -130,7 +130,7 @@ const nodes1 = [ { id: '5', name: 'test.txt', category: 1 } ] -module.exports = { +export { files, res1, link1, diff --git a/test/IR/data/vditor.md b/test/IR/data/vditor.md index a94e5763..919bf496 100644 --- a/test/IR/data/vditor.md +++ b/test/IR/data/vditor.md @@ -1,8 +1,3 @@ ---- -tag: - - a ---- - --- ## 教程 diff --git a/test/IR/factory/aerial.test.js b/test/IR/factory/aerial.test.js index 7907a14f..32880595 100644 --- a/test/IR/factory/aerial.test.js +++ b/test/IR/factory/aerial.test.js @@ -1,9 +1,9 @@ -const { getLinksInFile } = require('../../../src/common/parseLinks') -const assert = require('assert') +import { getLinksInFile } from '../../../src/common/parseLinks' +import { deepStrictEqual } from 'assert' describe('须测试', function () { it('文件须测试', function () { - assert.deepStrictEqual(getLinksInFile('-[a](aa)-[a](aa)').aerials, [{ + deepStrictEqual(getLinksInFile('-[a](aa)-[a](aa)').aerials, [{ name: 'a', path: 'aa' }, @@ -13,7 +13,7 @@ describe('须测试', function () { }]) }) it('文件须测试2', function () { - assert.deepStrictEqual(getLinksInFile('-[123](1)-[](1)-[1]()').aerials, [{ + deepStrictEqual(getLinksInFile('-[123](1)-[](1)-[1]()').aerials, [{ name: '123', path: '1' }, @@ -23,7 +23,7 @@ describe('须测试', function () { }]) }) it('文件须测试3', function () { - assert.deepStrictEqual(getLinksInFile('# -[123](1)-[](1)-[1]()').aerials, [{ + deepStrictEqual(getLinksInFile('# -[123](1)-[](1)-[1]()').aerials, [{ name: '123', path: '1' }, diff --git a/test/IR/factory/mdtree.test.js b/test/IR/factory/mdtree.test.js index 451ea958..2ae4bf47 100644 --- a/test/IR/factory/mdtree.test.js +++ b/test/IR/factory/mdtree.test.js @@ -1,7 +1,6 @@ -const { markdownToTree } = require('../../../src/IR/block/factory/markdownToTree.js') -const { expect } = require('chai') -const fs = require('fs-extra') - +import { markdownToTree } from '../../../src/IR/block/factory/markdownToTree.js' +import { expect } from 'chai' +import fs from 'fs-extra' describe('markdown生成树简单测试', function () { const root1 = markdownToTree('# aa\naa') it('简单单行测试', function () { @@ -24,14 +23,12 @@ describe('markdown生成树简单测试', function () { expect(root5.toMarkdown()).to.be.equal('- [x] 3\n \n- [ ] 2\n \n') }) }) - describe('markdown列表简单测试', function () { const root1 = markdownToTree('| a | b | c |\n| --- | --- | --- |\n| 1 1 | 1 2 | 1 3 |\n| 2 1 | 2 2 | 2 3 |\n| 3 1 | 3 2 | 3 3 |\n\n') it('普通列表测试', function () { expect(root1.toMarkdown()).to.be.equal('| a | b | c |\n| --- | --- | --- |\n| 1 1 | 1 2 | 1 3 |\n| 2 1 | 2 2 | 2 3 |\n| 3 1 | 3 2 | 3 3 |\n') }) }) - describe('markdown综合测试', function () { const content = fs.readFileSync('test/IR/data/vditor.md').toString() const root1 = markdownToTree(content) diff --git a/test/IR/factory/mindgraph.test.js b/test/IR/factory/mindgraph.test.js index 563349ee..b703b5b0 100644 --- a/test/IR/factory/mindgraph.test.js +++ b/test/IR/factory/mindgraph.test.js @@ -1,7 +1,6 @@ -const { buildGraphFromFileTree } = require('../../../src/IR/block/factory/filesToGraph') -const assert = require('assert') -const { files, res1, nodes1, link1 } = require('../data/file.js') - +import { buildGraphFromFileTree } from '../../../src/IR/block/factory/filesToGraph' +import assert from 'assert' +import { files, res1, nodes1, link1 } from '../data/file.js' describe('fileJson到IR测试', function () { const irgraph = buildGraphFromFileTree(files) it('简单文件树结构测试', function () { @@ -14,95 +13,134 @@ describe('fileJson到IR测试', function () { assert.deepStrictEqual(irgraph.getLinks(), link1) }) }) - const files2 = { name: 'data', - children: [ - { - name: '1.md', - path: '/Ficus/test/main/data/1.md', - curChild: -1, - offset: -1, - absolutePath: [Array], - type: 'file', - isMd: true - }, - { - name: '2.md', - path: '/Ficus/test/main/data/2.md', - curChild: -1, - offset: -1, - absolutePath: [Array], - type: 'file', - isMd: true - }, - { - name: '3.md', - path: '/Ficus/test/main/data/3.md', - curChild: -1, - offset: -1, - absolutePath: [Array], - type: 'file', - isMd: true - } - ], + children: [{ + name: '1.md', + path: '/Ficus/test/main/data/1.md', + curChild: -1, + offset: -1, + absolutePath: [Array], + type: 'file', + isMd: true + }, { + name: '2.md', + path: '/Ficus/test/main/data/2.md', + curChild: -1, + offset: -1, + absolutePath: [Array], + type: 'file', + isMd: true + }, { + name: '3.md', + path: '/Ficus/test/main/data/3.md', + curChild: -1, + offset: -1, + absolutePath: [Array], + type: 'file', + isMd: true + }], type: 'folder', path: '/Ficus/test/main/data' } - -const relations = [ - { - tagName: 'aaa', - attach: ['/Ficus/test/main/data/1.md'] - }, - { - tagName: 'b', - attach: ['/Ficus/test/main/data/1.md'] - }, - { - tagName: 'c', - attach: [ - '/Ficus/test/main/data/1.md', - '/Ficus/test/main/data/3.md' - ] - }, - { - tagName: 'a', - attach: ['/Ficus/test/main/data/3.md'] - } -] - -const aerials = [ - { - name: 123, - sourcePath: '/Ficus/test/main/data/1.md', - targetPath: '/Ficus/test/main/data/3.md' - } -] - -const node2 = [ - { id: '0', name: 'data', category: 0 }, - { id: '1', name: '1.md', category: 1 }, - { id: '2', name: '2.md', category: 1 }, - { id: '3', name: '3.md', category: 1 }, - { id: '4', name: 'aaa', category: 2 }, - { id: '5', name: 'b', category: 2 }, - { id: '6', name: 'c', category: 2 }, - { id: '7', name: 'a', category: 2 } -] - -const link2 = [ - { id: 0, source: 0, target: 1, type: 0 }, - { id: 1, source: 0, target: 2, type: 0 }, - { id: 2, source: 0, target: 3, type: 0 }, - { id: 3, source: 4, target: 1, type: 1 }, - { id: 4, source: 5, target: 1, type: 1 }, - { id: 5, source: 6, target: 1, type: 1 }, - { id: 6, source: 6, target: 3, type: 1 }, - { id: 7, source: 7, target: 3, type: 1 }, - { id: 8, name: 123, source: 1, target: 3, type: 2 } -] - +const relations = [{ + tagName: 'aaa', + attach: ['/Ficus/test/main/data/1.md'] +}, { + tagName: 'b', + attach: ['/Ficus/test/main/data/1.md'] +}, { + tagName: 'c', + attach: ['/Ficus/test/main/data/1.md', '/Ficus/test/main/data/3.md'] +}, { + tagName: 'a', + attach: ['/Ficus/test/main/data/3.md'] +}] +const aerials = [{ + name: 123, + sourcePath: '/Ficus/test/main/data/1.md', + targetPath: '/Ficus/test/main/data/3.md' +}] +const node2 = [{ + id: '0', + name: 'data', + category: 0 +}, { + id: '1', + name: '1.md', + category: 1 +}, { + id: '2', + name: '2.md', + category: 1 +}, { + id: '3', + name: '3.md', + category: 1 +}, { + id: '4', + name: 'aaa', + category: 2 +}, { + id: '5', + name: 'b', + category: 2 +}, { + id: '6', + name: 'c', + category: 2 +}, { + id: '7', + name: 'a', + category: 2 +}] +const link2 = [{ + id: 0, + source: 0, + target: 1, + type: 0 +}, { + id: 1, + source: 0, + target: 2, + type: 0 +}, { + id: 2, + source: 0, + target: 3, + type: 0 +}, { + id: 3, + source: 4, + target: 1, + type: 1 +}, { + id: 4, + source: 5, + target: 1, + type: 1 +}, { + id: 5, + source: 6, + target: 1, + type: 1 +}, { + id: 6, + source: 6, + target: 3, + type: 1 +}, { + id: 7, + source: 7, + target: 3, + type: 1 +}, { + id: 8, + name: 123, + source: 1, + target: 3, + type: 2 +}] describe('fileJson+links到IR测试', function () { const irgraph = buildGraphFromFileTree(files2, relations, aerials) it('nodes', function () { diff --git a/test/IR/factory/mindtree.test.js b/test/IR/factory/mindtree.test.js index 0c480f21..003d145b 100644 --- a/test/IR/factory/mindtree.test.js +++ b/test/IR/factory/mindtree.test.js @@ -1,14 +1,14 @@ -const { mindToTree } = require('../../../src/IR/block/factory/mindToTree.js') -const { markdownToTree } = require('../../../src/IR/block/factory/markdownToTree.js') -const assert = require('assert') -const { expect } = require('chai') -const fs = require('fs-extra') +import { mindToTree } from '../../../src/IR/block/factory/mindToTree.js' +import { markdownToTree } from '../../../src/IR/block/factory/markdownToTree.js' +import { deepStrictEqual } from 'assert' +import { expect } from 'chai' +import { readFileSync } from 'fs-extra' describe('IR到MindJson测试', function () { const root = markdownToTree('# aa') const mindJson = root.toMindJson() it('简单单行测试', function () { - assert.deepStrictEqual(mindJson, { + deepStrictEqual(mindJson, { name: '', text: '', type: 'root', @@ -24,9 +24,9 @@ describe('IR到MindJson测试', function () { }) }) - const content = fs.readFileSync('test/IR/data/vditor.md').toString() - const root1 = markdownToTree(content) it('vditor测试', function () { + const content = readFileSync('test/IR/data/vditor.md').toString() + const root1 = markdownToTree(content) expect(mindToTree(root1.toMindJson()).toMarkdown()).to.be.equal(content) }) }) @@ -48,7 +48,7 @@ describe('MindJson到IR', function () { } const root1 = mindToTree(mindJson) it('简单单行测试', function () { - assert.deepStrictEqual(mindJson, root1.toMindJson()) + deepStrictEqual(mindJson, root1.toMindJson()) }) const mindJson2 = { @@ -113,6 +113,6 @@ describe('MindJson到IR', function () { const root2 = mindToTree(mindJson2) it('修改标题级别测试', function () { - assert.deepStrictEqual(mindJsonRes2, root2.toMindJson()) + deepStrictEqual(mindJsonRes2, root2.toMindJson()) }) }) diff --git a/test/IR/factory/outlineJson.test.js b/test/IR/factory/outlineJson.test.js index ba52c3da..59c302c4 100644 --- a/test/IR/factory/outlineJson.test.js +++ b/test/IR/factory/outlineJson.test.js @@ -1,19 +1,16 @@ -const { markdownToTree } = require('../../../src/IR/block/factory/markdownToTree.js') -const assert = require('assert') - +import { markdownToTree } from '../../../src/IR/block/factory/markdownToTree.js' +import assert from 'assert' describe('markdown生成树到大纲视图测试', function () { it('简单单行测试', function () { const root = markdownToTree('# aa') assert.deepStrictEqual(root.toOutlineJson(), { name: 'root', level: 0, - children: [ - { - name: 'aa', - level: 1, - children: [] - } - ] + children: [{ + name: 'aa', + level: 1, + children: [] + }] }) }) it('空串测试', function () { diff --git a/test/IR/factory/tag.test.js b/test/IR/factory/tag.test.js index ac74d871..c288f49f 100644 --- a/test/IR/factory/tag.test.js +++ b/test/IR/factory/tag.test.js @@ -1,10 +1,10 @@ - -const { getLinksInFile } = require('../../../src/common/parseLinks') -const { IRTree } = require('../../../src/IR/component/tree') -const assert = require('assert') - +import { getLinksInFile } from '../../../src/common/parseLinks' +import { IRTree } from '../../../src/IR/component/tree' +import assert from 'assert' describe('已有tag', function () { - const tree = new IRTree({ content: '---\ntags:\n - a\n - b\n---\n\n' }) + const tree = new IRTree({ + content: '---\ntags:\n - a\n - b\n---\n\n' + }) it('获得tag', function () { assert.deepStrictEqual(tree.getTags(), ['a', 'b']) }) @@ -34,9 +34,10 @@ describe('已有tag', function () { assert.deepStrictEqual(tree.getTags(), ['c']) }) }) - describe('无tag', function () { - const tree = new IRTree({ content: '' }) + const tree = new IRTree({ + content: '' + }) it('初始tag', function () { assert.deepStrictEqual(tree.getTags(), []) }) @@ -52,14 +53,11 @@ describe('无tag', function () { assert.deepStrictEqual(tree.toMarkdown(), '---\ntags:\n - a\n - b\n---\n\n') }) }) - describe('柱测试', function () { it('文件柱测试1', function () { - assert.deepStrictEqual(getLinksInFile('---\ntags:\n - a\n - b\n---\naaa\n').tags, - ['a', 'b']) + assert.deepStrictEqual(getLinksInFile('---\ntags:\n - a\n - b\n---\naaa\n').tags, ['a', 'b']) }) it('文件柱测试2', function () { - assert.deepStrictEqual(getLinksInFile('---\ntags:\n - a\n - b\n---\n---\n\n\n\n\n').tags, - ['a', 'b']) + assert.deepStrictEqual(getLinksInFile('---\ntags:\n - a\n - b\n---\n---\n\n\n\n\n').tags, ['a', 'b']) }) }) diff --git a/test/IR/manager/manager.test.js b/test/IR/manager/manager.test.js index 28490dfd..1a6fd514 100644 --- a/test/IR/manager/manager.test.js +++ b/test/IR/manager/manager.test.js @@ -1,14 +1,19 @@ -const DataManager = require('../../../src/IR/manager') -const assert = require('assert') -const { expect } = require('chai') - +import DataManager from '../../../src/IR/manager' +import assert from 'assert' +import { expect } from 'chai' +import { files, nodes1, link1 } from '../data/file.js' describe('manager树测试', function () { const manager = new DataManager() it('创建有效', function () { assert.notEqual(manager, undefined) }) it('创建一棵树', function () { - manager.buildTreeFromMarkdown({ content: '# a', path: '1' }, { replaced: true }) + manager.buildTreeFromMarkdown({ + content: '# a', + path: '1' + }, { + replaced: true + }) expect(manager.getTreeMarkdown()).to.be.equal('# a\n\n') }) it('更新一棵树', function () { @@ -24,14 +29,19 @@ describe('manager树测试', function () { expect(manager.getTreeMarkdown()).to.be.equal('## aa\n\n') }) }) - describe('manager树混合测试', function () { const manager = new DataManager() it('创建有效', function () { assert.notEqual(manager, undefined) }) it('创建一棵树', function () { - manager.buildTreeFromMarkdown({ content: '# a', path: '1' }, { replaced: true, delay: 0 }) + manager.buildTreeFromMarkdown({ + content: '# a', + path: '1' + }, { + replaced: true, + delay: 0 + }) expect(manager.getTreeMarkdown()).to.be.equal('# a\n\n') }) it('通过json更新一棵树', function () { @@ -39,9 +49,13 @@ describe('manager树混合测试', function () { name: '', text: '', type: 'root', - children: [ - { name: 'aaa', text: 'aaa', type: 'heading', children: [], level: 2 } - ] + children: [{ + name: 'aaa', + text: 'aaa', + type: 'heading', + children: [], + level: 2 + }] }) expect(manager.getTreeMarkdown()).to.be.equal('## aaa\n\n') }) @@ -63,21 +77,28 @@ describe('manager树混合测试', function () { name: '', text: '', type: 'root', - children: [ - { name: 'aaa', text: 'aaa', type: 'heading', children: [], level: 2 } - ] + children: [{ + name: 'aaa', + text: 'aaa', + type: 'heading', + children: [], + level: 2 + }] } - }, { replaced: true }) + }, { + replaced: true + }) expect(manager.getTreeMarkdown()).to.be.equal('## aaa\n\n') }) }) - -const { files, nodes1, link1 } = require('../data/file.js') - describe('manager: fileJson到IR测试', function () { const manager = new DataManager() it('创建测试', function () { - manager.buildGraphFromFiles({ files }, { replaced: true }) + manager.buildGraphFromFiles({ + files + }, { + replaced: true + }) }) it('nodes', function () { assert.deepStrictEqual(manager.getGraphNodes(), nodes1) diff --git a/test/main/filesystem/links.test.js b/test/main/filesystem/links.test.js index a5956aa6..63c9d8d5 100644 --- a/test/main/filesystem/links.test.js +++ b/test/main/filesystem/links.test.js @@ -1,8 +1,7 @@ -const linkManager = require('../../../src/main/filesystem/linkManager') -const { getTree } = require('../../../src/main/filesystem/getFileTree') -const assert = require('assert') -const path = require('path') - +import linkManager from '../../../src/main/filesystem/linkManager' +import { getTree } from '../../../src/main/filesystem/getFileTree' +import assert from 'assert' +import path from 'path' describe('links初始化测试', function () { it('读取测试', async function () { await getTree(path.resolve('test', 'main', 'data')) @@ -11,26 +10,20 @@ describe('links初始化测试', function () { assert.deepStrictEqual(linkManager.findTags(), ['aaa', 'b', 'c', 'a']) }) it('links正确性检测', async function () { - assert.deepStrictEqual(linkManager.getLinks().aerials, [ - { - name: '123', - sourcePath: path.resolve('test', 'main', 'data', '1.md'), - targetPath: path.resolve('test', 'main', 'data', '3.md') - } - ]) + assert.deepStrictEqual(linkManager.getLinks().aerials, [{ + name: '123', + sourcePath: path.resolve('test', 'main', 'data', '1.md'), + targetPath: path.resolve('test', 'main', 'data', '3.md') + }]) }) it('citing正确性检测', async function () { - assert.deepStrictEqual(linkManager.getCiteInfo(path.resolve('test', 'main', 'data', '3.md')), - { - cited: [ - { - name: '123', - path: path.resolve('test', 'main', 'data', '1.md') - } - ], - citing: [] - } - ) + assert.deepStrictEqual(linkManager.getCiteInfo(path.resolve('test', 'main', 'data', '3.md')), { + cited: [{ + name: '123', + path: path.resolve('test', 'main', 'data', '1.md') + }], + citing: [] + }) }) it('tag搜索检测', async function () { assert.deepStrictEqual(linkManager.findTags('a'), ['aaa', 'a']) diff --git a/yarn.lock b/yarn.lock index 375c28b7..9398b35c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -38,6 +38,22 @@ resolved "https://mirrors.cloud.tencent.com/npm/@antfu/utils/-/utils-0.7.2.tgz#3bb6f37a6b188056fe9e2f363b6aa735ed65d7ca" integrity sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g== +"@babel/cli@^7.21.5": + version "7.21.5" + resolved "https://mirrors.cloud.tencent.com/npm/@babel/cli/-/cli-7.21.5.tgz#a685a5b50b785f2edfbf6e042c1265c653547d9d" + integrity sha512-TOKytQ9uQW9c4np8F+P7ZfPINy5Kv+pizDIUwSVH8X5zHgYHV4AA8HE5LA450xXeu4jEfmUckTYvv1I4S26M/g== + dependencies: + "@jridgewell/trace-mapping" "^0.3.17" + commander "^4.0.1" + convert-source-map "^1.1.0" + fs-readdir-recursive "^1.1.0" + glob "^7.2.0" + make-dir "^2.1.0" + slash "^2.0.0" + optionalDependencies: + "@nicolo-ribaudo/chokidar-2" "2.1.8-no-fsevents.3" + chokidar "^3.4.0" + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.21.4": version "7.21.4" resolved "https://mirrors.cloud.tencent.com/npm/@babel/code-frame/-/code-frame-7.21.4.tgz#d0fa9e4413aca81f2b23b9442797bda1826edb39" @@ -50,6 +66,11 @@ resolved "https://mirrors.cloud.tencent.com/npm/@babel/compat-data/-/compat-data-7.21.4.tgz#457ffe647c480dff59c2be092fc3acf71195c87f" integrity sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g== +"@babel/compat-data@^7.21.5": + version "7.21.7" + resolved "https://mirrors.cloud.tencent.com/npm/@babel/compat-data/-/compat-data-7.21.7.tgz#61caffb60776e49a57ba61a88f02bedd8714f6bc" + integrity sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA== + "@babel/core@^7.12.16", "@babel/core@^7.7.5": version "7.21.4" resolved "https://mirrors.cloud.tencent.com/npm/@babel/core/-/core-7.21.4.tgz#c6dc73242507b8e2a27fd13a9c1814f9fa34a659" @@ -71,6 +92,27 @@ json5 "^2.2.2" semver "^6.3.0" +"@babel/core@^7.21.5": + version "7.21.5" + resolved "https://mirrors.cloud.tencent.com/npm/@babel/core/-/core-7.21.5.tgz#92f753e8b9f96e15d4b398dbe2f25d1408c9c426" + integrity sha512-9M398B/QH5DlfCOTKDZT1ozXr0x8uBEeFd+dJraGUZGiaNpGCDVGCc14hZexsMblw3XxltJ+6kSvogp9J+5a9g== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.21.4" + "@babel/generator" "^7.21.5" + "@babel/helper-compilation-targets" "^7.21.5" + "@babel/helper-module-transforms" "^7.21.5" + "@babel/helpers" "^7.21.5" + "@babel/parser" "^7.21.5" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.5" + "@babel/types" "^7.21.5" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.2" + semver "^6.3.0" + "@babel/eslint-parser@^7.12.16": version "7.21.3" resolved "https://mirrors.cloud.tencent.com/npm/@babel/eslint-parser/-/eslint-parser-7.21.3.tgz#d79e822050f2de65d7f368a076846e7184234af7" @@ -90,6 +132,16 @@ "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" +"@babel/generator@^7.21.5": + version "7.21.5" + resolved "https://mirrors.cloud.tencent.com/npm/@babel/generator/-/generator-7.21.5.tgz#c0c0e5449504c7b7de8236d99338c3e2a340745f" + integrity sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w== + dependencies: + "@babel/types" "^7.21.5" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + "@babel/helper-annotate-as-pure@^7.18.6": version "7.18.6" resolved "https://mirrors.cloud.tencent.com/npm/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" @@ -116,6 +168,17 @@ lru-cache "^5.1.1" semver "^6.3.0" +"@babel/helper-compilation-targets@^7.21.5": + version "7.21.5" + resolved "https://mirrors.cloud.tencent.com/npm/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz#631e6cc784c7b660417421349aac304c94115366" + integrity sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w== + dependencies: + "@babel/compat-data" "^7.21.5" + "@babel/helper-validator-option" "^7.21.0" + browserslist "^4.21.3" + lru-cache "^5.1.1" + semver "^6.3.0" + "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0": version "7.21.4" resolved "https://mirrors.cloud.tencent.com/npm/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.4.tgz#3a017163dc3c2ba7deb9a7950849a9586ea24c18" @@ -155,6 +218,11 @@ resolved "https://mirrors.cloud.tencent.com/npm/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== +"@babel/helper-environment-visitor@^7.21.5": + version "7.21.5" + resolved "https://mirrors.cloud.tencent.com/npm/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz#c769afefd41d171836f7cb63e295bedf689d48ba" + integrity sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ== + "@babel/helper-explode-assignable-expression@^7.18.6": version "7.18.6" resolved "https://mirrors.cloud.tencent.com/npm/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096" @@ -205,6 +273,20 @@ "@babel/traverse" "^7.21.2" "@babel/types" "^7.21.2" +"@babel/helper-module-transforms@^7.21.5": + version "7.21.5" + resolved "https://mirrors.cloud.tencent.com/npm/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz#d937c82e9af68d31ab49039136a222b17ac0b420" + integrity sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw== + dependencies: + "@babel/helper-environment-visitor" "^7.21.5" + "@babel/helper-module-imports" "^7.21.4" + "@babel/helper-simple-access" "^7.21.5" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.19.1" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.5" + "@babel/types" "^7.21.5" + "@babel/helper-optimise-call-expression@^7.18.6": version "7.18.6" resolved "https://mirrors.cloud.tencent.com/npm/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" @@ -217,6 +299,11 @@ resolved "https://mirrors.cloud.tencent.com/npm/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== +"@babel/helper-plugin-utils@^7.21.5": + version "7.21.5" + resolved "https://mirrors.cloud.tencent.com/npm/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz#345f2377d05a720a4e5ecfa39cbf4474a4daed56" + integrity sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg== + "@babel/helper-remap-async-to-generator@^7.18.9": version "7.18.9" resolved "https://mirrors.cloud.tencent.com/npm/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" @@ -246,6 +333,13 @@ dependencies: "@babel/types" "^7.20.2" +"@babel/helper-simple-access@^7.21.5": + version "7.21.5" + resolved "https://mirrors.cloud.tencent.com/npm/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz#d697a7971a5c39eac32c7e63c0921c06c8a249ee" + integrity sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg== + dependencies: + "@babel/types" "^7.21.5" + "@babel/helper-skip-transparent-expression-wrappers@^7.20.0": version "7.20.0" resolved "https://mirrors.cloud.tencent.com/npm/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz#fbe4c52f60518cab8140d77101f0e63a8a230684" @@ -265,6 +359,11 @@ resolved "https://mirrors.cloud.tencent.com/npm/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== +"@babel/helper-string-parser@^7.21.5": + version "7.21.5" + resolved "https://mirrors.cloud.tencent.com/npm/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz#2b3eea65443c6bdc31c22d037c65f6d323b6b2bd" + integrity sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w== + "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": version "7.19.1" resolved "https://mirrors.cloud.tencent.com/npm/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" @@ -294,6 +393,15 @@ "@babel/traverse" "^7.21.0" "@babel/types" "^7.21.0" +"@babel/helpers@^7.21.5": + version "7.21.5" + resolved "https://mirrors.cloud.tencent.com/npm/@babel/helpers/-/helpers-7.21.5.tgz#5bac66e084d7a4d2d9696bdf0175a93f7fb63c08" + integrity sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA== + dependencies: + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.5" + "@babel/types" "^7.21.5" + "@babel/highlight@^7.18.6": version "7.18.6" resolved "https://mirrors.cloud.tencent.com/npm/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" @@ -303,11 +411,28 @@ chalk "^2.0.0" js-tokens "^4.0.0" +"@babel/node@^7.20.7": + version "7.20.7" + resolved "https://mirrors.cloud.tencent.com/npm/@babel/node/-/node-7.20.7.tgz#609be7f841893e24931b7910263babfde84040a9" + integrity sha512-AQt3gVcP+fpFuoFn4FmIW/+5JovvEoA9og4Y1LrRw0pv3jkl4tujZMMy3X/3ugjLrEy3k1aNywo3JIl3g+jVXQ== + dependencies: + "@babel/register" "^7.18.9" + commander "^4.0.1" + core-js "^3.26.0" + node-environment-flags "^1.0.5" + regenerator-runtime "^0.13.11" + v8flags "^3.1.1" + "@babel/parser@^7.16.4", "@babel/parser@^7.20.7", "@babel/parser@^7.21.4": version "7.21.4" resolved "https://mirrors.cloud.tencent.com/npm/@babel/parser/-/parser-7.21.4.tgz#94003fdfc520bbe2875d4ae557b43ddb6d880f17" integrity sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw== +"@babel/parser@^7.21.5": + version "7.21.5" + resolved "https://mirrors.cloud.tencent.com/npm/@babel/parser/-/parser-7.21.5.tgz#821bb520118fd25b982eaf8d37421cf5c64a312b" + integrity sha512-J+IxH2IsxV4HbnTrSWgMAQj0UEo61hDA4Ny8h8PCX0MLXiibqHbqIOVneqdocemSBc22VpBKxt4J6FQzy9HarQ== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" resolved "https://mirrors.cloud.tencent.com/npm/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" @@ -513,6 +638,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.19.0" +"@babel/plugin-syntax-import-meta@^7.10.4": + version "7.10.4" + resolved "https://mirrors.cloud.tencent.com/npm/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" resolved "https://mirrors.cloud.tencent.com/npm/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" @@ -590,6 +722,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.20.2" +"@babel/plugin-transform-arrow-functions@^7.21.5": + version "7.21.5" + resolved "https://mirrors.cloud.tencent.com/npm/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.21.5.tgz#9bb42a53de447936a57ba256fbf537fc312b6929" + integrity sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA== + dependencies: + "@babel/helper-plugin-utils" "^7.21.5" + "@babel/plugin-transform-async-to-generator@^7.20.7": version "7.20.7" resolved "https://mirrors.cloud.tencent.com/npm/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz#dfee18623c8cb31deb796aa3ca84dda9cea94354" @@ -636,6 +775,14 @@ "@babel/helper-plugin-utils" "^7.20.2" "@babel/template" "^7.20.7" +"@babel/plugin-transform-computed-properties@^7.21.5": + version "7.21.5" + resolved "https://mirrors.cloud.tencent.com/npm/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.21.5.tgz#3a2d8bb771cd2ef1cd736435f6552fe502e11b44" + integrity sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q== + dependencies: + "@babel/helper-plugin-utils" "^7.21.5" + "@babel/template" "^7.20.7" + "@babel/plugin-transform-destructuring@^7.21.3": version "7.21.3" resolved "https://mirrors.cloud.tencent.com/npm/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz#73b46d0fd11cd6ef57dea8a381b1215f4959d401" @@ -673,6 +820,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.20.2" +"@babel/plugin-transform-for-of@^7.21.5": + version "7.21.5" + resolved "https://mirrors.cloud.tencent.com/npm/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.5.tgz#e890032b535f5a2e237a18535f56a9fdaa7b83fc" + integrity sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ== + dependencies: + "@babel/helper-plugin-utils" "^7.21.5" + "@babel/plugin-transform-function-name@^7.18.9": version "7.18.9" resolved "https://mirrors.cloud.tencent.com/npm/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" @@ -713,6 +867,15 @@ "@babel/helper-plugin-utils" "^7.20.2" "@babel/helper-simple-access" "^7.20.2" +"@babel/plugin-transform-modules-commonjs@^7.21.5": + version "7.21.5" + resolved "https://mirrors.cloud.tencent.com/npm/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz#d69fb947eed51af91de82e4708f676864e5e47bc" + integrity sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ== + dependencies: + "@babel/helper-module-transforms" "^7.21.5" + "@babel/helper-plugin-utils" "^7.21.5" + "@babel/helper-simple-access" "^7.21.5" + "@babel/plugin-transform-modules-systemjs@^7.20.11": version "7.20.11" resolved "https://mirrors.cloud.tencent.com/npm/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz#467ec6bba6b6a50634eea61c9c232654d8a4696e" @@ -776,6 +939,14 @@ "@babel/helper-plugin-utils" "^7.20.2" regenerator-transform "^0.15.1" +"@babel/plugin-transform-regenerator@^7.21.5": + version "7.21.5" + resolved "https://mirrors.cloud.tencent.com/npm/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.21.5.tgz#576c62f9923f94bcb1c855adc53561fd7913724e" + integrity sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w== + dependencies: + "@babel/helper-plugin-utils" "^7.21.5" + regenerator-transform "^0.15.1" + "@babel/plugin-transform-reserved-words@^7.18.6": version "7.18.6" resolved "https://mirrors.cloud.tencent.com/npm/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a" @@ -838,6 +1009,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.9" +"@babel/plugin-transform-unicode-escapes@^7.21.5": + version "7.21.5" + resolved "https://mirrors.cloud.tencent.com/npm/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.21.5.tgz#1e55ed6195259b0e9061d81f5ef45a9b009fb7f2" + integrity sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg== + dependencies: + "@babel/helper-plugin-utils" "^7.21.5" + "@babel/plugin-transform-unicode-regex@^7.18.6": version "7.18.6" resolved "https://mirrors.cloud.tencent.com/npm/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca" @@ -927,6 +1105,88 @@ core-js-compat "^3.25.1" semver "^6.3.0" +"@babel/preset-env@^7.21.5": + version "7.21.5" + resolved "https://mirrors.cloud.tencent.com/npm/@babel/preset-env/-/preset-env-7.21.5.tgz#db2089d99efd2297716f018aeead815ac3decffb" + integrity sha512-wH00QnTTldTbf/IefEVyChtRdw5RJvODT/Vb4Vcxq1AZvtXj6T0YeX0cAcXhI6/BdGuiP3GcNIL4OQbI2DVNxg== + dependencies: + "@babel/compat-data" "^7.21.5" + "@babel/helper-compilation-targets" "^7.21.5" + "@babel/helper-plugin-utils" "^7.21.5" + "@babel/helper-validator-option" "^7.21.0" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.20.7" + "@babel/plugin-proposal-async-generator-functions" "^7.20.7" + "@babel/plugin-proposal-class-properties" "^7.18.6" + "@babel/plugin-proposal-class-static-block" "^7.21.0" + "@babel/plugin-proposal-dynamic-import" "^7.18.6" + "@babel/plugin-proposal-export-namespace-from" "^7.18.9" + "@babel/plugin-proposal-json-strings" "^7.18.6" + "@babel/plugin-proposal-logical-assignment-operators" "^7.20.7" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" + "@babel/plugin-proposal-numeric-separator" "^7.18.6" + "@babel/plugin-proposal-object-rest-spread" "^7.20.7" + "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" + "@babel/plugin-proposal-optional-chaining" "^7.21.0" + "@babel/plugin-proposal-private-methods" "^7.18.6" + "@babel/plugin-proposal-private-property-in-object" "^7.21.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" + "@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.20.0" + "@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" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@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.21.5" + "@babel/plugin-transform-async-to-generator" "^7.20.7" + "@babel/plugin-transform-block-scoped-functions" "^7.18.6" + "@babel/plugin-transform-block-scoping" "^7.21.0" + "@babel/plugin-transform-classes" "^7.21.0" + "@babel/plugin-transform-computed-properties" "^7.21.5" + "@babel/plugin-transform-destructuring" "^7.21.3" + "@babel/plugin-transform-dotall-regex" "^7.18.6" + "@babel/plugin-transform-duplicate-keys" "^7.18.9" + "@babel/plugin-transform-exponentiation-operator" "^7.18.6" + "@babel/plugin-transform-for-of" "^7.21.5" + "@babel/plugin-transform-function-name" "^7.18.9" + "@babel/plugin-transform-literals" "^7.18.9" + "@babel/plugin-transform-member-expression-literals" "^7.18.6" + "@babel/plugin-transform-modules-amd" "^7.20.11" + "@babel/plugin-transform-modules-commonjs" "^7.21.5" + "@babel/plugin-transform-modules-systemjs" "^7.20.11" + "@babel/plugin-transform-modules-umd" "^7.18.6" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.20.5" + "@babel/plugin-transform-new-target" "^7.18.6" + "@babel/plugin-transform-object-super" "^7.18.6" + "@babel/plugin-transform-parameters" "^7.21.3" + "@babel/plugin-transform-property-literals" "^7.18.6" + "@babel/plugin-transform-regenerator" "^7.21.5" + "@babel/plugin-transform-reserved-words" "^7.18.6" + "@babel/plugin-transform-shorthand-properties" "^7.18.6" + "@babel/plugin-transform-spread" "^7.20.7" + "@babel/plugin-transform-sticky-regex" "^7.18.6" + "@babel/plugin-transform-template-literals" "^7.18.9" + "@babel/plugin-transform-typeof-symbol" "^7.18.9" + "@babel/plugin-transform-unicode-escapes" "^7.21.5" + "@babel/plugin-transform-unicode-regex" "^7.18.6" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.21.5" + babel-plugin-polyfill-corejs2 "^0.3.3" + babel-plugin-polyfill-corejs3 "^0.6.0" + babel-plugin-polyfill-regenerator "^0.4.1" + core-js-compat "^3.25.1" + semver "^6.3.0" + "@babel/preset-modules@^0.1.5": version "0.1.5" resolved "https://mirrors.cloud.tencent.com/npm/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" @@ -938,6 +1198,17 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" +"@babel/register@^7.18.9": + version "7.21.0" + resolved "https://mirrors.cloud.tencent.com/npm/@babel/register/-/register-7.21.0.tgz#c97bf56c2472e063774f31d344c592ebdcefa132" + integrity sha512-9nKsPmYDi5DidAqJaQooxIhsLJiNMkGr8ypQ8Uic7cIox7UCDsM7HuUGxdGT7mSDTYbqzIdsOWzfBton/YJrMw== + dependencies: + clone-deep "^4.0.1" + find-cache-dir "^2.0.0" + make-dir "^2.1.0" + pirates "^4.0.5" + source-map-support "^0.5.16" + "@babel/regjsgen@^0.8.0": version "0.8.0" resolved "https://mirrors.cloud.tencent.com/npm/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" @@ -975,6 +1246,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.21.5": + version "7.21.5" + resolved "https://mirrors.cloud.tencent.com/npm/@babel/traverse/-/traverse-7.21.5.tgz#ad22361d352a5154b498299d523cf72998a4b133" + integrity sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw== + dependencies: + "@babel/code-frame" "^7.21.4" + "@babel/generator" "^7.21.5" + "@babel/helper-environment-visitor" "^7.21.5" + "@babel/helper-function-name" "^7.21.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.21.5" + "@babel/types" "^7.21.5" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.21.4", "@babel/types@^7.4.4": version "7.21.4" resolved "https://mirrors.cloud.tencent.com/npm/@babel/types/-/types-7.21.4.tgz#2d5d6bb7908699b3b416409ffd3b5daa25b030d4" @@ -984,6 +1271,15 @@ "@babel/helper-validator-identifier" "^7.19.1" to-fast-properties "^2.0.0" +"@babel/types@^7.21.5": + version "7.21.5" + resolved "https://mirrors.cloud.tencent.com/npm/@babel/types/-/types-7.21.5.tgz#18dfbd47c39d3904d5db3d3dc2cc80bedb60e5b6" + integrity sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q== + dependencies: + "@babel/helper-string-parser" "^7.21.5" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + "@commitlint/cli@^17.6.1": version "17.6.1" resolved "https://mirrors.cloud.tencent.com/npm/@commitlint/cli/-/cli-17.6.1.tgz#571a1272a656cd316f4b601cbb0fcb2ef50bfc7a" @@ -1457,6 +1753,11 @@ lodash "^4.17.15" tmp-promise "^3.0.2" +"@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3": + version "2.1.8-no-fsevents.3" + resolved "https://mirrors.cloud.tencent.com/npm/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz#323d72dd25103d0c4fbdce89dadf574a787b1f9b" + integrity sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ== + "@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": version "5.1.1-v1" resolved "https://mirrors.cloud.tencent.com/npm/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129" @@ -3160,6 +3461,17 @@ array.prototype.flatmap@^1.3.1: es-abstract "^1.20.4" es-shim-unscopables "^1.0.0" +array.prototype.reduce@^1.0.5: + version "1.0.5" + resolved "https://mirrors.cloud.tencent.com/npm/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz#6b20b0daa9d9734dd6bc7ea66b5bbce395471eac" + integrity sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-array-method-boxes-properly "^1.0.0" + is-string "^1.0.7" + array.prototype.tosorted@^1.1.1: version "1.1.1" resolved "https://mirrors.cloud.tencent.com/npm/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532" @@ -4031,7 +4343,7 @@ check-error@^1.0.2: resolved "https://mirrors.cloud.tencent.com/npm/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= -chokidar@3.5.3, chokidar@^3.0.2, chokidar@^3.4.1, chokidar@^3.5.2, chokidar@^3.5.3: +chokidar@3.5.3, chokidar@^3.0.2, chokidar@^3.4.0, chokidar@^3.4.1, chokidar@^3.5.2, chokidar@^3.5.3: version "3.5.3" resolved "https://mirrors.cloud.tencent.com/npm/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -4331,6 +4643,11 @@ commander@^2.20.0: resolved "https://mirrors.cloud.tencent.com/npm/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== +commander@^4.0.1: + version "4.1.1" + resolved "https://mirrors.cloud.tencent.com/npm/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + commander@^5.0.0: version "5.1.0" resolved "https://mirrors.cloud.tencent.com/npm/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" @@ -4529,7 +4846,7 @@ conventional-commits-parser@^3.2.2: split2 "^3.0.0" through2 "^4.0.0" -convert-source-map@^1.7.0: +convert-source-map@^1.1.0, convert-source-map@^1.7.0: version "1.9.0" resolved "https://mirrors.cloud.tencent.com/npm/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== @@ -4580,7 +4897,7 @@ core-js-compat@^3.25.1, core-js-compat@^3.8.3: dependencies: browserslist "^4.21.5" -core-js@^3.8.3: +core-js@^3.26.0, core-js@^3.8.3: version "3.30.1" resolved "https://mirrors.cloud.tencent.com/npm/core-js/-/core-js-3.30.1.tgz#fc9c5adcc541d8e9fa3e381179433cbf795628ba" integrity sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ== @@ -5683,7 +6000,7 @@ error-stack-parser@^2.0.0, error-stack-parser@^2.0.6: dependencies: stackframe "^1.3.4" -es-abstract@^1.19.0, es-abstract@^1.20.4: +es-abstract@^1.19.0, es-abstract@^1.20.4, es-abstract@^1.21.2: version "1.21.2" resolved "https://mirrors.cloud.tencent.com/npm/es-abstract/-/es-abstract-1.21.2.tgz#a56b9695322c8a185dc25975aa3b8ec31d0e7eff" integrity sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg== @@ -5723,6 +6040,11 @@ es-abstract@^1.19.0, es-abstract@^1.20.4: unbox-primitive "^1.0.2" which-typed-array "^1.1.9" +es-array-method-boxes-properly@^1.0.0: + version "1.0.0" + resolved "https://mirrors.cloud.tencent.com/npm/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" + integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== + es-module-lexer@^1.2.1: version "1.2.1" resolved "https://mirrors.cloud.tencent.com/npm/es-module-lexer/-/es-module-lexer-1.2.1.tgz#ba303831f63e6a394983fde2f97ad77b22324527" @@ -6388,7 +6710,7 @@ finalhandler@1.2.0: statuses "2.0.1" unpipe "~1.0.0" -find-cache-dir@^2.1.0: +find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: version "2.1.0" resolved "https://mirrors.cloud.tencent.com/npm/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== @@ -6619,6 +6941,11 @@ fs-monkey@^1.0.3: resolved "https://mirrors.cloud.tencent.com/npm/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== +fs-readdir-recursive@^1.1.0: + version "1.1.0" + resolved "https://mirrors.cloud.tencent.com/npm/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" + integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA== + fs-write-stream-atomic@^1.0.8: version "1.0.10" resolved "https://mirrors.cloud.tencent.com/npm/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" @@ -6809,7 +7136,7 @@ glob@7.2.0: once "^1.3.0" path-is-absolute "^1.0.0" -glob@7.2.3, glob@^7.0.0, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7: +glob@7.2.3, glob@^7.0.0, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7, glob@^7.2.0: version "7.2.3" resolved "https://mirrors.cloud.tencent.com/npm/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -7967,6 +8294,11 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: resolved "https://mirrors.cloud.tencent.com/npm/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= +isarray@^2.0.5: + version "2.0.5" + resolved "https://mirrors.cloud.tencent.com/npm/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + isbinaryfile@^3.0.2: version "3.0.3" resolved "https://mirrors.cloud.tencent.com/npm/isbinaryfile/-/isbinaryfile-3.0.3.tgz#5d6def3edebf6e8ca8cae9c30183a804b5f8be80" @@ -8649,7 +8981,7 @@ magic-string@^0.27.0: dependencies: "@jridgewell/sourcemap-codec" "^1.4.13" -make-dir@^2.0.0: +make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" resolved "https://mirrors.cloud.tencent.com/npm/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== @@ -9259,6 +9591,14 @@ node-emoji@^1.11.0, node-emoji@^1.8.1: dependencies: lodash "^4.17.21" +node-environment-flags@^1.0.5: + version "1.0.6" + resolved "https://mirrors.cloud.tencent.com/npm/node-environment-flags/-/node-environment-flags-1.0.6.tgz#a30ac13621f6f7d674260a54dede048c3982c088" + integrity sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw== + dependencies: + object.getownpropertydescriptors "^2.0.3" + semver "^5.7.0" + node-fetch@^2.6.7: version "2.6.9" resolved "https://mirrors.cloud.tencent.com/npm/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" @@ -9541,6 +9881,17 @@ object.fromentries@^2.0.6: define-properties "^1.1.4" es-abstract "^1.20.4" +object.getownpropertydescriptors@^2.0.3: + version "2.1.6" + resolved "https://mirrors.cloud.tencent.com/npm/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz#5e5c384dd209fa4efffead39e3a0512770ccc312" + integrity sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ== + dependencies: + array.prototype.reduce "^1.0.5" + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.21.2" + safe-array-concat "^1.0.0" + object.hasown@^1.1.2: version "1.1.2" resolved "https://mirrors.cloud.tencent.com/npm/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92" @@ -9987,6 +10338,11 @@ pify@^4.0.1: resolved "https://mirrors.cloud.tencent.com/npm/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== +pirates@^4.0.5: + version "4.0.5" + resolved "https://mirrors.cloud.tencent.com/npm/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== + pkg-conf@^3.1.0: version "3.1.0" resolved "https://mirrors.cloud.tencent.com/npm/pkg-conf/-/pkg-conf-3.1.0.tgz#d9f9c75ea1bae0e77938cde045b276dac7cc69ae" @@ -11090,6 +11446,16 @@ rxjs@^7.5.5: dependencies: tslib "^2.1.0" +safe-array-concat@^1.0.0: + version "1.0.0" + resolved "https://mirrors.cloud.tencent.com/npm/safe-array-concat/-/safe-array-concat-1.0.0.tgz#2064223cba3c08d2ee05148eedbc563cd6d84060" + integrity sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + has-symbols "^1.0.3" + isarray "^2.0.5" + safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://mirrors.cloud.tencent.com/npm/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -11199,7 +11565,7 @@ semver-diff@^3.1.1: dependencies: semver "^6.3.0" -"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0, semver@^5.7.0: version "5.7.1" resolved "https://mirrors.cloud.tencent.com/npm/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -11414,6 +11780,11 @@ sirv@^1.0.7: mrmime "^1.0.0" totalist "^1.0.0" +slash@^2.0.0: + version "2.0.0" + resolved "https://mirrors.cloud.tencent.com/npm/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + slash@^3.0.0: version "3.0.0" resolved "https://mirrors.cloud.tencent.com/npm/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" @@ -11515,7 +11886,7 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.19, source-map-support@~0.5.12, source-map-support@~0.5.20: +source-map-support@^0.5.16, source-map-support@^0.5.19, source-map-support@~0.5.12, source-map-support@~0.5.20: version "0.5.21" resolved "https://mirrors.cloud.tencent.com/npm/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -12779,6 +13150,13 @@ v8-compile-cache-lib@^3.0.1: resolved "https://mirrors.cloud.tencent.com/npm/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== +v8flags@^3.1.1: + version "3.2.0" + resolved "https://mirrors.cloud.tencent.com/npm/v8flags/-/v8flags-3.2.0.tgz#b243e3b4dfd731fa774e7492128109a0fe66d656" + integrity sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg== + dependencies: + homedir-polyfill "^1.0.1" + validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://mirrors.cloud.tencent.com/npm/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"