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" },