Skip to content

Commit

Permalink
chore: use @napi-rs/lzma to replace lzma-native
Browse files Browse the repository at this point in the history
  • Loading branch information
Brooooooklyn committed Sep 17, 2021
1 parent 78b35b0 commit c45b61a
Show file tree
Hide file tree
Showing 3 changed files with 98 additions and 64 deletions.
7 changes: 4 additions & 3 deletions package.json
Expand Up @@ -39,12 +39,12 @@
},
"dependencies": {
"@malept/cross-spawn-promise": "^2.0.0",
"@napi-rs/lzma": "^1.0.0",
"colors": "^1.3.3",
"debug": "^4.1.1",
"detect-libc": "^1.0.3",
"fs-extra": "^10.0.0",
"got": "^11.7.0",
"lzma-native": "^8.0.1",
"node-abi": "^3.0.0",
"node-api-version": "^0.1.4",
"node-gyp": "^8.1.0",
Expand All @@ -60,7 +60,6 @@
"@types/debug": "^4.1.5",
"@types/detect-libc": "^1.0.0",
"@types/fs-extra": "^9.0.1",
"@types/lzma-native": "^4.0.0",
"@types/mocha": "^9.0.0",
"@types/node": "^16.0.1",
"@types/node-abi": "^3.0.0",
Expand Down Expand Up @@ -119,7 +118,9 @@
"node_modules"
],
"mocha": {
"extensions": ["ts"],
"extensions": [
"ts"
],
"require": "ts-node/register"
},
"nyc": {
Expand Down
3 changes: 2 additions & 1 deletion src/sysroot-fetcher.ts
Expand Up @@ -3,6 +3,7 @@ import debug from 'debug';
import * as fs from 'fs-extra';
import * as path from 'path';
import * as tar from 'tar';
import { decompress } from '@napi-rs/lzma/xz'

import { ELECTRON_GYP_DIR } from './constants';
import { fetch } from './fetcher';
Expand Down Expand Up @@ -35,7 +36,7 @@ export async function downloadLinuxSysroot(electronVersion: string, targetArch:
if (sha !== actualSha) throw new Error(`Attempted to download the linux sysroot for ${electronVersion} but the SHA checksum did not match`);

d('decompressing sysroot');
sysrootBuffer = await new Promise<Buffer>(resolve => require('lzma-native').decompress(sysrootBuffer, undefined, (result: Buffer) => resolve(result))); // eslint-disable-line
sysrootBuffer = await decompress(sysrootBuffer)

const tmpTarFile = path.resolve(ELECTRON_GYP_DIR, `${electronVersion}-${fileName}`);
if (await fs.pathExists(tmpTarFile)) await fs.remove(tmpTarFile);
Expand Down
152 changes: 92 additions & 60 deletions yarn.lock
Expand Up @@ -329,6 +329,98 @@
dependencies:
cross-spawn "^7.0.1"

"@napi-rs/lzma-android-arm64@^1.0.0":
version "1.0.0"
resolved "https://registry.npmjs.org/@napi-rs/lzma-android-arm64/-/lzma-android-arm64-1.0.0.tgz#a7c4cac27d4e19aee6667e4dd38ff9751ff9ea88"
integrity sha512-9hNF+rnAxOTdUje1fuYqkQvDXMcOryNTc2xWWizOsUYSuGJV+KVKznk/FZZGaSN3roKtGPf7LdqX7kKOmOVN9g==

"@napi-rs/lzma-darwin-arm64@^1.0.0":
version "1.0.0"
resolved "https://registry.npmjs.org/@napi-rs/lzma-darwin-arm64/-/lzma-darwin-arm64-1.0.0.tgz#53ad894121035d0734950b2b4c66e0d56e10da50"
integrity sha512-Uiv4DLqNE55ljA6RB4PGdQPcg/rKLZ2jG6VuwCCxU/m/x14/ROWCnOgaLafV4/rnofe3FPAgD5D32hAdAKBI0Q==

"@napi-rs/lzma-darwin-x64@^1.0.0":
version "1.0.0"
resolved "https://registry.npmjs.org/@napi-rs/lzma-darwin-x64/-/lzma-darwin-x64-1.0.0.tgz#3a9bffb9f51f18779a8b1ac154595d7a59745e40"
integrity sha512-9uskZsP6+6MyvS6+cxU/G15lMCW/VY6lApntmEJzCzoK0afY0XbJFAHgsaCh9D3LeeUyEnnWKzbbXJmcXwiRyA==

"@napi-rs/lzma-freebsd-x64@^1.0.0":
version "1.0.0"
resolved "https://registry.npmjs.org/@napi-rs/lzma-freebsd-x64/-/lzma-freebsd-x64-1.0.0.tgz#c16dd5b8a8b1b6cf3ee5c424764f174a114a09ba"
integrity sha512-LJpZIfbuKTuOk6/Mg6YQl2f+yf2Ms2Ll0qisCbdFQRJhy/vJ90T8yP2PyDNNO/TNg45MHBO5rd8JwyA8ozJisw==

"@napi-rs/lzma-linux-arm-gnueabihf@^1.0.0":
version "1.0.0"
resolved "https://registry.npmjs.org/@napi-rs/lzma-linux-arm-gnueabihf/-/lzma-linux-arm-gnueabihf-1.0.0.tgz#4042cc5e1c19acb1dfadc2caccd408eb06c505ea"
integrity sha512-3dIiGt4+Lo0icBBYd9kckgLjiAFkpZZBuTnqZRUm8UlqlsrHJrta0yJRzS2V7n3hAsQUoYEdc/eUMeuXR0JauQ==

"@napi-rs/lzma-linux-arm64-gnu@^1.0.0":
version "1.0.0"
resolved "https://registry.npmjs.org/@napi-rs/lzma-linux-arm64-gnu/-/lzma-linux-arm64-gnu-1.0.0.tgz#a07458265593c4b8bf146c6fc5656f181efd2b88"
integrity sha512-OGf342BtrwwtjO2O9M708UehkpYJzTQ3J7rDQIi8jkSw8hwxzpZ47RUlO4v1Dy4ujXxIFg7P7hS4rSnPgMWezA==

"@napi-rs/lzma-linux-arm64-musl@^1.0.0":
version "1.0.0"
resolved "https://registry.npmjs.org/@napi-rs/lzma-linux-arm64-musl/-/lzma-linux-arm64-musl-1.0.0.tgz#b0579eb8f43db98a9071470fe94f96624245578e"
integrity sha512-CIbOsjmf2GdBZhVo6QjPhIbIXwKMdkUw51pzAFS9VgtwSU7vmT8y8eS221sZewCXuv7bZTcFXbQPhe0F92Tffg==

"@napi-rs/lzma-linux-x64-gnu@^1.0.0":
version "1.0.0"
resolved "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.0.0.tgz#c25fd1685ccefc1ec9327908537a626cdb3bcb4f"
integrity sha512-37EtSHjtFTFeZL6xec5vIhQrZRpQdaCBNvqHHDpaInJRjueGw+WCa/Xcp3cVmp0a64Lp4ewXcYMj5wxpKurkmw==

"@napi-rs/lzma-linux-x64-musl@^1.0.0":
version "1.0.0"
resolved "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-musl/-/lzma-linux-x64-musl-1.0.0.tgz#6b52ca712adbc0a3a7c17f4a3362b2431e72765a"
integrity sha512-kWQARiTndtOOW6DUTzv9LuDnSVtZgxUkdD8zQp4LuDcJQB6RNPZnfgDcE75Of+T5W6hJsz7oVUzsV+F7dNABEg==

"@napi-rs/lzma-win32-arm64-msvc@^1.0.0":
version "1.0.0"
resolved "https://registry.npmjs.org/@napi-rs/lzma-win32-arm64-msvc/-/lzma-win32-arm64-msvc-1.0.0.tgz#04a7884bf5b004fcb87107f5fad859a1b911fa85"
integrity sha512-riX5KBJSZYWA+rnfRLJR/B0xO+l051PrR0URdIbCDWW8oL4xELGjZfyrP5hNOk6XeXoeyQaGNLdFRERGHxSABQ==

"@napi-rs/lzma-win32-ia32-msvc@^1.0.0":
version "1.0.0"
resolved "https://registry.npmjs.org/@napi-rs/lzma-win32-ia32-msvc/-/lzma-win32-ia32-msvc-1.0.0.tgz#180f56834e7f834b6958466b1c1038dc82a0827e"
integrity sha512-d6sYRjtTPGTW5jhmgxaLWlU9Ln5gpHjx8GxlM7kaWF04bjQz7x/M26CH9pfKXDUyNAHOG9K/NS46ymfpgfOI8w==

"@napi-rs/lzma-win32-x64-msvc@^1.0.0":
version "1.0.0"
resolved "https://registry.npmjs.org/@napi-rs/lzma-win32-x64-msvc/-/lzma-win32-x64-msvc-1.0.0.tgz#e79f8ffa8dadd1156314dcc1f06eddb49b67f0af"
integrity sha512-a3TEGal8RCSTAiK8xwNUUyuHktiXsw0vAE695vjprxx7F8PsgVcPAJg1QndFX3uvlR1K8QJIJ6gg/HKMw5F4pg==

"@napi-rs/lzma@^1.0.0":
version "1.0.0"
resolved "https://registry.npmjs.org/@napi-rs/lzma/-/lzma-1.0.0.tgz#a375901be1db36aa3760570a78bfb9da5d6442f5"
integrity sha512-lZ1JAO77VnRpq4a5L6kjXYo1BjfPH83CFx4MscMjvW8U/qL5OaP0uXoEP2SpM1IUAQz4E8TNBBi9QcRKjShWKg==
dependencies:
"@node-rs/helper" "^1.2.1"
optionalDependencies:
"@napi-rs/lzma-android-arm64" "^1.0.0"
"@napi-rs/lzma-darwin-arm64" "^1.0.0"
"@napi-rs/lzma-darwin-x64" "^1.0.0"
"@napi-rs/lzma-freebsd-x64" "^1.0.0"
"@napi-rs/lzma-linux-arm-gnueabihf" "^1.0.0"
"@napi-rs/lzma-linux-arm64-gnu" "^1.0.0"
"@napi-rs/lzma-linux-arm64-musl" "^1.0.0"
"@napi-rs/lzma-linux-x64-gnu" "^1.0.0"
"@napi-rs/lzma-linux-x64-musl" "^1.0.0"
"@napi-rs/lzma-win32-arm64-msvc" "^1.0.0"
"@napi-rs/lzma-win32-ia32-msvc" "^1.0.0"
"@napi-rs/lzma-win32-x64-msvc" "^1.0.0"

"@napi-rs/triples@^1.0.3":
version "1.0.3"
resolved "https://registry.npmjs.org/@napi-rs/triples/-/triples-1.0.3.tgz#76d6d0c3f4d16013c61e45dfca5ff1e6c31ae53c"
integrity sha512-jDJTpta+P4p1NZTFVLHJ/TLFVYVcOqv6l8xwOeBKNPMgY/zDYH/YH7SJbvrr/h1RcS9GzbPcLKGzpuK9cV56UA==

"@node-rs/helper@^1.2.1":
version "1.2.1"
resolved "https://registry.npmjs.org/@node-rs/helper/-/helper-1.2.1.tgz#e079b05f21ff4329d82c4e1f71c0290e4ecdc70c"
integrity sha512-R5wEmm8nbuQU0YGGmYVjEc0OHtYsuXdpRG+Ut/3wZ9XAvQWyThN08bTh2cBJgoZxHQUPtvRfeQuxcAgLuiBISg==
dependencies:
"@napi-rs/triples" "^1.0.3"

"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
Expand Down Expand Up @@ -778,13 +870,6 @@
dependencies:
"@types/node" "*"

"@types/lzma-native@^4.0.0":
version "4.0.1"
resolved "https://registry.yarnpkg.com/@types/lzma-native/-/lzma-native-4.0.1.tgz#29732d9a2cfcfa0f409eafa57059d47820993af0"
integrity sha512-JtD+glazM3mYYjTvCa72AblFg3VuGn8neRy3lviEkTDZUQJheqZZIaIxEGNq4Faln1aSeeL1H+7X3WH1xOUHKQ==
dependencies:
"@types/node" "*"

"@types/minimist@^1.2.0":
version "1.2.2"
resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c"
Expand Down Expand Up @@ -899,14 +984,6 @@
"@typescript-eslint/typescript-estree" "4.31.1"
debug "^4.3.1"

"@typescript-eslint/scope-manager@4.31.0":
version "4.31.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.31.0.tgz#9be33aed4e9901db753803ba233b70d79a87fc3e"
integrity sha512-LJ+xtl34W76JMRLjbaQorhR0hfRAlp3Lscdiz9NeI/8i+q0hdBZ7BsiYieLoYWqy+AnRigaD3hUwPFugSzdocg==
dependencies:
"@typescript-eslint/types" "4.31.0"
"@typescript-eslint/visitor-keys" "4.31.0"

"@typescript-eslint/scope-manager@4.31.1":
version "4.31.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.31.1.tgz#0c21e8501f608d6a25c842fcf59541ef4f1ab561"
Expand All @@ -915,29 +992,11 @@
"@typescript-eslint/types" "4.31.1"
"@typescript-eslint/visitor-keys" "4.31.1"

"@typescript-eslint/types@4.31.0":
version "4.31.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.31.0.tgz#9a7c86fcc1620189567dc4e46cad7efa07ee8dce"
integrity sha512-9XR5q9mk7DCXgXLS7REIVs+BaAswfdHhx91XqlJklmqWpTALGjygWVIb/UnLh4NWhfwhR5wNe1yTyCInxVhLqQ==

"@typescript-eslint/types@4.31.1":
version "4.31.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.31.1.tgz#5f255b695627a13401d2fdba5f7138bc79450d66"
integrity sha512-kixltt51ZJGKENNW88IY5MYqTBA8FR0Md8QdGbJD2pKZ+D5IvxjTYDNtJPDxFBiXmka2aJsITdB1BtO1fsgmsQ==

"@typescript-eslint/typescript-estree@4.31.0":
version "4.31.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.31.0.tgz#4da4cb6274a7ef3b21d53f9e7147cc76f278a078"
integrity sha512-QHl2014t3ptg+xpmOSSPn5hm4mY8D4s97ftzyk9BZ8RxYQ3j73XcwuijnJ9cMa6DO4aLXeo8XS3z1omT9LA/Eg==
dependencies:
"@typescript-eslint/types" "4.31.0"
"@typescript-eslint/visitor-keys" "4.31.0"
debug "^4.3.1"
globby "^11.0.3"
is-glob "^4.0.1"
semver "^7.3.5"
tsutils "^3.21.0"

"@typescript-eslint/typescript-estree@4.31.1":
version "4.31.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.31.1.tgz#4a04d5232cf1031232b7124a9c0310b577a62d17"
Expand All @@ -951,14 +1010,6 @@
semver "^7.3.5"
tsutils "^3.21.0"

"@typescript-eslint/visitor-keys@4.31.0":
version "4.31.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.31.0.tgz#4e87b7761cb4e0e627dc2047021aa693fc76ea2b"
integrity sha512-HUcRp2a9I+P21+O21yu3ezv3GEPGjyGiXoEUQwZXjR8UxRApGeLyWH4ZIIUSalE28aG4YsV6GjtaAVB3QKOu0w==
dependencies:
"@typescript-eslint/types" "4.31.0"
eslint-visitor-keys "^2.0.0"

"@typescript-eslint/visitor-keys@4.31.1":
version "4.31.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.31.1.tgz#f2e7a14c7f20c4ae07d7fc3c5878c4441a1da9cc"
Expand Down Expand Up @@ -4585,15 +4636,6 @@ lru-cache@^6.0.0:
dependencies:
yallist "^4.0.0"

lzma-native@^8.0.1:
version "8.0.1"
resolved "https://registry.yarnpkg.com/lzma-native/-/lzma-native-8.0.1.tgz#8569e2f88de461a9a2469ac9d8183637c387d682"
integrity sha512-Ryr9X3yDVZhRYOxR8QhUBCNe6GdEfy9BvFDIFtUvEkocvSvnrYt9lRm6FR1z0eQn0QSMenrgrDIJRMgUf9zsKQ==
dependencies:
node-addon-api "^3.1.0"
node-gyp-build "^4.2.1"
readable-stream "^3.6.0"

make-dir@^1.0.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c"
Expand Down Expand Up @@ -5036,11 +5078,6 @@ node-abi@^3.0.0:
dependencies:
semver "^7.3.5"

node-addon-api@^3.1.0:
version "3.2.1"
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161"
integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==

node-api-version@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/node-api-version/-/node-api-version-0.1.4.tgz#1ed46a485e462d55d66b5aa1fe2821720dedf080"
Expand Down Expand Up @@ -5069,11 +5106,6 @@ node-fetch@^2.6.1:
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==

node-gyp-build@^4.2.1:
version "4.2.3"
resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.2.3.tgz#ce6277f853835f718829efb47db20f3e4d9c4739"
integrity sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==

node-gyp@^5.0.2, node-gyp@^5.1.0:
version "5.1.1"
resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-5.1.1.tgz#eb915f7b631c937d282e33aed44cb7a025f62a3e"
Expand Down

0 comments on commit c45b61a

Please sign in to comment.