|
| 1 | +# Roadmap |
| 2 | + |
| 3 | +This file provides an overview of the direction this project is heading. It contains both likely and more aspirational changes. For more granular improvements, see the [project's issues backlog](https://github.com/wagtail/draftail/issues). |
| 4 | + |
| 5 | +## Planned |
| 6 | + |
| 7 | +> Specific, well-scoped changes that have concrete time-bound implementation plans. |
| 8 | +
|
| 9 | +### Dependency refresh and audit automation |
| 10 | + |
| 11 | +Implement automated dependency updates via Dependabot or Renovate with grouped updates for minor/patch versions. Add `npm audit` to CI with fail-on-critical policy and establish a monthly cadence for reviewing and updating major dependencies. |
| 12 | + |
| 13 | +### Strict CSP support |
| 14 | + |
| 15 | +See [CSP-compatible editor #460](https://github.com/wagtail/draftail/issues/460). |
| 16 | + |
| 17 | +### Automated release workflow |
| 18 | + |
| 19 | +Add a GitHub Actions workflow for tagged releases that runs the full test suite, builds distribution files, publishes to npm, creates GitHub releases with changelogs, and updates documentation site references automatically. SBOM generation. |
| 20 | + |
| 21 | +### Security review process |
| 22 | + |
| 23 | +Set up an automated review process including dependency vulnerability scans, CodeQL static analysis integration, and updates to `SECURITY.md` with disclosure timelines and supported version policies. |
| 24 | + |
| 25 | +## Ready |
| 26 | + |
| 27 | +> Feasible, near-term improvement ideas that are clear in scope. |
| 28 | +
|
| 29 | +### Modernize build toolchain |
| 30 | + |
| 31 | +Replace the current Rollup + webpack + Sass pipeline with modern tooling. Consider Vite for both library builds and Storybook, and evaluate esbuild/swc for faster TypeScript compilation. Target build time reduction of 50% and smaller bundle sizes via improved tree-shaking. |
| 32 | + |
| 33 | +## Experimental |
| 34 | + |
| 35 | +> Possible changes that require R&D, and high-risk ideas that could bring large benefits but with likely trade-offs. |
| 36 | +
|
| 37 | +### Table support |
| 38 | + |
| 39 | +See [Table support #198](https://github.com/wagtail/draftail/issues/198). |
| 40 | + |
| 41 | +### Migration path from Draft.js |
| 42 | + |
| 43 | +See [Draft.js no longer maintained #456](https://github.com/wagtail/draftail/issues/456). Draft.js is archived and no longer maintained. Research and prototype migration strategies: evaluate Lexical as a replacement engine, or explore a compatibility layer that allows gradual migration of content and plugins. Document migration complexity and timeline estimates. |
| 44 | + |
| 45 | +## Backlog |
| 46 | + |
| 47 | +> Likely useful but lower-priority or "filler" tasks. |
| 48 | +
|
| 49 | +### ESM-only distribution |
| 50 | + |
| 51 | +Evaluate dropping CommonJS support in a future major version to simplify the build pipeline and enable better tree-shaking. Document migration path for CJS consumers. |
| 52 | + |
| 53 | +### Pre-commit hooks modernization |
| 54 | + |
| 55 | +Replace shell-based git hooks with prek. Add commit message linting and branch naming conventions. |
| 56 | + |
| 57 | +### Performance regression testing in CI |
| 58 | + |
| 59 | +Establish baseline metrics for editor initialization time, re-render performance, and memory usage. Integrate `react-benchmark` results and bundle size tracking into CI to fail builds on significant regressions. Store historical performance data for trend analysis. |
| 60 | + |
| 61 | +### TypeScript strict mode migration |
| 62 | + |
| 63 | +Gradually enable stricter TypeScript compiler options (strictNullChecks, noImplicitAny, strictFunctionTypes) across the codebase. Add type coverage tracking and establish conventions for type definitions in public APIs. |
0 commit comments