mirror of
https://github.com/balena-io/balena-cli.git
synced 2025-06-25 02:47:55 +00:00
Compare commits
1 Commits
v18.0.3
...
npm-global
Author | SHA1 | Date | |
---|---|---|---|
1f1af6d657 |
38
.github/actions/publish/action.yml
vendored
38
.github/actions/publish/action.yml
vendored
@ -18,7 +18,7 @@ inputs:
|
||||
default: 'accounts+apple@balena.io'
|
||||
NODE_VERSION:
|
||||
type: string
|
||||
default: '20.x'
|
||||
default: '18.x'
|
||||
VERBOSE:
|
||||
type: string
|
||||
default: 'true'
|
||||
@ -69,11 +69,18 @@ runs:
|
||||
if: runner.os == 'Windows'
|
||||
shell: powershell
|
||||
run: |
|
||||
Set-Content -Path ${{ runner.temp }}/certificate.base64 -Value $env:SM_CLIENT_CERT_FILE_B64
|
||||
certutil -decode ${{ runner.temp }}/certificate.base64 ${{ runner.temp }}/Certificate_pkcs12.p12
|
||||
Set-Content -Path ${{ runner.temp }}/certificate.base64 -Value $env:WINDOWS_CERTIFICATE
|
||||
certutil -decode ${{ runner.temp }}/certificate.base64 ${{ runner.temp }}/certificate.pfx
|
||||
Remove-Item -path ${{ runner.temp }} -include certificate.base64
|
||||
|
||||
Import-PfxCertificate `
|
||||
-FilePath ${{ runner.temp }}/certificate.pfx `
|
||||
-CertStoreLocation Cert:\CurrentUser\My `
|
||||
-Password (ConvertTo-SecureString -String $env:WINDOWS_CERTIFICATE_PASSWORD -Force -AsPlainText)
|
||||
|
||||
env:
|
||||
SM_CLIENT_CERT_FILE_B64: ${{ fromJSON(inputs.secrets).SM_CLIENT_CERT_FILE_B64 }}
|
||||
WINDOWS_CERTIFICATE: ${{ fromJSON(inputs.secrets).WINDOWS_SIGNING }}
|
||||
WINDOWS_CERTIFICATE_PASSWORD: ${{ fromJSON(inputs.secrets).WINDOWS_SIGNING_PASSWORD }}
|
||||
|
||||
# https://github.com/product-os/scripts/tree/master/shared
|
||||
# https://github.com/product-os/balena-concourse/blob/master/pipelines/github-events/template.yml
|
||||
@ -93,21 +100,12 @@ runs:
|
||||
CSC_LINK=${{ fromJSON(inputs.secrets).APPLE_SIGNING }}
|
||||
|
||||
elif [[ $runner_os =~ windows|win ]]; then
|
||||
SM_HOST=${{ fromJSON(inputs.secrets).SM_HOST }}
|
||||
SM_API_KEY=${{ fromJSON(inputs.secrets).SM_API_KEY }}
|
||||
SM_CLIENT_CERT_FILE='${{ runner.temp }}\Certificate_pkcs12.p12'
|
||||
SM_CLIENT_CERT_PASSWORD=${{ fromJSON(inputs.secrets).SM_CLIENT_CERT_PASSWORD }}
|
||||
SM_CODE_SIGNING_CERT_SHA1_HASH=${{ fromJSON(inputs.secrets).SM_CODE_SIGNING_CERT_SHA1_HASH }}
|
||||
CSC_KEY_PASSWORD=${{ fromJSON(inputs.secrets).WINDOWS_SIGNING_PASSWORD }}
|
||||
CSC_LINK='${{ runner.temp }}\certificate.pfx'
|
||||
|
||||
curl --silent --retry 3 --fail https://one.digicert.com/signingmanager/api-ui/v1/releases/smtools-windows-x64.msi/download \
|
||||
-H "x-api-key:$SM_API_KEY" \
|
||||
-o smtools-windows-x64.msi
|
||||
msiexec -i smtools-windows-x64.msi -qn
|
||||
PATH="/c/Program Files/DigiCert/DigiCert One Signing Manager Tools:${PATH}"
|
||||
smksp_registrar.exe list
|
||||
smctl.exe keypair ls
|
||||
/c/Windows/System32/certutil.exe -csp "DigiCert Signing Manager KSP" -key -user
|
||||
smksp_cert_sync.exe
|
||||
# patches/all/oclif.patch
|
||||
MSYSSHELLPATH="$(which bash)"
|
||||
MSYSTEM=MSYS
|
||||
|
||||
# (signtool.exe) https://github.com/actions/runner-images/blob/main/images/win/Windows2019-Readme.md#installed-windows-sdks
|
||||
PATH="/c/Program Files (x86)/Windows Kits/10/bin/${runner_arch}:${PATH}"
|
||||
@ -121,8 +119,8 @@ runs:
|
||||
# https://github.blog/2020-08-03-github-actions-improvements-for-fork-and-pull-request-workflows/#improvements-for-public-repository-forks
|
||||
# https://docs.github.com/en/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks#about-workflow-runs-from-public-forks
|
||||
CSC_FOR_PULL_REQUEST: true
|
||||
# https://docs.digicert.com/es/software-trust-manager/ci-cd-integrations/plugins/github-custom-action-for-keypair-signing.html
|
||||
TIMESTAMP_SERVER: http://timestamp.digicert.com
|
||||
# https://sectigo.com/resource-library/time-stamping-server
|
||||
TIMESTAMP_SERVER: http://timestamp.sectigo.com
|
||||
# Apple notarization (automation/build-bin.ts)
|
||||
XCODE_APP_LOADER_EMAIL: ${{ inputs.XCODE_APP_LOADER_EMAIL }}
|
||||
XCODE_APP_LOADER_PASSWORD: ${{ fromJSON(inputs.secrets).XCODE_APP_LOADER_PASSWORD }}
|
||||
|
2
.github/actions/test/action.yml
vendored
2
.github/actions/test/action.yml
vendored
@ -15,7 +15,7 @@ inputs:
|
||||
# --- custom environment
|
||||
NODE_VERSION:
|
||||
type: string
|
||||
default: '20.x'
|
||||
default: '18.x'
|
||||
VERBOSE:
|
||||
type: string
|
||||
default: "true"
|
||||
|
@ -1,382 +1,3 @@
|
||||
- commits:
|
||||
- subject: Removes signing patches
|
||||
hash: f9f41eef4bae9e41531a149fed029c0cea23f3d1
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Otavio Jacobi
|
||||
nested: []
|
||||
version: 18.0.3
|
||||
title: ""
|
||||
date: 2024-03-11T14:25:45.117Z
|
||||
- commits:
|
||||
- subject: Remove no longer needed windows oclif patches
|
||||
hash: ecfd4a260e4734c768480b98d05cee08f366a672
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Otavio Jacobi
|
||||
nested: []
|
||||
version: 18.0.2
|
||||
title: ""
|
||||
date: 2024-03-07T19:40:22.571Z
|
||||
- commits:
|
||||
- subject: Fix windows signing
|
||||
hash: 2e061845ae01fd6d3aa10c97bf8a68a8dba5dfd9
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Otavio Jacobi
|
||||
nested: []
|
||||
version: 18.0.1
|
||||
title: ""
|
||||
date: 2024-03-07T16:30:09.344Z
|
||||
- commits:
|
||||
- subject: Update to Node 20
|
||||
hash: bf5e61a61c542f0c0a57ae49bb9a9998588d6851
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: major
|
||||
change-type: major
|
||||
author: Otávio Jacobi
|
||||
nested: []
|
||||
version: 18.0.0
|
||||
title: ""
|
||||
date: 2024-02-06T12:19:35.139Z
|
||||
- commits:
|
||||
- subject: Fix target state construction with livepush
|
||||
hash: 8d6a621bfb62147ed0a88f58057e38211e82f841
|
||||
body: >
|
||||
When constructing the target state after a reported change from
|
||||
livepush, the
|
||||
|
||||
handler function would not pass all build tasks to the function that
|
||||
|
||||
constructs the target state, causing a TypeError when trying to obtain
|
||||
|
||||
the target image name for each service. This updates the handler to pass
|
||||
|
||||
all build tasks, ensuring the information is available to construct the
|
||||
|
||||
target state.
|
||||
footer:
|
||||
Relates-to: "#2724"
|
||||
relates-to: "#2724"
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Felipe Lalanne
|
||||
nested: []
|
||||
version: 17.5.1
|
||||
title: ""
|
||||
date: 2024-01-31T01:05:17.796Z
|
||||
- commits:
|
||||
- subject: "os versions: Add the --include-draft option"
|
||||
hash: 1ba8db1459355f6a5887f9106876318bd81f7f02
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: minor
|
||||
change-type: minor
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
- subject: "device os-update: Add option for including pre-release versions in the
|
||||
list"
|
||||
hash: cdada0aec8e8f7a6c72d629dfa7a36f5d56b1b0d
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: minor
|
||||
change-type: minor
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
- subject: "device os-update: Enable updates to pre-release versions of higher
|
||||
base semver"
|
||||
hash: 116653348219f9ce8fd896428d690940350f2597
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: minor
|
||||
change-type: minor
|
||||
Depends-on: https://github.com/balena-io/balena-sdk/pull/1398
|
||||
depends-on: https://github.com/balena-io/balena-sdk/pull/1398
|
||||
See: https://balena.fibery.io/Work/Task/cli-Enable-OS-Updates-to-pre-release-OS-versions-1751
|
||||
see: https://balena.fibery.io/Work/Task/cli-Enable-OS-Updates-to-pre-release-OS-versions-1751
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
- subject: Update balena-sdk to 19.4.0
|
||||
hash: 01538728cd4a0ad512b45c062b4d45f6d1f664e7
|
||||
body: |
|
||||
Update balena-sdk from 19.0.1 to 19.4.0
|
||||
footer:
|
||||
Change-type: minor
|
||||
change-type: minor
|
||||
author: Thodoris Greasidis
|
||||
nested:
|
||||
- commits:
|
||||
- subject: Update the deviceType.getInstructions tests
|
||||
hash: 3fd5f7d88c6fd335e8ada5c9efd64ddd14c9a992
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
- subject: "os.getSupportedOsUpdateVersions: Add the option to include draft
|
||||
releases"
|
||||
hash: 87b3187274a5f417ab82855029f517dc99a2f503
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: minor
|
||||
change-type: minor
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
- subject: Enable OS Updates to pre-release versions of higher base semver
|
||||
hash: 38360a84d29f316d3619d3b899538ccdf71635fc
|
||||
body: |
|
||||
Update balena-hup-action-utils from 5.0.0 to 6.1.0
|
||||
footer:
|
||||
Change-type: minor
|
||||
change-type: minor
|
||||
author: Thodoris Greasidis
|
||||
nested:
|
||||
- commits:
|
||||
- subject: Enable OS Updates to pre-release versions of higher base semver
|
||||
hash: 1b3e83b9519157be1ca9ba7756bba87a08bea04a
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: minor
|
||||
change-type: minor
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
version: balena-hup-action-utils-6.1.0
|
||||
title: ""
|
||||
date: 2024-01-04T13:32:14.391Z
|
||||
- commits:
|
||||
- subject: Drop support for TypeScript < 5.3.3
|
||||
hash: 7c3430280b47ea9a17f7bb94df068f2a46bfa975
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: major
|
||||
change-type: major
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
- subject: Drop support for node < v18
|
||||
hash: b1eb6844578bff03c05c19bbf6436526a69a8b30
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: major
|
||||
change-type: major
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
- subject: Update dependencies
|
||||
hash: 7413837d3aed9aa54ec5d1e218647f543308b298
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
- subject: Move the build step from prepare to prepack
|
||||
hash: c4480c214c79f4e07cf3b65944b83d11c9c2e267
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
version: balena-hup-action-utils-6.0.0
|
||||
title: ""
|
||||
date: 2023-12-20T13:33:03.867Z
|
||||
- commits:
|
||||
- subject: "patch: Update flowzone.yml"
|
||||
hash: 41a90775219e1b7b144069aea545f8f2141c88f7
|
||||
body: ""
|
||||
footer: {}
|
||||
author: Kyle Harding
|
||||
nested: []
|
||||
version: balena-hup-action-utils-5.0.1
|
||||
title: ""
|
||||
date: 2023-07-13T19:00:55.217Z
|
||||
- subject: "os.getAvailableOsVersions: Add the option to include draft releases"
|
||||
hash: b8e795ac01e2e05c6484cfd492ea9dfd5f16f142
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: minor
|
||||
change-type: minor
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
version: balena-sdk-19.4.0
|
||||
title: ""
|
||||
date: 2024-01-23T14:37:21.759Z
|
||||
- commits:
|
||||
- subject: Update date-fns to v3
|
||||
hash: f027a467b4fe45884650d2d8c56ce3a361842a6b
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
version: balena-sdk-19.3.5
|
||||
title: ""
|
||||
date: 2023-12-21T13:16:48.448Z
|
||||
- commits:
|
||||
- subject: "types/Device: Deprecate the non-existent vpn_address property"
|
||||
hash: 0a9d79b71f7c97813831649d18a4bc1703d71307
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Otávio Jacobi
|
||||
nested: []
|
||||
version: balena-sdk-19.3.4
|
||||
title: ""
|
||||
date: 2023-12-15T13:34:05.193Z
|
||||
- commits:
|
||||
- subject: "types/Device: Deprecate the non-existent state & status_sort_index
|
||||
properties"
|
||||
hash: 7013d15352906ae815f5cd630086222f5c9853df
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
version: balena-sdk-19.3.3
|
||||
title: ""
|
||||
date: 2023-12-15T12:02:22.609Z
|
||||
- commits:
|
||||
- subject: "test:fast: Run the tests ignoring any linting errors"
|
||||
hash: 59811c2f19a2044b4a1a0d1068ba90ee1587f9a3
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
- subject: "tests: Re-enable the explicit error checks for non-tarball DWB
|
||||
requests"
|
||||
hash: cb7c1a2d842e53255975a91457da00bd7070d8f7
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
version: balena-sdk-19.3.2
|
||||
title: ""
|
||||
date: 2023-12-08T15:49:54.842Z
|
||||
- commits:
|
||||
- subject: Update TypeScript to 5.3.2
|
||||
hash: d66ee5c290df275e18bbdcf8bd5cf9475e6db768
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
version: balena-sdk-19.3.1
|
||||
title: ""
|
||||
date: 2023-11-30T15:10:55.747Z
|
||||
- commits:
|
||||
- subject: "tests: Remove the explicit error checks for non-tarball DWB requests"
|
||||
hash: 0ca96b7440af76a1b7c52899d880dc817cf69278
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
- subject: "tests: Properly cleanup the test orgs"
|
||||
hash: 431acbfa773b271b614c619595abc61f3c6e791c
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
- subject: "tests: Reduce the request batching chunk size to speed up tests"
|
||||
hash: d3397cb6fdf6fd7edb4247d0d5980086e9338c1d
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
- subject: Add option for configuring the request batching chunk size
|
||||
hash: 94e5d7816ac813e9b8468b73e3d365f735182f4b
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: minor
|
||||
change-type: minor
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
version: balena-sdk-19.3.0
|
||||
title: ""
|
||||
date: 2023-11-30T13:54:32.874Z
|
||||
- commits:
|
||||
- subject: Add organization logo to organization
|
||||
hash: 251e835ad6fe778024bbe358fa70aa73c8e250b8
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: minor
|
||||
change-type: minor
|
||||
author: Otávio Jacobi
|
||||
nested: []
|
||||
version: balena-sdk-19.2.0
|
||||
title: ""
|
||||
date: 2023-11-13T11:20:58.418Z
|
||||
- commits:
|
||||
- subject: Add the retryRateLimitedRequests sdk option for retrying after HTTP
|
||||
429s
|
||||
hash: 25e83b67f6f7c3f20982c97d4e561dd81c37a672
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: minor
|
||||
change-type: minor
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
version: balena-sdk-19.1.0
|
||||
title: ""
|
||||
date: 2023-11-06T13:49:10.660Z
|
||||
version: 17.5.0
|
||||
title: ""
|
||||
date: 2024-01-23T15:52:49.156Z
|
||||
- commits:
|
||||
- subject: Regression described in GitHub Issue 2715; balena push hangs in local
|
||||
mode.
|
||||
hash: 09e2550b32f628f8e5b5cb8be0cafe4b40c7ce10
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
Signed-off-by: Ken Bannister <kb2ma@runbox.com>
|
||||
signed-off-by: Ken Bannister <kb2ma@runbox.com>
|
||||
author: Ken Bannister
|
||||
nested: []
|
||||
version: 17.4.12
|
||||
title: ""
|
||||
date: 2024-01-18T10:55:45.599Z
|
||||
- commits:
|
||||
- subject: Exclude the oclif package patch from the published files
|
||||
hash: 4e5eb4bcee8e33a1aac337401c0180817e152b69
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
- subject: Update the @oclif/core patch
|
||||
hash: 696bad3ed6f27832bf10f096c088367a57902920
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
version: 17.4.11
|
||||
title: ""
|
||||
date: 2024-01-05T23:01:07.859Z
|
||||
- commits:
|
||||
- subject: Normalize v prefixes in the --version parameter of all commands
|
||||
hash: b7b01ecd5314bddae73b7b062f9d034b3661bcef
|
||||
@ -1085,11 +706,9 @@
|
||||
Bumps [lint-staged](https://github.com/okonet/lint-staged) from
|
||||
13.3.0 to 14.0.0.
|
||||
|
||||
- [Release
|
||||
notes](https://github.com/okonet/lint-staged/releases)
|
||||
- [Release notes](https://github.com/okonet/lint-staged/releases)
|
||||
|
||||
-
|
||||
[Commits](https://github.com/okonet/lint-staged/compare/v13.3.0...v14.0.0)
|
||||
- [Commits](https://github.com/okonet/lint-staged/compare/v13.3.0...v14.0.0)
|
||||
|
||||
|
||||
---
|
||||
@ -1429,11 +1048,9 @@
|
||||
[lint-staged](https://github.com/okonet/lint-staged)
|
||||
from 13.3.0 to 14.0.0.
|
||||
|
||||
- [Release
|
||||
notes](https://github.com/okonet/lint-staged/releases)
|
||||
- [Release notes](https://github.com/okonet/lint-staged/releases)
|
||||
|
||||
-
|
||||
[Commits](https://github.com/okonet/lint-staged/compare/v13.3.0...v14.0.0)
|
||||
- [Commits](https://github.com/okonet/lint-staged/compare/v13.3.0...v14.0.0)
|
||||
|
||||
|
||||
---
|
||||
@ -1808,11 +1425,9 @@
|
||||
[lint-staged](https://github.com/okonet/lint-staged)
|
||||
from 13.3.0 to 14.0.0.
|
||||
|
||||
- [Release
|
||||
notes](https://github.com/okonet/lint-staged/releases)
|
||||
- [Release notes](https://github.com/okonet/lint-staged/releases)
|
||||
|
||||
-
|
||||
[Commits](https://github.com/okonet/lint-staged/compare/v13.3.0...v14.0.0)
|
||||
- [Commits](https://github.com/okonet/lint-staged/compare/v13.3.0...v14.0.0)
|
||||
|
||||
|
||||
---
|
||||
@ -3011,8 +2626,7 @@
|
||||
Be more lenient with decoding compressed
|
||||
responses, since (very rarely)
|
||||
|
||||
servers send slightly invalid gzip responses
|
||||
that are still accepted
|
||||
servers send slightly invalid gzip responses that are still accepted
|
||||
|
||||
by common browsers.
|
||||
|
||||
@ -3032,8 +2646,7 @@
|
||||
body: >
|
||||
The only breaking change is dropping support
|
||||
|
||||
for node v8 but we have already done that in
|
||||
v11.
|
||||
for node v8 but we have already done that in v11.
|
||||
footer:
|
||||
Change-type: minor
|
||||
change-type: minor
|
||||
@ -3062,8 +2675,7 @@
|
||||
body: >
|
||||
Otherwise request from the browser could end up
|
||||
|
||||
on the domain of the current url. For the
|
||||
dashboard
|
||||
on the domain of the current url. For the dashboard
|
||||
|
||||
this would mean the UI nginx would respond with
|
||||
|
||||
@ -4341,8 +3953,7 @@
|
||||
Be more lenient with decoding compressed
|
||||
responses, since (very rarely)
|
||||
|
||||
servers send slightly invalid gzip responses
|
||||
that are still accepted
|
||||
servers send slightly invalid gzip responses that are still accepted
|
||||
|
||||
by common browsers.
|
||||
|
||||
@ -4362,8 +3973,7 @@
|
||||
body: >
|
||||
The only breaking change is dropping support
|
||||
|
||||
for node v8 but we have already done that in
|
||||
v11.
|
||||
for node v8 but we have already done that in v11.
|
||||
footer:
|
||||
Change-type: minor
|
||||
change-type: minor
|
||||
@ -4392,8 +4002,7 @@
|
||||
body: >
|
||||
Otherwise request from the browser could end up
|
||||
|
||||
on the domain of the current url. For the
|
||||
dashboard
|
||||
on the domain of the current url. For the dashboard
|
||||
|
||||
this would mean the UI nginx would respond with
|
||||
|
||||
@ -5614,8 +5223,7 @@
|
||||
Be more lenient with decoding compressed responses,
|
||||
since (very rarely)
|
||||
|
||||
servers send slightly invalid gzip responses that are
|
||||
still accepted
|
||||
servers send slightly invalid gzip responses that are still accepted
|
||||
|
||||
by common browsers.
|
||||
|
||||
@ -7451,9 +7059,7 @@
|
||||
|
||||
```
|
||||
|
||||
Error: Could not detect abi for version 16.13.0 and runtime
|
||||
node. Updating "node-abi" might help solve this issue if it is a new
|
||||
release of node
|
||||
Error: Could not detect abi for version 16.13.0 and runtime node. Updating "node-abi" might help solve this issue if it is a new release of node
|
||||
|
||||
```
|
||||
footer:
|
||||
@ -7589,8 +7195,7 @@
|
||||
- getAllByApplication
|
||||
|
||||
|
||||
Changelog-entry: Enable audit logging and reviewing device
|
||||
changes. The SDK defaults to fetch last 7 days of history
|
||||
Changelog-entry: Enable audit logging and reviewing device changes. The SDK defaults to fetch last 7 days of history
|
||||
footer:
|
||||
Change-type: minor
|
||||
change-type: minor
|
||||
@ -7788,8 +7393,7 @@
|
||||
This is part of the work for enabling the creation of
|
||||
configuration
|
||||
|
||||
variables with a colon character as a means to allow Raspberry
|
||||
PI users
|
||||
variables with a colon character as a means to allow Raspberry PI users
|
||||
|
||||
to enable the second HDMI port on RPI4 and others.
|
||||
footer:
|
||||
@ -7949,14 +7553,11 @@
|
||||
[catch-uncommitted](https://github.com/resin-io-modules/catch-uncommitted)
|
||||
from 1.6.2 to 2.0.0.
|
||||
|
||||
- [Release
|
||||
notes](https://github.com/resin-io-modules/catch-uncommitted/releases)
|
||||
- [Release notes](https://github.com/resin-io-modules/catch-uncommitted/releases)
|
||||
|
||||
-
|
||||
[Changelog](https://github.com/balena-io-modules/catch-uncommitted/blob/master/CHANGELOG.md)
|
||||
- [Changelog](https://github.com/balena-io-modules/catch-uncommitted/blob/master/CHANGELOG.md)
|
||||
|
||||
-
|
||||
[Commits](https://github.com/resin-io-modules/catch-uncommitted/compare/v1.6.2...v2.0.0)
|
||||
- [Commits](https://github.com/resin-io-modules/catch-uncommitted/compare/v1.6.2...v2.0.0)
|
||||
|
||||
|
||||
---
|
||||
@ -8827,11 +8428,9 @@
|
||||
Bumps [parse-link-header](https://github.com/thlorenz/parse-link-header)
|
||||
from 1.0.1 to 2.0.0.
|
||||
|
||||
- [Release
|
||||
notes](https://github.com/thlorenz/parse-link-header/releases)
|
||||
- [Release notes](https://github.com/thlorenz/parse-link-header/releases)
|
||||
|
||||
-
|
||||
[Commits](https://github.com/thlorenz/parse-link-header/compare/v1.0.1...v2.0.0)
|
||||
- [Commits](https://github.com/thlorenz/parse-link-header/compare/v1.0.1...v2.0.0)
|
||||
|
||||
|
||||
---
|
||||
@ -9781,14 +9380,11 @@
|
||||
Bumps [browserify](https://github.com/browserify/browserify)
|
||||
from 14.5.0 to 17.0.0.
|
||||
|
||||
- [Release
|
||||
notes](https://github.com/browserify/browserify/releases)
|
||||
- [Release notes](https://github.com/browserify/browserify/releases)
|
||||
|
||||
-
|
||||
[Changelog](https://github.com/browserify/browserify/blob/master/changelog.markdown)
|
||||
- [Changelog](https://github.com/browserify/browserify/blob/master/changelog.markdown)
|
||||
|
||||
-
|
||||
[Commits](https://github.com/browserify/browserify/compare/14.5.0...v17.0.0)
|
||||
- [Commits](https://github.com/browserify/browserify/compare/14.5.0...v17.0.0)
|
||||
|
||||
|
||||
---
|
||||
@ -9816,11 +9412,9 @@
|
||||
|
||||
- [Release notes](https://github.com/raszi/node-tmp/releases)
|
||||
|
||||
-
|
||||
[Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
|
||||
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
|
||||
|
||||
-
|
||||
[Commits](https://github.com/raszi/node-tmp/compare/v0.0.31...v0.2.1)
|
||||
- [Commits](https://github.com/raszi/node-tmp/compare/v0.0.31...v0.2.1)
|
||||
|
||||
|
||||
---
|
||||
@ -9902,11 +9496,9 @@
|
||||
|
||||
- [Release notes](https://github.com/mochajs/mocha/releases)
|
||||
|
||||
-
|
||||
[Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
|
||||
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
|
||||
|
||||
-
|
||||
[Commits](https://github.com/mochajs/mocha/compare/v3.5.3...v10.0.0)
|
||||
- [Commits](https://github.com/mochajs/mocha/compare/v3.5.3...v10.0.0)
|
||||
|
||||
|
||||
---
|
||||
@ -9946,11 +9538,9 @@
|
||||
Bumps [mockttp](https://github.com/httptoolkit/mockttp) from
|
||||
0.9.1 to 2.7.0.
|
||||
|
||||
- [Release
|
||||
notes](https://github.com/httptoolkit/mockttp/releases)
|
||||
- [Release notes](https://github.com/httptoolkit/mockttp/releases)
|
||||
|
||||
-
|
||||
[Commits](https://github.com/httptoolkit/mockttp/compare/v0.9.1...v2.7.0)
|
||||
- [Commits](https://github.com/httptoolkit/mockttp/compare/v0.9.1...v2.7.0)
|
||||
|
||||
|
||||
---
|
||||
@ -10022,11 +9612,9 @@
|
||||
Bumps [superagent](https://github.com/visionmedia/superagent)
|
||||
from 3.8.3 to 7.1.2.
|
||||
|
||||
- [Release
|
||||
notes](https://github.com/visionmedia/superagent/releases)
|
||||
- [Release notes](https://github.com/visionmedia/superagent/releases)
|
||||
|
||||
-
|
||||
[Changelog](https://github.com/visionmedia/superagent/blob/master/HISTORY.md)
|
||||
- [Changelog](https://github.com/visionmedia/superagent/blob/master/HISTORY.md)
|
||||
|
||||
- [Commits](https://github.com/visionmedia/superagent/commits)
|
||||
|
||||
@ -10056,11 +9644,9 @@
|
||||
|
||||
- [Release notes](https://github.com/motdotla/dotenv/releases)
|
||||
|
||||
-
|
||||
[Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md)
|
||||
- [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md)
|
||||
|
||||
-
|
||||
[Commits](https://github.com/motdotla/dotenv/compare/v4.0.0...v16.0.0)
|
||||
- [Commits](https://github.com/motdotla/dotenv/compare/v4.0.0...v16.0.0)
|
||||
|
||||
|
||||
---
|
||||
@ -10655,11 +10241,9 @@
|
||||
Using build instead of pull allows to add metadata (e.g. labels)
|
||||
to pulled images in an
|
||||
|
||||
atomic way. This commit adds the `DockerProgres.build()` method
|
||||
to
|
||||
atomic way. This commit adds the `DockerProgres.build()` method to
|
||||
|
||||
build an image from a remote (or local) source and track the
|
||||
progress of
|
||||
build an image from a remote (or local) source and track the progress of
|
||||
|
||||
the build.
|
||||
footer:
|
||||
@ -10690,8 +10274,7 @@
|
||||
body: >
|
||||
Starting in balenaOS v2.93.0 the supervisor images are tagged
|
||||
|
||||
as balena_supervisor after being pulled from the balena
|
||||
registry.
|
||||
as balena_supervisor after being pulled from the balena registry.
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
@ -11748,8 +11331,7 @@
|
||||
Be more lenient with decoding compressed
|
||||
responses, since (very rarely)
|
||||
|
||||
servers send slightly invalid gzip responses
|
||||
that are still accepted
|
||||
servers send slightly invalid gzip responses that are still accepted
|
||||
|
||||
by common browsers.
|
||||
|
||||
@ -13423,8 +13005,7 @@
|
||||
This changes improves the speed that the project is tarballed by
|
||||
switching from
|
||||
|
||||
`klaw` to `recursive-fs` and not running `lstat` on files that are
|
||||
ignored.
|
||||
`klaw` to `recursive-fs` and not running `lstat` on files that are ignored.
|
||||
|
||||
Whilst testing with the Jellyfish repository, which contains a number of
|
||||
|
||||
@ -13449,11 +13030,9 @@
|
||||
Fixes #2394
|
||||
|
||||
|
||||
When pushing to a device in local mode, if a service is not external,
|
||||
and uses
|
||||
When pushing to a device in local mode, if a service is not external, and uses
|
||||
|
||||
an `image` field, that value should be used for tags and target state,
|
||||
otherwise
|
||||
an `image` field, that value should be used for tags and target state, otherwise
|
||||
|
||||
it won't match the image name generated on the device by balenaEngine.
|
||||
footer:
|
||||
@ -13631,11 +13210,7 @@
|
||||
https://github.com/compose-spec/compose-spec/blob/43f6537b2c8f01b6d3f0e184d13a0f3cb93d38d7/spec.md#fragments
|
||||
|
||||
|
||||
Removing the FAILSAFE_SCHEMA flag is not expected to break existing
|
||||
project files, since the default behaviour is more liberal, or cause
|
||||
problems down the road given we perform validation immediately after.
|
||||
Docs for the flag:
|
||||
https://github.com/nodeca/js-yaml#load-string---options-
|
||||
Removing the FAILSAFE_SCHEMA flag is not expected to break existing project files, since the default behaviour is more liberal, or cause problems down the road given we perform validation immediately after. Docs for the flag: https://github.com/nodeca/js-yaml#load-string---options-
|
||||
footer:
|
||||
Change-type: minor
|
||||
change-type: minor
|
||||
@ -13942,8 +13517,7 @@
|
||||
Be more lenient with decoding compressed responses,
|
||||
since (very rarely)
|
||||
|
||||
servers send slightly invalid gzip responses that are
|
||||
still accepted
|
||||
servers send slightly invalid gzip responses that are still accepted
|
||||
|
||||
by common browsers.
|
||||
|
||||
@ -14242,8 +13816,7 @@
|
||||
This change allows use of a contract and release semver when doing a
|
||||
push,
|
||||
|
||||
and is part of the larger feature to use the builder as part of a CI/CD
|
||||
pipeline.
|
||||
and is part of the larger feature to use the builder as part of a CI/CD pipeline.
|
||||
footer:
|
||||
Change-type: minor
|
||||
change-type: minor
|
||||
@ -14694,8 +14267,7 @@
|
||||
body: >
|
||||
This change will allow to build releases as draft and have them being
|
||||
|
||||
set as final at a later stage. This change is part of a larger feature
|
||||
towards
|
||||
set as final at a later stage. This change is part of a larger feature towards
|
||||
|
||||
using the builder as part of CI/CD pipelines.
|
||||
footer:
|
||||
@ -15176,8 +14748,7 @@
|
||||
body: >
|
||||
When using deploy to create a release for a multi-container project one
|
||||
|
||||
needs to follow this to avoid triggering a build. Relevant for CI/CD
|
||||
scenarios
|
||||
needs to follow this to avoid triggering a build. Relevant for CI/CD scenarios
|
||||
|
||||
with their own build pipeline.
|
||||
footer:
|
||||
@ -15219,8 +14790,7 @@
|
||||
users to configure the image with system connection settings.
|
||||
|
||||
|
||||
This change affects both the `balena local configure` and `balena os
|
||||
configure` commands.
|
||||
This change affects both the `balena local configure` and `balena os configure` commands.
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
@ -15617,12 +15187,10 @@
|
||||
The `local` logging driver captures output from container’s
|
||||
stdout/stderr
|
||||
|
||||
and writes them to an internal storage that is optimized for performance
|
||||
and disk use.
|
||||
and writes them to an internal storage that is optimized for performance and disk use.
|
||||
|
||||
|
||||
We also want to capture these logs on startup to wait for
|
||||
success/failure.
|
||||
We also want to capture these logs on startup to wait for success/failure.
|
||||
|
||||
|
||||
Advise the use of `--privileged` when running Docker-in-Docker to avoid
|
||||
@ -16061,8 +15629,7 @@
|
||||
body: >
|
||||
10.4.0 improves image size estimation
|
||||
|
||||
10.4.1 prevents running out of space while pulling images because of
|
||||
temporary files
|
||||
10.4.1 prevents running out of space while pulling images because of temporary files
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
@ -24441,8 +24008,7 @@
|
||||
This fixes a build error caused by a recent version bump of
|
||||
'patch-package':
|
||||
|
||||
"Patch file found for package execa which is not present at
|
||||
node_modules/qqjs/node_modules/execa"
|
||||
"Patch file found for package execa which is not present at node_modules/qqjs/node_modules/execa"
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
@ -24727,8 +24293,7 @@
|
||||
any balenaOS devices' message - if the OS is Windows.
|
||||
|
||||
|
||||
Also updated the INSTALL instructions with details of the dependency on
|
||||
Bonjour.
|
||||
Also updated the INSTALL instructions with details of the dependency on Bonjour.
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
@ -25614,17 +25179,11 @@
|
||||
body: >
|
||||
The full warning output was:
|
||||
|
||||
(node:43572) MaxListenersExceededWarning: Possible EventEmitter memory
|
||||
leak detected. 11 drain listeners added. Use emitter.setMaxListeners()
|
||||
to increase limit
|
||||
(node:43572) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added. Use emitter.setMaxListeners() to increase limit
|
||||
|
||||
(node:43572) MaxListenersExceededWarning: Possible EventEmitter memory
|
||||
leak detected. 11 error listeners added. Use emitter.setMaxListeners()
|
||||
to increase limit
|
||||
(node:43572) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
|
||||
|
||||
(node:43572) MaxListenersExceededWarning: Possible EventEmitter memory
|
||||
leak detected. 11 close listeners added. Use emitter.setMaxListeners()
|
||||
to increase limit
|
||||
(node:43572) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added. Use emitter.setMaxListeners() to increase limit
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
@ -25726,17 +25285,13 @@
|
||||
E.g. "balena build -e -h <IP> -p 2375" with the CLI running on a Mac
|
||||
laptop,
|
||||
|
||||
using balenaEngine on an Intel NUC device, building an image for the RPi
|
||||
(ARM
|
||||
using balenaEngine on an Intel NUC device, building an image for the RPi (ARM
|
||||
|
||||
image arch). Previously, QEMU setup by the CLI assumed that docker ran
|
||||
on the
|
||||
image arch). Previously, QEMU setup by the CLI assumed that docker ran on the
|
||||
|
||||
same OS as the CLI (Docker for Mac has built-in binfmt_misc support and
|
||||
does
|
||||
same OS as the CLI (Docker for Mac has built-in binfmt_misc support and does
|
||||
|
||||
not require additional setup, but balenaEngine on Linux requires
|
||||
explicit QEMU
|
||||
not require additional setup, but balenaEngine on Linux requires explicit QEMU
|
||||
|
||||
setup.)
|
||||
footer:
|
||||
@ -25827,8 +25382,7 @@
|
||||
Fixes #1380
|
||||
|
||||
|
||||
Argument parsing of "env rm" command was improved by migrating it to
|
||||
oclif
|
||||
Argument parsing of "env rm" command was improved by migrating it to oclif
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
@ -25856,24 +25410,16 @@
|
||||
|
||||
```
|
||||
|
||||
lib/actions-oclif/env/add.ts(73,16): error TS2742: The inferred type of
|
||||
'flags' cannot be named without a reference to
|
||||
'../../../../../../../../../volumes/live/c64feead-f78e-4bd4-742d-ccd29aef53c4/volume/node_modules/@oclif/parser/lib/flags'.
|
||||
This is likely not portable. A type annotation is necessary.
|
||||
lib/actions-oclif/env/add.ts(73,16): error TS2742: The inferred type of 'flags' cannot be named without a reference to '../../../../../../../../../volumes/live/c64feead-f78e-4bd4-742d-ccd29aef53c4/volume/node_modules/@oclif/parser/lib/flags'. This is likely not portable. A type annotation is necessary.
|
||||
|
||||
lib/actions-oclif/version.ts(42,16): error TS2742: The inferred type of
|
||||
'flags' cannot be named without a reference to
|
||||
'../../../../../../../../volumes/live/c64feead-f78e-4bd4-742d-ccd29aef53c4/volume/node_modules/@oclif/parser/lib/flags.js'.
|
||||
This is likely not portable. A type annotation is necessary.
|
||||
lib/actions-oclif/version.ts(42,16): error TS2742: The inferred type of 'flags' cannot be named without a reference to '../../../../../../../../volumes/live/c64feead-f78e-4bd4-742d-ccd29aef53c4/volume/node_modules/@oclif/parser/lib/flags.js'. This is likely not portable. A type annotation is necessary.
|
||||
|
||||
```
|
||||
|
||||
|
||||
This appears to be reported on the Typescript repo here
|
||||
https://github.com/microsoft/TypeScript/issues/29221
|
||||
This appears to be reported on the Typescript repo here https://github.com/microsoft/TypeScript/issues/29221
|
||||
|
||||
The suggested workaround is to explicitly set the type of the `flags`
|
||||
static
|
||||
The suggested workaround is to explicitly set the type of the `flags` static
|
||||
|
||||
property.
|
||||
footer:
|
||||
@ -26928,8 +26474,7 @@
|
||||
To fix the same error as here
|
||||
https://github.com/nodejs/node/issues/20285
|
||||
|
||||
Task changes as described at
|
||||
https://fettblog.eu/gulp-4-parallel-and-series/
|
||||
Task changes as described at https://fettblog.eu/gulp-4-parallel-and-series/
|
||||
footers:
|
||||
change-type: patch
|
||||
signed-off-by: Gergely Imreh <gergely@balena.io>
|
||||
@ -27836,11 +27381,7 @@
|
||||
for is to determine whether the command should issue a legacy user API
|
||||
key or a provisioning key.
|
||||
|
||||
This makes version optional but tries to figure it out by itself by
|
||||
reading os-release from the image's boot partition. This is not
|
||||
foul-proof however, and while it'll work with most recent images it
|
||||
won't work with all and in that case it'll bail out and only then warn
|
||||
the user to specify it via the --version argument.
|
||||
This makes version optional but tries to figure it out by itself by reading os-release from the image's boot partition. This is not foul-proof however, and while it'll work with most recent images it won't work with all and in that case it'll bail out and only then warn the user to specify it via the --version argument.
|
||||
footers:
|
||||
change-type: minor
|
||||
hash: 8291c96e69407a4c691a35c27ff3cd406794e946
|
||||
@ -28480,21 +28021,9 @@
|
||||
compatibility merely by looking for the `os-config` executable in the
|
||||
device, and bail out if it’s not present.
|
||||
|
||||
`join` and `leave` accept a couple of optional arguments and implement a
|
||||
wizard-style interface if these are not given. They allow to
|
||||
interactively select the device and the application to promote to. If
|
||||
the user has no apps, `join` will offer the user to create one. `join`
|
||||
will also offer the user to login or create an account if they’re not
|
||||
logged in already without exiting the wizard.
|
||||
`join` and `leave` accept a couple of optional arguments and implement a wizard-style interface if these are not given. They allow to interactively select the device and the application to promote to. If the user has no apps, `join` will offer the user to create one. `join` will also offer the user to login or create an account if they’re not logged in already without exiting the wizard.
|
||||
|
||||
`resin-sync` (that's used internally to discover local devices) requires
|
||||
admin privileges. If no device has been specified as an argument, the
|
||||
commands will launch the device scanning process in a privileged
|
||||
subprocess via two new internal commands: `internal sudo` and `internal
|
||||
scanDevices`. This avoids having the user to invoke the commands with
|
||||
sudo and only request escalation if truly needed. This commit also
|
||||
removes the dependency to “president”, implementing “sudo” functionality
|
||||
within the CLI.
|
||||
`resin-sync` (that's used internally to discover local devices) requires admin privileges. If no device has been specified as an argument, the commands will launch the device scanning process in a privileged subprocess via two new internal commands: `internal sudo` and `internal scanDevices`. This avoids having the user to invoke the commands with sudo and only request escalation if truly needed. This commit also removes the dependency to “president”, implementing “sudo” functionality within the CLI.
|
||||
footers:
|
||||
change-type: minor
|
||||
hash: 5cbe1c410f7081ff78b41e8a6d9c0f06ad92934e
|
||||
@ -28963,8 +28492,7 @@
|
||||
image tars via the builder. It’s needed for users to avoid having to
|
||||
switch between CLI versions in order to push to legacy apps as well.
|
||||
|
||||
Note: this pins resin-sdk to 9.0.0-beta14 as I couldn’t get it to
|
||||
install otherwise — npm would always install 9.0.0-beta9 instead.
|
||||
Note: this pins resin-sdk to 9.0.0-beta14 as I couldn’t get it to install otherwise — npm would always install 9.0.0-beta9 instead.
|
||||
footers:
|
||||
change-type: minor
|
||||
hash: 62f006b89ab0fa8a1575f213579910f732f17c0f
|
||||
@ -29094,8 +28622,7 @@
|
||||
|
||||
* all 'resin-sdk' requires replaced with 'resin-sdk-preconfigured'
|
||||
|
||||
* resin-sdk-preconfigured TS typings are copy pasted from the current
|
||||
resin-sdk master
|
||||
* resin-sdk-preconfigured TS typings are copy pasted from the current resin-sdk master
|
||||
|
||||
The idea is to progressively replace all 'resin-sdk-preconfigured'
|
||||
|
||||
@ -29145,10 +28672,7 @@
|
||||
body: >-
|
||||
New version is 3.1.0.
|
||||
|
||||
The updated version is not backwards compatible as it removes all *Async
|
||||
methods that are in wide use in the CLI. The workaround for now is to
|
||||
manually promisify the client and replace all `new Docker()` calls with
|
||||
a shared function that returns a promisified client.
|
||||
The updated version is not backwards compatible as it removes all *Async methods that are in wide use in the CLI. The workaround for now is to manually promisify the client and replace all `new Docker()` calls with a shared function that returns a promisified client.
|
||||
hash: 299bc0db132e5b04894b6b955aa469666a66ce8c
|
||||
subject: Update docker-toolbelt
|
||||
- author: Akis Kesoglou
|
||||
@ -29173,11 +28697,9 @@
|
||||
|
||||
- Adds a utility file to retrieve the CLI version and its parts
|
||||
|
||||
- Adds a helper that can be used to manipulate display on capable
|
||||
clients
|
||||
- Adds a helper that can be used to manipulate display on capable clients
|
||||
|
||||
- Declares several new dependencies. Most are already indirectly
|
||||
installed via some dependency
|
||||
- Declares several new dependencies. Most are already indirectly installed via some dependency
|
||||
footers:
|
||||
change-type: minor
|
||||
hash: 14a3f51b730b12ad66462342888fb2b4bcf1f1ea
|
||||
|
105
CHANGELOG.md
105
CHANGELOG.md
@ -4,111 +4,6 @@ All notable changes to this project will be documented in this file
|
||||
automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
|
||||
This project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
## 18.0.3 - 2024-03-11
|
||||
|
||||
* Removes signing patches [Otavio Jacobi]
|
||||
|
||||
## 18.0.2 - 2024-03-07
|
||||
|
||||
* Remove no longer needed windows oclif patches [Otavio Jacobi]
|
||||
|
||||
## 18.0.1 - 2024-03-07
|
||||
|
||||
* Fix windows signing [Otavio Jacobi]
|
||||
|
||||
## 18.0.0 - 2024-02-06
|
||||
|
||||
* Update to Node 20 [Otávio Jacobi]
|
||||
|
||||
## 17.5.1 - 2024-01-31
|
||||
|
||||
* Fix target state construction with livepush [Felipe Lalanne]
|
||||
|
||||
## 17.5.0 - 2024-01-23
|
||||
|
||||
* os versions: Add the --include-draft option [Thodoris Greasidis]
|
||||
* device os-update: Add option for including pre-release versions in the list [Thodoris Greasidis]
|
||||
* device os-update: Enable updates to pre-release versions of higher base semver [Thodoris Greasidis]
|
||||
|
||||
<details>
|
||||
<summary> Update balena-sdk to 19.4.0 [Thodoris Greasidis] </summary>
|
||||
|
||||
> ### balena-sdk-19.4.0 - 2024-01-23
|
||||
>
|
||||
> * Update the deviceType.getInstructions tests [Thodoris Greasidis]
|
||||
> * os.getSupportedOsUpdateVersions: Add the option to include draft releases [Thodoris Greasidis]
|
||||
>
|
||||
> <details>
|
||||
> <summary> Enable OS Updates to pre-release versions of higher base semver [Thodoris Greasidis] </summary>
|
||||
>
|
||||
>> #### balena-hup-action-utils-6.1.0 - 2024-01-04
|
||||
>>
|
||||
>> * Enable OS Updates to pre-release versions of higher base semver [Thodoris Greasidis]
|
||||
>>
|
||||
>> #### balena-hup-action-utils-6.0.0 - 2023-12-20
|
||||
>>
|
||||
>> * Drop support for TypeScript < 5.3.3 [Thodoris Greasidis]
|
||||
>> * Drop support for node < v18 [Thodoris Greasidis]
|
||||
>> * Update dependencies [Thodoris Greasidis]
|
||||
>> * Move the build step from prepare to prepack [Thodoris Greasidis]
|
||||
>>
|
||||
>> #### balena-hup-action-utils-5.0.1 - 2023-07-13
|
||||
>>
|
||||
>> * patch: Update flowzone.yml [Kyle Harding]
|
||||
>>
|
||||
>
|
||||
> </details>
|
||||
>
|
||||
> * os.getAvailableOsVersions: Add the option to include draft releases [Thodoris Greasidis]
|
||||
>
|
||||
> ### balena-sdk-19.3.5 - 2023-12-21
|
||||
>
|
||||
> * Update date-fns to v3 [Thodoris Greasidis]
|
||||
>
|
||||
> ### balena-sdk-19.3.4 - 2023-12-15
|
||||
>
|
||||
> * types/Device: Deprecate the non-existent vpn_address property [Otávio Jacobi]
|
||||
>
|
||||
> ### balena-sdk-19.3.3 - 2023-12-15
|
||||
>
|
||||
> * types/Device: Deprecate the non-existent state & status_sort_index properties [Thodoris Greasidis]
|
||||
>
|
||||
> ### balena-sdk-19.3.2 - 2023-12-08
|
||||
>
|
||||
> * test:fast: Run the tests ignoring any linting errors [Thodoris Greasidis]
|
||||
> * tests: Re-enable the explicit error checks for non-tarball DWB requests [Thodoris Greasidis]
|
||||
>
|
||||
> ### balena-sdk-19.3.1 - Invalid date
|
||||
>
|
||||
> * Update TypeScript to 5.3.2 [Thodoris Greasidis]
|
||||
>
|
||||
> ### balena-sdk-19.3.0 - Invalid date
|
||||
>
|
||||
> * tests: Remove the explicit error checks for non-tarball DWB requests [Thodoris Greasidis]
|
||||
> * tests: Properly cleanup the test orgs [Thodoris Greasidis]
|
||||
> * tests: Reduce the request batching chunk size to speed up tests [Thodoris Greasidis]
|
||||
> * Add option for configuring the request batching chunk size [Thodoris Greasidis]
|
||||
>
|
||||
> ### balena-sdk-19.2.0 - 2023-11-13
|
||||
>
|
||||
> * Add organization logo to organization [Otávio Jacobi]
|
||||
>
|
||||
> ### balena-sdk-19.1.0 - 2023-11-06
|
||||
>
|
||||
> * Add the retryRateLimitedRequests sdk option for retrying after HTTP 429s [Thodoris Greasidis]
|
||||
>
|
||||
|
||||
</details>
|
||||
|
||||
## 17.4.12 - 2024-01-18
|
||||
|
||||
* Regression described in GitHub Issue 2715; balena push hangs in local mode. [Ken Bannister]
|
||||
|
||||
## 17.4.11 - 2024-01-05
|
||||
|
||||
* Exclude the oclif package patch from the published files [Thodoris Greasidis]
|
||||
* Update the @oclif/core patch [Thodoris Greasidis]
|
||||
|
||||
## 17.4.10 - 2024-01-02
|
||||
|
||||
* Normalize v prefixes in the --version parameter of all commands [Thodoris Greasidis]
|
||||
|
@ -78,8 +78,8 @@ If you are a Node.js developer, you may wish to install the balena CLI via [npm]
|
||||
The npm installation involves building native (platform-specific) binary modules, which require
|
||||
some development tools to be installed first, as follows.
|
||||
|
||||
> **The balena CLI currently requires Node.js version 20.**
|
||||
> **Versions 21 and later are not yet fully supported.**
|
||||
> **The balena CLI currently requires Node.js version 18.**
|
||||
> **Versions 19 and later are not yet fully supported.**
|
||||
|
||||
### Install development tools
|
||||
|
||||
@ -89,7 +89,7 @@ some development tools to be installed first, as follows.
|
||||
$ sudo apt-get update && sudo apt-get -y install curl python3 git make g++
|
||||
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
|
||||
$ . ~/.bashrc
|
||||
$ nvm install 20
|
||||
$ nvm install 18
|
||||
```
|
||||
|
||||
The `curl` command line above uses
|
||||
@ -106,7 +106,7 @@ recommended.
|
||||
```sh
|
||||
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
|
||||
$ . ~/.bashrc
|
||||
$ nvm install 20
|
||||
$ nvm install 18
|
||||
```
|
||||
|
||||
#### **Windows** (not WSL)
|
||||
@ -114,7 +114,7 @@ $ nvm install 20
|
||||
Install:
|
||||
|
||||
* If you'd like the ability to switch between Node.js versions, install
|
||||
- Node.js v20 from the [Nodejs.org releases page](https://nodejs.org/en/download/releases/).
|
||||
- Node.js v18 from the [Nodejs.org releases page](https://nodejs.org/en/download/releases/).
|
||||
[nvm-windows](https://github.com/coreybutler/nvm-windows#node-version-manager-nvm-for-windows)
|
||||
instead.
|
||||
* The [MSYS2 shell](https://www.msys2.org/), which provides `git`, `make`, `g++` and more:
|
||||
@ -141,7 +141,8 @@ $ npm install balena-cli --global --production --unsafe-perm
|
||||
```
|
||||
|
||||
`--unsafe-perm` is needed when `npm install` is executed as the `root` user (e.g. in a Docker
|
||||
container) in order to allow npm scripts like `postinstall` to be executed.
|
||||
container) in order to allow npm scripts like `postinstall` to be executed. The `--global` flag is needed so
|
||||
the install uses the `npm-shrinkwrap.json` lockfile when [downloading dependencies](https://docs.npmjs.com/cli/v9/configuring-npm/npm-shrinkwrap-json#description).
|
||||
|
||||
## Additional Dependencies
|
||||
|
||||
|
@ -20,7 +20,7 @@ import type { JsonVersions } from '../lib/commands/version/index';
|
||||
import { run as oclifRun } from '@oclif/core';
|
||||
import * as archiver from 'archiver';
|
||||
import * as Bluebird from 'bluebird';
|
||||
import { exec, execFile } from 'child_process';
|
||||
import { execFile } from 'child_process';
|
||||
import * as filehound from 'filehound';
|
||||
import { Stats } from 'fs';
|
||||
import * as fs from 'fs-extra';
|
||||
@ -41,7 +41,6 @@ import {
|
||||
} from './utils';
|
||||
|
||||
const execFileAsync = promisify(execFile);
|
||||
const execAsync = promisify(exec);
|
||||
|
||||
export const packageJSON = loadPackageJson();
|
||||
export const version = 'v' + packageJSON.version;
|
||||
@ -61,13 +60,9 @@ const standaloneZips: PathByPlatform = {
|
||||
win32: dPath(`balena-cli-${version}-windows-${arch}-standalone.zip`),
|
||||
};
|
||||
|
||||
const getOclifInstallersOriginalNames = async (): Promise<PathByPlatform> => {
|
||||
const { stdout } = await execAsync('git rev-parse --short HEAD');
|
||||
const sha = stdout.trim();
|
||||
return {
|
||||
darwin: dPath('macos', `balena-${version}-${sha}-${arch}.pkg`),
|
||||
win32: dPath('win32', `balena-${version}-${sha}-${arch}.exe`),
|
||||
};
|
||||
const oclifInstallers: PathByPlatform = {
|
||||
darwin: dPath('macos', `balena-${version}.pkg`),
|
||||
win32: dPath('win32', `balena-${version}-${arch}.exe`),
|
||||
};
|
||||
|
||||
const renamedOclifInstallers: PathByPlatform = {
|
||||
@ -160,7 +155,7 @@ ${sep}
|
||||
* messages (stdout and stderr) in order to call diffPkgOutput().
|
||||
*/
|
||||
async function execPkg(...args: any[]) {
|
||||
const { exec: pkgExec } = await import('@yao-pkg/pkg');
|
||||
const { exec: pkgExec } = await import('pkg');
|
||||
const outTap = new StdOutTap(true);
|
||||
try {
|
||||
outTap.tap();
|
||||
@ -426,7 +421,6 @@ export async function buildStandaloneZip() {
|
||||
}
|
||||
|
||||
async function renameInstallerFiles() {
|
||||
const oclifInstallers = await getOclifInstallersOriginalNames();
|
||||
if (await fs.pathExists(oclifInstallers[process.platform])) {
|
||||
await fs.rename(
|
||||
oclifInstallers[process.platform],
|
||||
@ -441,20 +435,18 @@ async function renameInstallerFiles() {
|
||||
* https://learn.microsoft.com/en-us/dotnet/framework/tools/signtool-exe
|
||||
*/
|
||||
async function signWindowsInstaller() {
|
||||
if (process.env.SM_CODE_SIGNING_CERT_SHA1_HASH) {
|
||||
if (process.env.CSC_LINK && process.env.CSC_KEY_PASSWORD) {
|
||||
const exeName = renamedOclifInstallers[process.platform];
|
||||
console.log(`Signing installer "${exeName}"`);
|
||||
// trust ...
|
||||
await execFileAsync('signtool.exe', [
|
||||
'sign',
|
||||
'-sha1',
|
||||
process.env.SM_CODE_SIGNING_CERT_SHA1_HASH,
|
||||
'-tr',
|
||||
'-t',
|
||||
process.env.TIMESTAMP_SERVER || 'http://timestamp.comodoca.com',
|
||||
'-td',
|
||||
'SHA256',
|
||||
'-fd',
|
||||
'SHA256',
|
||||
'-f',
|
||||
process.env.CSC_LINK,
|
||||
'-p',
|
||||
process.env.CSC_KEY_PASSWORD,
|
||||
'-d',
|
||||
`balena-cli ${version}`,
|
||||
exeName,
|
||||
|
@ -1454,7 +1454,6 @@ Examples:
|
||||
$ balena device os-update 23c73a1
|
||||
$ balena device os-update 23c73a1 --version 2.101.7
|
||||
$ balena device os-update 23c73a1 --version 2.31.0+rev1.prod
|
||||
$ balena device os-update 23c73a1 --include-draft
|
||||
|
||||
### Arguments
|
||||
|
||||
@ -1468,10 +1467,6 @@ the uuid of the device to update
|
||||
|
||||
a balenaOS version
|
||||
|
||||
#### --include-draft
|
||||
|
||||
include pre-release balenaOS versions
|
||||
|
||||
#### -y, --yes
|
||||
|
||||
answer "yes" to all questions (non interactive use)
|
||||
@ -2728,10 +2723,6 @@ device type
|
||||
|
||||
select balenaOS ESR versions
|
||||
|
||||
#### --include-draft
|
||||
|
||||
include pre-release balenaOS versions
|
||||
|
||||
## os download <type>
|
||||
|
||||
Download an unconfigured OS image for the specified device type.
|
||||
|
@ -37,7 +37,6 @@ export default class DeviceOsUpdateCmd extends Command {
|
||||
'$ balena device os-update 23c73a1',
|
||||
'$ balena device os-update 23c73a1 --version 2.101.7',
|
||||
'$ balena device os-update 23c73a1 --version 2.31.0+rev1.prod',
|
||||
'$ balena device os-update 23c73a1 --include-draft',
|
||||
];
|
||||
|
||||
public static args = {
|
||||
@ -52,12 +51,6 @@ export default class DeviceOsUpdateCmd extends Command {
|
||||
public static flags = {
|
||||
version: Flags.string({
|
||||
description: 'a balenaOS version',
|
||||
exclusive: ['include-draft'],
|
||||
}),
|
||||
'include-draft': Flags.boolean({
|
||||
description: 'include pre-release balenaOS versions',
|
||||
default: false,
|
||||
exclusive: ['version'],
|
||||
}),
|
||||
yes: cf.yes,
|
||||
help: cf.help,
|
||||
@ -93,25 +86,10 @@ export default class DeviceOsUpdateCmd extends Command {
|
||||
);
|
||||
}
|
||||
|
||||
let includeDraft = options['include-draft'];
|
||||
if (!includeDraft && options.version != null) {
|
||||
const bSemver = await import('balena-semver');
|
||||
const parsedVersion = bSemver.parse(options.version);
|
||||
// When the user provides a draft version, we need to pass `includeDraft`
|
||||
// to the os.getSupportedOsUpdateVersions() since w/o it the results
|
||||
// will for sure not include the user provided version and the command
|
||||
// would return a "not in the Host OS update targets" error.
|
||||
includeDraft =
|
||||
parsedVersion != null && parsedVersion.prerelease.length > 0;
|
||||
}
|
||||
|
||||
// Get supported OS update versions
|
||||
const hupVersionInfo = await sdk.models.os.getSupportedOsUpdateVersions(
|
||||
is_of__device_type[0].slug,
|
||||
currentOsVersion,
|
||||
{
|
||||
includeDraft,
|
||||
},
|
||||
);
|
||||
if (hupVersionInfo.versions.length === 0) {
|
||||
throw new ExpectedError(
|
||||
|
@ -48,33 +48,15 @@ export default class OsVersionsCmd extends Command {
|
||||
description: 'select balenaOS ESR versions',
|
||||
default: false,
|
||||
}),
|
||||
'include-draft': Flags.boolean({
|
||||
description: 'include pre-release balenaOS versions',
|
||||
default: false,
|
||||
}),
|
||||
};
|
||||
|
||||
public async run() {
|
||||
const { args: params, flags: options } = await this.parse(OsVersionsCmd);
|
||||
|
||||
if (options['include-draft']) {
|
||||
const { warnify } = await import('../../utils/messages');
|
||||
console.error(
|
||||
warnify(stripIndent`
|
||||
Using pre-release balenaOS versions is only supported for OS updates
|
||||
and not for OS image downloads.
|
||||
`),
|
||||
);
|
||||
}
|
||||
|
||||
const { formatOsVersion, getOsVersions } = await import(
|
||||
'../../utils/cloud'
|
||||
);
|
||||
const vs = await getOsVersions(
|
||||
params.type,
|
||||
!!options.esr,
|
||||
options['include-draft'],
|
||||
);
|
||||
const vs = await getOsVersions(params.type, !!options.esr);
|
||||
|
||||
console.log(vs.map((v) => formatOsVersion(v)).join('\n'));
|
||||
}
|
||||
|
@ -200,11 +200,7 @@ async function resolveOSVersion(
|
||||
version: string,
|
||||
): Promise<string> {
|
||||
if (['menu', 'menu-esr'].includes(version)) {
|
||||
return await selectOSVersionFromMenu(
|
||||
deviceType,
|
||||
version === 'menu-esr',
|
||||
false,
|
||||
);
|
||||
return await selectOSVersionFromMenu(deviceType, version === 'menu-esr');
|
||||
}
|
||||
const { normalizeOsVersion } = await import('./normalization');
|
||||
version = normalizeOsVersion(version);
|
||||
@ -214,9 +210,8 @@ async function resolveOSVersion(
|
||||
async function selectOSVersionFromMenu(
|
||||
deviceType: string,
|
||||
esr: boolean,
|
||||
includeDraft: boolean,
|
||||
): Promise<string> {
|
||||
const vs = await getOsVersions(deviceType, esr, includeDraft);
|
||||
const vs = await getOsVersions(deviceType, esr);
|
||||
|
||||
const choices = vs.map((v) => ({
|
||||
value: v.raw_version,
|
||||
@ -238,22 +233,17 @@ async function selectOSVersionFromMenu(
|
||||
export async function getOsVersions(
|
||||
deviceType: string,
|
||||
esr: boolean,
|
||||
includeDraft: boolean,
|
||||
): Promise<SDK.OsVersion[]> {
|
||||
const sdk = getBalenaSdk();
|
||||
let slug = deviceType;
|
||||
let versions: SDK.OsVersion[] = await sdk.models.os.getAvailableOsVersions(
|
||||
slug,
|
||||
{ includeDraft },
|
||||
);
|
||||
let versions: SDK.OsVersion[] =
|
||||
await sdk.models.os.getAvailableOsVersions(slug);
|
||||
// if slug is an alias, fetch the real slug
|
||||
if (!versions.length) {
|
||||
// unalias device type slug
|
||||
slug = (await sdk.models.deviceType.get(slug, { $select: 'slug' })).slug;
|
||||
if (slug !== deviceType) {
|
||||
versions = await sdk.models.os.getAvailableOsVersions(slug, {
|
||||
includeDraft,
|
||||
});
|
||||
versions = await sdk.models.os.getAvailableOsVersions(slug);
|
||||
}
|
||||
}
|
||||
versions = versions.filter(
|
||||
|
@ -627,10 +627,17 @@ export function generateTargetState(
|
||||
};
|
||||
|
||||
opts.environment = _.merge(opts.environment, env[name]);
|
||||
// This function should always be called with all the build tasks
|
||||
// so we can construct the correct target state so we don't really need
|
||||
// to check that the key exists on the `keyedBuildTasks` object
|
||||
const contract = keyedBuildTasks[name].contract;
|
||||
// This function can be called with a subset of the
|
||||
// build tasks, when a single dockerfile has changed
|
||||
// when livepushing, so check the build task exists for
|
||||
// this composition entry (everything else in this
|
||||
// function comes from the composition which doesn't
|
||||
// change)
|
||||
let contract;
|
||||
if (name in keyedBuildTasks) {
|
||||
contract = keyedBuildTasks[name].contract;
|
||||
}
|
||||
|
||||
const task = keyedBuildTasks[name];
|
||||
|
||||
services[idx] = {
|
||||
|
@ -423,12 +423,7 @@ export class LivepushManager {
|
||||
// If we re-apply the target state, the supervisor
|
||||
// should recreate the container
|
||||
await this.api.setTargetState(
|
||||
generateTargetState(
|
||||
currentState,
|
||||
this.composition,
|
||||
this.buildTasks,
|
||||
{},
|
||||
),
|
||||
generateTargetState(currentState, this.composition, [buildTask], {}),
|
||||
);
|
||||
|
||||
await this.awaitDeviceStateSettle();
|
||||
|
5522
npm-shrinkwrap.json
generated
5522
npm-shrinkwrap.json
generated
File diff suppressed because it is too large
Load Diff
20
package.json
20
package.json
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "balena-cli",
|
||||
"version": "18.0.3",
|
||||
"version": "17.4.10",
|
||||
"description": "The official balena Command Line Interface",
|
||||
"main": "./build/app.js",
|
||||
"homepage": "https://github.com/balena-io/balena-cli",
|
||||
@ -16,7 +16,6 @@
|
||||
"doc/",
|
||||
"lib/",
|
||||
"patches/",
|
||||
"!patches/**/**.dev.patch",
|
||||
"*.md",
|
||||
"npm-shrinkwrap.json",
|
||||
"oclif.manifest.json"
|
||||
@ -40,7 +39,6 @@
|
||||
"node_modules/open/xdg-open",
|
||||
"node_modules/windosu/*.bat",
|
||||
"node_modules/windosu/*.cmd",
|
||||
"node_modules/axios/**/*",
|
||||
"npm-shrinkwrap.json",
|
||||
"oclif.manifest.json"
|
||||
]
|
||||
@ -91,7 +89,7 @@
|
||||
"author": "Balena Inc. (https://balena.io/)",
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
"node": ">=20 <21"
|
||||
"node": ">=18 <20"
|
||||
},
|
||||
"husky": {
|
||||
"hooks": {
|
||||
@ -111,7 +109,7 @@
|
||||
],
|
||||
"macos": {
|
||||
"identifier": "io.balena.cli",
|
||||
"sign": "\"Developer ID Installer: Balena Ltd (66H43P8FRG)\""
|
||||
"sign": "Developer ID Installer: Balena Ltd (66H43P8FRG)"
|
||||
}
|
||||
},
|
||||
"devDependencies": {
|
||||
@ -148,7 +146,7 @@
|
||||
"@types/ndjson": "^2.0.1",
|
||||
"@types/net-keepalive": "^0.4.1",
|
||||
"@types/nock": "^11.1.0",
|
||||
"@types/node": "^20.0.0",
|
||||
"@types/node": "^18.17.6",
|
||||
"@types/node-cleanup": "^2.1.2",
|
||||
"@types/parse-link-header": "^1.0.1",
|
||||
"@types/prettyjson": "^0.0.30",
|
||||
@ -187,6 +185,7 @@
|
||||
"nock": "^13.2.1",
|
||||
"oclif": "^3.17.1",
|
||||
"parse-link-header": "^2.0.0",
|
||||
"pkg": "^5.8.1",
|
||||
"publish-release": "^1.6.1",
|
||||
"rewire": "^5.0.0",
|
||||
"simple-git": "^3.14.1",
|
||||
@ -204,14 +203,13 @@
|
||||
"@sentry/node": "^6.16.1",
|
||||
"@types/fast-levenshtein": "0.0.1",
|
||||
"@types/update-notifier": "^4.1.1",
|
||||
"@yao-pkg/pkg": "^5.11.1",
|
||||
"balena-config-json": "^4.2.0",
|
||||
"balena-device-init": "^6.0.0",
|
||||
"balena-errors": "^4.7.3",
|
||||
"balena-image-fs": "^7.0.6",
|
||||
"balena-image-manager": "^10.0.1",
|
||||
"balena-preload": "^15.0.1",
|
||||
"balena-sdk": "^19.4.0",
|
||||
"balena-sdk": "^19.0.0",
|
||||
"balena-semver": "^2.3.0",
|
||||
"balena-settings-client": "^5.0.2",
|
||||
"balena-settings-storage": "^8.1.0",
|
||||
@ -226,9 +224,9 @@
|
||||
"denymount": "^2.3.0",
|
||||
"docker-modem": "3.0.0",
|
||||
"docker-progress": "^5.1.3",
|
||||
"dockerode": "3.3.3",
|
||||
"dockerode": "3.3.5",
|
||||
"ejs": "^3.1.6",
|
||||
"etcher-sdk": "9.0.6",
|
||||
"etcher-sdk": "^8.7.0",
|
||||
"event-stream": "3.3.4",
|
||||
"express": "^4.17.2",
|
||||
"fast-boot2": "^1.1.0",
|
||||
@ -286,6 +284,6 @@
|
||||
"windosu": "^0.3.0"
|
||||
},
|
||||
"versionist": {
|
||||
"publishedAt": "2024-03-11T14:25:45.967Z"
|
||||
"publishedAt": "2024-01-02T12:41:39.852Z"
|
||||
}
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ index 607d8dc..07ba1f2 100644
|
||||
return lines.join('\n');
|
||||
}
|
||||
diff --git a/node_modules/@oclif/core/lib/help/command.js b/node_modules/@oclif/core/lib/help/command.js
|
||||
index 63c0545..7caad4a 100644
|
||||
index 0753040..c1b0f67 100644
|
||||
--- a/node_modules/@oclif/core/lib/help/command.js
|
||||
+++ b/node_modules/@oclif/core/lib/help/command.js
|
||||
@@ -58,7 +58,7 @@ class CommandHelp extends formatter_1.HelpFormatter {
|
||||
@ -25,7 +25,7 @@ index 63c0545..7caad4a 100644
|
||||
if (a.default)
|
||||
description = `${(0, theme_1.colorize)(this.config?.theme?.flagDefaultValue, `[default: ${a.default}]`)} ${description}`;
|
||||
@@ -153,14 +153,12 @@ class CommandHelp extends formatter_1.HelpFormatter {
|
||||
label = labels.join(flag.char ? (0, theme_1.colorize)(this.config?.theme?.flagSeparator, ', ') : ' ');
|
||||
label = labels.join((0, theme_1.colorize)(this.config?.theme?.flagSeparator, flag.char ? ', ' : ' '));
|
||||
}
|
||||
if (flag.type === 'option') {
|
||||
- let value = flag.helpValue || (this.opts.showFlagNameInTitle ? flag.name : '<value>');
|
||||
@ -40,7 +40,7 @@ index 63c0545..7caad4a 100644
|
||||
+ value += ' ...';
|
||||
label += `=${value}`;
|
||||
}
|
||||
return (0, theme_1.colorize)(this.config.theme?.flag, label);
|
||||
return label;
|
||||
diff --git a/node_modules/@oclif/core/lib/help/index.js b/node_modules/@oclif/core/lib/help/index.js
|
||||
index 242538a..efde8ac 100644
|
||||
--- a/node_modules/@oclif/core/lib/help/index.js
|
@ -1,148 +0,0 @@
|
||||
diff --git a/node_modules/oclif/lib/commands/pack/win.js b/node_modules/oclif/lib/commands/pack/win.js
|
||||
index c0926bd..e4f645c 100644
|
||||
--- a/node_modules/oclif/lib/commands/pack/win.js
|
||||
+++ b/node_modules/oclif/lib/commands/pack/win.js
|
||||
@@ -59,6 +59,12 @@ InstallDir "\$PROGRAMFILES${arch === 'x64' ? '64' : ''}\\${config.dirname}"
|
||||
${customization}
|
||||
|
||||
Section "${config.name} CLI \${VERSION}"
|
||||
+ ; First remove any old client files.
|
||||
+ ; (Remnants of old versions were causing CLI errors)
|
||||
+ ; Initially tried running the Uninstall.exe, but was
|
||||
+ ; unable to make script wait for completion (despite using _?)
|
||||
+ DetailPrint "Removing files from previous version."
|
||||
+ RMDir /r "$INSTDIR\\client"
|
||||
SetOutPath $INSTDIR
|
||||
File /r bin
|
||||
File /r client
|
||||
diff --git a/node_modules/oclif/lib/tarballs/build.js b/node_modules/oclif/lib/tarballs/build.js
|
||||
index 384ea4b..72ad66f 100644
|
||||
--- a/node_modules/oclif/lib/tarballs/build.js
|
||||
+++ b/node_modules/oclif/lib/tarballs/build.js
|
||||
@@ -21,7 +21,8 @@ const pack = async (from, to) => {
|
||||
await exec(`tar cfJ ${to} ${(path.basename(from))}`, { cwd }));
|
||||
};
|
||||
async function build(c, options = {}) {
|
||||
- const { xz, config } = c;
|
||||
+ const { xz, config, tmp } = c;
|
||||
+ console.error(`[debug] oclif c.root="${c.root}" c.workspace()="${c.workspace()}"`);
|
||||
const packCLI = async () => {
|
||||
const { stdout } = await exec('npm pack --unsafe-perm', { cwd: c.root });
|
||||
return path.join(c.root, stdout.trim().split('\n').pop());
|
||||
@@ -30,7 +31,9 @@ async function build(c, options = {}) {
|
||||
await fs.emptyDir(c.workspace());
|
||||
const tarballNewLocation = path.join(c.workspace(), path.basename(tarball));
|
||||
await fs.move(tarball, tarballNewLocation);
|
||||
- await exec(`tar -xzf "${tarballNewLocation}"`, { cwd: c.workspace() });
|
||||
+ let tarCmd = `tar -xzf "${tarballNewLocation}"`;
|
||||
+ if (process.platform === 'win32') tarCmd += ' --force-local';
|
||||
+ await exec(tarCmd, { cwd: c.workspace() });
|
||||
await Promise.all((await fs.promises.readdir(path.join(c.workspace(), 'package'), { withFileTypes: true }))
|
||||
.map(i => fs.move(path.join(c.workspace(), 'package', i.name), path.join(c.workspace(), i.name))));
|
||||
await Promise.all([
|
||||
@@ -38,6 +41,13 @@ async function build(c, options = {}) {
|
||||
fs.promises.rm(path.join(c.workspace(), path.basename(tarball)), { recursive: true }),
|
||||
fs.remove(path.join(c.workspace(), 'bin', 'run.cmd')),
|
||||
]);
|
||||
+ // rename the original balena-cli ./bin/balena entry point for oclif compatibility
|
||||
+ await fs.move(path.join(c.workspace(), 'bin', 'balena'), path.join(c.workspace(), 'bin', 'run'));
|
||||
+ // The oclif installers are a production installation, while the source
|
||||
+ // `bin` folder may contain a `.fast-boot.json` file of a dev installation.
|
||||
+ // This has previously led to issues preventing the CLI from starting, so
|
||||
+ // delete `.fast-boot.json` (if any) from the destination folder.
|
||||
+ await fs.promises.rm(path.join(c.workspace(), 'bin', '.fast-boot.json'));
|
||||
};
|
||||
const updatePJSON = async () => {
|
||||
const pjsonPath = path.join(c.workspace(), 'package.json');
|
||||
@@ -49,35 +59,20 @@ async function build(c, options = {}) {
|
||||
await fs.writeJSON(pjsonPath, pjson, { spaces: 2 });
|
||||
};
|
||||
const addDependencies = async () => {
|
||||
- const yarnRoot = findYarnWorkspaceRoot(c.root) || c.root;
|
||||
- if (fs.existsSync(path.join(yarnRoot, 'yarn.lock'))) {
|
||||
- await fs.copy(path.join(yarnRoot, 'yarn.lock'), path.join(c.workspace(), 'yarn.lock'));
|
||||
- const yarnVersion = (await exec('yarn -v')).stdout.charAt(0);
|
||||
- if (yarnVersion === '1') {
|
||||
- await exec('yarn --no-progress --production --non-interactive', { cwd: c.workspace() });
|
||||
- }
|
||||
- else if (yarnVersion === '2') {
|
||||
- throw new Error('Yarn 2 is not supported yet. Try using Yarn 1, or Yarn 3');
|
||||
- }
|
||||
- else {
|
||||
- try {
|
||||
- await exec('yarn workspaces focus --production', { cwd: c.workspace() });
|
||||
- }
|
||||
- catch (error) {
|
||||
- if (error instanceof Error && error.message.includes('Command not found')) {
|
||||
- throw new Error('Missing workspace tools. Run `yarn plugin import workspace-tools`.');
|
||||
- }
|
||||
- throw error;
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
- else {
|
||||
- const lockpath = fs.existsSync(path.join(c.root, 'package-lock.json')) ?
|
||||
- path.join(c.root, 'package-lock.json') :
|
||||
- path.join(c.root, 'npm-shrinkwrap.json');
|
||||
- await fs.copy(lockpath, path.join(c.workspace(), path.basename(lockpath)));
|
||||
- await exec('npm install --production', { cwd: c.workspace() });
|
||||
+ const ws = c.workspace();
|
||||
+ exec(`cd ${ws}`);
|
||||
+ console.error(`[debug] oclif copying node_modules to "${ws}"`)
|
||||
+ const source = path.join(c.root, 'node_modules');
|
||||
+ if (process.platform === 'win32') {
|
||||
+ await exec(`xcopy "${source}" "${ws}\\node_modules" /S /E /B /I /K /Q /Y`);
|
||||
+ } else {
|
||||
+ // use the shell's `cp` on macOS in order to preserve extended
|
||||
+ // file attributes containing `codesign` digital signatures
|
||||
+ await exec(`cp -pR "${source}" "${ws}"`);
|
||||
}
|
||||
+ console.error(`[debug] oclif running "npm prune --production" in "${ws}"`);
|
||||
+ await exec('npm prune --production', { cwd: c.workspace() });
|
||||
+ console.error(`[debug] oclif done`);
|
||||
};
|
||||
const pretarball = async () => {
|
||||
const pjson = await fs.readJSON(path.join(c.workspace(), 'package.json'));
|
||||
@@ -115,7 +110,8 @@ async function build(c, options = {}) {
|
||||
output: path.join(workspace, 'bin', 'node'),
|
||||
platform: target.platform,
|
||||
arch: target.arch,
|
||||
- tmp: path.join(config.root, 'tmp'),
|
||||
+ tmp,
|
||||
+ projectRootPath: c.root
|
||||
});
|
||||
if (options.pack === false)
|
||||
return;
|
||||
@@ -158,6 +154,7 @@ async function build(c, options = {}) {
|
||||
await fs.writeJSON(manifestFilepath, manifest, { spaces: 2 });
|
||||
};
|
||||
(0, log_1.log)(`gathering workspace for ${config.bin} to ${c.workspace()}`);
|
||||
+ console.error(`[debug] ${options.tarball}`);
|
||||
await extractCLI(options.tarball ? options.tarball : await packCLI());
|
||||
await updatePJSON();
|
||||
await addDependencies();
|
||||
diff --git a/node_modules/oclif/lib/tarballs/config.js b/node_modules/oclif/lib/tarballs/config.js
|
||||
index 216759d..cab0e6e 100644
|
||||
--- a/node_modules/oclif/lib/tarballs/config.js
|
||||
+++ b/node_modules/oclif/lib/tarballs/config.js
|
||||
@@ -25,7 +25,10 @@ async function gitSha(cwd, options = {}) {
|
||||
}
|
||||
exports.gitSha = gitSha;
|
||||
async function Tmp(config) {
|
||||
- const tmp = path.join(config.root, 'tmp');
|
||||
+ const tmp = process.env.BUILD_TMP
|
||||
+ ? path.join(process.env.BUILD_TMP, 'oclif')
|
||||
+ : path.join(config.root, 'tmp');
|
||||
+ console.error(`[debug] oclif tmp="${tmp}"`);
|
||||
await fs.promises.mkdir(tmp, { recursive: true });
|
||||
return tmp;
|
||||
}
|
||||
@@ -62,7 +65,7 @@ async function buildConfig(root, options = {}) {
|
||||
s3Config: updateConfig.s3,
|
||||
nodeVersion,
|
||||
workspace(target) {
|
||||
- const base = path.join(config.root, 'tmp');
|
||||
+ const base = tmp;
|
||||
if (target && target.platform)
|
||||
return path.join(base, [target.platform, target.arch].join('-'), (0, upload_util_1.templateShortKey)('baseDir', { bin: config.bin }));
|
||||
return path.join(base, (0, upload_util_1.templateShortKey)('baseDir', { bin: config.bin }));
|
285
patches/all/oclif+3.17.2.patch
Normal file
285
patches/all/oclif+3.17.2.patch
Normal file
@ -0,0 +1,285 @@
|
||||
diff --git a/node_modules/oclif/lib/commands/pack/macos.js b/node_modules/oclif/lib/commands/pack/macos.js
|
||||
index d06d0b3..c571fe3 100644
|
||||
--- a/node_modules/oclif/lib/commands/pack/macos.js
|
||||
+++ b/node_modules/oclif/lib/commands/pack/macos.js
|
||||
@@ -177,7 +177,8 @@ class PackMacos extends core_1.Command {
|
||||
if (process.env.OSX_KEYCHAIN)
|
||||
args.push('--keychain', process.env.OSX_KEYCHAIN);
|
||||
args.push(dist);
|
||||
- await exec(`pkgbuild ${args.join(' ')}`);
|
||||
+ console.error(`[debug] oclif pkgbuild "${args.join('" "')}"`);
|
||||
+ await exec(`pkgbuild "${args.join('" "')}"`);
|
||||
};
|
||||
const arches = _.uniq(buildConfig.targets
|
||||
.filter(t => t.platform === 'darwin')
|
||||
diff --git a/node_modules/oclif/lib/commands/pack/win.js b/node_modules/oclif/lib/commands/pack/win.js
|
||||
index c0926bd..a37cd6e 100644
|
||||
--- a/node_modules/oclif/lib/commands/pack/win.js
|
||||
+++ b/node_modules/oclif/lib/commands/pack/win.js
|
||||
@@ -59,6 +59,12 @@ InstallDir "\$PROGRAMFILES${arch === 'x64' ? '64' : ''}\\${config.dirname}"
|
||||
${customization}
|
||||
|
||||
Section "${config.name} CLI \${VERSION}"
|
||||
+ ; First remove any old client files.
|
||||
+ ; (Remnants of old versions were causing CLI errors)
|
||||
+ ; Initially tried running the Uninstall.exe, but was
|
||||
+ ; unable to make script wait for completion (despite using _?)
|
||||
+ DetailPrint "Removing files from previous version."
|
||||
+ RMDir /r "$INSTDIR\\client"
|
||||
SetOutPath $INSTDIR
|
||||
File /r bin
|
||||
File /r client
|
||||
@@ -226,7 +232,8 @@ class PackWin extends core_1.Command {
|
||||
fs.writeFile(path.join(installerBase, 'bin', `${flags['additional-cli']}`), scripts.sh({ bin: flags['additional-cli'] })),
|
||||
] : []));
|
||||
await fs.move(buildConfig.workspace({ platform: 'win32', arch }), path.join(installerBase, 'client'));
|
||||
- await exec(`makensis ${installerBase}/${config.bin}.nsi | grep -v "\\[compress\\]" | grep -v "^File: Descending to"`);
|
||||
+ const { msysExec, toMsysPath } = require("../../util");
|
||||
+ await msysExec(`makensis ${toMsysPath(installerBase)}/${config.bin}.nsi | grep -v "\\[compress\\]" | grep -v "^File: Descending to"`);
|
||||
const templateKey = (0, upload_util_1.templateShortKey)('win32', { bin: config.bin, version: config.version, sha: buildConfig.gitSha, arch });
|
||||
const o = buildConfig.dist(`win32/${templateKey}`);
|
||||
await fs.move(path.join(installerBase, 'installer.exe'), o);
|
||||
diff --git a/node_modules/oclif/lib/tarballs/build.js b/node_modules/oclif/lib/tarballs/build.js
|
||||
index 384ea4b..602daa4 100644
|
||||
--- a/node_modules/oclif/lib/tarballs/build.js
|
||||
+++ b/node_modules/oclif/lib/tarballs/build.js
|
||||
@@ -21,7 +21,8 @@ const pack = async (from, to) => {
|
||||
await exec(`tar cfJ ${to} ${(path.basename(from))}`, { cwd }));
|
||||
};
|
||||
async function build(c, options = {}) {
|
||||
- const { xz, config } = c;
|
||||
+ const { xz, config, tmp } = c;
|
||||
+ console.error(`[debug] oclif c.root="${c.root}" c.workspace()="${c.workspace()}"`);
|
||||
const packCLI = async () => {
|
||||
const { stdout } = await exec('npm pack --unsafe-perm', { cwd: c.root });
|
||||
return path.join(c.root, stdout.trim().split('\n').pop());
|
||||
@@ -30,7 +31,8 @@ async function build(c, options = {}) {
|
||||
await fs.emptyDir(c.workspace());
|
||||
const tarballNewLocation = path.join(c.workspace(), path.basename(tarball));
|
||||
await fs.move(tarball, tarballNewLocation);
|
||||
- await exec(`tar -xzf "${tarballNewLocation}"`, { cwd: c.workspace() });
|
||||
+ const { msysExec, toMsysPath } = require("../util");
|
||||
+ await msysExec(`tar -xzf ${toMsysPath(tarballNewLocation)}`, { cwd: c.workspace() });
|
||||
await Promise.all((await fs.promises.readdir(path.join(c.workspace(), 'package'), { withFileTypes: true }))
|
||||
.map(i => fs.move(path.join(c.workspace(), 'package', i.name), path.join(c.workspace(), i.name))));
|
||||
await Promise.all([
|
||||
@@ -38,6 +40,13 @@ async function build(c, options = {}) {
|
||||
fs.promises.rm(path.join(c.workspace(), path.basename(tarball)), { recursive: true }),
|
||||
fs.remove(path.join(c.workspace(), 'bin', 'run.cmd')),
|
||||
]);
|
||||
+ // rename the original balena-cli ./bin/balena entry point for oclif compatibility
|
||||
+ await fs.move(path.join(c.workspace(), 'bin', 'balena'), path.join(c.workspace(), 'bin', 'run'));
|
||||
+ // The oclif installers are a production installation, while the source
|
||||
+ // `bin` folder may contain a `.fast-boot.json` file of a dev installation.
|
||||
+ // This has previously led to issues preventing the CLI from starting, so
|
||||
+ // delete `.fast-boot.json` (if any) from the destination folder.
|
||||
+ await fs.promises.rm(path.join(c.workspace(), 'bin', '.fast-boot.json'));
|
||||
};
|
||||
const updatePJSON = async () => {
|
||||
const pjsonPath = path.join(c.workspace(), 'package.json');
|
||||
@@ -49,35 +58,20 @@ async function build(c, options = {}) {
|
||||
await fs.writeJSON(pjsonPath, pjson, { spaces: 2 });
|
||||
};
|
||||
const addDependencies = async () => {
|
||||
- const yarnRoot = findYarnWorkspaceRoot(c.root) || c.root;
|
||||
- if (fs.existsSync(path.join(yarnRoot, 'yarn.lock'))) {
|
||||
- await fs.copy(path.join(yarnRoot, 'yarn.lock'), path.join(c.workspace(), 'yarn.lock'));
|
||||
- const yarnVersion = (await exec('yarn -v')).stdout.charAt(0);
|
||||
- if (yarnVersion === '1') {
|
||||
- await exec('yarn --no-progress --production --non-interactive', { cwd: c.workspace() });
|
||||
- }
|
||||
- else if (yarnVersion === '2') {
|
||||
- throw new Error('Yarn 2 is not supported yet. Try using Yarn 1, or Yarn 3');
|
||||
- }
|
||||
- else {
|
||||
- try {
|
||||
- await exec('yarn workspaces focus --production', { cwd: c.workspace() });
|
||||
- }
|
||||
- catch (error) {
|
||||
- if (error instanceof Error && error.message.includes('Command not found')) {
|
||||
- throw new Error('Missing workspace tools. Run `yarn plugin import workspace-tools`.');
|
||||
- }
|
||||
- throw error;
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
- else {
|
||||
- const lockpath = fs.existsSync(path.join(c.root, 'package-lock.json')) ?
|
||||
- path.join(c.root, 'package-lock.json') :
|
||||
- path.join(c.root, 'npm-shrinkwrap.json');
|
||||
- await fs.copy(lockpath, path.join(c.workspace(), path.basename(lockpath)));
|
||||
- await exec('npm install --production', { cwd: c.workspace() });
|
||||
+ const ws = c.workspace();
|
||||
+ exec(`cd ${ws}`);
|
||||
+ console.error(`[debug] oclif copying node_modules to "${ws}"`)
|
||||
+ const source = path.join(c.root, 'node_modules');
|
||||
+ if (process.platform === 'win32') {
|
||||
+ await exec(`xcopy "${source}" "${ws}\\node_modules" /S /E /B /I /K /Q /Y`);
|
||||
+ } else {
|
||||
+ // use the shell's `cp` on macOS in order to preserve extended
|
||||
+ // file attributes containing `codesign` digital signatures
|
||||
+ await exec(`cp -pR "${source}" "${ws}"`);
|
||||
}
|
||||
+ console.error(`[debug] oclif running "npm prune --production" in "${ws}"`);
|
||||
+ await exec('npm prune --production', { cwd: c.workspace() });
|
||||
+ console.error(`[debug] oclif done`);
|
||||
};
|
||||
const pretarball = async () => {
|
||||
const pjson = await fs.readJSON(path.join(c.workspace(), 'package.json'));
|
||||
@@ -115,7 +109,8 @@ async function build(c, options = {}) {
|
||||
output: path.join(workspace, 'bin', 'node'),
|
||||
platform: target.platform,
|
||||
arch: target.arch,
|
||||
- tmp: path.join(config.root, 'tmp'),
|
||||
+ tmp,
|
||||
+ projectRootPath: c.root
|
||||
});
|
||||
if (options.pack === false)
|
||||
return;
|
||||
@@ -158,6 +153,7 @@ async function build(c, options = {}) {
|
||||
await fs.writeJSON(manifestFilepath, manifest, { spaces: 2 });
|
||||
};
|
||||
(0, log_1.log)(`gathering workspace for ${config.bin} to ${c.workspace()}`);
|
||||
+ console.error(`[debug] ${options.tarball}`);
|
||||
await extractCLI(options.tarball ? options.tarball : await packCLI());
|
||||
await updatePJSON();
|
||||
await addDependencies();
|
||||
diff --git a/node_modules/oclif/lib/tarballs/config.js b/node_modules/oclif/lib/tarballs/config.js
|
||||
index 216759d..cab0e6e 100644
|
||||
--- a/node_modules/oclif/lib/tarballs/config.js
|
||||
+++ b/node_modules/oclif/lib/tarballs/config.js
|
||||
@@ -25,7 +25,10 @@ async function gitSha(cwd, options = {}) {
|
||||
}
|
||||
exports.gitSha = gitSha;
|
||||
async function Tmp(config) {
|
||||
- const tmp = path.join(config.root, 'tmp');
|
||||
+ const tmp = process.env.BUILD_TMP
|
||||
+ ? path.join(process.env.BUILD_TMP, 'oclif')
|
||||
+ : path.join(config.root, 'tmp');
|
||||
+ console.error(`[debug] oclif tmp="${tmp}"`);
|
||||
await fs.promises.mkdir(tmp, { recursive: true });
|
||||
return tmp;
|
||||
}
|
||||
@@ -62,7 +65,7 @@ async function buildConfig(root, options = {}) {
|
||||
s3Config: updateConfig.s3,
|
||||
nodeVersion,
|
||||
workspace(target) {
|
||||
- const base = path.join(config.root, 'tmp');
|
||||
+ const base = tmp;
|
||||
if (target && target.platform)
|
||||
return path.join(base, [target.platform, target.arch].join('-'), (0, upload_util_1.templateShortKey)('baseDir', { bin: config.bin }));
|
||||
return path.join(base, (0, upload_util_1.templateShortKey)('baseDir', { bin: config.bin }));
|
||||
diff --git a/node_modules/oclif/lib/tarballs/node.js b/node_modules/oclif/lib/tarballs/node.js
|
||||
index 35f1d0c..5349eaa 100644
|
||||
--- a/node_modules/oclif/lib/tarballs/node.js
|
||||
+++ b/node_modules/oclif/lib/tarballs/node.js
|
||||
@@ -12,6 +12,7 @@ const retry = require("async-retry");
|
||||
const util_2 = require("../util");
|
||||
const pipeline = (0, util_1.promisify)(stream_1.pipeline);
|
||||
const exec = (0, util_1.promisify)(child_process_1.exec);
|
||||
+const { isMSYS2, msysExec, toMsysPath } = require("../util");
|
||||
const RETRY_TIMEOUT_MS = 1000;
|
||||
async function fetchNodeBinary({ nodeVersion, output, platform, arch, tmp }) {
|
||||
if (arch === 'arm')
|
||||
@@ -42,8 +43,10 @@ async function fetchNodeBinary({ nodeVersion, output, platform, arch, tmp }) {
|
||||
const basedir = path.dirname(tarball);
|
||||
await fs.promises.mkdir(basedir, { recursive: true });
|
||||
await pipeline(got_1.default.stream(url), fs.createWriteStream(tarball));
|
||||
- if (platform !== 'win32')
|
||||
- await exec(`grep "${path.basename(tarball)}" "${shasums}" | shasum -a 256 -c -`, { cwd: basedir });
|
||||
+ if (platform !== 'win32') {
|
||||
+ const shaCmd = isMSYS2 ? 'sha256sum -c -' : 'shasum -a 256 -c -';
|
||||
+ await msysExec(`grep ${path.basename(tarball)} ${toMsysPath(shasums)} | ${shaCmd}`, { cwd: basedir });
|
||||
+ }
|
||||
};
|
||||
const extract = async () => {
|
||||
(0, log_1.log)(`extracting ${nodeBase}`);
|
||||
@@ -51,7 +54,7 @@ async function fetchNodeBinary({ nodeVersion, output, platform, arch, tmp }) {
|
||||
await fs.promises.mkdir(nodeTmp, { recursive: true });
|
||||
await fs.promises.mkdir(path.dirname(cache), { recursive: true });
|
||||
if (platform === 'win32') {
|
||||
- await exec(`7z x -bd -y "${tarball}"`, { cwd: nodeTmp });
|
||||
+ await msysExec(`7z x -bd -y ${toMsysPath(tarball)} > /dev/null`, { cwd: nodeTmp });
|
||||
await fs.move(path.join(nodeTmp, nodeBase, 'node.exe'), path.join(cache, 'node.exe'));
|
||||
}
|
||||
else {
|
||||
diff --git a/node_modules/oclif/lib/upload-util.js b/node_modules/oclif/lib/upload-util.js
|
||||
index 6963e4d..430472d 100644
|
||||
--- a/node_modules/oclif/lib/upload-util.js
|
||||
+++ b/node_modules/oclif/lib/upload-util.js
|
||||
@@ -31,10 +31,10 @@ options = { root: '.' }) {
|
||||
const templates = {
|
||||
baseDir: '<%- bin %>',
|
||||
unversioned: '<%- bin %>-<%- platform %>-<%- arch %><%- ext %>',
|
||||
- versioned: '<%- bin %>-v<%- version %>-<%- sha %>-<%- platform %>-<%- arch %><%- ext %>',
|
||||
- manifest: '<%- bin %>-v<%- version %>-<%- sha %>-<%- platform %>-<%- arch %>-buildmanifest',
|
||||
- macos: '<%- bin %>-v<%- version %>-<%- sha %>-<%- arch %>.pkg',
|
||||
- win32: '<%- bin %>-v<%- version %>-<%- sha %>-<%- arch %>.exe',
|
||||
+ versioned: '<%- bin %>-v<%- version %>-<%- platform %>-<%- arch %><%- ext %>',
|
||||
+ manifest: '<%- bin %>-v<%- version %>-<%- platform %>-<%- arch %>-buildmanifest',
|
||||
+ macos: '<%- bin %>-v<%- version %>.pkg',
|
||||
+ win32: '<%- bin %>-v<%- version %>-<%- arch %>.exe',
|
||||
deb: '<%- bin %>_<%- versionShaRevision %>_<%- arch %>.deb',
|
||||
};
|
||||
return _.template(templates[type])(Object.assign({}, options));
|
||||
diff --git a/node_modules/oclif/lib/util.js b/node_modules/oclif/lib/util.js
|
||||
index 816c71b..1384aa6 100644
|
||||
--- a/node_modules/oclif/lib/util.js
|
||||
+++ b/node_modules/oclif/lib/util.js
|
||||
@@ -95,9 +95,10 @@ const hash = async (algo, fp) => {
|
||||
});
|
||||
};
|
||||
exports.hash = hash;
|
||||
+
|
||||
async function checkFor7Zip() {
|
||||
try {
|
||||
- await exec('7z');
|
||||
+ await msysExec('7z', { stdio: [0, null, 2] });
|
||||
}
|
||||
catch (error) {
|
||||
if (error.code === 127)
|
||||
@@ -107,3 +108,44 @@ async function checkFor7Zip() {
|
||||
}
|
||||
}
|
||||
exports.checkFor7Zip = checkFor7Zip;
|
||||
+
|
||||
+// OSTYPE is 'msys' for MSYS 1.0 and for MSYS2, or 'cygwin' for Cygwin
|
||||
+// but note that OSTYPE is not "exported" by default, so run: export OSTYPE=$OSTYPE
|
||||
+// MSYSTEM is 'MINGW32' for MSYS 1.0, 'MSYS' for MSYS2, and undefined for Cygwin
|
||||
+const isCygwin = process.env.OSTYPE === 'cygwin';
|
||||
+const isMinGW = process.env.MSYSTEM && process.env.MSYSTEM.startsWith('MINGW');
|
||||
+const isMSYS2 = process.env.MSYSTEM && process.env.MSYSTEM.startsWith('MSYS');
|
||||
+const MSYSSHELLPATH = process.env.MSYSSHELLPATH ||
|
||||
+ (isMSYS2 ? 'C:\\msys64\\usr\\bin\\bash.exe' :
|
||||
+ (isMinGW ? 'C:\\MinGW\\msys\\1.0\\bin\\bash.exe' :
|
||||
+ (isCygwin ? 'C:\\cygwin64\\bin\\bash.exe' : '/bin/sh')));
|
||||
+
|
||||
+exports.isCygwin = isCygwin;
|
||||
+exports.isMinGW = isMinGW;
|
||||
+exports.isMSYS2 = isMSYS2;
|
||||
+console.error(`[debug] oclif MSYSSHELLPATH=${MSYSSHELLPATH} MSYSTEM=${process.env.MSYSTEM} OSTYPE=${process.env.OSTYPE} isMSYS2=${isMSYS2} isMingGW=${isMinGW} isCygwin=${isCygwin}`);
|
||||
+
|
||||
+/* Convert a Windows path like 'C:\tmp' to a MSYS path like '/c/tmp' */
|
||||
+function toMsysPath(windowsPath) {
|
||||
+ // 'c:\myfolder' -> '/c/myfolder' or '/cygdrive/c/myfolder'
|
||||
+ let msysPath = windowsPath.replace(/\\/g, '/');
|
||||
+ if (isMSYS2 || isMinGW) {
|
||||
+ msysPath = msysPath.replace(/^([a-zA-Z]):/, '/$1');
|
||||
+ } else if (isCygwin) {
|
||||
+ msysPath = msysPath.replace(/^([a-zA-Z]):/, '/cygdrive/$1');
|
||||
+ }
|
||||
+ console.error(`[debug] oclif toMsysPath before="${windowsPath}" after="${msysPath}"`);
|
||||
+ return msysPath;
|
||||
+}
|
||||
+exports.toMsysPath = toMsysPath;
|
||||
+
|
||||
+async function msysExec(cmd, options = {}) {
|
||||
+ if (process.platform !== 'win32') {
|
||||
+ return exec(cmd, options);
|
||||
+ }
|
||||
+ const sh = MSYSSHELLPATH;
|
||||
+ const args = ['-c', cmd];
|
||||
+ console.error(`[debug] oclif msysExec sh="${sh}" args=${JSON.stringify(args)} options=${JSON.stringify(options)}`);
|
||||
+ return exec(`"${sh}" "${args.join('" "')}"`, options);
|
||||
+}
|
||||
+exports.msysExec = msysExec;
|
@ -76,96 +76,13 @@
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/drivelist/scripts/win32.bat
|
||||
%2: path-to-executable/drivelist/win32.bat
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/resin-cli-visuals/node_modules/drivelist/build/Release/drivelist.node
|
||||
%2: path-to-executable/drivelist.node
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/resin-cli-visuals/node_modules/drivelist/scripts/darwin.sh
|
||||
%2: path-to-executable/drivelist/darwin.sh
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/resin-cli-visuals/node_modules/drivelist/scripts/linux.sh
|
||||
%2: path-to-executable/drivelist/linux.sh
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/resin-cli-visuals/node_modules/drivelist/scripts/win32.bat
|
||||
%2: path-to-executable/drivelist/win32.bat
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/resin-cli-visuals/node_modules/drivelist/build/Release/drivelist.node
|
||||
%2: path-to-executable/drivelist.node
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/resin-cli-visuals/node_modules/drivelist/scripts/darwin.sh
|
||||
%2: path-to-executable/drivelist/darwin.sh
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/resin-cli-visuals/node_modules/drivelist/scripts/linux.sh
|
||||
%2: path-to-executable/drivelist/linux.sh
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/resin-cli-visuals/node_modules/drivelist/scripts/win32.bat
|
||||
%2: path-to-executable/drivelist/win32.bat
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/index.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/axios.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/utils.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/adapters/adapters.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/adapters/http.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/adapters/xhr.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/cancel/CancelToken.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/cancel/CanceledError.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/cancel/isCancel.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/Axios.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/AxiosError.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/AxiosHeaders.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/InterceptorManager.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/buildFullPath.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/dispatchRequest.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/mergeConfig.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/settle.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/transformData.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/defaults/index.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/defaults/transitional.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/env/data.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/AxiosTransformStream.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/AxiosURLSearchParams.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/HttpStatusCode.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/bind.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/buildURL.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/callbackify.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/combineURLs.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/cookies.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/formDataToJSON.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/formDataToStream.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/fromDataURI.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/isAbsoluteURL.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/isAxiosError.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/isURLSameOrigin.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/parseHeaders.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/parseProtocol.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/readBlob.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/speedometer.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/spread.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/throttle.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/toFormData.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/toURLEncodedForm.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/validator.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/platform/index.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/platform/common/utils.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/platform/node/index.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/platform/node/classes/FormData.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/platform/node/classes/URLSearchParams.js
|
||||
prebuild-install warn install No prebuilt binaries found (target=v20.10.0 runtime=node arch=x64 libc= platform=darwin)
|
||||
prebuild-install warn install No prebuilt binaries found (target=v20.10.0 runtime=node arch=x64 libc= platform=darwin)
|
||||
prebuild-install warn install No prebuilt binaries found (target=v20.10.0 runtime=node arch=x64 libc= platform=darwin)
|
||||
prebuild-install warn install No prebuilt binaries found (target=v20.10.0 runtime=node arch=x64 libc= platform=darwin)
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/@isaacs/cliui/node_modules/string-width/index.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/@isaacs/cliui/node_modules/strip-ansi/index.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/@isaacs/cliui/node_modules/wrap-ansi/index.js
|
||||
prebuild-install warn install No prebuilt binaries found (target=v20.10.0 runtime=node arch=x64 libc= platform=darwin)
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/@isaacs/cliui/node_modules/ansi-regex/index.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/@isaacs/cliui/node_modules/ansi-styles/index.js
|
||||
prebuild-install warn install No prebuilt binaries found (target=v20.10.0 runtime=node arch=x64 libc= platform=darwin)
|
||||
prebuild-install warn install No prebuilt binaries found (target=v18.5.0 runtime=node arch=x64 libc= platform=darwin)
|
||||
prebuild-install warn install No prebuilt binaries found (target=v18.5.0 runtime=node arch=x64 libc= platform=darwin)
|
||||
prebuild-install warn install No prebuilt binaries found (target=v18.5.0 runtime=node arch=x64 libc= platform=darwin)
|
||||
prebuild-install warn install No prebuilt binaries found (target=v18.5.0 runtime=node arch=x64 libc= platform=darwin)
|
||||
> Warning Failed to make bytecode node18-x64 for file node_modules/@isaacs/cliui/node_modules/string-width/index.js
|
||||
> Warning Failed to make bytecode node18-x64 for file node_modules/@isaacs/cliui/node_modules/strip-ansi/index.js
|
||||
> Warning Failed to make bytecode node18-x64 for file node_modules/@isaacs/cliui/node_modules/wrap-ansi/index.js
|
||||
prebuild-install warn install No prebuilt binaries found (target=v18.5.0 runtime=node arch=x64 libc= platform=darwin)
|
||||
> Warning Failed to make bytecode node18-x64 for file node_modules/@isaacs/cliui/node_modules/ansi-regex/index.js
|
||||
> Warning Failed to make bytecode node18-x64 for file node_modules/@isaacs/cliui/node_modules/ansi-styles/index.js
|
||||
|
@ -76,95 +76,12 @@
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/drivelist/scripts/win32.bat
|
||||
%2: path-to-executable/drivelist/win32.bat
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/resin-cli-visuals/node_modules/drivelist/build/Release/drivelist.node
|
||||
%2: path-to-executable/drivelist.node
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/resin-cli-visuals/node_modules/drivelist/scripts/darwin.sh
|
||||
%2: path-to-executable/drivelist/darwin.sh
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/resin-cli-visuals/node_modules/drivelist/scripts/linux.sh
|
||||
%2: path-to-executable/drivelist/linux.sh
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/resin-cli-visuals/node_modules/drivelist/scripts/win32.bat
|
||||
%2: path-to-executable/drivelist/win32.bat
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/resin-cli-visuals/node_modules/drivelist/build/Release/drivelist.node
|
||||
%2: path-to-executable/drivelist.node
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/resin-cli-visuals/node_modules/drivelist/scripts/darwin.sh
|
||||
%2: path-to-executable/drivelist/darwin.sh
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/resin-cli-visuals/node_modules/drivelist/scripts/linux.sh
|
||||
%2: path-to-executable/drivelist/linux.sh
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/resin-cli-visuals/node_modules/drivelist/scripts/win32.bat
|
||||
%2: path-to-executable/drivelist/win32.bat
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/index.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/axios.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/utils.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/adapters/adapters.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/adapters/http.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/adapters/xhr.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/cancel/CancelToken.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/cancel/CanceledError.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/cancel/isCancel.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/Axios.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/AxiosError.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/AxiosHeaders.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/InterceptorManager.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/buildFullPath.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/dispatchRequest.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/mergeConfig.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/settle.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/core/transformData.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/defaults/index.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/defaults/transitional.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/env/data.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/AxiosTransformStream.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/AxiosURLSearchParams.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/HttpStatusCode.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/bind.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/buildURL.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/callbackify.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/combineURLs.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/cookies.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/formDataToJSON.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/formDataToStream.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/fromDataURI.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/isAbsoluteURL.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/isAxiosError.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/isURLSameOrigin.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/parseHeaders.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/parseProtocol.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/readBlob.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/speedometer.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/spread.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/throttle.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/toFormData.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/toURLEncodedForm.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/helpers/validator.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/platform/index.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/platform/common/utils.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/platform/node/index.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/platform/node/classes/FormData.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/axios/lib/platform/node/classes/URLSearchParams.js
|
||||
prebuild-install warn install No prebuilt binaries found (target=v20.10.0 runtime=node arch=arm64 libc= platform=linux)
|
||||
prebuild-install warn install No prebuilt binaries found (target=v20.10.0 runtime=node arch=arm64 libc= platform=linux)
|
||||
prebuild-install warn install No prebuilt binaries found (target=v20.10.0 runtime=node arch=arm64 libc= platform=linux)
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/@isaacs/cliui/node_modules/string-width/index.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/@isaacs/cliui/node_modules/strip-ansi/index.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/@isaacs/cliui/node_modules/wrap-ansi/index.js
|
||||
prebuild-install warn install No prebuilt binaries found (target=v20.10.0 runtime=node arch=arm64 libc= platform=linux)
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/@isaacs/cliui/node_modules/ansi-regex/index.js
|
||||
> Warning Failed to make bytecode node20-arm64 for file node_modules/@isaacs/cliui/node_modules/ansi-styles/index.js
|
||||
prebuild-install warn install No prebuilt binaries found (target=v20.10.0 runtime=node arch=arm64 libc= platform=linux)
|
||||
prebuild-install warn install No prebuilt binaries found (target=v18.5.0 runtime=node arch=arm64 libc= platform=linux)
|
||||
prebuild-install warn install No prebuilt binaries found (target=v18.5.0 runtime=node arch=arm64 libc= platform=linux)
|
||||
prebuild-install warn install No prebuilt binaries found (target=v18.5.0 runtime=node arch=arm64 libc= platform=linux)
|
||||
> Warning Failed to make bytecode node18-arm64 for file node_modules/@isaacs/cliui/node_modules/string-width/index.js
|
||||
> Warning Failed to make bytecode node18-arm64 for file node_modules/@isaacs/cliui/node_modules/strip-ansi/index.js
|
||||
> Warning Failed to make bytecode node18-arm64 for file node_modules/@isaacs/cliui/node_modules/wrap-ansi/index.js
|
||||
prebuild-install warn install No prebuilt binaries found (target=v18.5.0 runtime=node arch=arm64 libc= platform=linux)
|
||||
> Warning Failed to make bytecode node18-arm64 for file node_modules/@isaacs/cliui/node_modules/ansi-regex/index.js
|
||||
> Warning Failed to make bytecode node18-arm64 for file node_modules/@isaacs/cliui/node_modules/ansi-styles/index.js
|
||||
|
@ -76,95 +76,12 @@
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/drivelist/scripts/win32.bat
|
||||
%2: path-to-executable/drivelist/win32.bat
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/resin-cli-visuals/node_modules/drivelist/build/Release/drivelist.node
|
||||
%2: path-to-executable/drivelist.node
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/resin-cli-visuals/node_modules/drivelist/scripts/darwin.sh
|
||||
%2: path-to-executable/drivelist/darwin.sh
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/resin-cli-visuals/node_modules/drivelist/scripts/linux.sh
|
||||
%2: path-to-executable/drivelist/linux.sh
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/resin-cli-visuals/node_modules/drivelist/scripts/win32.bat
|
||||
%2: path-to-executable/drivelist/win32.bat
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/resin-cli-visuals/node_modules/drivelist/build/Release/drivelist.node
|
||||
%2: path-to-executable/drivelist.node
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/resin-cli-visuals/node_modules/drivelist/scripts/darwin.sh
|
||||
%2: path-to-executable/drivelist/darwin.sh
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/resin-cli-visuals/node_modules/drivelist/scripts/linux.sh
|
||||
%2: path-to-executable/drivelist/linux.sh
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules/resin-cli-visuals/node_modules/drivelist/scripts/win32.bat
|
||||
%2: path-to-executable/drivelist/win32.bat
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/index.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/axios.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/utils.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/adapters/adapters.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/adapters/http.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/adapters/xhr.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/cancel/CancelToken.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/cancel/CanceledError.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/cancel/isCancel.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/Axios.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/AxiosError.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/AxiosHeaders.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/InterceptorManager.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/buildFullPath.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/dispatchRequest.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/mergeConfig.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/settle.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/core/transformData.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/defaults/index.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/defaults/transitional.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/env/data.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/AxiosTransformStream.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/AxiosURLSearchParams.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/HttpStatusCode.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/bind.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/buildURL.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/callbackify.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/combineURLs.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/cookies.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/formDataToJSON.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/formDataToStream.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/fromDataURI.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/isAbsoluteURL.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/isAxiosError.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/isURLSameOrigin.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/parseHeaders.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/parseProtocol.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/readBlob.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/speedometer.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/spread.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/throttle.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/toFormData.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/toURLEncodedForm.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/helpers/validator.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/platform/index.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/platform/common/utils.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/platform/node/index.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/platform/node/classes/FormData.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/axios/lib/platform/node/classes/URLSearchParams.js
|
||||
prebuild-install warn install No prebuilt binaries found (target=v20.10.0 runtime=node arch=x64 libc= platform=linux)
|
||||
prebuild-install warn install No prebuilt binaries found (target=v20.10.0 runtime=node arch=x64 libc= platform=linux)
|
||||
prebuild-install warn install No prebuilt binaries found (target=v20.10.0 runtime=node arch=x64 libc= platform=linux)
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/@isaacs/cliui/node_modules/string-width/index.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/@isaacs/cliui/node_modules/strip-ansi/index.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/@isaacs/cliui/node_modules/wrap-ansi/index.js
|
||||
prebuild-install warn install No prebuilt binaries found (target=v20.10.0 runtime=node arch=x64 libc= platform=linux)
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/@isaacs/cliui/node_modules/ansi-regex/index.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules/@isaacs/cliui/node_modules/ansi-styles/index.js
|
||||
prebuild-install warn install No prebuilt binaries found (target=v20.10.0 runtime=node arch=x64 libc= platform=linux)
|
||||
prebuild-install warn install No prebuilt binaries found (target=v18.5.0 runtime=node arch=x64 libc= platform=linux)
|
||||
prebuild-install warn install No prebuilt binaries found (target=v18.5.0 runtime=node arch=x64 libc= platform=linux)
|
||||
prebuild-install warn install No prebuilt binaries found (target=v18.5.0 runtime=node arch=x64 libc= platform=linux)
|
||||
> Warning Failed to make bytecode node18-x64 for file node_modules/@isaacs/cliui/node_modules/string-width/index.js
|
||||
> Warning Failed to make bytecode node18-x64 for file node_modules/@isaacs/cliui/node_modules/strip-ansi/index.js
|
||||
> Warning Failed to make bytecode node18-x64 for file node_modules/@isaacs/cliui/node_modules/wrap-ansi/index.js
|
||||
prebuild-install warn install No prebuilt binaries found (target=v18.5.0 runtime=node arch=x64 libc= platform=linux)
|
||||
> Warning Failed to make bytecode node18-x64 for file node_modules/@isaacs/cliui/node_modules/ansi-regex/index.js
|
||||
> Warning Failed to make bytecode node18-x64 for file node_modules/@isaacs/cliui/node_modules/ansi-styles/index.js
|
||||
|
@ -76,90 +76,8 @@
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules\drivelist\scripts\win32.bat
|
||||
%2: path-to-executable/drivelist/win32.bat
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules\resin-cli-visuals\node_modules\drivelist\build\Release\drivelist.node
|
||||
%2: path-to-executable/drivelist.node
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules\resin-cli-visuals\node_modules\drivelist\scripts\darwin.sh
|
||||
%2: path-to-executable/drivelist/darwin.sh
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules\resin-cli-visuals\node_modules\drivelist\scripts\linux.sh
|
||||
%2: path-to-executable/drivelist/linux.sh
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules\resin-cli-visuals\node_modules\drivelist\scripts\win32.bat
|
||||
%2: path-to-executable/drivelist/win32.bat
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules\resin-cli-visuals\node_modules\drivelist\build\Release\drivelist.node
|
||||
%2: path-to-executable/drivelist.node
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules\resin-cli-visuals\node_modules\drivelist\scripts\darwin.sh
|
||||
%2: path-to-executable/drivelist/darwin.sh
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules\resin-cli-visuals\node_modules\drivelist\scripts\linux.sh
|
||||
%2: path-to-executable/drivelist/linux.sh
|
||||
> Warning Cannot include file %1 into executable.
|
||||
The file must be distributed with executable as %2.
|
||||
%1: node_modules\resin-cli-visuals\node_modules\drivelist\scripts\win32.bat
|
||||
%2: path-to-executable/drivelist/win32.bat
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\index.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\axios.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\utils.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\adapters\adapters.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\adapters\http.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\adapters\xhr.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\cancel\CanceledError.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\cancel\CancelToken.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\cancel\isCancel.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\core\Axios.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\core\AxiosError.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\core\AxiosHeaders.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\core\buildFullPath.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\core\dispatchRequest.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\core\InterceptorManager.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\core\mergeConfig.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\core\settle.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\core\transformData.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\defaults\index.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\defaults\transitional.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\env\data.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\AxiosTransformStream.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\AxiosURLSearchParams.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\bind.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\buildURL.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\callbackify.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\combineURLs.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\cookies.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\formDataToJSON.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\formDataToStream.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\fromDataURI.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\HttpStatusCode.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\isAbsoluteURL.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\isAxiosError.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\isURLSameOrigin.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\parseHeaders.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\parseProtocol.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\readBlob.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\speedometer.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\spread.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\throttle.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\toFormData.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\toURLEncodedForm.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\validator.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\helpers\ZlibHeaderTransformStream.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\platform\index.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\platform\common\utils.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\platform\node\index.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\platform\node\classes\FormData.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\axios\lib\platform\node\classes\URLSearchParams.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\@isaacs\cliui\node_modules\string-width\index.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\@isaacs\cliui\node_modules\strip-ansi\index.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\@isaacs\cliui\node_modules\wrap-ansi\index.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\@isaacs\cliui\node_modules\ansi-regex\index.js
|
||||
> Warning Failed to make bytecode node20-x64 for file node_modules\@isaacs\cliui\node_modules\ansi-styles\index.js
|
||||
> Warning Failed to make bytecode node18-x64 for file node_modules\@isaacs\cliui\node_modules\string-width\index.js
|
||||
> Warning Failed to make bytecode node18-x64 for file node_modules\@isaacs\cliui\node_modules\strip-ansi\index.js
|
||||
> Warning Failed to make bytecode node18-x64 for file node_modules\@isaacs\cliui\node_modules\wrap-ansi\index.js
|
||||
> Warning Failed to make bytecode node18-x64 for file node_modules\@isaacs\cliui\node_modules\ansi-regex\index.js
|
||||
> Warning Failed to make bytecode node18-x64 for file node_modules\@isaacs\cliui\node_modules\ansi-styles\index.js
|
||||
|
4
typings/pkg/index.d.ts
vendored
4
typings/pkg/index.d.ts
vendored
@ -21,3 +21,7 @@ declare namespace NodeJS {
|
||||
pkg?: boolean;
|
||||
}
|
||||
}
|
||||
|
||||
declare module 'pkg' {
|
||||
export function exec(args: string[]): Promise<void>;
|
||||
}
|
||||
|
Reference in New Issue
Block a user