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

Builds the Fude charts into `priv/static`.

    $ mix fude.build

This task is for work on Fude itself. An application that uses Fude
gets the built files in the Hex package and does not run this task: in
any project but Fude, 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 `:fude_esm` and
     `:fude_cjs` profiles.
  4. Copies `assets/css/fude.css` and `assets/css/fude-sumi.css` to
     `priv/static/`, and the maps of `assets/maps/` to
     `priv/static/maps/`.

After the task, `priv/static` holds exactly these 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*
