eslint-config-tui
raw JSON → 6.39.3 verified Sat Apr 25 auth: no javascript
ESLint shareable config for NHN Cloud TUI components. Current stable version is 6.39.3, released regularly with updates aligned to ESLint releases. It provides a flat config for ESLint v9+, replacing the legacy eslintrc format. Differentiator: maintained by NHN Cloud and follows the NHN JavaScript Style Guide. Release cadence is irregular but frequent, with major version bumps for breaking changes like ESLint v9 flat config support.
Common errors
error TypeError: possibleConfig is not iterable ↓
cause Bug in v6.0.0 that failed to export the config as an array.
fix
Upgrade to eslint-config-tui@6.0.1 or later.
error ESLint: Configuration for rule 'no-console' is invalid. Value ["warn",{"allow":["warn"]}] should be array. ↓
cause Misunderstanding of the rule format; the array must contain severity and options object.
fix
Use ['warn', { allow: ['warn'] }] as the rule value.
error .eslintrc.js is not supported in eslint v9. Use eslint.config.js instead. ↓
cause ESLint v9 dropped support for eslintrc format.
fix
Create an eslint.config.js (or .mjs) file and use the flat config format.
error Parsing error: The keyword 'export' is reserved ↓
cause Using ES module syntax (export) in a CommonJS file (no type: module in package.json).
fix
Set type: module in package.json or rename file to .mjs.
Warnings
breaking v6.0.0 introduced a flat config format, breaking all eslintrc-based configurations. ↓
fix Upgrade to eslint v9 and use the flat config format as shown in the quickstart. If you must use eslintrc, stay on v5.x.
breaking v6.0.0 had a bug causing 'TypeError: possibleConfig is not iterable'. Fixed in v6.0.1. ↓
fix Upgrade to v6.0.1 or later.
deprecated Formatting rules (like semi, quotes) are deprecated and will be removed in v10.0.0. ↓
fix Use a formatter like Prettier instead. See https://eslint.org/docs/latest/use/formatting
gotcha If your project uses ESM, the config file must be named eslint.config.js (not .mjs) and use export default. CommonJS users should use .cjs or require() in .js. ↓
fix Use import/export syntax in eslint.config.js if your package.json has type: module, else use module.exports in .cjs.
gotcha The 'no-console' rule allows no methods by default; to allow specific methods like 'warn' and 'error', override the rule. ↓
fix Add to your config: rules: { 'no-console': ['warn', { allow: ['warn', 'error'] }] }
deprecated The 'no-return-await' rule was removed in v5.4.0 as it is deprecated in ESLint v8.46.0+. ↓
fix Remove the rule from your config; ESLint will warn if you use it.
gotcha Since v6.0.0, the config is an array of flat config objects. Spreading is required; using the config as a single object will cause errors. ↓
fix Use `export default [...tui, { ... }]` instead of `export default tui`.
Install
npm install eslint-config-tui yarn add eslint-config-tui pnpm add eslint-config-tui Imports
- default import wrong
const tui = require('eslint-config-tui')correctimport tui from 'eslint-config-tui' - ESLint config array spread wrong
export default tui.concat({ ... })correctexport default [...tui, { ... }] - Legacy v5 usage wrong
import tui from 'eslint-config-tui' in flat configcorrectrequire('eslint-config-tui') as extend in .eslintrc
Quickstart
// eslint.config.mjs
import tui from 'eslint-config-tui';
export default [
...tui,
{
rules: {
// Override rules: e.g., allow console
'no-console': 'off',
},
},
];