melodiy-component-library
v3.5.16
Published
<!-- Improved compatibility of back to top link: See: https://github.com/Melodi-Engineering/melodiy-component-library/pull/73 -->
Downloads
9
Readme
About The Project
Includes
- TypeScript configuration
ts-jest
setup for automated testing- ESLint rules &
editorconfig
for linting - Prettier and ESLint for deterministic code formatting
- CI - build, lint & test
- CD - automated publishing to both npm and the GitHub Package Registry
- GitHub Releases generated with automatic changelogs populated via a configurable template
- Dependabot configuration
- VSCode settings
Release / Publish
Publishing is handled by a continuous delivery workflow within GitHub Actions. By default, new versions are dual-published to both npm
and gpr
(the GitHub Package Registry.) Comment one out in .github/workflows/publish.yml
to only use one. If you would like to publish to npm
, create a NPM_TOKEN
repository secret. Publishing to gpr
does not require an auth token.
First, determine what kind of semantic versioning bump this release will require. Updates should fall into one of three categories: major
(new functionality with breaking changes) minor
(new functionality without breaking changes) or patch
(backwards compatible bug fixes).
To publish a new release, checkout the make sure your git repository is clean and run one of the following commands:
npm run release:major
(new functionality with breaking changes)npm run release:minor
(new functionality without breaking changes)npm run release:patch
(backwards compatible bug fixes)
Running any one of these will:
- Increment the version number in
package.json
- Create a git tag with the new version number
- Push these changes to GitHub, which triggers the
release
workflow in GitHub Actions - The
release
workflow then creates a new GitHub release with changelog automatically populated with all PRs and commits since the last version - The
publish
workflow is then triggered when therelease
workflow completes. It compiles the package and pushes it up tonpm
/gpr
Use the BLANK_README.md
to get started.
Built With
Getting Started
This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.
Prerequisites
This is an example of how to list things you need to use the software and how to install them.
- npm
npm install npm@latest -g
Installation
Below is an example of how you can instruct your audience on installing and setting up your app. This template doesn't rely on any external dependencies or services.
- Clone the repo
git clone https://github.com/your_username_/Project-Name.git
- Install NPM packages
npm install
Usage
Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.
For more examples, please refer to the Documentation
Expanding the ESLint configuration
If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
- Configure the top-level
parserOptions
property like this:
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
project: ['./tsconfig.json', './tsconfig.node.json'],
tsconfigRootDir: __dirname,
},
- Replace
plugin:@typescript-eslint/recommended
toplugin:@typescript-eslint/recommended-type-checked
orplugin:@typescript-eslint/strict-type-checked
- Optionally add
plugin:@typescript-eslint/stylistic-type-checked
- Install eslint-plugin-react and add
plugin:react/recommended
&plugin:react/jsx-runtime
to theextends
list
Roadmap
- [x] Add Changelog
- [x] Add back to top links
- [ ] Add Additional Templates w/ Examples
- [ ] Add "components" document to easily copy & paste sections of the readme
- [ ] Multi-language Support
- [ ] Chinese
- [ ] Spanish
See the open issues for a full list of proposed features (and known issues).
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
Distributed under the MIT License. See LICENSE.txt
for more information.
Contact
Your Name - @yoan yomba - [email protected]
Acknowledgments
Use this space to list resources you find helpful and would like to give credit to. I've included a few of my favorites to kick things off!