# salt.states.npm

## Installation of NPM Packages

These states manage the installed packages for node.js using the Node Package Manager (npm). Note that npm must be installed for these states to be available, so npm states should include a requisite to a pkg.installed state for the package which provides npm (simply `npm` in most cases). Example:

    npm:
      pkg.installed

    yaml:
      npm.installed:
        - require:
          - pkg: npm

salt.states.npm.bootstrap(name, user=None, silent=True)

  Bootstraps a node.js application.

  Will execute 'npm install --json' on the specified directory.

  user

    The user to run NPM with

    Added in version 0.17.0.

salt.states.npm.cache_cleaned(name=None, user=None, force=False)

  Ensure that the given package is not cached.

  If no package is specified, this ensures the entire cache is cleared.

  name

    The name of the package to remove from the cache, or None for all packages

  user

    The user to run NPM with

  force

    Force cleaning of cache. Required for npm@5 and greater

    Added in version 2016.11.6.

salt.states.npm.installed(name, pkgs=None, dir=None, user=None, force_reinstall=False, registry=None, env=None)

  Verify that the given package is installed and is at the correct version (if specified).

      coffee-script:
        npm.installed:
          - user: someuser

      coffee-script@1.0.1:
        npm.installed: []

  name

    The package to install

    Changed in version 2014.7.2: This parameter is no longer lowercased by salt so that case-sensitive NPM package names will work.

  pkgs

    A list of packages to install with a single npm invocation; specifying this argument will ignore the `name` argument

    Added in version 2014.7.0.

  dir

    The target directory in which to install the package, or None for global installation

  user

    The user to run NPM with

    Added in version 0.17.0.

  registry

    The NPM registry from which to install the package

    Added in version 2014.7.0.

  env

    A list of environment variables to be set prior to execution. The format is the same as the `cmd.run`. state function.

    Added in version 2014.7.0.

  force_reinstall

    Install the package even if it is already installed

salt.states.npm.removed(name, dir=None, user=None)

  Verify that the given package is not installed.

  dir

    The target directory in which to install the package, or None for global installation

  user

    The user to run NPM with

    Added in version 0.17.0.