gulp-eslint-new
raw JSON → 2.6.2 verified Sat Apr 25 auth: no javascript
A gulp plugin to lint code with ESLint 8, 9, and 10. Current stable version 2.6.2, released March 2026, supports ESLint 8–10, ships TypeScript types, and is actively maintained. Unlike the original gulp-eslint (ESLint 6 only), this fork provides compatibility with modern ESLint flat config, bulk suppressions, and both CJS and ESM imports. Key differentiators: automatic ESLint installation fallback, full TypeScript support, and a widely compatible API for migration from gulp-eslint.
Common errors
error Error: `concurrency` is not a valid option. ↓
cause The `concurrency` option was removed in v2.5.0.
fix
Remove
concurrency from the options object. error TypeError: gulpESLintNew.fix is not a function ↓
cause Importing gulpESLintNew as a named export instead of default.
fix
Use
const gulpESLintNew = require('gulp-eslint-new'); or import gulpESLintNew from 'gulp-eslint-new';. Warnings
deprecated The options `concurrency` is no longer allowed in gulp-eslint-new v2.5+. ↓
fix Remove the `concurrency` option from the config passed to gulpESLintNew.
deprecated Types `gulpESLintNew.FormatterContext` and `gulpESLintNew.ResultsMeta` are deprecated. ↓
fix Use ESLint's own `ESLint.LintResultData` and `ESLint.ResultsMeta` instead.
breaking ESLint 6 is not supported; only ESLint 8, 9, and 10. ↓
fix Update ESLint to >=8.0.0. Refer to ESLint migration guides.
gotcha When using flat config, you must set `configType: 'flat'`. ↓
fix Add `configType: 'flat'` to options, or provide a flat config file.
Install
npm install gulp-eslint-new yarn add gulp-eslint-new pnpm add gulp-eslint-new Imports
- default (function) wrong
const { gulpESLintNew } = require('gulp-eslint-new')correctimport gulpESLintNew from 'gulp-eslint-new' - fix() wrong
require('gulp-eslint-new').fixcorrectgulpESLintNew.fix() - format() wrong
const format = require('gulp-eslint-new/format')correctgulpESLintNew.format()
Quickstart
const { src } = require('gulp');
const gulpESLintNew = require('gulp-eslint-new');
exports.default = () =>
src(['scripts/*.js'])
.pipe(gulpESLintNew({ fix: true }))
.pipe(gulpESLintNew.fix())
.pipe(gulpESLintNew.format())
.pipe(gulpESLintNew.failAfterError());