# `mix narabe.build`
[🔗](https://github.com/hattoriai/narabe/blob/v0.1.0/lib/mix/tasks/narabe.build.ex#L1)

Builds Narabe into `priv/static`.

    $ mix narabe.build

This task is for work on Narabe itself. An application that uses Narabe
gets the built files in the Hex package and does not run this task: in
any project but Narabe, the task stops with an error before it changes
a file.

The task:

  1. Runs `npm ci` in `assets/` when `assets/node_modules` is missing or
     `assets/package-lock.json` changed since the last install.
  2. Empties `priv/static`, so that it holds only the files of this
     build.
  3. Runs esbuild (the `esbuild` Mix package) with the `:narabe_esm` and
     `:narabe_cjs` profiles.
  4. Copies `assets/css/narabe.css` and `assets/css/narabe-sumi.css` to
     `priv/static/`.

After the task, `priv/static` holds exactly these four files, which are
the files of the Hex package.

It needs `npm` on the path and the `:esbuild` dependency, which is
available in the `:dev` environment.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
