
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
NodeJS wrapper for the Beeminder API. Created for integration with Complice, a productivity app that's more qualified-self than quantified-self.
BeeminderJS is designed for use within NodeJS apps, although it also works in a very basic rudimentary way from command-line. I'm open to people contributing new functions to either purpose!
npm install --save beeminder
As of 2.0.0, promises only. Errors may also be slightly different, due to using fetch instead of curlrequest.
Refer to the Beeminder API docs for information on goal creation parameters or what will be returned when calling these endpoints.
var beeminder = require('beeminder')
var bm = beeminder(auth_token)
bm.getUser(function (err, result) {
console.log(err || result)
// do something
})
bm.getGoal('goalslug', function (err, result) {...})
bm.createGoal('goalslug', params, function (err, result) {...})
bm.getDatapoints('goalslug', function (err, result) {...})
bm.createDatapoint('goalslug', {
value: 1, // {type: Number, required: true},
timestamp: new Date("2015-02-21").valueOf() // {type: Number, default: now},
comment: 'updated readme',
sendmail: true, // if you want the user to be emailed
// requestid allows you to run command again without creating duplicate datapoints
requestid: 'thisHasToBeAlphanumericWhichIsWhyThereAreNoSpaces',
}, function (err, result) {...})
bm.createGoal('goalslug', params).then(function () {
return bm.createDatapoints('goalslug', [{...}])
}).then(function () {
res.send('Created goal and added datapoints')
}).catch(...)
sudo npm install --global beeminder
bm # run this once to ensure you're authenticated
bm user
bm status # outputs a list of goals sorted by derail time
bm goal <goalslug>
bm datapoints <goalslug>
bm createdatapoint <goalslug> <value> [<optional comment, in quotes if it has a space>]
bm cd # same as createdatapoint
I have the following in .bash_aliases, which allows me to post a user-visible improvement simultaneously to beeminder (m/complice-uvi) and twitter (@compluvi). Requires the twitter bash client t, available here (although barely still supported since it uses an old version of Ruby and an unavailable-for-new-apps Twitter API).
uvi () {
bm cd complice-uvi 1 "$@"
t update "$@"
}
# example
uvi "UVIs will be posted more frequently because I can now post them from command line :D"
FAQs
NodeJS wrapper for the Beeminder API
The npm package beeminder receives a total of 26 weekly downloads. As such, beeminder popularity was classified as not popular.
We found that beeminder demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.