{"id":25501,"library":"eslint-plugin-camunda-licensed","title":"eslint-plugin-camunda-licensed","description":"An ESLint plugin providing shared lint configurations for Camunda-licensed open source projects. Version 1.1.0 is the current stable release. It enforces license headers (MIT, commercial, Apache 2.0) via predefined flat configs. Key differentiator: specifically tailored for Camunda OSS projects, integrates with eslint-plugin-license-header, and requires ESLint 9+. Release cadence is irregular; major v1.0.0 introduced flat config support, breaking from legacy .eslintrc format.","status":"active","version":"1.1.0","language":"javascript","source_language":"en","source_url":"ssh://git@github.com/camunda/eslint-plugin-camunda-licensed","tags":["javascript","eslint","lint","rules","bpmn.io"],"install":[{"cmd":"npm install eslint-plugin-camunda-licensed","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-plugin-camunda-licensed","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-plugin-camunda-licensed","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency - requires eslint@^9","package":"eslint","optional":false}],"imports":[{"note":"ESM-only; CommonJS require is unsupported for flat config plugins in ESLint 9.","wrong":"const camundaLicensedPlugin = require('eslint-plugin-camunda-licensed')","symbol":"default","correct":"import camundaLicensedPlugin from 'eslint-plugin-camunda-licensed'"},{"note":"configs is a named export from the main entry point, not a subpath.","wrong":"import { configs } from 'eslint-plugin-camunda-licensed/configs'","symbol":"configs","correct":"import { configs } from 'eslint-plugin-camunda-licensed'"},{"note":"Rules are accessible but typically used indirectly via configs.","wrong":"","symbol":"rules","correct":"import { rules } from 'eslint-plugin-camunda-licensed'"}],"quickstart":{"code":"// eslint.config.js\nimport camundaLicensedPlugin from 'eslint-plugin-camunda-licensed';\n\nexport default [\n  // Apply MIT license header rule to all source files\n  ...camundaLicensedPlugin.configs.mit,\n  {\n    files: ['**/*.js'],\n    rules: {\n      // Customize rule options if needed\n    }\n  }\n];\n\n// Then run: eslint --fix to add license headers.","lang":"javascript","description":"Show how to import the plugin and use its MIT configuration in an ESLint flat config."},"warnings":[{"fix":"Migrate your ESLint config to the flat config format (use eslint.config.js).","message":"v1.0.0 drops support for legacy .eslintrc format; only ESLint 9 flat config is supported.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Upgrade ESLint to version 9 or later.","message":"v1.0.0 requires ESLint 9; version ^9 is a peer dependency.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Ensure eslint-plugin-license-header is in your node_modules (it's installed automatically with the plugin).","message":"The plugin uses eslint-plugin-license-header internally to enforce headers. Make sure eslint-plugin-license-header is installed (it's a dependency, not peer).","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Upgrade to v1.0.0+ and rewrite config to flat format.","message":"Older v0.x versions used .eslintrc config format and ESLint < 9. They are now deprecated.","severity":"deprecated","affected_versions":"<1.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run `npm install eslint-plugin-camunda-licensed --save-dev`.","cause":"Plugin is not installed or not in node_modules.","error":"ESLint couldn't find the plugin \"eslint-plugin-camunda-licensed\"."},{"fix":"Use `import camundaLicensedPlugin from 'eslint-plugin-camunda-licensed'` and ensure your config file is an ES module (set type:module in package.json).","cause":"Using require() instead of import for the plugin.","error":"Error: Flat config plugin imported as CommonJS"},{"fix":"Use one of the predefined configs (mit, commercial, apache) via `camundaLicensedPlugin.configs.mit` instead of manually specifying rule options.","cause":"Incorrect rule options or missing configuration.","error":"Configuration for rule \"camunda-licensed/license-header\" is invalid"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}