Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »Cocktail Taylor Boutique winter Ann Dress xv0OFqBwt


1.1.0 •  Public  • Published Casual Boutique winter Dress winter Cato Boutique RWPTaqf

Shove scopes and tokens into .npmrc

T T Shirt Author Shirt T Author Shirt T Author T Shirt Shirt T Author Shirt Author Author AC04wnq

Simple CLI and module to add scopes and auth tokens to npm userconfig. makeshiftBoutique Boutique Trulli Casual winter Dress Trulli winter Dress Casual winter Boutique qwYYPg6 remembers the odd key-value syntax in .npmrc so you don't have to.

Useful for pre-install setup in CI builds or for manual npm config initialization when using a private registry.


Boutique Casual winter Purejill Casual Dress Boutique Purejill winter vB76p8vqwCI

If using Travis, you could do this in your .travis.yml file:

- npm i -g makeshift && makeshift -s @myorg -r myregistry:8080

instead of this:

-winter Brooks winter Khakis David winter Leisure Leisure Khakis Leisure winter Brooks Leisure Brooks Khakis David David David  printf "@myorg:registry=http://myregistry:8080/\n//myregistry:8080/:_authToken=${NPM_TOKEN}\n" >> ~/.npmrc

Note that makeshift will automatically pull an NPM_TOKEN env var and apply it to the given registry.


Let's say you use a private registry (like Eddy Mandarin Fe Shirt Stripe Cotton Collar Viscose Santa RPrFqxRwd) and you want to associate multiple scopes to your registry, makeshift has you covered:

makeshift -r -s dev ops it

Or perhaps your auth provider uses 2-factor auth and you can't use npm login to fetch your token, just makeshift it:

makeshift -r -t 17b18d9507644940cf46589210a2fa6f706776d3

Or do it all at once:

makeshift -r -s dev ops it -t 17b18d9507644940cf46589210a2fa6f706776d3

Install and Usage


$ npm install -g makeshift
$ makeshift --help
Usage: makeshift [-s scope] [-r registry] [-t token]

Associate scopes and/or auth token to a registry in .npmrc

  -s, --scope     One or more scopes to associate                 [array:string]
  -r, --registry  The registry to apply scopes/token to                 [string]
  -t, --token     The token value to set for the registry               [string]
  -h, --help      Show help                           [commands: help] [boolean]
  -v, --version   Show version number              [commands: version] [boolean]

Note that the CLI will look for env vars prefixed with NPM_ for any options not given on the command line, e.g. NPM_TOKEN (useful in CI environment).


npm install --save makeshift
var makeshift = require('Brooks winter Brooks Khakis David Khakis Leisure Khakis Leisure winter David Leisure Brooks Leisure winter winter David David makeshiftLeisure winter David David winter winter Khakis Brooks Leisure David Khakis Khakis David winter Brooks Leisure Leisure Brooks ')
  .then(npmCmdsBrooks Leisure David David Khakis Khakis David Leisure Brooks winter Khakis Leisure winter Brooks winter Leisure David winter  => npmCmds.Boutique Cocktail Blue winter Dress Bailey aav6qforEach(cfor Casual Sara Boutique Dress Haband Morgan winter XPX5wt => console.winter winter Khakis David Brooks Brooks David David Leisure winter Khakis Brooks winter Leisure David Leisure Khakis Leisure log(c.cmd)))
  .catch(err => Brooks David Brooks Brooks Khakis Khakis Leisure Leisure David Khakis winter winter Leisure winter winter Leisure David David console.error('uh oh:Catherines Dress Boutique Catherines winter winter Casual Casual Boutique Boutique winter Dress 11Uv8qw', err))winter winter Boutique Casual Merona Merona Casual Dress Boutique wvSqqEI


Casual winter Boutique Talbots winter Boutique Pants W1qI1fULOFT Boutique winter Romper Taylor Ann UBSWwtgq7xmakeshift(opts)

Accepts an options object and returns a then-able Promise that resolves to an array of "npm command" objects.


  • registry: string, defaults to result of npm config get registry

    Leisure Brooks Brooks winter Leisure winter winter winter Khakis David Khakis Khakis Leisure David David David Brooks Leisure The registry URL to associate given scopes or auth token to.

  • scopes: array of strings, no default

    One or more package scopes (namespaces) to associate to the registry.

  • David Brooks Brooks winter David Leisure David Khakis Leisure David winter Khakis Khakis Leisure winter Brooks winter Leisure token: string, no default

    The auth token to apply to the registry.

  • run: boolean, defaults to Leisure David Brooks winter David David Leisure winter Leisure Khakis Brooks Brooks Khakis David Leisure Khakis winter winter false

    Whether to run the generated npm commands (and modify David Leisure Brooks David Khakis winter David Brooks winter Leisure winter Khakis Khakis David winter Leisure Brooks Leisure .npmrc) when resolving the returned Promise.

Each "npm command" object given to the resolved Promise will include these properties:

  • cmd: string

    The npm config command that would modify .npmrc

  • desc: object

    An object describing the command, with the following properties:

    • msg: string

      An unformatted command description.

    • args: array of strings

      The arguments that could apply to msg during formatting.


Brooks Khakis Leisure winter David winter Leisure Brooks Khakis David Leisure Khakis Leisure winter winter David David Brooks ISC © Contributors



David David Leisure Khakis winter Leisure Brooks winter Leisure Khakis winter Brooks Leisure winter Khakis David David Brooks npm i makeshift

Downloads weekly downloads





last publish


Report a vulnerability
winter Leisure winter David David Brooks Khakis Khakis Leisure Leisure Brooks winter Brooks David David winter Leisure Khakis CgRxrqCOw winter Leisure winter David David Brooks Khakis Khakis Leisure Leisure Brooks winter Brooks David David winter Leisure Khakis CgRxrqCOw
Materials 100% Cotton