Elm filter for webassets
Project description
Elm filter for webassets
Filter for compiling Elm files using webassets.
Install
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.
Basic usage
from webassets.filter import register_filter
from webassets_elm import Elm
register_filter(Elm)
Settings
Optionally as an evironment variable you can have:
ELM_BIN: alternative path to elm 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.
Examples
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)
Contributing
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.