Search code examples
node.jsconfigurationnpmwebstormpackage.json

Create WebStorm run configurations from package.json "scripts" section


In my package.json file, I have the following "scripts" configuration.

...
"scripts": {
    "start": "watchify -o lib/index.js -v -d .",
    "build": "browserify . | uglifyjs -cm > lib/index.js",
    "test": "jest"
}
...

This allows me to run npm start, npm build and npm test from the command line.

This is great! But ideally, I would like to be able to run those tasks from within WebStorm using run configurations, due to how convenient the interface is. I have not been able to figure out how to do this.

Is there a way to create my own custom run configurations or automatically generate them from my package.json?


Solution

  • you can use Node.js Run configuration for this. For example, for 'npm start':

    Working dir: /path/to/your/package.json
    
    JavaScript file: /path/to/global/node_modules/npm/bin/npm-cli.js
    
    Application parameters: run start
    

    To find the global node_modules path from the command line use "npm root -g".

    There is no way to auto-create run configurations from files. And the only way to create your own run configuration is developing a plugin - see http://confluence.jetbrains.com/display/IDEADEV/Run+Configurations

    Update: since 2016.x, WebStorm provides a special run configuration - npm - for running/debugging NPM scripts. It can be created manually via Edit configurations... dialog, or auto-added by selecting the script in NPM tool window (can be opened from package.json right-click menu).

    See https://www.jetbrains.com/help/webstorm/2017.3/running-npm-scripts.html