Skip to content

rajzik/configs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

941 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Personal Sharable Configs

A collection of shareable configuration packages for modern JavaScript/TypeScript development, including ESLint, Prettier, TypeScript, DangerJS, and conventional changelog configurations.

Packages

πŸ›‘οΈ Code Quality & Linting

Comprehensive ESLint configuration for ESLint v9+ (flat config) with support for TypeScript, React, Next.js, Node.js, Tailwind CSS, and more.

πŸ“– Documentation

Features:

  • TypeScript ESLint with strict type checking
  • React, Next.js, and Node.js presets
  • Tailwind CSS and CSS linting
  • Turbo monorepo support
  • Prettier integration

Shareable Prettier configuration with automatic import sorting and package.json formatting.

πŸ“– Documentation

Features:

  • Import sorting with custom order
  • Package.json formatting
  • Tailwind CSS class sorting (optional)
  • Modern JavaScript formatting

Shareable TypeScript configuration with strict type checking and modern JavaScript support.

πŸ“– Documentation

Features:

  • Strict type checking enabled
  • Modern ES2024 target
  • Bundler-optimized module resolution
  • Monorepo performance optimizations
  • Package configuration for declaration files

πŸ“ Commit & Changelog

Commit message guidelines and changelog generation with emoji support and Azure DevOps integration.

πŸ“– Documentation

Features:

  • Conventional commit format
  • Emoji support for commit groups
  • Azure DevOps PR format support
  • Automatic semantic versioning
  • Custom Handlebars templates

Type definitions and utilities for conventional commits and changelog generation.

πŸ“– Documentation

Features:

  • Type-safe commit type definitions
  • Commit format validation
  • Type group utilities
  • Constants for commit types and groups

Commitlint configuration enforcing conventional commit message format.

πŸ“– Documentation

Features:

  • Enforces conventional commit format
  • Sentence-case subject validation
  • Trailing period requirement
  • Type enum validation

πŸ” Code Review

DangerJS configuration for automated code review checks in pull requests.

πŸ“– Documentation

Features:

  • Conventional commit prefix validation
  • Lock file validation
  • Test file checking
  • ADR documentation checks
  • Component snapshot prevention
  • JavaScript file prevention

πŸ”§ Utilities

Internal package providing shared constants and utilities.

πŸ“– Documentation

Features:

  • File extension constants
  • Path patterns and globs
  • JSON parsing utilities
  • TypeScript config helpers

Quick Start

Complete Setup (React + Next.js + Tailwind)

1. Install dependencies:

pnpm add -D \
  @rajzik/eslint-config \
  @rajzik/prettier-config \
  @rajzik/tsconfig \
  eslint \
  prettier \
  typescript

2. Create eslint.config.js:

import baseConfig from '@rajzik/eslint-config';
import reactConfig from '@rajzik/eslint-config/react';
import nextjsConfig from '@rajzik/eslint-config/nextjs';
import tailwindConfig from '@rajzik/eslint-config/tailwind';
import prettierConfig from '@rajzik/eslint-config/prettier';

export default [
  ...baseConfig,
  ...reactConfig,
  ...nextjsConfig,
  ...tailwindConfig,
  ...prettierConfig,
];

3. Create prettier.config.js:

export { default } from '@rajzik/prettier-config/tailwind';

4. Create tsconfig.json:

{
  "extends": "@rajzik/tsconfig",
  "compilerOptions": {
    "jsx": "react-jsx"
  }
}

5. Add to package.json:

{
  "scripts": {
    "lint": "eslint .",
    "format": "prettier --write .",
    "typecheck": "tsc --noEmit"
  }
}

Minimal Setup (Node.js)

1. Install dependencies:

pnpm add -D \
  @rajzik/eslint-config \
  @rajzik/prettier-config \
  @rajzik/tsconfig \
  eslint \
  prettier \
  typescript

2. Create eslint.config.js:

import baseConfig from '@rajzik/eslint-config';
import nodeConfig from '@rajzik/eslint-config/node';
import prettierConfig from '@rajzik/eslint-config/prettier';

export default [
  ...baseConfig,
  ...nodeConfig,
  ...prettierConfig,
];

3. Create prettier.config.js:

export { default } from '@rajzik/prettier-config';

4. Create tsconfig.json:

{
  "extends": "@rajzik/tsconfig"
}

Package Overview

Package Purpose Key Features
@rajzik/eslint-config ESLint configuration TypeScript, React, Next.js, Node.js, Tailwind
@rajzik/prettier-config Prettier configuration Import sorting, Tailwind class sorting
@rajzik/tsconfig TypeScript configuration Strict types, modern JS, bundler-optimized
conventional-changelog-rajzik Changelog generation Emoji support, Azure DevOps
@rajzik/conventional-changelog-types Type definitions Commit types, validation utilities
@rajzik/conventional-commit-lint-config Commit linting Conventional commit enforcement
@rajzik/danger-configuration PR validation Automated code review checks
@rajzik/configs-shared Shared utilities Constants, helpers

Contributing

This is a personal configuration repository. For issues or suggestions, please open an issue on GitHub.

License

MIT

Author

Jan Ε ilhan silhanu@gmail.com


Related Resources

About

Frontend tooling sharable configs

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 6