CargoSense / dart_sass

Install and run Dart Sass using Elixir.
https://hex.pm/packages/dart_sass
MIT License
102 stars 23 forks source link

How do we configure multiple configuration profiles? #28

Closed i-n-g-m-a-r closed 2 years ago

i-n-g-m-a-r commented 2 years ago

https://github.com/CargoSense/dart_sass/blob/114b224caf9d185505cceebecb869c92a6917230/lib/dart_sass.ex#L7

How do we configure multiple configuration profiles?

i-n-g-m-a-r commented 2 years ago

To assist anyone searching for phoenix dart_sass multiple profiles here's how it's done.

1) Create a .scss file

./assets/css/foobar.scss

2) Add profile in config.exs

config :dart_sass,
  version: "1.49.11",
  default: [
    args: ~w(css/main.scss ../priv/static/assets/main.css),
    cd: Path.expand("../assets", __DIR__)
  ],
  foobar: [
    args: ~w(css/foobar.scss ../priv/static/assets/foobar.css),
    cd: Path.expand("../assets", __DIR__)
  ]

3) Add profile in dev.exs

watchers: [
  # Start the esbuild watcher by calling Esbuild.install_and_run(:default, args)
  esbuild: {Esbuild, :install_and_run, [:default, ~w(--sourcemap=inline --watch)]},
  sass: {DartSass, :install_and_run, [:default, ~w(--embed-source-map --source-map-urls=absolute --watch)]},
  sass: {DartSass, :install_and_run, [:foobar, ~w(--embed-source-map --source-map-urls=absolute --watch)]},
]

Done.

mcrumm commented 2 years ago

Closing this, but if you think the README/docs could be clearer or need more examples, a PR would definitely be welcome! :)