{
  "name": "balena-sdk",
  "version": "21.7.0",
  "description": "The Balena JavaScript SDK",
  "type": "commonjs",
  "main": "index.js",
  "types": "index.d.ts",
  "browser": {
    "index.js": "./es2017/index.js",
    "es2017/util/settings-client.js": "./es2017/util/settings-client.browser.js",
    "es2018/util/settings-client.js": "./es2018/util/settings-client.browser.js",
    "handlebars": "handlebars/dist/cjs/handlebars.js"
  },
  "homepage": "https://github.com/balena-io/balena-sdk",
  "repository": {
    "type": "git",
    "url": "git://github.com/balena-io/balena-sdk.git"
  },
  "files": [
    "es2017/",
    "es2018/",
    "typings/",
    "index.js",
    "index.d.ts"
  ],
  "keywords": [
    "sdk",
    "resin",
    "resin.io",
    "balena",
    "balena.io",
    "iot",
    "devices"
  ],
  "directories": {
    "test": "tests"
  },
  "scripts": {
    "clean": "rimraf es2017 es2018",
    "test:fast": "npm run lint-fix; npm run build-es2017:fast && npm run test:node",
    "test": "([ \"$GITHUB_WORKFLOW\" = 'Flowzone' ] && [ \"$GITHUB_JOB\" = 'npm_test' ] && echo \"Skipping 'npm test' in flowzone in favor of the custom test action!\") || (npm run build && npm run test:all)",
    "test:all": "npm run test:dev && npm run test:ts-js && npm run test:typings && npm run test:mjs-imports && npm run test:node && npm run test:browser",
    "test:node": "gulp test",
    "test:browser": "mockttp -c karma start",
    "test:dev": "tsc --noEmit --project ./tsconfig.dev.json",
    "test:ts-js": "tsc --noEmit --project ./tsconfig.js.json",
    "test:typings": "tsc --project ./typing_tests/tsconfig.json",
    "test:mjs-imports": "node mjs_tests/index.mjs",
    "build-es2017:fast": "rimraf es2017 && tsc --target es2017 --outDir es2017 && gulp inject-version --buildDir es2017",
    "build-es2017": "npm run build-es2017:fast && gulp pack-browser --buildDir es2017",
    "build-es2018": "rimraf es2018 && tsc --target es2018 --outDir es2018 && gulp inject-version --buildDir es2018 && gulp pack-browser --buildDir es2018",
    "build": "npm run clean && npm run build-es2017 && npm run lint && npm run build-es2018 && npm run docs",
    "docs": "jsdoc2md --template doc/DOCUMENTATION.hbs --files \"es2017/**/!(balena-browser*.js)\" > DOCUMENTATION.md",
    "ci": "npm test && catch-uncommitted",
    "lint": "balena-lint -e js -e ts typing_tests typings src tests mjs_tests gulpfile.js",
    "lint-fix": "balena-lint -e js -e ts --fix typing_tests typings src tests mjs_tests gulpfile.js",
    "prepack": "npm run build",
    "watch": "npm run build && watch \"npm run lint\" \"src\" \"tests\"",
    "prepare": "husky"
  },
  "author": "Balena Ltd. <hello@balena.io>",
  "license": "Apache-2.0",
  "engines": {
    "node": "^20.12.0 || >= 22.0.0"
  },
  "devDependencies": {
    "@balena/env-parsing": "^1.2.0",
    "@balena/lint": "^9.0.1",
    "@types/chai": "^4.3.0",
    "@types/lodash": "^4.14.195",
    "@types/memoizee": "^0.4.12",
    "@types/mime": "^3.0.3",
    "@types/mocha": "^10.0.1",
    "@types/ndjson": "^2.0.0",
    "@types/sinon": "^17.0.3",
    "balena-config-karma": "^4.0.0",
    "browserify": "^17.0.0",
    "buffer": "^6.0.3",
    "catch-uncommitted": "^2.0.0",
    "chai": "^4.3.6",
    "chai-samsam": "0.0.2",
    "constants-browserify": "^1.0.0",
    "crypto-browserify": "^3.12.0",
    "domain-browser": "^4.22.0",
    "dotenv": "^16.0.0",
    "gulp": "^4.0.2",
    "gulp-mocha": "^9.0.0",
    "gulp-replace": "^1.0.0",
    "gulp-uglify": "^3.0.2",
    "husky": "^9.0.0",
    "js-polyfills": "^0.1.43",
    "jsdoc-to-markdown": "^9.0.0",
    "karma": "^6.3.17",
    "lint-staged": "^16.0.0",
    "mjs-mocha": "^3.0.0",
    "mocha": "^11.0.0",
    "mocha.parallel": "^0.15.6",
    "mockttp": "^3.0.0",
    "os-browserify": "^0.3.0",
    "otplib": "^12.0.1",
    "process": "^0.11.10",
    "rimraf": "^5.0.1",
    "rindle": "^1.3.6",
    "sinon": "^19.0.0",
    "stream-browserify": "^3.0.0",
    "temp": "^0.9.4",
    "tmp": "^0.2.1",
    "ts-node": "^10.9.1",
    "ts-toolbelt": "^9.6.0",
    "typescript": "^5.8.2",
    "uglify-js": "^3.14.1",
    "util": "^0.12.4",
    "vinyl-buffer": "^1.0.1",
    "vinyl-source-stream": "^2.0.0",
    "watch": "^1.0.2"
  },
  "dependencies": {
    "@balena/es-version": "^1.0.0",
    "@types/json-schema": "^7.0.9",
    "@types/node": "^20.17.8",
    "abortcontroller-polyfill": "^1.7.1",
    "balena-auth": "^6.0.1",
    "balena-errors": "^4.9.0",
    "balena-hup-action-utils": "~6.2.0",
    "balena-register-device": "^9.0.4",
    "balena-request": "^14.0.8",
    "balena-semver": "^3.0.0",
    "balena-settings-client": "^5.0.0",
    "date-fns": "^3.0.5",
    "handlebars": "^4.7.7",
    "lodash": "^4.17.21",
    "memoizee": "^0.4.15",
    "mime": "^3.0.0",
    "ndjson": "^2.0.0",
    "p-throttle": "^4.1.1",
    "pinejs-client-core": "^7.0.0",
    "tslib": "^2.1.0"
  },
  "versionist": {
    "publishedAt": "2025-06-16T14:43:53.099Z"
  }
}
