diff --git a/HotUpdateDemo/package-lock.json b/HotUpdateDemo/package-lock.json index a2b413d..0008751 100644 --- a/HotUpdateDemo/package-lock.json +++ b/HotUpdateDemo/package-lock.json @@ -16,7 +16,7 @@ "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "requires": { - "acorn": "^3.0.4" + "acorn": "3.3.0" }, "dependencies": { "acorn": { @@ -33,10 +33,10 @@ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, "ajv-keywords": { @@ -85,7 +85,6 @@ "resolved": "http://registry.npm.taobao.org/archive-type/download/archive-type-3.2.0.tgz", "integrity": "sha1-nNnABpV+vpX62tW9YJiUKoE3N/Y=", "dev": true, - "optional": true, "requires": { "file-type": "3.9.0" }, @@ -94,8 +93,7 @@ "version": "3.9.0", "resolved": "http://registry.npm.taobao.org/file-type/download/file-type-3.9.0.tgz", "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", - "dev": true, - "optional": true + "dev": true } } }, @@ -145,8 +143,7 @@ "version": "1.0.2", "resolved": "http://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz", "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true, - "optional": true + "dev": true }, "array-slice": { "version": "1.1.0", @@ -188,9 +185,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" }, "dependencies": { "chalk": { @@ -199,11 +196,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "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" } }, "strip-ansi": { @@ -212,7 +209,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -368,7 +365,6 @@ "resolved": "http://registry.npm.taobao.org/bl/download/bl-1.2.1.tgz", "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", "dev": true, - "optional": true, "requires": { "readable-stream": "2.3.3" } @@ -397,15 +393,13 @@ "version": "0.2.13", "resolved": "http://registry.npm.taobao.org/buffer-crc32/download/buffer-crc32-0.2.13.tgz", "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true, - "optional": true + "dev": true }, "buffer-to-vinyl": { "version": "1.1.0", "resolved": "http://registry.npm.taobao.org/buffer-to-vinyl/download/buffer-to-vinyl-1.1.0.tgz", "integrity": "sha1-APFfruOreh3aLN5tkSG//dB7ImI=", "dev": true, - "optional": true, "requires": { "file-type": "3.9.0", "readable-stream": "2.3.3", @@ -417,22 +411,19 @@ "version": "3.9.0", "resolved": "http://registry.npm.taobao.org/file-type/download/file-type-3.9.0.tgz", "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", - "dev": true, - "optional": true + "dev": true }, "uuid": { "version": "2.0.3", "resolved": "http://registry.npm.taobao.org/uuid/download/uuid-2.0.3.tgz", "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", - "dev": true, - "optional": true + "dev": true }, "vinyl": { "version": "1.2.0", "resolved": "http://registry.npm.taobao.org/vinyl/download/vinyl-1.2.0.tgz", "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", "dev": true, - "optional": true, "requires": { "clone": "1.0.3", "clone-stats": "0.0.1", @@ -454,8 +445,7 @@ "version": "1.1.1", "resolved": "http://registry.npm.taobao.org/builtin-modules/download/builtin-modules-1.1.1.tgz", "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true, - "optional": true + "dev": true }, "caller-path": { "version": "0.1.0", @@ -463,7 +453,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "^0.2.0" + "callsites": "0.2.0" } }, "callsites": { @@ -493,7 +483,6 @@ "resolved": "http://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-2.1.0.tgz", "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, - "optional": true, "requires": { "camelcase": "2.1.1", "map-obj": "1.0.1" @@ -503,8 +492,7 @@ "version": "2.1.1", "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz", "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true, - "optional": true + "dev": true } } }, @@ -512,15 +500,13 @@ "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/capture-stack-trace/download/capture-stack-trace-1.0.0.tgz", "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=", - "dev": true, - "optional": true + "dev": true }, "caw": { "version": "1.2.0", "resolved": "http://registry.npm.taobao.org/caw/download/caw-1.2.0.tgz", "integrity": "sha1-/7Im/n78VHKI3GLuPpcHPCEtEDQ=", "dev": true, - "optional": true, "requires": { "get-proxy": "1.1.0", "is-obj": "1.0.1", @@ -532,8 +518,7 @@ "version": "3.0.0", "resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-3.0.0.tgz", "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", - "dev": true, - "optional": true + "dev": true } } }, @@ -794,8 +779,7 @@ "version": "1.5.1", "resolved": "http://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.5.1.tgz", "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", - "dev": true, - "optional": true + "dev": true }, "core-js": { "version": "2.5.2", @@ -814,7 +798,6 @@ "resolved": "http://registry.npm.taobao.org/create-error-class/download/create-error-class-3.0.2.tgz", "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, - "optional": true, "requires": { "capture-stack-trace": "1.0.0" } @@ -861,7 +844,6 @@ "resolved": "http://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz", "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, - "optional": true, "requires": { "array-find-index": "1.0.2" } @@ -878,7 +860,7 @@ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "decamelize": { @@ -892,7 +874,6 @@ "resolved": "http://registry.npm.taobao.org/decompress/download/decompress-3.0.0.tgz", "integrity": "sha1-rx3VDQbjv8QyRh033hGzjA2ZG+0=", "dev": true, - "optional": true, "requires": { "buffer-to-vinyl": "1.1.0", "concat-stream": "1.6.0", @@ -910,7 +891,6 @@ "resolved": "http://registry.npm.taobao.org/glob/download/glob-5.0.15.tgz", "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "dev": true, - "optional": true, "requires": { "inflight": "1.0.6", "inherits": "2.0.3", @@ -924,7 +904,6 @@ "resolved": "http://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, - "optional": true, "requires": { "is-glob": "3.1.0", "path-dirname": "1.0.2" @@ -935,7 +914,6 @@ "resolved": "http://registry.npm.taobao.org/glob-stream/download/glob-stream-5.3.5.tgz", "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=", "dev": true, - "optional": true, "requires": { "extend": "3.0.1", "glob": "5.0.15", @@ -952,7 +930,6 @@ "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, - "optional": true, "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", @@ -965,7 +942,6 @@ "resolved": "http://registry.npm.taobao.org/through2/download/through2-0.6.5.tgz", "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", "dev": true, - "optional": true, "requires": { "readable-stream": "1.0.34", "xtend": "4.0.1" @@ -977,15 +953,13 @@ "version": "2.1.1", "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "optional": true + "dev": true }, "is-glob": { "version": "3.1.0", "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, - "optional": true, "requires": { "is-extglob": "2.1.1" } @@ -994,15 +968,13 @@ "version": "0.0.1", "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz", "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true, - "optional": true + "dev": true }, "ordered-read-streams": { "version": "0.3.0", "resolved": "http://registry.npm.taobao.org/ordered-read-streams/download/ordered-read-streams-0.3.0.tgz", "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=", "dev": true, - "optional": true, "requires": { "is-stream": "1.1.0", "readable-stream": "2.3.3" @@ -1012,15 +984,13 @@ "version": "0.10.31", "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true, - "optional": true + "dev": true }, "strip-bom": { "version": "2.0.0", "resolved": "http://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, - "optional": true, "requires": { "is-utf8": "0.2.1" } @@ -1030,7 +1000,6 @@ "resolved": "http://registry.npm.taobao.org/unique-stream/download/unique-stream-2.2.1.tgz", "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=", "dev": true, - "optional": true, "requires": { "json-stable-stringify": "1.0.1", "through2-filter": "2.0.0" @@ -1041,7 +1010,6 @@ "resolved": "http://registry.npm.taobao.org/vinyl/download/vinyl-1.2.0.tgz", "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", "dev": true, - "optional": true, "requires": { "clone": "1.0.3", "clone-stats": "0.0.1", @@ -1053,7 +1021,6 @@ "resolved": "http://registry.npm.taobao.org/vinyl-fs/download/vinyl-fs-2.4.4.tgz", "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=", "dev": true, - "optional": true, "requires": { "duplexify": "3.5.1", "glob-stream": "5.3.5", @@ -1081,7 +1048,6 @@ "resolved": "http://registry.npm.taobao.org/decompress-tar/download/decompress-tar-3.1.0.tgz", "integrity": "sha1-IXx4n5uURQ76rcXF5TeXj8MzxGY=", "dev": true, - "optional": true, "requires": { "is-tar": "1.0.0", "object-assign": "2.1.1", @@ -1095,29 +1061,25 @@ "version": "0.2.0", "resolved": "http://registry.npm.taobao.org/clone/download/clone-0.2.0.tgz", "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", - "dev": true, - "optional": true + "dev": true }, "isarray": { "version": "0.0.1", "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz", "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "2.1.1", "resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-2.1.1.tgz", "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", - "dev": true, - "optional": true + "dev": true }, "readable-stream": { "version": "1.0.34", "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, - "optional": true, "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", @@ -1129,15 +1091,13 @@ "version": "0.10.31", "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true, - "optional": true + "dev": true }, "through2": { "version": "0.6.5", "resolved": "http://registry.npm.taobao.org/through2/download/through2-0.6.5.tgz", "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", "dev": true, - "optional": true, "requires": { "readable-stream": "1.0.34", "xtend": "4.0.1" @@ -1148,7 +1108,6 @@ "resolved": "http://registry.npm.taobao.org/vinyl/download/vinyl-0.4.6.tgz", "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", "dev": true, - "optional": true, "requires": { "clone": "0.2.0", "clone-stats": "0.0.1" @@ -1161,7 +1120,6 @@ "resolved": "http://registry.npm.taobao.org/decompress-tarbz2/download/decompress-tarbz2-3.1.0.tgz", "integrity": "sha1-iyOTVoE1X58YnYclag+L3ZbZZm0=", "dev": true, - "optional": true, "requires": { "is-bzip2": "1.0.0", "object-assign": "2.1.1", @@ -1176,29 +1134,25 @@ "version": "0.2.0", "resolved": "http://registry.npm.taobao.org/clone/download/clone-0.2.0.tgz", "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", - "dev": true, - "optional": true + "dev": true }, "isarray": { "version": "0.0.1", "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz", "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "2.1.1", "resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-2.1.1.tgz", "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", - "dev": true, - "optional": true + "dev": true }, "readable-stream": { "version": "1.0.34", "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, - "optional": true, "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", @@ -1210,15 +1164,13 @@ "version": "0.10.31", "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true, - "optional": true + "dev": true }, "through2": { "version": "0.6.5", "resolved": "http://registry.npm.taobao.org/through2/download/through2-0.6.5.tgz", "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", "dev": true, - "optional": true, "requires": { "readable-stream": "1.0.34", "xtend": "4.0.1" @@ -1229,7 +1181,6 @@ "resolved": "http://registry.npm.taobao.org/vinyl/download/vinyl-0.4.6.tgz", "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", "dev": true, - "optional": true, "requires": { "clone": "0.2.0", "clone-stats": "0.0.1" @@ -1242,7 +1193,6 @@ "resolved": "http://registry.npm.taobao.org/decompress-targz/download/decompress-targz-3.1.0.tgz", "integrity": "sha1-ssE9+YFmJomRtxXWRH9kLpaW9aA=", "dev": true, - "optional": true, "requires": { "is-gzip": "1.0.0", "object-assign": "2.1.1", @@ -1256,29 +1206,25 @@ "version": "0.2.0", "resolved": "http://registry.npm.taobao.org/clone/download/clone-0.2.0.tgz", "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", - "dev": true, - "optional": true + "dev": true }, "isarray": { "version": "0.0.1", "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz", "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "2.1.1", "resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-2.1.1.tgz", "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", - "dev": true, - "optional": true + "dev": true }, "readable-stream": { "version": "1.0.34", "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, - "optional": true, "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", @@ -1290,15 +1236,13 @@ "version": "0.10.31", "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true, - "optional": true + "dev": true }, "through2": { "version": "0.6.5", "resolved": "http://registry.npm.taobao.org/through2/download/through2-0.6.5.tgz", "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", "dev": true, - "optional": true, "requires": { "readable-stream": "1.0.34", "xtend": "4.0.1" @@ -1309,7 +1253,6 @@ "resolved": "http://registry.npm.taobao.org/vinyl/download/vinyl-0.4.6.tgz", "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", "dev": true, - "optional": true, "requires": { "clone": "0.2.0", "clone-stats": "0.0.1" @@ -1322,7 +1265,6 @@ "resolved": "http://registry.npm.taobao.org/decompress-unzip/download/decompress-unzip-3.4.0.tgz", "integrity": "sha1-YUdbQVIGa74/7hL51inRX+ZHjus=", "dev": true, - "optional": true, "requires": { "is-zip": "1.0.0", "read-all-stream": "3.1.0", @@ -1338,7 +1280,6 @@ "resolved": "http://registry.npm.taobao.org/vinyl/download/vinyl-1.2.0.tgz", "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", "dev": true, - "optional": true, "requires": { "clone": "1.0.3", "clone-stats": "0.0.1", @@ -1351,8 +1292,7 @@ "version": "0.4.2", "resolved": "http://registry.npm.taobao.org/deep-extend/download/deep-extend-0.4.2.tgz", "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", - "dev": true, - "optional": true + "dev": true }, "deep-is": { "version": "0.1.3", @@ -1404,7 +1344,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "^2.0.2" + "esutils": "2.0.2" } }, "download": { @@ -1412,7 +1352,6 @@ "resolved": "http://registry.npm.taobao.org/download/download/download-4.4.3.tgz", "integrity": "sha1-qlX9rTktldS2jowr4D4MKqIbqaw=", "dev": true, - "optional": true, "requires": { "caw": "1.2.0", "concat-stream": "1.6.0", @@ -1436,7 +1375,6 @@ "resolved": "http://registry.npm.taobao.org/glob/download/glob-5.0.15.tgz", "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "dev": true, - "optional": true, "requires": { "inflight": "1.0.6", "inherits": "2.0.3", @@ -1450,7 +1388,6 @@ "resolved": "http://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, - "optional": true, "requires": { "is-glob": "3.1.0", "path-dirname": "1.0.2" @@ -1461,7 +1398,6 @@ "resolved": "http://registry.npm.taobao.org/glob-stream/download/glob-stream-5.3.5.tgz", "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=", "dev": true, - "optional": true, "requires": { "extend": "3.0.1", "glob": "5.0.15", @@ -1478,7 +1414,6 @@ "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, - "optional": true, "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", @@ -1491,7 +1426,6 @@ "resolved": "http://registry.npm.taobao.org/through2/download/through2-0.6.5.tgz", "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", "dev": true, - "optional": true, "requires": { "readable-stream": "1.0.34", "xtend": "4.0.1" @@ -1503,15 +1437,13 @@ "version": "2.1.1", "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "optional": true + "dev": true }, "is-glob": { "version": "3.1.0", "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, - "optional": true, "requires": { "is-extglob": "2.1.1" } @@ -1520,15 +1452,13 @@ "version": "0.0.1", "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz", "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true, - "optional": true + "dev": true }, "ordered-read-streams": { "version": "0.3.0", "resolved": "http://registry.npm.taobao.org/ordered-read-streams/download/ordered-read-streams-0.3.0.tgz", "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=", "dev": true, - "optional": true, "requires": { "is-stream": "1.1.0", "readable-stream": "2.3.3" @@ -1538,15 +1468,13 @@ "version": "0.10.31", "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true, - "optional": true + "dev": true }, "strip-bom": { "version": "2.0.0", "resolved": "http://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, - "optional": true, "requires": { "is-utf8": "0.2.1" } @@ -1556,7 +1484,6 @@ "resolved": "http://registry.npm.taobao.org/unique-stream/download/unique-stream-2.2.1.tgz", "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=", "dev": true, - "optional": true, "requires": { "json-stable-stringify": "1.0.1", "through2-filter": "2.0.0" @@ -1567,7 +1494,6 @@ "resolved": "http://registry.npm.taobao.org/vinyl/download/vinyl-1.2.0.tgz", "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", "dev": true, - "optional": true, "requires": { "clone": "1.0.3", "clone-stats": "0.0.1", @@ -1579,7 +1505,6 @@ "resolved": "http://registry.npm.taobao.org/vinyl-fs/download/vinyl-fs-2.4.4.tgz", "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=", "dev": true, - "optional": true, "requires": { "duplexify": "3.5.1", "glob-stream": "5.3.5", @@ -1642,7 +1567,6 @@ "resolved": "http://registry.npm.taobao.org/duplexify/download/duplexify-3.5.1.tgz", "integrity": "sha1-ThUWvmiDi8kKSZlPCzmm5ZYL780=", "dev": true, - "optional": true, "requires": { "end-of-stream": "1.4.0", "inherits": "2.0.3", @@ -1655,7 +1579,6 @@ "resolved": "http://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.0.tgz", "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", "dev": true, - "optional": true, "requires": { "once": "1.4.0" } @@ -1667,7 +1590,6 @@ "resolved": "http://registry.npm.taobao.org/each-async/download/each-async-1.1.1.tgz", "integrity": "sha1-3uUim98KtrogEqOV4bhpq/iBNHM=", "dev": true, - "optional": true, "requires": { "onetime": "1.1.0", "set-immediate-shim": "1.0.1" @@ -1677,8 +1599,7 @@ "version": "1.1.0", "resolved": "http://registry.npm.taobao.org/onetime/download/onetime-1.1.0.tgz", "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", - "dev": true, - "optional": true + "dev": true } } }, @@ -1716,7 +1637,6 @@ "resolved": "http://registry.npm.taobao.org/error-ex/download/error-ex-1.3.1.tgz", "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, - "optional": true, "requires": { "is-arrayish": "0.2.1" } @@ -1787,43 +1707,43 @@ "integrity": "sha512-qy4i3wODqKMYfz9LUI8N2qYDkHkoieTbiHpMrYUI/WbjhXJQr7lI4VngixTgaG+yHX+NBCv7nW4hA0ShbvaNKw==", "dev": true, "requires": { - "ajv": "^5.3.0", - "babel-code-frame": "^6.22.0", - "chalk": "^2.1.0", - "concat-stream": "^1.6.0", - "cross-spawn": "^5.1.0", - "debug": "^3.1.0", - "doctrine": "^2.1.0", - "eslint-scope": "^3.7.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^3.5.2", - "esquery": "^1.0.0", - "esutils": "^2.0.2", - "file-entry-cache": "^2.0.0", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.0.1", - "ignore": "^3.3.3", - "imurmurhash": "^0.1.4", - "inquirer": "^3.0.6", - "is-resolvable": "^1.0.0", - "js-yaml": "^3.9.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.4", - "minimatch": "^3.0.2", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "pluralize": "^7.0.0", - "progress": "^2.0.0", - "require-uncached": "^1.0.3", - "semver": "^5.3.0", - "strip-ansi": "^4.0.0", - "strip-json-comments": "~2.0.1", + "ajv": "5.5.2", + "babel-code-frame": "6.26.0", + "chalk": "2.3.0", + "concat-stream": "1.6.0", + "cross-spawn": "5.1.0", + "debug": "3.2.6", + "doctrine": "2.1.0", + "eslint-scope": "3.7.3", + "eslint-visitor-keys": "1.0.0", + "espree": "3.5.4", + "esquery": "1.0.1", + "esutils": "2.0.2", + "file-entry-cache": "2.0.0", + "functional-red-black-tree": "1.0.1", + "glob": "7.1.2", + "globals": "11.12.0", + "ignore": "3.3.10", + "imurmurhash": "0.1.4", + "inquirer": "3.3.0", + "is-resolvable": "1.1.0", + "js-yaml": "3.13.1", + "json-stable-stringify-without-jsonify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.4", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "optionator": "0.8.2", + "path-is-inside": "1.0.2", + "pluralize": "7.0.0", + "progress": "2.0.3", + "require-uncached": "1.0.3", + "semver": "5.4.1", + "strip-ansi": "4.0.0", + "strip-json-comments": "2.0.1", "table": "4.0.2", - "text-table": "~0.2.0" + "text-table": "0.2.0" } }, "eslint-scope": { @@ -1832,8 +1752,8 @@ "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", "dev": true, "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "esrecurse": "4.2.1", + "estraverse": "4.2.0" } }, "eslint-visitor-keys": { @@ -1941,8 +1861,8 @@ "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, "requires": { - "acorn": "^5.5.0", - "acorn-jsx": "^3.0.0" + "acorn": "5.7.3", + "acorn-jsx": "3.0.1" } }, "esprima": { @@ -1957,7 +1877,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "^4.0.0" + "estraverse": "4.2.0" } }, "esrecurse": { @@ -1966,7 +1886,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "^4.1.0" + "estraverse": "4.2.0" } }, "esshorten": { @@ -2089,7 +2009,6 @@ "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, - "optional": true, "requires": { "is-extendable": "0.1.1" } @@ -2171,7 +2090,6 @@ "resolved": "http://registry.npm.taobao.org/fd-slicer/download/fd-slicer-1.0.1.tgz", "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", "dev": true, - "optional": true, "requires": { "pend": "1.2.0" } @@ -2191,8 +2109,8 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "^1.2.1", - "object-assign": "^4.0.1" + "flat-cache": "1.3.4", + "object-assign": "4.1.1" } }, "file-type": { @@ -2211,15 +2129,13 @@ "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/filename-reserved-regex/download/filename-reserved-regex-1.0.0.tgz", "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=", - "dev": true, - "optional": true + "dev": true }, "filenamify": { "version": "1.2.1", "resolved": "http://registry.npm.taobao.org/filenamify/download/filenamify-1.2.1.tgz", "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=", "dev": true, - "optional": true, "requires": { "filename-reserved-regex": "1.0.0", "strip-outer": "1.0.0", @@ -2250,7 +2166,6 @@ "resolved": "http://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz", "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, - "optional": true, "requires": { "path-exists": "2.1.0", "pinkie-promise": "2.0.1" @@ -2323,10 +2238,10 @@ "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", "dev": true, "requires": { - "circular-json": "^0.3.1", - "graceful-fs": "^4.1.2", - "rimraf": "~2.6.2", - "write": "^0.2.1" + "circular-json": "0.3.3", + "graceful-fs": "4.1.11", + "rimraf": "2.6.2", + "write": "0.2.1" } }, "for-in": { @@ -2407,7 +2322,6 @@ "resolved": "http://registry.npm.taobao.org/get-proxy/download/get-proxy-1.1.0.tgz", "integrity": "sha1-iUhUSRvFkbDxR9euVw9cZ4tyVus=", "dev": true, - "optional": true, "requires": { "rc": "1.2.2" } @@ -2416,8 +2330,7 @@ "version": "4.0.1", "resolved": "http://registry.npm.taobao.org/get-stdin/download/get-stdin-4.0.1.tgz", "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true, - "optional": true + "dev": true }, "get-stream": { "version": "3.0.0", @@ -2681,7 +2594,6 @@ "resolved": "http://registry.npm.taobao.org/got/download/got-5.7.1.tgz", "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=", "dev": true, - "optional": true, "requires": { "create-error-class": "3.0.2", "duplexer2": "0.1.4", @@ -2705,7 +2617,6 @@ "resolved": "http://registry.npm.taobao.org/duplexer2/download/duplexer2-0.1.4.tgz", "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", "dev": true, - "optional": true, "requires": { "readable-stream": "2.3.3" } @@ -2786,7 +2697,6 @@ "resolved": "http://registry.npm.taobao.org/gulp-decompress/download/gulp-decompress-1.2.0.tgz", "integrity": "sha1-jutlpeAV+O2FMsr+KEVJYGJvDcc=", "dev": true, - "optional": true, "requires": { "archive-type": "3.2.0", "decompress": "3.0.0", @@ -2853,8 +2763,7 @@ "version": "1.2.2", "resolved": "http://registry.npm.taobao.org/gulp-rename/download/gulp-rename-1.2.2.tgz", "integrity": "sha1-OtRCh2PwXidk3sHGfYaNsnVoeBc=", - "dev": true, - "optional": true + "dev": true }, "gulp-replace": { "version": "0.6.1", @@ -2898,7 +2807,6 @@ "resolved": "http://registry.npm.taobao.org/gulp-sourcemaps/download/gulp-sourcemaps-1.6.0.tgz", "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=", "dev": true, - "optional": true, "requires": { "convert-source-map": "1.5.1", "graceful-fs": "4.1.11", @@ -2912,7 +2820,6 @@ "resolved": "http://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, - "optional": true, "requires": { "is-utf8": "0.2.1" } @@ -2922,7 +2829,6 @@ "resolved": "http://registry.npm.taobao.org/vinyl/download/vinyl-1.2.0.tgz", "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", "dev": true, - "optional": true, "requires": { "clone": "1.0.3", "clone-stats": "0.0.1", @@ -3045,8 +2951,7 @@ "version": "2.5.0", "resolved": "http://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.5.0.tgz", "integrity": "sha1-bWDjSzq7yDEwYsO3mO+NkBoHrzw=", - "dev": true, - "optional": true + "dev": true }, "html-comment-regex": { "version": "1.1.1", @@ -3210,7 +3115,6 @@ "resolved": "http://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz", "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, - "optional": true, "requires": { "repeating": "2.0.1" } @@ -3241,20 +3145,20 @@ "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.0.4", - "figures": "^2.0.0", - "lodash": "^4.3.0", + "ansi-escapes": "3.2.0", + "chalk": "2.3.0", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.1.0", + "figures": "2.0.0", + "lodash": "4.17.4", "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rx-lite": "^4.0.8", - "rx-lite-aggregates": "^4.0.8", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" + "run-async": "2.3.0", + "rx-lite": "4.0.8", + "rx-lite-aggregates": "4.0.8", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" } }, "interpret": { @@ -3296,8 +3200,7 @@ "version": "0.2.1", "resolved": "http://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true, - "optional": true + "dev": true }, "is-buffer": { "version": "1.1.6", @@ -3310,7 +3213,6 @@ "resolved": "http://registry.npm.taobao.org/is-builtin-module/download/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, - "optional": true, "requires": { "builtin-modules": "1.1.1" } @@ -3319,8 +3221,7 @@ "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/is-bzip2/download/is-bzip2-1.0.0.tgz", "integrity": "sha1-XuWOqlounIDiFAe+3yOuWsCRs/w=", - "dev": true, - "optional": true + "dev": true }, "is-dotfile": { "version": "1.0.3", @@ -3354,7 +3255,6 @@ "resolved": "http://registry.npm.taobao.org/is-finite/download/is-finite-1.0.2.tgz", "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, - "optional": true, "requires": { "number-is-nan": "1.0.1" } @@ -3385,8 +3285,7 @@ "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/is-gzip/download/is-gzip-1.0.0.tgz", "integrity": "sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM=", - "dev": true, - "optional": true + "dev": true }, "is-jpg": { "version": "1.0.0", @@ -3399,8 +3298,7 @@ "version": "2.1.1", "resolved": "http://registry.npm.taobao.org/is-natural-number/download/is-natural-number-2.1.1.tgz", "integrity": "sha1-fUxXKDd+84bD4ZSpkRv1fG3DNec=", - "dev": true, - "optional": true + "dev": true }, "is-number": { "version": "2.1.0", @@ -3415,8 +3313,7 @@ "version": "1.0.1", "resolved": "http://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz", "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "dev": true, - "optional": true + "dev": true }, "is-path-cwd": { "version": "1.0.0", @@ -3494,8 +3391,7 @@ "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/is-redirect/download/is-redirect-1.0.0.tgz", "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", - "dev": true, - "optional": true + "dev": true }, "is-relative": { "version": "0.2.1", @@ -3516,8 +3412,7 @@ "version": "1.1.0", "resolved": "http://registry.npm.taobao.org/is-retry-allowed/download/is-retry-allowed-1.1.0.tgz", "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", - "dev": true, - "optional": true + "dev": true }, "is-stream": { "version": "1.1.0", @@ -3539,8 +3434,7 @@ "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/is-tar/download/is-tar-1.0.0.tgz", "integrity": "sha1-L2suF5LB9bs2UZrKqdZcDSb+hT0=", - "dev": true, - "optional": true + "dev": true }, "is-unc-path": { "version": "0.1.2", @@ -3555,8 +3449,7 @@ "version": "1.2.2", "resolved": "http://registry.npm.taobao.org/is-url/download/is-url-1.2.2.tgz", "integrity": "sha1-SYkFpZO/R8wtnn9zg3K792lsfyY=", - "dev": true, - "optional": true + "dev": true }, "is-utf8": { "version": "0.2.1", @@ -3568,8 +3461,7 @@ "version": "0.3.0", "resolved": "http://registry.npm.taobao.org/is-valid-glob/download/is-valid-glob-0.3.0.tgz", "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=", - "dev": true, - "optional": true + "dev": true }, "is-windows": { "version": "0.2.0", @@ -3581,8 +3473,7 @@ "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/is-zip/download/is-zip-1.0.0.tgz", "integrity": "sha1-R7Co/004p2QxzP2ZqOFaTIa6IyU=", - "dev": true, - "optional": true + "dev": true }, "isarray": { "version": "1.0.0", @@ -3671,8 +3562,8 @@ "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "1.0.9", + "esprima": "4.0.0" } }, "json-schema-traverse": { @@ -3686,7 +3577,6 @@ "resolved": "http://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "dev": true, - "optional": true, "requires": { "jsonify": "0.0.0" } @@ -3701,8 +3591,7 @@ "version": "0.0.0", "resolved": "http://registry.npm.taobao.org/jsonify/download/jsonify-0.0.0.tgz", "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true, - "optional": true + "dev": true }, "kind-of": { "version": "3.2.2", @@ -3731,7 +3620,6 @@ "resolved": "http://registry.npm.taobao.org/lazystream/download/lazystream-1.0.0.tgz", "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", "dev": true, - "optional": true, "requires": { "readable-stream": "2.3.3" } @@ -3768,7 +3656,6 @@ "resolved": "http://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, - "optional": true, "requires": { "graceful-fs": "4.1.11", "parse-json": "2.2.0", @@ -3781,15 +3668,13 @@ "version": "2.3.0", "resolved": "http://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "optional": true + "dev": true }, "strip-bom": { "version": "2.0.0", "resolved": "http://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, - "optional": true, "requires": { "is-utf8": "0.2.1" } @@ -3881,8 +3766,7 @@ "version": "4.5.0", "resolved": "http://registry.npm.taobao.org/lodash.isequal/download/lodash.isequal-4.5.0.tgz", "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", - "dev": true, - "optional": true + "dev": true }, "lodash.isplainobject": { "version": "4.0.6", @@ -3981,7 +3865,6 @@ "resolved": "http://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz", "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, - "optional": true, "requires": { "currently-unhandled": "0.4.1", "signal-exit": "3.0.2" @@ -3997,8 +3880,7 @@ "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-1.0.0.tgz", "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", - "dev": true, - "optional": true + "dev": true }, "lpad-align": { "version": "1.1.2", @@ -4042,8 +3924,7 @@ "version": "1.0.1", "resolved": "http://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz", "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true, - "optional": true + "dev": true }, "md5": { "version": "2.2.1", @@ -4061,7 +3942,6 @@ "resolved": "http://registry.npm.taobao.org/meow/download/meow-3.7.0.tgz", "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, - "optional": true, "requires": { "camelcase-keys": "2.1.0", "decamelize": "1.2.0", @@ -4079,8 +3959,7 @@ "version": "1.2.0", "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true, - "optional": true + "dev": true } } }, @@ -4089,7 +3968,6 @@ "resolved": "http://registry.npm.taobao.org/merge-stream/download/merge-stream-1.0.1.tgz", "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", "dev": true, - "optional": true, "requires": { "readable-stream": "2.3.3" } @@ -4215,15 +4093,13 @@ "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/node-status-codes/download/node-status-codes-1.0.0.tgz", "integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=", - "dev": true, - "optional": true + "dev": true }, "normalize-package-data": { "version": "2.4.0", "resolved": "http://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.4.0.tgz", "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=", "dev": true, - "optional": true, "requires": { "hosted-git-info": "2.5.0", "is-builtin-module": "1.0.0", @@ -4254,8 +4130,7 @@ "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, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -4483,8 +4358,7 @@ "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz", "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true, - "optional": true + "dev": true }, "p-map": { "version": "1.2.0", @@ -4535,7 +4409,6 @@ "resolved": "http://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, - "optional": true, "requires": { "error-ex": "1.3.1" } @@ -4550,15 +4423,13 @@ "version": "1.0.2", "resolved": "http://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz", "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true, - "optional": true + "dev": true }, "path-exists": { "version": "2.1.0", "resolved": "http://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz", "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, - "optional": true, "requires": { "pinkie-promise": "2.0.1" } @@ -4607,7 +4478,6 @@ "resolved": "http://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, - "optional": true, "requires": { "graceful-fs": "4.1.11", "pify": "2.3.0", @@ -4618,8 +4488,7 @@ "version": "2.3.0", "resolved": "http://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "optional": true + "dev": true } } }, @@ -4627,8 +4496,7 @@ "version": "1.2.0", "resolved": "http://registry.npm.taobao.org/pend/download/pend-1.2.0.tgz", "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", - "dev": true, - "optional": true + "dev": true }, "pify": { "version": "3.0.0", @@ -4676,8 +4544,7 @@ "version": "1.0.4", "resolved": "http://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz", "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true, - "optional": true + "dev": true }, "preserve": { "version": "0.2.0", @@ -4768,7 +4635,6 @@ "resolved": "http://registry.npm.taobao.org/rc/download/rc-1.2.2.tgz", "integrity": "sha1-2M6ctX6NZNnHut2YdsfDTL48cHc=", "dev": true, - "optional": true, "requires": { "deep-extend": "0.4.2", "ini": "1.3.5", @@ -4780,8 +4646,7 @@ "version": "1.2.0", "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true, - "optional": true + "dev": true } } }, @@ -4790,7 +4655,6 @@ "resolved": "http://registry.npm.taobao.org/read-all-stream/download/read-all-stream-3.1.0.tgz", "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=", "dev": true, - "optional": true, "requires": { "pinkie-promise": "2.0.1", "readable-stream": "2.3.3" @@ -4801,7 +4665,6 @@ "resolved": "http://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, - "optional": true, "requires": { "load-json-file": "1.1.0", "normalize-package-data": "2.4.0", @@ -4813,7 +4676,6 @@ "resolved": "http://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, - "optional": true, "requires": { "find-up": "1.1.2", "read-pkg": "1.1.0" @@ -4848,7 +4710,6 @@ "resolved": "http://registry.npm.taobao.org/redent/download/redent-1.0.0.tgz", "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, - "optional": true, "requires": { "indent-string": "2.1.0", "strip-indent": "1.0.1" @@ -4904,7 +4765,6 @@ "resolved": "http://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz", "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, - "optional": true, "requires": { "is-finite": "1.0.2" } @@ -4932,8 +4792,8 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "^0.1.0", - "resolve-from": "^1.0.0" + "caller-path": "0.1.0", + "resolve-from": "1.0.1" } }, "resolve": { @@ -5031,7 +4891,7 @@ "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "dev": true, "requires": { - "rx-lite": "*" + "rx-lite": "4.0.8" } }, "safe-buffer": { @@ -5052,7 +4912,6 @@ "resolved": "http://registry.npm.taobao.org/seek-bzip/download/seek-bzip-1.0.5.tgz", "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", "dev": true, - "optional": true, "requires": { "commander": "2.8.1" } @@ -5090,8 +4949,7 @@ "version": "1.0.1", "resolved": "http://registry.npm.taobao.org/set-immediate-shim/download/set-immediate-shim-1.0.1.tgz", "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true, - "optional": true + "dev": true }, "shebang-command": { "version": "1.2.0", @@ -5126,7 +4984,7 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0" + "is-fullwidth-code-point": "2.0.0" } }, "sort-keys": { @@ -5175,7 +5033,6 @@ "resolved": "http://registry.npm.taobao.org/spdx-correct/download/spdx-correct-1.0.2.tgz", "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", "dev": true, - "optional": true, "requires": { "spdx-license-ids": "1.2.2" } @@ -5184,15 +5041,13 @@ "version": "1.0.4", "resolved": "http://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-1.0.4.tgz", "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", - "dev": true, - "optional": true + "dev": true }, "spdx-license-ids": { "version": "1.2.2", "resolved": "http://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-1.2.2.tgz", "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", - "dev": true, - "optional": true + "dev": true }, "sprintf-js": { "version": "1.0.3", @@ -5242,15 +5097,13 @@ "version": "0.2.2", "resolved": "http://registry.npm.taobao.org/stat-mode/download/stat-mode-0.2.2.tgz", "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=", - "dev": true, - "optional": true + "dev": true }, "stream-combiner2": { "version": "1.1.1", "resolved": "http://registry.npm.taobao.org/stream-combiner2/download/stream-combiner2-1.1.1.tgz", "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", "dev": true, - "optional": true, "requires": { "duplexer2": "0.1.4", "readable-stream": "2.3.3" @@ -5261,7 +5114,6 @@ "resolved": "http://registry.npm.taobao.org/duplexer2/download/duplexer2-0.1.4.tgz", "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", "dev": true, - "optional": true, "requires": { "readable-stream": "2.3.3" } @@ -5278,8 +5130,7 @@ "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.0.tgz", "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", - "dev": true, - "optional": true + "dev": true }, "string-template": { "version": "1.0.0", @@ -5347,7 +5198,6 @@ "resolved": "http://registry.npm.taobao.org/strip-bom-stream/download/strip-bom-stream-1.0.0.tgz", "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=", "dev": true, - "optional": true, "requires": { "first-chunk-stream": "1.0.0", "strip-bom": "2.0.0" @@ -5358,7 +5208,6 @@ "resolved": "http://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, - "optional": true, "requires": { "is-utf8": "0.2.1" } @@ -5370,7 +5219,6 @@ "resolved": "http://registry.npm.taobao.org/strip-dirs/download/strip-dirs-1.1.1.tgz", "integrity": "sha1-lgu9EoeETzl1pFWKoQOoJV4kVqA=", "dev": true, - "optional": true, "requires": { "chalk": "1.1.3", "get-stdin": "4.0.1", @@ -5385,7 +5233,6 @@ "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, - "optional": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -5399,7 +5246,6 @@ "resolved": "http://registry.npm.taobao.org/is-absolute/download/is-absolute-0.1.7.tgz", "integrity": "sha1-hHSREZ/MtftDYhfMc39/qtUPYD8=", "dev": true, - "optional": true, "requires": { "is-relative": "0.1.3" } @@ -5408,22 +5254,19 @@ "version": "0.1.3", "resolved": "http://registry.npm.taobao.org/is-relative/download/is-relative-0.1.3.tgz", "integrity": "sha1-kF/uiuhvRbPsYUvDwVyGnfCHboI=", - "dev": true, - "optional": true + "dev": true }, "minimist": { "version": "1.2.0", "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true, - "optional": true + "dev": true }, "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, - "optional": true, "requires": { "ansi-regex": "2.1.1" } @@ -5442,7 +5285,6 @@ "resolved": "http://registry.npm.taobao.org/strip-indent/download/strip-indent-1.0.1.tgz", "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, - "optional": true, "requires": { "get-stdin": "4.0.1" } @@ -5458,7 +5300,6 @@ "resolved": "http://registry.npm.taobao.org/strip-outer/download/strip-outer-1.0.0.tgz", "integrity": "sha1-qsC6YNLpDF1PJ1/Yhp/ZotMQ/7g=", "dev": true, - "optional": true, "requires": { "escape-string-regexp": "1.0.5" } @@ -5468,7 +5309,6 @@ "resolved": "http://registry.npm.taobao.org/sum-up/download/sum-up-1.0.3.tgz", "integrity": "sha1-HGYfZnBX9jvLeHWqFDi8FiUlFW4=", "dev": true, - "optional": true, "requires": { "chalk": "1.1.3" }, @@ -5478,7 +5318,6 @@ "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, - "optional": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -5492,7 +5331,6 @@ "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, - "optional": true, "requires": { "ansi-regex": "2.1.1" } @@ -5547,12 +5385,12 @@ "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, "requires": { - "ajv": "^5.2.3", - "ajv-keywords": "^2.1.0", - "chalk": "^2.1.0", - "lodash": "^4.17.4", + "ajv": "5.5.2", + "ajv-keywords": "2.1.1", + "chalk": "2.3.0", + "lodash": "4.17.4", "slice-ansi": "1.0.0", - "string-width": "^2.1.1" + "string-width": "2.1.1" } }, "tar-stream": { @@ -5560,7 +5398,6 @@ "resolved": "http://registry.npm.taobao.org/tar-stream/download/tar-stream-1.5.5.tgz", "integrity": "sha1-XK2Ed59FyDsfJQjZawnYjHIYr1U=", "dev": true, - "optional": true, "requires": { "bl": "1.2.1", "end-of-stream": "1.4.0", @@ -5573,7 +5410,6 @@ "resolved": "http://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.0.tgz", "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", "dev": true, - "optional": true, "requires": { "once": "1.4.0" } @@ -5640,7 +5476,6 @@ "resolved": "http://registry.npm.taobao.org/through2-filter/download/through2-filter-2.0.0.tgz", "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=", "dev": true, - "optional": true, "requires": { "through2": "2.0.3", "xtend": "4.0.1" @@ -5665,8 +5500,7 @@ "version": "3.1.3", "resolved": "http://registry.npm.taobao.org/timed-out/download/timed-out-3.1.3.tgz", "integrity": "sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc=", - "dev": true, - "optional": true + "dev": true }, "tmp": { "version": "0.0.33", @@ -5682,7 +5516,6 @@ "resolved": "http://registry.npm.taobao.org/to-absolute-glob/download/to-absolute-glob-0.1.1.tgz", "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=", "dev": true, - "optional": true, "requires": { "extend-shallow": "2.0.1" } @@ -5691,15 +5524,13 @@ "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/trim-newlines/download/trim-newlines-1.0.0.tgz", "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true, - "optional": true + "dev": true }, "trim-repeated": { "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/trim-repeated/download/trim-repeated-1.0.0.tgz", "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", "dev": true, - "optional": true, "requires": { "escape-string-regexp": "1.0.5" } @@ -5720,8 +5551,7 @@ "version": "0.4.3", "resolved": "http://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.4.3.tgz", "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", - "dev": true, - "optional": true + "dev": true }, "type-check": { "version": "0.3.2", @@ -5786,8 +5616,7 @@ "version": "1.0.2", "resolved": "http://registry.npm.taobao.org/unzip-response/download/unzip-response-1.0.2.tgz", "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=", - "dev": true, - "optional": true + "dev": true }, "upper-case": { "version": "1.1.3", @@ -5800,7 +5629,6 @@ "resolved": "http://registry.npm.taobao.org/url-parse-lax/download/url-parse-lax-1.0.0.tgz", "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, - "optional": true, "requires": { "prepend-http": "1.0.4" } @@ -5847,15 +5675,13 @@ "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/vali-date/download/vali-date-1.0.0.tgz", "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=", - "dev": true, - "optional": true + "dev": true }, "validate-npm-package-license": { "version": "3.0.1", "resolved": "http://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.1.tgz", "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", "dev": true, - "optional": true, "requires": { "spdx-correct": "1.0.2", "spdx-expression-parse": "1.0.4" @@ -5883,7 +5709,6 @@ "resolved": "http://registry.npm.taobao.org/vinyl-assign/download/vinyl-assign-1.2.1.tgz", "integrity": "sha1-TRmIkbVRWRHXcajNnFSApGoHSkU=", "dev": true, - "optional": true, "requires": { "object-assign": "4.1.1", "readable-stream": "2.3.3" @@ -6052,7 +5877,6 @@ "resolved": "http://registry.npm.taobao.org/ware/download/ware-1.3.0.tgz", "integrity": "sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=", "dev": true, - "optional": true, "requires": { "wrap-fn": "0.1.5" } @@ -6090,7 +5914,6 @@ "resolved": "http://registry.npm.taobao.org/wrap-fn/download/wrap-fn-0.1.5.tgz", "integrity": "sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU=", "dev": true, - "optional": true, "requires": { "co": "3.1.0" }, @@ -6099,8 +5922,7 @@ "version": "3.1.0", "resolved": "http://registry.npm.taobao.org/co/download/co-3.1.0.tgz", "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=", - "dev": true, - "optional": true + "dev": true } } }, @@ -6115,7 +5937,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "^0.5.1" + "mkdirp": "0.5.1" } }, "xml-char-classes": { @@ -6153,7 +5975,6 @@ "resolved": "http://registry.npm.taobao.org/yauzl/download/yauzl-2.9.1.tgz", "integrity": "sha1-qBmB6nCleUYTOIPwKcWCGok1mn8=", "dev": true, - "optional": true, "requires": { "buffer-crc32": "0.2.13", "fd-slicer": "1.0.1" diff --git a/HotUpdateDemo/tools/BuildBeforeSetting.js b/HotUpdateDemo/tools/BuildBeforeSetting.js index 04463d8..578d819 100644 --- a/HotUpdateDemo/tools/BuildBeforeSetting.js +++ b/HotUpdateDemo/tools/BuildBeforeSetting.js @@ -1,4 +1,4 @@ -const fileUtil = require('FileUtil'); +const fileUtil = require('./FileUtil'); let version, androidVersionXml; function initParams(configPath) { @@ -16,6 +16,6 @@ function repreatAndroidVersion(path) { function main(params) { initParams('./GameConfig.json'); - //修改android 版本号 + //修改android 版本号 repreatAndroidVersion(androidVersionXml); } \ No newline at end of file diff --git a/HotUpdateDemo/tools/CopyHotFiles.js b/HotUpdateDemo/tools/CopyHotFiles.js index 7087486..05af35d 100644 --- a/HotUpdateDemo/tools/CopyHotFiles.js +++ b/HotUpdateDemo/tools/CopyHotFiles.js @@ -1,4 +1,4 @@ -const fileUtil = require('FileUtil'); +const fileUtil = require('./FileUtil'); let hotUpdateRoot, hotUpdateDesRoot; //要复制的目录 @@ -7,13 +7,13 @@ const targetDir = ['res', 'src']; function initParams(configPath) { let data = JSON.parse(fileUtil.read(configPath)); hotUpdateRoot = data.src; - hotUpdateDesRoot = data.hotUpdateDirRoot; + hotUpdateDesRoot = data.root + data.hotUpdateDirName; } function forEachDir(list) { for (let i = 0; i < list.length; i++) { let item = list[i]; - let desPath = hotUpdateDesRoot + item; + let desPath = hotUpdateDesRoot + '/' + item; let srcPath = hotUpdateRoot + item; fileUtil.copyDir(srcPath, desPath); } @@ -26,6 +26,8 @@ function main() { forEachDir(targetDir); } +main(); + diff --git a/HotUpdateDemo/tools/ExportHotupdateDir.js b/HotUpdateDemo/tools/ExportHotupdateDir.js index 3f5588e..7f1021a 100644 --- a/HotUpdateDemo/tools/ExportHotupdateDir.js +++ b/HotUpdateDemo/tools/ExportHotupdateDir.js @@ -1,4 +1,4 @@ -const fileUtil = require('FileUtil'); +const fileUtil = require('./FileUtil'); let hotUpdateRoot, hotUpdateFile, exportHotUpdateDir, version, packageUrl; const hotUpdateDir = 'hotUpdate', dirNameTemplate = 'hotUpdate-v', time = Date.parse(new Date()) / 1000; @@ -9,19 +9,15 @@ function initParams(configPath) { hotUpdateFile = hotUpdateRoot + data.hotUpdateDirName; exportHotUpdateDir = hotUpdateRoot + data.hotupdateDirExport; version = data.version; - packageUrl = packageUrl; + packageUrl = data.packageUrl; } function getVersion() { return version.replace(/\./g, '-'); } -const versionNo = getVersion(); - -let dirName = `${dirNameTemplate}${versionNo}-${time}`; - function reWritePackageUrl(dir, replaceName) { - let desPath = hotUpdateFile + '/' + dir; + let desPath = dir; let game = fileUtil.read(desPath); let conf = JSON.parse(game); conf.packageUrl = conf.packageUrl.replace(hotUpdateDir, replaceName); @@ -31,17 +27,24 @@ function reWritePackageUrl(dir, replaceName) { function main() { initParams('./GameConfig.json'); + const versionNo = getVersion(), dirName = `${dirNameTemplate}${versionNo}-${time}`; + //消除目录文件 fileUtil.checkDir(exportHotUpdateDir); - const time = Date.parse(new Date()) / 1000; let desPath = exportHotUpdateDir + '/' + dirName; //复制到新目录 fileUtil.copyDir(hotUpdateFile, desPath); - reWritePackageUrl('project.manifest', dirName); + //复制project.manifest/version.manifest + fileUtil.copy(hotUpdateFile + '/project.manifest', exportHotUpdateDir + '/project.manifest'); + fileUtil.copy(hotUpdateFile + '/version.manifest', exportHotUpdateDir + '/version.manifest'); + //修改project.manifest 中的packageUrl为新资源 + reWritePackageUrl(exportHotUpdateDir + '/project.manifest', dirName); } +main(); + diff --git a/HotUpdateDemo/tools/FileUtil.js b/HotUpdateDemo/tools/FileUtil.js index 1c3873d..2e7f137 100644 --- a/HotUpdateDemo/tools/FileUtil.js +++ b/HotUpdateDemo/tools/FileUtil.js @@ -14,16 +14,16 @@ function read(path) { } function readDir(dir, fn) { - if (jetpack.exits() == 'dir') { + if (jetpack.exists(dir) == 'dir') { let list = jetpack.list(dir); for (let i = 0; i < list.length; i++) { let name = list[i]; if (name[0] === '.') continue; - let subPath = jetpach.path(dir, name); - if (jetpack.exits(subPath) == 'dir') { + let subPath = jetpack.path(dir, name); + if (jetpack.exists(subPath) == 'dir') { readDir(subPath, fn); - } else if (jetpack.exits(subPath) == 'file') { - fn && fn(subpath); + } else if (jetpack.exists(subPath) == 'file') { + fn && fn(subPath); } } } @@ -47,8 +47,8 @@ function write(path, data) { * "file" if path is a file. * "other" if none of the above. */ -function exits(path) { - const state = jetpack.exits(path); +function exists(path) { + const state = jetpack.exists(path); return state; } @@ -76,14 +76,12 @@ function dir(path) { * @param {*} src * @param {*} des */ -function copy(src, des) { - if (jetpack.exits(des)) { +function copy(src, des, isClear) { + if (isClear && jetpack.exists(des)) { jetpack.remove(des); } //过滤文件 jetpack.copy('foo', 'bar', { matching: ['*.md', '!top-secret.md'] }); - jetpack.copy(src, des, { - overwrite: true - }); + jetpack.copy(src, des); } /** @@ -120,10 +118,8 @@ function checkDir(dir) { jetpack.dir(dir); } -function copyDir(src, des) { - if (jetpack.exists(des)) { - jetpack.remove(des); - } +function copyDir(src, des, isClear) { + isClear && checkDir(des); jetpack.copy(src, des); } @@ -131,7 +127,7 @@ module.exports = { read, readDir, write, - exits, + exists, list, dir, copy, diff --git a/HotUpdateDemo/tools/GameConfig.json b/HotUpdateDemo/tools/GameConfig.json index c8f55fe..55b3f2d 100644 --- a/HotUpdateDemo/tools/GameConfig.json +++ b/HotUpdateDemo/tools/GameConfig.json @@ -6,9 +6,6 @@ "src": "../build/jsb-link/", "hotUpdateDirName": "hotUpdateFiles", "hotupdateDirExport": "exportHotUpdate", - "des": [ - "../build/jsb-link/" - ], "zipDir": [ "/res/import" ] diff --git a/HotUpdateDemo/tools/ModifyFileTime.py b/HotUpdateDemo/tools/ModifyFileTime.py index 665d556..a525a59 100644 --- a/HotUpdateDemo/tools/ModifyFileTime.py +++ b/HotUpdateDemo/tools/ModifyFileTime.py @@ -33,8 +33,11 @@ def modify(rootdir): def initParams(configPath): data = open(configPath, 'r') data = json.load(data) - relativePath = data.root + data.hotUpdateDirName - zipDirList = data.zipDir + global relativePath + relativePath = data['root'] + data['hotUpdateDirName'] + global zipDirList + zipDirList = data['zipDir'] + des = data['des'] def main(): diff --git a/HotUpdateDemo/tools/README.md b/HotUpdateDemo/tools/README.md index 2e43c95..9d6d82b 100644 --- a/HotUpdateDemo/tools/README.md +++ b/HotUpdateDemo/tools/README.md @@ -20,17 +20,16 @@ npm install 安装Node的库 fs-jetpack 用于对文件操作 ### 操作 -首先 -* 运行 BuildBeforeSetting.js -对项目初始化 +首先进入tools +* 运行 BuildBeforeSetting.js 对项目初始化 然后进行构建工程, * 构建Android 工程 选择link模式 ![link](https://upload-images.jianshu.io/upload_images/2315803-f28aec8ccdff1858.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 进入tools后 -* 运行CopyHotFiles.js 把热更新文件放到新文件夹 -* ModifyFileTime.js and ZipFile 对文件修改时间(用于生成zip后,进行MD5后,md5信息不变)、zip压缩(用于更新时可以减少下载请求,提高热更速度、与更新文件的稳定性) - -* 运行VersionGenerator.js 得到版本信息。 +* 运行CopyHotFiles.js 把热更新文件放到hotUpdateFiles文件夹 +* ModifyFileTime.py and ZipFile.py 对hotUpdateFiles中zipDir变量内文件修改时间(用于生成zip后,进行MD5后,md5信息不变)、zip压缩(用于更新时可以减少下载请求,提高热更速度、与更新文件的稳定性) +* 运行VersionGenerator.js 对hotUpdateFiles进行md5得到版本信息 +* 运行ExportHotupdateDir.js 得到热更新资源到exportHotUpdate文件夹 ### 支持https * 打开工程,修改libcocos2dx工程中Cocos2dxDownloader.java类。找到new AsyncHttpClient() 修改成new AsyncHttpClient(true, 80, 443) diff --git a/HotUpdateDemo/tools/VersionGenerator.js b/HotUpdateDemo/tools/VersionGenerator.js index 9a8aa4a..7859969 100644 --- a/HotUpdateDemo/tools/VersionGenerator.js +++ b/HotUpdateDemo/tools/VersionGenerator.js @@ -1,4 +1,4 @@ -const fileUtil = require('FileUtil'); +const fileUtil = require('./FileUtil'); const crypto = require('crypto'); const fs = require('fs'); var path = require('path'); @@ -15,7 +15,7 @@ let manifest = { let dest = './remote-assets/'; let src = './jsb/'; -function initManifest(configPath) { +function initParams(configPath) { let data = JSON.parse(fileUtil.read(configPath)); //得到远程url manifest.packageUrl = data.packageUrl; @@ -24,23 +24,21 @@ function initManifest(configPath) { //版本信息 manifest.version = data.version; //构建后的对应目录 - src = data.src; + src = data.root + data.hotUpdateDirName; //目的目录 - desp = data.des; - - + dest = src; } function md5InfoFromDir(dir, obj) { - function fn(subpath) { + function fn(subPath) { let stat, size, md5, compressed, relative; - stat = fs.statSync(subpath); + stat = fs.statSync(subPath); size = stat['size']; // md5 = crypto.createHash('md5').update(fs.readFileSync(subpath, 'binary')).digest('hex');//返回的并非二进制类型,而是String。这会导致非文本文件md5计算错误 md5 = crypto.createHash('md5').update(fs.readFileSync(subPath)).digest('hex'); - compressed = path.extname(subpath).toLowerCase() === '.zip'; - relative = path.relative(src, subpath); + compressed = path.extname(subPath).toLowerCase() === '.zip'; + relative = path.relative(src, subPath); relative = relative.replace(/\\/g, '/'); relative = encodeURI(relative); obj[relative] = { @@ -55,28 +53,23 @@ function md5InfoFromDir(dir, obj) { } function main() { - initManifest('./GameConfig.json'); + initParams('./GameConfig.json'); md5InfoFromDir(path.join(src, 'src'), manifest.assets); md5InfoFromDir(path.join(src, 'res'), manifest.assets); - let length = desp.length; - for (let i = 0; i < length; i++) { - let des = desp[i], destManifest; - destManifest = path.join(des, 'project.manifest'); - fileUtil.write(destManifest, JSON.stringify(manifest)); - } + let destManifest = path.join(dest, 'project.manifest'); + fileUtil.write(destManifest, JSON.stringify(manifest)); delete manifest.assets; delete manifest.searchPaths; - for (let i = 0; i < length; i++) { - let des = desp[i], destVersion; - destVersion = path.join(des, 'version.manifest'); - fileUtil.write(destVersion, JSON.stringify(manifest)); - } + destVersion = path.join(dest, 'version.manifest'); + fileUtil.write(destVersion, JSON.stringify(manifest)); } +main(); + diff --git a/HotUpdateDemo/tools/ZipFile.py b/HotUpdateDemo/tools/ZipFile.py index 7cace73..5ede154 100644 --- a/HotUpdateDemo/tools/ZipFile.py +++ b/HotUpdateDemo/tools/ZipFile.py @@ -2,6 +2,7 @@ import os import os.path import zipfile import shutil +import json relativePath = '' zipDirList = [] @@ -69,8 +70,10 @@ def checkDir(rootdir): def initParams(configPath): data = open(configPath, 'r') data = json.load(data) - relativePath = data.root + data.hotUpdateDirName - zipDirList = data.zipDir + global relativePath + relativePath = data['root'] + data['hotUpdateDirName'] + global zipDirList + zipDirList = data['zipDir'] def main(): @@ -82,3 +85,6 @@ def main(): print(abspath) encodeDir(abspath) pass + + +main()