FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

fix: invalid path for export in package.json (v 5.0.0) by cristianoliveira · Pull Request #164 · developit/unfetch · GitHub

Repository navigation

fix: invalid path for export in package.json (v 5.0.0) - #164

Open
cristianoliveira wants to merge 2 commits into
developit:mainfrom
cristianoliveira:main
Open

cristianoliveira wants to merge 2 commits into
developit:mainfrom
cristianoliveira:main

Conversation

Copy link
Copy Markdown

First of all, thanks for this library! We have been using it for quite a long time, and it works like a charm.

Description

It seems that there are invalid values exported in the package.json https://github.com/developit/unfetch/blob/main/package.json#L18

It causes issue while using unfetch as a module, for instance, we use webpack and once upgraded to 5.0.0 it started to break the build with the given (not so clear, to say the least) error:

ERROR in ./src/index.js 1:0-30
Module not found: Error: Can't resolve 'unfetch' in '/Users/user/dev/unfetch-issue-demo/src'
resolve 'unfetch' in '/Users/user/dev/unfetch-issue-demo/src'
  Parsed request is a module
  using description file: /Users/user/dev/unfetch-issue-demo/package.json (relative path: ./src)
    Field 'browser' doesn't contain a valid alias configuration
    resolve as module
      /Users/user/dev/unfetch-issue-demo/src/node_modules doesn't exist or is not a directory
      looking for modules in /Users/user/dev/unfetch-issue-demo/node_modules
        single file module
          using description file: /Users/user/dev/unfetch-issue-demo/package.json (relative path: ./node_modules/unfetch)
            no extension
              Field 'browser' doesn't contain a valid alias configuration
              /Users/user/dev/unfetch-issue-demo/node_modules/unfetch is not a file
            .tsx
              Field 'browser' doesn't contain a valid alias configuration
              /Users/user/dev/unfetch-issue-demo/node_modules/unfetch.tsx doesn't exist
            .ts
              Field 'browser' doesn't contain a valid alias configuration
              /Users/user/dev/unfetch-issue-demo/node_modules/unfetch.ts doesn't exist
            .js
              Field 'browser' doesn't contain a valid alias configuration
              /Users/user/dev/unfetch-issue-demo/node_modules/unfetch.js doesn't exist
            .jsx
              Field 'browser' doesn't contain a valid alias configuration
              /Users/user/dev/unfetch-issue-demo/node_modules/unfetch.jsx doesn't exist
        existing directory /Users/user/dev/unfetch-issue-demo/node_modules/unfetch
...

Demo

Here you can see an example of this issue:
https://github.com/cristianoliveira/unfetch-issue-demo

Solution

After pointing to src/index.mjs it started to compile again and it is working as expected. 😄

Let me know if this is the right solution.

Relates to

#163
#162

cristianoliveira commented Feb 10, 2023 •
edited
Loading

Copy link
Copy Markdown
Author

For those who use webpack and want a quick fix, while this isn't correctly addressed, you can create an alias and point to the correct file:

In the webpack.config.js include:

  resolve: {
    alias: {
      'unfetch': path.resolve(__dirname, 'node_modules/unfetch/dist/unfetch.mjs'),
    },
  },

Comment thread package.json Outdated
Co-authored-by: Ryan Christian <33403762+rschristian@users.noreply.github.com>

Copy link
Copy Markdown

Looks correct to me!

ayZagen commented Mar 27, 2023 •
edited
Loading

Copy link
Copy Markdown

@rschristian @developit pinging in case you have forgotten to approve

Copy link
Copy Markdown

Sorry, not a maintainer, my approval does nothing. Just a drive-by suggestion as I ran into this and was seeing if anyone had submitted a fix yet.

Copy link
Copy Markdown

For those who use webpack and want a quick fix, while this isn't correctly addressed, you can create an alias and point to the correct file:

In the webpack.config.js include:

  resolve: {
    alias: {
      'unfetch': path.resolve(__dirname, 'node_modules/unfetch/dist/unfetch.mjs'),
    },
  },

Workes fine. Thanks

jonathansick added a commit to lsst-sqre/squareone that referenced this pull request Aug 15, 2023
This is pending a fix to a how unfetch 5 exports its files, e.g.
developit/unfetch#164
jonathansick added a commit to lsst-sqre/squareone that referenced this pull request Aug 16, 2023
This is pending a fix to a how unfetch 5 exports its files, e.g.
developit/unfetch#164

Skopea commented Sep 9, 2023

Copy link
Copy Markdown

Can this be merged? I really need this change since in cannot start storybook in my project, Thanks for fixing this! 🥳

Copy link
Copy Markdown

@rschristian , Kindly approve & merge it

Copy link
Copy Markdown

@rschristian , Kindly approve & merge it

#164 (comment)

Copy link
Copy Markdown

@rschristian , Kindly approve & merge it

#164 (comment)

But its showing that your review is pending..

Copy link
Copy Markdown

Doesn't matter -- GitHub's UI is a bit weird there for sure, but the approval of non-maintainers does nothing. You'd see a "collaborator" badge (I think) next to my name if I was able to approve and merge.

Copy link
Copy Markdown

@developit ?

Copy link
Copy Markdown

This would be really nice to have merged since it currently is unusable in vite without a manual override.

For anyone else using vite, adding a resolve alias solved this for now:

defineConfig({
  resolve: {
    alias: {
      unfetch: path.resolve(__dirname, "node_modules/unfetch/dist/unfetch.mjs"),
    }
  }
})

tdacu commented Nov 16, 2023 •
edited
Loading

Copy link
Copy Markdown

This would be really nice to have merged since it currently is unusable in vite without a manual override.

=> Failed to build the preview
ReferenceError: path is not defined

And if I'm importing

import path from 'path';

I'm still getting
Error: Failed to resolve entry for package "unfetch". The package may have incorrect main/module/exports specified in its package.json.

pheuberger added a commit to pheuberger/toucan-sdk that referenced this pull request Nov 29, 2023
Without this patch people were experiencing problems when bundling the
SDK. See issue ToucanProtocol#95 ToucanProtocol#95

The problem is that `isomorphic-unfetch` 4.0.2 upgraded to `unfetch`
5.0.0 which currently has an issue with their module exports leading to
an error when bundling the lib itself or any other lib that depends on
`unfetch`.

See this PR for more information: developit/unfetch#164

Once this PR is merged we can go back to the latest `isomorphic-unfetch`
version.
pheuberger added a commit to pheuberger/toucan-sdk that referenced this pull request Nov 29, 2023
Without this patch people were experiencing problems when bundling the
SDK. See issue ToucanProtocol#95 ToucanProtocol#95

The problem is that `isomorphic-unfetch` 4.0.2 upgraded to `unfetch`
5.0.0 which currently has an issue with their module exports leading to
an error when bundling the lib itself or any other lib that depends on
`unfetch`.

See this PR for more information: developit/unfetch#164

Once the PR above is merged we can go back to the latest `isomorphic-unfetch`
version.

Copy link
Copy Markdown

Can someone merge this, please?

unflxw added a commit to appsignal/appsignal-javascript that referenced this pull request Apr 23, 2024
An issue with `unfetch@5`, depended on by `isomorphic-unfetch@4.0.2`,
breaks bundling with tools such as `esbuild` and `webpack`:
developit/unfetch#164

alopix commented Aug 27, 2024

Copy link
Copy Markdown

Any chance this can get merged and published? Lots of bundler workarounds required right now 😅

Copy link
Copy Markdown

@developit is this possible to merge? Not sure on the status on the library, but this one would be a really helpful fix.

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
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 this pull request may close these issues.


Back | FazBrowse Home | New Git URL