mix multitenancy.assets (multitenancy_phoenix v0.1.0)

Copy Markdown View Source

Builds themes/<name>/assets/css/app.css with tailwind and themes/<name>/assets/js/app.js with esbuild into priv/static/themes/<name>/app.{css,js}.

$ mix multitenancy.assets            # build all themes
$ mix multitenancy.assets alpha      # build only alpha
$ mix multitenancy.assets --minify   # production build
$ mix multitenancy.assets --watch    # rebuild on change

The tailwind version and the esbuild version and :env (e.g. NODE_PATH) are taken from the host application configuration:

config :esbuild, version: "0.25.4", my_app: [env: %{"NODE_PATH" => ...}]
config :tailwind, version: "4.1.12"

Use it as a development watcher in the endpoint:

watchers: [themes: {Mix.Tasks.Multitenancy.Assets, :run, [~w(--watch)]}]