diff --git a/.travis.yml b/.travis.yml index 930e92f..75139c5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ before_install: - yarn --verison - cd app - yarn global add node-gyp - - node-gyp install --target=3.0.9 --dist-url=https://atom.io/download/electron + - node-gyp install --target=3.0.10 --dist-url=https://atom.io/download/electron install: - yarn script: diff --git a/README.md b/README.md index af64546..32e5d2d 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ # if you have not downloaded Electron's C++ header $ npm install -g node-gyp - $ node-gyp install --target=3.0.9 --dist-url=https://atom.io/download/electron + $ node-gyp install --target=3.0.10 --dist-url=https://atom.io/download/electron # install dependencies $ npm install diff --git a/README_CN.md b/README_CN.md index 770720b..5498196 100644 --- a/README_CN.md +++ b/README_CN.md @@ -51,7 +51,7 @@ # 获取 Electron 用于编译原生模块的头文件 $ npm install -g node-gyp - $ node-gyp install --target=3.0.9 --dist-url=https://atom.io/download/electron + $ node-gyp install --target=3.0.10 --dist-url=https://atom.io/download/electron # 安装依赖 $ npm install diff --git a/app/.npmrc b/app/.npmrc index 9b41530..052d5f1 100644 --- a/app/.npmrc +++ b/app/.npmrc @@ -1,4 +1,4 @@ build_from_source=true runtime=electron -target=3.0.9 +target=3.0.10 dist_url=https://atom.io/download/electron diff --git a/app/package-lock.json b/app/package-lock.json index b6e7707..bf99c09 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -1,6 +1,6 @@ { "name": "mishiro", - "version": "1.5.2-dev", + "version": "1.6.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -570,12 +570,12 @@ }, "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "ansi-styles": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, @@ -596,8 +596,8 @@ }, "are-we-there-yet": { "version": "1.1.5", - "resolved": "http://registry.npm.taobao.org/are-we-there-yet/download/are-we-there-yet-1.1.5.tgz", - "integrity": "sha1-SzXClE8GKov82mZBB2A1D+nd/CE=", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "requires": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" @@ -605,13 +605,13 @@ "dependencies": { "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "readable-stream": { "version": "2.3.6", - "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz", - "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -624,8 +624,8 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", - "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" } @@ -661,7 +661,7 @@ }, "array-find-index": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "resolved": "http://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz", "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", "dev": true }, @@ -694,7 +694,7 @@ }, "arrify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz", "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, @@ -776,7 +776,7 @@ }, "assert-plus": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" }, "assign-symbols": { @@ -799,7 +799,7 @@ }, "asynckit": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "resolved": "http://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "atob": { @@ -816,7 +816,7 @@ }, "aws-sign2": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "resolved": "http://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz", "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" }, "aws4": { @@ -826,7 +826,7 @@ }, "babel-code-frame": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "resolved": "http://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz", "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { @@ -923,12 +923,12 @@ }, "bignumber.js": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-2.4.0.tgz", + "resolved": "http://registry.npm.taobao.org/bignumber.js/download/bignumber.js-2.4.0.tgz", "integrity": "sha1-g4qZLan51zfg9LLbC+YrsJ3Qxeg=" }, "binary": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", + "resolved": "http://registry.npm.taobao.org/binary/download/binary-0.3.0.tgz", "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", "dev": true, "requires": { @@ -955,7 +955,7 @@ }, "bmp-js": { "version": "0.0.3", - "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.0.3.tgz", + "resolved": "http://registry.npm.taobao.org/bmp-js/download/bmp-js-0.0.3.tgz", "integrity": "sha1-ZBE+nHzxICs3btYHvzBibr5XsYo=" }, "bn.js": { @@ -1179,7 +1179,7 @@ }, "buffer-equal": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/buffer-equal/download/buffer-equal-0.0.1.tgz", "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=" }, "buffer-fill": { @@ -1206,13 +1206,13 @@ }, "buffers": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", + "resolved": "http://registry.npm.taobao.org/buffers/download/buffers-0.1.1.tgz", "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=", "dev": true }, "builtin-modules": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "resolved": "http://registry.npm.taobao.org/builtin-modules/download/builtin-modules-1.1.1.tgz", "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, @@ -1303,13 +1303,13 @@ }, "camelcase": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz", "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", "dev": true }, "camelcase-keys": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "resolved": "http://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-2.1.0.tgz", "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { @@ -1337,12 +1337,12 @@ }, "caseless": { "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "resolved": "http://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, "chainsaw": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", + "resolved": "http://registry.npm.taobao.org/chainsaw/download/chainsaw-0.1.0.tgz", "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", "dev": true, "requires": { @@ -1351,7 +1351,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -1505,7 +1505,7 @@ }, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "resolved": "http://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "collection-visit": { @@ -1539,7 +1539,7 @@ }, "color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "resolved": "http://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, @@ -1625,7 +1625,7 @@ }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { @@ -1642,7 +1642,7 @@ "dependencies": { "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, @@ -1689,7 +1689,7 @@ }, "console-control-strings": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "resolved": "http://registry.npm.taobao.org/console-control-strings/download/console-control-strings-1.1.0.tgz", "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, "consolidate": { @@ -1753,7 +1753,7 @@ }, "core-util-is": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "resolved": "http://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cosmiconfig": { @@ -2246,7 +2246,7 @@ }, "currently-unhandled": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "resolved": "http://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz", "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { @@ -2261,7 +2261,7 @@ }, "dashdash": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "resolved": "http://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { "assert-plus": "^1.0.0" @@ -2275,7 +2275,7 @@ }, "de-indent": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "resolved": "http://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz", "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", "dev": true }, @@ -2289,7 +2289,7 @@ }, "decamelize": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "resolved": "http://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, @@ -2444,12 +2444,12 @@ }, "delayed-stream": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "delegates": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz", "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" }, "depd": { @@ -2476,7 +2476,7 @@ }, "detect-libc": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "resolved": "http://registry.npm.taobao.org/detect-libc/download/detect-libc-1.0.3.tgz", "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" }, "detect-node": { @@ -2574,7 +2574,7 @@ }, "dom-walk": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "resolved": "http://registry.npm.taobao.org/dom-walk/download/dom-walk-0.1.1.tgz", "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" }, "domain-browser": { @@ -2677,9 +2677,9 @@ "dev": true }, "electron": { - "version": "3.0.9", - "resolved": "http://registry.npm.taobao.org/electron/download/electron-3.0.9.tgz", - "integrity": "sha1-eb0l39VJaRigDVeecC+4MILxoDY=", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/electron/-/electron-3.0.10.tgz", + "integrity": "sha512-I39IeQP3NOlbjKzTDK8uK2JdiHDfhV5SruCS2Gttkn2MaKCY+yIzQ6Wr4DyBXLeTEkL1sbZxbqQVhCavAliv5w==", "dev": true, "requires": { "@types/node": "^8.0.24", @@ -2688,9 +2688,9 @@ }, "dependencies": { "@types/node": { - "version": "8.10.37", - "resolved": "http://registry.npm.taobao.org/@types/node/download/@types/node-8.10.37.tgz", - "integrity": "sha1-0ttJ3GpOCHwyRfIrkgYfIklHceU=", + "version": "8.10.38", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.38.tgz", + "integrity": "sha512-EibsnbJerd0hBFaDjJStFrVbVBAtOy4dgL8zZFw0uOvPqzBAX59Ci8cgjg3+RgJIWhsB5A4c+pi+D4P9tQQh/A==", "dev": true } } @@ -2872,7 +2872,7 @@ }, "emojis-list": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "resolved": "http://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz", "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", "dev": true }, @@ -2969,7 +2969,7 @@ }, "escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "resolved": "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, @@ -3006,7 +3006,7 @@ }, "esutils": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "resolved": "http://registry.npm.taobao.org/esutils/download/esutils-2.0.2.tgz", "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", "dev": true }, @@ -3069,7 +3069,7 @@ }, "exif-parser": { "version": "0.1.12", - "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", + "resolved": "http://registry.npm.taobao.org/exif-parser/download/exif-parser-0.1.12.tgz", "integrity": "sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=" }, "expand-brackets": { @@ -3289,7 +3289,7 @@ }, "extsprintf": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "resolved": "http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, "fast-deep-equal": { @@ -3299,7 +3299,7 @@ }, "fast-json-stable-stringify": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.0.0.tgz", "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" }, "fastparse": { @@ -3343,7 +3343,7 @@ }, "file-type": { "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "resolved": "http://registry.npm.taobao.org/file-type/download/file-type-3.9.0.tgz", "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" }, "fill-range": { @@ -3397,7 +3397,7 @@ }, "find-up": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "resolved": "http://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz", "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { @@ -3526,13 +3526,13 @@ }, "for-in": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "resolved": "http://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz", "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, "forever-agent": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "resolved": "http://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" }, "fork-ts-checker-webpack-plugin": { @@ -3667,8 +3667,8 @@ }, "fs-minipass": { "version": "1.2.5", - "resolved": "http://registry.npm.taobao.org/fs-minipass/download/fs-minipass-1.2.5.tgz", - "integrity": "sha1-BsJ3IYRU7CiN93raVKA7hwKqy50=", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", + "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "requires": { "minipass": "^2.2.1" } @@ -3687,7 +3687,7 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { @@ -4266,7 +4266,7 @@ }, "gauge": { "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "resolved": "http://registry.npm.taobao.org/gauge/download/gauge-2.7.4.tgz", "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "requires": { "aproba": "^1.0.3", @@ -4358,7 +4358,7 @@ }, "get-stdin": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/get-stdin/download/get-stdin-4.0.1.tgz", "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", "dev": true }, @@ -4376,7 +4376,7 @@ }, "getpass": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "resolved": "http://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { "assert-plus": "^1.0.0" @@ -4418,7 +4418,7 @@ }, "global": { "version": "4.3.2", - "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "resolved": "http://registry.npm.taobao.org/global/download/global-4.3.2.tgz", "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", "requires": { "min-document": "^2.19.0", @@ -4451,7 +4451,7 @@ }, "har-schema": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz", "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" }, "har-validator": { @@ -4474,7 +4474,7 @@ }, "has-ansi": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { @@ -4495,7 +4495,7 @@ }, "has-unicode": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/has-unicode/download/has-unicode-2.0.1.tgz", "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" }, "has-value": { @@ -4542,7 +4542,7 @@ }, "hash-sum": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "resolved": "http://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz", "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", "dev": true }, @@ -4794,7 +4794,7 @@ }, "http-signature": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "resolved": "http://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { "assert-plus": "^1.0.0", @@ -4810,8 +4810,8 @@ }, "iconv-lite": { "version": "0.4.24", - "resolved": "http://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz", - "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "requires": { "safer-buffer": ">= 2.1.2 < 3" } @@ -4844,8 +4844,8 @@ }, "ignore-walk": { "version": "3.0.1", - "resolved": "http://registry.npm.taobao.org/ignore-walk/download/ignore-walk-3.0.1.tgz", - "integrity": "sha1-qD5i59JyrA47VRqqgoMaGbafgvg=", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", + "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "requires": { "minimatch": "^3.0.4" } @@ -4872,13 +4872,13 @@ }, "imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "resolved": "http://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "indent-string": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "resolved": "http://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz", "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { @@ -4887,7 +4887,7 @@ }, "indexes-of": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz", "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", "dev": true }, @@ -4899,7 +4899,7 @@ }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "resolved": "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { "once": "^1.3.0", @@ -4908,7 +4908,7 @@ }, "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "resolved": "http://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "ini": { @@ -4945,7 +4945,7 @@ }, "ip-regex": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz", + "resolved": "http://registry.npm.taobao.org/ip-regex/download/ip-regex-1.0.3.tgz", "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=" }, "ipaddr.js": { @@ -4982,7 +4982,7 @@ }, "is-arrayish": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "resolved": "http://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, @@ -5003,7 +5003,7 @@ }, "is-builtin-module": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/is-builtin-module/download/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { @@ -5082,7 +5082,7 @@ }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "resolved": "http://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", "dev": true }, @@ -5094,7 +5094,7 @@ }, "is-finite": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "resolved": "http://registry.npm.taobao.org/is-finite/download/is-finite-1.0.2.tgz", "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { @@ -5103,7 +5103,7 @@ }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { "number-is-nan": "^1.0.0" @@ -5111,7 +5111,7 @@ }, "is-function": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/is-function/download/is-function-1.0.1.tgz", "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" }, "is-glob": { @@ -5229,12 +5229,12 @@ }, "is-typedarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, "is-utf8": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "resolved": "http://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz", "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, @@ -5252,7 +5252,7 @@ }, "isarray": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz", "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" }, "isbinaryfile": { @@ -5278,12 +5278,12 @@ }, "isstream": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "resolved": "http://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "jimp": { "version": "0.2.28", - "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.2.28.tgz", + "resolved": "http://registry.npm.taobao.org/jimp/download/jimp-0.2.28.tgz", "integrity": "sha1-3VKak3GQ9ClXp5N9Gsw6d2KZbqI=", "requires": { "bignumber.js": "^2.1.0", @@ -5313,12 +5313,12 @@ }, "jpeg-js": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.2.0.tgz", + "resolved": "http://registry.npm.taobao.org/jpeg-js/download/jpeg-js-0.2.0.tgz", "integrity": "sha1-U+RI7J0mPmgyZkZ+lELSxaLvVII=" }, "js-tokens": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "resolved": "http://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz", "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", "dev": true }, @@ -5334,7 +5334,7 @@ }, "jsbn": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "resolved": "http://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, "jsesc": { @@ -5351,7 +5351,7 @@ }, "json-schema": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "resolved": "http://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz", "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" }, "json-schema-traverse": { @@ -5361,7 +5361,7 @@ }, "json-stringify-safe": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "json3": { @@ -5372,7 +5372,7 @@ }, "json5": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "resolved": "http://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz", "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true }, @@ -5386,7 +5386,7 @@ }, "jsprim": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "resolved": "http://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "requires": { "assert-plus": "1.0.0", @@ -5470,7 +5470,7 @@ }, "load-json-file": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "resolved": "http://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { @@ -5500,7 +5500,7 @@ }, "locate-path": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { @@ -5546,7 +5546,7 @@ }, "loud-rejection": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "resolved": "http://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz", "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { @@ -5618,7 +5618,7 @@ }, "map-obj": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz", "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", "dev": true }, @@ -5672,7 +5672,7 @@ }, "memory-fs": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "resolved": "http://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz", "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", "dev": true, "requires": { @@ -5682,7 +5682,7 @@ "dependencies": { "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, @@ -5714,7 +5714,7 @@ }, "meow": { "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "resolved": "http://registry.npm.taobao.org/meow/download/meow-3.7.0.tgz", "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { @@ -5732,7 +5732,7 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true } @@ -5817,7 +5817,7 @@ }, "min-document": { "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "resolved": "http://registry.npm.taobao.org/min-document/download/min-document-2.19.0.tgz", "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "requires": { "dom-walk": "^0.1.0" @@ -5856,13 +5856,13 @@ }, "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "minipass": { "version": "2.3.5", - "resolved": "http://registry.npm.taobao.org/minipass/download/minipass-2.3.5.tgz", - "integrity": "sha1-ys6+SSAiSX9law8PUeJoKp7S2Eg=", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz", + "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -5870,8 +5870,8 @@ }, "minizlib": { "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/minizlib/download/minizlib-1.1.1.tgz", - "integrity": "sha1-ZzSswEWkbmHVlqQ7udnNMm4ZzEI=", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.1.tgz", + "integrity": "sha512-TrfjCjk4jLhcJyGMYymBH6oTXcWjYbUAXTHDbtnWHjZC25h0cdajHuPE1zxb4DVmu8crfh+HwH/WMuyLG0nHBg==", "requires": { "minipass": "^2.2.1" } @@ -5975,7 +5975,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" @@ -6038,7 +6038,7 @@ }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "msgpack-lite": { @@ -6101,8 +6101,8 @@ }, "needle": { "version": "2.2.4", - "resolved": "http://registry.npm.taobao.org/needle/download/needle-2.2.4.tgz", - "integrity": "sha1-UZMb/4JTOxkot9HWngHxsA/9Kk4=", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.4.tgz", + "integrity": "sha512-HyoqEb4wr/rsoaIDfTH2aVL9nWtQqba2/HvMv+++m8u0dz808MaagKILxtfeSN7QU7nvbQ79zk3vYOJp9zsNEA==", "requires": { "debug": "^2.1.2", "iconv-lite": "^0.4.4", @@ -6219,8 +6219,8 @@ }, "node-pre-gyp": { "version": "0.10.3", - "resolved": "http://registry.npm.taobao.org/node-pre-gyp/download/node-pre-gyp-0.10.3.tgz", - "integrity": "sha1-MHAEBxav3HeHR7YbaIe/eIgLgPw=", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz", + "integrity": "sha512-d1xFs+C/IPS8Id0qPTZ4bUT8wWryfR/OzzAFxweG+uLN85oPzyo2Iw6bVlLQ/JOdgNonXLCoRyqDzDWq4iw72A==", "requires": { "detect-libc": "^1.0.2", "mkdirp": "^0.5.1", @@ -6291,13 +6291,13 @@ }, "npm-bundled": { "version": "1.0.5", - "resolved": "http://registry.npm.taobao.org/npm-bundled/download/npm-bundled-1.0.5.tgz", - "integrity": "sha1-PBcyt7qTazoQMlrvYWRnwMy8yXk=" + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.5.tgz", + "integrity": "sha512-m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g==" }, "npm-packlist": { "version": "1.1.12", - "resolved": "http://registry.npm.taobao.org/npm-packlist/download/npm-packlist-1.1.12.tgz", - "integrity": "sha1-Ir3i68EucspIKr1nr8UetJN3JDo=", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.12.tgz", + "integrity": "sha512-WJKFOVMeAlsU/pjXuqVdzU0WfgtIBCupkEVwn+1Y0ERAbUfWw8R4GjgVbaKnUjRoD2FoQbHOCbOyT5Mbs9Lw4g==", "requires": { "ignore-walk": "^3.0.1", "npm-bundled": "^1.0.1" @@ -6314,8 +6314,8 @@ }, "npmlog": { "version": "4.1.2", - "resolved": "http://registry.npm.taobao.org/npmlog/download/npmlog-4.1.2.tgz", - "integrity": "sha1-CKfyqL9zRgR3mp76StXMcXq7lUs=", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "requires": { "are-we-there-yet": "~1.1.2", "console-control-strings": "~1.1.0", @@ -6357,7 +6357,7 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "oauth-sign": { @@ -6367,7 +6367,7 @@ }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "object-copy": { @@ -6470,7 +6470,7 @@ }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "resolved": "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { "wrappy": "1" @@ -6512,7 +6512,7 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "resolved": "http://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "os-locale": { @@ -6528,13 +6528,13 @@ }, "os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "resolved": "http://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "osenv": { "version": "0.1.5", - "resolved": "http://registry.npm.taobao.org/osenv/download/osenv-0.1.5.tgz", - "integrity": "sha1-hc36+uso6Gd/QW4odZK18/SepBA=", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "requires": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.0" @@ -6569,7 +6569,7 @@ }, "p-locate": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { @@ -6670,12 +6670,12 @@ }, "parse-bmfont-ascii": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", + "resolved": "http://registry.npm.taobao.org/parse-bmfont-ascii/download/parse-bmfont-ascii-1.0.6.tgz", "integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=" }, "parse-bmfont-binary": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", + "resolved": "http://registry.npm.taobao.org/parse-bmfont-binary/download/parse-bmfont-binary-1.0.6.tgz", "integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=" }, "parse-bmfont-xml": { @@ -6689,7 +6689,7 @@ }, "parse-headers": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/parse-headers/download/parse-headers-2.0.1.tgz", "integrity": "sha1-aug6eqJanZtwCswoaYzR8e1+lTY=", "requires": { "for-each": "^0.3.2", @@ -6698,7 +6698,7 @@ }, "parse-json": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "resolved": "http://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { @@ -6737,7 +6737,7 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { @@ -6766,7 +6766,7 @@ }, "path-type": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "resolved": "http://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { @@ -6795,7 +6795,7 @@ }, "performance-now": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "resolved": "http://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "phin": { @@ -6805,19 +6805,19 @@ }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, "pinkie": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "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": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { @@ -6826,7 +6826,7 @@ }, "pixelmatch": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", + "resolved": "http://registry.npm.taobao.org/pixelmatch/download/pixelmatch-4.0.2.tgz", "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=", "requires": { "pngjs": "^3.0.0" @@ -8576,7 +8576,7 @@ }, "pseudomap": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "resolved": "http://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz", "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, @@ -8639,7 +8639,7 @@ }, "q": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "resolved": "http://registry.npm.taobao.org/q/download/q-1.5.1.tgz", "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "dev": true }, @@ -8740,12 +8740,12 @@ }, "read-chunk": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-1.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/read-chunk/download/read-chunk-1.0.1.tgz", "integrity": "sha1-X2jKswfmY/GZk1J9m1icrORmEZQ=" }, "read-pkg": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "resolved": "http://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { @@ -8756,7 +8756,7 @@ }, "read-pkg-up": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { @@ -8766,7 +8766,7 @@ }, "readable-stream": { "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "requires": { "core-util-is": "~1.0.0", @@ -8820,7 +8820,7 @@ }, "redent": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/redent/download/redent-1.0.0.tgz", "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { @@ -8903,13 +8903,13 @@ }, "repeat-string": { "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "resolved": "http://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, "repeating": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz", "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { @@ -9169,7 +9169,7 @@ }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "set-value": { @@ -9234,7 +9234,7 @@ }, "signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "resolved": "http://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, "simple-swizzle": { @@ -9577,14 +9577,14 @@ }, "sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "resolved": "http://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, "sqlite3": { - "version": "4.0.3", - "resolved": "http://registry.npm.taobao.org/sqlite3/download/sqlite3-4.0.3.tgz", - "integrity": "sha1-2owWeoeUFlf9IuJ7JIqjceGStxU=", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-4.0.4.tgz", + "integrity": "sha512-CO8vZMyUXBPC+E3iXOCc7Tz2pAdq5BWfLcQmOokCOZW5S5sZ/paijiPOCdvzpdP83RroWHYa5xYlVqCxSqpnQg==", "requires": { "nan": "~2.10.0", "node-pre-gyp": "^0.10.3", @@ -9593,8 +9593,8 @@ "dependencies": { "nan": { "version": "2.10.0", - "resolved": "http://registry.npm.taobao.org/nan/download/nan-2.10.0.tgz", - "integrity": "sha1-ltDNYQ69WNS03pzAxoKM2pnHVI8=" + "resolved": "http://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==" } } }, @@ -9769,12 +9769,12 @@ }, "stream-to": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/stream-to/-/stream-to-0.2.2.tgz", + "resolved": "http://registry.npm.taobao.org/stream-to/download/stream-to-0.2.2.tgz", "integrity": "sha1-hDBgmNhf25kLn6MAsbPM9V6O8B0=" }, "stream-to-buffer": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/stream-to-buffer/-/stream-to-buffer-0.1.0.tgz", + "resolved": "http://registry.npm.taobao.org/stream-to-buffer/download/stream-to-buffer-0.1.0.tgz", "integrity": "sha1-JnmdkDqyAlyb1VCsRxcbAPjdgKk=", "requires": { "stream-to": "~0.2.0" @@ -9782,7 +9782,7 @@ }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "resolved": "http://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { "code-point-at": "^1.0.0", @@ -9792,12 +9792,12 @@ }, "string_decoder": { "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "^2.0.0" @@ -9805,7 +9805,7 @@ }, "strip-bom": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { @@ -9820,7 +9820,7 @@ }, "strip-indent": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/strip-indent/download/strip-indent-1.0.1.tgz", "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { @@ -9829,7 +9829,7 @@ }, "strip-json-comments": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz", "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" }, "stylehacks": { @@ -9907,7 +9907,7 @@ }, "supports-color": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true }, @@ -9964,9 +9964,9 @@ "dev": true }, "tar": { - "version": "4.4.7", - "resolved": "http://registry.npm.taobao.org/tar/download/tar-4.4.7.tgz", - "integrity": "sha1-FN9FAj/9zQwjO++i/AHrt27jnnw=", + "version": "4.4.8", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz", + "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", "requires": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", @@ -10062,7 +10062,7 @@ }, "tinycolor2": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", + "resolved": "http://registry.npm.taobao.org/tinycolor2/download/tinycolor2-1.4.1.tgz", "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=" }, "tmp": { @@ -10166,18 +10166,18 @@ }, "traverse": { "version": "0.3.9", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", + "resolved": "http://registry.npm.taobao.org/traverse/download/traverse-0.3.9.tgz", "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=", "dev": true }, "trim": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/trim/download/trim-0.0.1.tgz", "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" }, "trim-newlines": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "resolved": "http://registry.npm.taobao.org/trim-newlines/download/trim-newlines-1.0.0.tgz", "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", "dev": true }, @@ -10369,7 +10369,7 @@ }, "tunnel-agent": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "resolved": "http://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { "safe-buffer": "^5.0.1" @@ -10377,7 +10377,7 @@ }, "tweetnacl": { "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "resolved": "http://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" }, "type-is": { @@ -10392,7 +10392,7 @@ }, "typedarray": { "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "resolved": "http://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, @@ -10628,7 +10628,7 @@ }, "uniq": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz", "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", "dev": true }, @@ -10775,7 +10775,7 @@ }, "url-regex": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz", + "resolved": "http://registry.npm.taobao.org/url-regex/download/url-regex-3.2.0.tgz", "integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=", "requires": { "ip-regex": "^1.0.1" @@ -10804,7 +10804,7 @@ }, "util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "resolved": "http://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "util.promisify": { @@ -10858,7 +10858,7 @@ }, "verror": { "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "resolved": "http://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { "assert-plus": "^1.0.0", @@ -11164,8 +11164,8 @@ }, "wide-align": { "version": "1.1.3", - "resolved": "http://registry.npm.taobao.org/wide-align/download/wide-align-1.1.3.tgz", - "integrity": "sha1-rgdOa9wMFKQx6ATmJFScYzsABFc=", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "requires": { "string-width": "^1.0.2 || 2" } @@ -11191,7 +11191,7 @@ }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "resolved": "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "xhr": { @@ -11207,7 +11207,7 @@ }, "xml-parse-from-string": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", + "resolved": "http://registry.npm.taobao.org/xml-parse-from-string/download/xml-parse-from-string-1.0.1.tgz", "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig=" }, "xml2js": { @@ -11248,9 +11248,9 @@ "dev": true }, "yallist": { - "version": "3.0.2", - "resolved": "http://registry.npm.taobao.org/yallist/download/yallist-3.0.2.tgz", - "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" }, "yargs": { "version": "12.0.2", diff --git a/app/package.json b/app/package.json index 16ffd11..be20ac2 100644 --- a/app/package.json +++ b/app/package.json @@ -1,6 +1,6 @@ { "name": "mishiro", - "version": "1.5.2-dev", + "version": "1.6.0", "description": "mishiro", "main": "./public/mishiro.main.js", "scripts": { @@ -47,7 +47,7 @@ "cross-env": "^5.2.0", "css-loader": "^1.0.1", "cuint": "^0.2.2", - "electron": "3.0.9", + "electron": "3.0.10", "electron-packager": "^12.2.0", "express-serve-asar": "^1.0.1", "file-loader": "^2.0.0", @@ -78,6 +78,6 @@ "marked": "^0.5.1", "mishiro-core": "^1.3.3", "request": "^2.88.0", - "sqlite3": "^4.0.3" + "sqlite3": "^4.0.4" } } diff --git a/app/script/webpack.config.ts b/app/script/webpack.config.ts index 02cfc8e..a491ce5 100644 --- a/app/script/webpack.config.ts +++ b/app/script/webpack.config.ts @@ -117,7 +117,7 @@ export const renderer: webpack.Configuration = { extensions: ['.ts', '.js', '.vue', '.css'] }, externals: [webpackNodeExternals({ - whitelist: mode === 'production' ? [/vue/] : [/webpack/] + whitelist: mode === 'production' ? [/vue/] : [/webpack/, /vue-i18n/] })], plugins: [ new VueLoaderPlugin(), @@ -167,6 +167,7 @@ if (mode === 'production') { } }) main.optimization = { + ...(main.optimization || {}), minimizer: [terser()] } renderer.plugins = [ diff --git a/app/src/ts/i18n/en-US.ts b/app/src/ts/i18n/en-US.ts index 8d6f137..e874550 100644 --- a/app/src/ts/i18n/en-US.ts +++ b/app/src/ts/i18n/en-US.ts @@ -122,7 +122,8 @@ export default { noAudio: 'MP3 file not found', start: 'START', gameRunning: 'Live is being held。', - liveResult: 'LIVE RESULT' + liveResult: 'LIVE RESULT', + noLyrics: 'NO LYRICS' }, gacha: { ikkai: 'ONCE', diff --git a/app/src/ts/i18n/ja-JP.ts b/app/src/ts/i18n/ja-JP.ts index ce315b6..afab0e6 100644 --- a/app/src/ts/i18n/ja-JP.ts +++ b/app/src/ts/i18n/ja-JP.ts @@ -122,7 +122,8 @@ export default { noAudio: 'MP3ファイルが見つかりませんでした。', start: '決定', gameRunning: 'ライブ進行中です。', - liveResult: 'ライブ成績' + liveResult: 'ライブ成績', + noLyrics: '歌詞なし' }, gacha: { ikkai: '1回引く', diff --git a/app/src/ts/i18n/zh-CN.ts b/app/src/ts/i18n/zh-CN.ts index 5f7c55e..19956d8 100644 --- a/app/src/ts/i18n/zh-CN.ts +++ b/app/src/ts/i18n/zh-CN.ts @@ -122,7 +122,8 @@ export default { noAudio: '未発現MP3文件。', start: '開始', gameRunning: 'LIVE正在進行。', - liveResult: 'LIVE成績' + liveResult: 'LIVE成績', + noLyrics: '無歌詞' }, gacha: { ikkai: '単抽', diff --git a/app/src/ts/main/ipc.ts b/app/src/ts/main/ipc.ts index fc0dd03..63b037e 100644 --- a/app/src/ts/main/ipc.ts +++ b/app/src/ts/main/ipc.ts @@ -4,6 +4,7 @@ import onMasterRead, { MasterData } from './on-master-read' import onManifestQuery from './on-manifest-query' import onManifestSearch from './on-manifest-search' import onGame from './on-game' +import onLyrics from './on-lyrics' export default function () { let manifestData: any = {} @@ -41,4 +42,8 @@ export default function () { ipcMain.on('game', (event: Event, scoreFile: string, difficulty: string, bpm: number, audioFile: string) => { onGame(event, scoreFile, difficulty, bpm, audioFile).catch(err => console.log(err)) }) + + ipcMain.on('lyrics', (event: Event, scoreFile: string) => { + onLyrics(event, scoreFile).catch(err => console.log(err)) + }) } diff --git a/app/src/ts/main/on-lyrics.ts b/app/src/ts/main/on-lyrics.ts new file mode 100644 index 0000000..a77607a --- /dev/null +++ b/app/src/ts/main/on-lyrics.ts @@ -0,0 +1,26 @@ +import { openSqlite } from './sqlite3' +import * as path from 'path' +import { Event } from 'electron' + +export default async function (event: Event, scoreFile: string) { + let bdb = await openSqlite(scoreFile) + let rows = await bdb._all('SELECT name, data FROM blobs') + bdb.close() + let name = path.parse(scoreFile).name.split('_') + let musicscores = name[0] + let mxxx = name[1] + + let nameField = `${musicscores}/${mxxx}/${mxxx}_lyrics.csv` + let data = rows.filter((row: any) => row.name === nameField)[0].data.toString() + const list = data.split('\n') + const lyrics = [] + for (let i = 1; i < list.length - 1; i++) { + const line = list[i].split(',') + lyrics.push({ + time: Number(line[0]), + lyrics: line[1], + size: line[2] + }) + } + event.sender.send('lyrics', lyrics) +} diff --git a/app/src/ts/renderer-game.ts b/app/src/ts/renderer-game.ts index 4f9de21..7fef1ce 100644 --- a/app/src/ts/renderer-game.ts +++ b/app/src/ts/renderer-game.ts @@ -1,30 +1,7 @@ import '../css/game.css' -import { ipcRenderer, Event } from 'electron' - -import { Game, newImage, keyBind } from './renderer/game' import Vue from 'vue' import MishiroGame from '../vue/MishiroGame.vue' -window.addEventListener('load', () => { - keyBind() - let canvasLive = document.getElementById('live') as HTMLCanvasElement - - Game.CTX = canvasLive.getContext('2d') as CanvasRenderingContext2D - let canvasIconBar = document.getElementById('iconBar') as HTMLCanvasElement - - Game.BACK_CTX = canvasIconBar.getContext('2d') as CanvasRenderingContext2D - let ctxIconBar = Game.BACK_CTX - let liveIcon = newImage('../../asset/img.asar/live_icon_857x114.png') - liveIcon.addEventListener('load', function () { - ctxIconBar.drawImage(this, 211.5, 586) - }, false) - -}, false) - -ipcRenderer.on('start', (_event: Event, song: any, fromWindowId: number) => { - Game.start(song, fromWindowId) -}) - // tslint:disable-next-line:no-unused-expression new Vue({ el: '#app', diff --git a/app/src/ts/renderer/game.ts b/app/src/ts/renderer/game.ts index 66b5c3b..fdabfb4 100644 --- a/app/src/ts/renderer/game.ts +++ b/app/src/ts/renderer/game.ts @@ -104,6 +104,19 @@ class Game { public static H: number = 102 public static DISTANCE: number = Game.TOP_TO_BOTTOM + Game.H public static RANGE: number = 100 + public static init () { + keyBind() + let canvasLive = document.getElementById('live') as HTMLCanvasElement + Game.CTX = canvasLive.getContext('2d') as CanvasRenderingContext2D + + let canvasIconBar = document.getElementById('iconBar') as HTMLCanvasElement + Game.BACK_CTX = canvasIconBar.getContext('2d') as CanvasRenderingContext2D + + let liveIcon = newImage('../../asset/img.asar/live_icon_857x114.png') + liveIcon.addEventListener('load', function () { + Game.BACK_CTX.drawImage(this, 211.5, 586) + }, false) + } public static start (song: any, fromWindowId: number) { const prefix = 80 let isCompleted = false diff --git a/app/src/ts/renderer/mishiro-live.ts b/app/src/ts/renderer/mishiro-live.ts index d695764..86484cd 100644 --- a/app/src/ts/renderer/mishiro-live.ts +++ b/app/src/ts/renderer/mishiro-live.ts @@ -42,6 +42,8 @@ export default class extends Vue { allLive: boolean = true liveQueryList: any[] = [] isGameRunning: boolean = false + allLyrics: { time: number; lyrics: string; size: any}[] = [] + lyrics: { time: number; lyrics: string; size: any}[] = [] @Prop({ default: () => ({}) }) master: MasterData @@ -56,106 +58,140 @@ export default class extends Vue { this.bgm.currentTime = Number((this.$refs.playProg as HTMLInputElement).value) } async selectAudio (audio: any) { - if (this.activeAudio.hash !== audio.hash) { - this.playSe(this.enterSe) + if (this.activeAudio.hash === audio.hash) return - this.total = 0 - this.current = 0 - this.text = '' + this.playSe(this.enterSe) - if (audio.name.split('/')[0] === 'b') { - if (!fs.existsSync(bgmDir(audio.fileName))) { - if (navigator.onLine) { - this.dler.stop() - this.activeAudio = audio - let result: string | boolean = false - try { - // result = await this.dler.downloadOne( - // this.getBgmUrl(audio.hash), - // bgmDir(audio.name.split('/')[1]), - // (prog) => { - // this.text = prog.name as string - // this.current = prog.loading - // this.total = prog.loading - // } - // ) - result = await this.dler.downloadSound( - 'b', - audio.hash, - bgmDir(path.basename(audio.name)), - (prog) => { - this.text = prog.name as string - this.current = prog.loading - this.total = prog.loading - } - ) - } catch (errorPath) { - this.event.$emit('alert', this.$t('home.errorTitle'), this.$t('home.downloadFailed') + '
' + errorPath) - } - if (result) { - this.total = 99.99 - this.current = 99.99 - this.text += this.$t('live.decoding') - await this.acb2mp3(bgmDir(path.basename(audio.name)), audio.fileName) - this.total = 0 - this.current = 0 - this.text = '' - this.event.$emit('liveSelect', { src: `../../asset/bgm/${audio.fileName}` }) - } - } else { - this.event.$emit('alert', this.$t('home.errorTitle'), this.$t('home.noNetwork')) + this.total = 0 + this.current = 0 + this.text = '' + + if (audio.name.split('/')[0] === 'b') { + if (!fs.existsSync(bgmDir(audio.fileName))) { + if (navigator.onLine) { + this.dler.stop() + this.activeAudio = audio + let result: string | boolean = false + try { + // result = await this.dler.downloadOne( + // this.getBgmUrl(audio.hash), + // bgmDir(audio.name.split('/')[1]), + // (prog) => { + // this.text = prog.name as string + // this.current = prog.loading + // this.total = prog.loading + // } + // ) + result = await this.dler.downloadSound( + 'b', + audio.hash, + bgmDir(path.basename(audio.name)), + (prog) => { + this.text = prog.name as string + this.current = prog.loading + this.total = prog.loading + } + ) + } catch (errorPath) { + this.event.$emit('alert', this.$t('home.errorTitle'), this.$t('home.downloadFailed') + '
' + errorPath) + } + if (result) { + this.total = 99.99 + this.current = 99.99 + this.text += this.$t('live.decoding') + await this.acb2mp3(bgmDir(path.basename(audio.name)), audio.fileName) + this.total = 0 + this.current = 0 + this.text = '' + this.event.$emit('liveSelect', { src: `../../asset/bgm/${audio.fileName}` }) } } else { - this.activeAudio = audio - this.event.$emit('liveSelect', { src: `../../asset/bgm/${audio.fileName}` }) + this.event.$emit('alert', this.$t('home.errorTitle'), this.$t('home.noNetwork')) } - } else if (audio.name.split('/')[0] === 'l') { - if (!fs.existsSync(liveDir(audio.fileName))) { - if (navigator.onLine) { - this.dler.stop() - this.activeAudio = audio - let result: string | boolean = false - try { - // result = await this.dler.downloadOne( - // this.getLiveUrl(audio.hash), - // liveDir(audio.name.split('/')[1]), - // (prog) => { - // this.text = prog.name as string - // this.current = prog.loading - // this.total = prog.loading - // } - // ) - result = await this.dler.downloadSound( - 'l', - audio.hash, - liveDir(path.basename(audio.name)), - (prog) => { - this.text = prog.name as string - this.current = prog.loading - this.total = prog.loading - } - ) - } catch (errorPath) { - this.event.$emit('alert', this.$t('home.errorTitle'), this.$t('home.downloadFailed') + '
' + errorPath) - } - if (result) { - this.total = 99.99 - this.current = 99.99 - this.text += this.$t('live.decoding') - await this.acb2mp3(liveDir(path.basename(audio.name)), audio.fileName) - this.total = 0 - this.current = 0 - this.text = '' - this.event.$emit('liveSelect', { src: `../../asset/live/${audio.fileName}` }) + } else { + this.activeAudio = audio + this.event.$emit('liveSelect', { src: `../../asset/bgm/${audio.fileName}` }) + } + } else if (audio.name.split('/')[0] === 'l') { + if (!fs.existsSync(liveDir(audio.fileName))) { + if (!navigator.onLine) { + this.event.$emit('alert', this.$t('home.errorTitle'), this.$t('home.noNetwork')) + return + } + this.dler.stop() + this.activeAudio = audio + let result: string | boolean = false + try { + // result = await this.dler.downloadOne( + // this.getLiveUrl(audio.hash), + // liveDir(audio.name.split('/')[1]), + // (prog) => { + // this.text = prog.name as string + // this.current = prog.loading + // this.total = prog.loading + // } + // ) + result = await this.dler.downloadSound( + 'l', + audio.hash, + liveDir(path.basename(audio.name)), + (prog) => { + this.text = prog.name as string + this.current = prog.loading + this.total = prog.loading } + ) + } catch (errorPath) { + this.event.$emit('alert', this.$t('home.errorTitle'), this.$t('home.downloadFailed') + '
' + errorPath) + return + } + + if (!result) return + + this.total = 99.99 + this.current = 99.99 + this.text += this.$t('live.decoding') + await this.acb2mp3(liveDir(path.basename(audio.name)), audio.fileName) + this.total = 0 + this.current = 0 + this.text = '' + this.event.$emit('liveSelect', { src: `../../asset/live/${audio.fileName}` }) + + } else { + this.activeAudio = audio + this.event.$emit('liveSelect', { src: `../../asset/live/${audio.fileName}` }) + } + + this.lyrics = [] + this.allLyrics = [] + + if (!this.activeAudio.score) return + + if (!fs.existsSync(scoreDir(this.activeAudio.score))) { + if (!navigator.onLine) { + this.event.$emit('alert', this.$t('home.errorTitle'), this.$t('home.noNetwork')) + return + } + try { + let scoreBdb = await this.scoreDownloader.downloadDatabase( + this.activeAudio.scoreHash, + scoreDir(this.activeAudio.score.split('.')[0]) + ) + if (scoreBdb) { + // this.core.util.lz4dec(scoreBdb as string, 'bdb') + fs.removeSync(scoreDir(this.activeAudio.score.split('.')[0])) } else { - this.event.$emit('alert', this.$t('home.errorTitle'), this.$t('home.noNetwork')) + this.event.$emit('alert', this.$t('home.errorTitle'), 'Error!') + return } - } else { - this.activeAudio = audio - this.event.$emit('liveSelect', { src: `../../asset/live/${audio.fileName}` }) + } catch (errorPath) { + this.event.$emit('alert', this.$t('home.errorTitle'), this.$t('home.downloadFailed') + '
' + errorPath) + return } } + + ipcRenderer.send('lyrics', scoreDir(this.activeAudio.score)) + } } query () { @@ -188,6 +224,9 @@ export default class extends Vue { shell.showItemInFolder(dirl + '/.') } } + openLyrics () { + this.event.$emit('alert', path.parse(this.activeAudio.fileName).name, this.allLyrics.map(line => line.lyrics).join('
')) + } async startGame () { this.playSe(this.enterSe) @@ -236,11 +275,20 @@ export default class extends Vue { this.$nextTick(() => { this.bgm.addEventListener('timeupdate', () => { this.currentTime = this.bgm.currentTime + for (let i = this.allLyrics.length - 1; i >= 0; i--) { + const line = this.allLyrics[i] + if (this.bgm.currentTime >= line.time) { + this.lyrics = i === this.allLyrics.length - 1 ? [this.allLyrics[i]] : [this.allLyrics[i], this.allLyrics[i + 1]] + break + } + } }, false) this.bgm.addEventListener('durationchange', () => { this.duration = this.bgm.duration }, false) this.event.$on('playerSelect', (fileName: string) => { + this.allLyrics = [] + this.lyrics = [] if (this.bgmManifest.filter(bgm => bgm.fileName === fileName).length > 0) { this.activeAudio = this.bgmManifest.filter(bgm => bgm.fileName === fileName)[0] } else { @@ -260,6 +308,10 @@ export default class extends Vue { if (isCompleted) this.playSe(new Audio('../../asset/se.asar/se_live_wow.mp3')) this.event.$emit('showLiveResult', liveResult) }) + ipcRenderer.on('lyrics', (_event: Event, lyrics: { time: number; lyrics: string; size: any }[]) => { + console.log(lyrics) + this.allLyrics = lyrics + }) }) } } diff --git a/app/src/vue/MishiroGame.vue b/app/src/vue/MishiroGame.vue index 6366273..8d4b114 100644 --- a/app/src/vue/MishiroGame.vue +++ b/app/src/vue/MishiroGame.vue @@ -9,19 +9,28 @@ - diff --git a/app/src/vue/view/MishiroLive.vue b/app/src/vue/view/MishiroLive.vue index c946f80..2e27773 100644 --- a/app/src/vue/view/MishiroLive.vue +++ b/app/src/vue/view/MishiroLive.vue @@ -25,9 +25,17 @@
-
-

{{Math.floor(currentTime) | time}} / {{Math.floor(duration) | time}}

- +
+
+ + {{Math.floor(currentTime) | time}} / {{Math.floor(duration) | time}} +
+
+ {{l.lyrics}} +
+
+ {{$t('live.noLyrics')}} +
@@ -40,6 +48,13 @@ .timebar{ font-family: "CGSS-B"; } +.timebar .lyrics { + overflow: hidden; + display: flex; + flex-direction: column; + align-items: center; + height: 65px; +} .absolute-left{ position: absolute; left: 0; diff --git a/appveyor.yml b/appveyor.yml index d090afc..1331719 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -10,7 +10,7 @@ install: yarn global add node-gyp - node-gyp install --target=3.0.9 --dist-url=https://atom.io/download/electron + node-gyp install --target=3.0.10 --dist-url=https://atom.io/download/electron yarn build_script: