This post contains content about Now 1.0 – Learn about the latest version, Now 2.0.
Now 2.0 - Upgrade Available
Thursday, April 21st 2016 (about 3 years ago)

Package Installation Improvements

Tony Kovanen (@tonykovanen)

We've spent a lot of time refining the Now deployment process to make installations reliable, fast and predictable.

Every time you deploy your Node.js project by running now we perform a completely *fresh yet super fast installation* of your package.json dependencies.

This is so that you're never burdened by race conditions from caches and half-baked builds. Or node_modules snapshots that might not work on your co-workers' machines or that you spend way too much time packaging and uploading.

I'm happy to say that you really put our system to the test! As a result of your deployments, we've identified and improved on many parts of our installation process. Out of those, I would like to highlight the following scenarios:

Tarball links

Tarball links are now working properly:

{
"dependencies": {
  "socket.io-emitter": "https://github.com/socketio/socket.io-emitter/archive/b1d5f3.tar.gz"
}
}

GitHub links

Your dependencies can now directly link to a GitHub repository:

{
"dependencies": {
  "socket.io-emitter": "https://github.com/socketio/socket.io-emitter"
}
}

Repository shortcuts

Using the `user/repo` shortcut now works as expected:

{
"dependencies": {
  "socket.io-emitter": "socketio/socket.io-emitter#b1d5f39"
}
}

npm script references

You can now reference package.json defined scripts from other scripts properly:

{
"scripts": {
  "start": "npm run custom-script && npm test && node index.js"
}
}

Native addon support

Last but not least, we improved several aspects of our installation process to bring you node-gyp available to every package.json install.

We are working on a lot of optimizations to make your native builds even faster (among other installation related improvements), so stay tuned for some more updates!