{"id":41024,"library":"eslint-improved-checkstyle-formatter","title":"Improved ESLint Checkstyle Formatter","description":"An enhanced ESLint formatter that outputs Checkstyle-compatible XML, primarily for use with the Jenkins Checkstyle Plugin. Version 0.2.0 is the latest stable release. It allows optional tweaking of file paths via environment variables (CHECKSTYLE_OLD_PROJECT_DIR and CHECKSTYLE_NEW_PROJECT_DIR) to produce relative paths instead of absolute paths in CI environments. Unlike ESLint's built-in checkstyle formatter, this one supports path manipulation for Jenkins integration. The package is unmaintained since 2015 and serves a niche use case.","status":"abandoned","version":"0.2.0","language":"javascript","source_language":"en","source_url":"https://github.com/normful/eslint-improved-checkstyle-formatter","tags":["javascript","eslint","eslint-formatter","formatter","reporter","lint","validate"],"install":[{"cmd":"npm install eslint-improved-checkstyle-formatter","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-improved-checkstyle-formatter","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-improved-checkstyle-formatter","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Package is CommonJS-only; ESM import will fail.","wrong":"import formatter from 'eslint-improved-checkstyle-formatter';","symbol":"default","correct":"const formatter = require('eslint-improved-checkstyle-formatter');"},{"note":"The module exports a single function, not an object with 'output' property.","wrong":"const { output } = require('eslint-improved-checkstyle-formatter');","symbol":"output","correct":"const formatter = require('eslint-improved-checkstyle-formatter'); const result = formatter(results);"}],"quickstart":{"code":"// eslint.config.js\nconst improvedFormatter = require('eslint-improved-checkstyle-formatter');\nmodule.exports = {\n  plugins: [],\n  formatters: {\n    'checkstyle': improvedFormatter\n  }\n};\n// Usage:\n// CHECKSTYLE_OLD_PROJECT_DIR=/home/user/project CHECKSTYLE_NEW_PROJECT_DIR=/tmp/project eslint --format=node_modules/eslint-improved-checkstyle-formatter file.js\n// Or programmatically:\nconst ESLint = require('eslint').ESLint;\nconst cli = new ESLint();\nconst results = await cli.lintFiles(['file.js']);\nconst formatter = require('eslint-improved-checkstyle-formatter');\nconsole.log(formatter(results));","lang":"javascript","description":"Shows how to require the formatter and use it programmatically or via CLI with path manipulation environment variables."},"warnings":[{"fix":"Consider using ESLint's built-in checkstyle formatter or a maintained alternative like eslint-formatter-checkstyle.","message":"Package is unmaintained since 2015. No updates for ESLint v9+ or modern Node.js.","severity":"deprecated","affected_versions":">=0.0"},{"fix":"Use require() or convert project to CommonJS for this package.","message":"Only works with CommonJS require(). ESM imports will fail with SyntaxError.","severity":"breaking","affected_versions":">=0.0"},{"fix":"Call formatter(results) and it returns a string, no need to access .output or .results.","message":"The formatter does not output a 'results' array like other formatters; it returns a string directly.","severity":"gotcha","affected_versions":">=0.0"}],"env_vars":null,"search_vec":"'0.2.0':24 '2015':81 'absolut':55 'allow':31 'built':64 'built-in':63 'case':87 'checkstyl':3,12,21,40,45,66 'checkstyle-compat':11 'ci':58 'compat':13 'dir':43,48 'enhanc':6 'environ':38,59 'eslint':2,7,61,89,91 'eslint-formatt':90 'file':35 'formatt':4,8,67,92,93 'improv':1 'instead':53 'integr':75 'javascript':88 'jenkin':20,74 'latest':27 'lint':95 'manipul':72 'new':46 'nich':85 'old':41 'one':69 'option':32 'output':10 'packag':77 'path':36,52,56,71 'plugin':22 'primarili':15 'produc':50 'project':42,47 'relat':51 'releas':29 'report':94 'serv':83 'sinc':80 'stabl':28 'support':70 'tweak':33 'unlik':60 'unmaintain':79 'use':17,86 'valid':96 'variabl':39 'version':23 'via':37 'xml':14","created_at":"2026-06-04T18:50:24.312407+00:00","updated_at":"2026-06-04T18:50:24.312407+00:00","problems":[{"fix":"Use require('eslint-improved-checkstyle-formatter') instead of import.","cause":"Package only provides CommonJS module. ESM import fails.","error":"SyntaxError: Cannot use import statement outside a module"},{"fix":"Use const formatter = require('eslint-improved-checkstyle-formatter'); then formatter(results);","cause":"Incorrect import or using wrong export. Module exports a function directly.","error":"TypeError: formatter is not a function"}],"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://github.com/normful/eslint-improved-checkstyle-formatter","github":"https://github.com/normful/eslint-improved-checkstyle-formatter","docs":null,"changelog":null,"pypi":null,"npm":"eslint-improved-checkstyle-formatter","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-04","next_check":"2026-09-02","install_tag":null}}