diff --git a/appinfo/info.xml b/appinfo/info.xml index f083f1fa..8817bab1 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -2,37 +2,60 @@ scholiq - Nextcloud Scholiq - Nextcloud Scholiq - A template for creating new Nextcloud apps - Een sjabloon voor het maken van nieuwe Nextcloud-apps - Scholiq + Scholiq + Open-source LVS + LMS for Nextcloud — student tracking, course creation, certification, and compliance training. + Open-source LVS + LMS voor Nextcloud — leerlingvolgsysteem, cursusbeheer, certificering en compliance-training. + - 0.1.0 agpl diff --git a/openspec/schemas/conduction b/openspec/schemas/conduction deleted file mode 120000 index 80cef472..00000000 --- a/openspec/schemas/conduction +++ /dev/null @@ -1 +0,0 @@ -../../../.claude/openspec/schemas/conduction \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 31a538d4..5fa4c6e8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,6 +36,8 @@ "eslint": "^8.56.0", "eslint-import-resolver-alias": "^1.1.2", "eslint-plugin-vue": "^9.21.1", + "sass": "^1.99.0", + "sass-loader": "^16.0.8", "style-loader": "~4.0.0", "stylelint": "^15.11.0", "vue-eslint-parser": "^9.4.3", @@ -2159,7 +2161,6 @@ "hasInstallScript": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "detect-libc": "^2.0.3", "is-glob": "^4.0.3", @@ -2202,7 +2203,6 @@ "os": [ "android" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2224,7 +2224,6 @@ "os": [ "darwin" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2246,7 +2245,6 @@ "os": [ "darwin" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2268,7 +2266,6 @@ "os": [ "freebsd" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2290,7 +2287,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2312,7 +2308,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2334,7 +2329,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2356,7 +2350,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2378,7 +2371,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2400,7 +2392,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2422,7 +2413,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2444,7 +2434,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2466,7 +2455,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2482,7 +2470,6 @@ "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">=12" }, @@ -5422,7 +5409,6 @@ "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "readdirp": "^4.0.1" }, @@ -9261,8 +9247,7 @@ "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.5.tgz", "integrity": "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/import-fresh": { "version": "3.3.1", @@ -11834,8 +11819,7 @@ "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/node-domexception": { "version": "1.0.0", @@ -13567,7 +13551,6 @@ "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">= 14.18.0" }, @@ -14299,12 +14282,11 @@ "license": "MIT" }, "node_modules/sass": { - "version": "1.98.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.98.0.tgz", - "integrity": "sha512-+4N/u9dZ4PrgzGgPlKnaaRQx64RO0JBKs9sDhQ2pLgN6JQZ25uPQZKQYaBJU48Kd5BxgXoJ4e09Dq7nMcOUW3A==", + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.99.0.tgz", + "integrity": "sha512-kgW13M54DUB7IsIRM5LvJkNlpH+WhMpooUcaWGFARkF1Tc82v9mIWkCbCYf+MBvpIUBSeSOTilpZjEPr2VYE6Q==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.1.5", @@ -14321,12 +14303,11 @@ } }, "node_modules/sass-loader": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.7.tgz", - "integrity": "sha512-w6q+fRHourZ+e+xA1kcsF27iGM6jdB8teexYCfdUw0sYgcDNeZESnDNT9sUmmPm3ooziwUJXGwZJSTF3kOdBfA==", + "version": "16.0.8", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.8.tgz", + "integrity": "sha512-hcov4ZwZJIGbEuyNr9EmiTmZueyrxSToE6GOzoZnq5JM7ecRO7ttyvilPn+VmRsqiP16+VYZzVnGZj/hzZgKBA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "neo-async": "^2.6.2" }, diff --git a/package.json b/package.json index da1a4d00..ee93c27f 100644 --- a/package.json +++ b/package.json @@ -46,12 +46,14 @@ "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "css-loader": "~7.1.1", - "eslint-plugin-vue": "^9.21.1", - "vue-eslint-parser": "^9.4.3", "eslint": "^8.56.0", "eslint-import-resolver-alias": "^1.1.2", + "eslint-plugin-vue": "^9.21.1", + "sass": "^1.99.0", + "sass-loader": "^16.0.8", "style-loader": "~4.0.0", "stylelint": "^15.11.0", + "vue-eslint-parser": "^9.4.3", "vue-loader": "^15.11.1 <16.0.0", "vue-template-compiler": "^2.7.16", "webpack": "^5.94.0", diff --git a/webpack.config.js b/webpack.config.js index d3b48dfa..6b788951 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -53,6 +53,10 @@ webpackConfig.module = { test: /\.css$/, use: ['style-loader', 'css-loader'], }, + { + test: /\.scss$/, + use: ['style-loader', 'css-loader', 'sass-loader'], + }, ], }