When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.
- Make sure your idea is put into an issue first.
- Make sure to start your work from the latest main or rebase if needed.
- Make sure to have the latest dependencies installed via
npm install. - Do your changes and write clear commit messages following our conventions (see previous commits or
commitlint.config.js). - Test your changes and make sure
npm run lintpasses with no errors. ;) - Update the
CHANGELOG.mdaccording to your change. - Update the
README.mdif needed. - Push your changes and submit a pull request and mention the issue inside the pull request body.
When Opening an issue please keep in mind that we might not be able to support every feature request as we tend to make this project as easy to use and flexible as possible.
Please provide as much detail to your issues as possible. If some parts of the templates doesn't fit to your issue simply delete it.
We have npm scripts which are the source for every build step or anything similar like building the distribution file, creating the storybook files, starting the storybook server, linting and so on.
The targets meant to be used are:
| Target | Description |
|---|---|
build |
builds all distribution files |
build-storybook |
builds the storybook files to the docs folder |
storybook |
starts the storybook development server on port 6006 |
lint |
runs eslint with plugins |
lint-fix |
runs the automatic fixer of eslint |
clean |
cleans all generated files i.e. node_modules and dist |
You can see all targets which meant to be used from the developer in the package.json under the script section.
If you encounter any problem try to run npm run clean at first.
Each push to the main branch will build a new version. semantic-release creates a changelog, increases the version number, creates a git tag, a github release and deploys it to npm.
To create a pre-release just push changes to the beta branch. This will deploy a beta version (e.g. 1.2.5-beta1) and publish it as a pre-release on npm.