-
Epic
-
Resolution: Unresolved
-
Normal
-
None
-
None
-
Migrate Data Driven Forms packages to TypeScript
-
Future Sustainability
-
False
-
-
False
-
Unset
-
To Do
-
50% To Do, 0% In Progress, 50% Done
-
-
-
TypeScript Migration Epic for Data Driven Forms
Migrate all active Data Driven Forms packages from JavaScript to TypeScript to improve type safety, developer experience, and maintainability.
Repository Context:
- Repository: https://github.com/data-driven-forms/react-forms
- Monorepo with 10 total packages (7 active, 2 archived, 1 demo)
- Current state: ~48,600 lines of JavaScript code across active packages
- TypeScript infrastructure already in place but source files remain in JS
Packages to Migrate (7 Active Packages):
Core Package:
- @data-driven-forms/react-form-renderer - Main form rendering engine (85 JS files, 9,327 lines)
Component Mappers:
- @data-driven-forms/pf4-component-mapper - PatternFly 4 mapper (76 JS files, 6,740 lines)
- @data-driven-forms/mui-component-mapper - Material-UI mapper (54 JS files, 3,799 lines)
- @data-driven-forms/carbon-component-mapper - IBM Carbon mapper (62 JS files, 3,629 lines)
- @data-driven-forms/ant-component-mapper - Ant Design mapper (56 JS files, 2,617 lines)
- @data-driven-forms/blueprint-component-mapper - BlueprintJS mapper (51 JS files, 2,283 lines)
Utilities:
- @data-driven-forms/common - Common utilities and helpers (39 JS files, 3,944 lines)
Excluded Packages (Archived):
- @data-driven-forms/suir-component-mapper (archived - Semantic UI deprecated)
- @data-driven-forms/parsers (archived - no longer maintained)
Additional Consideration:
- @data-driven-forms/react-renderer-demo - Documentation site (143 JS files) - should be included for consistency
Benefits:
- Improved type safety and IntelliSense support
- Better developer experience for library consumers
- Easier maintenance and refactoring
- Enhanced documentation through types
- Reduced runtime errors
Technical Notes:
- TypeScript infrastructure already configured
- Build process supports both JS and TS files
- Generated type definitions can be replaced with source types
- NX monorepo setup supports TypeScript migration
This epic will track the systematic conversion of all active packages to TypeScript while maintaining backward compatibility and ensuring thorough testing.