{"id":25476,"library":"eslint-config-cesium","title":"eslint-config-cesium","description":"Official ESLint shareable configs for Cesium ecosystem. Version 11.0.1 requires ESLint 9.x and uses flat config format exclusively. Published monthly, maintained by Cesium team. Exports three configs: 'recommended' (base rules extending @eslint/js and eslint-config-prettier), 'browser' (browser globals), and 'node' (extends plugin:n/recommended). Key differentiator: Cesium-specific rules tailored for geospatial JavaScript in browser and Node.js environments. Active development with regular updates aligned with Cesium releases, supporting ESLint 9 flat config only.","status":"active","version":"11.0.1","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","eslint","cesium"],"install":[{"cmd":"npm install eslint-config-cesium","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-cesium","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-cesium","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency; core linting engine","package":"eslint","optional":false},{"reason":"peer dependency; provides recommended ESLint rules","package":"@eslint/js","optional":false},{"reason":"peer dependency; disables conflicting Prettier rules","package":"eslint-config-prettier","optional":false},{"reason":"peer dependency; provides Node.js rules","package":"eslint-plugin-n","optional":true},{"reason":"peer dependency; provides global variables for browser/node","package":"globals","optional":false}],"imports":[{"note":"ESM default export; CommonJS require() not supported since v11 (flat config only)","wrong":"const configCesium = require('eslint-config-cesium')","symbol":"configCesium","correct":"import configCesium from 'eslint-config-cesium'"},{"note":"configs is nested inside default export; direct named import fails.","wrong":"import { configs } from 'eslint-config-cesium'","symbol":"configCesium.configs.recommended","correct":"import configCesium from 'eslint-config-cesium'; configCesium.configs.recommended"},{"note":"Use browser config for client-side code; includes browser globals.","wrong":"","symbol":"configCesium.configs.browser","correct":"import configCesium from 'eslint-config-cesium'; configCesium.configs.browser"},{"note":"Use node config for Node.js code; extends eslint-plugin-n recommended.","wrong":"","symbol":"configCesium.configs.node","correct":"import configCesium from 'eslint-config-cesium'; configCesium.configs.node"}],"quickstart":{"code":"// Install peer dependencies first\nnpm install --save-dev eslint @eslint/js eslint-config-prettier eslint-plugin-n globals\n\n// Install eslint-config-cesium\nnpm install --save-dev eslint-config-cesium\n\n// eslint.config.js\nimport configCesium from 'eslint-config-cesium';\n\nexport default [\n  configCesium.configs.recommended,\n  {\n    rules: {\n      'no-console': 'warn',\n    },\n  },\n];","lang":"javascript","description":"Shows minimal flat config setup: install peer deps, import default config, export array with recommended config and custom overrides."},"warnings":[{"fix":"Migrate to flat config; remove .eslintrc files. See ESLint v9 migration guide.","message":"Version 11 drops support for legacy eslintrc format (v9 flat config only). Previous versions used .eslintrc.","severity":"breaking","affected_versions":">=11.0.0"},{"fix":"Update all peer deps to specified versions. npm install --save-dev eslint@^9.0.0 ...","message":"Peer dependencies changed in v11: requires eslint ^9.0.0, @eslint/js ^9.0.0, eslint-config-prettier ^9.0.0, eslint-plugin-n ^17.0.0, globals ^15.0.0.","severity":"breaking","affected_versions":">=11.0.0"},{"fix":"Use import configCesium from 'eslint-config-cesium'; then configCesium.configs.recommended.","message":"Configs are accessed as properties of the default export, not as named exports. import { configs } will be undefined.","severity":"gotcha","affected_versions":">=10.0.0"},{"fix":"Run npm install with --legacy-peer-deps or manually install peer dependencies as devDependencies.","message":"Do not forget to install peer dependencies; they are not installed automatically by npm in v7+ unless using --legacy-peer-deps.","severity":"gotcha","affected_versions":">=10.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use import syntax and rename .eslintrc.js to eslint.config.js (flat config). If must use require, downgrade to eslint-config-cesium@^10.0.0.","cause":"Attempting to use CommonJS require() on an ESM-only flat config package.","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module /path/node_modules/eslint-config-cesium/index.js from /path/.eslintrc.js not supported."},{"fix":"Ensure all peer dependencies are installed: npm install eslint@^9.0.0 @eslint/js@^9.0.0 eslint-config-prettier@^9.0.0 eslint-plugin-n@^17.0.0 globals@^15.0.0 --save-dev","cause":"Missing peer dependency (e.g., eslint-config-prettier not installed or mismatched version).","error":"Error: Failed to load config 'eslint-config-cesium' to extend from."},{"fix":"Check import: use 'import configCesium from \"eslint-config-cesium\"' not destructured import.","cause":"Trying to access configCesium.configs but configCesium is undefined due to incorrect import.","error":"TypeError: Cannot read properties of undefined (reading 'recommended')"},{"fix":"Rename .eslintrc.* to eslint.config.js and rewrite config in flat config format.","cause":"ESLint v9 no longer supports .eslintrc files; you must use eslint.config.js.","error":"Error: .eslintrc.js is not a valid ESLint configuration file. You may need to rename it to eslint.config.js."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}