From 2e587b5fe638a2b074311c2645115ee08c2a95ad Mon Sep 17 00:00:00 2001 From: Amin Yahyaabadi Date: Wed, 24 Feb 2021 17:25:55 -0600 Subject: [PATCH] fix: use system tar to decompress file on Unix systems --- package.json | 3 - pnpm-lock.yaml | 576 ++------------------------------------------- src/get-serve-d.ts | 26 +- 3 files changed, 32 insertions(+), 573 deletions(-) diff --git a/package.json b/package.json index 26c17ab..c5ec333 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,6 @@ }, "devDependencies": { "@types/atom": "1.40.7", - "@types/decompress": "^4.2.3", "@types/fs-extra": "^9.0.7", "@types/node": "^14.14.31", "build-commit": "0.1.4", @@ -98,8 +97,6 @@ "dependencies": { "@terascope/fetch-github-release": "^0.7.4", "atom-languageclient": "^1.2.2", - "decompress": "^4.2.1", - "decompress-tarxz": "^3.0.0", "fs-extra": "^9.1.0", "path-exists": "^4.0.0" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7d6871a..a20fe10 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,13 +1,10 @@ dependencies: '@terascope/fetch-github-release': 0.7.4 atom-languageclient: 1.2.2 - decompress: 4.2.1 - decompress-tarxz: 3.0.0 fs-extra: 9.1.0 path-exists: 4.0.0 devDependencies: '@types/atom': 1.40.7 - '@types/decompress': 4.2.3 '@types/fs-extra': 9.0.7 '@types/node': 14.14.31 build-commit: 0.1.4 @@ -277,12 +274,6 @@ packages: dev: false resolution: integrity: sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ== - /@types/decompress/4.2.3: - dependencies: - '@types/node': 14.14.31 - dev: true - resolution: - integrity: sha512-W24e3Ycz1UZPgr1ZEDHlK4XnvOr+CpJH3qNsFeqXwwlW/9END9gxn3oJSsp7gYdiQxrXUHwUUd3xuzVz37MrZQ== /@types/fs-extra/9.0.7: dependencies: '@types/node': 14.14.28 @@ -437,10 +428,6 @@ packages: node: ^8.10.0 || ^10.13.0 || >=11.10.1 resolution: integrity: sha512-KBB+xLBxnBdTENs/rUgeUKO0UkPBRs2vD09oMRRIkj5BEN8PX1ToXV532desXfpQnZsYTyLLviS7JrPhdL154w== - /abbrev/1.1.1: - dev: false - resolution: - integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== /acorn-jsx/5.3.1_acorn@7.4.1: dependencies: acorn: 7.4.1 @@ -519,21 +506,10 @@ packages: node: '>=8' resolution: integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - /aproba/1.2.0: - dev: false - resolution: - integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== /aproba/2.0.0: dev: false resolution: integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== - /are-we-there-yet/1.1.5: - dependencies: - delegates: 1.0.0 - readable-stream: 2.3.7 - dev: false - resolution: - integrity: sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== /argparse/1.0.10: dependencies: sprintf-js: 1.0.3 @@ -752,29 +728,20 @@ packages: resolution: integrity: sha512-+rq2cr4GDhtToEzKFD6KZZMDBXhjFAr9JjPw9pAppZACeEWqNM294j+NdBzkSHYXwzzBmVjZ3nEVJlOhbR2gOQ== /balanced-match/1.0.0: + dev: true resolution: integrity: sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - /base64-js/1.5.1: - dev: false - resolution: - integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== /bindings/1.5.0: dependencies: file-uri-to-path: 1.0.0 dev: false resolution: integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - /bl/1.2.3: - dependencies: - readable-stream: 2.3.7 - safe-buffer: 5.1.2 - dev: false - resolution: - integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww== /brace-expansion/1.1.11: dependencies: balanced-match: 1.0.0 concat-map: 0.0.1 + dev: true resolution: integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== /braces/3.0.2: @@ -785,32 +752,10 @@ packages: node: '>=8' resolution: integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - /buffer-alloc-unsafe/1.1.0: - dev: false - resolution: - integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== - /buffer-alloc/1.2.0: - dependencies: - buffer-alloc-unsafe: 1.1.0 - buffer-fill: 1.0.0 - dev: false - resolution: - integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== /buffer-crc32/0.2.13: dev: false resolution: integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= - /buffer-fill/1.0.0: - dev: false - resolution: - integrity: sha1-+PeLdniYiO858gXNY39o5wISKyw= - /buffer/5.7.1: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - resolution: - integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== /build-commit/0.1.4: dependencies: colors: 1.4.0 @@ -886,10 +831,6 @@ packages: node: '>=10' resolution: integrity: sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== - /chownr/1.1.4: - dev: false - resolution: - integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== /chownr/2.0.0: dev: true engines: @@ -915,12 +856,6 @@ packages: dev: false resolution: integrity: sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= - /code-point-at/1.1.0: - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= /coffeescript/1.12.7: dev: true engines: @@ -968,16 +903,13 @@ packages: node: '>=0.1.90' resolution: integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - /commander/2.20.3: - dev: false - resolution: - integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== /commander/7.0.0: engines: node: '>= 10' resolution: integrity: sha512-ovx/7NkTrnPuIV8sqk/GjUIIM1+iUQeqA3ye2VNpq9sVoiZsooObWlQy+OPWGI17GDaEoybuAGJm6U8yC077BA== /concat-map/0.0.1: + dev: true resolution: integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= /confusing-browser-globals/1.0.10: @@ -1023,6 +955,7 @@ packages: resolution: integrity: sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q== /core-util-is/1.0.2: + dev: true resolution: integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= /cross-env/7.0.3: @@ -1060,12 +993,6 @@ packages: dev: true resolution: integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - /debug/3.2.7: - dependencies: - ms: 2.1.2 - dev: false - resolution: - integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== /debug/4.3.1: dependencies: ms: 2.1.2 @@ -1086,81 +1013,6 @@ packages: node: '>=10' resolution: integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - /decompress-tar/4.1.1: - dependencies: - file-type: 5.2.0 - is-stream: 1.1.0 - tar-stream: 1.6.2 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ== - /decompress-tarbz2/4.1.1: - dependencies: - decompress-tar: 4.1.1 - file-type: 6.2.0 - is-stream: 1.1.0 - seek-bzip: 1.0.6 - unbzip2-stream: 1.4.3 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A== - /decompress-targz/4.1.1: - dependencies: - decompress-tar: 4.1.1 - file-type: 5.2.0 - is-stream: 1.1.0 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w== - /decompress-tarxz/3.0.0: - dependencies: - decompress-tar: 4.1.1 - file-type: 12.4.2 - is-stream: 2.0.0 - lzma-native: 4.0.6 - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-/85049bKZOmkVXrFz9Zf90DMBPYuXGGAMOQaytNgMGiB7u4iIJKLUaEXRiLBvugtknmYcP1Zv6KQWEYWshTblg== - /decompress-unzip/4.0.1: - dependencies: - file-type: 3.9.0 - get-stream: 2.3.1 - pify: 2.3.0 - yauzl: 2.10.0 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-3qrM39FK6vhVePczroIQ+bSEj2k= - /decompress/4.2.1: - dependencies: - decompress-tar: 4.1.1 - decompress-tarbz2: 4.1.1 - decompress-targz: 4.1.1 - decompress-unzip: 4.0.1 - graceful-fs: 4.2.4 - make-dir: 1.3.0 - pify: 2.3.0 - strip-dirs: 2.1.0 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ== - /deep-extend/0.6.0: - dev: false - engines: - node: '>=4.0.0' - resolution: - integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== /deep-is/0.1.3: dev: true resolution: @@ -1179,17 +1031,6 @@ packages: node: '>= 0.4' resolution: integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - /delegates/1.0.0: - dev: false - resolution: - integrity: sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - /detect-libc/1.0.3: - dev: false - engines: - node: '>=0.10' - hasBin: true - resolution: - integrity: sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= /dir-glob/3.0.1: dependencies: path-type: 4.0.0 @@ -1783,30 +1624,6 @@ packages: node: ^10.12.0 || >=12.0.0 resolution: integrity: sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA== - /file-type/12.4.2: - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg== - /file-type/3.9.0: - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-JXoHg4TR24CHvESdEH1SpSZyuek= - /file-type/5.2.0: - dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-LdvqfHP/42No365J3DOMBYwritY= - /file-type/6.2.0: - dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg== /file-uri-to-path/1.0.0: dev: false resolution: @@ -1851,10 +1668,6 @@ packages: optional: true resolution: integrity: sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA== - /fs-constants/1.0.0: - dev: false - resolution: - integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== /fs-extra/9.1.0: dependencies: at-least-node: 1.0.0 @@ -1866,12 +1679,6 @@ packages: node: '>=10' resolution: integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - /fs-minipass/1.2.7: - dependencies: - minipass: 2.9.0 - dev: false - resolution: - integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== /fs-minipass/2.1.0: dependencies: minipass: 3.1.3 @@ -1881,6 +1688,7 @@ packages: resolution: integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== /fs.realpath/1.0.0: + dev: true resolution: integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8= /function-bind/1.1.1: @@ -1891,19 +1699,6 @@ packages: dev: true resolution: integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - /gauge/2.7.4: - dependencies: - aproba: 1.2.0 - console-control-strings: 1.1.0 - has-unicode: 2.0.1 - object-assign: 4.1.1 - signal-exit: 3.0.3 - string-width: 1.0.2 - strip-ansi: 3.0.1 - wide-align: 1.1.3 - dev: false - resolution: - integrity: sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= /gauge/3.0.0: dependencies: aproba: 2.0.0 @@ -1933,15 +1728,6 @@ packages: dev: true resolution: integrity: sha512-M11rgtQp5GZMZzDL7jLTNxbDfurpzuau5uqRWDPvlHjfvg3TdScAZo96GLvhMjImrmR8uAt0FS2RLoMrfWGKlg== - /get-stream/2.3.1: - dependencies: - object-assign: 4.1.1 - pinkie-promise: 2.0.1 - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4= /get-stream/5.2.0: dependencies: pump: 3.0.0 @@ -1973,6 +1759,7 @@ packages: minimatch: 3.0.4 once: 1.4.0 path-is-absolute: 1.0.1 + dev: true resolution: integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== /globals/11.12.0: @@ -2026,10 +1813,6 @@ packages: node: '>=10.19.0' resolution: integrity: sha512-9aYdZL+6nHmvJwHALLwKSUZ0hMwGaJGYv3hoPLPgnT8BoBXm1SjnZeky+91tfwJaDzun2s4RsBRy48IEYv2q2Q== - /graceful-fs/4.2.4: - dev: false - resolution: - integrity: sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== /graceful-fs/4.2.6: resolution: integrity: sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== @@ -2098,24 +1881,6 @@ packages: node: '>=10.19.0' resolution: integrity: sha512-xYz9goEyBnC8XwXDTuC/MZ6t+MrKVQZOk4s7+PaDkwIsQd8IwqvM+0M6bA/2lvG8GHXcPdf+MejTUeO2LCPCeQ== - /iconv-lite/0.4.24: - dependencies: - safer-buffer: 2.1.2 - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - /ieee754/1.2.1: - dev: false - resolution: - integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - /ignore-walk/3.0.3: - dependencies: - minimatch: 3.0.4 - dev: false - resolution: - integrity: sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== /ignore/4.0.6: dev: true engines: @@ -2147,15 +1912,13 @@ packages: dependencies: once: 1.4.0 wrappy: 1.0.2 + dev: true resolution: integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= /inherits/2.0.4: + dev: true resolution: integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - /ini/1.3.8: - dev: false - resolution: - integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== /internal-slot/1.0.3: dependencies: get-intrinsic: 1.1.0 @@ -2206,14 +1969,6 @@ packages: node: '>=0.10.0' resolution: integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - /is-fullwidth-code-point/1.0.0: - dependencies: - number-is-nan: 1.0.1 - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-754xOG8DGn8NZDr4L95QxFfvAMs= /is-fullwidth-code-point/2.0.0: dev: false engines: @@ -2234,10 +1989,6 @@ packages: node: '>=0.10.0' resolution: integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - /is-natural-number/4.0.1: - dev: false - resolution: - integrity: sha1-q5124dtM7VHjXeDHLr7PCfc0zeg= /is-negative-zero/2.0.1: dev: true engines: @@ -2258,18 +2009,6 @@ packages: node: '>= 0.4' resolution: integrity: sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== - /is-stream/1.1.0: - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - /is-stream/2.0.0: - dev: false - engines: - node: '>=8' - resolution: - integrity: sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== /is-string/1.0.5: dev: true engines: @@ -2289,6 +2028,7 @@ packages: resolution: integrity: sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= /isarray/1.0.0: + dev: true resolution: integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= /isexe/2.0.0: @@ -2462,27 +2202,6 @@ packages: node: '>=10' resolution: integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - /lzma-native/4.0.6: - dependencies: - nan: 2.14.2 - node-pre-gyp: 0.11.0 - readable-stream: 2.3.7 - rimraf: 2.7.1 - dev: false - engines: - node: '>=6.0.0' - hasBin: true - requiresBuild: true - resolution: - integrity: sha512-1kiSs/KAcAuh9vyyd00ATXZFfrg6W8UCBqH1RKlWg/tBP5aQez6HYOY+SihmsZfpy0RVDioW5SLI76dZ3Mq5Rw== - /make-dir/1.3.0: - dependencies: - pify: 3.0.0 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== /marked/1.2.9: dev: false engines: @@ -2520,18 +2239,13 @@ packages: /minimatch/3.0.4: dependencies: brace-expansion: 1.1.11 + dev: true resolution: integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== /minimist/1.2.5: + dev: true resolution: integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - /minipass/2.9.0: - dependencies: - safe-buffer: 5.1.2 - yallist: 3.1.1 - dev: false - resolution: - integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== /minipass/3.1.3: dependencies: yallist: 4.0.0 @@ -2540,12 +2254,6 @@ packages: node: '>=8' resolution: integrity: sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== - /minizlib/1.3.3: - dependencies: - minipass: 2.9.0 - dev: false - resolution: - integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== /minizlib/2.1.2: dependencies: minipass: 3.1.3 @@ -2555,13 +2263,6 @@ packages: node: '>= 8' resolution: integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - /mkdirp/0.5.5: - dependencies: - minimist: 1.2.5 - dev: false - hasBin: true - resolution: - integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== /mkdirp/1.0.4: dev: true engines: @@ -2584,25 +2285,10 @@ packages: progress: ^2.0.0 resolution: integrity: sha512-9zcjyOou3FFCKPXsmkbC3ethv51SFPoA4dJD6TscIp2pUmy26kBDZW6h9XofPELrzseSkuD7r0V+emGEeo39Pg== - /nan/2.14.2: - dev: false - resolution: - integrity: sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== /natural-compare/1.4.0: dev: true resolution: integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - /needle/2.6.0: - dependencies: - debug: 3.2.7 - iconv-lite: 0.4.24 - sax: 1.2.4 - dev: false - engines: - node: '>= 4.4.x' - hasBin: true - resolution: - integrity: sha512-KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg== /node-addon-api/3.1.0: dev: false resolution: @@ -2612,30 +2298,6 @@ packages: hasBin: true resolution: integrity: sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg== - /node-pre-gyp/0.11.0: - dependencies: - detect-libc: 1.0.3 - mkdirp: 0.5.5 - needle: 2.6.0 - nopt: 4.0.3 - npm-packlist: 1.4.8 - npmlog: 4.1.2 - rc: 1.2.8 - rimraf: 2.7.1 - semver: 5.7.1 - tar: 4.4.13 - dev: false - hasBin: true - resolution: - integrity: sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q== - /nopt/4.0.3: - dependencies: - abbrev: 1.1.1 - osenv: 0.1.5 - dev: false - hasBin: true - resolution: - integrity: sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg== /normalize-package-data/2.5.0: dependencies: hosted-git-info: 2.8.8 @@ -2651,39 +2313,6 @@ packages: node: '>=8' resolution: integrity: sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== - /npm-bundled/1.1.1: - dependencies: - npm-normalize-package-bin: 1.0.1 - dev: false - resolution: - integrity: sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA== - /npm-normalize-package-bin/1.0.1: - dev: false - resolution: - integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== - /npm-packlist/1.4.8: - dependencies: - ignore-walk: 3.0.3 - npm-bundled: 1.1.1 - npm-normalize-package-bin: 1.0.1 - dev: false - resolution: - integrity: sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A== - /npmlog/4.1.2: - dependencies: - are-we-there-yet: 1.1.5 - console-control-strings: 1.1.0 - gauge: 2.7.4 - set-blocking: 2.0.0 - dev: false - resolution: - integrity: sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - /number-is-nan/1.0.1: - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= /object-assign/4.1.1: engines: node: '>=0.10.0' @@ -2761,25 +2390,6 @@ packages: node: '>= 0.8.0' resolution: integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - /os-homedir/1.0.2: - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-/7xJiDNuDoM94MFox+8VISGqf7M= - /os-tmpdir/1.0.2: - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - /osenv/0.1.5: - dependencies: - os-homedir: 1.0.2 - os-tmpdir: 1.0.2 - dev: false - resolution: - integrity: sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== /p-cancelable/2.0.0: dev: false engines: @@ -2837,6 +2447,7 @@ packages: resolution: integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== /path-is-absolute/1.0.1: + dev: true engines: node: '>=0.10.0' resolution: @@ -2876,30 +2487,11 @@ packages: resolution: integrity: sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== /pify/2.3.0: + dev: true engines: node: '>=0.10.0' resolution: integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - /pify/3.0.0: - dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - /pinkie-promise/2.0.1: - dependencies: - pinkie: 2.0.4 - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-ITXW36ejWMBprJsXh3YogihFD/o= - /pinkie/2.0.4: - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-clVrgM+g1IqXToDnckjoDtT3+HA= /pkg-dir/2.0.0: dependencies: find-up: 2.1.0 @@ -2921,10 +2513,6 @@ packages: hasBin: true resolution: integrity: sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== - /process-nextick-args/2.0.1: - dev: false - resolution: - integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== /progress/2.0.3: engines: node: '>=0.4.0' @@ -2957,16 +2545,6 @@ packages: node: '>=10' resolution: integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - /rc/1.2.8: - dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.5 - strip-json-comments: 2.0.1 - dev: false - hasBin: true - resolution: - integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== /react-dom/17.0.1_react@17.0.1: dependencies: loose-envify: 1.4.0 @@ -3019,18 +2597,6 @@ packages: dev: true resolution: integrity: sha1-fPTFTvZI44EwhMY23SB54WbAgdk= - /readable-stream/2.3.7: - dependencies: - core-util-is: 1.0.2 - inherits: 2.0.4 - isarray: 1.0.0 - process-nextick-args: 2.0.1 - safe-buffer: 5.1.2 - string_decoder: 1.1.1 - util-deprecate: 1.0.2 - dev: false - resolution: - integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== /rechoir/0.6.2: dependencies: resolve: 1.19.0 @@ -3102,13 +2668,6 @@ packages: node: '>=0.10.0' resolution: integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - /rimraf/2.7.1: - dependencies: - glob: 7.1.6 - dev: false - hasBin: true - resolution: - integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== /rimraf/3.0.2: dependencies: glob: 7.1.6 @@ -3129,16 +2688,9 @@ packages: resolution: integrity: sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== /safe-buffer/5.1.2: + dev: true resolution: integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - /safer-buffer/2.1.2: - dev: false - resolution: - integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - /sax/1.2.4: - dev: false - resolution: - integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== /scheduler/0.20.1: dependencies: loose-envify: 1.4.0 @@ -3146,14 +2698,8 @@ packages: dev: false resolution: integrity: sha512-LKTe+2xNJBNxu/QhHvDR14wUXHRQbVY5ZOYpOGWRzhydZUqrLb2JBvLPY7cAqFmqrWuDED0Mjk7013SZiOz6Bw== - /seek-bzip/1.0.6: - dependencies: - commander: 2.20.3 - dev: false - hasBin: true - resolution: - integrity: sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ== /semver/5.7.1: + dev: true hasBin: true resolution: integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -3171,10 +2717,6 @@ packages: hasBin: true resolution: integrity: sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== - /set-blocking/2.0.0: - dev: false - resolution: - integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc= /shebang-command/2.0.0: dependencies: shebang-regex: 3.0.0 @@ -3277,16 +2819,6 @@ packages: dev: true resolution: integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - /string-width/1.0.2: - dependencies: - code-point-at: 1.1.0 - is-fullwidth-code-point: 1.0.0 - strip-ansi: 3.0.1 - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= /string-width/2.1.1: dependencies: is-fullwidth-code-point: 2.0.0 @@ -3336,12 +2868,6 @@ packages: dev: true resolution: integrity: sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= - /string_decoder/1.1.1: - dependencies: - safe-buffer: 5.1.2 - dev: false - resolution: - integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== /strip-ansi/3.0.1: dependencies: ansi-regex: 2.1.1 @@ -3371,12 +2897,6 @@ packages: node: '>=4' resolution: integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - /strip-dirs/2.1.0: - dependencies: - is-natural-number: 4.0.1 - dev: false - resolution: - integrity: sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g== /strip-json-comments/1.0.4: dev: true engines: @@ -3384,12 +2904,6 @@ packages: hasBin: true resolution: integrity: sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E= - /strip-json-comments/2.0.1: - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo= /strip-json-comments/3.1.1: dev: true engines: @@ -3429,34 +2943,6 @@ packages: node: '>=10.0.0' resolution: integrity: sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g== - /tar-stream/1.6.2: - dependencies: - bl: 1.2.3 - buffer-alloc: 1.2.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - readable-stream: 2.3.7 - to-buffer: 1.1.1 - xtend: 4.0.2 - dev: false - engines: - node: '>= 0.8.0' - resolution: - integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== - /tar/4.4.13: - dependencies: - chownr: 1.1.4 - fs-minipass: 1.2.7 - minipass: 2.9.0 - minizlib: 1.3.3 - mkdirp: 0.5.5 - safe-buffer: 5.1.2 - yallist: 3.1.1 - dev: false - engines: - node: '>=4.5' - resolution: - integrity: sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== /tar/6.1.0: dependencies: chownr: 2.0.0 @@ -3474,14 +2960,6 @@ packages: dev: true resolution: integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - /through/2.3.8: - dev: false - resolution: - integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - /to-buffer/1.1.1: - dev: false - resolution: - integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== /to-fast-properties/1.0.3: dev: true engines: @@ -3553,13 +3031,6 @@ packages: hasBin: true resolution: integrity: sha512-tbb+NVrLfnsJy3M59lsDgrzWIflR4d4TIUjz+heUnHZwdF7YsrMTKoRERiIvI2lvBG95dfpLxB21WZhys1bgaQ== - /unbzip2-stream/1.4.3: - dependencies: - buffer: 5.7.1 - through: 2.3.8 - dev: false - resolution: - integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== /universalify/2.0.0: dev: false engines: @@ -3572,10 +3043,6 @@ packages: dev: true resolution: integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - /util-deprecate/1.0.2: - dev: false - resolution: - integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= /v8-compile-cache/2.2.0: dev: true resolution: @@ -3654,16 +3121,6 @@ packages: /wrappy/1.0.2: resolution: integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - /xtend/4.0.2: - dev: false - engines: - node: '>=0.4' - resolution: - integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - /yallist/3.1.1: - dev: false - resolution: - integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== /yallist/4.0.0: dev: true resolution: @@ -3687,14 +3144,11 @@ packages: specifiers: '@terascope/fetch-github-release': ^0.7.4 '@types/atom': 1.40.7 - '@types/decompress': ^4.2.3 '@types/fs-extra': ^9.0.7 '@types/node': ^14.14.31 atom-languageclient: ^1.2.2 build-commit: 0.1.4 cross-env: 7.0.3 - decompress: ^4.2.1 - decompress-tarxz: ^3.0.0 eslint: 7.20.0 eslint-config-atomic: ^1.10.2 fs-extra: ^9.1.0 diff --git a/src/get-serve-d.ts b/src/get-serve-d.ts index 68cf03d..026abaa 100644 --- a/src/get-serve-d.ts +++ b/src/get-serve-d.ts @@ -1,7 +1,9 @@ import downloadRelease from "@terascope/fetch-github-release" import { join, dirname, extname } from "path" import { remove, ensureDir } from "fs-extra" -import decompress from "decompress" +import { execFile as execFileRaw } from "child_process" +import { promisify } from "util" +const execFile = promisify(execFileRaw) const assetMap = { win32: "windows", @@ -13,7 +15,7 @@ const assetMap = { export async function getServeD() { const distFolder = join(dirname(__dirname), "dist") const platform = assetMap[process.platform] - const downloadFolder = join(distFolder, platform) + const outputFolder = join(distFolder, platform) await remove(distFolder) await ensureDir(distFolder) @@ -24,16 +26,22 @@ export async function getServeD() { /* download folder */ distFolder, /* filter release */ undefined, /* filter asset */ (asset) => asset.name.indexOf(platform) >= 0, - true + process.platform !== "win32" )) as unknown) as string[] const asset = assets[0] // Assume there is only one possibility - if (extname(asset) === ".xz") { - await decompress(asset, downloadFolder, { - plugins: [await import("decompress-tarxz")], + decompressTar(asset, outputFolder) + + remove(asset) +} + +/** Decompress if it is a tar file */ +async function decompressTar(filePath: string, outputFolder: string) { + if (/\.tar\.(g|x)z/.test(filePath)) { + // is tar file + const mod = extname(filePath) == ".xz" ? "J" : "z" + await execFile("tar", ["xvf" + mod, filePath], { + cwd: outputFolder, }) - } else { - await decompress(asset, downloadFolder) } - remove(asset) }