diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2021-11-05 19:34:01 +0100 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2021-11-05 19:42:11 +0100 |
commit | c0968d263d5531d21a6ff9df111d63ca2c6e43fa (patch) | |
tree | 601985ac047b4ba818a265cee4c1c90eac839d4e /static/Makefile | |
parent | Limit exports to those used by imports. (diff) | |
download | calp-c0968d263d5531d21a6ff9df111d63ca2c6e43fa.tar.gz calp-c0968d263d5531d21a6ff9df111d63ca2c6e43fa.tar.xz |
Start depending on npm.
Chromium can't handle JavaScript-modules in XHTML-document [1]. The
workaround is to use a javascript bundler. Here we start depending on
browserify. I evaluated both that and webpack, and browserify seemed to
work marginally better with typescript.
Unfortunately this also makes us depend on npm, where we unfortunately
already are bloatet...
$ ls static/node_modules | wc -l
174
[1]: https://bugs.chromium.org/p/chromium/issues/detail?id=717643
Diffstat (limited to 'static/Makefile')
-rw-r--r-- | static/Makefile | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/static/Makefile b/static/Makefile index 821489bc..7a541bf6 100644 --- a/static/Makefile +++ b/static/Makefile @@ -1,10 +1,19 @@ .PHONY: all clean watch -TARGETS := style.css smallcal.css +TARGETS := style.css smallcal.css script.out.js WATCH= +export PATH := $(shell npm bin):$(PATH) + all: $(TARGETS) +%.map.json: %.out.js + tail -n1 $< | tail -c+65 | base64 --decode | jq '.' > $@ + +# r!browserify --list script.ts -p tsify | xargs -L1 basename | tac +script.out.js: script.ts popup.ts globals.ts vevent.ts types.ts dragable.ts clock.ts lib.ts + browserify $< -p tsify --noImplicitAny --debug -o $@ + watch: $(MAKE) WATCH=--watch all |