mirror of
https://github.com/codex-team/editor.js
synced 2024-06-03 06:22:39 +02:00
deps(Cypress): upgrade library and related packages to latest versions, migrate config, fix type error (#2327)
* deps: upgrade cypress and related libraries * chore: automate migrate cypress config, rename spec files * fix: custom commands types * chore: upgrade CHANGELOG.md * ci: upgrade cypress action to support new config file format * ci: remove container from firefox job, upgrade checkout action
This commit is contained in:
parent
75379c66a9
commit
d7f1853ca1
15
.github/workflows/cypress.yml
vendored
15
.github/workflows/cypress.yml
vendored
|
@ -3,16 +3,13 @@ on: [pull_request]
|
||||||
jobs:
|
jobs:
|
||||||
firefox:
|
firefox:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container:
|
|
||||||
image: cypress/browsers:node14.17.0-chrome88-ff89
|
|
||||||
options: --user 1001
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: 16
|
node-version: 16
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- run: yarn ci:pull_paragraph
|
- run: yarn ci:pull_paragraph
|
||||||
- uses: cypress-io/github-action@v2
|
- uses: cypress-io/github-action@v5
|
||||||
with:
|
with:
|
||||||
config: video=false
|
config: video=false
|
||||||
browser: firefox
|
browser: firefox
|
||||||
|
@ -23,9 +20,9 @@ jobs:
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: 16
|
node-version: 16
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- run: yarn ci:pull_paragraph
|
- run: yarn ci:pull_paragraph
|
||||||
- uses: cypress-io/github-action@v2
|
- uses: cypress-io/github-action@v5
|
||||||
with:
|
with:
|
||||||
config: video=false
|
config: video=false
|
||||||
browser: chrome
|
browser: chrome
|
||||||
|
@ -36,9 +33,9 @@ jobs:
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: 16
|
node-version: 16
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- run: yarn ci:pull_paragraph
|
- run: yarn ci:pull_paragraph
|
||||||
- uses: cypress-io/github-action@v2
|
- uses: cypress-io/github-action@v5
|
||||||
with:
|
with:
|
||||||
config: video=false
|
config: video=false
|
||||||
browser: edge
|
browser: edge
|
||||||
|
|
19
cypress.config.ts
Normal file
19
cypress.config.ts
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
import { defineConfig } from 'cypress'
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
env: {
|
||||||
|
NODE_ENV: 'test',
|
||||||
|
},
|
||||||
|
fixturesFolder: 'test/cypress/fixtures',
|
||||||
|
screenshotsFolder: 'test/cypress/screenshots',
|
||||||
|
videosFolder: 'test/cypress/videos',
|
||||||
|
e2e: {
|
||||||
|
// We've imported your old cypress plugins here.
|
||||||
|
// You may want to clean this up later by importing these.
|
||||||
|
setupNodeEvents(on, config) {
|
||||||
|
return require('./test/cypress/plugins/index.ts')(on, config)
|
||||||
|
},
|
||||||
|
specPattern: 'test/cypress/tests/**/*.cy.{js,jsx,ts,tsx}',
|
||||||
|
supportFile: 'test/cypress/support/index.ts',
|
||||||
|
},
|
||||||
|
})
|
11
cypress.json
11
cypress.json
|
@ -1,11 +0,0 @@
|
||||||
{
|
|
||||||
"env": {
|
|
||||||
"NODE_ENV": "test"
|
|
||||||
},
|
|
||||||
"fixturesFolder": "test/cypress/fixtures",
|
|
||||||
"integrationFolder": "test/cypress/tests",
|
|
||||||
"screenshotsFolder": "test/cypress/screenshots",
|
|
||||||
"videosFolder": "test/cypress/videos",
|
|
||||||
"supportFile": "test/cypress/support/index.ts",
|
|
||||||
"pluginsFile": "test/cypress/plugins/index.ts"
|
|
||||||
}
|
|
|
@ -11,6 +11,7 @@
|
||||||
- `Fix`- Several bugs caused by random browser extensions.
|
- `Fix`- Several bugs caused by random browser extensions.
|
||||||
- `Improvement` — *Dependencies* — Upgrade TypeScript to v5.
|
- `Improvement` — *Dependencies* — Upgrade TypeScript to v5.
|
||||||
- `Fix` — *ToolsAPI* — `pasteConfig` getter with `false` value could be used to disable paste handling by Editor.js core. Could be useful if your tool has its own paste handler.
|
- `Fix` — *ToolsAPI* — `pasteConfig` getter with `false` value could be used to disable paste handling by Editor.js core. Could be useful if your tool has its own paste handler.
|
||||||
|
- `Improvement` — *Dependencies* — Upgrade Cypress to v12, upgrade related libraries to latest versions.
|
||||||
|
|
||||||
### 2.26.5
|
### 2.26.5
|
||||||
|
|
||||||
|
|
|
@ -48,8 +48,8 @@
|
||||||
"@babel/register": "^7.9.0",
|
"@babel/register": "^7.9.0",
|
||||||
"@babel/runtime": "^7.9.2",
|
"@babel/runtime": "^7.9.2",
|
||||||
"@codexteam/shortcuts": "^1.1.1",
|
"@codexteam/shortcuts": "^1.1.1",
|
||||||
"@cypress/code-coverage": "^3.9.2",
|
"@cypress/code-coverage": "^3.10.1",
|
||||||
"@cypress/webpack-preprocessor": "^5.6.0",
|
"@cypress/webpack-preprocessor": "^5.17.0",
|
||||||
"@editorjs/code": "^2.7.0",
|
"@editorjs/code": "^2.7.0",
|
||||||
"@editorjs/delimiter": "^1.2.0",
|
"@editorjs/delimiter": "^1.2.0",
|
||||||
"@editorjs/header": "^2.7.0",
|
"@editorjs/header": "^2.7.0",
|
||||||
|
@ -64,8 +64,8 @@
|
||||||
"core-js": "3.6.5",
|
"core-js": "3.6.5",
|
||||||
"css-loader": "^3.5.3",
|
"css-loader": "^3.5.3",
|
||||||
"cssnano": "^4.1.10",
|
"cssnano": "^4.1.10",
|
||||||
"cypress": "^6.8.0",
|
"cypress": "^12.9.0",
|
||||||
"cypress-intellij-reporter": "^0.0.6",
|
"cypress-intellij-reporter": "^0.0.7",
|
||||||
"eslint": "^8.28.0",
|
"eslint": "^8.28.0",
|
||||||
"eslint-config-codex": "^1.7.1",
|
"eslint-config-codex": "^1.7.1",
|
||||||
"eslint-loader": "^4.0.2",
|
"eslint-loader": "^4.0.2",
|
||||||
|
|
|
@ -70,7 +70,7 @@ Cypress.Commands.add('paste', {
|
||||||
* Usage:
|
* Usage:
|
||||||
* cy.get('div').copy().then(data => {})
|
* cy.get('div').copy().then(data => {})
|
||||||
*/
|
*/
|
||||||
Cypress.Commands.add('copy', { prevSubject: true }, async (subject) => {
|
Cypress.Commands.add('copy', { prevSubject: true }, (subject) => {
|
||||||
const clipboardData: {[type: string]: any} = {};
|
const clipboardData: {[type: string]: any} = {};
|
||||||
|
|
||||||
const copyEvent = Object.assign(new Event('copy', {
|
const copyEvent = Object.assign(new Event('copy', {
|
||||||
|
@ -87,7 +87,7 @@ Cypress.Commands.add('copy', { prevSubject: true }, async (subject) => {
|
||||||
|
|
||||||
subject[0].dispatchEvent(copyEvent);
|
subject[0].dispatchEvent(copyEvent);
|
||||||
|
|
||||||
return clipboardData;
|
return cy.wrap(clipboardData);
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -96,7 +96,7 @@ Cypress.Commands.add('copy', { prevSubject: true }, async (subject) => {
|
||||||
* Usage:
|
* Usage:
|
||||||
* cy.get('div').cut().then(data => {})
|
* cy.get('div').cut().then(data => {})
|
||||||
*/
|
*/
|
||||||
Cypress.Commands.add('cut', { prevSubject: true }, async (subject) => {
|
Cypress.Commands.add('cut', { prevSubject: true }, (subject) => {
|
||||||
const clipboardData: {[type: string]: any} = {};
|
const clipboardData: {[type: string]: any} = {};
|
||||||
|
|
||||||
const copyEvent = Object.assign(new Event('cut', {
|
const copyEvent = Object.assign(new Event('cut', {
|
||||||
|
@ -113,7 +113,7 @@ Cypress.Commands.add('cut', { prevSubject: true }, async (subject) => {
|
||||||
|
|
||||||
subject[0].dispatchEvent(copyEvent);
|
subject[0].dispatchEvent(copyEvent);
|
||||||
|
|
||||||
return clipboardData;
|
return cy.wrap(clipboardData);
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -121,10 +121,10 @@ Cypress.Commands.add('cut', { prevSubject: true }, async (subject) => {
|
||||||
*
|
*
|
||||||
* @param data — data to render
|
* @param data — data to render
|
||||||
*/
|
*/
|
||||||
Cypress.Commands.add('render', { prevSubject: true }, async (subject: EditorJS, data: OutputData): Promise<EditorJS> => {
|
Cypress.Commands.add('render', { prevSubject: true }, (subject: EditorJS, data: OutputData) => {
|
||||||
await subject.render(data);
|
subject.render(data);
|
||||||
|
|
||||||
return subject;
|
return cy.wrap(subject);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
6
test/cypress/support/index.d.ts
vendored
6
test/cypress/support/index.d.ts
vendored
|
@ -31,7 +31,7 @@ declare global {
|
||||||
* @usage
|
* @usage
|
||||||
* cy.get('div').copy().then(data => {})
|
* cy.get('div').copy().then(data => {})
|
||||||
*/
|
*/
|
||||||
copy(): Chainable<{ [type: string]: any }>;
|
copy(): Chainable<Subject>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cut command to dispatch cut event on subject
|
* Cut command to dispatch cut event on subject
|
||||||
|
@ -39,14 +39,14 @@ declare global {
|
||||||
* @usage
|
* @usage
|
||||||
* cy.get('div').cut().then(data => {})
|
* cy.get('div').cut().then(data => {})
|
||||||
*/
|
*/
|
||||||
cut(): Chainable<{ [type: string]: any }>;
|
cut(): Chainable<Subject>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calls EditorJS API render method
|
* Calls EditorJS API render method
|
||||||
*
|
*
|
||||||
* @param data — data to render
|
* @param data — data to render
|
||||||
*/
|
*/
|
||||||
render(data: OutputData): Chainable<EditorJS>;
|
render(data: OutputData): Chainable<Subject>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Select passed text in element
|
* Select passed text in element
|
||||||
|
|
Loading…
Reference in a new issue