Skip to content

Add Node DNS as a Webpack mock - PR Linked #6277

Closed
@Downchuck

Description

@Downchuck

Presently CRA works quite well for isomorphic web applications: I've only hit one strong issue -- node built-ins as required by submodules. So when I hit: "Module not found: Can't resolve 'dns'" with my yarn start, I was unable to work around it, short of manually editing a node module (a pain).

Several libraries have worked to remove dns from their require statements. This issue bubbled from node-postgres, which has a direct require('dns') statement that I've had to comment out. With that done, life just works, for a rather large and complicated, multiple component application.

Unfortunately, I've not found another route.

I attempted to add a stub for dns in package.json, but as "pg" is included from the sub-project, I was unable to work-around the issue. As I'm using serve and build, not test, I don't have Jest mocks to fall back on.

I am doing all I can not to run an eject, as I'd like to stay simple and with the mainline of CRA.

So with all of that said, I'm looking/asking if there is a method for accommodating the peculiar use case of dependencies that have calls to node built-ins, such that they do not break the build.

Obviously I am not asking that we actually make them work -- once the build runs I have no issue mocking those libraries to take different routes.

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