maplibre-gl 2.0.4 → 2.1.2

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 (319) 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 +1583 -1023
  15. package/dist/maplibre-gl.js +3 -3
  16. package/dist/maplibre-gl.js.map +1 -1
  17. package/package.json +99 -141
  18. package/src/css/maplibre-gl.css +36 -36
  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 +153 -0
  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 +26 -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 +138 -108
  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 +214 -0
  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/test/util.ts +14 -0
  303. package/src/util/tile_request_cache.ts +3 -3
  304. package/src/util/transferable_grid_index.ts +4 -4
  305. package/src/util/util.ts +8 -8
  306. package/src/util/web_worker.ts +4 -68
  307. package/src/util/web_worker_transfer.test.ts +3 -0
  308. package/src/util/web_worker_transfer.ts +21 -17
  309. package/src/util/worker_pool.ts +1 -1
  310. package/build/.eslintrc +0 -21
  311. package/build/glsl_to_js.js +0 -12
  312. package/build/post-ts-build.js +0 -43
  313. package/build/release-notes.md.ejs +0 -8
  314. package/build/test/build-tape.js +0 -17
  315. package/build/web_worker_replacement.js +0 -5
  316. package/dist/package.json +0 -1
  317. package/src/style-spec/validate_spec.test.ts +0 -29
  318. package/src/symbol/shaping.test.ts +0 -392
  319. 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.4",
4
+ "version": "2.1.2",
5
5
  "main": "dist/maplibre-gl.js",
6
6
  "style": "dist/maplibre-gl.css",
7
7
  "license": "BSD-3-Clause",
@@ -9,13 +9,10 @@
9
9
  "type": "git",
10
10
  "url": "git://github.com/maplibre/maplibre-gl-js.git"
11
11
  },
12
- "engines": {
13
- "node": ">=16.0.0"
14
- },
15
12
  "types": "dist/maplibre-gl.d.ts",
16
13
  "type": "module",
17
14
  "dependencies": {
18
- "@mapbox/geojson-rewind": "^0.5.0",
15
+ "@mapbox/geojson-rewind": "^0.5.1",
19
16
  "@mapbox/jsonlint-lines-primitives": "^2.0.2",
20
17
  "@mapbox/mapbox-gl-supported": "^2.0.1",
21
18
  "@mapbox/point-geometry": "^0.1.0",
@@ -23,198 +20,159 @@
23
20
  "@mapbox/unitbezier": "^0.0.1",
24
21
  "@mapbox/vector-tile": "^1.3.1",
25
22
  "@mapbox/whoots-js": "^3.1.0",
26
- "@types/geojson": "^7946.0.7",
27
- "@types/mapbox__point-geometry": "^0.1.2",
28
- "@types/mapbox__vector-tile": "^1.3.0",
29
- "@types/pbf": "^3.0.2",
30
23
  "csscolorparser": "~1.0.3",
31
- "earcut": "^2.2.2",
24
+ "earcut": "^2.2.3",
32
25
  "geojson-vt": "^3.2.1",
33
- "gl-matrix": "^3.2.1",
26
+ "gl-matrix": "^3.4.3",
27
+ "husky": "^7.0.4",
34
28
  "murmurhash-js": "^1.0.0",
35
29
  "pbf": "^3.2.1",
36
- "potpack": "^1.0.1",
30
+ "potpack": "^1.0.2",
37
31
  "quickselect": "^2.0.0",
38
32
  "supercluster": "^7.1.4",
39
33
  "tinyqueue": "^2.0.3",
40
- "vt-pbf": "^3.1.1"
34
+ "vt-pbf": "^3.1.3"
41
35
  },
42
36
  "devDependencies": {
43
- "@babel/core": "^7.16.0",
44
37
  "@mapbox/gazetteer": "^5.1.0",
45
- "@mapbox/mapbox-gl-rtl-text": "^0.2.1",
38
+ "@mapbox/mapbox-gl-rtl-text": "^0.2.3",
46
39
  "@mapbox/mvt-fixtures": "^3.6.0",
47
- "@octokit/rest": "^18.10.0",
48
- "@rollup/plugin-commonjs": "^21.0.0",
40
+ "@rollup/plugin-commonjs": "^21.0.1",
49
41
  "@rollup/plugin-json": "^4.1.0",
50
- "@rollup/plugin-node-resolve": "^13.0.6",
51
- "@rollup/plugin-replace": "^3.0.0",
42
+ "@rollup/plugin-node-resolve": "^13.1.3",
43
+ "@rollup/plugin-replace": "^3.0.1",
52
44
  "@rollup/plugin-strip": "^2.1.0",
53
45
  "@rollup/plugin-typescript": "^8.3.0",
54
- "@types/babel__core": "^7.1.12",
55
- "@types/babelify": "^7.3.6",
56
- "@types/benchmark": "^2.1.0",
57
- "@types/browserify": "^12.0.36",
58
- "@types/cssnano": "^4.0.0",
59
- "@types/d3": "^4.13.12",
60
- "@types/diff": "^4.0.2",
46
+ "@swc/cli": "^0.1.55",
47
+ "@swc/core": "^1.2.135",
48
+ "@swc/jest": "^0.2.17",
49
+ "@types/benchmark": "^2.1.1",
50
+ "@types/browserify": "^12.0.37",
51
+ "@types/cssnano": "^5.0.0",
52
+ "@types/d3": "^7.1.0",
53
+ "@types/diff": "^5.0.2",
61
54
  "@types/earcut": "^2.1.1",
62
- "@types/ejs": "^3.1.0",
63
- "@types/eslint": "^8.2.1",
55
+ "@types/eslint": "^8.4.1",
56
+ "@types/geojson": "^7946.0.8",
64
57
  "@types/gl": "^4.1.0",
65
- "@types/glob": "^7.1.3",
66
- "@types/jest": "^27.0.2",
67
- "@types/jsdom": "^16.2.5",
68
- "@types/jsonwebtoken": "^8.5.5",
69
- "@types/lodash.template": "^4.5.0",
70
- "@types/minimist": "^1.2.1",
58
+ "@types/glob": "^7.2.0",
59
+ "@types/jest": "^27.4.0",
60
+ "@types/jsdom": "^16.2.14",
61
+ "@types/mapbox__point-geometry": "^0.1.2",
62
+ "@types/mapbox__vector-tile": "^1.3.0",
63
+ "@types/minimist": "^1.2.2",
71
64
  "@types/murmurhash-js": "^1.0.3",
72
- "@types/node-notifier": "^8.0.0",
73
- "@types/npm-packlist": "^1.1.1",
74
- "@types/offscreencanvas": "^2019.6.3",
75
- "@types/pixelmatch": "^5.2.2",
65
+ "@types/nise": "^1.4.0",
66
+ "@types/offscreencanvas": "^2019.6.4",
67
+ "@types/pbf": "^3.0.2",
68
+ "@types/pixelmatch": "^5.2.4",
76
69
  "@types/pngjs": "^6.0.1",
77
- "@types/puppeteer": "^5.4.4",
78
- "@types/react": "^17.0.19",
79
- "@types/react-dom": "^17.0.9",
80
- "@types/request": "^2.48.7",
81
- "@types/rollup-plugin-json": "^3.0.2",
82
- "@types/selenium-webdriver": "^4.0.16",
70
+ "@types/react": "^17.0.38",
71
+ "@types/react-dom": "^17.0.11",
72
+ "@types/request": "^2.48.8",
73
+ "@types/rollup-plugin-json": "^3.0.3",
83
74
  "@types/shuffle-seed": "^1.1.0",
84
- "@types/sinon": "^10.0.2",
85
- "@types/stylelint": "^13.13.2",
86
- "@types/supercluster": "^5.0.2",
87
- "@types/tape": "^4.13.2",
75
+ "@types/supercluster": "^5.0.3",
88
76
  "@types/window-or-global": "^1.0.4",
89
- "@typescript-eslint/eslint-plugin": "^5.9.1",
90
- "@typescript-eslint/parser": "^5.9.1",
77
+ "@typescript-eslint/eslint-plugin": "^5.10.1",
78
+ "@typescript-eslint/parser": "^5.10.1",
91
79
  "address": "^1.1.2",
92
- "babel-eslint": "^10.0.1",
93
- "babel-jest": "^27.2.5",
94
- "babelify": "^10.0.0",
95
80
  "benchmark": "^2.1.4",
96
81
  "browserify": "^17.0.0",
97
82
  "canvas": "^2.9.0",
98
- "chokidar": "^3.0.2",
99
- "cssnano": "^5.0.8",
100
- "d3": "^4.12.0",
101
- "diff": "^4.0.1",
102
- "documentation": "~12.1.1",
103
- "dts-bundle-generator": "^6.0.0",
104
- "ejs": "^3.1.6",
105
- "eslint": "^7.32.0",
83
+ "cssnano": "^5.0.16",
84
+ "d3": "^7.3.0",
85
+ "d3-queue": "^3.0.7",
86
+ "diff": "^5.0.0",
87
+ "documentation": "13.0.2",
88
+ "dts-bundle-generator": "^6.4.0",
89
+ "eslint": "^8.7.0",
106
90
  "eslint-config-mourner": "^3.0.0",
107
- "eslint-plugin-html": "^6.1.2",
108
- "eslint-plugin-import": "^2.24.2",
109
- "eslint-plugin-jest": "^25.2.2",
110
- "eslint-plugin-jsdoc": "^37.0.3",
111
- "eslint-plugin-react": "^7.25.1",
91
+ "eslint-plugin-html": "^6.2.0",
92
+ "eslint-plugin-import": "^2.25.4",
93
+ "eslint-plugin-jest": "^26.0.0",
94
+ "eslint-plugin-jsdoc": "^37.7.0",
95
+ "eslint-plugin-react": "^7.28.0",
112
96
  "gl": "^5.0.0",
113
- "glob": "^7.1.4",
114
- "is-builtin-module": "^3.0.0",
115
- "jest": "^27.2.4",
97
+ "glob": "^7.2.0",
98
+ "is-builtin-module": "^3.1.0",
99
+ "jest": "^27.5.1",
116
100
  "jest-canvas-mock": "^2.3.1",
117
- "jest-codemods": "^0.25.0",
118
- "jest-raw-loader": "^1.0.1",
119
- "jscodeshift": "^0.13.0",
120
- "jsdom": "^13.0.0",
101
+ "jest-playwright-preset": "^1.7.0",
102
+ "jsdom": "^19.0.0",
121
103
  "json-stringify-pretty-compact": "^3.0.0",
122
- "jsonwebtoken": "^8.3.0",
123
- "list-npm-contents": "^1.0.2",
124
- "lodash": "^4.17.19",
125
- "lodash.template": "^4.5.0",
126
104
  "mapbox-gl-styles": "^2.0.2",
127
105
  "minimist": "^1.2.5",
128
106
  "mock-geolocation": "^1.0.11",
129
- "node-notifier": "^10.0.0",
107
+ "nise": "^5.1.1",
130
108
  "node-plantuml": "^0.9.0",
131
109
  "npm-font-open-sans": "^1.1.0",
132
- "npm-packlist": "^3.0.0",
133
110
  "npm-run-all": "^4.1.5",
134
- "nyc": "^15.1.0",
135
- "pirates": "^4.0.1",
136
- "pixelmatch": "^5.1.0",
111
+ "pdf-merger-js": "^3.3.2",
112
+ "pixelmatch": "^5.2.1",
113
+ "playwright": "^1.18.1",
137
114
  "pngjs": "^6.0.0",
138
- "postcss": "^8.3.11",
139
- "postcss-cli": "^9.0.2",
115
+ "postcss": "^8.4.5",
116
+ "postcss-cli": "^9.1.0",
140
117
  "postcss-inline-svg": "^5.0.0",
141
- "pretty-bytes": "^5.1.0",
142
- "puppeteer": "^13.0.1",
143
- "qrcode-terminal": "^0.12.0",
118
+ "pretty-bytes": "^5.6.0",
144
119
  "react": "^17.0.2",
145
120
  "react-dom": "^17.0.2",
146
- "replace-in-file": "^6.2.0",
147
121
  "request": "^2.88.0",
148
- "rollup": "^2.56.3",
149
- "rollup-plugin-buble": "^0.19.8",
150
- "rollup-plugin-commonjs": "^10.1.0",
151
- "rollup-plugin-node-resolve": "^5.2.0",
152
- "rollup-plugin-replace": "^2.2.0",
122
+ "rollup": "^2.66.1",
153
123
  "rollup-plugin-sourcemaps": "^0.6.3",
154
124
  "rollup-plugin-terser": "^7.0.2",
155
125
  "rollup-plugin-unassert": "^0.3.0",
156
- "rollup-pluginutils": "^2.8.2",
157
126
  "rw": "^1.3.3",
158
- "selenium-webdriver": "^4.0.0-rc-1",
159
127
  "semver": "^7.3.5",
160
128
  "shuffle-seed": "^1.1.6",
161
- "sinon": "^12.0.1",
162
- "source-map-explorer": "^2.5.1",
129
+ "source-map-explorer": "^2.5.2",
163
130
  "st": "^3.0.0",
164
- "stylelint": "^13.13.1",
165
- "stylelint-config-standard": "^22.0.0",
166
- "tap": "~12.4.1",
167
- "tap-parser": "^10.0.1",
168
- "tape": "^5.3.1",
169
- "tape-filter": "^1.0.4",
170
- "testem": "^3.5.0",
171
- "ts-jest": "^27.0.5",
172
- "ts-node": "^10.2.1",
173
- "typescript": "^4.5.4"
174
- },
175
- "browser": {
176
- "./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"
177
135
  },
178
136
  "scripts": {
179
- "build-post-ts": "node build/post-ts-build.js ./rollup/build/tsc/src/shaders",
180
- "build-post-ts-min": "node build/post-ts-build.js ./rollup/build/tsc/src/shaders true",
181
- "build-tsc": "tsc --outDir rollup/build/tsc && npm run build-post-ts",
182
- "build-tsc-min": "tsc --outDir rollup/build/tsc && npm run build-post-ts-min",
183
- "build-dev": "npm run build-tsc && rollup -c --environment BUILD:dev",
184
- "watch-dev": "rollup -c --environment BUILD:dev --watch",
185
- "build-prod": "npm run build-tsc && rollup -c --environment BUILD:production",
186
- "build-prod-min": "npm run build-tsc-min && rollup -c --environment BUILD:production,MINIFY:true",
187
- "build-csp": "rollup -c rollup.config.csp.js",
188
- "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",
189
148
  "build-css": "postcss -o dist/maplibre-gl.css src/css/maplibre-gl.css",
190
- "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",
191
150
  "build-diagrams": "cd docs/diagrams; ls *.plantuml | xargs -I {} puml generate --svg {} -o {}.svg",
192
151
  "watch-css": "postcss --watch -o dist/maplibre-gl.css src/css/maplibre-gl.css",
193
- "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",
194
- "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",
195
154
  "start-server": "st --no-cache -H 0.0.0.0 --port 9966 --index index.html .",
196
- "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",
197
157
  "start-debug": "run-p watch-css watch-dev start-server",
198
- "start-tests": "run-p watch-css watch-query start-server",
199
- "start-bench": "run-p watch-css watch-benchmarks start-server",
200
- "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",
201
160
  "lint-docs": "documentation lint src/index.ts",
202
161
  "lint-css": "stylelint \"src/css/maplibre-gl.css\"",
203
162
  "test": "run-s lint lint-css lint-docs test-unit",
204
- "test-suite": "run-s test-render test-query test-expressions",
205
- "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",
206
- "test-unit": "tap --node-arg --no-warnings --node-arg --experimental-specifier-resolution=node --node-arg --experimental-json-modules --reporter classic --no-coverage test/unit",
207
- "test-unit-file": "tap --node-arg --no-warnings --node-arg --experimental-specifier-resolution=node --node-arg --experimental-json-modules --reporter classic --no-coverage ",
208
- "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",
209
- "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",
210
- "test-render": "node --experimental-specifier-resolution=node --experimental-json-modules --max-old-space-size=2048 test/render.test.js",
211
- "watch-query": "testem -f test/integration/testem.cjs",
212
- "test-query": "testem ci -f test/integration/testem.cjs -R xunit > test/integration/query-tests/test-results.xml",
213
- "test-expressions": "node --experimental-specifier-resolution=node test/expression.test.js",
214
- "test-cov": "nyc --reporter=text-summary --reporter=lcov --cache run-s test-unit test-expressions test-query test-render",
215
- "test-jest": "jest",
216
- "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",
217
- "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": "npm run codegen && npm run generate-query-test-fixtures",
175
+ "prepare": "husky install"
218
176
  },
219
177
  "files": [
220
178
  "build/",
@@ -1,9 +1,9 @@
1
1
  .maplibregl-map,
2
2
  .mapboxgl-map {
3
- font: 12px/20px 'Helvetica Neue', Arial, Helvetica, sans-serif;
3
+ font: 12px/20px "Helvetica Neue", Arial, Helvetica, sans-serif;
4
4
  overflow: hidden;
5
5
  position: relative;
6
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
6
+ -webkit-tap-highlight-color: rgb(0 0 0 / 0%);
7
7
  }
8
8
 
9
9
  .maplibregl-canvas,
@@ -117,9 +117,9 @@
117
117
 
118
118
  .maplibregl-ctrl-group:not(:empty),
119
119
  .mapboxgl-ctrl-group:not(:empty) {
120
- -moz-box-shadow: 0 0 2px rgba(0, 0, 0, 0.1);
121
- -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.1);
122
- box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
120
+ -moz-box-shadow: 0 0 2px rgb(0 0 0 / 10%);
121
+ -webkit-box-shadow: 0 0 2px rgb(0 0 0 / 10%);
122
+ box-shadow: 0 0 0 2px rgb(0 0 0 / 10%);
123
123
  }
124
124
 
125
125
  @media (-ms-high-contrast: active) {
@@ -179,7 +179,7 @@
179
179
  .maplibregl-ctrl-group button:focus,
180
180
  .mapboxgl-ctrl-attrib-button:focus,
181
181
  .mapboxgl-ctrl-group button:focus {
182
- box-shadow: 0 0 2px 2px rgba(0, 150, 255, 1);
182
+ box-shadow: 0 0 2px 2px rgb(0 150 255 / 100%);
183
183
  }
184
184
 
185
185
  .maplibregl-ctrl button:disabled,
@@ -194,12 +194,12 @@
194
194
 
195
195
  .maplibregl-ctrl button:not(:disabled):hover,
196
196
  .mapboxgl-ctrl button:not(:disabled):hover {
197
- background-color: rgba(0, 0, 0, 0.05);
197
+ background-color: rgb(0 0 0 / 5%);
198
198
  }
199
199
 
200
200
  .maplibregl-ctrl-group button:focus:focus-visible,
201
201
  .mapboxgl-ctrl-group button:focus:focus-visible {
202
- box-shadow: 0 0 2px 2px rgba(0, 150, 255, 1);
202
+ box-shadow: 0 0 2px 2px rgb(0 150 255 / 100%);
203
203
  }
204
204
 
205
205
  .maplibregl-ctrl-group button:focus:not(:focus-visible),
@@ -224,75 +224,75 @@
224
224
 
225
225
  .maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon,
226
226
  .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {
227
- background-image: svg-load('svg/maplibregl-ctrl-zoom-out.svg', fill: #333);
227
+ background-image: svg-load("svg/maplibregl-ctrl-zoom-out.svg", fill: #333);
228
228
  }
229
229
 
230
230
  .maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon,
231
231
  .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {
232
- background-image: svg-load('svg/maplibregl-ctrl-zoom-in.svg', fill: #333);
232
+ background-image: svg-load("svg/maplibregl-ctrl-zoom-in.svg", fill: #333);
233
233
  }
234
234
 
235
235
  @media (-ms-high-contrast: active) {
236
236
  .maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon,
237
237
  .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {
238
- background-image: svg-load('svg/maplibregl-ctrl-zoom-out.svg', fill: #fff);
238
+ background-image: svg-load("svg/maplibregl-ctrl-zoom-out.svg", fill: #fff);
239
239
  }
240
240
 
241
241
  .maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon,
242
242
  .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {
243
- background-image: svg-load('svg/maplibregl-ctrl-zoom-in.svg', fill: #fff);
243
+ background-image: svg-load("svg/maplibregl-ctrl-zoom-in.svg", fill: #fff);
244
244
  }
245
245
  }
246
246
 
247
247
  @media (-ms-high-contrast: black-on-white) {
248
248
  .maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon,
249
249
  .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {
250
- background-image: svg-load('svg/maplibregl-ctrl-zoom-out.svg', fill: #000);
250
+ background-image: svg-load("svg/maplibregl-ctrl-zoom-out.svg", fill: #000);
251
251
  }
252
252
 
253
253
  .maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon,
254
254
  .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {
255
- background-image: svg-load('svg/maplibregl-ctrl-zoom-in.svg', fill: #000);
255
+ background-image: svg-load("svg/maplibregl-ctrl-zoom-in.svg", fill: #000);
256
256
  }
257
257
  }
258
258
 
259
259
  .maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon,
260
260
  .mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon {
261
- background-image: svg-load('svg/maplibregl-ctrl-fullscreen.svg', fill: #333);
261
+ background-image: svg-load("svg/maplibregl-ctrl-fullscreen.svg", fill: #333);
262
262
  }
263
263
 
264
264
  .maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon,
265
265
  .mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon {
266
- background-image: svg-load('svg/maplibregl-ctrl-shrink.svg');
266
+ background-image: svg-load("svg/maplibregl-ctrl-shrink.svg");
267
267
  }
268
268
 
269
269
  @media (-ms-high-contrast: active) {
270
270
  .maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon,
271
271
  .mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon {
272
- background-image: svg-load('svg/maplibregl-ctrl-fullscreen.svg', fill: #fff);
272
+ background-image: svg-load("svg/maplibregl-ctrl-fullscreen.svg", fill: #fff);
273
273
  }
274
274
 
275
275
  .maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon,
276
276
  .mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon {
277
- background-image: svg-load('svg/maplibregl-ctrl-shrink.svg', fill: #fff);
277
+ background-image: svg-load("svg/maplibregl-ctrl-shrink.svg", fill: #fff);
278
278
  }
279
279
  }
280
280
 
281
281
  @media (-ms-high-contrast: black-on-white) {
282
282
  .maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon,
283
283
  .mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon {
284
- background-image: svg-load('svg/maplibregl-ctrl-fullscreen.svg', fill: #000);
284
+ background-image: svg-load("svg/maplibregl-ctrl-fullscreen.svg", fill: #000);
285
285
  }
286
286
 
287
287
  .maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon,
288
288
  .mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon {
289
- background-image: svg-load('svg/maplibregl-ctrl-shrink.svg', fill: #000);
289
+ background-image: svg-load("svg/maplibregl-ctrl-shrink.svg", fill: #000);
290
290
  }
291
291
  }
292
292
 
293
293
  .maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon,
294
294
  .mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon {
295
- background-image: svg-load('svg/maplibregl-ctrl-compass.svg', fill: #333);
295
+ background-image: svg-load("svg/maplibregl-ctrl-compass.svg", fill: #333);
296
296
  }
297
297
 
298
298
  @media (-ms-high-contrast: active) {
@@ -310,7 +310,7 @@
310
310
  @media (-ms-high-contrast: black-on-white) {
311
311
  .maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon,
312
312
  .mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon {
313
- background-image: svg-load('svg/maplibregl-ctrl-compass.svg', fill: #000);
313
+ background-image: svg-load("svg/maplibregl-ctrl-compass.svg", fill: #000);
314
314
  }
315
315
  }
316
316
 
@@ -483,7 +483,7 @@ a.mapboxgl-ctrl-logo {
483
483
  background-repeat: no-repeat;
484
484
  cursor: pointer;
485
485
  overflow: hidden;
486
- background-image: svg-load('svg/maplibregl-ctrl-logo.svg');
486
+ background-image: svg-load("svg/maplibregl-ctrl-logo.svg");
487
487
  }
488
488
 
489
489
  a.maplibregl-ctrl-logo.maplibregl-compact,
@@ -519,7 +519,7 @@ a.mapboxgl-ctrl-logo.mapboxgl-compact {
519
519
  .maplibregl-ctrl.maplibregl-ctrl-attrib,
520
520
  .mapboxgl-ctrl.mapboxgl-ctrl-attrib {
521
521
  padding: 0 5px;
522
- background-color: rgba(255, 255, 255, 0.5);
522
+ background-color: rgb(255 255 255 / 50%);
523
523
  margin: 0;
524
524
  }
525
525
 
@@ -558,8 +558,8 @@ a.mapboxgl-ctrl-logo.mapboxgl-compact {
558
558
  display: none;
559
559
  cursor: pointer;
560
560
  position: absolute;
561
- background-image: svg-load('svg/maplibregl-ctrl-attrib.svg');
562
- background-color: rgba(255, 255, 255, 0.5);
561
+ background-image: svg-load("svg/maplibregl-ctrl-attrib.svg");
562
+ background-color: rgb(255 255 255 / 50%);
563
563
  width: 24px;
564
564
  height: 24px;
565
565
  box-sizing: border-box;
@@ -586,7 +586,7 @@ a.mapboxgl-ctrl-logo.mapboxgl-compact {
586
586
 
587
587
  .maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button,
588
588
  .mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button {
589
- background-color: rgba(0, 0, 0, 0.05);
589
+ background-color: rgb(0 0 0 / 5%);
590
590
  }
591
591
 
592
592
  .maplibregl-ctrl-bottom-right > .maplibregl-ctrl-attrib.maplibregl-compact::after,
@@ -617,20 +617,20 @@ a.mapboxgl-ctrl-logo.mapboxgl-compact {
617
617
  @media screen and (-ms-high-contrast: active) {
618
618
  .maplibregl-ctrl-attrib.maplibregl-compact::after,
619
619
  .mapboxgl-ctrl-attrib.mapboxgl-compact::after {
620
- background-image: svg-load('svg/maplibregl-ctrl-attrib.svg', fill=#fff);
620
+ background-image: svg-load("svg/maplibregl-ctrl-attrib.svg", fill=#fff);
621
621
  }
622
622
  }
623
623
 
624
624
  @media screen and (-ms-high-contrast: black-on-white) {
625
625
  .maplibregl-ctrl-attrib.maplibregl-compact::after,
626
626
  .mapboxgl-ctrl-attrib.mapboxgl-compact::after {
627
- background-image: svg-load('svg/maplibregl-ctrl-attrib.svg');
627
+ background-image: svg-load("svg/maplibregl-ctrl-attrib.svg");
628
628
  }
629
629
  }
630
630
 
631
631
  .maplibregl-ctrl-attrib a,
632
632
  .mapboxgl-ctrl-attrib a {
633
- color: rgba(0, 0, 0, 0.75);
633
+ color: rgb(0 0 0 / 75%);
634
634
  text-decoration: none;
635
635
  }
636
636
 
@@ -647,7 +647,7 @@ a.mapboxgl-ctrl-logo.mapboxgl-compact {
647
647
 
648
648
  .maplibregl-ctrl-scale,
649
649
  .mapboxgl-ctrl-scale {
650
- background-color: rgba(255, 255, 255, 0.75);
650
+ background-color: rgb(255 255 255 / 75%);
651
651
  font-size: 10px;
652
652
  border-width: medium 2px 2px;
653
653
  border-style: none solid solid;
@@ -789,7 +789,7 @@ a.mapboxgl-ctrl-logo.mapboxgl-compact {
789
789
 
790
790
  .maplibregl-popup-close-button:hover,
791
791
  .mapboxgl-popup-close-button:hover {
792
- background-color: rgba(0, 0, 0, 0.05);
792
+ background-color: rgb(0 0 0 / 5%);
793
793
  }
794
794
 
795
795
  .maplibregl-popup-content,
@@ -797,7 +797,7 @@ a.mapboxgl-ctrl-logo.mapboxgl-compact {
797
797
  position: relative;
798
798
  background: #fff;
799
799
  border-radius: 3px;
800
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
800
+ box-shadow: 0 1px 2px rgb(0 0 0 / 10%);
801
801
  padding: 15px 10px;
802
802
  pointer-events: auto;
803
803
  }
@@ -862,7 +862,7 @@ a.mapboxgl-ctrl-logo.mapboxgl-compact {
862
862
  .maplibregl-user-location-dot::before,
863
863
  .mapboxgl-user-location-dot::before {
864
864
  background-color: #1da1f2;
865
- content: '';
865
+ content: "";
866
866
  width: 15px;
867
867
  height: 15px;
868
868
  border-radius: 50%;
@@ -877,14 +877,14 @@ a.mapboxgl-ctrl-logo.mapboxgl-compact {
877
877
  .mapboxgl-user-location-dot::after {
878
878
  border-radius: 50%;
879
879
  border: 2px solid #fff;
880
- content: '';
880
+ content: "";
881
881
  height: 19px;
882
882
  left: -2px;
883
883
  position: absolute;
884
884
  top: -2px;
885
885
  width: 19px;
886
886
  box-sizing: border-box;
887
- box-shadow: 0 0 3px rgba(0, 0, 0, 0.35);
887
+ box-shadow: 0 0 3px rgb(0 0 0 / 35%);
888
888
  }
889
889
 
890
890
  @-webkit-keyframes maplibregl-user-location-dot-pulse {
File without changes
@@ -1,4 +1,4 @@
1
- import {CircleLayoutArray} from '../array_types';
1
+ import {CircleLayoutArray} from '../array_types.g';
2
2
 
3
3
  import {members as layoutAttributes} from './circle_attributes';
4
4
  import SegmentVector from '../segment';
@@ -13,7 +13,7 @@ import ZoomHistory from '../../style/zoom_history';
13
13
  import {BucketFeature, BucketParameters} from '../bucket';
14
14
 
15
15
  // Load a fill feature from fixture tile.
16
- const vt = new VectorTile(new Protobuf(fs.readFileSync(path.resolve(__dirname, '../../../test/fixtures/mbsv5-6-18-23.vector.pbf'))));
16
+ const vt = new VectorTile(new Protobuf(fs.readFileSync(path.resolve(__dirname, '../../../test/unit/assets/mbsv5-6-18-23.vector.pbf'))));
17
17
  const feature = vt.layers.water.feature(0);
18
18
 
19
19
  function createPolygon(numPoints) {
@@ -1,4 +1,4 @@
1
- import {FillLayoutArray} from '../array_types';
1
+ import {FillLayoutArray} from '../array_types.g';
2
2
 
3
3
  import {members as layoutAttributes} from './fill_attributes';
4
4
  import SegmentVector from '../segment';
@@ -126,14 +126,14 @@ class FillBucket implements Bucket {
126
126
  }
127
127
 
128
128
  update(states: FeatureStates, vtLayer: VectorTileLayer, imagePositions: {
129
- [_: string]: ImagePosition;
129
+ [_: string]: ImagePosition;
130
130
  }) {
131
131
  if (!this.stateDependentLayers.length) return;
132
132
  this.programConfigurations.updatePaintArrays(states, vtLayer, this.stateDependentLayers, imagePositions);
133
133
  }
134
134
 
135
135
  addFeatures(options: PopulateParameters, canonical: CanonicalTileID, imagePositions: {
136
- [_: string]: ImagePosition;
136
+ [_: string]: ImagePosition;
137
137
  }) {
138
138
  for (const feature of this.patternFeatures) {
139
139
  this.addFeature(feature, feature.geometry, feature.index, canonical, imagePositions);
@@ -168,7 +168,7 @@ class FillBucket implements Bucket {
168
168
  }
169
169
 
170
170
  addFeature(feature: BucketFeature, geometry: Array<Array<Point>>, index: number, canonical: CanonicalTileID, imagePositions: {
171
- [_: string]: ImagePosition;
171
+ [_: string]: ImagePosition;
172
172
  }) {
173
173
  for (const polygon of classifyRings(geometry, EARCUT_MAX_RINGS)) {
174
174
  let numVertices = 0;