From ecd4ae9652a9e819bc2a02f2f735d5b5bde9bc71 Mon Sep 17 00:00:00 2001 From: Hufe921 Date: Wed, 29 Nov 2023 20:07:59 +0800 Subject: [PATCH] chore: upgrade cypress version --- cypress.config.ts | 10 + cypress.json | 5 - .../control/checkbox.cy.ts} | 37 +-- .../control/select.cy.ts} | 37 +-- .../text.spec.ts => e2e/control/text.cy.ts} | 20 +- .../editor.spec.ts => e2e/editor.cy.ts} | 12 +- .../block.spec.ts => e2e/menus/block.cy.ts} | 2 - .../menus/checkbox.cy.ts} | 16 +- .../menus/codeblock.cy.ts} | 2 - .../date.spec.ts => e2e/menus/date.cy.ts} | 2 - .../format.spec.ts => e2e/menus/format.cy.ts} | 14 +- .../menus/hyperlink.cy.ts} | 2 - .../image.spec.ts => e2e/menus/image.cy.ts} | 2 - .../latex.spec.ts => e2e/menus/latex.cy.ts} | 2 - .../menus/pagebreak.cy.ts} | 4 - .../menus/painter.cy.ts} | 22 +- .../print.spec.ts => e2e/menus/print.cy.ts} | 4 - .../menus/row.spec.ts => e2e/menus/row.cy.ts} | 34 +-- .../search.spec.ts => e2e/menus/search.cy.ts} | 16 +- .../menus/separator.cy.ts} | 2 - .../table.spec.ts => e2e/menus/table.cy.ts} | 2 - .../text.spec.ts => e2e/menus/text.cy.ts} | 108 ++++---- .../title.spec.ts => e2e/menus/title.cy.ts} | 9 +- .../menus/undoRedo.cy.ts} | 2 - .../menus/watermark.cy.ts} | 2 - cypress/fixtures/example.json | 2 +- cypress/global.d.ts | 3 - cypress/plugins/index.ts | 11 - cypress/support/commands.ts | 2 +- cypress/support/{index.ts => e2e.ts} | 0 package.json | 2 +- yarn.lock | 235 ++++++++++++++---- 32 files changed, 382 insertions(+), 241 deletions(-) create mode 100644 cypress.config.ts delete mode 100644 cypress.json rename cypress/{integration/control/checkbox.spec.ts => e2e/control/checkbox.cy.ts} (59%) rename cypress/{integration/control/select.spec.ts => e2e/control/select.cy.ts} (66%) rename cypress/{integration/control/text.spec.ts => e2e/control/text.cy.ts} (77%) rename cypress/{integration/editor.spec.ts => e2e/editor.cy.ts} (88%) rename cypress/{integration/menus/block.spec.ts => e2e/menus/block.cy.ts} (99%) rename cypress/{integration/menus/checkbox.spec.ts => e2e/menus/checkbox.cy.ts} (78%) rename cypress/{integration/menus/codeblock.spec.ts => e2e/menus/codeblock.cy.ts} (99%) rename cypress/{integration/menus/date.spec.ts => e2e/menus/date.cy.ts} (99%) rename cypress/{integration/menus/format.spec.ts => e2e/menus/format.cy.ts} (83%) rename cypress/{integration/menus/hyperlink.spec.ts => e2e/menus/hyperlink.cy.ts} (99%) rename cypress/{integration/menus/image.spec.ts => e2e/menus/image.cy.ts} (99%) rename cypress/{integration/menus/latex.spec.ts => e2e/menus/latex.cy.ts} (99%) rename cypress/{integration/menus/pagebreak.spec.ts => e2e/menus/pagebreak.cy.ts} (99%) rename cypress/{integration/menus/painter.spec.ts => e2e/menus/painter.cy.ts} (78%) rename cypress/{integration/menus/print.spec.ts => e2e/menus/print.cy.ts} (99%) rename cypress/{integration/menus/row.spec.ts => e2e/menus/row.cy.ts} (81%) rename cypress/{integration/menus/search.spec.ts => e2e/menus/search.cy.ts} (94%) rename cypress/{integration/menus/separator.spec.ts => e2e/menus/separator.cy.ts} (99%) rename cypress/{integration/menus/table.spec.ts => e2e/menus/table.cy.ts} (99%) rename cypress/{integration/menus/text.spec.ts => e2e/menus/text.cy.ts} (78%) rename cypress/{integration/menus/title.spec.ts => e2e/menus/title.cy.ts} (89%) rename cypress/{integration/menus/undoRedo.spec.ts => e2e/menus/undoRedo.cy.ts} (99%) rename cypress/{integration/menus/watermark.spec.ts => e2e/menus/watermark.cy.ts} (99%) delete mode 100644 cypress/plugins/index.ts rename cypress/support/{index.ts => e2e.ts} (100%) diff --git a/cypress.config.ts b/cypress.config.ts new file mode 100644 index 0000000..f6c338c --- /dev/null +++ b/cypress.config.ts @@ -0,0 +1,10 @@ +import { defineConfig } from 'cypress' + +export default defineConfig({ + video: false, + viewportWidth: 1366, + viewportHeight: 720, + e2e: { + experimentalRunAllSpecs: true + } +}) diff --git a/cypress.json b/cypress.json deleted file mode 100644 index 2e178e6..0000000 --- a/cypress.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "video": false, - "viewportWidth": 1366, - "viewportHeight": 720 -} \ No newline at end of file diff --git a/cypress/integration/control/checkbox.spec.ts b/cypress/e2e/control/checkbox.cy.ts similarity index 59% rename from cypress/integration/control/checkbox.spec.ts rename to cypress/e2e/control/checkbox.cy.ts index 85bfe0a..b768cb3 100644 --- a/cypress/integration/control/checkbox.spec.ts +++ b/cypress/e2e/control/checkbox.cy.ts @@ -1,7 +1,6 @@ import Editor, { ControlType, ElementType } from '../../../src/editor' describe('控件-复选框', () => { - beforeEach(() => { cy.visit('http://localhost:3000/canvas-editor/') @@ -17,27 +16,31 @@ describe('控件-复选框', () => { editor.command.executeBackspace() - editor.command.executeInsertElementList([{ - type: elementType, - value: '', - control: { - code: '98175', - type: controlType, - value: null, - valueSets: [{ - value: '有', - code: '98175' - }, { - value: '无', - code: '98176' - }] + editor.command.executeInsertElementList([ + { + type: elementType, + value: '', + control: { + code: '98175', + type: controlType, + value: null, + valueSets: [ + { + value: '有', + code: '98175' + }, + { + value: '无', + code: '98176' + } + ] + } } - }]) + ]) const data = editor.command.getValue().data.main[0] expect(data.control!.code).to.be.eq('98175') }) }) - }) diff --git a/cypress/integration/control/select.spec.ts b/cypress/e2e/control/select.cy.ts similarity index 66% rename from cypress/integration/control/select.spec.ts rename to cypress/e2e/control/select.cy.ts index 7cae816..003e150 100644 --- a/cypress/integration/control/select.spec.ts +++ b/cypress/e2e/control/select.cy.ts @@ -1,7 +1,6 @@ import Editor, { ControlType, ElementType } from '../../../src/editor' describe('控件-列举型', () => { - beforeEach(() => { cy.visit('http://localhost:3000/canvas-editor/') @@ -18,22 +17,27 @@ describe('控件-列举型', () => { editor.command.executeBackspace() - editor.command.executeInsertElementList([{ - type: elementType, - value: '', - control: { - type: controlType, - value: null, - placeholder: '列举型', - valueSets: [{ - value: '有', - code: '98175' - }, { - value: '无', - code: '98176' - }] + editor.command.executeInsertElementList([ + { + type: elementType, + value: '', + control: { + type: controlType, + value: null, + placeholder: '列举型', + valueSets: [ + { + value: '有', + code: '98175' + }, + { + value: '无', + code: '98176' + } + ] + } } - }]) + ]) cy.get('@canvas').type(`{leftArrow}`) @@ -49,5 +53,4 @@ describe('控件-列举型', () => { }) }) }) - }) diff --git a/cypress/integration/control/text.spec.ts b/cypress/e2e/control/text.cy.ts similarity index 77% rename from cypress/integration/control/text.spec.ts rename to cypress/e2e/control/text.cy.ts index c958e04..a030e7b 100644 --- a/cypress/integration/control/text.spec.ts +++ b/cypress/e2e/control/text.cy.ts @@ -1,7 +1,6 @@ import Editor, { ControlType, ElementType } from '../../../src/editor' describe('控件-文本型', () => { - beforeEach(() => { cy.visit('http://localhost:3000/canvas-editor/') @@ -18,15 +17,17 @@ describe('控件-文本型', () => { editor.command.executeBackspace() - editor.command.executeInsertElementList([{ - type: elementType, - value: '', - control: { - type: controlType, - value: null, - placeholder: '文本型' + editor.command.executeInsertElementList([ + { + type: elementType, + value: '', + control: { + type: controlType, + value: null, + placeholder: '文本型' + } } - }]) + ]) cy.get('@canvas').type(`{leftArrow}`) @@ -39,5 +40,4 @@ describe('控件-文本型', () => { }) }) }) - }) diff --git a/cypress/integration/editor.spec.ts b/cypress/e2e/editor.cy.ts similarity index 88% rename from cypress/integration/editor.spec.ts rename to cypress/e2e/editor.cy.ts index 5efca61..5033a39 100644 --- a/cypress/integration/editor.spec.ts +++ b/cypress/e2e/editor.cy.ts @@ -1,7 +1,6 @@ import Editor from '../../src/editor' describe('基础功能', () => { - beforeEach(() => { cy.visit('http://localhost:3000/canvas-editor/') @@ -51,17 +50,18 @@ describe('基础功能', () => { }) it('字数统计', () => { - cy.getEditor().then(async (editor: Editor) => { + cy.getEditor().then((editor: Editor) => { editor.command.executeSelectAll() editor.command.executeBackspace() - editor.command.executeInsertElementList([{ - value: 'canvas-editor 2022 编辑器' - }]) + editor.command.executeInsertElementList([ + { + value: 'canvas-editor 2022 编辑器' + } + ]) cy.get('.word-count').contains('7') }) }) - }) diff --git a/cypress/integration/menus/block.spec.ts b/cypress/e2e/menus/block.cy.ts similarity index 99% rename from cypress/integration/menus/block.spec.ts rename to cypress/e2e/menus/block.cy.ts index 901cd7a..6513dcd 100644 --- a/cypress/integration/menus/block.spec.ts +++ b/cypress/e2e/menus/block.cy.ts @@ -9,7 +9,6 @@ describe('菜单-内容块', () => { cy.get('canvas').first().as('canvas').should('have.length', 1) }) - it('内容块', () => { cy.getEditor().then((editor: Editor) => { editor.command.executeSelectAll() @@ -36,5 +35,4 @@ describe('菜单-内容块', () => { }) }) }) - }) diff --git a/cypress/integration/menus/checkbox.spec.ts b/cypress/e2e/menus/checkbox.cy.ts similarity index 78% rename from cypress/integration/menus/checkbox.spec.ts rename to cypress/e2e/menus/checkbox.cy.ts index 94d873f..6e65cb6 100644 --- a/cypress/integration/menus/checkbox.spec.ts +++ b/cypress/e2e/menus/checkbox.cy.ts @@ -1,7 +1,6 @@ import Editor, { ElementType } from '../../../src/editor' describe('菜单-复选框', () => { - beforeEach(() => { cy.visit('http://localhost:3000/canvas-editor/') @@ -16,18 +15,19 @@ describe('菜单-复选框', () => { editor.command.executeBackspace() - editor.command.executeInsertElementList([{ - type, - value: '', - checkbox: { - value: true + editor.command.executeInsertElementList([ + { + type, + value: '', + checkbox: { + value: true + } } - }]) + ]) const data = editor.command.getValue().data.main[0] expect(data.checkbox?.value).to.eq(true) }) }) - }) diff --git a/cypress/integration/menus/codeblock.spec.ts b/cypress/e2e/menus/codeblock.cy.ts similarity index 99% rename from cypress/integration/menus/codeblock.spec.ts rename to cypress/e2e/menus/codeblock.cy.ts index 900beac..81d918c 100644 --- a/cypress/integration/menus/codeblock.spec.ts +++ b/cypress/e2e/menus/codeblock.cy.ts @@ -1,7 +1,6 @@ import Editor from '../../../src/editor' describe('菜单-代码块', () => { - beforeEach(() => { cy.visit('http://localhost:3000/canvas-editor/') @@ -32,5 +31,4 @@ describe('菜单-代码块', () => { }) }) }) - }) diff --git a/cypress/integration/menus/date.spec.ts b/cypress/e2e/menus/date.cy.ts similarity index 99% rename from cypress/integration/menus/date.spec.ts rename to cypress/e2e/menus/date.cy.ts index 9bd959c..540e241 100644 --- a/cypress/integration/menus/date.spec.ts +++ b/cypress/e2e/menus/date.cy.ts @@ -1,7 +1,6 @@ import Editor from '../../../src/editor' describe('菜单-日期选择器', () => { - beforeEach(() => { cy.visit('http://localhost:3000/canvas-editor/') @@ -26,5 +25,4 @@ describe('菜单-日期选择器', () => { }) }) }) - }) diff --git a/cypress/integration/menus/format.spec.ts b/cypress/e2e/menus/format.cy.ts similarity index 83% rename from cypress/integration/menus/format.spec.ts rename to cypress/e2e/menus/format.cy.ts index d64544c..d9785ca 100644 --- a/cypress/integration/menus/format.spec.ts +++ b/cypress/e2e/menus/format.cy.ts @@ -1,7 +1,6 @@ import Editor from '../../../src/editor' describe('菜单-清除格式', () => { - beforeEach(() => { cy.visit('http://localhost:3000/canvas-editor/') @@ -17,11 +16,13 @@ describe('菜单-清除格式', () => { editor.command.executeBackspace() - editor.command.executeInsertElementList([{ - value: text, - bold: true, - italic: true - }]) + editor.command.executeInsertElementList([ + { + value: text, + bold: true, + italic: true + } + ]) editor.command.executeSetRange(0, textLength) @@ -36,5 +37,4 @@ describe('菜单-清除格式', () => { }) }) }) - }) diff --git a/cypress/integration/menus/hyperlink.spec.ts b/cypress/e2e/menus/hyperlink.cy.ts similarity index 99% rename from cypress/integration/menus/hyperlink.spec.ts rename to cypress/e2e/menus/hyperlink.cy.ts index abad25c..2ffe84e 100644 --- a/cypress/integration/menus/hyperlink.spec.ts +++ b/cypress/e2e/menus/hyperlink.cy.ts @@ -1,7 +1,6 @@ import Editor from '../../../src/editor' describe('菜单-超链接', () => { - beforeEach(() => { cy.visit('http://localhost:3000/canvas-editor/') @@ -37,5 +36,4 @@ describe('菜单-超链接', () => { }) }) }) - }) diff --git a/cypress/integration/menus/image.spec.ts b/cypress/e2e/menus/image.cy.ts similarity index 99% rename from cypress/integration/menus/image.spec.ts rename to cypress/e2e/menus/image.cy.ts index e0e6795..32462e7 100644 --- a/cypress/integration/menus/image.spec.ts +++ b/cypress/e2e/menus/image.cy.ts @@ -1,7 +1,6 @@ import Editor from '../../../src/editor' describe('菜单-图片', () => { - beforeEach(() => { cy.visit('http://localhost:3000/canvas-editor/') @@ -23,5 +22,4 @@ describe('菜单-图片', () => { }) }) }) - }) diff --git a/cypress/integration/menus/latex.spec.ts b/cypress/e2e/menus/latex.cy.ts similarity index 99% rename from cypress/integration/menus/latex.spec.ts rename to cypress/e2e/menus/latex.cy.ts index 064a6b1..216aa0f 100644 --- a/cypress/integration/menus/latex.spec.ts +++ b/cypress/e2e/menus/latex.cy.ts @@ -1,7 +1,6 @@ import Editor from '../../../src/editor' describe('菜单-LaTeX', () => { - beforeEach(() => { cy.visit('http://localhost:3000/canvas-editor/') @@ -32,5 +31,4 @@ describe('菜单-LaTeX', () => { }) }) }) - }) diff --git a/cypress/integration/menus/pagebreak.spec.ts b/cypress/e2e/menus/pagebreak.cy.ts similarity index 99% rename from cypress/integration/menus/pagebreak.spec.ts rename to cypress/e2e/menus/pagebreak.cy.ts index 612d1e5..24d04a1 100644 --- a/cypress/integration/menus/pagebreak.spec.ts +++ b/cypress/e2e/menus/pagebreak.cy.ts @@ -1,7 +1,6 @@ import Editor from '../../../src/editor' describe('菜单-分页符', () => { - beforeEach(() => { cy.visit('http://localhost:3000/canvas-editor/') @@ -9,7 +8,6 @@ describe('菜单-分页符', () => { }) it('分页符', () => { - cy.getEditor().then((editor: Editor) => { editor.command.executeSelectAll() @@ -19,7 +17,5 @@ describe('菜单-分页符', () => { cy.get('canvas').should('have.length', 2) }) - }) - }) diff --git a/cypress/integration/menus/painter.spec.ts b/cypress/e2e/menus/painter.cy.ts similarity index 78% rename from cypress/integration/menus/painter.spec.ts rename to cypress/e2e/menus/painter.cy.ts index 13f4b86..15dac1f 100644 --- a/cypress/integration/menus/painter.spec.ts +++ b/cypress/e2e/menus/painter.cy.ts @@ -1,7 +1,6 @@ import Editor from '../../../src/editor' describe('菜单-格式刷', () => { - beforeEach(() => { cy.visit('http://localhost:3000/canvas-editor/') @@ -17,15 +16,19 @@ describe('菜单-格式刷', () => { editor.command.executeBackspace() - editor.command.executeInsertElementList([{ - value: text, - bold: true, - italic: true - }]) + editor.command.executeInsertElementList([ + { + value: text, + bold: true, + italic: true + } + ]) - editor.command.executeInsertElementList([{ - value: text - }]) + editor.command.executeInsertElementList([ + { + value: text + } + ]) editor.command.executeSetRange(0, textLength) @@ -46,5 +49,4 @@ describe('菜单-格式刷', () => { }) }) }) - }) diff --git a/cypress/integration/menus/print.spec.ts b/cypress/e2e/menus/print.cy.ts similarity index 99% rename from cypress/integration/menus/print.spec.ts rename to cypress/e2e/menus/print.cy.ts index 110d178..163b572 100644 --- a/cypress/integration/menus/print.spec.ts +++ b/cypress/e2e/menus/print.cy.ts @@ -1,7 +1,6 @@ import Editor from '../../../src/editor' describe('菜单-打印', () => { - beforeEach(() => { cy.visit('http://localhost:3000/canvas-editor/') @@ -9,7 +8,6 @@ describe('菜单-打印', () => { }) it('打印', () => { - cy.getEditor().then(async (editor: Editor) => { const imageList2 = await editor.command.getImage() expect(imageList2.length).to.eq(2) @@ -23,7 +21,5 @@ describe('菜单-打印', () => { expect(imageList1.length).to.eq(1) }) }) - }) - }) diff --git a/cypress/integration/menus/row.spec.ts b/cypress/e2e/menus/row.cy.ts similarity index 81% rename from cypress/integration/menus/row.spec.ts rename to cypress/e2e/menus/row.cy.ts index d100ab1..6496279 100644 --- a/cypress/integration/menus/row.spec.ts +++ b/cypress/e2e/menus/row.cy.ts @@ -1,7 +1,6 @@ import Editor from '../../../src/editor' describe('菜单-行处理', () => { - beforeEach(() => { cy.visit('http://localhost:3000/canvas-editor/') @@ -16,9 +15,11 @@ describe('菜单-行处理', () => { editor.command.executeBackspace() - editor.command.executeInsertElementList([{ - value: text - }]) + editor.command.executeInsertElementList([ + { + value: text + } + ]) cy.get('.menu-item__left') .click() @@ -36,9 +37,11 @@ describe('菜单-行处理', () => { editor.command.executeBackspace() - editor.command.executeInsertElementList([{ - value: text - }]) + editor.command.executeInsertElementList([ + { + value: text + } + ]) cy.get('.menu-item__center') .click() @@ -56,9 +59,11 @@ describe('菜单-行处理', () => { editor.command.executeBackspace() - editor.command.executeInsertElementList([{ - value: text - }]) + editor.command.executeInsertElementList([ + { + value: text + } + ]) cy.get('.menu-item__right') .click() @@ -76,9 +81,11 @@ describe('菜单-行处理', () => { editor.command.executeBackspace() - editor.command.executeInsertElementList([{ - value: text - }]) + editor.command.executeInsertElementList([ + { + value: text + } + ]) cy.get('.menu-item__row-margin').as('rowMargin').click() @@ -93,5 +100,4 @@ describe('菜单-行处理', () => { }) }) }) - }) diff --git a/cypress/integration/menus/search.spec.ts b/cypress/e2e/menus/search.cy.ts similarity index 94% rename from cypress/integration/menus/search.spec.ts rename to cypress/e2e/menus/search.cy.ts index 4805322..5758f46 100644 --- a/cypress/integration/menus/search.spec.ts +++ b/cypress/e2e/menus/search.cy.ts @@ -1,7 +1,6 @@ import Editor, { ElementType } from '../../../src/editor' describe('菜单-搜索', () => { - beforeEach(() => { cy.visit('http://localhost:3000/canvas-editor/') @@ -82,8 +81,10 @@ describe('菜单-搜索', () => { // 搜索导航 cy.get('.menu-item__search__collapse .arrow-right').click() - cy.get('.menu-item__search__collapse__search .search-result') - .should('have.text', '1/3') + cy.get('.menu-item__search__collapse__search .search-result').should( + 'have.text', + '1/3' + ) cy.get('.menu-item__search__collapse__replace').as('replace') @@ -99,10 +100,13 @@ describe('菜单-搜索', () => { expect(data[0].value).to.be.eq(replaceText) // 表格内文本 - expect(data[1].trList![0].tdList[0].value[0].value).to.be.eq(replaceText) - expect(data[1].trList![1].tdList[1].value[0].value).to.be.eq(replaceText) + expect(data[1].trList![0].tdList[0].value[0].value).to.be.eq( + replaceText + ) + expect(data[1].trList![1].tdList[1].value[0].value).to.be.eq( + replaceText + ) }) }) }) - }) diff --git a/cypress/integration/menus/separator.spec.ts b/cypress/e2e/menus/separator.cy.ts similarity index 99% rename from cypress/integration/menus/separator.spec.ts rename to cypress/e2e/menus/separator.cy.ts index 91ba5c4..880ea1f 100644 --- a/cypress/integration/menus/separator.spec.ts +++ b/cypress/e2e/menus/separator.cy.ts @@ -1,7 +1,6 @@ import Editor from '../../../src/editor' describe('菜单-分割线', () => { - beforeEach(() => { cy.visit('http://localhost:3000/canvas-editor/') @@ -30,5 +29,4 @@ describe('菜单-分割线', () => { }) }) }) - }) diff --git a/cypress/integration/menus/table.spec.ts b/cypress/e2e/menus/table.cy.ts similarity index 99% rename from cypress/integration/menus/table.spec.ts rename to cypress/e2e/menus/table.cy.ts index 6c5aec6..9449d8a 100644 --- a/cypress/integration/menus/table.spec.ts +++ b/cypress/e2e/menus/table.cy.ts @@ -1,7 +1,6 @@ import Editor from '../../../src/editor' describe('菜单-表格', () => { - beforeEach(() => { cy.visit('http://localhost:3000/canvas-editor/') @@ -23,5 +22,4 @@ describe('菜单-表格', () => { expect(data[0].trList?.length).to.eq(8) }) }) - }) diff --git a/cypress/integration/menus/text.spec.ts b/cypress/e2e/menus/text.cy.ts similarity index 78% rename from cypress/integration/menus/text.spec.ts rename to cypress/e2e/menus/text.cy.ts index bc49eed..e75b0da 100644 --- a/cypress/integration/menus/text.spec.ts +++ b/cypress/e2e/menus/text.cy.ts @@ -1,7 +1,6 @@ import Editor from '../../../src/editor' describe('菜单-文本处理', () => { - beforeEach(() => { cy.visit('http://localhost:3000/canvas-editor/') @@ -17,9 +16,11 @@ describe('菜单-文本处理', () => { editor.command.executeBackspace() - editor.command.executeInsertElementList([{ - value: text - }]) + editor.command.executeInsertElementList([ + { + value: text + } + ]) editor.command.executeSetRange(0, textLength) @@ -43,9 +44,11 @@ describe('菜单-文本处理', () => { editor.command.executeBackspace() - editor.command.executeInsertElementList([{ - value: text - }]) + editor.command.executeInsertElementList([ + { + value: text + } + ]) editor.command.executeSetRange(0, textLength) @@ -69,9 +72,11 @@ describe('菜单-文本处理', () => { editor.command.executeBackspace() - editor.command.executeInsertElementList([{ - value: text - }]) + editor.command.executeInsertElementList([ + { + value: text + } + ]) editor.command.executeSetRange(0, textLength) @@ -91,9 +96,11 @@ describe('菜单-文本处理', () => { editor.command.executeBackspace() - editor.command.executeInsertElementList([{ - value: text - }]) + editor.command.executeInsertElementList([ + { + value: text + } + ]) editor.command.executeSetRange(0, textLength) @@ -113,9 +120,11 @@ describe('菜单-文本处理', () => { editor.command.executeBackspace() - editor.command.executeInsertElementList([{ - value: text - }]) + editor.command.executeInsertElementList([ + { + value: text + } + ]) editor.command.executeSetRange(0, textLength) @@ -135,9 +144,11 @@ describe('菜单-文本处理', () => { editor.command.executeBackspace() - editor.command.executeInsertElementList([{ - value: text - }]) + editor.command.executeInsertElementList([ + { + value: text + } + ]) editor.command.executeSetRange(0, textLength) @@ -157,9 +168,11 @@ describe('菜单-文本处理', () => { editor.command.executeBackspace() - editor.command.executeInsertElementList([{ - value: text - }]) + editor.command.executeInsertElementList([ + { + value: text + } + ]) editor.command.executeSetRange(0, textLength) @@ -179,9 +192,11 @@ describe('菜单-文本处理', () => { editor.command.executeBackspace() - editor.command.executeInsertElementList([{ - value: text - }]) + editor.command.executeInsertElementList([ + { + value: text + } + ]) editor.command.executeSetRange(0, textLength) @@ -201,9 +216,11 @@ describe('菜单-文本处理', () => { editor.command.executeBackspace() - editor.command.executeInsertElementList([{ - value: text - }]) + editor.command.executeInsertElementList([ + { + value: text + } + ]) editor.command.executeSetRange(0, textLength) @@ -223,17 +240,21 @@ describe('菜单-文本处理', () => { editor.command.executeBackspace() - editor.command.executeInsertElementList([{ - value: text - }]) + editor.command.executeInsertElementList([ + { + value: text + } + ]) editor.command.executeSetRange(0, textLength) - cy.get('.menu-item__subscript').click().then(() => { - const data = editor.command.getValue().data.main + cy.get('.menu-item__subscript') + .click() + .then(() => { + const data = editor.command.getValue().data.main - expect(data[0].type).to.eq('subscript') - }) + expect(data[0].type).to.eq('subscript') + }) }) }) @@ -243,9 +264,11 @@ describe('菜单-文本处理', () => { editor.command.executeBackspace() - editor.command.executeInsertElementList([{ - value: text - }]) + editor.command.executeInsertElementList([ + { + value: text + } + ]) editor.command.executeSetRange(0, textLength) @@ -263,9 +286,11 @@ describe('菜单-文本处理', () => { editor.command.executeBackspace() - editor.command.executeInsertElementList([{ - value: text - }]) + editor.command.executeInsertElementList([ + { + value: text + } + ]) editor.command.executeSetRange(0, textLength) @@ -276,5 +301,4 @@ describe('菜单-文本处理', () => { expect(data[0].highlight).to.eq('red') }) }) - }) diff --git a/cypress/integration/menus/title.spec.ts b/cypress/e2e/menus/title.cy.ts similarity index 89% rename from cypress/integration/menus/title.spec.ts rename to cypress/e2e/menus/title.cy.ts index 19cec34..83314ba 100644 --- a/cypress/integration/menus/title.spec.ts +++ b/cypress/e2e/menus/title.cy.ts @@ -19,9 +19,11 @@ describe('菜单-标题', () => { editor.command.executeBackspace() - editor.command.executeInsertElementList([{ - value: text - }]) + editor.command.executeInsertElementList([ + { + value: text + } + ]) cy.get('.menu-item__title').as('title').click() @@ -38,5 +40,4 @@ describe('菜单-标题', () => { }) }) }) - }) diff --git a/cypress/integration/menus/undoRedo.spec.ts b/cypress/e2e/menus/undoRedo.cy.ts similarity index 99% rename from cypress/integration/menus/undoRedo.spec.ts rename to cypress/e2e/menus/undoRedo.cy.ts index 63b376d..c2e75f5 100644 --- a/cypress/integration/menus/undoRedo.spec.ts +++ b/cypress/e2e/menus/undoRedo.cy.ts @@ -1,7 +1,6 @@ import Editor from '../../../src/editor' describe('菜单-撤销&重做', () => { - beforeEach(() => { cy.visit('http://localhost:3000/canvas-editor/') @@ -47,5 +46,4 @@ describe('菜单-撤销&重做', () => { }) }) }) - }) diff --git a/cypress/integration/menus/watermark.spec.ts b/cypress/e2e/menus/watermark.cy.ts similarity index 99% rename from cypress/integration/menus/watermark.spec.ts rename to cypress/e2e/menus/watermark.cy.ts index 12026f9..8fccf0a 100644 --- a/cypress/integration/menus/watermark.spec.ts +++ b/cypress/e2e/menus/watermark.cy.ts @@ -1,7 +1,6 @@ import Editor from '../../../src/editor' describe('菜单-水印', () => { - beforeEach(() => { cy.visit('http://localhost:3000/canvas-editor/') @@ -58,5 +57,4 @@ describe('菜单-水印', () => { }) }) }) - }) diff --git a/cypress/fixtures/example.json b/cypress/fixtures/example.json index 7bc310e..bbe48f0 100644 --- a/cypress/fixtures/example.json +++ b/cypress/fixtures/example.json @@ -1,3 +1,3 @@ { "name": "canvas-editor" -} \ No newline at end of file +} diff --git a/cypress/global.d.ts b/cypress/global.d.ts index 18d3be3..fa9bc2c 100644 --- a/cypress/global.d.ts +++ b/cypress/global.d.ts @@ -7,10 +7,7 @@ declare namespace Editor { } declare namespace Cypress { - interface Chainable { - getEditor(): Chainable - } } diff --git a/cypress/plugins/index.ts b/cypress/plugins/index.ts deleted file mode 100644 index 3101cb3..0000000 --- a/cypress/plugins/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -/// - -/** - * @type {Cypress.PluginConfig} - */ -export default (on: Cypress.PluginEvents, config: Cypress.PluginConfigOptions) => { - // `on` is used to hook into various events Cypress emits - // `config` is the resolved Cypress config - // codeCoverageTask(on, config) - return config -} diff --git a/cypress/support/commands.ts b/cypress/support/commands.ts index 7750cea..da232dc 100644 --- a/cypress/support/commands.ts +++ b/cypress/support/commands.ts @@ -2,4 +2,4 @@ import 'cypress-file-upload' Cypress.Commands.add('getEditor', () => { return cy.window().its('editor') -}) \ No newline at end of file +}) diff --git a/cypress/support/index.ts b/cypress/support/e2e.ts similarity index 100% rename from cypress/support/index.ts rename to cypress/support/e2e.ts diff --git a/package.json b/package.json index f8a17f8..99f7c61 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "@types/prismjs": "^1.26.0", "@typescript-eslint/eslint-plugin": "4.33.0", "@typescript-eslint/parser": "4.33.0", - "cypress": "^9.5.1", + "cypress": "13.6.0", "cypress-file-upload": "^5.0.8", "eslint": "7.32.0", "simple-git-hooks": "^2.8.1", diff --git a/yarn.lock b/yarn.lock index 8cb0869..caaa98d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -164,10 +164,10 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.7.tgz#df8cf085ce92ddbdbf668a7f186ce848c9036cae" integrity sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q== -"@cypress/request@^2.88.10": - version "2.88.10" - resolved "https://registry.yarnpkg.com/@cypress/request/-/request-2.88.10.tgz#b66d76b07f860d3a4b8d7a0604d020c662752cce" - integrity sha512-Zp7F+R93N0yZyG34GutyTNr+okam7s/Fzc1+i3kcqOP8vk6OuajuE9qZJ6Rs+10/1JFtXFYMdyarnU1rZuJesg== +"@cypress/request@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@cypress/request/-/request-3.0.1.tgz#72d7d5425236a2413bd3d8bb66d02d9dc3168960" + integrity sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ== dependencies: aws-sign2 "~0.7.0" aws4 "^1.8.0" @@ -182,9 +182,9 @@ json-stringify-safe "~5.0.1" mime-types "~2.1.19" performance-now "^2.1.0" - qs "~6.5.2" + qs "6.10.4" safe-buffer "^5.1.2" - tough-cookie "~2.5.0" + tough-cookie "^4.1.3" tunnel-agent "^0.6.0" uuid "^8.3.2" @@ -416,16 +416,18 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.21.tgz#864b987c0c68d07b4345845c3e63b75edd143644" integrity sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ== -"@types/node@^14.14.31": - version "14.18.12" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.12.tgz#0d4557fd3b94497d793efd4e7d92df2f83b4ef24" - integrity sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A== - "@types/node@^16.11.12": version "16.11.12" resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.12.tgz#ac7fb693ac587ee182c3780c26eb65546a1a3c10" integrity sha512-+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw== +"@types/node@^18.17.5": + version "18.18.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.18.13.tgz#ae0f76c0bfe79d8fad0f910b78ae3e59b333c6e8" + integrity sha512-vXYZGRrSCreZmq1rEjMRLXJhiy8MrIeVasx+PCVlP414N7CJLHnMf+juVvjdprHyH+XRy3zKZLHeNueOpJCn0g== + dependencies: + undici-types "~5.26.4" + "@types/prismjs@^1.26.0": version "1.26.0" resolved "https://registry.yarnpkg.com/@types/prismjs/-/prismjs-1.26.0.tgz#a1c3809b0ad61c62cac6d4e0c56d610c910b7654" @@ -962,6 +964,15 @@ cachedir@^2.3.0: resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.3.0.tgz#0c75892a052198f0b21c7c1804d8331edfcae0e8" integrity sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw== +call-bind@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" + integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== + dependencies: + function-bind "^1.1.2" + get-intrinsic "^1.2.1" + set-function-length "^1.1.1" + callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" @@ -1069,10 +1080,10 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" - integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== +commander@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== common-tags@^1.8.0: version "1.8.2" @@ -1113,14 +1124,14 @@ cypress-file-upload@^5.0.8: resolved "https://registry.yarnpkg.com/cypress-file-upload/-/cypress-file-upload-5.0.8.tgz#d8824cbeaab798e44be8009769f9a6c9daa1b4a1" integrity sha512-+8VzNabRk3zG6x8f8BWArF/xA/W0VK4IZNx3MV0jFWrJS/qKn8eHfa5nU73P9fOQAgwHFJx7zjg4lwOnljMO8g== -cypress@^9.5.1: - version "9.5.1" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-9.5.1.tgz#51162f3688cedf5ffce311b914ef49a7c1ece076" - integrity sha512-H7lUWB3Svr44gz1rNnj941xmdsCljXoJa2cDneAltjI9leKLMQLm30x6jLlpQ730tiVtIbW5HdUmBzPzwzfUQg== +cypress@13.6.0: + version "13.6.0" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.6.0.tgz#b98b7b837679012ed09c7ecee5565bf7b31d4982" + integrity sha512-quIsnFmtj4dBUEJYU4OH0H12bABJpSujvWexC24Ju1gTlKMJbeT6tTO0vh7WNfiBPPjoIXLN+OUqVtiKFs6SGw== dependencies: - "@cypress/request" "^2.88.10" + "@cypress/request" "^3.0.0" "@cypress/xvfb" "^1.2.4" - "@types/node" "^14.14.31" + "@types/node" "^18.17.5" "@types/sinonjs__fake-timers" "8.1.1" "@types/sizzle" "^2.3.2" arch "^2.2.0" @@ -1132,12 +1143,12 @@ cypress@^9.5.1: check-more-types "^2.24.0" cli-cursor "^3.1.0" cli-table3 "~0.6.1" - commander "^5.1.0" + commander "^6.2.1" common-tags "^1.8.0" dayjs "^1.10.4" - debug "^4.3.2" + debug "^4.3.4" enquirer "^2.3.6" - eventemitter2 "^6.4.3" + eventemitter2 "6.4.7" execa "4.1.0" executable "^4.1.1" extract-zip "2.0.1" @@ -1150,12 +1161,13 @@ cypress@^9.5.1: listr2 "^3.8.3" lodash "^4.17.21" log-symbols "^4.0.0" - minimist "^1.2.5" + minimist "^1.2.8" ospath "^1.2.2" pretty-bytes "^5.6.0" + process "^0.11.10" proxy-from-env "1.0.0" request-progress "^3.0.0" - semver "^7.3.2" + semver "^7.5.3" supports-color "^8.1.1" tmp "~0.2.1" untildify "^4.0.0" @@ -1180,14 +1192,14 @@ debug@^3.1.0: dependencies: ms "^2.1.1" -debug@^4.0.1, debug@^4.3.1: +debug@^4.0.1, debug@^4.3.1, debug@^4.3.4: 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: +debug@^4.1.1: version "4.3.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== @@ -1199,6 +1211,15 @@ deep-is@^0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== +define-data-property@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" + integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== + dependencies: + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -1517,10 +1538,10 @@ esutils@^2.0.2: 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" - integrity sha512-bXE7Dyc1i6oQElDG0jMRZJrRAn9QR2xyyFGmBdZleNmyQX0FqGYmhZIrIrpPfm/w//LTo4tVQGOGQcGCb5q9uw== +eventemitter2@6.4.7: + version "6.4.7" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.7.tgz#a7f6c4d7abf28a14c1ef3442f21cb306a054271d" + integrity sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg== execa@4.1.0: version "4.1.0" @@ -1690,11 +1711,26 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + 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-intrinsic@^1.0.2, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" + integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== + dependencies: + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + 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" @@ -1761,6 +1797,13 @@ globby@^11.0.3: merge2 "^1.4.1" slash "^3.0.0" +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + 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" @@ -1776,6 +1819,23 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== +has-property-descriptors@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" + integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== + dependencies: + get-intrinsic "^1.2.2" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" @@ -1783,6 +1843,13 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== + dependencies: + function-bind "^1.1.2" + http-signature@~1.3.6: version "1.3.6" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.3.6.tgz#cb6fbfdf86d1c974f343be94e87f7fc128662cf9" @@ -2129,10 +2196,10 @@ minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== +minimist@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== minisearch@^6.1.0: version "6.1.0" @@ -2176,6 +2243,11 @@ npm-run-path@^4.0.0: dependencies: path-key "^3.0.0" +object-inspect@^1.9.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== + once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -2313,6 +2385,11 @@ prismjs@^1.27.0: resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.27.0.tgz#bb6ee3138a0b438a3653dd4d6ce0cc6510a45057" integrity sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA== +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + progress@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" @@ -2323,10 +2400,10 @@ proxy-from-env@1.0.0: resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" integrity sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4= -psl@^1.1.28: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== +psl@^1.1.33: + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== pump@^3.0.0: version "3.0.0" @@ -2341,10 +2418,17 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -qs@~6.5.2: - version "6.5.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" - integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== +qs@6.10.4: + version "6.10.4" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.4.tgz#6a3003755add91c0ec9eacdc5f878b034e73f9e7" + integrity sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g== + dependencies: + side-channel "^1.0.4" + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== queue-microtask@^1.2.2: version "1.2.3" @@ -2368,6 +2452,11 @@ require-from-string@^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== +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" @@ -2453,13 +2542,30 @@ 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.2.1, semver@^7.3.2, semver@^7.3.5: +semver@^7.2.1, 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== dependencies: lru-cache "^6.0.0" +semver@^7.5.3: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + +set-function-length@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed" + integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ== + dependencies: + define-data-property "^1.1.1" + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -2482,6 +2588,15 @@ shiki@^0.14.3: vscode-oniguruma "^1.7.0" vscode-textmate "^8.0.0" +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + signal-exit@^3.0.2: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" @@ -2652,13 +2767,15 @@ to-regex-range@^5.0.1: 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" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== +tough-cookie@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" + integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== dependencies: - psl "^1.1.28" + psl "^1.1.33" punycode "^2.1.1" + universalify "^0.2.0" + url-parse "^1.5.3" tslib@^1.8.1: version "1.14.1" @@ -2711,6 +2828,16 @@ typescript@^4.3.2: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" + integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== + universalify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" @@ -2728,6 +2855,14 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" +url-parse@^1.5.3: + version "1.5.10" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"