Appearance
Contributing
Thank you for investing time in cross-framework. Contributions—code, tests, docs, and issue triage—directly improve how teams move React UI toward Vue.
The canonical contributor guide for GitHub discovery lives at the repository root as CONTRIBUTING.md. When you change workflow or policy, update both that file and this page so they stay aligned.
Live playground: cross-framework.netlify.app · Documentation (this site): cross-framework-doc.netlify.app
Contact & joining the team
- Questions or problems: parsajiravand@gmail.com (primary channel for now).
- Interested in joining the core team: email parsajiravand@gmail.com with a short intro and what you’d like to contribute.
See also Contact.
Quick start
From the repository root (parent of docs/):
bash
npm install
npm run build
npm testnpm run buildrunstsupand producesdist/.npm testrebuilds and runsnode --test test/*.test.mjs.
Documentation site
VitePress lives under docs/ with its own package.json:
bash
npm install --prefix docs
npm run docs:devProject structure (where to edit)
| Area | Path | Ideas |
|---|---|---|
| Parser | src/parser/react.ts | JSX patterns, export resolution, edge cases |
| IR | src/ir/types.ts | Richer model when needed (careful with codegen) |
| Vue codegen | src/codegen/vue.ts | Output quality, readability |
| CLI | src/index.ts | Flags and UX (stay backward compatible) |
| Playground | website/ | Samples, UX, API wiring |
| Docs | docs/ | Accuracy and examples |
High-impact areas
- Real-world React — components that fail or produce poor Vue output.
- Hook edge cases —
useMemo,useEffect, refs in dependency arrays. - JSX — spread, lists, keys, conditionals.
- Tests — new fixtures in
test/fixtures/+ assertions intest/convert.test.mjs. - Documentation — this site and the root README.
Adding a test fixture
- Add a file under
test/fixtures/(e.g.my-pattern.jsx). - Extend
test/convert.test.mjswith atest("…", () => { … })that runs the CLI orconvertCodeand asserts on the output withassert.match/assert.doesNotMatch.
Run npm test before opening a PR.
Pull request guidelines
- Scope: One logical change per PR when possible.
- Style: Match existing TypeScript style; avoid unrelated refactors.
- Evidence: For parser/codegen changes, prefer tests over screenshots alone.
Code of conduct
Be respectful in issues and reviews. Assume good intent; focus on the problem and the code.
For the full policy text, see CONTRIBUTING.md at the repository root.