Skip to content

Commit 0ea1bed

Browse files
committed
Add project roadmap document
1 parent 8851b01 commit 0ea1bed

1 file changed

Lines changed: 63 additions & 0 deletions

File tree

ROADMAP.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
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

Comments
 (0)