lib/coffee/compiler.ex
defmodule Coffee.Compiler do
@moduledoc """
Compiles CoffeeScript source into JS source
"""
@assets_path Application.get_env(:coffee_compiler, :assets_path)
@priv_dir Application.app_dir(:coffee_compiler, "priv")
@config @priv_dir <> "/rollup.config.js"
@doc """
Compiles a CoffeeScript into JS
"""
def compile(coffee, _opts \\ []) do
args = ["run", "rollup", coffee, "-c", @config, "--configRootDir=#{@assets_path}"]
{js, _} = System.cmd("yarn", args, cd: @priv_dir)
{:ok, js}
end
end