diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..51cfad2 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,4 @@ + - repo: https://github.com/Binaryify/NeteaseCloudMusicApi + sha: '' # Use the sha or tag you want to point at + hooks: + - id: prettier \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index f2171ca..66add31 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "NeteaseCloudMusicApi", - "version": "2.6.5", + "version": "2.6.6", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -40,11 +40,44 @@ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, + "ansi-escapes": { + "version": "1.4.0", + "resolved": "http://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, "apicache": { "version": "0.9.0", "resolved": "http://registry.npm.taobao.org/apicache/download/apicache-0.9.0.tgz", "integrity": "sha1-5BlPHftigCUDHB9LwhjWODQwdBw=" }, + "app-root-path": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/app-root-path/download/app-root-path-2.0.1.tgz", + "integrity": "sha1-zWLc+OT9WkF+/GZNLlsQZTxlG0Y=", + "dev": true + }, + "argparse": { + "version": "1.0.9", + "resolved": "http://registry.npm.taobao.org/argparse/download/argparse-1.0.9.tgz", + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "dev": true, + "requires": { + "sprintf-js": "1.0.3" + } + }, "array-filter": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/array-filter/download/array-filter-1.0.0.tgz", @@ -154,11 +187,61 @@ "resolved": "http://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "ci-info": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/ci-info/download/ci-info-1.0.0.tgz", + "integrity": "sha1-3FKF8rTiUYIWg2gcOBwziPRuxTQ=", + "dev": true + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/cli-cursor/download/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "requires": { + "restore-cursor": "1.0.1" + } + }, + "cli-spinners": { + "version": "0.1.2", + "resolved": "http://registry.npm.taobao.org/cli-spinners/download/cli-spinners-0.1.2.tgz", + "integrity": "sha1-u3ZNiOGF+54eaiofGXcjGPYF4xw=", + "dev": true + }, + "cli-truncate": { + "version": "0.2.1", + "resolved": "http://registry.npm.taobao.org/cli-truncate/download/cli-truncate-0.2.1.tgz", + "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", + "dev": true, + "requires": { + "slice-ansi": "0.0.4", + "string-width": "1.0.2" + } + }, "co": { "version": "4.6.0", "resolved": "http://registry.npm.taobao.org/co/download/co-4.6.0.tgz", "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" }, + "code-point-at": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, "combined-stream": { "version": "1.0.5", "resolved": "http://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.5.tgz", @@ -168,13 +251,10 @@ } }, "commander": { - "version": "2.9.0", - "resolved": "http://registry.npm.taobao.org/commander/download/commander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", - "dev": true, - "requires": { - "graceful-readlink": "1.0.1" - } + "version": "2.11.0", + "resolved": "http://registry.npm.taobao.org/commander/download/commander-2.11.0.tgz", + "integrity": "sha1-FXFS/R56bI2YpbcVzzdt+SgARWM=", + "dev": true }, "concat-map": { "version": "0.0.1", @@ -219,6 +299,33 @@ "resolved": "http://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, + "cosmiconfig": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-1.1.0.tgz", + "integrity": "sha1-DeoPmATv37kp+7GxiOJVU+oFPTc=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "js-yaml": "3.9.1", + "minimist": "1.2.0", + "object-assign": "4.1.1", + "os-homedir": "1.0.2", + "parse-json": "2.2.0", + "pinkie-promise": "2.0.1", + "require-from-string": "1.2.1" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "http://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "4.1.1", + "shebang-command": "1.2.0", + "which": "1.3.0" + } + }, "cryptiles": { "version": "2.0.5", "resolved": "http://registry.npm.taobao.org/cryptiles/download/cryptiles-2.0.5.tgz", @@ -251,6 +358,12 @@ } } }, + "date-fns": { + "version": "1.28.5", + "resolved": "http://registry.npm.taobao.org/date-fns/download/date-fns-1.28.5.tgz", + "integrity": "sha1-JXz8RdMi30XvVlhmWWfuhBzXP68=", + "dev": true + }, "debug": { "version": "2.6.8", "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.8.tgz", @@ -328,6 +441,12 @@ "resolved": "http://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, + "elegant-spinner": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/elegant-spinner/download/elegant-spinner-1.0.1.tgz", + "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=", + "dev": true + }, "empower": { "version": "1.2.3", "resolved": "http://registry.npm.taobao.org/empower/download/empower-1.2.3.tgz", @@ -362,6 +481,15 @@ "resolved": "http://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.1.tgz", "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=" }, + "error-ex": { + "version": "1.3.1", + "resolved": "http://registry.npm.taobao.org/error-ex/download/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, "es5-ext": { "version": "0.10.27", "resolved": "http://registry.npm.taobao.org/es5-ext/download/es5-ext-0.10.27.tgz", @@ -616,6 +744,27 @@ "es5-ext": "0.10.27" } }, + "execa": { + "version": "0.8.0", + "resolved": "http://registry.npm.taobao.org/execa/download/execa-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, + "exit-hook": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/exit-hook/download/exit-hook-1.1.1.tgz", + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", + "dev": true + }, "express": { "version": "4.15.4", "resolved": "http://registry.npm.taobao.org/express/download/express-4.15.4.tgz", @@ -667,6 +816,16 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, + "figures": { + "version": "1.7.0", + "resolved": "http://registry.npm.taobao.org/figures/download/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5", + "object-assign": "4.1.1" + } + }, "finalhandler": { "version": "1.0.4", "resolved": "http://registry.npm.taobao.org/finalhandler/download/finalhandler-1.0.4.tgz", @@ -718,6 +877,12 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, + "get-stream": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, "getpass": { "version": "0.1.7", "resolved": "http://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz", @@ -747,6 +912,12 @@ "path-is-absolute": "1.0.1" } }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, "graceful-readlink": { "version": "1.0.1", "resolved": "http://registry.npm.taobao.org/graceful-readlink/download/graceful-readlink-1.0.1.tgz", @@ -773,6 +944,15 @@ "har-schema": "1.0.5" } }, + "has-ansi": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, "has-flag": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", @@ -816,6 +996,26 @@ "sshpk": "1.13.1" } }, + "husky": { + "version": "0.14.3", + "resolved": "http://registry.npm.taobao.org/husky/download/husky-0.14.3.tgz", + "integrity": "sha1-xp7XTi0neXaaF7qDmbVM4LY8EsM=", + "dev": true, + "requires": { + "is-ci": "1.0.10", + "normalize-path": "1.0.0", + "strip-indent": "2.0.0" + } + }, + "indent-string": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, "indexof": { "version": "0.0.1", "resolved": "http://registry.npm.taobao.org/indexof/download/indexof-0.0.1.tgz", @@ -851,6 +1051,51 @@ "resolved": "http://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.4.0.tgz", "integrity": "sha1-KWrKh4qCGBbluF0KKFqZvP9FgvA=" }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "http://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-ci": { + "version": "1.0.10", + "resolved": "http://registry.npm.taobao.org/is-ci/download/is-ci-1.0.10.tgz", + "integrity": "sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4=", + "dev": true, + "requires": { + "ci-info": "1.0.0" + } + }, + "is-finite": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/is-finite/download/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-promise": { + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, "is-typedarray": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz", @@ -862,11 +1107,35 @@ "integrity": "sha1-SYkFpZO/R8wtnn9zg3K792lsfyY=", "dev": true }, + "isexe": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, "isstream": { "version": "0.1.2", "resolved": "http://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, + "js-yaml": { + "version": "3.9.1", + "resolved": "http://registry.npm.taobao.org/js-yaml/download/js-yaml-3.9.1.tgz", + "integrity": "sha1-CHdc69/dNZIJ8NKs04PI+GppBKA=", + "dev": true, + "requires": { + "argparse": "1.0.9", + "esprima": "4.0.0" + }, + "dependencies": { + "esprima": { + "version": "4.0.0", + "resolved": "http://registry.npm.taobao.org/esprima/download/esprima-4.0.0.tgz", + "integrity": "sha1-RJnt3NERDgshi6zy+n9/WfVcqAQ=", + "dev": true + } + } + }, "jsbn": { "version": "0.1.1", "resolved": "http://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz", @@ -930,6 +1199,89 @@ "type-check": "0.3.2" } }, + "lint-staged": { + "version": "4.0.3", + "resolved": "http://registry.npm.taobao.org/lint-staged/download/lint-staged-4.0.3.tgz", + "integrity": "sha1-HOVVkbwsg6eBqQtpoKDIqg/GNws=", + "dev": true, + "requires": { + "app-root-path": "2.0.1", + "cosmiconfig": "1.1.0", + "execa": "0.8.0", + "listr": "0.12.0", + "lodash.chunk": "4.2.0", + "minimatch": "3.0.4", + "npm-which": "3.0.1", + "p-map": "1.1.1", + "staged-git-files": "0.0.4" + } + }, + "listr": { + "version": "0.12.0", + "resolved": "http://registry.npm.taobao.org/listr/download/listr-0.12.0.tgz", + "integrity": "sha1-a84sD1YD+klYDqF81qAMwOX6RRo=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "cli-truncate": "0.2.1", + "figures": "1.7.0", + "indent-string": "2.1.0", + "is-promise": "2.1.0", + "is-stream": "1.1.0", + "listr-silent-renderer": "1.1.1", + "listr-update-renderer": "0.2.0", + "listr-verbose-renderer": "0.4.0", + "log-symbols": "1.0.2", + "log-update": "1.0.2", + "ora": "0.2.3", + "p-map": "1.1.1", + "rxjs": "5.4.3", + "stream-to-observable": "0.1.0", + "strip-ansi": "3.0.1" + } + }, + "listr-silent-renderer": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/listr-silent-renderer/download/listr-silent-renderer-1.1.1.tgz", + "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=", + "dev": true + }, + "listr-update-renderer": { + "version": "0.2.0", + "resolved": "http://registry.npm.taobao.org/listr-update-renderer/download/listr-update-renderer-0.2.0.tgz", + "integrity": "sha1-yoDhd5tOcCZoB+ju0a1qvjmFUPk=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "cli-truncate": "0.2.1", + "elegant-spinner": "1.0.1", + "figures": "1.7.0", + "indent-string": "3.2.0", + "log-symbols": "1.0.2", + "log-update": "1.0.2", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "indent-string": { + "version": "3.2.0", + "resolved": "http://registry.npm.taobao.org/indent-string/download/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + } + } + }, + "listr-verbose-renderer": { + "version": "0.4.0", + "resolved": "http://registry.npm.taobao.org/listr-verbose-renderer/download/listr-verbose-renderer-0.4.0.tgz", + "integrity": "sha1-RNwBuww0oDxXIVTU0Izemx3FYg8=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "cli-cursor": "1.0.2", + "date-fns": "1.28.5", + "figures": "1.7.0" + } + }, "lodash._baseassign": { "version": "3.2.0", "resolved": "http://registry.npm.taobao.org/lodash._baseassign/download/lodash._baseassign-3.2.0.tgz", @@ -964,6 +1316,12 @@ "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", "dev": true }, + "lodash.chunk": { + "version": "4.2.0", + "resolved": "http://registry.npm.taobao.org/lodash.chunk/download/lodash.chunk-4.2.0.tgz", + "integrity": "sha1-ZuXOH3btJ7QwPYxlEujRIW6BBrw=", + "dev": true + }, "lodash.create": { "version": "3.1.1", "resolved": "http://registry.npm.taobao.org/lodash.create/download/lodash.create-3.1.1.tgz", @@ -998,6 +1356,35 @@ "lodash.isarray": "3.0.4" } }, + "log-symbols": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/log-symbols/download/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "dev": true, + "requires": { + "chalk": "1.1.3" + } + }, + "log-update": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/log-update/download/log-update-1.0.2.tgz", + "integrity": "sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE=", + "dev": true, + "requires": { + "ansi-escapes": "1.4.0", + "cli-cursor": "1.0.2" + } + }, + "lru-cache": { + "version": "4.1.1", + "resolved": "http://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.1.tgz", + "integrity": "sha1-Yi4y6CSItJJ5EUpPns9F581rulU=", + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, "media-typer": { "version": "0.3.0", "resolved": "http://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz", @@ -1050,9 +1437,9 @@ } }, "minimist": { - "version": "0.0.8", - "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, "mkdirp": { @@ -1062,6 +1449,14 @@ "dev": true, "requires": { "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } } }, "mocha": { @@ -1081,6 +1476,26 @@ "lodash.create": "3.1.1", "mkdirp": "0.5.1", "supports-color": "3.1.2" + }, + "dependencies": { + "commander": { + "version": "2.9.0", + "resolved": "http://registry.npm.taobao.org/commander/download/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "requires": { + "graceful-readlink": "1.0.1" + } + }, + "supports-color": { + "version": "3.1.2", + "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-3.1.2.tgz", + "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } } }, "ms": { @@ -1113,6 +1528,47 @@ "resolved": "http://registry.npm.taobao.org/negotiator/download/negotiator-0.6.1.tgz", "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" }, + "normalize-path": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/normalize-path/download/normalize-path-1.0.0.tgz", + "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=", + "dev": true + }, + "npm-path": { + "version": "2.0.3", + "resolved": "http://registry.npm.taobao.org/npm-path/download/npm-path-2.0.3.tgz", + "integrity": "sha1-Fc/04ciaONp39W9gVbJPl137K74=", + "dev": true, + "requires": { + "which": "1.3.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "http://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "2.0.1" + } + }, + "npm-which": { + "version": "3.0.1", + "resolved": "http://registry.npm.taobao.org/npm-which/download/npm-which-3.0.1.tgz", + "integrity": "sha1-kiXybsOihcIJyuZ8OxGmtKtxQKo=", + "dev": true, + "requires": { + "commander": "2.11.0", + "npm-path": "2.0.3", + "which": "1.3.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, "oauth-sign": { "version": "0.8.2", "resolved": "http://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.8.2.tgz", @@ -1147,6 +1603,12 @@ "wrappy": "1.0.2" } }, + "onetime": { + "version": "1.1.0", + "resolved": "http://registry.npm.taobao.org/onetime/download/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, "optionator": { "version": "0.8.2", "resolved": "http://registry.npm.taobao.org/optionator/download/optionator-0.8.2.tgz", @@ -1161,6 +1623,45 @@ "wordwrap": "1.0.0" } }, + "ora": { + "version": "0.2.3", + "resolved": "http://registry.npm.taobao.org/ora/download/ora-0.2.3.tgz", + "integrity": "sha1-N1J9Igrc1Tw5tzVx11QVbV22V6Q=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "cli-cursor": "1.0.2", + "cli-spinners": "0.1.2", + "object-assign": "4.1.1" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-map": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/p-map/download/p-map-1.1.1.tgz", + "integrity": "sha1-BfXkrpegaDcbwqXMhr+9vBnErno=", + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "resolved": "http://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "1.3.1" + } + }, "parseurl": { "version": "1.3.1", "resolved": "http://registry.npm.taobao.org/parseurl/download/parseurl-1.3.1.tgz", @@ -1172,6 +1673,12 @@ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, + "path-key": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, "path-to-regexp": { "version": "0.1.7", "resolved": "http://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz", @@ -1182,6 +1689,21 @@ "resolved": "http://registry.npm.taobao.org/performance-now/download/performance-now-0.2.0.tgz", "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=" }, + "pinkie": { + "version": "2.0.4", + "resolved": "http://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + }, "power-assert": { "version": "1.4.4", "resolved": "http://registry.npm.taobao.org/power-assert/download/power-assert-1.4.4.tgz", @@ -1316,6 +1838,12 @@ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, + "prettier": { + "version": "1.5.3", + "resolved": "http://registry.npm.taobao.org/prettier/download/prettier-1.5.3.tgz", + "integrity": "sha1-WdrcaDNF7GuI+IuU7Urn4do5S/4=", + "dev": true + }, "proxy-addr": { "version": "1.1.5", "resolved": "http://registry.npm.taobao.org/proxy-addr/download/proxy-addr-1.1.5.tgz", @@ -1325,6 +1853,12 @@ "ipaddr.js": "1.4.0" } }, + "pseudomap": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, "punycode": { "version": "1.4.1", "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", @@ -1340,6 +1874,15 @@ "resolved": "http://registry.npm.taobao.org/range-parser/download/range-parser-1.2.0.tgz", "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" }, + "repeating": { + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, "request": { "version": "2.81.0", "resolved": "http://registry.npm.taobao.org/request/download/request-2.81.0.tgz", @@ -1376,6 +1919,31 @@ } } }, + "require-from-string": { + "version": "1.2.1", + "resolved": "http://registry.npm.taobao.org/require-from-string/download/require-from-string-1.2.1.tgz", + "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", + "dev": true + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/restore-cursor/download/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "1.1.1", + "onetime": "1.1.0" + } + }, + "rxjs": { + "version": "5.4.3", + "resolved": "http://registry.npm.taobao.org/rxjs/download/rxjs-5.4.3.tgz", + "integrity": "sha1-B1jN3uYDPWjg/VNnbw81ls49SD8=", + "dev": true, + "requires": { + "symbol-observable": "1.0.4" + } + }, "safe-buffer": { "version": "5.1.1", "resolved": "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.1.tgz", @@ -1417,6 +1985,33 @@ "resolved": "http://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.0.3.tgz", "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=" }, + "shebang-command": { + "version": "1.2.0", + "resolved": "http://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "http://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "slice-ansi": { + "version": "0.0.4", + "resolved": "http://registry.npm.taobao.org/slice-ansi/download/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "dev": true + }, "sntp": { "version": "1.0.9", "resolved": "http://registry.npm.taobao.org/sntp/download/sntp-1.0.9.tgz", @@ -1452,6 +2047,12 @@ } } }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, "sshpk": { "version": "1.13.1", "resolved": "http://registry.npm.taobao.org/sshpk/download/sshpk-1.13.1.tgz", @@ -1474,11 +2075,34 @@ } } }, + "staged-git-files": { + "version": "0.0.4", + "resolved": "http://registry.npm.taobao.org/staged-git-files/download/staged-git-files-0.0.4.tgz", + "integrity": "sha1-15fhtVHKemOd7AI33G60u5vhfTU=", + "dev": true + }, "statuses": { "version": "1.3.1", "resolved": "http://registry.npm.taobao.org/statuses/download/statuses-1.3.1.tgz", "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" }, + "stream-to-observable": { + "version": "0.1.0", + "resolved": "http://registry.npm.taobao.org/stream-to-observable/download/stream-to-observable-0.1.0.tgz", + "integrity": "sha1-Rb8dny19wJvtgfHDB8Qw5ouEz/4=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, "stringifier": { "version": "1.3.0", "resolved": "http://registry.npm.taobao.org/stringifier/download/stringifier-1.3.0.tgz", @@ -1495,15 +2119,39 @@ "resolved": "http://registry.npm.taobao.org/stringstream/download/stringstream-0.0.5.tgz", "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" }, - "supports-color": { - "version": "3.1.2", - "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-3.1.2.tgz", - "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", + "strip-ansi": { + "version": "3.0.1", + "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "has-flag": "1.0.0" + "ansi-regex": "2.1.1" } }, + "strip-eof": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/strip-indent/download/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "symbol-observable": { + "version": "1.0.4", + "resolved": "http://registry.npm.taobao.org/symbol-observable/download/symbol-observable-1.0.4.tgz", + "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=", + "dev": true + }, "tough-cookie": { "version": "2.3.2", "resolved": "http://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.3.2.tgz", @@ -1604,6 +2252,15 @@ } } }, + "which": { + "version": "1.3.0", + "resolved": "http://registry.npm.taobao.org/which/download/which-1.3.0.tgz", + "integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=", + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, "wordwrap": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/wordwrap/download/wordwrap-1.0.0.tgz", @@ -1621,6 +2278,12 @@ "resolved": "http://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz", "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "http://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true } } } diff --git a/package.json b/package.json index 105d1e3..3e295eb 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,17 @@ { "name": "NeteaseCloudMusicApi", - "version": "2.6.5", + "version": "2.6.6", "description": "网易云音乐 NodeJS 版 API", "scripts": { "start": "node app.js", - "test": "mocha -r intelli-espower-loader -t 20000 test" + "test": "mocha -r intelli-espower-loader -t 20000 test", + "precommit": "lint-staged" + }, + "lint-staged": { + "*.js": [ + "prettier --write", + "git add" + ] }, "keywords": [ "网易云音乐", @@ -21,8 +28,11 @@ "request": "^2.81.0" }, "devDependencies": { + "husky": "^0.14.3", "intelli-espower-loader": "^1.0.1", + "lint-staged": "^4.0.3", "mocha": "^3.2.0", - "power-assert": "^1.4.2" + "power-assert": "^1.4.2", + "prettier": "^1.5.3" } } diff --git a/router/check_music.js b/router/check_music.js index a32b7ec..48ec768 100644 --- a/router/check_music.js +++ b/router/check_music.js @@ -1,14 +1,14 @@ -const express = require("express") +const express = require('express') const router = express() -const request = require("request") -const { createWebAPIRequest } = require("../util/util") -router.get("/", (req, res) => { - const id = parseInt(req.query.id) +const request = require('request') +const { createWebAPIRequest } = require('../util/util') +router.get('/', (req, res) => { + const id = parseInt(req.query.id) const br = parseInt(req.query.br || 999000) const data = { - "ids": [id], - "br": br, - "csrf_token": "" + ids: [id], + br: br, + csrf_token: '' } const cookie = req.get('Cookie') ? req.get('Cookie') : '' @@ -19,10 +19,10 @@ router.get("/", (req, res) => { data, cookie, music_req => { - if(JSON.parse(music_req).code==200){ - return res.send({success: true, message: 'ok'}) + if (JSON.parse(music_req).code == 200) { + return res.send({ success: true, message: 'ok' }) } - return res.send({success: false, message: '亲爱的,暂无版权'}); + return res.send({ success: false, message: '亲爱的,暂无版权' }) }, err => { res.status(502).send('fetch error') @@ -30,5 +30,4 @@ router.get("/", (req, res) => { ) }) - -module.exports = router \ No newline at end of file +module.exports = router