JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 33
  • Score
    100M100P100Q50293F
  • License MIT

WebAssembly version of MapServer with a dispatchRequest interface

Package Exports

  • mapserver-wasm
  • mapserver-wasm/dist/mapserver.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (mapserver-wasm) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

ThirdParty Dependencies

Name Version Home page License Status
MapServer 8.0.1 https://mapserver.org/ MIT 🚧
GDAL/OGR 3.8.5 https://gdal.org/ MIT/X style 🚧
PROJ 9.4.0 https://proj.org/ MIT/X style 🚧
GEOS 3.12.1 https://libgeos.org/ LGPL-2.1 🚧
SQLite 3.45.3 https://www.sqlite.org/ Public Domain 🚧
Libxml2 2.12.6 http://xmlsoft.org/ MIT 🚧

✅ up-to-date | 🚧 needs-update | Last update check 14.07.2024

Checkout

git clone --recurse-submodules git@github.com:codeart1st/mapserver-wasm.git
git clone git@github.com:codeart1st/mapserver-wasm.git
git submodule update --init --recursive

Update

git pull --recurse-submodules

Required Web APIs

WebAssembly 1.0 | WebAssembly Exception Handling

Compilation

Start the build container with the following command to ensure the filesystem permissions for newly created files are correct.

docker run -it --rm -v $(pwd):/src -v /etc/passwd:/etc/passwd --user "$(id -u):$(id -g)" --name mapserver-wasm emscripten/emsdk:3.1.63 bash

And execute in a second terminal the following command to install the missing build depedencies as root user.

docker exec --user root mapserver-wasm bash -c "apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y tcl automake pkgconf libtool brotli"

After that execute all job script commands described in .github/workflows/ci.yml inside the interactive build container. It can be helpful to set the GITHUB_WORKSPACE environment variable beforehand.

GITHUB_WORKSPACE=/src

Test

Tests will be executed with Jest framework. Test execution needs compilation of mapserver-wasm first.

npm ci && npm test

Logging

To avoid debugging in first place it can be helpful to activate file logging for MapServer and GDAL.

MAP
  DEBUG 5
  CONFIG "MS_ERRORFILE" "error.log"
  CONFIG "CPL_LOG" "error.log"
  CONFIG "CPL_DEBUG" "ON"
  CONFIG "CPL_LOG_ERRORS" "ON"
  CONFIG "CPL_TIMESTAMP" "ON"
END

Debugging

Debugging in DWARF format has initial support in Chrome.