{"id":19525,"library":"eslint-config-gulp","title":"eslint-config-gulp","description":"Sharable ESLint configuration for Gulp projects. Current stable version 6.0.0 (released to support ESLint flat config). Previously v5.x used traditional .eslintrc format. Breaking changes at v6: complete rewrite for flat config, dropping Node <20. Differentiators: specifically tailored for Gulp-style codebases, used by the Gulp team. Release cadence: major versions align with ESLint or Node EOL.","status":"active","version":"6.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/gulpjs/eslint-config-gulp","tags":["javascript","eslint","eslint-config","eslint config"],"install":[{"cmd":"npm install eslint-config-gulp","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-gulp","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-gulp","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"ESM-only since v6.0.0; no CJS export.","wrong":"const gulpConfig = require('eslint-config-gulp')","symbol":"default export","correct":"import gulpConfig from 'eslint-config-gulp'"},{"note":"gulpConfig is an array of flat config objects, not a single config object.","wrong":"module.exports = gulpConfig","symbol":"default export (as array)","correct":"export default [...gulpConfig]"},{"note":"Only works with v5.x and older (CJS). v6+ requires ESM and flat config.","wrong":"import config from 'eslint-config-gulp'","symbol":"default export (legacy)","correct":"const config = require('eslint-config-gulp')"}],"quickstart":{"code":"// eslint.config.js\nimport gulpConfig from 'eslint-config-gulp';\n\nexport default [\n  ...gulpConfig,\n  {\n    files: ['**/*.js'],\n    rules: {\n      'semi': ['error', 'always'],\n    },\n  },\n];\n","lang":"javascript","description":"Create an ESLint flat config file that extends the Gulp config and adds a custom rule."},"warnings":[{"fix":"Migrate to flat config: replace .eslintrc.* with eslint.config.js using import gulpConfig from 'eslint-config-gulp'.","message":"v6.0.0 rewrites the entire config to use ESLint flat config; no longer compatible with .eslintrc formats.","severity":"breaking","affected_versions":">=6.0.0"},{"fix":"Update Node.js to version 20 or higher.","message":"v6.0.0 drops support for Node.js <20.","severity":"breaking","affected_versions":">=6.0.0"},{"fix":"Use Node.js 10+ or stick with v4.x.","message":"v5.0.0 increased minimum Node.js version to 10.","severity":"breaking","affected_versions":">=5.0.0 <6.0.0"},{"fix":"Use Prettier for formatting; do not rely on this config for style rules.","message":"v4.0.0 removed formatting rules in favor of Prettier.","severity":"breaking","affected_versions":">=4.0.0"},{"fix":"Use `export default [...gulpConfig];` not `export default gulpConfig;` which would be invalid.","message":"The default export is an array of config objects (flat config). Spreading into an array is required.","severity":"gotcha","affected_versions":">=6.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Use import syntax: import gulpConfig from 'eslint-config-gulp' or convert your config to ESM.","cause":"v6+ is ESM-only; require() cannot load it.","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module /path/to/eslint-config-gulp/index.js from /path/to/eslint.config.js not supported."},{"fix":"Upgrade to flat config: create eslint.config.js and import the config directly.","cause":"Using string extension reference 'gulp' in .eslintrc with v6+ which only supports flat config.","error":"Failed to load config 'gulp' to extend from."},{"fix":"In flat config, spread the imported array: export default [...gulpConfig];","cause":"Spreading the default export (which is iterable) incorrectly or using it directly as a single config.","error":"TypeError: config is not iterable"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}