{ "name": "musare-frontend", "sideEffects": [ "*.css", "*.vue" ], "private": true, "version": "3.11.0", "description": "An open-source collaborative music listening and catalogue curation application. Currently supporting YouTube based content.", "main": "main.js", "author": "Musare Team", "license": "GPL-3.0", "repository": "https://github.com/Musare/Musare", "scripts": { "lint": "eslint . --ext .js,.ts,.vue", "dev": "vite", "prod": "vite build --emptyOutDir", "typescript": "vue-tsc --noEmit --skipLibCheck", "test": "vitest", "coverage": "vitest run --coverage" }, "devDependencies": { "@pinia/testing": "^0.1.7", "@types/can-autoplay": "^3.0.5", "@types/dompurify": "^3.0.5", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vitest/coverage-v8": "^2.1.4", "@vue/test-utils": "^2.4.6", "eslint": "^8.57.1", "eslint-config-prettier": "^9.1.0", "eslint-plugin-import": "^2.31.0", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-vue": "^9.30.0", "jsdom": "^25.0.1", "less": "^4.2.0", "prettier": "^3.3.3", "vite-plugin-dynamic-import": "^1.6.0", "vitest": "^2.1.4", "vue-eslint-parser": "^9.4.3", "vue-tsc": "^2.1.10" }, "dependencies": { "@casl/ability": "^6.7.2", "@casl/vue": "^2.2.2", "@feathersjs/feathers": "^5.0.31", "@feathersjs/socketio-client": "^5.0.31", "@intlify/unplugin-vue-i18n": "^5.3.0", "@vitejs/plugin-vue": "^5.1.4", "can-autoplay": "^3.0.2", "chart.js": "^4.4.6", "date-fns": "^4.1.0", "dompurify": "^3.1.7", "eslint-config-airbnb-base": "^15.0.0", "feathers-casl": "^2.1.2", "feathers-pinia": "^4.5.4", "marked": "^15.0.0", "musare-server": "http://server:3030/server-0.0.0.tgz", "normalize.css": "^8.0.1", "pinia": "^2.2.6", "socket.io-client": "^4.8.1", "toasters": "^2.3.1", "typescript": "^5.6.3", "vite": "^5.4.10", "vue": "^3.5.12", "vue-chartjs": "^5.3.2", "vue-content-loader": "^2.0.1", "vue-draggable-list": "^0.2.0", "vue-i18n": "^10.0.4", "vue-json-pretty": "^2.4.0", "vue-router": "^4.4.5", "vue-tippy": "^6.5.0" } }