balena-cli 23.0.0-build-v23-22674512e2f289773a59e4debee5eaaed57f8e4d-1 → 23.0.0-build-v23-4cf7a1811e70251b7f9a448387f9c636f38222a2-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,10 +7,6 @@ This project adheres to [Semantic Versioning](http://semver.org/).
7
7
  ## 23.0.0 - 2025-11-14
8
8
 
9
9
  * Fix lzma-native build on node24 on Linux ARM runners [Thodoris Greasidis]
10
- * Fix node DEP0190 deprecation warning from oclif/update-notifier [Thodoris Greasidis]
11
- * tmp enable traceDeprecation [Thodoris Greasidis]
12
- * Extract parts of os configure review changes [Thodoris Greasidis]
13
- * release list review fixes [Thodoris Greasidis]
14
10
  * device init: Use the promise based rimraf method [Thodoris Greasidis]
15
11
  * tests: Update helper type based on the new process.exitCode typings [Thodoris Greasidis]
16
12
  * device note: Drop the --dev flag in favor of the standardize --device [Thodoris Greasidis]
@@ -33,6 +29,14 @@ This project adheres to [Semantic Versioning](http://semver.org/).
33
29
  * release: Replace the semver field with raw_vesrion [Thodoris Greasidis]
34
30
  * release list: Replace the semver field with raw_vesrion [Thodoris Greasidis]
35
31
 
32
+ ## 22.5.5 - 2025-11-14
33
+
34
+ * Update actions/setup-python action to v6 [balena-renovate[bot]]
35
+
36
+ ## 22.5.4 - 2025-11-14
37
+
38
+ * renovate: Clean node_modules and npm cache before dedupe [Kyle Harding]
39
+
36
40
  ## 22.5.3 - 2025-11-13
37
41
 
38
42
  * Update actions/setup-node action to v6 [balena-renovate[bot]]
package/build/app.js CHANGED
@@ -8,7 +8,6 @@ const preparser_1 = require("./preparser");
8
8
  const bootstrap_1 = require("./utils/bootstrap");
9
9
  const lazy_1 = require("./utils/lazy");
10
10
  const core_1 = require("@oclif/core");
11
- process.traceDeprecation = true;
12
11
  exports.setupSentry = (0, lazy_1.onceAsync)(async () => {
13
12
  const config = await Promise.resolve().then(() => require('./config'));
14
13
  const Sentry = await Promise.resolve().then(() => require('@sentry/node'));
package/build/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "balena-cli",
3
- "version": "23.0.0-build-v23-22674512e2f289773a59e4debee5eaaed57f8e4d-1",
3
+ "version": "23.0.0-build-v23-4cf7a1811e70251b7f9a448387f9c636f38222a2-1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "balena-cli",
9
- "version": "23.0.0-build-v23-22674512e2f289773a59e4debee5eaaed57f8e4d-1",
9
+ "version": "23.0.0-build-v23-4cf7a1811e70251b7f9a448387f9c636f38222a2-1",
10
10
  "hasInstallScript": true,
11
11
  "license": "Apache-2.0",
12
12
  "dependencies": {
@@ -160,6 +160,56 @@
160
160
  "create.js"
161
161
  ]
162
162
  },
163
+ "block:create": {
164
+ "aliases": [],
165
+ "args": {
166
+ "name": {
167
+ "description": "block name",
168
+ "name": "name",
169
+ "required": true
170
+ }
171
+ },
172
+ "description": "Create an block.\n\nCreate a new balena block.\n\nYou can specify the organization the block should belong to using\nthe `--organization` option. The organization's handle, not its name,\nshould be provided. Organization handles can be listed with the\n`balena organization list` command.\n\nThe block's default device type is specified with the `--type` option.\nThe `balena device-type list` command can be used to list the available\ndevice types.\n\nInteractive dropdowns will be shown for selection if no device type or\norganization is specified and there are multiple options to choose from.\nIf there is a single option to choose from, it will be chosen automatically.\nThis interactive behavior can be disabled by explicitly specifying a device\ntype and organization.",
173
+ "examples": [
174
+ "$ balena block create MyBlock",
175
+ "$ balena block create MyBlock --organization mmyorg",
176
+ "$ balena block create MyBlock -o myorg --type raspberry-pi"
177
+ ],
178
+ "flags": {
179
+ "organization": {
180
+ "char": "o",
181
+ "description": "handle of the organization the block should belong to",
182
+ "name": "organization",
183
+ "hasDynamicHelp": false,
184
+ "multiple": false,
185
+ "type": "option"
186
+ },
187
+ "type": {
188
+ "char": "t",
189
+ "description": "block device type (Check available types with `balena device-type list`)",
190
+ "name": "type",
191
+ "hasDynamicHelp": false,
192
+ "multiple": false,
193
+ "type": "option"
194
+ }
195
+ },
196
+ "hasDynamicHelp": false,
197
+ "hiddenAliases": [],
198
+ "id": "block:create",
199
+ "pluginAlias": "balena-cli",
200
+ "pluginName": "balena-cli",
201
+ "pluginType": "core",
202
+ "strict": true,
203
+ "enableJsonFlag": false,
204
+ "authenticated": true,
205
+ "isESM": false,
206
+ "relativePath": [
207
+ "build",
208
+ "commands",
209
+ "block",
210
+ "create.js"
211
+ ]
212
+ },
163
213
  "build": {
164
214
  "aliases": [],
165
215
  "args": {
@@ -706,56 +756,6 @@
706
756
  "write.js"
707
757
  ]
708
758
  },
709
- "block:create": {
710
- "aliases": [],
711
- "args": {
712
- "name": {
713
- "description": "block name",
714
- "name": "name",
715
- "required": true
716
- }
717
- },
718
- "description": "Create an block.\n\nCreate a new balena block.\n\nYou can specify the organization the block should belong to using\nthe `--organization` option. The organization's handle, not its name,\nshould be provided. Organization handles can be listed with the\n`balena organization list` command.\n\nThe block's default device type is specified with the `--type` option.\nThe `balena device-type list` command can be used to list the available\ndevice types.\n\nInteractive dropdowns will be shown for selection if no device type or\norganization is specified and there are multiple options to choose from.\nIf there is a single option to choose from, it will be chosen automatically.\nThis interactive behavior can be disabled by explicitly specifying a device\ntype and organization.",
719
- "examples": [
720
- "$ balena block create MyBlock",
721
- "$ balena block create MyBlock --organization mmyorg",
722
- "$ balena block create MyBlock -o myorg --type raspberry-pi"
723
- ],
724
- "flags": {
725
- "organization": {
726
- "char": "o",
727
- "description": "handle of the organization the block should belong to",
728
- "name": "organization",
729
- "hasDynamicHelp": false,
730
- "multiple": false,
731
- "type": "option"
732
- },
733
- "type": {
734
- "char": "t",
735
- "description": "block device type (Check available types with `balena device-type list`)",
736
- "name": "type",
737
- "hasDynamicHelp": false,
738
- "multiple": false,
739
- "type": "option"
740
- }
741
- },
742
- "hasDynamicHelp": false,
743
- "hiddenAliases": [],
744
- "id": "block:create",
745
- "pluginAlias": "balena-cli",
746
- "pluginName": "balena-cli",
747
- "pluginType": "core",
748
- "strict": true,
749
- "enableJsonFlag": false,
750
- "authenticated": true,
751
- "isESM": false,
752
- "relativePath": [
753
- "build",
754
- "commands",
755
- "block",
756
- "create.js"
757
- ]
758
- },
759
759
  "deploy": {
760
760
  "aliases": [],
761
761
  "args": {
@@ -979,6 +979,45 @@
979
979
  "index.js"
980
980
  ]
981
981
  },
982
+ "device-type:list": {
983
+ "aliases": [],
984
+ "args": {},
985
+ "description": "List the device types supported by balena (like 'raspberrypi3' or 'intel-nuc').\n\nList the device types supported by balena (like 'raspberrypi3' or 'intel-nuc').\n\nBy default, only actively supported device types are listed.\nThe --all option can be used to list all device types, including those that are\nno longer supported by balena.",
986
+ "examples": [
987
+ "$ balena device-type list",
988
+ "$ balena device-type list --all"
989
+ ],
990
+ "flags": {
991
+ "json": {
992
+ "description": "Format output as json.",
993
+ "helpGroup": "GLOBAL",
994
+ "name": "json",
995
+ "allowNo": false,
996
+ "type": "boolean"
997
+ },
998
+ "all": {
999
+ "description": "include device types no longer supported by balena",
1000
+ "name": "all",
1001
+ "allowNo": false,
1002
+ "type": "boolean"
1003
+ }
1004
+ },
1005
+ "hasDynamicHelp": false,
1006
+ "hiddenAliases": [],
1007
+ "id": "device-type:list",
1008
+ "pluginAlias": "balena-cli",
1009
+ "pluginName": "balena-cli",
1010
+ "pluginType": "core",
1011
+ "strict": true,
1012
+ "enableJsonFlag": true,
1013
+ "isESM": false,
1014
+ "relativePath": [
1015
+ "build",
1016
+ "commands",
1017
+ "device-type",
1018
+ "list.js"
1019
+ ]
1020
+ },
982
1021
  "device:deactivate": {
983
1022
  "aliases": [],
984
1023
  "args": {
@@ -2199,45 +2238,6 @@
2199
2238
  "tunnel.js"
2200
2239
  ]
2201
2240
  },
2202
- "device-type:list": {
2203
- "aliases": [],
2204
- "args": {},
2205
- "description": "List the device types supported by balena (like 'raspberrypi3' or 'intel-nuc').\n\nList the device types supported by balena (like 'raspberrypi3' or 'intel-nuc').\n\nBy default, only actively supported device types are listed.\nThe --all option can be used to list all device types, including those that are\nno longer supported by balena.",
2206
- "examples": [
2207
- "$ balena device-type list",
2208
- "$ balena device-type list --all"
2209
- ],
2210
- "flags": {
2211
- "json": {
2212
- "description": "Format output as json.",
2213
- "helpGroup": "GLOBAL",
2214
- "name": "json",
2215
- "allowNo": false,
2216
- "type": "boolean"
2217
- },
2218
- "all": {
2219
- "description": "include device types no longer supported by balena",
2220
- "name": "all",
2221
- "allowNo": false,
2222
- "type": "boolean"
2223
- }
2224
- },
2225
- "hasDynamicHelp": false,
2226
- "hiddenAliases": [],
2227
- "id": "device-type:list",
2228
- "pluginAlias": "balena-cli",
2229
- "pluginName": "balena-cli",
2230
- "pluginType": "core",
2231
- "strict": true,
2232
- "enableJsonFlag": true,
2233
- "isESM": false,
2234
- "relativePath": [
2235
- "build",
2236
- "commands",
2237
- "device-type",
2238
- "list.js"
2239
- ]
2240
- },
2241
2241
  "env:list": {
2242
2242
  "aliases": [],
2243
2243
  "args": {},
@@ -3084,6 +3084,30 @@
3084
3084
  "flash.js"
3085
3085
  ]
3086
3086
  },
3087
+ "logout": {
3088
+ "aliases": [],
3089
+ "args": {},
3090
+ "description": "Logout from balena.\n\nLogout from your balena account.",
3091
+ "examples": [
3092
+ "$ balena logout"
3093
+ ],
3094
+ "flags": {},
3095
+ "hasDynamicHelp": false,
3096
+ "hiddenAliases": [],
3097
+ "id": "logout",
3098
+ "pluginAlias": "balena-cli",
3099
+ "pluginName": "balena-cli",
3100
+ "pluginType": "core",
3101
+ "strict": true,
3102
+ "enableJsonFlag": false,
3103
+ "isESM": false,
3104
+ "relativePath": [
3105
+ "build",
3106
+ "commands",
3107
+ "logout",
3108
+ "index.js"
3109
+ ]
3110
+ },
3087
3111
  "login": {
3088
3112
  "aliases": [],
3089
3113
  "args": {
@@ -3209,30 +3233,6 @@
3209
3233
  "index.js"
3210
3234
  ]
3211
3235
  },
3212
- "logout": {
3213
- "aliases": [],
3214
- "args": {},
3215
- "description": "Logout from balena.\n\nLogout from your balena account.",
3216
- "examples": [
3217
- "$ balena logout"
3218
- ],
3219
- "flags": {},
3220
- "hasDynamicHelp": false,
3221
- "hiddenAliases": [],
3222
- "id": "logout",
3223
- "pluginAlias": "balena-cli",
3224
- "pluginName": "balena-cli",
3225
- "pluginType": "core",
3226
- "strict": true,
3227
- "enableJsonFlag": false,
3228
- "isESM": false,
3229
- "relativePath": [
3230
- "build",
3231
- "commands",
3232
- "logout",
3233
- "index.js"
3234
- ]
3235
- },
3236
3236
  "organization:list": {
3237
3237
  "aliases": [],
3238
3238
  "args": {},
@@ -3597,36 +3597,166 @@
3597
3597
  "versions.js"
3598
3598
  ]
3599
3599
  },
3600
- "push": {
3600
+ "preload": {
3601
3601
  "aliases": [],
3602
3602
  "args": {
3603
- "fleetOrDevice": {
3604
- "description": "fleet name or slug, or local device IP address or \".local\" hostname",
3605
- "name": "fleetOrDevice",
3603
+ "image": {
3604
+ "description": "the image file path",
3605
+ "name": "image",
3606
3606
  "required": true
3607
3607
  }
3608
3608
  },
3609
- "description": "Build release images on balenaCloud servers or on a local mode device.\n\nBuild release images on balenaCloud servers or on a local mode device.\n\nWhen building on the balenaCloud servers, the given source directory will be\nsent to the remote server. This can be used as a drop-in replacement for the\n\"git push\" deployment method.\n\nWhen building on a local mode device, the given source directory will be\nbuilt on the device, and the resulting containers will be run on the device.\nLogs will be streamed back from the device as part of the same invocation.\nThe web dashboard can be used to switch a device to local mode:\nhttps://www.balena.io/docs/learn/develop/local-mode/\nNote that local mode requires a supervisor version of at least v7.21.0.\nThe logs from only a single service can be shown with the --service flag, and\nshowing only the system logs can be achieved with --system. Note that these\nflags can be used together.\n\nWhen pushing to a local device a live session will be started.\nThe project source folder is watched for filesystem events, and changes\nto files and folders are automatically synchronized to the running\ncontainers. The synchronization is only in one direction, from this machine to\nthe device, and changes made on the device itself may be overwritten.\nThis feature requires a device running supervisor version v9.7.0 or greater.\n\nREGISTRY SECRETS \nThe --registry-secrets option specifies a JSON or YAML file containing private\nDocker registry usernames and passwords to be used when pulling base images.\nSample registry-secrets YAML file:\n```\n\t'my-registry-server.com:25000':\n\t\tusername: ann\n\t\tpassword: hunter2\n\t'': # Use the empty string to refer to the Docker Hub\n\t\tusername: mike\n\t\tpassword: cze14\n\t'eu.gcr.io': # Google Container Registry\n\t\tusername: '_json_key'\n\t\tpassword: '{escaped contents of the GCR keyfile.json file}'\n```\nFor a sample project using registry secrets with the Google Container Registry,\ncheck: https://github.com/balena-io-examples/sample-gcr-registry-secrets\n\nIf the --registry-secrets option is not specified, and a secrets.yml or\nsecrets.json file exists in the balena directory (usually $HOME/.balena),\nthis file will be used instead.\n\nDOCKERIGNORE AND GITIGNORE FILES \nBy default, the balena CLI will use a single \".dockerignore\" file (if any) at\nthe project root (--source directory) in order to decide which source files to\nexclude from the \"build context\" (tar stream) sent to balenaCloud, Docker\ndaemon or balenaEngine. In a microservices (multicontainer) fleet, the\nsource directory is the directory that contains the \"docker-compose.yml\" file.\n\nThe --multi-dockerignore (-m) option may be used with microservices\n(multicontainer) fleets that define a docker-compose.yml file. When this\noption is used, each service subdirectory (defined by the `build` or\n`build.context` service properties in the docker-compose.yml file) is\nfiltered separately according to a .dockerignore file defined in the service\nsubdirectory. If no .dockerignore file exists in a service subdirectory, then\nonly the default .dockerignore patterns (see below) apply for that service\nsubdirectory.\n\nWhen the --multi-dockerignore (-m) option is used, the .dockerignore file (if\nany) defined at the overall project root will be used to filter files and\nsubdirectories other than service subdirectories. It will not have any effect\non service subdirectories, whether or not a service subdirectory defines its\nown .dockerignore file. Multiple .dockerignore files are not merged or added\ntogether, and cannot override or extend other files. This behavior maximizes\ncompatibility with the standard docker-compose tool, while still allowing a\nroot .dockerignore file (at the overall project root) to filter files and\nfolders that are outside service subdirectories.\n\nbalena CLI v11 also took .gitignore files into account. This behavior was\ndeprecated in CLI v12 and removed in CLI v13. Please use .dockerignore files\ninstead.\n\nDefault .dockerignore patterns \nA few default/hardcoded dockerignore patterns are \"merged\" (in memory) with the\npatterns found in the applicable .dockerignore files, in the following order:\n```\n **/.git\n < user's patterns from the applicable '.dockerignore' file, if any >\n !**/.balena\n !**/.resin\n !**/Dockerfile\n !**/Dockerfile.*\n !**/docker-compose.yml\n```\nThese patterns always apply, whether or not .dockerignore files exist in the\nproject. If necessary, the effect of the `**/.git` pattern may be modified by\nadding exception patterns to the applicable .dockerignore file(s), for example\n`!mysubmodule/.git`. For documentation on pattern format, see:\n- https://docs.docker.com/engine/reference/builder/#dockerignore-file\n- https://www.npmjs.com/package/@balena/dockerignore\n\nNote: the --service and --env flags must come after the fleetOrDevice\nparameter, as per examples.",
3609
+ "description": "Preload a release on a disk image (or Edison zip archive).\n\nPreload a release (service images/containers) from a balena fleet, and optionally\na balenaOS splash screen, in a previously downloaded '.img' balenaOS image file\nin the local disk (a zip file is only accepted for the Intel Edison device type).\nAfter preloading, the balenaOS image file can be flashed to a device's SD card.\nWhen the device boots, it will not need to download the release, as it was\npreloaded. This is usually combined with release pinning\n(https://www.balena.io/docs/learn/deploy/release-strategy/release-policy/)\nto avoid the device downloading a newer release straight away, if available.\nCheck also the Preloading and Preregistering section of the balena CLI's advanced\nmasterclass document:\nhttps://www.balena.io/docs/learn/more/masterclasses/advanced-cli/#5-preloading-and-preregistering\n\nFleets may be specified by fleet name or slug. Fleet slugs are\nthe recommended option, as they are unique and unambiguous. Slugs can be\nlisted with the `balena fleet list` command. Note that slugs may change if the\nfleet is renamed. Fleet names are not unique and may result in \"Fleet is\nambiguous\" errors at any time (even if it \"used to work in the past\"), for\nexample if the name clashes with a newly created public fleet, or with fleets\nfrom other balena accounts that you may be invited to join under any role.\nFor this reason, fleet names are especially discouraged in scripts (e.g. CI\nenvironments).\n\nNote that the this command requires Docker to be installed, as further detailed\nin the balena CLI's installation instructions:\nhttps://github.com/balena-io/balena-cli/blob/master/INSTALL.md\nThe `--dockerHost` and `--dockerPort` flags allow a remote Docker engine to\nbe used, however the image file must be accessible to the remote Docker engine\non the same path given on the command line. This is because Docker's bind mount\nfeature is used to \"share\" the image with a container that performs the preload.",
3610
3610
  "examples": [
3611
- "$ balena push myFleet",
3612
- "$ balena push myFleet --source <source directory>",
3613
- "$ balena push myFleet -s <source directory>",
3614
- "$ balena push myFleet --source <source directory> --note \"this is the note for this release\"",
3615
- "$ balena push myFleet --release-tag key1 \"\" key2 \"value2 with spaces\"",
3616
- "$ balena push myorg/myfleet",
3617
- "",
3618
- "$ balena push 10.0.0.1",
3619
- "$ balena push 10.0.0.1 --source <source directory>",
3620
- "$ balena push 10.0.0.1 --service my-service",
3621
- "$ balena push 10.0.0.1 --env MY_ENV_VAR=value --env my-service:SERVICE_VAR=value",
3622
- "$ balena push 10.0.0.1 --nolive",
3623
- "",
3624
- "$ balena push 23c73a1.local --system",
3625
- "$ balena push 23c73a1.local --system --service my-service"
3611
+ "$ balena preload balena.img --fleet MyFleet --commit e1f2592fc6ee949e68756d4f4a48e49bff8d72a0",
3612
+ "$ balena preload balena.img --fleet myorg/myfleet --splash-image image.png",
3613
+ "$ balena preload balena.img"
3626
3614
  ],
3627
3615
  "flags": {
3628
- "source": {
3629
- "char": "s",
3616
+ "fleet": {
3617
+ "char": "f",
3618
+ "description": "fleet name or slug (preferred)",
3619
+ "name": "fleet",
3620
+ "hasDynamicHelp": false,
3621
+ "multiple": false,
3622
+ "type": "option"
3623
+ },
3624
+ "commit": {
3625
+ "char": "c",
3626
+ "description": "The commit hash of the release to preload. Use \"current\" to specify the current\nrelease (ignored if no appId is given). The current release is usually also the\nlatest, but can be pinned to a specific release. See:\nhttps://www.balena.io/docs/learn/deploy/release-strategy/release-policy/\nhttps://www.balena.io/docs/learn/more/masterclasses/fleet-management/#63-pin-using-the-api\nhttps://github.com/balena-io-examples/staged-releases",
3627
+ "name": "commit",
3628
+ "hasDynamicHelp": false,
3629
+ "multiple": false,
3630
+ "type": "option"
3631
+ },
3632
+ "splash-image": {
3633
+ "char": "s",
3634
+ "description": "path to a png image to replace the splash screen",
3635
+ "name": "splash-image",
3636
+ "hasDynamicHelp": false,
3637
+ "multiple": false,
3638
+ "type": "option"
3639
+ },
3640
+ "dont-check-arch": {
3641
+ "description": "disable architecture compatibility check between image and fleet",
3642
+ "name": "dont-check-arch",
3643
+ "allowNo": false,
3644
+ "type": "boolean"
3645
+ },
3646
+ "pin-device-to-release": {
3647
+ "char": "p",
3648
+ "description": "pin the preloaded device to the preloaded release on provision",
3649
+ "name": "pin-device-to-release",
3650
+ "allowNo": true,
3651
+ "type": "boolean"
3652
+ },
3653
+ "additional-space": {
3654
+ "description": "expand the image by this amount of bytes instead of automatically estimating the required amount",
3655
+ "name": "additional-space",
3656
+ "hasDynamicHelp": false,
3657
+ "multiple": false,
3658
+ "type": "option"
3659
+ },
3660
+ "add-certificate": {
3661
+ "description": "Add the given certificate (in PEM format) to /etc/ssl/certs in the preloading container.\nThe file name must end with '.crt' and must not be already contained in the preloader's\n/etc/ssl/certs folder.\nCan be repeated to add multiple certificates.",
3662
+ "name": "add-certificate",
3663
+ "hasDynamicHelp": false,
3664
+ "multiple": true,
3665
+ "type": "option"
3666
+ },
3667
+ "docker": {
3668
+ "char": "P",
3669
+ "description": "Path to a local docker socket (e.g. /var/run/docker.sock)",
3670
+ "name": "docker",
3671
+ "hasDynamicHelp": false,
3672
+ "multiple": false,
3673
+ "type": "option"
3674
+ },
3675
+ "dockerHost": {
3676
+ "char": "h",
3677
+ "description": "Docker daemon hostname or IP address (dev machine or balena device) ",
3678
+ "name": "dockerHost",
3679
+ "hasDynamicHelp": false,
3680
+ "multiple": false,
3681
+ "type": "option"
3682
+ },
3683
+ "dockerPort": {
3684
+ "description": "Docker daemon TCP port number (hint: 2375 for balena devices)",
3685
+ "name": "dockerPort",
3686
+ "hasDynamicHelp": false,
3687
+ "multiple": false,
3688
+ "type": "option"
3689
+ },
3690
+ "ca": {
3691
+ "description": "Docker host TLS certificate authority file",
3692
+ "name": "ca",
3693
+ "hasDynamicHelp": false,
3694
+ "multiple": false,
3695
+ "type": "option"
3696
+ },
3697
+ "cert": {
3698
+ "description": "Docker host TLS certificate file",
3699
+ "name": "cert",
3700
+ "hasDynamicHelp": false,
3701
+ "multiple": false,
3702
+ "type": "option"
3703
+ },
3704
+ "key": {
3705
+ "description": "Docker host TLS key file",
3706
+ "name": "key",
3707
+ "hasDynamicHelp": false,
3708
+ "multiple": false,
3709
+ "type": "option"
3710
+ }
3711
+ },
3712
+ "hasDynamicHelp": false,
3713
+ "hiddenAliases": [],
3714
+ "id": "preload",
3715
+ "pluginAlias": "balena-cli",
3716
+ "pluginName": "balena-cli",
3717
+ "pluginType": "core",
3718
+ "strict": true,
3719
+ "enableJsonFlag": false,
3720
+ "authenticated": true,
3721
+ "primary": true,
3722
+ "isESM": false,
3723
+ "relativePath": [
3724
+ "build",
3725
+ "commands",
3726
+ "preload",
3727
+ "index.js"
3728
+ ]
3729
+ },
3730
+ "push": {
3731
+ "aliases": [],
3732
+ "args": {
3733
+ "fleetOrDevice": {
3734
+ "description": "fleet name or slug, or local device IP address or \".local\" hostname",
3735
+ "name": "fleetOrDevice",
3736
+ "required": true
3737
+ }
3738
+ },
3739
+ "description": "Build release images on balenaCloud servers or on a local mode device.\n\nBuild release images on balenaCloud servers or on a local mode device.\n\nWhen building on the balenaCloud servers, the given source directory will be\nsent to the remote server. This can be used as a drop-in replacement for the\n\"git push\" deployment method.\n\nWhen building on a local mode device, the given source directory will be\nbuilt on the device, and the resulting containers will be run on the device.\nLogs will be streamed back from the device as part of the same invocation.\nThe web dashboard can be used to switch a device to local mode:\nhttps://www.balena.io/docs/learn/develop/local-mode/\nNote that local mode requires a supervisor version of at least v7.21.0.\nThe logs from only a single service can be shown with the --service flag, and\nshowing only the system logs can be achieved with --system. Note that these\nflags can be used together.\n\nWhen pushing to a local device a live session will be started.\nThe project source folder is watched for filesystem events, and changes\nto files and folders are automatically synchronized to the running\ncontainers. The synchronization is only in one direction, from this machine to\nthe device, and changes made on the device itself may be overwritten.\nThis feature requires a device running supervisor version v9.7.0 or greater.\n\nREGISTRY SECRETS \nThe --registry-secrets option specifies a JSON or YAML file containing private\nDocker registry usernames and passwords to be used when pulling base images.\nSample registry-secrets YAML file:\n```\n\t'my-registry-server.com:25000':\n\t\tusername: ann\n\t\tpassword: hunter2\n\t'': # Use the empty string to refer to the Docker Hub\n\t\tusername: mike\n\t\tpassword: cze14\n\t'eu.gcr.io': # Google Container Registry\n\t\tusername: '_json_key'\n\t\tpassword: '{escaped contents of the GCR keyfile.json file}'\n```\nFor a sample project using registry secrets with the Google Container Registry,\ncheck: https://github.com/balena-io-examples/sample-gcr-registry-secrets\n\nIf the --registry-secrets option is not specified, and a secrets.yml or\nsecrets.json file exists in the balena directory (usually $HOME/.balena),\nthis file will be used instead.\n\nDOCKERIGNORE AND GITIGNORE FILES \nBy default, the balena CLI will use a single \".dockerignore\" file (if any) at\nthe project root (--source directory) in order to decide which source files to\nexclude from the \"build context\" (tar stream) sent to balenaCloud, Docker\ndaemon or balenaEngine. In a microservices (multicontainer) fleet, the\nsource directory is the directory that contains the \"docker-compose.yml\" file.\n\nThe --multi-dockerignore (-m) option may be used with microservices\n(multicontainer) fleets that define a docker-compose.yml file. When this\noption is used, each service subdirectory (defined by the `build` or\n`build.context` service properties in the docker-compose.yml file) is\nfiltered separately according to a .dockerignore file defined in the service\nsubdirectory. If no .dockerignore file exists in a service subdirectory, then\nonly the default .dockerignore patterns (see below) apply for that service\nsubdirectory.\n\nWhen the --multi-dockerignore (-m) option is used, the .dockerignore file (if\nany) defined at the overall project root will be used to filter files and\nsubdirectories other than service subdirectories. It will not have any effect\non service subdirectories, whether or not a service subdirectory defines its\nown .dockerignore file. Multiple .dockerignore files are not merged or added\ntogether, and cannot override or extend other files. This behavior maximizes\ncompatibility with the standard docker-compose tool, while still allowing a\nroot .dockerignore file (at the overall project root) to filter files and\nfolders that are outside service subdirectories.\n\nbalena CLI v11 also took .gitignore files into account. This behavior was\ndeprecated in CLI v12 and removed in CLI v13. Please use .dockerignore files\ninstead.\n\nDefault .dockerignore patterns \nA few default/hardcoded dockerignore patterns are \"merged\" (in memory) with the\npatterns found in the applicable .dockerignore files, in the following order:\n```\n **/.git\n < user's patterns from the applicable '.dockerignore' file, if any >\n !**/.balena\n !**/.resin\n !**/Dockerfile\n !**/Dockerfile.*\n !**/docker-compose.yml\n```\nThese patterns always apply, whether or not .dockerignore files exist in the\nproject. If necessary, the effect of the `**/.git` pattern may be modified by\nadding exception patterns to the applicable .dockerignore file(s), for example\n`!mysubmodule/.git`. For documentation on pattern format, see:\n- https://docs.docker.com/engine/reference/builder/#dockerignore-file\n- https://www.npmjs.com/package/@balena/dockerignore\n\nNote: the --service and --env flags must come after the fleetOrDevice\nparameter, as per examples.",
3740
+ "examples": [
3741
+ "$ balena push myFleet",
3742
+ "$ balena push myFleet --source <source directory>",
3743
+ "$ balena push myFleet -s <source directory>",
3744
+ "$ balena push myFleet --source <source directory> --note \"this is the note for this release\"",
3745
+ "$ balena push myFleet --release-tag key1 \"\" key2 \"value2 with spaces\"",
3746
+ "$ balena push myorg/myfleet",
3747
+ "",
3748
+ "$ balena push 10.0.0.1",
3749
+ "$ balena push 10.0.0.1 --source <source directory>",
3750
+ "$ balena push 10.0.0.1 --service my-service",
3751
+ "$ balena push 10.0.0.1 --env MY_ENV_VAR=value --env my-service:SERVICE_VAR=value",
3752
+ "$ balena push 10.0.0.1 --nolive",
3753
+ "",
3754
+ "$ balena push 23c73a1.local --system",
3755
+ "$ balena push 23c73a1.local --system --service my-service"
3756
+ ],
3757
+ "flags": {
3758
+ "source": {
3759
+ "char": "s",
3630
3760
  "description": "Source directory to be sent to balenaCloud or balenaOS device\n(default: current working dir)",
3631
3761
  "name": "source",
3632
3762
  "default": ".",
@@ -3762,160 +3892,6 @@
3762
3892
  "index.js"
3763
3893
  ]
3764
3894
  },
3765
- "preload": {
3766
- "aliases": [],
3767
- "args": {
3768
- "image": {
3769
- "description": "the image file path",
3770
- "name": "image",
3771
- "required": true
3772
- }
3773
- },
3774
- "description": "Preload a release on a disk image (or Edison zip archive).\n\nPreload a release (service images/containers) from a balena fleet, and optionally\na balenaOS splash screen, in a previously downloaded '.img' balenaOS image file\nin the local disk (a zip file is only accepted for the Intel Edison device type).\nAfter preloading, the balenaOS image file can be flashed to a device's SD card.\nWhen the device boots, it will not need to download the release, as it was\npreloaded. This is usually combined with release pinning\n(https://www.balena.io/docs/learn/deploy/release-strategy/release-policy/)\nto avoid the device downloading a newer release straight away, if available.\nCheck also the Preloading and Preregistering section of the balena CLI's advanced\nmasterclass document:\nhttps://www.balena.io/docs/learn/more/masterclasses/advanced-cli/#5-preloading-and-preregistering\n\nFleets may be specified by fleet name or slug. Fleet slugs are\nthe recommended option, as they are unique and unambiguous. Slugs can be\nlisted with the `balena fleet list` command. Note that slugs may change if the\nfleet is renamed. Fleet names are not unique and may result in \"Fleet is\nambiguous\" errors at any time (even if it \"used to work in the past\"), for\nexample if the name clashes with a newly created public fleet, or with fleets\nfrom other balena accounts that you may be invited to join under any role.\nFor this reason, fleet names are especially discouraged in scripts (e.g. CI\nenvironments).\n\nNote that the this command requires Docker to be installed, as further detailed\nin the balena CLI's installation instructions:\nhttps://github.com/balena-io/balena-cli/blob/master/INSTALL.md\nThe `--dockerHost` and `--dockerPort` flags allow a remote Docker engine to\nbe used, however the image file must be accessible to the remote Docker engine\non the same path given on the command line. This is because Docker's bind mount\nfeature is used to \"share\" the image with a container that performs the preload.",
3775
- "examples": [
3776
- "$ balena preload balena.img --fleet MyFleet --commit e1f2592fc6ee949e68756d4f4a48e49bff8d72a0",
3777
- "$ balena preload balena.img --fleet myorg/myfleet --splash-image image.png",
3778
- "$ balena preload balena.img"
3779
- ],
3780
- "flags": {
3781
- "fleet": {
3782
- "char": "f",
3783
- "description": "fleet name or slug (preferred)",
3784
- "name": "fleet",
3785
- "hasDynamicHelp": false,
3786
- "multiple": false,
3787
- "type": "option"
3788
- },
3789
- "commit": {
3790
- "char": "c",
3791
- "description": "The commit hash of the release to preload. Use \"current\" to specify the current\nrelease (ignored if no appId is given). The current release is usually also the\nlatest, but can be pinned to a specific release. See:\nhttps://www.balena.io/docs/learn/deploy/release-strategy/release-policy/\nhttps://www.balena.io/docs/learn/more/masterclasses/fleet-management/#63-pin-using-the-api\nhttps://github.com/balena-io-examples/staged-releases",
3792
- "name": "commit",
3793
- "hasDynamicHelp": false,
3794
- "multiple": false,
3795
- "type": "option"
3796
- },
3797
- "splash-image": {
3798
- "char": "s",
3799
- "description": "path to a png image to replace the splash screen",
3800
- "name": "splash-image",
3801
- "hasDynamicHelp": false,
3802
- "multiple": false,
3803
- "type": "option"
3804
- },
3805
- "dont-check-arch": {
3806
- "description": "disable architecture compatibility check between image and fleet",
3807
- "name": "dont-check-arch",
3808
- "allowNo": false,
3809
- "type": "boolean"
3810
- },
3811
- "pin-device-to-release": {
3812
- "char": "p",
3813
- "description": "pin the preloaded device to the preloaded release on provision",
3814
- "name": "pin-device-to-release",
3815
- "allowNo": true,
3816
- "type": "boolean"
3817
- },
3818
- "additional-space": {
3819
- "description": "expand the image by this amount of bytes instead of automatically estimating the required amount",
3820
- "name": "additional-space",
3821
- "hasDynamicHelp": false,
3822
- "multiple": false,
3823
- "type": "option"
3824
- },
3825
- "add-certificate": {
3826
- "description": "Add the given certificate (in PEM format) to /etc/ssl/certs in the preloading container.\nThe file name must end with '.crt' and must not be already contained in the preloader's\n/etc/ssl/certs folder.\nCan be repeated to add multiple certificates.",
3827
- "name": "add-certificate",
3828
- "hasDynamicHelp": false,
3829
- "multiple": true,
3830
- "type": "option"
3831
- },
3832
- "docker": {
3833
- "char": "P",
3834
- "description": "Path to a local docker socket (e.g. /var/run/docker.sock)",
3835
- "name": "docker",
3836
- "hasDynamicHelp": false,
3837
- "multiple": false,
3838
- "type": "option"
3839
- },
3840
- "dockerHost": {
3841
- "char": "h",
3842
- "description": "Docker daemon hostname or IP address (dev machine or balena device) ",
3843
- "name": "dockerHost",
3844
- "hasDynamicHelp": false,
3845
- "multiple": false,
3846
- "type": "option"
3847
- },
3848
- "dockerPort": {
3849
- "description": "Docker daemon TCP port number (hint: 2375 for balena devices)",
3850
- "name": "dockerPort",
3851
- "hasDynamicHelp": false,
3852
- "multiple": false,
3853
- "type": "option"
3854
- },
3855
- "ca": {
3856
- "description": "Docker host TLS certificate authority file",
3857
- "name": "ca",
3858
- "hasDynamicHelp": false,
3859
- "multiple": false,
3860
- "type": "option"
3861
- },
3862
- "cert": {
3863
- "description": "Docker host TLS certificate file",
3864
- "name": "cert",
3865
- "hasDynamicHelp": false,
3866
- "multiple": false,
3867
- "type": "option"
3868
- },
3869
- "key": {
3870
- "description": "Docker host TLS key file",
3871
- "name": "key",
3872
- "hasDynamicHelp": false,
3873
- "multiple": false,
3874
- "type": "option"
3875
- }
3876
- },
3877
- "hasDynamicHelp": false,
3878
- "hiddenAliases": [],
3879
- "id": "preload",
3880
- "pluginAlias": "balena-cli",
3881
- "pluginName": "balena-cli",
3882
- "pluginType": "core",
3883
- "strict": true,
3884
- "enableJsonFlag": false,
3885
- "authenticated": true,
3886
- "primary": true,
3887
- "isESM": false,
3888
- "relativePath": [
3889
- "build",
3890
- "commands",
3891
- "preload",
3892
- "index.js"
3893
- ]
3894
- },
3895
- "settings": {
3896
- "aliases": [],
3897
- "args": {},
3898
- "description": "Print current settings.\n\nUse this command to display the current balena CLI settings.",
3899
- "examples": [
3900
- "$ balena settings"
3901
- ],
3902
- "flags": {},
3903
- "hasDynamicHelp": false,
3904
- "hiddenAliases": [],
3905
- "id": "settings",
3906
- "pluginAlias": "balena-cli",
3907
- "pluginName": "balena-cli",
3908
- "pluginType": "core",
3909
- "strict": true,
3910
- "enableJsonFlag": false,
3911
- "isESM": false,
3912
- "relativePath": [
3913
- "build",
3914
- "commands",
3915
- "settings",
3916
- "index.js"
3917
- ]
3918
- },
3919
3895
  "release:finalize": {
3920
3896
  "aliases": [],
3921
3897
  "args": {
@@ -4098,6 +4074,30 @@
4098
4074
  "validate.js"
4099
4075
  ]
4100
4076
  },
4077
+ "settings": {
4078
+ "aliases": [],
4079
+ "args": {},
4080
+ "description": "Print current settings.\n\nUse this command to display the current balena CLI settings.",
4081
+ "examples": [
4082
+ "$ balena settings"
4083
+ ],
4084
+ "flags": {},
4085
+ "hasDynamicHelp": false,
4086
+ "hiddenAliases": [],
4087
+ "id": "settings",
4088
+ "pluginAlias": "balena-cli",
4089
+ "pluginName": "balena-cli",
4090
+ "pluginType": "core",
4091
+ "strict": true,
4092
+ "enableJsonFlag": false,
4093
+ "isESM": false,
4094
+ "relativePath": [
4095
+ "build",
4096
+ "commands",
4097
+ "settings",
4098
+ "index.js"
4099
+ ]
4100
+ },
4101
4101
  "release-asset:delete": {
4102
4102
  "aliases": [],
4103
4103
  "args": {
@@ -4313,67 +4313,6 @@
4313
4313
  "upload.js"
4314
4314
  ]
4315
4315
  },
4316
- "support": {
4317
- "aliases": [],
4318
- "args": {
4319
- "action": {
4320
- "description": "enable|disable support access",
4321
- "name": "action",
4322
- "options": [
4323
- "enable",
4324
- "disable"
4325
- ]
4326
- }
4327
- },
4328
- "description": "Grant or revoke support access for devices or fleets.\n\nGrant or revoke balena support agent access to devices or fleets\non balenaCloud. (This command does not apply to openBalena.)\nAccess will be automatically revoked once the specified duration has elapsed.\n\nDuration defaults to 24h, but can be specified using --duration flag in days\nor hours, e.g. '12h', '2d'.\n\nBoth --device and --fleet flags accept multiple values, specified as\na comma-separated list (with no spaces).\n\nFleets may be specified by fleet name or slug. Fleet slugs are\nthe recommended option, as they are unique and unambiguous. Slugs can be\nlisted with the `balena fleet list` command. Note that slugs may change if the\nfleet is renamed. Fleet names are not unique and may result in \"Fleet is\nambiguous\" errors at any time (even if it \"used to work in the past\"), for\nexample if the name clashes with a newly created public fleet, or with fleets\nfrom other balena accounts that you may be invited to join under any role.\nFor this reason, fleet names are especially discouraged in scripts (e.g. CI\nenvironments).",
4329
- "examples": [
4330
- "balena support enable --device ab346f,cd457a --duration 3d",
4331
- "balena support enable --fleet myFleet --duration 12h",
4332
- "balena support disable -f myorg/myfleet"
4333
- ],
4334
- "flags": {
4335
- "device": {
4336
- "char": "d",
4337
- "description": "comma-separated list (no spaces) of device UUIDs",
4338
- "name": "device",
4339
- "hasDynamicHelp": false,
4340
- "multiple": false,
4341
- "type": "option"
4342
- },
4343
- "fleet": {
4344
- "char": "f",
4345
- "description": "comma-separated list (no spaces) of fleet names or slugs (preferred)",
4346
- "name": "fleet",
4347
- "hasDynamicHelp": false,
4348
- "multiple": false,
4349
- "type": "option"
4350
- },
4351
- "duration": {
4352
- "char": "t",
4353
- "description": "length of time to enable support for, in (h)ours or (d)ays, e.g. 12h, 2d",
4354
- "name": "duration",
4355
- "hasDynamicHelp": false,
4356
- "multiple": false,
4357
- "type": "option"
4358
- }
4359
- },
4360
- "hasDynamicHelp": false,
4361
- "hiddenAliases": [],
4362
- "id": "support",
4363
- "pluginAlias": "balena-cli",
4364
- "pluginName": "balena-cli",
4365
- "pluginType": "core",
4366
- "strict": true,
4367
- "enableJsonFlag": false,
4368
- "authenticated": true,
4369
- "isESM": false,
4370
- "relativePath": [
4371
- "build",
4372
- "commands",
4373
- "support",
4374
- "index.js"
4375
- ]
4376
- },
4377
4316
  "ssh-key:add": {
4378
4317
  "aliases": [],
4379
4318
  "args": {
@@ -4509,6 +4448,67 @@
4509
4448
  "rm.js"
4510
4449
  ]
4511
4450
  },
4451
+ "support": {
4452
+ "aliases": [],
4453
+ "args": {
4454
+ "action": {
4455
+ "description": "enable|disable support access",
4456
+ "name": "action",
4457
+ "options": [
4458
+ "enable",
4459
+ "disable"
4460
+ ]
4461
+ }
4462
+ },
4463
+ "description": "Grant or revoke support access for devices or fleets.\n\nGrant or revoke balena support agent access to devices or fleets\non balenaCloud. (This command does not apply to openBalena.)\nAccess will be automatically revoked once the specified duration has elapsed.\n\nDuration defaults to 24h, but can be specified using --duration flag in days\nor hours, e.g. '12h', '2d'.\n\nBoth --device and --fleet flags accept multiple values, specified as\na comma-separated list (with no spaces).\n\nFleets may be specified by fleet name or slug. Fleet slugs are\nthe recommended option, as they are unique and unambiguous. Slugs can be\nlisted with the `balena fleet list` command. Note that slugs may change if the\nfleet is renamed. Fleet names are not unique and may result in \"Fleet is\nambiguous\" errors at any time (even if it \"used to work in the past\"), for\nexample if the name clashes with a newly created public fleet, or with fleets\nfrom other balena accounts that you may be invited to join under any role.\nFor this reason, fleet names are especially discouraged in scripts (e.g. CI\nenvironments).",
4464
+ "examples": [
4465
+ "balena support enable --device ab346f,cd457a --duration 3d",
4466
+ "balena support enable --fleet myFleet --duration 12h",
4467
+ "balena support disable -f myorg/myfleet"
4468
+ ],
4469
+ "flags": {
4470
+ "device": {
4471
+ "char": "d",
4472
+ "description": "comma-separated list (no spaces) of device UUIDs",
4473
+ "name": "device",
4474
+ "hasDynamicHelp": false,
4475
+ "multiple": false,
4476
+ "type": "option"
4477
+ },
4478
+ "fleet": {
4479
+ "char": "f",
4480
+ "description": "comma-separated list (no spaces) of fleet names or slugs (preferred)",
4481
+ "name": "fleet",
4482
+ "hasDynamicHelp": false,
4483
+ "multiple": false,
4484
+ "type": "option"
4485
+ },
4486
+ "duration": {
4487
+ "char": "t",
4488
+ "description": "length of time to enable support for, in (h)ours or (d)ays, e.g. 12h, 2d",
4489
+ "name": "duration",
4490
+ "hasDynamicHelp": false,
4491
+ "multiple": false,
4492
+ "type": "option"
4493
+ }
4494
+ },
4495
+ "hasDynamicHelp": false,
4496
+ "hiddenAliases": [],
4497
+ "id": "support",
4498
+ "pluginAlias": "balena-cli",
4499
+ "pluginName": "balena-cli",
4500
+ "pluginType": "core",
4501
+ "strict": true,
4502
+ "enableJsonFlag": false,
4503
+ "authenticated": true,
4504
+ "isESM": false,
4505
+ "relativePath": [
4506
+ "build",
4507
+ "commands",
4508
+ "support",
4509
+ "index.js"
4510
+ ]
4511
+ },
4512
4512
  "tag:list": {
4513
4513
  "aliases": [],
4514
4514
  "args": {},
@@ -4729,51 +4729,51 @@
4729
4729
  "set.js"
4730
4730
  ]
4731
4731
  },
4732
- "whoami": {
4732
+ "util:available-drives": {
4733
4733
  "aliases": [],
4734
4734
  "args": {},
4735
- "description": "Display account information for current user.\n\nGet the username and email address of the currently logged in user.",
4736
- "examples": [
4737
- "$ balena whoami"
4738
- ],
4735
+ "description": "List available drives.\n\nList available drives which are usable for writing an OS image to.\nDoes not list system drives.",
4739
4736
  "flags": {},
4740
4737
  "hasDynamicHelp": false,
4741
4738
  "hiddenAliases": [],
4742
- "id": "whoami",
4739
+ "id": "util:available-drives",
4743
4740
  "pluginAlias": "balena-cli",
4744
4741
  "pluginName": "balena-cli",
4745
4742
  "pluginType": "core",
4746
4743
  "strict": true,
4747
4744
  "enableJsonFlag": false,
4748
- "authenticated": true,
4745
+ "offlineCompatible": true,
4749
4746
  "isESM": false,
4750
4747
  "relativePath": [
4751
4748
  "build",
4752
4749
  "commands",
4753
- "whoami",
4754
- "index.js"
4750
+ "util",
4751
+ "available-drives.js"
4755
4752
  ]
4756
4753
  },
4757
- "util:available-drives": {
4754
+ "whoami": {
4758
4755
  "aliases": [],
4759
4756
  "args": {},
4760
- "description": "List available drives.\n\nList available drives which are usable for writing an OS image to.\nDoes not list system drives.",
4757
+ "description": "Display account information for current user.\n\nGet the username and email address of the currently logged in user.",
4758
+ "examples": [
4759
+ "$ balena whoami"
4760
+ ],
4761
4761
  "flags": {},
4762
4762
  "hasDynamicHelp": false,
4763
4763
  "hiddenAliases": [],
4764
- "id": "util:available-drives",
4764
+ "id": "whoami",
4765
4765
  "pluginAlias": "balena-cli",
4766
4766
  "pluginName": "balena-cli",
4767
4767
  "pluginType": "core",
4768
4768
  "strict": true,
4769
4769
  "enableJsonFlag": false,
4770
- "offlineCompatible": true,
4770
+ "authenticated": true,
4771
4771
  "isESM": false,
4772
4772
  "relativePath": [
4773
4773
  "build",
4774
4774
  "commands",
4775
- "util",
4776
- "available-drives.js"
4775
+ "whoami",
4776
+ "index.js"
4777
4777
  ]
4778
4778
  }
4779
4779
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "balena-cli",
3
- "version": "23.0.0-build-v23-22674512e2f289773a59e4debee5eaaed57f8e4d-1",
3
+ "version": "23.0.0-build-v23-4cf7a1811e70251b7f9a448387f9c636f38222a2-1",
4
4
  "description": "The official balena Command Line Interface",
5
5
  "main": "./build/app.js",
6
6
  "homepage": "https://github.com/balena-io/balena-cli",
@@ -262,6 +262,6 @@
262
262
  "balena-request": "14.0.6"
263
263
  },
264
264
  "versionist": {
265
- "publishedAt": "2025-11-14T12:28:05.774Z"
265
+ "publishedAt": "2025-11-14T15:54:22.112Z"
266
266
  }
267
267
  }
package/src/app.ts CHANGED
@@ -26,9 +26,6 @@ import { CliSettings } from './utils/bootstrap';
26
26
  import { onceAsync } from './utils/lazy';
27
27
  import { run as mainRun, settings } from '@oclif/core';
28
28
 
29
- // TODO : Drop me before merging
30
- process.traceDeprecation = true;
31
-
32
29
  /**
33
30
  * Sentry.io setup
34
31
  * @see https://docs.sentry.io/error-reporting/quickstart/?platform=node