{ "name": "koel", "author": "Phan An ", "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": { "alertify.js": "^1.0.12", "axios": "^0.21.1", "blueimp-md5": "^2.3.0", "compare-versions": "^3.5.1", "font-awesome": "^4.7.0", "intersection-observer": "^0.2.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.0.6", "sketch-js": "^1.1.3", "slugify": "^1.0.2", "vue": "^3.2.32", "vue-global-events": "^2.1.1", "vuequery": "~2.1.1", "youtube-player": "^3.0.4" }, "devDependencies": { "@babel/core": "^7.17.9", "@babel/polyfill": "^7.8.7", "@babel/preset-env": "^7.9.6", "@testing-library/cypress": "^8.0.2", "@types/axios": "^0.14.0", "@types/blueimp-md5": "^2.7.0", "@types/faker": "^4.1.11", "@types/jest": "^26", "@types/local-storage": "^1.4.0", "@types/lodash": "^4.14.150", "@types/node": "^13.13.4", "@types/nprogress": "^0.2.0", "@types/pusher-js": "^4.2.2", "@types/wicg-mediasession": "^1.1.0", "@types/youtube-player": "^5.5.2", "@typescript-eslint/eslint-plugin": "^4.11.1", "@typescript-eslint/parser": "^4.11.1", "@vue/compiler-sfc": "^3.2.32", "@vue/eslint-config-standard": "^5.1.2", "@vue/eslint-config-typescript": "^5.0.2", "@vue/test-utils": "^1.0.0-beta.25", "babel-loader": "^8.2.5", "cross-env": "^7.0.3", "crypto-random-string": "^1.0.0", "css-loader": "^0.28.7", "cypress": "^9.5.4", "eslint": "^7.17.0", "eslint-config-vue": "^2.0.1", "eslint-plugin-import": "^2.20.2", "eslint-plugin-jest": "^22.0.0", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^4.2.1", "eslint-plugin-standard": "^4.0.1", "eslint-plugin-vue": "^6.2.2", "factoria": "^3.1.3", "file-loader": "^1.1.6", "font-awesome": "^4.7.0", "husky": "^4.2.5", "kill-port": "^1.6.1", "laravel-mix": "^6.0.43", "lint-staged": "^10.3.0", "postcss": "^8.4.12", "resolve-url-loader": "^3.1.1", "sass": "^1.50.0", "sass-loader": "^12.6.0", "start-server-and-test": "^1.14.0", "ts-loader": "^9.2.9", "typescript": "^4.6.3", "vue-loader": "^17.0.0", "vue-template-compiler": "^2.6.14", "vue-test-helpers": "^2.0.0", "webpack": "^5.72.0", "webpack-node-externals": "^3.0.0" }, "scripts": { "lint": "eslint ./resources/assets/js/**/*.ts && eslint ./cypress/**/*.ts", "test:e2e": "kill-port 8080 && start-test dev :8080 'cypress open'", "test:e2e:ci": "kill-port 8080 && start-test 'php artisan serve --port=8080 --quiet' http-get://localhost:8080/api/ping 'cypress run'", "build": "yarn prod", "build-demo": "cross-env NODE_ENV=demo npm run production", "dev": "start-test 'php artisan serve --port=8000 --quiet' http-get://localhost:8000/api/ping hot", "development": "mix", "watch": "mix watch", "watch-poll": "mix watch -- --watch-options-poll=1000", "hot": "mix watch --hot", "prod": "npm run production", "production": "mix --production" }, "husky": { "hooks": { "pre-commit": "lint-staged" } }, "lint-staged": { "**/*.php": [ "composer cs" ], "resources/assets/**/*.ts": [ "eslint" ], "cypress/**/*.ts": [ "eslint" ] } }