Registry / testing / eslint-remote-tester

eslint-remote-tester

JSON →
library4.0.4jsnpmunverified

CLI tool for running ESLint rules against multiple remote repositories simultaneously. Current stable version is 4.0.4, released on an irregular cadence. Key differentiators: designed for regression testing of new or modified ESLint rules across many real-world codebases; integrates with CI via GitHub Actions; supports both flat config (eslint@9) and legacy config; ESM-only since v4. Unlike local linting tools, it clones and lints repositories from GitHub to catch false positives, crashes, and unexpected behavior before a rule is published. Requires peer dependencies eslint@>=9, importx@>=0.3.5, jiti@>=1.

npm install eslint-remote-tester
INSTALL
IMPORT
SIG · ESLINT-REMOTE-TEST
E
eslint-remote-tester
testingjavascriptv4.0.4
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Config
import type { Config } from 'eslint-remote-tester'
import { Config } from 'eslint-remote-tester'
Config is a type, not a value. Use type-only import. Available since v4.
default (main CLI)
import eslintRemoteTester from 'eslint-remote-tester'
const eslintRemoteTester = require('eslint-remote-tester')
Package is ESM-only since v4. CommonJS require() will throw ERR_REQUIRE_ESM.
runProgrammatically
import { runProgrammatically } from 'eslint-remote-tester'
import runProgrammatically from 'eslint-remote-tester'
runProgrammatically is a named export, not the default. Use destructured import.

Shows creation of a configuration file with flat config (ESM), listing remote repos, extensions, and ignore patterns. Run via npx.

// Install: npm install --save-dev eslint-remote-tester eslint // Create eslint-remote-tester.config.js (ESM) import js from '@eslint/js'; /** @type {import('eslint-remote-tester').Config} */ const config = { repositories: ['mui-org/material-ui', 'reach/reach-ui'], extensions: ['js', 'jsx', 'ts', 'tsx'], eslintConfig: [js.configs.recommended], pathIgnorePattern: `(${[ 'node_modules', '\\/\\.', 'test-results', 'docs', ].join('|')})`, }; export default config; // Run CLI: // npx eslint-remote-tester
eslint-remote-tester --version
Debug
Known issues
breakingPackage converted to ESM-only in v4.0.0. CommonJS require() will fail.
fix
Use import syntax or dynamic import(). Ensure your project's package.json has "type": "module" or use .mjs extension.
affects: >=4.0.0
breakingDropped support for eslint@<9 in v4.0.0. eslint@9 with FlatConfig is required.
fix
Upgrade eslint to >=9 and migrate to FlatConfig. Use eslintConfig array instead of .eslintrc.
affects: >=4.0.0
breakingThe eslintConfig option changed from a single config object to an array in v4.0.4.
fix
Wrap your eslintConfig in an array, e.g. eslintConfig: [config].
affects: >=4.0.0 <4.0.4
deprecatedTypeScript config loading via jiti@^1 is deprecated; jiti@^2 or importx@>=0.3.5 recommended.
fix
Install jiti@>=2 or importx@>=0.3.5 as a peer dependency. jiti@^2 support fixed in v4.0.3.
affects: >=4.0.0
gotchaThe underlying git integration requires git CLI to be installed and callable as 'git'.
fix
Ensure git is installed and on the PATH. Test with 'git --version'.
affects: all
gotchaLoading config on Windows could fail before v4.0.1.
fix
Upgrade to v4.0.1 or later to fix Windows path issues.
affects: <4.0.1
Errors
Common errors & fixes
Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: ...\node_modules\eslint-remote-tester\dist\index.js
Attempting to require() an ESM-only package with CommonJS require().
fix
Switch to import syntax: import eslintRemoteTester from 'eslint-remote-tester' or use dynamic import().
TypeError: eslintConfig is not iterable
The eslintConfig option expects an array in v4.0.4+, but a single config object was provided.
fix
Wrap your eslintConfig in an array: eslintConfig: [config].
Error: Cannot find module 'jiti'
jiti is a peer dependency required for loading TypeScript config files, but not installed.
fix
Install jiti: npm install --save-dev jiti
Error: Failed to load config from eslint-remote-tester.config.ts
TypeScript config file cannot be loaded if TS support dependencies are missing or misconfigured.
fix
Ensure jiti@>=2 or importx@>=0.3.5 is installed. For jiti@^1, upgrade to v2.
Upgrade
Version history
4.0.4latest on npm
Audit
Dependencies
eslintrequiredPeer dependency: core linting engine
importxoptionalPeer dependency: used for loading config files
jitioptionalPeer dependency: used for loading TypeScript config files
Agent activity
4 hits · last 30 days
node
4
Resources
eslint-remote-tester — npm install eslint-remote-tester · libregistry