

<!--
Documentation generated by Skydoc
-->
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width initial-scale=1" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <title>Overview</title>

    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,600,700" type="text/css">
    <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
    <link rel="stylesheet" href="https://code.getmdl.io/1.1.1/material.green-light_blue.min.css">
    <script defer src="https://code.getmdl.io/1.1.1/material.min.js"></script>
    <link rel="stylesheet" href="/rules_nodejs/main.css">
  </head>
  <body>
    <div class="mdl-layout mdl-js-layout mdl-layout--fixed-drawer
      mdl-layout--fixed-header">
      <header class="mdl-layout__header">
        <div class="mdl-layout__header-row">
          <span class="mdl-layout-title">Overview</span>
        </div>
      </header>
      <div class="mdl-layout__drawer">
        <span class="mdl-layout-title">Bazel</span>
        <nav class="drawer-nav">
          <ul class="drawer-nav">
            
<li><a href="/rules_nodejs/index.html">Overview</a></li>
<li>
  <a href="/rules_nodejs/common/check_bazel_version.html">Check Bazel version</a>
  <ul>
    <li><a href="/rules_nodejs/common/check_bazel_version.html#overview">Overview</a></li>
  </ul>
</li>
<li>
  <a href="/rules_nodejs/history-server/history_server.html">Run history-server</a>
  <ul>
  </ul>
</li>
<li>
  <a href="/rules_nodejs/http-server/http_server.html">Run http-server</a>
  <ul>
  </ul>
</li>
<li>
  <a href="/rules_nodejs/jasmine_node_test/jasmine_node_test.html">NodeJS testing</a>
  <ul>
    <li><a href="/rules_nodejs/jasmine_node_test/jasmine_node_test.html#overview">Overview</a></li>
  </ul>
</li>
<li>
  <a href="/rules_nodejs/node/node.html">Executing programs</a>
  <ul>
    <li><a href="/rules_nodejs/node/node.html#overview">Overview</a></li>
    <li>
      <a href="/rules_nodejs/node/node.html#nodejs_binary">
        nodejs_binary
      </a>
    </li>
    <li>
      <a href="/rules_nodejs/node/node.html#nodejs_test">
        nodejs_test
      </a>
    </li>
  </ul>
</li>
<li>
  <a href="/rules_nodejs/node/node_repositories.html">Install NodeJS & Yarn</a>
  <ul>
    <li><a href="/rules_nodejs/node/node_repositories.html#overview">Overview</a></li>
  </ul>
</li>
<li>
  <a href="/rules_nodejs/npm_install/npm_install.html">Install npm packages</a>
  <ul>
    <li><a href="/rules_nodejs/npm_install/npm_install.html#overview">Overview</a></li>
  </ul>
</li>
<li>
  <a href="/rules_nodejs/npm_package/npm_package.html">npm packaging</a>
  <ul>
    <li><a href="/rules_nodejs/npm_package/npm_package.html#overview">Overview</a></li>
    <li>
      <a href="/rules_nodejs/npm_package/npm_package.html#npm_package">
        npm_package
      </a>
    </li>
  </ul>
</li>
<li>
  <a href="/rules_nodejs/rollup/rollup_bundle.html">Rollup bundling</a>
  <ul>
    <li><a href="/rules_nodejs/rollup/rollup_bundle.html#overview">Overview</a></li>
    <li>
      <a href="/rules_nodejs/rollup/rollup_bundle.html#rollup_bundle">
        rollup_bundle
      </a>
    </li>
  </ul>
</li>

          </ul>
        </nav>
      </div>

      <main class="mdl-layout__content">
        <div class="page-content">
<h1>Overview</h1>


<nav class="toc">
  <h2>Rule sets</h2>
  <ul>
    <li><a href="#check_bazel_version">Check Bazel version</a></li>
    <li><a href="#history_server">Run history-server</a></li>
    <li><a href="#http_server">Run http-server</a></li>
    <li><a href="#jasmine_node_test">NodeJS testing</a></li>
    <li><a href="#node">Executing programs</a></li>
    <li><a href="#node_repositories">Install NodeJS & Yarn</a></li>
    <li><a href="#npm_install">Install npm packages</a></li>
    <li><a href="#npm_package">npm packaging</a></li>
    <li><a href="#rollup_bundle">Rollup bundling</a></li>
  </ul>
</nav>

<h2><a href="/rules_nodejs/common/check_bazel_version.html" id="check_bazel_version">Check Bazel version</a></h2>

<h3>Macros</h3>
<table class="overview-table">
  <colgroup>
    <col class="col-name" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr>
      <td>
        <a href="/rules_nodejs/common/check_bazel_version.html#check_bazel_version">
          <code>check_bazel_version</code>
        </a>
      </td>
      <td>
        <p>Verify the users Bazel version is at least the given one.</p>

      </td>
    </tr>
  </tbody>
</table>
<h2><a href="/rules_nodejs/history-server/history_server.html" id="history_server">Run history-server</a></h2>

<h3>Macros</h3>
<table class="overview-table">
  <colgroup>
    <col class="col-name" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr>
      <td>
        <a href="/rules_nodejs/history-server/history_server.html#history_server">
          <code>history_server</code>
        </a>
      </td>
      <td>
        <p>This is a simple Bazel wrapper around the history-server npm package.</p>

      </td>
    </tr>
  </tbody>
</table>
<h2><a href="/rules_nodejs/http-server/http_server.html" id="http_server">Run http-server</a></h2>

<h3>Macros</h3>
<table class="overview-table">
  <colgroup>
    <col class="col-name" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr>
      <td>
        <a href="/rules_nodejs/http-server/http_server.html#http_server">
          <code>http_server</code>
        </a>
      </td>
      <td>
        <p>This is a simple Bazel wrapper around the http-server npm package.</p>

      </td>
    </tr>
  </tbody>
</table>
<h2><a href="/rules_nodejs/jasmine_node_test/jasmine_node_test.html" id="jasmine_node_test">NodeJS testing</a></h2>

<h3>Macros</h3>
<table class="overview-table">
  <colgroup>
    <col class="col-name" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr>
      <td>
        <a href="/rules_nodejs/jasmine_node_test/jasmine_node_test.html#jasmine_node_test">
          <code>jasmine_node_test</code>
        </a>
      </td>
      <td>
        <p>Runs tests in NodeJS using the Jasmine test runner.</p>

      </td>
    </tr>
  </tbody>
</table>
<h2><a href="/rules_nodejs/node/node.html" id="node">Executing programs</a></h2>

<h3>Rules</h3>
<table class="overview-table">
  <colgroup>
    <col class="col-name" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr>
      <td>
        <a href="/rules_nodejs/node/node.html#nodejs_binary">
          <code>nodejs_binary</code>
        </a>
      </td>
      <td>
        <p>Runs some JavaScript code in NodeJS.</p>

      </td>
    </tr>
    <tr>
      <td>
        <a href="/rules_nodejs/node/node.html#nodejs_test">
          <code>nodejs_test</code>
        </a>
      </td>
      <td>
        <p>Identical to <code>nodejs_binary</code>, except this can be used with <code>bazel test</code> as well.
When the binary returns zero exit code, the test passes; otherwise it fails.</p>

      </td>
    </tr>
  </tbody>
</table>
<h3>Macros</h3>
<table class="overview-table">
  <colgroup>
    <col class="col-name" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr>
      <td>
        <a href="/rules_nodejs/node/node.html#nodejs_binary_macro">
          <code>nodejs_binary_macro</code>
        </a>
      </td>
      <td>
        <p>This macro exists only to wrap the nodejs_binary as an .exe for Windows.</p>

      </td>
    </tr>
    <tr>
      <td>
        <a href="/rules_nodejs/node/node.html#nodejs_test_macro">
          <code>nodejs_test_macro</code>
        </a>
      </td>
      <td>
        <p>This macro exists only to wrap the nodejs_test as an .exe for Windows.</p>

      </td>
    </tr>
  </tbody>
</table>
<h2><a href="/rules_nodejs/node/node_repositories.html" id="node_repositories">Install NodeJS & Yarn</a></h2>

<h3>Macros</h3>
<table class="overview-table">
  <colgroup>
    <col class="col-name" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr>
      <td>
        <a href="/rules_nodejs/node/node_repositories.html#node_repositories">
          <code>node_repositories</code>
        </a>
      </td>
      <td>
        <p>To be run in user's WORKSPACE to install rules_nodejs dependencies.</p>

      </td>
    </tr>
  </tbody>
</table>
<h2><a href="/rules_nodejs/npm_install/npm_install.html" id="npm_install">Install npm packages</a></h2>

<h3>Repository Rules</h3>
<table class="overview-table">
  <colgroup>
    <col class="col-name" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr>
      <td>
        <a href="/rules_nodejs/npm_install/npm_install.html#npm_install">
          <code>npm_install</code>
        </a>
      </td>
      <td>
        <p>Runs npm install during workspace setup.</p>

      </td>
    </tr>
    <tr>
      <td>
        <a href="/rules_nodejs/npm_install/npm_install.html#yarn_install">
          <code>yarn_install</code>
        </a>
      </td>
      <td>
        <p>Runs yarn install during workspace setup.</p>

      </td>
    </tr>
  </tbody>
</table>
<h2><a href="/rules_nodejs/npm_package/npm_package.html" id="npm_package">npm packaging</a></h2>

<h3>Rules</h3>
<table class="overview-table">
  <colgroup>
    <col class="col-name" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr>
      <td>
        <a href="/rules_nodejs/npm_package/npm_package.html#npm_package">
          <code>npm_package</code>
        </a>
      </td>
      <td>
        <p>The npm_package rule creates a directory containing a publishable npm artifact.</p>

      </td>
    </tr>
  </tbody>
</table>
<h3>Macros</h3>
<table class="overview-table">
  <colgroup>
    <col class="col-name" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr>
      <td>
        <a href="/rules_nodejs/npm_package/npm_package.html#create_package">
          <code>create_package</code>
        </a>
      </td>
      <td>
        <p>Creates an action that produces the npm package.</p>

      </td>
    </tr>
  </tbody>
</table>
<h2><a href="/rules_nodejs/rollup/rollup_bundle.html" id="rollup_bundle">Rollup bundling</a></h2>

<h3>Rules</h3>
<table class="overview-table">
  <colgroup>
    <col class="col-name" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr>
      <td>
        <a href="/rules_nodejs/rollup/rollup_bundle.html#rollup_bundle">
          <code>rollup_bundle</code>
        </a>
      </td>
      <td>
        <p>Produces several bundled JavaScript files using Rollup and Uglify.</p>

      </td>
    </tr>
  </tbody>
</table>
<h3>Macros</h3>
<table class="overview-table">
  <colgroup>
    <col class="col-name" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr>
      <td>
        <a href="/rules_nodejs/rollup/rollup_bundle.html#write_rollup_config">
          <code>write_rollup_config</code>
        </a>
      </td>
      <td>
        <p>Generate a rollup config file.</p>

      </td>
    </tr>
    <tr>
      <td>
        <a href="/rules_nodejs/rollup/rollup_bundle.html#run_rollup">
          <code>run_rollup</code>
        </a>
      </td>
      <td>
        <p>Creates an Action that can run rollup on set of sources.</p>

      </td>
    </tr>
    <tr>
      <td>
        <a href="/rules_nodejs/rollup/rollup_bundle.html#run_uglify">
          <code>run_uglify</code>
        </a>
      </td>
      <td>
        <p>Runs uglify on an input file.</p>

      </td>
    </tr>
    <tr>
      <td>
        <a href="/rules_nodejs/rollup/rollup_bundle.html#run_sourcemapexplorer">
          <code>run_sourcemapexplorer</code>
        </a>
      </td>
      <td>
        <p>Runs source-map-explorer to produce an HTML visualization of the sourcemap.</p>

      </td>
    </tr>
  </tbody>
</table>


        </div>

        <footer class="mdl-mini-footer">
          <div class="mdl-mini-footer__left-section">
            <div class="mdl-logo">Bazel</div>
            <ul class="mdl-mini-footer__link-list">
              <li><a href="https://bazel.build">Home</a></li>
              <li><a href="https://github.com/bazelbuild">GitHub</a></li>
            </ul>
          </div>
        </footer>
      </main>
    </div>
  </body>
</html>
