Skip to content

React Native support for ofetch #293

@homersimpsons

Description

@homersimpsons

Environment

  • react-native: 0.72.4
  • ofetch: 1.3.3
  • node-fetch-native: main branch (97bcf42aae94794d5cae6ef63c17bfa6dfb3e128)

Reproduction

Checkout following repository: https://github.com/homersimpsons/react-native-ofetch-demo

  1. initiate a new react-native-cli repository
  2. yarn add ofetch
  3. Use ofetch in your code

Describe the bug

Using published version of node-fetch-native (1.4.0):

Reproduction commit: homersimpsons/react-native-ofetch-demo@d62a7b7

The bundle fail to compile with the following error:

error: Error: Unable to resolve module node:http from /home/user/project/node_modules/ofetch/dist/node.cjs: node:http could not be found within the project or in these directories:
  node_modules
  ../../../node_modules
  1 | 'use strict';
  2 |
> 3 | const http = require('node:http');
    |                       ^
  4 | const https = require('node:https');
  5 | const nodeFetch = require('node-fetch-native');
  6 | const fetch$1 = require('./shared/ofetch.92c14be7.cjs');
    at ModuleResolver.resolveDependency (/home/user/project/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:139:15)
    at DependencyGraph.resolveDependency (/home/user/project/node_modules/metro/src/node-haste/DependencyGraph.js:277:43)
    at Object.resolve (/home/user/project/node_modules/metro/src/lib/transformHelpers.js:169:21)
    at Graph._resolveDependencies (/home/user/project/node_modules/metro/src/DeltaBundler/Graph.js:473:35)
    at Graph._processModule (/home/user/project/node_modules/metro/src/DeltaBundler/Graph.js:261:38)
    at async Graph._addDependency (/home/user/project/node_modules/metro/src/DeltaBundler/Graph.js:372:20)
    at async Promise.all (index 6)
    at async Graph._processModule (/home/user/project/node_modules/metro/src/DeltaBundler/Graph.js:322:5)
    at async Graph._addDependency (/home/user/project/node_modules/metro/src/DeltaBundler/Graph.js:372:20)
    at async Promise.all (index 2)

Using main branch of node-fetch-native (97bcf42aae94794d5cae6ef63c17bfa6dfb3e128):

Reproduction commit: homersimpsons/react-native-ofetch-demo@2168936

The bundle fail to compile with the following error:

error: Error: Unable to resolve module node:http from /home/user/project/node_modules/ofetch/dist/node.cjs: node:http could not be found within the project or in these directories:
  node_modules/ofetch/node_modules
  node_modules
  ../../../node_modules
  1 | 'use strict';
  2 |
> 3 | const http = require('node:http');
    |                       ^
  4 | const https = require('node:https');
  5 | const nodeFetch = require('node-fetch-native');
  6 | const fetch$1 = require('./shared/ofetch.92c14be7.cjs');
    at ModuleResolver.resolveDependency (/home/user/project/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:139:15)
    at DependencyGraph.resolveDependency (/home/user/project/node_modules/metro/src/node-haste/DependencyGraph.js:277:43)
    at Object.resolve (/home/user/project/node_modules/metro/src/lib/transformHelpers.js:169:21)
    at Graph._resolveDependencies (/home/user/project/node_modules/metro/src/DeltaBundler/Graph.js:473:35)
    at Graph._processModule (/home/user/project/node_modules/metro/src/DeltaBundler/Graph.js:261:38)
    at async Graph._addDependency (/home/user/project/node_modules/metro/src/DeltaBundler/Graph.js:372:20)
    at async Promise.all (index 0)
    at async Graph._processModule (/home/user/project/node_modules/metro/src/DeltaBundler/Graph.js:322:5)
    at async Graph._traverseDependenciesForSingleFile (/home/user/project/node_modules/metro/src/DeltaBundler/Graph.js:249:5)
    at async Graph.traverseDependencies (/home/user/project/node_modules/metro/src/DeltaBundler/Graph.js:157:9)

Additional context

This is a follow-up of the following issue unjs/node-fetch-native#91

@pi0 You may want to follow-up here

Logs

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions