You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
docuseal/vendor/bundle/ruby/4.0.0/gems/shakapacker-9.7.0/TODO.md

1.7 KiB

TypeScript Migration Status

Completed (PR #602)

  • Enhanced package/index.d.ts with comprehensive type definitions
  • Added TypeScript type packages for better IDE support
  • Improved Config and DevServerConfig interfaces
  • Added missing properties (private_output_path, inline_css, env_prefix, etc.)
  • All tests passing
  • Zero JavaScript modifications (no whitespace changes)
  • Full backward compatibility maintained

📋 Next Steps (Issue #605)

Phase 2: Core Module Conversion

  • Convert package/config.js to TypeScript
  • Convert package/env.js to TypeScript
  • Convert package/index.js to TypeScript
  • Convert package/utils/helpers.js to TypeScript

Phase 3: Environment & Build System

  • Convert environment files (base, development, production, test)
  • Convert dev_server.js
  • Convert webpackDevServerConfig.js

Phase 4: Rules & Loaders (PR #620)

  • Convert all files in package/rules/
  • Convert all files in package/plugins/
  • Convert all files in package/optimization/

Phase 5: Framework-Specific Modules

  • Convert rspack support files
  • Convert swc support files
  • Convert esbuild support files
  • Convert babel preset

Phase 6: Final Cleanup

  • Add TypeScript linting with @typescript-eslint
  • Verify strict mode is enabled (already configured)
  • Update documentation

Why Gradual Migration?

  • Lower risk: Each phase can be tested independently
  • Team learning: Get familiar with TypeScript incrementally
  • Immediate value: Type definitions already provide IDE benefits
  • No breaking changes: Users unaffected during migration
  • Original issue: #200
  • Initial PR: #602
  • Next steps issue: #605