feat: add better ESM support #6939
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces several changes to modernize the codebase and improve compatibility with ES modules. The most significant updates include switching from CommonJS to ES module syntax, adding the
"type": "module"
field inpackage.json
, and updating dependencies. Additionally, import paths across multiple files have been updated to explicitly include.js
extensions for better module resolution.Modernization of module system:
.babelrc.js
: Replacedmodule.exports
withexport default
to align with ES module syntax.package.json
: Added"type": "module"
to indicate the use of ES modules.package.json
: Removed the creation ofpackage.json
files with"type"
fields during build scripts, as the"type": "module"
field now applies globally.Dependency updates:
package.json
: Updated@restart/ui
to version^2.0.0-beta.5
anddom-helpers
to version^6.0.1
for improved functionality and compatibility.Import path updates:
src/AbstractModalHeader.tsx
,src/Accordion.tsx
,src/Alert.tsx
, etc.) to include.js
extensions explicitly, ensuring compatibility with ES modules. Examples include:src/AbstractModalHeader.tsx
: Changed imports forCloseButton
andModalContext
to include.js
extensions.src/Accordion.tsx
: Updated imports forAccordionBody
,AccordionButton
,AccordionCollapse
, and others to include.js
extensions.src/Alert.tsx
: Updated imports forAlertHeading
,AlertLink
,Fade
, and others to include.js
extensions.