Skip to content

Upgrade ckeditor5 to v48#249

Open
jens-meisner wants to merge 12 commits into
mainfrom
upgrade-ckeditor5-to-v48
Open

Upgrade ckeditor5 to v48#249
jens-meisner wants to merge 12 commits into
mainfrom
upgrade-ckeditor5-to-v48

Conversation

@jens-meisner
Copy link
Copy Markdown
Contributor

No description provided.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Upgrades the workspace to CKEditor 5 v48 and aligns surrounding tooling (Node/PNPM, Playwright, Webpack config, and CI workflows) to keep the build and integration tests working with the newer CKEditor/toolchain.

Changes:

  • Bump ckeditor5 and related CKEditor dev tooling versions in the workspace catalog; add a large set of dependency overrides.
  • Update Node/PNPM engine requirements and CI workflow action versions / Node versions.
  • Adjust Webpack SVG handling and loosen some Playwright integration test assertions to accommodate the upgrade.

Reviewed changes

Copilot reviewed 14 out of 15 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
pnpm-workspace.yaml Updates catalog dependency versions for CKEditor/tooling and adds extensive dependency overrides.
package.json Bumps workspace engine requirements for Node and PNPM.
itest/src/PasteButton.test.ts Updates Playwright assertions/locators for paste-via-keyboard behavior and button handling.
itest/src/ContentLink.test.ts Adjusts keyboard flow and link assertion strategy for content-link suggestions test.
itest/package.json Removes per-package engines (presumably relying on root engines).
app/webpack.config.js Updates CKEditor dev-utils usage, removes license banner injection, replaces CKEditor icon loader with asset/source SVG handling.
app/package.json Removes per-package engines and drops raw-loader from devDependencies.
.github/workflows/unpublish.yml Updates actions/checkout major version.
.github/workflows/release.yml Bumps Node/PNPM versions used for release and updates checkout/setup-node actions.
.github/workflows/pre-release.yml Bumps Node/PNPM versions and updates checkout/setup-node actions.
.github/workflows/pre-release-gc.yml Updates checkout/setup-node actions.
.github/workflows/get-version.yml Updates setup-node action.
.github/workflows/codeql-analysis.yml Updates checkout action.
.github/workflows/build.yml Updates setup-node action.
Comments suppressed due to low confidence (1)

app/webpack.config.js:84

  • The CKEditor license banner injection was removed (previously via webpack.BannerPlugin with bundler.getLicenseBanner()). This means the generated bundle will no longer contain that license header. If you rely on it for license/compliance or to satisfy CKEditor build recommendations, add an alternative banner mechanism compatible with the new @ckeditor/ckeditor5-dev-utils version (or document why it’s no longer needed).
  plugins: [
    new CKEditorTranslationsPlugin({
      // UI language. Language codes follow the https://en.wikipedia.org/wiki/ISO_639-1 format.
      // When changing the built-in language, remember to also change it in the editor's configuration (src/ckeditor.js).
      language: "en",
      additionalLanguages: ["de"],
      sourceFilesPattern: "[/\\]ckeditor5/translations/[a-z]{2}.js",
    }),
    new CircularDependencyPlugin({
      exclude: /node_modules/,
      failOnError: true,
    }),
    new webpack.DefinePlugin({
      CKEDITOR_LICENSE_KEY: JSON.stringify(process.env.CKEDITOR_LICENSE_KEY),
    }),
  ],

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread pnpm-workspace.yaml
'@ckeditor/ckeditor5-dev-translations': ^55.6.1
'@ckeditor/ckeditor5-dev-utils': ^55.6.1
'@ckeditor/ckeditor5-inspector': ^5.0.0
'@ckeditor/ckeditor5-theme-lark': 47.6.2
Comment thread pnpm-workspace.yaml
Comment on lines +123 to +138
axios@>=1.0.0 <1.12.0: '>=1.12.0'
axios@>=1.0.0 <1.15.0: '>=1.15.0'
axios@>=1.0.0 <1.15.1: '>=1.15.1'
axios@>=1.0.0 <1.15.2: '>=1.15.2'
axios@>=1.0.0 <1.8.2: '>=1.8.2'
axios@>=1.0.0 <=1.13.4: '>=1.13.5'
body-parser@>=2.2.0 <2.2.1: '>=2.2.1'
brace-expansion@<1.1.13: '>=1.1.13'
brace-expansion@>=1.0.0 <=1.1.11: '>=1.1.12'
brace-expansion@>=2.0.0 <2.0.3: '>=2.0.3'
brace-expansion@>=2.0.0 <=2.0.1: '>=2.0.2'
diff@>=4.0.0 <4.0.4: '>=4.0.4'
esbuild@<=0.24.2: '>=0.25.0'
fast-uri@<=3.1.0: '>=3.1.1'
fast-uri@<=3.1.1: '>=3.1.2'
flatted@<3.4.0: '>=3.4.0'
});

const contentName: string = contentMock[0].name as string;
await page.getByRole("link", { name: contentName }).waitFor();

const contentLink = view.locator.locator(`a`);
await expect(contentLink).toHaveText("Some Folder");
await page.getByRole("link", { name: "Some Folder" }).waitFor();
Comment thread package.json
Comment on lines 10 to 13
"engines": {
"node": "^22.3.0",
"pnpm": "^10.9"
"node": "^24.11.1",
"pnpm": "^10.24.0"
},
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants