Skip to content

docs: add TypeScript React rewrite plan#131

Open
KagamiChan wants to merge 3 commits into
masterfrom
docs/typescript-react-rewrite-plan
Open

docs: add TypeScript React rewrite plan#131
KagamiChan wants to merge 3 commits into
masterfrom
docs/typescript-react-rewrite-plan

Conversation

@KagamiChan

@KagamiChan KagamiChan commented Jul 5, 2026

Copy link
Copy Markdown
Member

Summary

  • Add an implementation-ready TypeScript + modern React rewrite plan
  • Define parity, testing, package, CI, tsdown, lib-battle, and legacy interop gates
  • Update the workflow cache action so CI can run on current GitHub Actions infrastructure

Testing

  • Not run locally (documentation and workflow maintenance only)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an implementation-ready plan for rewriting the plugin UI/application layer to TypeScript + modern React while preserving the existing Poi plugin contract and behavioral parity requirements.

Changes:

  • Added a detailed, phased rewrite plan covering architecture, dependency boundaries, build/package contracts, and parity/testing gates.
  • Documented strict constraints for lib-battle adoption, host-boundary typing, and compatibility validation (fixtures, parity categories, acceptance gates).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

Comment on lines 21 to 25
node-version: '14.x'

- uses: actions/cache@v2
- uses: actions/cache@v4
with:
path: ~/.npm
Comment on lines +101 to +105
'reselect',
'styled-components',
],
onlyBundle: [],
},
Comment on lines +110 to +111
`fixedExtension: false` is required so CJS output is `index.js`/`index.d.ts` instead of `index.cjs`/`index.d.cts`. The compatibility and package smoke tests must assert exact emitted filenames.
Use `deps.onlyBundle` only as a whitelist for dependencies that are already being bundled. It does not force bundling. If a non-host runtime package from `node_modules` must be bundled, add it deliberately to `deps.alwaysBundle`, also include it in `deps.onlyBundle`, document why it cannot remain external, and update the package smoke test to assert the bundled dependency is expected.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants