DEV Community

John Woodruff
John Woodruff

Posted on • Edited on • Originally published at johnbwoodruff.com

DigitalOcean JS 1.0 Released!

I've been writing a library, DigitalOcean JS, for the last year in my spare time. I started it because I was building a DigitalOcean mobile app using Ionic for use in managing your DigitalOcean resources from your phone. In looking at the various libraries available for my use, I disliked them for a few reasons, including use of callback functions instead of Promises, only being able to use some in Node and not the browser, among other things. Due to those issues, I decided to build my own that was structured how I would like to use it, with some key goals in mind:

  • Be able to use in a Node or Browser environment with no difference in usage.
  • Use Promises instead of callbacks so clients can make use of async/await.
  • Be built in TypeScript so consumers of the library can benefit from excellent intellisense with the TypeScript definitions.
  • Provide solid documentation including examples for usage.

To that end I started development on DigitalOcean JS. Instead of building it all out quickly I decided to build it out as I needed it for the app I was building. As is usual with my side projects, (see my previous post) it languished to the side for a while. After writing that blog post, I decided that I wouldn't let this project die. I literally had one set of endpoints left to implement.

It is with great pleasure that I finally get to announce the official v1.0 release of DigitalOcean JS. Check it out at the repo below, and keep fighting to keep your side projects alive!

GitHub logo johnbwoodruff / digitalocean-js

JavaScript library for the DigitalOcean API

digitalocean-js

DigitalOcean JS

CI npm npm npm

JavaScript library for the DigitalOcean API. For use in Node or the browser.

Goals

This library was built with a few goals in mind:

  • Be able to use in a Node or Browser environment with no difference in usage.
  • Use Promises instead of callbacks so clients can make use of async/await.
  • Be built in TypeScript so consumers of the library can benefit from excellent intellisense with the TypeScript definitions.
  • Provide solid documentation including examples for usage.

Usage

To use the library, install from the npm repository.

$ npm install --save digitalocean-js
# Alternatively install with yarn
$ yarn add digitalocean-js
Enter fullscreen mode Exit fullscreen mode

Simply import the client and initialize it with your API token:

import { DigitalOcean } from 'digitalocean-js';

const client = new DigitalOcean('my-api-token');
Enter fullscreen mode Exit fullscreen mode

To see all the services available, check out the documentation.




Top comments (10)

Collapse
 
umbra2707 profile image
umbra2707 •

Great job!

Collapse
 
alejomj profile image
alejomj •

Nice!

Collapse
 
ben profile image
Ben Halpern •

Woohoo, congrats!

Collapse
 
johnbwoodruff profile image
John Woodruff •

Thanks! :) Thrilled I finally "finished" it. (of course I've already thought of stuff I should implement now... it's never ending haha)

Collapse
 
jarland profile image
Jarland Donnell •

This is really cool! Bookmarked for that perfect project or conversation :)

<3 from your friends at DigitalOcean

Collapse
 
johnbwoodruff profile image
John Woodruff •

Thanks! :) Keep doing all the awesomeness you guys do best!!

Collapse
 
qm3ster profile image
Mihail Malo • • Edited

digitalocean-ts 😫👌

Collapse
 
johnbwoodruff profile image
John Woodruff •

Yeah, I made a call on what would come up easier in a search for DigitalOcean JavaScript libraries. :) Thankfully all the TypeScript benefits still come with it despite the js in the name. ;)

Collapse
 
sethusenthil profile image
Sethu Senthil •

Is this official?

Collapse
 
johnbwoodruff profile image
John Woodruff •

Not an official DigitalOcean library, just a community library I wrote to contribute to anyone who wants to use it. :)