ESBUILD=esbuild

.PHONY: all clean
all: spec/static/main.js spec/static/main.min.js spec/static/settings.js spec/static/settings.min.js

# Building modules
spec/views/login.js: spec/views/login.moon
	lapis-eswidget compile_js --moonscript --file "$<" > "$@"

spec/views/user_profile.js: spec/views/user_profile.moon
	lapis-eswidget compile_js --moonscript --file "$<" > "$@"

spec/views/user/settings.js: spec/views/user/settings.moon
	lapis-eswidget compile_js --moonscript --file "$<" > "$@"

# Building package: main
spec/static/js/main.js: spec/views/login.js spec/views/user_profile.js spec/views/user/settings.js
	mkdir -p spec/static/js
	(for file in $^; do echo 'import "../../../'$$file'";' | sed 's/\.js//'; done) > "$@"

# Building package: settings
spec/static/js/settings.js: spec/views/user/settings.js
	mkdir -p spec/static/js
	(for file in $^; do echo 'import "../../../'$$file'";' | sed 's/\.js//'; done) > "$@"

# Misc rules
clean:
	rm spec/views/login.js spec/views/user_profile.js spec/views/user/settings.js spec/static/js/main.js spec/static/js/settings.js
