diff --git a/package.json b/package.json index 2ddb336a5..4cc2b9391 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "ole", "license": "BSD-2-Clause", "description": "OpenLayers Editor", - "version": "2.4.5", + "version": "3.0.0-beta.5", "main": "build/index.js", "dependencies": {}, "peerDependencies": { @@ -41,7 +41,7 @@ "vitest": "^2.1.1" }, "scripts": { - "build": "shx rm -rf build && tsc --project config/tsconfig-build.json && esbuild build/index.js --bundle --global-name=ole --loader:.svg=dataurl --minify --outfile=build/bundle.js", + "build": "shx rm -rf build && tsc --project config/tsconfig-build.json && shx cp -r src/img build/img && esbuild build/index.js --bundle --global-name=ole --loader:.svg=dataurl --minify --outfile=build/bundle.js && node tasks/prepare-package.mjs", "cy:open": "cypress open", "cy:run": "cypress run --browser chrome", "cy:test": "start-server-and-test start http://127.0.0.1:8000 cy:run", @@ -50,9 +50,9 @@ "format": "prettier --write 'cypress/integration/*.js' 'src/**/*.js' && eslint 'src/**/*.js' --fix && stylelint 'style/**/*.css' 'src/**/*.css' 'src/**/*.scss' --fix", "lint": "ESLINT_USE_FLAT_CONFIG=false eslint 'cypress/e2e/**/*.js' 'src/**/*.js' && stylelint 'style/**/*.css' 'src/**/*.css' 'src/**/*.scss'", "prepare": "is-ci || husky", - "publish:beta": "yarn release -- --prerelease beta --skip.changelog && yarn build && git push origin HEAD && git push --tags && yarn publish --tag beta", + "publish:beta": "yarn release -- --prerelease beta --skip.changelog && yarn build && git push origin HEAD && git push --tags && cd build && yarn publish --tag beta", "publish:beta:dryrun": "yarn release -- --prerelease beta --dry-run --skip.changelog", - "publish:public": "yarn release && yarn build && git push origin HEAD && git push --tags && yarn publish", + "publish:public": "yarn release && yarn build && git push origin HEAD && git push --tags && cd build && yarn publish", "publish:public:dryrun": "yarn release --dry-run", "release": "standard-version", "start": "esbuild src/index.js --bundle --global-name=ole --loader:.svg=dataurl --minify --outfile=index.js --serve=localhost:8000 --servedir=. --sourcemap --watch=forever", diff --git a/src/control/buffer.js b/src/control/buffer.js index 53dfde476..28bc0ffd6 100644 --- a/src/control/buffer.js +++ b/src/control/buffer.js @@ -11,7 +11,7 @@ import { } from 'ol/geom'; import Select from 'ol/interaction/Select'; import Control from './control'; -import bufferSVG from '../../img/buffer.svg'; +import bufferSVG from '../img/buffer.svg'; /** * Control for creating buffers. diff --git a/src/control/cad.js b/src/control/cad.js index 0f783a7ba..7bc05f947 100644 --- a/src/control/cad.js +++ b/src/control/cad.js @@ -7,7 +7,7 @@ import { Pointer, Snap } from 'ol/interaction'; import { OverlayOp } from 'jsts/org/locationtech/jts/operation/overlay'; import { getUid } from 'ol/util'; import Control from './control'; -import cadSVG from '../../img/cad.svg'; +import cadSVG from '../img/cad.svg'; import { SnapEvent, SnapEventType } from '../event'; import { parser, @@ -56,6 +56,7 @@ class CadControl extends Control { * must be an array containing the following values 'ortho', 'segment', 'vh'. Default is ['ortho', 'segment', 'vh', 'custom']. * @param {Number} [options.snapPointDist] Distance of the * snap points (default is 30). + * @param {ol.source.Vector} [options.source] Vector source holding edit features. * @param {Boolean} [options.useMapUnits] Whether to use map units * as measurement for point snapping. Default is false (pixel are used). * @param {ol.VectorSource} [options.source] The vector source to retrieve the snappable features from. diff --git a/src/control/control.js b/src/control/control.js index 80ae120d4..26201797a 100644 --- a/src/control/control.js +++ b/src/control/control.js @@ -15,10 +15,9 @@ class Control extends OLControl { * @param {Image} options.image Control toolbar image. * @param {HTMLElement} [options.dialogTarget] Specify a target if you want * the dialog div used by the control to be rendered outside of the map's viewport. Set tio null if you don't want to display the dialog of a control. - * @param {ol.source.Vector} [options.source] Vector source holding - * edit features. If undefined, options.features must be passed. + * @param {ol.source.Vector} [options.source] Vector source holding edit features. * @param {ol.Collection} [options.features] Collection of - * edit features. If undefined, options.source must be set. + * edit features. Requires options.source to be set. * @param {function} [options.layerFilter] Filter editable layer. */ constructor(options) { diff --git a/src/control/difference.js b/src/control/difference.js index b996311c9..d222a4733 100644 --- a/src/control/difference.js +++ b/src/control/difference.js @@ -10,7 +10,7 @@ import { MultiPolygon, } from 'ol/geom'; import TopologyControl from './topology'; -import diffSVG from '../../img/difference.svg'; +import diffSVG from '../img/difference.svg'; /** * Control for creating a difference of geometries. diff --git a/src/control/draw.js b/src/control/draw.js index 5243fc978..6064122f0 100644 --- a/src/control/draw.js +++ b/src/control/draw.js @@ -1,8 +1,8 @@ import { Draw } from 'ol/interaction'; import Control from './control'; -import drawPointSVG from '../../img/draw_point.svg'; -import drawPolygonSVG from '../../img/draw_polygon.svg'; -import drawLineSVG from '../../img/draw_line.svg'; +import drawPointSVG from '../img/draw_point.svg'; +import drawPolygonSVG from '../img/draw_polygon.svg'; +import drawLineSVG from '../img/draw_line.svg'; /** * Control for drawing features. diff --git a/src/control/intersection.js b/src/control/intersection.js index 3858f7576..3fd397fb2 100644 --- a/src/control/intersection.js +++ b/src/control/intersection.js @@ -10,7 +10,7 @@ import { MultiPolygon, } from 'ol/geom'; import TopologyControl from './topology'; -import intersectionSVG from '../../img/intersection.svg'; +import intersectionSVG from '../img/intersection.svg'; /** * Control for intersection geometries. diff --git a/src/control/modify.js b/src/control/modify.js index adc400ea4..8855e0998 100644 --- a/src/control/modify.js +++ b/src/control/modify.js @@ -4,7 +4,7 @@ import { singleClick } from 'ol/events/condition'; import throttle from 'lodash.throttle'; import { unByKey } from 'ol/Observable'; import Control from './control'; -import image from '../../img/modify_geometry2.svg'; +import image from '../img/modify_geometry2.svg'; import SelectMove from '../interaction/selectmove'; import SelectModify from '../interaction/selectmodify'; import Move from '../interaction/move'; diff --git a/src/control/rotate.js b/src/control/rotate.js index edd928128..f856299e4 100644 --- a/src/control/rotate.js +++ b/src/control/rotate.js @@ -4,8 +4,8 @@ import Vector from 'ol/layer/Vector'; import VectorSource from 'ol/source/Vector'; import Pointer from 'ol/interaction/Pointer'; import Control from './control'; -import rotateSVG from '../../img/rotate.svg'; -import rotateMapSVG from '../../img/rotate_map.svg'; +import rotateSVG from '../img/rotate.svg'; +import rotateMapSVG from '../img/rotate_map.svg'; /** * Tool with for rotating geometries. diff --git a/src/control/topology.js b/src/control/topology.js index dc2056cbb..2d1145dba 100644 --- a/src/control/topology.js +++ b/src/control/topology.js @@ -1,6 +1,6 @@ import Select from 'ol/interaction/Select'; import Control from './control'; -import delSVG from '../../img/buffer.svg'; +import delSVG from '../img/buffer.svg'; /** * Control for deleting geometries. diff --git a/src/control/union.js b/src/control/union.js index 9a3663f89..2a9d7857b 100644 --- a/src/control/union.js +++ b/src/control/union.js @@ -10,7 +10,7 @@ import { MultiPolygon, } from 'ol/geom'; import TopologyControl from './topology'; -import unionSVG from '../../img/union.svg'; +import unionSVG from '../img/union.svg'; /** * Control for creating a union of geometries. diff --git a/img/buffer.svg b/src/img/buffer.svg similarity index 100% rename from img/buffer.svg rename to src/img/buffer.svg diff --git a/img/cad.svg b/src/img/cad.svg similarity index 100% rename from img/cad.svg rename to src/img/cad.svg diff --git a/img/difference.svg b/src/img/difference.svg similarity index 100% rename from img/difference.svg rename to src/img/difference.svg diff --git a/img/draw_line.svg b/src/img/draw_line.svg similarity index 100% rename from img/draw_line.svg rename to src/img/draw_line.svg diff --git a/img/draw_point.svg b/src/img/draw_point.svg similarity index 100% rename from img/draw_point.svg rename to src/img/draw_point.svg diff --git a/img/draw_polygon.svg b/src/img/draw_polygon.svg similarity index 100% rename from img/draw_polygon.svg rename to src/img/draw_polygon.svg diff --git a/img/intersection.svg b/src/img/intersection.svg similarity index 100% rename from img/intersection.svg rename to src/img/intersection.svg diff --git a/img/modify_geometry.svg b/src/img/modify_geometry.svg similarity index 100% rename from img/modify_geometry.svg rename to src/img/modify_geometry.svg diff --git a/img/modify_geometry2.svg b/src/img/modify_geometry2.svg similarity index 100% rename from img/modify_geometry2.svg rename to src/img/modify_geometry2.svg diff --git a/img/rotate.svg b/src/img/rotate.svg similarity index 100% rename from img/rotate.svg rename to src/img/rotate.svg diff --git a/img/rotate_map.svg b/src/img/rotate_map.svg similarity index 100% rename from img/rotate_map.svg rename to src/img/rotate_map.svg diff --git a/img/union.svg b/src/img/union.svg similarity index 100% rename from img/union.svg rename to src/img/union.svg diff --git a/tasks/prepare-package.mjs b/tasks/prepare-package.mjs index 110e72fb0..a00104d63 100644 --- a/tasks/prepare-package.mjs +++ b/tasks/prepare-package.mjs @@ -9,6 +9,7 @@ function main() { // write out simplified package.json pkg.main = 'index.js'; + pkg.type = 'module'; delete pkg.devDependencies; delete pkg.scripts; const data = JSON.stringify(pkg, null, 2);