Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ jobs:
run_install: false
- id: installNodeJs
name: "Install: Use Node.js ${{ env.nodeVersion }}"
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: ${{ env.nodeVersion }}
cache: "pnpm"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v5

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/get-version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ jobs:
run_install: false
- id: installNodeJs
name: "Install: Use Node.js ${{ env.nodeVersion }}"
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: ${{ env.nodeVersion }}
cache: "pnpm"
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/pre-release-gc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v3
uses: actions/checkout@v5
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: ${{ env.NODE_VERSION }}
- name: Set up .npmrc
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/pre-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ on:
workflow_dispatch:

env:
NODE_VERSION: 22
NODE_VERSION: 24
# https://github.com/actions/runner-images/issues/70
NODE_OPTIONS: "--max_old_space_size=4096"
PNPM_VERSION: ^10.9
PNPM_VERSION: ^10.24
NPM_CONFIG_@coremedia:registry: 'https://repository.coremedia.com/nexus/repository/coremedia-npm'
NPM_CONFIG_@coremedia-internal:registry: 'https://repository.coremedia.com/nexus/repository/coremedia-npm'

Expand All @@ -29,7 +29,7 @@ jobs:
if: (github.event_name != 'workflow_dispatch' || github.ref != 'refs/heads/main') && !github.event.pull_request.draft
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v5
- name: Allocate PR Number for manual trigger
id: read-prnumber
if: github.event_name == 'workflow_dispatch'
Expand All @@ -38,7 +38,7 @@ jobs:
echo "Allocated Pull Request number ${prnumber}"
echo "::set-output name=prnumber::${prnumber}"
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: ${{ env.NODE_VERSION }}
- name: Configure NPM
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ on:
permissions:
contents: write
env:
NODE_VERSION: 22
NODE_VERSION: 24
# https://github.com/actions/runner-images/issues/70
NODE_OPTIONS: "--max_old_space_size=4096"
PNPM_VERSION: ^10.9
PNPM_VERSION: ^10.24
NPM_CONFIG_@coremedia:registry: 'https://repository.coremedia.com/nexus/repository/coremedia-npm'
NPM_CONFIG_@coremedia-internal:registry: 'https://repository.coremedia.com/nexus/repository/coremedia-npm'

Expand All @@ -37,7 +37,7 @@ jobs:
if: github.actor != 'coremedia-ci' && github.actor != 'github-action[bot]'
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v5
- name: Manual workflow trigger precondition check
if: github.event_name == 'workflow_dispatch' && (github.ref != 'refs/heads/main' && !startsWith(github.ref, 'refs/heads/maintenance/'))
run: |
Expand All @@ -57,7 +57,7 @@ jobs:
echo "For maintenance branches only patch versions are allowed."
exit 1
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: ${{ env.NODE_VERSION }}
- name: Configure NPM
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/unpublish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v5
- name: Resolve NPM_AUTH_TOKEN
run: |
NPM_AUTH_TOKEN=$(curl -s -H "Accept: application/json" -H "Content-Type:application/json" -X PUT --data '{"name": "${{ secrets.PLUGINS_NEXUS_USER }}", "password": "${{ secrets.PLUGINS_NEXUS_PASSWORD }}"}' https://repository.coremedia.com/nexus/repository/coremedia-npm/-/user/org.couchdb.user:${{ secrets.PLUGINS_NEXUS_USER }} | jq -r .token)
Expand Down
5 changes: 0 additions & 5 deletions app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,6 @@
"url": "https://coremedia.com/",
"avatar": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2OTguNjY3IiBoZWlnaHQ9IjY5OC42NjciIHZlcnNpb249IjEuMCIgdmlld0JveD0iMCAwIDUyNCA1MjQiPjxwYXRoIGQ9Ik0yODIuNS42QzI0NSA0LjUgMjE1LjEgMTIuOSAxODUgMjcuOSAxMDYuNCA2Ny4yIDUzLjUgMTQyLjEgNDIuNCAyMjkuNWMtMi4xIDE3LjItMi4yIDQ4IDAgNjQuMUM0OCAzMzYuMiA2MS4zIDM3Mi4yIDg0IDQwNi4zYzYxLjkgOTMuMSAxNzUuNCAxMzYuNCAyODUgMTA4LjcgMTkuMi00LjggMzMuNy0xMC4zIDUzLjItMjAuMSAyMS0xMC41IDQyLjUtMjUuMyA1OC4zLTQwLjJsOC03LjYtMjEuNS0yMS42Yy0yMy42LTIzLjgtMjcuMS0yNi43LTM4LjYtMzIuNC0yMi40LTExLjItNDQuNy0xMS42LTcxLjctMS41LTE4LjYgNy0zMC40IDkuNC00OC43IDEwLjEtMTMgLjQtMTcuNS4yLTI3LjgtMS42LTMwLjUtNS4yLTU1LTE3LjgtNzYuOC0zOS41LTMzLjYtMzMuNi00Ny44LTgwLjQtMzguNC0xMjYuNCAxMC4yLTUwLjUgNDYuMi05MC41IDk1LjItMTA2LjEgMzEuNy0xMC4xIDY0LjItOC44IDk2LjYgMy45IDEyLjggNC45IDIyLjcgNyAzNC4xIDcgMTYuNCAwIDMxLjItNC4yIDQ1LjEtMTIuNyA1LjUtMy40IDEzLjYtMTAuNyAzMC40LTI3LjNsMjIuOC0yMi42LTkuMy04LjRjLTM5LjgtMzUuNC04NS42LTU3LTEzOC40LTY1LjEtMTIuNS0yLTQ4LjctMy4zLTU5LTIuM3oiLz48cGF0aCBkPSJNMjk2IDIxOC4xYy0yOC4zIDQuOC00NC4zIDM1LjQtMzIuMSA2MS40IDcuOSAxNyAyNy4yIDI3LjQgNDUuNCAyNC41IDI4LjktNC42IDQ1LjEtMzUuMiAzMi43LTYxLjctOC0xNy4yLTI3LjMtMjcuMy00Ni0yNC4yeiIvPjwvc3ZnPg=="
},
"engines": {
"node": "^22.3.0",
"pnpm": "^10.9"
},
"license": "Apache-2.0",
"private": true,
"dependencies": {
Expand Down Expand Up @@ -52,7 +48,6 @@
"http-server": "catalog:",
"postcss": "catalog:",
"postcss-loader": "catalog:",
"raw-loader": "catalog:",
"rimraf": "catalog:",
"source-map-loader": "catalog:",
"style-loader": "catalog:",
Expand Down
12 changes: 6 additions & 6 deletions app/webpack.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import path from "path";
import webpack from "webpack";
import { bundler, loaders } from "@ckeditor/ckeditor5-dev-utils";
import { loaders } from "@ckeditor/ckeditor5-dev-utils";
import { CKEditorTranslationsPlugin } from "@ckeditor/ckeditor5-dev-translations";
import TerserPlugin from "terser-webpack-plugin";
import CircularDependencyPlugin from "circular-dependency-plugin";
Expand Down Expand Up @@ -74,10 +74,6 @@ export default {
additionalLanguages: ["de"],
sourceFilesPattern: "[/\\]ckeditor5/translations/[a-z]{2}.js",
}),
new webpack.BannerPlugin({
banner: bundler.getLicenseBanner(),
raw: true,
}),
new CircularDependencyPlugin({
exclude: /node_modules/,
failOnError: true,
Expand All @@ -89,7 +85,11 @@ export default {

module: {
rules: [
loaders.getIconsLoader({ matchExtensionOnly: true }),
// Replaces raw-loader (deprecated, broken with ajv@8) with webpack 5 built-in asset/source
{
test: /\.svg$/,
type: "asset/source",
},
loaders.getStylesLoader({
themePath: import.meta.resolve("@ckeditor/ckeditor5-theme-lark"),
minify: true,
Expand Down
4 changes: 0 additions & 4 deletions itest/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,6 @@
"keywords": [
"coremedia"
],
"engines": {
"node": "^22.3.0",
"pnpm": "^10.9"
},
"license": "Apache-2.0",
"devDependencies": {
"@babel/core": "catalog:",
Expand Down
7 changes: 5 additions & 2 deletions itest/src/ContentLink.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,10 @@ describe("Content Link Feature", () => {

await view.locator.click();
const modifier: string = await ctrlOrMeta();

await page.keyboard.press(`${modifier}+a`);
await page.keyboard.press("Delete");

await page.keyboard.press(`${modifier}+k`);

const { linkFormView } = view.body.balloonPanel;
Expand All @@ -265,7 +269,6 @@ describe("Content Link Feature", () => {
await page.keyboard.press("Tab");
await page.keyboard.press("Enter");

const contentLink = view.locator.locator(`a`);
await expect(contentLink).toHaveText("Some Folder");
await page.getByRole("link", { name: "Some Folder" }).waitFor();
});
});
17 changes: 4 additions & 13 deletions itest/src/PasteButton.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -169,18 +169,9 @@ describe("Paste Button", () => {
await application.editor.ui.locator.click();
const controlOrMeta = await ctrlOrMeta();
await page.keyboard.press(`${controlOrMeta}+Shift+P`);
// Validate Editing Downcast
const { ui } = application.editor;
const editableHandle = await ui.getEditableElement();
const linkElements = await editableHandle.$$("a");

await waitForExpect(async () => {
await expect(linkElements).toHaveLength(1);
if (contentMock[0].name) {
const contentName: string = contentMock[0].name as string;
await expect(linkElements[0]).toHaveText(contentName);
}
});

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

Expand Down Expand Up @@ -248,7 +239,7 @@ describe("Paste Button", () => {
const inputElement = page.locator(inputElementSelector);
await inputElement.dblclick();
const pasteContentButton = page.locator(toolbarItemsLocator).locator(".paste-content-button");
await expect(pasteContentButton).toBeEnabled();
await pasteContentButton.waitFor();
await pasteContentButton.click();
}
});
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
"avatar": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2OTguNjY3IiBoZWlnaHQ9IjY5OC42NjciIHZlcnNpb249IjEuMCIgdmlld0JveD0iMCAwIDUyNCA1MjQiPjxwYXRoIGQ9Ik0yODIuNS42QzI0NSA0LjUgMjE1LjEgMTIuOSAxODUgMjcuOSAxMDYuNCA2Ny4yIDUzLjUgMTQyLjEgNDIuNCAyMjkuNWMtMi4xIDE3LjItMi4yIDQ4IDAgNjQuMUM0OCAzMzYuMiA2MS4zIDM3Mi4yIDg0IDQwNi4zYzYxLjkgOTMuMSAxNzUuNCAxMzYuNCAyODUgMTA4LjcgMTkuMi00LjggMzMuNy0xMC4zIDUzLjItMjAuMSAyMS0xMC41IDQyLjUtMjUuMyA1OC4zLTQwLjJsOC03LjYtMjEuNS0yMS42Yy0yMy42LTIzLjgtMjcuMS0yNi43LTM4LjYtMzIuNC0yMi40LTExLjItNDQuNy0xMS42LTcxLjctMS41LTE4LjYgNy0zMC40IDkuNC00OC43IDEwLjEtMTMgLjQtMTcuNS4yLTI3LjgtMS42LTMwLjUtNS4yLTU1LTE3LjgtNzYuOC0zOS41LTMzLjYtMzMuNi00Ny44LTgwLjQtMzguNC0xMjYuNCAxMC4yLTUwLjUgNDYuMi05MC41IDk1LjItMTA2LjEgMzEuNy0xMC4xIDY0LjItOC44IDk2LjYgMy45IDEyLjggNC45IDIyLjcgNyAzNC4xIDcgMTYuNCAwIDMxLjItNC4yIDQ1LjEtMTIuNyA1LjUtMy40IDEzLjYtMTAuNyAzMC40LTI3LjNsMjIuOC0yMi42LTkuMy04LjRjLTM5LjgtMzUuNC04NS42LTU3LTEzOC40LTY1LjEtMTIuNS0yLTQ4LjctMy4zLTU5LTIuM3oiLz48cGF0aCBkPSJNMjk2IDIxOC4xYy0yOC4zIDQuOC00NC4zIDM1LjQtMzIuMSA2MS40IDcuOSAxNyAyNy4yIDI3LjQgNDUuNCAyNC41IDI4LjktNC42IDQ1LjEtMzUuMiAzMi43LTYxLjctOC0xNy4yLTI3LjMtMjcuMy00Ni0yNC4yeiIvPjwvc3ZnPg=="
},
"engines": {
"node": "^22.3.0",
"pnpm": "^10.9"
"node": "^24.11.1",
"pnpm": "^10.24.0"
},
Comment on lines 10 to 13
"private": true,
"description": "Plugins required or recommended to use CKEditor 5 within CoreMedia Studio.",
Expand Down
Loading
Loading