maplibre-gl 2.0.5 → 2.1.3

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 (318) hide show
  1. package/build/{banner.js → banner.ts} +1 -1
  2. package/build/generate-query-test-fixtures.ts +123 -0
  3. package/build/generate-shaders.ts +35 -0
  4. package/build/generate-struct-arrays.ts +7 -7
  5. package/build/generate-style-code.ts +8 -8
  6. package/build/generate-style-spec.ts +5 -4
  7. package/build/generate-typings.ts +16 -0
  8. package/build/readme.md +8 -18
  9. package/build/release-notes.js +9 -13
  10. package/build/{rollup_plugin_minify_style_spec.js → rollup_plugin_minify_style_spec.ts} +4 -3
  11. package/build/{rollup_plugins.js → rollup_plugins.ts} +12 -26
  12. package/dist/maplibre-gl-dev.js +54885 -0
  13. package/dist/maplibre-gl.css +1 -1
  14. package/dist/maplibre-gl.d.ts +1574 -1022
  15. package/dist/maplibre-gl.js +3 -3
  16. package/dist/maplibre-gl.js.map +1 -1
  17. package/package.json +94 -131
  18. package/src/css/maplibre-gl.css +49 -49
  19. package/src/data/{array_types.ts → array_types.g.ts} +0 -0
  20. package/src/data/bucket/circle_bucket.ts +1 -1
  21. package/src/data/bucket/fill_bucket.test.ts +1 -1
  22. package/src/data/bucket/fill_bucket.ts +4 -4
  23. package/src/data/bucket/fill_extrusion_bucket.ts +1 -1
  24. package/src/data/bucket/line_bucket.test.ts +1 -1
  25. package/src/data/bucket/line_bucket.ts +6 -6
  26. package/src/data/bucket/symbol_bucket.test.ts +16 -16
  27. package/src/data/bucket/symbol_bucket.ts +56 -56
  28. package/src/data/bucket.ts +43 -43
  29. package/src/data/dem_data.ts +12 -12
  30. package/src/data/evaluation_feature.ts +10 -10
  31. package/src/data/feature_index.ts +37 -37
  32. package/src/data/feature_position_map.ts +5 -5
  33. package/src/data/index_array_type.ts +1 -1
  34. package/src/data/load_geometry.test.ts +1 -1
  35. package/src/data/program_configuration.ts +47 -47
  36. package/src/data/segment.ts +14 -14
  37. package/src/geo/edge_insets.ts +2 -2
  38. package/src/geo/lng_lat.ts +4 -4
  39. package/src/geo/lng_lat_bounds.ts +35 -35
  40. package/src/geo/mercator_coordinate.ts +5 -5
  41. package/src/geo/transform.test.ts +1 -1
  42. package/src/geo/transform.ts +14 -14
  43. package/src/gl/context.ts +3 -3
  44. package/src/gl/types.ts +19 -19
  45. package/src/gl/value.ts +6 -6
  46. package/src/gl/vertex_buffer.test.ts +1 -1
  47. package/src/index.ts +24 -9
  48. package/src/render/draw_circle.ts +8 -8
  49. package/src/render/draw_collision_debug.ts +5 -5
  50. package/src/render/draw_debug.ts +1 -1
  51. package/src/render/draw_line.ts +4 -4
  52. package/src/render/draw_symbol.ts +21 -21
  53. package/src/render/glyph_atlas.ts +12 -12
  54. package/src/render/glyph_manager.test.ts +10 -21
  55. package/src/render/glyph_manager.ts +34 -33
  56. package/src/render/image_manager.ts +4 -4
  57. package/src/render/painter.ts +16 -14
  58. package/src/render/program/background_program.ts +29 -29
  59. package/src/render/program/circle_program.ts +11 -11
  60. package/src/render/program/clipping_mask_program.ts +1 -1
  61. package/src/render/program/collision_program.ts +9 -9
  62. package/src/render/program/debug_program.ts +4 -4
  63. package/src/render/program/fill_extrusion_program.ts +31 -31
  64. package/src/render/program/fill_program.ts +29 -29
  65. package/src/render/program/heatmap_program.ts +12 -12
  66. package/src/render/program/hillshade_program.ts +12 -12
  67. package/src/render/program/line_program.ts +41 -41
  68. package/src/render/program/pattern.ts +28 -28
  69. package/src/render/program/raster_program.ts +21 -21
  70. package/src/render/program/symbol_program.ts +97 -97
  71. package/src/render/program.ts +25 -25
  72. package/src/render/texture.ts +9 -9
  73. package/src/render/uniform_binding.ts +1 -1
  74. package/src/render/vertex_array_object.ts +13 -13
  75. package/src/shaders/_prelude.fragment.glsl.g.ts +2 -0
  76. package/src/shaders/_prelude.vertex.glsl.g.ts +2 -0
  77. package/src/shaders/background.fragment.glsl.g.ts +2 -0
  78. package/src/shaders/background.vertex.glsl.g.ts +2 -0
  79. package/src/shaders/background_pattern.fragment.glsl.g.ts +2 -0
  80. package/src/shaders/background_pattern.vertex.glsl.g.ts +2 -0
  81. package/src/shaders/circle.fragment.glsl.g.ts +2 -0
  82. package/src/shaders/circle.vertex.glsl.g.ts +2 -0
  83. package/src/shaders/clipping_mask.fragment.glsl.g.ts +2 -0
  84. package/src/shaders/clipping_mask.vertex.glsl.g.ts +2 -0
  85. package/src/shaders/collision_box.fragment.glsl.g.ts +2 -0
  86. package/src/shaders/collision_box.vertex.glsl.g.ts +2 -0
  87. package/src/shaders/collision_circle.fragment.glsl.g.ts +2 -0
  88. package/src/shaders/collision_circle.vertex.glsl.g.ts +2 -0
  89. package/src/shaders/debug.fragment.glsl.g.ts +2 -0
  90. package/src/shaders/debug.vertex.glsl.g.ts +2 -0
  91. package/src/shaders/fill.fragment.glsl.g.ts +2 -0
  92. package/src/shaders/fill.vertex.glsl.g.ts +2 -0
  93. package/src/shaders/fill_extrusion.fragment.glsl.g.ts +2 -0
  94. package/src/shaders/fill_extrusion.vertex.glsl.g.ts +2 -0
  95. package/src/shaders/fill_extrusion_pattern.fragment.glsl.g.ts +2 -0
  96. package/src/shaders/fill_extrusion_pattern.vertex.glsl.g.ts +2 -0
  97. package/src/shaders/fill_outline.fragment.glsl.g.ts +2 -0
  98. package/src/shaders/fill_outline.vertex.glsl.g.ts +2 -0
  99. package/src/shaders/fill_outline_pattern.fragment.glsl.g.ts +2 -0
  100. package/src/shaders/fill_outline_pattern.vertex.glsl.g.ts +2 -0
  101. package/src/shaders/fill_pattern.fragment.glsl.g.ts +2 -0
  102. package/src/shaders/fill_pattern.vertex.glsl.g.ts +2 -0
  103. package/src/shaders/heatmap.fragment.glsl.g.ts +2 -0
  104. package/src/shaders/heatmap.vertex.glsl.g.ts +2 -0
  105. package/src/shaders/heatmap_texture.fragment.glsl.g.ts +2 -0
  106. package/src/shaders/heatmap_texture.vertex.glsl.g.ts +2 -0
  107. package/src/shaders/hillshade.fragment.glsl.g.ts +2 -0
  108. package/src/shaders/hillshade.vertex.glsl.g.ts +2 -0
  109. package/src/shaders/hillshade_prepare.fragment.glsl.g.ts +2 -0
  110. package/src/shaders/hillshade_prepare.vertex.glsl.g.ts +2 -0
  111. package/src/shaders/line.fragment.glsl.g.ts +2 -0
  112. package/src/shaders/line.vertex.glsl.g.ts +2 -0
  113. package/src/shaders/line_gradient.fragment.glsl.g.ts +2 -0
  114. package/src/shaders/line_gradient.vertex.glsl.g.ts +2 -0
  115. package/src/shaders/line_pattern.fragment.glsl.g.ts +2 -0
  116. package/src/shaders/line_pattern.vertex.glsl.g.ts +2 -0
  117. package/src/shaders/line_sdf.fragment.glsl.g.ts +2 -0
  118. package/src/shaders/line_sdf.vertex.glsl.g.ts +2 -0
  119. package/src/shaders/raster.fragment.glsl.g.ts +2 -0
  120. package/src/shaders/raster.vertex.glsl.g.ts +2 -0
  121. package/src/shaders/shaders.ts +52 -55
  122. package/src/shaders/symbol_icon.fragment.glsl.g.ts +2 -0
  123. package/src/shaders/symbol_icon.vertex.glsl.g.ts +2 -0
  124. package/src/shaders/symbol_sdf.fragment.glsl.g.ts +2 -0
  125. package/src/shaders/symbol_sdf.vertex.glsl.g.ts +2 -0
  126. package/src/shaders/symbol_text_and_icon.fragment.glsl.g.ts +2 -0
  127. package/src/shaders/symbol_text_and_icon.vertex.glsl.g.ts +2 -0
  128. package/src/source/canvas_source.test.ts +11 -12
  129. package/src/source/canvas_source.ts +4 -4
  130. package/src/source/geojson_source.test.ts +2 -1
  131. package/src/source/geojson_source.ts +1 -1
  132. package/src/source/geojson_worker_source.ts +23 -23
  133. package/src/source/geojson_wrapper.ts +8 -8
  134. package/src/source/image_source.test.ts +2 -2
  135. package/src/source/image_source.ts +6 -6
  136. package/src/source/pixels_to_tile_units.ts +6 -6
  137. package/src/source/query_features.ts +20 -20
  138. package/src/source/raster_dem_tile_source.test.ts +4 -3
  139. package/src/source/raster_dem_tile_source.ts +1 -1
  140. package/src/source/raster_tile_source.test.ts +4 -3
  141. package/src/source/raster_tile_source.ts +1 -1
  142. package/src/source/rtl_text_plugin.ts +10 -10
  143. package/src/source/source.ts +29 -29
  144. package/src/source/source_cache.test.ts +33 -1
  145. package/src/source/source_cache.ts +7 -5
  146. package/src/source/source_state.ts +1 -1
  147. package/src/source/tile.test.ts +3 -3
  148. package/src/source/tile.ts +15 -15
  149. package/src/source/tile_cache.test.ts +6 -4
  150. package/src/source/tile_cache.ts +6 -6
  151. package/src/source/tile_id.test.ts +10 -13
  152. package/src/source/tile_id.ts +2 -2
  153. package/src/source/vector_tile_source.test.ts +17 -5
  154. package/src/source/vector_tile_source.ts +4 -5
  155. package/src/source/vector_tile_worker_source.test.ts +4 -4
  156. package/src/source/vector_tile_worker_source.ts +5 -5
  157. package/src/source/worker.test.ts +1 -1
  158. package/src/source/worker.ts +22 -22
  159. package/src/source/worker_source.ts +56 -56
  160. package/src/source/worker_tile.ts +4 -4
  161. package/src/style/evaluation_parameters.ts +3 -3
  162. package/src/style/format_section_override.test.ts +1 -1
  163. package/src/style/light.ts +10 -10
  164. package/src/style/load_glyph_range.test.ts +3 -5
  165. package/src/style/load_glyph_range.ts +6 -6
  166. package/src/style/load_sprite.ts +5 -4
  167. package/src/style/pauseable_placement.ts +1 -1
  168. package/src/style/properties.ts +70 -70
  169. package/src/style/query_utils.ts +7 -7
  170. package/src/style/style.test.ts +26 -15
  171. package/src/style/style.ts +30 -30
  172. package/src/style/style_glyph.ts +8 -8
  173. package/src/style/style_image.ts +58 -58
  174. package/src/style/style_layer/background_style_layer.ts +2 -2
  175. package/src/style/style_layer/{background_style_layer_properties.ts → background_style_layer_properties.g.ts} +0 -0
  176. package/src/style/style_layer/circle_style_layer.ts +10 -10
  177. package/src/style/style_layer/{circle_style_layer_properties.ts → circle_style_layer_properties.g.ts} +0 -0
  178. package/src/style/style_layer/custom_style_layer.ts +19 -19
  179. package/src/style/style_layer/fill_extrusion_style_layer.ts +11 -11
  180. package/src/style/style_layer/{fill_extrusion_style_layer_properties.ts → fill_extrusion_style_layer_properties.g.ts} +0 -0
  181. package/src/style/style_layer/fill_style_layer.ts +9 -9
  182. package/src/style/style_layer/{fill_style_layer_properties.ts → fill_style_layer_properties.g.ts} +0 -0
  183. package/src/style/style_layer/heatmap_style_layer.ts +2 -2
  184. package/src/style/style_layer/{heatmap_style_layer_properties.ts → heatmap_style_layer_properties.g.ts} +0 -0
  185. package/src/style/style_layer/hillshade_style_layer.ts +2 -2
  186. package/src/style/style_layer/{hillshade_style_layer_properties.ts → hillshade_style_layer_properties.g.ts} +0 -0
  187. package/src/style/style_layer/line_style_layer.ts +9 -9
  188. package/src/style/style_layer/{line_style_layer_properties.ts → line_style_layer_properties.g.ts} +0 -0
  189. package/src/style/style_layer/raster_style_layer.ts +2 -2
  190. package/src/style/style_layer/{raster_style_layer_properties.ts → raster_style_layer_properties.g.ts} +0 -0
  191. package/src/style/style_layer/symbol_style_layer.ts +26 -7
  192. package/src/style/style_layer/{symbol_style_layer_properties.ts → symbol_style_layer_properties.g.ts} +6 -0
  193. package/src/style/style_layer.ts +10 -10
  194. package/src/style/style_layer_index.ts +3 -3
  195. package/src/style/validate_style.ts +15 -15
  196. package/src/style-spec/CHANGELOG.md +6 -0
  197. package/src/style-spec/error/validation_error.ts +1 -1
  198. package/src/style-spec/expression/compound_expression.ts +3 -3
  199. package/src/style-spec/expression/definitions/format.ts +11 -11
  200. package/src/style-spec/expression/definitions/interpolate.ts +5 -5
  201. package/src/style-spec/expression/definitions/match.ts +2 -2
  202. package/src/style-spec/expression/definitions/number_format.ts +11 -11
  203. package/src/style-spec/expression/expression.ts +8 -8
  204. package/src/style-spec/expression/index.ts +97 -97
  205. package/src/style-spec/expression/parsing_context.ts +11 -11
  206. package/src/style-spec/expression/types/collator.ts +9 -9
  207. package/src/style-spec/expression/types/resolved_image.ts +2 -2
  208. package/src/style-spec/expression/types.ts +14 -14
  209. package/src/style-spec/expression/values.ts +1 -1
  210. package/src/style-spec/feature_filter/index.ts +66 -66
  211. package/src/style-spec/function/convert.ts +3 -3
  212. package/src/style-spec/package.json +1 -1
  213. package/src/style-spec/reference/v8.json +68 -2
  214. package/src/style-spec/style-spec.ts +44 -44
  215. package/src/style-spec/types.ts +2 -0
  216. package/src/style-spec/util/color_spaces.ts +8 -8
  217. package/src/style-spec/util/result.ts +4 -4
  218. package/src/style-spec/validate/validate_filter.ts +58 -58
  219. package/src/style-spec/validate/validate_source.ts +63 -63
  220. package/src/style-spec/visit.ts +11 -11
  221. package/src/symbol/collision_feature.test.ts +1 -1
  222. package/src/symbol/collision_feature.ts +10 -10
  223. package/src/symbol/collision_index.ts +43 -43
  224. package/src/symbol/cross_tile_symbol_index.ts +17 -17
  225. package/src/symbol/get_anchors.ts +16 -16
  226. package/src/symbol/grid_index.test.ts +42 -19
  227. package/src/symbol/grid_index.ts +69 -40
  228. package/src/symbol/placement.ts +124 -95
  229. package/src/symbol/projection.ts +30 -30
  230. package/src/symbol/quads.ts +30 -30
  231. package/src/symbol/shaping.ts +160 -160
  232. package/src/symbol/symbol_layout.ts +119 -119
  233. package/src/symbol/symbol_size.ts +29 -29
  234. package/src/symbol/symbol_style_layer.test.ts +49 -2
  235. package/src/types/cancelable.ts +1 -1
  236. package/src/types/tilejson.ts +13 -13
  237. package/src/ui/anchor.ts +1 -1
  238. package/src/ui/camera.test.ts +9 -9
  239. package/src/ui/camera.ts +18 -18
  240. package/src/ui/control/attribution_control.test.ts +51 -16
  241. package/src/ui/control/attribution_control.ts +35 -16
  242. package/src/ui/control/control.ts +40 -40
  243. package/src/ui/control/fullscreen_control.ts +1 -1
  244. package/src/ui/control/geolocate_control.test.ts +1 -1
  245. package/src/ui/control/geolocate_control.ts +102 -102
  246. package/src/ui/control/logo_control.test.ts +5 -4
  247. package/src/ui/control/navigation_control.ts +3 -3
  248. package/src/ui/control/scale_control.test.ts +2 -2
  249. package/src/ui/control/scale_control.ts +5 -5
  250. package/src/ui/events.ts +289 -200
  251. package/src/ui/handler/box_zoom.test.ts +1 -1
  252. package/src/ui/handler/box_zoom.ts +1 -1
  253. package/src/ui/handler/dblclick_zoom.test.ts +1 -1
  254. package/src/ui/handler/drag_pan.test.ts +1 -1
  255. package/src/ui/handler/drag_rotate.test.ts +1 -1
  256. package/src/ui/handler/keyboard.test.ts +1 -1
  257. package/src/ui/handler/keyboard.ts +51 -51
  258. package/src/ui/handler/map_event.test.ts +1 -1
  259. package/src/ui/handler/map_event.ts +1 -1
  260. package/src/ui/handler/mouse.ts +1 -1
  261. package/src/ui/handler/mouse_rotate.test.ts +1 -1
  262. package/src/ui/handler/scroll_zoom.test.ts +3 -2
  263. package/src/ui/handler/scroll_zoom.ts +9 -9
  264. package/src/ui/handler/shim/drag_pan.ts +4 -4
  265. package/src/ui/handler/shim/drag_rotate.ts +1 -1
  266. package/src/ui/handler/shim/touch_zoom_rotate.ts +1 -1
  267. package/src/ui/handler/tap_recognizer.ts +4 -4
  268. package/src/ui/handler/touch_pan.ts +2 -2
  269. package/src/ui/handler/touch_zoom_rotate.test.ts +1 -1
  270. package/src/ui/handler/touch_zoom_rotate.ts +1 -1
  271. package/src/ui/handler_inertia.ts +6 -6
  272. package/src/ui/handler_manager.ts +44 -44
  273. package/src/ui/map/isMoving.test.ts +1 -1
  274. package/src/ui/map/isRotating.test.ts +1 -1
  275. package/src/ui/map/isZooming.test.ts +1 -1
  276. package/src/ui/map.test.ts +87 -14
  277. package/src/ui/map.ts +136 -106
  278. package/src/ui/map_events.test.ts +1 -1
  279. package/src/ui/marker.test.ts +12 -12
  280. package/src/ui/marker.ts +37 -37
  281. package/src/ui/popup.test.ts +7 -7
  282. package/src/ui/popup.ts +9 -9
  283. package/src/util/actor.test.ts +41 -10
  284. package/src/util/actor.ts +8 -8
  285. package/src/util/ajax.test.ts +29 -21
  286. package/src/util/ajax.ts +51 -30
  287. package/src/util/browser.ts +1 -1
  288. package/src/util/classify_rings.test.ts +1 -1
  289. package/src/util/color_ramp.ts +5 -5
  290. package/src/util/config.ts +2 -2
  291. package/src/util/dispatcher.ts +1 -1
  292. package/src/util/dom.ts +2 -2
  293. package/src/util/evented.ts +1 -1
  294. package/src/util/find_pole_of_inaccessibility.ts +3 -3
  295. package/src/util/image.ts +5 -5
  296. package/src/util/performance.ts +7 -7
  297. package/src/util/request_manager.ts +4 -4
  298. package/src/util/resolve_tokens.ts +4 -4
  299. package/src/util/struct_array.test.ts +1 -1
  300. package/src/util/struct_array.ts +15 -15
  301. package/src/util/task_queue.ts +3 -3
  302. package/src/util/tile_request_cache.ts +3 -3
  303. package/src/util/transferable_grid_index.ts +4 -4
  304. package/src/util/util.ts +8 -8
  305. package/src/util/web_worker.ts +4 -68
  306. package/src/util/web_worker_transfer.test.ts +3 -0
  307. package/src/util/web_worker_transfer.ts +21 -17
  308. package/src/util/worker_pool.ts +1 -1
  309. package/build/.eslintrc +0 -21
  310. package/build/glsl_to_js.js +0 -12
  311. package/build/post-ts-build.js +0 -43
  312. package/build/release-notes.md.ejs +0 -8
  313. package/build/test/build-tape.js +0 -17
  314. package/build/web_worker_replacement.js +0 -5
  315. package/dist/package.json +0 -1
  316. package/src/style-spec/validate_spec.test.ts +0 -29
  317. package/src/symbol/shaping.test.ts +0 -392
  318. package/src/types/glsl.d.ts +0 -4
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "maplibre-gl",
3
3
  "description": "BSD licensed community fork of mapbox-gl, a WebGL interactive maps library",
4
- "version": "2.0.5",
4
+ "version": "2.1.3",
5
5
  "main": "dist/maplibre-gl.js",
6
6
  "style": "dist/maplibre-gl.css",
7
7
  "license": "BSD-3-Clause",
@@ -12,7 +12,7 @@
12
12
  "types": "dist/maplibre-gl.d.ts",
13
13
  "type": "module",
14
14
  "dependencies": {
15
- "@mapbox/geojson-rewind": "^0.5.0",
15
+ "@mapbox/geojson-rewind": "^0.5.1",
16
16
  "@mapbox/jsonlint-lines-primitives": "^2.0.2",
17
17
  "@mapbox/mapbox-gl-supported": "^2.0.1",
18
18
  "@mapbox/point-geometry": "^0.1.0",
@@ -20,195 +20,158 @@
20
20
  "@mapbox/unitbezier": "^0.0.1",
21
21
  "@mapbox/vector-tile": "^1.3.1",
22
22
  "@mapbox/whoots-js": "^3.1.0",
23
- "@types/geojson": "^7946.0.7",
24
- "@types/mapbox__point-geometry": "^0.1.2",
25
- "@types/mapbox__vector-tile": "^1.3.0",
26
- "@types/pbf": "^3.0.2",
27
23
  "csscolorparser": "~1.0.3",
28
- "earcut": "^2.2.2",
24
+ "earcut": "^2.2.3",
29
25
  "geojson-vt": "^3.2.1",
30
- "gl-matrix": "^3.2.1",
26
+ "gl-matrix": "^3.4.3",
31
27
  "murmurhash-js": "^1.0.0",
32
28
  "pbf": "^3.2.1",
33
- "potpack": "^1.0.1",
29
+ "potpack": "^1.0.2",
34
30
  "quickselect": "^2.0.0",
35
31
  "supercluster": "^7.1.4",
36
32
  "tinyqueue": "^2.0.3",
37
- "vt-pbf": "^3.1.1"
33
+ "vt-pbf": "^3.1.3"
38
34
  },
39
35
  "devDependencies": {
40
- "@babel/core": "^7.16.0",
41
36
  "@mapbox/gazetteer": "^5.1.0",
42
- "@mapbox/mapbox-gl-rtl-text": "^0.2.1",
37
+ "@mapbox/mapbox-gl-rtl-text": "^0.2.3",
43
38
  "@mapbox/mvt-fixtures": "^3.6.0",
44
- "@octokit/rest": "^18.10.0",
45
- "@rollup/plugin-buble": "^0.21.3",
46
39
  "@rollup/plugin-commonjs": "^21.0.1",
47
40
  "@rollup/plugin-json": "^4.1.0",
48
41
  "@rollup/plugin-node-resolve": "^13.1.3",
49
42
  "@rollup/plugin-replace": "^3.0.1",
50
43
  "@rollup/plugin-strip": "^2.1.0",
51
44
  "@rollup/plugin-typescript": "^8.3.0",
52
- "@types/babel__core": "^7.1.12",
53
- "@types/babelify": "^7.3.6",
54
- "@types/benchmark": "^2.1.0",
55
- "@types/browserify": "^12.0.36",
45
+ "@swc/cli": "^0.1.55",
46
+ "@swc/core": "^1.2.135",
47
+ "@swc/jest": "^0.2.17",
48
+ "@types/benchmark": "^2.1.1",
49
+ "@types/browserify": "^12.0.37",
56
50
  "@types/cssnano": "^5.0.0",
57
- "@types/d3": "^4.13.12",
58
- "@types/diff": "^4.0.2",
51
+ "@types/d3": "^7.1.0",
52
+ "@types/diff": "^5.0.2",
59
53
  "@types/earcut": "^2.1.1",
60
- "@types/ejs": "^3.1.0",
61
- "@types/eslint": "^8.2.1",
54
+ "@types/eslint": "^8.4.1",
55
+ "@types/geojson": "^7946.0.8",
62
56
  "@types/gl": "^4.1.0",
63
- "@types/glob": "^7.1.3",
64
- "@types/jest": "^27.0.2",
65
- "@types/jsdom": "^16.2.5",
66
- "@types/jsonwebtoken": "^8.5.5",
67
- "@types/lodash.template": "^4.5.0",
68
- "@types/minimist": "^1.2.1",
57
+ "@types/glob": "^7.2.0",
58
+ "@types/jest": "^27.4.0",
59
+ "@types/jsdom": "^16.2.14",
60
+ "@types/mapbox__point-geometry": "^0.1.2",
61
+ "@types/mapbox__vector-tile": "^1.3.0",
62
+ "@types/minimist": "^1.2.2",
69
63
  "@types/murmurhash-js": "^1.0.3",
70
- "@types/node-notifier": "^8.0.0",
71
- "@types/npm-packlist": "^1.1.1",
72
- "@types/offscreencanvas": "^2019.6.3",
73
- "@types/pixelmatch": "^5.2.2",
64
+ "@types/nise": "^1.4.0",
65
+ "@types/offscreencanvas": "^2019.6.4",
66
+ "@types/pbf": "^3.0.2",
67
+ "@types/pixelmatch": "^5.2.4",
74
68
  "@types/pngjs": "^6.0.1",
75
- "@types/puppeteer": "^5.4.4",
76
- "@types/react": "^17.0.19",
77
- "@types/react-dom": "^17.0.9",
78
- "@types/request": "^2.48.7",
79
- "@types/rollup-plugin-json": "^3.0.2",
80
- "@types/selenium-webdriver": "^4.0.16",
69
+ "@types/react": "^17.0.38",
70
+ "@types/react-dom": "^17.0.11",
71
+ "@types/request": "^2.48.8",
72
+ "@types/rollup-plugin-json": "^3.0.3",
81
73
  "@types/shuffle-seed": "^1.1.0",
82
- "@types/sinon": "^10.0.2",
83
- "@types/stylelint": "^13.13.2",
84
- "@types/supercluster": "^5.0.2",
85
- "@types/tape": "^4.13.2",
74
+ "@types/supercluster": "^5.0.3",
86
75
  "@types/window-or-global": "^1.0.4",
87
- "@typescript-eslint/eslint-plugin": "^5.9.1",
88
- "@typescript-eslint/parser": "^5.9.1",
76
+ "@typescript-eslint/eslint-plugin": "^5.10.1",
77
+ "@typescript-eslint/parser": "^5.10.1",
89
78
  "address": "^1.1.2",
90
- "babel-eslint": "^10.0.1",
91
- "babel-jest": "^27.2.5",
92
- "babelify": "^10.0.0",
93
79
  "benchmark": "^2.1.4",
94
80
  "browserify": "^17.0.0",
95
81
  "canvas": "^2.9.0",
96
- "chokidar": "^3.0.2",
97
- "cssnano": "^5.0.8",
98
- "d3": "^4.12.0",
99
- "diff": "^4.0.1",
100
- "documentation": "^12.3.0",
101
- "dts-bundle-generator": "^6.0.0",
102
- "ejs": "^3.1.6",
103
- "eslint": "^7.32.0",
82
+ "cssnano": "^5.0.16",
83
+ "d3": "^7.3.0",
84
+ "d3-queue": "^3.0.7",
85
+ "diff": "^5.0.0",
86
+ "documentation": "13.0.2",
87
+ "dts-bundle-generator": "^6.4.0",
88
+ "eslint": "^8.7.0",
104
89
  "eslint-config-mourner": "^3.0.0",
105
- "eslint-plugin-html": "^6.1.2",
106
- "eslint-plugin-import": "^2.24.2",
107
- "eslint-plugin-jest": "^25.2.2",
108
- "eslint-plugin-jsdoc": "^37.0.3",
109
- "eslint-plugin-react": "^7.25.1",
90
+ "eslint-plugin-html": "^6.2.0",
91
+ "eslint-plugin-import": "^2.25.4",
92
+ "eslint-plugin-jest": "^26.0.0",
93
+ "eslint-plugin-jsdoc": "^37.7.0",
94
+ "eslint-plugin-react": "^7.28.0",
110
95
  "gl": "^5.0.0",
111
- "glob": "^7.1.4",
112
- "is-builtin-module": "^3.0.0",
113
- "jest": "^27.2.4",
96
+ "glob": "^7.2.0",
97
+ "husky": "^7.0.4",
98
+ "is-builtin-module": "^3.1.0",
99
+ "jest": "^27.5.1",
114
100
  "jest-canvas-mock": "^2.3.1",
115
- "jest-codemods": "^0.25.0",
116
- "jest-raw-loader": "^1.0.1",
117
- "jscodeshift": "^0.13.0",
118
- "jsdom": "^13.0.0",
101
+ "jest-playwright-preset": "^1.7.0",
102
+ "jsdom": "^19.0.0",
119
103
  "json-stringify-pretty-compact": "^3.0.0",
120
- "jsonwebtoken": "^8.3.0",
121
- "list-npm-contents": "^1.0.2",
122
- "lodash": "^4.17.19",
123
- "lodash.template": "^4.5.0",
124
104
  "mapbox-gl-styles": "^2.0.2",
125
105
  "minimist": "^1.2.5",
126
106
  "mock-geolocation": "^1.0.11",
127
- "node-notifier": "^10.0.0",
107
+ "nise": "^5.1.1",
128
108
  "node-plantuml": "^0.9.0",
129
109
  "npm-font-open-sans": "^1.1.0",
130
- "npm-packlist": "^3.0.0",
131
110
  "npm-run-all": "^4.1.5",
132
- "nyc": "^15.1.0",
133
- "pirates": "^4.0.1",
134
- "pixelmatch": "^5.1.0",
111
+ "pdf-merger-js": "^3.3.2",
112
+ "pixelmatch": "^5.2.1",
113
+ "playwright": "^1.18.1",
135
114
  "pngjs": "^6.0.0",
136
- "postcss": "^8.3.11",
137
- "postcss-cli": "^9.0.2",
115
+ "postcss": "^8.4.5",
116
+ "postcss-cli": "^9.1.0",
138
117
  "postcss-inline-svg": "^5.0.0",
139
- "pretty-bytes": "^5.1.0",
140
- "puppeteer": "^13.0.1",
141
- "qrcode-terminal": "^0.12.0",
118
+ "pretty-bytes": "^5.6.0",
142
119
  "react": "^17.0.2",
143
120
  "react-dom": "^17.0.2",
144
- "replace-in-file": "^6.2.0",
145
121
  "request": "^2.88.0",
146
- "rollup": "^2.56.3",
122
+ "rollup": "^2.66.1",
147
123
  "rollup-plugin-sourcemaps": "^0.6.3",
148
124
  "rollup-plugin-terser": "^7.0.2",
149
125
  "rollup-plugin-unassert": "^0.3.0",
150
- "rollup-pluginutils": "^2.8.2",
151
126
  "rw": "^1.3.3",
152
- "selenium-webdriver": "^4.0.0-rc-1",
153
127
  "semver": "^7.3.5",
154
128
  "shuffle-seed": "^1.1.6",
155
- "sinon": "^12.0.1",
156
- "source-map-explorer": "^2.5.1",
129
+ "source-map-explorer": "^2.5.2",
157
130
  "st": "^3.0.0",
158
- "stylelint": "^13.13.1",
159
- "stylelint-config-standard": "^22.0.0",
160
- "tap": "~12.4.1",
161
- "tap-parser": "^10.0.1",
162
- "tape": "^5.3.1",
163
- "tape-filter": "^1.0.4",
164
- "testem": "^3.5.0",
165
- "ts-jest": "^27.0.5",
166
- "ts-node": "^10.4.0",
167
- "typescript": "^4.5.4"
168
- },
169
- "browser": {
170
- "./rollup/build/tsc/src/util/web_worker.js": "./build/web_worker_replacement.js"
131
+ "stylelint": "^14.3.0",
132
+ "stylelint-config-standard": "^24.0.0",
133
+ "ts-node": "^10.5.0",
134
+ "typescript": "^4.5.5"
171
135
  },
172
136
  "scripts": {
173
- "build-post-ts": "node build/post-ts-build.js ./rollup/build/tsc/src/shaders",
174
- "build-post-ts-min": "node build/post-ts-build.js ./rollup/build/tsc/src/shaders true",
175
- "build-tsc": "tsc --outDir rollup/build/tsc && npm run build-post-ts",
176
- "build-tsc-min": "tsc --outDir rollup/build/tsc && npm run build-post-ts-min",
177
- "build-dev": "npm run build-tsc && rollup -c --environment BUILD:dev",
178
- "watch-dev": "rollup -c --environment BUILD:dev --watch",
179
- "build-prod": "npm run build-tsc && rollup -c --environment BUILD:production",
180
- "build-prod-min": "npm run build-tsc-min && rollup -c --environment BUILD:production,MINIFY:true",
181
- "build-csp": "rollup -c rollup.config.csp.js",
182
- "build-query-suite": "rollup -c test/integration/rollup.config.test.js",
137
+ "generate-shaders": "node --loader ts-node/esm --experimental-specifier-resolution=node build/generate-shaders.ts",
138
+ "generate-struct-arrays": "node --loader ts-node/esm --experimental-specifier-resolution=node build/generate-struct-arrays.ts",
139
+ "generate-style-code": "node --loader ts-node/esm --experimental-specifier-resolution=node build/generate-style-code.ts",
140
+ "generate-style-spec": "node --loader ts-node/esm --experimental-specifier-resolution=node build/generate-style-spec.ts",
141
+ "generate-typings": "node --loader ts-node/esm --experimental-specifier-resolution=node build/generate-typings.ts",
142
+ "generate-query-test-fixtures": "node --loader ts-node/esm --experimental-specifier-resolution=node build/generate-query-test-fixtures.ts",
143
+ "build-dev": "rollup --configPlugin @rollup/plugin-typescript -c --environment BUILD:dev",
144
+ "watch-dev": "rollup --configPlugin @rollup/plugin-typescript -c --environment BUILD:dev --watch",
145
+ "build-prod": "rollup --configPlugin @rollup/plugin-typescript -c --environment BUILD:production",
146
+ "build-prod-min": "rollup --configPlugin @rollup/plugin-typescript -c --environment BUILD:production,MINIFY:true",
147
+ "build-csp": "rollup --configPlugin @rollup/plugin-typescript -c rollup.config.csp.ts",
183
148
  "build-css": "postcss -o dist/maplibre-gl.css src/css/maplibre-gl.css",
184
- "build-style-spec": "npm run build-tsc && rollup -c rollup.config.style-spec.js && rollup -c rollup.config.style-spec.js --environment esm",
149
+ "build-style-spec": "rollup --configPlugin @rollup/plugin-typescript -c rollup.config.style-spec.ts && rollup --configPlugin @rollup/plugin-typescript -c rollup.config.style-spec.ts --environment esm",
185
150
  "build-diagrams": "cd docs/diagrams; ls *.plantuml | xargs -I {} puml generate --svg {} -o {}.svg",
186
151
  "watch-css": "postcss --watch -o dist/maplibre-gl.css src/css/maplibre-gl.css",
187
- "build-benchmarks": "npm run build-dev && BENCHMARK_VERSION=${BENCHMARK_VERSION:-\"$(git rev-parse --abbrev-ref HEAD) $(git rev-parse --short=7 HEAD)\"} rollup -c bench/rollup_config_benchmarks.js",
188
- "watch-benchmarks": "BENCHMARK_VERSION=${BENCHMARK_VERSION:-\"$(git rev-parse --abbrev-ref HEAD) $(git rev-parse --short=7 HEAD)\"} rollup -c bench/rollup_config_benchmarks.js --watch",
152
+ "build-benchmarks": "npm run build-dev && rollup --configPlugin @rollup/plugin-typescript -c test/bench/rollup_config_benchmarks.ts",
153
+ "watch-benchmarks": "rollup --configPlugin @rollup/plugin-typescript -c test/bench/rollup_config_benchmarks.ts --watch",
189
154
  "start-server": "st --no-cache -H 0.0.0.0 --port 9966 --index index.html .",
190
- "start": "run-p watch-css watch-query start-server",
155
+ "start-server-at-test": "st --no-cache -H 0.0.0.0 --port 9966 --index index.html -d test",
156
+ "start": "run-p watch-css start-server",
191
157
  "start-debug": "run-p watch-css watch-dev start-server",
192
- "start-tests": "run-p watch-css watch-query start-server",
193
- "start-bench": "run-p watch-css watch-benchmarks start-server",
194
- "lint": "eslint --ext \".ts,.js,.html\" --ignore-path .gitignore src build debug/*.html bench",
158
+ "start-bench": "run-p watch-css watch-benchmarks start-server-at-test",
159
+ "lint": "eslint --cache --ext \".ts,.js,.html\" --ignore-path .gitignore src test build debug/*.html jest.config.js",
195
160
  "lint-docs": "documentation lint src/index.ts",
196
161
  "lint-css": "stylelint \"src/css/maplibre-gl.css\"",
197
162
  "test": "run-s lint lint-css lint-docs test-unit",
198
- "test-suite": "run-s test-render test-query test-expressions",
199
- "test-suite-clean": "find test/integration/{render,query, expressions}-tests -mindepth 2 -type d -exec test -e \"{}/actual.png\" \\; -not \\( -exec test -e \"{}/style.json\" \\; \\) -print | xargs -t rm -r",
200
- "test-unit": "tap --node-arg --no-warnings --node-arg --experimental-specifier-resolution=node --node-arg --experimental-json-modules --reporter classic --no-coverage test/unit",
201
- "test-unit-file": "tap --node-arg --no-warnings --node-arg --experimental-specifier-resolution=node --node-arg --experimental-json-modules --reporter classic --no-coverage ",
202
- "test-build": "tap --node-arg --no-warnings --node-arg --experimental-specifier-resolution=node --node-arg --experimental-json-modules --reporter classic --no-coverage test/build/**/*.test.js",
203
- "test-browser": "tap --node-arg --no-warnings --node-arg --experimental-specifier-resolution=node --node-arg --experimental-json-modules --reporter classic --no-coverage test/browser/**/*.test.js",
204
- "test-render": "node --experimental-specifier-resolution=node --experimental-json-modules --max-old-space-size=2048 test/render.test.js",
205
- "watch-query": "testem -f test/integration/testem.cjs",
206
- "test-query": "testem ci -f test/integration/testem.cjs -R xunit > test/integration/query-tests/test-results.xml",
207
- "test-expressions": "node --experimental-specifier-resolution=node test/expression.test.js",
208
- "test-cov": "nyc --reporter=text-summary --reporter=lcov --cache run-s test-unit test-expressions test-query test-render",
209
- "test-jest": "jest",
210
- "codegen": "node --loader ts-node/esm --experimental-specifier-resolution=node build/generate-style-code.ts && node --loader ts-node/esm --experimental-specifier-resolution=node build/generate-struct-arrays.ts && node --loader ts-node/esm --experimental-specifier-resolution=node build/generate-style-spec.ts",
211
- "gl-stats": "node bench/gl-stats.js"
163
+ "test-build": "jest ./test/build",
164
+ "test-symbol-shaping": "jest ./test/integration/symbol-shaping",
165
+ "test-style-spec": "jest ./test/integration/style-spec",
166
+ "test-browser": "jest -c ./jest.config.e2e.js ./test/integration/browser",
167
+ "test-render": "node --loader ts-node/esm --experimental-specifier-resolution=node --experimental-json-modules --max-old-space-size=2048 test/integration/render/render.test.ts",
168
+ "test-query": "jest -c ./jest.config.e2e.js test/integration/query",
169
+ "test-expression": "jest test/integration/expression",
170
+ "test-unit": "jest ./src",
171
+ "codegen": "npm run generate-style-code && npm run generate-struct-arrays && npm run generate-style-spec && npm run generate-shaders",
172
+ "benchmark": "node --loader ts-node/esm --experimental-specifier-resolution=node test/bench/run-benchmarks.ts",
173
+ "gl-stats": "node --loader ts-node/esm --experimental-specifier-resolution=node test/bench/gl-stats.ts",
174
+ "postinstall": "node ./postinstall.js"
212
175
  },
213
176
  "files": [
214
177
  "build/",