{"id":19545,"library":"eslint-config-neon","title":"eslint-config-neon","description":"eslint-config-neon is an all-in-one ESLint shareable config for modern JavaScript and TypeScript projects. Version 0.4.0 requires Node ^20.19.0 || ^22.13.0 || >=24. It provides a curated set of rules covering code quality, style, and TypeScript best practices, aiming to reduce configuration overhead. Unlike many other configs (e.g., standard, airbnb), it is opinionated but minimal, and ships with TypeScript definitions. It does not include plugins as dependencies; users must install peer deps. Active development with frequent updates.","status":"active","version":"0.4.0","language":"javascript","source_language":"en","source_url":"https://github.com/iCrawl/eslint-config-neon","tags":["javascript","config","eslint","eslintconfig","lint","linter","typescript","validate"],"install":[{"cmd":"npm install eslint-config-neon","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-neon","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-neon","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"ESM-only; use dynamic import in CJS or await import.","wrong":"const neon = require('eslint-config-neon')","symbol":"default","correct":"import neon from 'eslint-config-neon'"},{"note":"CJS projects must use dynamic import.","wrong":"const neon = require('eslint-config-neon')","symbol":"neon","correct":"const neon = await import('eslint-config-neon')"},{"note":"For ESLint flat config: use spread operator.","wrong":null,"symbol":"neon","correct":"const neon = await import('eslint-config-neon')"},{"note":"Flat config (ESLint >=9) requires ESM.","wrong":"module.exports = require('eslint-config-neon')","symbol":"neon","correct":"// eslint.config.js\nimport neon from 'eslint-config-neon';\nexport default [\n  ...neon,\n];"}],"quickstart":{"code":"// eslint.config.js\nimport neon from 'eslint-config-neon';\n\nexport default [\n  ...neon,\n  {\n    rules: {\n      'no-console': 'warn',\n    },\n  },\n];\n","lang":"typescript","description":"Shows how to use the flat config with TypeScript and ESM."},"warnings":[{"fix":"Use import() or dynamic import in CommonJS.","message":"Version 0.3.0+ changed to ESM-only; CJS require() no longer works.","severity":"breaking","affected_versions":">=0.3.0"},{"fix":"Update Node to ^20.19.0 || ^22.13.0 || >=24.","message":"Requires Node 20.19.0+ as of v0.4.0; older Node versions will fail.","severity":"breaking","affected_versions":">=0.4.0"},{"fix":"Install peer deps manually or use npm >=7 which auto-installs peers.","message":"This config expects peer dependencies like eslint, @typescript-eslint/parser, etc. Not auto-installing them may cause missing plugin errors.","severity":"gotcha","affected_versions":"*"},{"fix":"Migrate to flat config (https://eslint.org/docs/latest/use/configure/configuration-files).","message":"ESLint legacy config (.eslintrc) is not supported; only flat config (eslint.config.js) works.","severity":"deprecated","affected_versions":">=0.2.0"},{"fix":"Place custom config objects after the spread to override rules.","message":"Config overrides may not merge as expected due to flat config array order.","severity":"gotcha","affected_versions":"*"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Use import() or dynamic import: const neon = await import('eslint-config-neon');","cause":"Using require() on an ESM-only package.","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module from not supported."},{"fix":"Run npm install eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin --save-dev","cause":"Missing peer dependencies (e.g., eslint, @typescript-eslint/parser).","error":"Could not find 'eslint' as a plugin or config."},{"fix":"Check that peer deps match the expected versions for this config.","cause":"Rules from peer plugins may have been removed or renamed.","error":"Configuration for rule \"@typescript-eslint/no-unused-vars\" is invalid."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}