diff --git a/package.json b/package.json index b0665e295e6..0bd44693e7d 100644 --- a/package.json +++ b/package.json @@ -56,6 +56,10 @@ "@cucumber/messages": "^17.1.1", "@cucumber/pretty-formatter": "^1.0.0-alpha.2", "@noble/hashes": "^1.0.0", + "@ownclouders/babel-preset": "workspace:*", + "@ownclouders/eslint-config": "workspace:*", + "@ownclouders/prettier-config": "workspace:*", + "@ownclouders/tsconfig": "workspace:*", "@playwright/test": "^1.27.0", "@rollup-extras/plugin-copy": "^1.2.5", "@rollup/plugin-alias": "^3.1.9", @@ -99,6 +103,7 @@ "pino-pretty": "^7.6.0", "playwright": "^1.26.1", "postcss": "^8.3.6", + "qs": "^6.10.3", "react": "^17.0.2", "regenerator-runtime": "^0.13.7", "requirejs": "^2.3.6", diff --git a/packages/web-app-draw-io/package.json b/packages/web-app-draw-io/package.json index 39059d161e9..746b00cc25f 100644 --- a/packages/web-app-draw-io/package.json +++ b/packages/web-app-draw-io/package.json @@ -2,5 +2,12 @@ "name": "draw-io", "version": "0.0.0", "description": "ownCloud web draw.io integration", - "license": "AGPL-3.0" + "license": "AGPL-3.0", + "peerDependencies": { + "@vue/composition-api": "^1.6.2", + "luxon": "^2.4.0", + "vuex": "^3.6.2", + "web-client": "workspace:*", + "web-pkg": "workspace:*" + } } diff --git a/packages/web-app-draw-io/src/App.vue b/packages/web-app-draw-io/src/App.vue index ff9f4085340..f4ecfcd79c4 100644 --- a/packages/web-app-draw-io/src/App.vue +++ b/packages/web-app-draw-io/src/App.vue @@ -17,7 +17,7 @@ import { mapActions } from 'vuex' import qs from 'qs' import { DateTime } from 'luxon' -import { DavPermission, DavProperty } from 'web-pkg/src/constants' +import { DavPermission, DavProperty } from 'web-client/src/webdav/constants' import { useAppDefaults } from 'web-pkg/src/composables' import { defineComponent } from '@vue/composition-api' import { basename } from 'path' diff --git a/packages/web-app-external/package.json b/packages/web-app-external/package.json index 4e19f1d493e..ed123019b82 100644 --- a/packages/web-app-external/package.json +++ b/packages/web-app-external/package.json @@ -2,5 +2,12 @@ "name": "external", "version": "0.0.0", "description": "ownCloud web integration of the reva app provider", - "license": "AGPL-3.0" + "license": "AGPL-3.0", + "peerDependencies": { + "@vue/composition-api": "^1.6.2", + "uuid": "^9.0.0", + "vuex": "^3.6.2", + "web-client": "workspace:*", + "web-pkg": "workspace:*" + } } diff --git a/packages/web-app-external/src/App.vue b/packages/web-app-external/src/App.vue index 08c6b9e9fd7..ce50badf29e 100644 --- a/packages/web-app-external/src/App.vue +++ b/packages/web-app-external/src/App.vue @@ -38,9 +38,9 @@ import ErrorScreen from './components/ErrorScreen.vue' import LoadingScreen from './components/LoadingScreen.vue' import { computed, unref } from '@vue/composition-api' import { queryItemAsString, useAppDefaults, useRouteQuery } from 'web-pkg/src/composables' -import { defineComponent } from '@vue/runtime-core' -import { DavProperty } from 'web-pkg/src/constants' -import { urlJoin } from 'web-pkg/src/utils' +import { defineComponent } from '@vue/composition-api' +import { DavProperty } from 'web-client/src/webdav/constants' +import { urlJoin } from 'web-client/src/utils' import { stringify } from 'qs' import { configurationManager } from 'web-pkg/src/configuration' diff --git a/packages/web-app-external/src/store/index.ts b/packages/web-app-external/src/store/index.ts index 23dcd4599f9..57b4245f24b 100644 --- a/packages/web-app-external/src/store/index.ts +++ b/packages/web-app-external/src/store/index.ts @@ -1,5 +1,5 @@ import { Commit } from 'vuex' -import { urlJoin } from 'web-pkg/src/utils' +import { urlJoin } from 'web-client/src/utils' import { configurationManager } from 'web-pkg/src/configuration' import { v4 as uuidV4 } from 'uuid' diff --git a/packages/web-app-files/package.json b/packages/web-app-files/package.json index c8acbc83df6..f0cd21090d8 100644 --- a/packages/web-app-files/package.json +++ b/packages/web-app-files/package.json @@ -1,9 +1,32 @@ { - "name": "files", + "name": "web-app-files", "version": "0.0.0", "description": "ownCloud web files", "license": "AGPL-3.0", "dependencies": { "copy-to-clipboard": "^3.3.1" + }, + "peerDependencies": { + "@vue/composition-api": "^1.6.2", + "filesize": "^9.0.11", + "fuse.js": "^6.5.3", + "lodash-es": "4.17.21", + "luxon": "^2.4.0", + "marked": "^4.0.12", + "p-queue": "^6.6.2", + "popper-max-size-modifier": "^0.2.0", + "qs": "^6.10.3", + "sanitize-html": "^2.7.0", + "semver": "^7.3.8", + "uuid": "^9.0.0", + "vue-concurrency": "^3.0.0-7", + "vue-gettext": "^2.1.5", + "vue-resize": "^1.0.1", + "vue-router": "~3.5.3", + "vuex": "^3.6.2", + "web-app-search": "workspace:*", + "web-client": "workspace:*", + "web-pkg": "workspace:*", + "web-runtime": "workspace:*" } } diff --git a/packages/web-app-files/src/App.vue b/packages/web-app-files/src/App.vue index 6f19622462c..2b41eba20d8 100644 --- a/packages/web-app-files/src/App.vue +++ b/packages/web-app-files/src/App.vue @@ -6,14 +6,13 @@ diff --git a/packages/web-runtime/src/pages/resolvePrivateLink.vue b/packages/web-runtime/src/pages/resolvePrivateLink.vue index fced25a0eb3..438b28aeb36 100644 --- a/packages/web-runtime/src/pages/resolvePrivateLink.vue +++ b/packages/web-runtime/src/pages/resolvePrivateLink.vue @@ -43,7 +43,7 @@ import { } from 'web-pkg/src/composables' import { unref, defineComponent, computed, onMounted } from '@vue/composition-api' import { clientService } from 'web-pkg/src/services' -import { createLocationSpaces } from 'files/src/router' +// import { createLocationSpaces } from 'web-app-files/src/router' import { dirname } from 'path' import { createFileRouteOptions } from 'web-pkg/src/helpers/router' import { useTask } from 'vue-concurrency' @@ -56,9 +56,10 @@ import { Resource, SpaceResource } from 'web-client/src/helpers' -import { DavProperty } from 'web-pkg/src/constants' -import { urlJoin } from 'web-pkg/src/utils' +import { DavProperty } from 'web-client/src/webdav/constants' +import { urlJoin } from 'web-client/src/utils' import { configurationManager } from 'web-pkg/src/configuration' +import { RawLocation } from 'vue-router' export default defineComponent({ name: 'ResolvePrivateLink', @@ -119,10 +120,13 @@ export default defineComponent({ } const { params, query } = createFileRouteOptions(matchingSpace, { fileId, path }) - const location = createLocationSpaces('files-spaces-generic', { + // FIXME: we should not hardcode the name here, but we should not depend on + // createLocationSpaces('files-spaces-generic') in web-app-files either + const location: RawLocation = { + name: 'files-spaces-generic', params, query: { ...query, ...(scrollTo && { scrollTo }) } - }) + } return router.push(location) }) diff --git a/packages/web-runtime/src/pages/resolvePublicLink.vue b/packages/web-runtime/src/pages/resolvePublicLink.vue index debe66b7972..19a9ead20f9 100644 --- a/packages/web-runtime/src/pages/resolvePublicLink.vue +++ b/packages/web-runtime/src/pages/resolvePublicLink.vue @@ -85,11 +85,11 @@ import { import { useTask } from 'vue-concurrency' import { ref, unref, computed, defineComponent } from '@vue/composition-api' import { + buildWebDavPublicPath, buildPublicSpaceResource, isPublicSpaceResource, PublicSpaceResource } from 'web-client/src/helpers' -import { buildWebDavPublicPath } from 'files/src/helpers/resources' import isEmpty from 'lodash-es/isEmpty' import { useLoadTokenInfo } from '../composables/tokenInfo' diff --git a/packages/web-runtime/src/services/uppyService.ts b/packages/web-runtime/src/services/uppyService.ts index 46ba9845e73..fb258330739 100644 --- a/packages/web-runtime/src/services/uppyService.ts +++ b/packages/web-runtime/src/services/uppyService.ts @@ -5,7 +5,7 @@ import { eventBus } from 'web-pkg/src/services/eventBus' import { UppyResource } from '../composables/upload' import { CustomDropTarget } from '../composables/upload/uppyPlugins/customDropTarget' import { CustomTus } from '../composables/upload/uppyPlugins/customTus' -import { urlJoin } from 'web-pkg/src/utils' +import { urlJoin } from 'web-client/src/utils' type UppyServiceTopics = | 'uploadStarted' diff --git a/packages/web-runtime/src/store/spaces.ts b/packages/web-runtime/src/store/spaces.ts index 9d2073a8cfe..c7a4bc79358 100644 --- a/packages/web-runtime/src/store/spaces.ts +++ b/packages/web-runtime/src/store/spaces.ts @@ -2,8 +2,9 @@ import { buildSpace } from 'web-client/src/helpers' import Vue from 'vue' import { set, has } from 'lodash-es' import { unref } from '@vue/composition-api' -import { buildSpaceShare } from 'files/src/helpers/resources' -import { sortSpaceMembers } from 'files/src/helpers/space' +import { buildSpaceShare } from 'web-client/src/helpers/share' +import { sortSpaceMembers } from '../helpers/space/sortMembers' + import { configurationManager } from 'web-pkg/src/configuration' const state = { diff --git a/packages/web-runtime/tests/unit/pages/resolvePublicLink.js b/packages/web-runtime/tests/unit/pages/resolvePublicLink.js index 571e59815f4..3b2b0a282fc 100644 --- a/packages/web-runtime/tests/unit/pages/resolvePublicLink.js +++ b/packages/web-runtime/tests/unit/pages/resolvePublicLink.js @@ -1,4 +1,4 @@ -import { getStore, localVue } from 'files/tests/unit/views/views.setup.js' +import { getStore, localVue } from 'web-app-files/tests/unit/views/views.setup.js' import { shallowMount, mount } from '@vue/test-utils' import resolvePublicLink from '../../../src/pages/resolvePublicLink' diff --git a/rollup.config.mjs b/rollup.config.mjs new file mode 100644 index 00000000000..ad22415773a --- /dev/null +++ b/rollup.config.mjs @@ -0,0 +1,259 @@ +import vue from 'rollup-plugin-vue' +// import resolve from '@rollup/plugin-node-resolve' +import resolve from 'rollup-plugin-node-resolve' + +import json from '@rollup/plugin-json' +import commonjs from '@rollup/plugin-commonjs' +import babel from 'rollup-plugin-babel' +import modify from 'rollup-plugin-modify' +import { terser } from 'rollup-plugin-terser' +import visualizer from 'rollup-plugin-visualizer' +import * as path from 'path' +import del from 'rollup-plugin-delete' +import * as fs from 'fs' +import gzip from 'rollup-plugin-gzip' +import ejs from 'ejs' +import progress from 'rollup-plugin-progress' +import postcss from 'rollup-plugin-postcss' +import serve from 'rollup-plugin-serve' +import livereload from 'rollup-plugin-livereload' +import html from '@rollup/plugin-html' +import ts from 'rollup-plugin-ts' +import nodePolyfills from 'rollup-plugin-polyfill-node' +import alias from '@rollup/plugin-alias' +import inject from '@rollup/plugin-inject' +import copy from '@rollup-extras/plugin-copy' +import packageJson from './package.json' assert { type: "json" } +import {fileURLToPath} from 'url' +import { dirname, resolve as pathResolve } from 'path' + + +const production = !process.env.ROLLUP_WATCH +const sourcemap = process.env.SOURCE_MAP === 'true' + +const { version } = packageJson +const compilationTimestamp = new Date().getTime() + +const config = { + requirejs: {}, + cdn: process.env.CDN === 'true' +} +if (process.env.REQUIRE_TIMEOUT) { + config.requirejs.waitSeconds = parseInt(process.env.REQUIRE_TIMEOUT) +} + +const __filename = fileURLToPath(import.meta.url) +const projectRootDir = dirname(__filename) + +const plugins = [ + postcss({ + extract: path.join('css', 'web.css'), + minimize: production, + sourceMap: sourcemap, + config: false + }), + alias({ + entries: [ + { find: 'crypto', replacement: pathResolve(projectRootDir, 'polyfills/crypto.js') }, + { find: 'qs', replacement: pathResolve(projectRootDir, 'node_modules/qs/lib/index.js') } + ] + }), + commonjs({ + include: 'node_modules/**' + }), + vue({ + css: false + }), + nodePolyfills(), + resolve({ + include: 'node_modules/**', + browser: true, + preferBuiltins: false + }), + babel({ + // babelHelpers: 'bundled', + exclude: 'node_modules/**' + }), + modify({ + 'process.env.NODE_ENV': JSON.stringify(production ? 'production' : 'development'), + 'process.env.PACKAGE_VERSION': JSON.stringify(version), + // todo: owncloud-sdk _makeOCSrequest has no catch + // this is required if a network error for example 'blocked by CORS' happened + 'l(o.instance+p,{method:e,body:d.body,headers:h})': + 'l(o.instance+p,{method:e,body:d.body,headers:h}).catch(function(e){return r(e)})' + }), + ts({ + browserslist: false + }), + inject({ + Buffer: ['buffer', 'Buffer'] + }), + json(), + copy({ + targets: [ + { src: 'node_modules/requirejs/require.js', dest: 'js' }, + { + src: 'node_modules/owncloud-design-system/dist/system/icons/*', + dest: 'icons' + }, + { + src: 'node_modules/owncloud-design-system/dist/system/fonts/*', + dest: 'fonts' + } + ], + watch: false + }), + copy({ + targets: [ + { src: './packages/web-container/img/*', dest: 'img' }, + { src: './packages/web-container/*.{html,json,txt}' }, + { src: './packages/web-runtime/themes/**/*', dest: 'themes' }, + { src: `./config/${production ? 'config.json.dist' : 'config.json'}` } + ] + }), + html({ + title: process.env.TITLE || 'ownCloud', + attributes: { + html: { lang: 'en' }, + link: [], + script: [] + }, + meta: [ + { + charset: 'utf-8' + }, + { + name: 'viewport', + content: 'initial-scale=1.0, minimum-scale=1.0' + }, + { + name: 'theme-color', + content: '#375f7E' + }, + { + 'http-equiv': 'x-ua-compatible', + content: 'IE=edge' + } + ], + template: ({ attributes, files, meta, publicPath, title }) => { + return new Promise((resolve, reject) => { + ejs.renderFile( + './packages/web-container/index.html.ejs', + { + helpers: { + makeHtmlAttributes: html.makeHtmlAttributes + }, + data: { + attributes, + meta, + publicPath, + title, + files, + bundle: Object.keys(files).reduce((acc, c) => { + if (!Object.hasOwnProperty.call(acc, c)) { + acc[c] = {} + } + files[c].forEach((f) => { + const fp = path.parse(f.fileName) + const lastDash = fp.name.lastIndexOf('-') + acc[c][ + production + ? fp.name.slice(0, lastDash !== -1 ? lastDash : 0) || fp.name + : fp.name + ] = c === 'js' ? fp.name : f.fileName + }) + + return acc + }, {}), + roots: { + css: 'css', + js: 'js' + }, + config: config, + compilationTimestamp: compilationTimestamp + } + }, + {}, + (err, html) => { + if (err) { + reject(err) + } else { + resolve(html) + } + } + ) + }) + } + }), + progress() +] + +if (production) { + plugins.push(terser()) + plugins.push( + del({ + runOnce: true, + targets: path.join('dist', '*'), + dot: true + }) + ) +} + +if (process.env.SERVER === 'true') { + plugins.push( + serve({ + host: '0.0.0.0', + contentBase: ['dist'], + port: process.env.PORT || 9100 + }) + ) + plugins.push( + livereload({ + watch: 'dist' + }) + ) +} + +if (process.env.REPORT === 'true') { + plugins.push( + visualizer({ + filename: path.join('dist', 'report.html') + }) + ) +} + +if (production) { + plugins.push(gzip()) +} + +export default { + input: fs.readdirSync('packages').reduce((acc, i) => { + for (const extension of ['js', 'ts']) { + const root = path.join('packages', i, 'src', `index.${extension}`) + if (fs.existsSync(root)) { + acc[i] = root + break + } + } + return acc + }, {}), + output: { + dir: 'dist', + format: 'amd', + sourcemap: sourcemap, + chunkFileNames: path.join('js', 'chunks', production ? '[name]-[hash].js' : '[name].js'), + entryFileNames: path.join('js', production ? '[name]-[hash].js' : '[name].js') + }, + manualChunks: (id) => { + if (id.includes('node_modules')) { + return 'vendor' + } + }, + onwarn: (warning) => { + if (warning.code !== 'CIRCULAR_DEPENDENCY') { + console.error(`(!) ${warning.message}`) + } + }, + // preserveSymlinks: true, + plugins +} diff --git a/yarn.lock b/yarn.lock index cb5d5162fe2..98579ac333e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -363,16 +363,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.12.0, @babel/parser@npm:^7.13.9, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.7, @babel/parser@npm:^7.17.3, @babel/parser@npm:^7.6.0, @babel/parser@npm:^7.9.6": - version: 7.17.3 - resolution: "@babel/parser@npm:7.17.3" - bin: - parser: ./bin/babel-parser.js - checksum: 311869baef97c7630ac3b3c4600da18229b95aa2785b2daab2044384745fe0653070916ade28749fb003f7369a081111ada53e37284ba48d6b5858cbb9e411d1 - languageName: node - linkType: hard - -"@babel/parser@npm:^7.16.4": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.4, @babel/parser@npm:^7.16.7, @babel/parser@npm:^7.17.3, @babel/parser@npm:^7.6.0, @babel/parser@npm:^7.9.6": version: 7.19.4 resolution: "@babel/parser@npm:7.19.4" bin: @@ -1331,7 +1322,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.12.0, @babel/types@npm:^7.13.0, @babel/types@npm:^7.16.0, @babel/types@npm:^7.16.7, @babel/types@npm:^7.16.8, @babel/types@npm:^7.17.0, @babel/types@npm:^7.17.10, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.6.1, @babel/types@npm:^7.8.3, @babel/types@npm:^7.9.6": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.16.0, @babel/types@npm:^7.16.7, @babel/types@npm:^7.16.8, @babel/types@npm:^7.17.0, @babel/types@npm:^7.17.10, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.6.1, @babel/types@npm:^7.8.3, @babel/types@npm:^7.9.6": version: 7.17.10 resolution: "@babel/types@npm:7.17.10" dependencies: @@ -1931,7 +1922,7 @@ __metadata: languageName: node linkType: hard -"@ownclouders/babel-preset@workspace:packages/babel-preset": +"@ownclouders/babel-preset@workspace:*, @ownclouders/babel-preset@workspace:packages/babel-preset": version: 0.0.0-use.local resolution: "@ownclouders/babel-preset@workspace:packages/babel-preset" dependencies: @@ -1939,7 +1930,7 @@ __metadata: languageName: unknown linkType: soft -"@ownclouders/eslint-config@workspace:packages/eslint-config": +"@ownclouders/eslint-config@workspace:*, @ownclouders/eslint-config@workspace:packages/eslint-config": version: 0.0.0-use.local resolution: "@ownclouders/eslint-config@workspace:packages/eslint-config" dependencies: @@ -1962,7 +1953,7 @@ __metadata: languageName: unknown linkType: soft -"@ownclouders/prettier-config@workspace:packages/prettier-config": +"@ownclouders/prettier-config@workspace:*, @ownclouders/prettier-config@workspace:packages/prettier-config": version: 0.0.0-use.local resolution: "@ownclouders/prettier-config@workspace:packages/prettier-config" dependencies: @@ -1970,7 +1961,7 @@ __metadata: languageName: unknown linkType: soft -"@ownclouders/tsconfig@workspace:packages/tsconfig": +"@ownclouders/tsconfig@workspace:*, @ownclouders/tsconfig@workspace:packages/tsconfig": version: 0.0.0-use.local resolution: "@ownclouders/tsconfig@workspace:packages/tsconfig" languageName: unknown @@ -2497,15 +2488,6 @@ __metadata: languageName: node linkType: hard -"@types/proper-url-join@npm:^2.1.1": - version: 2.1.1 - resolution: "@types/proper-url-join@npm:2.1.1" - dependencies: - query-string: ^6.3.0 - checksum: a3efe6003d1b94b990a00e3a8cd2dcbd7b8f87a6c872f4b8f0e8c8f6a9df1fd3f104cef3f05a08fdd58e90d60f0e2c1fcc6619a8dc6c59396d2cea0ba99f2887 - languageName: node - linkType: hard - "@types/q@npm:^1.5.1": version: 1.5.4 resolution: "@types/q@npm:1.5.4" @@ -2790,19 +2772,6 @@ __metadata: languageName: node linkType: hard -"@vue/compiler-core@npm:3.1.1": - version: 3.1.1 - resolution: "@vue/compiler-core@npm:3.1.1" - dependencies: - "@babel/parser": ^7.12.0 - "@babel/types": ^7.12.0 - "@vue/shared": 3.1.1 - estree-walker: ^2.0.1 - source-map: ^0.6.1 - checksum: 82eb70903675e708e81c8246b7bcbeb7d8e8c4abd9604d82e8f3e3f2d129c318feb2c2f69af2498512791d2ae708a7aa403614d8ee2f4db4604af5d8a81fe9e6 - languageName: node - linkType: hard - "@vue/compiler-core@npm:3.2.40": version: 3.2.40 resolution: "@vue/compiler-core@npm:3.2.40" @@ -2815,16 +2784,6 @@ __metadata: languageName: node linkType: hard -"@vue/compiler-dom@npm:3.1.1": - version: 3.1.1 - resolution: "@vue/compiler-dom@npm:3.1.1" - dependencies: - "@vue/compiler-core": 3.1.1 - "@vue/shared": 3.1.1 - checksum: 1734a0a9bced33d4fc31400fe7f944771c926d4a9f5f106a25d3c3aa0f914fb7a8796e937925e1579509870a823cb783deace4212a588c56fd8f938dd9405f9b - languageName: node - linkType: hard - "@vue/compiler-dom@npm:3.2.40": version: 3.2.40 resolution: "@vue/compiler-dom@npm:3.2.40" @@ -2835,33 +2794,7 @@ __metadata: languageName: node linkType: hard -"@vue/compiler-sfc@npm:^3.0.0, @vue/compiler-sfc@npm:^3.0.5": - version: 3.1.1 - resolution: "@vue/compiler-sfc@npm:3.1.1" - dependencies: - "@babel/parser": ^7.13.9 - "@babel/types": ^7.13.0 - "@vue/compiler-core": 3.1.1 - "@vue/compiler-dom": 3.1.1 - "@vue/compiler-ssr": 3.1.1 - "@vue/shared": 3.1.1 - consolidate: ^0.16.0 - estree-walker: ^2.0.1 - hash-sum: ^2.0.0 - lru-cache: ^5.1.1 - magic-string: ^0.25.7 - merge-source-map: ^1.1.0 - postcss: ^8.1.10 - postcss-modules: ^4.0.0 - postcss-selector-parser: ^6.0.4 - source-map: ^0.6.1 - peerDependencies: - vue: 3.1.1 - checksum: a5f1ad2045a3c05c679a84ad87a19f16791bd014766ed80d50c4d9ba2e28e8728e882a2fafee65b44b6789fed739898fb8d78989e109e8a5a881260cd31d72ac - languageName: node - linkType: hard - -"@vue/compiler-sfc@npm:^3.2.37": +"@vue/compiler-sfc@npm:^3.0.0, @vue/compiler-sfc@npm:^3.0.5, @vue/compiler-sfc@npm:^3.2.37": version: 3.2.40 resolution: "@vue/compiler-sfc@npm:3.2.40" dependencies: @@ -2879,16 +2812,6 @@ __metadata: languageName: node linkType: hard -"@vue/compiler-ssr@npm:3.1.1": - version: 3.1.1 - resolution: "@vue/compiler-ssr@npm:3.1.1" - dependencies: - "@vue/compiler-dom": 3.1.1 - "@vue/shared": 3.1.1 - checksum: 31c33fe5f91a2903ce5fa45cd48c5f355406d61648579a7b77c86caf61a192b7ca78c966128119830302db8be41b51e6da6b945d64220d77ff1d9bd4d8e0c639 - languageName: node - linkType: hard - "@vue/compiler-ssr@npm:3.2.40": version: 3.2.40 resolution: "@vue/compiler-ssr@npm:3.2.40" @@ -3000,13 +2923,6 @@ __metadata: languageName: node linkType: hard -"@vue/shared@npm:3.1.1": - version: 3.1.1 - resolution: "@vue/shared@npm:3.1.1" - checksum: 20c62892cce5952a5684d7bfd6021f897792b25d6b6db1434dfc3920e2982dbf713dff54e460ed76efc511c18fd8500c3ee27995023079241e71662f1381185b - languageName: node - linkType: hard - "@vue/shared@npm:3.2.36": version: 3.2.36 resolution: "@vue/shared@npm:3.2.36" @@ -3990,10 +3906,10 @@ __metadata: languageName: node linkType: hard -"caf@npm:^9.0.0": - version: 9.1.0 - resolution: "caf@npm:9.1.0" - checksum: 16c2985b73019b5e61681c37ee033aebdaf38c2fb16b4d17bf91382b1687441321e25529285914168de0e6eba0c446f77793d4ec820114dde8117231488dee5a +"caf@npm:^13.1.1": + version: 13.1.1 + resolution: "caf@npm:13.1.1" + checksum: f65f6c1ec51a84af3f014a785d4426befaffea909404f0f4f3e981969793e23df8b2f8fd5bbb880363abd5e234e0cf8ddd46f0f378aec530530cdc4967d67972 languageName: node linkType: hard @@ -4500,15 +4416,6 @@ __metadata: languageName: node linkType: hard -"consolidate@npm:^0.16.0": - version: 0.16.0 - resolution: "consolidate@npm:0.16.0" - dependencies: - bluebird: ^3.7.2 - checksum: f17164ffb2c4f79b4cbf685f1c76a49f59d329a40954b436425498861dc137b46fe821b2aadafa2dcfeb7eebd46846f35bd2c36b4a704d38521b4210a22a7515 - languageName: node - linkType: hard - "constantinople@npm:^4.0.1": version: 4.0.1 resolution: "constantinople@npm:4.0.1" @@ -5325,6 +5232,12 @@ __metadata: "draw-io@workspace:packages/web-app-draw-io": version: 0.0.0-use.local resolution: "draw-io@workspace:packages/web-app-draw-io" + peerDependencies: + "@vue/composition-api": ^1.6.2 + luxon: ^2.4.0 + vuex: ^3.6.2 + web-client: "workspace:*" + web-pkg: "workspace:*" languageName: unknown linkType: soft @@ -6090,6 +6003,12 @@ __metadata: "external@workspace:packages/web-app-external": version: 0.0.0-use.local resolution: "external@workspace:packages/web-app-external" + peerDependencies: + "@vue/composition-api": ^1.6.2 + uuid: ^9.0.0 + vuex: ^3.6.2 + web-client: "workspace:*" + web-pkg: "workspace:*" languageName: unknown linkType: soft @@ -6232,14 +6151,6 @@ __metadata: languageName: node linkType: hard -"files@workspace:packages/web-app-files": - version: 0.0.0-use.local - resolution: "files@workspace:packages/web-app-files" - dependencies: - copy-to-clipboard: ^3.3.1 - languageName: unknown - linkType: soft - "filesize@npm:^9.0.11": version: 9.0.11 resolution: "filesize@npm:9.0.11" @@ -6256,13 +6167,6 @@ __metadata: languageName: node linkType: hard -"filter-obj@npm:^1.1.0": - version: 1.1.0 - resolution: "filter-obj@npm:1.1.0" - checksum: cf2104a7c45ff48e7f505b78a3991c8f7f30f28bd8106ef582721f321f1c6277f7751aacd5d83026cb079d9d5091082f588d14a72e7c5d720ece79118fa61e10 - languageName: node - linkType: hard - "find-babel-config@npm:^1.1.0": version: 1.2.0 resolution: "find-babel-config@npm:1.2.0" @@ -6770,13 +6674,6 @@ __metadata: languageName: node linkType: hard -"hash-sum@npm:^2.0.0": - version: 2.0.0 - resolution: "hash-sum@npm:2.0.0" - checksum: efeeacf09ecbd467202865403c3a1991fa15d4f4903c1148ecbe13223fdbf9ec6d7dc661e17e5ce6e776cd70d67b6ee4c82e0171318962435be45c1155175f3f - languageName: node - linkType: hard - "he@npm:^1.1.0, he@npm:^1.2.0": version: 1.2.0 resolution: "he@npm:1.2.0" @@ -8786,15 +8683,6 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^5.1.1": - version: 5.1.1 - resolution: "lru-cache@npm:5.1.1" - dependencies: - yallist: ^3.0.2 - checksum: c154ae1cbb0c2206d1501a0e94df349653c92c8cbb25236d7e85190bcaf4567a03ac6eb43166fabfa36fd35623694da7233e88d9601fbf411a9a481d85dbd2cb - languageName: node - linkType: hard - "lru-cache@npm:^6.0.0": version: 6.0.0 resolution: "lru-cache@npm:6.0.0" @@ -9953,6 +9841,10 @@ __metadata: "pdf-viewer@workspace:packages/web-app-pdf-viewer": version: 0.0.0-use.local resolution: "pdf-viewer@workspace:packages/web-app-pdf-viewer" + peerDependencies: + "@vue/composition-api": ^1.6.2 + vuex: ^3.6.2 + web-pkg: "workspace:*" languageName: unknown linkType: soft @@ -10751,6 +10643,11 @@ __metadata: "preview@workspace:packages/web-app-preview": version: 0.0.0-use.local resolution: "preview@workspace:packages/web-app-preview" + peerDependencies: + "@vue/composition-api": ^1.6.2 + vuex: ^3.6.2 + web-client: "workspace:*" + web-pkg: "workspace:*" languageName: unknown linkType: soft @@ -11043,18 +10940,6 @@ __metadata: languageName: node linkType: hard -"query-string@npm:^6.3.0": - version: 6.14.1 - resolution: "query-string@npm:6.14.1" - dependencies: - decode-uri-component: ^0.2.0 - filter-obj: ^1.1.0 - split-on-first: ^1.0.0 - strict-uri-encode: ^2.0.0 - checksum: f2c7347578fa0f3fd4eaace506470cb4e9dc52d409a7ddbd613f614b9a594d750877e193b5d5e843c7477b3b295b857ec328903c943957adc41a3efb6c929449 - languageName: node - linkType: hard - "querystring@npm:^0.2.0": version: 0.2.1 resolution: "querystring@npm:0.2.1" @@ -11701,6 +11586,10 @@ __metadata: "@cucumber/messages": ^17.1.1 "@cucumber/pretty-formatter": ^1.0.0-alpha.2 "@noble/hashes": ^1.0.0 + "@ownclouders/babel-preset": "workspace:*" + "@ownclouders/eslint-config": "workspace:*" + "@ownclouders/prettier-config": "workspace:*" + "@ownclouders/tsconfig": "workspace:*" "@playwright/test": ^1.27.0 "@rollup-extras/plugin-copy": ^1.2.5 "@rollup/plugin-alias": ^3.1.9 @@ -11745,6 +11634,7 @@ __metadata: pino-pretty: ^7.6.0 playwright: ^1.26.1 postcss: ^8.3.6 + qs: ^6.10.3 react: ^17.0.2 regenerator-runtime: ^0.13.7 requirejs: ^2.3.6 @@ -11879,18 +11769,6 @@ __metadata: languageName: node linkType: hard -"search@workspace:packages/web-app-search": - version: 0.0.0-use.local - resolution: "search@workspace:packages/web-app-search" - dependencies: - p-cancelable: ^3.0.0 - portal-vue: ^2.1.7 - ts-async-decorators: ^0.3.0 - vue: ^2.6.10 - vue-async-computed: ^3.9.0 - languageName: unknown - linkType: soft - "secure-json-parse@npm:^2.4.0": version: 2.4.0 resolution: "secure-json-parse@npm:2.4.0" @@ -11912,7 +11790,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:2 || 3 || 4 || 5 || 6 || 7, semver@npm:7.x, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.6, semver@npm:^7.3.7": +"semver@npm:2 || 3 || 4 || 5 || 6 || 7, semver@npm:7.x, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.6, semver@npm:^7.3.7, semver@npm:^7.3.8": version: 7.3.8 resolution: "semver@npm:7.3.8" dependencies: @@ -12228,13 +12106,6 @@ __metadata: languageName: node linkType: hard -"split-on-first@npm:^1.0.0": - version: 1.1.0 - resolution: "split-on-first@npm:1.1.0" - checksum: 16ff85b54ddcf17f9147210a4022529b343edbcbea4ce977c8f30e38408b8d6e0f25f92cd35b86a524d4797f455e29ab89eb8db787f3c10708e0b47ebf528d30 - languageName: node - linkType: hard - "split2@npm:^4.0.0": version: 4.1.0 resolution: "split2@npm:4.1.0" @@ -12325,13 +12196,6 @@ __metadata: languageName: node linkType: hard -"strict-uri-encode@npm:^2.0.0": - version: 2.0.0 - resolution: "strict-uri-encode@npm:2.0.0" - checksum: eaac4cf978b6fbd480f1092cab8b233c9b949bcabfc9b598dd79a758f7243c28765ef7639c876fa72940dac687181b35486ea01ff7df3e65ce3848c64822c581 - languageName: node - linkType: hard - "string-argv@npm:^0.3.1": version: 0.3.1 resolution: "string-argv@npm:0.3.1" @@ -12698,6 +12562,14 @@ __metadata: "text-editor@workspace:packages/web-app-text-editor": version: 0.0.0-use.local resolution: "text-editor@workspace:packages/web-app-text-editor" + peerDependencies: + "@vue/composition-api": ^1.6.2 + marked: ^4.0.12 + sanitize-html: ^2.7.0 + vue-concurrency: ^3.0.0-7 + vuex: ^3.6.2 + web-client: "workspace:*" + web-pkg: "workspace:*" languageName: unknown linkType: soft @@ -13270,6 +13142,15 @@ __metadata: dependencies: email-validator: ^2.0.4 mark.js: ^8.11.1 + peerDependencies: + "@vue/composition-api": ^1.6.2 + axios: ^0.27.1 + fuse.js: ^6.5.3 + lodash-es: 4.17.21 + uuid: ^9.0.0 + vue-concurrency: ^3.0.0-7 + vuex: ^3.6.2 + web-pkg: "workspace:*" languageName: unknown linkType: soft @@ -13424,12 +13305,12 @@ __metadata: languageName: node linkType: hard -"vue-concurrency@npm:^2.2.1": - version: 2.2.1 - resolution: "vue-concurrency@npm:2.2.1" +"vue-concurrency@npm:^3.0.0-7": + version: 3.0.0-7 + resolution: "vue-concurrency@npm:3.0.0-7" dependencies: - caf: ^9.0.0 - checksum: 989500bb3d3c3b79ed92a6522e176b87483d05f19a054ecdef78b8b8c3a0f543a536c3bd31cd7aaa03c2507ca38609316ee04f22355dd50fcef88c850fd49e6d + caf: ^13.1.1 + checksum: 78339dcdf973251c9569b5b3592eb6336b27c49a434f8ade32263e769b7a3a17d742d0c6c09964e94eb104afa868eebea8d306b76cd73d0d98a2a4b56a8f80e5 languageName: node linkType: hard @@ -13632,17 +13513,77 @@ __metadata: languageName: node linkType: hard -"web-client@workspace:packages/web-client": +"web-app-files@workspace:packages/web-app-files": version: 0.0.0-use.local - resolution: "web-client@workspace:packages/web-client" + resolution: "web-app-files@workspace:packages/web-app-files" + dependencies: + copy-to-clipboard: ^3.3.1 + peerDependencies: + "@vue/composition-api": ^1.6.2 + filesize: ^9.0.11 + fuse.js: ^6.5.3 + lodash-es: 4.17.21 + luxon: ^2.4.0 + marked: ^4.0.12 + p-queue: ^6.6.2 + popper-max-size-modifier: ^0.2.0 + qs: ^6.10.3 + sanitize-html: ^2.7.0 + semver: ^7.3.8 + uuid: ^9.0.0 + vue-concurrency: ^3.0.0-7 + vue-gettext: ^2.1.5 + vue-resize: ^1.0.1 + vue-router: ~3.5.3 + vuex: ^3.6.2 + web-app-search: "workspace:*" + web-client: "workspace:*" + web-pkg: "workspace:*" + web-runtime: "workspace:*" + languageName: unknown + linkType: soft + +"web-app-search@workspace:packages/web-app-search": + version: 0.0.0-use.local + resolution: "web-app-search@workspace:packages/web-app-search" dependencies: - "@types/proper-url-join": ^2.1.1 + mark.js: ^8.11.1 + p-cancelable: ^3.0.0 + portal-vue: ^2.1.7 + ts-async-decorators: ^0.3.0 + vue: ^2.6.10 + vue-async-computed: ^3.9.0 + peerDependencies: + "@vue/composition-api": ^1.6.2 + lodash-es: ^4.17.21 + web-app-files: "workspace:*" + web-pkg: "workspace:*" languageName: unknown linkType: soft -"web-pkg@*, web-pkg@workspace:packages/web-pkg": +"web-client@workspace:*, web-client@workspace:packages/web-client": + version: 0.0.0-use.local + resolution: "web-client@workspace:packages/web-client" + peerDependencies: + axios: ^0.27.1 + lodash-es: ^4.17.21 + languageName: unknown + linkType: soft + +"web-pkg@workspace:*, web-pkg@workspace:packages/web-pkg": version: 0.0.0-use.local resolution: "web-pkg@workspace:packages/web-pkg" + peerDependencies: + "@vue/composition-api": ^1.6.2 + axios: ^0.27.1 + filesize: ^9.0.11 + lodash-es: ^4.17.21 + luxon: ^2.4.0 + qs: ^6.10.3 + uuid: ^9.0.0 + vue-router: ~3.5.3 + vuex: ^3.6.2 + web-client: "workspace:*" languageName: unknown linkType: soft @@ -13683,14 +13624,14 @@ __metadata: promise: ^8.1.0 qs: ^6.10.3 sanitize-html: ^2.7.0 - semver: ^7.3.7 + semver: ^7.3.8 tippy.js: ^6.3.7 utf8: ^3.0.0 uuid: ^9.0.0 v-calendar: ^2.3.2 vue: ^2.6.10 vue-async-computed: ^3.9.0 - vue-concurrency: ^2.2.1 + vue-concurrency: ^3.0.0-7 vue-events: ^3.1.0 vue-gettext: ^2.1.5 vue-inline-svg: ^2.0.0 @@ -13702,7 +13643,8 @@ __metadata: vuex: ^3.6.2 vuex-extensions: ^1.1.5 vuex-router-sync: ^5.0.0 - web-pkg: "*" + web-client: "workspace:*" + web-pkg: "workspace:*" webdav: ^4.10.0 webfontloader: ^1.6.28 xml-js: ^1.6.11 @@ -13952,13 +13894,6 @@ __metadata: languageName: node linkType: hard -"yallist@npm:^3.0.2": - version: 3.1.1 - resolution: "yallist@npm:3.1.1" - checksum: 48f7bb00dc19fc635a13a39fe547f527b10c9290e7b3e836b9a8f1ca04d4d342e85714416b3c2ab74949c9c66f9cebb0473e6bc353b79035356103b47641285d - languageName: node - linkType: hard - "yallist@npm:^4.0.0": version: 4.0.0 resolution: "yallist@npm:4.0.0"