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
- Fix type exports, and mark internal
_cacheaspublic(downstream projects are accessing it) (#73)
- Switch the project code to TypeScript
⚠️ While everything should be backward compatible, generated files have moved:dist/js/*- Built JavaScript filesdist/ts/*- Built TypeScript declaration file
⚠️ Internal_cachehas changed from anObjectto aMap- Update all dependencies
- This project uses
bunnow, for simpler developer tooling (#71) ⚠️ This also restores the previous named export - shouldn't need.defaultanymore (#68)- Update country-coder to v5.6.0
- Test against Node 24
- Update country-coder to v5.5.1
- Drop support for Node 18
- Update country-coder to v5.4.0
- Update country-coder to v5.3.1
- 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
radiusvalue 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
stringifyconvenience 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
idandproperties.id
- Initial release