// the find
vue-leaflet/Vue2Leaflet
Vue 2 components for Leaflet maps
Vue2Leaflet wraps Leaflet map primitives as Vue 2 components — LMap, LMarker, LTileLayer, and about 20 others. It's for teams still running Vue 2 who want declarative map composition without manually wiring Leaflet's imperative API. The package has decent adoption (2k stars, ~2M npm downloads historically) but the name tells you everything you need to know about its future.
The component coverage is solid: markers, polygons, circles, GeoJSON, WMS layers, popups, tooltips, image overlays, and layer controls all have first-class components. The mixin architecture (Layer, Path, Polygon, Popper, etc.) is well-factored — shared Leaflet lifecycle management lives in one place rather than duplicated across every component. Tree-shaking works correctly since the 2.x rewrite split the bundle per-component. The test suite covers all the major components with real jsdom tests, not just smoke-check renders.
Vue 2 reached end-of-life in December 2023, so adopting this now means building on a dead framework. The Vue 3 equivalent (vue-leaflet/vue-leaflet) exists but is a separate project and not a drop-in migration path — you will rewrite. Last meaningful commit was October 2024 and activity has been dwindling for years; bug fixes are community PRs with slow or no review. TypeScript support is a single hand-written `types/index.d.ts` that lags behind the implementation and has no generics for event handlers or layer options.