eslint-config-oclif
raw JSON → 6.0.159 verified Sat Apr 25 auth: no javascript
Official ESLint configuration for oclif CLI framework projects. Current stable version is 6.0.159. Released frequently with dependency updates. Key differentiator: optimized for TypeScript strict mode, includes rules for async/await, and enforces oclif-specific conventions like command exports and topic patterns.
Common errors
error ESLint couldn't find the config 'oclif' ↓
cause Missing package installation or typo in extends array
fix
Install eslint-config-oclif: npm install eslint-config-oclif --save-dev
error Failed to load config 'oclif' to extend from ↓
cause Missing peer dependency eslint-plugin-oclif
fix
Install eslint-plugin-oclif: npm install eslint-plugin-oclif --save-dev
error Parsing error: The keyword 'const' is reserved ↓
cause ESLint parser not configured for TypeScript
fix
Ensure typescript-eslint/parser is installed and configured via extends: ['oclif']
Warnings
breaking Version 6.0.0 dropped support for Node < 18.18.0 ↓
fix Upgrade Node to >=18.18.0 or use eslint-config-oclif@5.x
breaking Version 6.0.0 migrated from TSLint to ESLint with typescript-eslint ↓
fix Remove TSLint config and use ESLint with typescript-eslint
gotcha Requires eslint-plugin-oclif peer dependency ↓
fix Install eslint-plugin-oclif as dev dependency
deprecated extends: ['oclif', 'oclif/typescript'] is deprecated since 6.0 ↓
fix Use extends: ['oclif'] only, which now includes TypeScript rules
Install
npm install eslint-config-oclif yarn add eslint-config-oclif pnpm add eslint-config-oclif Imports
- default wrong
module.exports = { extends: ['eslint-config-oclif'], };correctmodule.exports = { extends: ['oclif'], }; - extends wrong
// Wrong: missing 'extends' property module.exports = 'eslint-config-oclif';correct// .eslintrc.js module.exports = { extends: ['oclif'], }; - rules wrong
// Wrong: modifying base rules without spreading module.exports = { extends: ['oclif'], rules: { 'no-console': 'off', }, };correct// .eslintrc.js module.exports = { extends: ['oclif'], rules: { 'no-console': 'off', }, };
Quickstart
// .eslintrc.js
module.exports = {
extends: ['oclif'],
// Override rules if needed
rules: {
'no-console': 'off',
},
};
// package.json script
"lint": "eslint . --ext .ts,.js"