-
Notifications
You must be signed in to change notification settings - Fork 166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Outdated dependencies. Collecting feedback #836
Comments
This sounds good.
|
At first glance works without any problems, what should I pay attention to?
The webpack was offered as a more conservative option, but if you don't mind using vite, that's much better. In that case mayby also replace jest with vitest? Vitest have compatible api, but the integration is better |
You can look for React 18 in the deck.gl discussions / issues. It seemed to me by browsing through some of these discussion that React 18 can cause rendering sync issues between deck.gl and basemaps, my guess is that it could be due to aggressive under-the-hood-optimizations in React 18 that do not exhibit any problems in normal DOM applications. I suspect the risk is that if you force apps to upgrade to 18, you may leave them stuck without downgrade option should such rendering issues arise. As for you other questions, nebula.gl has always had a slightly different build setup than the standard for other vis.gl repos. As long as this is done by a committed maintainer and the tool choices are not too obscure, I don't see what that couldn't continue, i.e. we can let nebula.gl be a place where we allow some experimentation with tooling, that other vis.gl repos can take inspiration from. |
Great, in that case let's do it! |
You can always allow multiple major versions of react like so:
|
As for react-map-gl 7, i think they said it would never be compatible with react-map-gl-draw and to use mapbox-gl-draw instead. unfortunately mapbox-gl-draw seems to be abandoned, with no new releases in almost two years. Hopefully the community can consolidate around one of the two libraries. |
Thank you @omasback, As an alternative solution, you can work with the map api directly without using it react wrappers (essentially all you need from react is a ref on the dom node); Possible implementation: class MapAPI {
constructor(mapEngine) {
this.engine = mapEngine;
}
init(element) {
this.map = new this.engine.Map({
container: element,
style: 'mapbox://styles/mapbox/streets-v12', // style URL
center: [-74.5, 40],
zoom: 9
});
}
}
export const map = new MapAPI(mapboxgl);
export function MyMap() {
const mountPointRef = useRef(null);
useLayoutEffect(() => {
map.init(mountPointRef.current)
}, [mountPointRef])
return <div ref={mountPointRef}></div>
} |
With #862 being merged bumping react to 17 and implementing vite/vitest migration, I believe this issue can be closed. I would also appreciate if the release could be cut, there's quite a bit of enhancements in the master branch and we don't have any more changes lined up from @konturio in this iteration. |
@ibgreen Do you have any doc describing the release process?
|
Any updates on this? |
Feature request
Currently repo have a bunch of outdated deps. Let's refresh it.
Background
Before i make a merge request to close this issue, I would like to know the opinion of maintainers on this repo, perhaps now is not the right time to do this, or there are other reasons why it should not be done
As i see a large number of obsolete dependencies in the project:
To Do List
(separate mr for every step)
Migrate to react-map-gl 7The text was updated successfully, but these errors were encountered: