tongasoa
v3.9.0
Published
A React Hello World library
Maintainers
Readme
About
Tongasoa means "welcome" in Malagasy (the language of Madagascar).
This project is a template for anyone who wants to create npm libraries without worrying about all the different configurations that usually take a lot of time to set up.
It is a small demo app to showcase a modern npm package template with best practices for development, build, release, and CI/CD.
Installation
yarn add tongasoaUsage
import Tongasoa from 'tongasoa';
const App = () => {
return (
<Tongasoa name="Mika" />
);
};
export default App;CI/CD with GitHub Actions
This project uses GitHub Actions for continuous integration and automated releases.
- Lint, test, build and release are run automatically on every push into the
mainbranch. - Commits and PR titles are validated for conventional format.
- Version and changelog are updated automatically.
- Publishing to npm is automated with semantic-release.
See the workflow files in .github/workflows/ for details.
Development
This project uses Vite for local development and hot module replacement.
Commit Conventions
- Use Conventional Commits
- Pull Requests must have a conventional title (e.g.
feat: add new feature)
Build
Rollup is used to bundle and optimize the package for production and npm publishing.
yarn buildRelease & Publishing
- Releases are automated via GitHub Actions and semantic-release
- Publishing to npm only occurs when pushes are made into the
mainbranch - Version and changelog are updated automatically
- The changelog includes links to related PRs
Testing
This project use both Unit Tests with Jest and E2E tests with Playwright integrated with Storybook. Both testing strategies are integrated into the CI/CD pipeline via GitHub Actions for automation and reliability.
Changelog
See the CHANGELOG.md file for the history of changes.
