Easy Switching Between Public and Private npm Registries

As Node.js is becoming a mainstream technology in the enterprise, more companies are asking for a private npm registry solution for their proprietary closed-source modules.

While there are several solutions emerging that offer a private npm registry server (either in the cloud or on premise), we at StrongLoop feel the private registry server is only one part of the story.

The second part is switching your npm client configuration between multiple registries.  Why would you want to use multiple registries? There are several reasons; for example:

  • Some of your modules are open source and thus published to the public npmjs.org registry and others are private and published to your private registry.
  • You have multiple private registries: for example a company-wide registry for stable versions of modules and multiple per-team registries with nightly builds of each module.

Previously, many developers used the npm config command to switch between different registry servers:

$ npm config set registry https://your.registry.url/

This solution has few drawbacks:

  1. It ignores the fact that there are multiple configuration options that differ between registry servers, e.g. username and password.  You must change these options too when switching to another registry.
  2. You have to recall and re-type the correct registry URL every time you change your registry server.

The module npmrc provides a better solution.  It maintains a set of npmrc files (one npmrc for every registry) and you switch between them using a single command. However it is still not perfect, as the general options like “browser” or “git” are not shared across different configurations as they should be. Read more

StrongLoop Introduces Partner Program, Node.js Training & Certification

SAN MATEO, California – April 30, 2014 – StrongLoop, the leading provider of solutions for Node.js, today introduced its new partner program to accelerate the delivery of StrongLoop and Node technologies to individual developers and the enterprise. Node continues to gain popularity for the creation of “front edge” APIs that enable the delivery of true enterprise mobility.

StrongLoop’s technology, reseller, integration and training partners are helping solidify the rapidly growing ecosystem around this trend with StrongLoop technologies such as the LoopBack API server and StrongOps, the DevOps service for Node. StrongLoop also today announced its training and certification programs available worldwide, as well as private, on-premise training for enterprise development teams interested in accelerating their Node skills.

Read more

Comparing Express, Restify, hapi and LoopBack for building RESTful APIs

Editor’s Note: This post was originally published in April, 2014. We have refreshed this popular blog post.

If you are writing a Node.js application, chances are you going to have some kind of API endpoints to be consumed by your front end or expose data for others to take in. This is where RESTful APIs come in. With so many tools and approaches to choose from, you have a dilemma: What’s the right approach for your project?

lost

Thanks to the incredibly active Node.js community, the amount of results for a rest search on NPM is pretty overwhelming. Everyone has their own implementation and approach, but few seem to agree on a common way to go about implementing RESTful APIs in Node.js.

Read more

StrongLoop Weekly Review – April 28, 2014

Here’s recap of blogs from the last week or so…

Node.js Performance Tip of the Week: Heap Profiling

Node runs it’s applications on Google’s V8 JavaScript engine, which uses a heap structure similar to JVM and most other languages. And like most other languages there exists many common pitfalls that can lead to poor performance brought on by memory leaks. Thus, managing the heap is vital to maintaining optimal performance and efficiency for your applications.

Read more…

Turn SOAP into REST APIs with LoopBack

In many enterprises, SOAP web services are still important assets, and some APIs are only available via SOAP. Unfortunately, SOAP is fairly heavy weight, and working with XML-based SOAP payloads in Node.js is not very fun. It’s much nicer to use JSON and to wrap or mediate a SOAP service and expose it as a REST API. In this blog, I’ll walk you through the steps to connect to an existing SOAP web service and transform it into a REST API.

Read more…

Using Streaming Chunked HTML to Get Node.js to Deliver More Data

In One of the main draws to Node.js is its ability to respond efficiently to a large number of requests, but users of your app don’t care how much you’re squeezing out of a single core. They want stuff to show up. Now. In this blog we’ll show you a pretty simple technique: using a feature of HTTP 1.1 called Chunked transfer encoding.

Read more…

Full-Stack JavaScript in Action with LoopBack’s Browser Support

 

LoopBack version 1.8.0 introduces browser support with two key features: Theloopback.Remote connector and the browserify distribution. These enable running a LoopBack client application in the browser that shares code with a LoopBack server application. This means you can adopt the same programming model on both client and server.

What’s LoopBack? It’s an open source API server powered by Node for connecting devices and apps to data and services.

Read more…

Comparing Node.js Promises, Try/Catch, Angular Zone.js and Zone

In this blog we’ll at practical examples using Promises, Try/Catch, Angular Zone.js and Bert Belder’s new Zone project to get a better understanding of how to effectively handle error in asynchronous flow.

Read more…

Use StrongOps to Monitor Node Apps

Ready to start monitoring event loops, manage Node clusters and chase down memory leaks? We’ve made it easy to get started with StrongOps either locally or on your favorite cloud, with a simple npm install.

Screen Shot 2014-02-03 at 3.25.40 AM

What’s next?

 

Node.js Performance Tip of the Week: Heap Profiling

Please note that as of Aug 3, 2015, StrongOps has been EOL’d. Check out StrongLoop Arc for the same capabilities and more.

Node provides us with great power, but with great power comes great responsibility. This is especially true for the large, distributed applications that are known to benefit the most from Node. The ability to translate JavaScript into native machine language instead of interpreting it as bytecode, combined with asynchronous programming allowing non-blocking IO, is the core of what makes Node so fast and powerful.

Node runs it’s applications on Google’s V8 JavaScript engine, which uses a heap structure similar to JVM and most other languages. And like most other languages there exists many common pitfalls that can lead to poor performance brought on by memory leaks. Thus, managing the heap is vital to maintaining optimal performance and efficiency for your applications. Read more