Selaa lähdekoodia

Add a Makefile that drills into npm scripts

Kevin van Zonneveld 9 vuotta sitten
vanhempi
commit
874ffe46d8
1 muutettua tiedostoa jossa 27 lisäystä ja 0 poistoa
  1. 27 0
      Makefile

+ 27 - 0
Makefile

@@ -0,0 +1,27 @@
+# This Makefile offers convience shortcuts into this codebase
+# it functions as a wrapper around the actual npm scripts, collected in `package.json`
+# So instead of typing:
+#
+#  $ npm script build:assets
+#
+# you could also type:
+#
+#  $ make build-assets
+#
+# Notice that colons (:) are replaced by dashes for Makefile compatibility.
+#
+# The benefits of this wrapper are:
+#
+# - You get to keep the the scripts package.json, which is more portable (Makefiles & Windows are harder to mix)
+# - Offer a polite way into the project for developers coming from different languages (npm scripts is obviously very Node centric)
+# - Profit from better autocomplete (make <TAB><TAB>) than npm currently offers. OSX users will have to install bash-completion (http://davidalger.com/development/bash-completion-on-os-x-with-brew/)
+
+define npm_script_targets
+TARGETS := $(shell node -e 'for (var k in require("./package.json").scripts) {console.log(k.replace(/:/g, "-"));}')
+$$(TARGETS):
+	npm run $(MAKECMDGOALS:-=:)
+
+.PHONY: $$(TARGETS)
+endef
+
+$(eval $(call npm_script_targets))