Skip to content

⚡ Shareable configuration for all major frontend tools: Commitlint, ESLint, Stylelint, Prettier, Jest, TypeScript, Commitizen, Lint-staged, PostCSS, Semantic Release, Webpack, and more. Easily maintain modern, consistent, and scalable code quality across all your JavaScript and TypeScript projects.

License

Notifications You must be signed in to change notification settings

xRdev38/shareable-services

Repository files navigation

Shareable Frontend Configs ⚡

A collection of shareable, ready-to-use configuration packages for modern frontend projects.
Standardize your code quality, formatting, linting, testing, and release workflow for JavaScript, TypeScript, CSS, and SCSS — all under the @xrdev_38 npm scope.


Packages & Their Purpose

Shareable ESLint config for JS & TS, with best practices and recommended plugins (unicorn, import, promise, jest, sonarjs, jsdoc, prettier).

Stylelint config for CSS and SCSS (standard and SCSS rules, Prettier integration).

Opinionated Prettier code formatting config for consistent style across all codebases.

Jest config for modern unit testing (JS/TS support, code coverage, SWC/Babel, JSDOM).

TypeScript base config for strict, modern TS projects, perfect for apps and libraries.

Commitlint config to enforce Conventional Commits (for clean commit history and release automation).

Commitizen adapter for Conventional Commits, helps you write standard commits interactively.

Lint-staged config for efficient pre-commit linting and formatting (JS, TS, CSS, SCSS, JSON, MD).

PostCSS config with preset-env, autoprefixer, and cssnano for CSS optimization.

Semantic Release config for automated changelogs and npm publishing.

Webpack config for building modern JS/TS/CSS/SCSS projects, easy to extend.


Quick Start

  1. Install any config you need:
    pnpm add -D @xrdev_38/eslint-config
  2. Extend in your project's config file:
    Example for ESLint:
    // .eslintrc.js
    module.exports = {
      extends: ["@xrdev_38/eslint-config"]
    }
  3. Repeat for other configs as needed (see below).

How To Use Each Config

Each config is documented in its own package (see packages/*/README.md).
Refer to each README for peer dependencies, usage examples, and customization tips.


Monorepo Structure

This repository uses Lerna and pnpm workspaces for multi-package management.

/
├── packages/
│   ├── eslint-config/
│   ├── stylelint-config/
│   ├── prettier-config/
│   └── ...other configs
├── package.json
├── lerna.json
└── README.md

Contributing

Contributions, feedback, and suggestions are welcome!
Feel free to open issues or submit PRs to add new configs, plugins, or improvements.


License: MIT


Links

About

⚡ Shareable configuration for all major frontend tools: Commitlint, ESLint, Stylelint, Prettier, Jest, TypeScript, Commitizen, Lint-staged, PostCSS, Semantic Release, Webpack, and more. Easily maintain modern, consistent, and scalable code quality across all your JavaScript and TypeScript projects.

Resources

License

Stars

Watchers

Forks

Packages

No packages published