mirror of
https://github.com/koel/koel
synced 2024-11-10 06:34:14 +00:00
124 lines
3.8 KiB
JSON
124 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": {
|
|
"@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": "^4.2.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"
|
|
},
|
|
"husky": {
|
|
"hooks": {
|
|
"pre-commit": "lint-staged"
|
|
}
|
|
},
|
|
"lint-staged": {
|
|
"**/*.php": [
|
|
"composer cs"
|
|
],
|
|
"resources/assets/**/*.ts": [
|
|
"eslint"
|
|
],
|
|
"cypress/**/*.ts": [
|
|
"eslint"
|
|
]
|
|
},
|
|
"type": "module",
|
|
"packageManager": "yarn@1.22.19"
|
|
}
|