diff --git a/demo/js/draw-ol.js b/demo/js/draw-ol.js index e7a769e3..5435639b 100644 --- a/demo/js/draw-ol.js +++ b/demo/js/draw-ol.js @@ -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' diff --git a/demo/js/draw.js b/demo/js/draw.js index 98495eda..ef7f8b36 100755 --- a/demo/js/draw.js +++ b/demo/js/draw.js @@ -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' diff --git a/demo/js/esm.js b/demo/js/esm.js index f2f053f2..39683dee 100644 --- a/demo/js/esm.js +++ b/demo/js/esm.js @@ -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', diff --git a/demo/js/farming.js b/demo/js/farming.js index c43a3c7f..e63dcaab 100755 --- a/demo/js/farming.js +++ b/demo/js/farming.js @@ -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' }} diff --git a/demo/js/gep.js b/demo/js/gep.js index e03ef086..de97fb7b 100644 --- a/demo/js/gep.js +++ b/demo/js/gep.js @@ -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 diff --git a/demo/js/index.js b/demo/js/index.js index 177ec982..c2177703 100755 --- a/demo/js/index.js +++ b/demo/js/index.js @@ -1,12 +1,12 @@ // 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' @@ -14,16 +14,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' const pointData = { type: 'FeatureCollection', diff --git a/demo/js/ml-datasets.js b/demo/js/ml-datasets.js index f020cc19..288191c6 100644 --- a/demo/js/ml-datasets.js +++ b/demo/js/ml-datasets.js @@ -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', diff --git a/demo/js/planning-ol.js b/demo/js/planning-ol.js index 87c48dd7..1264092e 100644 --- a/demo/js/planning-ol.js +++ b/demo/js/planning-ol.js @@ -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 diff --git a/demo/js/planning.js b/demo/js/planning.js index e9722290..531854c9 100755 --- a/demo/js/planning.js +++ b/demo/js/planning.js @@ -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' diff --git a/docs/examples/add-marker-with-panel.mdx b/docs/examples/add-marker-with-panel.mdx index f00de81b..f2c04a36 100644 --- a/docs/examples/add-marker-with-panel.mdx +++ b/docs/examples/add-marker-with-panel.mdx @@ -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 diff --git a/docs/examples/basic-map.mdx b/docs/examples/basic-map.mdx index 7ae57f7b..6dbc988b 100644 --- a/docs/examples/basic-map.mdx +++ b/docs/examples/basic-map.mdx @@ -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', diff --git a/docs/examples/button-map.mdx b/docs/examples/button-map.mdx index 17006058..3f4daf93 100644 --- a/docs/examples/button-map.mdx +++ b/docs/examples/button-map.mdx @@ -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', diff --git a/docs/examples/toggle-marker-label.mdx b/docs/examples/toggle-marker-label.mdx index b8ea6bca..bedc3c34 100644 --- a/docs/examples/toggle-marker-label.mdx +++ b/docs/examples/toggle-marker-label.mdx @@ -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 diff --git a/docs/getting-started.md b/docs/getting-started.md index 97c0826f..5506e3f9 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -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' @@ -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 diff --git a/docs/plugins/datasets.md b/docs/plugins/datasets.md index f546cbb2..d004d64f 100644 --- a/docs/plugins/datasets.md +++ b/docs/plugins/datasets.md @@ -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: [ diff --git a/docs/plugins/interact.md b/docs/plugins/interact.md index 352b4861..69e2297e 100644 --- a/docs/plugins/interact.md +++ b/docs/plugins/interact.md @@ -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'], diff --git a/docs/plugins/map-styles.md b/docs/plugins/map-styles.md index 68ff7b0c..b6de2171 100644 --- a/docs/plugins/map-styles.md +++ b/docs/plugins/map-styles.md @@ -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: [ diff --git a/docs/plugins/scale-bar.md b/docs/plugins/scale-bar.md index 0a7227e6..0e97d198 100644 --- a/docs/plugins/scale-bar.md +++ b/docs/plugins/scale-bar.md @@ -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' diff --git a/docs/plugins/search.md b/docs/plugins/search.md index e450b9f8..b979bead 100644 --- a/docs/plugins/search.md +++ b/docs/plugins/search.md @@ -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: [ diff --git a/govuk-prototype-kit.config.json b/govuk-prototype-kit.config.json index d648d9f3..1f583f29 100644 --- a/govuk-prototype-kit.config.json +++ b/govuk-prototype-kit.config.json @@ -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" ] } \ No newline at end of file diff --git a/jest.config.mjs b/jest.config.mjs index a33d594e..6a1aee23 100755 --- a/jest.config.mjs +++ b/jest.config.mjs @@ -26,14 +26,16 @@ export default { '/coverage', '/demo', '/src/test-utils.js', - '/plugins/beta/datasets/', - '/providers/beta/', - '/plugins/beta/draw-es', - '/plugins/beta/draw-ml', - '/plugins/beta/frame', - '/plugins/beta/map-styles', - '/plugins/beta/scale-bar', - '/plugins/beta/use-location', + '/plugins/datasets/', + '/providers/esri/', + '/providers/openlayers/', + '/providers/open-names/', + '/plugins/draw-es/', + '/plugins/draw-ml/', + '/plugins/frame/', + '/plugins/map-styles/', + '/plugins/scale-bar/', + '/plugins/use-location/', '/.docusaurus', '/build/assets/js', '/dist/' diff --git a/package-lock.json b/package-lock.json index 6684c5ec..bc57d068 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,6 +7,10 @@ "": { "name": "@defra/interactive-map", "version": "0.0.0-development", + "workspaces": [ + "providers/*", + "plugins/*" + ], "dependencies": { "@babel/runtime": "^7.28.6", "@turf/area": "^7.2.0", @@ -21,7 +25,6 @@ "@turf/polygon-to-line": "^7.3.3", "accessible-autocomplete": "^3.0.1", "govuk-frontend": "^5.13.0", - "maplibre-gl": "^5.23.0", "polygon-splitter": "^0.0.11", "preact": "^10.27.2", "tslib": "^2.8.1" @@ -66,6 +69,7 @@ "jest-expect-message": "^1.1.3", "likec4": "^1.50.0", "mapbox-gl-snap": "^1.1.9", + "maplibre-gl": "^5.23.0", "mini-css-extract-plugin": "^2.9.2", "node-fetch": "^3.3.2", "npm-run-all": "^4.1.5", @@ -92,22 +96,6 @@ "webpack-dev-server": "^5.2.2", "webpack-merge": "^6.0.1", "webpack-remove-empty-scripts": "^1.1.1" - }, - "peerDependencies": { - "@arcgis/core": "^5.0.9", - "ol": "^10.9.0", - "proj4": "^2.20.8" - }, - "peerDependenciesMeta": { - "@arcgis/core": { - "optional": true - }, - "ol": { - "optional": true - }, - "proj4": { - "optional": true - } } }, "../../docusaurus-govuk": { @@ -3486,6 +3474,62 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@defra/interactive-map-plugin-datasets": { + "resolved": "plugins/datasets", + "link": true + }, + "node_modules/@defra/interactive-map-plugin-draw-es": { + "resolved": "plugins/draw-es", + "link": true + }, + "node_modules/@defra/interactive-map-plugin-draw-ml": { + "resolved": "plugins/draw-ml", + "link": true + }, + "node_modules/@defra/interactive-map-plugin-draw-ol": { + "resolved": "plugins/draw-ol", + "link": true + }, + "node_modules/@defra/interactive-map-plugin-frame": { + "resolved": "plugins/frame", + "link": true + }, + "node_modules/@defra/interactive-map-plugin-interact": { + "resolved": "plugins/interact", + "link": true + }, + "node_modules/@defra/interactive-map-plugin-map-styles": { + "resolved": "plugins/map-styles", + "link": true + }, + "node_modules/@defra/interactive-map-plugin-scale-bar": { + "resolved": "plugins/scale-bar", + "link": true + }, + "node_modules/@defra/interactive-map-plugin-search": { + "resolved": "plugins/search", + "link": true + }, + "node_modules/@defra/interactive-map-plugin-use-location": { + "resolved": "plugins/use-location", + "link": true + }, + "node_modules/@defra/interactive-map-provider-esri": { + "resolved": "providers/esri", + "link": true + }, + "node_modules/@defra/interactive-map-provider-maplibre": { + "resolved": "providers/maplibre", + "link": true + }, + "node_modules/@defra/interactive-map-provider-open-names": { + "resolved": "providers/open-names", + "link": true + }, + "node_modules/@defra/interactive-map-provider-openlayers": { + "resolved": "providers/openlayers", + "link": true + }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.7", "dev": true, @@ -6224,6 +6268,7 @@ }, "node_modules/@mapbox/jsonlint-lines-primitives": { "version": "2.0.2", + "dev": true, "engines": { "node": ">= 0.6" } @@ -6251,18 +6296,22 @@ }, "node_modules/@mapbox/point-geometry": { "version": "1.1.0", + "dev": true, "license": "ISC" }, "node_modules/@mapbox/tiny-sdf": { "version": "2.0.7", + "dev": true, "license": "BSD-2-Clause" }, "node_modules/@mapbox/unitbezier": { "version": "0.0.1", + "dev": true, "license": "BSD-2-Clause" }, "node_modules/@mapbox/vector-tile": { "version": "2.0.4", + "dev": true, "license": "BSD-3-Clause", "dependencies": { "@mapbox/point-geometry": "~1.1.0", @@ -6272,6 +6321,7 @@ }, "node_modules/@mapbox/whoots-js": { "version": "3.1.0", + "dev": true, "license": "ISC", "engines": { "node": ">=6.0.0" @@ -6281,6 +6331,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/@maplibre/geojson-vt/-/geojson-vt-6.1.0.tgz", "integrity": "sha512-2eIY4gZxeKIVOZVNkAMb+5NgXhgsMQpOveTQAvnp53LYqHGJZDidk7Ew0Tged9PThidpbS+NFTh0g4zivhPDzQ==", + "dev": true, "license": "ISC", "dependencies": { "kdbush": "^4.0.2" @@ -6290,6 +6341,7 @@ "version": "24.8.1", "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-24.8.1.tgz", "integrity": "sha512-zxa92qF96ZNojLxeAjnaRpjVCy+swoUNJvDhtpC90k7u5F0TMr4GmvNqMKvYrMoPB8d7gRSXbMG1hBbmgESIsw==", + "dev": true, "license": "ISC", "dependencies": { "@mapbox/jsonlint-lines-primitives": "~2.0.2", @@ -6310,6 +6362,7 @@ "version": "1.1.8", "resolved": "https://registry.npmjs.org/@maplibre/mlt/-/mlt-1.1.8.tgz", "integrity": "sha512-8vtfYGidr1rNkv5IwIoU2lfe3Oy+Wa8HluzQYcQi9cveU9K3pweAal/poQj4GJ0K/EW4bTQp2wVAs09g2yDRZg==", + "dev": true, "license": "(MIT OR Apache-2.0)", "dependencies": { "@mapbox/point-geometry": "^1.1.0" @@ -6319,6 +6372,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/@maplibre/vt-pbf/-/vt-pbf-4.3.0.tgz", "integrity": "sha512-jIvp8F5hQCcreqOOpEt42TJMUlsrEcpf/kI1T2v85YrQRV6PPXUcEXUg5karKtH6oh47XJZ4kHu56pUkOuqA7w==", + "dev": true, "license": "MIT", "dependencies": { "@mapbox/point-geometry": "^1.1.0", @@ -6334,6 +6388,7 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/@maplibre/geojson-vt/-/geojson-vt-5.0.4.tgz", "integrity": "sha512-KGg9sma45S+stfH9vPCJk1J0lSDLWZgCT9Y8u8qWZJyjFlP8MNP1WGTxIMYJZjDvVT3PDn05kN1C95Sut1HpgQ==", + "dev": true, "license": "ISC" }, "node_modules/@mdx-js/mdx": { @@ -10999,6 +11054,7 @@ }, "node_modules/@types/supercluster": { "version": "7.1.3", + "dev": true, "license": "MIT", "dependencies": { "@types/geojson": "*" @@ -15109,6 +15165,7 @@ }, "node_modules/earcut": { "version": "3.0.2", + "dev": true, "license": "ISC" }, "node_modules/eastasianwidth": { @@ -17303,6 +17360,7 @@ }, "node_modules/gl-matrix": { "version": "3.4.4", + "dev": true, "license": "MIT" }, "node_modules/glob": { @@ -20346,6 +20404,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-4.0.0.tgz", "integrity": "sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==", + "dev": true, "license": "MIT" }, "node_modules/json5": { @@ -20386,6 +20445,7 @@ }, "node_modules/kdbush": { "version": "4.0.2", + "dev": true, "license": "ISC" }, "node_modules/keyv": { @@ -21298,6 +21358,7 @@ "version": "5.23.0", "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-5.23.0.tgz", "integrity": "sha512-aou8YBNFS8uVtDWFWt0W/6oorfl18wt+oIA8fnXk1kivjkbtXi9gGrQvflTpwrR3hG13aWdIdbYWeN0NFMV7ag==", + "dev": true, "license": "BSD-3-Clause", "dependencies": { "@mapbox/jsonlint-lines-primitives": "^2.0.2", @@ -23921,6 +23982,7 @@ }, "node_modules/minimist": { "version": "1.2.8", + "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -24010,6 +24072,7 @@ }, "node_modules/murmurhash-js": { "version": "1.0.0", + "dev": true, "license": "MIT" }, "node_modules/nano-spawn": { @@ -25114,6 +25177,7 @@ }, "node_modules/pbf": { "version": "4.0.1", + "dev": true, "license": "BSD-3-Clause", "dependencies": { "resolve-protobuf-schema": "^2.1.0" @@ -27134,6 +27198,7 @@ }, "node_modules/potpack": { "version": "2.1.0", + "dev": true, "license": "ISC" }, "node_modules/powershell-utils": { @@ -27302,6 +27367,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.1.tgz", "integrity": "sha512-VG2K63Igkiv9p76tk1lilczEK1cT+kCjKtkdhw1dQZV3k3IXJbd3o6Ho8b9zJZaHSnT2hKe4I+ObmX9w6m5SmQ==", + "dev": true, "license": "MIT" }, "node_modules/proxy-addr": { @@ -27445,6 +27511,7 @@ }, "node_modules/quickselect": { "version": "3.0.0", + "dev": true, "license": "ISC" }, "node_modules/range-parser": { @@ -28226,6 +28293,7 @@ }, "node_modules/resolve-protobuf-schema": { "version": "2.1.0", + "dev": true, "license": "MIT", "dependencies": { "protocol-buffers-schema": "^3.3.1" @@ -29330,6 +29398,7 @@ }, "node_modules/rw": { "version": "1.3.3", + "dev": true, "license": "BSD-3-Clause" }, "node_modules/safe-array-concat": { @@ -30811,6 +30880,7 @@ }, "node_modules/supercluster": { "version": "8.0.1", + "dev": true, "license": "ISC", "dependencies": { "kdbush": "^4.0.2" @@ -31258,6 +31328,7 @@ }, "node_modules/tinyqueue": { "version": "3.0.0", + "dev": true, "license": "ISC" }, "node_modules/tldts": { @@ -33423,6 +33494,111 @@ "type": "github", "url": "https://github.com/sponsors/wooorm" } + }, + "plugins/datasets": { + "name": "@defra/interactive-map-plugin-datasets", + "version": "0.0.0-development", + "peerDependencies": { + "@defra/interactive-map": "*" + } + }, + "plugins/draw-es": { + "name": "@defra/interactive-map-plugin-draw-es", + "version": "0.0.0-development", + "peerDependencies": { + "@arcgis/core": "^5.0.9", + "@defra/interactive-map": "*" + } + }, + "plugins/draw-ml": { + "name": "@defra/interactive-map-plugin-draw-ml", + "version": "0.0.0-development", + "peerDependencies": { + "@defra/interactive-map": "*", + "maplibre-gl": "^5.23.0" + } + }, + "plugins/draw-ol": { + "name": "@defra/interactive-map-plugin-draw-ol", + "version": "0.0.0-development", + "peerDependencies": { + "@defra/interactive-map": "*", + "ol": "^10.9.0" + } + }, + "plugins/frame": { + "name": "@defra/interactive-map-plugin-frame", + "version": "0.0.0-development", + "peerDependencies": { + "@defra/interactive-map": "*" + } + }, + "plugins/interact": { + "name": "@defra/interactive-map-plugin-interact", + "version": "0.0.0-development", + "peerDependencies": { + "@defra/interactive-map": "*" + } + }, + "plugins/map-styles": { + "name": "@defra/interactive-map-plugin-map-styles", + "version": "0.0.0-development", + "peerDependencies": { + "@defra/interactive-map": "*" + } + }, + "plugins/scale-bar": { + "name": "@defra/interactive-map-plugin-scale-bar", + "version": "0.0.0-development", + "peerDependencies": { + "@defra/interactive-map": "*" + } + }, + "plugins/search": { + "name": "@defra/interactive-map-plugin-search", + "version": "0.0.0-development", + "peerDependencies": { + "@defra/interactive-map": "*" + } + }, + "plugins/use-location": { + "name": "@defra/interactive-map-plugin-use-location", + "version": "0.0.0-development", + "peerDependencies": { + "@defra/interactive-map": "*" + } + }, + "providers/esri": { + "name": "@defra/interactive-map-provider-esri", + "version": "0.0.0-development", + "peerDependencies": { + "@arcgis/core": "^5.0.9", + "@defra/interactive-map": "*" + } + }, + "providers/maplibre": { + "name": "@defra/interactive-map-provider-maplibre", + "version": "0.0.0-development", + "peerDependencies": { + "@defra/interactive-map": "*", + "maplibre-gl": "^5.23.0" + } + }, + "providers/open-names": { + "name": "@defra/interactive-map-provider-open-names", + "version": "0.0.0-development", + "peerDependencies": { + "@defra/interactive-map": "*" + } + }, + "providers/openlayers": { + "name": "@defra/interactive-map-provider-openlayers", + "version": "0.0.0-development", + "peerDependencies": { + "@defra/interactive-map": "*", + "ol": "^10.9.0", + "proj4": "^2.20.8" + } } } } diff --git a/package.json b/package.json index 3c5a611f..fd82c926 100755 --- a/package.json +++ b/package.json @@ -6,6 +6,10 @@ "type": "git", "url": "https://github.com/DEFRA/interactive-map" }, + "workspaces": [ + "providers/*", + "plugins/*" + ], "main": "dist/umd/index.js", "module": "dist/esm/index.js", "exports": { @@ -13,67 +17,8 @@ "import": "./dist/esm/index.js", "require": "./dist/umd/index.js" }, - "./providers/maplibre": { - "import": "./providers/maplibre/dist/esm/index.js", - "require": "./providers/maplibre/dist/umd/index.js" - }, - "./providers/open-names": { - "import": "./providers/beta/open-names/dist/esm/index.js", - "require": "./providers/beta/open-names/dist/umd/index.js" - }, - "./providers/esri": { - "import": "./providers/beta/esri/dist/esm/index.js" - }, - "./providers/openlayers": { - "import": "./providers/beta/openlayers/dist/esm/index.js", - "require": "./providers/beta/openlayers/dist/umd/index.js" - }, - "./plugins/scale-bar": { - "import": "./plugins/beta/scale-bar/dist/esm/index.js", - "require": "./plugins/beta/scale-bar/dist/umd/index.js" - }, - "./plugins/use-location": { - "import": "./plugins/beta/use-location/dist/esm/index.js", - "require": "./plugins/beta/use-location/dist/umd/index.js" - }, - "./plugins/search": { - "import": "./plugins/search/dist/esm/index.js", - "require": "./plugins/search/dist/umd/index.js" - }, - "./plugins/interact": { - "import": "./plugins/interact/dist/esm/index.js", - "require": "./plugins/interact/dist/umd/index.js" - }, - "./plugins/datasets": { - "import": "./plugins/beta/datasets/dist/esm/index.js" - }, - "./plugins/datasets/adapters/maplibre": { - "import": "./plugins/beta/datasets/dist/adapters/maplibre/esm/index.js" - }, - "./plugins/map-styles": { - "import": "./plugins/beta/map-styles/dist/esm/index.js", - "require": "./plugins/beta/map-styles/dist/umd/index.js" - }, - "./plugins/draw-ml": { - "import": "./plugins/beta/draw-ml/dist/esm/index.js", - "require": "./plugins/beta/draw-ml/dist/umd/index.js" - }, - "./plugins/draw-es": { - "import": "./plugins/beta/draw-es/dist/esm/index.js" - }, - "./plugins/frame": { - "import": "./plugins/beta/frame/dist/esm/index.js", - "require": "./plugins/beta/frame/dist/umd/index.js" - }, "./css": "./dist/css/index.css", - "./plugins/draw-ml/css": "./plugins/beta/draw-ml/dist/css/index.css", - "./plugins/scale-bar/css": "./plugins/beta/scale-bar/dist/css/index.css", - "./plugins/datasets/css": "./plugins/beta/datasets/dist/css/index.css", - "./plugins/frame/css": "./plugins/beta/frame/dist/css/index.css", - "./plugins/map-styles/css": "./plugins/beta/map-styles/dist/css/index.css", - "./plugins/search/css": "./plugins/search/dist/css/index.css", - "./plugins/interact/css": "./plugins/interact/dist/css/index.css", - "./providers/esri/css": "./providers/beta/esri/dist/css/index.css" + "./package.json": "./package.json" }, "type": "module", "sideEffects": [ @@ -119,22 +64,6 @@ "node_modules" ] }, - "peerDependencies": { - "@arcgis/core": "^5.0.9", - "ol": "^10.9.0", - "proj4": "^2.20.8" - }, - "peerDependenciesMeta": { - "@arcgis/core": { - "optional": true - }, - "ol": { - "optional": true - }, - "proj4": { - "optional": true - } - }, "devDependencies": { "@arcgis/core": "^5.0.9", "@babel/core": "^7.28.0", @@ -175,6 +104,7 @@ "jest-expect-message": "^1.1.3", "likec4": "^1.50.0", "mapbox-gl-snap": "^1.1.9", + "maplibre-gl": "^5.23.0", "mini-css-extract-plugin": "^2.9.2", "node-fetch": "^3.3.2", "npm-run-all": "^4.1.5", @@ -235,7 +165,6 @@ "@turf/polygon-to-line": "^7.3.3", "accessible-autocomplete": "^3.0.1", "govuk-frontend": "^5.13.0", - "maplibre-gl": "^5.23.0", "polygon-splitter": "^0.0.11", "preact": "^10.27.2", "tslib": "^2.8.1" diff --git a/plugins/beta/frame/package.json b/plugins/beta/frame/package.json deleted file mode 100644 index 3ef0c778..00000000 --- a/plugins/beta/frame/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "@defra/frame-plugin", - "version": "1.0.0-alpha.1", - "main": "dist/umd/index.js", - "module": "dist/esm/index.js", - "exports": { - "import": "./dist/esm/index.js", - "require": "./dist/umd/index.js" - }, - "type": "module", - "peerDependencies": { - "react": "^19.2.0", - "react-dom": "^19.2.0", - "preact": "^10.27.0" - }, - "peerDependenciesMeta": { - "react": { "optional": true }, - "react-dom": { "optional": true } - }, - "scripts": { - "build:umd": "webpack --config ../../../webpack.umd.js --mode production", - "build:esm": "webpack --config ../../../webpack.esm.mjs --mode production", - "build": "npm run build:umd && npm run build:esm", - "clean": "rm -rf dist" - }, - "devDependencies": {}, - "dependencies": {} -} diff --git a/plugins/beta/scale-bar/package.json b/plugins/beta/scale-bar/package.json deleted file mode 100644 index f054c8c5..00000000 --- a/plugins/beta/scale-bar/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "@defra/scale-bar-plugin", - "version": "1.0.0-alpha.1", - "main": "dist/umd/index.js", - "module": "dist/esm/index.js", - "exports": { - "import": "./dist/esm/index.js", - "require": "./dist/umd/index.js" - }, - "type": "module", - "peerDependencies": { - "react": "^19.2.0", - "react-dom": "^19.2.0", - "preact": "^10.27.0" - }, - "peerDependenciesMeta": { - "react": { "optional": true }, - "react-dom": { "optional": true } - }, - "scripts": { - "build:umd": "webpack --config ../../../webpack.umd.js --mode production", - "build:esm": "webpack --config ../../../webpack.esm.mjs --mode production", - "build": "npm run build:umd && npm run build:esm", - "clean": "rm -rf dist" - }, - "devDependencies": {}, - "dependencies": {} -} diff --git a/plugins/datasets/package.json b/plugins/datasets/package.json new file mode 100644 index 00000000..2645bd6d --- /dev/null +++ b/plugins/datasets/package.json @@ -0,0 +1,28 @@ +{ + "name": "@defra/interactive-map-plugin-datasets", + "version": "0.0.0-development", + "description": "Datasets plugin for @defra/interactive-map", + "repository": { + "type": "git", + "url": "https://github.com/DEFRA/interactive-map", + "directory": "plugins/datasets" + }, + "module": "dist/esm/index.js", + "exports": { + ".": { + "import": "./dist/esm/index.js" + }, + "./adapters/maplibre": { + "import": "./dist/adapters/maplibre/esm/index.js" + }, + "./css": "./dist/css/index.css" + }, + "type": "module", + "files": ["dist"], + "sideEffects": ["**/*.css", "**/*.scss"], + "publishConfig": { "tag": "beta" }, + "peerDependencies": { + "@defra/interactive-map": "*" + }, + "license": "" +} diff --git a/plugins/beta/datasets/src/adapters/loadLayerAdapter.js b/plugins/datasets/src/adapters/loadLayerAdapter.js similarity index 100% rename from plugins/beta/datasets/src/adapters/loadLayerAdapter.js rename to plugins/datasets/src/adapters/loadLayerAdapter.js diff --git a/plugins/datasets/src/adapters/maplibre/index.js b/plugins/datasets/src/adapters/maplibre/index.js new file mode 100644 index 00000000..d7053ef5 --- /dev/null +++ b/plugins/datasets/src/adapters/maplibre/index.js @@ -0,0 +1 @@ +export { default as maplibreLayerAdapter } from './maplibreLayerAdapter.js' diff --git a/plugins/beta/datasets/src/adapters/maplibre/layerBuilders.js b/plugins/datasets/src/adapters/maplibre/layerBuilders.js similarity index 96% rename from plugins/beta/datasets/src/adapters/maplibre/layerBuilders.js rename to plugins/datasets/src/adapters/maplibre/layerBuilders.js index f4c59a6c..fba15763 100644 --- a/plugins/beta/datasets/src/adapters/maplibre/layerBuilders.js +++ b/plugins/datasets/src/adapters/maplibre/layerBuilders.js @@ -1,5 +1,5 @@ -import { getValueForStyle } from '../../../../../../src/utils/getValueForStyle.js' -import { getSymbolAnchor } from '../../../../../../src/utils/symbolUtils.js' +import { getValueForStyle } from '../../../../../src/utils/getValueForStyle.js' +import { getSymbolAnchor } from '../../../../../src/utils/symbolUtils.js' // ─── Fill layer ─────────────────────────────────────────────────────────────── diff --git a/plugins/beta/datasets/src/adapters/maplibre/maplibreLayerAdapter.js b/plugins/datasets/src/adapters/maplibre/maplibreLayerAdapter.js similarity index 100% rename from plugins/beta/datasets/src/adapters/maplibre/maplibreLayerAdapter.js rename to plugins/datasets/src/adapters/maplibre/maplibreLayerAdapter.js diff --git a/plugins/beta/datasets/src/adapters/maplibre/maplibreLayerAdapter.test.js b/plugins/datasets/src/adapters/maplibre/maplibreLayerAdapter.test.js similarity index 99% rename from plugins/beta/datasets/src/adapters/maplibre/maplibreLayerAdapter.test.js rename to plugins/datasets/src/adapters/maplibre/maplibreLayerAdapter.test.js index 247d1b54..feeaf4ae 100644 --- a/plugins/beta/datasets/src/adapters/maplibre/maplibreLayerAdapter.test.js +++ b/plugins/datasets/src/adapters/maplibre/maplibreLayerAdapter.test.js @@ -1,8 +1,8 @@ import MaplibreLayerAdapter from './maplibreLayerAdapter.js' import { MapLibreDataset } from './registry/mapLibreDataset.js' import { datasetRegistry } from '../../registry/datasetRegistry.js' -import { symbolRegistry } from '../../../../../../src/services/symbolRegistry.js' -import { patternRegistry } from '../../../../../../src/services/patternRegistry.js' +import { symbolRegistry } from '../../../../../src/services/symbolRegistry.js' +import { patternRegistry } from '../../../../../src/services/patternRegistry.js' jest.mock('../../registry/datasetRegistry.js') diff --git a/plugins/beta/datasets/src/adapters/maplibre/registry/mapLibreDataset.js b/plugins/datasets/src/adapters/maplibre/registry/mapLibreDataset.js similarity index 95% rename from plugins/beta/datasets/src/adapters/maplibre/registry/mapLibreDataset.js rename to plugins/datasets/src/adapters/maplibre/registry/mapLibreDataset.js index 0bd1e77d..6c7fc117 100644 --- a/plugins/beta/datasets/src/adapters/maplibre/registry/mapLibreDataset.js +++ b/plugins/datasets/src/adapters/maplibre/registry/mapLibreDataset.js @@ -1,7 +1,7 @@ import { Dataset } from '../../../registry/dataset.js' -import { hashString } from '../../../../../../../src/utils/patternUtils.js' -import { anchorToMaplibre } from '../../../../../../../providers/maplibre/src/utils/symbolImages.js' -import { logger } from '../../../../../../../src/services/logger.js' +import { hashString } from '../../../../../../src/utils/patternUtils.js' +import { anchorToMaplibre } from '../../../../../../providers/maplibre/src/utils/symbolImages.js' +import { logger } from '../../../../../../src/services/logger.js' const MAX_TILE_ZOOM = 22 export class MapLibreDataset extends Dataset { diff --git a/plugins/beta/datasets/src/adapters/maplibre/registry/mapLibreDataset.test.js b/plugins/datasets/src/adapters/maplibre/registry/mapLibreDataset.test.js similarity index 99% rename from plugins/beta/datasets/src/adapters/maplibre/registry/mapLibreDataset.test.js rename to plugins/datasets/src/adapters/maplibre/registry/mapLibreDataset.test.js index d2a9c1cb..b1ffac8e 100644 --- a/plugins/beta/datasets/src/adapters/maplibre/registry/mapLibreDataset.test.js +++ b/plugins/datasets/src/adapters/maplibre/registry/mapLibreDataset.test.js @@ -1,10 +1,10 @@ import { MapLibreDataset } from './mapLibreDataset.js' import { datasetRegistry } from '../../../registry/datasetRegistry.js' -import { logger } from '../../../../../../../src/services/logger.js' +import { logger } from '../../../../../../src/services/logger.js' // Use the mock datasetRegistry with the demo datasets attached before each test // so we can test Dataset methods that depend on parent/sublayer relationships and styles jest.mock('../../../registry/datasetRegistry.js') -jest.mock('../../../../../../../src/services/logger.js', () => ({ +jest.mock('../../../../../../src/services/logger.js', () => ({ logger: { warn: jest.fn() } })) diff --git a/plugins/beta/datasets/src/api/addDataset.js b/plugins/datasets/src/api/addDataset.js similarity index 100% rename from plugins/beta/datasets/src/api/addDataset.js rename to plugins/datasets/src/api/addDataset.js diff --git a/plugins/beta/datasets/src/api/addDataset.test.js b/plugins/datasets/src/api/addDataset.test.js similarity index 100% rename from plugins/beta/datasets/src/api/addDataset.test.js rename to plugins/datasets/src/api/addDataset.test.js diff --git a/plugins/beta/datasets/src/api/getOpacity.js b/plugins/datasets/src/api/getOpacity.js similarity index 89% rename from plugins/beta/datasets/src/api/getOpacity.js rename to plugins/datasets/src/api/getOpacity.js index 53b9fb61..58c9b1c1 100644 --- a/plugins/beta/datasets/src/api/getOpacity.js +++ b/plugins/datasets/src/api/getOpacity.js @@ -1,4 +1,4 @@ -import { logger } from '../../../../../src/services/logger.js' +import { logger } from '../../../../src/services/logger.js' import { datasetRegistry } from '../registry/datasetRegistry.js' export const getOpacity = ({ pluginState: { globals } }, options = {}) => { diff --git a/plugins/beta/datasets/src/api/getOpacity.test.js b/plugins/datasets/src/api/getOpacity.test.js similarity index 95% rename from plugins/beta/datasets/src/api/getOpacity.test.js rename to plugins/datasets/src/api/getOpacity.test.js index a1e943e0..43e1286e 100644 --- a/plugins/beta/datasets/src/api/getOpacity.test.js +++ b/plugins/datasets/src/api/getOpacity.test.js @@ -1,12 +1,12 @@ import { getOpacity } from './getOpacity.js' import { datasetRegistry } from '../registry/datasetRegistry.js' -import { logger } from '../../../../../src/services/logger.js' +import { logger } from '../../../../src/services/logger.js' jest.mock('../registry/datasetRegistry.js', () => ({ datasetRegistry: { getDataset: jest.fn() } })) -jest.mock('../../../../../src/services/logger.js', () => ({ +jest.mock('../../../../src/services/logger.js', () => ({ logger: { warn: jest.fn() } })) diff --git a/plugins/beta/datasets/src/api/getStyle.js b/plugins/datasets/src/api/getStyle.js similarity index 87% rename from plugins/beta/datasets/src/api/getStyle.js rename to plugins/datasets/src/api/getStyle.js index 0a6cd1c9..6ecfc39a 100644 --- a/plugins/beta/datasets/src/api/getStyle.js +++ b/plugins/datasets/src/api/getStyle.js @@ -1,4 +1,4 @@ -import { logger } from '../../../../../src/services/logger.js' +import { logger } from '../../../../src/services/logger.js' import { datasetRegistry } from '../registry/datasetRegistry.js' export const getStyle = ({ pluginState }, { datasetId, sublayerId } = {}) => { diff --git a/plugins/beta/datasets/src/api/getStyle.test.js b/plugins/datasets/src/api/getStyle.test.js similarity index 92% rename from plugins/beta/datasets/src/api/getStyle.test.js rename to plugins/datasets/src/api/getStyle.test.js index fc1b6232..3771cbdc 100644 --- a/plugins/beta/datasets/src/api/getStyle.test.js +++ b/plugins/datasets/src/api/getStyle.test.js @@ -1,12 +1,12 @@ import { getStyle } from './getStyle.js' import { datasetRegistry } from '../registry/datasetRegistry.js' -import { logger } from '../../../../../src/services/logger.js' +import { logger } from '../../../../src/services/logger.js' jest.mock('../registry/datasetRegistry.js', () => ({ datasetRegistry: { getDataset: jest.fn() } })) -jest.mock('../../../../../src/services/logger.js', () => ({ +jest.mock('../../../../src/services/logger.js', () => ({ logger: { warn: jest.fn() } })) diff --git a/plugins/beta/datasets/src/api/removeDataset.js b/plugins/datasets/src/api/removeDataset.js similarity index 100% rename from plugins/beta/datasets/src/api/removeDataset.js rename to plugins/datasets/src/api/removeDataset.js diff --git a/plugins/beta/datasets/src/api/removeDataset.test.js b/plugins/datasets/src/api/removeDataset.test.js similarity index 100% rename from plugins/beta/datasets/src/api/removeDataset.test.js rename to plugins/datasets/src/api/removeDataset.test.js diff --git a/plugins/beta/datasets/src/api/setData.js b/plugins/datasets/src/api/setData.js similarity index 89% rename from plugins/beta/datasets/src/api/setData.js rename to plugins/datasets/src/api/setData.js index cf0ee23b..f5485fc8 100644 --- a/plugins/beta/datasets/src/api/setData.js +++ b/plugins/datasets/src/api/setData.js @@ -1,4 +1,4 @@ -import { logger } from '../../../../../src/services/logger.js' +import { logger } from '../../../../src/services/logger.js' import { datasetRegistry } from '../registry/datasetRegistry.js' import { layerAdapter } from '../adapters/loadLayerAdapter.js' diff --git a/plugins/beta/datasets/src/api/setData.test.js b/plugins/datasets/src/api/setData.test.js similarity index 94% rename from plugins/beta/datasets/src/api/setData.test.js rename to plugins/datasets/src/api/setData.test.js index 80b18142..2b2f2927 100644 --- a/plugins/beta/datasets/src/api/setData.test.js +++ b/plugins/datasets/src/api/setData.test.js @@ -1,6 +1,6 @@ import { setData } from './setData.js' import { datasetRegistry } from '../registry/datasetRegistry.js' -import { logger } from '../../../../../src/services/logger.js' +import { logger } from '../../../../src/services/logger.js' import { layerAdapter } from '../adapters/loadLayerAdapter.js' jest.mock('../adapters/loadLayerAdapter.js', () => ({ @@ -13,7 +13,7 @@ jest.mock('../registry/datasetRegistry.js', () => ({ datasetRegistry: { getDataset: jest.fn() } })) -jest.mock('../../../../../src/services/logger.js', () => ({ +jest.mock('../../../../src/services/logger.js', () => ({ logger: { warn: jest.fn() } })) diff --git a/plugins/beta/datasets/src/api/setDatasetVisibility.js b/plugins/datasets/src/api/setDatasetVisibility.js similarity index 100% rename from plugins/beta/datasets/src/api/setDatasetVisibility.js rename to plugins/datasets/src/api/setDatasetVisibility.js diff --git a/plugins/beta/datasets/src/api/setDatasetVisibility.test.js b/plugins/datasets/src/api/setDatasetVisibility.test.js similarity index 100% rename from plugins/beta/datasets/src/api/setDatasetVisibility.test.js rename to plugins/datasets/src/api/setDatasetVisibility.test.js diff --git a/plugins/beta/datasets/src/api/setFeatureVisibility.js b/plugins/datasets/src/api/setFeatureVisibility.js similarity index 91% rename from plugins/beta/datasets/src/api/setFeatureVisibility.js rename to plugins/datasets/src/api/setFeatureVisibility.js index 1f3701ce..7f7c09a3 100644 --- a/plugins/beta/datasets/src/api/setFeatureVisibility.js +++ b/plugins/datasets/src/api/setFeatureVisibility.js @@ -1,4 +1,4 @@ -import { logger } from '../../../../../src/services/logger.js' +import { logger } from '../../../../src/services/logger.js' import { datasetRegistry } from '../registry/datasetRegistry.js' export const setFeatureVisibility = ({ pluginState: { dispatch } }, visible, featureIds, { datasetId = null } = {}) => { diff --git a/plugins/beta/datasets/src/api/setFeatureVisibility.test.js b/plugins/datasets/src/api/setFeatureVisibility.test.js similarity index 95% rename from plugins/beta/datasets/src/api/setFeatureVisibility.test.js rename to plugins/datasets/src/api/setFeatureVisibility.test.js index 0dd5b5ca..d4deb3c2 100644 --- a/plugins/beta/datasets/src/api/setFeatureVisibility.test.js +++ b/plugins/datasets/src/api/setFeatureVisibility.test.js @@ -1,12 +1,12 @@ import { setFeatureVisibility } from './setFeatureVisibility.js' import { datasetRegistry } from '../registry/datasetRegistry.js' -import { logger } from '../../../../../src/services/logger.js' +import { logger } from '../../../../src/services/logger.js' jest.mock('../registry/datasetRegistry.js', () => ({ datasetRegistry: { getDataset: jest.fn() } })) -jest.mock('../../../../../src/services/logger.js', () => ({ +jest.mock('../../../../src/services/logger.js', () => ({ logger: { warn: jest.fn() } })) diff --git a/plugins/beta/datasets/src/api/setGlobals.js b/plugins/datasets/src/api/setGlobals.js similarity index 90% rename from plugins/beta/datasets/src/api/setGlobals.js rename to plugins/datasets/src/api/setGlobals.js index 10195266..99c16d90 100644 --- a/plugins/beta/datasets/src/api/setGlobals.js +++ b/plugins/datasets/src/api/setGlobals.js @@ -1,4 +1,4 @@ -import { logger } from '../../../../../src/services/logger.js' +import { logger } from '../../../../src/services/logger.js' export const setGlobals = ({ pluginState: { dispatch } }, values) => { const { opacityMode } = values const payload = {} diff --git a/plugins/beta/datasets/src/api/setGlobals.test.js b/plugins/datasets/src/api/setGlobals.test.js similarity index 94% rename from plugins/beta/datasets/src/api/setGlobals.test.js rename to plugins/datasets/src/api/setGlobals.test.js index bb0e1651..e71bde00 100644 --- a/plugins/beta/datasets/src/api/setGlobals.test.js +++ b/plugins/datasets/src/api/setGlobals.test.js @@ -1,7 +1,7 @@ import { setGlobals } from './setGlobals.js' -import { logger } from '../../../../../src/services/logger.js' +import { logger } from '../../../../src/services/logger.js' -jest.mock('../../../../../src/services/logger.js', () => ({ +jest.mock('../../../../src/services/logger.js', () => ({ logger: { warn: jest.fn() } })) diff --git a/plugins/beta/datasets/src/api/setOpacity.js b/plugins/datasets/src/api/setOpacity.js similarity index 100% rename from plugins/beta/datasets/src/api/setOpacity.js rename to plugins/datasets/src/api/setOpacity.js diff --git a/plugins/beta/datasets/src/api/setOpacity.test.js b/plugins/datasets/src/api/setOpacity.test.js similarity index 100% rename from plugins/beta/datasets/src/api/setOpacity.test.js rename to plugins/datasets/src/api/setOpacity.test.js diff --git a/plugins/beta/datasets/src/api/setStyle.js b/plugins/datasets/src/api/setStyle.js similarity index 100% rename from plugins/beta/datasets/src/api/setStyle.js rename to plugins/datasets/src/api/setStyle.js diff --git a/plugins/beta/datasets/src/api/setStyle.test.js b/plugins/datasets/src/api/setStyle.test.js similarity index 100% rename from plugins/beta/datasets/src/api/setStyle.test.js rename to plugins/datasets/src/api/setStyle.test.js diff --git a/plugins/beta/datasets/src/components/Key/EmptyKey.jsx b/plugins/datasets/src/components/Key/EmptyKey.jsx similarity index 100% rename from plugins/beta/datasets/src/components/Key/EmptyKey.jsx rename to plugins/datasets/src/components/Key/EmptyKey.jsx diff --git a/plugins/beta/datasets/src/components/Key/EmptyKey.test.jsx b/plugins/datasets/src/components/Key/EmptyKey.test.jsx similarity index 100% rename from plugins/beta/datasets/src/components/Key/EmptyKey.test.jsx rename to plugins/datasets/src/components/Key/EmptyKey.test.jsx diff --git a/plugins/beta/datasets/src/components/Key/Key.jsx b/plugins/datasets/src/components/Key/Key.jsx similarity index 100% rename from plugins/beta/datasets/src/components/Key/Key.jsx rename to plugins/datasets/src/components/Key/Key.jsx diff --git a/plugins/beta/datasets/src/components/Key/Key.module.scss b/plugins/datasets/src/components/Key/Key.module.scss similarity index 100% rename from plugins/beta/datasets/src/components/Key/Key.module.scss rename to plugins/datasets/src/components/Key/Key.module.scss diff --git a/plugins/beta/datasets/src/components/Key/KeyGroupItem.jsx b/plugins/datasets/src/components/Key/KeyGroupItem.jsx similarity index 100% rename from plugins/beta/datasets/src/components/Key/KeyGroupItem.jsx rename to plugins/datasets/src/components/Key/KeyGroupItem.jsx diff --git a/plugins/beta/datasets/src/components/Key/KeyItem.jsx b/plugins/datasets/src/components/Key/KeyItem.jsx similarity index 89% rename from plugins/beta/datasets/src/components/Key/KeyItem.jsx rename to plugins/datasets/src/components/Key/KeyItem.jsx index f931a7dc..57035f11 100644 --- a/plugins/beta/datasets/src/components/Key/KeyItem.jsx +++ b/plugins/datasets/src/components/Key/KeyItem.jsx @@ -1,4 +1,4 @@ -import { getValueForStyle } from '../../../../../../src/utils/getValueForStyle.js' +import { getValueForStyle } from '../../../../../src/utils/getValueForStyle.js' import { KeySvg } from './KeySvg.jsx' export const KeyItem = ({ registryDataset, symbolRegistry, patternRegistry, mapStyle }) => { diff --git a/plugins/beta/datasets/src/components/Key/KeySvg.jsx b/plugins/datasets/src/components/Key/KeySvg.jsx similarity index 100% rename from plugins/beta/datasets/src/components/Key/KeySvg.jsx rename to plugins/datasets/src/components/Key/KeySvg.jsx diff --git a/plugins/beta/datasets/src/components/Key/KeySvg.test.jsx b/plugins/datasets/src/components/Key/KeySvg.test.jsx similarity index 95% rename from plugins/beta/datasets/src/components/Key/KeySvg.test.jsx rename to plugins/datasets/src/components/Key/KeySvg.test.jsx index 494e9c4f..4020fd16 100644 --- a/plugins/beta/datasets/src/components/Key/KeySvg.test.jsx +++ b/plugins/datasets/src/components/Key/KeySvg.test.jsx @@ -1,8 +1,8 @@ import { render } from '@testing-library/react' import { KeySvg } from './KeySvg' -import { symbolRegistry } from '../../../../../../src/services/symbolRegistry.js' -import { patternRegistry } from '../../../../../../src/services/patternRegistry.js' +import { symbolRegistry } from '../../../../../src/services/symbolRegistry.js' +import { patternRegistry } from '../../../../../src/services/patternRegistry.js' const getSymbolDef = jest.spyOn(symbolRegistry, 'getSymbolDef') diff --git a/plugins/beta/datasets/src/components/Key/KeySvgLine.jsx b/plugins/datasets/src/components/Key/KeySvgLine.jsx similarity index 85% rename from plugins/beta/datasets/src/components/Key/KeySvgLine.jsx rename to plugins/datasets/src/components/Key/KeySvgLine.jsx index 13fb3d87..7d5b165a 100644 --- a/plugins/beta/datasets/src/components/Key/KeySvgLine.jsx +++ b/plugins/datasets/src/components/Key/KeySvgLine.jsx @@ -1,5 +1,5 @@ import { svgProps, SVG_SIZE, SVG_CENTER } from './svgProperties.js' -import { getValueForStyle } from '../../../../../../src/utils/getValueForStyle.js' +import { getValueForStyle } from '../../../../../src/utils/getValueForStyle.js' export const KeySvgLine = ({ mapStyle, registryDataset }) => { const { style } = registryDataset diff --git a/plugins/beta/datasets/src/components/Key/KeySvgLine.test.jsx b/plugins/datasets/src/components/Key/KeySvgLine.test.jsx similarity index 93% rename from plugins/beta/datasets/src/components/Key/KeySvgLine.test.jsx rename to plugins/datasets/src/components/Key/KeySvgLine.test.jsx index 866aa330..4a596b80 100644 --- a/plugins/beta/datasets/src/components/Key/KeySvgLine.test.jsx +++ b/plugins/datasets/src/components/Key/KeySvgLine.test.jsx @@ -1,9 +1,9 @@ import { render } from '@testing-library/react' import { KeySvgLine } from './KeySvgLine' -import { getValueForStyle } from '../../../../../../src/utils/getValueForStyle' +import { getValueForStyle } from '../../../../../src/utils/getValueForStyle' -jest.mock('../../../../../../src/utils/getValueForStyle', () => ({ +jest.mock('../../../../../src/utils/getValueForStyle', () => ({ getValueForStyle: jest.fn((value) => value) })) diff --git a/plugins/beta/datasets/src/components/Key/KeySvgPattern.jsx b/plugins/datasets/src/components/Key/KeySvgPattern.jsx similarity index 100% rename from plugins/beta/datasets/src/components/Key/KeySvgPattern.jsx rename to plugins/datasets/src/components/Key/KeySvgPattern.jsx diff --git a/plugins/beta/datasets/src/components/Key/KeySvgPattern.test.jsx b/plugins/datasets/src/components/Key/KeySvgPattern.test.jsx similarity index 95% rename from plugins/beta/datasets/src/components/Key/KeySvgPattern.test.jsx rename to plugins/datasets/src/components/Key/KeySvgPattern.test.jsx index c806168a..209d9953 100644 --- a/plugins/beta/datasets/src/components/Key/KeySvgPattern.test.jsx +++ b/plugins/datasets/src/components/Key/KeySvgPattern.test.jsx @@ -1,6 +1,6 @@ import { render } from '@testing-library/react' import { KeySvgPattern } from './KeySvgPattern' -import { patternRegistry } from '../../../../../../src/services/patternRegistry.js' +import { patternRegistry } from '../../../../../src/services/patternRegistry.js' const getKeyPatternPaths = jest.spyOn(patternRegistry, 'getKeyPatternPaths') const defaultProps = { diff --git a/plugins/beta/datasets/src/components/Key/KeySvgRect.jsx b/plugins/datasets/src/components/Key/KeySvgRect.jsx similarity index 88% rename from plugins/beta/datasets/src/components/Key/KeySvgRect.jsx rename to plugins/datasets/src/components/Key/KeySvgRect.jsx index 86f23330..ac0bab83 100644 --- a/plugins/beta/datasets/src/components/Key/KeySvgRect.jsx +++ b/plugins/datasets/src/components/Key/KeySvgRect.jsx @@ -1,4 +1,4 @@ -import { getValueForStyle } from '../../../../../../src/utils/getValueForStyle.js' +import { getValueForStyle } from '../../../../../src/utils/getValueForStyle.js' import { svgProps, SVG_SIZE } from './svgProperties.js' export const KeySvgRect = ({ mapStyle, registryDataset }) => { diff --git a/plugins/beta/datasets/src/components/Key/KeySvgRect.test.jsx b/plugins/datasets/src/components/Key/KeySvgRect.test.jsx similarity index 94% rename from plugins/beta/datasets/src/components/Key/KeySvgRect.test.jsx rename to plugins/datasets/src/components/Key/KeySvgRect.test.jsx index 0365d806..30da5bc7 100644 --- a/plugins/beta/datasets/src/components/Key/KeySvgRect.test.jsx +++ b/plugins/datasets/src/components/Key/KeySvgRect.test.jsx @@ -1,9 +1,9 @@ import { render } from '@testing-library/react' import { KeySvgRect } from './KeySvgRect' -import { getValueForStyle } from '../../../../../../src/utils/getValueForStyle' +import { getValueForStyle } from '../../../../../src/utils/getValueForStyle' -jest.mock('../../../../../../src/utils/getValueForStyle', () => ({ +jest.mock('../../../../../src/utils/getValueForStyle', () => ({ getValueForStyle: jest.fn((value) => value) })) diff --git a/plugins/beta/datasets/src/components/Key/KeySvgSymbol.jsx b/plugins/datasets/src/components/Key/KeySvgSymbol.jsx similarity index 94% rename from plugins/beta/datasets/src/components/Key/KeySvgSymbol.jsx rename to plugins/datasets/src/components/Key/KeySvgSymbol.jsx index e2b92f24..7e21a026 100644 --- a/plugins/beta/datasets/src/components/Key/KeySvgSymbol.jsx +++ b/plugins/datasets/src/components/Key/KeySvgSymbol.jsx @@ -1,4 +1,4 @@ -import { getSymbolStyleColors, getSymbolViewBox } from '../../../../../../src/utils/symbolUtils.js' +import { getSymbolStyleColors, getSymbolViewBox } from '../../../../../src/utils/symbolUtils.js' import { svgSymbolProps } from './svgProperties.js' export const KeySvgSymbol = ({ symbolRegistry, registryDataset, mapStyle, symbolDef }) => { diff --git a/plugins/beta/datasets/src/components/Key/KeySvgSymbol.test.jsx b/plugins/datasets/src/components/Key/KeySvgSymbol.test.jsx similarity index 96% rename from plugins/beta/datasets/src/components/Key/KeySvgSymbol.test.jsx rename to plugins/datasets/src/components/Key/KeySvgSymbol.test.jsx index 4436c78f..920fd3e2 100644 --- a/plugins/beta/datasets/src/components/Key/KeySvgSymbol.test.jsx +++ b/plugins/datasets/src/components/Key/KeySvgSymbol.test.jsx @@ -1,9 +1,9 @@ import { render } from '@testing-library/react' import { KeySvgSymbol } from './KeySvgSymbol' -import { getSymbolStyleColors, getSymbolViewBox } from '../../../../../../src/utils/symbolUtils.js' +import { getSymbolStyleColors, getSymbolViewBox } from '../../../../../src/utils/symbolUtils.js' -jest.mock('../../../../../../src/utils/symbolUtils.js', () => ({ +jest.mock('../../../../../src/utils/symbolUtils.js', () => ({ getSymbolStyleColors: jest.fn(() => ({ foreground: '#000', background: '#fff' })), getSymbolViewBox: jest.fn(() => '0 0 38 38') })) diff --git a/plugins/beta/datasets/src/components/Key/svgProperties.js b/plugins/datasets/src/components/Key/svgProperties.js similarity index 100% rename from plugins/beta/datasets/src/components/Key/svgProperties.js rename to plugins/datasets/src/components/Key/svgProperties.js diff --git a/plugins/beta/datasets/src/components/Key/svgProperties.test.js b/plugins/datasets/src/components/Key/svgProperties.test.js similarity index 100% rename from plugins/beta/datasets/src/components/Key/svgProperties.test.js rename to plugins/datasets/src/components/Key/svgProperties.test.js diff --git a/plugins/beta/datasets/src/components/LayersMenu/Layers.module.scss b/plugins/datasets/src/components/LayersMenu/Layers.module.scss similarity index 100% rename from plugins/beta/datasets/src/components/LayersMenu/Layers.module.scss rename to plugins/datasets/src/components/LayersMenu/Layers.module.scss diff --git a/plugins/beta/datasets/src/components/LayersMenu/LayersMenu.jsx b/plugins/datasets/src/components/LayersMenu/LayersMenu.jsx similarity index 100% rename from plugins/beta/datasets/src/components/LayersMenu/LayersMenu.jsx rename to plugins/datasets/src/components/LayersMenu/LayersMenu.jsx diff --git a/plugins/beta/datasets/src/components/LayersMenu/LayersMenuCheckbox.jsx b/plugins/datasets/src/components/LayersMenu/LayersMenuCheckbox.jsx similarity index 100% rename from plugins/beta/datasets/src/components/LayersMenu/LayersMenuCheckbox.jsx rename to plugins/datasets/src/components/LayersMenu/LayersMenuCheckbox.jsx diff --git a/plugins/beta/datasets/src/components/LayersMenu/LayersMenuGroupWrapper.jsx b/plugins/datasets/src/components/LayersMenu/LayersMenuGroupWrapper.jsx similarity index 100% rename from plugins/beta/datasets/src/components/LayersMenu/LayersMenuGroupWrapper.jsx rename to plugins/datasets/src/components/LayersMenu/LayersMenuGroupWrapper.jsx diff --git a/plugins/beta/datasets/src/datasets.scss b/plugins/datasets/src/datasets.scss similarity index 100% rename from plugins/beta/datasets/src/datasets.scss rename to plugins/datasets/src/datasets.scss diff --git a/plugins/beta/datasets/src/fetch/createDynamicSource.js b/plugins/datasets/src/fetch/createDynamicSource.js similarity index 100% rename from plugins/beta/datasets/src/fetch/createDynamicSource.js rename to plugins/datasets/src/fetch/createDynamicSource.js diff --git a/plugins/beta/datasets/src/fetch/fetchGeoJSON.js b/plugins/datasets/src/fetch/fetchGeoJSON.js similarity index 100% rename from plugins/beta/datasets/src/fetch/fetchGeoJSON.js rename to plugins/datasets/src/fetch/fetchGeoJSON.js diff --git a/plugins/beta/datasets/src/index.js b/plugins/datasets/src/index.js similarity index 100% rename from plugins/beta/datasets/src/index.js rename to plugins/datasets/src/index.js diff --git a/plugins/beta/datasets/src/initialise/DatasetsInit.jsx b/plugins/datasets/src/initialise/DatasetsInit.jsx similarity index 97% rename from plugins/beta/datasets/src/initialise/DatasetsInit.jsx rename to plugins/datasets/src/initialise/DatasetsInit.jsx index e1968af5..b1875eae 100755 --- a/plugins/beta/datasets/src/initialise/DatasetsInit.jsx +++ b/plugins/datasets/src/initialise/DatasetsInit.jsx @@ -1,6 +1,6 @@ // src/plugins/datasets/datasetsInit.jsx import { useEffect, useRef } from 'react' -import { EVENTS } from '../../../../../src/config/events.js' +import { EVENTS } from '../../../../src/config/events.js' import { initialiseDatasets } from './initialiseDatasets.js' import { datasetRegistry } from '../registry/datasetRegistry.js' import { attachGlobalState } from '../registry/globalDataset.js' diff --git a/plugins/beta/datasets/src/initialise/defaults.js b/plugins/datasets/src/initialise/defaults.js similarity index 100% rename from plugins/beta/datasets/src/initialise/defaults.js rename to plugins/datasets/src/initialise/defaults.js diff --git a/plugins/beta/datasets/src/initialise/defaults.test.js b/plugins/datasets/src/initialise/defaults.test.js similarity index 100% rename from plugins/beta/datasets/src/initialise/defaults.test.js rename to plugins/datasets/src/initialise/defaults.test.js diff --git a/plugins/beta/datasets/src/initialise/initialiseDatasets.js b/plugins/datasets/src/initialise/initialiseDatasets.js similarity index 100% rename from plugins/beta/datasets/src/initialise/initialiseDatasets.js rename to plugins/datasets/src/initialise/initialiseDatasets.js diff --git a/plugins/beta/datasets/src/initialise/initialiseDatasets.test.js b/plugins/datasets/src/initialise/initialiseDatasets.test.js similarity index 100% rename from plugins/beta/datasets/src/initialise/initialiseDatasets.test.js rename to plugins/datasets/src/initialise/initialiseDatasets.test.js diff --git a/plugins/beta/datasets/src/manifest.js b/plugins/datasets/src/manifest.js similarity index 100% rename from plugins/beta/datasets/src/manifest.js rename to plugins/datasets/src/manifest.js diff --git a/plugins/beta/datasets/src/reducers/__data__/demoDatasets.js b/plugins/datasets/src/reducers/__data__/demoDatasets.js similarity index 100% rename from plugins/beta/datasets/src/reducers/__data__/demoDatasets.js rename to plugins/datasets/src/reducers/__data__/demoDatasets.js diff --git a/plugins/beta/datasets/src/reducers/datasetsToMenu.js b/plugins/datasets/src/reducers/datasetsToMenu.js similarity index 100% rename from plugins/beta/datasets/src/reducers/datasetsToMenu.js rename to plugins/datasets/src/reducers/datasetsToMenu.js diff --git a/plugins/beta/datasets/src/reducers/datasetsToMenu.test.js b/plugins/datasets/src/reducers/datasetsToMenu.test.js similarity index 100% rename from plugins/beta/datasets/src/reducers/datasetsToMenu.test.js rename to plugins/datasets/src/reducers/datasetsToMenu.test.js diff --git a/plugins/beta/datasets/src/reducers/mappedDatasetsReducer.js b/plugins/datasets/src/reducers/mappedDatasetsReducer.js similarity index 100% rename from plugins/beta/datasets/src/reducers/mappedDatasetsReducer.js rename to plugins/datasets/src/reducers/mappedDatasetsReducer.js diff --git a/plugins/beta/datasets/src/reducers/mappedDatasetsReducer.test.js b/plugins/datasets/src/reducers/mappedDatasetsReducer.test.js similarity index 100% rename from plugins/beta/datasets/src/reducers/mappedDatasetsReducer.test.js rename to plugins/datasets/src/reducers/mappedDatasetsReducer.test.js diff --git a/plugins/beta/datasets/src/reducers/pluginState.js b/plugins/datasets/src/reducers/pluginState.js similarity index 99% rename from plugins/beta/datasets/src/reducers/pluginState.js rename to plugins/datasets/src/reducers/pluginState.js index cee81ca7..998b107a 100755 --- a/plugins/beta/datasets/src/reducers/pluginState.js +++ b/plugins/datasets/src/reducers/pluginState.js @@ -1,6 +1,6 @@ import { datasetsToMenu, addDatasetToMenu, removeDatasetsFromMenu } from './datasetsToMenu.js' import { mappedDatasetsReducer } from './mappedDatasetsReducer.js' -import { logger } from '../../../../../src/services/logger.js' +import { logger } from '../../../../src/services/logger.js' const initialState = { globals: { diff --git a/plugins/beta/datasets/src/reducers/pluginState.test.js b/plugins/datasets/src/reducers/pluginState.test.js similarity index 99% rename from plugins/beta/datasets/src/reducers/pluginState.test.js rename to plugins/datasets/src/reducers/pluginState.test.js index 68b4089b..1020e52d 100644 --- a/plugins/beta/datasets/src/reducers/pluginState.test.js +++ b/plugins/datasets/src/reducers/pluginState.test.js @@ -1,7 +1,7 @@ import { initialState, actions } from './pluginState.js' -import { logger } from '../../../../../src/services/logger.js' +import { logger } from '../../../../src/services/logger.js' -jest.mock('../../../../../src/services/logger.js', () => ({ +jest.mock('../../../../src/services/logger.js', () => ({ logger: { error: jest.fn() } })) diff --git a/plugins/beta/datasets/src/registry/__mocks__/datasetRegistry.js b/plugins/datasets/src/registry/__mocks__/datasetRegistry.js similarity index 100% rename from plugins/beta/datasets/src/registry/__mocks__/datasetRegistry.js rename to plugins/datasets/src/registry/__mocks__/datasetRegistry.js diff --git a/plugins/beta/datasets/src/registry/createDataset.js b/plugins/datasets/src/registry/createDataset.js similarity index 100% rename from plugins/beta/datasets/src/registry/createDataset.js rename to plugins/datasets/src/registry/createDataset.js diff --git a/plugins/beta/datasets/src/registry/dataset.js b/plugins/datasets/src/registry/dataset.js similarity index 98% rename from plugins/beta/datasets/src/registry/dataset.js rename to plugins/datasets/src/registry/dataset.js index 2793ca96..46a90627 100644 --- a/plugins/beta/datasets/src/registry/dataset.js +++ b/plugins/datasets/src/registry/dataset.js @@ -1,6 +1,6 @@ import { datasetRegistry } from './datasetRegistry.js' import { hasCustomVisualStyle } from '../initialise/defaults.js' -import { hasPattern } from '../../../../../src/utils/patternUtils.js' +import { hasPattern } from '../../../../src/utils/patternUtils.js' import { DynamicGeoJson } from './dynamicGeoJson.js' import { calculateOpacity, getGlobalVisibility } from './globalDataset.js' diff --git a/plugins/beta/datasets/src/registry/dataset.test.js b/plugins/datasets/src/registry/dataset.test.js similarity index 100% rename from plugins/beta/datasets/src/registry/dataset.test.js rename to plugins/datasets/src/registry/dataset.test.js diff --git a/plugins/beta/datasets/src/registry/datasetDefinitionCache.js b/plugins/datasets/src/registry/datasetDefinitionCache.js similarity index 100% rename from plugins/beta/datasets/src/registry/datasetDefinitionCache.js rename to plugins/datasets/src/registry/datasetDefinitionCache.js diff --git a/plugins/beta/datasets/src/registry/datasetRegistry.js b/plugins/datasets/src/registry/datasetRegistry.js similarity index 100% rename from plugins/beta/datasets/src/registry/datasetRegistry.js rename to plugins/datasets/src/registry/datasetRegistry.js diff --git a/plugins/beta/datasets/src/registry/datasetRegistry.test.js b/plugins/datasets/src/registry/datasetRegistry.test.js similarity index 100% rename from plugins/beta/datasets/src/registry/datasetRegistry.test.js rename to plugins/datasets/src/registry/datasetRegistry.test.js diff --git a/plugins/beta/datasets/src/registry/dynamicGeoJson.js b/plugins/datasets/src/registry/dynamicGeoJson.js similarity index 100% rename from plugins/beta/datasets/src/registry/dynamicGeoJson.js rename to plugins/datasets/src/registry/dynamicGeoJson.js diff --git a/plugins/beta/datasets/src/registry/globalDataset.js b/plugins/datasets/src/registry/globalDataset.js similarity index 100% rename from plugins/beta/datasets/src/registry/globalDataset.js rename to plugins/datasets/src/registry/globalDataset.js diff --git a/plugins/beta/datasets/src/utils/bbox.js b/plugins/datasets/src/utils/bbox.js similarity index 100% rename from plugins/beta/datasets/src/utils/bbox.js rename to plugins/datasets/src/utils/bbox.js diff --git a/plugins/beta/datasets/src/utils/debounce.js b/plugins/datasets/src/utils/debounce.js similarity index 100% rename from plugins/beta/datasets/src/utils/debounce.js rename to plugins/datasets/src/utils/debounce.js diff --git a/plugins/draw-es/package.json b/plugins/draw-es/package.json new file mode 100644 index 00000000..ac1eed3f --- /dev/null +++ b/plugins/draw-es/package.json @@ -0,0 +1,25 @@ +{ + "name": "@defra/interactive-map-plugin-draw-es", + "version": "0.0.0-development", + "description": "ArcGIS/ESRI draw plugin for @defra/interactive-map", + "repository": { + "type": "git", + "url": "https://github.com/DEFRA/interactive-map", + "directory": "plugins/draw-es" + }, + "module": "dist/esm/index.js", + "exports": { + ".": { + "import": "./dist/esm/index.js" + } + }, + "type": "module", + "files": ["dist"], + "sideEffects": false, + "publishConfig": { "tag": "beta" }, + "peerDependencies": { + "@defra/interactive-map": "*", + "@arcgis/core": "^5.0.9" + }, + "license": "" +} diff --git a/plugins/beta/draw-es/src/DrawInit.jsx b/plugins/draw-es/src/DrawInit.jsx similarity index 96% rename from plugins/beta/draw-es/src/DrawInit.jsx rename to plugins/draw-es/src/DrawInit.jsx index ced29d09..480955b6 100755 --- a/plugins/beta/draw-es/src/DrawInit.jsx +++ b/plugins/draw-es/src/DrawInit.jsx @@ -1,5 +1,5 @@ import { useEffect } from 'react' -import { EVENTS } from '../../../../src/config/events.js' +import { EVENTS } from '../../../src/config/events.js' import { createSketchViewModel } from './sketchViewModel.js' import { attachEvents } from './events.js' diff --git a/plugins/beta/draw-es/src/api/addFeature.js b/plugins/draw-es/src/api/addFeature.js similarity index 100% rename from plugins/beta/draw-es/src/api/addFeature.js rename to plugins/draw-es/src/api/addFeature.js diff --git a/plugins/beta/draw-es/src/api/deleteFeature.js b/plugins/draw-es/src/api/deleteFeature.js similarity index 100% rename from plugins/beta/draw-es/src/api/deleteFeature.js rename to plugins/draw-es/src/api/deleteFeature.js diff --git a/plugins/beta/draw-es/src/api/editFeature.js b/plugins/draw-es/src/api/editFeature.js similarity index 100% rename from plugins/beta/draw-es/src/api/editFeature.js rename to plugins/draw-es/src/api/editFeature.js diff --git a/plugins/beta/draw-es/src/api/newPolygon.js b/plugins/draw-es/src/api/newPolygon.js similarity index 100% rename from plugins/beta/draw-es/src/api/newPolygon.js rename to plugins/draw-es/src/api/newPolygon.js diff --git a/plugins/beta/draw-es/src/events.js b/plugins/draw-es/src/events.js similarity index 100% rename from plugins/beta/draw-es/src/events.js rename to plugins/draw-es/src/events.js diff --git a/plugins/beta/draw-es/src/events.test.js b/plugins/draw-es/src/events.test.js similarity index 99% rename from plugins/beta/draw-es/src/events.test.js rename to plugins/draw-es/src/events.test.js index 13ea0ba1..dd710874 100644 --- a/plugins/beta/draw-es/src/events.test.js +++ b/plugins/draw-es/src/events.test.js @@ -1,5 +1,5 @@ import { attachEvents } from './events.js' -import { EVENTS as events } from '../../../../src/config/events.js' +import { EVENTS as events } from '../../../src/config/events.js' import * as graphicJs from './graphic.js' jest.mock('./graphic.js') diff --git a/plugins/beta/draw-es/src/graphic.js b/plugins/draw-es/src/graphic.js similarity index 97% rename from plugins/beta/draw-es/src/graphic.js rename to plugins/draw-es/src/graphic.js index 2f30ca08..6ad3ffbf 100644 --- a/plugins/beta/draw-es/src/graphic.js +++ b/plugins/draw-es/src/graphic.js @@ -1,6 +1,6 @@ import Graphic from '@arcgis/core/Graphic.js' import * as simplifyOperator from '@arcgis/core/geometry/operators/simplifyOperator.js' -import { logger } from '../../../../src/services/logger.js' +import { logger } from '../../../src/services/logger.js' function createSymbol (mapColorScheme) { return { diff --git a/plugins/beta/draw-es/src/index.js b/plugins/draw-es/src/index.js similarity index 100% rename from plugins/beta/draw-es/src/index.js rename to plugins/draw-es/src/index.js diff --git a/plugins/beta/draw-es/src/manifest.js b/plugins/draw-es/src/manifest.js similarity index 100% rename from plugins/beta/draw-es/src/manifest.js rename to plugins/draw-es/src/manifest.js diff --git a/plugins/beta/draw-es/src/reducer.js b/plugins/draw-es/src/reducer.js similarity index 100% rename from plugins/beta/draw-es/src/reducer.js rename to plugins/draw-es/src/reducer.js diff --git a/plugins/beta/draw-es/src/sketchViewModel.js b/plugins/draw-es/src/sketchViewModel.js similarity index 100% rename from plugins/beta/draw-es/src/sketchViewModel.js rename to plugins/draw-es/src/sketchViewModel.js diff --git a/plugins/draw-ml/package.json b/plugins/draw-ml/package.json new file mode 100644 index 00000000..b5ebf6b8 --- /dev/null +++ b/plugins/draw-ml/package.json @@ -0,0 +1,28 @@ +{ + "name": "@defra/interactive-map-plugin-draw-ml", + "version": "0.0.0-development", + "description": "MapLibre draw plugin for @defra/interactive-map", + "repository": { + "type": "git", + "url": "https://github.com/DEFRA/interactive-map", + "directory": "plugins/draw-ml" + }, + "main": "dist/umd/index.js", + "module": "dist/esm/index.js", + "exports": { + ".": { + "import": "./dist/esm/index.js", + "require": "./dist/umd/index.js" + }, + "./css": "./dist/css/index.css" + }, + "type": "module", + "files": ["dist"], + "sideEffects": ["**/*.css", "**/*.scss"], + "publishConfig": { "tag": "beta" }, + "peerDependencies": { + "@defra/interactive-map": "*", + "maplibre-gl": "^5.23.0" + }, + "license": "" +} diff --git a/plugins/beta/draw-ml/src/DrawInit.jsx b/plugins/draw-ml/src/DrawInit.jsx similarity index 97% rename from plugins/beta/draw-ml/src/DrawInit.jsx rename to plugins/draw-ml/src/DrawInit.jsx index 3e3bf1b7..2452bf04 100755 --- a/plugins/beta/draw-ml/src/DrawInit.jsx +++ b/plugins/draw-ml/src/DrawInit.jsx @@ -1,5 +1,5 @@ import { useEffect } from 'react' -import { EVENTS } from '../../../../src/config/events.js' +import { EVENTS } from '../../../src/config/events.js' import { attachEvents } from './events.js' import { createMapboxDraw } from './mapboxDraw.js' diff --git a/plugins/beta/draw-ml/src/api/addFeature.js b/plugins/draw-ml/src/api/addFeature.js similarity index 100% rename from plugins/beta/draw-ml/src/api/addFeature.js rename to plugins/draw-ml/src/api/addFeature.js diff --git a/plugins/beta/draw-ml/src/api/deleteFeature.js b/plugins/draw-ml/src/api/deleteFeature.js similarity index 100% rename from plugins/beta/draw-ml/src/api/deleteFeature.js rename to plugins/draw-ml/src/api/deleteFeature.js diff --git a/plugins/beta/draw-ml/src/api/editFeature.js b/plugins/draw-ml/src/api/editFeature.js similarity index 100% rename from plugins/beta/draw-ml/src/api/editFeature.js rename to plugins/draw-ml/src/api/editFeature.js diff --git a/plugins/beta/draw-ml/src/api/merge.js b/plugins/draw-ml/src/api/merge.js similarity index 100% rename from plugins/beta/draw-ml/src/api/merge.js rename to plugins/draw-ml/src/api/merge.js diff --git a/plugins/beta/draw-ml/src/api/newLine.js b/plugins/draw-ml/src/api/newLine.js similarity index 100% rename from plugins/beta/draw-ml/src/api/newLine.js rename to plugins/draw-ml/src/api/newLine.js diff --git a/plugins/beta/draw-ml/src/api/newPolygon.js b/plugins/draw-ml/src/api/newPolygon.js similarity index 100% rename from plugins/beta/draw-ml/src/api/newPolygon.js rename to plugins/draw-ml/src/api/newPolygon.js diff --git a/plugins/beta/draw-ml/src/api/split.js b/plugins/draw-ml/src/api/split.js similarity index 100% rename from plugins/beta/draw-ml/src/api/split.js rename to plugins/draw-ml/src/api/split.js diff --git a/plugins/beta/draw-ml/src/defaults.js b/plugins/draw-ml/src/defaults.js similarity index 100% rename from plugins/beta/draw-ml/src/defaults.js rename to plugins/draw-ml/src/defaults.js diff --git a/plugins/beta/draw-ml/src/draw.scss b/plugins/draw-ml/src/draw.scss similarity index 100% rename from plugins/beta/draw-ml/src/draw.scss rename to plugins/draw-ml/src/draw.scss diff --git a/plugins/beta/draw-ml/src/events.js b/plugins/draw-ml/src/events.js similarity index 100% rename from plugins/beta/draw-ml/src/events.js rename to plugins/draw-ml/src/events.js diff --git a/plugins/beta/draw-ml/src/index.js b/plugins/draw-ml/src/index.js similarity index 100% rename from plugins/beta/draw-ml/src/index.js rename to plugins/draw-ml/src/index.js diff --git a/plugins/beta/draw-ml/src/manifest.js b/plugins/draw-ml/src/manifest.js similarity index 100% rename from plugins/beta/draw-ml/src/manifest.js rename to plugins/draw-ml/src/manifest.js diff --git a/plugins/beta/draw-ml/src/mapboxDraw.js b/plugins/draw-ml/src/mapboxDraw.js similarity index 100% rename from plugins/beta/draw-ml/src/mapboxDraw.js rename to plugins/draw-ml/src/mapboxDraw.js diff --git a/plugins/beta/draw-ml/src/mapboxSnap.js b/plugins/draw-ml/src/mapboxSnap.js similarity index 100% rename from plugins/beta/draw-ml/src/mapboxSnap.js rename to plugins/draw-ml/src/mapboxSnap.js diff --git a/plugins/beta/draw-ml/src/modes/createDrawMode.js b/plugins/draw-ml/src/modes/createDrawMode.js similarity index 99% rename from plugins/beta/draw-ml/src/modes/createDrawMode.js rename to plugins/draw-ml/src/modes/createDrawMode.js index 069b5b00..db1ced6b 100644 --- a/plugins/beta/draw-ml/src/modes/createDrawMode.js +++ b/plugins/draw-ml/src/modes/createDrawMode.js @@ -1,4 +1,6 @@ -import createVertex from '../../../../../node_modules/@mapbox/mapbox-gl-draw/src/lib/create_vertex.js' +import MapboxDraw from '@mapbox/mapbox-gl-draw' + +const { createVertex } = MapboxDraw.lib import { getSnapInstance, diff --git a/plugins/beta/draw-ml/src/modes/disabledMode.js b/plugins/draw-ml/src/modes/disabledMode.js similarity index 100% rename from plugins/beta/draw-ml/src/modes/disabledMode.js rename to plugins/draw-ml/src/modes/disabledMode.js diff --git a/plugins/beta/draw-ml/src/modes/drawLineMode.js b/plugins/draw-ml/src/modes/drawLineMode.js similarity index 87% rename from plugins/beta/draw-ml/src/modes/drawLineMode.js rename to plugins/draw-ml/src/modes/drawLineMode.js index 1b3aade5..1157911d 100644 --- a/plugins/beta/draw-ml/src/modes/drawLineMode.js +++ b/plugins/draw-ml/src/modes/drawLineMode.js @@ -1,4 +1,6 @@ -import DrawLineString from '../../../../../node_modules/@mapbox/mapbox-gl-draw/src/modes/draw_line_string.js' +import MapboxDraw from '@mapbox/mapbox-gl-draw' + +const DrawLineString = MapboxDraw.modes.draw_line_string import { isValidLineClick } from '../utils/spatial.js' import { createDrawMode } from './createDrawMode.js' diff --git a/plugins/beta/draw-ml/src/modes/drawPolygonMode.js b/plugins/draw-ml/src/modes/drawPolygonMode.js similarity index 84% rename from plugins/beta/draw-ml/src/modes/drawPolygonMode.js rename to plugins/draw-ml/src/modes/drawPolygonMode.js index f68fb568..eb86370f 100755 --- a/plugins/beta/draw-ml/src/modes/drawPolygonMode.js +++ b/plugins/draw-ml/src/modes/drawPolygonMode.js @@ -1,4 +1,6 @@ -import DrawPolygon from '../../../../../node_modules/@mapbox/mapbox-gl-draw/src/modes/draw_polygon.js' +import MapboxDraw from '@mapbox/mapbox-gl-draw' + +const DrawPolygon = MapboxDraw.modes.draw_polygon import { isValidClick } from '../utils/spatial.js' import { createDrawMode } from './createDrawMode.js' diff --git a/plugins/beta/draw-ml/src/modes/editVertex/geometryHelpers.js b/plugins/draw-ml/src/modes/editVertex/geometryHelpers.js similarity index 100% rename from plugins/beta/draw-ml/src/modes/editVertex/geometryHelpers.js rename to plugins/draw-ml/src/modes/editVertex/geometryHelpers.js diff --git a/plugins/beta/draw-ml/src/modes/editVertex/helpers.js b/plugins/draw-ml/src/modes/editVertex/helpers.js similarity index 100% rename from plugins/beta/draw-ml/src/modes/editVertex/helpers.js rename to plugins/draw-ml/src/modes/editVertex/helpers.js diff --git a/plugins/beta/draw-ml/src/modes/editVertex/touchHandlers.js b/plugins/draw-ml/src/modes/editVertex/touchHandlers.js similarity index 100% rename from plugins/beta/draw-ml/src/modes/editVertex/touchHandlers.js rename to plugins/draw-ml/src/modes/editVertex/touchHandlers.js diff --git a/plugins/beta/draw-ml/src/modes/editVertex/undoHandlers.js b/plugins/draw-ml/src/modes/editVertex/undoHandlers.js similarity index 100% rename from plugins/beta/draw-ml/src/modes/editVertex/undoHandlers.js rename to plugins/draw-ml/src/modes/editVertex/undoHandlers.js diff --git a/plugins/beta/draw-ml/src/modes/editVertex/vertexOperations.js b/plugins/draw-ml/src/modes/editVertex/vertexOperations.js similarity index 100% rename from plugins/beta/draw-ml/src/modes/editVertex/vertexOperations.js rename to plugins/draw-ml/src/modes/editVertex/vertexOperations.js diff --git a/plugins/beta/draw-ml/src/modes/editVertex/vertexQueries.js b/plugins/draw-ml/src/modes/editVertex/vertexQueries.js similarity index 100% rename from plugins/beta/draw-ml/src/modes/editVertex/vertexQueries.js rename to plugins/draw-ml/src/modes/editVertex/vertexQueries.js diff --git a/plugins/beta/draw-ml/src/modes/editVertexMode.js b/plugins/draw-ml/src/modes/editVertexMode.js similarity index 99% rename from plugins/beta/draw-ml/src/modes/editVertexMode.js rename to plugins/draw-ml/src/modes/editVertexMode.js index 22a6c2af..78ce9c1d 100755 --- a/plugins/beta/draw-ml/src/modes/editVertexMode.js +++ b/plugins/draw-ml/src/modes/editVertexMode.js @@ -1,4 +1,6 @@ -import DirectSelect from '../../../../../node_modules/@mapbox/mapbox-gl-draw/src/modes/direct_select.js' +import MapboxDraw from '@mapbox/mapbox-gl-draw' + +const DirectSelect = MapboxDraw.modes.direct_select import { getSnapInstance, isSnapActive, isSnapEnabled, getSnapLngLat, getSnapRadius, triggerSnapAtPoint, clearSnapIndicator, clearSnapState diff --git a/plugins/beta/draw-ml/src/reducer.js b/plugins/draw-ml/src/reducer.js similarity index 100% rename from plugins/beta/draw-ml/src/reducer.js rename to plugins/draw-ml/src/reducer.js diff --git a/plugins/beta/draw-ml/src/styles.js b/plugins/draw-ml/src/styles.js similarity index 100% rename from plugins/beta/draw-ml/src/styles.js rename to plugins/draw-ml/src/styles.js diff --git a/plugins/beta/draw-ml/src/undoStack.js b/plugins/draw-ml/src/undoStack.js similarity index 100% rename from plugins/beta/draw-ml/src/undoStack.js rename to plugins/draw-ml/src/undoStack.js diff --git a/plugins/beta/draw-ml/src/utils/debounce.js b/plugins/draw-ml/src/utils/debounce.js similarity index 100% rename from plugins/beta/draw-ml/src/utils/debounce.js rename to plugins/draw-ml/src/utils/debounce.js diff --git a/plugins/beta/draw-ml/src/utils/flattenStyleProperties.js b/plugins/draw-ml/src/utils/flattenStyleProperties.js similarity index 100% rename from plugins/beta/draw-ml/src/utils/flattenStyleProperties.js rename to plugins/draw-ml/src/utils/flattenStyleProperties.js diff --git a/plugins/beta/draw-ml/src/utils/snapHelpers.js b/plugins/draw-ml/src/utils/snapHelpers.js similarity index 100% rename from plugins/beta/draw-ml/src/utils/snapHelpers.js rename to plugins/draw-ml/src/utils/snapHelpers.js diff --git a/plugins/beta/draw-ml/src/utils/spatial.js b/plugins/draw-ml/src/utils/spatial.js similarity index 100% rename from plugins/beta/draw-ml/src/utils/spatial.js rename to plugins/draw-ml/src/utils/spatial.js diff --git a/plugins/draw-ol/package.json b/plugins/draw-ol/package.json new file mode 100644 index 00000000..3d411b19 --- /dev/null +++ b/plugins/draw-ol/package.json @@ -0,0 +1,28 @@ +{ + "name": "@defra/interactive-map-plugin-draw-ol", + "version": "0.0.0-development", + "description": "OpenLayers draw plugin for @defra/interactive-map", + "repository": { + "type": "git", + "url": "https://github.com/DEFRA/interactive-map", + "directory": "plugins/draw-ol" + }, + "main": "dist/umd/index.js", + "module": "dist/esm/index.js", + "exports": { + ".": { + "import": "./dist/esm/index.js", + "require": "./dist/umd/index.js" + }, + "./css": "./dist/css/index.css" + }, + "type": "module", + "files": ["dist"], + "sideEffects": ["**/*.scss"], + "publishConfig": { "tag": "beta" }, + "peerDependencies": { + "@defra/interactive-map": "*", + "ol": "^10.9.0" + }, + "license": "" +} diff --git a/plugins/beta/draw-ol/src/DrawInit.jsx b/plugins/draw-ol/src/DrawInit.jsx similarity index 97% rename from plugins/beta/draw-ol/src/DrawInit.jsx rename to plugins/draw-ol/src/DrawInit.jsx index 5a4e2ec1..45ce8a78 100644 --- a/plugins/beta/draw-ol/src/DrawInit.jsx +++ b/plugins/draw-ol/src/DrawInit.jsx @@ -1,5 +1,5 @@ import { useEffect } from 'react' -import { EVENTS } from '../../../../src/config/events.js' +import { EVENTS } from '../../../src/config/events.js' import { createOLDraw } from './olDraw.js' import { attachEvents } from './events.js' diff --git a/plugins/beta/draw-ol/src/api/addFeature.js b/plugins/draw-ol/src/api/addFeature.js similarity index 100% rename from plugins/beta/draw-ol/src/api/addFeature.js rename to plugins/draw-ol/src/api/addFeature.js diff --git a/plugins/beta/draw-ol/src/api/deleteFeature.js b/plugins/draw-ol/src/api/deleteFeature.js similarity index 100% rename from plugins/beta/draw-ol/src/api/deleteFeature.js rename to plugins/draw-ol/src/api/deleteFeature.js diff --git a/plugins/beta/draw-ol/src/api/editFeature.js b/plugins/draw-ol/src/api/editFeature.js similarity index 100% rename from plugins/beta/draw-ol/src/api/editFeature.js rename to plugins/draw-ol/src/api/editFeature.js diff --git a/plugins/beta/draw-ol/src/api/newLine.js b/plugins/draw-ol/src/api/newLine.js similarity index 100% rename from plugins/beta/draw-ol/src/api/newLine.js rename to plugins/draw-ol/src/api/newLine.js diff --git a/plugins/beta/draw-ol/src/api/newPolygon.js b/plugins/draw-ol/src/api/newPolygon.js similarity index 100% rename from plugins/beta/draw-ol/src/api/newPolygon.js rename to plugins/draw-ol/src/api/newPolygon.js diff --git a/plugins/beta/draw-ol/src/core/OLDrawManager.js b/plugins/draw-ol/src/core/OLDrawManager.js similarity index 100% rename from plugins/beta/draw-ol/src/core/OLDrawManager.js rename to plugins/draw-ol/src/core/OLDrawManager.js diff --git a/plugins/beta/draw-ol/src/core/featureStore.js b/plugins/draw-ol/src/core/featureStore.js similarity index 100% rename from plugins/beta/draw-ol/src/core/featureStore.js rename to plugins/draw-ol/src/core/featureStore.js diff --git a/plugins/beta/draw-ol/src/core/styles.js b/plugins/draw-ol/src/core/styles.js similarity index 100% rename from plugins/beta/draw-ol/src/core/styles.js rename to plugins/draw-ol/src/core/styles.js diff --git a/plugins/beta/draw-ol/src/core/undoStack.js b/plugins/draw-ol/src/core/undoStack.js similarity index 100% rename from plugins/beta/draw-ol/src/core/undoStack.js rename to plugins/draw-ol/src/core/undoStack.js diff --git a/plugins/beta/draw-ol/src/defaults.js b/plugins/draw-ol/src/defaults.js similarity index 100% rename from plugins/beta/draw-ol/src/defaults.js rename to plugins/draw-ol/src/defaults.js diff --git a/plugins/beta/draw-ol/src/draw.scss b/plugins/draw-ol/src/draw.scss similarity index 100% rename from plugins/beta/draw-ol/src/draw.scss rename to plugins/draw-ol/src/draw.scss diff --git a/plugins/beta/draw-ol/src/draw/DrawMode.js b/plugins/draw-ol/src/draw/DrawMode.js similarity index 100% rename from plugins/beta/draw-ol/src/draw/DrawMode.js rename to plugins/draw-ol/src/draw/DrawMode.js diff --git a/plugins/beta/draw-ol/src/draw/drawInput.js b/plugins/draw-ol/src/draw/drawInput.js similarity index 100% rename from plugins/beta/draw-ol/src/draw/drawInput.js rename to plugins/draw-ol/src/draw/drawInput.js diff --git a/plugins/beta/draw-ol/src/edit/EditMode.js b/plugins/draw-ol/src/edit/EditMode.js similarity index 100% rename from plugins/beta/draw-ol/src/edit/EditMode.js rename to plugins/draw-ol/src/edit/EditMode.js diff --git a/plugins/beta/draw-ol/src/edit/keyboardHandler.js b/plugins/draw-ol/src/edit/keyboardHandler.js similarity index 100% rename from plugins/beta/draw-ol/src/edit/keyboardHandler.js rename to plugins/draw-ol/src/edit/keyboardHandler.js diff --git a/plugins/beta/draw-ol/src/edit/midpointLayer.js b/plugins/draw-ol/src/edit/midpointLayer.js similarity index 100% rename from plugins/beta/draw-ol/src/edit/midpointLayer.js rename to plugins/draw-ol/src/edit/midpointLayer.js diff --git a/plugins/beta/draw-ol/src/edit/touchHandler.js b/plugins/draw-ol/src/edit/touchHandler.js similarity index 100% rename from plugins/beta/draw-ol/src/edit/touchHandler.js rename to plugins/draw-ol/src/edit/touchHandler.js diff --git a/plugins/beta/draw-ol/src/edit/undoOps.js b/plugins/draw-ol/src/edit/undoOps.js similarity index 100% rename from plugins/beta/draw-ol/src/edit/undoOps.js rename to plugins/draw-ol/src/edit/undoOps.js diff --git a/plugins/beta/draw-ol/src/edit/vertexHitTest.js b/plugins/draw-ol/src/edit/vertexHitTest.js similarity index 100% rename from plugins/beta/draw-ol/src/edit/vertexHitTest.js rename to plugins/draw-ol/src/edit/vertexHitTest.js diff --git a/plugins/beta/draw-ol/src/edit/vertexLayer.js b/plugins/draw-ol/src/edit/vertexLayer.js similarity index 100% rename from plugins/beta/draw-ol/src/edit/vertexLayer.js rename to plugins/draw-ol/src/edit/vertexLayer.js diff --git a/plugins/beta/draw-ol/src/edit/vertexOps.js b/plugins/draw-ol/src/edit/vertexOps.js similarity index 100% rename from plugins/beta/draw-ol/src/edit/vertexOps.js rename to plugins/draw-ol/src/edit/vertexOps.js diff --git a/plugins/beta/draw-ol/src/events.js b/plugins/draw-ol/src/events.js similarity index 100% rename from plugins/beta/draw-ol/src/events.js rename to plugins/draw-ol/src/events.js diff --git a/plugins/beta/draw-ol/src/index.js b/plugins/draw-ol/src/index.js similarity index 100% rename from plugins/beta/draw-ol/src/index.js rename to plugins/draw-ol/src/index.js diff --git a/plugins/beta/draw-ol/src/manifest.js b/plugins/draw-ol/src/manifest.js similarity index 100% rename from plugins/beta/draw-ol/src/manifest.js rename to plugins/draw-ol/src/manifest.js diff --git a/plugins/beta/draw-ol/src/olDraw.js b/plugins/draw-ol/src/olDraw.js similarity index 100% rename from plugins/beta/draw-ol/src/olDraw.js rename to plugins/draw-ol/src/olDraw.js diff --git a/plugins/beta/draw-ol/src/reducer.js b/plugins/draw-ol/src/reducer.js similarity index 100% rename from plugins/beta/draw-ol/src/reducer.js rename to plugins/draw-ol/src/reducer.js diff --git a/plugins/beta/draw-ol/src/snap/snapEngine.js b/plugins/draw-ol/src/snap/snapEngine.js similarity index 100% rename from plugins/beta/draw-ol/src/snap/snapEngine.js rename to plugins/draw-ol/src/snap/snapEngine.js diff --git a/plugins/beta/draw-ol/src/snap/snapGeometry.js b/plugins/draw-ol/src/snap/snapGeometry.js similarity index 100% rename from plugins/beta/draw-ol/src/snap/snapGeometry.js rename to plugins/draw-ol/src/snap/snapGeometry.js diff --git a/plugins/beta/draw-ol/src/snap/snapIndicator.js b/plugins/draw-ol/src/snap/snapIndicator.js similarity index 100% rename from plugins/beta/draw-ol/src/snap/snapIndicator.js rename to plugins/draw-ol/src/snap/snapIndicator.js diff --git a/plugins/beta/draw-ol/src/snap/snapInteraction.js b/plugins/draw-ol/src/snap/snapInteraction.js similarity index 100% rename from plugins/beta/draw-ol/src/snap/snapInteraction.js rename to plugins/draw-ol/src/snap/snapInteraction.js diff --git a/plugins/beta/draw-ol/src/snap/snapManager.js b/plugins/draw-ol/src/snap/snapManager.js similarity index 100% rename from plugins/beta/draw-ol/src/snap/snapManager.js rename to plugins/draw-ol/src/snap/snapManager.js diff --git a/plugins/beta/draw-ol/src/utils/flattenStyleProperties.js b/plugins/draw-ol/src/utils/flattenStyleProperties.js similarity index 100% rename from plugins/beta/draw-ol/src/utils/flattenStyleProperties.js rename to plugins/draw-ol/src/utils/flattenStyleProperties.js diff --git a/plugins/beta/draw-ol/src/utils/geometryHelpers.js b/plugins/draw-ol/src/utils/geometryHelpers.js similarity index 100% rename from plugins/beta/draw-ol/src/utils/geometryHelpers.js rename to plugins/draw-ol/src/utils/geometryHelpers.js diff --git a/plugins/beta/draw-ol/src/utils/olCoords.js b/plugins/draw-ol/src/utils/olCoords.js similarity index 100% rename from plugins/beta/draw-ol/src/utils/olCoords.js rename to plugins/draw-ol/src/utils/olCoords.js diff --git a/plugins/beta/draw-ol/src/utils/resolveColors.js b/plugins/draw-ol/src/utils/resolveColors.js similarity index 100% rename from plugins/beta/draw-ol/src/utils/resolveColors.js rename to plugins/draw-ol/src/utils/resolveColors.js diff --git a/plugins/beta/draw-ol/src/utils/spatial.js b/plugins/draw-ol/src/utils/spatial.js similarity index 100% rename from plugins/beta/draw-ol/src/utils/spatial.js rename to plugins/draw-ol/src/utils/spatial.js diff --git a/plugins/beta/draw-ol/src/utils/touchTarget.js b/plugins/draw-ol/src/utils/touchTarget.js similarity index 100% rename from plugins/beta/draw-ol/src/utils/touchTarget.js rename to plugins/draw-ol/src/utils/touchTarget.js diff --git a/plugins/frame/package.json b/plugins/frame/package.json new file mode 100644 index 00000000..5d13b504 --- /dev/null +++ b/plugins/frame/package.json @@ -0,0 +1,27 @@ +{ + "name": "@defra/interactive-map-plugin-frame", + "version": "0.0.0-development", + "description": "Frame plugin for @defra/interactive-map", + "repository": { + "type": "git", + "url": "https://github.com/DEFRA/interactive-map", + "directory": "plugins/frame" + }, + "main": "dist/umd/index.js", + "module": "dist/esm/index.js", + "exports": { + ".": { + "import": "./dist/esm/index.js", + "require": "./dist/umd/index.js" + }, + "./css": "./dist/css/index.css" + }, + "type": "module", + "files": ["dist"], + "sideEffects": ["**/*.css", "**/*.scss"], + "publishConfig": { "tag": "beta" }, + "peerDependencies": { + "@defra/interactive-map": "*" + }, + "license": "" +} diff --git a/plugins/beta/frame/src/Frame.jsx b/plugins/frame/src/Frame.jsx similarity index 100% rename from plugins/beta/frame/src/Frame.jsx rename to plugins/frame/src/Frame.jsx diff --git a/plugins/beta/frame/src/FrameInit.jsx b/plugins/frame/src/FrameInit.jsx similarity index 100% rename from plugins/beta/frame/src/FrameInit.jsx rename to plugins/frame/src/FrameInit.jsx diff --git a/plugins/beta/frame/src/api/addFrame.js b/plugins/frame/src/api/addFrame.js similarity index 100% rename from plugins/beta/frame/src/api/addFrame.js rename to plugins/frame/src/api/addFrame.js diff --git a/plugins/beta/frame/src/api/editFeature.js b/plugins/frame/src/api/editFeature.js similarity index 100% rename from plugins/beta/frame/src/api/editFeature.js rename to plugins/frame/src/api/editFeature.js diff --git a/plugins/beta/frame/src/config.js b/plugins/frame/src/config.js similarity index 100% rename from plugins/beta/frame/src/config.js rename to plugins/frame/src/config.js diff --git a/plugins/beta/frame/src/frame.scss b/plugins/frame/src/frame.scss similarity index 100% rename from plugins/beta/frame/src/frame.scss rename to plugins/frame/src/frame.scss diff --git a/plugins/beta/frame/src/index.js b/plugins/frame/src/index.js similarity index 100% rename from plugins/beta/frame/src/index.js rename to plugins/frame/src/index.js diff --git a/plugins/beta/frame/src/manifest.js b/plugins/frame/src/manifest.js similarity index 100% rename from plugins/beta/frame/src/manifest.js rename to plugins/frame/src/manifest.js diff --git a/plugins/beta/frame/src/reducer.js b/plugins/frame/src/reducer.js similarity index 100% rename from plugins/beta/frame/src/reducer.js rename to plugins/frame/src/reducer.js diff --git a/plugins/beta/frame/src/utils.js b/plugins/frame/src/utils.js similarity index 100% rename from plugins/beta/frame/src/utils.js rename to plugins/frame/src/utils.js diff --git a/plugins/interact/package.json b/plugins/interact/package.json new file mode 100644 index 00000000..0272c1ba --- /dev/null +++ b/plugins/interact/package.json @@ -0,0 +1,25 @@ +{ + "name": "@defra/interactive-map-plugin-interact", + "version": "0.0.0-development", + "description": "Interact plugin for @defra/interactive-map", + "repository": { + "type": "git", + "url": "https://github.com/DEFRA/interactive-map", + "directory": "plugins/interact" + }, + "main": "dist/umd/index.js", + "module": "dist/esm/index.js", + "exports": { + ".": { + "import": "./dist/esm/index.js", + "require": "./dist/umd/index.js" + } + }, + "type": "module", + "files": ["dist"], + "sideEffects": false, + "peerDependencies": { + "@defra/interactive-map": "*" + }, + "license": "" +} diff --git a/plugins/map-styles/package.json b/plugins/map-styles/package.json new file mode 100644 index 00000000..01beb429 --- /dev/null +++ b/plugins/map-styles/package.json @@ -0,0 +1,27 @@ +{ + "name": "@defra/interactive-map-plugin-map-styles", + "version": "0.0.0-development", + "description": "Map styles plugin for @defra/interactive-map", + "repository": { + "type": "git", + "url": "https://github.com/DEFRA/interactive-map", + "directory": "plugins/map-styles" + }, + "main": "dist/umd/index.js", + "module": "dist/esm/index.js", + "exports": { + ".": { + "import": "./dist/esm/index.js", + "require": "./dist/umd/index.js" + }, + "./css": "./dist/css/index.css" + }, + "type": "module", + "files": ["dist"], + "sideEffects": ["**/*.css", "**/*.scss"], + "publishConfig": { "tag": "beta" }, + "peerDependencies": { + "@defra/interactive-map": "*" + }, + "license": "" +} diff --git a/plugins/beta/map-styles/src/MapStyles.jsx b/plugins/map-styles/src/MapStyles.jsx similarity index 95% rename from plugins/beta/map-styles/src/MapStyles.jsx rename to plugins/map-styles/src/MapStyles.jsx index d78e2b73..98acede2 100755 --- a/plugins/beta/map-styles/src/MapStyles.jsx +++ b/plugins/map-styles/src/MapStyles.jsx @@ -1,7 +1,7 @@ import React from 'react' -import { EVENTS } from '../../../../src/config/events.js' +import { EVENTS } from '../../../src/config/events.js' import { textSizeSvgPath } from './config.js' -import { scaleFactor } from '../../../../src/config/appConfig.js' +import { scaleFactor } from '../../../src/config/appConfig.js' export const MapStyles = ({ mapState, pluginConfig, services, mapProvider }) => { const { mapStyle: currentMapStyle, mapSize: currentMapSize } = mapState diff --git a/plugins/beta/map-styles/src/MapStylesInit.jsx b/plugins/map-styles/src/MapStylesInit.jsx similarity index 88% rename from plugins/beta/map-styles/src/MapStylesInit.jsx rename to plugins/map-styles/src/MapStylesInit.jsx index eff44cc5..035a19ea 100755 --- a/plugins/beta/map-styles/src/MapStylesInit.jsx +++ b/plugins/map-styles/src/MapStylesInit.jsx @@ -1,6 +1,6 @@ // src/plugins/mapStyles/MapStylesInit.jsx import { useEffect } from 'react' -import { EVENTS } from '../../../../src/config/events.js' +import { EVENTS } from '../../../src/config/events.js' export function MapStylesInit ({ pluginConfig, services }) { const { eventBus } = services diff --git a/plugins/beta/map-styles/src/config.js b/plugins/map-styles/src/config.js similarity index 100% rename from plugins/beta/map-styles/src/config.js rename to plugins/map-styles/src/config.js diff --git a/plugins/beta/map-styles/src/index.js b/plugins/map-styles/src/index.js similarity index 100% rename from plugins/beta/map-styles/src/index.js rename to plugins/map-styles/src/index.js diff --git a/plugins/beta/map-styles/src/manifest.js b/plugins/map-styles/src/manifest.js similarity index 100% rename from plugins/beta/map-styles/src/manifest.js rename to plugins/map-styles/src/manifest.js diff --git a/plugins/beta/map-styles/src/mapStyles.scss b/plugins/map-styles/src/mapStyles.scss similarity index 100% rename from plugins/beta/map-styles/src/mapStyles.scss rename to plugins/map-styles/src/mapStyles.scss diff --git a/plugins/scale-bar/package.json b/plugins/scale-bar/package.json new file mode 100644 index 00000000..fc54dc81 --- /dev/null +++ b/plugins/scale-bar/package.json @@ -0,0 +1,27 @@ +{ + "name": "@defra/interactive-map-plugin-scale-bar", + "version": "0.0.0-development", + "description": "Scale bar plugin for @defra/interactive-map", + "repository": { + "type": "git", + "url": "https://github.com/DEFRA/interactive-map", + "directory": "plugins/scale-bar" + }, + "main": "dist/umd/index.js", + "module": "dist/esm/index.js", + "exports": { + ".": { + "import": "./dist/esm/index.js", + "require": "./dist/umd/index.js" + }, + "./css": "./dist/css/index.css" + }, + "type": "module", + "files": ["dist"], + "sideEffects": ["**/*.css", "**/*.scss"], + "publishConfig": { "tag": "beta" }, + "peerDependencies": { + "@defra/interactive-map": "*" + }, + "license": "" +} diff --git a/plugins/beta/scale-bar/src/ScaleBar.jsx b/plugins/scale-bar/src/ScaleBar.jsx similarity index 100% rename from plugins/beta/scale-bar/src/ScaleBar.jsx rename to plugins/scale-bar/src/ScaleBar.jsx diff --git a/plugins/beta/scale-bar/src/ScaleBar.test.jsx b/plugins/scale-bar/src/ScaleBar.test.jsx similarity index 100% rename from plugins/beta/scale-bar/src/ScaleBar.test.jsx rename to plugins/scale-bar/src/ScaleBar.test.jsx diff --git a/plugins/beta/scale-bar/src/index.js b/plugins/scale-bar/src/index.js similarity index 100% rename from plugins/beta/scale-bar/src/index.js rename to plugins/scale-bar/src/index.js diff --git a/plugins/beta/scale-bar/src/index.test.js b/plugins/scale-bar/src/index.test.js similarity index 100% rename from plugins/beta/scale-bar/src/index.test.js rename to plugins/scale-bar/src/index.test.js diff --git a/plugins/beta/scale-bar/src/manifest.js b/plugins/scale-bar/src/manifest.js similarity index 100% rename from plugins/beta/scale-bar/src/manifest.js rename to plugins/scale-bar/src/manifest.js diff --git a/plugins/beta/scale-bar/src/scaleBar.scss b/plugins/scale-bar/src/scaleBar.scss similarity index 100% rename from plugins/beta/scale-bar/src/scaleBar.scss rename to plugins/scale-bar/src/scaleBar.scss diff --git a/plugins/beta/scale-bar/src/utils.js b/plugins/scale-bar/src/utils.js similarity index 100% rename from plugins/beta/scale-bar/src/utils.js rename to plugins/scale-bar/src/utils.js diff --git a/plugins/beta/scale-bar/src/utils.test.js b/plugins/scale-bar/src/utils.test.js similarity index 100% rename from plugins/beta/scale-bar/src/utils.test.js rename to plugins/scale-bar/src/utils.test.js diff --git a/plugins/search/package.json b/plugins/search/package.json new file mode 100644 index 00000000..98f95317 --- /dev/null +++ b/plugins/search/package.json @@ -0,0 +1,26 @@ +{ + "name": "@defra/interactive-map-plugin-search", + "version": "0.0.0-development", + "description": "Search plugin for @defra/interactive-map", + "repository": { + "type": "git", + "url": "https://github.com/DEFRA/interactive-map", + "directory": "plugins/search" + }, + "main": "dist/umd/index.js", + "module": "dist/esm/index.js", + "exports": { + ".": { + "import": "./dist/esm/index.js", + "require": "./dist/umd/index.js" + }, + "./css": "./dist/css/index.css" + }, + "type": "module", + "files": ["dist"], + "sideEffects": ["**/*.css", "**/*.scss"], + "peerDependencies": { + "@defra/interactive-map": "*" + }, + "license": "" +} diff --git a/plugins/use-location/package.json b/plugins/use-location/package.json new file mode 100644 index 00000000..675406b2 --- /dev/null +++ b/plugins/use-location/package.json @@ -0,0 +1,26 @@ +{ + "name": "@defra/interactive-map-plugin-use-location", + "version": "0.0.0-development", + "description": "Use-location plugin for @defra/interactive-map", + "repository": { + "type": "git", + "url": "https://github.com/DEFRA/interactive-map", + "directory": "plugins/use-location" + }, + "main": "dist/umd/index.js", + "module": "dist/esm/index.js", + "exports": { + ".": { + "import": "./dist/esm/index.js", + "require": "./dist/umd/index.js" + } + }, + "type": "module", + "files": ["dist"], + "sideEffects": false, + "publishConfig": { "tag": "beta" }, + "peerDependencies": { + "@defra/interactive-map": "*" + }, + "license": "" +} diff --git a/plugins/beta/use-location/src/UseLocation.jsx b/plugins/use-location/src/UseLocation.jsx similarity index 100% rename from plugins/beta/use-location/src/UseLocation.jsx rename to plugins/use-location/src/UseLocation.jsx diff --git a/plugins/beta/use-location/src/UseLocationInit.jsx b/plugins/use-location/src/UseLocationInit.jsx similarity index 100% rename from plugins/beta/use-location/src/UseLocationInit.jsx rename to plugins/use-location/src/UseLocationInit.jsx diff --git a/plugins/beta/use-location/src/defaults.js b/plugins/use-location/src/defaults.js similarity index 100% rename from plugins/beta/use-location/src/defaults.js rename to plugins/use-location/src/defaults.js diff --git a/plugins/beta/use-location/src/events.js b/plugins/use-location/src/events.js similarity index 100% rename from plugins/beta/use-location/src/events.js rename to plugins/use-location/src/events.js diff --git a/plugins/beta/use-location/src/index.js b/plugins/use-location/src/index.js similarity index 100% rename from plugins/beta/use-location/src/index.js rename to plugins/use-location/src/index.js diff --git a/plugins/beta/use-location/src/manifest.js b/plugins/use-location/src/manifest.js similarity index 100% rename from plugins/beta/use-location/src/manifest.js rename to plugins/use-location/src/manifest.js diff --git a/plugins/beta/use-location/src/reducer.js b/plugins/use-location/src/reducer.js similarity index 100% rename from plugins/beta/use-location/src/reducer.js rename to plugins/use-location/src/reducer.js diff --git a/providers/esri/package.json b/providers/esri/package.json new file mode 100644 index 00000000..bf1e8fb3 --- /dev/null +++ b/providers/esri/package.json @@ -0,0 +1,26 @@ +{ + "name": "@defra/interactive-map-provider-esri", + "version": "0.0.0-development", + "description": "ArcGIS/ESRI provider for @defra/interactive-map", + "repository": { + "type": "git", + "url": "https://github.com/DEFRA/interactive-map", + "directory": "providers/esri" + }, + "module": "dist/esm/index.js", + "exports": { + ".": { + "import": "./dist/esm/index.js" + }, + "./css": "./dist/css/index.css" + }, + "type": "module", + "files": ["dist"], + "sideEffects": ["**/*.css", "**/*.scss"], + "publishConfig": { "tag": "beta" }, + "peerDependencies": { + "@defra/interactive-map": "*", + "@arcgis/core": "^5.0.9" + }, + "license": "" +} diff --git a/providers/beta/esri/src/appEvents.js b/providers/esri/src/appEvents.js similarity index 100% rename from providers/beta/esri/src/appEvents.js rename to providers/esri/src/appEvents.js diff --git a/providers/beta/esri/src/defaults.js b/providers/esri/src/defaults.js similarity index 100% rename from providers/beta/esri/src/defaults.js rename to providers/esri/src/defaults.js diff --git a/providers/beta/esri/src/esriProvider.js b/providers/esri/src/esriProvider.js similarity index 100% rename from providers/beta/esri/src/esriProvider.js rename to providers/esri/src/esriProvider.js diff --git a/providers/beta/esri/src/esriProvider.scss b/providers/esri/src/esriProvider.scss similarity index 100% rename from providers/beta/esri/src/esriProvider.scss rename to providers/esri/src/esriProvider.scss diff --git a/providers/beta/esri/src/index.js b/providers/esri/src/index.js similarity index 71% rename from providers/beta/esri/src/index.js rename to providers/esri/src/index.js index 1720dbe3..0ef17b50 100644 --- a/providers/beta/esri/src/index.js +++ b/providers/esri/src/index.js @@ -27,16 +27,11 @@ export default function createEsriProvider (config = {}) { crs: 'EPSG:27700' } - try { - const MapProvider = (await import(/* webpackChunkName: "im-esri-provider" */ './esriProvider.js')).default + const MapProvider = (await import(/* webpackChunkName: "im-esri-provider" */ './esriProvider.js')).default - return { - MapProvider, - mapProviderConfig - } - } catch (error) { - console.error('Failed to load map provider', error) - throw error + return { + MapProvider, + mapProviderConfig } } } diff --git a/providers/beta/esri/src/mapEvents.js b/providers/esri/src/mapEvents.js similarity index 96% rename from providers/beta/esri/src/mapEvents.js rename to providers/esri/src/mapEvents.js index a790113d..19986421 100644 --- a/providers/beta/esri/src/mapEvents.js +++ b/providers/esri/src/mapEvents.js @@ -1,6 +1,6 @@ import { watch, when, once } from '@arcgis/core/core/reactiveUtils.js' -import { debounce } from '../../../../src/utils/debounce.js' -import { throttle } from '../../../../src/utils/throttle.js' +import { debounce } from '../../../src/utils/debounce.js' +import { throttle } from '../../../src/utils/throttle.js' const DEBOUNCE_IDLE_TIME = 500 const MOVE_THROTTLE_TIME = 10 diff --git a/providers/beta/esri/src/utils/coords.js b/providers/esri/src/utils/coords.js similarity index 100% rename from providers/beta/esri/src/utils/coords.js rename to providers/esri/src/utils/coords.js diff --git a/providers/beta/esri/src/utils/coords.test.js b/providers/esri/src/utils/coords.test.js similarity index 100% rename from providers/beta/esri/src/utils/coords.test.js rename to providers/esri/src/utils/coords.test.js diff --git a/providers/beta/esri/src/utils/detectWebGL.js b/providers/esri/src/utils/detectWebGL.js similarity index 100% rename from providers/beta/esri/src/utils/detectWebGL.js rename to providers/esri/src/utils/detectWebGL.js diff --git a/providers/beta/esri/src/utils/esriFixes.js b/providers/esri/src/utils/esriFixes.js similarity index 100% rename from providers/beta/esri/src/utils/esriFixes.js rename to providers/esri/src/utils/esriFixes.js diff --git a/providers/beta/esri/src/utils/query.js b/providers/esri/src/utils/query.js similarity index 100% rename from providers/beta/esri/src/utils/query.js rename to providers/esri/src/utils/query.js diff --git a/providers/beta/esri/src/utils/spatial.js b/providers/esri/src/utils/spatial.js similarity index 100% rename from providers/beta/esri/src/utils/spatial.js rename to providers/esri/src/utils/spatial.js diff --git a/providers/beta/esri/src/utils/spatial.test.js b/providers/esri/src/utils/spatial.test.js similarity index 100% rename from providers/beta/esri/src/utils/spatial.test.js rename to providers/esri/src/utils/spatial.test.js diff --git a/providers/maplibre/package.json b/providers/maplibre/package.json new file mode 100644 index 00000000..5231a847 --- /dev/null +++ b/providers/maplibre/package.json @@ -0,0 +1,26 @@ +{ + "name": "@defra/interactive-map-provider-maplibre", + "version": "0.0.0-development", + "description": "MapLibre GL JS provider for @defra/interactive-map", + "repository": { + "type": "git", + "url": "https://github.com/DEFRA/interactive-map", + "directory": "providers/maplibre" + }, + "main": "dist/umd/index.js", + "module": "dist/esm/index.js", + "exports": { + ".": { + "import": "./dist/esm/index.js", + "require": "./dist/umd/index.js" + } + }, + "type": "module", + "files": ["dist"], + "sideEffects": false, + "peerDependencies": { + "@defra/interactive-map": "*", + "maplibre-gl": "^5.23.0" + }, + "license": "" +} diff --git a/providers/open-names/package.json b/providers/open-names/package.json new file mode 100644 index 00000000..3316543b --- /dev/null +++ b/providers/open-names/package.json @@ -0,0 +1,26 @@ +{ + "name": "@defra/interactive-map-provider-open-names", + "version": "0.0.0-development", + "description": "OS Open Names search provider for @defra/interactive-map", + "repository": { + "type": "git", + "url": "https://github.com/DEFRA/interactive-map", + "directory": "providers/open-names" + }, + "main": "dist/umd/index.js", + "module": "dist/esm/index.js", + "exports": { + ".": { + "import": "./dist/esm/index.js", + "require": "./dist/umd/index.js" + } + }, + "type": "module", + "files": ["dist"], + "sideEffects": false, + "publishConfig": { "tag": "beta" }, + "peerDependencies": { + "@defra/interactive-map": "*" + }, + "license": "" +} diff --git a/providers/beta/open-names/src/index.js b/providers/open-names/src/index.js similarity index 100% rename from providers/beta/open-names/src/index.js rename to providers/open-names/src/index.js diff --git a/providers/beta/open-names/src/reverseGeocode.js b/providers/open-names/src/reverseGeocode.js similarity index 100% rename from providers/beta/open-names/src/reverseGeocode.js rename to providers/open-names/src/reverseGeocode.js diff --git a/providers/beta/open-names/src/utils/mapToLocationModel.js b/providers/open-names/src/utils/mapToLocationModel.js similarity index 100% rename from providers/beta/open-names/src/utils/mapToLocationModel.js rename to providers/open-names/src/utils/mapToLocationModel.js diff --git a/providers/beta/open-names/src/utils/mapToLocationModel.test.js b/providers/open-names/src/utils/mapToLocationModel.test.js similarity index 100% rename from providers/beta/open-names/src/utils/mapToLocationModel.test.js rename to providers/open-names/src/utils/mapToLocationModel.test.js diff --git a/providers/openlayers/package.json b/providers/openlayers/package.json new file mode 100644 index 00000000..ee6df107 --- /dev/null +++ b/providers/openlayers/package.json @@ -0,0 +1,28 @@ +{ + "name": "@defra/interactive-map-provider-openlayers", + "version": "0.0.0-development", + "description": "OpenLayers provider for @defra/interactive-map", + "repository": { + "type": "git", + "url": "https://github.com/DEFRA/interactive-map", + "directory": "providers/openlayers" + }, + "main": "dist/umd/index.js", + "module": "dist/esm/index.js", + "exports": { + ".": { + "import": "./dist/esm/index.js", + "require": "./dist/umd/index.js" + } + }, + "type": "module", + "files": ["dist"], + "sideEffects": false, + "publishConfig": { "tag": "beta" }, + "peerDependencies": { + "@defra/interactive-map": "*", + "ol": "^10.9.0", + "proj4": "^2.20.8" + }, + "license": "" +} diff --git a/providers/beta/openlayers/src/appEvents.js b/providers/openlayers/src/appEvents.js similarity index 100% rename from providers/beta/openlayers/src/appEvents.js rename to providers/openlayers/src/appEvents.js diff --git a/providers/beta/openlayers/src/appEvents.test.js b/providers/openlayers/src/appEvents.test.js similarity index 100% rename from providers/beta/openlayers/src/appEvents.test.js rename to providers/openlayers/src/appEvents.test.js diff --git a/providers/beta/openlayers/src/defaults.js b/providers/openlayers/src/defaults.js similarity index 100% rename from providers/beta/openlayers/src/defaults.js rename to providers/openlayers/src/defaults.js diff --git a/providers/beta/openlayers/src/index.js b/providers/openlayers/src/index.js similarity index 100% rename from providers/beta/openlayers/src/index.js rename to providers/openlayers/src/index.js diff --git a/providers/beta/openlayers/src/mapEvents.js b/providers/openlayers/src/mapEvents.js similarity index 96% rename from providers/beta/openlayers/src/mapEvents.js rename to providers/openlayers/src/mapEvents.js index 59795d81..0d73a9e3 100644 --- a/providers/beta/openlayers/src/mapEvents.js +++ b/providers/openlayers/src/mapEvents.js @@ -1,5 +1,5 @@ -import { debounce } from '../../../../src/utils/debounce.js' -import { throttle } from '../../../../src/utils/throttle.js' +import { debounce } from '../../../src/utils/debounce.js' +import { throttle } from '../../../src/utils/throttle.js' import { ZOOM_TOLERANCE } from './defaults.js' const DEBOUNCE_IDLE_TIME = 500 diff --git a/providers/beta/openlayers/src/mapEvents.test.js b/providers/openlayers/src/mapEvents.test.js similarity index 98% rename from providers/beta/openlayers/src/mapEvents.test.js rename to providers/openlayers/src/mapEvents.test.js index e4d5fda6..83e4f732 100644 --- a/providers/beta/openlayers/src/mapEvents.test.js +++ b/providers/openlayers/src/mapEvents.test.js @@ -3,7 +3,7 @@ import { attachMapEvents } from './mapEvents.js' const mockDebounceFns = [] -jest.mock('../../../../src/utils/debounce.js', () => ({ +jest.mock('../../../src/utils/debounce.js', () => ({ __esModule: true, debounce: (fn) => { const wrapper = jest.fn() @@ -14,7 +14,7 @@ jest.mock('../../../../src/utils/debounce.js', () => ({ })) // Passthrough throttle: calls fn immediately (no cancel needed, not added to debouncers) -jest.mock('../../../../src/utils/throttle.js', () => ({ +jest.mock('../../../src/utils/throttle.js', () => ({ __esModule: true, throttle: (fn) => jest.fn(fn) })) diff --git a/providers/beta/openlayers/src/openlayersProvider.js b/providers/openlayers/src/openlayersProvider.js similarity index 100% rename from providers/beta/openlayers/src/openlayersProvider.js rename to providers/openlayers/src/openlayersProvider.js diff --git a/providers/beta/openlayers/src/openlayersProvider.test.js b/providers/openlayers/src/openlayersProvider.test.js similarity index 100% rename from providers/beta/openlayers/src/openlayersProvider.test.js rename to providers/openlayers/src/openlayersProvider.test.js diff --git a/providers/beta/openlayers/src/utils/highlightFeatures.js b/providers/openlayers/src/utils/highlightFeatures.js similarity index 100% rename from providers/beta/openlayers/src/utils/highlightFeatures.js rename to providers/openlayers/src/utils/highlightFeatures.js diff --git a/providers/beta/openlayers/src/utils/hoverCursor.js b/providers/openlayers/src/utils/hoverCursor.js similarity index 100% rename from providers/beta/openlayers/src/utils/hoverCursor.js rename to providers/openlayers/src/utils/hoverCursor.js diff --git a/providers/beta/openlayers/src/utils/hoverCursor.test.js b/providers/openlayers/src/utils/hoverCursor.test.js similarity index 100% rename from providers/beta/openlayers/src/utils/hoverCursor.test.js rename to providers/openlayers/src/utils/hoverCursor.test.js diff --git a/providers/beta/openlayers/src/utils/openLayersFixes.js b/providers/openlayers/src/utils/openLayersFixes.js similarity index 100% rename from providers/beta/openlayers/src/utils/openLayersFixes.js rename to providers/openlayers/src/utils/openLayersFixes.js diff --git a/providers/beta/openlayers/src/utils/openLayersFixes.test.js b/providers/openlayers/src/utils/openLayersFixes.test.js similarity index 100% rename from providers/beta/openlayers/src/utils/openLayersFixes.test.js rename to providers/openlayers/src/utils/openLayersFixes.test.js diff --git a/providers/beta/openlayers/src/utils/queryFeatures.js b/providers/openlayers/src/utils/queryFeatures.js similarity index 100% rename from providers/beta/openlayers/src/utils/queryFeatures.js rename to providers/openlayers/src/utils/queryFeatures.js diff --git a/providers/beta/openlayers/src/utils/queryFeatures.test.js b/providers/openlayers/src/utils/queryFeatures.test.js similarity index 100% rename from providers/beta/openlayers/src/utils/queryFeatures.test.js rename to providers/openlayers/src/utils/queryFeatures.test.js diff --git a/providers/beta/openlayers/src/utils/spatial.js b/providers/openlayers/src/utils/spatial.js similarity index 100% rename from providers/beta/openlayers/src/utils/spatial.js rename to providers/openlayers/src/utils/spatial.js diff --git a/providers/beta/openlayers/src/utils/spatial.test.js b/providers/openlayers/src/utils/spatial.test.js similarity index 100% rename from providers/beta/openlayers/src/utils/spatial.test.js rename to providers/openlayers/src/utils/spatial.test.js diff --git a/providers/beta/openlayers/src/utils/tileLayers.js b/providers/openlayers/src/utils/tileLayers.js similarity index 100% rename from providers/beta/openlayers/src/utils/tileLayers.js rename to providers/openlayers/src/utils/tileLayers.js diff --git a/providers/beta/openlayers/src/utils/tileLayers.test.js b/providers/openlayers/src/utils/tileLayers.test.js similarity index 100% rename from providers/beta/openlayers/src/utils/tileLayers.test.js rename to providers/openlayers/src/utils/tileLayers.test.js diff --git a/providers/beta/openlayers/src/utils/vtTileFragments.js b/providers/openlayers/src/utils/vtTileFragments.js similarity index 100% rename from providers/beta/openlayers/src/utils/vtTileFragments.js rename to providers/openlayers/src/utils/vtTileFragments.js diff --git a/providers/beta/openlayers/src/utils/zoom.js b/providers/openlayers/src/utils/zoom.js similarity index 100% rename from providers/beta/openlayers/src/utils/zoom.js rename to providers/openlayers/src/utils/zoom.js diff --git a/providers/beta/openlayers/src/utils/zoom.test.js b/providers/openlayers/src/utils/zoom.test.js similarity index 100% rename from providers/beta/openlayers/src/utils/zoom.test.js rename to providers/openlayers/src/utils/zoom.test.js diff --git a/rollup.esm.mjs b/rollup.esm.mjs index f9cfef48..4a923cdc 100644 --- a/rollup.esm.mjs +++ b/rollup.esm.mjs @@ -220,18 +220,18 @@ const ALL_BUILDS = [ manualChunks: (id) => { if (id.includes('/maplibreProvider')) return 'im-maplibre-provider' } }, { - entryPath: './providers/beta/open-names/src/index.js', - outDir: 'providers/beta/open-names/dist/esm', + entryPath: './providers/open-names/src/index.js', + outDir: 'providers/open-names/dist/esm', manualChunks: (id) => { if (id.includes('/reverseGeocode')) return 'im-reverse-geocode' } }, { - entryPath: './providers/beta/esri/src/index.js', - outDir: 'providers/beta/esri/dist/esm', + entryPath: './providers/esri/src/index.js', + outDir: 'providers/esri/dist/esm', manualChunks: (id) => { if (id.includes('/esriProvider')) return 'im-esri-provider' } }, { - entryPath: './providers/beta/openlayers/src/index.js', - outDir: 'providers/beta/openlayers/dist/esm', + entryPath: './providers/openlayers/src/index.js', + outDir: 'providers/openlayers/dist/esm', extraExternals: [/^ol\//, 'proj4'], manualChunks: (id) => { if (id.includes('/openlayersProvider')) { @@ -242,13 +242,13 @@ const ALL_BUILDS = [ // Plugins — each lazy-loads ./manifest.js; manualChunks names that split chunk { - entryPath: './plugins/beta/scale-bar/src/index.js', - outDir: 'plugins/beta/scale-bar/dist/esm', + entryPath: './plugins/scale-bar/src/index.js', + outDir: 'plugins/scale-bar/dist/esm', manualChunks: (id) => { if (id.includes('/manifest')) return 'im-scale-bar-plugin' } }, { - entryPath: './plugins/beta/use-location/src/index.js', - outDir: 'plugins/beta/use-location/dist/esm', + entryPath: './plugins/use-location/src/index.js', + outDir: 'plugins/use-location/dist/esm', manualChunks: (id) => { if (id.includes('/manifest')) return 'im-use-location-plugin' } }, { @@ -262,37 +262,41 @@ const ALL_BUILDS = [ manualChunks: (id) => { if (id.includes('/manifest')) return 'im-interact-plugin' } }, { - entryPath: './plugins/beta/datasets/src/index.js', - outDir: 'plugins/beta/datasets/dist/esm', + entryPath: './plugins/datasets/src/index.js', + outDir: 'plugins/datasets/dist/esm', manualChunks: (id) => { if (id.includes('/manifest')) return 'im-datasets-plugin' if (id.includes('maplibreLayerAdapter')) return 'im-datasets-ml-adapter' } }, { - entryPath: './plugins/beta/map-styles/src/index.js', - outDir: 'plugins/beta/map-styles/dist/esm', + entryPath: './plugins/datasets/src/adapters/maplibre/index.js', + outDir: 'plugins/datasets/dist/adapters/maplibre/esm' + }, + { + entryPath: './plugins/map-styles/src/index.js', + outDir: 'plugins/map-styles/dist/esm', manualChunks: (id) => { if (id.includes('/manifest')) return 'im-map-styles-plugin' } }, { - entryPath: './plugins/beta/draw-ml/src/index.js', - outDir: 'plugins/beta/draw-ml/dist/esm', + entryPath: './plugins/draw-ml/src/index.js', + outDir: 'plugins/draw-ml/dist/esm', manualChunks: (id) => { if (id.includes('/manifest')) return 'im-draw-ml-plugin' } }, { - entryPath: './plugins/beta/draw-es/src/index.js', - outDir: 'plugins/beta/draw-es/dist/esm', + entryPath: './plugins/draw-es/src/index.js', + outDir: 'plugins/draw-es/dist/esm', manualChunks: (id) => { if (id.includes('/manifest')) return 'im-draw-es-plugin' } }, { - entryPath: './plugins/beta/draw-ol/src/index.js', - outDir: 'plugins/beta/draw-ol/dist/esm', + entryPath: './plugins/draw-ol/src/index.js', + outDir: 'plugins/draw-ol/dist/esm', extraExternals: [/^ol\//], manualChunks: (id) => { if (id.includes('/manifest')) return 'im-draw-ol-plugin' } }, { - entryPath: './plugins/beta/frame/src/index.js', - outDir: 'plugins/beta/frame/dist/esm', + entryPath: './plugins/frame/src/index.js', + outDir: 'plugins/frame/dist/esm', manualChunks: (id) => { if (id.includes('/manifest')) return 'im-frame-plugin' } } ] diff --git a/scripts/publish-package.sh b/scripts/publish-package.sh index 9d43dd3a..f63dc068 100755 --- a/scripts/publish-package.sh +++ b/scripts/publish-package.sh @@ -24,7 +24,7 @@ validate_version_format() { get_published_version() { local major_version=$1 local published=$(npm view "${PACKAGE_NAME}@^${major_version}.0.0" version --json 2>/dev/null | jq -r '.[-1]' 2>/dev/null || echo "") - + if [ -z "$published" ] || [ "$published" = "null" ]; then echo "0.0.0" else @@ -35,60 +35,109 @@ get_published_version() { validate_version_bump() { local new_version="${TAG_NAME#v}" local major_version=$(echo "$new_version" | cut -d. -f1) - + echo "Package: ${PACKAGE_NAME}" echo "Checking version constraints for v${major_version}.x line..." - + local published_version=$(get_published_version "$major_version") - + echo "Latest v${major_version}.x published: $published_version" echo "New version to publish: $new_version" - + if npx --yes semver "$new_version" -r "<=$published_version" >/dev/null 2>&1; then echo "ERROR: Version $new_version is not greater than published version $published_version in the v${major_version}.x line" exit 1 fi - + echo "✓ Version check passed" } +stamp_versions() { + local version="${TAG_NAME#v}" + npm pkg set version="$version" + for pkg_dir in providers/* plugins/*; do + [ -f "$pkg_dir/package.json" ] || continue + npm pkg set version="$version" --prefix "$pkg_dir" + npm pkg set "peerDependencies.@defra/interactive-map"="$version" --prefix "$pkg_dir" + done +} + +assert_version() { + local pkg_dir=$1 + local expected=$2 + local actual + actual=$(jq -r '.version' "${pkg_dir}/package.json") + if [ "$actual" != "$expected" ]; then + echo "ERROR: version mismatch in $pkg_dir — expected $expected, got $actual" + exit 1 + fi +} + determine_release_tag() { if [[ "$IS_PRE_RELEASE" == "true" ]] || [[ "$TAG_NAME" =~ $PRE_RELEASE_PATTERN ]]; then - echo "pre-release" + echo "alpha" else echo "latest" fi } -publish_package() { +determine_pkg_tag() { + local pkg_dir=$1 + if [[ "$IS_PRE_RELEASE" == "true" ]] || [[ "$TAG_NAME" =~ $PRE_RELEASE_PATTERN ]]; then + echo "alpha" + return + fi + jq -r '.publishConfig.tag // "latest"' "$pkg_dir/package.json" +} + +publish_all() { local release_tag=$1 - local new_version="${TAG_NAME#v}" - - echo "Publishing ${PACKAGE_NAME}@${new_version} to npm with tag: ${release_tag}" - + local version="${TAG_NAME#v}" + + echo "Publishing ${PACKAGE_NAME}@${version} to npm with tag: ${release_tag}" + if [ "$DRY_RUN" = "true" ]; then - echo "[DRY RUN] Would run: npm version --no-git-tag-version ${TAG_NAME}" echo "[DRY RUN] Would run: npm publish --access public --tag=${release_tag}" else - npm version --no-git-tag-version "${TAG_NAME}" + assert_version "." "$version" npm publish --access public --tag="${release_tag}" fi - - echo "✓ Successfully published ${PACKAGE_NAME}@${new_version}" + + echo "✓ Published ${PACKAGE_NAME}@${version}" + + for pkg_dir in providers/* plugins/*; do + [ -f "$pkg_dir/package.json" ] || continue + local pkg_name + pkg_name=$(jq -r '.name' "$pkg_dir/package.json") + local pkg_tag + pkg_tag=$(determine_pkg_tag "$pkg_dir") + + echo "Publishing ${pkg_name}@${version} to npm with tag: ${pkg_tag}" + + if [ "$DRY_RUN" = "true" ]; then + echo "[DRY RUN] Would run: npm publish ./${pkg_dir} --access public --tag=${pkg_tag}" + else + assert_version "$pkg_dir" "$version" + npm publish "./${pkg_dir}" --access public --tag="${pkg_tag}" + fi + + echo "✓ Published ${pkg_name}@${version}" + done } main() { - PACKAGE_NAME=$(npm pkg get name | tr -d '"') + PACKAGE_NAME=$(jq -r '.name' package.json) TAG_NAME="${1:-}" IS_PRE_RELEASE="${2:-false}" DRY_RUN="${3:-false}" - + validate_arguments validate_version_format validate_version_bump - + stamp_versions + RELEASE_TAG=$(determine_release_tag) - publish_package "$RELEASE_TAG" + publish_all "$RELEASE_TAG" } main "$@" diff --git a/webpack.umd.mjs b/webpack.umd.mjs index 3704729f..9c7aa888 100755 --- a/webpack.umd.mjs +++ b/webpack.umd.mjs @@ -136,18 +136,19 @@ const ALL_BUILDS = [ // Providers { entryPath: './providers/maplibre/src/index.js', libraryPath: 'maplibreProvider', outDir: 'providers/maplibre/dist/umd' }, - { entryPath: './providers/beta/open-names/src/index.js', libraryPath: 'openNamesProvider', outDir: 'providers/beta/open-names/dist/umd' }, - { entryPath: './providers/beta/openlayers/src/index.js', libraryPath: 'openLayersProvider', outDir: 'providers/beta/openlayers/dist/umd' }, + { entryPath: './providers/open-names/src/index.js', libraryPath: 'openNamesProvider', outDir: 'providers/open-names/dist/umd' }, + { entryPath: './providers/openlayers/src/index.js', libraryPath: 'openLayersProvider', outDir: 'providers/openlayers/dist/umd' }, // Plugins - { entryPath: './plugins/beta/scale-bar/src/index.js', libraryPath: 'scaleBarPlugin', outDir: 'plugins/beta/scale-bar/dist/umd' }, - { entryPath: './plugins/beta/use-location/src/index.js', libraryPath: 'useLocationPlugin', outDir: 'plugins/beta/use-location/dist/umd' }, + { entryPath: './plugins/scale-bar/src/index.js', libraryPath: 'scaleBarPlugin', outDir: 'plugins/scale-bar/dist/umd' }, + { entryPath: './plugins/use-location/src/index.js', libraryPath: 'useLocationPlugin', outDir: 'plugins/use-location/dist/umd' }, { entryPath: './plugins/search/src/index.js', libraryPath: 'searchPlugin', outDir: 'plugins/search/dist/umd' }, { entryPath: './plugins/interact/src/index.js', libraryPath: 'interactPlugin', outDir: 'plugins/interact/dist/umd' }, - { entryPath: './plugins/beta/datasets/src/index.js', libraryPath: 'datasetsPlugin', outDir: 'plugins/beta/datasets/dist/umd', cssOutDir: 'plugins/beta/datasets/dist' }, - { entryPath: './plugins/beta/map-styles/src/index.js', libraryPath: 'mapStylesPlugin', outDir: 'plugins/beta/map-styles/dist/umd' }, - { entryPath: './plugins/beta/draw-ml/src/index.js', libraryPath: 'drawMLPlugin', outDir: 'plugins/beta/draw-ml/dist/umd' }, - { entryPath: './plugins/beta/frame/src/index.js', libraryPath: 'framePlugin', outDir: 'plugins/beta/frame/dist/umd' } + { entryPath: './plugins/datasets/src/index.js', libraryPath: 'datasetsPlugin', outDir: 'plugins/datasets/dist/umd', cssOutDir: 'plugins/datasets/dist' }, + { entryPath: './plugins/map-styles/src/index.js', libraryPath: 'mapStylesPlugin', outDir: 'plugins/map-styles/dist/umd' }, + { entryPath: './plugins/draw-ml/src/index.js', libraryPath: 'drawMLPlugin', outDir: 'plugins/draw-ml/dist/umd' }, + { entryPath: './plugins/draw-ol/src/index.js', libraryPath: 'drawOLPlugin', outDir: 'plugins/draw-ol/dist/umd' }, + { entryPath: './plugins/frame/src/index.js', libraryPath: 'framePlugin', outDir: 'plugins/frame/dist/umd' } ] // === Filter via environment variable ===