aboutsummaryrefslogtreecommitdiff
path: root/static
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2021-11-05 19:34:01 +0100
committerHugo Hörnquist <hugo@lysator.liu.se>2021-11-05 19:42:11 +0100
commitc0968d263d5531d21a6ff9df111d63ca2c6e43fa (patch)
tree601985ac047b4ba818a265cee4c1c90eac839d4e /static
parentLimit exports to those used by imports. (diff)
downloadcalp-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')
-rw-r--r--static/.gitignore1
-rw-r--r--static/Makefile11
-rw-r--r--static/package.json6
3 files changed, 17 insertions, 1 deletions
diff --git a/static/.gitignore b/static/.gitignore
index 3153016b..3d4116d2 100644
--- a/static/.gitignore
+++ b/static/.gitignore
@@ -11,3 +11,4 @@ script.js
server_connect.js
types.js
vevent.js
+*.out.js
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
diff --git a/static/package.json b/static/package.json
new file mode 100644
index 00000000..a25830a1
--- /dev/null
+++ b/static/package.json
@@ -0,0 +1,6 @@
+{
+ "dependencies": {
+ "browserify": "^17.0.0",
+ "tsify": "^5.0.4"
+ }
+}