From 1f349042df2ae1d733b86adeeb9564f84fcfcaf6 Mon Sep 17 00:00:00 2001 From: Ramon Wenger Date: Thu, 13 Apr 2023 16:28:48 +0200 Subject: [PATCH 01/25] Update dependencies, add vite config --- client/.postcssrc.js | 10 - client/.postcssrc.json | 7 + client/package-lock.json | 1086 +++++++++++++++++++++++++++++++++++++- client/package.json | 12 +- client/vite.config.ts | 29 + 5 files changed, 1128 insertions(+), 16 deletions(-) delete mode 100644 client/.postcssrc.js create mode 100644 client/.postcssrc.json create mode 100644 client/vite.config.ts diff --git a/client/.postcssrc.js b/client/.postcssrc.js deleted file mode 100644 index 39ebf318..00000000 --- a/client/.postcssrc.js +++ /dev/null @@ -1,10 +0,0 @@ -// https://github.com/michael-ciniawsky/postcss-load-config - -module.exports = { - plugins: { - 'postcss-import': {}, - 'postcss-url': {}, - // to edit target browsers: use "browserslist" field in package.json - autoprefixer: {}, - }, -}; diff --git a/client/.postcssrc.json b/client/.postcssrc.json new file mode 100644 index 00000000..8752e22e --- /dev/null +++ b/client/.postcssrc.json @@ -0,0 +1,7 @@ +{ + "plugins": { + "postcss-import": {}, + "postcss-url": {}, + "autoprefixer": {} + } +} diff --git a/client/package-lock.json b/client/package-lock.json index f26d7d82..5bfc5eea 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -19,6 +19,7 @@ "@graphql-tools/jest-transform": "^1.2.2", "@graphql-tools/mock": "^8.6.5", "@graphql-tools/schema": "^8.3.7", + "@rollup/plugin-graphql": "^1.1.0", "@sentry/vue": "^7.45.0", "@sentry/webpack-plugin": "^1.20.0", "@tiptap/core": "^2.0.0-beta.174", @@ -77,13 +78,11 @@ "postcss-url": "^10.1.3", "prettier": "2.8.2", "rimraf": "^2.6.0", - "sass": "^1.56.1", "sass-loader": "^12.6.0", "semver": "^5.3.0", "shelljs": "^0.8.5", "survey-knockout": "^1.9.41", "ts-loader": "^8.3.0", - "typescript": "^4.5.4", "uploadcare-widget": "^3.6.0", "url-loader": "^4.1.1", "vee-validate": "^4.5.10", @@ -101,6 +100,13 @@ "webpack-dev-server": "^4.6.0", "webpack-merge": "^5.8.0" }, + "devDependencies": { + "@vitejs/plugin-vue": "^3.0.3", + "sass": "^1.56.1", + "typescript": "^4.6.4", + "vite": "^3.1.0", + "vue-tsc": "^0.40.4" + }, "engines": { "node": ">= 14.x", "npm": ">= 8.x" @@ -1926,6 +1932,38 @@ "node": ">=10.0.0" } }, + "node_modules/@esbuild/android-arm": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.18.tgz", + "integrity": "sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz", + "integrity": "sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@eslint/eslintrc": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", @@ -3216,6 +3254,31 @@ "url": "https://opencollective.com/popperjs" } }, + "node_modules/@rollup/plugin-graphql": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-graphql/-/plugin-graphql-1.1.0.tgz", + "integrity": "sha512-X+H6oFlprDlnO3D0UiEytdW97AMphPXO0C7KunS7i/rBXIGQRQVDU5WKTXnBu2tfyYbjCTtfhXMSGI0i885PNg==", + "dependencies": { + "@rollup/pluginutils": "^4.0.0", + "graphql-tag": "^2.2.2" + }, + "peerDependencies": { + "graphql": ">=0.9.0", + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", + "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "dependencies": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + } + }, "node_modules/@sentry-internal/tracing": { "version": "7.45.0", "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.45.0.tgz", @@ -4121,6 +4184,180 @@ "weakmap-polyfill": "2.0.4" } }, + "node_modules/@vitejs/plugin-vue": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-3.2.0.tgz", + "integrity": "sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==", + "dev": true, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^3.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@volar/code-gen": { + "version": "0.40.13", + "resolved": "https://registry.npmjs.org/@volar/code-gen/-/code-gen-0.40.13.tgz", + "integrity": "sha512-4gShBWuMce868OVvgyA1cU5WxHbjfEme18Tw6uVMfweZCF5fB2KECG0iPrA9D54vHk3FeHarODNwgIaaFfUBlA==", + "dev": true, + "dependencies": { + "@volar/source-map": "0.40.13" + } + }, + "node_modules/@volar/source-map": { + "version": "0.40.13", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-0.40.13.tgz", + "integrity": "sha512-dbdkAB2Nxb0wLjAY5O64o3ywVWlAGONnBIoKAkXSf6qkGZM+nJxcizsoiI66K+RHQG0XqlyvjDizfnTxr+6PWg==", + "dev": true, + "dependencies": { + "@vue/reactivity": "3.2.38" + } + }, + "node_modules/@volar/source-map/node_modules/@vue/reactivity": { + "version": "3.2.38", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.38.tgz", + "integrity": "sha512-6L4myYcH9HG2M25co7/BSo0skKFHpAN8PhkNPM4xRVkyGl1K5M3Jx4rp5bsYhvYze2K4+l+pioN4e6ZwFLUVtw==", + "dev": true, + "dependencies": { + "@vue/shared": "3.2.38" + } + }, + "node_modules/@volar/source-map/node_modules/@vue/shared": { + "version": "3.2.38", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.38.tgz", + "integrity": "sha512-dTyhTIRmGXBjxJE+skC8tTWCGLCVc4wQgRRLt8+O9p5ewBAjoBwtCAkLPrtToSr1xltoe3st21Pv953aOZ7alg==", + "dev": true + }, + "node_modules/@volar/typescript-faster": { + "version": "0.40.13", + "resolved": "https://registry.npmjs.org/@volar/typescript-faster/-/typescript-faster-0.40.13.tgz", + "integrity": "sha512-uy+TlcFkKoNlKEnxA4x5acxdxLyVDIXGSc8cYDNXpPKjBKXrQaetzCzlO3kVBqu1VLMxKNGJMTKn35mo+ILQmw==", + "dev": true, + "dependencies": { + "semver": "^7.3.7" + } + }, + "node_modules/@volar/typescript-faster/node_modules/semver": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", + "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@volar/vue-language-core": { + "version": "0.40.13", + "resolved": "https://registry.npmjs.org/@volar/vue-language-core/-/vue-language-core-0.40.13.tgz", + "integrity": "sha512-QkCb8msi2KUitTdM6Y4kAb7/ZlEvuLcbBFOC2PLBlFuoZwyxvSP7c/dBGmKGtJlEvMX0LdCyrg5V2aBYxD38/Q==", + "dev": true, + "dependencies": { + "@volar/code-gen": "0.40.13", + "@volar/source-map": "0.40.13", + "@vue/compiler-core": "^3.2.38", + "@vue/compiler-dom": "^3.2.38", + "@vue/compiler-sfc": "^3.2.38", + "@vue/reactivity": "^3.2.38", + "@vue/shared": "^3.2.38" + } + }, + "node_modules/@volar/vue-language-core/node_modules/@vue/compiler-core": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz", + "integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/@volar/vue-language-core/node_modules/@vue/compiler-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz", + "integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==", + "dev": true, + "dependencies": { + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@volar/vue-language-core/node_modules/@vue/compiler-sfc": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz", + "integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-ssr": "3.2.47", + "@vue/reactivity-transform": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "node_modules/@volar/vue-language-core/node_modules/@vue/compiler-ssr": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz", + "integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@volar/vue-language-core/node_modules/@vue/reactivity": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.47.tgz", + "integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==", + "dev": true, + "dependencies": { + "@vue/shared": "3.2.47" + } + }, + "node_modules/@volar/vue-language-core/node_modules/@vue/reactivity-transform": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz", + "integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "node_modules/@volar/vue-language-core/node_modules/@vue/shared": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz", + "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==", + "dev": true + }, + "node_modules/@volar/vue-typescript": { + "version": "0.40.13", + "resolved": "https://registry.npmjs.org/@volar/vue-typescript/-/vue-typescript-0.40.13.tgz", + "integrity": "sha512-o7bNztwjs8JmbQjVkrnbZUOfm7q4B8ZYssETISN1tRaBdun6cfNqgpkvDYd+VUBh1O4CdksvN+5BUNnwAz4oCQ==", + "dev": true, + "dependencies": { + "@volar/code-gen": "0.40.13", + "@volar/typescript-faster": "0.40.13", + "@volar/vue-language-core": "0.40.13" + } + }, "node_modules/@vue/apollo-composable": { "version": "4.0.0-beta.1", "resolved": "https://registry.npmjs.org/@vue/apollo-composable/-/apollo-composable-4.0.0-beta.1.tgz", @@ -7320,6 +7557,363 @@ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" }, + "node_modules/esbuild": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz", + "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.15.18", + "@esbuild/linux-loong64": "0.15.18", + "esbuild-android-64": "0.15.18", + "esbuild-android-arm64": "0.15.18", + "esbuild-darwin-64": "0.15.18", + "esbuild-darwin-arm64": "0.15.18", + "esbuild-freebsd-64": "0.15.18", + "esbuild-freebsd-arm64": "0.15.18", + "esbuild-linux-32": "0.15.18", + "esbuild-linux-64": "0.15.18", + "esbuild-linux-arm": "0.15.18", + "esbuild-linux-arm64": "0.15.18", + "esbuild-linux-mips64le": "0.15.18", + "esbuild-linux-ppc64le": "0.15.18", + "esbuild-linux-riscv64": "0.15.18", + "esbuild-linux-s390x": "0.15.18", + "esbuild-netbsd-64": "0.15.18", + "esbuild-openbsd-64": "0.15.18", + "esbuild-sunos-64": "0.15.18", + "esbuild-windows-32": "0.15.18", + "esbuild-windows-64": "0.15.18", + "esbuild-windows-arm64": "0.15.18" + } + }, + "node_modules/esbuild-android-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz", + "integrity": "sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-android-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz", + "integrity": "sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz", + "integrity": "sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz", + "integrity": "sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz", + "integrity": "sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz", + "integrity": "sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-32": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz", + "integrity": "sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz", + "integrity": "sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz", + "integrity": "sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz", + "integrity": "sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-mips64le": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz", + "integrity": "sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-ppc64le": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz", + "integrity": "sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-riscv64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz", + "integrity": "sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-s390x": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz", + "integrity": "sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-netbsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz", + "integrity": "sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-openbsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz", + "integrity": "sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-sunos-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz", + "integrity": "sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-32": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz", + "integrity": "sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz", + "integrity": "sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz", + "integrity": "sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -9464,7 +10058,8 @@ "node_modules/immutable": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.2.tgz", - "integrity": "sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==" + "integrity": "sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==", + "devOptional": true }, "node_modules/import-fresh": { "version": "3.3.0", @@ -15321,6 +15916,20 @@ "rimraf": "bin.js" } }, + "node_modules/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -15379,6 +15988,7 @@ "version": "1.58.0", "resolved": "https://registry.npmjs.org/sass/-/sass-1.58.0.tgz", "integrity": "sha512-PiMJcP33DdKtZ/1jSjjqVIKihoDc6yWmYr9K/4r3fVVIEDAluD0q7XZiRKrNJcPK3qkLRF/79DND1H5q1LBjgg==", + "devOptional": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", @@ -17221,6 +17831,55 @@ "extsprintf": "^1.2.0" } }, + "node_modules/vite": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.5.tgz", + "integrity": "sha512-4mVEpXpSOgrssFZAOmGIr85wPHKvaDAcXqxVxVRZhljkJOMZi1ibLibzjLHzJvcok8BMguLc7g1W6W/GqZbLdQ==", + "dev": true, + "dependencies": { + "esbuild": "^0.15.9", + "postcss": "^8.4.18", + "resolve": "^1.22.1", + "rollup": "^2.79.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, "node_modules/vue": { "version": "3.2.30", "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.30.tgz", @@ -17471,6 +18130,22 @@ "node": ">=4.0.0" } }, + "node_modules/vue-tsc": { + "version": "0.40.13", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-0.40.13.tgz", + "integrity": "sha512-xzuN3g5PnKfJcNrLv4+mAjteMd5wLm5fRhW0034OfNJZY4WhB07vhngea/XeGn7wNYt16r7syonzvW/54dcNiA==", + "dev": true, + "dependencies": { + "@volar/vue-language-core": "0.40.13", + "@volar/vue-typescript": "0.40.13" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": "*" + } + }, "node_modules/vue-vimeo-player": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vue-vimeo-player/-/vue-vimeo-player-1.1.2.tgz", @@ -19613,6 +20288,20 @@ "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==" }, + "@esbuild/android-arm": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.18.tgz", + "integrity": "sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz", + "integrity": "sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==", + "dev": true, + "optional": true + }, "@eslint/eslintrc": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", @@ -20611,6 +21300,24 @@ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==" }, + "@rollup/plugin-graphql": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-graphql/-/plugin-graphql-1.1.0.tgz", + "integrity": "sha512-X+H6oFlprDlnO3D0UiEytdW97AMphPXO0C7KunS7i/rBXIGQRQVDU5WKTXnBu2tfyYbjCTtfhXMSGI0i885PNg==", + "requires": { + "@rollup/pluginutils": "^4.0.0", + "graphql-tag": "^2.2.2" + } + }, + "@rollup/pluginutils": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", + "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "requires": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + } + }, "@sentry-internal/tracing": { "version": "7.45.0", "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.45.0.tgz", @@ -21327,6 +22034,174 @@ "weakmap-polyfill": "2.0.4" } }, + "@vitejs/plugin-vue": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-3.2.0.tgz", + "integrity": "sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==", + "dev": true, + "requires": {} + }, + "@volar/code-gen": { + "version": "0.40.13", + "resolved": "https://registry.npmjs.org/@volar/code-gen/-/code-gen-0.40.13.tgz", + "integrity": "sha512-4gShBWuMce868OVvgyA1cU5WxHbjfEme18Tw6uVMfweZCF5fB2KECG0iPrA9D54vHk3FeHarODNwgIaaFfUBlA==", + "dev": true, + "requires": { + "@volar/source-map": "0.40.13" + } + }, + "@volar/source-map": { + "version": "0.40.13", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-0.40.13.tgz", + "integrity": "sha512-dbdkAB2Nxb0wLjAY5O64o3ywVWlAGONnBIoKAkXSf6qkGZM+nJxcizsoiI66K+RHQG0XqlyvjDizfnTxr+6PWg==", + "dev": true, + "requires": { + "@vue/reactivity": "3.2.38" + }, + "dependencies": { + "@vue/reactivity": { + "version": "3.2.38", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.38.tgz", + "integrity": "sha512-6L4myYcH9HG2M25co7/BSo0skKFHpAN8PhkNPM4xRVkyGl1K5M3Jx4rp5bsYhvYze2K4+l+pioN4e6ZwFLUVtw==", + "dev": true, + "requires": { + "@vue/shared": "3.2.38" + } + }, + "@vue/shared": { + "version": "3.2.38", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.38.tgz", + "integrity": "sha512-dTyhTIRmGXBjxJE+skC8tTWCGLCVc4wQgRRLt8+O9p5ewBAjoBwtCAkLPrtToSr1xltoe3st21Pv953aOZ7alg==", + "dev": true + } + } + }, + "@volar/typescript-faster": { + "version": "0.40.13", + "resolved": "https://registry.npmjs.org/@volar/typescript-faster/-/typescript-faster-0.40.13.tgz", + "integrity": "sha512-uy+TlcFkKoNlKEnxA4x5acxdxLyVDIXGSc8cYDNXpPKjBKXrQaetzCzlO3kVBqu1VLMxKNGJMTKn35mo+ILQmw==", + "dev": true, + "requires": { + "semver": "^7.3.7" + }, + "dependencies": { + "semver": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", + "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@volar/vue-language-core": { + "version": "0.40.13", + "resolved": "https://registry.npmjs.org/@volar/vue-language-core/-/vue-language-core-0.40.13.tgz", + "integrity": "sha512-QkCb8msi2KUitTdM6Y4kAb7/ZlEvuLcbBFOC2PLBlFuoZwyxvSP7c/dBGmKGtJlEvMX0LdCyrg5V2aBYxD38/Q==", + "dev": true, + "requires": { + "@volar/code-gen": "0.40.13", + "@volar/source-map": "0.40.13", + "@vue/compiler-core": "^3.2.38", + "@vue/compiler-dom": "^3.2.38", + "@vue/compiler-sfc": "^3.2.38", + "@vue/reactivity": "^3.2.38", + "@vue/shared": "^3.2.38" + }, + "dependencies": { + "@vue/compiler-core": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz", + "integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==", + "dev": true, + "requires": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz", + "integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==", + "dev": true, + "requires": { + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@vue/compiler-sfc": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz", + "integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-ssr": "3.2.47", + "@vue/reactivity-transform": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-ssr": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz", + "integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==", + "dev": true, + "requires": { + "@vue/compiler-dom": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@vue/reactivity": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.47.tgz", + "integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==", + "dev": true, + "requires": { + "@vue/shared": "3.2.47" + } + }, + "@vue/reactivity-transform": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz", + "integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==", + "dev": true, + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "@vue/shared": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz", + "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==", + "dev": true + } + } + }, + "@volar/vue-typescript": { + "version": "0.40.13", + "resolved": "https://registry.npmjs.org/@volar/vue-typescript/-/vue-typescript-0.40.13.tgz", + "integrity": "sha512-o7bNztwjs8JmbQjVkrnbZUOfm7q4B8ZYssETISN1tRaBdun6cfNqgpkvDYd+VUBh1O4CdksvN+5BUNnwAz4oCQ==", + "dev": true, + "requires": { + "@volar/code-gen": "0.40.13", + "@volar/typescript-faster": "0.40.13", + "@volar/vue-language-core": "0.40.13" + } + }, "@vue/apollo-composable": { "version": "4.0.0-beta.1", "resolved": "https://registry.npmjs.org/@vue/apollo-composable/-/apollo-composable-4.0.0-beta.1.tgz", @@ -23709,6 +24584,176 @@ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" }, + "esbuild": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz", + "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.15.18", + "@esbuild/linux-loong64": "0.15.18", + "esbuild-android-64": "0.15.18", + "esbuild-android-arm64": "0.15.18", + "esbuild-darwin-64": "0.15.18", + "esbuild-darwin-arm64": "0.15.18", + "esbuild-freebsd-64": "0.15.18", + "esbuild-freebsd-arm64": "0.15.18", + "esbuild-linux-32": "0.15.18", + "esbuild-linux-64": "0.15.18", + "esbuild-linux-arm": "0.15.18", + "esbuild-linux-arm64": "0.15.18", + "esbuild-linux-mips64le": "0.15.18", + "esbuild-linux-ppc64le": "0.15.18", + "esbuild-linux-riscv64": "0.15.18", + "esbuild-linux-s390x": "0.15.18", + "esbuild-netbsd-64": "0.15.18", + "esbuild-openbsd-64": "0.15.18", + "esbuild-sunos-64": "0.15.18", + "esbuild-windows-32": "0.15.18", + "esbuild-windows-64": "0.15.18", + "esbuild-windows-arm64": "0.15.18" + } + }, + "esbuild-android-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz", + "integrity": "sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==", + "dev": true, + "optional": true + }, + "esbuild-android-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz", + "integrity": "sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==", + "dev": true, + "optional": true + }, + "esbuild-darwin-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz", + "integrity": "sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==", + "dev": true, + "optional": true + }, + "esbuild-darwin-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz", + "integrity": "sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz", + "integrity": "sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz", + "integrity": "sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==", + "dev": true, + "optional": true + }, + "esbuild-linux-32": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz", + "integrity": "sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==", + "dev": true, + "optional": true + }, + "esbuild-linux-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz", + "integrity": "sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz", + "integrity": "sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz", + "integrity": "sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==", + "dev": true, + "optional": true + }, + "esbuild-linux-mips64le": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz", + "integrity": "sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==", + "dev": true, + "optional": true + }, + "esbuild-linux-ppc64le": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz", + "integrity": "sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==", + "dev": true, + "optional": true + }, + "esbuild-linux-riscv64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz", + "integrity": "sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==", + "dev": true, + "optional": true + }, + "esbuild-linux-s390x": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz", + "integrity": "sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==", + "dev": true, + "optional": true + }, + "esbuild-netbsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz", + "integrity": "sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==", + "dev": true, + "optional": true + }, + "esbuild-openbsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz", + "integrity": "sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==", + "dev": true, + "optional": true + }, + "esbuild-sunos-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz", + "integrity": "sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==", + "dev": true, + "optional": true + }, + "esbuild-windows-32": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz", + "integrity": "sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==", + "dev": true, + "optional": true + }, + "esbuild-windows-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz", + "integrity": "sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==", + "dev": true, + "optional": true + }, + "esbuild-windows-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz", + "integrity": "sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==", + "dev": true, + "optional": true + }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -25266,7 +26311,8 @@ "immutable": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.2.tgz", - "integrity": "sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==" + "integrity": "sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==", + "devOptional": true }, "import-fresh": { "version": "3.3.0", @@ -29525,6 +30571,14 @@ "glob": "^7.1.3" } }, + "rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "requires": { + "fsevents": "~2.3.2" + } + }, "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -29555,6 +30609,7 @@ "version": "1.58.0", "resolved": "https://registry.npmjs.org/sass/-/sass-1.58.0.tgz", "integrity": "sha512-PiMJcP33DdKtZ/1jSjjqVIKihoDc6yWmYr9K/4r3fVVIEDAluD0q7XZiRKrNJcPK3qkLRF/79DND1H5q1LBjgg==", + "devOptional": true, "requires": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", @@ -30918,6 +31973,19 @@ "extsprintf": "^1.2.0" } }, + "vite": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.5.tgz", + "integrity": "sha512-4mVEpXpSOgrssFZAOmGIr85wPHKvaDAcXqxVxVRZhljkJOMZi1ibLibzjLHzJvcok8BMguLc7g1W6W/GqZbLdQ==", + "dev": true, + "requires": { + "esbuild": "^0.15.9", + "fsevents": "~2.3.2", + "postcss": "^8.4.18", + "resolve": "^1.22.1", + "rollup": "^2.79.1" + } + }, "vue": { "version": "3.2.30", "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.30.tgz", @@ -31098,6 +32166,16 @@ } } }, + "vue-tsc": { + "version": "0.40.13", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-0.40.13.tgz", + "integrity": "sha512-xzuN3g5PnKfJcNrLv4+mAjteMd5wLm5fRhW0034OfNJZY4WhB07vhngea/XeGn7wNYt16r7syonzvW/54dcNiA==", + "dev": true, + "requires": { + "@volar/vue-language-core": "0.40.13", + "@volar/vue-typescript": "0.40.13" + } + }, "vue-vimeo-player": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vue-vimeo-player/-/vue-vimeo-player-1.1.2.tgz", diff --git a/client/package.json b/client/package.json index c921ed96..126645f6 100644 --- a/client/package.json +++ b/client/package.json @@ -7,6 +7,7 @@ "singleQuote": true, "singleAttributePerLine": true }, + "type": "module", "private": true, "scripts": { "dev": "webpack serve --progress --config build/webpack.dev.conf.js", @@ -15,6 +16,7 @@ "lint": "eslint --ext .js,.vue,.ts src", "fix-lint": "eslint --ext .js,.vue,.ts --fix src", "build": "node build/build.js", + "vite": "vite", "open:cypress:e2e": "npm run cypress:e2e:open", "open:cypress:frontend": "npm run cypress:frontend:open", "test:cypress:e2e": "npm run cypress:e2e:test", @@ -42,6 +44,7 @@ "@graphql-tools/jest-transform": "^1.2.2", "@graphql-tools/mock": "^8.6.5", "@graphql-tools/schema": "^8.3.7", + "@rollup/plugin-graphql": "^1.1.0", "@sentry/vue": "^7.45.0", "@sentry/webpack-plugin": "^1.20.0", "@tiptap/core": "^2.0.0-beta.174", @@ -100,13 +103,11 @@ "postcss-url": "^10.1.3", "prettier": "2.8.2", "rimraf": "^2.6.0", - "sass": "^1.56.1", "sass-loader": "^12.6.0", "semver": "^5.3.0", "shelljs": "^0.8.5", "survey-knockout": "^1.9.41", "ts-loader": "^8.3.0", - "typescript": "^4.5.4", "uploadcare-widget": "^3.6.0", "url-loader": "^4.1.1", "vee-validate": "^4.5.10", @@ -124,6 +125,13 @@ "webpack-dev-server": "^4.6.0", "webpack-merge": "^5.8.0" }, + "devDependencies": { + "@vitejs/plugin-vue": "^3.0.3", + "sass": "^1.56.1", + "typescript": "^4.6.4", + "vite": "^3.1.0", + "vue-tsc": "^0.40.4" + }, "engines": { "node": ">= 14.x", "npm": ">= 8.x" diff --git a/client/vite.config.ts b/client/vite.config.ts new file mode 100644 index 00000000..001a8a99 --- /dev/null +++ b/client/vite.config.ts @@ -0,0 +1,29 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import gql from '@rollup/plugin-graphql'; +import path from 'path'; + +function resolve(dir: string) { + return path.join(__dirname, dir); +} + +// https://vitejs.dev/config/ +export default defineConfig({ + resolve: { + alias: { + '@': resolve('./src'), + styles: resolve('./src/styles'), + gql: resolve('./src/graphql/gql'), + } + }, + server: { + port: 8080, + hmr: { + clientPort: 8080 + } + }, + plugins: [ + gql(), + vue(), + ] +}) From f8548cdc393da96756f47d07612f732a52403642 Mon Sep 17 00:00:00 2001 From: Ramon Wenger Date: Thu, 13 Apr 2023 16:29:28 +0200 Subject: [PATCH 02/25] Update index.html --- client/index.html | 12 +++++------- client/src/{main.js => main.ts} | 0 2 files changed, 5 insertions(+), 7 deletions(-) rename client/src/{main.js => main.ts} (100%) diff --git a/client/index.html b/client/index.html index a2f288ef..662d7871 100644 --- a/client/index.html +++ b/client/index.html @@ -5,7 +5,7 @@ - <%= htmlWebpackPlugin.options.VUE_APP_TITLE %> + <!-- <%= htmlWebpackPlugin.options.VUE_APP_TITLE %> --> @@ -13,8 +13,8 @@ - - + + @@ -37,10 +37,8 @@ -
-
-
- +
+ diff --git a/client/src/main.js b/client/src/main.ts similarity index 100% rename from client/src/main.js rename to client/src/main.ts From 9759a64069b1860e952e8f616e7df45110a50808 Mon Sep 17 00:00:00 2001 From: Ramon Wenger Date: Thu, 13 Apr 2023 16:35:56 +0200 Subject: [PATCH 03/25] Update CSS import --- client/src/App.vue | 2 +- client/src/components/AddContentButton.vue | 2 +- client/src/components/AddWidget.vue | 2 +- client/src/components/AssignmentWithSubmissions.vue | 2 +- client/src/components/BackLink.vue | 2 +- client/src/components/Chapter.vue | 2 +- client/src/components/ContentBlock.vue | 2 +- client/src/components/CopyLink.vue | 2 +- client/src/components/HeaderBar.vue | 2 +- client/src/components/LoadingButton.vue | 2 +- client/src/components/MobileHeader.vue | 2 +- client/src/components/MoreOptionsWidget.vue | 2 +- client/src/components/ReadOnlyBanner.vue | 2 +- client/src/components/StudentSubmission.vue | 2 +- client/src/components/UserWidget.vue | 2 +- client/src/components/book-navigation/SubNavigationItem.vue | 4 ++-- client/src/components/book-navigation/TopicNavigation.vue | 2 +- client/src/components/content-block-form/AddContentLink.vue | 2 +- client/src/components/content-block-form/ContentBlockForm.vue | 4 ++-- client/src/components/content-block-form/ContentElement.vue | 2 +- .../components/content-block-form/ContentElementActions.vue | 2 +- .../src/components/content-block-form/ContentFormSection.vue | 2 +- client/src/components/content-block-form/ContentsForm.vue | 2 +- client/src/components/content-blocks/CmsDocumentBlock.vue | 2 +- client/src/components/content-blocks/ContentComponent.vue | 2 +- client/src/components/content-blocks/DocumentBlock.vue | 2 +- client/src/components/content-blocks/ImageBlock.vue | 2 +- client/src/components/content-blocks/InstrumentWidget.vue | 2 +- client/src/components/content-blocks/Solution.vue | 2 +- client/src/components/content-blocks/SubtitleBlock.vue | 2 +- client/src/components/content-blocks/TextBlock.vue | 2 +- .../components/content-blocks/assignment/FinalSubmission.vue | 2 +- .../components/content-blocks/assignment/SubmissionForm.vue | 2 +- .../components/content-blocks/assignment/SubmissionInput.vue | 2 +- client/src/components/content-forms/AssignmentForm.vue | 2 +- client/src/components/content-forms/ChooserElement.vue | 2 +- .../content-forms/ContentBlockElementChooserWidget.vue | 2 +- client/src/components/content-forms/DocumentForm.vue | 2 +- client/src/components/content-forms/ImageForm.vue | 2 +- client/src/components/content-forms/LinkForm.vue | 2 +- client/src/components/content-forms/SubtitleForm.vue | 2 +- client/src/components/content-forms/TextForm.vue | 2 +- client/src/components/content-forms/TipTap.vue | 2 +- client/src/components/icons/BookmarkIcon.vue | 2 +- client/src/components/icons/DocumentWithLinesIcon.vue | 2 +- client/src/components/instruments/FilterEntry.vue | 2 +- client/src/components/instruments/FilterGroup.vue | 2 +- client/src/components/instruments/InstrumentEntry.vue | 2 +- client/src/components/instruments/InstrumentFilter.vue | 2 +- client/src/components/modals/Confirm.vue | 2 +- client/src/components/modules/Module.vue | 2 +- client/src/components/modules/ModuleNavigation.vue | 2 +- client/src/components/modules/ModuleSubNavigation.vue | 2 +- client/src/components/modules/ModuleTeaser.vue | 2 +- client/src/components/modules/SnapshotCreated.vue | 2 +- client/src/components/modules/SnapshotHeader.vue | 2 +- client/src/components/modules/SnapshotListItem.vue | 2 +- client/src/components/modules/SnapshotMenu.vue | 2 +- client/src/components/modules/SnapshotTeamMenu.vue | 2 +- client/src/components/news/NewsTeaser.vue | 2 +- client/src/components/notes/BookmarkActions.vue | 2 +- client/src/components/objective-groups/ObjectiveGroup.vue | 2 +- client/src/components/objective-groups/ObjectiveGroups.vue | 2 +- client/src/components/page-form/PageForm.vue | 2 +- client/src/components/portfolio/AddProjectEntry.vue | 2 +- client/src/components/portfolio/CreateProjectButton.vue | 2 +- client/src/components/portfolio/PortfolioOnboarding.vue | 2 +- client/src/components/portfolio/ProjectActions.vue | 2 +- client/src/components/portfolio/ProjectEntry.vue | 2 +- client/src/components/portfolio/ProjectEntryForm.vue | 2 +- client/src/components/portfolio/ProjectForm.vue | 2 +- client/src/components/portfolio/ProjectList.vue | 2 +- client/src/components/portfolio/ProjectListItem.vue | 2 +- client/src/components/portfolio/ProjectWidget.vue | 2 +- client/src/components/portfolio/ShareLink.vue | 2 +- client/src/components/profile/Avatar.vue | 2 +- client/src/components/profile/DeactivatePerson.vue | 2 +- client/src/components/profile/EditGroupName.vue | 2 +- client/src/components/profile/EditTeamNameWizard.vue | 2 +- client/src/components/profile/GroupList.vue | 2 +- client/src/components/profile/JoinForm.vue | 2 +- client/src/components/profile/ProfileSidebar.vue | 2 +- client/src/components/profile/ShowCode.vue | 2 +- client/src/components/rooms/AddRoomEntryButton.vue | 2 +- client/src/components/rooms/ChangeVisibility.vue | 2 +- client/src/components/rooms/Comment.vue | 2 +- client/src/components/rooms/CommentInput.vue | 2 +- client/src/components/rooms/EntryCountWidget.vue | 2 +- client/src/components/rooms/MoreActions.vue | 2 +- client/src/components/rooms/RoomActions.vue | 2 +- client/src/components/rooms/RoomEntry.vue | 2 +- client/src/components/rooms/RoomEntryActions.vue | 2 +- client/src/components/rooms/RoomForm.vue | 2 +- client/src/components/rooms/RoomGroupWidget.vue | 2 +- client/src/components/rooms/RoomVisibilityWidget.vue | 2 +- client/src/components/rooms/RoomWidget.vue | 2 +- client/src/components/rooms/RoomsOnboarding.vue | 2 +- client/src/components/school-class/ClassSelectionWidget.vue | 2 +- client/src/components/ui/ButtonWithIconAndText.vue | 2 +- client/src/components/ui/EmojiBar.vue | 2 +- client/src/components/ui/InputWithLabel.vue | 2 +- client/src/components/ui/PopoverLink.vue | 2 +- client/src/components/ui/Toggle.vue | 2 +- client/src/components/ui/WidgetFooter.vue | 2 +- client/src/components/ui/file-upload/FileUpload.vue | 2 +- client/src/components/ui/file-upload/SimpleFileUpload.vue | 2 +- client/src/components/ui/file-upload/SimpleFileUploadIcon.vue | 2 +- .../components/ui/file-upload/SimpleFileUploadWithIcon.vue | 2 +- client/src/layouts/SimpleLayout.vue | 2 +- client/src/layouts/SplitLayout.vue | 2 +- client/src/pages/beta-login.vue | 2 +- client/src/pages/createClass.vue | 2 +- client/src/pages/hello.vue | 2 +- client/src/pages/instrument.vue | 2 +- client/src/pages/instrumentOverview.vue | 2 +- client/src/pages/license-activation.vue | 2 +- client/src/pages/me/joinTeam.vue | 2 +- client/src/pages/me/myTeam.vue | 2 +- client/src/pages/module/module-base.vue | 2 +- client/src/pages/module/moduleRoom.vue | 2 +- client/src/pages/module/moduleSettings.vue | 2 +- client/src/pages/module/moduleVisibility.vue | 2 +- client/src/pages/myClass.vue | 2 +- client/src/pages/onboarding.vue | 2 +- client/src/pages/portfolio/portfolio.vue | 2 +- client/src/pages/portfolio/project.vue | 2 +- client/src/pages/profile.vue | 2 +- client/src/pages/rooms/editRoomEntry.vue | 2 +- client/src/pages/rooms/newRoomEntry.vue | 2 +- client/src/pages/rooms/room.vue | 2 +- client/src/pages/rooms/rooms.vue | 2 +- client/src/pages/snapshot/snapshot.vue | 2 +- client/src/pages/snapshot/snapshots.vue | 2 +- client/src/pages/start.vue | 2 +- client/src/pages/studentSubmission.vue | 2 +- client/src/pages/survey.vue | 2 +- client/src/pages/test.vue | 2 +- client/src/styles/_default-layout.scss | 2 +- client/src/styles/_room.scss | 2 +- client/src/styles/_student-submission.scss | 2 +- 140 files changed, 142 insertions(+), 142 deletions(-) diff --git a/client/src/App.vue b/client/src/App.vue index 6dd5919a..c598807e 100644 --- a/client/src/App.vue +++ b/client/src/App.vue @@ -110,7 +110,7 @@ export default { diff --git a/client/src/components/instruments/FilterEntry.vue b/client/src/components/instruments/FilterEntry.vue index f287b64e..3fa6d3c4 100644 --- a/client/src/components/instruments/FilterEntry.vue +++ b/client/src/components/instruments/FilterEntry.vue @@ -105,7 +105,7 @@ export default { diff --git a/client/src/components/portfolio/PortfolioOnboarding.vue b/client/src/components/portfolio/PortfolioOnboarding.vue index 05410758..c85da727 100644 --- a/client/src/components/portfolio/PortfolioOnboarding.vue +++ b/client/src/components/portfolio/PortfolioOnboarding.vue @@ -42,7 +42,7 @@ export default { diff --git a/client/src/components/profile/GroupList.vue b/client/src/components/profile/GroupList.vue index b6843d20..970c3a31 100644 --- a/client/src/components/profile/GroupList.vue +++ b/client/src/components/profile/GroupList.vue @@ -155,7 +155,7 @@ export default { diff --git a/client/src/components/profile/ProfileSidebar.vue b/client/src/components/profile/ProfileSidebar.vue index c923631f..ecdbc0ae 100644 --- a/client/src/components/profile/ProfileSidebar.vue +++ b/client/src/components/profile/ProfileSidebar.vue @@ -114,7 +114,7 @@ export default { diff --git a/client/src/components/ui/file-upload/SimpleFileUpload.vue b/client/src/components/ui/file-upload/SimpleFileUpload.vue index d3240e3b..1e686d2f 100644 --- a/client/src/components/ui/file-upload/SimpleFileUpload.vue +++ b/client/src/components/ui/file-upload/SimpleFileUpload.vue @@ -53,7 +53,7 @@ const clickUploadCare = () => { diff --git a/client/src/pages/me/myTeam.vue b/client/src/pages/me/myTeam.vue index a5774a86..ca283a3f 100644 --- a/client/src/pages/me/myTeam.vue +++ b/client/src/pages/me/myTeam.vue @@ -90,7 +90,7 @@ export default { diff --git a/client/src/pages/module/moduleSettings.vue b/client/src/pages/module/moduleSettings.vue index f6cc83bb..0e33ef9c 100644 --- a/client/src/pages/module/moduleSettings.vue +++ b/client/src/pages/module/moduleSettings.vue @@ -38,7 +38,7 @@ export default { diff --git a/client/src/pages/rooms/newRoomEntry.vue b/client/src/pages/rooms/newRoomEntry.vue index b8ff8abe..a47b8369 100644 --- a/client/src/pages/rooms/newRoomEntry.vue +++ b/client/src/pages/rooms/newRoomEntry.vue @@ -112,5 +112,5 @@ export default defineComponent({ diff --git a/client/src/pages/rooms/room.vue b/client/src/pages/rooms/room.vue index 7c92012a..c88b1814 100644 --- a/client/src/pages/rooms/room.vue +++ b/client/src/pages/rooms/room.vue @@ -104,5 +104,5 @@ export default { diff --git a/client/src/pages/rooms/rooms.vue b/client/src/pages/rooms/rooms.vue index 517b7bd3..169601af 100644 --- a/client/src/pages/rooms/rooms.vue +++ b/client/src/pages/rooms/rooms.vue @@ -79,7 +79,7 @@ export default { diff --git a/client/src/styles/_default-layout.scss b/client/src/styles/_default-layout.scss index 20c5e84f..a29c2c5b 100644 --- a/client/src/styles/_default-layout.scss +++ b/client/src/styles/_default-layout.scss @@ -1,4 +1,4 @@ -@import '~styles/helpers'; +@import 'styles/helpers'; .layout { $footer-height: 287px; diff --git a/client/src/styles/_room.scss b/client/src/styles/_room.scss index 0703fe92..95330bb0 100644 --- a/client/src/styles/_room.scss +++ b/client/src/styles/_room.scss @@ -1,4 +1,4 @@ -@import '~styles/helpers'; +@import 'styles/helpers'; .room { display: grid; diff --git a/client/src/styles/_student-submission.scss b/client/src/styles/_student-submission.scss index ca98234e..118268e7 100644 --- a/client/src/styles/_student-submission.scss +++ b/client/src/styles/_student-submission.scss @@ -1,4 +1,4 @@ -@import '~styles/helpers'; +@import 'styles/helpers'; .student-submission-row { display: grid; From 1134ea9679b810f891f28c35b82318012fefc141 Mon Sep 17 00:00:00 2001 From: Ramon Wenger Date: Thu, 13 Apr 2023 23:03:41 +0200 Subject: [PATCH 04/25] Add extensions for .vue and .gql files --- client/src/App.vue | 38 +++++++++--------- client/src/components/AddContentButton.vue | 2 +- client/src/components/AddContentElement.vue | 2 +- .../components/AssignmentWithSubmissions.vue | 2 +- client/src/components/BackLink.vue | 2 +- client/src/components/ColorChooser.vue | 2 +- client/src/components/FullscreenImage.vue | 2 +- .../src/components/FullscreenInfographic.vue | 6 +-- client/src/components/FullscreenVideo.vue | 2 +- client/src/components/HeaderBar.vue | 4 +- client/src/components/HelpfulTooltip.vue | 2 +- client/src/components/LoadingButton.vue | 2 +- client/src/components/MobileHeader.vue | 6 +-- client/src/components/Modal.vue | 2 +- client/src/components/MoreOptionsWidget.vue | 2 +- client/src/components/Radiobutton.vue | 2 +- client/src/components/ScrollUp.vue | 2 +- client/src/components/StudentSubmission.vue | 2 +- .../components/StudentSubmissionDocument.vue | 2 +- client/src/components/UserMetaWidget.vue | 2 +- client/src/components/UserWidget.vue | 2 +- .../book-navigation/ContentNavigation.vue | 4 +- .../book-navigation/NavigationSidebar.vue | 4 +- .../content-block-form/AddContentLink.vue | 2 +- .../content-block-form/ContentElement.vue | 38 +++++++++--------- .../content-block-form/ContentsForm.vue | 10 ++--- .../EditContentBlockWizard.vue | 2 +- .../NewContentBlockWizard.vue | 2 +- .../content-blocks/CmsDocumentBlock.vue | 2 +- .../content-blocks/ContentComponent.vue | 40 +++++++++---------- .../content-blocks/ContentListBlock.vue | 4 +- .../content-blocks/DocumentBlock.vue | 4 +- .../components/content-blocks/Instruction.vue | 2 +- .../components/content-blocks/LinkBlock.vue | 2 +- .../components/content-blocks/Solution.vue | 2 +- .../components/content-blocks/VideoBlock.vue | 6 +-- .../content-blocks/assignment/Assignment.vue | 6 +-- .../assignment/FinalSubmission.vue | 4 +- .../assignment/SubmissionInput.vue | 4 +- .../content-forms/AssignmentForm.vue | 2 +- .../ContentBlockElementChooserWidget.vue | 6 +-- .../components/content-forms/DocumentForm.vue | 4 +- .../components/content-forms/ImageForm.vue | 2 +- .../components/content-forms/SubtitleForm.vue | 2 +- .../content-forms/TextFormWithHelpText.vue | 4 +- .../components/content-forms/VideoForm.vue | 8 ++-- .../components/instruments/FilterEntry.vue | 2 +- .../components/instruments/FilterGroup.vue | 2 +- .../instruments/InstrumentFilter.vue | 2 +- client/src/components/modals/Confirm.vue | 2 +- client/src/components/modals/index.js | 16 ++++---- client/src/components/modules/Module.vue | 2 +- .../components/modules/ModuleNavigation.vue | 6 +-- .../modules/ModuleSubNavigation.vue | 2 +- .../components/modules/SnapshotCreated.vue | 2 +- .../src/components/modules/SnapshotHeader.vue | 2 +- .../components/modules/SnapshotListItem.vue | 4 +- .../src/components/modules/SnapshotMenu.vue | 2 +- client/src/components/news/NewsTeasers.vue | 2 +- .../src/components/notes/BookmarkActions.vue | 6 +-- .../src/components/notes/EditNoteWizard.vue | 2 +- client/src/components/notes/NewNoteWizard.vue | 2 +- client/src/components/notes/NoteForm.vue | 4 +- .../objective-groups/NewObjectiveWizard.vue | 4 +- .../components/objective-groups/Objective.vue | 6 +-- .../objective-groups/ObjectiveForm.vue | 4 +- .../objective-groups/ObjectiveGroup.vue | 6 +-- .../objective-groups/ObjectiveGroups.vue | 2 +- .../components/portfolio/AddProjectEntry.vue | 2 +- .../src/components/portfolio/EditProject.vue | 2 +- .../src/components/portfolio/OwnerWidget.vue | 2 +- .../portfolio/PortfolioOnboarding.vue | 4 +- .../components/portfolio/ProjectActions.vue | 2 +- .../src/components/portfolio/ProjectEntry.vue | 4 +- .../src/components/portfolio/ProjectForm.vue | 4 +- .../src/components/portfolio/ProjectList.vue | 2 +- .../components/portfolio/ProjectWidget.vue | 8 ++-- client/src/components/portfolio/ShareLink.vue | 2 +- .../src/components/profile/ActivityEntry.vue | 2 +- client/src/components/profile/Avatar.vue | 4 +- .../components/profile/AvatarUploadForm.vue | 2 +- .../components/profile/ContentBookmark.vue | 2 +- .../components/profile/DeactivatePerson.vue | 2 +- .../src/components/profile/EditGroupName.vue | 2 +- .../src/components/profile/EditNameWizard.vue | 4 +- .../components/profile/EditTeamNameWizard.vue | 2 +- client/src/components/profile/GroupList.vue | 2 +- .../components/profile/InstrumentActivity.vue | 4 +- .../src/components/profile/ModuleActivity.vue | 4 +- client/src/components/profile/Profile.vue | 6 +-- .../src/components/profile/ProfileSidebar.vue | 8 ++-- .../src/components/profile/ProfileWidget.vue | 2 +- client/src/components/rooms/AddRoom.vue | 2 +- .../src/components/rooms/ChangeVisibility.vue | 4 +- client/src/components/rooms/Comment.vue | 2 +- client/src/components/rooms/CommentInput.vue | 2 +- client/src/components/rooms/EditRoom.vue | 2 +- .../src/components/rooms/EntryCountWidget.vue | 2 +- client/src/components/rooms/MoreActions.vue | 4 +- client/src/components/rooms/RoomActions.vue | 4 +- client/src/components/rooms/RoomEntry.vue | 6 +-- client/src/components/rooms/RoomForm.vue | 6 +-- .../components/rooms/RoomVisibilityWidget.vue | 4 +- client/src/components/rooms/RoomWidget.vue | 8 ++-- .../src/components/rooms/RoomsOnboarding.vue | 2 +- .../room-entries/EditRoomEntryWizard.vue | 2 +- .../school-class/ClassSelectionWidget.vue | 8 ++-- .../school-class/EditClassNameWizard.vue | 2 +- .../snapshots/EditSnapshotTitleWizard.vue | 4 +- .../components/toggle-menu/ToggleEditing.vue | 2 +- .../toggle-menu/ToggleSolutionsForModule.vue | 2 +- client/src/components/ui/BaseInput.vue | 4 +- client/src/components/ui/Checkbox.vue | 2 +- client/src/components/ui/PopoverLink.vue | 6 +-- .../file-upload/SimpleFileUploadWithIcon.vue | 4 +- .../src/components/ui/form-element-icons.js | 26 ++++++------ .../visibility/VisibilityAction.vue | 4 +- client/src/helpers/uploadcare.js | 4 +- client/src/layouts/DefaultFooter.vue | 4 +- client/src/layouts/DefaultLayout.vue | 8 ++-- client/src/layouts/FullScreenLayout.vue | 2 +- client/src/layouts/PublicLayout.vue | 4 +- client/src/layouts/SimpleLayout.vue | 4 +- client/src/layouts/SplitLayout.vue | 6 +-- client/src/mixins/room.js | 8 ++-- client/src/pages/activity.vue | 6 +-- client/src/pages/article.vue | 20 +++++----- client/src/pages/beta-login.vue | 2 +- client/src/pages/createClass.vue | 2 +- client/src/pages/createContentBlock.vue | 2 +- client/src/pages/editContentBlock.vue | 4 +- client/src/pages/hello.vue | 6 +-- client/src/pages/instrument.vue | 2 +- client/src/pages/instrumentOverview.vue | 4 +- client/src/pages/joinClass.vue | 2 +- client/src/pages/license-activation.vue | 4 +- client/src/pages/me/createTeam.vue | 2 +- client/src/pages/me/joinTeam.vue | 2 +- client/src/pages/me/myTeam.vue | 2 +- client/src/pages/me/showSchoolClassCode.vue | 2 +- client/src/pages/me/showTeamCode.vue | 2 +- client/src/pages/module/module.vue | 2 +- client/src/pages/module/moduleSettings.vue | 2 +- client/src/pages/module/moduleVisibility.vue | 4 +- client/src/pages/myClass.vue | 2 +- client/src/pages/news.vue | 2 +- client/src/pages/onboarding/start.vue | 2 +- client/src/pages/portfolio/editProject.vue | 2 +- client/src/pages/portfolio/newProject.vue | 2 +- client/src/pages/portfolio/portfolio.vue | 6 +-- client/src/pages/portfolio/project.vue | 14 +++---- client/src/pages/rooms/editRoom.vue | 2 +- client/src/pages/rooms/editRoomEntry.vue | 2 +- client/src/pages/rooms/newRoom.vue | 2 +- client/src/pages/rooms/newRoomEntry.vue | 2 +- client/src/pages/rooms/room.vue | 4 +- client/src/pages/rooms/rooms.vue | 2 +- client/src/pages/snapshot/snapshot.vue | 4 +- client/src/pages/snapshot/snapshots.vue | 4 +- client/src/pages/start.vue | 2 +- client/src/pages/studentSubmission.vue | 4 +- client/src/pages/submissions.vue | 2 +- client/src/pages/survey.vue | 3 +- client/src/pages/topic-page.vue | 6 +-- client/src/router/auth.routes.js | 8 ++-- client/src/router/index.js | 22 +++++----- client/src/router/me.routes.js | 22 +++++----- client/src/router/module.routes.js | 18 ++++----- client/src/router/portfolio.routes.js | 8 ++-- client/src/router/room.routes.js | 14 +++---- client/tests/unit/checkbox.spec.js | 2 +- .../tests/unit/class-selection-widget.spec.js | 2 +- client/tests/unit/comment-input.spec.js | 2 +- client/tests/unit/module-navigation.spec.js | 2 +- client/tests/unit/text-form.spec.js | 2 +- client/tests/unit/toggle.spec.js | 2 +- 176 files changed, 406 insertions(+), 407 deletions(-) diff --git a/client/src/App.vue b/client/src/App.vue index c598807e..0db09cc5 100644 --- a/client/src/App.vue +++ b/client/src/App.vue @@ -21,52 +21,52 @@ diff --git a/client/src/components/toggle-menu/ToggleEditing.vue b/client/src/components/toggle-menu/ToggleEditing.vue index 40d4f0e1..8a6413dd 100644 --- a/client/src/components/toggle-menu/ToggleEditing.vue +++ b/client/src/components/toggle-menu/ToggleEditing.vue @@ -8,7 +8,7 @@ diff --git a/client/src/components/profile/EditNameWizard.vue b/client/src/components/profile/EditNameWizard.vue index 8a9fbbdd..53dc6725 100644 --- a/client/src/components/profile/EditNameWizard.vue +++ b/client/src/components/profile/EditNameWizard.vue @@ -1,56 +1,36 @@ - diff --git a/client/src/components/snapshots/EditSnapshotTitleWizard.vue b/client/src/components/snapshots/EditSnapshotTitleWizard.vue index eea25531..f78b8c2a 100644 --- a/client/src/components/snapshots/EditSnapshotTitleWizard.vue +++ b/client/src/components/snapshots/EditSnapshotTitleWizard.vue @@ -1,12 +1,6 @@ From d7ab92af02b7c0fbb9bf691727d5d52592b4fc98 Mon Sep 17 00:00:00 2001 From: Ramon Wenger Date: Tue, 18 Apr 2023 17:15:00 +0200 Subject: [PATCH 10/25] Fix another input event handler --- .../components/page-form/PageFormInput.vue | 54 ++++++++----------- client/src/components/rooms/RoomForm.vue | 5 +- .../router/{room.routes.js => room.routes.ts} | 25 +++++++-- 3 files changed, 48 insertions(+), 36 deletions(-) rename client/src/router/{room.routes.js => room.routes.ts} (71%) diff --git a/client/src/components/page-form/PageFormInput.vue b/client/src/components/page-form/PageFormInput.vue index b4337f04..82e1a549 100644 --- a/client/src/components/page-form/PageFormInput.vue +++ b/client/src/components/page-form/PageFormInput.vue @@ -11,44 +11,36 @@ :data-cy="cyId" :is="type" :id="id" - @input="$emit('input', $event.target.value)" + @input="input" /> - diff --git a/client/src/components/rooms/RoomForm.vue b/client/src/components/rooms/RoomForm.vue index 210eef61..31b4adcd 100644 --- a/client/src/components/rooms/RoomForm.vue +++ b/client/src/components/rooms/RoomForm.vue @@ -7,7 +7,7 @@ Date: Wed, 19 Apr 2023 10:06:00 +0200 Subject: [PATCH 11/25] Remove unnecessary scripts --- client/build/build.js | 45 ----------------------------- client/build/check-versions.js | 53 ---------------------------------- 2 files changed, 98 deletions(-) delete mode 100644 client/build/build.js delete mode 100644 client/build/check-versions.js diff --git a/client/build/build.js b/client/build/build.js deleted file mode 100644 index 78ba7f23..00000000 --- a/client/build/build.js +++ /dev/null @@ -1,45 +0,0 @@ -'use strict'; -require('./check-versions')(); - -process.env.NODE_ENV = 'production'; - -const ora = require('ora'); -const rm = require('rimraf'); -const path = require('path'); -const chalk = require('chalk'); -const webpack = require('webpack'); -const config = require('../config'); -const webpackConfig = require('./webpack.prod.conf'); - -const spinner = ora('building for production...'); -spinner.start(); - -rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), (err) => { - if (err) throw err; - webpack(webpackConfig, (err, stats) => { - spinner.succeed(); - if (err) throw err; - process.stdout.write( - stats.toString({ - colors: true, - modules: false, - children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build. - chunks: false, - chunkModules: false, - }) + '\n\n' - ); - - if (stats.hasErrors()) { - console.log(chalk.red(' Build failed with errors.\n')); - process.exit(1); - } - - console.log(chalk.cyan(' Build complete.\n')); - console.log( - chalk.yellow( - ' Tip: built files are meant to be served over an HTTP server.\n' + - " Opening index.html over file:// won't work.\n" - ) - ); - }); -}); diff --git a/client/build/check-versions.js b/client/build/check-versions.js deleted file mode 100644 index 3999006d..00000000 --- a/client/build/check-versions.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict'; -const chalk = require('chalk'); -const semver = require('semver'); -const packageConfig = require('../package.json'); -const shell = require('shelljs'); - -function exec(cmd) { - return require('child_process').execSync(cmd).toString().trim(); -} - -const versionRequirements = [ - { - name: 'node', - currentVersion: semver.clean(process.version), - versionRequirement: packageConfig.engines.node, - }, -]; - -if (shell.which('npm')) { - versionRequirements.push({ - name: 'npm', - currentVersion: exec('npm --version'), - versionRequirement: packageConfig.engines.npm, - }); -} - -module.exports = function () { - const warnings = []; - - for (let i = 0; i < versionRequirements.length; i++) { - const mod = versionRequirements[i]; - - if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { - warnings.push( - mod.name + ': ' + chalk.red(mod.currentVersion) + ' should be ' + chalk.green(mod.versionRequirement) - ); - } - } - - if (warnings.length) { - console.log(''); - console.log(chalk.yellow('To use this template, you must update following to modules:')); - console.log(); - - for (let i = 0; i < warnings.length; i++) { - const warning = warnings[i]; - console.log(' ' + warning); - } - - console.log(); - process.exit(1); - } -}; From 92f9831cc175fc445d0e880663c8c294d37baec0 Mon Sep 17 00:00:00 2001 From: Ramon Wenger Date: Wed, 19 Apr 2023 10:07:31 +0200 Subject: [PATCH 12/25] Migrate another component to use correct event emitting --- .../assignment/SubmissionInput.vue | 42 +++++++++---------- .../components/page-form/PageFormInput.vue | 4 +- 2 files changed, 22 insertions(+), 24 deletions(-) diff --git a/client/src/components/content-blocks/assignment/SubmissionInput.vue b/client/src/components/content-blocks/assignment/SubmissionInput.vue index 1280c269..c51a5769 100644 --- a/client/src/components/content-blocks/assignment/SubmissionInput.vue +++ b/client/src/components/content-blocks/assignment/SubmissionInput.vue @@ -9,7 +9,7 @@ rows="1" class="submission-form__textarea" v-auto-grow - @input="$emit('input', $event.target.value)" + @input="input" />
- diff --git a/client/src/components/page-form/PageFormInput.vue b/client/src/components/page-form/PageFormInput.vue index 82e1a549..cc5ba8bf 100644 --- a/client/src/components/page-form/PageFormInput.vue +++ b/client/src/components/page-form/PageFormInput.vue @@ -18,6 +18,7 @@ From a91eea0de19765452610c953d6e1e716ebf6233b Mon Sep 17 00:00:00 2001 From: Ramon Wenger Date: Wed, 19 Apr 2023 10:07:54 +0200 Subject: [PATCH 13/25] Update cypress component testing settings --- client/cypress.frontend.ts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/client/cypress.frontend.ts b/client/cypress.frontend.ts index 6bbf80a0..f146d5bd 100644 --- a/client/cypress.frontend.ts +++ b/client/cypress.frontend.ts @@ -35,11 +35,7 @@ export default defineConfig({ component: { devServer: { framework: 'vue', - bundler: 'webpack', - webpackConfig: async () => { - const webpackConfig = await require('./build/webpack.dev.conf'); - return webpackConfig; - }, + bundler: 'vite', }, }, }); From 2cbb87ed18fbc48eca638faef97c4e12c2ccfbed Mon Sep 17 00:00:00 2001 From: Ramon Wenger Date: Wed, 19 Apr 2023 10:08:18 +0200 Subject: [PATCH 14/25] Add missing file --- client/src/helpers/id.ts | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 client/src/helpers/id.ts diff --git a/client/src/helpers/id.ts b/client/src/helpers/id.ts new file mode 100644 index 00000000..ce7e741b --- /dev/null +++ b/client/src/helpers/id.ts @@ -0,0 +1,6 @@ +let count = 0; + +export const getUniqueId = () => { + count++; + return `uid-${count}`; +}; From 4df91e73725a03bbde8941aea2951de74b8412f1 Mon Sep 17 00:00:00 2001 From: Ramon Wenger Date: Wed, 19 Apr 2023 15:23:06 +0200 Subject: [PATCH 15/25] Fix events for ChooserElement --- .../content-block-form/AddContentLink.vue | 13 ++-- .../content-forms/ChooserElement.vue | 70 +++++++++++-------- 2 files changed, 47 insertions(+), 36 deletions(-) diff --git a/client/src/components/content-block-form/AddContentLink.vue b/client/src/components/content-block-form/AddContentLink.vue index 03c903b1..fa31e1b9 100644 --- a/client/src/components/content-block-form/AddContentLink.vue +++ b/client/src/components/content-block-form/AddContentLink.vue @@ -2,16 +2,19 @@ Inhalt hinzufügen -