Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ymehmetcan/blazzi-toolkit
⚡️ JavaScript Toolkit that contains common configurations for building web applications.
https://github.com/ymehmetcan/blazzi-toolkit
commitlint-config eslint-config eslint-plugin javascript monorepo prettier-config toolkit typescript
Last synced: 3 months ago
JSON representation
⚡️ JavaScript Toolkit that contains common configurations for building web applications.
- Host: GitHub
- URL: https://github.com/ymehmetcan/blazzi-toolkit
- Owner: ymehmetcan
- License: mit
- Created: 2024-01-09T19:57:58.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-02-22T20:14:47.000Z (11 months ago)
- Last Synced: 2024-09-29T01:04:14.598Z (3 months ago)
- Topics: commitlint-config, eslint-config, eslint-plugin, javascript, monorepo, prettier-config, toolkit, typescript
- Language: JavaScript
- Homepage:
- Size: 189 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Blazzi Toolkit[![License: MIT](https://img.shields.io/badge/License-MIT-EA6A13.svg)](LICENSE)
JavaScript Toolkit that contains common configurations for building web applications.## Usage
This repository is structured as a monorepo, comprising several npm packages. Each package within this monorepo is self-contained with its own `README` and dedicated documentation. These documents provide detailed instructions on the package's usage and any other relevant information.
### Package Index
| Package | NPM |
| ----------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| [`@blazzi/commitlint-config`](./packages/commitlint-config) | [![npm](https://img.shields.io/npm/v/@blazzi/commitlint-config?label=npm&color=EA6A13)](https://npmjs.com/package/@blazzi/commitlint-config) |
| [`@blazzi/eslint-config`](./packages/eslint-config) | [![npm](https://img.shields.io/npm/v/@blazzi/eslint-config?label=npm&color=EA6A13)](https://npmjs.com/package/@blazzi/eslint-config) |
| [`@blazzi/eslint-plugin`](./packages/eslint-plugin) | [![npm](https://img.shields.io/npm/v/@blazzi/eslint-plugin?label=npm&color=EA6A13)](https://npmjs.com/package/@blazzi/eslint-plugin) |
| [`@blazzi/prettier-config`](./packages/prettier-config) | [![npm](https://img.shields.io/npm/v/@blazzi/prettier-config?label=npm&color=EA6A13)](https://npmjs.com/package/@blazzi/prettier-config) |## Prerequisites
Before you begin, ensure you have `node: >=18.12` installed on your system. This project uses `pnpm` as the package manager.
### Installing pnpm
> [!TIP]
> If you don't have `pnpm` installed, you can install it either globally on your system or activate it for this project only.#### Global Installation
To install `pnpm` globally, run the following command:
```bash
npm install -g pnpm
```#### Using Corepack
With Node.js v16.17 or newer, you may install the `latest` version of pnpm by just specifying the tag:
```bash
corepack prepare pnpm@latest --activate
```## Installing Project
To set up the project on your local machine, install dependencies by running the following command:
```bash
pnpm install
```## Development
This project leverages `pnpm workspaces`, optimizing the management of package dependencies across the monorepo. Key tools and frameworks used in this project include:
- [**CommitLint**](https://commitlint.js.org/): Ensures that commit messages adhere to a conventional format.
- [**Prettier**](https://prettier.io/): Maintains consistent code formatting across the codebase.
- [**ESLint**](https://eslint.org/): Enforces code quality and style guidelines.
- [**Tsup**](https://github.com/egoist/tsup): Simplifies the TypeScript bundling process.
- [**Turbo**](https://turborepo.org/): Efficiently manages and runs build tasks across workspace projects.> [!IMPORTANT]
> For developers contributing to this project, it's important to familiarize yourself with these tools, as they are integral to the workflow and code quality standards.## Semantic Versioning
This project adheres to [Semantic Versioning (SemVer)](https://semver.org/). This approach allows users and contributors to understand the impact of updates and changes at a glance.
### Key Principles
- **MAJOR version** increments signify backward-incompatible changes.
- **MINOR version** increments indicate the addition of new, backward-compatible functionality.
- **PATCH version** increments are for backward-compatible bug fixes.## Contributing
Your contributions are welcome! Please adhere to commit message and code-style conventions when submitting pull requests.
## License
This project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.
© 2024 [Mehmetcan YILMAZ](https://github.com/ymehmetcan)