@basemaps/lambda-tiler 7.0.0 → 7.1.1

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 (242) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/build/__tests__/config.data.d.ts +0 -1
  3. package/build/__tests__/config.data.js +2 -6
  4. package/build/__tests__/config.data.js.map +1 -1
  5. package/build/__tests__/index.test.d.ts +0 -1
  6. package/build/__tests__/index.test.js +28 -27
  7. package/build/__tests__/index.test.js.map +1 -1
  8. package/build/__tests__/tile.style.json.test.d.ts +0 -1
  9. package/build/__tests__/tile.style.json.test.js +38 -37
  10. package/build/__tests__/tile.style.json.test.js.map +1 -1
  11. package/build/__tests__/wmts.capability.test.d.ts +0 -1
  12. package/build/__tests__/wmts.capability.test.js +111 -122
  13. package/build/__tests__/wmts.capability.test.js.map +1 -1
  14. package/build/__tests__/xyz.util.d.ts +0 -1
  15. package/build/cli/render.preview.d.ts +0 -1
  16. package/build/cli/render.preview.js +13 -9
  17. package/build/cli/render.preview.js.map +1 -1
  18. package/build/cli/render.tile.d.ts +0 -1
  19. package/build/cli/render.tile.js +25 -17
  20. package/build/cli/render.tile.js.map +1 -1
  21. package/build/index.d.ts +0 -1
  22. package/build/index.js +24 -20
  23. package/build/index.js.map +1 -1
  24. package/build/routes/__tests__/attribution.test.d.ts +0 -1
  25. package/build/routes/__tests__/attribution.test.js +38 -37
  26. package/build/routes/__tests__/attribution.test.js.map +1 -1
  27. package/build/routes/__tests__/fonts.test.d.ts +0 -1
  28. package/build/routes/__tests__/fonts.test.js +61 -63
  29. package/build/routes/__tests__/fonts.test.js.map +1 -1
  30. package/build/routes/__tests__/health.test.d.ts +0 -1
  31. package/build/routes/__tests__/health.test.js +16 -16
  32. package/build/routes/__tests__/health.test.js.map +1 -1
  33. package/build/routes/__tests__/imagery.test.d.ts +0 -1
  34. package/build/routes/__tests__/imagery.test.js +10 -9
  35. package/build/routes/__tests__/imagery.test.js.map +1 -1
  36. package/build/routes/__tests__/memory.fs.d.ts +2 -3
  37. package/build/routes/__tests__/preview.index.test.d.ts +0 -1
  38. package/build/routes/__tests__/preview.index.test.js +88 -42
  39. package/build/routes/__tests__/preview.index.test.js.map +1 -1
  40. package/build/routes/__tests__/sprites.test.d.ts +0 -1
  41. package/build/routes/__tests__/sprites.test.js +34 -34
  42. package/build/routes/__tests__/sprites.test.js.map +1 -1
  43. package/build/routes/__tests__/tile.json.test.d.ts +0 -1
  44. package/build/routes/__tests__/tile.json.test.js +45 -51
  45. package/build/routes/__tests__/tile.json.test.js.map +1 -1
  46. package/build/routes/__tests__/tile.style.json.test.d.ts +0 -1
  47. package/build/routes/__tests__/tile.style.json.test.js +49 -50
  48. package/build/routes/__tests__/tile.style.json.test.js.map +1 -1
  49. package/build/routes/__tests__/wmts.test.d.ts +0 -1
  50. package/build/routes/__tests__/wmts.test.js +27 -20
  51. package/build/routes/__tests__/wmts.test.js.map +1 -1
  52. package/build/routes/__tests__/xyz.test.d.ts +0 -1
  53. package/build/routes/__tests__/xyz.test.js +97 -49
  54. package/build/routes/__tests__/xyz.test.js.map +1 -1
  55. package/build/routes/attribution.d.ts +1 -1
  56. package/build/routes/attribution.js +4 -5
  57. package/build/routes/attribution.js.map +1 -1
  58. package/build/routes/config.d.ts +0 -1
  59. package/build/routes/config.js +1 -2
  60. package/build/routes/config.js.map +1 -1
  61. package/build/routes/fonts.d.ts +0 -1
  62. package/build/routes/fonts.js +2 -3
  63. package/build/routes/fonts.js.map +1 -1
  64. package/build/routes/health.d.ts +1 -2
  65. package/build/routes/health.js +5 -15
  66. package/build/routes/health.js.map +1 -1
  67. package/build/routes/imagery.d.ts +0 -1
  68. package/build/routes/imagery.js +1 -1
  69. package/build/routes/imagery.js.map +1 -1
  70. package/build/routes/ping.d.ts +0 -1
  71. package/build/routes/ping.js +1 -1
  72. package/build/routes/ping.js.map +1 -1
  73. package/build/routes/preview.d.ts +6 -5
  74. package/build/routes/preview.index.d.ts +0 -1
  75. package/build/routes/preview.index.js +6 -5
  76. package/build/routes/preview.index.js.map +1 -1
  77. package/build/routes/preview.js +35 -10
  78. package/build/routes/preview.js.map +1 -1
  79. package/build/routes/sprites.d.ts +0 -1
  80. package/build/routes/sprites.js +2 -4
  81. package/build/routes/sprites.js.map +1 -1
  82. package/build/routes/tile.json.d.ts +0 -1
  83. package/build/routes/tile.json.js +10 -5
  84. package/build/routes/tile.json.js.map +1 -1
  85. package/build/routes/tile.style.json.d.ts +1 -1
  86. package/build/routes/tile.style.json.js +79 -16
  87. package/build/routes/tile.style.json.js.map +1 -1
  88. package/build/routes/tile.wmts.d.ts +0 -1
  89. package/build/routes/tile.wmts.js +8 -9
  90. package/build/routes/tile.wmts.js.map +1 -1
  91. package/build/routes/tile.xyz.d.ts +0 -1
  92. package/build/routes/tile.xyz.js.map +1 -1
  93. package/build/routes/tile.xyz.raster.d.ts +7 -8
  94. package/build/routes/tile.xyz.raster.js +22 -15
  95. package/build/routes/tile.xyz.raster.js.map +1 -1
  96. package/build/routes/tile.xyz.vector.d.ts +0 -1
  97. package/build/routes/tile.xyz.vector.js +4 -3
  98. package/build/routes/tile.xyz.vector.js.map +1 -1
  99. package/build/routes/version.d.ts +0 -1
  100. package/build/routes/version.js +3 -4
  101. package/build/routes/version.js.map +1 -1
  102. package/build/util/__test__/config.loader.test.d.ts +0 -1
  103. package/build/util/__test__/config.loader.test.js +35 -34
  104. package/build/util/__test__/config.loader.test.js.map +1 -1
  105. package/build/util/__test__/filter.test.d.ts +0 -1
  106. package/build/util/__test__/filter.test.js +17 -16
  107. package/build/util/__test__/filter.test.js.map +1 -1
  108. package/build/util/__test__/validate.test.d.ts +0 -1
  109. package/build/util/__test__/validate.test.js +26 -43
  110. package/build/util/__test__/validate.test.js.map +1 -1
  111. package/build/util/assets.provider.d.ts +5 -5
  112. package/build/util/assets.provider.js +8 -8
  113. package/build/util/assets.provider.js.map +1 -1
  114. package/build/util/config.cache.d.ts +2 -2
  115. package/build/util/config.cache.js +14 -3
  116. package/build/util/config.cache.js.map +1 -1
  117. package/build/util/config.loader.d.ts +0 -1
  118. package/build/util/config.loader.js +11 -12
  119. package/build/util/config.loader.js.map +1 -1
  120. package/build/util/cotar.serve.d.ts +3 -3
  121. package/build/util/cotar.serve.js +2 -2
  122. package/build/util/cotar.serve.js.map +1 -1
  123. package/build/util/etag.d.ts +0 -1
  124. package/build/util/etag.js.map +1 -1
  125. package/build/util/filter.d.ts +0 -1
  126. package/build/util/filter.js +4 -5
  127. package/build/util/filter.js.map +1 -1
  128. package/build/util/response.d.ts +0 -1
  129. package/build/util/source.cache.d.ts +8 -9
  130. package/build/util/source.cache.js +27 -24
  131. package/build/util/source.cache.js.map +1 -1
  132. package/build/util/swapping.lru.d.ts +0 -1
  133. package/build/util/swapping.lru.js +48 -7
  134. package/build/util/swapping.lru.js.map +1 -1
  135. package/build/util/validate.d.ts +17 -5
  136. package/build/util/validate.js +51 -15
  137. package/build/util/validate.js.map +1 -1
  138. package/build/wmts.capability.d.ts +1 -2
  139. package/build/wmts.capability.js +81 -12
  140. package/build/wmts.capability.js.map +1 -1
  141. package/bundle.sh +2 -2
  142. package/package.json +16 -18
  143. package/scripts/create.deployment.package.mjs +4 -11
  144. package/src/__tests__/config.data.ts +2 -6
  145. package/src/__tests__/index.test.ts +29 -27
  146. package/src/__tests__/tile.style.json.test.ts +40 -37
  147. package/src/__tests__/wmts.capability.test.ts +139 -120
  148. package/src/cli/render.preview.ts +14 -9
  149. package/src/cli/render.tile.ts +27 -18
  150. package/src/index.ts +28 -23
  151. package/src/routes/__tests__/attribution.test.ts +40 -37
  152. package/src/routes/__tests__/fonts.test.ts +68 -64
  153. package/src/routes/__tests__/health.test.ts +18 -17
  154. package/src/routes/__tests__/imagery.test.ts +11 -9
  155. package/src/routes/__tests__/preview.index.test.ts +114 -40
  156. package/src/routes/__tests__/sprites.test.ts +39 -34
  157. package/src/routes/__tests__/tile.json.test.ts +41 -39
  158. package/src/routes/__tests__/tile.style.json.test.ts +49 -46
  159. package/src/routes/__tests__/wmts.test.ts +28 -20
  160. package/src/routes/__tests__/xyz.test.ts +134 -55
  161. package/src/routes/attribution.ts +2 -2
  162. package/src/routes/config.ts +1 -0
  163. package/src/routes/fonts.ts +3 -3
  164. package/src/routes/health.ts +7 -13
  165. package/src/routes/imagery.ts +2 -1
  166. package/src/routes/ping.ts +1 -1
  167. package/src/routes/preview.index.ts +9 -5
  168. package/src/routes/preview.ts +44 -15
  169. package/src/routes/sprites.ts +4 -5
  170. package/src/routes/tile.json.ts +9 -2
  171. package/src/routes/tile.style.json.ts +89 -13
  172. package/src/routes/tile.wmts.ts +4 -3
  173. package/src/routes/tile.xyz.raster.ts +30 -23
  174. package/src/routes/tile.xyz.ts +1 -0
  175. package/src/routes/tile.xyz.vector.ts +5 -3
  176. package/src/routes/version.ts +3 -3
  177. package/src/util/__test__/config.loader.test.ts +38 -34
  178. package/src/util/__test__/filter.test.ts +19 -16
  179. package/src/util/__test__/validate.test.ts +28 -43
  180. package/src/util/assets.provider.ts +10 -9
  181. package/src/util/config.cache.ts +4 -3
  182. package/src/util/config.loader.ts +13 -13
  183. package/src/util/cotar.serve.ts +3 -2
  184. package/src/util/source.cache.ts +15 -26
  185. package/src/util/validate.ts +61 -14
  186. package/src/wmts.capability.ts +3 -3
  187. package/tsconfig.json +1 -0
  188. package/tsconfig.tsbuildinfo +1 -1
  189. package/build/__tests__/config.data.d.ts.map +0 -1
  190. package/build/__tests__/index.test.d.ts.map +0 -1
  191. package/build/__tests__/tile.style.json.test.d.ts.map +0 -1
  192. package/build/__tests__/wmts.capability.test.d.ts.map +0 -1
  193. package/build/__tests__/xyz.util.d.ts.map +0 -1
  194. package/build/cli/render.preview.d.ts.map +0 -1
  195. package/build/cli/render.tile.d.ts.map +0 -1
  196. package/build/index.d.ts.map +0 -1
  197. package/build/routes/__tests__/attribution.test.d.ts.map +0 -1
  198. package/build/routes/__tests__/fonts.test.d.ts.map +0 -1
  199. package/build/routes/__tests__/health.test.d.ts.map +0 -1
  200. package/build/routes/__tests__/imagery.test.d.ts.map +0 -1
  201. package/build/routes/__tests__/memory.fs.d.ts.map +0 -1
  202. package/build/routes/__tests__/preview.index.test.d.ts.map +0 -1
  203. package/build/routes/__tests__/sprites.test.d.ts.map +0 -1
  204. package/build/routes/__tests__/tile.json.test.d.ts.map +0 -1
  205. package/build/routes/__tests__/tile.style.json.test.d.ts.map +0 -1
  206. package/build/routes/__tests__/wmts.test.d.ts.map +0 -1
  207. package/build/routes/__tests__/xyz.test.d.ts.map +0 -1
  208. package/build/routes/attribution.d.ts.map +0 -1
  209. package/build/routes/config.d.ts.map +0 -1
  210. package/build/routes/fonts.d.ts.map +0 -1
  211. package/build/routes/health.d.ts.map +0 -1
  212. package/build/routes/imagery.d.ts.map +0 -1
  213. package/build/routes/ping.d.ts.map +0 -1
  214. package/build/routes/preview.d.ts.map +0 -1
  215. package/build/routes/preview.index.d.ts.map +0 -1
  216. package/build/routes/sprites.d.ts.map +0 -1
  217. package/build/routes/tile.json.d.ts.map +0 -1
  218. package/build/routes/tile.style.json.d.ts.map +0 -1
  219. package/build/routes/tile.wmts.d.ts.map +0 -1
  220. package/build/routes/tile.xyz.d.ts.map +0 -1
  221. package/build/routes/tile.xyz.raster.d.ts.map +0 -1
  222. package/build/routes/tile.xyz.vector.d.ts.map +0 -1
  223. package/build/routes/version.d.ts.map +0 -1
  224. package/build/util/__test__/config.loader.test.d.ts.map +0 -1
  225. package/build/util/__test__/filter.test.d.ts.map +0 -1
  226. package/build/util/__test__/validate.test.d.ts.map +0 -1
  227. package/build/util/assets.provider.d.ts.map +0 -1
  228. package/build/util/config.cache.d.ts.map +0 -1
  229. package/build/util/config.loader.d.ts.map +0 -1
  230. package/build/util/cotar.serve.d.ts.map +0 -1
  231. package/build/util/etag.d.ts.map +0 -1
  232. package/build/util/filter.d.ts.map +0 -1
  233. package/build/util/response.d.ts.map +0 -1
  234. package/build/util/source.cache.d.ts.map +0 -1
  235. package/build/util/source.tracer.d.ts +0 -18
  236. package/build/util/source.tracer.d.ts.map +0 -1
  237. package/build/util/source.tracer.js +0 -26
  238. package/build/util/source.tracer.js.map +0 -1
  239. package/build/util/swapping.lru.d.ts.map +0 -1
  240. package/build/util/validate.d.ts.map +0 -1
  241. package/build/wmts.capability.d.ts.map +0 -1
  242. package/src/util/source.tracer.ts +0 -38
@@ -1,10 +1,11 @@
1
+ import assert from 'node:assert';
2
+ import { afterEach, before, beforeEach, describe, it } from 'node:test';
1
3
  import { ConfigProviderMemory } from '@basemaps/config';
2
4
  import { LogConfig } from '@basemaps/shared';
3
5
  import { LambdaAlbRequest, LambdaHttpResponse } from '@linzjs/lambda';
4
- import o from 'ospec';
5
6
  import sinon from 'sinon';
6
- import { ConfigLoader } from '../../util/config.loader.js';
7
7
  import { FakeData } from '../../__tests__/config.data.js';
8
+ import { ConfigLoader } from '../../util/config.loader.js';
8
9
  import { getTestBuffer, healthGet, TestTiles } from '../health.js';
9
10
  import { TileXyzRaster } from '../tile.xyz.raster.js';
10
11
  const ctx = new LambdaAlbRequest({
@@ -14,40 +15,39 @@ const ctx = new LambdaAlbRequest({
14
15
  body: null,
15
16
  isBase64Encoded: false,
16
17
  }, {}, LogConfig.get());
17
- o.spec('/v1/health', async () => {
18
- o.specTimeout(1000);
18
+ describe('/v1/health', async () => {
19
19
  const sandbox = sinon.createSandbox();
20
20
  const config = new ConfigProviderMemory();
21
21
  const fakeTileSet = FakeData.tileSetRaster('health');
22
- o.beforeEach(() => {
22
+ beforeEach(() => {
23
23
  config.objects.clear();
24
24
  sandbox.stub(ConfigLoader, 'getDefaultConfig').resolves(config);
25
25
  config.put(fakeTileSet);
26
26
  });
27
- o.afterEach(() => {
27
+ afterEach(() => {
28
28
  config.objects.clear();
29
29
  sandbox.restore();
30
30
  });
31
- o('Should return bad response', async () => {
31
+ it('Should return bad response', async () => {
32
32
  // Given ... a bad get tile response
33
33
  const BadResponse = new LambdaHttpResponse(500, 'Can not get Tile Set.');
34
34
  sandbox.stub(TileXyzRaster, 'tile').resolves(BadResponse);
35
35
  // When ...
36
36
  const res = await healthGet(ctx);
37
37
  // Then ...
38
- o(res.status).equals(500);
39
- o(res.statusDescription).equals('Can not get Tile Set.');
38
+ assert.equal(res.status, 500);
39
+ assert.equal(res.statusDescription, 'Can not get Tile Set.');
40
40
  });
41
41
  const Response1 = new LambdaHttpResponse(200, 'ok');
42
42
  const Response2 = new LambdaHttpResponse(200, 'ok');
43
- o.before(async () => {
43
+ before(async () => {
44
44
  const testTileFile1 = await getTestBuffer(TestTiles[0]);
45
45
  Response1.buffer(testTileFile1);
46
46
  const testTileFile2 = await getTestBuffer(TestTiles[1]);
47
47
  Response2.buffer(testTileFile2);
48
48
  });
49
49
  // Prepare mock test tile response based on the static test tiles
50
- o('Should give a 200 response', async () => {
50
+ it('Should give a 200 response', async () => {
51
51
  // Given ... a series good get tile response
52
52
  const callback = sandbox.stub(TileXyzRaster, 'tile');
53
53
  callback.onCall(0).resolves(Response1);
@@ -55,10 +55,10 @@ o.spec('/v1/health', async () => {
55
55
  // When ...
56
56
  const res = await healthGet(ctx);
57
57
  // Then ...
58
- o(res.status).equals(200);
59
- o(res.statusDescription).equals('ok');
58
+ assert.equal(res.status, 200);
59
+ assert.equal(res.statusDescription, 'ok');
60
60
  });
61
- o('Should return mis-match tile response', async () => {
61
+ it('Should return mis-match tile response', async () => {
62
62
  // Given ... a bad get tile response for second get tile
63
63
  const callback = sandbox.stub(TileXyzRaster, 'tile');
64
64
  callback.onCall(0).resolves(Response1);
@@ -66,8 +66,8 @@ o.spec('/v1/health', async () => {
66
66
  // When ...
67
67
  const res = await healthGet(ctx);
68
68
  // Then ...
69
- o(res.status).equals(500);
70
- o(res.statusDescription).equals('TileSet does not match.');
69
+ assert.equal(res.status, 500);
70
+ assert.equal(res.statusDescription, 'TileSet does not match.');
71
71
  });
72
72
  });
73
73
  //# sourceMappingURL=health.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"health.test.js","sourceRoot":"","sources":["../../../src/routes/__tests__/health.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"health.test.js","sourceRoot":"","sources":["../../../src/routes/__tests__/health.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=imagery.test.d.ts.map
@@ -1,13 +1,14 @@
1
- import o from 'ospec';
1
+ import assert from 'node:assert';
2
+ import { describe, it } from 'node:test';
2
3
  import { isAllowedFile } from '../imagery.js';
3
- o.spec('ImageryRoute', () => {
4
- o('should allow geojson and json files only', () => {
5
- o(isAllowedFile('foo.geojson')).equals(true);
6
- o(isAllowedFile('foo.json')).equals(true);
7
- o(isAllowedFile('foo.tiff')).equals(false);
8
- o(isAllowedFile('foo')).equals(false);
9
- o(isAllowedFile('')).equals(false);
10
- o(isAllowedFile(null)).equals(false);
4
+ describe('ImageryRoute', () => {
5
+ it('should allow geojson and json files only', () => {
6
+ assert.equal(isAllowedFile('foo.geojson'), true);
7
+ assert.equal(isAllowedFile('foo.json'), true);
8
+ assert.equal(isAllowedFile('foo.tiff'), false);
9
+ assert.equal(isAllowedFile('foo'), false);
10
+ assert.equal(isAllowedFile(''), false);
11
+ assert.equal(isAllowedFile(null), false);
11
12
  });
12
13
  });
13
14
  //# sourceMappingURL=imagery.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"imagery.test.js","sourceRoot":"","sources":["../../../src/routes/__tests__/imagery.test.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,OAAO,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,CAAC,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACjD,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC,CAAC,aAAa,CAAC,IAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"imagery.test.js","sourceRoot":"","sources":["../../../src/routes/__tests__/imagery.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAAW,CAAC,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,6 +1,5 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ /// <reference types="node" resolution-mode="require"/>
3
3
  import { Readable } from 'stream';
4
4
  export declare function toBuffer(stream: Readable): Promise<Buffer>;
5
5
  export declare function toReadable(r: string | Buffer | Readable): Readable;
6
- //# sourceMappingURL=memory.fs.d.ts.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=preview.index.test.d.ts.map
@@ -1,13 +1,14 @@
1
- import { Env, LogConfig, V, fsa } from '@basemaps/shared';
2
- import { LambdaAlbRequest } from '@linzjs/lambda';
3
- import o from 'ospec';
4
- import { loadAndServeIndexHtml, previewIndexGet } from '../preview.index.js';
1
+ import assert from 'node:assert';
2
+ import { afterEach, beforeEach, describe, it } from 'node:test';
3
+ import { ConfigProviderMemory, DefaultColorRampOutput, DefaultTerrainRgbOutput } from '@basemaps/config';
5
4
  import { LocationUrl } from '@basemaps/geo';
6
- import { FsMemory } from '@chunkd/source-memory';
7
- import { ConfigProviderMemory } from '@basemaps/config';
5
+ import { Env, fsa, FsMemory, LogConfig, V } from '@basemaps/shared';
6
+ import { LambdaAlbRequest } from '@linzjs/lambda';
8
7
  import { FakeData } from '../../__tests__/config.data.js';
9
- o.spec('/@*', async () => {
10
- o.specTimeout(1000);
8
+ import { CachedConfig } from '../../util/config.cache.js';
9
+ import { loadAndServeIndexHtml, previewIndexGet } from '../preview.index.js';
10
+ describe('/@*', async () => {
11
+ // o.specTimeout(1000);
11
12
  const baseRequest = {
12
13
  requestContext: null,
13
14
  httpMethod: 'get',
@@ -17,45 +18,53 @@ o.spec('/@*', async () => {
17
18
  };
18
19
  const fsMem = new FsMemory();
19
20
  let lastLocation;
20
- o.beforeEach(() => {
21
+ beforeEach(async () => {
22
+ CachedConfig.cache.clear();
21
23
  fsa.register('memory://', fsMem);
24
+ const indexHtml = V('html', [
25
+ V('head', [
26
+ V('meta', { property: 'og:title', content: 'LINZ Basemaps' }),
27
+ V('meta', { property: 'og:image', content: '/basemaps-card.jpeg' }),
28
+ V('meta', { name: 'viewport' }),
29
+ ]),
30
+ ]).toString();
31
+ await fsa.write(new URL('memory://assets/index.html'), indexHtml);
22
32
  lastLocation = process.env[Env.StaticAssetLocation];
23
33
  });
24
- o.afterEach(() => {
34
+ afterEach(() => {
25
35
  if (lastLocation == null)
26
36
  delete process.env[Env.StaticAssetLocation];
27
37
  else
28
38
  process.env[Env.StaticAssetLocation] = lastLocation;
29
39
  });
30
- o('Should redirect on failure to load', async () => {
40
+ it('Should redirect on failure to load', async () => {
31
41
  const ctx = new LambdaAlbRequest(baseRequest, {}, LogConfig.get());
32
42
  const res = await loadAndServeIndexHtml(ctx);
33
- o(res.status).equals(302);
34
- o(res.header('location')).equals('/?');
43
+ assert.equal(res.status, 302);
44
+ assert.equal(res.header('location'), '/?');
35
45
  });
36
- o('Should redirect with querystring on failure to load', async () => {
46
+ it('Should redirect with querystring on failure to load', async () => {
37
47
  const evt = { ...baseRequest, queryStringParameters: { config: 'config-latest.json' } };
38
48
  const ctx = new LambdaAlbRequest(evt, {}, LogConfig.get());
39
49
  const res = await loadAndServeIndexHtml(ctx);
40
- o(res.status).equals(302);
41
- o(res.header('location')).equals('/?config=config-latest.json');
50
+ assert.equal(res.status, 302);
51
+ assert.equal(res.header('location'), '/?config=config-latest.json');
42
52
  });
43
- o('Should redirect with querystring and location on failure to load', async () => {
53
+ it('Should redirect with querystring and location on failure to load', async () => {
44
54
  const evt = { ...baseRequest, queryStringParameters: { config: 'config-latest.json' } };
45
55
  const loc = LocationUrl.fromSlug(evt.path);
46
56
  const ctx = new LambdaAlbRequest(evt, {}, LogConfig.get());
47
57
  const res = await loadAndServeIndexHtml(ctx, loc);
48
- o(res.status).equals(302);
49
- o(res.header('location')).equals('/?config=config-latest.json#@-41.8900012,174.0492432,z5');
58
+ assert.equal(res.status, 302);
59
+ assert.equal(res.header('location'), '/?config=config-latest.json#@-41.8900012,174.0492432,z5');
50
60
  });
51
- o('should redirect on failure to load index.html', async () => {
61
+ it('should redirect on failure to load index.html', async () => {
52
62
  const ctx = new LambdaAlbRequest(baseRequest, {}, LogConfig.get());
53
- process.env[Env.StaticAssetLocation] = 'memory://assets/';
63
+ process.env[Env.StaticAssetLocation] = 'memory://assets-missing/';
54
64
  const res = await loadAndServeIndexHtml(ctx);
55
- o(res.status).equals(302);
65
+ assert.equal(res.status, 302);
56
66
  });
57
- o('should redirect with new tags!', async () => {
58
- var _a, _b;
67
+ it('should redirect with new tags!', async () => {
59
68
  const ctx = new LambdaAlbRequest(baseRequest, {}, LogConfig.get());
60
69
  process.env[Env.StaticAssetLocation] = 'memory://assets/';
61
70
  const indexHtml = V('html', [
@@ -65,38 +74,75 @@ o.spec('/@*', async () => {
65
74
  V('meta', { name: 'viewport' }),
66
75
  ]),
67
76
  ]).toString();
68
- await fsa.write('memory://assets/index.html', indexHtml);
77
+ await fsa.write(new URL('memory://assets/index.html'), indexHtml);
69
78
  // Pass back the body un altered
70
79
  const res = await loadAndServeIndexHtml(ctx);
71
- o((_a = getBody(res)) === null || _a === void 0 ? void 0 : _a.toString()).equals(indexHtml);
80
+ assert.equal(getBody(res)?.toString(), indexHtml);
72
81
  // Replace og:title with a <fake tag />
73
82
  const resB = await loadAndServeIndexHtml(ctx, null, new Map([['og:title', '<fake tag />']]));
74
- o((_b = getBody(resB)) === null || _b === void 0 ? void 0 : _b.toString().includes('<fake tag />')).equals(true);
83
+ assert.equal(getBody(resB)?.toString().includes('<fake tag />'), true);
75
84
  });
76
- o('should include config url', async () => {
77
- var _a;
85
+ it('should include config url', async () => {
86
+ process.env[Env.StaticAssetLocation] = 'memory://assets/';
78
87
  const ctx = new LambdaAlbRequest({
79
88
  ...baseRequest,
80
89
  queryStringParameters: { config: 'memory://linz-basemaps/config-latest.json', i: 'imagery-name' },
81
90
  }, {}, LogConfig.get());
82
91
  ctx.params = { location: '@-41.8900012,174.0492432,z5' };
83
- // Create a fake config to use
84
92
  const expectedConfig = new ConfigProviderMemory();
85
93
  expectedConfig.put(FakeData.tileSetRaster('imagery-name'));
86
- await fsa.write('memory://linz-basemaps/config-latest.json', JSON.stringify(expectedConfig.toJson()));
94
+ await fsa.write(new URL('memory://linz-basemaps/config-latest.json'), JSON.stringify(expectedConfig.toJson()));
95
+ const res = await previewIndexGet(ctx);
96
+ assert.equal(res.status, 200);
97
+ const ogImage = getBody(res)
98
+ ?.toString()
99
+ .split('\n')
100
+ .find((f) => f.includes('og:image'));
101
+ assert.equal(ogImage, '<meta name="twitter:image" property="og:image" content="/v1/preview/imagery-name/WebMercatorQuad/5/174.0492432/-41.8900012?config=QzX7ZsK6qG6p42wHZaF9dhihsgprX942gAuKwfryknM429iqxdDiRSGu" />');
102
+ });
103
+ it('should include default pipeline', { only: true }, async () => {
87
104
  process.env[Env.StaticAssetLocation] = 'memory://assets/';
88
- const indexHtml = V('html', [
89
- V('head', [
90
- V('meta', { property: 'og:title', content: 'LINZ Basemaps' }),
91
- V('meta', { property: 'og:image', content: '/basemaps-card.jepg' }),
92
- V('meta', { name: 'viewport' }),
93
- ]),
94
- ]).toString();
95
- await fsa.write('memory://assets/index.html', indexHtml);
105
+ const ctx = new LambdaAlbRequest({
106
+ ...baseRequest,
107
+ queryStringParameters: { config: 'memory://linz-basemaps/config-latest.json', i: 'imagery-name' },
108
+ }, {}, LogConfig.get());
109
+ ctx.params = { location: '@-41.8900012,174.0492432,z5' };
110
+ const expectedConfig = new ConfigProviderMemory();
111
+ const ts = FakeData.tileSetRaster('imagery-name');
112
+ ts.outputs = [DefaultTerrainRgbOutput, DefaultColorRampOutput];
113
+ expectedConfig.put(ts);
114
+ await fsa.write(new URL('memory://linz-basemaps/config-latest.json'), JSON.stringify(expectedConfig.toJson()));
115
+ const res = await previewIndexGet(ctx);
116
+ assert.equal(res.status, 200, res.statusDescription);
117
+ const ogImage = getBody(res)
118
+ ?.toString()
119
+ .split('\n')
120
+ .find((f) => f.includes('og:image'));
121
+ assert.equal(ogImage, '<meta name="twitter:image" property="og:image" content="/v1/preview/imagery-name/WebMercatorQuad/5/174.0492432/-41.8900012?config=QzX7ZsK6qG6p42wHZaF9dhihsgprX942gAuKwfryknM429iqxdDiRSGu&pipeline=terrain-rgb" />');
122
+ });
123
+ it('should include pipelines', async () => {
124
+ process.env[Env.StaticAssetLocation] = 'memory://assets/';
125
+ const ctx = new LambdaAlbRequest({
126
+ ...baseRequest,
127
+ queryStringParameters: {
128
+ config: 'memory://linz-basemaps/config-latest.json',
129
+ i: 'imagery-name',
130
+ pipeline: 'color-ramp',
131
+ },
132
+ }, {}, LogConfig.get());
133
+ ctx.params = { location: '@-41.8900012,174.0492432,z5' };
134
+ const expectedConfig = new ConfigProviderMemory();
135
+ const ts = FakeData.tileSetRaster('imagery-name');
136
+ ts.outputs = [DefaultTerrainRgbOutput, DefaultColorRampOutput];
137
+ expectedConfig.put(ts);
138
+ await fsa.write(new URL('memory://linz-basemaps/config-latest.json'), JSON.stringify(expectedConfig.toJson()));
96
139
  const res = await previewIndexGet(ctx);
97
- o(res.status).equals(200);
98
- const ogImage = (_a = getBody(res)) === null || _a === void 0 ? void 0 : _a.toString().split('\n').find((f) => f.includes('og:image'));
99
- o(ogImage).equals('<meta name="twitter:image" property="og:image" content="/v1/preview/imagery-name/WebMercatorQuad/5/174.0492432/-41.8900012?config=QzX7ZsK6qG6p42wHZaF9dhihsgprX942gAuKwfryknM429iqxdDiRSGu" />');
140
+ assert.equal(res.status, 200, res.statusDescription);
141
+ const ogImage = getBody(res)
142
+ ?.toString()
143
+ .split('\n')
144
+ .find((f) => f.includes('og:image'));
145
+ assert.equal(ogImage, '<meta name="twitter:image" property="og:image" content="/v1/preview/imagery-name/WebMercatorQuad/5/174.0492432/-41.8900012?config=QzX7ZsK6qG6p42wHZaF9dhihsgprX942gAuKwfryknM429iqxdDiRSGu&pipeline=color-ramp" />');
100
146
  });
101
147
  });
102
148
  function getBody(res) {
@@ -1 +1 @@
1
- {"version":3,"file":"preview.index.test.js","sourceRoot":"","sources":["../../../src/routes/__tests__/preview.index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preview.index.test.js","sourceRoot":"","sources":["../../../src/routes/__tests__/preview.index.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=sprites.test.d.ts.map
@@ -1,62 +1,62 @@
1
+ import assert from 'node:assert';
2
+ import { afterEach, before, beforeEach, describe, it } from 'node:test';
1
3
  import { ConfigProviderMemory } from '@basemaps/config';
2
- import { fsa } from '@chunkd/fs';
3
- import o from 'ospec';
4
+ import { fsa, FsMemory } from '@chunkd/fs';
4
5
  import { createSandbox } from 'sinon';
5
6
  import { gunzipSync, gzipSync } from 'zlib';
7
+ import { mockRequest } from '../../__tests__/xyz.util.js';
6
8
  import { handler } from '../../index.js';
7
9
  import { ConfigLoader } from '../../util/config.loader.js';
8
- import { mockRequest } from '../../__tests__/xyz.util.js';
9
- import { FsMemory } from '@chunkd/source-memory';
10
- o.spec('/v1/sprites', () => {
10
+ describe('/v1/sprites', () => {
11
11
  const memory = new FsMemory();
12
12
  const sandbox = createSandbox();
13
13
  const config = new ConfigProviderMemory();
14
- o.before(() => {
15
- fsa.register('memory://', memory);
14
+ before(() => {
15
+ fsa.register('fake-s3://assets/', memory);
16
16
  });
17
- o.beforeEach(() => {
18
- config.assets = 'memory://';
17
+ beforeEach(() => {
18
+ config.assets = 'fake-s3://assets/';
19
19
  sandbox.stub(ConfigLoader, 'getDefaultConfig').resolves(config);
20
20
  });
21
- o.afterEach(() => {
21
+ afterEach(() => {
22
22
  memory.files.clear();
23
23
  sandbox.restore();
24
24
  });
25
- o('should fetch a json document', async () => {
25
+ it('should fetch a json document', async () => {
26
26
  await Promise.all([
27
- fsa.write('memory://sprites/topographic.json', Buffer.from(JSON.stringify({ test: true }))),
28
- fsa.write('memory://sprites/topographic.png', Buffer.from('')),
27
+ fsa.write(new URL('fake-s3://assets/sprites/topographic.json'), Buffer.from(JSON.stringify({ test: true }))),
28
+ fsa.write(new URL('fake-s3://assets/sprites/topographic.png'), Buffer.from('')),
29
29
  ]);
30
30
  const res = await handler.router.handle(mockRequest('/v1/sprites/topographic.json'));
31
- o(res.status).equals(200);
32
- o(res.header('content-type')).equals('application/json');
33
- o(res.header('content-encoding')).equals(undefined);
34
- o(res.header('etag')).notEquals(undefined);
35
- o(res.header('cache-control')).equals('public, max-age=604800, stale-while-revalidate=86400');
36
- o(JSON.parse(Buffer.from(res.body, 'base64').toString())).deepEquals({ test: true });
31
+ assert.equal(res.status, 200);
32
+ assert.equal(res.header('content-type'), 'application/json');
33
+ assert.equal(res.header('content-encoding'), undefined);
34
+ assert.notEqual(res.header('etag'), undefined);
35
+ assert.equal(res.header('cache-control'), 'public, max-age=604800, stale-while-revalidate=86400');
36
+ assert.deepEqual(JSON.parse(Buffer.from(res.body, 'base64').toString()), { test: true });
37
37
  });
38
- o('should fetch a png', async () => {
38
+ it('should fetch a png', async () => {
39
39
  await Promise.all([
40
- fsa.write('memory://sprites/topographic.json', Buffer.from(JSON.stringify({ test: true }))),
41
- fsa.write('memory://sprites/topographic@2x.png', Buffer.from('')),
40
+ fsa.write(new URL('fake-s3://assets/sprites/topographic.json'), Buffer.from(JSON.stringify({ test: true }))),
41
+ fsa.write(new URL('fake-s3://assets/sprites/topographic@2x.png'), Buffer.from('')),
42
42
  ]);
43
43
  const res = await handler.router.handle(mockRequest('/v1/sprites/topographic@2x.png'));
44
- o(res.status).equals(200);
45
- o(res.header('content-type')).equals('image/png');
46
- o(res.header('etag')).notEquals(undefined);
47
- o(res.header('cache-control')).equals('public, max-age=604800, stale-while-revalidate=86400');
44
+ assert.equal(res.status, 200);
45
+ assert.equal(res.header('content-type'), 'image/png');
46
+ assert.notEqual(res.header('etag'), undefined);
47
+ assert.equal(res.header('cache-control'), 'public, max-age=604800, stale-while-revalidate=86400');
48
48
  });
49
- o('should detect gziped files and set content-encoding', async () => {
49
+ it('should detect gziped files and set content-encoding', async () => {
50
50
  await Promise.all([
51
- fsa.write('memory://sprites/topographic.json', gzipSync(Buffer.from(JSON.stringify({ test: true })))),
51
+ fsa.write(new URL('fake-s3://assets/sprites/topographic.json'), gzipSync(Buffer.from(JSON.stringify({ test: true })))),
52
52
  ]);
53
53
  const res = await handler.router.handle(mockRequest('/v1/sprites/topographic.json'));
54
- o(res.status).equals(200);
55
- o(res.header('content-type')).equals('application/json');
56
- o(res.header('content-encoding')).equals('gzip');
57
- o(res.header('etag')).notEquals(undefined);
58
- o(res.header('cache-control')).equals('public, max-age=604800, stale-while-revalidate=86400');
59
- o(JSON.parse(gunzipSync(Buffer.from(res.body, 'base64')).toString())).deepEquals({ test: true });
54
+ assert.equal(res.status, 200);
55
+ assert.equal(res.header('content-type'), 'application/json');
56
+ assert.equal(res.header('content-encoding'), 'gzip');
57
+ assert.notEqual(res.header('etag'), undefined);
58
+ assert.equal(res.header('cache-control'), 'public, max-age=604800, stale-while-revalidate=86400');
59
+ assert.deepEqual(JSON.parse(gunzipSync(Buffer.from(res.body, 'base64')).toString()), { test: true });
60
60
  });
61
61
  });
62
62
  //# sourceMappingURL=sprites.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sprites.test.js","sourceRoot":"","sources":["../../../src/routes/__tests__/sprites.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sprites.test.js","sourceRoot":"","sources":["../../../src/routes/__tests__/sprites.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=tile.json.test.d.ts.map