JetBrains Rider 2018.1 Help

Minifying JavaScript

The term minification or compression means removing all unnecessary characters, such as spaces, new lines, comments without changing the functionality of the source code. At the development and debugging stage, these characters improve the code readability. However at the production stage, they become unnecessary for code execution but only increase the size of code to be transferred.

JetBrains Rider integrates with Closure Compiler, YUI Compressor, and UglifyJS, so you can compress your JavaScript application sources on the fly.

Before you start

  1. Install Node.js.
  2. If you are going to use YUI Compressor or Closure Compiler, download and install Java Runtime Environment (JRE):
    • JRE version 1.4 or higher for YUI Compressor.
    • JRE version 7 for Closure Compiler.

Installing a minification tool

Integrating a minification tool with JetBrains Rider

To use a minifier in JetBrains Rider, you need to configure it as a File Watcher. For each supported minifier, JetBrains Rider provides a predefined File Watcher template. To run a minifier in your project, create a project-specific File Watcher based on the relevant template.

  1. Open the File Watchers page by choosing File | Settings | Tools | File Watchers for Windows and Linux or JetBrains Rider | Preferences | Tools | File Watchers for macOS.
  2. Click add and choose the tool-specific File Watcher template from the list:
  3. In the New Watcher Dialog that opens, specify the path to the relevant executable file or .jar archive in the Program field:
    • compiler.jar for Closure Compiler.
    • yuicompressor-<version>.jar for YUI Compressor JS.
    • uglifyjs.cmd for UglifyJS.
  4. Optionally, customize the behaviour of the File Watcher.
  5. Make sure the checkbox next to the File Watcher is selected, which indicates that the File Watcher is enabled.

Running a minification tool

When a minification File Watcher is enabled, minification starts automatically as soon as a JavaScript file in the File Watcher's scope is changed or saved.

JetBrains Rider creates a separate file with the generated output. The file has the name of the source JavaScript file and the extension min.js. The location of the generated file is defined in the Output paths to refresh text box of the New Watcher dialog. However, in the Project Tree, by default it is shown under the source JavaScript file which is now displayed as a node. To change the default presentation, configure file nesting in the Project tool window.

Last modified: 20 August 2018

See Also