Last night I threw away almost all the build config I’d been blinded by this spring while working on rewrite: webpack config, TypeScript integration, you name it. What I have left: a simple bunch of npm scripts that I can run in parallel in different terminal sessions:
{
"scripts": {
"clean": "rm -rf dist/*",
"build:static": "cp static/* dist",
"build:css": "sass --load-path=./node_modules src/style.scss dist/style.css",
"watch:css": "sass --watch --load-path=./node_modules src/style.scss dist/style.css",
"build:elm": "elm make src/Main.elm --output dist/app.js",
"watch:elm": "watchexec -w src 'elm make src/Main.elm --output dist/app.js'"
}
}
It’s not fancy, but it gets the job done just fine for the things I’m actually working on — rather than things I’ll need eventually — and that’s exacty the right balance at this point.