diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..18c9e3c --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +trim_trailing_whitespace = true +insert_final_newline = true \ No newline at end of file diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000..0ca1ee4 --- /dev/null +++ b/.eslintrc @@ -0,0 +1,43 @@ +{ + "parser": "@typescript-eslint/parser", + "plugins": ["@typescript-eslint"], + "parserOptions": { + "ecmaVersion": 6, + "sourceType": "module" + }, + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/eslint-recommended", + "plugin:@typescript-eslint/recommended" + ], + "env": { + "browser": true + }, + "rules": { + "linebreak-style": 0, + "no-console": 0, + "no-debugger": 0, + "no-useless-escape": "off", + "@typescript-eslint/no-explicit-any": 0, + "@typescript-eslint/no-empty-interface": 0, + "@typescript-eslint/no-this-alias": 0, + "@typescript-eslint/ban-ts-comment": 0, + "@typescript-eslint/explicit-module-boundary-types": 0, + "@typescript-eslint/no-non-null-assertion": 0, + "@typescript-eslint/ban-types": [1, { + "types": { + "Function": false, + "{}": false + }, + "extendDefaults": true + }], + "no-constant-condition": ["error", { + "checkLoops": false + }], + "semi": [1, "never"], + "quotes": [1, "single", { + "allowTemplateLiterals": true + }] + }, + "ignorePatterns": ["node_modules", "dist", "index.html"] +} diff --git a/.vscode/settings.json b/.vscode/settings.json index 9c67631..25c5e9f 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -8,6 +8,7 @@ "contextmenu", "deletable", "inputarea", + "linebreak", "prismjs", "resizer", "richtext", @@ -18,5 +19,8 @@ "vite", "Yahei" ], - "typescript.tsdk": "node_modules/typescript/lib" -} \ No newline at end of file + "typescript.tsdk": "node_modules/typescript/lib", + "editor.codeActionsOnSave": { + "source.fixAll.eslint": true + } +} diff --git a/cypress/global.d.ts b/cypress/global.d.ts index 4519a6c..18d3be3 100644 --- a/cypress/global.d.ts +++ b/cypress/global.d.ts @@ -2,6 +2,7 @@ declare namespace Editor { import('../src/editor/index') + // eslint-disable-next-line @typescript-eslint/no-unused-vars import Editor from '../src/editor/index' } diff --git a/cypress/integration/menus/search.spec.ts b/cypress/integration/menus/search.spec.ts index 29e37fa..16478c2 100644 --- a/cypress/integration/menus/search.spec.ts +++ b/cypress/integration/menus/search.spec.ts @@ -34,7 +34,7 @@ describe('菜单-搜索', () => { value: searchText }, { - value: "\n", + value: '\n', type, trList: [ { diff --git a/package.json b/package.json index cf2dbdb..9dba729 100644 --- a/package.json +++ b/package.json @@ -2,17 +2,21 @@ "version": "0.8.3", "scripts": { "dev": "vite", - "lib": "tsc && vite build --mode lib", - "build": "tsc && vite build --mode app", + "lib": "npm run lint && tsc && vite build --mode lib", + "build": "npm run lint && tsc && vite build --mode app", "serve": "vite preview", + "lint": "eslint .", "cypress:open": "cypress open", "cypress:run": "cypress run" }, "devDependencies": { "@types/node": "^16.11.12", "@types/prismjs": "^1.26.0", + "@typescript-eslint/eslint-plugin": "4.33.0", + "@typescript-eslint/parser": "4.33.0", "cypress": "^9.5.1", "cypress-file-upload": "^5.0.8", + "eslint": "7.32.0", "typescript": "^4.3.2", "vite": "^2.4.2" }, diff --git a/src/editor/core/command/Command.ts b/src/editor/core/command/Command.ts index 2c49211..46b0e99 100644 --- a/src/editor/core/command/Command.ts +++ b/src/editor/core/command/Command.ts @@ -1,9 +1,10 @@ -import { IElement } from "../.." -import { EditorMode } from "../../dataset/enum/Editor" -import { RowFlex } from "../../dataset/enum/Row" -import { IDrawImagePayload } from "../../interface/Draw" -import { IWatermark } from "../../interface/Watermark" -import { CommandAdapt } from "./CommandAdapt" +import { IElement } from '../..' +import { EditorMode } from '../../dataset/enum/Editor' +import { RowFlex } from '../../dataset/enum/Row' +import { IDrawImagePayload } from '../../interface/Draw' +import { IWatermark } from '../../interface/Watermark' +import { CommandAdapt } from './CommandAdapt' + export class Command { diff --git a/src/editor/core/command/CommandAdapt.ts b/src/editor/core/command/CommandAdapt.ts index 1406e5a..695189c 100644 --- a/src/editor/core/command/CommandAdapt.ts +++ b/src/editor/core/command/CommandAdapt.ts @@ -1,26 +1,27 @@ -import { WRAP, ZERO } from "../../dataset/constant/Common" -import { EDITOR_ELEMENT_STYLE_ATTR } from "../../dataset/constant/Element" -import { defaultWatermarkOption } from "../../dataset/constant/Watermark" -import { EditorContext, EditorMode } from "../../dataset/enum/Editor" -import { ElementType } from "../../dataset/enum/Element" -import { ElementStyleKey } from "../../dataset/enum/ElementStyle" -import { RowFlex } from "../../dataset/enum/Row" -import { IDrawImagePayload } from "../../interface/Draw" -import { IEditorOption } from "../../interface/Editor" -import { IElement, IElementStyle } from "../../interface/Element" -import { IColgroup } from "../../interface/table/Colgroup" -import { ITd } from "../../interface/table/Td" -import { ITr } from "../../interface/table/Tr" -import { IWatermark } from "../../interface/Watermark" -import { getUUID } from "../../utils" -import { formatElementList } from "../../utils/element" -import { printImageBase64 } from "../../utils/print" -import { Draw } from "../draw/Draw" -import { TableTool } from "../draw/particle/table/TableTool" -import { CanvasEvent } from "../event/CanvasEvent" -import { HistoryManager } from "../history/HistoryManager" -import { Position } from "../position/Position" -import { RangeManager } from "../range/RangeManager" +import { WRAP, ZERO } from '../../dataset/constant/Common' +import { EDITOR_ELEMENT_STYLE_ATTR } from '../../dataset/constant/Element' +import { defaultWatermarkOption } from '../../dataset/constant/Watermark' +import { EditorContext, EditorMode } from '../../dataset/enum/Editor' +import { ElementType } from '../../dataset/enum/Element' +import { ElementStyleKey } from '../../dataset/enum/ElementStyle' +import { RowFlex } from '../../dataset/enum/Row' +import { IDrawImagePayload } from '../../interface/Draw' +import { IEditorOption } from '../../interface/Editor' +import { IElement, IElementStyle } from '../../interface/Element' +import { IColgroup } from '../../interface/table/Colgroup' +import { ITd } from '../../interface/table/Td' +import { ITr } from '../../interface/table/Tr' +import { IWatermark } from '../../interface/Watermark' +import { getUUID } from '../../utils' +import { formatElementList } from '../../utils/element' +import { printImageBase64 } from '../../utils/print' +import { Draw } from '../draw/Draw' +import { TableTool } from '../draw/particle/table/TableTool' +import { CanvasEvent } from '../event/CanvasEvent' +import { HistoryManager } from '../history/HistoryManager' +import { Position } from '../position/Position' +import { RangeManager } from '../range/RangeManager' + export class CommandAdapt { @@ -822,7 +823,7 @@ export class CommandAdapt { const startRowIndex = startTd.rowIndex! const endRowIndex = endTd.rowIndex! + (endTd.rowspan - 1) // 选区行列 - let rowCol: ITd[][] = [] + const rowCol: ITd[][] = [] for (let t = 0; t < curTrList.length; t++) { const tr = curTrList[t] const tdList: ITd[] = [] @@ -865,7 +866,7 @@ export class CommandAdapt { } } // 合并单元格 - let mergeTdIdList: string[] = [] + const mergeTdIdList: string[] = [] const anchorTd = rowCol[0][0] for (let t = 0; t < rowCol.length; t++) { const tr = rowCol[t] @@ -1234,7 +1235,7 @@ export class CommandAdapt { formatElementList(payload, false) const elementList = this.draw.getElementList() const isCollapsed = startIndex === endIndex - let start = startIndex + 1 + const start = startIndex + 1 if (!isCollapsed) { elementList.splice(start, endIndex - startIndex) } diff --git a/src/editor/core/contextmenu/ContextMenu.ts b/src/editor/core/contextmenu/ContextMenu.ts index 91c3b26..f6080d1 100644 --- a/src/editor/core/contextmenu/ContextMenu.ts +++ b/src/editor/core/contextmenu/ContextMenu.ts @@ -1,11 +1,11 @@ -import { EDITOR_COMPONENT } from "../../dataset/constant/Editor" -import { EditorComponent } from "../../dataset/enum/Editor" -import { IContextMenuContext, IRegisterContextMenu } from "../../interface/contextmenu/ContextMenu" -import { findParent } from "../../utils" -import { Command } from "../command/Command" -import { Draw } from "../draw/Draw" -import { Position } from "../position/Position" -import { RangeManager } from "../range/RangeManager" +import { EDITOR_COMPONENT } from '../../dataset/constant/Editor' +import { EditorComponent } from '../../dataset/enum/Editor' +import { IContextMenuContext, IRegisterContextMenu } from '../../interface/contextmenu/ContextMenu' +import { findParent } from '../../utils' +import { Command } from '../command/Command' +import { Draw } from '../draw/Draw' +import { Position } from '../position/Position' +import { RangeManager } from '../range/RangeManager' interface IRenderPayload { contextMenuList: IRegisterContextMenu[]; @@ -42,7 +42,7 @@ export class ContextMenu { private _proxyContextMenuEvent(evt: MouseEvent) { const context = this._getContext() - let renderList: IRegisterContextMenu[] = [] + const renderList: IRegisterContextMenu[] = [] let isRegisterContextMenu = false for (let c = 0; c < this.contextMenuList.length; c++) { const menu = this.contextMenuList[c] diff --git a/src/editor/core/contextmenu/menus/globalMenus.ts b/src/editor/core/contextmenu/menus/globalMenus.ts index 6922258..20ce556 100644 --- a/src/editor/core/contextmenu/menus/globalMenus.ts +++ b/src/editor/core/contextmenu/menus/globalMenus.ts @@ -1,5 +1,5 @@ -import { IRegisterContextMenu } from "../../../interface/contextmenu/ContextMenu" -import { Command } from "../../command/Command" +import { IRegisterContextMenu } from '../../../interface/contextmenu/ContextMenu' +import { Command } from '../../command/Command' export const globalMenus: IRegisterContextMenu[] = [ { diff --git a/src/editor/core/contextmenu/menus/tableMenus.ts b/src/editor/core/contextmenu/menus/tableMenus.ts index 1172440..9347740 100644 --- a/src/editor/core/contextmenu/menus/tableMenus.ts +++ b/src/editor/core/contextmenu/menus/tableMenus.ts @@ -1,5 +1,5 @@ -import { IRegisterContextMenu } from "../../../interface/contextmenu/ContextMenu" -import { Command } from "../../command/Command" +import { IRegisterContextMenu } from '../../../interface/contextmenu/ContextMenu' +import { Command } from '../../command/Command' export const tableMenus: IRegisterContextMenu[] = [ { diff --git a/src/editor/core/cursor/Cursor.ts b/src/editor/core/cursor/Cursor.ts index 675fb3f..428230c 100644 --- a/src/editor/core/cursor/Cursor.ts +++ b/src/editor/core/cursor/Cursor.ts @@ -1,9 +1,9 @@ -import { CURSOR_AGENT_HEIGHT } from "../../dataset/constant/Cursor" -import { IEditorOption } from "../../interface/Editor" -import { Draw } from "../draw/Draw" -import { CanvasEvent } from "../event/CanvasEvent" -import { Position } from "../position/Position" -import { CursorAgent } from "./CursorAgent" +import { CURSOR_AGENT_HEIGHT } from '../../dataset/constant/Cursor' +import { IEditorOption } from '../../interface/Editor' +import { Draw } from '../draw/Draw' +import { CanvasEvent } from '../event/CanvasEvent' +import { Position } from '../position/Position' +import { CursorAgent } from './CursorAgent' export class Cursor { diff --git a/src/editor/core/cursor/CursorAgent.ts b/src/editor/core/cursor/CursorAgent.ts index dd495aa..aacf472 100644 --- a/src/editor/core/cursor/CursorAgent.ts +++ b/src/editor/core/cursor/CursorAgent.ts @@ -1,6 +1,6 @@ -import { debounce } from "../../utils" -import { Draw } from "../draw/Draw" -import { CanvasEvent } from "../event/CanvasEvent" +import { debounce } from '../../utils' +import { Draw } from '../draw/Draw' +import { CanvasEvent } from '../event/CanvasEvent' export class CursorAgent { diff --git a/src/editor/core/draw/Draw.ts b/src/editor/core/draw/Draw.ts index 4cca21a..9d20ecd 100644 --- a/src/editor/core/draw/Draw.ts +++ b/src/editor/core/draw/Draw.ts @@ -1,38 +1,38 @@ -import { ZERO } from "../../dataset/constant/Common" -import { RowFlex } from "../../dataset/enum/Row" -import { IDrawOption, IDrawRowPayload, IDrawRowResult } from "../../interface/Draw" -import { IEditorOption } from "../../interface/Editor" -import { IElement, IElementMetrics, IElementPosition, IElementFillRect, IElementStyle } from "../../interface/Element" -import { IRow, IRowElement } from "../../interface/Row" -import { deepClone, getUUID } from "../../utils" -import { Cursor } from "../cursor/Cursor" -import { CanvasEvent } from "../event/CanvasEvent" -import { GlobalEvent } from "../event/GlobalEvent" -import { HistoryManager } from "../history/HistoryManager" -import { Listener } from "../listener/Listener" -import { Position } from "../position/Position" -import { RangeManager } from "../range/RangeManager" -import { Background } from "./frame/Background" -import { Highlight } from "./richtext/Highlight" -import { Margin } from "./frame/Margin" -import { Search } from "./interactive/Search" -import { Strikeout } from "./richtext/Strikeout" -import { Underline } from "./richtext/Underline" -import { ElementType } from "../../dataset/enum/Element" -import { ImageParticle } from "./particle/ImageParticle" -import { TextParticle } from "./particle/TextParticle" -import { PageNumber } from "./frame/PageNumber" -import { GlobalObserver } from "../observer/GlobalObserver" -import { TableParticle } from "./particle/table/TableParticle" -import { TableTool } from "./particle/table/TableTool" -import { HyperlinkParticle } from "./particle/HyperlinkParticle" -import { Header } from "./frame/Header" -import { SuperscriptParticle } from "./particle/Superscript" -import { SubscriptParticle } from "./particle/Subscript" -import { SeparatorParticle } from "./particle/Separator" -import { PageBreakParticle } from "./particle/PageBreak" -import { Watermark } from "./frame/Watermark" -import { EditorMode } from "../../dataset/enum/Editor" +import { ZERO } from '../../dataset/constant/Common' +import { RowFlex } from '../../dataset/enum/Row' +import { IDrawOption, IDrawRowPayload, IDrawRowResult } from '../../interface/Draw' +import { IEditorOption } from '../../interface/Editor' +import { IElement, IElementMetrics, IElementPosition, IElementFillRect, IElementStyle } from '../../interface/Element' +import { IRow, IRowElement } from '../../interface/Row' +import { deepClone, getUUID } from '../../utils' +import { Cursor } from '../cursor/Cursor' +import { CanvasEvent } from '../event/CanvasEvent' +import { GlobalEvent } from '../event/GlobalEvent' +import { HistoryManager } from '../history/HistoryManager' +import { Listener } from '../listener/Listener' +import { Position } from '../position/Position' +import { RangeManager } from '../range/RangeManager' +import { Background } from './frame/Background' +import { Highlight } from './richtext/Highlight' +import { Margin } from './frame/Margin' +import { Search } from './interactive/Search' +import { Strikeout } from './richtext/Strikeout' +import { Underline } from './richtext/Underline' +import { ElementType } from '../../dataset/enum/Element' +import { ImageParticle } from './particle/ImageParticle' +import { TextParticle } from './particle/TextParticle' +import { PageNumber } from './frame/PageNumber' +import { GlobalObserver } from '../observer/GlobalObserver' +import { TableParticle } from './particle/table/TableParticle' +import { TableTool } from './particle/table/TableTool' +import { HyperlinkParticle } from './particle/HyperlinkParticle' +import { Header } from './frame/Header' +import { SuperscriptParticle } from './particle/Superscript' +import { SubscriptParticle } from './particle/Subscript' +import { SeparatorParticle } from './particle/Separator' +import { PageBreakParticle } from './particle/PageBreak' +import { Watermark } from './frame/Watermark' +import { EditorMode } from '../../dataset/enum/Editor' export class Draw { @@ -383,7 +383,7 @@ export class Draw { this.ctxList.push(ctx) } - private _getFont(el: IElement, scale: number = 1): string { + private _getFont(el: IElement, scale = 1): string { const { defaultSize, defaultFont } = this.options const font = el.font || defaultFont const size = el.actualSize || el.size || defaultSize @@ -410,7 +410,7 @@ export class Draw { const curRow: IRow = rowList[rowList.length - 1] const element = elementList[i] const rowMargin = defaultBasicRowMarginHeight * (element.rowMargin || defaultRowMargin) - let metrics: IElementMetrics = { + const metrics: IElementMetrics = { width: 0, height: 0, boundingBoxAscent: 0, @@ -612,8 +612,8 @@ export class Draw { } } // 当前td所在位置 - let tablePreX = x - let tablePreY = y + const tablePreX = x + const tablePreY = y // 选区绘制记录 const rangeRecord: IElementFillRect = { x: 0, @@ -794,12 +794,12 @@ export class Draw { } public render(payload?: IDrawOption) { - let { - curIndex, + const { isSubmitHistory = true, isSetCursor = true, isComputeRowList = true } = payload || {} + let { curIndex } = payload || {} const height = this.getHeight() const innerWidth = this.getInnerWidth() // 计算行信息 @@ -818,7 +818,7 @@ export class Draw { const marginHeight = margins[0] + margins[2] let pageHeight = marginHeight let pageNo = 0 - let pageRowList: IRow[][] = [[]] + const pageRowList: IRow[][] = [[]] for (let i = 0; i < this.rowList.length; i++) { const row = this.rowList[i] if (row.height + pageHeight > height || this.rowList[i - 1]?.isPageBreak) { diff --git a/src/editor/core/draw/frame/Background.ts b/src/editor/core/draw/frame/Background.ts index dd469d2..d8a761f 100644 --- a/src/editor/core/draw/frame/Background.ts +++ b/src/editor/core/draw/frame/Background.ts @@ -1,5 +1,5 @@ -import { IEditorOption } from "../../../interface/Editor" -import { Draw } from "../Draw" +import { IEditorOption } from '../../../interface/Editor' +import { Draw } from '../Draw' export class Background { diff --git a/src/editor/core/draw/frame/Header.ts b/src/editor/core/draw/frame/Header.ts index dd61edb..9650499 100644 --- a/src/editor/core/draw/frame/Header.ts +++ b/src/editor/core/draw/frame/Header.ts @@ -1,6 +1,6 @@ -import { DeepRequired } from "../../../interface/Common" -import { IEditorOption } from "../../../interface/Editor" -import { Draw } from "../Draw" +import { DeepRequired } from '../../../interface/Common' +import { IEditorOption } from '../../../interface/Editor' +import { Draw } from '../Draw' export class Header { diff --git a/src/editor/core/draw/frame/Margin.ts b/src/editor/core/draw/frame/Margin.ts index ff2953c..f31e7a0 100644 --- a/src/editor/core/draw/frame/Margin.ts +++ b/src/editor/core/draw/frame/Margin.ts @@ -1,5 +1,5 @@ -import { IEditorOption } from "../../../interface/Editor" -import { Draw } from "../Draw" +import { IEditorOption } from '../../../interface/Editor' +import { Draw } from '../Draw' export class Margin { diff --git a/src/editor/core/draw/frame/PageNumber.ts b/src/editor/core/draw/frame/PageNumber.ts index d6ca451..a11f035 100644 --- a/src/editor/core/draw/frame/PageNumber.ts +++ b/src/editor/core/draw/frame/PageNumber.ts @@ -1,5 +1,5 @@ -import { IEditorOption } from "../../../interface/Editor" -import { Draw } from "../Draw" +import { IEditorOption } from '../../../interface/Editor' +import { Draw } from '../Draw' export class PageNumber { diff --git a/src/editor/core/draw/frame/Watermark.ts b/src/editor/core/draw/frame/Watermark.ts index 9becb98..8e833d5 100644 --- a/src/editor/core/draw/frame/Watermark.ts +++ b/src/editor/core/draw/frame/Watermark.ts @@ -1,6 +1,6 @@ -import { IEditorOption } from "../../.." -import { DeepRequired } from "../../../interface/Common" -import { Draw } from "../Draw" +import { IEditorOption } from '../../..' +import { DeepRequired } from '../../../interface/Common' +import { Draw } from '../Draw' export class Watermark { diff --git a/src/editor/core/draw/interactive/Search.ts b/src/editor/core/draw/interactive/Search.ts index 9d51e15..3f458db 100644 --- a/src/editor/core/draw/interactive/Search.ts +++ b/src/editor/core/draw/interactive/Search.ts @@ -1,13 +1,13 @@ -import { ZERO } from "../../../dataset/constant/Common" -import { TEXTLIKE_ELEMENT_TYPE } from "../../../dataset/constant/Element" -import { EditorContext } from "../../../dataset/enum/Editor" -import { ElementType } from "../../../dataset/enum/Element" -import { IEditorOption } from "../../../interface/Editor" -import { IElement, IElementPosition } from "../../../interface/Element" -import { ISearchResult, ISearchResultRestArgs } from "../../../interface/Search" -import { getUUID } from "../../../utils" -import { Position } from "../../position/Position" -import { Draw } from "../Draw" +import { ZERO } from '../../../dataset/constant/Common' +import { TEXTLIKE_ELEMENT_TYPE } from '../../../dataset/constant/Element' +import { EditorContext } from '../../../dataset/enum/Editor' +import { ElementType } from '../../../dataset/enum/Element' +import { IEditorOption } from '../../../interface/Editor' +import { IElement, IElementPosition } from '../../../interface/Element' +import { ISearchResult, ISearchResultRestArgs } from '../../../interface/Search' +import { getUUID } from '../../../utils' +import { Position } from '../../position/Position' +import { Draw } from '../Draw' export class Search { @@ -28,7 +28,7 @@ export class Search { } public compute(payload: string) { - let searchMatchList: ISearchResult[] = [] + const searchMatchList: ISearchResult[] = [] // 分组 const elementListGroup: { type: EditorContext, elementList: IElement[], index: number }[] = [] const originalElementList = this.draw.getOriginalElementList() @@ -129,7 +129,7 @@ export class Search { let position: IElementPosition | null = null if (searchMatch.type === EditorContext.TABLE) { const { tableIndex, trIndex, tdIndex, index } = searchMatch - position = elementList[tableIndex!]?.trList![trIndex!].tdList[tdIndex!]!?.positionList![index] + position = elementList[tableIndex!]?.trList![trIndex!].tdList[tdIndex!]?.positionList![index] } else { position = positionList[searchMatch.index] } diff --git a/src/editor/core/draw/particle/HyperlinkParticle.ts b/src/editor/core/draw/particle/HyperlinkParticle.ts index dc53b12..1686e7b 100644 --- a/src/editor/core/draw/particle/HyperlinkParticle.ts +++ b/src/editor/core/draw/particle/HyperlinkParticle.ts @@ -1,8 +1,8 @@ -import { IElement } from "../../.." -import { IEditorOption } from "../../../interface/Editor" -import { IElementPosition } from "../../../interface/Element" -import { IRowElement } from "../../../interface/Row" -import { Draw } from "../Draw" +import { IElement } from '../../..' +import { IEditorOption } from '../../../interface/Editor' +import { IElementPosition } from '../../../interface/Element' +import { IRowElement } from '../../../interface/Row' +import { Draw } from '../Draw' export class HyperlinkParticle { diff --git a/src/editor/core/draw/particle/ImageParticle.ts b/src/editor/core/draw/particle/ImageParticle.ts index 63ba1d8..9a03538 100644 --- a/src/editor/core/draw/particle/ImageParticle.ts +++ b/src/editor/core/draw/particle/ImageParticle.ts @@ -1,7 +1,7 @@ -import { IImageParticleCreateResult } from "../../../interface/Draw" -import { IEditorOption } from "../../../interface/Editor" -import { IElement, IElementPosition } from "../../../interface/Element" -import { Draw } from "../Draw" +import { IImageParticleCreateResult } from '../../../interface/Draw' +import { IEditorOption } from '../../../interface/Editor' +import { IElement, IElementPosition } from '../../../interface/Element' +import { Draw } from '../Draw' export class ImageParticle { @@ -93,7 +93,7 @@ export class ImageParticle { document.body.style.cursor = cursor this.canvas.style.cursor = cursor // 拖拽图片镜像 - this.resizerImage.src = this.curElement?.value! + this.resizerImage.src = this.curElement?.value || '' this.resizerImageContainer.style.display = 'block' const { coordinate: { leftTop: [left, top] } } = this.curPosition const prePageHeight = this.draw.getPageNo() * (height + pageGap) diff --git a/src/editor/core/draw/particle/PageBreak.ts b/src/editor/core/draw/particle/PageBreak.ts index ab69e86..ab57032 100644 --- a/src/editor/core/draw/particle/PageBreak.ts +++ b/src/editor/core/draw/particle/PageBreak.ts @@ -1,6 +1,6 @@ -import { IEditorOption } from "../../../interface/Editor" -import { IRowElement } from "../../../interface/Row" -import { Draw } from "../Draw" +import { IEditorOption } from '../../../interface/Editor' +import { IRowElement } from '../../../interface/Row' +import { Draw } from '../Draw' export class PageBreakParticle { diff --git a/src/editor/core/draw/particle/Separator.ts b/src/editor/core/draw/particle/Separator.ts index 892a965..1dc4ffc 100644 --- a/src/editor/core/draw/particle/Separator.ts +++ b/src/editor/core/draw/particle/Separator.ts @@ -1,4 +1,4 @@ -import { IRowElement } from "../../../interface/Row" +import { IRowElement } from '../../../interface/Row' export class SeparatorParticle { public render(ctx: CanvasRenderingContext2D, element: IRowElement, x: number, y: number) { diff --git a/src/editor/core/draw/particle/Subscript.ts b/src/editor/core/draw/particle/Subscript.ts index 6525639..d94f9ee 100644 --- a/src/editor/core/draw/particle/Subscript.ts +++ b/src/editor/core/draw/particle/Subscript.ts @@ -1,4 +1,4 @@ -import { IRowElement } from "../../../interface/Row" +import { IRowElement } from '../../../interface/Row' export class SubscriptParticle { diff --git a/src/editor/core/draw/particle/Superscript.ts b/src/editor/core/draw/particle/Superscript.ts index 17fd710..34f1bd1 100644 --- a/src/editor/core/draw/particle/Superscript.ts +++ b/src/editor/core/draw/particle/Superscript.ts @@ -1,4 +1,4 @@ -import { IRowElement } from "../../../interface/Row" +import { IRowElement } from '../../../interface/Row' export class SuperscriptParticle { diff --git a/src/editor/core/draw/particle/TextParticle.ts b/src/editor/core/draw/particle/TextParticle.ts index ad12d44..99e0066 100644 --- a/src/editor/core/draw/particle/TextParticle.ts +++ b/src/editor/core/draw/particle/TextParticle.ts @@ -1,6 +1,6 @@ -import { IElement } from "../../.." -import { IRowElement } from "../../../interface/Row" -import { Draw } from "../Draw" +import { IElement } from '../../..' +import { IRowElement } from '../../../interface/Row' +import { Draw } from '../Draw' export class TextParticle { diff --git a/src/editor/core/draw/particle/table/TableParticle.ts b/src/editor/core/draw/particle/table/TableParticle.ts index 79fa6ec..657d91b 100644 --- a/src/editor/core/draw/particle/table/TableParticle.ts +++ b/src/editor/core/draw/particle/table/TableParticle.ts @@ -1,7 +1,7 @@ -import { ElementType, IElement } from "../../../.." -import { IEditorOption } from "../../../../interface/Editor" -import { RangeManager } from "../../../range/RangeManager" -import { Draw } from "../../Draw" +import { ElementType, IElement } from '../../../..' +import { IEditorOption } from '../../../../interface/Editor' +import { RangeManager } from '../../../range/RangeManager' +import { Draw } from '../../Draw' export class TableParticle { diff --git a/src/editor/core/draw/particle/table/TableTool.ts b/src/editor/core/draw/particle/table/TableTool.ts index 2b1239a..8c45140 100644 --- a/src/editor/core/draw/particle/table/TableTool.ts +++ b/src/editor/core/draw/particle/table/TableTool.ts @@ -1,9 +1,9 @@ -import { IElement } from "../../../.." -import { TableOrder } from "../../../../dataset/enum/table/TableTool" -import { IEditorOption } from "../../../../interface/Editor" -import { IElementPosition } from "../../../../interface/Element" -import { Position } from "../../../position/Position" -import { Draw } from "../../Draw" +import { IElement } from '../../../..' +import { TableOrder } from '../../../../dataset/enum/table/TableTool' +import { IEditorOption } from '../../../../interface/Editor' +import { IElementPosition } from '../../../../interface/Element' +import { Position } from '../../../position/Position' +import { Draw } from '../../Draw' interface IAnchorMouseDown { evt: MouseEvent; @@ -188,7 +188,7 @@ export class TableTool { const innerWidth = this.draw.getInnerWidth() const curColWidth = colgroup[index].width // 最小移动距离计算 - let moveColWidth = curColWidth + dx + const moveColWidth = curColWidth + dx if (moveColWidth < this.minTdWidth) { dx = this.minTdWidth - curColWidth } diff --git a/src/editor/core/draw/richtext/Highlight.ts b/src/editor/core/draw/richtext/Highlight.ts index c934d58..e95ea87 100644 --- a/src/editor/core/draw/richtext/Highlight.ts +++ b/src/editor/core/draw/richtext/Highlight.ts @@ -1,5 +1,5 @@ -import { IEditorOption } from "../../../interface/Editor" -import { Draw } from "../Draw" +import { IEditorOption } from '../../../interface/Editor' +import { Draw } from '../Draw' export class Highlight { diff --git a/src/editor/core/draw/richtext/Strikeout.ts b/src/editor/core/draw/richtext/Strikeout.ts index 91b1cb5..21b4850 100644 --- a/src/editor/core/draw/richtext/Strikeout.ts +++ b/src/editor/core/draw/richtext/Strikeout.ts @@ -1,5 +1,5 @@ -import { IEditorOption } from "../../../interface/Editor" -import { Draw } from "../Draw" +import { IEditorOption } from '../../../interface/Editor' +import { Draw } from '../Draw' export class Strikeout { diff --git a/src/editor/core/draw/richtext/Underline.ts b/src/editor/core/draw/richtext/Underline.ts index 7b25d2b..4ccca11 100644 --- a/src/editor/core/draw/richtext/Underline.ts +++ b/src/editor/core/draw/richtext/Underline.ts @@ -1,5 +1,5 @@ -import { IEditorOption } from "../../../interface/Editor" -import { Draw } from "../Draw" +import { IEditorOption } from '../../../interface/Editor' +import { Draw } from '../Draw' export class Underline { diff --git a/src/editor/core/event/CanvasEvent.ts b/src/editor/core/event/CanvasEvent.ts index c64343d..dbe45a6 100644 --- a/src/editor/core/event/CanvasEvent.ts +++ b/src/editor/core/event/CanvasEvent.ts @@ -1,25 +1,25 @@ -import { version } from "../../../../package.json" -import { ElementType } from "../.." -import { ZERO } from "../../dataset/constant/Common" -import { EDITOR_ELEMENT_COPY_ATTR } from "../../dataset/constant/Element" -import { ElementStyleKey } from "../../dataset/enum/ElementStyle" -import { MouseEventButton } from "../../dataset/enum/Event" -import { KeyMap } from "../../dataset/enum/Keymap" -import { IEditorResult } from "../../interface/Editor" -import { IElement } from "../../interface/Element" -import { ICurrentPosition } from "../../interface/Position" -import { writeTextByElementList } from "../../utils/clipboard" -import { zipElementList } from "../../utils/element" -import { Cursor } from "../cursor/Cursor" -import { Draw } from "../draw/Draw" -import { HyperlinkParticle } from "../draw/particle/HyperlinkParticle" -import { ImageParticle } from "../draw/particle/ImageParticle" -import { TableTool } from "../draw/particle/table/TableTool" -import { HistoryManager } from "../history/HistoryManager" -import { Listener } from "../listener/Listener" -import { Position } from "../position/Position" -import { RangeManager } from "../range/RangeManager" -import { LETTER_REG, NUMBER_LIKE_REG } from "../../dataset/constant/Regular" +import { version } from '../../../../package.json' +import { ElementType } from '../..' +import { ZERO } from '../../dataset/constant/Common' +import { EDITOR_ELEMENT_COPY_ATTR } from '../../dataset/constant/Element' +import { ElementStyleKey } from '../../dataset/enum/ElementStyle' +import { MouseEventButton } from '../../dataset/enum/Event' +import { KeyMap } from '../../dataset/enum/Keymap' +import { IEditorResult } from '../../interface/Editor' +import { IElement } from '../../interface/Element' +import { ICurrentPosition } from '../../interface/Position' +import { writeTextByElementList } from '../../utils/clipboard' +import { zipElementList } from '../../utils/element' +import { Cursor } from '../cursor/Cursor' +import { Draw } from '../draw/Draw' +import { HyperlinkParticle } from '../draw/particle/HyperlinkParticle' +import { ImageParticle } from '../draw/particle/ImageParticle' +import { TableTool } from '../draw/particle/table/TableTool' +import { HistoryManager } from '../history/HistoryManager' +import { Listener } from '../listener/Listener' +import { Position } from '../position/Position' +import { RangeManager } from '../range/RangeManager' +import { LETTER_REG, NUMBER_LIKE_REG } from '../../dataset/constant/Regular' export class CanvasEvent { @@ -119,7 +119,7 @@ export class CanvasEvent { tdIndex: startTdIndex, trIndex: startTrIndex } = this.mouseDownStartPosition - let endIndex = isTable ? tdValueIndex! : index + const endIndex = isTable ? tdValueIndex! : index // 判断是否是表格跨行/列 if (isTable && startIsTable && (tdIndex !== startTdIndex || trIndex !== startTrIndex)) { this.range.setRange( diff --git a/src/editor/core/event/GlobalEvent.ts b/src/editor/core/event/GlobalEvent.ts index a5d1f8a..4044156 100644 --- a/src/editor/core/event/GlobalEvent.ts +++ b/src/editor/core/event/GlobalEvent.ts @@ -1,13 +1,13 @@ -import { EDITOR_COMPONENT } from "../../dataset/constant/Editor" -import { IEditorOption } from "../../interface/Editor" -import { findParent } from "../../utils" -import { Cursor } from "../cursor/Cursor" -import { Draw } from "../draw/Draw" -import { HyperlinkParticle } from "../draw/particle/HyperlinkParticle" -import { ImageParticle } from "../draw/particle/ImageParticle" -import { TableTool } from "../draw/particle/table/TableTool" -import { RangeManager } from "../range/RangeManager" -import { CanvasEvent } from "./CanvasEvent" +import { EDITOR_COMPONENT } from '../../dataset/constant/Editor' +import { IEditorOption } from '../../interface/Editor' +import { findParent } from '../../utils' +import { Cursor } from '../cursor/Cursor' +import { Draw } from '../draw/Draw' +import { HyperlinkParticle } from '../draw/particle/HyperlinkParticle' +import { ImageParticle } from '../draw/particle/ImageParticle' +import { TableTool } from '../draw/particle/table/TableTool' +import { RangeManager } from '../range/RangeManager' +import { CanvasEvent } from './CanvasEvent' export class GlobalEvent { diff --git a/src/editor/core/listener/Listener.ts b/src/editor/core/listener/Listener.ts index 19b2c15..27a5adc 100644 --- a/src/editor/core/listener/Listener.ts +++ b/src/editor/core/listener/Listener.ts @@ -6,7 +6,7 @@ import { IRangeStyleChange, ISaved, IVisiblePageNoListChange -} from "../../interface/Listener" +} from '../../interface/Listener' export class Listener { diff --git a/src/editor/core/observer/GlobalObserver.ts b/src/editor/core/observer/GlobalObserver.ts index 185b4eb..f3a550b 100644 --- a/src/editor/core/observer/GlobalObserver.ts +++ b/src/editor/core/observer/GlobalObserver.ts @@ -1,6 +1,6 @@ -import { IEditorOption } from "../../interface/Editor" -import { debounce } from "../../utils" -import { Draw } from "../draw/Draw" +import { IEditorOption } from '../../interface/Editor' +import { debounce } from '../../utils' +import { Draw } from '../draw/Draw' export class GlobalObserver { @@ -30,9 +30,9 @@ export class GlobalObserver { const bottom = top + window.innerHeight const pageList = this.draw.getPageList() // 计算显示页 - let visiblePageNoList: number[] = [] - let intersectionPageNo: number = 0 - let intersectionMaxHeight: number = 0 + const visiblePageNoList: number[] = [] + let intersectionPageNo = 0 + let intersectionMaxHeight = 0 for (let i = 0; i < pageList.length; i++) { const curTop = i * this.pageHeight const curBottom = (i + 1) * this.pageHeight diff --git a/src/editor/core/position/Position.ts b/src/editor/core/position/Position.ts index 3d51906..281bceb 100644 --- a/src/editor/core/position/Position.ts +++ b/src/editor/core/position/Position.ts @@ -1,9 +1,9 @@ -import { ElementType } from "../.." -import { ZERO } from "../../dataset/constant/Common" -import { IEditorOption } from "../../interface/Editor" -import { IElementPosition } from "../../interface/Element" -import { ICurrentPosition, IGetPositionByXYPayload, IPositionContext } from "../../interface/Position" -import { Draw } from "../draw/Draw" +import { ElementType } from '../..' +import { ZERO } from '../../dataset/constant/Common' +import { IEditorOption } from '../../interface/Editor' +import { IElementPosition } from '../../interface/Element' +import { ICurrentPosition, IGetPositionByXYPayload, IPositionContext } from '../../interface/Position' +import { Draw } from '../draw/Draw' export class Position { diff --git a/src/editor/core/range/RangeManager.ts b/src/editor/core/range/RangeManager.ts index 80a068b..4366aa3 100644 --- a/src/editor/core/range/RangeManager.ts +++ b/src/editor/core/range/RangeManager.ts @@ -1,10 +1,10 @@ -import { ElementType } from "../.." -import { IEditorOption } from "../../interface/Editor" -import { IElement } from "../../interface/Element" -import { IRange } from "../../interface/Range" -import { Draw } from "../draw/Draw" -import { HistoryManager } from "../history/HistoryManager" -import { Listener } from "../listener/Listener" +import { ElementType } from '../..' +import { IEditorOption } from '../../interface/Editor' +import { IElement } from '../../interface/Element' +import { IRange } from '../../interface/Range' +import { Draw } from '../draw/Draw' +import { HistoryManager } from '../history/HistoryManager' +import { Listener } from '../listener/Listener' export class RangeManager { @@ -70,10 +70,10 @@ export class RangeManager { const type = curElement.type || ElementType.TEXT // 富文本 const font = curElement.font || this.options.defaultFont - let bold = !~curElementList.findIndex(el => !el.bold) - let italic = !~curElementList.findIndex(el => !el.italic) - let underline = !~curElementList.findIndex(el => !el.underline) - let strikeout = !~curElementList.findIndex(el => !el.strikeout) + const bold = !~curElementList.findIndex(el => !el.bold) + const italic = !~curElementList.findIndex(el => !el.italic) + const underline = !~curElementList.findIndex(el => !el.underline) + const strikeout = !~curElementList.findIndex(el => !el.strikeout) const color = curElement.color || null const highlight = curElement.highlight || null const rowFlex = curElement.rowFlex || null diff --git a/src/editor/core/register/Register.ts b/src/editor/core/register/Register.ts index 3a5e4b7..39788c2 100644 --- a/src/editor/core/register/Register.ts +++ b/src/editor/core/register/Register.ts @@ -1,5 +1,5 @@ -import { IRegisterContextMenu } from "../../interface/contextmenu/ContextMenu" -import { ContextMenu } from "../contextmenu/ContextMenu" +import { IRegisterContextMenu } from '../../interface/contextmenu/ContextMenu' +import { ContextMenu } from '../contextmenu/ContextMenu' interface IRegisterPayload { contextMenu: ContextMenu diff --git a/src/editor/dataset/constant/Element.ts b/src/editor/dataset/constant/Element.ts index 5a3d469..38c598c 100644 --- a/src/editor/dataset/constant/Element.ts +++ b/src/editor/dataset/constant/Element.ts @@ -1,5 +1,5 @@ -import { ElementType } from "../enum/Element" -import { IElement } from "../../interface/Element" +import { ElementType } from '../enum/Element' +import { IElement } from '../../interface/Element' export const EDITOR_ELEMENT_STYLE_ATTR = [ 'bold', diff --git a/src/editor/dataset/constant/Header.ts b/src/editor/dataset/constant/Header.ts index c946dc8..6923088 100644 --- a/src/editor/dataset/constant/Header.ts +++ b/src/editor/dataset/constant/Header.ts @@ -1,4 +1,4 @@ -import { IHeader } from "../../interface/Header" +import { IHeader } from '../../interface/Header' export const defaultHeaderOption: Readonly> = { data: '', diff --git a/src/editor/dataset/constant/Watermark.ts b/src/editor/dataset/constant/Watermark.ts index a905c15..1152fc5 100644 --- a/src/editor/dataset/constant/Watermark.ts +++ b/src/editor/dataset/constant/Watermark.ts @@ -1,4 +1,4 @@ -import { IWatermark } from "../../interface/Watermark" +import { IWatermark } from '../../interface/Watermark' export const defaultWatermarkOption: Readonly> = { data: '', diff --git a/src/editor/dataset/enum/Keymap.ts b/src/editor/dataset/enum/Keymap.ts index c79957a..5809e4b 100644 --- a/src/editor/dataset/enum/Keymap.ts +++ b/src/editor/dataset/enum/Keymap.ts @@ -1,15 +1,15 @@ export enum KeyMap { Delete = 'Delete', Backspace = 'Backspace', - Enter = "Enter", - Left = "ArrowLeft", - Right = "ArrowRight", - Up = "ArrowUp", - Down = "ArrowDown", - A = "a", - C = "c", - S = "s", - X = "x", - Y = "y", - Z = "z" + Enter = 'Enter', + Left = 'ArrowLeft', + Right = 'ArrowRight', + Up = 'ArrowUp', + Down = 'ArrowDown', + A = 'a', + C = 'c', + S = 's', + X = 'x', + Y = 'y', + Z = 'z' } \ No newline at end of file diff --git a/src/editor/interface/Draw.ts b/src/editor/interface/Draw.ts index 4ca27e8..25e7dc0 100644 --- a/src/editor/interface/Draw.ts +++ b/src/editor/interface/Draw.ts @@ -1,5 +1,5 @@ -import { IElementPosition } from "./Element" -import { IRow } from "./Row" +import { IElementPosition } from './Element' +import { IRow } from './Row' export interface IDrawOption { curIndex?: number; diff --git a/src/editor/interface/Editor.ts b/src/editor/interface/Editor.ts index 0e0337c..db221d5 100644 --- a/src/editor/interface/Editor.ts +++ b/src/editor/interface/Editor.ts @@ -1,7 +1,7 @@ -import { IElement } from ".." -import { EditorMode } from "../dataset/enum/Editor" -import { IHeader } from "./Header" -import { IWatermark } from "./Watermark" +import { IElement } from '..' +import { EditorMode } from '../dataset/enum/Editor' +import { IHeader } from './Header' +import { IWatermark } from './Watermark' export interface IEditorOption { defaultMode?: EditorMode; diff --git a/src/editor/interface/Element.ts b/src/editor/interface/Element.ts index cc8a598..7a6405c 100644 --- a/src/editor/interface/Element.ts +++ b/src/editor/interface/Element.ts @@ -1,7 +1,7 @@ -import { ElementType } from "../dataset/enum/Element" -import { RowFlex } from "../dataset/enum/Row" -import { IColgroup } from "./table/Colgroup" -import { ITr } from "./table/Tr" +import { ElementType } from '../dataset/enum/Element' +import { RowFlex } from '../dataset/enum/Row' +import { IColgroup } from './table/Colgroup' +import { ITr } from './table/Tr' export interface IElementBasic { id?: string; diff --git a/src/editor/interface/Listener.ts b/src/editor/interface/Listener.ts index e1d51b9..7bed754 100644 --- a/src/editor/interface/Listener.ts +++ b/src/editor/interface/Listener.ts @@ -1,6 +1,6 @@ -import { ElementType } from ".." -import { RowFlex } from "../dataset/enum/Row" -import { IEditorResult } from "./Editor" +import { ElementType } from '..' +import { RowFlex } from '../dataset/enum/Row' +import { IEditorResult } from './Editor' export interface IRangeStyle { type: ElementType | null; diff --git a/src/editor/interface/Position.ts b/src/editor/interface/Position.ts index 69c4dd4..2461ce4 100644 --- a/src/editor/interface/Position.ts +++ b/src/editor/interface/Position.ts @@ -1,6 +1,6 @@ -import { IElement } from ".." -import { IElementPosition } from "./Element" -import { ITd } from "./table/Td" +import { IElement } from '..' +import { IElementPosition } from './Element' +import { ITd } from './table/Td' export interface ICurrentPosition { index: number; diff --git a/src/editor/interface/Row.ts b/src/editor/interface/Row.ts index fd5200d..c2ea7c6 100644 --- a/src/editor/interface/Row.ts +++ b/src/editor/interface/Row.ts @@ -1,5 +1,5 @@ -import { RowFlex } from "../dataset/enum/Row" -import { IElement, IElementMetrics } from "./Element" +import { RowFlex } from '../dataset/enum/Row' +import { IElement, IElementMetrics } from './Element' export type IRowElement = IElement & { metrics: IElementMetrics; diff --git a/src/editor/interface/Search.ts b/src/editor/interface/Search.ts index a4bf821..e8e5d7e 100644 --- a/src/editor/interface/Search.ts +++ b/src/editor/interface/Search.ts @@ -1,4 +1,4 @@ -import { EditorContext } from "../dataset/enum/Editor" +import { EditorContext } from '../dataset/enum/Editor' export interface ISearchResultBasic { type: EditorContext; diff --git a/src/editor/interface/table/Td.ts b/src/editor/interface/table/Td.ts index 1e13a2c..57f3d90 100644 --- a/src/editor/interface/table/Td.ts +++ b/src/editor/interface/table/Td.ts @@ -1,5 +1,5 @@ -import { IElement, IElementPosition } from "../Element" -import { IRow } from "../Row" +import { IElement, IElementPosition } from '../Element' +import { IRow } from '../Row' export interface ITd { id?: string; diff --git a/src/editor/interface/table/Tr.ts b/src/editor/interface/table/Tr.ts index d530335..06925c1 100644 --- a/src/editor/interface/table/Tr.ts +++ b/src/editor/interface/table/Tr.ts @@ -1,4 +1,4 @@ -import { ITd } from "./Td" +import { ITd } from './Td' export interface ITr { id?: string; diff --git a/src/editor/utils/clipboard.ts b/src/editor/utils/clipboard.ts index e074888..9b4b815 100644 --- a/src/editor/utils/clipboard.ts +++ b/src/editor/utils/clipboard.ts @@ -1,7 +1,7 @@ -import { IElement } from ".." -import { HORIZON_TAB, WRAP, ZERO } from "../dataset/constant/Common" -import { TEXTLIKE_ELEMENT_TYPE } from "../dataset/constant/Element" -import { ElementType } from "../dataset/enum/Element" +import { IElement } from '..' +import { HORIZON_TAB, WRAP, ZERO } from '../dataset/constant/Common' +import { TEXTLIKE_ELEMENT_TYPE } from '../dataset/constant/Element' +import { ElementType } from '../dataset/enum/Element' export function writeText(text: string) { if (!text) return @@ -9,7 +9,7 @@ export function writeText(text: string) { } export function writeTextByElementList(elementList: IElement[]) { - let text: string = `` + let text = `` function pickTextFromElement(payload: IElement[]) { for (let e = 0; e < payload.length; e++) { const element = payload[e] diff --git a/src/editor/utils/element.ts b/src/editor/utils/element.ts index 1d28d37..5c7ee4b 100644 --- a/src/editor/utils/element.ts +++ b/src/editor/utils/element.ts @@ -1,7 +1,7 @@ -import { deepClone, getUUID } from "." -import { ElementType, IElement } from ".." -import { ZERO } from "../dataset/constant/Common" -import { EDITOR_ELEMENT_ZIP_ATTR } from "../dataset/constant/Element" +import { deepClone, getUUID } from '.' +import { ElementType, IElement } from '..' +import { ZERO } from '../dataset/constant/Common' +import { EDITOR_ELEMENT_ZIP_ATTR } from '../dataset/constant/Element' export function formatElementList(elementList: IElement[], isHandleFirstElement = true) { if (isHandleFirstElement && elementList[0]?.value !== ZERO) { diff --git a/src/editor/utils/index.ts b/src/editor/utils/index.ts index 19fde61..18578ae 100644 --- a/src/editor/utils/index.ts +++ b/src/editor/utils/index.ts @@ -50,5 +50,5 @@ export function getUUID(): string { function S4(): string { return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1) } - return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4()) + return (S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4()) } \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index 8a0a40a..f9be69a 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,6 +1,6 @@ import { data, options } from './mock' import './style.css' -import prism from "prismjs" +import prism from 'prismjs' import Editor, { EditorMode, ElementType, IElement } from './editor' import { Dialog } from './components/dialog/Dialog' import { formatPrismToken } from './utils/prism' @@ -230,7 +230,7 @@ window.onload = function () { imageFileDom.click() } imageFileDom.onchange = function () { - const file = imageFileDom.files?.[0]! + const file = imageFileDom.files![0]! const fileReader = new FileReader() fileReader.readAsDataURL(file) fileReader.onload = function () { diff --git a/src/mock.ts b/src/mock.ts index 3a140d2..bf929f3 100644 --- a/src/mock.ts +++ b/src/mock.ts @@ -1,4 +1,4 @@ -import { ElementType, IEditorOption, IElement, RowFlex } from "./editor" +import { ElementType, IEditorOption, IElement, RowFlex } from './editor' const text = `人民医院门诊病历\n主诉:\n发热三天,咳嗽五天。\n现病史:\n患者于三天前无明显诱因,感冒后发现面部水肿,无皮疹,尿量减少,出现乏力,在外治疗无好转,现来我院就诊。\n既往史:\n有糖尿病10年,有高血压2年,有传染性疾病1年。没有报告其他既往疾病。\n流行病史:\n否认14天内接触过确诊患者、疑似患者、无症状感染者及其密切接触者;否认14天内去过以下场所:水产、肉类批发市场,农贸市场,集市,大型超市,夜市;否认14天内与以下场所工作人员密切接触:水产、肉类批发市场,农贸市场,集市,大型超市;否认14天内周围(如家庭、办公室)有2例以上聚集性发病;否认14天内接触过有发热或呼吸道症状的人员;否认14天内自身有发热或呼吸道症状;否认14天内接触过纳入隔离观察的人员及其他可能与新冠肺炎关联的情形;陪同家属{有无选择代码}有以上情况。\n体格检查:\nT:39.5℃,P:80bpm,R:20次/分,BP:120/80mmHg;\n辅助检查:\n2020年6月10日,普放:血细胞比容36.50%(偏低)40~50;单核细胞绝对值0.75*10/L(偏高)参考值:0.1~0.6;\n门诊诊断:\n1.高血压\n2.糖尿病\n3.病毒性感冒\n4.过敏性鼻炎\n5.过敏性鼻息肉\n处置治疗:\n1.超声引导下甲状腺细针穿刺术;\n2.乙型肝炎表面抗体测定;\n3.膜式病变细胞采集术、后颈皮下肤层;\n电子签名:【】\n其他记录:` diff --git a/src/utils/prism.ts b/src/utils/prism.ts index 789cca3..e3cc87b 100644 --- a/src/utils/prism.ts +++ b/src/utils/prism.ts @@ -7,48 +7,48 @@ interface IPrismKindStyle { export function getPrismKindStyle(payload: string): IPrismKindStyle | null { switch (payload) { - case "comment": - case "prolog": - case "doctype": - case "cdata": - return { color: "#008000", italic: true } - case "namespace": + case 'comment': + case 'prolog': + case 'doctype': + case 'cdata': + return { color: '#008000', italic: true } + case 'namespace': return { opacity: 0.7 } - case "string": - return { color: "#A31515" } - case "punctuation": - case "operator": - return { color: "#393A34" } - case "url": - case "symbol": - case "number": - case "boolean": - case "variable": - case "constant": - case "inserted": - return { color: "#36acaa" } - case "atrule": - case "keyword": - case "attr-value": - return { color: "#0000ff" } - case "function": - return { color: "#b9a40a" } - case "deleted": - case "tag": - return { color: "#9a050f" } - case "selector": - return { color: "#00009f" } - case "important": - return { color: "#e90", bold: true } - case "italic": + case 'string': + return { color: '#A31515' } + case 'punctuation': + case 'operator': + return { color: '#393A34' } + case 'url': + case 'symbol': + case 'number': + case 'boolean': + case 'variable': + case 'constant': + case 'inserted': + return { color: '#36acaa' } + case 'atrule': + case 'keyword': + case 'attr-value': + return { color: '#0000ff' } + case 'function': + return { color: '#b9a40a' } + case 'deleted': + case 'tag': + return { color: '#9a050f' } + case 'selector': + return { color: '#00009f' } + case 'important': + return { color: '#e90', bold: true } + case 'italic': return { italic: true } - case "class-name": - case "property": - return { color: "#2B91AF" } - case "attr-name": - case "regex": - case "entity": - return { color: "#ff0000" } + case 'class-name': + case 'property': + return { color: '#2B91AF' } + case 'attr-name': + case 'regex': + case 'entity': + return { color: '#ff0000' } default: return null } diff --git a/yarn.lock b/yarn.lock index cddcca7..2a352e4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,27 @@ # yarn lockfile v1 +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/helper-validator-identifier@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" + integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== + +"@babel/highlight@^7.10.4": + version "7.16.10" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" + integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + chalk "^2.0.0" + js-tokens "^4.0.0" + "@cypress/request@^2.88.10": version "2.88.10" resolved "https://registry.yarnpkg.com/@cypress/request/-/request-2.88.10.tgz#b66d76b07f860d3a4b8d7a0604d020c662752cce" @@ -34,6 +55,61 @@ debug "^3.1.0" lodash.once "^4.1.1" +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@types/json-schema@^7.0.7": + version "7.0.10" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.10.tgz#9b05b7896166cd00e9cbd59864853abf65d9ac23" + integrity sha512-BLO9bBq59vW3fxCpD4o0N4U+DXsvwvIcl+jofw0frQo/GrBFC+/jRZj1E7kgp6dvTyNmA4y6JCV5Id/r3mNP5A== + "@types/node@*": version "17.0.21" resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.21.tgz#864b987c0c68d07b4345845c3e63b75edd143644" @@ -71,6 +147,86 @@ dependencies: "@types/node" "*" +"@typescript-eslint/eslint-plugin@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" + integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== + dependencies: + "@typescript-eslint/experimental-utils" "4.33.0" + "@typescript-eslint/scope-manager" "4.33.0" + debug "^4.3.1" + functional-red-black-tree "^1.0.1" + ignore "^5.1.8" + regexpp "^3.1.0" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/experimental-utils@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" + integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== + dependencies: + "@types/json-schema" "^7.0.7" + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + +"@typescript-eslint/parser@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" + integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== + dependencies: + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + debug "^4.3.1" + +"@typescript-eslint/scope-manager@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" + integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + +"@typescript-eslint/types@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" + integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== + +"@typescript-eslint/typescript-estree@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" + integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + debug "^4.3.1" + globby "^11.0.3" + is-glob "^4.0.1" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/visitor-keys@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" + integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== + dependencies: + "@typescript-eslint/types" "4.33.0" + eslint-visitor-keys "^2.0.0" + +acorn-jsx@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + aggregate-error@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" @@ -79,6 +235,26 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" +ajv@^6.10.0, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.1: + version "8.10.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.10.0.tgz#e573f719bd3af069017e3b66538ab968d040e54d" + integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + ansi-colors@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" @@ -96,6 +272,13 @@ ansi-regex@^5.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" @@ -108,6 +291,18 @@ arch@^2.2.0: resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + asn1@~0.2.3: version "0.2.6" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" @@ -185,6 +380,13 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" +braces@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" @@ -203,12 +405,26 @@ cachedir@^2.3.0: resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.3.0.tgz#0c75892a052198f0b21c7c1804d8331edfcae0e8" integrity sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw== +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -chalk@^4.1.0: +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0, chalk@^4.1.0: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -255,6 +471,13 @@ cli-truncate@^2.1.0: slice-ansi "^3.0.0" string-width "^4.2.0" +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + color-convert@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" @@ -262,6 +485,11 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" @@ -304,7 +532,7 @@ core-util-is@1.0.2: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= -cross-spawn@^7.0.0: +cross-spawn@^7.0.0, cross-spawn@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -385,6 +613,13 @@ debug@^3.1.0: dependencies: ms "^2.1.1" +debug@^4.0.1, debug@^4.3.1: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + debug@^4.1.1, debug@^4.3.2: version "4.3.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" @@ -392,11 +627,30 @@ debug@^4.1.1, debug@^4.3.2: dependencies: ms "2.1.2" +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" @@ -417,7 +671,7 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enquirer@^2.3.6: +enquirer@^2.3.5, enquirer@^2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== @@ -537,6 +791,132 @@ escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint@7.32.0: + version "7.32.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + eventemitter2@^6.4.3: version "6.4.5" resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.5.tgz#97380f758ae24ac15df8353e0cc27f8b95644655" @@ -590,6 +970,39 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.2.9: + version "3.2.11" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" + integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fastq@^1.6.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" + integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + dependencies: + reusify "^1.0.4" + fd-slicer@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" @@ -604,6 +1017,33 @@ figures@^3.2.0: dependencies: escape-string-regexp "^1.0.5" +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.2.5" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" + integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== + forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" @@ -643,6 +1083,11 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + get-stream@^5.0.0, get-stream@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" @@ -664,6 +1109,13 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" +glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + glob@^7.1.3: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" @@ -683,11 +1135,35 @@ global-dirs@^3.0.0: dependencies: ini "2.0.0" +globals@^13.6.0, globals@^13.9.0: + version "13.13.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.13.0.tgz#ac32261060d8070e2719dd6998406e27d2b5727b" + integrity sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A== + dependencies: + type-fest "^0.20.2" + +globby@^11.0.3: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + graceful-fs@^4.1.6, graceful-fs@^4.2.0: version "4.2.9" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" @@ -719,6 +1195,29 @@ ieee754@^1.1.13: resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.8, ignore@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" + integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + indent-string@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" @@ -756,11 +1255,23 @@ is-core-module@^2.2.0: dependencies: has "^1.0.3" +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== +is-glob@^4.0.0, is-glob@^4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + is-installed-globally@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" @@ -769,6 +1280,11 @@ is-installed-globally@~0.4.0: global-dirs "^3.0.0" is-path-inside "^3.0.2" +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + is-path-inside@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" @@ -799,16 +1315,44 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + json-schema@0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" @@ -838,6 +1382,14 @@ lazy-ass@^1.6.0: resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" integrity sha1-eZllXoZGwX8In90YfRUNMyTVRRM= +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + listr2@^3.8.3: version "3.14.0" resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" @@ -852,11 +1404,21 @@ listr2@^3.8.3: through "^2.3.8" wrap-ansi "^7.0.0" +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + lodash.once@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= + lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" @@ -892,6 +1454,19 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + mime-db@1.51.0: version "1.51.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" @@ -936,6 +1511,11 @@ nanoid@^3.1.30: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362" integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ== +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + npm-run-path@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" @@ -957,6 +1537,18 @@ onetime@^5.1.0: dependencies: mimic-fn "^2.1.0" +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + 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" + ospath@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" @@ -969,6 +1561,13 @@ p-map@^4.0.0: dependencies: aggregate-error "^3.0.0" +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -984,6 +1583,11 @@ path-parse@^1.0.6: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" @@ -999,6 +1603,11 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== +picomatch@^2.2.3: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + pify@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -1013,6 +1622,11 @@ postcss@^8.3.8: picocolors "^1.0.0" source-map-js "^0.6.2" +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + pretty-bytes@^5.6.0: version "5.6.0" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" @@ -1023,6 +1637,11 @@ prismjs@^1.27.0: resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.27.0.tgz#bb6ee3138a0b438a3653dd4d6ce0cc6510a45057" integrity sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA== +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + proxy-from-env@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" @@ -1041,7 +1660,7 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -punycode@^2.1.1: +punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== @@ -1051,6 +1670,16 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +regexpp@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + request-progress@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe" @@ -1058,6 +1687,16 @@ request-progress@^3.0.0: dependencies: throttleit "^1.0.0" +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + resolve@^1.20.0: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" @@ -1074,12 +1713,17 @@ restore-cursor@^3.1.0: onetime "^5.1.0" signal-exit "^3.0.2" +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + rfdc@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== -rimraf@^3.0.0: +rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== @@ -1093,6 +1737,13 @@ rollup@^2.57.0: optionalDependencies: fsevents "~2.3.2" +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + rxjs@^7.5.1: version "7.5.5" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" @@ -1110,7 +1761,7 @@ safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -semver@^7.3.2: +semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== @@ -1134,6 +1785,11 @@ signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + slice-ansi@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" @@ -1157,6 +1813,11 @@ source-map-js@^0.6.2: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + sshpk@^1.14.1: version "1.17.0" resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" @@ -1172,7 +1833,7 @@ sshpk@^1.14.1: safer-buffer "^2.0.2" tweetnacl "~0.14.0" -string-width@^4.1.0, string-width@^4.2.0: +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -1193,6 +1854,18 @@ strip-final-newline@^2.0.0: resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" @@ -1207,6 +1880,22 @@ supports-color@^8.1.1: dependencies: has-flag "^4.0.0" +table@^6.0.9: + version "6.8.0" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" + integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + throttleit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c" @@ -1224,6 +1913,13 @@ tmp@~0.2.1: dependencies: rimraf "^3.0.0" +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + tough-cookie@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" @@ -1232,11 +1928,23 @@ tough-cookie@~2.5.0: psl "^1.1.28" punycode "^2.1.1" +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + tslib@^2.1.0: version "2.3.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -1249,6 +1957,18 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + type-fest@^0.21.3: version "0.21.3" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" @@ -1269,11 +1989,23 @@ untildify@^4.0.0: resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== +v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + verror@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" @@ -1302,6 +2034,11 @@ which@^2.0.1: dependencies: isexe "^2.0.0" +word-wrap@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + wrap-ansi@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"