Skip to content
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

Error when using ESM CDNs - The requested module does not provide an export named 'toLatLngBounds' #1386

Closed
gavinr-maps opened this issue Jan 30, 2024 · 4 comments · Fixed by #1394
Assignees

Comments

@gavinr-maps
Copy link
Contributor

gavinr-maps commented Jan 30, 2024

Describe the bug

When trying to load Esri Leaflet via ES Modules via an ESM CDN like esm.sh or esm.run by jsDelivr, there is an error:

Uncaught SyntaxError: The requested module .... does not provide an export named 'toLatLngBounds' ...

Notes:

Reproduction

esm.run reproduction:

  1. Open https://jsbin.com/xokuzam/1/edit?html,output
  2. View the developer console
    • Expected: the map loads and no errors
    • Actual:

      Uncaught SyntaxError: The requested module '/npm/leaflet@1.9.4/+esm' does not provide an export named 'toLatLngBounds' (at +esm:7:265)

Logs

No response

System Info

- Leaflet v1.9.4
- Esri Leaflet v3.0.12

Additional Information

It does look like Leaflet exports as latLngBounds - https://github.com/Leaflet/Leaflet/blob/b2fd591c33785227e0d4036c1a80a00bd2debd53/src/geo/index.js#L2

... so is the fix as simple as changing this:

toLatLngBounds as latLngBounds,

to:

latLngBounds,

?

@gavinr-maps gavinr-maps self-assigned this Feb 20, 2024
@gavinr-maps
Copy link
Contributor Author

gavinr-maps commented Jun 18, 2024

I have published a separate version of Esri Leaflet that includes the change:

toLatLngBounds as latLngBounds,

to:

latLngBounds,

The good news is that when we change to the new version, the originally reported error does not show:

  1. Open https://jsbin.com/xokuzam/5/edit?html,output
  2. View the developer console
    • Expected: the map loads and no errors
    • Actual: the map loads and no errors

BUT if we add a feature layer to that map, we get a NEW error:

  1. Open https://jsbin.com/rahage/3/edit?html,output
  2. View the developer console
    • Expected: the map loads with a basemap and eartqualke feature points in USA
    • Actual: the map loads with a basemap, but no feature points in USA. error: TypeError: Cannot read properties of undefined (reading 'lat')

... so I'm not sure if this is the correct fix. or maybe we need an additional fix.

@Kizito007
Copy link

Hey @gavinr-maps

Does this issue still persist? If so could you please guide me through it, I'd love to give a hand but I'm kinda lost through the threads.

Thanks

@hhkaos
Copy link
Member

hhkaos commented Oct 24, 2024

Hi @Kizito007 I just followed the reproduction steps above and I still see the error showing (on the current version 3.0.12):
2024-10-24_15-24-42

@gavinr-maps
Copy link
Contributor Author

Turns out the fix that I mentioned in #1386 (comment) is the solution. But the follow-on issue is an issue with the CDN esm.run. If you switch it to use Cloudflare's esm.sh service, it works:
https://jsbin.com/rahage/7/edit?html,output

I will be issuing a PR shortly for that small change. No additional work needed on this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants