Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Add CJS to exports map#6919

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
nwalters512 wants to merge1 commit intoreact-bootstrap:master
base:master
Choose a base branch
Loading
fromnwalters512:exports-map-cjs

Conversation

nwalters512
Copy link
Contributor

It was called out in#6901 that the ESM build of this package is really only "faux" ESM; that is,import statements don't use fully-qualified paths with extensions, which is required for runtimes like Node. The addition of"exports" topackage.json in#6901 poses a compatibility issue if this package continues shipping faux ESM: this package will be unusable in Node applications that are using native ESM. If one tries to import something likereact-bootstrap/Card in such an application, one will see the following error:

Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/.../node_modules/react-bootstrap/lib/ThemeProvider' imported from /.../node_modules/react-bootstrap/lib/Card.js

A workaround would be to directly import the CJS files, e.g.react-bootstrap/cjs/Card.js, but trying to do that on currentmaster fails with the following:

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './cjs/Card.js' is not defined by "exports" in /.../node_modules/react-bootstrap/package.json imported from /.../index.js

This is expected, but leaves consumers of this package without any option to work around the faux ESM issue.

I'm opening this PR to give folks in this situation an escape hatch: they can explicitly use the CJS build with something like the following:

importCardfrom'react-boostrap/cjs/Card'

If you plan on resolving the faux ESM issue before the release of"exports" inpackage.json, you can safely disregard this PR.

@nwalters512nwalters512 mentioned this pull requestApr 28, 2025
@kyletsang
Copy link
Member

Will try to address as much as I can for the next major, so won't merge this for now.

nwalters512 reacted with heart emoji

@reteps
Copy link

Any progress on this?

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers
No reviews
Assignees
No one assigned
Labels
None yet
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

3 participants
@nwalters512@kyletsang@reteps

[8]ページ先頭

©2009-2025 Movatter.jp