Registry / testing / eslint-config-sensible-prettier-typescript

eslint-config-sensible-prettier-typescript

JSON →
library1.9.0jsnpmunverified

Provides sensible default ESLint rules and Prettier config for TypeScript projects, using ESLint 9 flat config. Version 1.9.0 supports ESLint 9.34+, Prettier 3.6+, TypeScript 5.9+, and includes peer dependencies for TypeScript-ESLint, import resolution, JSDoc, Unicorn, and more. Published by james-hu, it offers builder functions (`eslintConfig`, `prettierConfig`) and a `customiseESLintConfig` helper for programmatic customization of flat config arrays. Supports both ESM and CJS usage. Ships TypeScript type definitions.

npm install eslint-config-sensible-prettier-typescript
INSTALL
IMPORT
SIG · ESLINT-CONFIG-SENS
E
eslint-config-sensible-prettier-typescript
testingjavascriptv1.9.0
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

eslintConfig
import { eslintConfig } from 'eslint-config-sensible-prettier-typescript'
const { eslintConfig } = require('eslint-config-sensible-prettier-typescript')
ESM-only since v1.6.2 (ESLint 9 migration); CJS require will fail if package.json type is module.
prettierConfig
import { prettierConfig } from 'eslint-config-sensible-prettier-typescript'
const prettierConfig = require('eslint-config-sensible-prettier-typescript').prettierConfig
Same as eslintConfig; use ESM import.
customiseESLintConfig
import { customiseESLintConfig } from 'eslint-config-sensible-prettier-typescript'
Helper function for modifying flat config array programmatically.
buildESLintConfig
import { buildESLintConfig } from 'eslint-config-sensible-prettier-typescript'
Builder for ESLint flat config, takes options like defaultSourceType.

Shows ESM usage to set up ESLint and Prettier configs with custom rules overrides.

// Install peer dependencies (example command) // npm i -D eslint prettier typescript @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-config-prettier eslint-plugin-import-x eslint-plugin-unicorn eslint-config-sensible-prettier-typescript // eslint.config.js (ESM) import { eslintConfig } from 'eslint-config-sensible-prettier-typescript'; import { defineConfig } from 'eslint/config'; export default defineConfig([ ...eslintConfig(), { rules: { 'no-console': 'warn', '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }], }, }, ]); // prettier.config.js (ESM) import { prettierConfig } from 'eslint-config-sensible-prettier-typescript'; export default { ...prettierConfig(), printWidth: 120, };
Debug
Known issues
breakingMigration from v1.5.x to v1.6.0+ requires ESLint 9 flat config; old .eslintrc style is not supported.
fix
Switch to eslint.config.js flat config and use eslintConfig() builder.
affects: >=1.6.0
deprecatedCJS require() usage for eslintConfig or prettierConfig may fail in newer versions due to ESM-first design.
fix
Use import syntax or ensure your project is set to CommonJS (type: 'commonjs' in package.json).
affects: >=1.6.2
gotchaThe package exports builder functions, not a static config array. Calling eslintConfig() returns an array; spread it inside defineConfig.
fix
Use ...eslintConfig() instead of eslintConfig directly.
affects: >=1.6.0
gotchaMany peer dependencies (e.g., eslint-plugin-unicorn, eslint-plugin-import-x) are required but not auto-installed. Missing them causes runtime errors.
fix
Install all peer dependencies listed in package.json or use install-peerdeps.
affects: >=1.6.0
gotchaThe `customiseESLintConfig` function mutates config objects in-place. Be careful when reusing the same config array.
fix
Clone the config array and objects if you need to preserve original state.
affects: >=1.6.0
Errors
Common errors & fixes
ERR_REQUIRE_ESM: require() of ES Module /path/to/node_modules/eslint-config-sensible-prettier-typescript/dist/index.js from /path/to/eslint.config.js not supported.
Using CJS require() on an ESM-only package.
fix
Use `import` syntax in your eslint.config.js or rename file to .mjs and set `"type": "module"` in package.json.
Error [ERR_MODULE_NOT_FOUND]: Cannot find module 'eslint-plugin-unicorn'
Missing required peer dependency.
fix
Install the missing peer dependency: `npm i -D eslint-plugin-unicorn`.
Error: `defineConfig` is not defined
Forgetting to import `defineConfig` from `eslint/config` or `eslint` package.
fix
Add `import { defineConfig } from 'eslint/config';` at top of eslint.config.js.
TypeError: eslintConfig is not a function
Importing the package incorrectly or using an older version without the builder.
fix
Use `import { eslintConfig } from 'eslint-config-sensible-prettier-typescript'` and call it as `eslintConfig()`.
Upgrade
Version history
1.9.0latest on npm
Audit
Dependencies
eslintrequiredpeer dependency for ESLint 9 flat config
typescriptrequiredpeer dependency for TypeScript type checking
prettierrequiredpeer dependency for Prettier formatting
@typescript-eslint/eslint-pluginrequiredpeer dependency for TypeScript ESLint rules
@typescript-eslint/parserrequiredpeer dependency for parsing TypeScript
eslint-config-prettierrequiredpeer dependency to disable conflicting ESLint rules
eslint-plugin-import-xrequiredpeer dependency for import ordering and validation
eslint-plugin-unicornrequiredpeer dependency for additional useful rules
Agent activity
5 hits · last 30 days
node
4
Resources
eslint-config-sensible-prettier-typescript — npm install eslint-config-sensible-prettier-typescript · libregistry