zerodevx/svelte-toast

Import issue in Webpack 5

rafaucau opened this issue · 3 comments

I encountered an issue while using your package with Webpack 5 in my project. The problem is related to the export statement in the index.js file:

export { toast } from './stores'

In Webpack 5, fully specified paths are required for ESM modules. The export statement is missing the file extension, which causes an error:

ERROR in ../../../node_modules/@zerodevx/svelte-toast/index.js 2:0-32
Module not found: Error: Can't resolve './stores' in '********node_modules/@zerodevx/svelte-toast'
Did you mean 'stores.js'?
BREAKING CHANGE: The request './stores' failed to resolve only because it was resolved as fully specified
(probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"').
The extension in the request is mandatory for it to be fully specified.
Add the extension to the request.
resolve './stores' in '********node_modules/@zerodevx/svelte-toast'
  using description file: ********node_modules/@zerodevx/svelte-toast/package.json (relative path: .)
    Field 'browser' doesn't contain a valid alias configuration
    using description file: ********node_modules/@zerodevx/svelte-toast/package.json (relative path: ./stores)
      Field 'browser' doesn't contain a valid alias configuration
      ********node_modules/@zerodevx/svelte-toast/stores doesn't exist
 @ ./src/js/post/components/ReportContent.svelte 38:0-60 208:19-30 666:2-13 667:2-7
 @ ./src/js/post/index.ts 61:4-47

To resolve this issue, I suggest changing the export statement in the index.js file to include the .js file extension:

export { toast } from './stores.js'

I tried to configure Webpack to handle this issue on my end, but I still encounter the error. It would be great if you could apply the suggested fix to the package.

When I modified the index.js file manually in the node_modules folder, it works correctly.

Thanks for raising this - will be fixed shortly.

Hey, thanks again for investigating. Your suggestion is added into v0.9.3 - let me know if you're still facing issues!

Thanks for the quick update! It works now.