1.0.4 β€’ Published 2 months ago

icmi-openhome-components v1.0.4

Weekly downloads
-
License
MIT
Repository
-
Last release
2 months ago

πŸ“¦ Open Home components

Open Home components that are shared between frontend platforms.

πŸƒ Getting started

yarn && yarn dev

❗Important note: This project uses yarn for managing dependencies.

What's included?

  • ⚑️tsup - The simplest and fastest way to bundle your TypeScript libraries. Used to bundle package as ESM and CJS modules. Supports TypeScript, Code Splitting, PostCSS, and more out of the box.
  • πŸ”— Yalc - Better workflow then npm or yarn link for package authors.
  • πŸ“– Storybook - Build UI components and pages in isolation. It streamlines UI development, testing, and documentation.
  • ⚑️ Vitest - A testing framework for JavaScript. Preconfigured to work with TypeScript and JSX.
  • πŸ”Ό Release-it - release-it is a command line tool to automatically generate a new GitHub Release and populates it with the changes (commits) made since the last release.
  • πŸ™ Test & Publish via Github Actions - CI/CD workflows for your package. Run tests on every commit plus integrate with Github Releases to automate publishing package to NPM and Storybook to Github Pages.
  • πŸ“„ Commitizen β€” When you commit with Commitizen, you'll be prompted to fill out any required commit fields at commit time.
  • πŸš“ Commitlint β€” Checks that your commit messages meet the conventional commit format.
  • 🐢 Husky β€” Running scripts before committing.
  • 🚫 lint-staged β€” Run linters on git staged files
  • πŸ–Œ Renovate - Universal dependency update tool that fits into your workflows. Configured to periodically check your dependencies for updates and send automated pull requests.
  • β˜‘οΈ ESLint - A linter for JavaScript. Includes a simple configuration for React projects based on the recommended ESLint and AirBnB configs.
  • 🎨 Prettier - An opinionated code formatter.

Usage

πŸ’» Developing

Watch and rebuild code with tsup and runs Storybook to preview your UI during development.

yarn dev

Run all tests and watch for changes

yarn test

πŸ—οΈ Building

Build package with tsup for production.

yarn build

πŸ–‡οΈ Linking

Often times you want to link this package to another project when developing locally, circumventing the need to publish to NPM to consume it.

For this we use yalc which is a tool for local package development and simulating the publishing and installation of packages.

In a project where you want to consume your package simply run:

npx yalc link my-react-package

Learn more about yalc here.

πŸ“© Committing

When you are ready to commit simply run the following command to get a well formatted commit message. All staged files will automatically be linted and fixed as well.

yarn commit

πŸ”– Releasing, tagging & publishing to NPM

Create a semantic version tag and publish to Github Releases. When a new release is detected a Github Action will automatically build the package and publish it to NPM. Additionally, a Storybook will be published to Github pages.

Learn more about how to use the release-it command here.

yarn release

When you are ready to publish to NPM simply run the following command:

yarn publish