{"id":47501,"library":"eslint-config-exzeo","title":"eslint-config-exzeo","description":"Shareable ESLint flat config for Exzeo projects, v2.0.0+ built for ESLint v9's flat config system. Exports four presets: base, mocha, typescript (ts), and ts-mocha. Peer depends on @babel/eslint-parser, eslint-plugin-import, and typescript-eslint. Designed for easy composition via spread operator or tseslint.config helper. Ignores node_modules and documentation by default. Node >=18.18.0 required. Minimal customization overhead with explicit overrides.","status":"active","version":"2.0.0","language":"javascript","source_language":"en","source_url":null,"tags":["javascript"],"install":[{"cmd":"npm install eslint-config-exzeo","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-exzeo","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-exzeo","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Parsing modern JavaScript with Babel for ESLint","package":"@babel/eslint-parser","optional":false},{"reason":"Peer dependency required (v9 or later) for flat config usage","package":"eslint","optional":false},{"reason":"ESLint plugin for import/export syntax linting","package":"eslint-plugin-import","optional":false},{"reason":"Required for TypeScript presets (ts and ts-mocha)","package":"typescript-eslint","optional":true}],"imports":[{"note":"ESM-only; requires Node 18.18+ with 'type': 'module' or .mjs extension","wrong":"const exzeoBase = require('eslint-config-exzeo/base')","symbol":"exzeoBase","correct":"import exzeoBase from 'eslint-config-exzeo/base'"},{"note":"Named export not available; import default from subpath, not package root","wrong":"import { exzeoMochaConfig } from 'eslint-config-exzeo'","symbol":"exzeoMochaConfig","correct":"import exzeoMochaConfig from 'eslint-config-exzeo/mocha'"},{"note":"Use tseslint.config() helper to compose TypeScript presets; package must be installed separately","wrong":"import { config } from 'typescript-eslint'","symbol":"tseslint.config","correct":"import tseslint from 'typescript-eslint'"}],"quickstart":{"code":"// eslint.config.js\nimport exzeoBase from 'eslint-config-exzeo/base';\nimport exzeoMochaConfig from 'eslint-config-exzeo/mocha';\n\nexport default [\n  exzeoBase,\n  {\n    ...exzeoMochaConfig,\n    files: [...exzeoMochaConfig.files, 'test/**/*.js']\n  },\n  {\n    rules: {\n      'no-console': 'warn'\n    }\n  }\n];","lang":"javascript","description":"Shows importing base and mocha presets, adding extra test file glob, and overriding a rule."},"warnings":[{"fix":"Migrate to eslint.config.js and remove all .eslintrc and .eslintignore files.","message":"This package requires ESLint v9 (flat config). Older .eslintrc.* and .eslintignore files are ignored.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Upgrade Node to 18.18+ or use nvm to switch.","message":"Node.js version must be >=18.18.0. Older versions will fail to load flat config.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Use `import X from 'eslint-config-exzeo/base'` not `import { X } from 'eslint-config-exzeo'`","message":"Subpath imports are default-only; you cannot named-import from 'eslint-config-exzeo'. Each preset is a separate entry point.","severity":"gotcha","affected_versions":">=2.0.0"},{"fix":"Run `npm install typescript-eslint --save-dev` if using ts or ts-mocha presets.","message":"TypeScript presets require installing `typescript-eslint` as a dependency. Not included automatically.","severity":"gotcha","affected_versions":">=2.0.0"},{"fix":"Move ignore patterns to eslint.config.js: `{ ignores: ['**/dist'] }`","message":".eslintignore is deprecated in ESLint v9 and ignored by this config. Use `ignores` array in flat config.","severity":"deprecated","affected_versions":">=2.0.0"}],"env_vars":null,"search_vec":"'18.18.0':62 'babel/eslint-parser':35 'base':24 'built':13 'composit':47 'config':3,8,19 'custom':65 'default':60 'depend':33 'design':44 'document':58 'easi':46 'eslint':2,6,15,37,43 'eslint-config-exzeo':1 'eslint-plugin-import':36 'explicit':68 'export':21 'exzeo':4,10 'flat':7,18 'four':22 'helper':53 'ignor':54 'import':39 'javascript':70 'minim':64 'mocha':25,31 'modul':56 'node':55,61 'oper':50 'overhead':66 'overrid':69 'peer':32 'plugin':38 'preset':23 'project':11 'requir':63 'shareabl':5 'spread':49 'system':20 'ts':27,30 'ts-mocha':29 'tseslint.config':52 'typescript':26,42 'typescript-eslint':41 'v2.0.0':12 'v9':16 'via':48","created_at":"2026-06-07T16:51:49.864893+00:00","updated_at":"2026-06-07T16:51:49.864893+00:00","problems":[{"fix":"Use import exzeoBase from 'eslint-config-exzeo/base'","cause":"Importing from package root instead of subpath ('base', 'mocha', etc.)","error":"Error: Cannot find module 'eslint-config-exzeo'"},{"fix":"npm install typescript-eslint --save-dev","cause":"Missing optional peer dependency for TypeScript presets","error":"Error [ERR_MODULE_NOT_FOUND]: Cannot find module 'typescript-eslint'"},{"fix":"Create eslint.config.js with 'type': 'module' in package.json, or rename to eslint.config.mjs","cause":"No eslint.config.js exists, or file is not in project root with proper module format","error":"ESLint couldn't determine the config file to use."}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://bitbucket.org/exzeo-usa/exframe#readme","github":null,"docs":null,"changelog":null,"pypi":null,"npm":"eslint-config-exzeo","openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}