{ "name": "musare-frontend", "sideEffects": [ "*.css", "*.vue" ], "private": true, "version": "backend-rewrite", "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.3", "@types/can-autoplay": "^3.0.4", "@types/dompurify": "^3.0.5", "@typescript-eslint/eslint-plugin": "^7.0.2", "@typescript-eslint/parser": "^7.0.2", "@vitest/coverage-v8": "^1.3.1", "@vue/test-utils": "^2.4.4", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-prettier": "^5.1.3", "eslint-plugin-vue": "^9.22.0", "jsdom": "^24.0.0", "less": "^4.2.0", "prettier": "^3.2.5", "vite-plugin-dynamic-import": "^1.5.0", "vitest": "^1.3.1", "vue-eslint-parser": "^9.4.2", "vue-tsc": "^1.8.27" }, "dependencies": { "@intlify/unplugin-vue-i18n": "^2.0.0", "@vitejs/plugin-vue": "^5.0.4", "can-autoplay": "^3.0.2", "chart.js": "^4.4.1", "date-fns": "^3.3.1", "dompurify": "^3.0.9", "eslint-config-airbnb-base": "^15.0.0", "marked": "^12.0.0", "normalize.css": "^8.0.1", "pinia": "^2.1.7", "toasters": "^2.3.1", "typescript": "^5.3.3", "vite": "^5.1.4", "vue": "^3.3.2", "vue-chartjs": "^5.3.0", "vue-content-loader": "^2.0.1", "vue-draggable-list": "^0.1.3", "vue-i18n": "^9.9.1", "vue-json-pretty": "^2.3.0", "vue-router": "^4.3.0", "vue-tippy": "^6.4.1" } }