diff --git a/.github/workflows/main-docker.yml b/.github/workflows/main-docker.yml index f06e7b3e9..2fe298217 100644 --- a/.github/workflows/main-docker.yml +++ b/.github/workflows/main-docker.yml @@ -111,6 +111,9 @@ jobs: - dockerfile: Dockerfile platform: linux/arm/v7 image: ubuntu-24.04-arm + - dockerfile: Dockerfile + platform: linux/arm/v8 + image: ubuntu-24.04-arm runs-on: ${{ matrix.image }} needs: - test_docker diff --git a/_regroup/bin/build-docker.sh b/_regroup/bin/build-docker.sh deleted file mode 100644 index d95c289d4..000000000 --- a/_regroup/bin/build-docker.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash - -set -e # Fail on any command error - -VERSION=`jq -r ".version" package.json` -SERIES=${VERSION:0:4}-latest - -sudo docker build -t triliumnext/notes:$VERSION --network host -t triliumnext/notes:$SERIES . - -if [[ $VERSION != *"beta"* ]]; then - sudo docker tag triliumnext/notes:$VERSION triliumnext/notes:latest -fi diff --git a/_regroup/package.json b/_regroup/package.json index 2157ad9df..444597799 100644 --- a/_regroup/package.json +++ b/_regroup/package.json @@ -36,7 +36,7 @@ }, "devDependencies": { "@playwright/test": "1.52.0", - "@stylistic/eslint-plugin": "4.4.0", + "@stylistic/eslint-plugin": "4.4.1", "@types/express": "5.0.1", "@types/node": "22.15.29", "@types/yargs": "17.0.33", diff --git a/apps/client/package.json b/apps/client/package.json index 752eca730..94f1a0ed3 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -64,7 +64,7 @@ "@types/leaflet-gpx": "1.3.7", "@types/mark.js": "8.11.12", "@types/react": "19.1.6", - "@types/react-dom": "19.1.5", + "@types/react-dom": "19.1.6", "copy-webpack-plugin": "13.0.0", "happy-dom": "17.6.3", "script-loader": "0.7.2", diff --git a/apps/client/src/menus/context_menu.ts b/apps/client/src/menus/context_menu.ts index 7d0bc0a2f..a8a37f462 100644 --- a/apps/client/src/menus/context_menu.ts +++ b/apps/client/src/menus/context_menu.ts @@ -192,13 +192,16 @@ class ContextMenu { // it's important to stop the propagation especially for sub-menus, otherwise the event // might be handled again by top-level menu return false; - }) - .on("mouseup", (e) =>{ + }); + + if (!this.isMobile) { + $item.on("mouseup", (e) =>{ e.stopPropagation(); // Hide the content menu on mouse up to prevent the mouse event from propagating to the elements below. this.hide(); return false; }); + } if ("enabled" in item && item.enabled !== undefined && !item.enabled) { $item.addClass("disabled"); diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 7c9813963..33948c6b6 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -17,7 +17,7 @@ "@types/electron-squirrel-startup": "1.0.2", "@triliumnext/server": "workspace:*", "copy-webpack-plugin": "13.0.0", - "electron": "36.3.2", + "electron": "36.4.0", "@electron-forge/cli": "7.8.1", "@electron-forge/maker-deb": "7.8.1", "@electron-forge/maker-dmg": "7.8.1", diff --git a/apps/edit-docs/demo/!!!meta.json b/apps/edit-docs/demo/!!!meta.json index 178f5bd51..166afb625 100644 --- a/apps/edit-docs/demo/!!!meta.json +++ b/apps/edit-docs/demo/!!!meta.json @@ -454,19 +454,19 @@ "isInheritable": false, "position": 10 }, - { - "type": "relation", - "name": "child:child:child:template", - "value": "kr6HIBBuXRwm", - "isInheritable": false, - "position": 20 - }, { "type": "label", "name": "iconClass", "value": "bx bx-calendar", "isInheritable": false, "position": 30 + }, + { + "type": "relation", + "name": "dateTemplate", + "value": "kr6HIBBuXRwm", + "isInheritable": false, + "position": 20 } ], "format": "html", diff --git a/apps/edit-docs/demo/root/Trilium Demo.html b/apps/edit-docs/demo/root/Trilium Demo.html index a99649f5e..59ef348b7 100644 --- a/apps/edit-docs/demo/root/Trilium Demo.html +++ b/apps/edit-docs/demo/root/Trilium Demo.html @@ -18,22 +18,28 @@ height="150">
Welcome to TriliumNext Notes! +
This is initial "demo" document provided by TriliumNext by default to showcase some of its features and also give you some ideas how you might structure your notes. You can play with it, modify note content and tree structure as you wish.
If you need any help, visit TriliumNext website: https://github.com/TriliumNext +
Once you're finished with experimenting and want to cleanup these pages, you can simply delete them all.
TriliumNext supports classic formatting like italic, bold, bold and italic. Of course you can add links like this one pointing to google.com +
Lists
Ordered: +
Unordered: +
… here put main characters …
… describe main plot lines …
scifi / drama / romance
Checkout Kindle daily deals: https://www.amazon.com/gp/feature.html?docId=1000677541 +
For larger pieces of code it is better to use a code note, which uses a fully-fledged code editor (CodeMirror). For an example of a code note, see Custom request handler.
diff --git a/apps/edit-docs/demo/root/Trilium Demo/Formatting examples/Math.html b/apps/edit-docs/demo/root/Trilium Demo/Formatting examples/Math.html index 54a28f3ff..e646e00b4 100644 --- a/apps/edit-docs/demo/root/Trilium Demo/Formatting examples/Math.html +++ b/apps/edit-docs/demo/root/Trilium Demo/Formatting examples/Math.html @@ -15,7 +15,9 @@\(% \f is defined as #1f(#2) using the macro \f\relax{x} = \int_{-\infty}^\infty \f\hat\xi\,e^{2 \pi i \xi x} \,d\xi\)Some math examples:
\[\displaystyle \frac{1}{\Bigl(\sqrt{\phi \sqrt{5}}-\phi\Bigr) e^{\frac25 \pi}} = 1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {1+\frac{e^{-6\pi}} {1+\frac{e^{-8\pi}} {1+\cdots} } } }\] +Another:
\[\displaystyle \left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right)\] +Inline math is also possible: \(c^2 = a^2 + b^2\)
This page demonstrates two things:
You can read some explanation on how this journal works here: https://github.com/zadam/trilium/wiki/Day-notes +
Wiki: https://en.wikipedia.org/wiki/Trusted_timestamping +
Bozho: https://techblog.bozho.net/using-trusted-timestamping-java/ +
Trusted timestamping is the process of securely keeping track of the creation and modification time of a document. Security here diff --git a/apps/edit-docs/demo/root/Trilium Demo/Journal/2021/12 - December/18 - Monday.html b/apps/edit-docs/demo/root/Trilium Demo/Journal/2021/12 - December/18 - Monday.html index ae490681e..3722a62c0 100644 --- a/apps/edit-docs/demo/root/Trilium Demo/Journal/2021/12 - December/18 - Monday.html +++ b/apps/edit-docs/demo/root/Trilium Demo/Journal/2021/12 - December/18 - Monday.html @@ -16,6 +16,7 @@
Miscellaneous notes done on monday ...
Interesting video: https://www.youtube.com/watch?v=_eSAF_qT_FY&feature=youtu.be +
diff --git a/apps/edit-docs/demo/root/Trilium Demo/Journal/2021/12 - December/19 - Tuesday.html b/apps/edit-docs/demo/root/Trilium Demo/Journal/2021/12 - December/19 - Tuesday.html index f0309b26d..487b71530 100644 --- a/apps/edit-docs/demo/root/Trilium Demo/Journal/2021/12 - December/19 - Tuesday.html +++ b/apps/edit-docs/demo/root/Trilium Demo/Journal/2021/12 - December/19 - Tuesday.html @@ -18,6 +18,7 @@
Maybe CodeNames? https://boardgamegeek.com/boardgame/178900/codenames +
This is a simple TODO/Task manager. You can see some description and explanation here: https://github.com/zadam/trilium/wiki/Task-manager +
Please note that this is meant as scripting example only and feature/bug support is very limited.
diff --git a/apps/edit-docs/demo/root/Trilium Demo/Scripting examples/Task manager/Done/Buy a board game for Alice.html b/apps/edit-docs/demo/root/Trilium Demo/Scripting examples/Task manager/Done/Buy a board game for Alice.html index 9cda89645..65b1819f2 100644 --- a/apps/edit-docs/demo/root/Trilium Demo/Scripting examples/Task manager/Done/Buy a board game for Alice.html +++ b/apps/edit-docs/demo/root/Trilium Demo/Scripting examples/Task manager/Done/Buy a board game for Alice.html @@ -18,6 +18,7 @@ width="209" height="300">Maybe CodeNames? https://boardgamegeek.com/boardgame/178900/codenames +
https://en.wikipedia.org/wiki/The_Black_Swan:_The_Impact_of_the_Highly_Improbable +
The Black Swan: The Impact of the Highly Improbable is a 2007 book by author and former options trader diff --git a/apps/edit-docs/demo/root/Trilium Demo/Tech/Linux/Bash scripting.html b/apps/edit-docs/demo/root/Trilium Demo/Tech/Linux/Bash scripting.html index aaa6cd1ad..55c1364be 100644 --- a/apps/edit-docs/demo/root/Trilium Demo/Tech/Linux/Bash scripting.html +++ b/apps/edit-docs/demo/root/Trilium Demo/Tech/Linux/Bash scripting.html @@ -25,6 +25,7 @@ and Apple's macOS (formerly OS X). A version is also available for Windows 10.
As a "login shell", Bash reads and sets (executes) the user's profile from /etc/profile and one of ~/.bash_profile, ~/.bash_login, or ~/.profile (in that order, using the first one that's readable!).
@@ -23,6 +24,7 @@ that only make sense for the initial user login. That's why all UNIX® shells have (should have) a "login" mode.Methods to start Bash as a login shell: +
Methods to test for login shell mode: +
Related switches: +
When Bash starts as an interactive non-login shell, it reads and executes commands from ~/.bashrc. This file should contain, for example, aliases, since they need to be defined in every shell as they're not inherited from @@ -51,11 +56,13 @@ The classic way to have a system-wide rc file is to source /etc/bashrc from every user's ~/.bashrc.
Methods to test for interactive-shell mode: +
Related switches: +
When Bash starts in SH compatiblity mode, it tries to mimic the startup behaviour of historical versions of sh as closely as possible, while conforming to the POSIX® standard as well. The profile files read are /etc/profile @@ -74,6 +82,7 @@ file.
After the startup files are read, Bash enters the POSIX(r) compatiblity mode (for running, not for starting!).
Bash starts in sh compatiblity mode when: +
Documentation: http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_09_02.html +
#!/bin/bash
# This script opens 4 terminal windows.
diff --git a/apps/edit-docs/demo/root/Trilium Demo/Tech/Node.js/Overview/Platform architecture.html b/apps/edit-docs/demo/root/Trilium Demo/Tech/Node.js/Overview/Platform architecture.html
index 1a977bccc..4b51ab5be 100644
--- a/apps/edit-docs/demo/root/Trilium Demo/Tech/Node.js/Overview/Platform architecture.html
+++ b/apps/edit-docs/demo/root/Trilium Demo/Tech/Node.js/Overview/Platform architecture.html
@@ -20,6 +20,7 @@
href="https://en.wikipedia.org/wiki/Node.js#cite_note-b1-31">[31]Developers can create scalable servers without using threading,
by using a simplified model of event-driven programming that
uses callbacks to signal the completion of a task.[31]
+
Week and quarter notes are disabled by default, since it might be too
- much for some people. To enable them, you need to set #enableWeekNotes
and #enableQuarterNotes
attributes
+ much for some people. To enable them, you need to set #enableWeekNote
and #enableQuarterNote
attributes
on the root calendar note, which is identified by #calendarRoot
label.
Week note is affected by the first week of year option. Be careful when
you already have some week notes created, it will not automatically change
@@ -40,15 +40,26 @@
(identified by #calendarRoot
label):
#enableQuarterNotes
is set)#enableQuarterNote
is set)#enableWeekNotes
is set)#enableWeekNote
is set)All of these are relations. When Trilium creates a new note for year or
month or date, it will take a look at the root and attach a corresponding ~template
relation
to the newly created role. Using this, you can e.g. create your daily template
with e.g. checkboxes for daily routine etc.
If you have been using Journal prior to version v0.93.0, the previous
+ template pattern likely used was ~child:template=
.
+
To transition to the new system:
child:template
and child:child:template
from
+ all notes under the Journal (calendar root).You can customize the title of generated journal notes by defining a #datePattern
, #weekPattern
, #monthPattern
, #quarterPattern
and #yearPattern
attribute
on a root calendar note (identified by #calendarRoot
label).
@@ -138,9 +149,4 @@
Trilium has some special support for day notes in the form of backend Script API - see e.g. getDayNote() function.
Day (and year, month) notes are created with a label - e.g. #dateNote="2025-03-09"
this
- can then be used by other scripts to add new notes to day note etc.
Journal also has relation child:child:child:template=Day template
(see
- [[attribute inheritance]]) which effectively adds [[template]] to day notes
- (grand-grand-grand children of Journal). Please note that, when you enable
- week notes or quarter notes, it will not automatically change the relation
- for the child level.
#workspaceTemplate
to display
them only in the workspace.
Templates can also be added or changed after note creation by creating
- a ~template
relation pointing to the desired template note.
~template
relation pointing to the desired template note.
+To specify a template for child notes, you can use a ~child:template
relation
+ pointing to the appropriate template note. There is no limit to the depth
+ of the hierarchy — you can use ~child:child:template
, ~child:child:child:template
,
+ and so on.
From a visual perspective, templates can define #iconClass
and #cssClass
attributes,
allowing all instance notes (e.g., books) to display a specific icon and
diff --git a/apps/server/src/becca/becca_loader.ts b/apps/server/src/becca/becca_loader.ts
index 44e3a9ce2..a968b1430 100644
--- a/apps/server/src/becca/becca_loader.ts
+++ b/apps/server/src/becca/becca_loader.ts
@@ -65,8 +65,16 @@ function load() {
new BEtapiToken(row);
}
- for (const row of sql.getRows${title}${content.substr(attachmentMatch.index + attachmentMatch[0].length)}`;
+ content = `${content.substring(0, attachmentMatch.index)}${title}${content.substring(attachmentMatch.index + attachmentMatch[0].length)}`;
}
// removing absolute references to server to keep it working between instances,
diff --git a/apps/server/src/share/routes.spec.ts b/apps/server/src/share/routes.spec.ts
index 3cde4be23..987d1b12a 100644
--- a/apps/server/src/share/routes.spec.ts
+++ b/apps/server/src/share/routes.spec.ts
@@ -33,4 +33,13 @@ describe("Share API test", () => {
expect(cannotSetHeadersCount).toBe(0);
});
+ it("renders custom share template", async () => {
+ const response = await supertest(app)
+ .get("/share/pQvNLLoHcMwH")
+ .expect(200);
+ expect(cannotSetHeadersCount).toBe(0);
+ expect(response.text).toContain("Content Start");
+ expect(response.text).toContain("Content End");
+ });
+
});
diff --git a/apps/server/src/share/routes.ts b/apps/server/src/share/routes.ts
index ee36621ed..614cd2101 100644
--- a/apps/server/src/share/routes.ts
+++ b/apps/server/src/share/routes.ts
@@ -16,6 +16,7 @@ import type SBranch from "./shaca/entities/sbranch.js";
import type SAttachment from "./shaca/entities/sattachment.js";
import utils, { isDev, safeExtractMessageAndStackFromError } from "../services/utils.js";
import options from "../services/options.js";
+import { t } from "i18next";
function getSharedSubTreeRoot(note: SNote): { note?: SNote; branch?: SBranch } {
if (note.noteId === shareRoot.SHARE_ROOT_NOTE_ID) {
@@ -135,7 +136,7 @@ function renderImageAttachment(image: SNote, res: Response, attachmentName: stri
}
function register(router: Router) {
- function renderNote(note: SNote, req: Request, res: Response) {
+ async function renderNote(note: SNote, req: Request, res: Response) {
if (!note) {
console.log("Unable to find note ", note);
res.status(404).render("share/404");
@@ -167,7 +168,8 @@ function register(router: Router) {
subRoot,
assetPath: isDev ? assetPath : `../${assetPath}`,
appPath: isDev ? appPath : `../${appPath}`,
- showLoginInShareTheme
+ showLoginInShareTheme,
+ t
};
let useDefaultView = true;
@@ -182,7 +184,7 @@ function register(router: Router) {
// EJS caches the result of this so we don't need to pre-cache
const includer = (path: string) => {
const childNote = templateNote.children.find((n) => path === n.title);
- if (!childNote) throw new Error("Unable to find child note.");
+ if (!childNote) throw new Error(`Unable to find child note: ${path}.`);
if (childNote.type !== "code" || childNote.mime !== "application/x-ejs") throw new Error("Incorrect child note type.");
const template = childNote.getContent();
@@ -195,11 +197,10 @@ function register(router: Router) {
try {
const content = templateNote.getContent();
if (typeof content === "string") {
- import("ejs").then((ejs) => {
- const ejsResult = ejs.render(content, opts, { includer });
- res.send(ejsResult);
- useDefaultView = false; // Rendering went okay, don't use default view
- });
+ const ejs = await import("ejs");
+ const ejsResult = ejs.render(content, opts, { includer });
+ res.send(ejsResult);
+ useDefaultView = false; // Rendering went okay, don't use default view
}
} catch (e: unknown) {
const [errMessage, errStack] = safeExtractMessageAndStackFromError(e);
diff --git a/docs/User Guide/!!!meta.json b/docs/User Guide/!!!meta.json
index c6ccb941d..db52b1496 100644
--- a/docs/User Guide/!!!meta.json
+++ b/docs/User Guide/!!!meta.json
@@ -9341,6 +9341,13 @@
"isInheritable": false,
"position": 50
},
+ {
+ "type": "relation",
+ "name": "internalLink",
+ "value": "ivYnonVFBxbQ",
+ "isInheritable": false,
+ "position": 60
+ },
{
"type": "label",
"name": "shareAlias",
diff --git a/docs/User Guide/User Guide/Advanced Usage/Advanced Showcases/Day Notes.md b/docs/User Guide/User Guide/Advanced Usage/Advanced Showcases/Day Notes.md
index b13027f14..798a857d2 100644
--- a/docs/User Guide/User Guide/Advanced Usage/Advanced Showcases/Day Notes.md
+++ b/docs/User Guide/User Guide/Advanced Usage/Advanced Showcases/Day Notes.md
@@ -19,7 +19,7 @@ You can also notice how this day note has [promoted attribute](../Attributes/Pro
## Week Note and Quarter Note
-Week and quarter notes are disabled by default, since it might be too much for some people. To enable them, you need to set `#enableWeekNotes` and `#enableQuarterNotes` attributes on the root calendar note, which is identified by `#calendarRoot` label. Week note is affected by the first week of year option. Be careful when you already have some week notes created, it will not automatically change the existing week notes and might lead to some duplicates.
+Week and quarter notes are disabled by default, since it might be too much for some people. To enable them, you need to set `#enableWeekNote` and `#enableQuarterNote` attributes on the root calendar note, which is identified by `#calendarRoot` label. Week note is affected by the first week of year option. Be careful when you already have some week notes created, it will not automatically change the existing week notes and might lead to some duplicates.
## Templates
@@ -28,13 +28,22 @@ Trilium provides [template](../Templates.md) functionality, and it could be used
You can define one of the following relations on the root of the journal (identified by `#calendarRoot` label):
* yearTemplate
-* quarterTemplate (if `#enableQuarterNotes` is set)
+* quarterTemplate (if `#enableQuarterNote` is set)
* monthTemplate
-* weekTemplate (if `#enableWeekNotes` is set)
+* weekTemplate (if `#enableWeekNote` is set)
* dateTemplate
All of these are relations. When Trilium creates a new note for year or month or date, it will take a look at the root and attach a corresponding `~template` relation to the newly created role. Using this, you can e.g. create your daily template with e.g. checkboxes for daily routine etc.
+### Migrate from old template usage
+
+If you have been using Journal prior to version v0.93.0, the previous template pattern likely used was `~child:template=`.
+To transition to the new system:
+
+1. Set up the new template pattern in the Calendar root note.
+2. Use [Bulk Actions](../Bulk%20Actions.md) to remove `child:template` and `child:child:template` from all notes under the Journal (calendar root).
+3. Ensure that all old template patterns are fully removed to prevent conflicts with the new setup.
+
## Naming pattern
You can customize the title of generated journal notes by defining a `#datePattern`, `#weekPattern`, `#monthPattern`, `#quarterPattern` and `#yearPattern` attribute on a root calendar note (identified by `#calendarRoot` label). The naming pattern replacements follow a level-up compatibility - each level can use replacements from itself and all levels above it. For example, `#monthPattern` can use month, quarter and year replacements, while `#weekPattern` can use week, month, quarter and year replacements. But it is not possible to use week replacements in `#monthPattern`.
@@ -98,6 +107,4 @@ The default is `{year}`
Trilium has some special support for day notes in the form of [backend Script API](https://triliumnext.github.io/Notes/backend_api/BackendScriptApi.html) - see e.g. getDayNote() function.
-Day (and year, month) notes are created with a label - e.g. `#dateNote="2025-03-09"` this can then be used by other scripts to add new notes to day note etc.
-
-Journal also has relation `child:child:child:template=Day template` (see \[\[attribute inheritance\]\]) which effectively adds \[\[template\]\] to day notes (grand-grand-grand children of Journal). Please note that, when you enable week notes or quarter notes, it will not automatically change the relation for the child level.
\ No newline at end of file
+Day (and year, month) notes are created with a label - e.g. `#dateNote="2025-03-09"` this can then be used by other scripts to add new notes to day note etc.
\ No newline at end of file
diff --git a/docs/User Guide/User Guide/Advanced Usage/Templates.md b/docs/User Guide/User Guide/Advanced Usage/Templates.md
index 8ead4563d..88737e4a0 100644
--- a/docs/User Guide/User Guide/Advanced Usage/Templates.md
+++ b/docs/User Guide/User Guide/Advanced Usage/Templates.md
@@ -25,7 +25,13 @@ To create an instance note through the UI:
For the template to appear in the menu, the template note must have the `#template` label. Do not confuse this with the `~template` relation, which links the instance note to the template note. If you use [workspaces](../Basic%20Concepts%20and%20Features/Navigation/Workspaces.md), you can also mark templates with `#workspaceTemplate` to display them only in the workspace.
-Templates can also be added or changed after note creation by creating a `~template` relation pointing to the desired template note.
+Templates can also be added or changed after note creation by creating a `~template` relation pointing to the desired template note.
+
+To specify a template for child notes, you can use a `~child:template` relation pointing to the appropriate template note. There is no limit to the depth of the hierarchy — you can use `~child:child:template`, `~child:child:child:template`, and so on.
+
+> [!IMPORTANT]
+> Changing the template hierarchy after the parent note is created will not retroactively apply to newly created child notes.
+> For example, if you initially use `~child:template` and later switch to `~child:child:template`, it will not automatically apply the new template to the grandchild notes. Only the structure present at the time of note creation is considered.
## Additional Notes
diff --git a/packages/ckeditor5-admonition/package.json b/packages/ckeditor5-admonition/package.json
index 1bcb3570f..1a1e7b857 100644
--- a/packages/ckeditor5-admonition/package.json
+++ b/packages/ckeditor5-admonition/package.json
@@ -34,12 +34,12 @@
"devDependencies": {
"@ckeditor/ckeditor5-dev-build-tools": "43.0.1",
"@ckeditor/ckeditor5-inspector": ">=4.1.0",
- "@ckeditor/ckeditor5-package-tools": "^3.0.1",
+ "@ckeditor/ckeditor5-package-tools": "^4.0.0",
"@typescript-eslint/eslint-plugin": "~8.33.0",
"@typescript-eslint/parser": "^8.0.0",
"@vitest/browser": "^3.0.5",
"@vitest/coverage-istanbul": "^3.0.5",
- "ckeditor5": "45.1.0",
+ "ckeditor5": "45.2.0",
"eslint": "^9.0.0",
"eslint-config-ckeditor5": ">=9.1.0",
"http-server": "^14.1.0",
@@ -53,7 +53,7 @@
"webdriverio": "^9.0.7"
},
"peerDependencies": {
- "ckeditor5": "45.1.0"
+ "ckeditor5": "45.2.0"
},
"author": "Elian Doran