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.

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';.
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.
npm install gulp-eslint-new
yarn add gulp-eslint-new
pnpm add gulp-eslint-new

Shows a complete gulp task: lint, apply fixes, format output, and fail on errors.

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());