deps: prevent weird transitive dep usage

Signed-off-by: Varun Patil <radialapps@gmail.com>
pull/953/head
Varun Patil 2023-11-24 16:22:54 -08:00
parent ff912a6bee
commit 04ac501477
5 changed files with 395 additions and 110 deletions

474
package-lock.json generated
View File

@ -9,8 +9,14 @@
"version": "1.0.1",
"license": "agpl",
"dependencies": {
"@nextcloud/auth": "^2.2.1",
"@nextcloud/axios": "^2.4.0",
"@nextcloud/dialogs": "^4.2.2",
"@nextcloud/event-bus": "^3.1.0",
"@nextcloud/initial-state": "^2.1.0",
"@nextcloud/l10n": "^2.2.0",
"@nextcloud/paths": "^2.1.0",
"@nextcloud/router": "^2.2.0",
"@nextcloud/sharing": "^0.1.0",
"@nextcloud/vue": "7.12.6",
"filerobot-image-editor": "^4.5.2",
@ -41,6 +47,7 @@
"@types/url-parse": "^1.4.10",
"@types/videojs-contrib-quality-levels": "^2.0.3",
"css-loader": "^6.8.1",
"node-polyfill-webpack-plugin": "^2.0.1",
"playwright": "^1.39.0",
"prettier": "^3.0.3",
"sass": "^1.69.5",
@ -1914,27 +1921,35 @@
"unist-util-is": "^3.0.0"
}
},
"node_modules/@mdi/svg": {
"version": "7.3.67",
"resolved": "https://registry.npmjs.org/@mdi/svg/-/svg-7.3.67.tgz",
"integrity": "sha512-KNr7D8jbu8DEprgRckVywVBkajsGGqocFjOzlekv35UedLjpkMDTkFO8VYnhnLySL0QaPBa568fe8BZsB0TBJQ=="
},
"node_modules/@nextcloud/auth": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@nextcloud/auth/-/auth-2.0.0.tgz",
"integrity": "sha512-v8K8tvjkOsGt1+gKydVeMiEwWLXlfPWSptXnMqP21Xd6pFAQxNuNNCY679XKU4MNaKzpZqLstCCxv/KrjeQv8A==",
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/@nextcloud/auth/-/auth-2.2.1.tgz",
"integrity": "sha512-zYtgrg9NMZfN8kmL5JPCsh5jDhpTCEslhnZWMvbhTiQ7hrOnji/67ok6VMK0CTJ1a92Vr67Ow72lW7YRX69zEA==",
"dependencies": {
"@nextcloud/event-bus": "^3.0.0"
"@nextcloud/event-bus": "^3.1.0"
},
"engines": {
"node": "^20.0.0",
"npm": "^9.0.0"
}
},
"node_modules/@nextcloud/axios": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@nextcloud/axios/-/axios-2.1.0.tgz",
"integrity": "sha512-fUwRQeYfdX0sP+DJnQiqlJfB7ngNHWu6Gbi0nYapkB7IFiLECeL2SWzDOFj+M04j4ApsblEMBqGOJ38WEgdeyA==",
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@nextcloud/axios/-/axios-2.4.0.tgz",
"integrity": "sha512-ARGzT9p45L0sjRIV3JZWGPtMbwgxd4eEMcMJNn58NA7UQIsMkTwHb5pXQjL+5elXY9zp/JMz7n/7SHTp0bkuXQ==",
"dependencies": {
"@nextcloud/auth": "^2.0.0",
"@nextcloud/router": "^2.0.0",
"axios": "^0.27.2",
"tslib": "^2.4.0"
"@nextcloud/auth": "^2.1.0",
"@nextcloud/router": "^2.1.2",
"axios": "^1.4.0"
},
"engines": {
"node": "^16.0.0",
"npm": "^7.0.0 || ^8.0.0"
"node": "^20.0.0",
"npm": "^9.0.0"
}
},
"node_modules/@nextcloud/browser-storage": {
@ -1977,35 +1992,124 @@
}
},
"node_modules/@nextcloud/dialogs": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-4.0.1.tgz",
"integrity": "sha512-jgIJdxTpc3suHkuZBRge6/dU6krG7x9emMGTxKY5qRQqFwn9r4rCqjV7Cys7VMn1QLlHmEDdqHcYZFRtN/XVNA==",
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-4.2.2.tgz",
"integrity": "sha512-KC55NmEXxABt2aHDIZEvjEIOAmVuc9/tsqS2P2OmmkWzPT/IQH+y87vU1ZfkPNUblZQQ73nK1U4/JQpEk/FuuQ==",
"dependencies": {
"@nextcloud/l10n": "^1.3.0",
"@nextcloud/typings": "^1.4.3",
"core-js": "^3.6.4",
"toastify-js": "^1.12.0"
"@mdi/svg": "^7.3.67",
"@nextcloud/files": "^3.0.0-beta.14",
"@nextcloud/l10n": "^2.2.0",
"@nextcloud/router": "^2.1.2",
"@nextcloud/typings": "^1.7.0",
"@nextcloud/vue": "^7.12.4",
"@types/toastify-js": "^1.12.2",
"@vueuse/core": "^10.4.1",
"toastify-js": "^1.12.0",
"vue-frag": "^1.4.3",
"webdav": "^5.2.3"
},
"engines": {
"node": "^16.0.0",
"npm": "^7.0.0 || ^8.0.0"
"node": "^20.0.0",
"npm": "^9.0.0"
},
"peerDependencies": {
"vue": "^2.7.14"
}
},
"node_modules/@nextcloud/dialogs/node_modules/@nextcloud/l10n": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/@nextcloud/l10n/-/l10n-1.6.0.tgz",
"integrity": "sha512-aKGlgrwN9OiafN791sYus0shfwNeU3PlrH6Oi9ISma6iJSvN6a8aJM8WGKCJ9pqBaTR5PrDuckuM/WnybBWb6A==",
"node_modules/@nextcloud/dialogs/node_modules/@types/web-bluetooth": {
"version": "0.0.20",
"resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz",
"integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow=="
},
"node_modules/@nextcloud/dialogs/node_modules/@vueuse/core": {
"version": "10.6.1",
"resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.6.1.tgz",
"integrity": "sha512-Pc26IJbqgC9VG1u6VY/xrXXfxD33hnvxBnKrLlA2LJlyHII+BSrRoTPJgGYq7qZOu61itITFUnm6QbacwZ4H8Q==",
"dependencies": {
"core-js": "^3.6.4",
"node-gettext": "^3.0.0"
"@types/web-bluetooth": "^0.0.20",
"@vueuse/metadata": "10.6.1",
"@vueuse/shared": "10.6.1",
"vue-demi": ">=0.14.6"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
"node_modules/@nextcloud/dialogs/node_modules/@vueuse/core/node_modules/vue-demi": {
"version": "0.14.6",
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz",
"integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==",
"hasInstallScript": true,
"bin": {
"vue-demi-fix": "bin/vue-demi-fix.js",
"vue-demi-switch": "bin/vue-demi-switch.js"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
},
"peerDependencies": {
"@vue/composition-api": "^1.0.0-rc.1",
"vue": "^3.0.0-0 || ^2.6.0"
},
"peerDependenciesMeta": {
"@vue/composition-api": {
"optional": true
}
}
},
"node_modules/@nextcloud/dialogs/node_modules/@vueuse/metadata": {
"version": "10.6.1",
"resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.6.1.tgz",
"integrity": "sha512-qhdwPI65Bgcj23e5lpGfQsxcy0bMjCAsUGoXkJ7DsoeDUdasbZ2DBa4dinFCOER3lF4gwUv+UD2AlA11zdzMFw==",
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
"node_modules/@nextcloud/dialogs/node_modules/@vueuse/shared": {
"version": "10.6.1",
"resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.6.1.tgz",
"integrity": "sha512-TECVDTIedFlL0NUfHWncf3zF9Gc4VfdxfQc8JFwoVZQmxpONhLxFrlm0eHQeidHj4rdTPL3KXJa0TZCk1wnc5Q==",
"dependencies": {
"vue-demi": ">=0.14.6"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
"node_modules/@nextcloud/dialogs/node_modules/@vueuse/shared/node_modules/vue-demi": {
"version": "0.14.6",
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz",
"integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==",
"hasInstallScript": true,
"bin": {
"vue-demi-fix": "bin/vue-demi-fix.js",
"vue-demi-switch": "bin/vue-demi-switch.js"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
},
"peerDependencies": {
"@vue/composition-api": "^1.0.0-rc.1",
"vue": "^3.0.0-0 || ^2.6.0"
},
"peerDependenciesMeta": {
"@vue/composition-api": {
"optional": true
}
}
},
"node_modules/@nextcloud/event-bus": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-3.0.2.tgz",
"integrity": "sha512-svXCZa4UkoZKsBiGzTi0cVcbPFUOhCm7pMKjGumRwBvHywX+8by478IQ8Grw75PFHxajMJZ0KrOTTM8WnzzEAw==",
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-3.1.0.tgz",
"integrity": "sha512-purXQsXbhbmpcDsbDuR0i7vwUgOsqnIUa7QAD3lV/UZUkUT94SmxBM5LgQ8iV8TQBWWleEwQHy5kYfHeTGF9wg==",
"dependencies": {
"semver": "^7.3.7"
"semver": "^7.5.1"
},
"engines": {
"node": "^16.0.0",
@ -2024,9 +2128,9 @@
}
},
"node_modules/@nextcloud/event-bus/node_modules/semver": {
"version": "7.3.8",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
"version": "7.5.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@ -2042,10 +2146,67 @@
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
},
"node_modules/@nextcloud/files": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-3.0.0.tgz",
"integrity": "sha512-zk5oIuVDyk2gWBKCJ+0B1HE3VjhuGnz2iLNbTcbRuTjMYb6aYCAEn1LY0dXbUQG93ehndYJCOdaYri/TaGrlXw==",
"dependencies": {
"@nextcloud/auth": "^2.2.1",
"@nextcloud/l10n": "^2.2.0",
"@nextcloud/logger": "^2.7.0",
"@nextcloud/paths": "^2.1.0",
"@nextcloud/router": "^2.2.0",
"is-svg": "^5.0.0",
"webdav": "^5.3.0"
},
"engines": {
"node": "^20.0.0",
"npm": "^9.0.0"
}
},
"node_modules/@nextcloud/files/node_modules/fast-xml-parser": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.2.tgz",
"integrity": "sha512-rmrXUXwbJedoXkStenj1kkljNF7ugn5ZjR9FJcwmCfcCbtOMDghPajbc+Tck6vE6F5XsDmx+Pr2le9fw8+pXBg==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/NaturalIntelligence"
},
{
"type": "paypal",
"url": "https://paypal.me/naturalintelligence"
}
],
"dependencies": {
"strnum": "^1.0.5"
},
"bin": {
"fxparser": "src/cli/cli.js"
}
},
"node_modules/@nextcloud/files/node_modules/is-svg": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/is-svg/-/is-svg-5.0.0.tgz",
"integrity": "sha512-sRl7J0oX9yUNamSdc8cwgzh9KBLnQXNzGmW0RVHwg/jEYjGNYHC6UvnYD8+hAeut9WwxRvhG9biK7g/wDGxcMw==",
"dependencies": {
"fast-xml-parser": "^4.1.3"
},
"engines": {
"node": ">=14.16"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@nextcloud/initial-state": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-2.0.0.tgz",
"integrity": "sha512-xmNP30v/RnkJ2z1HcuEo7YfcLJJa+FdWTwgNldXHOlMeMbl/ESpsGkWL2sULrhYurz64L0JpfwEdi/cHcmyuZQ=="
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-2.1.0.tgz",
"integrity": "sha512-b92X/GvUPGQJpUQwauyG3D3dHsWowViVLnTtFPSMUc0rXtvYR5CvhkqJRfPC7O7W4VC7+V3q+FWeA+mQWMxN2Q==",
"engines": {
"node": "^20.0.0",
"npm": "^9.0.0"
}
},
"node_modules/@nextcloud/l10n": {
"version": "2.2.0",
@ -2064,16 +2225,16 @@
}
},
"node_modules/@nextcloud/logger": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@nextcloud/logger/-/logger-2.4.0.tgz",
"integrity": "sha512-OXNpa+GdA+mxSmpyFaf3PJjLdSYNJaBWfa1Ey4gF7Ap76Ndya8d43TX0sdfakCAjuZsTS/y5JfKuwHjpeipdhQ==",
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/@nextcloud/logger/-/logger-2.7.0.tgz",
"integrity": "sha512-DSJg9H1jT2zfr7uoP4tL5hKncyY+LOuxJzLauj0M/f6gnpoXU5WG1Zw8EFPOrRWjkC0ZE+NCqrMnITgdRRpXJQ==",
"dependencies": {
"@nextcloud/auth": "^2.0.0",
"core-js": "^3.6.4"
},
"engines": {
"node": "^16.0.0",
"npm": "^7.0.0 || ^8.0.0"
"node": "^20.0.0",
"npm": "^9.0.0"
}
},
"node_modules/@nextcloud/paths": {
@ -2085,16 +2246,16 @@
}
},
"node_modules/@nextcloud/router": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@nextcloud/router/-/router-2.1.2.tgz",
"integrity": "sha512-Jj5fgjeHT1vVIgOyUGOeHfwk2KgaO77QGfqZAT6GWXvpAsN0mkqwljkg4FkHrQRouYqCE4VnJ5o8/w0DAN89tA==",
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/@nextcloud/router/-/router-2.2.0.tgz",
"integrity": "sha512-M4AVGnB5tt3MYO5RpH/R2jq7z/nW05AmRhk4Lh68krVwRIYGo8pgNikKrPGogHd2Q3UgzF5Py1drHz3uuV99bQ==",
"dependencies": {
"@nextcloud/typings": "^1.0.0",
"@nextcloud/typings": "^1.7.0",
"core-js": "^3.6.4"
},
"engines": {
"node": "^16.0.0",
"npm": "^7.0.0 || ^8.0.0"
"node": "^20.0.0",
"npm": "^9.0.0"
}
},
"node_modules/@nextcloud/sharing": {
@ -2547,6 +2708,11 @@
"resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz",
"integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ=="
},
"node_modules/@types/toastify-js": {
"version": "1.12.3",
"resolved": "https://registry.npmjs.org/@types/toastify-js/-/toastify-js-1.12.3.tgz",
"integrity": "sha512-9RjLlbAHMSaae/KZNHGv19VG4gcLIm3YjvacCXBtfMfYn26h76YP5oxXI8k26q4iKXCB9LNfv18lsoS0JnFPTg=="
},
"node_modules/@types/trusted-types": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz",
@ -3319,12 +3485,13 @@
}
},
"node_modules/axios": {
"version": "0.27.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
"integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
"version": "1.6.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz",
"integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==",
"dependencies": {
"follow-redirects": "^1.14.9",
"form-data": "^4.0.0"
"follow-redirects": "^1.15.0",
"form-data": "^4.0.0",
"proxy-from-env": "^1.1.0"
}
},
"node_modules/babel-plugin-polyfill-corejs2": {
@ -4738,9 +4905,9 @@
}
},
"node_modules/follow-redirects": {
"version": "1.15.2",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
"integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
"version": "1.15.3",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz",
"integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==",
"funding": [
{
"type": "individual",
@ -7360,6 +7527,11 @@
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/proxy-from-env": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
},
"node_modules/pseudomap": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
@ -11553,23 +11725,27 @@
}
}
},
"@mdi/svg": {
"version": "7.3.67",
"resolved": "https://registry.npmjs.org/@mdi/svg/-/svg-7.3.67.tgz",
"integrity": "sha512-KNr7D8jbu8DEprgRckVywVBkajsGGqocFjOzlekv35UedLjpkMDTkFO8VYnhnLySL0QaPBa568fe8BZsB0TBJQ=="
},
"@nextcloud/auth": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@nextcloud/auth/-/auth-2.0.0.tgz",
"integrity": "sha512-v8K8tvjkOsGt1+gKydVeMiEwWLXlfPWSptXnMqP21Xd6pFAQxNuNNCY679XKU4MNaKzpZqLstCCxv/KrjeQv8A==",
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/@nextcloud/auth/-/auth-2.2.1.tgz",
"integrity": "sha512-zYtgrg9NMZfN8kmL5JPCsh5jDhpTCEslhnZWMvbhTiQ7hrOnji/67ok6VMK0CTJ1a92Vr67Ow72lW7YRX69zEA==",
"requires": {
"@nextcloud/event-bus": "^3.0.0"
"@nextcloud/event-bus": "^3.1.0"
}
},
"@nextcloud/axios": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@nextcloud/axios/-/axios-2.1.0.tgz",
"integrity": "sha512-fUwRQeYfdX0sP+DJnQiqlJfB7ngNHWu6Gbi0nYapkB7IFiLECeL2SWzDOFj+M04j4ApsblEMBqGOJ38WEgdeyA==",
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@nextcloud/axios/-/axios-2.4.0.tgz",
"integrity": "sha512-ARGzT9p45L0sjRIV3JZWGPtMbwgxd4eEMcMJNn58NA7UQIsMkTwHb5pXQjL+5elXY9zp/JMz7n/7SHTp0bkuXQ==",
"requires": {
"@nextcloud/auth": "^2.0.0",
"@nextcloud/router": "^2.0.0",
"axios": "^0.27.2",
"tslib": "^2.4.0"
"@nextcloud/auth": "^2.1.0",
"@nextcloud/router": "^2.1.2",
"axios": "^1.4.0"
}
},
"@nextcloud/browser-storage": {
@ -11607,33 +11783,76 @@
}
},
"@nextcloud/dialogs": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-4.0.1.tgz",
"integrity": "sha512-jgIJdxTpc3suHkuZBRge6/dU6krG7x9emMGTxKY5qRQqFwn9r4rCqjV7Cys7VMn1QLlHmEDdqHcYZFRtN/XVNA==",
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-4.2.2.tgz",
"integrity": "sha512-KC55NmEXxABt2aHDIZEvjEIOAmVuc9/tsqS2P2OmmkWzPT/IQH+y87vU1ZfkPNUblZQQ73nK1U4/JQpEk/FuuQ==",
"requires": {
"@nextcloud/l10n": "^1.3.0",
"@nextcloud/typings": "^1.4.3",
"core-js": "^3.6.4",
"toastify-js": "^1.12.0"
"@mdi/svg": "^7.3.67",
"@nextcloud/files": "^3.0.0-beta.14",
"@nextcloud/l10n": "^2.2.0",
"@nextcloud/router": "^2.1.2",
"@nextcloud/typings": "^1.7.0",
"@nextcloud/vue": "^7.12.4",
"@types/toastify-js": "^1.12.2",
"@vueuse/core": "^10.4.1",
"toastify-js": "^1.12.0",
"vue-frag": "^1.4.3",
"webdav": "^5.2.3"
},
"dependencies": {
"@nextcloud/l10n": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/@nextcloud/l10n/-/l10n-1.6.0.tgz",
"integrity": "sha512-aKGlgrwN9OiafN791sYus0shfwNeU3PlrH6Oi9ISma6iJSvN6a8aJM8WGKCJ9pqBaTR5PrDuckuM/WnybBWb6A==",
"@types/web-bluetooth": {
"version": "0.0.20",
"resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz",
"integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow=="
},
"@vueuse/core": {
"version": "10.6.1",
"resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.6.1.tgz",
"integrity": "sha512-Pc26IJbqgC9VG1u6VY/xrXXfxD33hnvxBnKrLlA2LJlyHII+BSrRoTPJgGYq7qZOu61itITFUnm6QbacwZ4H8Q==",
"requires": {
"core-js": "^3.6.4",
"node-gettext": "^3.0.0"
"@types/web-bluetooth": "^0.0.20",
"@vueuse/metadata": "10.6.1",
"@vueuse/shared": "10.6.1",
"vue-demi": ">=0.14.6"
},
"dependencies": {
"vue-demi": {
"version": "0.14.6",
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz",
"integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==",
"requires": {}
}
}
},
"@vueuse/metadata": {
"version": "10.6.1",
"resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.6.1.tgz",
"integrity": "sha512-qhdwPI65Bgcj23e5lpGfQsxcy0bMjCAsUGoXkJ7DsoeDUdasbZ2DBa4dinFCOER3lF4gwUv+UD2AlA11zdzMFw=="
},
"@vueuse/shared": {
"version": "10.6.1",
"resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.6.1.tgz",
"integrity": "sha512-TECVDTIedFlL0NUfHWncf3zF9Gc4VfdxfQc8JFwoVZQmxpONhLxFrlm0eHQeidHj4rdTPL3KXJa0TZCk1wnc5Q==",
"requires": {
"vue-demi": ">=0.14.6"
},
"dependencies": {
"vue-demi": {
"version": "0.14.6",
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz",
"integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==",
"requires": {}
}
}
}
}
},
"@nextcloud/event-bus": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-3.0.2.tgz",
"integrity": "sha512-svXCZa4UkoZKsBiGzTi0cVcbPFUOhCm7pMKjGumRwBvHywX+8by478IQ8Grw75PFHxajMJZ0KrOTTM8WnzzEAw==",
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-3.1.0.tgz",
"integrity": "sha512-purXQsXbhbmpcDsbDuR0i7vwUgOsqnIUa7QAD3lV/UZUkUT94SmxBM5LgQ8iV8TQBWWleEwQHy5kYfHeTGF9wg==",
"requires": {
"semver": "^7.3.7"
"semver": "^7.5.1"
},
"dependencies": {
"lru-cache": {
@ -11645,9 +11864,9 @@
}
},
"semver": {
"version": "7.3.8",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
"version": "7.5.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"requires": {
"lru-cache": "^6.0.0"
}
@ -11659,10 +11878,42 @@
}
}
},
"@nextcloud/files": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-3.0.0.tgz",
"integrity": "sha512-zk5oIuVDyk2gWBKCJ+0B1HE3VjhuGnz2iLNbTcbRuTjMYb6aYCAEn1LY0dXbUQG93ehndYJCOdaYri/TaGrlXw==",
"requires": {
"@nextcloud/auth": "^2.2.1",
"@nextcloud/l10n": "^2.2.0",
"@nextcloud/logger": "^2.7.0",
"@nextcloud/paths": "^2.1.0",
"@nextcloud/router": "^2.2.0",
"is-svg": "^5.0.0",
"webdav": "^5.3.0"
},
"dependencies": {
"fast-xml-parser": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.2.tgz",
"integrity": "sha512-rmrXUXwbJedoXkStenj1kkljNF7ugn5ZjR9FJcwmCfcCbtOMDghPajbc+Tck6vE6F5XsDmx+Pr2le9fw8+pXBg==",
"requires": {
"strnum": "^1.0.5"
}
},
"is-svg": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/is-svg/-/is-svg-5.0.0.tgz",
"integrity": "sha512-sRl7J0oX9yUNamSdc8cwgzh9KBLnQXNzGmW0RVHwg/jEYjGNYHC6UvnYD8+hAeut9WwxRvhG9biK7g/wDGxcMw==",
"requires": {
"fast-xml-parser": "^4.1.3"
}
}
}
},
"@nextcloud/initial-state": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-2.0.0.tgz",
"integrity": "sha512-xmNP30v/RnkJ2z1HcuEo7YfcLJJa+FdWTwgNldXHOlMeMbl/ESpsGkWL2sULrhYurz64L0JpfwEdi/cHcmyuZQ=="
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-2.1.0.tgz",
"integrity": "sha512-b92X/GvUPGQJpUQwauyG3D3dHsWowViVLnTtFPSMUc0rXtvYR5CvhkqJRfPC7O7W4VC7+V3q+FWeA+mQWMxN2Q=="
},
"@nextcloud/l10n": {
"version": "2.2.0",
@ -11677,9 +11928,9 @@
}
},
"@nextcloud/logger": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@nextcloud/logger/-/logger-2.4.0.tgz",
"integrity": "sha512-OXNpa+GdA+mxSmpyFaf3PJjLdSYNJaBWfa1Ey4gF7Ap76Ndya8d43TX0sdfakCAjuZsTS/y5JfKuwHjpeipdhQ==",
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/@nextcloud/logger/-/logger-2.7.0.tgz",
"integrity": "sha512-DSJg9H1jT2zfr7uoP4tL5hKncyY+LOuxJzLauj0M/f6gnpoXU5WG1Zw8EFPOrRWjkC0ZE+NCqrMnITgdRRpXJQ==",
"requires": {
"@nextcloud/auth": "^2.0.0",
"core-js": "^3.6.4"
@ -11694,11 +11945,11 @@
}
},
"@nextcloud/router": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@nextcloud/router/-/router-2.1.2.tgz",
"integrity": "sha512-Jj5fgjeHT1vVIgOyUGOeHfwk2KgaO77QGfqZAT6GWXvpAsN0mkqwljkg4FkHrQRouYqCE4VnJ5o8/w0DAN89tA==",
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/@nextcloud/router/-/router-2.2.0.tgz",
"integrity": "sha512-M4AVGnB5tt3MYO5RpH/R2jq7z/nW05AmRhk4Lh68krVwRIYGo8pgNikKrPGogHd2Q3UgzF5Py1drHz3uuV99bQ==",
"requires": {
"@nextcloud/typings": "^1.0.0",
"@nextcloud/typings": "^1.7.0",
"core-js": "^3.6.4"
}
},
@ -12080,6 +12331,11 @@
"resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz",
"integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ=="
},
"@types/toastify-js": {
"version": "1.12.3",
"resolved": "https://registry.npmjs.org/@types/toastify-js/-/toastify-js-1.12.3.tgz",
"integrity": "sha512-9RjLlbAHMSaae/KZNHGv19VG4gcLIm3YjvacCXBtfMfYn26h76YP5oxXI8k26q4iKXCB9LNfv18lsoS0JnFPTg=="
},
"@types/trusted-types": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz",
@ -12690,12 +12946,13 @@
"integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw=="
},
"axios": {
"version": "0.27.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
"integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
"version": "1.6.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz",
"integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==",
"requires": {
"follow-redirects": "^1.14.9",
"form-data": "^4.0.0"
"follow-redirects": "^1.15.0",
"form-data": "^4.0.0",
"proxy-from-env": "^1.1.0"
}
},
"babel-plugin-polyfill-corejs2": {
@ -13744,9 +14001,9 @@
}
},
"follow-redirects": {
"version": "1.15.2",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
"integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA=="
"version": "1.15.3",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz",
"integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q=="
},
"for-each": {
"version": "0.3.3",
@ -15558,6 +15815,11 @@
"resolved": "https://registry.npmjs.org/property-information/-/property-information-6.2.0.tgz",
"integrity": "sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg=="
},
"proxy-from-env": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
},
"pseudomap": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",

View File

@ -30,8 +30,14 @@
"e2e": "playwright test"
},
"dependencies": {
"@nextcloud/auth": "^2.2.1",
"@nextcloud/axios": "^2.4.0",
"@nextcloud/dialogs": "^4.2.2",
"@nextcloud/event-bus": "^3.1.0",
"@nextcloud/initial-state": "^2.1.0",
"@nextcloud/l10n": "^2.2.0",
"@nextcloud/paths": "^2.1.0",
"@nextcloud/router": "^2.2.0",
"@nextcloud/sharing": "^0.1.0",
"@nextcloud/vue": "7.12.6",
"filerobot-image-editor": "^4.5.2",
@ -66,6 +72,7 @@
"@types/url-parse": "^1.4.10",
"@types/videojs-contrib-quality-levels": "^2.0.3",
"css-loader": "^6.8.1",
"node-polyfill-webpack-plugin": "^2.0.1",
"playwright": "^1.39.0",
"prettier": "^3.0.3",
"sass": "^1.69.5",

View File

@ -10,6 +10,7 @@ import VueVirtualScroller from 'vue-virtual-scroller';
// CSS for components
import 'vue-virtual-scroller/dist/vue-virtual-scroller.css';
import '@nextcloud/dialogs/style.css';
// Initialize global memories object
globalThis._m = {

View File

@ -111,10 +111,9 @@ export async function chooseNcFolder(
title: string,
initial: string = '/',
type: FilePickerType = FilePickerType.Choose,
) {
): Promise<string> {
const picker = getFilePickerBuilder(title)
.setMultiSelect(false)
.setModal(true)
.setType(type)
.addMimeTypeFilter('httpd/unix-directory')
.allowDirectories()
@ -122,8 +121,13 @@ export async function chooseNcFolder(
.build();
// Choose a folder
const promise = fragment.wrap(picker.pick(), fragment.types.dialog);
let folder = (await promise) || '/';
let folder = await fragment.wrap(picker.pick(), fragment.types.dialog);
if (typeof folder !== 'string') {
throw new Error('File picker did not return a string');
}
// Blank is not a valid folder
folder = folder || '/';
// Remove double slashes
folder = folder.replace(/\/+/g, '/');

View File

@ -4,6 +4,7 @@ const path = require('path');
const WorkboxPlugin = require('workbox-webpack-plugin');
const TerserPlugin = require('terser-webpack-plugin');
const { VueLoaderPlugin } = require('vue-loader');
const NodePolyfillPlugin = require('node-polyfill-webpack-plugin');
const appName = process.env.npm_package_name!;
const appVersion = process.env.npm_package_version!;
@ -76,6 +77,10 @@ module.exports = {
test: /\.(png|jpe?g|gif|svg|woff2?|eot|ttf)$/,
type: 'asset/inline',
},
{
resourceQuery: /raw/,
type: 'asset/source',
},
{
test: /\.s?css$/,
use: ['style-loader', 'css-loader', 'sass-loader'],
@ -102,6 +107,12 @@ module.exports = {
plugins: [
new VueLoaderPlugin(),
// @nextcloud/dialogs depends on path
// This is really frustrating, but it's the only way
new NodePolyfillPlugin({
includeAliases: ['path', 'process'],
}),
// Bundle service worker
new WorkboxPlugin.InjectManifest({
swSrc: path.resolve(path.join('src', 'service-worker.ts')),