open-index/open-npm huggingface dataset:
npm package: @parallel-mono/components
Description: This library was generated with [Nx](https://nx.dev).
Latest version: 1.0.0-alpha.210

# components

This library was generated with [Nx](https://nx.dev).

## Running unit tests

Run `nx test components` to execute the unit tests via [Jest](https://jestjs.io).

# how to contribute

see the document [here](./docs/how-to-contribute.md)

## Test

1. unit test is required,
2. must test if a component acts like a normal div or span when it comes to layout and styling
3. must test if ref is forwarded
4. must test if component works in both controlled mode and uncontrolled mode
5. try not to test implemention detail
6. create snapshot test

## work flow

### board

all work is tracked at
[https://parallelfi.atlassian.net/jira/software/projects/PDS/boards/16](https://parallelfi.atlassian.net/jira/software/projects/PDS/boards/16)

### design

[https://www.figma.com/file/zQktt4A1uHxf6phLnroPAt/Parallel-Design-System-V3?node-id=15%3A1140](https://www.figma.com/file/zQktt4A1uHxf6phLnroPAt/Parallel-Design-System-V3?node-id=15%3A1140)

### chromatic

we're using chromatic for UI change detection, you have to go throgh the UI change in chromatic builds and accept the build if no unexpected UI changes.
[https://www.chromatic.com/builds?appId=6220e80ba126ca003f231742](https://www.chromatic.com/builds?appId=6220e80ba126ca003f231742)

### view the latest storybook

[https://www.chromatic.com/library?appId=6220e80ba126ca003f231742&branch=main&groupPrefix=Components%2FAtoms](https://www.chromatic.com/library?appId=6220e80ba126ca003f231742&branch=main&groupPrefix=Components%2FAtoms)

## Release

### release common components

1. create a branch `release/vx.x.x`(replace x.x.x with the actual version)
2. change package version in `src/libs/components/package.json` and create a pr to `main`
3. add a tag on the `main` branch, will trigger the release workflow automatically.
   `git tag vx.x.x main`
   `git push origin main`

### release business components

1. create a branch `release/business-components-vx.x.x`(replace x.x.x with the actual version)
2. change package version in `src/libs/business-components/package.json` and create a pr to `main`
3. add a tag on the `main` branch, will trigger the release workflow automatically.
   `git tag business-components@vx.x.x main`
   `git push origin main`