![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
balena-sdk
Advanced tools
The official JavaScript balena SDK.
The intention of this module is to provide developers a nice API to integrate their JavaScript applications with balena.
Install the balena SDK by running:
$ npm install --save balena-sdk
We currently support NodeJS (6+) and the browser.
The following features are node-only:
balena.models.os.download
),balena.settings
).In Node you can simply require('balena-sdk')
, but in the browser things are more complicated. The balena SDK provides a bundled single file for browsers, which allows you to include a single file with all dependencies included, available as balena-browser.min.js (or balena-browser.js if you'd like the much larger unminified version). This uses the UMD format, and will register itself as either a CommonJS or AMD module called balena-sdk
if possible, or create a balenaSdk
global if not.
If you're using webpack, browserify, or a similar tool then you probably want to bundle the balena SDK into your application yourself, rather than using the pre-built balena-browser.js
bundle. If you do that, you should be aware that you may pick up some dependencies that are actually unnecessary in the browser, because they're only used in Node environments. You can safely exclude these dependencies, if you're not using them yourself, and significantly reduce the size of your resulting bundle.
In the browser the balena SDK doesn't use the following dependencies:
For the future we're looking at ways to automatically exclude these in downstream bundles. See #254 for more information.
The module exports a single factory function. Use it like this:
var balena = require('balena-sdk')({
apiUrl: "https://api.balena-cloud.com/",
dataDirectory: "/opt/local/balena"
})
Where the factory method accepts the following options:
apiUrl
, string, optional, is the balena API url. Defaults to https://api.balena-cloud.com/
,imageMakerUrl
, string, optional, is the balena image maker url. Defaults to https://img.balena-cloud.com/
,dataDirectory
, string, optional, ignored in the browser, is the directory where the user settings are stored, normally retrieved like require('balena-settings-client').get('dataDirectory')
. Defaults to $HOME/.balena
,isBrowser
, boolean, optional, is the flag to tell if the module works in the browser. If not set will be computed based on the presence of the global window
value,debug
, boolean, optional, when set will print some extra debug information.See the JSDoc markdown documentation for the returned balena
object in DOCUMENTATION.md.
If you're having any problem, please raise an issue on GitHub and the balena team will be happy to help.
In order to run the balena SDK test suite, set the following environment variables from an account that exists and doesn't have a billing account code:
WARNING: This will delete all applications and public keys of the test user
TEST_EMAIL
: The main account emailTEST_PASSWORD
: The main account passwordTEST_USERNAME
: The main account username.You also have to provide the following environment variables from an account that doesn't yet exists:
TEST_REGISTER_EMAIL
: The email of the account to register.TEST_REGISTER_PASSWORD
: The password of the account to register.TEST_REGISTER_USERNAME
: The username of the account to register.In order to test the billing methods for a paid account, you also have to configure the following environment variables:
TEST_PAID_EMAIL
: The email of the paid account.TEST_PAID_PASSWORD
: The password of the account.Note: The paid user's account billing code
should be set to testdev
so that it's tested against the test plan.
You can also, optionally, set the TEST_API_URL
environment variable in order to run the tests using a different API backend (eg: https://api.balena-staging.com
).
You can persist these settings by putting them all into a .env
file in the root of this repo, in
dotenv format (KEY=VALUE\n
). This will be automatically detected and used in the tests.
Make sure you don't accidentally commit this file (.env
by default is gitignored, so hopefully this should be difficult).
Run the test suite by doing:
$ npm test
Before submitting a PR, please make sure that you include tests, and that coffeelint runs without any warning:
$ gulp lint
The project is licensed under the Apache 2.0 license.
v11.0.0 - 2018-10-29
FAQs
The Balena JavaScript SDK
The npm package balena-sdk receives a total of 6,990 weekly downloads. As such, balena-sdk popularity was classified as popular.
We found that balena-sdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.