Transpiling

Recomposed

By Peter Müller / @_munter_

PODIO

CopenhagenJS.dk

AssetGraph

Transpilers

Source → Source

Sass, Less, Stylus, Autoprefixer, Myth, Babel, Jsx, Coffeescript, TypeScript, Markdown, Jade, Haml

Build Artifacts

Transpiling: Source directory

app/main.scss → app/main.css

echo "*.css" >> .gitignore

app/vendor/bootstrap.css

Transpiling: Temp Directory

app/main.scss → artifacts/main.css

echo "artifacts" >> .gitignore

HTTP GET artifacts/main.css   200
HTTP GET artifacts/index.html 404
HTTP GET app/index.html       200

Transpiling: Build trigger

WATCH app/**/*.css

TRIGGER TRANSPILE app/main.scss → artifacts/main.css

TRIGGER LIVERLOAD app/main.css

npm install grunt/gulp/broccoli

Transpiling: Integrations

Task runner

Production bundler

Linter

Test framework

Complexity

How

does

this

work?

NEED

Recomposing

Want

Task runner

Control flow

Middleware

Fusile

Fusile


github.com/Munter/fusile


$ npm install fusile -g
$ fusile <sourcedir> <targetdir>

License: MIT


Status: Development ready

Tools provide ability

Reject complexity

Demand simplicity

Thanks!

Peter Müller - @_munter_ - mntr.dk

 

Slides

mntr.dk/talk-transpiling-recomposed