diff --git a/package.json b/package.json index 614196a..a8c4efd 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,6 @@ "cli.json" ], "scripts": { - "test": "echo \"Error: no test specified\" && exit 1", "prepublish": "babel src --out-dir lib" }, "repository": { @@ -32,7 +31,7 @@ }, "homepage": "https://github.com/reactnativecn/react-native-pushy/tree/master/react-native-pushy-cli", "dependencies": { - "app-info-parser": "^1.0.0", + "app-info-parser": "^1.1.6", "cli-arguments": "^0.2.1", "filesize-parser": "^1.5.0", "fs-extra": "8", @@ -43,8 +42,8 @@ "read": "^1.0.7", "request": "^2.88.2", "tcp-ping": "^0.1.1", - "tty-table": "4.1", - "update-notifier": "^4.1.1", + "tty-table": "4.2", + "update-notifier": "^5.1.0", "yauzl": "^2.10.0", "yazl": "2.5.1" }, @@ -56,6 +55,11 @@ "babel-plugin-transform-object-rest-spread": "^6.26.0" }, "engines": { - "node": ">= 8" + "node": ">= 10" + }, + "pnpm": { + "patchedDependencies": { + "app-info-parser@1.1.6": "patches/app-info-parser@1.1.6.patch" + } } } diff --git a/patches/app-info-parser@1.1.6.patch b/patches/app-info-parser@1.1.6.patch new file mode 100644 index 0000000..ddab64b --- /dev/null +++ b/patches/app-info-parser@1.1.6.patch @@ -0,0 +1,17 @@ +diff --git a/src/xml-parser/binary.js b/src/xml-parser/binary.js +index e20cc96e8131078ea81afeb31af46142a52da58e..f0f788cc555046f0dab47f8854f26344e0d5d714 100644 +--- a/src/xml-parser/binary.js ++++ b/src/xml-parser/binary.js +@@ -547,8 +547,10 @@ var BinaryXmlParser = /*#__PURE__*/function () { + attr.nodeName = attr.name = this.strings[nameRef]; + if (valueRef > 0) { + // some apk have versionName with special characters +- if (attr.name === 'versionName') { +- this.strings[valueRef] = this.strings[valueRef].replace(/[^\d\w-.]/g, ''); ++ if (attr.name === 'versionName') { ++ // only keep printable characters ++ // https://www.ascii-code.com/characters/printable-characters ++ this.strings[valueRef] = this.strings[valueRef].replace(/[^\x21-\x7E]/g, '') + } + attr.value = this.strings[valueRef]; + } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c2da322..ad6c188 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,10 +4,15 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +patchedDependencies: + app-info-parser@1.1.6: + hash: 5azvag6rayshexwrrjmxczz7em + path: patches/app-info-parser@1.1.6.patch + dependencies: app-info-parser: - specifier: ^1.0.0 - version: 1.1.3 + specifier: ^1.1.6 + version: 1.1.6(patch_hash=5azvag6rayshexwrrjmxczz7em) cli-arguments: specifier: ^0.2.1 version: 0.2.1 @@ -39,11 +44,11 @@ dependencies: specifier: ^0.1.1 version: 0.1.1 tty-table: - specifier: '4.1' - version: 4.1.5 + specifier: '4.2' + version: 4.2.3 update-notifier: - specifier: ^4.1.1 - version: 4.1.3 + specifier: ^5.1.0 + version: 5.1.0 yauzl: specifier: ^2.10.0 version: 2.10.0 @@ -137,14 +142,15 @@ packages: /anymatch@1.3.2: resolution: {integrity: sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==} + requiresBuild: true dependencies: micromatch: 2.3.11 normalize-path: 2.1.1 dev: true optional: true - /app-info-parser@1.1.3: - resolution: {integrity: sha512-Vzmmoku+aDsixpeV6qfTeUu8u8Q62M2rVObMgiDexrvebQ6PHe0UYPrpRdB/aSO2JhuV2wB/+vUnzgeHhC6F/Q==} + /app-info-parser@1.1.6(patch_hash=5azvag6rayshexwrrjmxczz7em): + resolution: {integrity: sha512-ZAFCM0bN88cbpsMoRhL/JfdX3b+nb5iBEXcu30xABvbaqtw6tXfHujDnuKSpNmA3P0uwpkIxTV/Wun5HfEch8A==} hasBin: true dependencies: bplist-parser: 0.2.0 @@ -154,10 +160,12 @@ packages: isomorphic-unzip: 1.1.5 plist: 3.0.4 dev: false + patched: true /arr-diff@2.0.0: resolution: {integrity: sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: arr-flatten: 1.1.0 dev: true @@ -166,30 +174,35 @@ packages: /arr-diff@4.0.0: resolution: {integrity: sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true /arr-flatten@1.1.0: resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true /arr-union@3.1.0: resolution: {integrity: sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true /array-unique@0.2.1: resolution: {integrity: sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true /array-unique@0.3.2: resolution: {integrity: sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true @@ -216,11 +229,13 @@ packages: /assign-symbols@1.0.0: resolution: {integrity: sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true /async-each@1.0.3: resolution: {integrity: sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==} + requiresBuild: true dev: true optional: true @@ -232,6 +247,7 @@ packages: resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} engines: {node: '>= 4.5.0'} hasBin: true + requiresBuild: true dev: true optional: true @@ -446,6 +462,7 @@ packages: /base@0.11.2: resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: cache-base: 1.0.1 class-utils: 0.3.6 @@ -471,28 +488,30 @@ packages: /binary-extensions@1.13.1: resolution: {integrity: sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true /bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + requiresBuild: true dependencies: file-uri-to-path: 1.0.0 dev: true optional: true - /boxen@4.2.0: - resolution: {integrity: sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==} - engines: {node: '>=8'} + /boxen@5.1.2: + resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} + engines: {node: '>=10'} dependencies: ansi-align: 3.0.1 - camelcase: 5.3.1 - chalk: 3.0.0 + camelcase: 6.3.0 + chalk: 4.1.2 cli-boxes: 2.2.1 string-width: 4.2.3 - term-size: 2.2.1 - type-fest: 0.8.1 + type-fest: 0.20.2 widest-line: 3.1.0 + wrap-ansi: 7.0.0 dev: false /bplist-parser@0.2.0: @@ -512,6 +531,7 @@ packages: /braces@1.8.5: resolution: {integrity: sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: expand-range: 1.8.2 preserve: 0.2.0 @@ -522,6 +542,7 @@ packages: /braces@2.3.2: resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: arr-flatten: 1.1.0 array-unique: 0.3.2 @@ -556,11 +577,11 @@ packages: dev: false /bufferpack@0.0.6: - resolution: {integrity: sha1-+z2HOKDh5OA7z/mfmnX57Bip1z4=} + resolution: {integrity: sha512-MTWvLHElqczrIVhge9qHtqgNigJFyh0+tCDId5yCbFAfuekHWIG+uAgvoHVflwrDPuY/e47JE1ki5qcM7w4uLg==} dev: false /bytebuffer@5.0.1: - resolution: {integrity: sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=} + resolution: {integrity: sha512-IuzSdmADppkZ6DlpycMkm8l9zeEq16fWtLvunEwFiYciR/BHo4E8/xs5piFquG+Za8OWmMqHF8zuRviz2LHvRQ==} engines: {node: '>=0.8'} dependencies: long: 3.2.0 @@ -569,6 +590,7 @@ packages: /cache-base@1.0.1: resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: collection-visit: 1.0.0 component-emitter: 1.3.0 @@ -607,6 +629,11 @@ packages: engines: {node: '>=6'} dev: false + /camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: false + /caseless@0.12.0: resolution: {integrity: sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=} dev: false @@ -631,14 +658,6 @@ packages: supports-color: 2.0.0 dev: true - /chalk@3.0.0: - resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: false - /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -674,6 +693,7 @@ packages: /class-utils@0.3.6: resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: arr-union: 3.1.0 define-property: 0.2.5 @@ -699,8 +719,9 @@ packages: wrap-ansi: 6.2.0 dev: false - /cliui@7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -708,19 +729,20 @@ packages: dev: false /clone-response@1.0.2: - resolution: {integrity: sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=} + resolution: {integrity: sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==} dependencies: mimic-response: 1.0.1 dev: false /clone@1.0.4: - resolution: {integrity: sha1-2jCcwmPfFZlMaIypAheco8fNfH4=} + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} dev: false /collection-visit@1.0.0: resolution: {integrity: sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: map-visit: 1.0.0 object-visit: 1.0.1 @@ -756,6 +778,7 @@ packages: /component-emitter@1.3.0: resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} + requiresBuild: true dev: true optional: true @@ -784,6 +807,7 @@ packages: /copy-descriptor@0.1.1: resolution: {integrity: sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true @@ -799,6 +823,7 @@ packages: /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + requiresBuild: true dev: true optional: true @@ -854,18 +879,19 @@ packages: dev: true /decamelize@1.2.0: - resolution: {integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=} + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} dev: false /decode-uri-component@0.2.0: resolution: {integrity: sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=} engines: {node: '>=0.10'} + requiresBuild: true dev: true optional: true /decompress-response@3.3.0: - resolution: {integrity: sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=} + resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} engines: {node: '>=4'} dependencies: mimic-response: 1.0.1 @@ -877,7 +903,7 @@ packages: dev: false /defaults@1.0.3: - resolution: {integrity: sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=} + resolution: {integrity: sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==} dependencies: clone: 1.0.4 dev: false @@ -896,6 +922,7 @@ packages: /define-property@0.2.5: resolution: {integrity: sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: is-descriptor: 0.1.6 dev: true @@ -904,6 +931,7 @@ packages: /define-property@1.0.0: resolution: {integrity: sha1-dp66rz9KY6rTr56NMEybvnm/sOY=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: is-descriptor: 1.0.2 dev: true @@ -912,6 +940,7 @@ packages: /define-property@2.0.2: resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: is-descriptor: 1.0.2 isobject: 3.0.1 @@ -938,7 +967,7 @@ packages: dev: false /duplexer3@0.1.4: - resolution: {integrity: sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=} + resolution: {integrity: sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA==} dev: false /ecc-jsbn@0.1.2: @@ -1016,6 +1045,7 @@ packages: /expand-brackets@0.1.5: resolution: {integrity: sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: is-posix-bracket: 0.1.1 dev: true @@ -1024,6 +1054,7 @@ packages: /expand-brackets@2.1.4: resolution: {integrity: sha1-t3c14xXOMPa27/D4OwQVGiJEliI=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: debug: 2.6.9 define-property: 0.2.5 @@ -1040,6 +1071,7 @@ packages: /expand-range@1.8.2: resolution: {integrity: sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: fill-range: 2.2.4 dev: true @@ -1048,6 +1080,7 @@ packages: /extend-shallow@2.0.1: resolution: {integrity: sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: is-extendable: 0.1.1 dev: true @@ -1056,6 +1089,7 @@ packages: /extend-shallow@3.0.2: resolution: {integrity: sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: assign-symbols: 1.0.0 is-extendable: 1.0.1 @@ -1069,6 +1103,7 @@ packages: /extglob@0.3.2: resolution: {integrity: sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: is-extglob: 1.0.0 dev: true @@ -1077,6 +1112,7 @@ packages: /extglob@2.0.4: resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: array-unique: 0.3.2 define-property: 1.0.0 @@ -1112,12 +1148,14 @@ packages: /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + requiresBuild: true dev: true optional: true /filename-regex@2.0.1: resolution: {integrity: sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true @@ -1128,6 +1166,7 @@ packages: /fill-range@2.2.4: resolution: {integrity: sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: is-number: 2.1.0 isobject: 2.1.0 @@ -1140,6 +1179,7 @@ packages: /fill-range@4.0.0: resolution: {integrity: sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: extend-shallow: 2.0.1 is-number: 3.0.0 @@ -1159,12 +1199,14 @@ packages: /for-in@1.0.2: resolution: {integrity: sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true /for-own@0.1.5: resolution: {integrity: sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: for-in: 1.0.2 dev: true @@ -1186,6 +1228,7 @@ packages: /fragment-cache@0.2.1: resolution: {integrity: sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: map-cache: 0.2.2 dev: true @@ -1262,6 +1305,7 @@ packages: /get-value@2.0.6: resolution: {integrity: sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true @@ -1274,6 +1318,7 @@ packages: /glob-base@0.3.0: resolution: {integrity: sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: glob-parent: 2.0.0 is-glob: 2.0.1 @@ -1282,6 +1327,7 @@ packages: /glob-parent@2.0.0: resolution: {integrity: sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=} + requiresBuild: true dependencies: is-glob: 2.0.1 dev: true @@ -1298,11 +1344,11 @@ packages: path-is-absolute: 1.0.1 dev: true - /global-dirs@2.1.0: - resolution: {integrity: sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==} - engines: {node: '>=8'} + /global-dirs@3.0.1: + resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} + engines: {node: '>=10'} dependencies: - ini: 1.3.7 + ini: 2.0.0 dev: false /globals@9.18.0: @@ -1388,6 +1434,7 @@ packages: /has-value@0.3.1: resolution: {integrity: sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: get-value: 2.0.6 has-values: 0.1.4 @@ -1398,6 +1445,7 @@ packages: /has-value@1.0.0: resolution: {integrity: sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: get-value: 2.0.6 has-values: 1.0.0 @@ -1408,12 +1456,14 @@ packages: /has-values@0.1.4: resolution: {integrity: sha1-bWHeldkd/Km5oCCJrThL/49it3E=} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true /has-values@1.0.0: resolution: {integrity: sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: is-number: 3.0.0 kind-of: 4.0.0 @@ -1458,12 +1508,12 @@ packages: dev: false /import-lazy@2.1.0: - resolution: {integrity: sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=} + resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==} engines: {node: '>=4'} dev: false /imurmurhash@0.1.4: - resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} dev: false @@ -1478,14 +1528,15 @@ packages: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: true - /ini@1.3.7: - resolution: {integrity: sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==} - dev: false - /ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} dev: false + /ini@2.0.0: + resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} + engines: {node: '>=10'} + dev: false + /internal-slot@1.0.3: resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} engines: {node: '>= 0.4'} @@ -1504,6 +1555,7 @@ packages: /is-accessor-descriptor@0.1.6: resolution: {integrity: sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: kind-of: 3.2.2 dev: true @@ -1512,6 +1564,7 @@ packages: /is-accessor-descriptor@1.0.0: resolution: {integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: kind-of: 6.0.3 dev: true @@ -1526,6 +1579,7 @@ packages: /is-binary-path@1.0.1: resolution: {integrity: sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: binary-extensions: 1.13.1 dev: true @@ -1541,6 +1595,7 @@ packages: /is-buffer@1.1.6: resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + requiresBuild: true dev: true optional: true @@ -1559,6 +1614,7 @@ packages: /is-data-descriptor@0.1.4: resolution: {integrity: sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: kind-of: 3.2.2 dev: true @@ -1567,6 +1623,7 @@ packages: /is-data-descriptor@1.0.0: resolution: {integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: kind-of: 6.0.3 dev: true @@ -1582,6 +1639,7 @@ packages: /is-descriptor@0.1.6: resolution: {integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: is-accessor-descriptor: 0.1.6 is-data-descriptor: 0.1.4 @@ -1592,6 +1650,7 @@ packages: /is-descriptor@1.0.2: resolution: {integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: is-accessor-descriptor: 1.0.0 is-data-descriptor: 1.0.0 @@ -1602,12 +1661,14 @@ packages: /is-dotfile@1.0.3: resolution: {integrity: sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true /is-equal-shallow@0.1.3: resolution: {integrity: sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: is-primitive: 2.0.0 dev: true @@ -1616,12 +1677,14 @@ packages: /is-extendable@0.1.1: resolution: {integrity: sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true /is-extendable@1.0.1: resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: is-plain-object: 2.0.4 dev: true @@ -1630,6 +1693,7 @@ packages: /is-extglob@1.0.0: resolution: {integrity: sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true @@ -1646,16 +1710,17 @@ packages: /is-glob@2.0.1: resolution: {integrity: sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: is-extglob: 1.0.0 dev: true optional: true - /is-installed-globally@0.3.2: - resolution: {integrity: sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==} - engines: {node: '>=8'} + /is-installed-globally@0.4.0: + resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} + engines: {node: '>=10'} dependencies: - global-dirs: 2.1.0 + global-dirs: 3.0.1 is-path-inside: 3.0.3 dev: false @@ -1664,9 +1729,9 @@ packages: engines: {node: '>= 0.4'} dev: false - /is-npm@4.0.0: - resolution: {integrity: sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==} - engines: {node: '>=8'} + /is-npm@5.0.0: + resolution: {integrity: sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==} + engines: {node: '>=10'} dev: false /is-number-object@1.0.6: @@ -1679,6 +1744,7 @@ packages: /is-number@2.1.0: resolution: {integrity: sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: kind-of: 3.2.2 dev: true @@ -1687,6 +1753,7 @@ packages: /is-number@3.0.0: resolution: {integrity: sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: kind-of: 3.2.2 dev: true @@ -1695,6 +1762,7 @@ packages: /is-number@4.0.0: resolution: {integrity: sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true @@ -1711,6 +1779,7 @@ packages: /is-plain-object@2.0.4: resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: isobject: 3.0.1 dev: true @@ -1719,12 +1788,14 @@ packages: /is-posix-bracket@0.1.1: resolution: {integrity: sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true /is-primitive@2.0.0: resolution: {integrity: sha1-IHurkWOEmcB7Kt8kCkGochADRXU=} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true @@ -1767,6 +1838,7 @@ packages: /is-windows@1.0.2: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true @@ -1776,12 +1848,14 @@ packages: /isarray@1.0.0: resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=} + requiresBuild: true dev: true optional: true /isobject@2.1.0: resolution: {integrity: sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: isarray: 1.0.0 dev: true @@ -1790,6 +1864,7 @@ packages: /isobject@3.0.1: resolution: {integrity: sha1-TkMekrEalzFjaqH5yNHMvP2reN8=} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true @@ -1822,7 +1897,7 @@ packages: dev: true /json-buffer@3.0.0: - resolution: {integrity: sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=} + resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} dev: false /json-schema-traverse@0.4.1: @@ -1867,6 +1942,7 @@ packages: /kind-of@3.2.2: resolution: {integrity: sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: is-buffer: 1.1.6 dev: true @@ -1875,6 +1951,7 @@ packages: /kind-of@4.0.0: resolution: {integrity: sha1-IIE989cSkosgc3hpGkUGb65y3Vc=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: is-buffer: 1.1.6 dev: true @@ -1883,17 +1960,19 @@ packages: /kind-of@5.1.0: resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true - /kleur@4.1.4: - resolution: {integrity: sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==} + /kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} dev: false @@ -1920,7 +1999,7 @@ packages: dev: true /long@3.2.0: - resolution: {integrity: sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=} + resolution: {integrity: sha512-ZYvPPOMqUwPoDsbJaR10iQJYnMuZhRTvHYl62ErLIEX7RgFlziSBUUvrt3OVfc47QlHHpzPZYP17g3Fv7oeJkg==} engines: {node: '>=0.6'} dev: false @@ -1941,6 +2020,13 @@ packages: engines: {node: '>=8'} dev: false + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: false + /make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} @@ -1951,12 +2037,14 @@ packages: /map-cache@0.2.2: resolution: {integrity: sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true /map-visit@1.0.0: resolution: {integrity: sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: object-visit: 1.0.1 dev: true @@ -1964,12 +2052,14 @@ packages: /math-random@1.0.4: resolution: {integrity: sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==} + requiresBuild: true dev: true optional: true /micromatch@2.3.11: resolution: {integrity: sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: arr-diff: 2.0.0 array-unique: 0.2.1 @@ -1990,6 +2080,7 @@ packages: /micromatch@3.1.10: resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: arr-diff: 4.0.0 array-unique: 0.3.2 @@ -2038,6 +2129,7 @@ packages: /mixin-deep@1.3.2: resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: for-in: 1.0.2 is-extendable: 1.0.1 @@ -2066,12 +2158,14 @@ packages: /nan@2.15.0: resolution: {integrity: sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==} + requiresBuild: true dev: true optional: true /nanomatch@1.2.13: resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: arr-diff: 4.0.0 array-unique: 0.3.2 @@ -2099,6 +2193,7 @@ packages: /normalize-path@2.1.1: resolution: {integrity: sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: remove-trailing-separator: 1.1.0 dev: true @@ -2121,6 +2216,7 @@ packages: /object-copy@0.1.0: resolution: {integrity: sha1-fn2Fi3gb18mRpBupde04EnVOmYw=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: copy-descriptor: 0.1.1 define-property: 0.2.5 @@ -2140,6 +2236,7 @@ packages: /object-visit@1.0.1: resolution: {integrity: sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: isobject: 3.0.1 dev: true @@ -2158,6 +2255,7 @@ packages: /object.omit@2.0.1: resolution: {integrity: sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: for-own: 0.1.5 is-extendable: 0.1.1 @@ -2167,6 +2265,7 @@ packages: /object.pick@1.3.0: resolution: {integrity: sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: isobject: 3.0.1 dev: true @@ -2232,6 +2331,7 @@ packages: /parse-glob@3.0.4: resolution: {integrity: sha1-ssN2z7EfNVE7rdFz7wu246OIORw=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: glob-base: 0.3.0 is-dotfile: 1.0.3 @@ -2243,6 +2343,7 @@ packages: /pascalcase@0.1.1: resolution: {integrity: sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true @@ -2275,17 +2376,19 @@ packages: /posix-character-classes@0.1.1: resolution: {integrity: sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true /prepend-http@2.0.0: - resolution: {integrity: sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=} + resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} engines: {node: '>=4'} dev: false /preserve@0.2.0: resolution: {integrity: sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true @@ -2296,6 +2399,7 @@ packages: /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + requiresBuild: true dev: true optional: true @@ -2340,6 +2444,7 @@ packages: /randomatic@3.1.1: resolution: {integrity: sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==} engines: {node: '>= 0.10.0'} + requiresBuild: true dependencies: is-number: 4.0.0 kind-of: 6.0.3 @@ -2366,6 +2471,7 @@ packages: /readable-stream@2.3.7: resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} + requiresBuild: true dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -2380,6 +2486,7 @@ packages: /readdirp@2.2.1: resolution: {integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==} engines: {node: '>=0.10'} + requiresBuild: true dependencies: graceful-fs: 4.2.8 micromatch: 3.1.10 @@ -2400,6 +2507,7 @@ packages: /regex-cache@0.4.4: resolution: {integrity: sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: is-equal-shallow: 0.1.3 dev: true @@ -2408,6 +2516,7 @@ packages: /regex-not@1.0.2: resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: extend-shallow: 3.0.2 safe-regex: 1.1.0 @@ -2430,18 +2539,21 @@ packages: /remove-trailing-separator@1.1.0: resolution: {integrity: sha1-wkvOKig62tW8P1jg1IJJuSN52O8=} + requiresBuild: true dev: true optional: true /repeat-element@1.1.4: resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true /repeat-string@1.6.1: resolution: {integrity: sha1-jcrkcOHIirwtYA//Sndihtp15jc=} engines: {node: '>=0.10'} + requiresBuild: true dev: true optional: true @@ -2480,7 +2592,7 @@ packages: dev: false /require-directory@2.1.1: - resolution: {integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I=} + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} dev: false @@ -2491,11 +2603,12 @@ packages: /resolve-url@0.2.1: resolution: {integrity: sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=} deprecated: https://github.com/lydell/resolve-url#deprecated + requiresBuild: true dev: true optional: true /responselike@1.0.2: - resolution: {integrity: sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=} + resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} dependencies: lowercase-keys: 1.0.1 dev: false @@ -2503,6 +2616,7 @@ packages: /ret@0.1.15: resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} engines: {node: '>=0.12'} + requiresBuild: true dev: true optional: true @@ -2511,6 +2625,7 @@ packages: /safe-regex@1.1.0: resolution: {integrity: sha1-QKNmnzsHfR6UPURinhV91IAjvy4=} + requiresBuild: true dependencies: ret: 0.1.15 dev: true @@ -2532,13 +2647,22 @@ packages: hasBin: true dev: false + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: false + /set-blocking@2.0.0: - resolution: {integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc=} + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: false /set-value@2.0.1: resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: extend-shallow: 2.0.1 is-extendable: 0.1.1 @@ -2580,6 +2704,7 @@ packages: /snapdragon-node@2.1.1: resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: define-property: 1.0.0 isobject: 3.0.1 @@ -2590,6 +2715,7 @@ packages: /snapdragon-util@3.0.1: resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: kind-of: 3.2.2 dev: true @@ -2598,6 +2724,7 @@ packages: /snapdragon@0.8.2: resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: base: 0.11.2 debug: 2.6.9 @@ -2614,6 +2741,7 @@ packages: /source-map-resolve@0.5.3: resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} + requiresBuild: true dependencies: atob: 2.1.2 decode-uri-component: 0.2.0 @@ -2631,6 +2759,7 @@ packages: /source-map-url@0.4.1: resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} + requiresBuild: true dev: true optional: true @@ -2642,6 +2771,7 @@ packages: /split-string@3.1.0: resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: extend-shallow: 3.0.2 dev: true @@ -2666,6 +2796,7 @@ packages: /static-extend@0.1.2: resolution: {integrity: sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: define-property: 0.2.5 object-copy: 0.1.0 @@ -2673,14 +2804,14 @@ packages: optional: true /stream-to-buffer@0.1.0: - resolution: {integrity: sha1-JnmdkDqyAlyb1VCsRxcbAPjdgKk=} + resolution: {integrity: sha512-Da4WoKaZyu3nf+bIdIifh7IPkFjARBnBK+pYqn0EUJqksjV9afojjaCCHUemH30Jmu7T2qcKvlZm2ykN38uzaw==} engines: {node: '>= 0.8'} dependencies: stream-to: 0.2.2 dev: false /stream-to@0.2.2: - resolution: {integrity: sha1-hDBgmNhf25kLn6MAsbPM9V6O8B0=} + resolution: {integrity: sha512-Kg1BSDTwgGiVMtTCJNlo7kk/xzL33ZuZveEBRt6rXw+f1WLK/8kmz2NVCT/Qnv0JkV85JOHcLhD82mnXsR3kPw==} engines: {node: '>= 0.10.0'} dev: false @@ -2691,7 +2822,7 @@ packages: dev: false /streamifier@0.1.1: - resolution: {integrity: sha1-l+mNj6TRBdYqJpHR3AfoINuN/E8=} + resolution: {integrity: sha512-zDgl+muIlWzXNsXeyUfOk9dChMjlpkq0DRsxujtYPgyJ676yQ8jEm6zzaaWHFDg5BNcLuif0eD2MTyJdZqXpdg==} engines: {node: '>=0.10'} dev: false @@ -2720,6 +2851,7 @@ packages: /string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + requiresBuild: true dependencies: safe-buffer: 5.1.2 dev: true @@ -2740,7 +2872,7 @@ packages: dev: false /strip-json-comments@2.0.1: - resolution: {integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=} + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} dev: false @@ -2760,11 +2892,6 @@ packages: resolution: {integrity: sha1-At1/QrW/fXy3jVt6rO+hVf2PfAw=} dev: false - /term-size@2.2.1: - resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} - engines: {node: '>=8'} - dev: false - /to-fast-properties@1.0.3: resolution: {integrity: sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=} engines: {node: '>=0.10.0'} @@ -2773,6 +2900,7 @@ packages: /to-object-path@0.3.0: resolution: {integrity: sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: kind-of: 3.2.2 dev: true @@ -2786,6 +2914,7 @@ packages: /to-regex-range@2.1.1: resolution: {integrity: sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: is-number: 3.0.0 repeat-string: 1.6.1 @@ -2795,6 +2924,7 @@ packages: /to-regex@3.0.2: resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: define-property: 2.0.2 extend-shallow: 3.0.2 @@ -2820,18 +2950,18 @@ packages: engines: {node: '>=0.10.0'} dev: true - /tty-table@4.1.5: - resolution: {integrity: sha512-qqyvTBHXUiGa6YO++VUsUyHdNAHwx5/JZeTW4jkxMO9T8sTb/bSNTLa47Ci9Qg5g9FQBrH/A04OfU/B+DCWSZA==} + /tty-table@4.2.3: + resolution: {integrity: sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA==} engines: {node: '>=8.0.0'} hasBin: true dependencies: chalk: 4.1.2 csv: 5.5.3 - kleur: 4.1.4 + kleur: 4.1.5 smartwrap: 2.0.2 strip-ansi: 6.0.1 wcwidth: 1.0.1 - yargs: 17.2.1 + yargs: 17.7.2 dev: false /tunnel-agent@0.6.0: @@ -2844,9 +2974,9 @@ packages: resolution: {integrity: sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=} dev: false - /type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} dev: false /typedarray-to-buffer@3.1.5: @@ -2867,6 +2997,7 @@ packages: /union-value@1.0.1: resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: arr-union: 3.1.0 get-value: 2.0.6 @@ -2890,27 +3021,29 @@ packages: /unset-value@1.0.0: resolution: {integrity: sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: has-value: 0.3.1 isobject: 3.0.1 dev: true optional: true - /update-notifier@4.1.3: - resolution: {integrity: sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==} - engines: {node: '>=8'} + /update-notifier@5.1.0: + resolution: {integrity: sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==} + engines: {node: '>=10'} dependencies: - boxen: 4.2.0 - chalk: 3.0.0 + boxen: 5.1.2 + chalk: 4.1.2 configstore: 5.0.1 has-yarn: 2.1.0 import-lazy: 2.1.0 is-ci: 2.0.0 - is-installed-globally: 0.3.2 - is-npm: 4.0.0 + is-installed-globally: 0.4.0 + is-npm: 5.0.0 is-yarn-global: 0.3.0 latest-version: 5.1.0 pupa: 2.1.1 + semver: 7.6.0 semver-diff: 3.1.1 xdg-basedir: 4.0.0 dev: false @@ -2924,11 +3057,12 @@ packages: /urix@0.1.0: resolution: {integrity: sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=} deprecated: Please see https://github.com/lydell/urix#deprecated + requiresBuild: true dev: true optional: true /url-parse-lax@3.0.0: - resolution: {integrity: sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=} + resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} engines: {node: '>=4'} dependencies: prepend-http: 2.0.0 @@ -2937,6 +3071,7 @@ packages: /use@3.1.1: resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true optional: true @@ -2948,6 +3083,7 @@ packages: /util-deprecate@1.0.2: resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} + requiresBuild: true dev: true optional: true @@ -2974,7 +3110,7 @@ packages: dev: false /wcwidth@1.0.1: - resolution: {integrity: sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=} + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: defaults: 1.0.3 dev: false @@ -3001,7 +3137,7 @@ packages: dev: false /which-module@2.0.0: - resolution: {integrity: sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=} + resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} dev: false /widest-line@3.1.0: @@ -3047,7 +3183,7 @@ packages: dev: false /xmlbuilder@9.0.7: - resolution: {integrity: sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=} + resolution: {integrity: sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ==} engines: {node: '>=4.0'} dev: false @@ -3060,6 +3196,10 @@ packages: engines: {node: '>=10'} dev: false + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: false + /yargs-parser@18.1.3: resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} engines: {node: '>=6'} @@ -3068,9 +3208,9 @@ packages: decamelize: 1.2.0 dev: false - /yargs-parser@20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} - engines: {node: '>=10'} + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} dev: false /yargs@15.4.1: @@ -3090,17 +3230,17 @@ packages: yargs-parser: 18.1.3 dev: false - /yargs@17.2.1: - resolution: {integrity: sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q==} + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} dependencies: - cliui: 7.0.4 + cliui: 8.0.1 escalade: 3.1.1 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 y18n: 5.0.8 - yargs-parser: 20.2.9 + yargs-parser: 21.1.1 dev: false /yauzl@2.10.0: diff --git a/src/api.js b/src/api.js index 65a319f..43b4378 100644 --- a/src/api.js +++ b/src/api.js @@ -1,13 +1,13 @@ -const fetch = require('node-fetch'); +import fetch from 'node-fetch'; const defaultEndpoint = 'https://update.reactnative.cn/api'; let host = process.env.PUSHY_REGISTRY || defaultEndpoint; -const fs = require('fs'); +import fs from 'fs'; import request from 'request'; import ProgressBar from 'progress'; -const packageJson = require('../package.json'); -const tcpp = require('tcp-ping'); -const util = require('util'); -const path = require('path'); +import packageJson from '../package.json'; +import tcpp from 'tcp-ping'; +import util from 'util'; +import path from 'path'; import filesizeParser from 'filesize-parser'; import { pricingPageUrl } from './utils'; @@ -18,10 +18,18 @@ let savedSession = undefined; const userAgent = `react-native-update-cli/${packageJson.version}`; -exports.loadSession = async function () { +export const getSession = function () { + return session; +}; + +export const replaceSession = function (newSession) { + session = newSession; +}; + +export const loadSession = async function () { if (fs.existsSync('.update')) { try { - exports.replaceSession(JSON.parse(fs.readFileSync('.update', 'utf8'))); + replaceSession(JSON.parse(fs.readFileSync('.update', 'utf8'))); savedSession = session; } catch (e) { console.error( @@ -32,15 +40,7 @@ exports.loadSession = async function () { } }; -exports.getSession = function () { - return session; -}; - -exports.replaceSession = function (newSession) { - session = newSession; -}; - -exports.saveSession = function () { +export const saveSession = function () { // Only save on change. if (session !== savedSession) { const current = session; @@ -50,7 +50,7 @@ exports.saveSession = function () { } }; -exports.closeSession = function () { +export const closeSession = function () { if (fs.existsSync('.update')) { fs.unlinkSync('.update'); savedSession = undefined; @@ -103,13 +103,13 @@ function queryWithBody(method) { }; } -exports.get = queryWithoutBody('GET'); -exports.post = queryWithBody('POST'); -exports.put = queryWithBody('PUT'); -exports.doDelete = queryWithBody('DELETE'); +export const get = queryWithoutBody('GET'); +export const post = queryWithBody('POST'); +export const put = queryWithBody('PUT'); +export const doDelete = queryWithBody('DELETE'); -async function uploadFile(fn, key) { - const { url, backupUrl, formData, maxSize } = await exports.post('/upload', { +export async function uploadFile(fn, key) { + const { url, backupUrl, formData, maxSize } = await post('/upload', { ext: path.extname(fn), }); let realUrl = url; @@ -175,5 +175,3 @@ async function uploadFile(fn, key) { }); return info; } - -exports.uploadFile = uploadFile; diff --git a/src/app.js b/src/app.js index e9e399c..efe4872 100644 --- a/src/app.js +++ b/src/app.js @@ -1,8 +1,8 @@ import { question } from './utils'; import fs from 'fs'; -const Table = require('tty-table'); +import Table from 'tty-table'; -const { post, get, doDelete } = require('./api'); +import { post, get, doDelete } from './api'; const validPlatforms = { ios: 1, diff --git a/src/bundle.js b/src/bundle.js index 405d101..ac4a626 100644 --- a/src/bundle.js +++ b/src/bundle.js @@ -1,16 +1,16 @@ -const path = require('path'); +import path from 'path'; import { getRNVersion, translateOptions } from './utils'; import * as fs from 'fs-extra'; import { ZipFile } from 'yazl'; import { open as openZipFile } from 'yauzl'; import { question, printVersionCommand } from './utils'; import { checkPlatform } from './app'; -const { spawn, spawnSync } = require('child_process'); +import { spawn, spawnSync } from 'child_process'; const g2js = require('gradle-to-js/lib/parser'); -const os = require('os'); +import os from 'os'; const properties = require('properties'); -var bsdiff, hdiff, diff; +let bsdiff, hdiff, diff; try { bsdiff = require('node-bsdiff').diff; } catch (e) {} @@ -196,7 +196,7 @@ async function compileHermesByteCode( paths: [process.cwd()], }), ); - const hermesCommand = path.join( + let hermesCommand = path.join( rnDir, `/sdks/hermesc/${getHermesOSBin()}/hermesc`, ); @@ -234,7 +234,7 @@ async function pack(dir, output) { console.log('Packing'); fs.ensureDirSync(path.dirname(output)); await new Promise((resolve, reject) => { - var zipfile = new ZipFile(); + const zipfile = new ZipFile(); function addDirectory(root, rel) { if (rel) { @@ -324,7 +324,7 @@ async function diffFromPPK(origin, next, output) { const copies = {}; - var zipfile = new ZipFile(); + const zipfile = new ZipFile(); const writePromise = new Promise((resolve, reject) => { zipfile.outputStream.on('error', (err) => { @@ -409,7 +409,7 @@ async function diffFromPPK(origin, next, output) { const deletes = {}; - for (var k in originEntries) { + for (let k in originEntries) { if (!newEntries[k]) { console.log('Delete ' + k); deletes[k] = 1; @@ -466,7 +466,7 @@ async function diffFromPackage( const copies = {}; - var zipfile = new ZipFile(); + const zipfile = new ZipFile(); const writePromise = new Promise((resolve, reject) => { zipfile.outputStream.on('error', (err) => { diff --git a/src/index.js b/src/index.js index fee3850..e824259 100644 --- a/src/index.js +++ b/src/index.js @@ -1,9 +1,9 @@ #!/usr/bin/env node -const { loadSession } = require('./api'); -const updateNotifier = require('update-notifier'); +import { loadSession } from './api'; +import updateNotifier from 'update-notifier'; import { printVersionCommand } from './utils/index.js'; -const pkg = require('../package.json'); +import pkg from '../package.json'; updateNotifier({ pkg }).notify({ isGlobal: true }); diff --git a/src/package.js b/src/package.js index ab5dc46..3f412fd 100644 --- a/src/package.js +++ b/src/package.js @@ -1,14 +1,10 @@ -/** - * Created by tdzl2003 on 4/2/16. - */ - -const { get, post, uploadFile } = require('./api'); +import { get, post, uploadFile } from './api'; import { question, saveToLocal } from './utils'; import { checkPlatform, getSelectedApp } from './app'; import { getApkInfo, getIpaInfo } from './utils'; -const Table = require('tty-table'); +import Table from 'tty-table'; export async function listPackage(appId) { const { data } = await get(`/app/${appId}/package/list?limit=1000`); @@ -85,7 +81,9 @@ export const commands = { buildTime, }); saveToLocal(fn, `${appId}/package/${id}.ipa`); - console.log(`已成功上传ipa原生包(id: ${id})`); + console.log( + `已成功上传ipa原生包(id: ${id}, version: ${versionName}, buildTime: ${buildTime})`, + ); }, uploadApk: async function ({ args }) { const fn = args[0]; @@ -120,7 +118,9 @@ export const commands = { buildTime, }); saveToLocal(fn, `${appId}/package/${id}.apk`); - console.log(`已成功上传apk原生包(id: ${id})`); + console.log( + `已成功上传apk原生包(id: ${id}, version: ${versionName}, buildTime: ${buildTime})`, + ); }, parseIpa: async function ({ args }) { const fn = args[0]; diff --git a/src/user.js b/src/user.js index 1920d87..39cf651 100644 --- a/src/user.js +++ b/src/user.js @@ -1,38 +1,28 @@ -/** - * Created by tdzl2003 on 2/13/16. - */ - -import {question} from './utils'; -const { - post, - get, - replaceSession, - saveSession, - closeSession, -} = require('./api'); -const crypto = require('crypto'); +import { question } from './utils'; +import { post, get, replaceSession, saveSession, closeSession } from './api'; +import crypto from 'crypto'; function md5(str) { return crypto.createHash('md5').update(str).digest('hex'); } -exports.commands = { - login: async function ({args}){ - const email = args[0] || await question('email:'); - const pwd = args[1] || await question('password:', true); - const {token, info} = await post('/user/login', { +export const commands = { + login: async function ({ args }) { + const email = args[0] || (await question('email:')); + const pwd = args[1] || (await question('password:', true)); + const { token, info } = await post('/user/login', { email, pwd: md5(pwd), }); - replaceSession({token}); + replaceSession({ token }); await saveSession(); console.log(`欢迎使用 pushy 热更新服务, ${info.name}.`); }, - logout: async function (){ + logout: async function () { await closeSession(); console.log('已退出登录'); }, - me: async function (){ + me: async function () { const me = await get('/user/me'); for (const k in me) { if (k !== 'ok') { @@ -40,4 +30,4 @@ exports.commands = { } } }, -} +}; diff --git a/src/utils/index.js b/src/utils/index.js index 4d68e7b..5d7127b 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -1,14 +1,10 @@ -/** - * Created by tdzl2003 on 2/13/16. - */ - import fs from 'fs-extra'; import os from 'os'; import path from 'path'; -const pkg = require('../../package.json'); -const AppInfoParser = require('app-info-parser'); +import pkg from '../../package.json'; +import AppInfoParser from 'app-info-parser'; -var read = require('read'); +import read from 'read'; export function question(query, password) { if (NO_INTERACTIVE) { diff --git a/src/versions.js b/src/versions.js index 6a95899..e7dc687 100644 --- a/src/versions.js +++ b/src/versions.js @@ -1,4 +1,4 @@ -const { get, post, put, uploadFile } = require('./api'); +import { get, post, put, uploadFile } from './api'; import { question, saveToLocal } from './utils'; import { checkPlatform, getSelectedApp } from './app';