Builds Issho's browser client into priv/static.
$ mix issho.build
This task is for work on Issho itself. An application that uses Issho gets the built files in the Hex package and does not run this task: in any project but Issho, the task stops with an error before it changes a file.
The task:
- Runs
npm ciinassets/whenassets/node_modulesis missing orassets/package-lock.jsonchanged since the last install. - Empties
priv/static, so that it holds only the files of this build. - Runs esbuild (the
esbuildMix package) with the:issho_esmand:issho_cjsprofiles. - Writes the TypeScript declarations into
priv/static/types, withassets/tsconfig.types.json. - Copies the theme's style sheets (
assets/css/issho.cssandissho-sumi.css).
After the task, priv/static holds exactly the two bundles, the
declarations and the style sheets, 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.