eb-authenticate-npm

Authenticates Elastic Beanstalk environments to npm.

Usage no npm install needed!

<script type="module">
  import ebAuthenticateNpm from 'https://cdn.skypack.dev/eb-authenticate-npm';
</script>

README

eb-authenticate-npm

This module installs an .ebextensions config file that will authenticate your Elastic Beanstalk environments to npm.

The config file will do this by creating an .npmrc that reads the value of the NPM_TOKEN environment variable. This .npmrc file will only be created in EB, letting you use whatever authentication strategy you like locally. (The alternative.)

By the way I was really hoping that EB would automatically read NPM_TOKEN as per this Stack Overflow answer but that didn't work for me (tested 8/3/2016).

Installation

  1. npm install eb-authenticate-npm --save-dev (see here for why --save-dev)
  2. Commit the .ebextensions file it creates.
  3. Set the NPM_TOKEN EB environment variable to an npm authentication token.
  4. Deploy.

Modifying the .ebextensions file

This module will overwrite the file if/when it is updated.

Pull requests are welcome if you have some generally-useful modifications to suggest.

If you'd like to make modifications specific to your use case, you should uninstall this module after installing the .ebextensions file. Uninstallation won't take the file with it.

Thanks/Prior art

Thanks to Remy Sharp for suggesting this strategy, and this Stack Overflow answer for helping me figure out where the .npmrc needed to be written.