Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
56f5d62
Move maplibre-gl to optional peerDependencies
alexluckett Jun 9, 2026
c59682c
refactor: flatten beta/ provider and plugin directories
alexluckett Jun 9, 2026
12273a5
feat: add package.json to each provider
alexluckett Jun 9, 2026
0352532
feat: add package.json to engine-agnostic plugins
alexluckett Jun 9, 2026
7c4826d
feat: add package.json to engine-coupled plugins
alexluckett Jun 9, 2026
f6dda29
feat: add workspaces, trim exports, remove engine peer deps from root
alexluckett Jun 9, 2026
719625d
fix: update beta/ paths to flat paths in jest coveragePathIgnorePatterns
alexluckett Jun 9, 2026
fac5193
fix: remove beta/ from rollup build paths
alexluckett Jun 9, 2026
b209019
fix: remove beta/ from webpack build paths
alexluckett Jun 9, 2026
b9cca0d
fix: update relative import paths after beta/ directory flatten
alexluckett Jun 10, 2026
7e87b93
feat: extend publish script for monorepo — stamp versions, publish al…
alexluckett Jun 10, 2026
8cb8ee2
docs: update import paths to new monorepo package names
alexluckett Jun 10, 2026
493535b
fix: update beta/ paths in govuk-prototype-kit asset list
alexluckett Jun 10, 2026
ee2854b
fix: correct node_modules relative import depth in draw-ml modes
alexluckett Jun 10, 2026
5b3be7b
fix: add draw-ol to webpack UMD builds; fix draw-ml node_modules impo…
alexluckett Jun 10, 2026
fbb0320
fix: replace direct node_modules imports with public MapboxDraw API
alexluckett Jun 10, 2026
ce268a2
fix: update beta/ paths in demo JS files
alexluckett Jun 10, 2026
b2b13da
chore: update lockfile for workspace packages
alexluckett Jun 10, 2026
a5f420b
fix: add **/*.scss to sideEffects in packages with SCSS imports
alexluckett Jun 10, 2026
7e30c5c
fix: correct CSS exports, add datasets adapter entry, fix publish script
alexluckett Jun 17, 2026
3cffe5a
fix: expose ./package.json in root exports for tooling resolution
alexluckett Jun 18, 2026
8f7c7f8
Merge remote-tracking branch 'origin/main' into maplibre-peer-dependency
alexluckett Jun 18, 2026
5f25548
fix: correct logger import depth after beta/ flatten in merged files
alexluckett Jun 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions demo/js/draw-ol.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ import InteractiveMap from '../../src/index.js'
import { vtsMapStyles27700, ngdMapStyles27700 } from './mapStyles.js'
import { transformGeocodeRequest, transformVtsRequest27700 } from './auth.js'
// Providers
import openLayersProvider from '/providers/beta/openlayers/src/index.js'
import openNamesProvider from '/providers/beta/open-names/src/index.js'
import openLayersProvider from '/providers/openlayers/src/index.js'
import openNamesProvider from '/providers/open-names/src/index.js'
// Plugins
import mapStylesPlugin from '/plugins/beta/map-styles/src/index.js'
import createDrawPlugin from '/plugins/beta/draw-ol/src/index.js'
import mapStylesPlugin from '/plugins/map-styles/src/index.js'
import createDrawPlugin from '/plugins/draw-ol/src/index.js'
import searchPlugin from '/plugins/search/src/index.js'
import createInteractPlugin from '/plugins/interact/src/index.js'

Expand Down
10 changes: 5 additions & 5 deletions demo/js/draw.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ import { parcelSearch, gridRefSearchETRS89 } from './searchCustomDatasets.js'
import { transformGeocodeRequest, transformVtsRequest3857, transformDataRequest } from './auth.js'
// Providers
import maplibreProvider from '/providers/maplibre/src/index.js'
import openNamesProvider from '/providers/beta/open-names/src/index.js'
import openNamesProvider from '/providers/open-names/src/index.js'
// Plugins
import mapStylesPlugin from '/plugins/beta/map-styles/src/index.js'
import createDatasetsPlugin from '/plugins/beta/datasets/src/index.js'
import createDrawPlugin from '/plugins/beta/draw-ml/src/index.js'
import scaleBarPlugin from '/plugins/beta/scale-bar/src/index.js'
import mapStylesPlugin from '/plugins/map-styles/src/index.js'
import createDatasetsPlugin from '/plugins/datasets/src/index.js'
import createDrawPlugin from '/plugins/draw-ml/src/index.js'
import scaleBarPlugin from '/plugins/scale-bar/src/index.js'
import searchPlugin from '/plugins/search/src/index.js'
import createInteractPlugin from '/plugins/interact/src/index.js'

Expand Down
10 changes: 5 additions & 5 deletions demo/js/esm.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ import { parcelSearch, gridRefSearchETRS89 } from './searchCustomDatasets.js'
import { transformGeocodeRequest, transformVtsRequest3857, transformDataRequest } from './auth.js'
// Providers
import maplibreProvider from '/providers/maplibre/src/index.js'
import openNamesProvider from '/providers/beta/open-names/src/index.js'
import openNamesProvider from '/providers/open-names/src/index.js'
// Plugins
import mapStylesPlugin from '/plugins/beta/map-styles/src/index.js'
import createDatasetsPlugin from '/plugins/beta/datasets/dist/esm/index.js'
import scaleBarPlugin from '/plugins/beta/scale-bar/src/index.js'
import mapStylesPlugin from '/plugins/map-styles/src/index.js'
import createDatasetsPlugin from '/plugins/datasets/dist/esm/index.js'
import scaleBarPlugin from '/plugins/scale-bar/src/index.js'
import searchPlugin from '/plugins/search/src/index.js'
import createInteractPlugin from '/plugins/interact/src/index.js'
import createFramePlugin from '/plugins/beta/frame/src/index.js'
import createFramePlugin from '/plugins/frame/src/index.js'

const pointData = {
type: 'FeatureCollection',
Expand Down
14 changes: 7 additions & 7 deletions demo/js/farming.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@ import { parcelSearch, gridRefSearchETRS89 } from './searchCustomDatasets.js'
import { transformGeocodeRequest, transformVtsRequest3857, transformDataRequest } from './auth.js'
// Providers
import maplibreProvider from '/providers/maplibre/src/index.js'
import openNamesProvider from '/providers/beta/open-names/src/index.js'
import openNamesProvider from '/providers/open-names/src/index.js'
// Plugins
import useLocationPlugin from '/plugins/beta/use-location/src/index.js'
import mapStylesPlugin from '/plugins/beta/map-styles/src/index.js'
import createDatasetsPlugin from '/plugins/beta/datasets/src/index.js'
import createDrawPlugin from '/plugins/beta/draw-ml/src/index.js'
import scaleBarPlugin from '/plugins/beta/scale-bar/src/index.js'
import useLocationPlugin from '/plugins/use-location/src/index.js'
import mapStylesPlugin from '/plugins/map-styles/src/index.js'
import createDatasetsPlugin from '/plugins/datasets/src/index.js'
import createDrawPlugin from '/plugins/draw-ml/src/index.js'
import scaleBarPlugin from '/plugins/scale-bar/src/index.js'
import searchPlugin from '/plugins/search/src/index.js'
import createInteractPlugin from '/plugins/interact/src/index.js'
import createFramePlugin from '/plugins/beta/frame/src/index.js'
import createFramePlugin from '/plugins/frame/src/index.js'

var feature = { id: 'test1234', type: 'Feature', geometry: { coordinates: [[[-2.9406643378873127,54.918060570259456],[-2.9092219779267054,54.91564249172612],[-2.904350626383433,54.90329530000005],[-2.909664828067463,54.89540129642464],[-2.9225074821353587,54.88979816151294],[-2.937121536764323,54.88826989853317],[-2.95682836800691,54.88916139231736],[-2.965463945742613,54.898966521920045],[-2.966349646023133,54.910805898763385],[-2.9406643378873127,54.918060570259456]]], type: 'Polygon' }}

Expand Down
10 changes: 5 additions & 5 deletions demo/js/gep.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import InteractiveMap from '../../src/index.js'
import { vtsMapStyles27700 } from './mapStyles.js'
import { transformGeocodeRequest, transformVtsRequest27700 } from './auth.js'
import '/plugins/beta/datasets/src/datasets.scss' // in a separate repo: import '@defra/interactive-map/plugins/datasets/css'
import '/plugins/datasets/src/datasets.scss' // in a separate repo: import '@defra/interactive-map-plugin-datasets/css'
// Providers
import openLayersProvider from '/providers/beta/openlayers/src/index.js'
import openNamesProvider from '/providers/beta/open-names/src/index.js'
import openLayersProvider from '/providers/openlayers/src/index.js'
import openNamesProvider from '/providers/open-names/src/index.js'
// Plugins
import mapStylesPlugin from '/plugins/beta/map-styles/src/index.js'
import scaleBarPlugin from '/plugins/beta/scale-bar/src/index.js'
import mapStylesPlugin from '/plugins/map-styles/src/index.js'
import scaleBarPlugin from '/plugins/scale-bar/src/index.js'
import searchPlugin from '/plugins/search/src/index.js'
import createInteractPlugin from '/plugins/interact/src/index.js'
// GEP demo utils
Expand Down
24 changes: 12 additions & 12 deletions demo/js/index.js
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
// CSS
// import '../../dist/css/index.css'
// import '/plugins/beta/map-styles/dist/css/index.css'
// import '/plugins/beta/datasets/dist/css/index.css'
// import '/plugins/beta/draw-ml/dist/css/index.css'
// import '/plugins/beta/scale-bar/dist/css/index.css'
// import '/plugins/map-styles/dist/css/index.css'
// import '/plugins/datasets/dist/css/index.css'
// import '/plugins/draw-ml/dist/css/index.css'
// import '/plugins/scale-bar/dist/css/index.css'
// import '/plugins/search/dist/css/index.css'
// import '/plugins/interact/dist/css/index.css'
// import '/plugins/beta/frame/dist/css/index.css'
// import '/plugins/frame/dist/css/index.css'
// InteractiveMap
import InteractiveMap from '../../src/index.js'
import { openMapStyles, vtsMapStyles3857 } from './mapStyles.js'
import { parcelSearch, gridRefSearchETRS89 } from './searchCustomDatasets.js'
import { transformGeocodeRequest, transformVtsRequest3857, transformDataRequest } from './auth.js'
// Providers
import maplibreProvider from '/providers/maplibre/src/index.js'
import openNamesProvider from '/providers/beta/open-names/src/index.js'
import openNamesProvider from '/providers/open-names/src/index.js'
// Plugins
import useLocationPlugin from '/plugins/beta/use-location/src/index.js'
import mapStylesPlugin from '/plugins/beta/map-styles/src/index.js'
import createDatasetsPlugin from '/plugins/beta/datasets/src/index.js'
// import createDrawPlugin from '/plugins/beta/draw-ml/src/index.js'
import scaleBarPlugin from '/plugins/beta/scale-bar/src/index.js'
import useLocationPlugin from '/plugins/use-location/src/index.js'
import mapStylesPlugin from '/plugins/map-styles/src/index.js'
import createDatasetsPlugin from '/plugins/datasets/src/index.js'
// import createDrawPlugin from '/plugins/draw-ml/src/index.js'
import scaleBarPlugin from '/plugins/scale-bar/src/index.js'
import searchPlugin from '/plugins/search/src/index.js'
import createInteractPlugin from '/plugins/interact/src/index.js'
import createFramePlugin from '/plugins/beta/frame/src/index.js'
import createFramePlugin from '/plugins/frame/src/index.js'

const pointData = {
type: 'FeatureCollection',
Expand Down
10 changes: 5 additions & 5 deletions demo/js/ml-datasets.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ import { parcelSearch, gridRefSearchETRS89 } from './searchCustomDatasets.js'
import { transformGeocodeRequest, transformVtsRequest3857, transformDataRequest } from './auth.js'
// Providers
import maplibreProvider from '/providers/maplibre/src/index.js'
import openNamesProvider from '/providers/beta/open-names/src/index.js'
import openNamesProvider from '/providers/open-names/src/index.js'
// Plugins
import mapStylesPlugin from '/plugins/beta/map-styles/src/index.js'
import createDatasetsPlugin from '/plugins/beta/datasets/src/index.js'
import scaleBarPlugin from '/plugins/beta/scale-bar/src/index.js'
import mapStylesPlugin from '/plugins/map-styles/src/index.js'
import createDatasetsPlugin from '/plugins/datasets/src/index.js'
import scaleBarPlugin from '/plugins/scale-bar/src/index.js'
import searchPlugin from '/plugins/search/src/index.js'
import createInteractPlugin from '/plugins/interact/src/index.js'
import createFramePlugin from '/plugins/beta/frame/src/index.js'
import createFramePlugin from '/plugins/frame/src/index.js'

const pointData = {
type: 'FeatureCollection',
Expand Down
10 changes: 5 additions & 5 deletions demo/js/planning-ol.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import InteractiveMap from '../../src/index.js'
// Providers
import openNamesProvider from '/providers/beta/open-names/src/index.js'
import openLayersProvider from '/providers/beta/openlayers/src/index.js'
import openNamesProvider from '/providers/open-names/src/index.js'
import openLayersProvider from '/providers/openlayers/src/index.js'
// Plugins
import useLocationPlugin from '/plugins/beta/use-location/src/index.js'
import mapStylesPlugin from '/plugins/beta/map-styles/src/index.js'
import scaleBarPlugin from '/plugins/beta/scale-bar/src/index.js'
import useLocationPlugin from '/plugins/use-location/src/index.js'
import mapStylesPlugin from '/plugins/map-styles/src/index.js'
import scaleBarPlugin from '/plugins/scale-bar/src/index.js'
import searchPlugin from '/plugins/search/src/index.js'
import createInteractPlugin from '/plugins/interact/src/index.js'
// Demo utils
Expand Down
20 changes: 10 additions & 10 deletions demo/js/planning.js
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
// CSS
// import '../../dist/css/index.css'
// import '/plugins/beta/map-styles/dist/css/index.css'
// import '/plugins/beta/scale-bar/dist/css/index.css'
// import '/plugins/map-styles/dist/css/index.css'
// import '/plugins/scale-bar/dist/css/index.css'
// import '/plugins/search/dist/css/index.css'
// import '/plugins/interact/dist/css/index.css'
// import '/plugins/beta/frame/dist/css/index.css'
// import '/plugins/frame/dist/css/index.css'
// InteractiveMap
import InteractiveMap from '../../src/index.js'
// Providers
import openNamesProvider from '/providers/beta/open-names/src/index.js'
import esriProvider from '/providers/beta/esri/src/index.js'
import openNamesProvider from '/providers/open-names/src/index.js'
import esriProvider from '/providers/esri/src/index.js'
// Plugins
import useLocationPlugin from '/plugins/beta/use-location/src/index.js'
import mapStylesPlugin from '/plugins/beta/map-styles/src/index.js'
import createDrawPlugin from '/plugins/beta/draw-es/src/index.js'
import scaleBarPlugin from '/plugins/beta/scale-bar/src/index.js'
import useLocationPlugin from '/plugins/use-location/src/index.js'
import mapStylesPlugin from '/plugins/map-styles/src/index.js'
import createDrawPlugin from '/plugins/draw-es/src/index.js'
import scaleBarPlugin from '/plugins/scale-bar/src/index.js'
import searchPlugin from '/plugins/search/src/index.js'
import createInteractPlugin from '/plugins/interact/src/index.js'
import createFramePlugin from '/plugins/beta/frame/src/index.js'
import createFramePlugin from '/plugins/frame/src/index.js'
// Demo utils
import { vtsMapStyles27700 } from './mapStyles.js'
import { gridRefSearchOSGB36 } from './searchCustomDatasets.js'
Expand Down
4 changes: 2 additions & 2 deletions docs/examples/add-marker-with-panel.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ Add markers to the map and allow users to select them. Selecting a marker fires
language: 'js',
code: `
import InteractiveMap from '@defra/interactive-map'
import maplibreProvider from '@defra/interactive-map/providers/maplibre'
import createInteractPlugin from '@defra/interactive-map/plugins/interact'
import maplibreProvider from '@defra/interactive-map-provider-maplibre'
import createInteractPlugin from '@defra/interactive-map-plugin-interact'

const interactPlugin = createInteractPlugin({
deselectOnClickOutside: true
Expand Down
2 changes: 1 addition & 1 deletion docs/examples/basic-map.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Embed an interactive map directly on the page, allowing users to explore and int
language: 'js',
code: `
import InteractiveMap from '@defra/interactive-map'
import maplibreProvider from '@defra/interactive-map/providers/maplibre'
import maplibreProvider from '@defra/interactive-map-provider-maplibre'

new InteractiveMap('my-map', {
behaviour: 'inline',
Expand Down
2 changes: 1 addition & 1 deletion docs/examples/button-map.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Trigger the map to show on button press, allowing users to access the map when n
language: 'js',
code: `
import InteractiveMap from '@defra/interactive-map'
import maplibreProvider from '@defra/interactive-map/providers/maplibre'
import maplibreProvider from '@defra/interactive-map-provider-maplibre'

new InteractiveMap('my-map', {
behaviour: 'buttonFirst',
Expand Down
4 changes: 2 additions & 2 deletions docs/examples/toggle-marker-label.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ Add a marker with a hidden label, then use the interact plugin to show the label
language: 'js',
code: `
import InteractiveMap from '@defra/interactive-map'
import maplibreProvider from '@defra/interactive-map/providers/maplibre'
import createInteractPlugin from '@defra/interactive-map/plugins/interact'
import maplibreProvider from '@defra/interactive-map-provider-maplibre'
import createInteractPlugin from '@defra/interactive-map-plugin-interact'

const interactPlugin = createInteractPlugin({
deselectOnClickOutside: true
Expand Down
6 changes: 3 additions & 3 deletions docs/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ npm install @arcgis/core

```js
import InteractiveMap from '@defra/interactive-map'
import maplibreProvider from '@defra/interactive-map/providers/maplibre'
import maplibreProvider from '@defra/interactive-map-provider-maplibre'

import '@defra/interactive-map/css'

Expand Down Expand Up @@ -116,8 +116,8 @@ const interactiveMap = new InteractiveMap('map', {
**ESM** — add the plugin import and its CSS alongside your existing core imports, then pass it to `plugins`:

```js
import createInteractPlugin from '@defra/interactive-map/plugins/interact'
import '@defra/interactive-map/plugins/interact/css'
import createInteractPlugin from '@defra/interactive-map-plugin-interact'
import '@defra/interactive-map-plugin-interact/css'

const interactiveMap = new InteractiveMap('map', {
// ...your existing options
Expand Down
2 changes: 1 addition & 1 deletion docs/plugins/datasets.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ The datasets plugin renders GeoJSON and vector tile datasets on the map, with su
## ESM usage

```js
import createDatasetsPlugin from '@defra/interactive-map/plugins/datasets'
import createDatasetsPlugin from '@defra/interactive-map-plugin-datasets'

const datasetsPlugin = createDatasetsPlugin({
datasets: [
Expand Down
2 changes: 1 addition & 1 deletion docs/plugins/interact.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ The interact plugin provides a unified way to handle user interactions for selec
## Usage

```js
import createInteractPlugin from '@defra/interactive-map/plugins/interact'
import createInteractPlugin from '@defra/interactive-map-plugin-interact'

const interactPlugin = createInteractPlugin({
interactionModes: ['selectMarker', 'selectFeature'],
Expand Down
2 changes: 1 addition & 1 deletion docs/plugins/map-styles.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Adds a UI control for switching between basemap styles and, where supported by t
## Usage

```js
import createMapStylesPlugin from '@defra/interactive-map/plugins/map-styles'
import createMapStylesPlugin from '@defra/interactive-map-plugin-map-styles'

const mapStylesPlugin = createMapStylesPlugin({
mapStyles: [
Expand Down
2 changes: 1 addition & 1 deletion docs/plugins/scale-bar.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Displays the current map scale. The scale bar automatically updates as the user
## Usage

```js
import createScaleBarPlugin from '@defra/interactive-map/plugins/scale-bar'
import createScaleBarPlugin from '@defra/interactive-map-plugin-scale-bar'

const scaleBarPlugin = createScaleBarPlugin({
units: 'metric'
Expand Down
2 changes: 1 addition & 1 deletion docs/plugins/search.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Location search with autocomplete. Supports the OS Names API out of the box, and
## Usage

```js
import searchPlugin from '@defra/interactive-map/plugins/search'
import searchPlugin from '@defra/interactive-map-plugin-search'

const interactiveMap = new InteractiveMap({
plugins: [
Expand Down
14 changes: 7 additions & 7 deletions govuk-prototype-kit.config.json
Original file line number Diff line number Diff line change
Expand Up @@ -61,14 +61,14 @@
"/dist/css/",
"/dist/umd/",
"/providers/maplibre/dist",
"/providers/beta/open-names/dist",
"/plugins/beta/datasets/dist",
"/providers/open-names/dist",
"/plugins/datasets/dist",
"/plugins/interact/dist",
"/plugins/beta/map-styles/dist",
"/plugins/beta/scale-bar/dist",
"/plugins/map-styles/dist",
"/plugins/scale-bar/dist",
"/plugins/search/dist",
"/plugins/beta/use-location/dist",
"/plugins/beta/draw-ml/dist",
"/plugins/beta/frame/dist"
"/plugins/use-location/dist",
"/plugins/draw-ml/dist",
"/plugins/frame/dist"
]
}
18 changes: 10 additions & 8 deletions jest.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,16 @@ export default {
'<rootDir>/coverage',
'<rootDir>/demo',
'<rootDir>/src/test-utils.js',
'<rootDir>/plugins/beta/datasets/',
'<rootDir>/providers/beta/',
'<rootDir>/plugins/beta/draw-es',
'<rootDir>/plugins/beta/draw-ml',
'<rootDir>/plugins/beta/frame',
'<rootDir>/plugins/beta/map-styles',
'<rootDir>/plugins/beta/scale-bar',
'<rootDir>/plugins/beta/use-location',
'<rootDir>/plugins/datasets/',
'<rootDir>/providers/esri/',
'<rootDir>/providers/openlayers/',
'<rootDir>/providers/open-names/',
'<rootDir>/plugins/draw-es/',
'<rootDir>/plugins/draw-ml/',
'<rootDir>/plugins/frame/',
'<rootDir>/plugins/map-styles/',
'<rootDir>/plugins/scale-bar/',
'<rootDir>/plugins/use-location/',
'<rootDir>/.docusaurus',
'<rootDir>/build/assets/js',
'/dist/'
Expand Down
Loading
Loading