From 5b6f544d2a4788c75b1612ea01bed7d6bbcd1b63 Mon Sep 17 00:00:00 2001
From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Date: Tue, 29 Apr 2025 13:04:24 +0200
Subject: [PATCH 1/3] build: restores some of the behavior from V13 in relation
to StaticAssets (#19189)
In v13, the StaticAssets build was only triggered based on the existence of either the output folder or a preserve.* marker file. Here, we also additionally check for the node_modules/.package-lock.json file before reinstalling npm dependencies. We also now only run `npm install` rather than `npm ci` to optimise the build.
---
.../Umbraco.Cms.StaticAssets.csproj | 77 +++++++++++++++----
1 file changed, 62 insertions(+), 15 deletions(-)
diff --git a/src/Umbraco.Cms.StaticAssets/Umbraco.Cms.StaticAssets.csproj b/src/Umbraco.Cms.StaticAssets/Umbraco.Cms.StaticAssets.csproj
index d6fbf7ab37..3193533266 100644
--- a/src/Umbraco.Cms.StaticAssets/Umbraco.Cms.StaticAssets.csproj
+++ b/src/Umbraco.Cms.StaticAssets/Umbraco.Cms.StaticAssets.csproj
@@ -26,23 +26,36 @@
-
+
+
+
+
+
+
+
+
..\Umbraco.Web.UI.Client\
- wwwroot\umbraco\backoffice
+ $(ProjectDir)wwwroot\umbraco\backoffice
-
-
-
-
+
+
+
+
+
-
+
+
+
+
+
+
@@ -61,27 +74,46 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
..\Umbraco.Web.UI.Login\
- wwwroot\umbraco\login
+ $(ProjectDir)wwwroot\umbraco\login
-
-
-
-
+
+
+
+
+
+
-
+
-
+
@@ -99,4 +131,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From 6300ccc2112fe15bfad0255cfb3c890a70d55943 Mon Sep 17 00:00:00 2001
From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Date: Tue, 29 Apr 2025 15:33:26 +0200
Subject: [PATCH 2/3] fix: The server path is not appended to stylesheets
before load in Backoffice (#19192)
* build(deps): bump tiptap from 2.11.5 to 2.11.7
* fix: prepends the system `/css` folder to stylesheets before attempting to load them
* fix: adds more safety around path assumptions
* chore: eslint fix
* fix: prepend only the system path to picked stylesheets
---
src/Umbraco.Web.UI.Client/package-lock.json | 278 +++++++++---------
src/Umbraco.Web.UI.Client/package.json | 30 +-
.../input-tiptap/input-tiptap.element.ts | 31 +-
3 files changed, 182 insertions(+), 157 deletions(-)
diff --git a/src/Umbraco.Web.UI.Client/package-lock.json b/src/Umbraco.Web.UI.Client/package-lock.json
index ad7dc71ba9..e7ca09668b 100644
--- a/src/Umbraco.Web.UI.Client/package-lock.json
+++ b/src/Umbraco.Web.UI.Client/package-lock.json
@@ -12,21 +12,21 @@
"./src/packages/*"
],
"dependencies": {
- "@tiptap/core": "2.11.5",
- "@tiptap/extension-character-count": "^2.11.5",
- "@tiptap/extension-image": "2.11.5",
- "@tiptap/extension-link": "2.11.5",
- "@tiptap/extension-placeholder": "2.11.5",
- "@tiptap/extension-subscript": "2.11.5",
- "@tiptap/extension-superscript": "2.11.5",
- "@tiptap/extension-table": "2.11.5",
- "@tiptap/extension-table-cell": "2.11.5",
- "@tiptap/extension-table-header": "2.11.5",
- "@tiptap/extension-table-row": "2.11.5",
- "@tiptap/extension-text-align": "2.11.5",
- "@tiptap/extension-underline": "2.11.5",
- "@tiptap/pm": "2.11.5",
- "@tiptap/starter-kit": "2.11.5",
+ "@tiptap/core": "2.11.7",
+ "@tiptap/extension-character-count": "2.11.7",
+ "@tiptap/extension-image": "2.11.7",
+ "@tiptap/extension-link": "2.11.7",
+ "@tiptap/extension-placeholder": "2.11.7",
+ "@tiptap/extension-subscript": "2.11.7",
+ "@tiptap/extension-superscript": "2.11.7",
+ "@tiptap/extension-table": "2.11.7",
+ "@tiptap/extension-table-cell": "2.11.7",
+ "@tiptap/extension-table-header": "2.11.7",
+ "@tiptap/extension-table-row": "2.11.7",
+ "@tiptap/extension-text-align": "2.11.7",
+ "@tiptap/extension-underline": "2.11.7",
+ "@tiptap/pm": "2.11.7",
+ "@tiptap/starter-kit": "2.11.7",
"@types/diff": "^7.0.1",
"@umbraco-ui/uui": "^1.13.0",
"@umbraco-ui/uui-css": "^1.13.0",
@@ -2534,9 +2534,9 @@
}
},
"node_modules/@tiptap/core": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.11.5.tgz",
- "integrity": "sha512-jb0KTdUJaJY53JaN7ooY3XAxHQNoMYti/H6ANo707PsLXVeEqJ9o8+eBup1JU5CuwzrgnDc2dECt2WIGX9f8Jw==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.11.7.tgz",
+ "integrity": "sha512-zN+NFFxLsxNEL8Qioc+DL6b8+Tt2bmRbXH22Gk6F6nD30x83eaUSFlSv3wqvgyCq3I1i1NO394So+Agmayx6rQ==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2547,9 +2547,9 @@
}
},
"node_modules/@tiptap/extension-blockquote": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.11.5.tgz",
- "integrity": "sha512-MZfcRIzKRD8/J1hkt/eYv49060GTL6qGR3NY/oTDuw2wYzbQXXLEbjk8hxAtjwNn7G+pWQv3L+PKFzZDxibLuA==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.11.7.tgz",
+ "integrity": "sha512-liD8kWowl3CcYCG9JQlVx1eSNc/aHlt6JpVsuWvzq6J8APWX693i3+zFqyK2eCDn0k+vW62muhSBe3u09hA3Zw==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2560,9 +2560,9 @@
}
},
"node_modules/@tiptap/extension-bold": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.11.5.tgz",
- "integrity": "sha512-OAq03MHEbl7MtYCUzGuwb0VpOPnM0k5ekMbEaRILFU5ZC7cEAQ36XmPIw1dQayrcuE8GZL35BKub2qtRxyC9iA==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.11.7.tgz",
+ "integrity": "sha512-VTR3JlldBixXbjpLTFme/Bxf1xeUgZZY3LTlt5JDlCW3CxO7k05CIa+kEZ8LXpog5annytZDUVtWqxrNjmsuHQ==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2573,9 +2573,9 @@
}
},
"node_modules/@tiptap/extension-bullet-list": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-2.11.5.tgz",
- "integrity": "sha512-VXwHlX6A/T6FAspnyjbKDO0TQ+oetXuat6RY1/JxbXphH42nLuBaGWJ6pgy6xMl6XY8/9oPkTNrfJw/8/eeRwA==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-2.11.7.tgz",
+ "integrity": "sha512-WbPogE2/Q3e3/QYgbT1Sj4KQUfGAJNc5pvb7GrUbvRQsAh7HhtuO8hqdDwH8dEdD/cNUehgt17TO7u8qV6qeBw==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2586,9 +2586,9 @@
}
},
"node_modules/@tiptap/extension-character-count": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-character-count/-/extension-character-count-2.11.5.tgz",
- "integrity": "sha512-Da2VGb7ClmKwXdQdQC2735qylYD8/MQAPA0skPEcHxcDTDuI8ibyIDnMPnczgS/hR5g0TYE2DQp/dkhJXeovkQ==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-character-count/-/extension-character-count-2.11.7.tgz",
+ "integrity": "sha512-gcVbKou+uxzg8N0BBKceLwtpWvN8g2TIjTuCdyAcAPukX63DqVWOkofFHn1RqZbstJmtF4pTGZs9OH/GJrp27Q==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2600,9 +2600,9 @@
}
},
"node_modules/@tiptap/extension-code": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-2.11.5.tgz",
- "integrity": "sha512-xOvHevNIQIcCCVn9tpvXa1wBp0wHN/2umbAZGTVzS+AQtM7BTo0tz8IyzwxkcZJaImONcUVYLOLzt2AgW1LltA==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-2.11.7.tgz",
+ "integrity": "sha512-VpPO1Uy/eF4hYOpohS/yMOcE1C07xmMj0/D989D9aS1x95jWwUVrSkwC+PlWMUBx9PbY2NRsg1ZDwVvlNKZ6yQ==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2613,9 +2613,9 @@
}
},
"node_modules/@tiptap/extension-code-block": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-2.11.5.tgz",
- "integrity": "sha512-ksxMMvqLDlC+ftcQLynqZMdlJT1iHYZorXsXw/n+wuRd7YElkRkd6YWUX/Pq/njFY6lDjKiqFLEXBJB8nrzzBA==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-2.11.7.tgz",
+ "integrity": "sha512-To/y/2H04VWqiANy53aXjV7S6fA86c2759RsH1hTIe57jA1KyE7I5tlAofljOLZK/covkGmPeBddSPHGJbz++Q==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2627,9 +2627,9 @@
}
},
"node_modules/@tiptap/extension-document": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-2.11.5.tgz",
- "integrity": "sha512-7I4BRTpIux2a0O2qS3BDmyZ5LGp3pszKbix32CmeVh7lN9dV7W5reDqtJJ9FCZEEF+pZ6e1/DQA362dflwZw2g==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-2.11.7.tgz",
+ "integrity": "sha512-95ouJXPjdAm9+VBRgFo4lhDoMcHovyl/awORDI8gyEn0Rdglt+ZRZYoySFzbVzer9h0cre+QdIwr9AIzFFbfdA==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2640,9 +2640,9 @@
}
},
"node_modules/@tiptap/extension-dropcursor": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-2.11.5.tgz",
- "integrity": "sha512-uIN7L3FU0904ec7FFFbndO7RQE/yiON4VzAMhNn587LFMyWO8US139HXIL4O8dpZeYwYL3d1FnDTflZl6CwLlg==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-2.11.7.tgz",
+ "integrity": "sha512-63mL+nxQILizsr5NbmgDeOjFEWi34BLt7evwL6UUZEVM15K8V1G8pD9Y0kCXrZYpHWz0tqFRXdrhDz0Ppu8oVw==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2654,9 +2654,9 @@
}
},
"node_modules/@tiptap/extension-gapcursor": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-2.11.5.tgz",
- "integrity": "sha512-kcWa+Xq9cb6lBdiICvLReuDtz/rLjFKHWpW3jTTF3FiP3wx4H8Rs6bzVtty7uOVTfwupxZRiKICAMEU6iT0xrQ==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-2.11.7.tgz",
+ "integrity": "sha512-EceesmPG7FyjXZ8EgeJPUov9G1mAf2AwdypxBNH275g6xd5dmU/KvjoFZjmQ0X1ve7mS+wNupVlGxAEUYoveew==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2668,9 +2668,9 @@
}
},
"node_modules/@tiptap/extension-hard-break": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-2.11.5.tgz",
- "integrity": "sha512-q9doeN+Yg9F5QNTG8pZGYfNye3tmntOwch683v0CCVCI4ldKaLZ0jG3NbBTq+mosHYdgOH2rNbIORlRRsQ+iYQ==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-2.11.7.tgz",
+ "integrity": "sha512-zTkZSA6q+F5sLOdCkiC2+RqJQN0zdsJqvFIOVFL/IDVOnq6PZO5THzwRRLvOSnJJl3edRQCl/hUgS0L5sTInGQ==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2681,9 +2681,9 @@
}
},
"node_modules/@tiptap/extension-heading": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-2.11.5.tgz",
- "integrity": "sha512-x/MV53psJ9baRcZ4k4WjnCUBMt8zCX7mPlKVT+9C/o+DEs/j/qxPLs95nHeQv70chZpSwCQCt93xMmuF0kPoAg==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-2.11.7.tgz",
+ "integrity": "sha512-8kWh7y4Rd2fwxfWOhFFWncHdkDkMC1Z60yzIZWjIu72+6yQxvo8w3yeb7LI7jER4kffbMmadgcfhCHC/fkObBA==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2694,9 +2694,9 @@
}
},
"node_modules/@tiptap/extension-history": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-2.11.5.tgz",
- "integrity": "sha512-b+wOS33Dz1azw6F1i9LFTEIJ/gUui0Jwz5ZvmVDpL2ZHBhq1Ui0/spTT+tuZOXq7Y/uCbKL8Liu4WoedIvhboQ==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-2.11.7.tgz",
+ "integrity": "sha512-Cu5x3aS13I040QSRoLdd+w09G4OCVfU+azpUqxufZxeNs9BIJC+0jowPLeOxKDh6D5GGT2A8sQtxc6a/ssbs8g==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2708,9 +2708,9 @@
}
},
"node_modules/@tiptap/extension-horizontal-rule": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.11.5.tgz",
- "integrity": "sha512-3up2r1Du8/5/4ZYzTC0DjTwhgPI3dn8jhOCLu73m5F3OGvK/9whcXoeWoX103hYMnGDxBlfOje71yQuN35FL4A==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.11.7.tgz",
+ "integrity": "sha512-uVmQwD2dzZ5xwmvUlciy0ItxOdOfQjH6VLmu80zyJf8Yu7mvwP8JyxoXUX0vd1xHpwAhgQ9/ozjIWYGIw79DPQ==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2722,9 +2722,9 @@
}
},
"node_modules/@tiptap/extension-image": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-image/-/extension-image-2.11.5.tgz",
- "integrity": "sha512-HbUq9AL8gb8eSuQfY/QKkvMc66ZFN/b6jvQAILGArNOgalUfGizoC6baKTJShaExMSPjBZlaAHtJiQKPaGRHaA==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-image/-/extension-image-2.11.7.tgz",
+ "integrity": "sha512-YvCmTDB7Oo+A56tR4S/gcNaYpqU4DDlSQcRp5IQvmQV5EekSe0lnEazGDoqOCwsit9qQhj4MPQJhKrnaWrJUrg==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2735,9 +2735,9 @@
}
},
"node_modules/@tiptap/extension-italic": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-2.11.5.tgz",
- "integrity": "sha512-9VGfb2/LfPhQ6TjzDwuYLRvw0A6VGbaIp3F+5Mql8XVdTBHb2+rhELbyhNGiGVR78CaB/EiKb6dO9xu/tBWSYA==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-2.11.7.tgz",
+ "integrity": "sha512-r985bkQfG0HMpmCU0X0p/Xe7U1qgRm2mxvcp6iPCuts2FqxaCoyfNZ8YnMsgVK1mRhM7+CQ5SEg2NOmQNtHvPw==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2748,9 +2748,9 @@
}
},
"node_modules/@tiptap/extension-link": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-link/-/extension-link-2.11.5.tgz",
- "integrity": "sha512-4Iu/aPzevbYpe50xDI0ZkqRa6nkZ9eF270Ue2qaF3Ab47nehj+9Jl78XXzo8+LTyFMnrETI73TAs1aC/IGySeQ==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-link/-/extension-link-2.11.7.tgz",
+ "integrity": "sha512-qKIowE73aAUrnQCIifYP34xXOHOsZw46cT/LBDlb0T60knVfQoKVE4ku08fJzAV+s6zqgsaaZ4HVOXkQYLoW7g==",
"license": "MIT",
"dependencies": {
"linkifyjs": "^4.2.0"
@@ -2765,9 +2765,9 @@
}
},
"node_modules/@tiptap/extension-list-item": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-2.11.5.tgz",
- "integrity": "sha512-Mp5RD/pbkfW1vdc6xMVxXYcta73FOwLmblQlFNn/l/E5/X1DUSA4iGhgDDH4EWO3swbs03x2f7Zka/Xoj3+WLg==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-2.11.7.tgz",
+ "integrity": "sha512-6ikh7Y+qAbkSuIHXPIINqfzmWs5uIGrylihdZ9adaIyvrN1KSnWIqrZIk/NcZTg5YFIJlXrnGSRSjb/QM3WUhw==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2778,9 +2778,9 @@
}
},
"node_modules/@tiptap/extension-ordered-list": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-2.11.5.tgz",
- "integrity": "sha512-Cu8KwruBNWAaEfshRQR0yOSaUKAeEwxW7UgbvF9cN/zZuKgK5uZosPCPTehIFCcRe+TBpRtZQh+06f/gNYpYYg==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-2.11.7.tgz",
+ "integrity": "sha512-bLGCHDMB0vbJk7uu8bRg8vES3GsvxkX7Cgjgm/6xysHFbK98y0asDtNxkW1VvuRreNGz4tyB6vkcVCfrxl4jKw==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2791,9 +2791,9 @@
}
},
"node_modules/@tiptap/extension-paragraph": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-2.11.5.tgz",
- "integrity": "sha512-YFBWeg7xu/sBnsDIF/+nh9Arf7R0h07VZMd0id5Ydd2Qe3c1uIZwXxeINVtH0SZozuPIQFAT8ICe9M0RxmE+TA==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-2.11.7.tgz",
+ "integrity": "sha512-Pl3B4q6DJqTvvAdraqZaNP9Hh0UWEHL5nNdxhaRNuhKaUo7lq8wbDSIxIW3lvV0lyCs0NfyunkUvSm1CXb6d4Q==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2804,9 +2804,9 @@
}
},
"node_modules/@tiptap/extension-placeholder": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-placeholder/-/extension-placeholder-2.11.5.tgz",
- "integrity": "sha512-Pr+0Ju/l2ZvXMd9VQxtaoSZbs0BBp1jbBDqwms88ctpyvQFRfLSfSkqudQcSHyw2ROOz2E31p/7I7fpI8Y0CLA==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-placeholder/-/extension-placeholder-2.11.7.tgz",
+ "integrity": "sha512-/06zXV4HIjYoiaUq1fVJo/RcU8pHbzx21evOpeG/foCfNpMI4xLU/vnxdUi6/SQqpZMY0eFutDqod1InkSOqsg==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2818,9 +2818,9 @@
}
},
"node_modules/@tiptap/extension-strike": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-2.11.5.tgz",
- "integrity": "sha512-PVfUiCqrjvsLpbIoVlegSY8RlkR64F1Rr2RYmiybQfGbg+AkSZXDeO0eIrc03//4gua7D9DfIozHmAKv1KN3ow==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-2.11.7.tgz",
+ "integrity": "sha512-D6GYiW9F24bvAY7XMOARNZbC8YGPzdzWdXd8VOOJABhf4ynMi/oW4NNiko+kZ67jn3EGaKoz32VMJzNQgYi1HA==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2831,9 +2831,9 @@
}
},
"node_modules/@tiptap/extension-subscript": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-subscript/-/extension-subscript-2.11.5.tgz",
- "integrity": "sha512-VpaSzxku/Bcvf4SgDB2K5d0E+FNA/56iJHMygg/WXsq2F4tMMUEivQHI/n+17ndUEO4Wybz0wItnM1G2JfRuLQ==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-subscript/-/extension-subscript-2.11.7.tgz",
+ "integrity": "sha512-I25ZexCddFJ9701DCCtQbX3Vtxzj5d9ss2GAXVweIUCdATCScaebsznyUQoN5papmhTxXsw5OD+K2ZHxP82pew==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2844,9 +2844,9 @@
}
},
"node_modules/@tiptap/extension-superscript": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-superscript/-/extension-superscript-2.11.5.tgz",
- "integrity": "sha512-sK6v2G0zFfGW+j9CmYp2e+tyZ3FTa3dP0xY4kJzefgZcHhMJLlLnjxBRwHCSi/jj5ie6WdZT4KoEooxnPs1Vzw==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-superscript/-/extension-superscript-2.11.7.tgz",
+ "integrity": "sha512-dNRpCcRJs0Qvv0sZRgbH7Y5hDVbWsGSZjtwFCs/mysPrvHqmXjzo7568kYWTggxEYxnXw6n0FfkCAEHlt0N90Q==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2857,9 +2857,9 @@
}
},
"node_modules/@tiptap/extension-table": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-table/-/extension-table-2.11.5.tgz",
- "integrity": "sha512-NKXLhKWdAdURklm98YkCd2ai4fh8jY8HS/+X2s/2QiQt8Z98CU1keCm35fJEEExM234iB/hCqG5vY4JgTc0Tvw==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-table/-/extension-table-2.11.7.tgz",
+ "integrity": "sha512-rfwWkNXz/EZuhc8lylsCWPbx0Xr5FlIhreWFyeoXYrDEO3x4ytYcVOpNmbabJYP2semfM0PvPR5o84zfFkLZyg==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2871,9 +2871,9 @@
}
},
"node_modules/@tiptap/extension-table-cell": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-table-cell/-/extension-table-cell-2.11.5.tgz",
- "integrity": "sha512-S967Au0pgeULstP3FaasOf/LEh72p61Ooh1PcUMF/az4x8EeGgpcEUARpVUxsGxLFvogv6LmhPHZdtcGgdHcBw==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-table-cell/-/extension-table-cell-2.11.7.tgz",
+ "integrity": "sha512-JMOkSYRckc5SJP86yGGiHzCxCR8ecrRENvTWAKib6qer2tutxs5u42W+Z8uTcHC2dRz7Fv54snOkDoqPwkf6cw==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2884,9 +2884,9 @@
}
},
"node_modules/@tiptap/extension-table-header": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-table-header/-/extension-table-header-2.11.5.tgz",
- "integrity": "sha512-O1iBtzZP1XZDi4h1Xmgq1T63il+fpKPvBIMZ0JJH9TyCw5i5rcrMLL2dyy5zaWK3BFRJuYBNSke4c+VWnr/g6w==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-table-header/-/extension-table-header-2.11.7.tgz",
+ "integrity": "sha512-wPRKpliS5QQXgsp//ZjXrHMdLICMkjg2fUrQinOiBa7wDL5C7Y+SehtuK4s2tjeAkyAdj+nepfftyBRIlUSMXg==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2897,9 +2897,9 @@
}
},
"node_modules/@tiptap/extension-table-row": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-table-row/-/extension-table-row-2.11.5.tgz",
- "integrity": "sha512-+/VWhCuW24BcM5aaIc/f0bC6ZR1Q5gnuqw13MIo7gyPx7iIY6BXK8roGiZSs8wYAN4uBEf3EKFm0bSZwQuAeyg==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-table-row/-/extension-table-row-2.11.7.tgz",
+ "integrity": "sha512-K254RiXWGXGjz5Cm835hqfQiwnYXm8aw6oOa3isDh4A1B+1Ev4DB2vEDKMrgaOor3nbTsSYmAx2iEMrZSbpaRg==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2910,9 +2910,9 @@
}
},
"node_modules/@tiptap/extension-text": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.11.5.tgz",
- "integrity": "sha512-Gq1WwyhFpCbEDrLPIHt5A8aLSlf8bfz4jm417c8F/JyU0J5dtYdmx0RAxjnLw1i7ZHE7LRyqqAoS0sl7JHDNSQ==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.11.7.tgz",
+ "integrity": "sha512-wObCn8qZkIFnXTLvBP+X8KgaEvTap/FJ/i4hBMfHBCKPGDx99KiJU6VIbDXG8d5ZcFZE0tOetK1pP5oI7qgMlQ==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2923,9 +2923,9 @@
}
},
"node_modules/@tiptap/extension-text-align": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-text-align/-/extension-text-align-2.11.5.tgz",
- "integrity": "sha512-Ei0zDpH5N9EV59ogydK4HTKa4lCPicCsQllM5n/Nf2tUJPir3aiYxzJ73FzhComD4Hpo1ANYnmssBhy8QeoPZA==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-text-align/-/extension-text-align-2.11.7.tgz",
+ "integrity": "sha512-3M8zd9ROADXazVNpgR6Ejs1evSvBveN36qN4GgV71GqrNlTcjqYgQcXFLQrsd2hnE+aXir8/8bLJ+aaJXDninA==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2936,9 +2936,9 @@
}
},
"node_modules/@tiptap/extension-text-style": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-text-style/-/extension-text-style-2.11.5.tgz",
- "integrity": "sha512-YUmYl0gILSd/u/ZkOmNxjNXVw+mu8fpC2f8G4I4tLODm0zCx09j9DDEJXSrM5XX72nxJQqtSQsCpNKnL0hfeEQ==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-text-style/-/extension-text-style-2.11.7.tgz",
+ "integrity": "sha512-LHO6DBg/9SkCQFdWlVfw9nolUmw+Cid94WkTY+7IwrpyG2+ZGQxnKpCJCKyeaFNbDoYAtvu0vuTsSXeCkgShcA==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2949,9 +2949,9 @@
}
},
"node_modules/@tiptap/extension-underline": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/extension-underline/-/extension-underline-2.11.5.tgz",
- "integrity": "sha512-YpWHXNIkSoRSuzT2cvgKpyJ2tTz3LzqkTM64uC+uTJ8cUkvXIWUWejJR42q8ma/mTlQe4lHff4IQ0Sf58Digtw==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-underline/-/extension-underline-2.11.7.tgz",
+ "integrity": "sha512-NtoQw6PGijOAtXC6G+0Aq0/Z5wwEjPhNHs8nsjXogfWIgaj/aI4/zfBnA06eI3WT+emMYQTl0fTc4CUPnLVU8g==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2962,9 +2962,9 @@
}
},
"node_modules/@tiptap/pm": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-2.11.5.tgz",
- "integrity": "sha512-z9JFtqc5ZOsdQLd9vRnXfTCQ8v5ADAfRt9Nm7SqP6FUHII8E1hs38ACzf5xursmth/VonJYb5+73Pqxk1hGIPw==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-2.11.7.tgz",
+ "integrity": "sha512-7gEEfz2Q6bYKXM07vzLUD0vqXFhC5geWRA6LCozTiLdVFDdHWiBrvb2rtkL5T7mfLq03zc1QhH7rI3F6VntOEA==",
"license": "MIT",
"dependencies": {
"prosemirror-changeset": "^2.2.1",
@@ -2981,7 +2981,7 @@
"prosemirror-schema-basic": "^1.2.3",
"prosemirror-schema-list": "^1.4.1",
"prosemirror-state": "^1.4.3",
- "prosemirror-tables": "^1.6.3",
+ "prosemirror-tables": "^1.6.4",
"prosemirror-trailing-node": "^3.0.0",
"prosemirror-transform": "^1.10.2",
"prosemirror-view": "^1.37.0"
@@ -2992,32 +2992,32 @@
}
},
"node_modules/@tiptap/starter-kit": {
- "version": "2.11.5",
- "resolved": "https://registry.npmjs.org/@tiptap/starter-kit/-/starter-kit-2.11.5.tgz",
- "integrity": "sha512-SLI7Aj2ruU1t//6Mk8f+fqW+18uTqpdfLUJYgwu0CkqBckrkRZYZh6GVLk/02k3H2ki7QkFxiFbZrdbZdng0JA==",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@tiptap/starter-kit/-/starter-kit-2.11.7.tgz",
+ "integrity": "sha512-K+q51KwNU/l0kqRuV5e1824yOLVftj6kGplGQLvJG56P7Rb2dPbM/JeaDbxQhnHT/KDGamG0s0Po0M3pPY163A==",
"license": "MIT",
"dependencies": {
- "@tiptap/core": "^2.11.5",
- "@tiptap/extension-blockquote": "^2.11.5",
- "@tiptap/extension-bold": "^2.11.5",
- "@tiptap/extension-bullet-list": "^2.11.5",
- "@tiptap/extension-code": "^2.11.5",
- "@tiptap/extension-code-block": "^2.11.5",
- "@tiptap/extension-document": "^2.11.5",
- "@tiptap/extension-dropcursor": "^2.11.5",
- "@tiptap/extension-gapcursor": "^2.11.5",
- "@tiptap/extension-hard-break": "^2.11.5",
- "@tiptap/extension-heading": "^2.11.5",
- "@tiptap/extension-history": "^2.11.5",
- "@tiptap/extension-horizontal-rule": "^2.11.5",
- "@tiptap/extension-italic": "^2.11.5",
- "@tiptap/extension-list-item": "^2.11.5",
- "@tiptap/extension-ordered-list": "^2.11.5",
- "@tiptap/extension-paragraph": "^2.11.5",
- "@tiptap/extension-strike": "^2.11.5",
- "@tiptap/extension-text": "^2.11.5",
- "@tiptap/extension-text-style": "^2.11.5",
- "@tiptap/pm": "^2.11.5"
+ "@tiptap/core": "^2.11.7",
+ "@tiptap/extension-blockquote": "^2.11.7",
+ "@tiptap/extension-bold": "^2.11.7",
+ "@tiptap/extension-bullet-list": "^2.11.7",
+ "@tiptap/extension-code": "^2.11.7",
+ "@tiptap/extension-code-block": "^2.11.7",
+ "@tiptap/extension-document": "^2.11.7",
+ "@tiptap/extension-dropcursor": "^2.11.7",
+ "@tiptap/extension-gapcursor": "^2.11.7",
+ "@tiptap/extension-hard-break": "^2.11.7",
+ "@tiptap/extension-heading": "^2.11.7",
+ "@tiptap/extension-history": "^2.11.7",
+ "@tiptap/extension-horizontal-rule": "^2.11.7",
+ "@tiptap/extension-italic": "^2.11.7",
+ "@tiptap/extension-list-item": "^2.11.7",
+ "@tiptap/extension-ordered-list": "^2.11.7",
+ "@tiptap/extension-paragraph": "^2.11.7",
+ "@tiptap/extension-strike": "^2.11.7",
+ "@tiptap/extension-text": "^2.11.7",
+ "@tiptap/extension-text-style": "^2.11.7",
+ "@tiptap/pm": "^2.11.7"
},
"funding": {
"type": "github",
diff --git a/src/Umbraco.Web.UI.Client/package.json b/src/Umbraco.Web.UI.Client/package.json
index a63b8e05bd..8c0bcb936c 100644
--- a/src/Umbraco.Web.UI.Client/package.json
+++ b/src/Umbraco.Web.UI.Client/package.json
@@ -202,21 +202,21 @@
"npm": ">=10.9"
},
"dependencies": {
- "@tiptap/core": "2.11.5",
- "@tiptap/extension-character-count": "^2.11.5",
- "@tiptap/extension-image": "2.11.5",
- "@tiptap/extension-link": "2.11.5",
- "@tiptap/extension-placeholder": "2.11.5",
- "@tiptap/extension-subscript": "2.11.5",
- "@tiptap/extension-superscript": "2.11.5",
- "@tiptap/extension-table": "2.11.5",
- "@tiptap/extension-table-cell": "2.11.5",
- "@tiptap/extension-table-header": "2.11.5",
- "@tiptap/extension-table-row": "2.11.5",
- "@tiptap/extension-text-align": "2.11.5",
- "@tiptap/extension-underline": "2.11.5",
- "@tiptap/pm": "2.11.5",
- "@tiptap/starter-kit": "2.11.5",
+ "@tiptap/core": "2.11.7",
+ "@tiptap/extension-character-count": "2.11.7",
+ "@tiptap/extension-image": "2.11.7",
+ "@tiptap/extension-link": "2.11.7",
+ "@tiptap/extension-placeholder": "2.11.7",
+ "@tiptap/extension-subscript": "2.11.7",
+ "@tiptap/extension-superscript": "2.11.7",
+ "@tiptap/extension-table": "2.11.7",
+ "@tiptap/extension-table-cell": "2.11.7",
+ "@tiptap/extension-table-header": "2.11.7",
+ "@tiptap/extension-table-row": "2.11.7",
+ "@tiptap/extension-text-align": "2.11.7",
+ "@tiptap/extension-underline": "2.11.7",
+ "@tiptap/pm": "2.11.7",
+ "@tiptap/starter-kit": "2.11.7",
"@types/diff": "^7.0.1",
"@umbraco-ui/uui": "^1.13.0",
"@umbraco-ui/uui-css": "^1.13.0",
diff --git a/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/input-tiptap/input-tiptap.element.ts b/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/input-tiptap/input-tiptap.element.ts
index 1057f9099c..6d30fa3ad9 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/input-tiptap/input-tiptap.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/input-tiptap/input-tiptap.element.ts
@@ -1,6 +1,15 @@
import type { UmbTiptapExtensionApi } from '../../extensions/types.js';
import type { UmbTiptapStatusbarValue, UmbTiptapToolbarValue } from '../types.js';
-import { css, customElement, html, map, property, state, unsafeCSS, when } from '@umbraco-cms/backoffice/external/lit';
+import {
+ css,
+ customElement,
+ html,
+ property,
+ repeat,
+ state,
+ unsafeCSS,
+ when,
+} from '@umbraco-cms/backoffice/external/lit';
import { loadManifestApi } from '@umbraco-cms/backoffice/extension-api';
import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
import { Editor } from '@umbraco-cms/backoffice/external/tiptap';
@@ -16,6 +25,12 @@ import './tiptap-statusbar.element.js';
const TIPTAP_CORE_EXTENSION_ALIAS = 'Umb.Tiptap.RichTextEssentials';
+/**
+ * The root path for the stylesheets on the server.
+ * This is used to load the stylesheets from the server as a workaround until the server supports virtual paths.
+ */
+const STYLESHEET_ROOT_PATH = '/css';
+
@customElement('umb-input-tiptap')
export class UmbInputTiptapElement extends UmbFormControlMixin(UmbLitElement) {
#stylesheets = new Set(['/umbraco/backoffice/css/rte-content.css']);
@@ -129,7 +144,13 @@ export class UmbInputTiptapElement extends UmbFormControlMixin>('stylesheets');
if (stylesheets?.length) {
- stylesheets.forEach((x) => this.#stylesheets.add(x));
+ stylesheets.forEach((stylesheet) => {
+ const linkHref =
+ stylesheet.startsWith('http') || stylesheet.startsWith(STYLESHEET_ROOT_PATH)
+ ? stylesheet
+ : `${STYLESHEET_ROOT_PATH}${stylesheet}`;
+ this.#stylesheets.add(linkHref);
+ });
}
this._toolbar = this.configuration?.getValueByAlias('toolbar') ?? [[[]]];
@@ -182,7 +203,11 @@ export class UmbInputTiptapElement extends UmbFormControlMixin html``)}
+ ${repeat(
+ this.#stylesheets,
+ (stylesheet) => stylesheet,
+ (stylesheet) => html``,
+ )}
From 375a0b438888e320e06dd28103fd10678025ba8a Mon Sep 17 00:00:00 2001
From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Date: Tue, 29 Apr 2025 15:34:59 +0200
Subject: [PATCH 3/3] bump to 15.4.0-rc3
---
src/Umbraco.Web.UI.Client/package-lock.json | 4 ++--
src/Umbraco.Web.UI.Client/package.json | 2 +-
version.json | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/Umbraco.Web.UI.Client/package-lock.json b/src/Umbraco.Web.UI.Client/package-lock.json
index e7ca09668b..74736666eb 100644
--- a/src/Umbraco.Web.UI.Client/package-lock.json
+++ b/src/Umbraco.Web.UI.Client/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "@umbraco-cms/backoffice",
- "version": "15.4.0-rc2",
+ "version": "15.4.0-rc3",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@umbraco-cms/backoffice",
- "version": "15.4.0-rc2",
+ "version": "15.4.0-rc3",
"license": "MIT",
"workspaces": [
"./src/packages/*"
diff --git a/src/Umbraco.Web.UI.Client/package.json b/src/Umbraco.Web.UI.Client/package.json
index 8c0bcb936c..4a9d233bda 100644
--- a/src/Umbraco.Web.UI.Client/package.json
+++ b/src/Umbraco.Web.UI.Client/package.json
@@ -1,7 +1,7 @@
{
"name": "@umbraco-cms/backoffice",
"license": "MIT",
- "version": "15.4.0-rc2",
+ "version": "15.4.0-rc3",
"type": "module",
"exports": {
".": null,
diff --git a/version.json b/version.json
index 4549e59557..ec32c8345a 100644
--- a/version.json
+++ b/version.json
@@ -1,6 +1,6 @@
{
"$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/main/src/NerdBank.GitVersioning/version.schema.json",
- "version": "15.4.0-rc2",
+ "version": "15.4.0-rc3",
"assemblyVersion": {
"precision": "build"
},