diff --git a/site/package-lock.json b/site/package-lock.json index 8a2e8a0..b1712a0 100644 --- a/site/package-lock.json +++ b/site/package-lock.json @@ -11,24 +11,24 @@ "@react-router/express": "^8.5.1", "@react-router/node": "^8.5.1", "@tailwindcss/vite": "^4.3.3", - "@tiptap/core": "3.31.4", - "@tiptap/extension-collaboration": "3.31.4", - "@tiptap/extension-collaboration-caret": "3.31.4", - "@tiptap/extension-details": "3.31.4", - "@tiptap/extension-highlight": "3.31.4", - "@tiptap/extension-image": "3.31.4", - "@tiptap/extension-list": "3.31.4", - "@tiptap/extension-table": "3.31.4", - "@tiptap/extension-text-align": "3.31.4", - "@tiptap/extension-text-style": "3.31.4", - "@tiptap/extension-unique-id": "3.31.4", - "@tiptap/extension-youtube": "3.31.4", - "@tiptap/extensions": "3.31.4", - "@tiptap/html": "3.31.4", - "@tiptap/pm": "3.31.4", - "@tiptap/react": "3.31.4", - "@tiptap/starter-kit": "3.31.4", - "@tiptap/suggestion": "3.31.4", + "@tiptap/core": "3.33.1", + "@tiptap/extension-collaboration": "3.33.1", + "@tiptap/extension-collaboration-caret": "3.33.1", + "@tiptap/extension-details": "3.33.1", + "@tiptap/extension-highlight": "3.33.1", + "@tiptap/extension-image": "3.33.1", + "@tiptap/extension-list": "3.33.1", + "@tiptap/extension-table": "3.33.1", + "@tiptap/extension-text-align": "3.33.1", + "@tiptap/extension-text-style": "3.33.1", + "@tiptap/extension-unique-id": "3.33.1", + "@tiptap/extension-youtube": "3.33.1", + "@tiptap/extensions": "3.33.1", + "@tiptap/html": "3.33.1", + "@tiptap/pm": "3.33.1", + "@tiptap/react": "3.33.1", + "@tiptap/starter-kit": "3.33.1", + "@tiptap/suggestion": "3.33.1", "@tiptap/y-tiptap": "3.0.9", "ajv": "^8.20.0", "express": "^5.3.0", @@ -59,7 +59,7 @@ "prettier": "3.9.9", "typescript": "~6.0.2", "typescript-eslint": "^8.70.1", - "vite": "^8.0.16" + "vite": "^8.3.8" } }, "node_modules/@babel/code-frame": { @@ -326,6 +326,17 @@ "keyv": "^5.6.0" } }, + "node_modules/@emnapi/core": { + "version": "2.0.0-beta.2", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-2.0.0-beta.2.tgz", + "integrity": "sha512-MzCVoWtcg4Pm2B3je5mMvYMvj3MmBKw+fU7vbsJc9/iT8ip6/eYIHo/Dsm/mr+wsHB6SEyJDuxB09Yy6r/8+4A==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "2.2.0", + "tslib": "^2.4.0" + } + }, "node_modules/@emnapi/runtime": { "version": "1.11.3", "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.3.tgz", @@ -336,6 +347,16 @@ "tslib": "^2.4.0" } }, + "node_modules/@emnapi/wasi-threads": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-2.2.0.tgz", + "integrity": "sha512-JP7OYH38Q7+pyTAe14raZHLQIK7BDKbdwji+Xi3pcd/6QkJYQH3SX4wu6EplGrGJWRepoNzedfm0G3B9Z4e9Rw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.10.1", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.10.1.tgz", @@ -393,6 +414,23 @@ "node": "^20.19.0 || ^22.13.0 || >=24" } }, + "node_modules/@eslint/config-array/node_modules/minimatch": { + "version": "11.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-11.0.8.tgz", + "integrity": "sha512-nFQuYSTVrGvysVBps5Ih+0BdnYFN/Cj3C816r6+p7yK+FHrVLGE4O4N9AFwykrlNlvM2HYt+Rad1Uiro6h88Ig==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/nonrecursive-glob-match": "^1.1.0", + "brace-expansion": "^5.0.12" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@eslint/config-helpers": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.7.0.tgz", @@ -1105,6 +1143,13 @@ "integrity": "sha512-vrx0AE/T0h7cRZwfo1M39Cr+ZhZrkf0V8mQN75wucKCxCLD9l/VX6no3gFvrLqD1IlG/1LtzWovqEw3t0Vr9zg==", "license": "MIT" }, + "node_modules/@isaacs/nonrecursive-glob-match": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@isaacs/nonrecursive-glob-match/-/nonrecursive-glob-match-1.1.0.tgz", + "integrity": "sha512-GPm/Dbvk5RLmhRnxXIa7nTpK0xtl4E0wj0MslsuNiJ1FIROU+2+9lgUC/dgF7Ey4QCWhfEsgxilMRMCdHPfDfw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", @@ -1180,10 +1225,31 @@ "integrity": "sha512-QZqem4QuAnAyzfz+Gj5/+SLxqwCAw2qmt7732ZXodr6VDWGeYLG6w1i/vYLa55JQM9wRuBKLmXmiZ2P0LtE5rw==", "license": "MIT" }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.2.6.tgz", + "integrity": "sha512-mRyDmEw9/fCDXCGfL1sbgIw/GUK0PVxRW4YwgPN61F3LQ+fSyoBFarJVzgGyhF6kRzEQZ0FejDqm4WLXSeqQmw==", + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.3" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=23.5.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1 || 2.0.0-beta.2", + "@emnapi/runtime": "^1.7.1 || 2.0.0-beta.2" + } + }, "node_modules/@oxc-project/types": { - "version": "0.149.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.149.0.tgz", - "integrity": "sha512-Efcc+iF0j3Bf67YjEqIqWXbX5XddXoK/Mw4K1/JuXwRCZ8N16VR7iT23nlCc9XrveFVh/E5Rqs2StT0V8v9LdA==", + "version": "0.156.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.156.0.tgz", + "integrity": "sha512-1Duyg48TdJNdyhEB8Xn1L36bT9Pv6GUtlKjHxOys8xkaF/rQq3XJE+bAurSK/AgIz5mGFsb77cn9Pb20+WCScw==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/oxc-project" @@ -1328,9 +1394,9 @@ "license": "MIT" }, "node_modules/@rolldown/binding-android-arm-eabi": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.8.tgz", - "integrity": "sha512-tN5aztYkKCte4i5SIrrz5yK/HMjEuCqCSCJa418jOV8tZ1cBY3YF2otxB1ktPxzsLA1BeTqwapK0bfjxNvHJVw==", + "version": "1.2.19", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.19.tgz", + "integrity": "sha512-e+Ebe0WT+9tbXmNKPIiC8YrWAHYwug3m6i4p3rZGGulfZri1jtI4HslT+OZnFf/OIHowWF71DTlHwXBP2SiA7A==", "cpu": [ "arm" ], @@ -1344,9 +1410,9 @@ } }, "node_modules/@rolldown/binding-android-arm64": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.8.tgz", - "integrity": "sha512-dIYTWl9XprMUiQFoc55KUyk/oS8SKYH3zFl0LTR7RT0Xj4hgSVyuJcroH8JUu8RcpF8fTB6E0aOwCkZoYPcDSQ==", + "version": "1.2.19", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.19.tgz", + "integrity": "sha512-hOombrTJ+szt2ciEzS7oCA78lMPBgF5UMQWCJIyNfnrI7GLl8HYoFqCnpL2gcPOaXMqryGCU5ExdQKyDDcC+yA==", "cpu": [ "arm64" ], @@ -1360,9 +1426,9 @@ } }, "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.8.tgz", - "integrity": "sha512-PCSDQGXD2IyTEFrcgPyBM8jJuGmrbCMuoIOXdbEGVemruKACXoLQJrb+A45Z0L5t1RQkdfJprAYPkikbh7dzdA==", + "version": "1.2.19", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.19.tgz", + "integrity": "sha512-XoMA2pwCKGTQzUjPgtRwkedH4WmXhdIPKT6l6oOxd1PUbNodGI6DcBekgN7EC//+x3pfBYX/qL1gNmZAqivw5g==", "cpu": [ "arm64" ], @@ -1376,9 +1442,9 @@ } }, "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.8.tgz", - "integrity": "sha512-Uk7lRsGhPFHVX/sAUC6D5H9Ol30dFHd6iquokll2th3LpdJ3F5CzQB+7DHn0Ri2mG+U7k2zXiPHDrwZenXhwSA==", + "version": "1.2.19", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.19.tgz", + "integrity": "sha512-zo8EsSSwMZCY/e+fRnGaX02YGgvJD0yvhNi/9hpGPA2MJ9ZF8dPCw75UGfpI6OpQ/myR/dIYmogRvqiZD0TrXg==", "cpu": [ "x64" ], @@ -1392,9 +1458,9 @@ } }, "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.8.tgz", - "integrity": "sha512-DjszaTEVogPqA5bYzsEeqDCQxbcp2fexQwKcRspYji2yzR68fCf+e4fx6kBSRDwX5/brZaHw/hWS9+A/+/w9sQ==", + "version": "1.2.19", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.19.tgz", + "integrity": "sha512-O8ISAOfI1nj7AuBPd30FSF47z7f7lzlk5poQVGgiikvQuGEBFYvW8ki+UEnT+YJPnNGjQzn304klt4O9FUE7mA==", "cpu": [ "x64" ], @@ -1408,9 +1474,9 @@ } }, "node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.8.tgz", - "integrity": "sha512-zmwa7FTmdzB6aaEEuuls18H6Ap5JmJPSoPTuXixeJZV6tG40SyLkApQtz1g8ptZtiEKqj9OM0oNLPh1AgvE31Q==", + "version": "1.2.19", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.19.tgz", + "integrity": "sha512-/lYCba5NO0yq4S0jGMH8QTBtkvQxoXjoQWzF5BcWp9MjB9jxVRD1GQDNofkVjcOj30DWyhLIN/4Oe60JKzaONw==", "cpu": [ "arm" ], @@ -1424,12 +1490,15 @@ } }, "node_modules/@rolldown/binding-linux-arm64-gnu": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.8.tgz", - "integrity": "sha512-KdYQDPHwJVnbFwdTGMgxsI9SqblBlz6STGM+w1We/d5B8OWWidYH0MwkU/uA1wM5fIpO2MkOVxXrNzzuZhw9ew==", + "version": "1.2.19", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.19.tgz", + "integrity": "sha512-pm/apFMBnSbFb3O6nG5pHO1iqHhZrjGDFEjSm+ot9J17XXPvH9L90y5h+jgfHCE+Qdlsvy8qKEcU4VKxgjD+vA==", "cpu": [ "arm64" ], + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -1440,12 +1509,15 @@ } }, "node_modules/@rolldown/binding-linux-arm64-musl": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.8.tgz", - "integrity": "sha512-jFJTifHnNPY+yzOoNZQfSIysrVyXzEQPhPnOUjmD1bcQGHH6s7c8cViKWar8YplQImE5N9JRqMCLrM2CdxOrZA==", + "version": "1.2.19", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.19.tgz", + "integrity": "sha512-K1SmQp3FFichn8oqrNIwvFoZ5wcvjC7goBzpaMNvLf9FZc+QB/QvLmnpJZgAAGHiD980tP8FZZnXk2K94rvlxg==", "cpu": [ "arm64" ], + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -1456,12 +1528,15 @@ } }, "node_modules/@rolldown/binding-linux-ppc64-gnu": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.8.tgz", - "integrity": "sha512-FhiOziBDWPBjbcmRzfLyIJnaP7AVMFXT7YCXPjXxj7wKU3vx24RjrCNN/zjvVa+N2vVoHJwCoUBvsrN/DG3zIA==", + "version": "1.2.19", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.19.tgz", + "integrity": "sha512-I0xwD57jP/3A7+5UPZin2w8Y7XHEmEM5zqpYZOcQ45MlNW6tUJUziymV3yRr7rL4vwyfEcRsRksC4a7Kc08p5Q==", "cpu": [ "ppc64" ], + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -1472,12 +1547,15 @@ } }, "node_modules/@rolldown/binding-linux-s390x-gnu": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.8.tgz", - "integrity": "sha512-WnHfADMzOV2Y55wlx1hzzQnar/wDt/VdvWSD99r18Mz9ylNieIGOkRx3UV21h7m/eJvjySYJkO26VvGNFkwsIQ==", + "version": "1.2.19", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.19.tgz", + "integrity": "sha512-BrtEHT24SNXj9HiXqy+s/kXiSiQGt6EKCPUlRirAoIioVxKGnbXBUEkbZASAei7iZJB0/Ynm+0JP00Ipx7AnSw==", "cpu": [ "s390x" ], + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -1488,12 +1566,15 @@ } }, "node_modules/@rolldown/binding-linux-x64-gnu": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.8.tgz", - "integrity": "sha512-H9tRr5ibfXFVLxbPOseVewewFpl28zcEdjRDt2FTUZU7odxP0gEv1ki4/kGmcGOh78oRwZuuQllGLZ9zTJp84g==", + "version": "1.2.19", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.19.tgz", + "integrity": "sha512-rm75/9DkHKeU2WnA8w4X94WGYgLlDCFCfkQC+4bguVJmC/jvDRv2B+2wLOYhyE0fVuv7//Ckk39OoOufyCu76Q==", "cpu": [ "x64" ], + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -1504,12 +1585,15 @@ } }, "node_modules/@rolldown/binding-linux-x64-musl": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.8.tgz", - "integrity": "sha512-UefiqfM3D6IVNlZ8tSGs9+Ejjud2T+oxO0IHADU45Y+lyEjD2dVFyZHbkfX0LUb5Zugo/oIv1eCO/KVYhgYJYA==", + "version": "1.2.19", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.19.tgz", + "integrity": "sha512-irh/4+iYFM4GAzpluDErgjz89bj6NDtqqMAG/6O1LG38Ed3NpyebzCpcVNkFW8uhy+/3/BocUvnXDR33CXWe9A==", "cpu": [ "x64" ], + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -1520,9 +1604,9 @@ } }, "node_modules/@rolldown/binding-openharmony-arm64": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.8.tgz", - "integrity": "sha512-637Ke4kWSy6rp9cxQ9gMOXlxPgIw/c1beASV4M//3+9I4uwBVOOl74G+e3zyU3u19U7RkRl/HuewixZ/Z6+Rjg==", + "version": "1.2.19", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.19.tgz", + "integrity": "sha512-+KWTWNoPt+CfSq94CiceWu3yPE+QzkaG+phPyz9G60tmZLwfQkcA4AeksafzvJAw4pvg1mcd5a1TkUqVv0s4JA==", "cpu": [ "arm64" ], @@ -1535,10 +1619,38 @@ "node": "^20.19.0 || >=22.12.0" } }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.2.19", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.2.19.tgz", + "integrity": "sha512-7EH+skOsl5qpWnK0vzamgJFhOv1cwxQpsxm8tI883K9fur5c27p8q87fzEO6BbBPabA2/+s/zR63/pLc137iOg==", + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "2.0.0-beta.2", + "@emnapi/runtime": "2.0.0-beta.2", + "@napi-rs/wasm-runtime": "1.2.6" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=23.5.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi/node_modules/@emnapi/runtime": { + "version": "2.0.0-beta.2", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-2.0.0-beta.2.tgz", + "integrity": "sha512-JcrSPzPvZuNZvJqPTF9Fw25LbOJ8avzFVlaf2grmH4Cku0oGP47tRgqPZadcfj3YoZMHkFVnCYFbQM8I+i5QEw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@rolldown/binding-win32-arm64-msvc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.8.tgz", - "integrity": "sha512-xWBkPOF1Q9k/Gv1nQXnVdLxKu74jXppuOM4Z3mnypVUJJJwLsMl7hNJGRAUJoG8A5MgOI1ACKM+wBFxSJzKy4A==", + "version": "1.2.19", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.19.tgz", + "integrity": "sha512-3Q1Yg1Q7tEvBWoZf5rFvG/GKZQPgwfru+p4wBajDfJFBs0SHCpL++dfTjW9gyAKd1T7ZpIYvdaUax7Pa/IhFVQ==", "cpu": [ "arm64" ], @@ -1552,9 +1664,9 @@ } }, "node_modules/@rolldown/binding-win32-x64-msvc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.8.tgz", - "integrity": "sha512-uz2ZvfgXbxqNwijjjbxrnvALwpyODDcgc1T1N8N3rf/DXKQmaFwmB4LX4yyjggpwN2obdQLb2rgirX5ffCWYng==", + "version": "1.2.19", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.19.tgz", + "integrity": "sha512-y/sqRRc6d7hECzOFc5n3LSeqctmIp9mMjY1Kq4s14uLPd/LZ4z7i1zrW6fMtp2mPeuQIC4e6ULMcwQzMomqQag==", "cpu": [ "x64" ], @@ -1568,9 +1680,9 @@ } }, "node_modules/@rolldown/pluginutils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", - "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.1.0.tgz", + "integrity": "sha512-K+NU2HDCEem4sClgHH4ZZXwdJeNFkJo+hRk479DIwdIviAPN2hFJH1KHHwg8CxHQXvi0M5XY4deTXINfIiSG6w==", "license": "MIT" }, "node_modules/@tailwindcss/node": { @@ -2140,49 +2252,49 @@ } }, "node_modules/@tiptap/core": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-3.31.4.tgz", - "integrity": "sha512-cIVUQYBycighzsk6GbmCef8ZiEDVxoT5EuAe4xg2q9dNkDqCXVqI4YGr9aavCQEiAS4uHiRwqvcsPqJHipFDfg==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-3.33.1.tgz", + "integrity": "sha512-cWSLHe0Bp44SqEsNMpfSpJeeWenG9/g4pAMRjcEpm0IZN9cmY5fq7LEYZCpjBbVqpzjaT1q7HnkvbBOPTdhbrQ==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/pm": "3.31.4" + "@tiptap/pm": "3.33.1" } }, "node_modules/@tiptap/extension-blockquote": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-3.31.4.tgz", - "integrity": "sha512-FHnbvCIW0eDKgUUFjmvEB0ax9YUBW7/Unm+38qpuQROvU872yRqhnDtycKT9IKk46jNdjM4A4fAGUbge10CrAA==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-3.33.1.tgz", + "integrity": "sha512-9P+mxnwYWjKchYtDSoZ1M2jIRyS8LWMcVyVzhs1HP+5pVus1yj9AI3XHSNc4mwkNx8lFtYXXHPUJcLx1ONi8Ng==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4", - "@tiptap/pm": "3.31.4" + "@tiptap/core": "3.33.1", + "@tiptap/pm": "3.33.1" } }, "node_modules/@tiptap/extension-bold": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-3.31.4.tgz", - "integrity": "sha512-QX1xoXvO0gz6uVsoLegumqQ4MJXL7lcUDQZ4J7la7LBqiIh4efrCmp2EXbhpr37M/YQL7w8q3g7H/VovSh7xIg==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-3.33.1.tgz", + "integrity": "sha512-IdqFQkiLA6YW0clXJsdOQYiC1iF2Ro9u9WZqbGyLDAbIbvh+qxrBhhdzObK9jDGtrPYimpq3WL6gCkSYDO0rfw==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4" + "@tiptap/core": "3.33.1" } }, "node_modules/@tiptap/extension-bubble-menu": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-bubble-menu/-/extension-bubble-menu-3.31.4.tgz", - "integrity": "sha512-Ml/yswuys+3QkOMajfXyAGlUKCxEbT3dMyF8vHwQ5mDk9MDm+dqp10It5CrDBkUT/KkVTa6AJI3kb0TXZJZiAA==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bubble-menu/-/extension-bubble-menu-3.33.1.tgz", + "integrity": "sha512-IyuwM1VykdONZghG6wsEKPhkr3FZcOeTEnxbaVme1ohhV6TyTx9ARE1U3Vcbx5DqcF0udhDo0FdKu0E1tdrjYw==", "license": "MIT", "optional": true, "dependencies": { @@ -2193,126 +2305,126 @@ "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4", - "@tiptap/pm": "3.31.4" + "@tiptap/core": "3.33.1", + "@tiptap/pm": "3.33.1" } }, "node_modules/@tiptap/extension-bullet-list": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-3.31.4.tgz", - "integrity": "sha512-gHn1RDR4olCnmKpH+G9x+f8R+iKPNVdLlvbFkIpR/stjabZi7fB4Rr5GiHWsulbtxAjdQrNjnVeNdGM4rBxApw==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-3.33.1.tgz", + "integrity": "sha512-tImjpSNjGRUFybBbfhiHnv1rQK4czAeWuKdQh49jWESiDlroKR57Xk+fp9Sfzu/xTyfe+sAf2VEXWeQSuUwGXg==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/extension-list": "3.31.4" + "@tiptap/extension-list": "3.33.1" } }, "node_modules/@tiptap/extension-code": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-3.31.4.tgz", - "integrity": "sha512-pzi8GNDs5J1DEoO1HNYiJ5WZpgOZzlc/2VIa77mMpEuD4hZxuK0BQzlF/O6Ps/O5P1lGJT4xS0Yowpzb9mD9RA==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-3.33.1.tgz", + "integrity": "sha512-11Zm3i/F8hIO3OgX99QjUolmWrxoE6OY8nIwvk/rxFPo2lg/FS4KSvJw0xA2JwNuYq7caWM686GsBJcQBbDyKA==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4" + "@tiptap/core": "3.33.1" } }, "node_modules/@tiptap/extension-code-block": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-3.31.4.tgz", - "integrity": "sha512-su/B/cfQ1HpiHl6JfJ6wa+RVEptiYsV4dCntE8XQNj2dUcII4y6w6PQbbswOoDrU79uXHsAvpy44215rghG4LA==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-3.33.1.tgz", + "integrity": "sha512-M8717MTKRIZJUQDUQpw3GsQyg6PztN4pqwO4XKm3bkj7l/0ZUbjQZ+7+egMffj25P4D8sASzmflhZ3A4x1NbaA==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4", - "@tiptap/pm": "3.31.4" + "@tiptap/core": "3.33.1", + "@tiptap/pm": "3.33.1" } }, "node_modules/@tiptap/extension-collaboration": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-collaboration/-/extension-collaboration-3.31.4.tgz", - "integrity": "sha512-vIGuBU2oV1jIr0zGPdWc1qFo4NrzObktC06s8Z0zYCb59hm3lfnYzw0w4R2i/BYjjoKRgpiDVYweGAQHuLT7Vw==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-collaboration/-/extension-collaboration-3.33.1.tgz", + "integrity": "sha512-0LBCwDlDTEKxK9UsLmIQEjDN6huO3NciPTO2XqJ2+sYBvTBQQKjHn3fq7UkHTZKfJPuvCyZNSktTpSApiEK33Q==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4", - "@tiptap/pm": "3.31.4", + "@tiptap/core": "3.33.1", + "@tiptap/pm": "3.33.1", "@tiptap/y-tiptap": "^3.0.7", "yjs": "^13" } }, "node_modules/@tiptap/extension-collaboration-caret": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-collaboration-caret/-/extension-collaboration-caret-3.31.4.tgz", - "integrity": "sha512-1dHvh2VDxRcNehsfPGpahP9RmFcoJIecoSuhOUjDfCP0QPxuGql14mYbflYYm1arj7Z6SZLNt/2tL5Zh0fpyqQ==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-collaboration-caret/-/extension-collaboration-caret-3.33.1.tgz", + "integrity": "sha512-X5wE4wDsZMVmqEHPvMaFGMi00n9SZoQJLoPfFVB96Ooj00wRJ/FG8qY0OU6v46qfx5aZz/l0F7Wc1RZt7gqEbA==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4", - "@tiptap/pm": "3.31.4", + "@tiptap/core": "3.33.1", + "@tiptap/pm": "3.33.1", "@tiptap/y-tiptap": "^3.0.7" } }, "node_modules/@tiptap/extension-details": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-details/-/extension-details-3.31.4.tgz", - "integrity": "sha512-56ZIIMRrOQg0Euhf2VfMFpprjrZqkOvyasIIBhwSuhQoEbvc8poPVIKYiQZCs5pl/8KZoSq1tti+FTXh8EyjZA==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-details/-/extension-details-3.33.1.tgz", + "integrity": "sha512-QG7ZJZmi/1QqYMNUPL2FCVsxLpJmg6i8Ruv1v91JY1+8N/LGwD+qAA7RDtCku1qNC1qv43AMvASi+PjK+SYrQg==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4", - "@tiptap/extension-text-style": "3.31.4", - "@tiptap/pm": "3.31.4" + "@tiptap/core": "3.33.1", + "@tiptap/extension-text-style": "3.33.1", + "@tiptap/pm": "3.33.1" } }, "node_modules/@tiptap/extension-document": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-3.31.4.tgz", - "integrity": "sha512-vT20u62RWR+BLIyNJ54e24MPUY4zm8VF7tcgJnxQXi7BgVJWcNMtMWWDIkPJ4JNXwfoIznKh3jzYsaYmbCJgQQ==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-3.33.1.tgz", + "integrity": "sha512-05pRvgrunBDwTXES/3Pe7O4vXgggqRksm3hZbtVZPmaSYogfzePZj4NbGomKJKPs1iyA2fhfgZZHowk/rHWZRQ==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4" + "@tiptap/core": "3.33.1" } }, "node_modules/@tiptap/extension-dropcursor": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-3.31.4.tgz", - "integrity": "sha512-5TbCPCC4RL+QT1NYHjXCYDBHBtVqYOFvFEnk3v98lvXCM2PNL13ofXUfJPuykAVy1OdTAx4DlZOQAD9WKy/IdQ==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-3.33.1.tgz", + "integrity": "sha512-Nf4Fy9PBOEqcwRUgIgbKhNOEkiDdvDCgmFYRN2zqorb//lAgrrYOEW+vU35FCpaE5WUOmXnb/fRAlKP2PiQE6w==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/extensions": "3.31.4" + "@tiptap/extensions": "3.33.1" } }, "node_modules/@tiptap/extension-floating-menu": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-floating-menu/-/extension-floating-menu-3.31.4.tgz", - "integrity": "sha512-pKzulkDmolpVt7IP9FSPsC5pKbXQ5pyeqkaAYr8cyOVW+KUObpPRIzAuXvEso8PCjWgwJ1f2qyishOEMw8MbfQ==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-floating-menu/-/extension-floating-menu-3.33.1.tgz", + "integrity": "sha512-3eFVYmuEXX8rl+SrACkXnpzoxZNaKpwLgK9wufVh0C4KJ1DqkeHZBV2ayc9ixSN08OM3QJ11IDhwyPcWoQ5vuA==", "license": "MIT", "optional": true, "funding": { @@ -2321,106 +2433,106 @@ }, "peerDependencies": { "@floating-ui/dom": "^1.0.0", - "@tiptap/core": "3.31.4", - "@tiptap/pm": "3.31.4" + "@tiptap/core": "3.33.1", + "@tiptap/pm": "3.33.1" } }, "node_modules/@tiptap/extension-gapcursor": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-3.31.4.tgz", - "integrity": "sha512-hBogUAepQH6IQUhaePhPWzQ1Oeu+yqlJVMKO06Eue5m36uRy1PZZAQ780pCGT0SC4R5MH2td1N8EUQ7bupQdDA==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-3.33.1.tgz", + "integrity": "sha512-e4INfQw8nruGeteq0COnlqm8Kml4rIDlu6KYb8QBkhLq9WzrfeJ44bpk6qI5rhR2O1D9sIGlGo1veQrMRQQ1Eg==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/extensions": "3.31.4" + "@tiptap/extensions": "3.33.1" } }, "node_modules/@tiptap/extension-hard-break": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-3.31.4.tgz", - "integrity": "sha512-oLNajLyUvRMg1qtzFgKGduygTlpaHFB9PU+M+pUWdA4sa1bRnxS2Y++Ao4lHYopJ7nxatLndrYoCIHkotqkPDQ==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-3.33.1.tgz", + "integrity": "sha512-GeejsKowOkKNmOXBsUfK74PRpofh8tsLRA6RJ9LZwz4kaaRnrHF54PyhnLGk5SQ6FrxeIjsp/QRtIUOvRO17dg==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4" + "@tiptap/core": "3.33.1" } }, "node_modules/@tiptap/extension-heading": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-3.31.4.tgz", - "integrity": "sha512-KqlSeLathpdxCc3kVHBCA/RkHvb+V7u5vgiSEu1Cv3L70r7F19COMGODav/k1AGYBgEXKL6lM9cy8cloE5/28g==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-3.33.1.tgz", + "integrity": "sha512-rAHTbKvFJ2iQkw/eCetnTyHLPMcHZ0liXyIoQbT+mVMXLaJTgLIfGtH3rtD1yyptFqtNqTPt813PddCtyjtFnQ==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4" + "@tiptap/core": "3.33.1" } }, "node_modules/@tiptap/extension-highlight": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-highlight/-/extension-highlight-3.31.4.tgz", - "integrity": "sha512-mv6h1eJTp6nZ850JB59T/o6AP/nAVP/GrQwhSTM2eeegcKUn7IdeerPZfvkZbYlvV5ilGPAoSOmYtWW7ZiEkmQ==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-highlight/-/extension-highlight-3.33.1.tgz", + "integrity": "sha512-T6i4vgPVOhArCScNC8KmlQHckD2g71vjY/hYsMWcg7eX5pzQ7uwJtdp27Dc4v2ApDuZAiTmRW0XIove6AxkjGg==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4" + "@tiptap/core": "3.33.1" } }, "node_modules/@tiptap/extension-horizontal-rule": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-3.31.4.tgz", - "integrity": "sha512-ws0Kh8kfHL7ESILSXj0HJAXs8G10ewlW1sedXKm8dm0op9L8il+xl8bEJVoqG/jMf77900Fc2CaQldcCGRpF1g==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-3.33.1.tgz", + "integrity": "sha512-mIomeLBErUuvli937AvfdDod4NdQhGVkDSrLjAF5vKHrNH3KXbx2NLsiu1MNHaoABh2wi7Ih75x9xbQbzhvJIg==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4", - "@tiptap/pm": "3.31.4" + "@tiptap/core": "3.33.1", + "@tiptap/pm": "3.33.1" } }, "node_modules/@tiptap/extension-image": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-image/-/extension-image-3.31.4.tgz", - "integrity": "sha512-vtD+rK73abJnPRKOjU37sQTCa5Auyg451yhqZD/3lZKiFJDBHAZKI7lQARkXBQYK289hBhK6yMIwofoqCBvi3g==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-image/-/extension-image-3.33.1.tgz", + "integrity": "sha512-pLJ2CVYPaRgs6+itKxEi87UeJ0EP3u64OBgwdt8AC0TJQawx6MT17PNYF66iX1laWwMG6FV6Qg6bSzzsJEmNjw==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4" + "@tiptap/core": "3.33.1" } }, "node_modules/@tiptap/extension-italic": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-3.31.4.tgz", - "integrity": "sha512-pftTQBPYZocNDAj/u6OyDIp7YxmN0+N895cQPogJQ6qMHdLiRhzgawiEewJkniyN1w8k3Wx/Etp8pTKrxaOOBQ==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-3.33.1.tgz", + "integrity": "sha512-L6U2nknCjNvhnrgm5yl099YOQTzPklky7udrG5KZrMy5+cxW8OW87sfQ1ihZV4R+36c0xBdA0I0U9wzG5MagSQ==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4" + "@tiptap/core": "3.33.1" } }, "node_modules/@tiptap/extension-link": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-link/-/extension-link-3.31.4.tgz", - "integrity": "sha512-LLxW3qfeL9gvDdMPVdxYFYZ0zZSjsoIDhOqjJ5U2UfaK3U2iwkKTBgV2qT+FWf3uUHmBRjBZ08q3dRPmWBAD5g==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-link/-/extension-link-3.33.1.tgz", + "integrity": "sha512-hZ5r7D79fqKMA5t/GwHTq7uEqgrX03HT+EH8rWfxcShSTw7bMIqgfFf1VK7/jbul5QVAJhXtis8IE7oJtyaXyw==", "license": "MIT", "dependencies": { "linkifyjs": "^4.3.3" @@ -2430,159 +2542,159 @@ "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4", - "@tiptap/pm": "3.31.4" + "@tiptap/core": "3.33.1", + "@tiptap/pm": "3.33.1" } }, "node_modules/@tiptap/extension-list": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-list/-/extension-list-3.31.4.tgz", - "integrity": "sha512-Wd4YRYxOdf+TtF33/QsRo1RK1CecVxjYGjUBIKNGHAywfh8tghgV4YOUCiV1iJqYt2IBs+RWlIqTmdIPzBrd4A==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-list/-/extension-list-3.33.1.tgz", + "integrity": "sha512-T7j8ZW8GsQsMe+uesgGWwhd8p2NkAerBeZ5sIZGA3sHPgJ0tlZFIksiYlXY7dWy7saQNXySTuEmrAQKs/JHxVQ==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4", - "@tiptap/pm": "3.31.4" + "@tiptap/core": "3.33.1", + "@tiptap/pm": "3.33.1" } }, "node_modules/@tiptap/extension-list-item": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-3.31.4.tgz", - "integrity": "sha512-ao8XAPvhOrtGFILs+fKtOM91omDSpUC8X19m44gbaq5xJDVpIMZ0rP+NAVUS72G7LskhcHa0bu/Pm022bUVjVw==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-3.33.1.tgz", + "integrity": "sha512-nKthIX1wacQxn0wbMcfuPvZtYybSsJAf91q++UJzeSwMcrPhxTm6+AC+TPK7gR6bd78/cjj00Lnzj2/RiZ6a6g==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/extension-list": "3.31.4" + "@tiptap/extension-list": "3.33.1" } }, "node_modules/@tiptap/extension-list-keymap": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-list-keymap/-/extension-list-keymap-3.31.4.tgz", - "integrity": "sha512-etdkl/YnYfwtALDxecJ+4WYgJAez1fn1vzzZqJklZBpgqiZtny3NxpvWS7/JhsltNG84Wo/oovpfJgVmzhddrw==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-list-keymap/-/extension-list-keymap-3.33.1.tgz", + "integrity": "sha512-pwos81ZmtjmwoWCn0uhUj+kJ530bDY0sDnRdri8uzFDjvcQUW05xzaycAXH5RH27KLr6gKIlxh7CUsE7CHt+rQ==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/extension-list": "3.31.4" + "@tiptap/extension-list": "3.33.1" } }, "node_modules/@tiptap/extension-ordered-list": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-3.31.4.tgz", - "integrity": "sha512-UNWyF+Dhm08znszIMnT8Y2kJ1lvtiCvUGs1aG7m9cPHxDa7VycWnOqdtXWkc+6xRLNiC0zgWCFWgLLHduV8pRQ==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-3.33.1.tgz", + "integrity": "sha512-xlGidfYHA4CdZIv0AwRJ/V4z4vCP8yu2/r/ndePJf+FR3q5ZkThq2ZfCQwqDr4OcDMcpKPf2VKERBEOvBDrJBw==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/extension-list": "3.31.4" + "@tiptap/extension-list": "3.33.1" } }, "node_modules/@tiptap/extension-paragraph": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-3.31.4.tgz", - "integrity": "sha512-WZlBgw+XVKXerRlmEsoQ7x1PwSU+dh3X+b70+ViZsLebdfsmmYBIaNDrvIGwG9UQr5eLnddJnZplMSTI2YKs+g==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-3.33.1.tgz", + "integrity": "sha512-WsO8sU2rATD0UOCrgVYooxoVUro+ZhV0Cxw9Qjl5AoG/VjGGaLOqc2mdEM5+zcpNBPbyxQIPRB5ksKW8DlNB4w==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4" + "@tiptap/core": "3.33.1" } }, "node_modules/@tiptap/extension-strike": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-3.31.4.tgz", - "integrity": "sha512-4MBr63TJIMqxCjE+gAPdlY1IdELgvbAP516K3Ntn/BkcpEbEoPMEYVz+XTxULyHQEuARDO6jsXPPxRXpA74jaw==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-3.33.1.tgz", + "integrity": "sha512-GTkkSGC8Z3v3GpW480ymZ41sbZMGDrL9yNzfAumyNA+M5PnavZcDeki+D9XhjN0qBsJ/5ZL0DHkWKuxfQkDLgQ==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4" + "@tiptap/core": "3.33.1" } }, "node_modules/@tiptap/extension-table": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-table/-/extension-table-3.31.4.tgz", - "integrity": "sha512-ai7DLwg/xmhlUas3LgWaPQdPlZ8StliY6Dn+iUH6eyZ/TQqRDY/oeIsKWaHpXq22T5M5dMlZPTg172ZdtwKswQ==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-table/-/extension-table-3.33.1.tgz", + "integrity": "sha512-+xGAZzkj8Ti9d0NyHonZL/0R7ubkJn34JpqsVobH7J0MLkxshGrfVTfyKPuy7x+3+fgxjS0eq2++nsc1LhsxAw==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4", - "@tiptap/pm": "3.31.4" + "@tiptap/core": "3.33.1", + "@tiptap/pm": "3.33.1" } }, "node_modules/@tiptap/extension-text": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-3.31.4.tgz", - "integrity": "sha512-WL2ZRpFksgQcXJN05/UQH09YCH9LlhdLrSEcviASvEH/aAfsKiJlDrouN8PET+YAWK/F5xFc5/Q1z0xj+I23jw==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-3.33.1.tgz", + "integrity": "sha512-suXeOjbe1TvekfVE4vISnc2B98JSIc+i7ei8NUtPukq8bmsu4cWXSYRi2gFUTiHJM+YlOGCxRBz9xhqGzg56pA==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4" + "@tiptap/core": "3.33.1" } }, "node_modules/@tiptap/extension-text-align": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-text-align/-/extension-text-align-3.31.4.tgz", - "integrity": "sha512-Z8x/x2N4BiFwu7+UfJABT/OQbwZPUHbmvAH6Fo5lefgeIlTwAXFBzz4x7Eeed7iJAcXUzOnyd6bmkhK36gYJ2g==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-text-align/-/extension-text-align-3.33.1.tgz", + "integrity": "sha512-ZmZcPUnRsque2WTxOYHj7qkLaQTCK4CHg393gXlsc0o8mf6shyidxTNUGQ2TCLl0lTi4SCyDrrP8IKzEEWZdvA==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4" + "@tiptap/core": "3.33.1" } }, "node_modules/@tiptap/extension-text-style": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-text-style/-/extension-text-style-3.31.4.tgz", - "integrity": "sha512-djeemliEWmqs3cJrUyMG+17HbjHyf6D/0NkIHl/RkVHYOCX1AYMZ7r+XLefApSNBCAx/aFh1hJzaMlnGbnTaAw==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-text-style/-/extension-text-style-3.33.1.tgz", + "integrity": "sha512-TthofkRnohnsCGNJjmyg9SnmEqRX3SX1iQ9SWg+2rDyD7uA0AQ18fgwW0TpQblVDC7drIHmXWuErSjZoGkfqFA==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4" + "@tiptap/core": "3.33.1" } }, "node_modules/@tiptap/extension-underline": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-underline/-/extension-underline-3.31.4.tgz", - "integrity": "sha512-0iFGPIqmqGkCrOFh1OPo7Dzv5s86dVN3bZaugsz0jK04otkb8bn04ZDKP2/6Wq+lcK0M9DfJ0QqfW5hC2nBZxQ==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-underline/-/extension-underline-3.33.1.tgz", + "integrity": "sha512-LAFMc18VwV2m5X/+gpP+AMI+IgWq4neDoyiv5qglL0zxqgOkCIR8inStmiUWztdBDGeIWNhRsjiNwbq+HkgUug==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4" + "@tiptap/core": "3.33.1" } }, "node_modules/@tiptap/extension-unique-id": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-unique-id/-/extension-unique-id-3.31.4.tgz", - "integrity": "sha512-UtdgDSWAMzxQ+fsu3ZFNmFPrYFS64ixyZr7GF08RHf3DyUXYPWqyhwRVmA4/Bh7DQPRerz1GTS7VwFGL+Wc1Ew==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-unique-id/-/extension-unique-id-3.33.1.tgz", + "integrity": "sha512-J6VnjQ0uR5nyVP61SnNnXWYX5qimeXbBv3hBP/D0slJpAMW3RD03FZK7QBIpfSXAP1jMUnWEyQqRB6r0peK9ng==", "license": "MIT", "dependencies": { "uuid": "^14.0.0" @@ -2592,71 +2704,71 @@ "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4", - "@tiptap/pm": "3.31.4" + "@tiptap/core": "3.33.1", + "@tiptap/pm": "3.33.1" } }, "node_modules/@tiptap/extension-youtube": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-youtube/-/extension-youtube-3.31.4.tgz", - "integrity": "sha512-vRZrvE8gNqGOntiVVn9NjaIe4AmfUhXq9UXz/dhPzQvAQyQXXzugPa65pBK1/1KXOO/rsfUrGdNOzdtJmI+KvQ==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extension-youtube/-/extension-youtube-3.33.1.tgz", + "integrity": "sha512-sNbdpFxDgJSEnaFFrvCD1ps/0LCvNv6eca/vYXebKktcqzVSZEnYM4fNkiijFap9aQKy1z1YroWv3rKYcfZEHg==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4" + "@tiptap/core": "3.33.1" } }, "node_modules/@tiptap/extensions": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/extensions/-/extensions-3.31.4.tgz", - "integrity": "sha512-nIupIne/sHpV2Kw1M4MOmr4+G454KI8BXM5+LWKOU2EpzfALZWVSy7koF9lVRna4Zp5Gv8hfg5Z8kvmrYQvhkw==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/extensions/-/extensions-3.33.1.tgz", + "integrity": "sha512-RBKVZTTMKLDKFKV8F9dsJQSp0AFTXlAlpMGzZmO/STCwfMET2GVpODOEL8ov2s+syOLzXFFQxluIGPrEDj5BXw==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4", - "@tiptap/pm": "3.31.4" + "@tiptap/core": "3.33.1", + "@tiptap/pm": "3.33.1" } }, "node_modules/@tiptap/html": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/html/-/html-3.31.4.tgz", - "integrity": "sha512-laGvjtVEO5HZ6p2K0HTJ3ZPwwtA848P55rogxWwpbQ8yHasLRH3sX6HmKRJsjEKPX8BHYQli7lGMLm0k4vRLEw==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/html/-/html-3.33.1.tgz", + "integrity": "sha512-QYvKskgdFBThXYFnxWtNnJ9mSBlel4rErOsKjGE3Vzwy7i82W0CRVYPa8h9jOLtjJu7WyW4GtQO2M6kqcFgZBQ==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.31.4", - "@tiptap/pm": "3.31.4", - "happy-dom": "^20.8.9" + "@tiptap/core": "3.33.1", + "@tiptap/pm": "3.33.1", + "happy-dom": "^20.8.9 || ^21.0.4" } }, "node_modules/@tiptap/pm": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-3.31.4.tgz", - "integrity": "sha512-x7dwth79cQp4QGae66/RJqMDJQv0+n7b7dD7cyFQBWqzPFLJxN/4paHY4qbWedZjNLhRyIOAD9a5q4AYM1zmPA==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-3.33.1.tgz", + "integrity": "sha512-b1sqPaqkQe6/Ln0bx18KT9fF5NV01DeN/kQuy26JbPiQ0pRXLELfrPOG3FdSx0iyV2Xyhz9IQA4VuP4yNOaRqQ==", "license": "MIT", "dependencies": { - "prosemirror-changeset": "^2.4.1", - "prosemirror-commands": "^1.7.1", - "prosemirror-dropcursor": "^1.8.2", + "prosemirror-changeset": "^2.4.4", + "prosemirror-commands": "^1.7.2", + "prosemirror-dropcursor": "^1.8.4", "prosemirror-gapcursor": "^1.4.1", - "prosemirror-history": "^1.5.0", + "prosemirror-history": "^1.5.1", "prosemirror-inputrules": "^1.5.1", "prosemirror-keymap": "^1.2.3", - "prosemirror-model": "^1.25.11", + "prosemirror-model": "^1.25.12", "prosemirror-schema-list": "^1.5.1", "prosemirror-state": "^1.4.4", "prosemirror-tables": "^1.8.5", - "prosemirror-transform": "^1.12.0", - "prosemirror-view": "^1.42.3" + "prosemirror-transform": "^1.12.2", + "prosemirror-view": "^1.42.6" }, "funding": { "type": "github", @@ -2664,9 +2776,9 @@ } }, "node_modules/@tiptap/react": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/react/-/react-3.31.4.tgz", - "integrity": "sha512-mBvvXgdPhMinT1NPfwHvFK1dFdMXHVWMSeNn0IPj7/zV0XBmOnASkEOwoIvl8NluKYEtpZBE1yA+6pN2enLa5g==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/react/-/react-3.33.1.tgz", + "integrity": "sha512-3K3r4ybqqYQi9pLNFZ0yZrWz8ij9QAr0tLSqUumX3hdhfB1k0Y1di6mQqyW6F7EBT+hz3OzZLE04OyFEU7Fwcw==", "license": "MIT", "dependencies": { "@types/use-sync-external-store": "^0.0.6", @@ -2678,12 +2790,12 @@ "url": "https://github.com/sponsors/ueberdosis" }, "optionalDependencies": { - "@tiptap/extension-bubble-menu": "3.31.4", - "@tiptap/extension-floating-menu": "3.31.4" + "@tiptap/extension-bubble-menu": "3.33.1", + "@tiptap/extension-floating-menu": "3.33.1" }, "peerDependencies": { - "@tiptap/core": "3.31.4", - "@tiptap/pm": "3.31.4", + "@tiptap/core": "3.33.1", + "@tiptap/pm": "3.33.1", "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", "@types/react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0", "react": "^17.0.0 || ^18.0.0 || ^19.0.0", @@ -2691,35 +2803,35 @@ } }, "node_modules/@tiptap/starter-kit": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/starter-kit/-/starter-kit-3.31.4.tgz", - "integrity": "sha512-u7HIJ9vK6kFe4S4J2CIcDLrhRZzoTMSyU0XxjQ6lUNF7pWW3rMi//pvi8RcsZmxGjyb8CpXAqYgNl7f9WyaUeA==", - "license": "MIT", - "dependencies": { - "@tiptap/core": "3.31.4", - "@tiptap/extension-blockquote": "3.31.4", - "@tiptap/extension-bold": "3.31.4", - "@tiptap/extension-bullet-list": "3.31.4", - "@tiptap/extension-code": "3.31.4", - "@tiptap/extension-code-block": "3.31.4", - "@tiptap/extension-document": "3.31.4", - "@tiptap/extension-dropcursor": "3.31.4", - "@tiptap/extension-gapcursor": "3.31.4", - "@tiptap/extension-hard-break": "3.31.4", - "@tiptap/extension-heading": "3.31.4", - "@tiptap/extension-horizontal-rule": "3.31.4", - "@tiptap/extension-italic": "3.31.4", - "@tiptap/extension-link": "3.31.4", - "@tiptap/extension-list": "3.31.4", - "@tiptap/extension-list-item": "3.31.4", - "@tiptap/extension-list-keymap": "3.31.4", - "@tiptap/extension-ordered-list": "3.31.4", - "@tiptap/extension-paragraph": "3.31.4", - "@tiptap/extension-strike": "3.31.4", - "@tiptap/extension-text": "3.31.4", - "@tiptap/extension-underline": "3.31.4", - "@tiptap/extensions": "3.31.4", - "@tiptap/pm": "3.31.4" + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/starter-kit/-/starter-kit-3.33.1.tgz", + "integrity": "sha512-kkvRaFZUbDTXe5tlzLzqErhlvuujsoR98nFLEVitPAJO8Zy6kMORrTLIyV3DbmLAaWEJ32MiZXMvPrya5irHsQ==", + "license": "MIT", + "dependencies": { + "@tiptap/core": "3.33.1", + "@tiptap/extension-blockquote": "3.33.1", + "@tiptap/extension-bold": "3.33.1", + "@tiptap/extension-bullet-list": "3.33.1", + "@tiptap/extension-code": "3.33.1", + "@tiptap/extension-code-block": "3.33.1", + "@tiptap/extension-document": "3.33.1", + "@tiptap/extension-dropcursor": "3.33.1", + "@tiptap/extension-gapcursor": "3.33.1", + "@tiptap/extension-hard-break": "3.33.1", + "@tiptap/extension-heading": "3.33.1", + "@tiptap/extension-horizontal-rule": "3.33.1", + "@tiptap/extension-italic": "3.33.1", + "@tiptap/extension-link": "3.33.1", + "@tiptap/extension-list": "3.33.1", + "@tiptap/extension-list-item": "3.33.1", + "@tiptap/extension-list-keymap": "3.33.1", + "@tiptap/extension-ordered-list": "3.33.1", + "@tiptap/extension-paragraph": "3.33.1", + "@tiptap/extension-strike": "3.33.1", + "@tiptap/extension-text": "3.33.1", + "@tiptap/extension-underline": "3.33.1", + "@tiptap/extensions": "3.33.1", + "@tiptap/pm": "3.33.1" }, "funding": { "type": "github", @@ -2727,9 +2839,9 @@ } }, "node_modules/@tiptap/suggestion": { - "version": "3.31.4", - "resolved": "https://registry.npmjs.org/@tiptap/suggestion/-/suggestion-3.31.4.tgz", - "integrity": "sha512-J9WWMQDAzZOlF9VSdLohpxgrwlB1NscqvNhOPoS3WjwrzQqLj+FAvcchfJQcnybF5mYOtftFZexpOzOt1MqjUA==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/@tiptap/suggestion/-/suggestion-3.33.1.tgz", + "integrity": "sha512-qCvc7mNOjwOnsJ0wrzAgU6PzIxLsNxrOBIqZW+WpCgDm/pZ9/yUNX/swLLFVoLff5kyxJfzEmVaBL6czvqz3jQ==", "license": "MIT", "funding": { "type": "github", @@ -2737,8 +2849,8 @@ }, "peerDependencies": { "@floating-ui/dom": "^1.0.0", - "@tiptap/core": "3.31.4", - "@tiptap/pm": "3.31.4" + "@tiptap/core": "3.33.1", + "@tiptap/pm": "3.33.1" } }, "node_modules/@tiptap/y-tiptap": { @@ -2761,6 +2873,16 @@ "yjs": "^13.5.38" } }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.4.tgz", + "integrity": "sha512-W3c4gRigFS0T/Ma4qIYF3GDAc5AQdHb1yL5znJT1Zv1YaD9Kitx656wBjvr19qbiosmZT8lWDM5BEMynUqX65A==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@types/body-parser": { "version": "1.19.6", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", @@ -3118,6 +3240,23 @@ "typescript": ">=4.8.4 <6.1.0" } }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "11.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-11.0.8.tgz", + "integrity": "sha512-nFQuYSTVrGvysVBps5Ih+0BdnYFN/Cj3C816r6+p7yK+FHrVLGE4O4N9AFwykrlNlvM2HYt+Rad1Uiro6h88Ig==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/nonrecursive-glob-match": "^1.1.0", + "brace-expansion": "^5.0.12" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { "version": "7.8.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", @@ -3909,6 +4048,23 @@ "dev": true, "license": "MIT" }, + "node_modules/eslint/node_modules/minimatch": { + "version": "11.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-11.0.8.tgz", + "integrity": "sha512-nFQuYSTVrGvysVBps5Ih+0BdnYFN/Cj3C816r6+p7yK+FHrVLGE4O4N9AFwykrlNlvM2HYt+Rad1Uiro6h88Ig==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/nonrecursive-glob-match": "^1.1.0", + "brace-expansion": "^5.0.12" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/espree": { "version": "11.2.0", "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", @@ -4307,9 +4463,9 @@ "license": "ISC" }, "node_modules/happy-dom": { - "version": "20.14.6", - "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-20.14.6.tgz", - "integrity": "sha512-5DDsf4QmEIlRL6NkCv/fxSjYHHkZceL/IaYQdJc2h3G7DRTEai++VTjbfL0LB9geW2VrA3+vrjF3Efx+OTtX0Q==", + "version": "21.0.4", + "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-21.0.4.tgz", + "integrity": "sha512-tFm+GaLBgo6o0awHnvHaNoraVo27qJ+2tZEtZ+cIa08hXbeitrxAJajLI05hsUy/2/YTKcUjQYzHe5mCcraLBw==", "license": "MIT", "peer": true, "dependencies": { @@ -4999,22 +5155,6 @@ "url": "https://opencollective.com/express" } }, - "node_modules/minimatch": { - "version": "10.2.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz", - "integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.8" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -5022,9 +5162,9 @@ "license": "MIT" }, "node_modules/nanoid": { - "version": "3.3.19", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.19.tgz", - "integrity": "sha512-Y2tUNy4ouw6tq5oDSKeQYGOyhkUBhNOcGV/02KC+6kd9eDGqdZd++mjMiIDilrBYvjEnCYvVtsuHCuP+okSfug==", + "version": "3.3.20", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.20.tgz", + "integrity": "sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==", "funding": [ { "type": "github", @@ -5310,9 +5450,9 @@ } }, "node_modules/postcss": { - "version": "8.5.28", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.28.tgz", - "integrity": "sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==", + "version": "8.5.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.32.tgz", + "integrity": "sha512-LJlKCCAUFKOuZxipUdYw1NzIITEsPcgyOG9LkvRJvuKj/bRzbuRY0ARXvL0pWGpsZvn8jku+LMep2eU0seHp8g==", "funding": [ { "type": "opencollective", @@ -5329,9 +5469,9 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.18", + "nanoid": "^3.3.20", "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" + "source-map-js": "^1.2.2" }, "engines": { "node": "^10 || ^12 || >=14" @@ -5715,12 +5855,12 @@ } }, "node_modules/rolldown": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.8.tgz", - "integrity": "sha512-Z67nTmhZe7anqnM/EjI392w5i/ANUinjip7QYsOyN37oayduxt3ksdX0hf5OOamkAd53BiIHfbfSzfUmzKFQqQ==", + "version": "1.2.19", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.19.tgz", + "integrity": "sha512-QIiV1J9d0pzN4jeeTH4sjPy0AZ6cAy2cG0ExeoE1+U8Rvj+hR3gYkokx0YbeUNGlZqiQJJ2utcETe0oKXwzsuA==", "license": "MIT", "dependencies": { - "@oxc-project/types": "=0.149.0", + "@oxc-project/types": "=0.156.0", "@rolldown/pluginutils": "^1.0.0" }, "bin": { @@ -5730,21 +5870,22 @@ "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rolldown/binding-android-arm-eabi": "1.2.8", - "@rolldown/binding-android-arm64": "1.2.8", - "@rolldown/binding-darwin-arm64": "1.2.8", - "@rolldown/binding-darwin-x64": "1.2.8", - "@rolldown/binding-freebsd-x64": "1.2.8", - "@rolldown/binding-linux-arm-gnueabihf": "1.2.8", - "@rolldown/binding-linux-arm64-gnu": "1.2.8", - "@rolldown/binding-linux-arm64-musl": "1.2.8", - "@rolldown/binding-linux-ppc64-gnu": "1.2.8", - "@rolldown/binding-linux-s390x-gnu": "1.2.8", - "@rolldown/binding-linux-x64-gnu": "1.2.8", - "@rolldown/binding-linux-x64-musl": "1.2.8", - "@rolldown/binding-openharmony-arm64": "1.2.8", - "@rolldown/binding-win32-arm64-msvc": "1.2.8", - "@rolldown/binding-win32-x64-msvc": "1.2.8" + "@rolldown/binding-android-arm-eabi": "1.2.19", + "@rolldown/binding-android-arm64": "1.2.19", + "@rolldown/binding-darwin-arm64": "1.2.19", + "@rolldown/binding-darwin-x64": "1.2.19", + "@rolldown/binding-freebsd-x64": "1.2.19", + "@rolldown/binding-linux-arm-gnueabihf": "1.2.19", + "@rolldown/binding-linux-arm64-gnu": "1.2.19", + "@rolldown/binding-linux-arm64-musl": "1.2.19", + "@rolldown/binding-linux-ppc64-gnu": "1.2.19", + "@rolldown/binding-linux-s390x-gnu": "1.2.19", + "@rolldown/binding-linux-x64-gnu": "1.2.19", + "@rolldown/binding-linux-x64-musl": "1.2.19", + "@rolldown/binding-openharmony-arm64": "1.2.19", + "@rolldown/binding-wasm32-wasi": "1.2.19", + "@rolldown/binding-win32-arm64-msvc": "1.2.19", + "@rolldown/binding-win32-x64-msvc": "1.2.19" } }, "node_modules/rope-sequence": { @@ -6017,9 +6158,9 @@ } }, "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.2.tgz", + "integrity": "sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==", "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -6296,15 +6437,15 @@ } }, "node_modules/vite": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-8.3.0.tgz", - "integrity": "sha512-lhZBVvEHefgE+HQZC9O7EBJgCU/nVzFNl7vkS4RE0APtWLP02/8QVIkQtzBxPquh7lq5/78NHipTj7ODQ6XuyQ==", + "version": "8.3.8", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.3.8.tgz", + "integrity": "sha512-LzOn3h9rG/0vhLdXrV4yJ4QFA9eEoqCl+Yx+kGJd7aB9w6nfNgVHKSYwLPZUHrz4ZGa+t+kXjV9itvcHDLQouA==", "license": "MIT", "dependencies": { "lightningcss": "^1.33.0", "picomatch": "^4.0.7", - "postcss": "^8.5.28", - "rolldown": "~1.2.6", + "postcss": "^8.5.32", + "rolldown": "~1.2.18", "tinyglobby": "^0.2.17" }, "bin": { @@ -6321,7 +6462,7 @@ }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", - "@vitejs/devtools": "^0.7.1", + "@vitejs/devtools": "^0.7.1 || ^0.8.0", "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", diff --git a/site/package.json b/site/package.json index b8adc6c..70dcb4a 100644 --- a/site/package.json +++ b/site/package.json @@ -19,24 +19,24 @@ "@react-router/express": "^8.5.1", "@react-router/node": "^8.5.1", "@tailwindcss/vite": "^4.3.3", - "@tiptap/core": "3.31.4", - "@tiptap/extension-collaboration": "3.31.4", - "@tiptap/extension-collaboration-caret": "3.31.4", - "@tiptap/extension-details": "3.31.4", - "@tiptap/extension-highlight": "3.31.4", - "@tiptap/extension-image": "3.31.4", - "@tiptap/extension-list": "3.31.4", - "@tiptap/extension-table": "3.31.4", - "@tiptap/extension-text-align": "3.31.4", - "@tiptap/extension-text-style": "3.31.4", - "@tiptap/extension-unique-id": "3.31.4", - "@tiptap/extension-youtube": "3.31.4", - "@tiptap/extensions": "3.31.4", - "@tiptap/html": "3.31.4", - "@tiptap/pm": "3.31.4", - "@tiptap/react": "3.31.4", - "@tiptap/starter-kit": "3.31.4", - "@tiptap/suggestion": "3.31.4", + "@tiptap/core": "3.33.1", + "@tiptap/extension-collaboration": "3.33.1", + "@tiptap/extension-collaboration-caret": "3.33.1", + "@tiptap/extension-details": "3.33.1", + "@tiptap/extension-highlight": "3.33.1", + "@tiptap/extension-image": "3.33.1", + "@tiptap/extension-list": "3.33.1", + "@tiptap/extension-table": "3.33.1", + "@tiptap/extension-text-align": "3.33.1", + "@tiptap/extension-text-style": "3.33.1", + "@tiptap/extension-unique-id": "3.33.1", + "@tiptap/extension-youtube": "3.33.1", + "@tiptap/extensions": "3.33.1", + "@tiptap/html": "3.33.1", + "@tiptap/pm": "3.33.1", + "@tiptap/react": "3.33.1", + "@tiptap/starter-kit": "3.33.1", + "@tiptap/suggestion": "3.33.1", "@tiptap/y-tiptap": "3.0.9", "ajv": "^8.20.0", "express": "^5.3.0", @@ -67,6 +67,14 @@ "prettier": "3.9.9", "typescript": "~6.0.2", "typescript-eslint": "^8.70.1", - "vite": "^8.0.16" + "vite": "^8.3.8" + }, + "overrides": { + "eslint": { + "minimatch": "^11.0.1" + }, + "typescript-eslint": { + "minimatch": "^11.0.1" + } } } diff --git a/site/react-router.config.ts b/site/react-router.config.ts new file mode 100644 index 0000000..419d380 --- /dev/null +++ b/site/react-router.config.ts @@ -0,0 +1,5 @@ +import type { Config } from '@react-router/dev/config'; + +export default { + future: { unstable_optimizeDeps: true }, +} satisfies Config; diff --git a/site/server/posts.ts b/site/server/posts.ts index 1a6f25d..0fd721d 100644 --- a/site/server/posts.ts +++ b/site/server/posts.ts @@ -97,7 +97,10 @@ export function createPosts( bus: Bus, jobs: Jobs, onPublished: (post: Post) => void = () => {}, + now = () => Date.now(), ) { + const timestamp = () => new Date(now()).toISOString(); + const known = { upload: (id: string) => Boolean(db.prepare('SELECT 1 FROM uploads WHERE id = ?').get(id)), member: (handle: string) => @@ -198,7 +201,7 @@ export function createPosts( if (!(await bus.alive())) { throw new Refused('The live stream is unreachable; try again in a moment.'); } - const at = new Date().toISOString(); + const at = timestamp(); const rendered = render(state(id)); transaction(db, () => { store(id, rendered, 'published', at, by); @@ -235,7 +238,7 @@ export function createPosts( async create(author: string, by: string, template: string | null) { const id = randomBytes(8).toString('hex'); - const at = new Date().toISOString(); + const at = timestamp(); const content = BUILT_IN_TEMPLATES.find((candidate) => candidate.id === template)?.content ?? (template @@ -275,7 +278,7 @@ export function createPosts( throw new Refused(problem); } const slug = freeSlug(post.author, next.slug, id); - const at = new Date().toISOString(); + const at = timestamp(); db.prepare( `UPDATE posts SET title = ?, slug = ?, summary = ?, tags = ?, project = ?, cover_upload = ?, editors = ?, updated_at = ?, updated_by = ? WHERE id = ?`, @@ -297,7 +300,7 @@ export function createPosts( }, storeDoc(id: string, doc: Uint8Array, by: string) { - const at = new Date().toISOString(); + const at = timestamp(); db.prepare('UPDATE posts SET doc = ?, updated_at = ?, updated_by = ? WHERE id = ?').run( doc, at, @@ -314,10 +317,10 @@ export function createPosts( if (problem) { throw new Refused(problem); } - if (Number.isNaN(Date.parse(publishAt)) || Date.parse(publishAt) <= Date.now()) { + if (Number.isNaN(Date.parse(publishAt)) || Date.parse(publishAt) <= now()) { throw new Refused('Pick a time in the future, or publish now.'); } - const at = new Date().toISOString(); + const at = timestamp(); const due = new Date(publishAt).toISOString(); db.prepare( "UPDATE posts SET status = 'scheduled', publish_at = ?, updated_at = ?, updated_by = ? WHERE id = ?", @@ -334,7 +337,7 @@ export function createPosts( async unpublish(id: string, by: string) { const post = must(id); - const at = new Date().toISOString(); + const at = timestamp(); db.prepare( "UPDATE posts SET status = 'draft', publish_at = NULL, updated_at = ?, updated_by = ? WHERE id = ?", ).run(at, by, id); @@ -356,7 +359,7 @@ export function createPosts( if (post.status === 'trashed') { return; } - const at = new Date().toISOString(); + const at = timestamp(); db.prepare( "UPDATE posts SET status = 'trashed', before_trash = ?, trashed_at = ?, publish_at = NULL, updated_at = ?, updated_by = ? WHERE id = ?", ).run(post.status, at, at, by, id); @@ -369,7 +372,7 @@ export function createPosts( if (post.status !== 'trashed') { return; } - const at = new Date().toISOString(); + const at = timestamp(); const back = post.beforeTrash === 'published' ? 'published' : 'draft'; db.prepare( 'UPDATE posts SET status = ?, before_trash = NULL, trashed_at = NULL, updated_at = ?, updated_by = ? WHERE id = ?', @@ -384,7 +387,7 @@ export function createPosts( db.prepare("DELETE FROM versions WHERE kind = 'post' AND key = ?").run(id); }); jobs.cancel(PUBLISH_JOB, id); - await changed(post, by, 'removed', new Date().toISOString(), `${by} deleted a post`); + await changed(post, by, 'removed', timestamp(), `${by} deleted a post`); }, versions(id: string): PostVersion[] { @@ -407,7 +410,7 @@ export function createPosts( async keep(id: string, by: string, label: string | null) { const post = must(id); - const at = new Date().toISOString(); + const at = timestamp(); keepVersion(post, by, at, label); touch(id, by, at); await changed(post, by, 'version', at, `${by} kept a version`); @@ -421,10 +424,10 @@ export function createPosts( const last = db .prepare("SELECT at FROM versions WHERE kind = 'post' AND key = ? ORDER BY id DESC LIMIT 1") .get(id)?.at as string | undefined; - if (last && Date.now() - Date.parse(last) < 15 * 60_000) { + if (last && now() - Date.parse(last) < 15 * 60_000) { return; } - keepVersion(post, by, new Date().toISOString(), null, doc); + keepVersion(post, by, timestamp(), null, doc); }, versionContent(id: string, versionId: number) { @@ -440,7 +443,7 @@ export function createPosts( async restored(id: string, versionId: number, by: string) { const post = must(id); - const at = new Date().toISOString(); + const at = timestamp(); keepVersion(post, by, at, `before restoring version ${versionId}`); touch(id, by, at); await changed(post, by, 'version', at, `${by} restored a version`); @@ -490,13 +493,7 @@ export function createPosts( const templateId = randomBytes(6).toString('hex'); db.prepare( 'INSERT INTO post_templates (id, name, by, content, created_at) VALUES (?, ?, ?, ?, ?)', - ).run( - templateId, - trimmed, - by, - JSON.stringify(stateToJson(state(id))), - new Date().toISOString(), - ); + ).run(templateId, trimmed, by, JSON.stringify(stateToJson(state(id))), timestamp()); return templateId; }, diff --git a/site/server/subscribers.test.ts b/site/server/subscribers.test.ts index 9efc4ad..0b60985 100644 --- a/site/server/subscribers.test.ts +++ b/site/server/subscribers.test.ts @@ -91,7 +91,7 @@ function setup(options: { allowed?: boolean; fail?: boolean } = {}) { }, now: () => clock, }); - const posts = createPosts(db, bus, jobs, subscribers.queuePost); + const posts = createPosts(db, bus, jobs, subscribers.queuePost, () => clock); const subscribe = ( email: string, extra: Partial[0]> = {},