{
  "name": "balena-cli",
  "version": "24.1.3",
  "description": "The official balena Command Line Interface",
  "main": "./build/app.js",
  "homepage": "https://github.com/balena-io/balena-cli",
  "repository": {
    "type": "git",
    "url": "git@github.com:balena-io/balena-cli.git"
  },
  "preferGlobal": true,
  "files": [
    "bin/.fast-boot.json",
    "bin/",
    "build/",
    "doc/",
    "src/",
    "patches/",
    "!patches/**/**.dev.patch",
    "*.md",
    "npm-shrinkwrap.json",
    "oclif.manifest.json"
  ],
  "bin": {
    "balena": "./bin/run.js"
  },
  "scripts": {
    "postinstall": "node patches/apply-patches.js",
    "prebuild": "rimraf build/ build-bin/",
    "pretarball": "ts-node --transpile-only ../../automation/run.ts sign:binaries",
    "build": "npm run build:src && npm run catch-uncommitted",
    "build:t": "npm run lint && npm run build:fast && npm run build:test",
    "build:src": "npm run lint && npm run build:fast && npm run build:test && npm run build:doc",
    "build:pages": "mkdirp ./build/auth/pages/ && inline-source --compress ./src/auth/pages/error.ejs ./build/auth/pages/error.ejs && inline-source --compress ./src/auth/pages/success.ejs ./build/auth/pages/success.ejs",
    "build:fast": "npm run build:pages && tsc && npx oclif manifest",
    "build:test": "tsc -P ./tsconfig.dev.json --noEmit",
    "build:doc": "ts-node --transpile-only automation/capitanodoc/index.ts > docs/balena-cli.md",
    "build:standalone": "ts-node --transpile-only automation/run.ts build:standalone",
    "build:installer": "ts-node --transpile-only automation/run.ts build:installer",
    "deduplicate-dependencies": "npm dd && git add npm-shrinkwrap.json && git commit --message \"Deduplicate dependencies\"",
    "package": "npm run build:fast && npm run build:standalone && npm run build:installer",
    "pretest": "npm run build",
    "test": "npm run test:shrinkwrap && npm run test:core",
    "test:core": "npm run test:source && npm run test:standalone",
    "test:shrinkwrap": "ts-node --transpile-only automation/run.ts test-shrinkwrap",
    "test:source": "cross-env BALENA_CLI_TEST_TYPE=source mocha",
    "test:standalone": "npm run build:standalone && npm run test:standalone:fast",
    "test:standalone:fast": "cross-env BALENA_CLI_TEST_TYPE=standalone mocha --config .mocharc-standalone.js",
    "test:fast": "npm run build:fast && npm run test:source",
    "test:fast-profile": "npm run test:fast -- -- --inspect-brk=0.0.0.0",
    "test:debug": "cross-env BALENA_CLI_TEST_TYPE=source mocha --inspect-brk=0.0.0.0",
    "test:only": "npm run build:fast && cross-env BALENA_CLI_TEST_TYPE=source mocha \"tests/**/${npm_config_test}.spec.ts\"",
    "catch-uncommitted": "ts-node --transpile-only automation/run.ts catch-uncommitted",
    "ci": "npm run test && npm run catch-uncommitted",
    "lint": "npm run lint-tsconfig && npm run lint-other",
    "lint-tsconfig": "balena-lint -e ts -e js -t tsconfig.dev.json --fix automation/ src/ tests/ typings/",
    "lint-other": "balena-lint -e ts -e js --fix bin/run.js bin/dev.js .mocharc.js .mocharc-standalone.js",
    "update": "ts-node --transpile-only ./automation/update-module.ts",
    "prepare": "echo {} > bin/.fast-boot.json && husky",
    "prepublishOnly": "npm run build"
  },
  "keywords": [
    "balena",
    "balena.io",
    "balenaCloud",
    "balenaOS",
    "resin",
    "resin.io",
    "git"
  ],
  "author": "Balena Ltd. <hello@balena.io>",
  "license": "Apache-2.0",
  "engines": {
    "node": ">=24.11.0 <25"
  },
  "oclif": {
    "bin": "balena",
    "plugins": [
      "@oclif/plugin-update",
      "@oclif/plugin-version",
      "@oclif/plugin-autocomplete"
    ],
    "update": {
      "s3": {
        "host": "https://balena-cli.s3.us-east-1.amazonaws.com",
        "bucket": "balena-cli",
        "acl": "bucket-owner-full-control"
      }
    },
    "commands": "./build/commands",
    "helpClass": "./build/help",
    "topicSeparator": " ",
    "hooks": {
      "prerun": "./build/hooks/prerun",
      "command_not_found": "./build/hooks/command-not-found/suggest"
    },
    "additionalHelpFlags": [
      "help"
    ],
    "macos": {
      "identifier": "io.balena.cli",
      "sign": "\"Developer ID Installer: Balena Ltd (66H43P8FRG)\""
    }
  },
  "devDependencies": {
    "@balena/abstract-sql-to-typescript": "^5.1.5",
    "@balena/lint": "^9.4.0",
    "@electron/notarize": "^2.0.0",
    "@types/chai": "^4.3.0",
    "@types/chai-as-promised": "^7.1.4",
    "@types/cli-truncate": "^2.0.0",
    "@types/common-tags": "^1.8.1",
    "@types/dockerode": "3.3.23",
    "@types/ejs": "^3.1.0",
    "@types/express": "^4.17.25",
    "@types/fast-levenshtein": "^0.0.4",
    "@types/fs-extra": "^11.0.4",
    "@types/glob": "^7.2.0",
    "@types/global-agent": "^2.1.1",
    "@types/global-tunnel-ng": "^2.1.1",
    "@types/inquirer": "^7.3.3",
    "@types/intercept-stdout": "^0.1.0",
    "@types/is-root": "^2.1.2",
    "@types/js-yaml": "^4.0.5",
    "@types/jsonwebtoken": "^9.0.6",
    "@types/klaw": "^3.0.7",
    "@types/lodash": "^4.14.178",
    "@types/mime": "^3.0.4",
    "@types/mocha": "^10.0.7",
    "@types/mock-fs": "^4.13.4",
    "@types/ndjson": "^2.0.1",
    "@types/node": "^24.10.1",
    "@types/node-cleanup": "^2.1.2",
    "@types/prettyjson": "^0.0.33",
    "@types/progress-stream": "^2.0.2",
    "@types/semver": "^7.3.9",
    "@types/shell-escape": "^0.2.0",
    "@types/sinon": "^17.0.3",
    "@types/split": "^1.0.0",
    "@types/stream-to-promise": "^2.2.1",
    "@types/supports-color": "^8.1.3",
    "@types/tar-stream": "^2.2.2",
    "@types/through2": "^2.0.36",
    "@types/tmp": "^0.2.3",
    "@types/update-notifier": "^4.1.1",
    "@types/which": "^2.0.1",
    "@types/window-size": "^1.1.1",
    "catch-uncommitted": "^2.0.0",
    "chai": "^4.3.4",
    "chai-as-promised": "^7.1.1",
    "cross-env": "^7.0.3",
    "deep-object-diff": "^1.1.0",
    "ent": "^2.2.0",
    "fs-extra": "^11.2.0",
    "husky": "^9.1.5",
    "inline-source-cli": "^2.0.0",
    "intercept-stdout": "^0.1.2",
    "jsonwebtoken": "^9.0.0",
    "klaw": "^4.1.0",
    "mkdirp": "^3.0.1",
    "mocha": "^10.6.0",
    "mock-fs": "^5.2.0",
    "mockttp": "^4.2.0",
    "oclif": "^4.22.61",
    "pinejs-client-core": "^8.5.0",
    "simple-git": "^3.14.1",
    "sinon": "^19.0.0",
    "string-to-stream": "^3.0.1",
    "supports-color": "^8.1.1",
    "ts-node": "^10.4.0",
    "typescript": "^5.9.2"
  },
  "dependencies": {
    "@balena/compose": "^7.0.10",
    "@balena/dockerignore": "^1.0.2",
    "@balena/env-parsing": "^1.1.8",
    "@balena/es-version": "^1.0.1",
    "@oclif/core": "^4.5.6",
    "@oclif/plugin-autocomplete": "^3.2.34",
    "@oclif/plugin-update": "^4.7.14",
    "@oclif/plugin-version": "^2.2.32",
    "@sentry/node": "^10.17.0",
    "balena-config-json": "^4.2.7",
    "balena-device-init": "^8.2.1",
    "balena-errors": "^4.7.3",
    "balena-image-fs": "^7.6.0",
    "balena-preload": "^19.0.0",
    "balena-sdk": "^23.1.13",
    "balena-semver": "^4.0.0",
    "balena-settings-client": "^6.0.0",
    "balena-settings-storage": "^8.1.0",
    "body-parser": "^2.0.0",
    "bonjour-service": "^1.2.1",
    "chokidar": "^3.5.2",
    "cli-truncate": "^2.1.0",
    "color-hash": "^1.1.1",
    "common-tags": "^1.7.2",
    "date-fns": "^4.1.0",
    "denymount": "^2.3.0",
    "docker-modem": "^5.0.6",
    "docker-progress": "^5.4.0",
    "dockerode": "^4.0.5",
    "ejs": "^3.1.6",
    "etcher-sdk": "^10.0.0",
    "express": "^4.22.1",
    "fast-boot2": "^1.1.4",
    "fast-levenshtein": "^3.0.0",
    "filenamify": "^4.3.0",
    "glob": "^7.2.0",
    "global-agent": "^2.2.0",
    "global-tunnel-ng": "^2.1.1",
    "got": "^11.8.3",
    "humanize": "0.0.9",
    "indent-string": "^4.0.0",
    "inquirer": "^7.3.3",
    "is-elevated": "^3.0.0",
    "is-root": "^2.1.0",
    "js-yaml": "^4.1.0",
    "JSONStream": "^1.0.3",
    "jwt-decode": "^3.1.2",
    "livepush": "^3.5.2",
    "lodash": "^4.17.21",
    "mime": "^2.4.6",
    "ndjson": "^2.0.0",
    "node-cleanup": "^2.1.2",
    "node-unzip-2": "^0.2.8",
    "open": "^7.1.0",
    "patch-package": "^8.0.0",
    "prettyjson": "^1.2.5",
    "progress-stream": "^2.0.0",
    "reconfix": "^1.0.2",
    "resin-cli-form": "^5.0.0",
    "resin-cli-visuals": "^4.0.1",
    "resin-doodles": "^0.2.2",
    "resin-stream-logger": "^0.1.2",
    "semver": "^7.3.5",
    "shell-escape": "^0.2.0",
    "split": "^1.0.1",
    "stream-to-promise": "^2.2.0",
    "string-width": "^4.2.3",
    "strip-ansi-stream": "^1.0.0",
    "tar-stream": "^2.1.3",
    "tar-utils": "^3.0.3",
    "through2": "^2.0.3",
    "tmp": "^0.2.1",
    "typed-error": "^3.2.1",
    "update-notifier": "^5.1.0",
    "which": "^2.0.2",
    "window-size": "^1.1.0"
  },
  "optionalDependencies": {
    "windosu": "^0.3.0"
  },
  "overrides": {
    "inline-source-cli": {
      "inline-source": "^8.0.3"
    }
  },
  "versionist": {
    "publishedAt": "2026-04-07T18:57:58.785Z"
  }
}
