A collection of shareable configuration packages for modern JavaScript/TypeScript development, including ESLint, Prettier, TypeScript, DangerJS, and conventional changelog configurations.
Comprehensive ESLint configuration for ESLint v9+ (flat config) with support for TypeScript, React, Next.js, Node.js, Tailwind CSS, and more.
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.
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.
Features:
- Strict type checking enabled
- Modern ES2024 target
- Bundler-optimized module resolution
- Monorepo performance optimizations
- Package configuration for declaration files
Commit message guidelines and changelog generation with emoji support and Azure DevOps integration.
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.
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.
Features:
- Enforces conventional commit format
- Sentence-case subject validation
- Trailing period requirement
- Type enum validation
DangerJS configuration for automated code review checks in pull requests.
Features:
- Conventional commit prefix validation
- Lock file validation
- Test file checking
- ADR documentation checks
- Component snapshot prevention
- JavaScript file prevention
Internal package providing shared constants and utilities.
Features:
- File extension constants
- Path patterns and globs
- JSON parsing utilities
- TypeScript config helpers
1. Install dependencies:
pnpm add -D \
@rajzik/eslint-config \
@rajzik/prettier-config \
@rajzik/tsconfig \
eslint \
prettier \
typescript2. 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"
}
}1. Install dependencies:
pnpm add -D \
@rajzik/eslint-config \
@rajzik/prettier-config \
@rajzik/tsconfig \
eslint \
prettier \
typescript2. 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 | 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 |
This is a personal configuration repository. For issues or suggestions, please open an issue on GitHub.
MIT
Jan Ε ilhan silhanu@gmail.com