mirror of
https://github.com/balena-io/balena-cli.git
synced 2025-06-24 10:35:39 +00:00
Compare commits
45 Commits
Author | SHA1 | Date | |
---|---|---|---|
b545bd00ad | |||
3eda7938f9 | |||
2bccabfc38 | |||
1b42d08567 | |||
55b69be987 | |||
7c8ce1b1a9 | |||
31ddacec4c | |||
dad26328b9 | |||
98197eef47 | |||
0f8ce47ec6 | |||
33d3be326a | |||
3eb397de1b | |||
457b81a597 | |||
8eb1777437 | |||
bbc08dcfc5 | |||
48cee061f4 | |||
37e96e5d67 | |||
a5c865b7f9 | |||
3fb3dd5819 | |||
daf5c518fb | |||
4fcedd0607 | |||
42d9cbb48d | |||
408efa91c1 | |||
a2209ffe56 | |||
3f27db811b | |||
839a3050fb | |||
c8ea9cfcdb | |||
776115ef5d | |||
f031ec1dea | |||
fe42438090 | |||
b616fbdd79 | |||
81edfbbae1 | |||
663e83c3b8 | |||
b650f8ff6d | |||
58234f17e1 | |||
77905f4a74 | |||
30076fabe6 | |||
28703bb5ae | |||
37b3c6abe9 | |||
b4e473e4d4 | |||
0d4e411777 | |||
7e6f2189e8 | |||
3903daf8a8 | |||
18bc0d61e7 | |||
7f2daeebb0 |
10
.github/actions/publish/action.yml
vendored
10
.github/actions/publish/action.yml
vendored
@ -28,7 +28,7 @@ runs:
|
||||
using: 'composite'
|
||||
steps:
|
||||
- name: Download custom source artifact
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4.1.9
|
||||
with:
|
||||
name: custom-${{ github.event.pull_request.head.sha || github.event.head_commit.id }}-${{ runner.os }}-${{ runner.arch }}
|
||||
path: ${{ runner.temp }}
|
||||
@ -39,7 +39,7 @@ runs:
|
||||
run: tar -xf ${{ runner.temp }}/custom.tgz
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4
|
||||
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
|
||||
with:
|
||||
node-version: ${{ inputs.NODE_VERSION }}
|
||||
cache: npm
|
||||
@ -48,7 +48,7 @@ runs:
|
||||
if: runner.os == 'macOS'
|
||||
uses: actions/setup-python@65d7f2d534ac1bc67fcd62888c5f4f3d2cb2b236 # v4
|
||||
with:
|
||||
python-version: "3.11"
|
||||
python-version: '3.11'
|
||||
|
||||
- name: Install additional tools
|
||||
if: runner.os == 'Windows'
|
||||
@ -112,8 +112,8 @@ runs:
|
||||
PATH="/c/Program Files/DigiCert/DigiCert One Signing Manager Tools:${PATH}"
|
||||
smksp_registrar.exe list
|
||||
smctl.exe keypair ls
|
||||
smctl.exe windows certsync
|
||||
/c/Windows/System32/certutil.exe -csp "DigiCert Signing Manager KSP" -key -user
|
||||
smksp_cert_sync.exe
|
||||
|
||||
# (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}"
|
||||
@ -135,7 +135,7 @@ runs:
|
||||
XCODE_APP_LOADER_TEAM_ID: ${{ inputs.XCODE_APP_LOADER_TEAM_ID }}
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
|
||||
with:
|
||||
name: gh-release-${{ github.event.pull_request.head.sha || github.event.head_commit.id }}-${{ strategy.job-index }}
|
||||
path: dist
|
||||
|
4
.github/actions/test/action.yml
vendored
4
.github/actions/test/action.yml
vendored
@ -26,7 +26,7 @@ runs:
|
||||
steps:
|
||||
# https://github.com/actions/setup-node#caching-global-packages-data
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4
|
||||
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
|
||||
with:
|
||||
node-version: ${{ inputs.NODE_VERSION }}
|
||||
cache: npm
|
||||
@ -58,7 +58,7 @@ runs:
|
||||
run: tar --exclude-vcs -acf ${{ runner.temp }}/custom.tgz .
|
||||
|
||||
- name: Upload custom artifact
|
||||
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
|
||||
with:
|
||||
name: custom-${{ github.event.pull_request.head.sha || github.event.head_commit.id }}-${{ runner.os }}-${{ runner.arch }}
|
||||
path: ${{ runner.temp }}/custom.tgz
|
||||
|
@ -1,3 +1,369 @@
|
||||
- commits:
|
||||
- subject: Bump balena-preload to 18.0.4
|
||||
hash: 2bccabfc38f887e2d4fcbcbe87b25a03d38e75c3
|
||||
body: |
|
||||
Update balena-preload from 18.0.3 to 18.0.4
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Otavio Jacobi
|
||||
nested:
|
||||
- commits:
|
||||
- subject: Fix balena-preload pip deps
|
||||
hash: edd39729cfdc630c95ee4b5c1dffdba3b459224d
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Otavio Jacobi
|
||||
nested: []
|
||||
version: balena-preload-18.0.4
|
||||
title: ""
|
||||
date: 2025-05-21T14:25:07.587Z
|
||||
version: 21.1.14
|
||||
title: ""
|
||||
date: 2025-05-21T15:39:18.832Z
|
||||
- commits:
|
||||
- subject: Bump balena-preload to 18.0.3
|
||||
hash: 7c8ce1b1a93420c126e88b98d64366b1affaa439
|
||||
body: |
|
||||
Update balena-preload from 18.0.1 to 18.0.3
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Otavio Jacobi
|
||||
nested:
|
||||
- commits:
|
||||
- subject: Update dependency sh to v1.14.3
|
||||
hash: a1ad075baee7833286d10466683e0ccba6d4a6a1
|
||||
body: |
|
||||
Update sh from 1.12.14 to 1.14.3
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: balena-renovate[bot]
|
||||
nested: []
|
||||
version: balena-preload-18.0.3
|
||||
title: ""
|
||||
date: 2025-03-19T16:54:44.864Z
|
||||
- commits:
|
||||
- subject: Update alpine Docker tag to v3.21
|
||||
hash: 61081cd3caab334a91a09822144fe4a5be3a47ca
|
||||
body: |
|
||||
Update alpine from 3.12 to 3.21
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: balena-renovate[bot]
|
||||
nested: []
|
||||
version: balena-preload-18.0.2
|
||||
title: ""
|
||||
date: 2025-03-19T15:55:26.306Z
|
||||
version: 21.1.13
|
||||
title: ""
|
||||
date: 2025-05-21T13:46:30.149Z
|
||||
- commits:
|
||||
- subject: Update @balena/compose dependency to fix error with build secrets.
|
||||
hash: 0f8ce47ec6523e447315bc9103267371fd028bf4
|
||||
body: |
|
||||
See https://github.com/balena-io-modules/balena-compose/pull/79
|
||||
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: 21.1.12
|
||||
title: ""
|
||||
date: 2025-05-16T18:54:49.177Z
|
||||
- commits:
|
||||
- subject: Fix typos in `os configure` and `config generate` help messages
|
||||
hash: 8eb1777437aa4c34c437ebbf81c2cf0dee0cc460
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: myarmolinsky
|
||||
nested: []
|
||||
version: 21.1.11
|
||||
title: ""
|
||||
date: 2025-05-06T15:24:58.111Z
|
||||
- commits:
|
||||
- subject: "patch: fix windows signing"
|
||||
hash: 37e96e5d670d466910ad7164d5b26faf1ef41df7
|
||||
body: ""
|
||||
footer: {}
|
||||
author: Edwin Joassart
|
||||
nested: []
|
||||
version: 21.1.10
|
||||
title: ""
|
||||
date: 2025-05-05T17:13:23.657Z
|
||||
- commits:
|
||||
- subject: Update balena-config-json to rely on the balena-image-fs helpers
|
||||
hash: 4fcedd0607624ddbd26917e3be5fcbd39d96d2f6
|
||||
body: |
|
||||
Update balena-config-json from 4.2.2 to 4.2.7
|
||||
Update balena-image-fs from 7.5.0 to 7.5.2
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Thodoris Greasidis
|
||||
nested:
|
||||
- commits:
|
||||
- subject: Fix getBootPartition always warning that the boot partitions were not
|
||||
found
|
||||
hash: d91290d9c4b502652c50a34482ff68448eb0a4c2
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
version: balena-config-json-4.2.7
|
||||
title: ""
|
||||
date: 2025-04-02T14:14:31.495Z
|
||||
- commits:
|
||||
- subject: "write: Allow undefined as a value for the deprecated type parameter"
|
||||
hash: 9d5a44175e7f46f2f3963d794d48d3de8f49300f
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
- subject: Use the balena-image-fs findPartition() helper to find the boot
|
||||
partition
|
||||
hash: 49282ed9bd121d89c8d6fee5095917876cd6f501
|
||||
body: |
|
||||
Update balena-image-fs from 7.4.0 to 7.5.0
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Thodoris Greasidis
|
||||
nested:
|
||||
- commits:
|
||||
- subject: Add function to find a partition by name/label
|
||||
hash: 4e9b1cfb2739b738dd12bda7d1623e08ad208b46
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: minor
|
||||
change-type: minor
|
||||
Signed-off-by: Ken Bannister <kb2ma@runbox.com>
|
||||
signed-off-by: Ken Bannister <kb2ma@runbox.com>
|
||||
author: Ken Bannister
|
||||
nested: []
|
||||
version: balena-image-fs-7.5.0
|
||||
title: ""
|
||||
date: 2025-03-26T12:35:30.365Z
|
||||
- commits:
|
||||
- subject: bump ext2fs to 4.2.4
|
||||
hash: 300cc6d5cdd12ce0c47986efe98702511a03f4a5
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
Signed-off-by: Ryan Cooke<ryan@balena.io>
|
||||
signed-off-by: Ryan Cooke<ryan@balena.io>
|
||||
author: Ryan Cooke
|
||||
nested: []
|
||||
version: balena-image-fs-7.4.1
|
||||
title: ""
|
||||
date: 2025-02-21T10:21:04.380Z
|
||||
version: balena-config-json-4.2.6
|
||||
title: ""
|
||||
date: 2025-04-01T01:09:16.169Z
|
||||
- commits:
|
||||
- subject: Update @balena/lint to 9.1.4
|
||||
hash: 0ff1aa1ed8803b622948214493e1f9ec88cfe910
|
||||
body: |
|
||||
Update @balena/lint from 6.2.2 to 9.1.4
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
version: balena-config-json-4.2.5
|
||||
title: ""
|
||||
date: 2025-03-26T11:41:52.400Z
|
||||
- commits:
|
||||
- subject: Switch use ts-mocha instead of manually compiling the tests
|
||||
hash: c6e46d393d8670781cf9f94512e8ef05a4236111
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
- subject: Update TypeScript to 5.8.2
|
||||
hash: b8a8183bc14c24a63f5bc5dd60d8906f6d97a00d
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
version: balena-config-json-4.2.4
|
||||
title: ""
|
||||
date: 2025-03-26T09:09:13.516Z
|
||||
- commits:
|
||||
- subject: Update chai to v5
|
||||
hash: 7fe83ffc781eb66ac3535749f7fdf56d458eb959
|
||||
body: |
|
||||
Update @types/chai from 4.3.20 to 5.2.0
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: balena-renovate[bot]
|
||||
nested: []
|
||||
version: balena-config-json-4.2.3
|
||||
title: ""
|
||||
date: 2025-03-26T08:40:58.555Z
|
||||
- commits:
|
||||
- subject: Update dependency jsdoc-to-markdown to v9
|
||||
hash: f22a0a1dae022035e5357c147f681f8b7c703fe3
|
||||
body: |
|
||||
Update jsdoc-to-markdown from 8.0.3 to 9.1.1
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: balena-renovate[bot]
|
||||
nested: []
|
||||
version: balena-image-fs-7.5.2
|
||||
title: ""
|
||||
date: 2025-04-02T10:40:31.219Z
|
||||
- commits:
|
||||
- subject: Update @balena/lint to v9
|
||||
hash: 4da5fa44a43047cdb4f96c37a73a0f0674c9327b
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
- subject: Remove the no longer needed gpt detection helper
|
||||
hash: 0973da43aa321e4e2dad4b83c5beb965b8da7044
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
- subject: Update TypeScript to 5.8.2
|
||||
hash: 1580e7d577e0183c2b5d4f9ce3d0b8f519e4dff3
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
- subject: Drop the package-lock.json
|
||||
hash: 400ba55caa4c4af8098e2b164cd184651c283230
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Thodoris Greasidis
|
||||
nested: []
|
||||
version: balena-image-fs-7.5.1
|
||||
title: ""
|
||||
date: 2025-03-26T17:51:35.381Z
|
||||
version: 21.1.9
|
||||
title: ""
|
||||
date: 2025-04-07T12:53:16.860Z
|
||||
- commits:
|
||||
- subject: Update actions/download-artifact action to v4.1.9
|
||||
hash: a2209ffe5677388faf7b9bbccace5343265df51f
|
||||
body: |
|
||||
Update actions/download-artifact from 4.1.8 to 4.1.9
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: balena-renovate[bot]
|
||||
nested: []
|
||||
version: 21.1.8
|
||||
title: ""
|
||||
date: 2025-04-03T16:10:02.341Z
|
||||
- commits:
|
||||
- subject: Update actions/upload-artifact digest to ea165f8
|
||||
hash: c8ea9cfcdbaa9a8abf221132a7d1ff29a966e515
|
||||
body: |
|
||||
Update actions/upload-artifact
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: balena-renovate[bot]
|
||||
nested: []
|
||||
version: 21.1.7
|
||||
title: ""
|
||||
date: 2025-04-03T15:12:14.222Z
|
||||
- commits:
|
||||
- subject: Update actions/setup-node digest to cdca736
|
||||
hash: fe4243809033735a6439f39a1a33dfd00039d656
|
||||
body: |
|
||||
Update actions/setup-node
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: balena-renovate[bot]
|
||||
nested: []
|
||||
version: 21.1.6
|
||||
title: ""
|
||||
date: 2025-04-03T14:12:06.042Z
|
||||
- commits:
|
||||
- subject: Update dockerode/docker-modem dependencies for fixes
|
||||
hash: b650f8ff6d01d2144886253f93aa1d1867f51980
|
||||
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: 21.1.5
|
||||
title: ""
|
||||
date: 2025-04-03T13:28:08.855Z
|
||||
- commits:
|
||||
- subject: Add comment with secure boot signature file example for preload
|
||||
hash: 28703bb5ae13539ab4c1c597e6a53a5292a7edde
|
||||
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: 21.1.4
|
||||
title: ""
|
||||
date: 2025-04-02T09:16:27.791Z
|
||||
- commits:
|
||||
- subject: Fix device detail for open balena
|
||||
hash: 0d4e411777dd53d83c475da3653ab94176e07d7d
|
||||
body: ""
|
||||
footer:
|
||||
Change-type: patch
|
||||
change-type: patch
|
||||
author: Otavio Jacobi
|
||||
nested: []
|
||||
version: 21.1.3
|
||||
title: ""
|
||||
date: 2025-03-28T16:57:00.250Z
|
||||
- commits:
|
||||
- subject: Deny preload for an image with secure boot enabled
|
||||
hash: 7f2daeebb0973a59682ba4300e1b00bce6f6aead
|
||||
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: 21.1.2
|
||||
title: ""
|
||||
date: 2025-03-27T12:20:22.883Z
|
||||
- commits:
|
||||
- subject: Bump balena-sdk to 21.3.0
|
||||
hash: e82906872538a7401e31bd52e662e8356a89d413
|
||||
|
126
CHANGELOG.md
126
CHANGELOG.md
@ -4,6 +4,132 @@ 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/).
|
||||
|
||||
## 21.1.14 - 2025-05-21
|
||||
|
||||
|
||||
<details>
|
||||
<summary> Bump balena-preload to 18.0.4 [Otavio Jacobi] </summary>
|
||||
|
||||
> ### balena-preload-18.0.4 - 2025-05-21
|
||||
>
|
||||
> * Fix balena-preload pip deps [Otavio Jacobi]
|
||||
>
|
||||
|
||||
</details>
|
||||
|
||||
## 21.1.13 - 2025-05-21
|
||||
|
||||
|
||||
<details>
|
||||
<summary> Bump balena-preload to 18.0.3 [Otavio Jacobi] </summary>
|
||||
|
||||
> ### balena-preload-18.0.3 - 2025-03-19
|
||||
>
|
||||
> * Update dependency sh to v1.14.3 [balena-renovate[bot]]
|
||||
>
|
||||
> ### balena-preload-18.0.2 - 2025-03-19
|
||||
>
|
||||
> * Update alpine Docker tag to v3.21 [balena-renovate[bot]]
|
||||
>
|
||||
|
||||
</details>
|
||||
|
||||
## 21.1.12 - 2025-05-16
|
||||
|
||||
* Update @balena/compose dependency to fix error with build secrets. [Ken Bannister]
|
||||
|
||||
## 21.1.11 - 2025-05-06
|
||||
|
||||
* Fix typos in `os configure` and `config generate` help messages [myarmolinsky]
|
||||
|
||||
## 21.1.10 - 2025-05-05
|
||||
|
||||
* patch: fix windows signing [Edwin Joassart]
|
||||
|
||||
## 21.1.9 - 2025-04-07
|
||||
|
||||
|
||||
<details>
|
||||
<summary> Update balena-config-json to rely on the balena-image-fs helpers [Thodoris Greasidis] </summary>
|
||||
|
||||
> ### balena-config-json-4.2.7 - 2025-04-02
|
||||
>
|
||||
> * Fix getBootPartition always warning that the boot partitions were not found [Thodoris Greasidis]
|
||||
>
|
||||
> ### balena-config-json-4.2.6 - 2025-04-01
|
||||
>
|
||||
> * write: Allow undefined as a value for the deprecated type parameter [Thodoris Greasidis]
|
||||
>
|
||||
> <details>
|
||||
> <summary> Use the balena-image-fs findPartition() helper to find the boot partition [Thodoris Greasidis] </summary>
|
||||
>
|
||||
>> #### balena-image-fs-7.5.0 - 2025-03-26
|
||||
>>
|
||||
>> * Add function to find a partition by name/label [Ken Bannister]
|
||||
>>
|
||||
>> #### balena-image-fs-7.4.1 - 2025-02-21
|
||||
>>
|
||||
>> * bump ext2fs to 4.2.4 [Ryan Cooke]
|
||||
>>
|
||||
>
|
||||
> </details>
|
||||
>
|
||||
>
|
||||
> ### balena-config-json-4.2.5 - 2025-03-26
|
||||
>
|
||||
> * Update @balena/lint to 9.1.4 [Thodoris Greasidis]
|
||||
>
|
||||
> ### balena-config-json-4.2.4 - 2025-03-26
|
||||
>
|
||||
> * Switch use ts-mocha instead of manually compiling the tests [Thodoris Greasidis]
|
||||
> * Update TypeScript to 5.8.2 [Thodoris Greasidis]
|
||||
>
|
||||
> ### balena-config-json-4.2.3 - 2025-03-26
|
||||
>
|
||||
> * Update chai to v5 [balena-renovate[bot]]
|
||||
>
|
||||
> ### balena-image-fs-7.5.2 - 2025-04-02
|
||||
>
|
||||
> * Update dependency jsdoc-to-markdown to v9 [balena-renovate[bot]]
|
||||
>
|
||||
> ### balena-image-fs-7.5.1 - 2025-03-26
|
||||
>
|
||||
> * Update @balena/lint to v9 [Thodoris Greasidis]
|
||||
> * Remove the no longer needed gpt detection helper [Thodoris Greasidis]
|
||||
> * Update TypeScript to 5.8.2 [Thodoris Greasidis]
|
||||
> * Drop the package-lock.json [Thodoris Greasidis]
|
||||
>
|
||||
|
||||
</details>
|
||||
|
||||
## 21.1.8 - 2025-04-03
|
||||
|
||||
* Update actions/download-artifact action to v4.1.9 [balena-renovate[bot]]
|
||||
|
||||
## 21.1.7 - 2025-04-03
|
||||
|
||||
* Update actions/upload-artifact digest to ea165f8 [balena-renovate[bot]]
|
||||
|
||||
## 21.1.6 - 2025-04-03
|
||||
|
||||
* Update actions/setup-node digest to cdca736 [balena-renovate[bot]]
|
||||
|
||||
## 21.1.5 - 2025-04-03
|
||||
|
||||
* Update dockerode/docker-modem dependencies for fixes [Ken Bannister]
|
||||
|
||||
## 21.1.4 - 2025-04-02
|
||||
|
||||
* Add comment with secure boot signature file example for preload [Ken Bannister]
|
||||
|
||||
## 21.1.3 - 2025-03-28
|
||||
|
||||
* Fix device detail for open balena [Otavio Jacobi]
|
||||
|
||||
## 21.1.2 - 2025-03-27
|
||||
|
||||
* Deny preload for an image with secure boot enabled [Ken Bannister]
|
||||
|
||||
## 21.1.1 - 2025-03-26
|
||||
|
||||
|
||||
|
@ -574,9 +574,9 @@ Generate a config.json file for a device or fleet.
|
||||
The target balenaOS version must be specified with the --version option.
|
||||
|
||||
The '--dev' option is used to configure balenaOS to operate in development mode,
|
||||
allowing anauthenticated root ssh access and exposing network ports such as
|
||||
allowing unauthenticated root ssh access and exposing network ports such as
|
||||
balenaEngine's 2375 (unencrypted). This option causes `"developmentMode": true`
|
||||
to be inserted in the 'config.json' file in the image's boot partion. Development
|
||||
to be inserted in the 'config.json' file in the image's boot partition. Development
|
||||
mode (as a configurable option) is applicable to balenaOS releases from early
|
||||
2022. Older releases have separate development and production balenaOS images
|
||||
that cannot be reconfigured through 'config.json' or the '--dev' option. Do not
|
||||
@ -2872,9 +2872,9 @@ The --device-type option is used to override the fleet's default device type,
|
||||
in case of a fleet with mixed device types.
|
||||
|
||||
The '--dev' option is used to configure balenaOS to operate in development mode,
|
||||
allowing anauthenticated root ssh access and exposing network ports such as
|
||||
allowing unauthenticated root ssh access and exposing network ports such as
|
||||
balenaEngine's 2375 (unencrypted). This option causes `"developmentMode": true`
|
||||
to be inserted in the 'config.json' file in the image's boot partion. Development
|
||||
to be inserted in the 'config.json' file in the image's boot partition. Development
|
||||
mode (as a configurable option) is applicable to balenaOS releases from early
|
||||
2022. Older releases have separate development and production balenaOS images
|
||||
that cannot be reconfigured through 'config.json' or the '--dev' option. Do not
|
||||
|
438
npm-shrinkwrap.json
generated
438
npm-shrinkwrap.json
generated
@ -1,26 +1,26 @@
|
||||
{
|
||||
"name": "balena-cli",
|
||||
"version": "21.1.1",
|
||||
"version": "21.1.14",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "balena-cli",
|
||||
"version": "21.1.1",
|
||||
"version": "21.1.14",
|
||||
"hasInstallScript": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@balena/compose": "^7.0.1",
|
||||
"@balena/compose": "^7.0.9",
|
||||
"@balena/dockerignore": "^1.0.2",
|
||||
"@balena/env-parsing": "^1.1.8",
|
||||
"@balena/es-version": "^1.0.1",
|
||||
"@oclif/core": "^4.1.0",
|
||||
"@sentry/node": "^6.16.1",
|
||||
"balena-config-json": "^4.2.2",
|
||||
"balena-config-json": "^4.2.7",
|
||||
"balena-device-init": "^8.1.3",
|
||||
"balena-errors": "^4.7.3",
|
||||
"balena-image-fs": "^7.3.0",
|
||||
"balena-preload": "^18.0.1",
|
||||
"balena-image-fs": "^7.5.2",
|
||||
"balena-preload": "^18.0.4",
|
||||
"balena-sdk": "^21.3.0",
|
||||
"balena-semver": "^2.3.0",
|
||||
"balena-settings-client": "^5.0.2",
|
||||
@ -34,9 +34,9 @@
|
||||
"common-tags": "^1.7.2",
|
||||
"date-fns": "^4.1.0",
|
||||
"denymount": "^2.3.0",
|
||||
"docker-modem": "5.0.5",
|
||||
"docker-modem": "^5.0.6",
|
||||
"docker-progress": "^5.1.3",
|
||||
"dockerode": "4.0.3",
|
||||
"dockerode": "^4.0.5",
|
||||
"ejs": "^3.1.6",
|
||||
"etcher-sdk": "9.1.0",
|
||||
"express": "^4.17.2",
|
||||
@ -1207,9 +1207,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/helper-string-parser": {
|
||||
"version": "7.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
|
||||
"integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
|
||||
"version": "7.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
|
||||
"integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@ -1217,9 +1217,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/helper-validator-identifier": {
|
||||
"version": "7.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
|
||||
"integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
|
||||
"version": "7.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz",
|
||||
"integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@ -1282,13 +1282,13 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@babel/parser": {
|
||||
"version": "7.27.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz",
|
||||
"integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==",
|
||||
"version": "7.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.2.tgz",
|
||||
"integrity": "sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/types": "^7.27.0"
|
||||
"@babel/types": "^7.27.1"
|
||||
},
|
||||
"bin": {
|
||||
"parser": "bin/babel-parser.js"
|
||||
@ -1298,14 +1298,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/parser/node_modules/@babel/types": {
|
||||
"version": "7.27.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz",
|
||||
"integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==",
|
||||
"version": "7.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz",
|
||||
"integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-string-parser": "^7.25.9",
|
||||
"@babel/helper-validator-identifier": "^7.25.9"
|
||||
"@babel/helper-string-parser": "^7.27.1",
|
||||
"@babel/helper-validator-identifier": "^7.27.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
@ -1326,14 +1326,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/template/node_modules/@babel/types": {
|
||||
"version": "7.27.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz",
|
||||
"integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==",
|
||||
"version": "7.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz",
|
||||
"integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-string-parser": "^7.25.9",
|
||||
"@babel/helper-validator-identifier": "^7.25.9"
|
||||
"@babel/helper-string-parser": "^7.27.1",
|
||||
"@babel/helper-validator-identifier": "^7.27.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
@ -1361,14 +1361,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/traverse/node_modules/@babel/generator": {
|
||||
"version": "7.27.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.0.tgz",
|
||||
"integrity": "sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==",
|
||||
"version": "7.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.1.tgz",
|
||||
"integrity": "sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/parser": "^7.27.0",
|
||||
"@babel/types": "^7.27.0",
|
||||
"@babel/parser": "^7.27.1",
|
||||
"@babel/types": "^7.27.1",
|
||||
"@jridgewell/gen-mapping": "^0.3.5",
|
||||
"@jridgewell/trace-mapping": "^0.3.25",
|
||||
"jsesc": "^3.0.2"
|
||||
@ -1378,14 +1378,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/traverse/node_modules/@babel/types": {
|
||||
"version": "7.27.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz",
|
||||
"integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==",
|
||||
"version": "7.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz",
|
||||
"integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-string-parser": "^7.25.9",
|
||||
"@babel/helper-validator-identifier": "^7.25.9"
|
||||
"@babel/helper-string-parser": "^7.27.1",
|
||||
"@babel/helper-validator-identifier": "^7.27.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
@ -1474,17 +1474,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@balena/compose": {
|
||||
"version": "7.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@balena/compose/-/compose-7.0.1.tgz",
|
||||
"integrity": "sha512-Xic5WJg7i4D9y9TN+BnY8PYbQLLMewN8CR8i+fZ76GHWyBRfk9+tP3JUpmymvSaK9QTKC2UE2nFiadzbfyIFAg==",
|
||||
"version": "7.0.9",
|
||||
"resolved": "https://registry.npmjs.org/@balena/compose/-/compose-7.0.9.tgz",
|
||||
"integrity": "sha512-fanVToln7hl0cL86X8lbwABxOb63sPRpPgK5An7ff/l2iVPhJ85hpUGC2NTQ83KUXX5yV6B55FVK0Ao84es2dw==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"ajv": "^6.12.3",
|
||||
"docker-file-parser": "^1.0.7",
|
||||
"docker-modem": "^5.0.3",
|
||||
"docker-progress": "^5.1.0",
|
||||
"dockerfile-ast": "^0.2.1",
|
||||
"dockerode": "^4.0.2",
|
||||
"dockerfile-ast": "^0.7.0",
|
||||
"dockerode": "^4.0.4",
|
||||
"duplexify": "^4.1.2",
|
||||
"event-stream": "^4.0.1",
|
||||
"fp-ts": "^2.8.1",
|
||||
@ -1655,19 +1654,22 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@balena/lint/node_modules/@eslint/js": {
|
||||
"version": "9.23.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.23.0.tgz",
|
||||
"integrity": "sha512-35MJ8vCPU0ZMxo7zfev2pypqTwWTofFZO6m4KAtdoFhRpLJUpHTZZ+KB3C7Hb1d7bULYwO4lJXGCi5Se+8OMbw==",
|
||||
"version": "9.27.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.27.0.tgz",
|
||||
"integrity": "sha512-G5JD9Tu5HJEu4z2Uo4aHY2sLV64B7CDMXxFzqzjl3NKd6RVzSXNoE80jk7Y0lJkTTkjiIhBAqmlYwjuBY3tvpA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://eslint.org/donate"
|
||||
}
|
||||
},
|
||||
"node_modules/@balena/lint/node_modules/@humanwhocodes/retry": {
|
||||
"version": "0.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz",
|
||||
"integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==",
|
||||
"version": "0.4.3",
|
||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz",
|
||||
"integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
@ -1728,20 +1730,20 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@balena/lint/node_modules/eslint": {
|
||||
"version": "9.23.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.23.0.tgz",
|
||||
"integrity": "sha512-jV7AbNoFPAY1EkFYpLq5bslU9NLNO8xnEeQXwErNibVryjk67wHVmddTBilc5srIttJDBrB0eMHKZBFbSIABCw==",
|
||||
"version": "9.27.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.27.0.tgz",
|
||||
"integrity": "sha512-ixRawFQuMB9DZ7fjU3iGGganFDp3+45bPOdaRurcFHSXO1e/sYwUX/FtQZpLZJR6SjMoJH8hR2pPEAfDyCoU2Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.2.0",
|
||||
"@eslint-community/regexpp": "^4.12.1",
|
||||
"@eslint/config-array": "^0.19.2",
|
||||
"@eslint/config-helpers": "^0.2.0",
|
||||
"@eslint/core": "^0.12.0",
|
||||
"@eslint/config-array": "^0.20.0",
|
||||
"@eslint/config-helpers": "^0.2.1",
|
||||
"@eslint/core": "^0.14.0",
|
||||
"@eslint/eslintrc": "^3.3.1",
|
||||
"@eslint/js": "9.23.0",
|
||||
"@eslint/plugin-kit": "^0.2.7",
|
||||
"@eslint/js": "9.27.0",
|
||||
"@eslint/plugin-kit": "^0.3.1",
|
||||
"@humanfs/node": "^0.16.6",
|
||||
"@humanwhocodes/module-importer": "^1.0.1",
|
||||
"@humanwhocodes/retry": "^0.4.2",
|
||||
@ -1862,9 +1864,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@balena/lint/node_modules/glob": {
|
||||
"version": "11.0.1",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-11.0.1.tgz",
|
||||
"integrity": "sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==",
|
||||
"version": "11.0.2",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-11.0.2.tgz",
|
||||
"integrity": "sha512-YT7U7Vye+t5fZ/QMkBFrTJ7ZQxInIUjwyAjVj84CYXqgBdv30MFUPGnBR6sQaVq6Is15wYJUsnzTuWaGRBhBAQ==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
@ -2098,9 +2100,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@balena/sbvr-types": {
|
||||
"version": "9.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@balena/sbvr-types/-/sbvr-types-9.2.2.tgz",
|
||||
"integrity": "sha512-vxVnVaETQ+uTPxEcdY5zz5IUC4dWhw8NEof6birMo5EJ/E6m6cmsRvx04DikI3LYPqtAFS8M1aDaT4gKjH5F+g==",
|
||||
"version": "9.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@balena/sbvr-types/-/sbvr-types-9.2.4.tgz",
|
||||
"integrity": "sha512-qiyys96H3x3atw0PNJ9y69a8sFzDGWBtDUVxE6BDerrabnypJr5u3spH9Z3hvcnGHTX9HhGHk5UKW9LgTPWt9Q==",
|
||||
"license": "BSD",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
@ -2222,9 +2224,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/config-array": {
|
||||
"version": "0.19.2",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz",
|
||||
"integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==",
|
||||
"version": "0.20.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz",
|
||||
"integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
@ -2237,9 +2239,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/config-helpers": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.0.tgz",
|
||||
"integrity": "sha512-yJLLmLexii32mGrhW29qvU3QBVTu0GUmEf/J4XsBtVhp4JkIUFN/BjWqTF63yRvGApIDpZm5fa97LtYtINmfeQ==",
|
||||
"version": "0.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.2.tgz",
|
||||
"integrity": "sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
@ -2247,9 +2249,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/core": {
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz",
|
||||
"integrity": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==",
|
||||
"version": "0.14.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz",
|
||||
"integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
@ -2341,13 +2343,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/plugin-kit": {
|
||||
"version": "0.2.7",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz",
|
||||
"integrity": "sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==",
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.1.tgz",
|
||||
"integrity": "sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@eslint/core": "^0.12.0",
|
||||
"@eslint/core": "^0.14.0",
|
||||
"levn": "^0.4.1"
|
||||
},
|
||||
"engines": {
|
||||
@ -2517,14 +2519,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/checkbox/node_modules/@inquirer/core": {
|
||||
"version": "10.1.9",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.9.tgz",
|
||||
"integrity": "sha512-sXhVB8n20NYkUBfDYgizGHlpRVaCRjtuzNZA6xpALIUbkgfd2Hjz+DfEN6+h1BRnuxw0/P4jCIMjMsEOAMwAJw==",
|
||||
"version": "10.1.11",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.11.tgz",
|
||||
"integrity": "sha512-BXwI/MCqdtAhzNQlBEFE7CEflhPkl/BqvAuV/aK6lW3DClIfYVDWPP/kXuXHtBWC7/EEbNqd/1BGq2BGBBnuxw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@inquirer/figures": "^1.0.11",
|
||||
"@inquirer/type": "^3.0.5",
|
||||
"@inquirer/type": "^3.0.6",
|
||||
"ansi-escapes": "^4.3.2",
|
||||
"cli-width": "^4.1.0",
|
||||
"mute-stream": "^2.0.0",
|
||||
@ -2545,9 +2547,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/checkbox/node_modules/@inquirer/type": {
|
||||
"version": "3.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.5.tgz",
|
||||
"integrity": "sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg==",
|
||||
"version": "3.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.6.tgz",
|
||||
"integrity": "sha512-/mKVCtVpyBu3IDarv0G+59KC4stsD5mDsGpYh+GKs1NZT88Jh52+cuoA1AtLk2Q0r/quNl+1cSUyLRHBFeD0XA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@ -2682,13 +2684,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/core/node_modules/@types/node": {
|
||||
"version": "22.13.13",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.13.tgz",
|
||||
"integrity": "sha512-ClsL5nMwKaBRwPcCvH8E7+nU4GxHVx1axNvMZTFHMEfNI7oahimt26P5zjVCRrjiIWj6YFXfE1v3dEp94wLcGQ==",
|
||||
"version": "22.15.21",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.21.tgz",
|
||||
"integrity": "sha512-EV/37Td6c+MgKAbkcLG6vqZ2zEYHD7bvSrzqqs2RIhbA6w3x+Dqz8MZM3sP6kGTeLrdoOgKZe+Xja7tUB2DNkQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"undici-types": "~6.20.0"
|
||||
"undici-types": "~6.21.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/core/node_modules/ansi-escapes": {
|
||||
@ -2749,10 +2751,11 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/core/node_modules/undici-types": {
|
||||
"version": "6.20.0",
|
||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
|
||||
"integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
|
||||
"dev": true
|
||||
"version": "6.21.0",
|
||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
|
||||
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@inquirer/core/node_modules/wrap-ansi": {
|
||||
"version": "6.2.0",
|
||||
@ -2786,14 +2789,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/editor/node_modules/@inquirer/core": {
|
||||
"version": "10.1.9",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.9.tgz",
|
||||
"integrity": "sha512-sXhVB8n20NYkUBfDYgizGHlpRVaCRjtuzNZA6xpALIUbkgfd2Hjz+DfEN6+h1BRnuxw0/P4jCIMjMsEOAMwAJw==",
|
||||
"version": "10.1.11",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.11.tgz",
|
||||
"integrity": "sha512-BXwI/MCqdtAhzNQlBEFE7CEflhPkl/BqvAuV/aK6lW3DClIfYVDWPP/kXuXHtBWC7/EEbNqd/1BGq2BGBBnuxw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@inquirer/figures": "^1.0.11",
|
||||
"@inquirer/type": "^3.0.5",
|
||||
"@inquirer/type": "^3.0.6",
|
||||
"ansi-escapes": "^4.3.2",
|
||||
"cli-width": "^4.1.0",
|
||||
"mute-stream": "^2.0.0",
|
||||
@ -2814,9 +2817,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/editor/node_modules/@inquirer/type": {
|
||||
"version": "3.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.5.tgz",
|
||||
"integrity": "sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg==",
|
||||
"version": "3.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.6.tgz",
|
||||
"integrity": "sha512-/mKVCtVpyBu3IDarv0G+59KC4stsD5mDsGpYh+GKs1NZT88Jh52+cuoA1AtLk2Q0r/quNl+1cSUyLRHBFeD0XA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@ -2946,14 +2949,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/expand/node_modules/@inquirer/core": {
|
||||
"version": "10.1.9",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.9.tgz",
|
||||
"integrity": "sha512-sXhVB8n20NYkUBfDYgizGHlpRVaCRjtuzNZA6xpALIUbkgfd2Hjz+DfEN6+h1BRnuxw0/P4jCIMjMsEOAMwAJw==",
|
||||
"version": "10.1.11",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.11.tgz",
|
||||
"integrity": "sha512-BXwI/MCqdtAhzNQlBEFE7CEflhPkl/BqvAuV/aK6lW3DClIfYVDWPP/kXuXHtBWC7/EEbNqd/1BGq2BGBBnuxw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@inquirer/figures": "^1.0.11",
|
||||
"@inquirer/type": "^3.0.5",
|
||||
"@inquirer/type": "^3.0.6",
|
||||
"ansi-escapes": "^4.3.2",
|
||||
"cli-width": "^4.1.0",
|
||||
"mute-stream": "^2.0.0",
|
||||
@ -2974,9 +2977,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/expand/node_modules/@inquirer/type": {
|
||||
"version": "3.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.5.tgz",
|
||||
"integrity": "sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg==",
|
||||
"version": "3.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.6.tgz",
|
||||
"integrity": "sha512-/mKVCtVpyBu3IDarv0G+59KC4stsD5mDsGpYh+GKs1NZT88Jh52+cuoA1AtLk2Q0r/quNl+1cSUyLRHBFeD0XA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@ -3102,14 +3105,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/number/node_modules/@inquirer/core": {
|
||||
"version": "10.1.9",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.9.tgz",
|
||||
"integrity": "sha512-sXhVB8n20NYkUBfDYgizGHlpRVaCRjtuzNZA6xpALIUbkgfd2Hjz+DfEN6+h1BRnuxw0/P4jCIMjMsEOAMwAJw==",
|
||||
"version": "10.1.11",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.11.tgz",
|
||||
"integrity": "sha512-BXwI/MCqdtAhzNQlBEFE7CEflhPkl/BqvAuV/aK6lW3DClIfYVDWPP/kXuXHtBWC7/EEbNqd/1BGq2BGBBnuxw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@inquirer/figures": "^1.0.11",
|
||||
"@inquirer/type": "^3.0.5",
|
||||
"@inquirer/type": "^3.0.6",
|
||||
"ansi-escapes": "^4.3.2",
|
||||
"cli-width": "^4.1.0",
|
||||
"mute-stream": "^2.0.0",
|
||||
@ -3130,9 +3133,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/number/node_modules/@inquirer/type": {
|
||||
"version": "3.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.5.tgz",
|
||||
"integrity": "sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg==",
|
||||
"version": "3.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.6.tgz",
|
||||
"integrity": "sha512-/mKVCtVpyBu3IDarv0G+59KC4stsD5mDsGpYh+GKs1NZT88Jh52+cuoA1AtLk2Q0r/quNl+1cSUyLRHBFeD0XA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@ -3236,14 +3239,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/password/node_modules/@inquirer/core": {
|
||||
"version": "10.1.9",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.9.tgz",
|
||||
"integrity": "sha512-sXhVB8n20NYkUBfDYgizGHlpRVaCRjtuzNZA6xpALIUbkgfd2Hjz+DfEN6+h1BRnuxw0/P4jCIMjMsEOAMwAJw==",
|
||||
"version": "10.1.11",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.11.tgz",
|
||||
"integrity": "sha512-BXwI/MCqdtAhzNQlBEFE7CEflhPkl/BqvAuV/aK6lW3DClIfYVDWPP/kXuXHtBWC7/EEbNqd/1BGq2BGBBnuxw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@inquirer/figures": "^1.0.11",
|
||||
"@inquirer/type": "^3.0.5",
|
||||
"@inquirer/type": "^3.0.6",
|
||||
"ansi-escapes": "^4.3.2",
|
||||
"cli-width": "^4.1.0",
|
||||
"mute-stream": "^2.0.0",
|
||||
@ -3264,9 +3267,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/password/node_modules/@inquirer/type": {
|
||||
"version": "3.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.5.tgz",
|
||||
"integrity": "sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg==",
|
||||
"version": "3.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.6.tgz",
|
||||
"integrity": "sha512-/mKVCtVpyBu3IDarv0G+59KC4stsD5mDsGpYh+GKs1NZT88Jh52+cuoA1AtLk2Q0r/quNl+1cSUyLRHBFeD0XA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@ -3377,14 +3380,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/prompts/node_modules/@inquirer/confirm": {
|
||||
"version": "5.1.8",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.8.tgz",
|
||||
"integrity": "sha512-dNLWCYZvXDjO3rnQfk2iuJNL4Ivwz/T2+C3+WnNfJKsNGSuOs3wAo2F6e0p946gtSAk31nZMfW+MRmYaplPKsg==",
|
||||
"version": "5.1.10",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.10.tgz",
|
||||
"integrity": "sha512-FxbQ9giWxUWKUk2O5XZ6PduVnH2CZ/fmMKMBkH71MHJvWr7WL5AHKevhzF1L5uYWB2P548o1RzVxrNd3dpmk6g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@inquirer/core": "^10.1.9",
|
||||
"@inquirer/type": "^3.0.5"
|
||||
"@inquirer/core": "^10.1.11",
|
||||
"@inquirer/type": "^3.0.6"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
@ -3399,14 +3402,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/prompts/node_modules/@inquirer/core": {
|
||||
"version": "10.1.9",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.9.tgz",
|
||||
"integrity": "sha512-sXhVB8n20NYkUBfDYgizGHlpRVaCRjtuzNZA6xpALIUbkgfd2Hjz+DfEN6+h1BRnuxw0/P4jCIMjMsEOAMwAJw==",
|
||||
"version": "10.1.11",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.11.tgz",
|
||||
"integrity": "sha512-BXwI/MCqdtAhzNQlBEFE7CEflhPkl/BqvAuV/aK6lW3DClIfYVDWPP/kXuXHtBWC7/EEbNqd/1BGq2BGBBnuxw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@inquirer/figures": "^1.0.11",
|
||||
"@inquirer/type": "^3.0.5",
|
||||
"@inquirer/type": "^3.0.6",
|
||||
"ansi-escapes": "^4.3.2",
|
||||
"cli-width": "^4.1.0",
|
||||
"mute-stream": "^2.0.0",
|
||||
@ -3427,14 +3430,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/prompts/node_modules/@inquirer/input": {
|
||||
"version": "4.1.8",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.1.8.tgz",
|
||||
"integrity": "sha512-WXJI16oOZ3/LiENCAxe8joniNp8MQxF6Wi5V+EBbVA0ZIOpFcL4I9e7f7cXse0HJeIPCWO8Lcgnk98juItCi7Q==",
|
||||
"version": "4.1.10",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.1.10.tgz",
|
||||
"integrity": "sha512-kV3BVne3wJ+j6reYQUZi/UN9NZGZLxgc/tfyjeK3mrx1QI7RXPxGp21IUTv+iVHcbP4ytZALF8vCHoxyNSC6qg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@inquirer/core": "^10.1.9",
|
||||
"@inquirer/type": "^3.0.5"
|
||||
"@inquirer/core": "^10.1.11",
|
||||
"@inquirer/type": "^3.0.6"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
@ -3449,15 +3452,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/prompts/node_modules/@inquirer/select": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.1.0.tgz",
|
||||
"integrity": "sha512-z0a2fmgTSRN+YBuiK1ROfJ2Nvrpij5lVN3gPDkQGhavdvIVGHGW29LwYZfM/j42Ai2hUghTI/uoBuTbrJk42bA==",
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.2.1.tgz",
|
||||
"integrity": "sha512-gt1Kd5XZm+/ddemcT3m23IP8aD8rC9drRckWoP/1f7OL46Yy2FGi8DSmNjEjQKtPl6SV96Kmjbl6p713KXJ/Jg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@inquirer/core": "^10.1.9",
|
||||
"@inquirer/core": "^10.1.11",
|
||||
"@inquirer/figures": "^1.0.11",
|
||||
"@inquirer/type": "^3.0.5",
|
||||
"@inquirer/type": "^3.0.6",
|
||||
"ansi-escapes": "^4.3.2",
|
||||
"yoctocolors-cjs": "^2.1.2"
|
||||
},
|
||||
@ -3474,9 +3477,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/prompts/node_modules/@inquirer/type": {
|
||||
"version": "3.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.5.tgz",
|
||||
"integrity": "sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg==",
|
||||
"version": "3.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.6.tgz",
|
||||
"integrity": "sha512-/mKVCtVpyBu3IDarv0G+59KC4stsD5mDsGpYh+GKs1NZT88Jh52+cuoA1AtLk2Q0r/quNl+1cSUyLRHBFeD0XA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@ -3586,14 +3589,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/rawlist/node_modules/@inquirer/core": {
|
||||
"version": "10.1.9",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.9.tgz",
|
||||
"integrity": "sha512-sXhVB8n20NYkUBfDYgizGHlpRVaCRjtuzNZA6xpALIUbkgfd2Hjz+DfEN6+h1BRnuxw0/P4jCIMjMsEOAMwAJw==",
|
||||
"version": "10.1.11",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.11.tgz",
|
||||
"integrity": "sha512-BXwI/MCqdtAhzNQlBEFE7CEflhPkl/BqvAuV/aK6lW3DClIfYVDWPP/kXuXHtBWC7/EEbNqd/1BGq2BGBBnuxw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@inquirer/figures": "^1.0.11",
|
||||
"@inquirer/type": "^3.0.5",
|
||||
"@inquirer/type": "^3.0.6",
|
||||
"ansi-escapes": "^4.3.2",
|
||||
"cli-width": "^4.1.0",
|
||||
"mute-stream": "^2.0.0",
|
||||
@ -3614,9 +3617,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/rawlist/node_modules/@inquirer/type": {
|
||||
"version": "3.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.5.tgz",
|
||||
"integrity": "sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg==",
|
||||
"version": "3.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.6.tgz",
|
||||
"integrity": "sha512-/mKVCtVpyBu3IDarv0G+59KC4stsD5mDsGpYh+GKs1NZT88Jh52+cuoA1AtLk2Q0r/quNl+1cSUyLRHBFeD0XA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@ -3721,14 +3724,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/search/node_modules/@inquirer/core": {
|
||||
"version": "10.1.9",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.9.tgz",
|
||||
"integrity": "sha512-sXhVB8n20NYkUBfDYgizGHlpRVaCRjtuzNZA6xpALIUbkgfd2Hjz+DfEN6+h1BRnuxw0/P4jCIMjMsEOAMwAJw==",
|
||||
"version": "10.1.11",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.11.tgz",
|
||||
"integrity": "sha512-BXwI/MCqdtAhzNQlBEFE7CEflhPkl/BqvAuV/aK6lW3DClIfYVDWPP/kXuXHtBWC7/EEbNqd/1BGq2BGBBnuxw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@inquirer/figures": "^1.0.11",
|
||||
"@inquirer/type": "^3.0.5",
|
||||
"@inquirer/type": "^3.0.6",
|
||||
"ansi-escapes": "^4.3.2",
|
||||
"cli-width": "^4.1.0",
|
||||
"mute-stream": "^2.0.0",
|
||||
@ -3749,9 +3752,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/search/node_modules/@inquirer/type": {
|
||||
"version": "3.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.5.tgz",
|
||||
"integrity": "sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg==",
|
||||
"version": "3.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.6.tgz",
|
||||
"integrity": "sha512-/mKVCtVpyBu3IDarv0G+59KC4stsD5mDsGpYh+GKs1NZT88Jh52+cuoA1AtLk2Q0r/quNl+1cSUyLRHBFeD0XA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@ -4113,9 +4116,10 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@mapbox/node-pre-gyp/node_modules/detect-libc": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz",
|
||||
"integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==",
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz",
|
||||
"integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
@ -5829,9 +5833,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "20.17.27",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.27.tgz",
|
||||
"integrity": "sha512-U58sbKhDrthHlxHRJw7ZLiLDZGmAUOZUbpw0S6nL27sYUdhvgBLCRu/keSd6qcTsfArd1sRFCCBxzWATGr/0UA==",
|
||||
"version": "20.17.50",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.50.tgz",
|
||||
"integrity": "sha512-Mxiq0ULv/zo1OzOhwPqOA13I81CV/W3nvd3ChtQZRT5Cwz3cr0FKo/wMSsbTqL3EXpaBAEQhva2B8ByRkOIh9A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"undici-types": "~6.19.2"
|
||||
@ -7363,12 +7367,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/balena-config-json": {
|
||||
"version": "4.2.2",
|
||||
"resolved": "https://registry.npmjs.org/balena-config-json/-/balena-config-json-4.2.2.tgz",
|
||||
"integrity": "sha512-dI/vZ+1Zgz8X/PEBEtBqGqi4eWDtD0e05LAOAIfdTtbYJK5DJhMSq7Is3IKDWgZNejDI+NpbDmRok45tqCmiag==",
|
||||
"version": "4.2.7",
|
||||
"resolved": "https://registry.npmjs.org/balena-config-json/-/balena-config-json-4.2.7.tgz",
|
||||
"integrity": "sha512-cnRsRyKiPojETc/Xq9yN25d78ihGbFp1lJPeGzVKcuNn2PKZ6f6N3SMNuJA7BbFNMKrDhpEhGn274jCWklskaA==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"balena-image-fs": "^7.4.0",
|
||||
"balena-image-fs": "^7.5.0",
|
||||
"file-disk": "^8.0.1",
|
||||
"partitioninfo": "^6.0.2"
|
||||
}
|
||||
@ -7427,9 +7431,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/balena-image-fs": {
|
||||
"version": "7.4.1",
|
||||
"resolved": "https://registry.npmjs.org/balena-image-fs/-/balena-image-fs-7.4.1.tgz",
|
||||
"integrity": "sha512-md41m3Jo54EOj7ASrqCD2GJ+LtF9AmMT46dABIbaPvVerY1zUEW8rGfIfrgq4Tz3tL82y73spoVhcabtkaRj5A==",
|
||||
"version": "7.5.2",
|
||||
"resolved": "https://registry.npmjs.org/balena-image-fs/-/balena-image-fs-7.5.2.tgz",
|
||||
"integrity": "sha512-bOxnUaJWA26wNlOMc5QScBvqGLQUWw/K0GK/VDgu5tGsZdN4rtdIPSbhXcKBw+0gcNPUumYDtdDPipaOH1kREA==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"ext2fs": "^4.2.4",
|
||||
@ -7443,9 +7447,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/balena-preload": {
|
||||
"version": "18.0.1",
|
||||
"resolved": "https://registry.npmjs.org/balena-preload/-/balena-preload-18.0.1.tgz",
|
||||
"integrity": "sha512-KP5u9T3J6CNAD/w+iaPv+BLnhX/2pgjybFuYQcei5laPIEmy1eWiP/IAJENB5FJ8i6ME4H6sU3RA5bSeCr/0ZA==",
|
||||
"version": "18.0.4",
|
||||
"resolved": "https://registry.npmjs.org/balena-preload/-/balena-preload-18.0.4.tgz",
|
||||
"integrity": "sha512-yGmDtzy2vInG1o/kglRtlAOpTwvxe04O2/698qDQCxZfYT9qDBOy9e14NpZoV+XQlQzJI67jB6Btx9K/MDVBFg==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"balena-sdk": "^21.2.1",
|
||||
@ -8747,7 +8751,8 @@
|
||||
"node_modules/cookie-signature": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
|
||||
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
|
||||
"integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/core-js": {
|
||||
"version": "3.20.1",
|
||||
@ -9123,9 +9128,10 @@
|
||||
}
|
||||
},
|
||||
"node_modules/debug": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
|
||||
"integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
|
||||
"version": "4.4.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
|
||||
"integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ms": "^2.1.3"
|
||||
},
|
||||
@ -9466,9 +9472,9 @@
|
||||
"integrity": "sha512-6+VnnhZpxwWvvKwjkRnuqlTtlBRJuM+3cCSXmZoYhyXcdgxx6l/3lwYpqmJ9qmhzgWVeATkpVsTua92BsObJjw=="
|
||||
},
|
||||
"node_modules/docker-modem": {
|
||||
"version": "5.0.5",
|
||||
"resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-5.0.5.tgz",
|
||||
"integrity": "sha512-Cxw8uEcvNTRmsQuGqzzfiCnfGgf96tVJItLh8taOX0miTcIBALKH5TckCSuZbpbjP7uhAl81dOL9sxfa6HgCIg==",
|
||||
"version": "5.0.6",
|
||||
"resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-5.0.6.tgz",
|
||||
"integrity": "sha512-ens7BiayssQz/uAxGzH8zGXCtiV24rRWXdjNha5V4zSOcxmAZsfGVm/PPFbwQdqEkDnhG+SyR9E3zSHUbOKXBQ==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"debug": "^4.1.1",
|
||||
@ -9504,45 +9510,36 @@
|
||||
}
|
||||
},
|
||||
"node_modules/dockerfile-ast": {
|
||||
"version": "0.2.1",
|
||||
"resolved": "https://registry.npmjs.org/dockerfile-ast/-/dockerfile-ast-0.2.1.tgz",
|
||||
"integrity": "sha512-ut04CVM1G6zIITTcYPDIXhPZk9mCa21m4dfW8FcDDGxwgTQhYyHDu6U7M8klZ7QsjqVcJhryKi+TGOX6bjgKdQ==",
|
||||
"version": "0.7.0",
|
||||
"resolved": "https://registry.npmjs.org/dockerfile-ast/-/dockerfile-ast-0.7.0.tgz",
|
||||
"integrity": "sha512-HYpjuL0IEC2lYflTpWD0RLNSZYhQxLwYRYsoEjnCP7nu/OlFx1BVrU6X/Y8ETVsa2hojhG2OTJVxleH5Wrlq+Q==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"vscode-languageserver-types": "^3.16.0"
|
||||
"vscode-languageserver-textdocument": "^1.0.8",
|
||||
"vscode-languageserver-types": "^3.17.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/dockerode": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/dockerode/-/dockerode-4.0.3.tgz",
|
||||
"integrity": "sha512-QSXJFcBQNaGZO6U3qWW4B7p8yRIJn/dWmvL2AQWfO/bjptBBO6QYdVkYSYFz9qoivP2jsOHZfmXMAfrK0BMKyg==",
|
||||
"version": "4.0.6",
|
||||
"resolved": "https://registry.npmjs.org/dockerode/-/dockerode-4.0.6.tgz",
|
||||
"integrity": "sha512-FbVf3Z8fY/kALB9s+P9epCpWhfi/r0N2DgYYcYpsAUlaTxPjdsitsFobnltb+lyCgAIvf9C+4PSWlTnHlJMf1w==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@balena/dockerignore": "^1.0.2",
|
||||
"@grpc/grpc-js": "^1.11.1",
|
||||
"@grpc/proto-loader": "^0.7.13",
|
||||
"docker-modem": "^5.0.5",
|
||||
"docker-modem": "^5.0.6",
|
||||
"protobufjs": "^7.3.2",
|
||||
"tar-fs": "~2.0.1",
|
||||
"tar-fs": "~2.1.2",
|
||||
"uuid": "^10.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/dockerode/node_modules/tar-fs": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.1.tgz",
|
||||
"integrity": "sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==",
|
||||
"dependencies": {
|
||||
"chownr": "^1.1.1",
|
||||
"mkdirp-classic": "^0.5.2",
|
||||
"pump": "^3.0.0",
|
||||
"tar-stream": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/dockerode/node_modules/uuid": {
|
||||
"version": "10.0.0",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz",
|
||||
@ -14441,7 +14438,8 @@
|
||||
"node_modules/media-typer": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
|
||||
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
|
||||
"integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
@ -16338,15 +16336,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/patch-package/node_modules/yaml": {
|
||||
"version": "2.7.0",
|
||||
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz",
|
||||
"integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==",
|
||||
"version": "2.8.0",
|
||||
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz",
|
||||
"integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==",
|
||||
"license": "ISC",
|
||||
"bin": {
|
||||
"yaml": "bin.mjs"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 14"
|
||||
"node": ">= 14.6"
|
||||
}
|
||||
},
|
||||
"node_modules/path-case": {
|
||||
@ -16604,17 +16602,18 @@
|
||||
}
|
||||
},
|
||||
"node_modules/prebuild-install/node_modules/detect-libc": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz",
|
||||
"integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==",
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz",
|
||||
"integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==",
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/prebuild-install/node_modules/node-abi": {
|
||||
"version": "3.74.0",
|
||||
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.74.0.tgz",
|
||||
"integrity": "sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w==",
|
||||
"version": "3.75.0",
|
||||
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.75.0.tgz",
|
||||
"integrity": "sha512-OhYaY5sDsIka7H7AtijtI9jwGYLyl29eQn/W623DiN/MIv5sUqc4g7BIDThX+gb7di9f6xK02nkp8sdfFWZLTg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"semver": "^7.3.5"
|
||||
@ -17785,9 +17784,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/semver": {
|
||||
"version": "7.7.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
|
||||
"integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
|
||||
"version": "7.7.2",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
|
||||
"integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
|
||||
"license": "ISC",
|
||||
"bin": {
|
||||
"semver": "bin/semver.js"
|
||||
@ -19847,10 +19846,17 @@
|
||||
"extsprintf": "^1.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/vscode-languageserver-textdocument": {
|
||||
"version": "1.0.12",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz",
|
||||
"integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/vscode-languageserver-types": {
|
||||
"version": "3.17.3",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz",
|
||||
"integrity": "sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA=="
|
||||
"version": "3.17.5",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz",
|
||||
"integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/wcwidth": {
|
||||
"version": "1.0.1",
|
||||
|
16
package.json
16
package.json
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "balena-cli",
|
||||
"version": "21.1.1",
|
||||
"version": "21.1.14",
|
||||
"description": "The official balena Command Line Interface",
|
||||
"main": "./build/app.js",
|
||||
"homepage": "https://github.com/balena-io/balena-cli",
|
||||
@ -190,17 +190,17 @@
|
||||
"typescript": "^5.8.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@balena/compose": "^7.0.1",
|
||||
"@balena/compose": "^7.0.9",
|
||||
"@balena/dockerignore": "^1.0.2",
|
||||
"@balena/env-parsing": "^1.1.8",
|
||||
"@balena/es-version": "^1.0.1",
|
||||
"@oclif/core": "^4.1.0",
|
||||
"@sentry/node": "^6.16.1",
|
||||
"balena-config-json": "^4.2.2",
|
||||
"balena-config-json": "^4.2.7",
|
||||
"balena-device-init": "^8.1.3",
|
||||
"balena-errors": "^4.7.3",
|
||||
"balena-image-fs": "^7.3.0",
|
||||
"balena-preload": "^18.0.1",
|
||||
"balena-image-fs": "^7.5.2",
|
||||
"balena-preload": "^18.0.4",
|
||||
"balena-sdk": "^21.3.0",
|
||||
"balena-semver": "^2.3.0",
|
||||
"balena-settings-client": "^5.0.2",
|
||||
@ -214,9 +214,9 @@
|
||||
"common-tags": "^1.7.2",
|
||||
"date-fns": "^4.1.0",
|
||||
"denymount": "^2.3.0",
|
||||
"docker-modem": "5.0.5",
|
||||
"docker-modem": "^5.0.6",
|
||||
"docker-progress": "^5.1.3",
|
||||
"dockerode": "4.0.3",
|
||||
"dockerode": "^4.0.5",
|
||||
"ejs": "^3.1.6",
|
||||
"etcher-sdk": "9.1.0",
|
||||
"express": "^4.17.2",
|
||||
@ -276,6 +276,6 @@
|
||||
}
|
||||
},
|
||||
"versionist": {
|
||||
"publishedAt": "2025-03-26T20:34:46.169Z"
|
||||
"publishedAt": "2025-05-21T15:39:20.895Z"
|
||||
}
|
||||
}
|
||||
|
@ -64,7 +64,12 @@ export default class ConfigInjectCmd extends Command {
|
||||
);
|
||||
|
||||
const config = await import('balena-config-json');
|
||||
await config.write(drive, '', configJSON);
|
||||
await config.write(
|
||||
drive,
|
||||
// Will be removed in the next major of balena-config-json
|
||||
undefined,
|
||||
configJSON,
|
||||
);
|
||||
|
||||
console.info('Done');
|
||||
}
|
||||
|
@ -54,7 +54,7 @@ export default class ConfigReadCmd extends Command {
|
||||
await safeUmount(drive);
|
||||
|
||||
const config = await import('balena-config-json');
|
||||
const configJSON = await config.read(drive, '');
|
||||
const configJSON = await config.read(drive);
|
||||
|
||||
if (options.json) {
|
||||
console.log(JSON.stringify(configJSON, null, 4));
|
||||
|
@ -62,7 +62,7 @@ export default class ConfigReconfigureCmd extends Command {
|
||||
await safeUmount(drive);
|
||||
|
||||
const config = await import('balena-config-json');
|
||||
const { uuid } = await config.read(drive, '');
|
||||
const { uuid } = await config.read(drive);
|
||||
await safeUmount(drive);
|
||||
|
||||
if (!uuid) {
|
||||
|
@ -64,14 +64,19 @@ export default class ConfigWriteCmd extends Command {
|
||||
await safeUmount(drive);
|
||||
|
||||
const config = await import('balena-config-json');
|
||||
const configJSON = await config.read(drive, '');
|
||||
const configJSON = await config.read(drive);
|
||||
|
||||
console.info(`Setting ${params.key} to ${params.value}`);
|
||||
ConfigWriteCmd.updateConfigJson(configJSON, params.key, params.value);
|
||||
|
||||
await denyMount(drive, async () => {
|
||||
await safeUmount(drive);
|
||||
await config.write(drive, '', configJSON);
|
||||
await config.write(
|
||||
drive,
|
||||
// Will be removed in the next major of balena-config-json
|
||||
undefined,
|
||||
configJSON,
|
||||
);
|
||||
});
|
||||
|
||||
console.info('Done');
|
||||
|
@ -77,103 +77,59 @@ export default class DeviceCmd extends Command {
|
||||
|
||||
const balena = getBalenaSdk();
|
||||
|
||||
const device = (await balena.models.device.get(
|
||||
params.uuid,
|
||||
options.json
|
||||
? {
|
||||
$select: [
|
||||
'id',
|
||||
'belongs_to__application',
|
||||
'belongs_to__user',
|
||||
'actor',
|
||||
'is_pinned_on__release',
|
||||
'device_name',
|
||||
'is_of__device_type',
|
||||
'uuid',
|
||||
'is_running__release',
|
||||
'note',
|
||||
'local_id',
|
||||
'status',
|
||||
'update_status',
|
||||
'last_update_status_event',
|
||||
'is_online',
|
||||
'last_connectivity_event',
|
||||
'is_connected_to_vpn',
|
||||
'last_vpn_event',
|
||||
'ip_address',
|
||||
'mac_address',
|
||||
'public_address',
|
||||
'os_version',
|
||||
'os_variant',
|
||||
'supervisor_version',
|
||||
'should_be_managed_by__release',
|
||||
'should_be_operated_by__release',
|
||||
'is_managed_by__service_instance',
|
||||
'provisioning_progress',
|
||||
'provisioning_state',
|
||||
'download_progress',
|
||||
'is_web_accessible',
|
||||
'longitude',
|
||||
'latitude',
|
||||
'location',
|
||||
'custom_longitude',
|
||||
'custom_latitude',
|
||||
'is_locked_until__date',
|
||||
'is_accessible_by_support_until__date',
|
||||
'created_at',
|
||||
'modified_at',
|
||||
'is_active',
|
||||
'api_heartbeat_state',
|
||||
'changed_api_heartbeat_state_on__date',
|
||||
'memory_usage',
|
||||
'memory_total',
|
||||
'storage_block_device',
|
||||
'storage_usage',
|
||||
'storage_total',
|
||||
'cpu_temp',
|
||||
'cpu_usage',
|
||||
'cpu_id',
|
||||
'is_undervolted',
|
||||
// explicit read
|
||||
'overall_status',
|
||||
'overall_progress',
|
||||
'should_be_running__release',
|
||||
],
|
||||
$expand: {
|
||||
device_tag: {
|
||||
$select: ['tag_key', 'value'],
|
||||
},
|
||||
...expandForAppName.$expand,
|
||||
let device: ExtendedDevice;
|
||||
if (options.json) {
|
||||
const [deviceBase, deviceComputed] = await Promise.all([
|
||||
balena.models.device.get(params.uuid, {
|
||||
$expand: {
|
||||
device_tag: {
|
||||
$select: ['tag_key', 'value'],
|
||||
},
|
||||
}
|
||||
: {
|
||||
$select: [
|
||||
'device_name',
|
||||
'id',
|
||||
'overall_status',
|
||||
'is_online',
|
||||
'ip_address',
|
||||
'mac_address',
|
||||
'last_connectivity_event',
|
||||
'uuid',
|
||||
'supervisor_version',
|
||||
'is_web_accessible',
|
||||
'note',
|
||||
'os_version',
|
||||
'memory_usage',
|
||||
'memory_total',
|
||||
'public_address',
|
||||
'storage_block_device',
|
||||
'storage_usage',
|
||||
'storage_total',
|
||||
'cpu_usage',
|
||||
'cpu_temp',
|
||||
'cpu_id',
|
||||
'is_undervolted',
|
||||
],
|
||||
...expandForAppName,
|
||||
...expandForAppName.$expand,
|
||||
},
|
||||
)) as ExtendedDevice;
|
||||
}),
|
||||
balena.models.device.get(params.uuid, {
|
||||
$select: [
|
||||
'overall_status',
|
||||
'overall_progress',
|
||||
'should_be_running__release',
|
||||
],
|
||||
}),
|
||||
]);
|
||||
|
||||
device = {
|
||||
...deviceBase,
|
||||
...deviceComputed,
|
||||
} as ExtendedDevice;
|
||||
} else {
|
||||
device = (await balena.models.device.get(params.uuid, {
|
||||
$select: [
|
||||
'device_name',
|
||||
'id',
|
||||
'overall_status',
|
||||
'is_online',
|
||||
'ip_address',
|
||||
'mac_address',
|
||||
'last_connectivity_event',
|
||||
'uuid',
|
||||
'supervisor_version',
|
||||
'is_web_accessible',
|
||||
'note',
|
||||
'os_version',
|
||||
'memory_usage',
|
||||
'memory_total',
|
||||
'public_address',
|
||||
'storage_block_device',
|
||||
'storage_usage',
|
||||
'storage_total',
|
||||
'cpu_usage',
|
||||
'cpu_temp',
|
||||
'cpu_id',
|
||||
'is_undervolted',
|
||||
],
|
||||
...expandForAppName,
|
||||
})) as ExtendedDevice;
|
||||
}
|
||||
|
||||
if (options.view) {
|
||||
const open = await import('open');
|
||||
|
@ -37,6 +37,7 @@ import type {
|
||||
Release,
|
||||
} from 'balena-sdk';
|
||||
import type { Preloader } from 'balena-preload';
|
||||
import type * as Fs from 'fs';
|
||||
|
||||
export default class PreloadCmd extends Command {
|
||||
public static description = stripIndent`
|
||||
@ -161,6 +162,42 @@ Can be repeated to add multiple certificates.\
|
||||
);
|
||||
}
|
||||
|
||||
// Verify that image is not enabled for secure boot. First, confirm it is
|
||||
// a secure boot image with a .sig file in the /opt directory of the rootA
|
||||
// partition. For example, below are contents for generic-amd64 device type:
|
||||
// $ ls -l opt
|
||||
// total 864696
|
||||
// -rw-r--r-- 1 root root 2378170368 Mar 26 09:14 balena-image-generic-amd64.balenaos-img
|
||||
// -rw-r--r-- 1 root root 512 Mar 9 2018 balena-image-generic-amd64.balenaos-img.sig
|
||||
const { explorePartition, BalenaPartition } = await import(
|
||||
'../../utils/image-contents'
|
||||
);
|
||||
const isSecureBoot = await explorePartition<boolean>(
|
||||
params.image,
|
||||
BalenaPartition.ROOTA,
|
||||
async (fs: typeof Fs): Promise<boolean> => {
|
||||
try {
|
||||
const files = await fs.promises.readdir('/opt');
|
||||
return files.some((el) => el.endsWith('balenaos-img.sig'));
|
||||
} catch {
|
||||
// Typically one of:
|
||||
// - Error: No such file or directory
|
||||
// - Error: Unsupported filesystem.
|
||||
// - ErrnoException: node_ext2fs_open ENOENT (44) args: [5261576,5268064,"r",0]
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
);
|
||||
// Next verify that config.json enables secureboot.
|
||||
if (isSecureBoot) {
|
||||
const { read } = await import('balena-config-json');
|
||||
const config = await read(params.image);
|
||||
if (config.installer?.secureboot === true) {
|
||||
throw new ExpectedError("Can't preload image with secure boot enabled");
|
||||
}
|
||||
}
|
||||
|
||||
// balena-preload currently does not work with numerical app IDs
|
||||
// Load app here, and use app slug from hereon
|
||||
const fleetSlug: string | undefined = options.fleet
|
||||
|
69
src/utils/image-contents.ts
Normal file
69
src/utils/image-contents.ts
Normal file
@ -0,0 +1,69 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2025 Balena Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// Utilities to explore the contents in a balenaOS image.
|
||||
|
||||
import * as imagefs from 'balena-image-fs';
|
||||
import * as filedisk from 'file-disk';
|
||||
import { getPartitions } from 'partitioninfo';
|
||||
import type * as Fs from 'fs';
|
||||
|
||||
/**
|
||||
* @summary IDs for the standard balenaOS partitions
|
||||
* @description Values are the base name for a partition on disk
|
||||
*/
|
||||
export enum BalenaPartition {
|
||||
BOOT = 'boot',
|
||||
ROOTA = 'rootA',
|
||||
ROOTB = 'rootB',
|
||||
STATE = 'state',
|
||||
DATA = 'data',
|
||||
}
|
||||
|
||||
/**
|
||||
* @summary Allow a provided function to explore the contents of one of the well-known
|
||||
* partitions of a balenaOS image
|
||||
*
|
||||
* @param {string} imagePath - pathname of image for search
|
||||
* @param {BalenaPartition} partitionId - partition to find
|
||||
* @param {(fs) => Promise<T>} - function for exploration
|
||||
* @returns {T}
|
||||
*/
|
||||
export async function explorePartition<T>(
|
||||
imagePath: string,
|
||||
partitionId: BalenaPartition,
|
||||
exploreFn: (fs: typeof Fs) => Promise<T>,
|
||||
): Promise<T> {
|
||||
return await filedisk.withOpenFile(imagePath, 'r', async (handle) => {
|
||||
const disk = new filedisk.FileDisk(handle, true, false, false);
|
||||
const partitionInfo = await getPartitions(disk, {
|
||||
includeExtended: false,
|
||||
getLogical: true,
|
||||
});
|
||||
|
||||
const findResult = await imagefs.findPartition(disk, partitionInfo, [
|
||||
`resin-${partitionId}`,
|
||||
`flash-${partitionId}`,
|
||||
`balena-${partitionId}`,
|
||||
]);
|
||||
if (findResult == null) {
|
||||
throw new Error(`Can't find partition for ${partitionId}`);
|
||||
}
|
||||
|
||||
return await imagefs.interact<T>(disk, findResult.index, exploreFn);
|
||||
});
|
||||
}
|
@ -159,9 +159,9 @@ especially discouraged in scripts (e.g. CI environments).`;
|
||||
|
||||
export const devModeInfo = `\
|
||||
The '--dev' option is used to configure balenaOS to operate in development mode,
|
||||
allowing anauthenticated root ssh access and exposing network ports such as
|
||||
allowing unauthenticated root ssh access and exposing network ports such as
|
||||
balenaEngine's 2375 (unencrypted). This option causes \`"developmentMode": true\`
|
||||
to be inserted in the 'config.json' file in the image's boot partion. Development
|
||||
to be inserted in the 'config.json' file in the image's boot partition. Development
|
||||
mode (as a configurable option) is applicable to balenaOS releases from early
|
||||
2022. Older releases have separate development and production balenaOS images
|
||||
that cannot be reconfigured through 'config.json' or the '--dev' option. Do not
|
||||
|
@ -114,6 +114,14 @@ describe('balena device', function () {
|
||||
'Content-Type': 'application/json',
|
||||
});
|
||||
|
||||
api.scope
|
||||
.get(
|
||||
/^\/v\d+\/device\?.+&\$select=overall_status,overall_progress,should_be_running__release$/,
|
||||
)
|
||||
.replyWithFile(200, path.join(apiResponsePath, 'device.json'), {
|
||||
'Content-Type': 'application/json',
|
||||
});
|
||||
|
||||
const { out, err } = await runCommand('device 27fda508c --json');
|
||||
expect(err).to.be.empty;
|
||||
const json = JSON.parse(out.join(''));
|
||||
|
Reference in New Issue
Block a user