diff --git a/README.md b/README.md index b39b74d5..2b35e827 100644 --- a/README.md +++ b/README.md @@ -30,110 +30,12 @@ Software source code previously released under an open source license and then m [GeoPackage JS](https://github.com/ngageoint/geopackage-js) is a [GeoPackage Library](http://ngageoint.github.io/GeoPackage/) JavaScript implementation of the Open Geospatial Consortium [GeoPackage](http://www.geopackage.org/) [spec](http://www.geopackage.org/spec/). It is listed as an [OGC GeoPackage Implementation](http://www.geopackage.org/#implementations_nga) by the National Geospatial-Intelligence Agency. - + The GeoPackage JavaScript library currently provides the ability to read GeoPackage files. This library works both in the browser and in Node. In the browser tiles are rendered using HTML5 Canvas and GeoPackages are read using [sql.js](https://github.com/kripken/sql.js/). In Node tiles are rendered [PureImage](https://github.com/joshmarinacci/node-pureimage) and GeoPackages are read using [node-sqlite3](https://github.com/mapbox/node-sqlite3). -### Changelog - -##### 5.0.1 -- Added in FeatureTileGenerator -- Added in UrlTileGenerator -- Rebuilt CanvasKit to add support for webp and jpeg - -##### 5.0.0 -- GeoPackage JS's API has been updated to more closely match GeoPackage Java v6.4.0 - - Not yet implemented: 2D Gridded Tile Coverage Extension and OGC API Feature Generator -- GeoPackageExtensions is now ExtensionManager -- GeoPackageAPI is now GeoPackageManager -- Added FeatureTileTableLink extension -- Added support for extended geometry types -- Added Properties extension -- Added ZoomOther extension -- Added support for drawing extended geometry types -- Updated to use NGA simple features javascript libraries -- Updated to use NGA projections javascript library -- Added UserCustomRow -- Reworked UserRow, UserTable, and UserColumn and updated all super types -- Added in FeatureConnection, TileConnection, AttributesConnection and UserCustomConnections. -- Added GeoPackageCache - -##### 4.2.3 - -- fix cached geometry error - -##### 4.2.2 - -- fix simplify error - -##### 4.2.1 - -- Fix for drawing geometries outside of the 3857 bounds - -##### 4.2.0 - -- Support for drawing vector data into EPSG:4326 tiles -- Added createStandardWGS84TileTable - -##### 4.1.0 - -- Typescript updates -- Extract converters, leaflet plugin, mobile optimizer, and viewer into their own packages - -##### 4.0.0 - -- Alter tables functions (copy, rename for table and columns) -- Publish separate node and browser module -- GeoPackageJS can now be run in Node.js worker_threads and Web Workers - -##### 2.1.0 - -- Implementation of the Feature Style Extension and Contents ID Extension - -##### 2.0.8 - -- Checks for Electron when returning a tile creator - -##### 2.0 - -- All new API utilizing Promises - -##### 1.1.4 - -- Adds a method to retrieve tiles in EPSG:4326 - -##### 1.1.3 - -- Fixes issue #115 - -##### 1.1.2 - -- fix case where GeoPackage Zoom does not correspond to the web map zoom - -##### 1.1.1 - -- fix more instances of proj4 bug for react -- fixed tile generation for images with different x and y pixel densities - -##### 1.1.0 - -- accept pull request adding support for react -- fix bug with projected tiles that spanned the date line - -##### 1.0.25 - -- ensure we use proj4 2.4.3 instead of 2.4.4 - -##### 1.0.22 - -- Fixed bug where querying for indexed features only returned the geometry instead of the entire feature - -##### 1.0.19 - -- Remove dependency on Lwip - ### Usage ### View the latest [docs](https://ngageoint.github.io/geopackage-js/). diff --git a/changelog.md b/changelog.md new file mode 100644 index 00000000..70ac51dd --- /dev/null +++ b/changelog.md @@ -0,0 +1,108 @@ +### Changelog + +##### 5.0.1 +- Added in FeatureTileGenerator +- Added in UrlTileGenerator +- Rebuilt CanvasKit to add support for webp and jpeg + +##### 5.0.0 +- GeoPackage JS's API has been updated to more closely match GeoPackage Java v6.4.0 + - Not yet implemented: 2D Gridded Tile Coverage Extension and OGC API Feature Generator +- GeoPackageExtensions is now ExtensionManager +- GeoPackageAPI is now GeoPackageManager +- Added FeatureTileTableLink extension +- Added support for extended geometry types +- Added Properties extension +- Added ZoomOther extension +- Added support for drawing extended geometry types +- Updated to use NGA simple features javascript libraries +- Updated to use NGA projections javascript library +- Added UserCustomRow +- Reworked UserRow, UserTable, and UserColumn and updated all super types +- Added in FeatureConnection, TileConnection, AttributesConnection and UserCustomConnections. +- Added GeoPackageCache + +##### 4.2.5 + +- Fix a bug that set `undefined` on sql.js prepared statement values causing sql.js to throw an error. +- Update `better-sqlite3` dependency to 9.x. +- Make `properties` parameter to optional in signature of `createMediaTable()` method. +- Add stack trace to error log when loading SQLite adapter. + +##### 4.2.4 + +- Update CanvasKit libs with libs from develop to fix runtime error in Node 18 + +##### 4.2.3 + +- fix cached geometry error + +##### 4.2.2 + +- fix simplify error + +##### 4.2.1 + +- Fix for drawing geometries outside of the 3857 bounds + +##### 4.2.0 + +- Support for drawing vector data into EPSG:4326 tiles +- Added createStandardWGS84TileTable + +##### 4.1.0 + +- Typescript updates +- Extract converters, leaflet plugin, mobile optimizer, and viewer into their own packages + +##### 4.0.0 + +- Alter tables functions (copy, rename for table and columns) +- Publish separate node and browser module +- GeoPackageJS can now be run in Node.js worker_threads and Web Workers + +##### 2.1.0 + +- Implementation of the Feature Style Extension and Contents ID Extension + +##### 2.0.8 + +- Checks for Electron when returning a tile creator + +##### 2.0 + +- All new API utilizing Promises + +##### 1.1.4 + +- Adds a method to retrieve tiles in EPSG:4326 + +##### 1.1.3 + +- Fixes issue #115 + +##### 1.1.2 + +- fix case where GeoPackage Zoom does not correspond to the web map zoom + +##### 1.1.1 + +- fix more instances of proj4 bug for react +- fixed tile generation for images with different x and y pixel densities + +##### 1.1.0 + +- accept pull request adding support for react +- fix bug with projected tiles that spanned the date line + +##### 1.0.25 + +- ensure we use proj4 2.4.3 instead of 2.4.4 + +##### 1.0.22 + +- Fixed bug where querying for indexed features only returned the geometry instead of the entire feature + +##### 1.0.19 + +- Remove dependency on Lwip \ No newline at end of file diff --git a/docs/examples/GoingOfflineWithGeoPackage/vendor/ngageoint/geopackage/README.md b/docs/examples/GoingOfflineWithGeoPackage/vendor/ngageoint/geopackage/README.md index 82177e59..7b33facb 100644 --- a/docs/examples/GoingOfflineWithGeoPackage/vendor/ngageoint/geopackage/README.md +++ b/docs/examples/GoingOfflineWithGeoPackage/vendor/ngageoint/geopackage/README.md @@ -30,7 +30,7 @@ Software source code previously released under an open source license and then m [GeoPackage JS](https://github.com/ngageoint/geopackage-js) is a [GeoPackage Library](http://ngageoint.github.io/GeoPackage/) JavaScript implementation of the Open Geospatial Consortium [GeoPackage](http://www.geopackage.org/) [spec](http://www.geopackage.org/spec/). It is listed as an [OGC GeoPackage Implementation](http://www.geopackage.org/#implementations_nga) by the National Geospatial-Intelligence Agency. - + diff --git a/docs/index.html b/docs/index.html index 7d0124a3..1914ed7d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -24,7 +24,7 @@

by the National Geospatial-Intelligence Agency

The GeoPackage Javascript library was developed as part of the GeoPackage Libraries by the National Geospatial-Intelligence Agency (NGA) in collaboration with BIT Systems.

GeoPackage is a Javascript implementation of the Open Geospatial Consortium GeoPackage spec. It is listed as an OGC GeoPackage Implementation by the National Geospatial-Intelligence Agency.

- + @@ -45,4 +45,4 @@

by the National Geospatial-Intelligence Agency

- \ No newline at end of file + diff --git a/lib/context/context.ts b/lib/context/context.ts index b37216ba..68376b74 100644 --- a/lib/context/context.ts +++ b/lib/context/context.ts @@ -29,9 +29,7 @@ export class Context { require('better-sqlite3'); Db.registerDbAdapter(SqliteAdapter); } catch (e) { - console.error( - 'Unable to register SqliteAdapter. The better-sqlite3 module was not found. Falling back to SqljsAdapter.', - ); + console.error('Unable to register SqliteAdapter. The better-sqlite3 module was not found. Falling back to SqljsAdapter.', e); // fallback to sqljs adapter Db.registerDbAdapter(SqljsAdapter); } diff --git a/lib/db/dbValue.ts b/lib/db/dbValue.ts index 40a3c23e..58d3ad4b 100644 --- a/lib/db/dbValue.ts +++ b/lib/db/dbValue.ts @@ -1,4 +1,8 @@ /** * DBValue can be a boolean, string, number, Buffer or Uint8Array + * + * TODO: + * This should allow `null` as well, but adding that could be a breaking change to clients. + * Additionally set `"strictNullChecks": true` in tsconfig. */ export type DBValue = boolean | string | number | Buffer | Uint8Array; diff --git a/lib/db/sqljsAdapter.ts b/lib/db/sqljsAdapter.ts index 8c58b94e..9ad074b9 100644 --- a/lib/db/sqljsAdapter.ts +++ b/lib/db/sqljsAdapter.ts @@ -295,7 +295,7 @@ export class SqljsAdapter implements DBAdapter { bindAndInsert(statement: any, params?: [] | Record): number { if (params && !(params instanceof Array)) { for (const key in params) { - params['$' + key] = params[key]; + params['$' + key] = typeof params[key] === 'undefined' ? null : params[key]; } } return statement.run(params).lastInsertRowid; diff --git a/package-lock.json b/package-lock.json index 8a12d334..bc0a4193 100644 --- a/package-lock.json +++ b/package-lock.json @@ -68,7 +68,7 @@ "xhr-mock": "2.5.1" }, "optionalDependencies": { - "better-sqlite3": "8.1.0", + "better-sqlite3": "^9.1.1", "chalk": "4.1.1", "inquirer": "8.0.0" } @@ -1475,14 +1475,14 @@ } }, "node_modules/better-sqlite3": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-8.1.0.tgz", - "integrity": "sha512-p1m09H+Oi8R9TPj810pdNswMFuVgRNgCJEWypp6jlkOgSwMIrNyuj3hW78xEuBRGok5RzeaUW8aBtTWF3l/TQA==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-9.1.1.tgz", + "integrity": "sha512-FhW7bS7cXwkB2SFnPJrSGPmQerVSCzwBgmQ1cIRcYKxLsyiKjljzCbyEqqhYXo5TTBqt5BISiBj2YE2Sy2ynaA==", "hasInstallScript": true, "optional": true, "dependencies": { "bindings": "^1.5.0", - "prebuild-install": "^7.1.0" + "prebuild-install": "^7.1.1" } }, "node_modules/big.js": { @@ -1524,9 +1524,9 @@ } }, "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.1.tgz", - "integrity": "sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "optional": true, "dependencies": { "inherits": "^2.0.3", @@ -2543,9 +2543,9 @@ } }, "node_modules/detect-libc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", - "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", "optional": true, "engines": { "node": ">=8" @@ -3504,6 +3504,60 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/geojson-rbush": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/geojson-rbush/-/geojson-rbush-3.2.0.tgz", + "integrity": "sha512-oVltQTXolxvsz1sZnutlSuLDEcQAKYC/uXt9zDzJJ6bu0W+baTI8LZBaTup5afzibEH4N3jlq2p+a152wlBJ7w==", + "dependencies": { + "@turf/bbox": "*", + "@turf/helpers": "6.x", + "@turf/meta": "6.x", + "@types/geojson": "7946.0.8", + "rbush": "^3.0.1" + } + }, + "node_modules/geojson-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/geojson-stream/-/geojson-stream-0.1.0.tgz", + "integrity": "sha512-svSg5fFXPaTiqzEBGXScA+nISaeC9rLvku2PH+wM5LToATUw2bLIrvls43ymnT9Xnp51nBPVyK9m4Af40KpJ7w==", + "dependencies": { + "JSONStream": "^1.0.0", + "through": "^2.3.4" + } + }, "node_modules/get-assigned-identifiers": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", @@ -5489,9 +5543,9 @@ } }, "node_modules/node-abi": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.33.0.tgz", - "integrity": "sha512-7GGVawqyHF4pfd0YFybhv/eM9JwTtPqx0mAanQ146O3FlSh3pA24zf9IRQTOsfTSqXTNzPSP5iagAJ94jjuVog==", + "version": "3.51.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.51.0.tgz", + "integrity": "sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA==", "optional": true, "dependencies": { "semver": "^7.3.5" @@ -5500,6 +5554,25 @@ "node": ">=10" } }, + "node_modules/node-environment-flags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", + "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", + "dev": true, + "dependencies": { + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" + } + }, + "node_modules/node-environment-flags/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, "node_modules/node-loader": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/node-loader/-/node-loader-2.0.0.tgz", @@ -6496,6 +6569,15 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/proj4": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/proj4/-/proj4-2.8.0.tgz", @@ -7768,9 +7850,9 @@ } }, "node_modules/tar-stream/node_modules/readable-stream": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.1.tgz", - "integrity": "sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "optional": true, "dependencies": { "inherits": "^2.0.3", @@ -8607,6 +8689,58 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/wide-align/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/wide-align/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/wide-align/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/wide-align/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/wildcard": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", @@ -9900,13 +10034,13 @@ } }, "better-sqlite3": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-8.1.0.tgz", - "integrity": "sha512-p1m09H+Oi8R9TPj810pdNswMFuVgRNgCJEWypp6jlkOgSwMIrNyuj3hW78xEuBRGok5RzeaUW8aBtTWF3l/TQA==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-9.1.1.tgz", + "integrity": "sha512-FhW7bS7cXwkB2SFnPJrSGPmQerVSCzwBgmQ1cIRcYKxLsyiKjljzCbyEqqhYXo5TTBqt5BISiBj2YE2Sy2ynaA==", "optional": true, "requires": { "bindings": "^1.5.0", - "prebuild-install": "^7.1.0" + "prebuild-install": "^7.1.1" } }, "big.js": { @@ -9942,9 +10076,9 @@ }, "dependencies": { "readable-stream": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.1.tgz", - "integrity": "sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "optional": true, "requires": { "inherits": "^2.0.3", @@ -10767,9 +10901,9 @@ "dev": true }, "detect-libc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", - "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", "optional": true }, "detective": { @@ -11528,6 +11662,51 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "geojson-rbush": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/geojson-rbush/-/geojson-rbush-3.2.0.tgz", + "integrity": "sha512-oVltQTXolxvsz1sZnutlSuLDEcQAKYC/uXt9zDzJJ6bu0W+baTI8LZBaTup5afzibEH4N3jlq2p+a152wlBJ7w==", + "requires": { + "@turf/bbox": "*", + "@turf/helpers": "6.x", + "@turf/meta": "6.x", + "@types/geojson": "7946.0.8", + "rbush": "^3.0.1" + } + }, + "geojson-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/geojson-stream/-/geojson-stream-0.1.0.tgz", + "integrity": "sha512-svSg5fFXPaTiqzEBGXScA+nISaeC9rLvku2PH+wM5LToATUw2bLIrvls43ymnT9Xnp51nBPVyK9m4Af40KpJ7w==", + "requires": { + "JSONStream": "^1.0.0", + "through": "^2.3.4" + } + }, "get-assigned-identifiers": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", @@ -13066,14 +13245,32 @@ } }, "node-abi": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.33.0.tgz", - "integrity": "sha512-7GGVawqyHF4pfd0YFybhv/eM9JwTtPqx0mAanQ146O3FlSh3pA24zf9IRQTOsfTSqXTNzPSP5iagAJ94jjuVog==", + "version": "3.51.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.51.0.tgz", + "integrity": "sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA==", "optional": true, "requires": { "semver": "^7.3.5" } }, + "node-environment-flags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", + "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", + "dev": true, + "requires": { + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, "node-loader": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/node-loader/-/node-loader-2.0.0.tgz", @@ -13482,6 +13679,12 @@ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true }, + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true + }, "object-is": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", @@ -13835,6 +14038,12 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, "proj4": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/proj4/-/proj4-2.8.0.tgz", @@ -14808,9 +15017,9 @@ }, "dependencies": { "readable-stream": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.1.tgz", - "integrity": "sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "optional": true, "requires": { "inherits": "^2.0.3", @@ -15431,6 +15640,48 @@ "is-typed-array": "^1.1.10" } }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, "wildcard": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", diff --git a/package.json b/package.json index 8253cd1d..b8b2019e 100644 --- a/package.json +++ b/package.json @@ -82,7 +82,7 @@ "xhr-mock": "2.5.1" }, "optionalDependencies": { - "better-sqlite3": "8.1.0", + "better-sqlite3": "^9.1.1", "chalk": "4.1.1", "inquirer": "8.0.0" },