{"id":19589,"library":"eslint-config-skuba","title":"ESLint Config Skuba","description":"ESLint config for skuba projects. Current stable version 8.1.0, release cadence follows skuba monorepo releases. This package provides a flat ESLint configuration tailored for SEEK's skuba development platform, integrating TypeScript, React, and Jest linting rules. It is ESM-only and requires Node.js >=22.14.0, ESLint >=9.22.0, and TypeScript >=5.5.4. Differentiators include automatic ignores for coverage, dist, lib, tmp folders, and seamless alignment with skuba toolchain. Ships TypeScript types.","status":"active","version":"8.1.0","language":"javascript","source_language":"en","source_url":"https://github.com/seek-oss/skuba","tags":["javascript","typescript"],"install":[{"cmd":"npm install eslint-config-skuba","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-skuba","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-skuba","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"ESM-only package; CommonJS require will throw ERR_REQUIRE_ESM.","wrong":"const eslintConfigSkuba = require('eslint-config-skuba')","symbol":"eslintConfigSkuba","correct":"import eslintConfigSkuba from 'eslint-config-skuba'"},{"note":"Named re-exports are supported only via ESM syntax.","wrong":"module.exports = require('eslint-config-skuba')","symbol":"default","correct":"export { default as eslintConfigSkuba } from 'eslint-config-skuba'"},{"note":"TypeScript types are bundled; use import type for type-only imports.","wrong":"","symbol":"types","correct":"import type { FlatConfig } from 'eslint-config-skuba'"}],"quickstart":{"code":"// eslint.config.js\nimport eslintConfigSkuba from 'eslint-config-skuba';\n\nexport default [\n  ...eslintConfigSkuba,\n  {\n    rules: {\n      'no-console': 'error',\n    },\n  },\n];\n","lang":"typescript","description":"Set up a flat ESLint configuration file using the skuba config as a base with custom rule overrides."},"warnings":[{"fix":"Migrate to flat config format; ensure ESLint >=9.22.0 is installed.","message":"v8 requires ESLint >=9.22.0 (flat config only, no .eslintrc support)","severity":"breaking","affected_versions":">=8.0.0"},{"fix":"Update Node.js to >=22.14.0.","message":"v8 drops support for Node.js <22.14.0","severity":"breaking","affected_versions":">=8.0.0"},{"fix":"Spread the imported array into your eslint config export.","message":"Default export is an array of flat config objects, not a single config object","severity":"gotcha","affected_versions":">=8.0.0"},{"fix":"Update to v8 and spread the array.","message":"In v7 and earlier, the config was exported as a single object; this changed in v8","severity":"deprecated","affected_versions":"<8.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Switch to import statement or dynamic import().","cause":"Using CommonJS require() to import an ESM-only package.","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module"},{"fix":"Ensure you spread eslintConfigSkuba if it's an array: export default [...eslintConfigSkuba, ...]","cause":"Spreading the imported config incorrectly, treating default export as a single object.","error":"ConfigError: Config is not an array"},{"fix":"Loop over the array or specify index: eslintConfigSkuba[0].rules","cause":"Assuming eslintConfigSkuba is a single config object rather than an array.","error":"TypeError: Cannot read properties of undefined (reading 'rules')"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}