Updated dependencies

This commit is contained in:
n1474335 2019-08-30 18:49:05 +01:00
parent de762847e9
commit 32c0d6f253
3 changed files with 931 additions and 1484 deletions

2313
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -36,19 +36,19 @@
"node >= 10" "node >= 10"
], ],
"devDependencies": { "devDependencies": {
"@babel/core": "^7.5.0", "@babel/core": "^7.5.5",
"@babel/plugin-transform-runtime": "^7.5.0", "@babel/plugin-transform-runtime": "^7.5.5",
"@babel/preset-env": "^7.5.0", "@babel/preset-env": "^7.5.5",
"autoprefixer": "^9.6.0", "autoprefixer": "^9.6.1",
"babel-eslint": "^10.0.2", "babel-eslint": "^10.0.3",
"babel-loader": "^8.0.6", "babel-loader": "^8.0.6",
"babel-plugin-dynamic-import-node": "^2.2.0", "babel-plugin-dynamic-import-node": "^2.3.0",
"chromedriver": "^75.0.1", "chromedriver": "^76.0.1",
"colors": "^1.3.3", "colors": "^1.3.3",
"css-loader": "^3.0.0", "css-loader": "^3.2.0",
"eslint": "^6.0.1", "eslint": "^6.2.2",
"exports-loader": "^0.7.0", "exports-loader": "^0.7.0",
"file-loader": "^4.0.0", "file-loader": "^4.2.0",
"grunt": "^1.0.4", "grunt": "^1.0.4",
"grunt-accessibility": "~6.0.0", "grunt-accessibility": "~6.0.0",
"grunt-chmod": "~1.1.1", "grunt-chmod": "~1.1.1",
@ -63,27 +63,27 @@
"grunt-zip": "^0.18.2", "grunt-zip": "^0.18.2",
"html-webpack-plugin": "^3.2.0", "html-webpack-plugin": "^3.2.0",
"imports-loader": "^0.8.0", "imports-loader": "^0.8.0",
"mini-css-extract-plugin": "^0.7.0", "mini-css-extract-plugin": "^0.8.0",
"nightwatch": "^1.1.13", "nightwatch": "^1.2.1",
"node-sass": "^4.12.0", "node-sass": "^4.12.0",
"postcss-css-variables": "^0.13.0", "postcss-css-variables": "^0.13.0",
"postcss-import": "^12.0.1", "postcss-import": "^12.0.1",
"postcss-loader": "^3.0.0", "postcss-loader": "^3.0.0",
"prompt": "^1.0.0", "prompt": "^1.0.0",
"sass-loader": "^7.1.0", "sass-loader": "^8.0.0",
"sitemap": "^3.2.0", "sitemap": "^4.1.1",
"style-loader": "^0.23.1", "style-loader": "^1.0.0",
"svg-url-loader": "^3.0.0", "svg-url-loader": "^3.0.1",
"url-loader": "^2.0.1", "url-loader": "^2.1.0",
"webpack": "^4.35.2", "webpack": "^4.39.3",
"webpack-bundle-analyzer": "^3.3.2", "webpack-bundle-analyzer": "^3.4.1",
"webpack-dev-server": "^3.7.2", "webpack-dev-server": "^3.8.0",
"webpack-node-externals": "^1.7.2", "webpack-node-externals": "^1.7.2",
"worker-loader": "^2.0.0" "worker-loader": "^2.0.0"
}, },
"dependencies": { "dependencies": {
"@babel/polyfill": "^7.4.4", "@babel/polyfill": "^7.4.4",
"@babel/runtime": "^7.5.0", "@babel/runtime": "^7.5.5",
"arrive": "^2.4.1", "arrive": "^2.4.1",
"babel-plugin-transform-builtin-extend": "1.1.2", "babel-plugin-transform-builtin-extend": "1.1.2",
"bcryptjs": "^2.4.3", "bcryptjs": "^2.4.3",
@ -95,22 +95,22 @@
"bson": "^4.0.2", "bson": "^4.0.2",
"chi-squared": "^1.1.0", "chi-squared": "^1.1.0",
"clippyjs": "0.0.3", "clippyjs": "0.0.3",
"core-js": "^3.1.4", "core-js": "^3.2.1",
"crypto-api": "^0.8.3", "crypto-api": "^0.8.5",
"crypto-js": "^3.1.9-1", "crypto-js": "^3.1.9-1",
"ctph.js": "0.0.5", "ctph.js": "0.0.5",
"d3": "^5.9.7", "d3": "^5.11.0",
"d3-hexbin": "^0.2.2", "d3-hexbin": "^0.2.2",
"diff": "^4.0.1", "diff": "^4.0.1",
"es6-promisify": "^6.0.1", "es6-promisify": "^6.0.2",
"escodegen": "^1.11.1", "escodegen": "^1.12.0",
"esm": "^3.2.25", "esm": "^3.2.25",
"esmangle": "^1.0.1", "esmangle": "^1.0.1",
"esprima": "^4.0.1", "esprima": "^4.0.1",
"exif-parser": "^0.1.12", "exif-parser": "^0.1.12",
"file-saver": "^2.0.2", "file-saver": "^2.0.2",
"geodesy": "^1.1.3", "geodesy": "^1.1.3",
"highlight.js": "^9.15.8", "highlight.js": "^9.15.10",
"jimp": "^0.6.4", "jimp": "^0.6.4",
"jquery": "3.4.1", "jquery": "3.4.1",
"js-crc": "^0.2.0", "js-crc": "^0.2.0",
@ -120,15 +120,15 @@
"jsonwebtoken": "^8.5.1", "jsonwebtoken": "^8.5.1",
"jsqr": "^1.2.0", "jsqr": "^1.2.0",
"jsrsasign": "8.0.12", "jsrsasign": "8.0.12",
"kbpgp": "2.1.2", "kbpgp": "2.1.3",
"libbzip2-wasm": "0.0.4", "libbzip2-wasm": "0.0.4",
"libyara-wasm": "0.0.12", "libyara-wasm": "0.0.12",
"lodash": "^4.17.15", "lodash": "^4.17.15",
"loglevel": "^1.6.3", "loglevel": "^1.6.3",
"loglevel-message-prefix": "^3.0.0", "loglevel-message-prefix": "^3.0.0",
"markdown-it": "^9.0.0", "markdown-it": "^9.1.0",
"moment": "^2.24.0", "moment": "^2.24.0",
"moment-timezone": "^0.5.25", "moment-timezone": "^0.5.26",
"ngeohash": "^0.6.3", "ngeohash": "^0.6.3",
"node-forge": "^0.8.5", "node-forge": "^0.8.5",
"node-md6": "^0.1.0", "node-md6": "^0.1.0",
@ -158,6 +158,7 @@
"test": "grunt test", "test": "grunt test",
"test-node-consumer": "grunt testnodeconsumer", "test-node-consumer": "grunt testnodeconsumer",
"testui": "grunt testui", "testui": "grunt testui",
"testuidev": "npx nightwatch --env=dev",
"lint": "grunt lint", "lint": "grunt lint",
"newop": "node --experimental-modules src/core/config/scripts/newOperation.mjs" "newop": "node --experimental-modules src/core/config/scripts/newOperation.mjs"
} }

View File

@ -6,9 +6,22 @@
* @license Apache-2.0 * @license Apache-2.0
*/ */
import geohash from "ngeohash";
import geodesy from "geodesy";
import OperationError from "../errors/OperationError.mjs"; import OperationError from "../errors/OperationError.mjs";
import geohash from "ngeohash";
/*
Currently unable to update to geodesy v2 as we cannot load .js modules into a .mjs file.
When we do update, imports will look like this:
import LatLonEllipsoidal from "geodesy/latlon-ellipsoidal.js";
import Mgrs from "geodesy/mgrs.js";
import OsGridRef from "geodesy/osgridref.js";
import Utm from "geodesy/utm.js";
*/
import geodesy from "geodesy";
const LatLonEllipsoidal = geodesy.LatLonEllipsoidal,
Mgrs = geodesy.Mgrs,
OsGridRef = geodesy.OsGridRef,
Utm = geodesy.Utm;
/** /**
* Co-ordinate formats * Co-ordinate formats
@ -116,22 +129,22 @@ export function convertCoordinates (input, inFormat, inDelim, outFormat, outDeli
switch (inFormat) { switch (inFormat) {
case "Geohash": case "Geohash":
hash = geohash.decode(input.replace(/[^A-Za-z0-9]/g, "")); hash = geohash.decode(input.replace(/[^A-Za-z0-9]/g, ""));
latlon = new geodesy.LatLonEllipsoidal(hash.latitude, hash.longitude); latlon = new LatLonEllipsoidal(hash.latitude, hash.longitude);
break; break;
case "Military Grid Reference System": case "Military Grid Reference System":
utm = geodesy.Mgrs.parse(input.replace(/[^A-Za-z0-9]/g, "")).toUtm(); utm = Mgrs.parse(input.replace(/[^A-Za-z0-9]/g, "")).toUtm();
latlon = utm.toLatLonE(); latlon = utm.toLatLonE();
break; break;
case "Ordnance Survey National Grid": case "Ordnance Survey National Grid":
osng = geodesy.OsGridRef.parse(input.replace(/[^A-Za-z0-9]/g, "")); osng = OsGridRef.parse(input.replace(/[^A-Za-z0-9]/g, ""));
latlon = geodesy.OsGridRef.osGridToLatLon(osng); latlon = OsGridRef.osGridToLatLon(osng);
break; break;
case "Universal Transverse Mercator": case "Universal Transverse Mercator":
// Geodesy needs a space between the first 2 digits and the next letter // Geodesy needs a space between the first 2 digits and the next letter
if (/^[\d]{2}[A-Za-z]/.test(input)) { if (/^[\d]{2}[A-Za-z]/.test(input)) {
input = input.slice(0, 2) + " " + input.slice(2); input = input.slice(0, 2) + " " + input.slice(2);
} }
utm = geodesy.Utm.parse(input); utm = Utm.parse(input);
latlon = utm.toLatLonE(); latlon = utm.toLatLonE();
break; break;
case "Degrees Minutes Seconds": case "Degrees Minutes Seconds":
@ -143,7 +156,7 @@ export function convertCoordinates (input, inFormat, inDelim, outFormat, outDeli
if (splitLat.length >= 3 && splitLong.length >= 3) { if (splitLat.length >= 3 && splitLong.length >= 3) {
lat = convDMSToDD(splitLat[0], splitLat[1], splitLat[2], 10); lat = convDMSToDD(splitLat[0], splitLat[1], splitLat[2], 10);
lon = convDMSToDD(splitLong[0], splitLong[1], splitLong[2], 10); lon = convDMSToDD(splitLong[0], splitLong[1], splitLong[2], 10);
latlon = new geodesy.LatLonEllipsoidal(lat.degrees, lon.degrees); latlon = new LatLonEllipsoidal(lat.degrees, lon.degrees);
} else { } else {
throw new OperationError("Invalid co-ordinate format for Degrees Minutes Seconds"); throw new OperationError("Invalid co-ordinate format for Degrees Minutes Seconds");
} }
@ -152,7 +165,7 @@ export function convertCoordinates (input, inFormat, inDelim, outFormat, outDeli
splitLat = splitInput(split[0]); splitLat = splitInput(split[0]);
if (splitLat.length >= 3) { if (splitLat.length >= 3) {
lat = convDMSToDD(splitLat[0], splitLat[1], splitLat[2]); lat = convDMSToDD(splitLat[0], splitLat[1], splitLat[2]);
latlon = new geodesy.LatLonEllipsoidal(lat.degrees, lat.degrees); latlon = new LatLonEllipsoidal(lat.degrees, lat.degrees);
} else { } else {
throw new OperationError("Invalid co-ordinate format for Degrees Minutes Seconds"); throw new OperationError("Invalid co-ordinate format for Degrees Minutes Seconds");
} }
@ -168,7 +181,7 @@ export function convertCoordinates (input, inFormat, inDelim, outFormat, outDeli
// Convert to decimal degrees, and then convert to a geodesy object // Convert to decimal degrees, and then convert to a geodesy object
lat = convDDMToDD(splitLat[0], splitLat[1], 10); lat = convDDMToDD(splitLat[0], splitLat[1], 10);
lon = convDDMToDD(splitLong[0], splitLong[1], 10); lon = convDDMToDD(splitLong[0], splitLong[1], 10);
latlon = new geodesy.LatLonEllipsoidal(lat.degrees, lon.degrees); latlon = new LatLonEllipsoidal(lat.degrees, lon.degrees);
} else { } else {
// Not a pair, so only try to convert one set of co-ordinates // Not a pair, so only try to convert one set of co-ordinates
splitLat = splitInput(input); splitLat = splitInput(input);
@ -176,7 +189,7 @@ export function convertCoordinates (input, inFormat, inDelim, outFormat, outDeli
throw new OperationError("Invalid co-ordinate format for Degrees Decimal Minutes."); throw new OperationError("Invalid co-ordinate format for Degrees Decimal Minutes.");
} }
lat = convDDMToDD(splitLat[0], splitLat[1], 10); lat = convDDMToDD(splitLat[0], splitLat[1], 10);
latlon = new geodesy.LatLonEllipsoidal(lat.degrees, lat.degrees); latlon = new LatLonEllipsoidal(lat.degrees, lat.degrees);
} }
break; break;
case "Decimal Degrees": case "Decimal Degrees":
@ -186,14 +199,14 @@ export function convertCoordinates (input, inFormat, inDelim, outFormat, outDeli
if (splitLat.length !== 1 || splitLong.length !== 1) { if (splitLat.length !== 1 || splitLong.length !== 1) {
throw new OperationError("Invalid co-ordinate format for Decimal Degrees."); throw new OperationError("Invalid co-ordinate format for Decimal Degrees.");
} }
latlon = new geodesy.LatLonEllipsoidal(splitLat[0], splitLong[0]); latlon = new LatLonEllipsoidal(splitLat[0], splitLong[0]);
} else { } else {
// Not a pair, so only try to convert one set of co-ordinates // Not a pair, so only try to convert one set of co-ordinates
splitLat = splitInput(split[0]); splitLat = splitInput(split[0]);
if (splitLat.length !== 1) { if (splitLat.length !== 1) {
throw new OperationError("Invalid co-ordinate format for Decimal Degrees."); throw new OperationError("Invalid co-ordinate format for Decimal Degrees.");
} }
latlon = new geodesy.LatLonEllipsoidal(splitLat[0], splitLat[0]); latlon = new LatLonEllipsoidal(splitLat[0], splitLat[0]);
} }
break; break;
default: default:
@ -260,7 +273,7 @@ export function convertCoordinates (input, inFormat, inDelim, outFormat, outDeli
convLat = mgrs.toString(precision); convLat = mgrs.toString(precision);
break; break;
case "Ordnance Survey National Grid": case "Ordnance Survey National Grid":
osng = geodesy.OsGridRef.latLonToOsGrid(latlon); osng = OsGridRef.latLonToOsGrid(latlon);
if (osng.toString() === "") { if (osng.toString() === "") {
throw new OperationError("Could not convert co-ordinates to OS National Grid. Are the co-ordinates in range?"); throw new OperationError("Could not convert co-ordinates to OS National Grid. Are the co-ordinates in range?");
} }