{"id":20076,"library":"gruntify-eslint","title":"gruntify-eslint","description":"Grunt plugin for ESLint that lints JavaScript files using the ESLint engine. Current stable version is 5.0.0, which supports ESLint 5.x. Release cadence follows ESLint major versions with breaking changes. Differentiators: integrates ESLint into Grunt workflows, supports custom config files, rule paths, formatters, silent mode, maxWarnings, outputFile, and a callback for post-processing results.","status":"active","version":"5.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/gyandeeps/gruntify-eslint","tags":["javascript","gruntplugin","lint","eslint","jshint","jslint","ecmascript","esprima"],"install":[{"cmd":"npm install gruntify-eslint","lang":"bash","label":"npm"},{"cmd":"yarn add gruntify-eslint","lang":"bash","label":"yarn"},{"cmd":"pnpm add gruntify-eslint","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency required to run as Grunt plugin","package":"grunt","optional":false},{"reason":"peer dependency for linting engine","package":"eslint","optional":false}],"imports":[{"note":"Grunt plugins are registered via loadNpmTasks, not imported directly.","wrong":"require('gruntify-eslint')","symbol":"gruntify-eslint","correct":"grunt.loadNpmTasks('gruntify-eslint')"},{"note":"Task name is 'eslint', not 'gruntify-eslint'.","wrong":"grunt.initConfig({ gruntify-eslint: { src: ['file.js'] } })","symbol":"eslint task","correct":"grunt.initConfig({ eslint: { src: ['file.js'] } })"},{"note":"Config goes under options key.","wrong":"eslint: { configFile: '.eslintrc', src: ['file.js'] }","symbol":"eslint options","correct":"eslint: { options: { configFile: '.eslintrc' }, src: ['file.js'] }"}],"quickstart":{"code":"// Install: npm install --save-dev grunt gruntify-eslint eslint\n// Gruntfile.js\nmodule.exports = function(grunt) {\n  grunt.initConfig({\n    eslint: {\n      target: {\n        src: ['**/*.js', '!node_modules/**']\n      }\n    }\n  });\n  grunt.loadNpmTasks('gruntify-eslint');\n  grunt.registerTask('default', ['eslint']);\n};","lang":"javascript","description":"Install and configure gruntify-eslint with a basic eslint task that lints JavaScript files."},"warnings":[{"fix":"Update to ESLint 4.x or later.","message":"Version 4.0.0 drops support for ESLint 3.x; requires ESLint 4.x or later.","severity":"breaking","affected_versions":">=4.0.0"},{"fix":"Update to ESLint 3.x or later.","message":"Version 3.0.0 drops support for ESLint 2.x; requires ESLint 3.x or later.","severity":"breaking","affected_versions":">=3.0.0 <4.0.0"},{"fix":"Update to ESLint 2.x or later.","message":"Version 2.0.0 drops support for ESLint 1.x; requires ESLint 2.x or later.","severity":"breaking","affected_versions":">=2.0.0 <3.0.0"},{"fix":"Use grunt.loadNpmTasks('gruntify-eslint') and task name 'eslint'.","message":"The task name is 'eslint', not 'gruntify-eslint'. Using the wrong name in grunt.loadNpmTasks or initConfig will fail.","severity":"gotcha","affected_versions":"all"},{"fix":"Use these options only in grunt config, not in ESLint configuration files.","message":"Options like silent, maxWarnings, callback, terminateOnCallback, outputFile are not passed to ESLint API; they are handled by the plugin itself.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Add grunt.loadNpmTasks('gruntify-eslint') to your Gruntfile.","cause":"grunt.loadNpmTasks('gruntify-eslint') missing or typo in task name.","error":"Task 'eslint' not found"},{"fix":"Run npm install --save-dev gruntify-eslint","cause":"Missing npm install of gruntify-eslint as devDependency.","error":"Error: Cannot find module 'gruntify-eslint'"},{"fix":"Ensure src is an array of glob patterns that match existing files.","cause":"The src pattern matches no files or the property is misconfigured.","error":"Warning: No files found. Use --force to continue."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}