To install esbuild you can run:
mix esbuild.install
To test esbuild:
mix esbuild default
Perform TailwindCSS installation:
mix tailwind.install
config :esbuild, | |
version: "0.12.18", | |
default: [ | |
args: | |
~w(js/app.js --bundle --target=es2017 --outdir=../priv/static/assets --external:/fonts/* --external:/images/*), | |
cd: Path.expand("../assets", __DIR__), | |
env: %{"NODE_PATH" => Path.expand("../deps", __DIR__)} | |
] | |
config :tailwind, | |
# TailwindCSS live watcher breaks on `~> 3.2.0` | |
version: "3.1.8", | |
default: [ | |
args: ~w( | |
--config=tailwind.config.js | |
--input=css/app.css | |
--output=../priv/static/assets/app.css | |
), | |
cd: Path.expand("../assets", __DIR__) | |
] |
To install esbuild you can run:
mix esbuild.install
To test esbuild:
mix esbuild default
Perform TailwindCSS installation:
mix tailwind.install
import Config | |
# The watchers configuration can be used to run external | |
# watchers to your application. For example, we use it | |
# with esbuild to bundle .js and .css sources. | |
config :my_project, MyProjectWeb.Endpoint, | |
watchers: [ | |
# Start the esbuild watcher by calling Esbuild.install_and_run(:default, args) | |
esbuild: {Esbuild, :install_and_run, [:default, ~w(--sourcemap=inline --watch)]}, | |
tailwind: {Tailwind, :install_and_run, [:default, ~w(--watch)]} | |
] |
defmodule MyProject.MixProject do | |
defp deps do | |
[ | |
{:esbuild, "~> 0.2", runtime: Mix.env() == :dev}, | |
{:tailwind, "~> 0.1", runtime: Mix.env() == :dev} | |
] | |
end | |
defp aliases do | |
[ | |
# ... | |
"assets.deploy": [ | |
"tailwind default --minify", | |
"esbuild default --minify", | |
"phx.digest" | |
] | |
] | |
end | |
end |
{ | |
"scripts": { | |
"deploy": "NODE_ENV=production postcss css/app.css -o ../priv/static/assets/app.css && cd .. && mix assets.deploy && rm -f _build/esbuild" | |
}, | |
"devDependencies": { | |
"autoprefixer": "^10.4.7", | |
"postcss": "^8.4.13", | |
"postcss-cli": "^9.1.0", | |
"postcss-import": "^14.1.0" | |
}, | |
"dependencies": { | |
"@alpinejs/mask": "^3.10.5", | |
"alpinejs": "^3.10.5", | |
"daisyui": "^2.38.0" | |
} | |
} |