Commit graph

44 commits

Author SHA1 Message Date
Andrew Calcutt
97be9db6b7
Upgrade Express to v5 +Canvas v3 + code cleanup (#1429)
* first attempt to upgrade express to v5

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* try to fix https://github.com/maptiler/tileserver-gl/issues/1411

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* cleanup server.js

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* cleanup serve_font.js

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* cleanup sever_rendered.js

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* cleanup server_data.js

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* cleanup serve_style

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* Update serve_style.js

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* Move UV_THREADPOOL_SIZE  to main thred

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* cleanup utils.js

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* Use common app.get for images and static images

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* add allowedTileSizes and option

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* cleanup error responses

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* fix /style/id.json with next('route')

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* improve sprite path

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* add parseFloadts around zxy

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* simplify server_data

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* move tile fetch and add fix verbose logging

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* add Handling request to verbose logging

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* first attempt to upgrade express to v5

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* try to fix https://github.com/maptiler/tileserver-gl/issues/1411

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* cleanup server.js

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* cleanup serve_font.js

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* cleanup sever_rendered.js

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* cleanup server_data.js

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* cleanup serve_style

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* Update serve_style.js

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* Move UV_THREADPOOL_SIZE  to main thred

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* cleanup utils.js

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* Use common app.get for images and static images

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* add allowedTileSizes and option

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* cleanup error responses

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* fix /style/id.json with next('route')

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* improve sprite path

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* add parseFloadts around zxy

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* simplify server_data

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* move tile fetch and add fix verbose logging

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* add Handling request to verbose logging

Co-Authored-By: Andrew Calcutt <acalcutt@techidiots.net>

* merge elevation changes

* lint format

* add verbose logging, improve headers

* try to fix codeql

Information exposure through a stack trace

* test

* all tests passing

* cleanup unneeded changes

* cleanup

* try to fix codeql error

* font fixes

* fix tile size issue

* try to improve scale + codeql

* codeql for sprite logging

* codeql serve fonts

* codeql fixes

* fix failing test with multiple fonts

* Update serve_font.js

* codeql

* codeql

* codeql

* Update utils.js

* codeql

* codeql

* codeql

* codeql

* codeql sanitize

* Update serve_font.js

* Update serve_font.js

* remove useless assignment

* move isGzipped

* add if-modified-since and cache-control

* use consistent cache control

* reformat

* codeql

* codeql

* codeql

* codeql

* codeql

* codeql

* codeql

* Update serve_font.js

* Update serve_font.js

* Update serve_font.js

* Update serve_style.js

* Update serve_style.js

* Update serve_style.js

* Revert "Update serve_style.js"

This reverts commit e0574b1887.

* Revert "Update serve_style.js"

This reverts commit b1e1d72f25.

* Revert "Update serve_style.js"

This reverts commit 0f3629c752.

* Add readFile function

* use readFile, add path.normalize

* Update serve_rendered.js

* simplify input checking

* Update utils.js

* codeql

* Revert "codeql"

This reverts commit e18874fda0.

* Revert "Update utils.js"

This reverts commit 5de617dfe2.

* Revert "simplify input checking"

This reverts commit 62a3212629.

* move allowed functions to utils.js

* use xy[0],xy[1],

* uprade canvas per https://github.com/maptiler/tileserver-gl/issues/1433

* make font regex less restrictive

* fix regex error

* Add version and changelog

* Update CHANGELOG.md

* Update CHANGELOG.md
2025-01-10 19:34:17 -05:00
Miko
44cf365d65
Allow handling of local GeoJSON files #1324 (#1326)
* handle local geojson files in styles and rendered tiles
- use 'file://' as indicator for local files
- add  directory as default directory
- serve local files at
- add documentation for static file serving
- add some minor fixes (icon directory, directory checking, decodeURIComponent, extend error message)

* Update .gitignore

---------

Co-authored-by: Miko <miko@home-laptop.fritz.box>
Co-authored-by: Andrew Calcutt <acalcutt@techidiots.net>
2024-08-31 22:56:36 -04:00
Aarni Koskela
1d4c1ff188
fix: avoid synchronous calls where possible (#1320)
Signed-off-by: Aarni Koskela <akx@iki.fi>
2024-07-31 08:51:56 -04:00
Andrew Calcutt
66445e8653
Add support for multi-sprites in styles (#1232)
* fix: allow sprite array in styles

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: add 'sprite/' to generated path

So it doesn't conflict with style json url

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: allow old sprite endpoints to work

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: lint

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* docs:  add multi-sprite name to endpoint

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: duplicate styleJSON.sprite

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: try to fix some codeql errors

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: try to fix some codeql errors

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: try to fix some codeql errors

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: try to fix some codeql errors

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: try to fix some codeql errors

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: lint

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: ci sprite issue

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: remove console.log's

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

* fix: use sprite id instead of name

Signed-off-by: acalcutt <acalcutt@techidiots.net>

* fix: add suggestions

Signed-off-by: acalcutt <acalcutt@techidiots.net>

* fix: remove unneeded array check

Signed-off-by: acalcutt <acalcutt@techidiots.net>

* fix: lint

Signed-off-by: acalcutt <acalcutt@techidiots.net>

* fix: don't force multi-sprites in style

Signed-off-by: acalcutt <acalcutt@techidiots.net>

* fix: move fixUrl and allowedOptions to utils

Signed-off-by: acalcutt <acalcutt@techidiots.net>

* fix: add test for default sprite

Signed-off-by: acalcutt <acalcutt@techidiots.net>

* fix: lint

Signed-off-by: acalcutt <acalcutt@techidiots.net>

---------

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
Signed-off-by: acalcutt <acalcutt@techidiots.net>
2024-04-23 14:51:37 -04:00
dependabot[bot]
3533918715
fix(deps): bump @maplibre/maplibre-gl-style-spec from 18.0.0 to 20.1.0 (#1125)
* fix(deps): bump @maplibre/maplibre-gl-style-spec from 18.0.0 to 20.1.0

Bumps [@maplibre/maplibre-gl-style-spec](https://github.com/maplibre/maplibre-gl-style-spec) from 18.0.0 to 20.1.0.
- [Release notes](https://github.com/maplibre/maplibre-gl-style-spec/releases)
- [Changelog](https://github.com/maplibre/maplibre-style-spec/blob/main/CHANGELOG.md)
- [Commits](https://github.com/maplibre/maplibre-gl-style-spec/compare/v18.0.0...v20.1.0)

---
updated-dependencies:
- dependency-name: "@maplibre/maplibre-gl-style-spec"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: refactor to use validateStyleMin

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Calcutt <acalcutt@techidiots.net>
2024-01-21 17:32:59 -05:00
Martin d'Allens
9a4ef3dedf chore: remove unused opt_nokey arg
Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
2023-11-23 17:08:32 +01:00
Martin d'Allens
d7af5235bf
fix: clean error message, remove outdated data wmts (#1067)
Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
2023-11-21 16:23:53 -05:00
Alek Kowalczyk
4568027046
Fixed Issue #1025 - URL-based glyphs and fonts break displaying of vector tiles (#1026)
Root cause: modified regex in #1002 caused URLs to be broken.
Fixed by reverting previous regexes.

Tests:
 * Confirmed by building and running locally with formerly breaking config.json and style json.
 * Run tests via Dockerfile_test
2023-10-20 14:02:45 -04:00
Andrew Calcutt
a6dadfda28
Add pmtiles support (#1009)
Adds pmtiles support to TileServer-GL

Signed-off-by: Andrew Calcutt <acalcutt@techidiots.net>
Signed-off-by: Michael Nutt <michael@nuttnet.net>
Co-authored-by: Michael Nutt <michael@nuttnet.net>
2023-10-15 03:03:15 -04:00
Martin d'Allens
e8f64e2861
chore: cleanup useless decodeURIComponent() calls (#1002)
* chore: cleanup useless decodeURIComponent() calls

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>

* chore: try to fix CodeQL failure "Polynomial regular expression"

Fix 1:
\d\.?\d* can backtrack catastrophically
\d(\.\d*)? is safer

Fix 2:
Useless parenthesis around "enc:"

Fix 3:
The httpTester regex was misleading. It did not really check for "http".
Simplified to show its true meaning. The behaviour should not have changed.

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>

* chore: try to optimize the regex further, to fix CodeQL failure

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>

* chore: consistency between previous changes, docs, and serve_style.js

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>

---------

Signed-off-by: Martin d'Allens <martin.dallens@liberty-rider.com>
2023-10-13 19:08:28 -04:00
Vinayak Kulkarni
9b64093c42
style: fix lint issues in code 🕺 (#626)
* style: fix lint issues in code 🕺

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* style: lint fix all files

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* chore: add `keywords` for better reach

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* feat: add `husky` & `commitlint`

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* chore: ignore `public` directory

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* revert: do not lint `public` directory

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* style: fix issues with lint

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* feat: add eslint config

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* feat: add lint-staged

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* style: lint fix all file(s)

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* fix: ignore rules for light version

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* fix: remove unnecessary space

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* chore(deps): update lockfile

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

* style: autofix linting issue(s)

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>

Signed-off-by: Vinayak Kulkarni <19776877+vinayakkulkarni@users.noreply.github.com>
2022-11-08 22:56:07 -05:00
Andrew Calcutt
b2bd5eaa96
Convert to esm module syntax (#606)
* switch to esm module

* Update package.json

* change to maplibre package

* fix tests

* eslint

* remove extra package updates

* Delete package-lock.json

* change 'fs' to 'node:fs'

* put back node 10.

without the package updates this still works

* remove trailing commas

* remove unassociated fix / formatting

* remove unassociated fix

* remove eslint from this PR

* remove unassociated fix

* lint

* Merge remote-tracking branch 'upstream/master' into esm_update

* fix mlgl

* update maplibre-native to new version with arm64

* update minor version
2022-09-28 14:41:55 -04:00
acalcutt
72fdf84292 Change to use maplibre-native and maplibre-gl-style-spec 2022-09-14 17:33:02 -04:00
David Weber | geOps
e249a3f67d add api key to sprite ressources in style json
this make some setups easier becouse sprites can be handeld
like any other ressources
2020-10-22 19:09:42 +02:00
Daniel Korp
10431d70d0
Fix reflected XSS in 'key' parameter. Fixes #461 2020-07-02 09:30:33 +02:00
Petr Sloup
298d09845d Add style validation and skip invalid styles 2020-01-07 17:00:08 +01:00
Petr Sloup
d7a34f3a74 Add "serveAllStyles" option + watch the directory 2020-01-07 15:59:38 +01:00
Petr Sloup
cb700181d3 Refactor style/rendered/data serving to allow for dynamic adding/removing of items 2020-01-07 14:32:30 +01:00
Petr Sloup
515c295898 Remove obsolete old code 2019-12-30 17:00:23 +01:00
Yuri Astrakhan
7f8be27844 Update code to ES6
* var  ->  let / const
* [].forEach  ->  for (... of ...)
* '...' + var  ->  template strings  `...${var}`
* function  ->  arrow functions `=>`
* use === and !==  instead of == and !=
2019-12-21 14:09:20 -05:00
Alban Mouton
875521c5a8 add public_url option 2017-10-18 13:51:37 +02:00
Petr Sloup
698c527e94 Change endpoint URLs (close #154)
- styles at /style/{id}/style.json
- rendered tiles at /style/{id}/{z}/{x}/{y}.{format}
- TileJSONs at /style/{id}.json
2017-06-22 16:37:32 +02:00
Petr Sloup
bdc3d20524 Use promises instead of async in font concatenation (remove async dependency) 2017-05-10 10:22:39 +02:00
Petr Sloup
d30027e992 Modify all serve_* modules to return a Promise (preparation for #140) 2017-05-10 08:56:43 +02:00
Petr Sloup
8ea665297f Minor fix in style path handling (allow absolute paths) 2017-04-07 18:53:11 +02:00
Petr Sloup
7b952ee5c0 Do not add style parameter when not needed (close #134) 2017-03-15 11:39:21 +01:00
Petr Sloup
bfadeb799b Experimental option to remap data links from inside of the styles 2017-02-01 14:25:21 +01:00
Petr Sloup
5c1d396ed2 Fix incorrect parenthesis (#108) 2017-01-24 11:18:56 +01:00
Petr Sloup
4992bc4194 Fix url instrumentation when serving style to be more robust (close #108) 2017-01-23 12:58:47 +01:00
Petr Sloup
d05606de4d Improved font serving 2017-01-10 16:17:51 +01:00
Petr Sloup
945e568b2b Merge pull request #93 from ArsenyN/bugfix-RemoteVectorSource
Fix: Right code for working with external vector tiles.
2016-12-20 13:21:44 +01:00
Arseny Novikov
37db733e02 Fix for this comment: https://github.com/klokantech/tileserver-gl/issues/91#issuecomment-267939138
With this commit code will have right behaviour with external vector tiles.
2016-12-19 14:13:03 +03:00
Petr Sloup
509d32da68 Improved font serving 2016-12-09 13:19:34 +01:00
Petr Sloup
bbc14abb4a Fix sprite and glyph loading from remote URLs 2016-12-08 18:22:11 +01:00
Petr Sloup
1aaabd2dff Experimental integration of first plugin 2016-12-06 20:11:18 +01:00
Petr Sloup
e9cad399c9 New "mbtiles://{name}" reference syntax (#27) 2016-08-21 10:08:17 +02:00
Petr Sloup
3cf8ce9903 Add mbtiles_data: "metaprotocol" 2016-08-20 10:28:45 +02:00
Petr Sloup
1d4503b507 If key present in query, propagate it to other linked urls 2016-06-29 14:57:11 +02:00
Petr Sloup
a25ce62662 New urls for source data tiles and rendered tiles 2016-04-22 12:33:20 +02:00
Petr Sloup
c0fb4fd400 Support for raster mbtiles (issue #13) 2016-04-21 18:23:13 +02:00
Petr Sloup
8a46bd8b88 Major cleaning of paths and urls 2016-03-11 10:50:33 +01:00
Petr Sloup
d742672238 Serve fonts 2016-03-11 09:48:35 +01:00
Petr Sloup
b98b7244f6 Correctly serve sprites 2016-03-11 09:16:28 +01:00
Petr Sloup
4c40700bac Major refactoring of the urls (#5) 2016-03-10 18:26:26 +01:00