@masterportal/masterportalapi 2.2.0 → 2.5.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.
package/.eslintignore CHANGED
@@ -1,5 +1,4 @@
1
1
  /node_modules
2
- /example
3
2
  /dist
4
3
  /docs
5
4
  /.cache
package/.eslintrc CHANGED
@@ -5,8 +5,11 @@
5
5
  "node": true,
6
6
  "es6": true
7
7
  },
8
+ "globals": {
9
+ "Cesium": true
10
+ },
8
11
  "parserOptions": {
9
- "ecmaVersion": 2020,
12
+ "ecmaVersion": 2022,
10
13
  "sourceType": "module"
11
14
  },
12
15
  "extends": [
package/CHANGELOG.md CHANGED
@@ -3,16 +3,61 @@
3
3
 
4
4
  The [Semantic Versioning](https://semver.org/spec/v2.0.0.html) is used.
5
5
 
6
- ## Unreleased - in development
6
+ ## 2.5.0 - 2022-08-05
7
7
  ### Added
8
+ - The following packages have been installed:
9
+ - jest-environment-jsdom: 28.1.3
8
10
 
9
11
  ### Changed
12
+ - The following packages have been updated:
13
+ - dependencies:
14
+ - core-js: 3.16.1 to 3.24.0
15
+ - ol: 6.14.1 to 6.15.1 (This also raised ol-mapbox-style from 7 to version 8)
16
+ - proj4: 2.7.5 to 2.8.0
17
+ - devDependencies:
18
+ - @babel/core: 7.16.7 to 7.18.9
19
+ - @babel/plugin-transform-modules-commonjs: 7.16.8 to 7.18.6
20
+ - @parcel/transformer-sass: 2.2.0 to 2.6.2
21
+ - canvas: 2.8.0 to 2.9.3
22
+ - eslint: 7.32.0 to 8.20.0
23
+ - husky: 7.0.1 to 8.0.1
24
+ - jest: 27.4.0 to 28.1.3
25
+ - jest-canvas-mock: 2.3.1 to 2.4.0
26
+ - jsdoc: 3.6.7 to 3.6.11
27
+ - parcel: 2.2.0 to 2.6.2
28
+ - sass: 1.37.5 to 1.54.0
29
+ - peerDependencies:
30
+ - cesium: 1.88.0 to 1.95.0
10
31
 
11
- ### Deprecated
32
+ ---
12
33
 
13
- ### Removed
34
+ ## 2.4.0 - 2022-07-06
35
+ ### Added
36
+ - Issue 776: Add 3D mode for WMTS layers.
37
+
38
+ ### Fixed
39
+ - 3D: Handling of camera parameters at olcsmap are adapted.
40
+
41
+ ---
42
+
43
+ ## 2.3.0 - 2022-05-27
44
+ ### Added
45
+ - Add a new layer type WMTS.
46
+ - A new layer typ Entities3D (e.g. layer with glb-files) is implemented and integrated into MaterportalAPI.
47
+
48
+ ### Changed
49
+ - The following packages have been updated
50
+ - ol: from 6.13.0 to version 6.14.1
51
+ - 3D Mode:
52
+ - Default values are now set for the 3D Scene when creating the 3D Map.
53
+ - Default values for the 3D Scene can be overwritten with the attribute `sceneOptions` any.
54
+ - Default values of the 3D Scene are always set first. After that, attributes configured by the user are set.
14
55
 
15
56
  ### Fixed
57
+ - 3D Mode:
58
+ - Vector layers like WFS, GeoJSON or OAF (OGC API - Features) are now displayed in 3D mode.
59
+ - WMS layers of type `TileWMS` are now also displayed in 3D.
60
+ - In 3D mode a pick position is now provided for clicked billboards.
16
61
 
17
62
  ---
18
63
 
@@ -50,7 +95,7 @@
50
95
  - Gazetteer search:
51
96
  - Previous gazetteer searches can now be aborted by means of an `AbortController`.
52
97
  - Added the possibility to use the `geographicIdentifier` to display the search result.
53
- - A new layer typ OAF (OGC API features) is implemented and integrated into MaterportalAPI
98
+ - A new layer typ OAF (OGC API - Features) is implemented and integrated into MaterportalAPI
54
99
  - Features as parameter can be parsed as filter
55
100
  - A new parameter "doNotLoadInitially" for WFS layer so that for the external filter, the filtering of feature will be first loaded
56
101
 
@@ -4,29 +4,29 @@
4
4
  * @type {object} GeoJSON Feature Collection
5
5
  */
6
6
  export default {
7
- "type":"FeatureCollection",
8
- "features":[
7
+ "type": "FeatureCollection",
8
+ "features": [
9
9
  {
10
10
  "type": "Feature",
11
- "properties":{
11
+ "properties": {
12
12
  "name": "Testmarker"
13
13
  },
14
- "geometry":{
15
- "type":"Point",
16
- "coordinates":[9.8436, 53.4800]
14
+ "geometry": {
15
+ "type": "Point",
16
+ "coordinates": [9.8436, 53.4800]
17
17
  }
18
18
  },
19
19
  {
20
- "type":"Feature",
21
- "properties":{
22
- "name":"Wilhelmsburg",
23
- "cartodb_id":23,
24
- "created_at":"2013-02-18T21:04:33.987Z",
25
- "updated_at":"2013-02-18T21:04:34.218Z"
20
+ "type": "Feature",
21
+ "properties": {
22
+ "name": "Wilhelmsburg",
23
+ "cartodb_id": 23,
24
+ "created_at": "2013-02-18T21:04:33.987Z",
25
+ "updated_at": "2013-02-18T21:04:34.218Z"
26
26
  },
27
- "geometry":{
28
- "type":"MultiPolygon",
29
- "coordinates":[
27
+ "geometry": {
28
+ "type": "MultiPolygon",
29
+ "coordinates": [
30
30
  [
31
31
  [
32
32
  [
@@ -583,16 +583,16 @@ export default {
583
583
  }
584
584
  },
585
585
  {
586
- "type":"Feature",
587
- "properties":{
588
- "name":"Blankenese",
589
- "cartodb_id":30,
590
- "created_at":"2013-02-18T21:04:33.987Z",
591
- "updated_at":"2013-02-18T21:04:34.218Z"
586
+ "type": "Feature",
587
+ "properties": {
588
+ "name": "Blankenese",
589
+ "cartodb_id": 30,
590
+ "created_at": "2013-02-18T21:04:33.987Z",
591
+ "updated_at": "2013-02-18T21:04:34.218Z"
592
592
  },
593
- "geometry":{
594
- "type":"MultiPolygon",
595
- "coordinates":[
593
+ "geometry": {
594
+ "type": "MultiPolygon",
595
+ "coordinates": [
596
596
  [
597
597
  [
598
598
  [
@@ -31,5 +31,5 @@
31
31
  "id": "1001"
32
32
  }
33
33
  ],
34
- "cesiumLib":"https://geoportal-hamburg.de/mastercode/cesium/1_88/Cesium.js"
34
+ "cesiumLib":"https://geoportal-hamburg.de/mastercode/cesium/1_95/Cesium.js"
35
35
  }
@@ -22,7 +22,7 @@
22
22
  "layers": "krankenhaeuser",
23
23
  "format": "image/png",
24
24
  "version": "1.3.0",
25
- "singleTile": false,
25
+ "singleTile": true,
26
26
  "transparent": true,
27
27
  "transparency": 0,
28
28
  "urlIsVisible": true,
@@ -62,6 +62,43 @@
62
62
  "maximumScreenSpaceError": 6
63
63
  }
64
64
  },
65
+ {
66
+ "id": "4003",
67
+ "name": "EntitiesLayer",
68
+ "typ": "Entities3D",
69
+ "entities": [
70
+ {
71
+ "url": "https://daten-hamburg.de/gdi3d/datasource-data/Simple_Building.glb",
72
+ "attributes": {
73
+ "name": "einfaches Haus in Planten und Blomen"
74
+ },
75
+ "latitude": 53.5631,
76
+ "longitude": 9.9800,
77
+ "height": 16,
78
+ "heading": 0,
79
+ "pitch": 0,
80
+ "roll": 0,
81
+ "scale": 5,
82
+ "allowPicking": true,
83
+ "show": true
84
+ },
85
+ {
86
+ "url": "https://daten-hamburg.de/gdi3d/datasource-data/Simple_Building.glb",
87
+ "attributes": {
88
+ "name": "einfaches Haus im See"
89
+ },
90
+ "latitude": 53.5622,
91
+ "longitude": 9.9808,
92
+ "height": 16,
93
+ "heading": 0,
94
+ "pitch": 0,
95
+ "roll": 0,
96
+ "scale": 2,
97
+ "allowPicking": true,
98
+ "show": true
99
+ }
100
+ ]
101
+ },
65
102
  {
66
103
  "id": "5001",
67
104
  "name": "Schulen",
@@ -104,5 +141,157 @@
104
141
  ],
105
142
  "tileSize": 256,
106
143
  "zDirection": -1
144
+ },
145
+ {
146
+ "id": "7001",
147
+ "name": "TopPlusOpen",
148
+ "capabilitiesUrl": "https://sgx.geodatenzentrum.de/wmts_topplus_open/1.0.0/WMTSCapabilities.xml",
149
+ "optionsFromCapabilities": true,
150
+ "typ": "WMTS",
151
+ "layers": "web"
152
+ },
153
+ {
154
+ "id": "7002",
155
+ "name": "EOC Basemap",
156
+ "capabilitiesUrl": "https://tiles.geoservice.dlr.de/service/wmts?SERVICE=WMTS&REQUEST=GetCapabilities",
157
+ "typ": "WMTS",
158
+ "optionsFromCapabilities": true,
159
+ "layers": "eoc:basemap"
160
+ },
161
+ {
162
+ "id": "7003",
163
+ "name": "Geoland Basemap",
164
+ "urls": [
165
+ "https://maps1.wien.gv.at/basemap/geolandbasemap/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png",
166
+ "https://maps2.wien.gv.at/basemap/geolandbasemap/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png",
167
+ "https://maps3.wien.gv.at/basemap/geolandbasemap/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png",
168
+ "https://maps4.wien.gv.at/basemap/geolandbasemap/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png",
169
+ "https://maps.wien.gv.at/basemap/geolandbasemap/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png"
170
+ ],
171
+ "typ": "WMTS",
172
+ "layer": "geolandbasemap",
173
+ "version": "1.0.0",
174
+ "format": "image/png",
175
+ "style": "normal",
176
+ "transparent": false,
177
+ "tileSize": "256",
178
+ "minScale": "0",
179
+ "maxScale": "2500000",
180
+ "tileMatrixSet": "google3857",
181
+ "matrixSizes": [
182
+ [
183
+ 1,
184
+ 1
185
+ ],
186
+ [
187
+ 2,
188
+ 2
189
+ ],
190
+ [
191
+ 4,
192
+ 4
193
+ ],
194
+ [
195
+ 8,
196
+ 8
197
+ ],
198
+ [
199
+ 16,
200
+ 16
201
+ ],
202
+ [
203
+ 32,
204
+ 32
205
+ ],
206
+ [
207
+ 64,
208
+ 64
209
+ ],
210
+ [
211
+ 128,
212
+ 128
213
+ ],
214
+ [
215
+ 256,
216
+ 256
217
+ ],
218
+ [
219
+ 512,
220
+ 512
221
+ ],
222
+ [
223
+ 1024,
224
+ 1024
225
+ ],
226
+ [
227
+ 2048,
228
+ 2048
229
+ ],
230
+ [
231
+ 4096,
232
+ 4096
233
+ ],
234
+ [
235
+ 8192,
236
+ 8192
237
+ ],
238
+ [
239
+ 16384,
240
+ 16384
241
+ ],
242
+ [
243
+ 32768,
244
+ 32768
245
+ ],
246
+ [
247
+ 65536,
248
+ 65536
249
+ ],
250
+ [
251
+ 131072,
252
+ 131072
253
+ ],
254
+ [
255
+ 262144,
256
+ 262144
257
+ ],
258
+ [
259
+ 524288,
260
+ 524288
261
+ ]
262
+ ],
263
+ "coordinateSystem": "EPSG:3857",
264
+ "layerAttribution": "nicht vorhanden",
265
+ "legend": false,
266
+ "cache": true,
267
+ "wrapX": true,
268
+ "origin": [
269
+ -20037508.3428,
270
+ 20037508.3428
271
+ ],
272
+ "scales": [
273
+ 559082264.029,
274
+ 279541132.015,
275
+ 139770566.007,
276
+ 69885283.0036,
277
+ 34942641.5018,
278
+ 17471320.7509,
279
+ 8735660.37545,
280
+ 4367830.18773,
281
+ 2183915.09386,
282
+ 1091957.54693,
283
+ 45978.773466,
284
+ 272989.386733,
285
+ 136494.693366,
286
+ 68247.3466832,
287
+ 34123.6733416,
288
+ 17061.8366708,
289
+ 8530.91833540,
290
+ 4265.45916770,
291
+ 2132.72958385,
292
+ 1066.36479193
293
+ ],
294
+ "resLength": "20",
295
+ "requestEncoding": "REST"
107
296
  }
108
297
  ]
package/example/index.js CHANGED
@@ -17,6 +17,20 @@ window.mpapi = {
17
17
  map2D: null,
18
18
  map: null
19
19
  };
20
+ //* Fake service that holds client-side prepared geojson; also nice to test automatic transformation since data is in WGS 84
21
+ // eslint-disable-next-line no-unused-vars
22
+ const hamburgServicesUrl = "https://geodienste.hamburg.de/services-internet.json",
23
+ localService = {
24
+ id: "2002",
25
+ typ: "GeoJSON",
26
+ features: localGeoJSON
27
+ },
28
+ config = {
29
+ ...portalConfig,
30
+ layerConf: services
31
+ };
32
+ let map2D = null;
33
+
20
34
  // */
21
35
  //* Cleans up map before it is re-rendered (happens on every save during dev mode)
22
36
  document.getElementById(portalConfig.target).innerHTML = "";
@@ -29,50 +43,46 @@ document.getElementById("enable").addEventListener("click", function () {
29
43
  if (window.mpapi.map.mapMode === "3D") {
30
44
  window.mpapi.map.setEnabled(false);
31
45
  window.mpapi.map = window.mpapi.map2D;
46
+ window.mpapi.map.getView().setRotation(0);
32
47
  document.getElementById("layer-visibility").style.display = "none";
33
- ["1001", "2001", "2002", "1002", "3001", "5001"].forEach(id => window.mpapi.map.addLayer(id));
34
48
  }
35
49
  else {
36
- const lib = portalConfig.cesiumLib ? portalConfig.cesiumLib : "https://geoportal-hamburg.de/mastercode/cesium/1_88/Cesium.js";
50
+ const lib = portalConfig.cesiumLib ? portalConfig.cesiumLib : "https://geoportal-hamburg.de/mastercode/cesium/1_95/index.js";
37
51
 
38
52
  document.getElementById("layer-visibility").style.display = "block";
39
53
 
40
54
  load3DScript(lib, function Loaded3DCallback () {
41
- let terrainLayer = null, tilesetLayer = null;
42
- const toRemove = ["2001", "2002", "1002", "3001", "5001"];
43
-
44
- layers2D.forEach(layer => {
45
- const layerId = layer?.id || layer?.values_?.id;
46
- if(toRemove.find(id => id === layerId)){
47
- map2D.removeLayer(layer);
48
- }
49
- });
55
+ let tilesetLayer = null;
50
56
 
51
57
  const settings3D = {
52
- "map2D": window.mpapi.map2D
58
+ map2D: window.mpapi.map2D,
59
+ // set some options to Cesium scene
60
+ cesiumParameter: {
61
+ fxaa: true,
62
+ globe: {
63
+ enableLighting: true,
64
+ maximumScreenSpaceError: 2,
65
+ tileCacheSize: 20
66
+ }
67
+ }
53
68
  },
54
69
  map3D = mapsAPI.map.createMap(settings3D, "3D"),
55
70
  rawLayerTerrain = getLayerWhere({id: "4001"}),
56
71
  rawLayerTileset = getLayerWhere({id: "4002"}),
57
- scene = map3D.getCesiumScene();
58
-
59
- //set some options to Cesium scene
60
- scene.globe.enableLighting = true;
61
- scene.globe.tileCacheSize = 20;
62
- scene.globe.maximumScreenSpaceError =2;
63
- scene.fxaa = true;
64
- scene.highDynamicRange = false;
65
- scene.pickTranslucentDepth = true;
72
+ rawLayerEntities = getLayerWhere({id: "4003"});
66
73
 
67
74
  window.mpapi.map = map3D;
68
75
  tilesetLayer = new mpapi.Tileset(rawLayerTileset, window.mpapi.map);
69
76
  tilesetLayer.setVisible(true, window.mpapi.map);
70
77
 
71
- window.mpapi.map.setEnabled(true);
78
+ // entities are 2 simple buildings in the park 'planten und blomen' near Tiergartenstraße
79
+ mpapi.entities.createLayer(rawLayerEntities, window.mpapi.map);
80
+ // mpapi.entities.setVisible(true, rawLayerEntities, window.mpapi.map);
72
81
 
73
- terrainLayer = mpapi.terrain.createLayer(rawLayerTerrain, window.mpapi.map);
74
- terrainLayer.setVisible(true, rawLayerTerrain, window.mpapi.map);
82
+ mpapi.terrain.createLayer(rawLayerTerrain, window.mpapi.map);
83
+ mpapi.terrain.setVisible(true, rawLayerTerrain, window.mpapi.map);
75
84
 
85
+ window.mpapi.map.setEnabled(true);
76
86
  });
77
87
  }
78
88
  });
@@ -84,21 +94,7 @@ document.getElementById("layer-visibility").addEventListener("click", function (
84
94
  });
85
95
  });
86
96
 
87
- //* Fake service that holds client-side prepared geojson; also nice to test automatic transformation since data is in WGS 84
88
- // eslint-disable-next-line no-unused-vars
89
- const hamburgServicesUrl = "http://geoportal-hamburg.de/lgv-config/services-internet.json",
90
- localService = {
91
- id: "2002",
92
- typ: "GeoJSON",
93
- features: localGeoJSON
94
- },
95
- config = {
96
- ...portalConfig,
97
- layerConf: services
98
- },
99
- map2D = mapsAPI.map.createMap(config, "2D"),
100
- layers2D = [];
101
-
97
+ map2D = mapsAPI.map.createMap(config, "2D");
102
98
  services.push(localService);
103
99
  // */
104
100
 
@@ -119,6 +115,7 @@ mpapi.geojson.setCustomStyles({
119
115
  const styleWfs = function (feature, resolution) {
120
116
  const icon = new Style({
121
117
  image: new Icon({
118
+ crossOrigin: "anonymous",
122
119
  src: "https://img.icons8.com/windows/50/000000/building.png",
123
120
  scale: 0.5,
124
121
  opacity: 1
@@ -136,6 +133,7 @@ services.find(({id}) => id === "3001").style = styleWfs;
136
133
  const styleOaf = function (feature, resolution) {
137
134
  const icon = new Style({
138
135
  image: new Icon({
136
+ crossOrigin: "anonymous",
139
137
  src: "https://geodienste.hamburg.de/lgv-config/img/gymnasien.svg",
140
138
  scale: 0.5,
141
139
  opacity: 1
@@ -151,61 +149,50 @@ services.find(({id}) => id === "5001").style = styleOaf;
151
149
  window.mpapi.map = map2D;
152
150
 
153
151
  ["2001", "2002", "1002", "3001", "5001"].forEach(id => window.mpapi.map.addLayer(id));
154
- map2D.getLayers().forEach(layer => {
155
- layers2D.push(layer);
156
- });
157
152
 
158
153
  // */
159
154
 
160
155
  /* ASYNCHRONOUS EXAMPLE 1: work with layerConf callback
161
156
  document.getElementById("enable").style.display = "none";
162
- mpapi.rawLayerList.initializeLayerList(
163
- hamburgServicesUrl,
157
+ mpapi.rawLayerList.initializeLayerList(hamburgServicesUrl,
164
158
  conf => {
165
159
  window.mpapi.map = mapsAPI.map.createMap({
166
160
  ...portalConfig,
167
161
  layerConf: conf,
168
162
  layers: null
169
163
  }, "2D");
170
- ["6357", "6074"].forEach(
171
- id => window.mpapi.map.addLayer(id)
172
- );
173
- }
174
- );
164
+ ["6357", "6074"].forEach(id => window.mpapi.map.addLayer(id));
165
+ });
175
166
  //*/
176
167
 
177
168
  /* ASYNCHRONOUS EXAMPLE 2: work with createMap callback
178
169
  document.getElementById("enable").style.display = "none";
179
- window.mpapi.map = mapsAPI.map.createMap(
180
- {...portalConfig, layerConf: hamburgServicesUrl, layers: [
181
- { id: "6357" },
182
- { id: "453", transparency: 50 }
170
+ window.mpapi.map = mapsAPI.map.createMap({
171
+ ...portalConfig, layerConf: hamburgServicesUrl, layers: [
172
+ {id: "6357"},
173
+ {id: "453", transparency: 50}
183
174
  ]}, "2D",
184
- {
185
- callback: () =>
186
- ["6074"].forEach(
187
- id => window.mpapi.map.addLayer(id)
188
- )
189
- }
190
- );
175
+ {
176
+ callback: () => ["6074"].forEach(id => window.mpapi.map.addLayer(id))
177
+ });
191
178
  //*/
192
179
 
193
180
  /* SEARCH FUNCTION EXAMPLE
194
181
  // You may e.g. copy this code to the browser's console to run a search.
195
182
 
196
- window.mpapi.search("Eiffe", {
183
+ window.mpapi.search("Eiffe", {
197
184
  map: window.mpapi.map,
198
185
  zoom: true,
199
186
  zoomToParams: {duration: 1000, maxZoom: 8},
200
187
  searchStreets: true
201
- }).then(x => console.log(x)).catch(e => console.error(e))
188
+ }).then(x => console.log(x)).catch(e => console.error(e));
202
189
 
203
- window.mpapi.search("Mümmelmannsberg 72", {
190
+ window.mpapi.search("Mümmelmannsberg 72", {
204
191
  map: window.mpapi.map,
205
192
  zoom: true,
206
193
  zoomToParams: {duration: 1000, maxZoom: 8},
207
194
  searchAddress: true
208
- }).then(x => console.log(x)).catch(e => console.error(e))
195
+ }).then(x => console.log(x)).catch(e => console.error(e));
209
196
 
210
197
  //*/
211
198
 
@@ -216,12 +203,23 @@ map2D.getLayers().forEach(layer => {
216
203
  map2D.removeLayer(layer);
217
204
  });
218
205
 
219
- let vtStyleUrl = 'https://dev.adv-smart.de/styles/playground/masterportal_test1.json';
206
+ const vtStyleUrl = "https://dev.adv-smart.de/styles/playground/masterportal_test1.json";
220
207
 
221
208
  fetch(vtStyleUrl)
222
209
  .then(response => response.json())
223
210
  .then(style => {
224
- let vtLayer = window.mpapi.map.addLayer("6001");
211
+ const vtLayer = window.mpapi.map.addLayer("6001");
212
+
225
213
  mpapi.vectorTile.setStyle(vtLayer, style);
226
214
  });
227
- */
215
+ //*/
216
+
217
+ /* WMTS example */
218
+ /*
219
+ map2D.getLayers().forEach(layer => {
220
+ map2D.removeLayer(layer);
221
+ });
222
+ window.mpapi.map.addLayer("7001");
223
+ window.mpapi.map.addLayer("7002");
224
+ window.mpapi.map.addLayer("7003");
225
+ // */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@masterportal/masterportalapi",
3
3
  "author": "Implementierungspartnerschaft Masterportal <info@masterportal.org> (https://www.masterportal.org)",
4
- "version": "2.2.0",
4
+ "version": "2.5.0",
5
5
  "license": "MIT",
6
6
  "description": "Basic functions of the Masterportal as api",
7
7
  "repository": {
@@ -19,33 +19,33 @@
19
19
  "prepare": "husky install"
20
20
  },
21
21
  "dependencies": {
22
- "core-js": "^3.16.1",
23
- "ol": "6.13.0",
22
+ "core-js": "^3.24.0",
23
+ "ol": "6.15.1",
24
24
  "olcs": "^2.13.0",
25
- "proj4": "^2.7.5",
25
+ "proj4": "^2.8.0",
26
26
  "xml2js": "^0.4.23"
27
27
  },
28
28
  "devDependencies": {
29
- "@babel/core": "^7.16.7",
30
- "@babel/plugin-transform-modules-commonjs": "^7.16.8",
31
- "@parcel/transformer-sass": "^2.2.0",
29
+ "@babel/core": "^7.18.9",
30
+ "@babel/plugin-transform-modules-commonjs": "^7.18.6",
31
+ "@parcel/transformer-sass": "^2.6.2",
32
32
  "buffer": "^6.0.3",
33
- "canvas": "^2.8.0",
34
- "eslint": "^7.32.0",
33
+ "canvas": "^2.9.3",
34
+ "eslint": "^8.20.0",
35
35
  "events": "^3.3.0",
36
- "husky": "^7.0.1",
37
- "jest": "^27.4.0",
38
- "jest-canvas-mock": "^2.3.1",
39
- "jsdoc": "^3.6.7",
40
- "parcel": "^2.2.0",
36
+ "husky": "^8.0.1",
37
+ "jest": "^28.1.3",
38
+ "jest-canvas-mock": "^2.4.0",
39
+ "jest-environment-jsdom": "^28.1.3",
40
+ "jsdoc": "^3.6.11",
41
+ "parcel": "^2.6.2",
41
42
  "process": "^0.11.10",
42
- "regenerator-runtime": "0.13.9",
43
- "sass": "^1.37.5",
43
+ "sass": "^1.54.0",
44
44
  "stream-browserify": "^3.0.0",
45
45
  "timers-browserify": "^2.0.12"
46
46
  },
47
47
  "peerDependencies": {
48
- "cesium": "^1.88.0"
48
+ "cesium": "^1.95.0"
49
49
  },
50
50
  "engines": {
51
51
  "node": "^16.13.2",
@@ -53,6 +53,7 @@
53
53
  },
54
54
  "homepage": "https://bitbucket.org/geowerkstatt-hamburg/masterportalapi#readme",
55
55
  "directories": {
56
+ "doc": "docs",
56
57
  "example": "example",
57
58
  "test": "test"
58
59
  },