Skip to content

ymehmetcan/blazzi-toolkit

Repository files navigation

Blazzi Logo

Blazzi Toolkit

License: MIT

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 npm
@blazzi/eslint-config npm
@blazzi/eslint-plugin npm
@blazzi/prettier-config npm

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:

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:

corepack prepare pnpm@latest --activate

Installing Project

To set up the project on your local machine, install dependencies by running the following command:

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: Ensures that commit messages adhere to a conventional format.
  • Prettier: Maintains consistent code formatting across the codebase.
  • ESLint: Enforces code quality and style guidelines.
  • Tsup: Simplifies the TypeScript bundling process.
  • Turbo: 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). 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 file for details.

© 2024 Mehmetcan YILMAZ