🔹 Overview
The ui-toolkit project is currently using Webpack but is not configured to output ESM (ECMAScript Modules). This can lead to optimization bailouts in modern frameworks like Angular and React.
To modernize the build system, improve tree-shaking, and enhance performance, we need to:
- Add ESM support to
ui-toolkit by configuring Webpack (or considering alternatives like Vite or Rollup).
- Update
ui-toolkit-angular and ui-toolkit-react to ensure compatibility with the new ESM output.
This will ensure that all three repositories are ESM-compatible and optimized for modern JavaScript bundlers.
🎯 Task Scope
1️⃣ Update ui-toolkit to Support ESM Output
2️⃣ Update ui-toolkit-angular for ESM Compatibility
3️⃣ Update ui-toolkit-react for ESM Compatibility
4️⃣ Ensure Compatibility and Test Across Projects
📂 Relevant Repositories
💻 Technical Details
- Webpack Configuration Changes:
- Use
"type": "module" in package.json.
- Set output to:
output: {
filename: '[name].js',
module: true,
library: {
type: 'module'
}
}
- Ensure compatibility with both CommonJS (CJS) and ESM.
- Alternative Build Tools:
- Consider using Rollup or Vite if Webpack config becomes too complex.
- TypeScript Adjustments:
- Update
tsconfig.json to use:
"module": "ESNext",
"target": "ES2022"
- Testing Compatibility:
- Test with:
- Angular 19 and React 19+.
- Next.js or Vite for ESM compatibility validation.
✅ Acceptance Criteria

🚀 How to Get Started
- Comment below to claim this issue.
- Fork the repos and create branches (e.g.,
feature/esm-support).
- Implement ESM support and update wrappers accordingly.
- Submit Pull Requests (PRs) linking this issue.
📎 Additional Notes
- Backward compatibility with CJS should be maintained where possible.
- If you encounter issues with Angular or React compatibility, document them in the PR.
- Consider using module resolution strategies for smooth integration.
🔹 Overview
The
ui-toolkitproject is currently using Webpack but is not configured to output ESM (ECMAScript Modules). This can lead to optimization bailouts in modern frameworks like Angular and React.To modernize the build system, improve tree-shaking, and enhance performance, we need to:
ui-toolkitby configuring Webpack (or considering alternatives like Vite or Rollup).ui-toolkit-angularandui-toolkit-reactto ensure compatibility with the new ESM output.This will ensure that all three repositories are ESM-compatible and optimized for modern JavaScript bundlers.
🎯 Task Scope
1️⃣ Update
ui-toolkitto Support ESM Outputoutput.moduletotrue.type: 'module'inpackage.json.exportsfield for both CJS and ESM:tsconfig.json) to:"module": "ESNext".2️⃣ Update
ui-toolkit-angularfor ESM Compatibility3️⃣ Update
ui-toolkit-reactfor ESM Compatibility4️⃣ Ensure Compatibility and Test Across Projects
ui-toolkitui-toolkit-angularui-toolkit-react📂 Relevant Repositories
ui-toolkitui-toolkit-angularui-toolkit-react💻 Technical Details
"type": "module"inpackage.json.tsconfig.jsonto use:✅ Acceptance Criteria
ui-toolkitoutputs ESM-compatible bundles.npm run build-enterprise:ui-toolkit-angularis fully compatible with the new ESM output.ui-toolkit-reactis fully compatible with the new ESM output.🚀 How to Get Started
feature/esm-support).📎 Additional Notes