location-conflation is an open source project. You can submit bug reports, help out, or learn more by visiting our project page on GitHub: https://github.com/rapideditor/location-conflation
Please star our project on GitHub to show your support! ⭐️
Breaking changes, which may affect downstream projects, are marked with a
- Update country-coder to v5.3.0
⚠️ Use a named export for ESM, 'default' export for CJS/IIFE (#68)⚠️ Change.strict()
to a normal class property. Also remove.cache()
accessor- Replace mfogel/polygon-clipping with luizbarboza/polyclip-ts (#67)
- Fix map on https://location-conflation.com (#66)
- Bump dependency versions
- Supported engines now
"node": ">=18"
- Update country-coder to v5.2.1
- Bump dependency versions
- Switch location-conflation to a scoped package under the rapideditor org:
@rapideditor/location-conflation
⚠️ Note: projects that depend on location-conflation may need to update their code
- Update country-coder to v5.1
- Remove "browser" from the export map
- Add an export map to
package.json
, fix file extensions again
⚠️ Initial stable release- Note: Built files will no longer be checked into GitHub
⚠️ Replace microbundle with esbuild for super fast build speed. Package outputs are now:"module": "./index.mjs"
- ESM, modern JavaScript, works withimport
"main": "./dist/location-conflation.cjs"
- CJS bundle, modern JavaScript, works withrequire()
"browser": "./dist/location-conflation.iife.js"
- IIFE bundle, modern JavaScript, works in browser<script>
tag- No longer distributing ES5 builds
⚠️ location-conflation is marked as"type": "module"
now⚠️ Dropped support for old browsers like Internet Explorer on https://ideditor.codes- Update to country-coder v5.0
- Update to country-coder v4.1
- Add support for optional
radius
value for point locations.- Radius is specified in kilometers and is optional. If not specified, it will default to a 25km radius.
- Perf improvement: Don't union features iteratively with locationReducer (#26)
- Update to country-coder v4
⚠️ Refactor - API now has:validateLocation
/validateLocationSet
- fast, return stable idsresolveLocation
/resolveLocationSet
- slower, resolve GeoJSON features- All functions now return similar result objects
⚠️ Introduce strict / non-strict modes. Location-conflation defaults to "strict" mode now.- In strict mode, any invalid location or locationSet throws an error.
- In non strict mode, invalid locations are ignored, and locationSets that include nothing are assumed to include the entire world.
- Can change modes by calling
.strict(val)
, for example:
const loco = new LocationConflation(features).strict(false); // not strict
- Add tests and document everything
- Replace turf with mfogel/polygon-clipping (#1, #2, #20)
- Include
stringify
convenience method - Update country-coder and other dependencies
- Use uppercase Wikidata identifiers, lowercase geojson filenames
- Handle cases like UK which have both members and geometry (#4)
⚠️ Breaking changes: several function renames and changes to internalslocationToFeature()
->resolveLoation()
isValidLocation()
->validateLocation()
- Copy country-coder features rather than modifying inplace (less hacky)
- Use wikidata identifiers as the country coder feature ids and cache keys now
- Update country-coder dependency
- Ensure that feature results always have both
id
andproperties.id
- Initial release