Giter VIP home page Giter VIP logo

Comments (4)

bobziroll avatar bobziroll commented on July 18, 2024 2

I haven't tried it in Node. I realize now I wasn't very descriptive of my scenario.

I'm building a React project w/ React Router and using Mirage JS as a fake API. Mirage JS is using Pretender, which is using whatwg-fetch as the polyfill for fetch. Because that polyfill doesn't include a body property, React Router isn't recognizing the Response as a legitimate response, since Response objects need to have a true .body property according to the spec.

There are some limitations to the polyfill and streaming responses, which is why they chose not to include a true .body on their Responses. However, from poking around the Pretender code base, it looks like that polyfill is being used whether the browser environment it's being used in is modern enough to have a fetch implementation built in.

I wrote this little PR that would check to see if the browser being used has window.fetch already.

I also might be way in over my head with this 😅 but I thought I'd give it a shot in the dark to see if that might help avoid using the polyfill if it isn't needed in that environment. But I'm very happy to be corrected if I'm not going about things the right way.

from pretender.

mdbiscan avatar mdbiscan commented on July 18, 2024

Is this happening for you in Node?

from pretender.

vincicat avatar vincicat commented on July 18, 2024

I also have similar issue with the fetch polyfill of pretender in node.js (v20.0) - global.Headers is now a read only property as fetch is officially supported for a while (see link), the mocking always throw a Type Error now.

Please accept the PR #362

from pretender.

na-ji avatar na-ji commented on July 18, 2024

I'm building a React project w/ React Router and using Mirage JS as a fake API. Mirage JS is using Pretender, which is using whatwg-fetch as the polyfill for fetch. Because that polyfill doesn't include a body property, React Router isn't recognizing the Response as a legitimate response, since Response objects need to have a true .body property according to the spec.

The exact same issue is happening on Next.js with its app router. Next's app router uses the .body property to enable the smooth navigation from page to page. Because of this issue, the navigation is completely broken on NextJS when using Miragejs/pretender. It would be cool if the PR #362 was accepted to fix this issue.

from pretender.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.