@vijayhardaha/dev-config
v1.1.4
Published
Reusable development configurations for Next.js + TypeScript projects
Maintainers
Readme
@vijayhardaha/dev-config
Reusable development configuration package for Next.js + TypeScript projects.
Features
- ESLint - Modular flat config with support for JavaScript, TypeScript, React, and Next.js
- Prettier - Consistent code formatting with language-specific rules
- Commitlint - Enforces conventional commit messages
- TypeScript - Base configuration for type checking
- JSConfig - IntelliSense support for JavaScript projects
- Stylelint - CSS/SCSS linting configuration
- Next Sitemap - Sitemap generation configuration
Installation
bun install @vijayhardaha/dev-config --devInstall Required Packages
bun add --dev [email protected] @eslint/[email protected] prettier @prettier/plugin-xml @eslint/compat @eslint/eslintrc eslint-config-prettier eslint-plugin-prettier globals eslint-plugin-jsdoc eslint-plugin-import eslint-import-resolver-typescript typescript @typescript-eslint/eslint-plugin @typescript-eslint/parserInstall Optional Packages
Typescript
bun add --dev typescript @typescript-eslint/eslint-plugin @typescript-eslint/parserPrettier
bun add --dev prettier @prettier/plugin-xmlStylelint
bun add --dev stylelint stylelint-config-property-sort-order-smacss stylelint-config-standard-scss stylelint-orderReact
bun add --dev eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-jsx-a11yNext.js
bun add --dev @next/[email protected] [email protected]Commitlint
bun add --dev husky @commitlint/cli @commitlint/config-conventional @commitlint/typesNext Sitemap
bun add --dev next-sitemapQuick Start
ESLint
Create eslint.config.mjs in your project root:
import { createConfig } from "@vijayhardaha/dev-config/eslint/next";
export default createConfig();Prettier
Create prettier.config.mjs in your project root:
import prettierConfig from "@vijayhardaha/dev-config/prettier";
export default prettierConfig;Commitlint
Create commitlint.config.mjs in your project root:
import commitlintConfig from "@vijayhardaha/dev-config/commitlint";
export default commitlintConfig;Stylelint
Create stylelint.config.mjs in your project root:
import stylelintConfig from "@vijayhardaha/dev-config/stylelint";
export default stylelintConfig;Next Sitemap
Create next-sitemap.config.mjs in your project root:
import { createSitemapConfig } from "@vijayhardaha/dev-config/next-sitemap";
export default createSitemapConfig({ siteUrl: "https://yourdomain.com" });TypeScript
Create tsconfig.json in your project root:
{ "extends": "@vijayhardaha/dev-config/tsconfig" }JavaScript
Create jsconfig.json in your project root:
{ "extends": "@vijayhardaha/dev-config/jsconfig" }Configuration Options
ESLint
import { createConfig } from "@vijayhardaha/dev-config/eslint/next";
export default createConfig({
prettier: true, // Enable Prettier integration
importOrder: true, // Enable import ordering
react: true, // Enable React rules
a11y: true, // Enable accessibility rules
jsdoc: true // Enable JSDoc rules
});Available configs:
@vijayhardaha/dev-config/eslint- JavaScript@vijayhardaha/dev-config/eslint/ts- TypeScript@vijayhardaha/dev-config/eslint/react- React + TypeScript@vijayhardaha/dev-config/eslint/next- Next.js + React + TypeScript
Scripts
| Command | Description |
| ----------------------- | ----------------------- |
| bun run lint | Run ESLint |
| bun run lint:fix | Auto-fix ESLint issues |
| bun run format | Format with Prettier |
| bun run format:check | Check formatting |
| bun run test | Run tests with Vitest |
| bun run test:watch | Run tests in watch mode |
| bun run test:coverage | Run tests with coverage |
Testing
This package includes comprehensive tests for all configuration modules:
- ESLint configs (JavaScript, TypeScript, React, Next.js)
- ESLint lib modules (setup, files, build-config, ignores, language-options, rules)
- Prettier, Commitlint, Stylelint configs
- Next Sitemap, TypeScript, and JavaScript configs
Run tests with:
bun run testLicense
This project is licensed under the MIT License - see the LICENSE file for details.
