Web Dev Solutions

Catalin Mititiuc

aboutsummaryrefslogtreecommitdiff
blob: 394ed06776f4a9b2bd20e7ca551d37b9061cd20c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
## Install dev server packages

    docker run --rm -w /app -v $PWD:/app -u $(id -u):$(id -u) node npm install

## Start the dev server

    docker run --rm --init -it -w /app -v $PWD:/app -p 8080:8080 node node dev-server.js

Visit `localhost:8080` to view.

## Run a test

You need chrome and chromedriver installed. The Dockerfile builds an image that does that. Then run the test with that image.

`--network host` gives the container internet access. Necessary if tests make outside requests.

    docker run --rm -it -v $PWD:/usr/src/app --network host btroops node google_test

TODO add firefox and geckodriver

## Rough way to save the SVG map generated by JavaScript client-side

    const XMLS = new XMLSerializer();
    const svg_xmls = XMLS.serializeToString(svg);
    let bl = new Blob([svg_xmls], {type: "text/html" });
    let a = document.createElement("a");
    a.href = URL.createObjectURL(bl);
    a.download = "map.svg";
    a.hidden = true;
    document.body.appendChild(a);
    a.innerHTML = "something random - nobody will see this, it doesn't matter what you put here";
    a.click()