@basemaps/lambda-tiler 6.45.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +93 -1
  3. package/build/index.d.ts.map +1 -1
  4. package/build/index.js +3 -11
  5. package/build/index.js.map +1 -1
  6. package/build/util/__test__/config.loader.test.js +11 -2
  7. package/build/util/__test__/config.loader.test.js.map +1 -1
  8. package/build/util/config.cache.d.ts +1 -1
  9. package/build/util/config.cache.d.ts.map +1 -1
  10. package/build/util/config.cache.js +5 -1
  11. package/build/util/config.cache.js.map +1 -1
  12. package/build/util/config.loader.d.ts.map +1 -1
  13. package/build/util/config.loader.js +8 -2
  14. package/build/util/config.loader.js.map +1 -1
  15. package/package.json +11 -11
  16. package/src/index.ts +3 -12
  17. package/src/util/__test__/config.loader.test.ts +15 -2
  18. package/src/util/config.cache.ts +5 -2
  19. package/src/util/config.loader.ts +8 -2
  20. package/tsconfig.tsbuildinfo +1 -1
  21. package/typedoc.json +4 -0
  22. package/build/arcgis/__tests__/arcgis.style.json.test.d.ts +0 -2
  23. package/build/arcgis/__tests__/arcgis.style.json.test.d.ts.map +0 -1
  24. package/build/arcgis/__tests__/arcgis.style.json.test.js +0 -131
  25. package/build/arcgis/__tests__/arcgis.style.json.test.js.map +0 -1
  26. package/build/arcgis/__tests__/vector.tiler.server.test.d.ts +0 -2
  27. package/build/arcgis/__tests__/vector.tiler.server.test.d.ts.map +0 -1
  28. package/build/arcgis/__tests__/vector.tiler.server.test.js +0 -54
  29. package/build/arcgis/__tests__/vector.tiler.server.test.js.map +0 -1
  30. package/build/arcgis/arcgis.info.d.ts +0 -3
  31. package/build/arcgis/arcgis.info.d.ts.map +0 -1
  32. package/build/arcgis/arcgis.info.js +0 -25
  33. package/build/arcgis/arcgis.info.js.map +0 -1
  34. package/build/arcgis/arcgis.style.json.d.ts +0 -9
  35. package/build/arcgis/arcgis.style.json.d.ts.map +0 -1
  36. package/build/arcgis/arcgis.style.json.js +0 -75
  37. package/build/arcgis/arcgis.style.json.js.map +0 -1
  38. package/build/arcgis/vector.tile.server.d.ts +0 -8
  39. package/build/arcgis/vector.tile.server.d.ts.map +0 -1
  40. package/build/arcgis/vector.tile.server.js +0 -73
  41. package/build/arcgis/vector.tile.server.js.map +0 -1
  42. package/src/arcgis/__tests__/arcgis.style.json.test.ts +0 -157
  43. package/src/arcgis/__tests__/vector.tiler.server.test.ts +0 -70
  44. package/src/arcgis/arcgis.info.ts +0 -26
  45. package/src/arcgis/arcgis.style.json.ts +0 -83
  46. package/src/arcgis/vector.tile.server.ts +0 -81
package/CHANGELOG.md CHANGED
@@ -3,6 +3,30 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [7.0.0](https://github.com/linz/basemaps/compare/v6.46.0...v7.0.0) (2023-11-27)
7
+
8
+
9
+ ### Features
10
+
11
+ * Add proof of concept docs site BM-917 ([#2990](https://github.com/linz/basemaps/issues/2990)) ([cabccc7](https://github.com/linz/basemaps/commit/cabccc730de0c0016e9d102dc8df6acbf1510e00))
12
+ * allow reads from linz "-scratch" buckets TDE-906 ([#2982](https://github.com/linz/basemaps/issues/2982)) ([615334f](https://github.com/linz/basemaps/commit/615334f0f26bcda4f7155e4b3b83bc39f39701af))
13
+ * **doc:** Improve the individual package documentations. BM-776 ([#2981](https://github.com/linz/basemaps/issues/2981)) ([5a4adcb](https://github.com/linz/basemaps/commit/5a4adcbbff15857a6f4c315d54280d542f785fec))
14
+
15
+
16
+
17
+
18
+
19
+ # [6.46.0](https://github.com/linz/basemaps/compare/v6.45.0...v6.46.0) (2023-10-10)
20
+
21
+
22
+ ### Bug Fixes
23
+
24
+ * **lambda-tiler:** Catch the error code while reading the config file in api. BM-898 ([#2969](https://github.com/linz/basemaps/issues/2969)) ([c2f3132](https://github.com/linz/basemaps/commit/c2f313221cdd20954b0002721d4605659a2b4e12))
25
+
26
+
27
+
28
+
29
+
6
30
  # [6.45.0](https://github.com/linz/basemaps/compare/v6.44.0...v6.45.0) (2023-09-18)
7
31
 
8
32
 
package/README.md CHANGED
@@ -1,3 +1,95 @@
1
1
  # @basemaps/lambda-tiler
2
2
 
3
- XYZ interface for map generation
3
+ Lambda server for xyz map generation to provide apis for serving both raster and vector map.
4
+
5
+ ## APIs
6
+
7
+ All available APIs are defined in the [index.ts](./src/index.ts)
8
+
9
+ `Host: https://basemaps.linz.govt.nz/`
10
+
11
+ ### Server APIs
12
+
13
+ Validate the server status, health, version which is using for the ci/cd.
14
+
15
+ - GET [/ping](./src/routes/ping.ts)
16
+ - GET [/v1/ping](./src/routes/ping.ts)
17
+ - GET [/version](./src/routes/version.ts)
18
+ - GET [/v1/version](./src/routes/version.ts)
19
+ - GET [/health](./src/routes/health.ts)
20
+ - GET [/v1/health](./src/routes/health.ts)
21
+
22
+ ### xyz tile generation API
23
+
24
+ Get a tile from the xyz and format for map generation, support both vector and raster tileSet.
25
+
26
+ - GET [/v1/tiles/:tileSet/:tileMatrix/:z/:x/:y.:tileType](./src/routes/tile.xyz.ts)
27
+
28
+ Example:
29
+
30
+ ```
31
+ /v1/tiles/topographic/WebMercatorQuad/2/1/1.pbf - Vector Tile
32
+ /v1/tiles/aerial/WebMercatorQuad/6/0/38.webp - Raster Tile
33
+ ```
34
+
35
+ ### Imagery Metadata API
36
+
37
+ Fetch the imagery metadata based on the imageryId
38
+
39
+ - GET [/v1/imagery/:imageryId/:fileName](./src/routes/imagery.ts)
40
+
41
+ Examples:
42
+
43
+ ```
44
+ /v1/imagery/:imageryId/source.geojson - Source boudning boxes
45
+ /v1/imagery/:imageryId/covering.geojson - Output tile bounding boxes
46
+ /v1/imagery/:imageryId/cutline.geojson - Cutline used ont he imagery set
47
+ /v1/imagery/:imageryId/collection.json - STAC Collection
48
+ /v1/imagery/:imageryId/15-32659-21603.json - STAC Item
49
+ ```
50
+
51
+ ### Config APIs
52
+
53
+ Fetch the imagery and tile set configurations
54
+
55
+ - GET [/v1/config/:tileSet.json](./src/routes/config.ts)
56
+ - GET [/v1/config/:tileSet/:imageryId.json](./src/routes/config.ts)
57
+
58
+ ### Sprite and Fonts APIs
59
+
60
+ To get the fonts and sprites for the vector map.
61
+
62
+ - GET [/v1/sprites/:spriteName](./src/routes/sprites.ts)
63
+ - GET [/v1/fonts.json](./src/routes/fonts.ts)
64
+ - GET [/v1/fonts/:fontStack/:range.pbf](./src/routes/fonts.ts)
65
+
66
+ ### StyleJSON and TileJSON APIs
67
+
68
+ Get the style json and tile json for the vector map.
69
+
70
+ - GET [/v1/styles/:styleName.json](./src/routes/tile.style.json.ts)
71
+ - GET [/v1/tiles/:tileSet/:tileMatrix/tile.json](./src/routes/tile.json.ts)
72
+
73
+ ### Preview APIs
74
+
75
+ Serve a preview of a imagery set
76
+
77
+ - GET [/v1/preview/:tileSet/:tileMatrix/:z/:lon/:lat](./src/routes/preview.ts)
78
+ - GET [/v1/@:location](./src/routes/preview.index.ts)
79
+ - GET [/@:location](./src/routes/preview.index.ts)
80
+
81
+ ### Attribution APIs
82
+
83
+ Get attribution json for the map attributions.
84
+
85
+ - GET [/v1/tiles/:tileSet/:tileMatrix/attribution.json](./src/routes/attribution.ts)
86
+ - GET [/v1/attribution/:tileSet/:tileMatrix/summary.json](./src/routes/attribution.ts)
87
+
88
+ ### WMTS Capabilities APIs
89
+
90
+ Get WMTS xml from the server to support QGIS and Arcgis
91
+
92
+ - GET [/v1/tiles/:tileSet/:tileMatrix/WMTSCapabilities.xml](./src/routes/tile.wmts.ts)
93
+ - GET [/v1/tiles/:tileSet/WMTSCapabilities.xml](./src/routes/tile.wmts.ts)
94
+ - GET [/v1/tiles/WMTSCapabilities.xml](./src/routes/tile.wmts.ts)
95
+
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,OAAO,uRAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,OAAO,uRAA2B,CAAC"}
package/build/index.js CHANGED
@@ -1,25 +1,22 @@
1
1
  import { LogConfig } from '@basemaps/shared';
2
2
  import { LambdaHttpResponse, lf } from '@linzjs/lambda';
3
- import { arcgisInfoGet } from './arcgis/arcgis.info.js';
4
- import { arcgisStyleJsonGet } from './arcgis/arcgis.style.json.js';
5
- import { arcgisTileServerGet } from './arcgis/vector.tile.server.js';
6
3
  import { tileAttributionGet } from './routes/attribution.js';
7
4
  import { configImageryGet, configTileSetGet } from './routes/config.js';
8
5
  import { fontGet, fontList } from './routes/fonts.js';
9
6
  import { healthGet } from './routes/health.js';
10
7
  import { imageryGet } from './routes/imagery.js';
11
8
  import { pingGet } from './routes/ping.js';
9
+ import { previewIndexGet } from './routes/preview.index.js';
10
+ import { tilePreviewGet } from './routes/preview.js';
12
11
  import { spriteGet } from './routes/sprites.js';
13
12
  import { tileJsonGet } from './routes/tile.json.js';
14
13
  import { styleJsonGet } from './routes/tile.style.json.js';
15
14
  import { wmtsCapabilitiesGet } from './routes/tile.wmts.js';
16
15
  import { tileXyzGet } from './routes/tile.xyz.js';
17
16
  import { versionGet } from './routes/version.js';
18
- import { NotFound, OkResponse } from './util/response.js';
17
+ import { NotFound } from './util/response.js';
19
18
  import { CoSources } from './util/source.cache.js';
20
19
  import { St } from './util/source.tracer.js';
21
- import { tilePreviewGet } from './routes/preview.js';
22
- import { previewIndexGet } from './routes/preview.index.js';
23
20
  export const handler = lf.http(LogConfig.get());
24
21
  /** If the request takes too long, respond with a 408 timeout when there is approx 1 second remaining */
25
22
  handler.router.timeoutEarlyMs = 1000;
@@ -90,9 +87,4 @@ handler.router.get('/v1/attribution/:tileSet/:tileMatrix/summary.json', tileAttr
90
87
  handler.router.get('/v1/tiles/:tileSet/:tileMatrix/WMTSCapabilities.xml', wmtsCapabilitiesGet);
91
88
  handler.router.get('/v1/tiles/:tileSet/WMTSCapabilities.xml', wmtsCapabilitiesGet);
92
89
  handler.router.get('/v1/tiles/WMTSCapabilities.xml', wmtsCapabilitiesGet);
93
- // Arcgis Vector
94
- handler.router.get('/v1/arcgis/rest/services/:tileSet/VectorTileServer', arcgisTileServerGet);
95
- handler.router.post('/v1/arcgis/rest/services/:tileSet/VectorTileServer', OkResponse);
96
- handler.router.get('/v1/arcgis/rest/services/:tileSet/VectorTileServer/root.json', arcgisStyleJsonGet);
97
- handler.router.get('/v1/arcgis/rest/info', arcgisInfoGet);
98
90
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -58,8 +58,8 @@ o.spec('ConfigLoader', () => {
58
58
  .then(() => null)
59
59
  .catch((e) => e);
60
60
  o(error instanceof LambdaHttpResponse).equals(true);
61
- o(error.status).equals(404);
62
- o(error.statusDescription).equals(`Config not found at ${location}`);
61
+ o(error.status).equals(400);
62
+ o(error.statusDescription).equals(`Invalid config location at ${location}`);
63
63
  });
64
64
  o('should get expected config file', async () => {
65
65
  const expectedConfig = new ConfigProviderMemory();
@@ -75,5 +75,14 @@ o.spec('ConfigLoader', () => {
75
75
  const provider = await ConfigLoader.load(mockUrlRequest('/v1/tiles/🦄 🌈/NZTM2000Quad/tile.json', `?config=${base58.encode(Buffer.from(location))}`, Api.header));
76
76
  o(await provider.Imagery.get('topographic')).deepEquals(await expectedConfig.Imagery.get('topographic'));
77
77
  });
78
+ const deletedLocation = 'memory://linz-basemaps/config-deleted.json';
79
+ o('should Error 400 if config file not exists', async () => {
80
+ const error = await ConfigLoader.load(mockUrlRequest('/v1/tiles/🦄 🌈/NZTM2000Quad/tile.json', `?config=${deletedLocation}`, Api.header))
81
+ .then(() => null)
82
+ .catch((e) => e);
83
+ o(error instanceof LambdaHttpResponse).equals(true);
84
+ o(error.status).equals(400);
85
+ o(error.statusDescription).equals(`Invalid config location at ${deletedLocation}`);
86
+ });
78
87
  });
79
88
  //# sourceMappingURL=config.loader.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.loader.test.js","sourceRoot":"","sources":["../../../src/util/__test__/config.loader.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.loader.test.js","sourceRoot":"","sources":["../../../src/util/__test__/config.loader.test.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { ConfigBundled, ConfigProviderMemory } from '@basemaps/config';
2
2
  import { SwappingLru } from './swapping.lru.js';
3
3
  declare class LruConfig {
4
4
  configProvider: Promise<ConfigProviderMemory | null>;
5
- constructor(config: Promise<ConfigBundled>);
5
+ constructor(config: Promise<ConfigBundled | null>);
6
6
  get size(): number;
7
7
  }
8
8
  export declare class ConfigCache {
@@ -1 +1 @@
1
- {"version":3,"file":"config.cache.d.ts","sourceRoot":"","sources":["../../src/util/config.cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,cAAM,SAAS;IACb,cAAc,EAAE,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;gBAEzC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC;IAa1C,IAAI,IAAI,IAAI,MAAM,CAGjB;CACF;AAED,qBAAa,WAAW;IACtB,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;gBAClB,OAAO,EAAE,MAAM;IAI3B,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;CAQ5D;AAED,iDAAiD;AACjD,eAAO,MAAM,YAAY,aAAsB,CAAC"}
1
+ {"version":3,"file":"config.cache.d.ts","sourceRoot":"","sources":["../../src/util/config.cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,cAAM,SAAS;IACb,cAAc,EAAE,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;gBAEzC,MAAM,EAAE,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAcjD,IAAI,IAAI,IAAI,MAAM,CAGjB;CACF;AAED,qBAAa,WAAW;IACtB,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;gBAClB,OAAO,EAAE,MAAM;IAI3B,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;CAU5D;AAED,iDAAiD;AACjD,eAAO,MAAM,YAAY,aAAsB,CAAC"}
@@ -5,6 +5,8 @@ class LruConfig {
5
5
  constructor(config) {
6
6
  this.configProvider = config
7
7
  .then((c) => {
8
+ if (c == null)
9
+ return null;
8
10
  const configProvider = ConfigProviderMemory.fromJson(c);
9
11
  configProvider.createVirtualTileSets();
10
12
  return configProvider;
@@ -29,7 +31,9 @@ export class ConfigCache {
29
31
  const existing = (_a = this.cache.get(location)) === null || _a === void 0 ? void 0 : _a.configProvider;
30
32
  if (existing != null)
31
33
  return existing;
32
- const configJson = fsa.readJson(location);
34
+ const configJson = fsa.readJson(location).catch(() => {
35
+ return null;
36
+ });
33
37
  const config = new LruConfig(configJson);
34
38
  this.cache.set(location, config);
35
39
  return config.configProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"config.cache.js","sourceRoot":"","sources":["../../src/util/config.cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,SAAS;IAGb,YAAY,MAA8B;QACxC,IAAI,CAAC,cAAc,GAAG,MAAM;aACzB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACV,MAAM,cAAc,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxD,cAAc,CAAC,qBAAqB,EAAE,CAAC;YACvC,OAAO,cAAc,CAAC;QACxB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC;YAChC,MAAM,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,IAAI;QACN,qFAAqF;QACrF,OAAO,CAAC,CAAC;IACX,CAAC;CACF;AAED,MAAM,OAAO,WAAW;IAEtB,YAAY,OAAe;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,CAAY,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,GAAG,CAAC,QAAgB;;QAClB,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,cAAc,CAAC;QAC1D,IAAI,QAAQ,IAAI,IAAI;YAAE,OAAO,QAAQ,CAAC;QACtC,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAgB,QAAQ,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC,cAAc,CAAC;IAC/B,CAAC;CACF;AAED,iDAAiD;AACjD,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"config.cache.js","sourceRoot":"","sources":["../../src/util/config.cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,SAAS;IAGb,YAAY,MAAqC;QAC/C,IAAI,CAAC,cAAc,GAAG,MAAM;aACzB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACV,IAAI,CAAC,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC3B,MAAM,cAAc,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxD,cAAc,CAAC,qBAAqB,EAAE,CAAC;YACvC,OAAO,cAAc,CAAC;QACxB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC;YAChC,MAAM,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,IAAI;QACN,qFAAqF;QACrF,OAAO,CAAC,CAAC;IACX,CAAC;CACF;AAED,MAAM,OAAO,WAAW;IAEtB,YAAY,OAAe;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,CAAY,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,GAAG,CAAC,QAAgB;;QAClB,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,cAAc,CAAC;QAC1D,IAAI,QAAQ,IAAI,IAAI;YAAE,OAAO,QAAQ,CAAC;QACtC,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAgB,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAClE,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC,cAAc,CAAC;IAC/B,CAAC;CACF;AAED,iDAAiD;AACjD,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.loader.d.ts","sourceRoot":"","sources":["../../src/util/config.loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,sBAAsB,EAAY,MAAM,kBAAkB,CAAC;AAG5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAQnD,qBAAa,YAAY;IACvB,0BAA0B;WACb,gBAAgB,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAShE,+EAA+E;IAC/E,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI;WAOxC,IAAI,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAwB3E"}
1
+ {"version":3,"file":"config.loader.d.ts","sourceRoot":"","sources":["../../src/util/config.loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,sBAAsB,EAAY,MAAM,kBAAkB,CAAC;AAG5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAcnD,qBAAa,YAAY;IACvB,0BAA0B;WACb,gBAAgB,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAShE,+EAA+E;IAC/E,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI;WAOxC,IAAI,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAwB3E"}
@@ -4,7 +4,13 @@ import { parseUri } from '@chunkd/core';
4
4
  import { CachedConfig } from './config.cache.js';
5
5
  import { getDefaultConfig } from '@basemaps/shared';
6
6
  // FIXME load this from process.env COG BUCKETS?
7
- const SafeBuckets = new Set(['linz-workflow-artifacts', 'linz-basemaps', 'linz-basemaps-staging']);
7
+ const SafeBuckets = new Set([
8
+ 'linz-workflows-scratch',
9
+ 'linz-workflow-artifacts',
10
+ 'linz-basemaps',
11
+ 'linz-basemaps-staging',
12
+ 'linz-basemaps-scratch',
13
+ ]);
8
14
  const SafeProtocols = new Set(['s3', 'memory']);
9
15
  export class ConfigLoader {
10
16
  /** Exposed for testing */
@@ -45,7 +51,7 @@ export class ConfigLoader {
45
51
  return CachedConfig.get(configLocation).then((f) => {
46
52
  req.timer.end('config:load');
47
53
  if (f == null)
48
- throw new LambdaHttpResponse(404, `Config not found at ${configLocation}`);
54
+ throw new LambdaHttpResponse(400, `Invalid config location at ${configLocation}`);
49
55
  return f;
50
56
  });
51
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.loader.js","sourceRoot":"","sources":["../../src/util/config.loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.loader.js","sourceRoot":"","sources":["../../src/util/config.loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA0B,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,gDAAgD;AAChD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,wBAAwB;IACxB,yBAAyB;IACzB,eAAe;IACf,uBAAuB;IACvB,uBAAuB;CACxB,CAAC,CAAC;AACH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEhD,MAAM,OAAO,YAAY;IACvB,0BAA0B;IAC1B,MAAM,CAAC,KAAK,CAAC,gBAAgB;QAC3B,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE;YACzB,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3E,IAAI,EAAE;gBAAE,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;SACnC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,+EAA+E;IAC/E,MAAM,CAAC,OAAO,CAAC,GAAsB;QACnC,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,WAAW,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACrC,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC9E,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAsB;QACtC,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,WAAW,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExD,MAAM,cAAc,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;QAEhH,MAAM,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;QAEnC,IAAI,CAAC,IAAI,IAAI;YAAE,MAAM,IAAI,kBAAkB,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;QAC5E,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE;YAClC,MAAM,IAAI,kBAAkB,CAAC,GAAG,EAAE,2CAA2C,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC5F;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;YAC9B,MAAM,IAAI,kBAAkB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,MAAM,oCAAoC,CAAC,CAAC;SAC7F;QAED,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAClC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC/B,OAAO,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACjD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC7B,IAAI,CAAC,IAAI,IAAI;gBAAE,MAAM,IAAI,kBAAkB,CAAC,GAAG,EAAE,8BAA8B,cAAc,EAAE,CAAC,CAAC;YACjG,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@basemaps/lambda-tiler",
3
- "version": "6.45.0",
3
+ "version": "7.0.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/linz/basemaps.git",
@@ -22,20 +22,20 @@
22
22
  "types": "./build/index.d.ts",
23
23
  "license": "MIT",
24
24
  "dependencies": {
25
- "@basemaps/config": "^6.45.0",
26
- "@basemaps/geo": "^6.44.0",
27
- "@basemaps/shared": "^6.45.0",
28
- "@basemaps/tiler": "^6.44.0",
29
- "@basemaps/tiler-sharp": "^6.45.0",
25
+ "@basemaps/config": "^7.0.0",
26
+ "@basemaps/geo": "^7.0.0",
27
+ "@basemaps/shared": "^7.0.0",
28
+ "@basemaps/tiler": "^7.0.0",
29
+ "@basemaps/tiler-sharp": "^7.0.0",
30
30
  "@chunkd/fs": "^10.0.2",
31
31
  "@cogeotiff/core": "^7.2.0",
32
32
  "@cotar/core": "^5.4.0",
33
- "@linzjs/geojson": "^6.43.0",
33
+ "@linzjs/geojson": "^7.0.0",
34
34
  "@linzjs/lambda": "^4.0.0",
35
35
  "p-limit": "^4.0.0",
36
36
  "path-to-regexp": "^6.1.0",
37
37
  "pixelmatch": "^5.1.0",
38
- "sharp": "^0.30.7"
38
+ "sharp": "^0.32.6"
39
39
  },
40
40
  "bundle": {
41
41
  "entry": "src/index.ts",
@@ -50,12 +50,12 @@
50
50
  "bundle": "./bundle.sh"
51
51
  },
52
52
  "devDependencies": {
53
- "@basemaps/attribution": "^6.44.0",
53
+ "@basemaps/attribution": "^7.0.0",
54
54
  "@chunkd/source-memory": "^10.0.0",
55
55
  "@types/aws-lambda": "^8.10.75",
56
56
  "@types/pixelmatch": "^5.0.0",
57
- "@types/sharp": "^0.30.3",
57
+ "@types/sharp": "^0.32.0",
58
58
  "pretty-json-log": "^1.0.0"
59
59
  },
60
- "gitHead": "a04e29efbf9169e9b6d63cd23b2f4e7b5390014c"
60
+ "gitHead": "82d9e6d431240133f4e4d783dd0b4138c2d1f66a"
61
61
  }
package/src/index.ts CHANGED
@@ -1,25 +1,22 @@
1
1
  import { LogConfig } from '@basemaps/shared';
2
2
  import { LambdaHttpResponse, lf } from '@linzjs/lambda';
3
- import { arcgisInfoGet } from './arcgis/arcgis.info.js';
4
- import { arcgisStyleJsonGet } from './arcgis/arcgis.style.json.js';
5
- import { arcgisTileServerGet } from './arcgis/vector.tile.server.js';
6
3
  import { tileAttributionGet } from './routes/attribution.js';
7
4
  import { configImageryGet, configTileSetGet } from './routes/config.js';
8
5
  import { fontGet, fontList } from './routes/fonts.js';
9
6
  import { healthGet } from './routes/health.js';
10
7
  import { imageryGet } from './routes/imagery.js';
11
8
  import { pingGet } from './routes/ping.js';
9
+ import { previewIndexGet } from './routes/preview.index.js';
10
+ import { tilePreviewGet } from './routes/preview.js';
12
11
  import { spriteGet } from './routes/sprites.js';
13
12
  import { tileJsonGet } from './routes/tile.json.js';
14
13
  import { styleJsonGet } from './routes/tile.style.json.js';
15
14
  import { wmtsCapabilitiesGet } from './routes/tile.wmts.js';
16
15
  import { tileXyzGet } from './routes/tile.xyz.js';
17
16
  import { versionGet } from './routes/version.js';
18
- import { NotFound, OkResponse } from './util/response.js';
17
+ import { NotFound } from './util/response.js';
19
18
  import { CoSources } from './util/source.cache.js';
20
19
  import { St } from './util/source.tracer.js';
21
- import { tilePreviewGet } from './routes/preview.js';
22
- import { previewIndexGet } from './routes/preview.index.js';
23
20
 
24
21
  export const handler = lf.http(LogConfig.get());
25
22
 
@@ -108,9 +105,3 @@ handler.router.get('/v1/attribution/:tileSet/:tileMatrix/summary.json', tileAttr
108
105
  handler.router.get('/v1/tiles/:tileSet/:tileMatrix/WMTSCapabilities.xml', wmtsCapabilitiesGet);
109
106
  handler.router.get('/v1/tiles/:tileSet/WMTSCapabilities.xml', wmtsCapabilitiesGet);
110
107
  handler.router.get('/v1/tiles/WMTSCapabilities.xml', wmtsCapabilitiesGet);
111
-
112
- // Arcgis Vector
113
- handler.router.get('/v1/arcgis/rest/services/:tileSet/VectorTileServer', arcgisTileServerGet);
114
- handler.router.post('/v1/arcgis/rest/services/:tileSet/VectorTileServer', OkResponse);
115
- handler.router.get('/v1/arcgis/rest/services/:tileSet/VectorTileServer/root.json', arcgisStyleJsonGet);
116
- handler.router.get('/v1/arcgis/rest/info', arcgisInfoGet);
@@ -82,8 +82,8 @@ o.spec('ConfigLoader', () => {
82
82
  .catch((e) => e);
83
83
 
84
84
  o(error instanceof LambdaHttpResponse).equals(true);
85
- o((error as LambdaHttpResponse).status).equals(404);
86
- o((error as LambdaHttpResponse).statusDescription).equals(`Config not found at ${location}`);
85
+ o((error as LambdaHttpResponse).status).equals(400);
86
+ o((error as LambdaHttpResponse).statusDescription).equals(`Invalid config location at ${location}`);
87
87
  });
88
88
 
89
89
  o('should get expected config file', async () => {
@@ -113,4 +113,17 @@ o.spec('ConfigLoader', () => {
113
113
 
114
114
  o(await provider.Imagery.get('topographic')).deepEquals(await expectedConfig.Imagery.get('topographic'));
115
115
  });
116
+
117
+ const deletedLocation = 'memory://linz-basemaps/config-deleted.json';
118
+ o('should Error 400 if config file not exists', async () => {
119
+ const error = await ConfigLoader.load(
120
+ mockUrlRequest('/v1/tiles/🦄 🌈/NZTM2000Quad/tile.json', `?config=${deletedLocation}`, Api.header),
121
+ )
122
+ .then(() => null)
123
+ .catch((e) => e);
124
+
125
+ o(error instanceof LambdaHttpResponse).equals(true);
126
+ o((error as LambdaHttpResponse).status).equals(400);
127
+ o((error as LambdaHttpResponse).statusDescription).equals(`Invalid config location at ${deletedLocation}`);
128
+ });
116
129
  });
@@ -5,9 +5,10 @@ import { SwappingLru } from './swapping.lru.js';
5
5
  class LruConfig {
6
6
  configProvider: Promise<ConfigProviderMemory | null>;
7
7
 
8
- constructor(config: Promise<ConfigBundled>) {
8
+ constructor(config: Promise<ConfigBundled | null>) {
9
9
  this.configProvider = config
10
10
  .then((c) => {
11
+ if (c == null) return null;
11
12
  const configProvider = ConfigProviderMemory.fromJson(c);
12
13
  configProvider.createVirtualTileSets();
13
14
  return configProvider;
@@ -33,7 +34,9 @@ export class ConfigCache {
33
34
  get(location: string): Promise<ConfigProviderMemory | null> {
34
35
  const existing = this.cache.get(location)?.configProvider;
35
36
  if (existing != null) return existing;
36
- const configJson = fsa.readJson<ConfigBundled>(location);
37
+ const configJson = fsa.readJson<ConfigBundled>(location).catch(() => {
38
+ return null;
39
+ });
37
40
  const config = new LruConfig(configJson);
38
41
  this.cache.set(location, config);
39
42
  return config.configProvider;
@@ -6,7 +6,13 @@ import { CachedConfig } from './config.cache.js';
6
6
  import { getDefaultConfig } from '@basemaps/shared';
7
7
 
8
8
  // FIXME load this from process.env COG BUCKETS?
9
- const SafeBuckets = new Set(['linz-workflow-artifacts', 'linz-basemaps', 'linz-basemaps-staging']);
9
+ const SafeBuckets = new Set([
10
+ 'linz-workflows-scratch',
11
+ 'linz-workflow-artifacts',
12
+ 'linz-basemaps',
13
+ 'linz-basemaps-staging',
14
+ 'linz-basemaps-scratch',
15
+ ]);
10
16
  const SafeProtocols = new Set(['s3', 'memory']);
11
17
 
12
18
  export class ConfigLoader {
@@ -48,7 +54,7 @@ export class ConfigLoader {
48
54
  req.timer.start('config:load');
49
55
  return CachedConfig.get(configLocation).then((f) => {
50
56
  req.timer.end('config:load');
51
- if (f == null) throw new LambdaHttpResponse(404, `Config not found at ${configLocation}`);
57
+ if (f == null) throw new LambdaHttpResponse(400, `Invalid config location at ${configLocation}`);
52
58
  return f;
53
59
  });
54
60
  }