Skip to content
/ presets Public

Opinionated presets and configs for building modern JavaScript monorepos with best practices out-of-the-box (ESM, pnpm, workspaces, linting, testing, CI/CD).

License

Notifications You must be signed in to change notification settings

lskjs/presets

Repository files navigation

☂️ LSK.js – Presets Monorepo

LSK.js Tests License Ask me in Telegram

❤️‍🔥 Unified configuration presets for modern projects ❤️‍🔥

🚀 Modern: Latest tooling and best practices for 2025+
🔧 Zero Config: Sensible defaults that just work
💎 TypeScript: Full TypeScript support across all presets
⚡ Fast: Optimized configurations for maximum performance
🎯 Focused: Essential configurations without bloat
📦 Production Ready: Battle-tested in production environments

📦 Packages

Package Version Size Description
@lskjs/biome-config npm size Biome linter & formatter config
@lskjs/eslint-config npm size ESLint config with TypeScript & Prettier
@lskjs/semantic-release-config npm size Semantic Release automation config
@lskjs/tsconfig npm size TypeScript configurations (strict/base/legacy)
@lsk4/babel-preset npm size Babel preset with TypeScript & React
@lsk4/jest-config npm size Jest config with TypeScript support
@lsk4/tsup-config npm size TSUP bundler config for libraries

🚀 Quick Start

Babel

npm install --save-dev @lsk4/babel-preset @babel/core
{
  "presets": ["@lsk4/babel-preset"]
}

ESLint

npm install --save-dev @lskjs/eslint-config eslint
module.exports = {
  extends: '@lskjs/eslint-config'
};

Jest

npm install --save-dev @lsk4/jest-config jest
module.exports = {
  preset: '@lsk4/jest-config'
};

TypeScript

npm install --save-dev @lskjs/tsconfig typescript
{
  "extends": "@lskjs/tsconfig/strict"
}

TSUP

npm install --save-dev @lsk4/tsup-config tsup
import { defineConfig } from '@lsk4/tsup-config';

export default defineConfig();

Biome

npm install --save-dev @lskjs/biome-config @biomejs/biome
{
  "extends": ["@lskjs/biome-config"]
}

Semantic Release

npm install --save-dev @lskjs/semantic-release-config semantic-release
{
  "release": {
    "extends": "@lskjs/semantic-release-config"
  }
}

📖 Documentation

Configuration Presets

✨ Features

🎯 Babel Preset

  • Full ES6+ and TypeScript support
  • React and Emotion support
  • Decorators and modern syntax
  • Runtime transforms and polyfills

🔍 ESLint Config

  • Based on Airbnb style guide
  • TypeScript type-aware linting
  • React and JSX best practices
  • Integrated Prettier formatting
  • Multiple configurations (strict/js/ts/react/nextjs)

🧪 Jest Config

  • TypeScript support with ts-jest
  • Coverage reporting
  • JUnit XML reports for CI/CD
  • Optimized test execution

📘 TypeScript Config

  • Multiple presets (base/default/legacy/strict/nostrict)
  • ESM and CommonJS support
  • Declaration files generation
  • Strict mode by default

📦 TSUP Config

  • Dual format (ESM + CommonJS)
  • TypeScript declaration files
  • Source maps and tree shaking
  • Lightning-fast builds with esbuild

⚡ Biome Config

  • Fast linting and formatting
  • TypeScript support
  • Single quotes and semicolons
  • Configurable strictness levels

🎉 Semantic Release Config

  • Automated versioning
  • Changelog generation
  • NPM and GitHub releases
  • Git commits with version bumps
  • Monorepo support

🛠 Development

# Install dependencies
pnpm install

# Build all packages
pnpm run build

# Run tests
pnpm run test

# Release packages
pnpm run release

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📝 License

MIT © Igor Suvorov

🔗 Links


@lskjs/presets - Unified configuration for LSK.js projects 🎯

About

Opinionated presets and configs for building modern JavaScript monorepos with best practices out-of-the-box (ESM, pnpm, workspaces, linting, testing, CI/CD).

Resources

License

Stars

Watchers

Forks

Packages

No packages published