JetBrains Rider 2017.3 Help

NPM

On this page:

Introduction

A number of tools are started through Node.js, for example, the CoffeeScript, TypeScript, and Less compilers, YUI, UglifyJS, and Closure compressors, Karma test runner, Grunt task runner, etc. The Node Package Manager (npm) is the easiest way to install these tools, the more so that you have to install Node.js anyway.

Depending on the desired location of the tool executable file, choose one of the following methods:

  • Install the tool globally at the JetBrains Rider level so it can be used in any JetBrains Rider project.
  • Install the tool in a specific project and thus restrict its use to this project.
  • Install the tool in a project as a development dependency.

In either installation mode, make sure that the parent folder of the tool is added to the PATH variable. This enables you to launch the tool from any folder.

Installing Node.js and Node Package Manager (npm)

  1. Download and install the Node.js runtime environment.

    If you are going to use the command line mode, make sure the path to the parent folder of the Node.js executable file and the path to the npm folder are added to the PATH variable. This enables you to launch the tool and npm from any folder.

Installing an external tool globally

Global installation makes a tool available at the JetBrains Rider level so it can be used in any JetBrains Rider project. Moreover, during installation the parent folder of the tool is automatically added to the PATH variable, which enables you to launch the tool from any folder.

  • Run the installation from the command line in the global mode:
    1. Open the embedded Terminal (View | Tool Windows | Terminal) and switch to the directory where NPM is stored or define a PATH variable for it so it is available from any folder, see Installing NodeJs.
    2. Type the following command at the command prompt:
      npm install -g <tool name>

      The -g key makes the tool run in the global mode. Because the installation is performed through NPM, the tool is installed in the npm folder. Make sure this parent folder is added to the PATH variable. This enables you to launch the tool from any folder.

      For more details on the NPM operation modes, see npm documentation. For more information about installing the tool, see https://npmjs.org/package/.

  • Run NPM from JetBrains Rider using the Node.js and NPM page of the Settings dialog box.
    1. Open the Settings/Preferences by pressing Ctrl+Alt+S or by choosing File | Settings for Windows and Linux or JetBrains Rider | Preferences for macOS, and click Node.js and NPM under Languages & Frameworks.
    2. On the NPM and Node.js page that opens, the Packages area shows all the Node.js-dependent packages that are currently installed on your computer, both at the global and at the project level. Click new.
    3. In the Available Packages dialog box that opens, select the required package to install.
    4. Select the Options checkbox and type -g in the text box next to it.
    5. Optionally specify the product version and click Install Package to start installation.

Installing an external tool in a project

Local installation in a specific project restricts the use of a tool to this project.

  • Run the installation from the command line:
    1. Open the embedded Terminal (View | Tool Windows | Terminal) and switch to the project root folder.
    2. At the command prompt, type npm install <tool name>.
  • Run NPM from JetBrains Rider using the Node.js and NPM page of the Settings dialog box.
    1. Open the Settings/Preferences by pressing Ctrl+Alt+S or by choosing File | Settings for Windows and Linux or JetBrains Rider | Preferences for macOS, and click Node.js and NPM under Languages & Frameworks.
    2. On the Node.js and NPM page that opens, the Packages area shows all the Node.js-dependent packages that are currently installed on your computer, both at the global and at the project level. Click new.
    3. In the Available Packages dialog box that opens, select the required package.
    4. Optionally specify the product version and click Install Package to start installation.

Project level installation is helpful and reliable in template-based projects of the type Node Boilerplate or Node.js Express, which already have the node_modules folder. The latter is important because NPM installs the tool in a node_modules folder. If your project already contains such folder, the tool is installed there.

Projects of other types or empty projects may not have a node_modules folder. In this case npm goes upwards in the folder tree and installs the tool in the first detected node_modules folder. Keep in mind that this detected node_modules folder may be outside your current project root.

Finally, if no node_modules folder is detected in the folder tree either, the folder is created right under the current project root and the tool is installed there.

In either case, make sure that the parent folder of the tool is added to the PATH variable. This enables you to launch the tool from any folder.

Installing an external tool as a development dependency

If a tool is a documentation or a test framework, which are of no need for those who are going to re-use your application, it is helpful to have it excluded from download for the future. This is done by marking the tool as a development dependency, which actually means adding the tool in the devDependencies section of the package.json file.

With JetBrains Rider, you can have a tool marked as a development dependency right during installation. Do one of the following:

  • Run the installation from the command line:
    1. Launch the built-in Terminal (View | Tool Windows | Terminal).
    2. Switch to the project root folder and at the command prompt type:
      npm install --dev <tool name>
  • Run NPM from JetBrains Rider using the Node.js and NPM page of the Settings dialog box.
    1. Open the Settings/Preferences by pressing Ctrl+Alt+S or by choosing File | Settings for Windows and Linux or JetBrains Rider | Preferences for macOS, and click Node.js and NPM under Languages & Frameworks.
    2. On the NPM and Node.js page that opens, the Packages area shows all the Node.js-dependent packages that are currently installed on your computer, both at the global and at the project level. Click new.
    3. In the Available Packages dialog box that opens, select the package.
    4. Select the Options checkbox and type --dev in the text box next to it.
    5. Optionally specify the product version and click Install Package to start installation.

After installation, a tool is added to the devDependencies section of the package.json file.

Running npm scripts

JetBrains Rider provides the interface for running npm scripts. JetBrains Rider parses package.json files, recognizing definitions of scripts, lets you build trees of scripts and navigate between a a script in the tree and its definition in the package.json file, and supports running and debugging tasks as well as configuring the script execution mode and output.

Before you start

  1. Download and install Node.js which contains npm.
  2. Install and enable the NodeJS plugin. The plugin is not bundled with JetBrains Rider, but it can be installed from the JetBrains plugin repository as described in Installing, Updating and Uninstalling Repository Plugins and Enabling and Disabling Plugins.
  3. Create a package.json file with the scripts property containing the definitions of the scripts to run.
  4. To enable debugging of a script, add the $NODE_DEBUG_OPTION to its definition in the package.json file, for example:
    { "name": "application-name", "version": "0.0.1", "scripts": { "main": "node $NODE_DEBUG_OPTION ./app-compiled.js" } }

Scripts are launched in the following ways:

  • From a tree of scripts in the dedicated NPM Tool Window. The tool window opens when you invoke npm by choosing Show npm Scripts on the context menu of a package.json in the Solution tool window or of a package.json opened in the editor.
  • According to a dedicated run configuration, see Run/Debug Configuration: NPM.
  • Automatically, as a start-up task.
  • As a before-launch task, from another run configuration.

The result of executing a script is displayed in the Run tool window. The tool window shows the npm script output, reports the errors occurred, lists the packages or plugins that have not been found, etc. The name of the last executed script is displayed on the title bar of the tool window.

Building a tree of scripts

  • If the npm tool window is not opened yet:
    Select the required package.json file in the Solution tool window or open it in the editor and choose Show npm Scripts on the context menu.

    In either case, the npm tool window opens showing the scripts tree built according to the selected or opened package.json file.

  • In the npm tool window, click add_black.png on the toolbar and choose the required package.json file from the list. JetBrains Rider adds a new node and builds a scripts tree under it. The title of the node shows the path to the package.json file according to which the tree is built.
  • To re-build a tree, switch to the required node and click icon_reload_grunt.png on the toolbar.

To sort the scripts in a tree by their names
Click viewMode.png on the toolbar, choose Sort by on the menu, and then choose Name.
By default, a tree shows the scripts in the order in which they are defined in package.json (option Definition order).

Running npm scripts from the tree of scripts

To run a script
Double click the required script. Alternatively select it in the tree and press Enter or choose Run <script name> on the context menu.

To run several scripts
Use the multiselect mode: hold Shift (for adjacent items) or Ctrl (for non-adjacent items) keys and select the required scripts, then choose Run on the context menu of the selection.

Running tasks according to a run configuration

Besides using temporary run configurations that JetBrains Rider creates automatically, you can create and launch your own npm run configurations.

To create an npm run configuration

  1. Choose Run | Edit Configuration on the main menu.
  2. Click add on the toolbar and select npm from the pop-up list.
  3. In the Run/Debug Configuration: NPM dialog box that opens, specify the name of the run configuration, the npm command line command to execute, the scripts to run (use blank spaces as separators), the location of the package.json file to retrieve the definitions of the scripts from, and the command line arguments to execute the script with.

    Specify the location of the Node executable file and the Node.js-specific options to be passed to this executable file, see Node parameters for details.

    If applicable, specify the environment variables for the Node.js executable file.

To run a script according to a run configuration, select the run configuration from the list on the main tool bar and then choose Run | Run <configuration name> on the main menu or click the Run toolbar button run.png. The output is displayed in the Run tool window.

Running npm scripts automatically

If you have some scripts that you run on a regular basis, you can add the corresponding run configurations to a list of startup tasks. The tasks will be executed automatically on the project start-up.

  1. In the Settings/Preferences dialog (Ctrl+Alt+S), click Startup Tasks underTools.
  2. On the Startup Tasks page that opens, click add.png on the toolbar.
  3. From the drop-down list, choose the required npm run configuration. The configuration is added to the list.

    If no applicable configuration is available in the project, click add.png and choose Edit Configurations. Then define a configuration with the required settings in the Run/Debug Configuration: NPM page that opens. When you save the new configuration it is automatically added to the list of startup tasks.

Running a script as a as a before-launch task

  1. Open the Run/Debug Configurations Dialog dialog by choosing Run | Edit Configurations on the main menu, and select the required configuration from the list or create it anew by clicking new and choosing the relevant run configuration type.
  2. In the dialog box that opens, click new in the Before launch area and choose Run npm script from the drop-down list.
  3. In the NPM Script dialog box that opens, specify the package.json file where the required script is defined, select the script to execute, choose the command to apply to it, and specify the arguments to execute the script with.

    Specify the location of the Node.js interpreter and the parameters to pass to it.

Last modified: 19 April 2018

See Also