Filter for compiling Elm files using webassets.
pip install webassets-elm
As of version 0.2.0, this plugin requires Elm 0.19 or newer (building with elm make
).
If you need to build your Elm project with elm-make
(Elm 0.18 and older), you can pin your webassets-elm
package to version 0.1.7
.
from webassets.filter import register_filter
from webassets_elm import Elm
register_filter(Elm)
Optionally as an evironment variable you can have:
ELM_BIN
: alternative path toelm
if it is not available globally (e.g.node_modules/.bin/elm
).ELM_OPTIMIZE
: enable the Elm compiler optimization option. Recommended for production output.ELM_DEBUG
: enable the Elm compiler debug option.
Flask with flask-assets
from flask import Flask
from flask_assets import Bundle, Environment
from webassets.filter import register_filter
from webassets_elm import Elm
app = Flask(__name__)
register_filter(Elm)
assets = Environment(app)
elm_js = Bundle('elm/main.elm', filters=('elm',), output='app.js')
assets.register('elm_js', elm_js)
Django with django-assets
from django_assets import Bundle, register
from webassets.filter import register_filter
from webassets_elm import Elm
register_filter(Elm)
elm_js = Bundle('elm/main.elm', filters=('elm',), output='app.js')
register('elm_js', elm_js)
Feel free to report an issue, open a pull request, or drop a line.
Don't forget to write and run tests, and format code with Black:
python setup.py test black .
Please note you need elm
binary available to run tests, here you can find different ways to install Elm.