koel/package.json

122 lines
3.8 KiB
JSON

{
"name": "koel",
"author": "Phan An <me@phanan.net>",
"homepage": "https://koel.dev",
"license": "MIT",
"description": "A personal music streaming server that works",
"keywords": [
"music",
"audio",
"stream"
],
"repository": {
"type": "git",
"url": "https://github.com/koel/koel"
},
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^6.1.1",
"@fortawesome/free-brands-svg-icons": "^6.1.1",
"@fortawesome/free-regular-svg-icons": "^6.1.1",
"@fortawesome/free-solid-svg-icons": "^6.1.1",
"@fortawesome/vue-fontawesome": "^3.0.1",
"axios": "^0.21.1",
"compare-versions": "^3.5.1",
"dompurify": "^3.1.4",
"fuse.js": "^7.0.0",
"ismobilejs": "^0.4.0",
"local-storage": "^2.0.0",
"lodash": "^4.17.19",
"nouislider": "^14.0.2",
"nprogress": "^0.2.0",
"plyr": "1.5.x",
"pusher-js": "^4.1.0",
"select": "^1.1.2",
"sketch-js": "^1.1.3",
"slugify": "^1.0.2",
"three": "^0.146.0",
"tiny-typed-emitter": "^2.1.0",
"vue": "^3.3.4",
"youtube-player": "^3.0.4"
},
"devDependencies": {
"@commitlint/cli": "^19.4.0",
"@commitlint/config-conventional": "^19.2.2",
"@faker-js/faker": "^6.2.0",
"@floating-ui/dom": "^1.0.3",
"@testing-library/user-event": "^14.4.3",
"@testing-library/vue": "^6.6.1",
"@types/axios": "^0.14.0",
"@types/dompurify": "^3.0.5",
"@types/local-storage": "^1.4.0",
"@types/lodash": "^4.14.150",
"@types/nprogress": "^0.2.0",
"@types/pusher-js": "^4.2.2",
"@types/three": "^0.144.0",
"@types/youtube-player": "^5.5.2",
"@typescript-eslint/eslint-plugin": "^5.22.0",
"@typescript-eslint/parser": "^4.11.1",
"@vitejs/plugin-vue": "^5.0.4",
"@vueuse/components": "^10.9.0",
"@vueuse/core": "^10.9.0",
"@vueuse/integrations": "^10.9.0",
"add": "^2.0.6",
"autoprefixer": "^10.4.19",
"cross-env": "^7.0.3",
"cypress": "^9.5.4",
"eslint": "^8.14.0",
"eslint-plugin-import": "^2.20.2",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^4.2.1",
"eslint-plugin-standard": "^4.0.1",
"eslint-plugin-vue": "^8.7.1",
"events": "^3.3.0",
"factoria": "^4.0.0",
"husky": "^9.1.5",
"jest-serializer-vue": "^2.0.2",
"js-md5": "^0.8.3",
"jsdom": "^19.0.0",
"kill-port": "^1.6.1",
"laravel-vite-plugin": "^1.0.2",
"lint-staged": "^10.3.0",
"lucide-vue-next": "^0.363.0",
"postcss": "^8.4.38",
"postcss-mixins": "^10.0.0",
"postcss-nested": "^6.0.1",
"qrcode": "^1",
"start-server-and-test": "^2.0.3",
"tailwindcss": "^3.4.3",
"typescript": "^4.8.4",
"vite": "^5.1.6",
"vitepress": "^1.0.0-rc.45",
"vitest": "^0.24.0",
"vue-advanced-cropper": "^2.8.8",
"yarn": "^1.22.22"
},
"scripts": {
"lint": "eslint ./resources/assets/js/**/*.ts --no-error-on-unmatched-pattern && eslint ./cypress/**/*.ts --no-error-on-unmatched-pattern",
"test": "vitest",
"test:unit": "vitest",
"test:e2e": "kill-port 8080 && start-test dev http-get://localhost:8080/api/ping 'cypress open'",
"test:e2e:ci": "kill-port 8080 && start-test 'php artisan serve --port=8080 --quiet' http-get://localhost:8080/api/ping 'cypress run --browser chromium'",
"build": "vite build",
"build-demo": "cross-env VITE_KOEL_ENV=demo vite build",
"dev": "kill-port 8000 && start-test 'php artisan serve --port=8000 --quiet' 'http://127.0.0.1:8000/api/ping' 'vite'",
"docs:dev": "vitepress dev docs",
"docs:build": "vitepress build docs",
"docs:preview": "vitepress preview docs",
"prepare": "husky"
},
"lint-staged": {
"**/*.php": [
"composer cs"
],
"resources/assets/**/*.ts": [
"eslint"
],
"cypress/**/*.ts": [
"eslint"
]
},
"type": "module",
"packageManager": "yarn@1.22.19"
}