npm / eslint / 10.13.0

eslint 10.13.0

Source
https://github.com/eslint/eslint
Tag scanned
v10.13.0
Compared with
v10.12.0 (0 signals introduced since)
Files
1949 scanned, 240 skipped (binary, oversized, or unrecognised)
Signals
0 critical · 0 warn · 348 info
Scan time
62.7 s
LLM review
Reviewed by claude-haiku-5-5 (Anthropic): 103 of 103 warn and critical signals; 103 demoted to info.
Disclude version
4.0.0
Scanned (UTC)
2026-10-17 00:26

Signals

Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.

  1. info warn → info by review dynamic-import Makefile.js:190:17

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			const basename = pair[1];
    			const rule = require(path.resolve(filename));
    
    			/*
    likely benign LLM, confidence 0.80 Makefile.js dynamically requires a rule file resolved from a local path.
    Reasoning

    Build script requiring a rule file resolved from a filename argument; the build tooling loads local rule files, which is normal for ESLint's Makefile.

  2. info warn → info by review dynamic-import Makefile.js:293:15

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    	);
    	const data = require(filePath);
    	const { items } = data;
    likely benign LLM, confidence 0.80 Makefile.js requires a local data file at a computed path.
    Reasoning

    Build script loading a local JSON/data file from a computed path in the ESLint repo's maintenance tooling; no network or encoded payload involved.

  3. info warn → info by review dynamic-import Makefile.js:386:22

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    	const docsPackagePath = path.join(__dirname, "docs", "package.json");
    	const docsPackage = require(docsPackagePath);
    
    	docsPackage.version = releaseInfo.version;
    likely benign LLM, confidence 0.85 Release script requires docs package.json by computed path to set its version.
    Reasoning

    Requires docs/package.json from a path built with __dirname to update the version; ordinary release scripting.

  4. info warn → info by review dynamic-import bin/eslint.js:107:21

    `require` called with a non-literal specifier (ast pass, confidence 0.80)

    		try {
    			const template = require(`../messages/${error.messageTemplate}.js`);
    
    			return template(error.messageData || {});
    likely benign LLM, confidence 0.85 CLI loads an internal message template file using a templated filename.
    Reasoning

    Loads a message template by name from the project's messages directory; the template name is internal error metadata, so this is a normal plugin-style lookup, though the name is not strictly validated.

  5. info whitespace-anomaly docs/src/_plugins/pre-wrapper.js:2:1

    file mixes tab and space indentation (8 tab-indented and 7 space-indented lines) (raw pass, confidence 0.40)

    module.exports = md => {
    	const defaultFenceRenderer = md.renderer.rules.fence;
    
    	md.renderer.rules.fence = (...args) => {
  6. 1312 of 2868 non-conventional identifiers are single-character (46%) (token pass, confidence 0.50)

  7. U+200C ZERO WIDTH NON-JOINER in source (in string/comment) (raw pass, confidence 0.45)

    					.replace(/"(?:\\"|[^"])*"|'(?:\\'|[^'])*'/g, function (e) {
    						return e.replace(/,/g, "⟨U+200C⟩");
    					})
    					.split(/\s*(?![^(]*\)),\s*/)
  8. info identifier-low-length docs/src/assets/js/inert-polyfill.js:1:1

    85 of 197 non-conventional identifiers are single-character (43%) (token pass, confidence 0.50)

  9. info whitespace-anomaly docs/src/assets/js/search.js:23:1

    file mixes tab and space indentation (146 tab-indented and 3 space-indented lines) (raw pass, confidence 0.40)

    const resultsLiveRegion = document.querySelector(
    	"#search-results-announcement",
    );
    const searchInput = document.querySelector("#search");
  10. info identifier-low-length docs/src/rules/arrow-parens.md:150:1

    [embedded javascript] mean non-conventional identifier length 1.93 over 30 names (token pass, confidence 0.50)

  11. info identifier-low-length docs/src/rules/arrow-parens.md:170:1

    [embedded javascript] mean non-conventional identifier length 1.67 over 39 names (token pass, confidence 0.50)

  12. info identifier-low-length docs/src/rules/arrow-parens.md:215:1

    [embedded javascript] mean non-conventional identifier length 1.69 over 29 names (token pass, confidence 0.50)

  13. info warn → info by review dynamic-import docs/src/rules/global-require.md:56:27

    [embedded javascript] `require` called with a non-literal specifier (ast pass, confidence 0.60)

    // you may not require() inside an arrow function body
    var getModule = (name) => require(name);
    
    // you may not require() inside of a function body as well
    dismissed LLM, confidence 0.95 Docs example showing a non-literal require inside an arrow function.
    Reasoning

    Documentation example illustrating a rule's bad pattern inside a markdown code block; not executed code.

  14. info warn → info by review dynamic-import docs/src/rules/global-require.md:60:12

    [embedded javascript] `require` called with a non-literal specifier (ast pass, confidence 0.60)

    function getModule(name) {
        return require(name);
    }
    dismissed LLM, confidence 0.95 Docs example of require(name) inside a function body.
    Reasoning

    Rule documentation snippet demonstrating what is disallowed; illustrative only.

  15. info warn → info by review dynamic-import docs/src/rules/global-require.md:65:5

    [embedded javascript] `require` called with a non-literal specifier (ast pass, confidence 0.60)

    try {
        require(unsafeModule);
    } catch (e) {
        console.log(e);
    dismissed LLM, confidence 0.95 Docs example of a require inside try block for a rule description.
    Reasoning

    Rule documentation example in a markdown code block showing incorrect usage.

  16. [embedded javascript] mean non-conventional identifier length 1.00 over 30 names (token pass, confidence 0.50)

  17. [embedded javascript] mean non-conventional identifier length 1.05 over 20 names (token pass, confidence 0.50)

  18. [embedded javascript] mean non-conventional identifier length 1.90 over 20 names (token pass, confidence 0.50)

  19. info identifier-low-length docs/src/rules/no-dupe-else-if.md:128:1

    [embedded javascript] 27 of 63 non-conventional identifiers are single-character (43%) (token pass, confidence 0.50)

  20. info critical → info by review dynamic-execution docs/src/rules/no-eval.md:17:13

    [embedded javascript] `eval` called with a non-literal expression (ast pass, confidence 0.90)

        key = "x",
        value = eval("obj." + key);
    dismissed LLM, confidence 0.95 Docs example showing eval usage that the no-eval rule flags.
    Reasoning

    Documentation example for the no-eval rule in markdown; the eval is illustrative, not executed.

  21. info critical → info by review dynamic-execution docs/src/rules/no-eval.md:33:13

    [embedded javascript] `eval` called with a non-literal expression (ast pass, confidence 0.90)

        key = "x",
        value = eval("obj." + key);
    
    (0, eval)("const a = 0");
    dismissed LLM, confidence 0.95 Docs example of indirect eval for the no-eval rule.
    Reasoning

    Same no-eval rule documentation example; illustrative only.

  22. info critical → info by review dynamic-execution docs/src/rules/no-eval.md:126:13

    [embedded javascript] `eval` called with a non-literal expression (ast pass, confidence 0.90)

        key = "x",
        value = eval("obj." + key);
    dismissed LLM, confidence 0.95 Docs example of eval in the no-eval rule page.
    Reasoning

    Rule documentation code sample in markdown, not live code.

  23. info warn → info by review dynamic-execution docs/src/rules/no-implied-eval.md:14:1

    [embedded javascript] `setTimeout` called with a string argument — string form evaluates as code (ast pass, confidence 0.75)

    setTimeout("alert('Hi!');", 100);
    dismissed LLM, confidence 0.95 Docs example of setTimeout with a string argument.
    Reasoning

    Markdown documentation sample demonstrating a disallowed pattern for the no-implied-eval rule.

  24. info warn → info by review dynamic-execution docs/src/rules/no-implied-eval.md:40:1

    [embedded javascript] `setTimeout` called with a string argument — string form evaluates as code (ast pass, confidence 0.75)

    
    setTimeout("alert('Hi!');", 100);
    
    setInterval("alert('Hi!');", 100);
    dismissed LLM, confidence 0.95 Docs example of setTimeout with a string argument.
    Reasoning

    Documentation example for no-implied-eval; illustrative only.

  25. info warn → info by review dynamic-execution docs/src/rules/no-implied-eval.md:42:1

    [embedded javascript] `setInterval` called with a string argument — string form evaluates as code (ast pass, confidence 0.75)

    
    setInterval("alert('Hi!');", 100);
    
    execScript("alert('Hi!')");
    dismissed LLM, confidence 0.95 Docs example of setInterval with a string argument.
    Reasoning

    Documentation example for no-implied-eval; illustrative only.

  26. info warn → info by review dynamic-import docs/src/rules/no-inline-comments.md:124:1

    [embedded javascript] dynamic `import(...)` with a non-literal specifier (ast pass, confidence 0.65)

    
    import(/* webpackChunkName: "my-chunk-name" */ './locale/en');
    dismissed LLM, confidence 0.95 Docs example of dynamic import with webpack magic comment.
    Reasoning

    Markdown example of a dynamic import with a webpack chunk comment; documentation, not executed.

  27. [embedded javascript] U+200B ZERO WIDTH SPACE in source (in string/comment) (raw pass, confidence 0.45)

    const foo = function() {
        return '⟨U+200B⟩<ZWSP>thing';
    }
  28. [embedded javascript] orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    
    new RegExp("[\ud83d" + "\udc4d]");
    
    const pattern = "[\ud83d\udc4d]";
  29. [embedded javascript] orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    
    new RegExp("[\ud83d" + "\udc4d]");
    
    const pattern = "[\ud83d\udc4d]";
  30. [embedded javascript] surrogate pair \uD83D\uDC4D (non-scalar Unicode codepoints in string literal) (token pass, confidence 0.70)

    
    const pattern = "[\ud83d\udc4d]";
    new RegExp(pattern);
  31. info identifier-low-length docs/src/rules/no-mixed-operators.md:55:1

    [embedded javascript] mean non-conventional identifier length 1.75 over 32 names (token pass, confidence 0.50)

  32. info identifier-low-length docs/src/rules/no-mixed-operators.md:142:1

    [embedded javascript] mean non-conventional identifier length 1.77 over 47 names (token pass, confidence 0.50)

  33. info identifier-low-length docs/src/rules/no-mixed-operators.md:160:1

    [embedded javascript] mean non-conventional identifier length 1.67 over 30 names (token pass, confidence 0.50)

  34. info warn → info by review dynamic-import docs/src/rules/no-mixed-requires.md:30:11

    [embedded javascript] `require` called with a non-literal specifier (ast pass, confidence 0.60)

        foo = require('./foo'),    // "file"     |
        bar = require(getName()),  // "computed" /
        baz = 42,                  // "other"
        bam;                       // "uninitialized"
    dismissed LLM, confidence 0.95 Docs example mixing require declarations for the no-mixed-requires rule.
    Reasoning

    Documentation example for no-mixed-requires showing computed require in a markdown code block.

  35. info warn → info by review dynamic-import docs/src/rules/no-mixed-requires.md:69:11

    [embedded javascript] `require` called with a non-literal specifier (ast pass, confidence 0.60)

        util = require('util'),
        bar = require(getBarModuleName());
    
    // only non-require declarations
    dismissed LLM, confidence 0.95 Docs example of computed require in no-mixed-requires page.
    Reasoning

    Documentation example of require calls in markdown for the rule description.

  36. info warn → info by review dynamic-import docs/src/rules/no-mixed-requires.md:76:11

    [embedded javascript] `require` called with a non-literal specifier (ast pass, confidence 0.80)

    // always valid regardless of grouping because all declarations are of the same type
    var foo = require('foo' + VERSION),
        bar = require(getBarModuleName()),
        baz = require();
    dismissed LLM, confidence 0.95 Docs example with computed require declarations.
    Reasoning

    Documentation example in markdown; not executable code.

  37. info warn → info by review dynamic-import docs/src/rules/no-mixed-requires.md:77:11

    [embedded javascript] `require` called with a non-literal specifier (ast pass, confidence 0.60)

    var foo = require('foo' + VERSION),
        bar = require(getBarModuleName()),
        baz = require();
    likely benign LLM, confidence 0.90 Doc example of mixed require calls with computed specifiers.
    Reasoning

    Markdown documentation showing an anti-pattern example of require calls with non-literal specifiers. It is illustrative prose, not executable code in the package.

  38. info warn → info by review dynamic-import docs/src/rules/no-mixed-requires.md:98:11

    [embedded javascript] `require` called with a non-literal specifier (ast pass, confidence 0.60)

    var foo = require('foo'),
        bar = require(getBarModuleName());
    likely benign LLM, confidence 0.90 Doc example of a require call with a computed specifier.
    Reasoning

    Same documentation example pattern as the sibling finding; it is an illustrative snippet in a rule doc.

  39. info identifier-low-length docs/src/rules/no-self-assign.md:47:1

    [embedded javascript] mean non-conventional identifier length 1.96 over 52 names (token pass, confidence 0.50)

  40. info identifier-low-length docs/src/rules/no-shadow.md:31:1

    [embedded javascript] 15 of 31 non-conventional identifiers are single-character (48%) (token pass, confidence 0.50)

  41. info identifier-low-length docs/src/rules/no-shadow.md:63:1

    [embedded javascript] 14 of 34 non-conventional identifiers are single-character (41%) (token pass, confidence 0.50)

  42. info identifier-low-length docs/src/rules/no-use-before-define.md:20:1

    [embedded javascript] 17 of 39 non-conventional identifiers are single-character (44%) (token pass, confidence 0.50)

  43. info identifier-low-length docs/src/rules/no-use-before-define.md:74:1

    [embedded javascript] 20 of 41 non-conventional identifiers are single-character (49%) (token pass, confidence 0.50)

  44. line length 649 characters (raw pass, confidence 0.50)

    This rule additionally supports TypeScript type syntax. There are multiple ways to declare global variables in TypeScript. Only using `var` works for all cases. See this [TypeScript playground](https://www.typescriptlang.org/play/?#code/PQgEB4CcFMDNpgOwMbVAGwJYCMC8AiAEwHsBbfUYAPgFgAoew6ZdAQxlAHN1jtX1QAb3qhRGaABdQAGUkAu
  45. info warn → info by review encoding-base64 docs/src/rules/no-var.md:55:233

    base64-like blob (234 bytes, compression ratio 0.88) (raw pass, confidence 0.60)

    playground](https://www.typescriptlang.org/play/?#code/PQgEB4CcFMDNpgOwMbVAGwJYCMC8AiAEwHsBbfUYAPgFgAoew6ZdAQxlAHN1jtX1QAb3qhRGaABdQAGUkAuUAGcJkTIk4ixAN3agAauwXLV6+ptFqJCWK1SgA6mpIB3IebGjHiIyrUa6HgC+9MEMdGDcvPygtqiKivSyEvQGkPReZuHAoM5OxK6ckvS5iC4AdEnFec5lqVWl+WUZYWAlLkpFdG2NSaC4oADkA-XlqX2Dw13VTWrjQ5kRPHzoACoAFpiKXJ2Ry
    likely benign LLM, confidence 0.85 Base64-like compressed code in a playground link within the docs.
    Reasoning

    The blob is a compressed TypeScript playground code parameter inside a documentation URL, a common way to share code. It is not a payload.

  46. info warn → info by review encoding-base64 docs/src/rules/no-var.md:55:545

    base64-like blob (89 bytes, compression ratio 1.03) (raw pass, confidence 0.60)

    piKXJ2Ry+ubFTtL-PuKtez0uycbZ830i1GrNx3JdFdPB73982-HH2djb6Td6nGaIOaTe7ZRTQdCwbavGFww6I2Gwc5pOhI9F3LIdOEvejYlEQolojGkrHkryU+jQAAeAAdiJApIJAkA) for reference.
    likely benign LLM, confidence 0.85 Base64-like segment of a playground share URL in the docs.
    Reasoning

    Continuation of the same playground URL in the docs; a compressed share parameter, not executable malicious content.

  47. info identifier-low-length docs/src/rules/one-var.md:498:1

    [embedded javascript] 20 of 43 non-conventional identifiers are single-character (47%) (token pass, confidence 0.50)

  48. info identifier-low-length docs/src/rules/one-var.md:544:1

    [embedded javascript] 20 of 47 non-conventional identifiers are single-character (43%) (token pass, confidence 0.50)

  49. info identifier-low-length docs/src/rules/padded-blocks.md:205:1

    [embedded javascript] mean non-conventional identifier length 1.68 over 22 names (token pass, confidence 0.50)

  50. info identifier-low-length docs/src/rules/sort-keys.md:21:1

    [embedded javascript] 17 of 31 non-conventional identifiers are single-character (55%) (token pass, confidence 0.50)

  51. info identifier-low-length docs/src/rules/sort-keys.md:46:1

    [embedded javascript] 29 of 52 non-conventional identifiers are single-character (56%) (token pass, confidence 0.50)

  52. info identifier-low-length docs/src/rules/sort-keys.md:308:1

    [embedded javascript] 24 of 40 non-conventional identifiers are single-character (60%) (token pass, confidence 0.50)

  53. info warn → info by review unicode-zero-width docs/src/rules/unicode-bom.md:34:1

    [embedded javascript] U+FEFF ZERO WIDTH NO-BREAK SPACE (BOM) in source (raw pass, confidence 0.75)

    ```js
    ⟨U+FEFF⟩// U+FEFF at the beginning
    
    /*eslint unicode-bom: ["error", "always"]*/
    dismissed LLM, confidence 0.90 Intentional BOM character inside a rule doc example.
    Reasoning

    The BOM is intentionally included in a markdown example demonstrating the unicode-bom rule. It is documentation of the rule's behavior.

  54. info warn → info by review unicode-zero-width docs/src/rules/unicode-bom.md:74:1

    [embedded javascript] U+FEFF ZERO WIDTH NO-BREAK SPACE (BOM) in source (raw pass, confidence 0.75)

    ```js
    ⟨U+FEFF⟩// U+FEFF at the beginning
    
    /*eslint unicode-bom: ["error", "never"]*/
    dismissed LLM, confidence 0.90 Intentional BOM character inside a rule doc example.
    Reasoning

    Intentional BOM in a doc example for the 'never' option of the unicode-bom rule.

  55. info warn → info by review unicode-zero-width docs/src/use/migrate-to-10.0.0.md:424:1

    U+200B ZERO WIDTH SPACE in source (raw pass, confidence 0.75)

    
    ⟨U+200B⟩What changed:⟨U+200B⟩⟨U+200B⟩
    
    - Previously, valid test cases could include `errors` or `output` properties, which were ignored.
    likely benign LLM, confidence 0.80 Zero-width space characters in migration guide prose.
    Reasoning

    Zero-width spaces in markdown prose around 'What changed'. Likely an editing artifact rather than an attack; it has no code effect in a migration guide.

  56. info warn → info by review unicode-zero-width docs/src/use/migrate-to-10.0.0.md:424:17

    U+200B ZERO WIDTH SPACE in source (raw pass, confidence 0.75)

    
    ⟨U+200B⟩What changed:⟨U+200B⟩⟨U+200B⟩
    
    - Previously, valid test cases could include `errors` or `output` properties, which were ignored.
    likely benign LLM, confidence 0.80 Zero-width space in migration guide prose.
    Reasoning

    Another zero-width space in the same prose line; a doc editing artifact with no functional effect.

  57. info warn → info by review unicode-zero-width docs/src/use/migrate-to-10.0.0.md:424:20

    U+200B ZERO WIDTH SPACE in source (raw pass, confidence 0.75)

    
    ⟨U+200B⟩What changed:⟨U+200B⟩⟨U+200B⟩
    
    - Previously, valid test cases could include `errors` or `output` properties, which were ignored.
    likely benign LLM, confidence 0.80 Zero-width space in migration guide prose.
    Reasoning

    Another zero-width space in the same prose line; a doc editing artifact with no functional effect.

  58. info warn → info by review unicode-zero-width docs/src/use/migrate-to-10.0.0.md:429:26

    U+200B ZERO WIDTH SPACE in source (raw pass, confidence 0.75)

    
    Example of invalid usage:⟨U+200B⟩
    
    ```js
    likely benign LLM, confidence 0.80 Zero-width space in migration guide prose before a code example.
    Reasoning

    Zero-width space in prose just before a js code block; likely a copy-paste artifact in documentation, not executable code.

  59. line length 515 characters (raw pass, confidence 0.50)

    **Related issue(s):** [#12490]https://github.com/eslint/eslint/pull/12490, [#12608]https://github.com/eslint/eslint/pull/12608, [#12670]https://github.com/eslint/eslint/pull/12670, [#12701]https://github.com/eslint/eslint/pull/12701, [#12765]https://github.com/eslint/eslint/pull/12765, [#12837](https://github
  60. info whitespace-anomaly lib/cli-engine/formatters/html.js:12:1

    file mixes tab and space indentation (95 tab-indented and 131 space-indented lines) (raw pass, confidence 0.40)

    const encodeHTML = (function () {
    	const encodeHTMLRules = {
    		"&": "&#38;",
    		"<": "&#60;",
  61. info warn → info by review encoding-base64 lib/cli-engine/formatters/html.js:42:83

    base64-like blob (1600 bytes, compression ratio 0.77) (raw pass, confidence 0.60)

    mage/png" sizes="any" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAHaAAAB2gGFomX7AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAABD1JREFUWMPFl11sk2UUx3/nbYtjxS1MF7MLMTECMgSTtSSyrQkLhAj7UBPnDSEGoxegGzMwojhXVpmTAA5iYpSoMQa8GBhFOrMFk03buei6yRAlcmOM0SEmU9d90b19jxcM1o5+sGnsc/e+z/
    dismissed LLM, confidence 0.90 Embedded base64 PNG image data URI in the HTML formatter template.
    Reasoning

    A base64-encoded PNG data URI for an embedded favicon/logo in the HTML formatter's output template. This is standard image embedding.

  62. info warn → info by review dynamic-import lib/config/config-loader.js:185:23

    dynamic `import(...)` with a non-literal specifier (ast pass, confidence 0.65)

    async function dynamicImportConfig(filePath, fileURL, mtime) {
    	const module = await import(fileURL.href);
    
    	importedConfigFileModificationTime.set(filePath, mtime);
    likely benign LLM, confidence 0.85 Dynamic import of a user config module from its file URL.
    Reasoning

    ESLint loads user config files via dynamic import of a file URL to support ESM configs. This is the expected behavior of a config loader, with the path coming from the user's own project.

  63. info warn → info by review dynamic-import lib/eslint/eslint-helpers.js:990:16

    dynamic `import(...)` with a non-literal specifier (ast pass, confidence 0.65)

    async function loadOptionsFromModule(optionsURL) {
    	return (await import(optionsURL)).default;
    }
    likely benign LLM, confidence 0.85 Dynamic import of an options module from a URL.
    Reasoning

    Loads an options module from a URL for ESLint's config handling; a legitimate feature with a user-controlled path, not an attacker-controlled payload.

  64. info warn → info by review dynamic-import lib/eslint/eslint.js:1273:23

    dynamic `import(...)` with a non-literal specifier (ast pass, confidence 0.65)

    		try {
    			formatter = (await import(pathToFileURL(formatterPath))).default;
    		} catch (ex) {
    			// check for formatters that have been removed
    likely benign LLM, confidence 0.85 Dynamic import of a formatter module from a resolved path.
    Reasoning

    Loads a formatter module by path, a documented ESLint extension point. The non-literal specifier is inherent to plugin/formatter loading.

  65. file mixes tab and space indentation (2 tab-indented and 2 space-indented lines) (raw pass, confidence 0.40)

    module.exports = function (it) {
    	const { pattern } = it;
    
    	return `
  66. file mixes tab and space indentation (8 tab-indented and 1 space-indented lines) (raw pass, confidence 0.40)

    module.exports = function ({ key, objectKey }) {
    	// special case for parsers
    	const isParser =
    		objectKey === "parser" && (key === "parse" || key === "parseForESLint");
  67. info whitespace-anomaly messages/eslintrc-plugins.js:4:1

    file mixes tab and space indentation (2 tab-indented and 8 space-indented lines) (raw pass, confidence 0.40)

    module.exports = function ({ plugins }) {
    	const isArrayOfStrings = typeof plugins[0] === "string";
    
    	return `
  68. info whitespace-anomaly messages/invalid-rule-options.js:6:1

    file mixes tab and space indentation (1 tab-indented and 1 space-indented lines) (raw pass, confidence 0.40)

    module.exports = function ({ ruleId, value }) {
    	return `
    Configuration for rule "${ruleId}" is invalid. Each rule must have a severity ("off", 0, "warn", 1, "error", or 2) and may be followed by additional options for the rule.
  69. info whitespace-anomaly messages/no-config-found.js:4:1

    file mixes tab and space indentation (2 tab-indented and 1 space-indented lines) (raw pass, confidence 0.40)

    module.exports = function (it) {
    	const { directoryPath } = it;
    
    	return `
  70. info whitespace-anomaly messages/plugin-missing.js:4:1

    file mixes tab and space indentation (2 tab-indented and 1 space-indented lines) (raw pass, confidence 0.40)

    module.exports = function (it) {
    	const { pluginName, resolvePluginsRelativeTo, importerName } = it;
    
    	return `
  71. file mixes tab and space indentation (1 tab-indented and 4 space-indented lines) (raw pass, confidence 0.40)

    module.exports = function ({ ruleIds, language }) {
    	return `
    The following rules do not support the language "${language}":
    ${ruleIds.map(id => `\t- "${id}"`).join("\n")}
  72. info critical → info by review dynamic-execution tests/bench/large.js:9555:18

    `Function(...)` called with a non-literal body (ast pass, confidence 0.75)

    							try {
    								render = new Function(
    									settings.variable || "obj",
    									"_",
    likely benign LLM, confidence 0.80 new Function used for template compilation inside a bench fixture.
    Reasoning

    Bundled benchmark fixture containing a template engine that compiles templates with new Function, typical of lodash-style template code. It is a benchmark input, not a dropper.

  73. file mixes tab and space indentation (1 tab-indented and 8 space-indented lines) (raw pass, confidence 0.40)

    
       function leftpad(str, len, ch){
      str = ("" + str);
  74. file mixes tab and space indentation (1 tab-indented and 20 space-indented lines) (raw pass, confidence 0.40)

    try {
        foo = "Hello";
    } catch (err) {
        foo = "World";
  75. file mixes tab and space indentation (1 tab-indented and 20 space-indented lines) (raw pass, confidence 0.40)

    try {
        await import("./foo.js");
    } catch (err) {
        await import("./bar.js");
  76. file mixes tab and space indentation (1 tab-indented and 19 space-indented lines) (raw pass, confidence 0.40)

    try {
        obj.foo;
    } catch (err) {
        obj.bar;
  77. file mixes tab and space indentation (2 tab-indented and 19 space-indented lines) (raw pass, confidence 0.40)

    try {
        new Foo();
    } catch (err) {
    	new Bar();
  78. file mixes tab and space indentation (4 tab-indented and 4 space-indented lines) (raw pass, confidence 0.40)

    module.exports = {
    	languageOptions: {
    		ecmaVersion: 5,
    		sourceType: "script",
  79. line length 1971 characters (raw pass, confidence 0.50)

            ast: { type: "Program", start: 0, end: 15, loc: { start: { line: 1, column: 0 }, end: { line: 1, column: 15 } }, comments: [], tokens: [{ type: "Punctuator", value: "@", start: 0, end: 1, loc: { start: { line: 1, column: 0 }, end: { line: 1, column: 1 } }, range: [0, 1] }, { type: "Identifier", value: "foo", st
  80. line length 1974 characters (raw pass, confidence 0.50)

        const ast = { type: "Program", start: 0, end: 15, loc: { start: { line: 1, column: 0 }, end: { line: 1, column: 15 } }, comments: [], tokens: [{ type: "Punctuator", value: "@", start: 0, end: 1, loc: { start: { line: 1, column: 0 }, end: { line: 1, column: 1 } }, range: [0, 1] }, { type: "Identifier", value: "foo",
  81. file mixes tab and space indentation (10 tab-indented and 231 space-indented lines) (raw pass, confidence 0.40)

    exports.parseForESLint = () => ({
        ast: {
            "kind": "Document",
            "definitions": [
  82. base64-like blob (75 bytes, compression ratio 1.15) (in comment) (raw pass, confidence 0.36)

    }`
    // obtained from https://typescript-eslint.io/play/#ts=5.4.3&showAST=es&fileType=.tsx&code=FAb2AJwQwdyhLALuArgZ3gOwObgB7gC84AtlANYCmAIvGgA4D2aUARgDaUAUAlANzAAvkA&eslintrc=N4KABGBEBOCuA2BTAzpAXGYBfEWg&tsconfig=N4KABGBEDGD2C2AHAlgGwKYCcDyiAuysAdgM6QBcYoEEkJemy0eAcgK6qoDCAFutAGsylBm3TgwAXxCSgA&tokens=false
  83. base64-like blob (91 bytes, compression ratio 1.02) (in comment) (raw pass, confidence 0.36)

    }`
    // obtained from https://typescript-eslint.io/play/#ts=5.4.3&showAST=es&fileType=.tsx&code=FAb2AJwQwdyhLALuArgZ3gOwObgB7gC84AtlANYCmAIvGgA4D2aUARgDaUAUAlANzAAvkA&eslintrc=N4KABGBEBOCuA2BTAzpAXGYBfEWg&tsconfig=N4KABGBEDGD2C2AHAlgGwKYCcDyiAuysAdgM6QBcYoEEkJemy0eAcgK6qoDCAFutAGsylBm3TgwAXxCSgA&tokens=false
  84. base64-like blob (66 bytes, compression ratio 1.17) (in comment) (raw pass, confidence 0.36)

    }`
    // obtained from https://typescript-eslint.io/play/#ts=5.4.3&showAST=es&fileType=.tsx&code=FAb2AJwVwZwSwHYHNwA9wF5wFsCGBrAUwBE4YAHAexlwCMAbQgCgEoBuYAXyA&eslintrc=N4KABGBEBOCuA2BTAzpAXGYBfEWg&tsconfig=N4KABGBEDGD2C2AHAlgGwKYCcDyiAuysAdgM6QBcYoEEkJemy0eAcgK6qoDCAFutAGsylBm3TgwAXxCSgA&tokens=false
  85. base64-like blob (91 bytes, compression ratio 1.02) (in comment) (raw pass, confidence 0.36)

    }`
    // obtained from https://typescript-eslint.io/play/#ts=5.4.3&showAST=es&fileType=.tsx&code=FAb2AJwVwZwSwHYHNwA9wF5wFsCGBrAUwBE4YAHAexlwCMAbQgCgEoBuYAXyA&eslintrc=N4KABGBEBOCuA2BTAzpAXGYBfEWg&tsconfig=N4KABGBEDGD2C2AHAlgGwKYCcDyiAuysAdgM6QBcYoEEkJemy0eAcgK6qoDCAFutAGsylBm3TgwAXxCSgA&tokens=false
  86. 318 of 509 non-conventional identifiers are single-character (62%) (token pass, confidence 0.50)

  87. 318 of 509 non-conventional identifiers are single-character (62%) (token pass, confidence 0.50)

  88. 318 of 509 non-conventional identifiers are single-character (62%) (token pass, confidence 0.50)

  89. 318 of 509 non-conventional identifiers are single-character (62%) (token pass, confidence 0.50)

  90. info high-complexity tests/lib/cli.js:2501:7

    compression ratio 0.865 is >2σ above file mean 0.711 (raw pass, confidence 0.50)

    				const exitCode = await cli.execute(
    					"--concurrency=2 --no-config-lookup --no-ignore --rule 'no-fallthrough: [error, { commentPattern: \"#?\" }]' tests/fixtures/passing.js",
    				);
  91. info whitespace-anomaly tests/lib/eslint/eslint.js:34:1

    file mixes tab and space indentation (13449 tab-indented and 265 space-indented lines) (raw pass, confidence 0.40)

    const {
    	calculateWorkerCount,
    	shouldUseFlatConfig,
    } = require("../../../lib/eslint/eslint");
  92. info warn → info by review dynamic-import tests/lib/eslint/eslint.js:228:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    					plugins: {
    						test: require(
    							path.join(
    								cwd,
    likely benign LLM, confidence 0.90 Test plugin loaded via require with a path built from the test directory.
    Reasoning

    Test fixture defining a plugin via require of a path joined from a test cwd. Test scaffolding with no malicious behavior.

  93. info warn → info by review dynamic-import tests/lib/eslint/eslint.js:2061:15

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    					languageOptions: {
    						parser: require(filePath),
    					},
    				},
    likely benign LLM, confidence 0.90 Test loads a parser module from a file path variable.
    Reasoning

    Requiring a parser by a computed file path is a normal ESLint test pattern for loading fixture parsers; no malicious sink or encoding involved.

  94. info high-complexity tests/lib/eslint/eslint.js:7120:9

    compression ratio 0.875 is >2σ above file mean 0.717 (raw pass, confidence 0.50)

    
    				it('should load eslint.config.ts with CJS-ESM mixed syntax (import and module.exports), "type": "commonjs" in nearest `package.json`', async () => {
    					const cwd = getFixturePath(
    						"ts-config-files",
  95. info high-complexity tests/lib/eslint/eslint.js:7215:9

    compression ratio 0.884 is >2σ above file mean 0.717 (raw pass, confidence 0.50)

    
    				it('should load eslint.config.ts with CJS-ESM mixed syntax (require and export default), "type": "commonjs" in nearest `package.json`', async () => {
    					const cwd = getFixturePath(
    						"ts-config-files",
  96. info high-complexity tests/lib/eslint/eslint.js:7260:9

    compression ratio 0.869 is >2σ above file mean 0.717 (raw pass, confidence 0.50)

    
    				it('should load eslint.config.ts with CJS-ESM mixed syntax (import assignment and export default), "type": "module" in nearest `package.json`', async () => {
    					const cwd = getFixturePath(
    						"ts-config-files",
  97. info high-complexity tests/lib/eslint/eslint.js:7305:9

    compression ratio 0.863 is >2σ above file mean 0.717 (raw pass, confidence 0.50)

    
    				it('should load eslint.config.ts with CJS-ESM mixed syntax (import assignment and export default), "type": "commonjs" in nearest `package.json`', async () => {
    					const cwd = getFixturePath(
    						"ts-config-files",
  98. info high-complexity tests/lib/eslint/eslint.js:7350:9

    compression ratio 0.876 is >2σ above file mean 0.717 (raw pass, confidence 0.50)

    
    				it('should load eslint.config.ts with CJS-ESM mixed syntax (import and export assignment), "type": "module" in nearest `package.json`', async () => {
    					const cwd = getFixturePath(
    						"ts-config-files",
  99. info high-complexity tests/lib/eslint/eslint.js:7395:9

    compression ratio 0.870 is >2σ above file mean 0.717 (raw pass, confidence 0.50)

    
    				it('should load eslint.config.ts with CJS-ESM mixed syntax (import and export assignment), "type": "commonjs" in nearest `package.json`', async () => {
    					const cwd = getFixturePath(
    						"ts-config-files",
  100. info warn → info by review dynamic-import tests/lib/eslint/eslint.js:11119:35

    dynamic `import(...)` with a non-literal specifier (ast pass, confidence 0.65)

    			);
    			const { customPlugin } = await import(optionsURL);
    			const engine = await ESLint.fromOptionsModule(optionsURL);
    likely benign LLM, confidence 0.85 Test dynamically imports an options module from a URL variable.
    Reasoning

    Dynamic import of an options module URL in an ESLint test that exercises fromOptionsModule; expected for testing config loading from a fixture path.

  101. info warn → info by review dynamic-import tests/lib/eslint/eslint.js:12882:14

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    						plugins: {
    							test: require(
    								path.join(
    									cwd,
    likely benign LLM, confidence 0.90 Test requires a plugin module from a joined fixture path.
    Reasoning

    Plugin loaded via require with path.join from a test cwd; standard fixture loading in ESLint tests.

  102. file mixes tab and space indentation (208 tab-indented and 148 space-indented lines) (raw pass, confidence 0.40)

    const assert = require("node:assert"),
    	{ Linter } = require("../../../../lib/linter");
    const linter = new Linter();
  103. info whitespace-anomaly tests/lib/linter/linter.js:13:1

    file mixes tab and space indentation (10267 tab-indented and 228 space-indented lines) (raw pass, confidence 0.40)

    const { assert } = require("chai"),
    	sinon = require("sinon"),
    	espree = require("espree"),
    	esprima = require("esprima"),
  104. file mixes tab and space indentation (6904 tab-indented and 1 space-indented lines) (raw pass, confidence 0.40)

    const sinon = require("sinon"),
    	EventEmitter = require("node:events"),
    	{ RuleTester } = require("../../../lib/rule-tester"),
    	assert = require("chai").assert,
  105. compression ratio 0.792 is >2σ above file mean 0.704 (raw pass, confidence 0.50)

    				);
    			}, "Error Suggestion at index 1: Test has invalid messageId 'removeFoo', the rule under test allows only one of ['avoidFoo', 'unused', 'renameFoo'].");
    		});
  106. info critical → info by review dynamic-execution tests/lib/rule-tester/rule-tester.js:7044:6

    `eval` called with a non-literal expression (ast pass, confidence 0.75)

    					// eslint-disable-next-line no-eval -- intentional eval
    					eval(code);
    					assert.fail("Expected an error to be thrown");
    				} catch (error) {
    likely benign LLM, confidence 0.85 Test evaluates a code string under a no-eval-annotated test.
    Reasoning

    The eval is explicitly annotated as intentional in a test verifying that eval-based code is rejected or handled; the code is test input, not an attack payload.

  107. info critical → info by review data-uri-import tests/lib/rule-tester/rule-tester.js:7070:37

    `import(...)` specifier is a `data:` URI — executes arbitrary code without touching disk (ast pass, confidence 0.95)

    				const moduleURL = `data:text/javascript,${content}`;
    				const { runRuleTester } = await import(moduleURL);
    				try {
    					runRuleTester(ruleTester, noVar);
    likely benign LLM, confidence 0.75 Test builds a data: URI module and imports it to run a rule tester.
    Reasoning

    A data: URI import is used to load a rule tester module in a test harness. It does execute code, but the content is locally constructed test input; the pattern is unusual enough to warrant a look but not malicious on its face.

  108. file mixes tab and space indentation (1759 tab-indented and 28 space-indented lines) (raw pass, confidence 0.40)

    ruleTester.run("array-bracket-newline", rule, {
    	valid: [
    		/*
    		 * ArrayExpression
  109. info warn → info by review dynamic-import tests/lib/rules/array-bracket-spacing.js:25:9

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    function parser(name) {
    	return require(
    		path.resolve(
    			__dirname,
    likely benign LLM, confidence 0.90 Test helper requires a parser module by resolved path.
    Reasoning

    Standard ESLint rule test helper that resolves a parser fixture path via require; benign.

  110. file mixes tab and space indentation (773 tab-indented and 44 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/arrow-body-style"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  111. info warn → info by review dynamic-import tests/lib/rules/arrow-parens.js:22:9

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    function parser(name) {
    	return require(baseParser("arrow-parens", name));
    }
    likely benign LLM, confidence 0.90 Test helper requires a parser module by name.
    Reasoning

    Test helper requiring a parser by name through baseParser; standard test scaffolding.

  112. info whitespace-anomaly tests/lib/rules/brace-style.js:13:1

    file mixes tab and space indentation (1231 tab-indented and 299 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/brace-style"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester"),
    	{ unIndent } = require("../../_utils");
  113. info whitespace-anomaly tests/lib/rules/camelcase.js:13:1

    file mixes tab and space indentation (1599 tab-indented and 26 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/camelcase"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  114. file mixes tab and space indentation (1152 tab-indented and 194 space-indented lines) (raw pass, confidence 0.40)

    ruleTester.run("class-methods-use-this", rule, {
    	valid: [
    		{
    			code: "class A { constructor() {} }",
  115. info whitespace-anomaly tests/lib/rules/comma-dangle.js:13:1

    file mixes tab and space indentation (2146 tab-indented and 44 space-indented lines) (raw pass, confidence 0.40)

    const path = require("node:path"),
    	{ unIndent } = require("../../_utils"),
    	rule = require("../../../lib/rules/comma-dangle"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
  116. info warn → info by review dynamic-import tests/lib/rules/comma-dangle.js:27:9

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    function parser(name) {
    	return require(
    		path.resolve(
    			__dirname,
    likely benign LLM, confidence 0.90 Test helper requires a parser module by resolved path.
    Reasoning

    Same parser-loading helper pattern used across ESLint rule tests; benign.

  117. file mixes tab and space indentation (437 tab-indented and 57 space-indented lines) (raw pass, confidence 0.40)

    ruleTester.run("constructor-super", rule, {
    	valid: [
    		// non derived classes.
    		"class A { }",
  118. file mixes tab and space indentation (519 tab-indented and 98 space-indented lines) (raw pass, confidence 0.40)

    const ruleTester = new RuleTester({
    	languageOptions: { ecmaVersion: 8 },
    });
  119. file mixes tab and space indentation (881 tab-indented and 588 space-indented lines) (raw pass, confidence 0.40)

    const LEFT_MISSING_ERROR = {
    	messageId: "expectedAfter",
    };
    const LEFT_UNEXPECTED_ERROR = {
  120. info warn → info by review dynamic-import tests/lib/rules/function-paren-newline.js:616:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					fixtureParser(
    						"function-paren-newline",
    likely benign LLM, confidence 0.90 Test config requires a fixture parser by computed name.
    Reasoning

    Fixture parser loaded via require in a test config; standard ESLint testing.

  121. info warn → info by review dynamic-import tests/lib/rules/function-paren-newline.js:1512:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					fixtureParser(
    						"function-paren-newline",
    likely benign LLM, confidence 0.90 Test config requires a fixture parser by computed name.
    Reasoning

    Fixture parser loaded via require in a test config; standard ESLint testing.

  122. info unicode-invisible tests/lib/rules/id-length.js:284:18

    U+E0100 VARIATION SELECTOR SUPPLEMENT (invisible payload carrier, encodes byte 0x10) in source (in string/comment) (raw pass, confidence 0.54)

    		{
    			code: "var 葛⟨U+E0100⟩ = 2", // 2 code points but only 1 grapheme
    			options: [{ min: 1, max: 1 }],
    			languageOptions: { ecmaVersion: 6 },
  123. info unicode-invisible tests/lib/rules/id-length.js:886:18

    U+E0100 VARIATION SELECTOR SUPPLEMENT (invisible payload carrier, encodes byte 0x10) in source (in string/comment) (raw pass, confidence 0.54)

    		{
    			code: "var 葛⟨U+E0100⟩ = 2", // 2 code points but only 1 grapheme
    			languageOptions: { ecmaVersion: 6 },
    			errors: [tooShortError],
  124. info whitespace-anomaly tests/lib/rules/id-match.js:13:1

    file mixes tab and space indentation (1101 tab-indented and 57 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/id-match"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  125. file mixes tab and space indentation (252 tab-indented and 271 space-indented lines) (raw pass, confidence 0.40)

    ruleTester.run("implicit-arrow-linebreak", rule, {
    	valid: [
    		// always valid
    		`(foo) => {
  126. info whitespace-anomaly tests/lib/rules/indent.js:13:1

    file mixes tab and space indentation (5474 tab-indented and 8622 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/indent"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    const fs = require("node:fs");
    const path = require("node:path");
  127. info warn → info by review dynamic-import tests/lib/rules/indent.js:4059:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(parser("unknown-nodes/interface")),
    			},
    		},
    likely benign LLM, confidence 0.92 Test config requires a parser fixture for an unknown-nodes case.
    Reasoning

    Parser fixture loaded by name for an unknown-nodes test case; benign test scaffolding.

  128. info warn → info by review dynamic-import tests/lib/rules/indent.js:4074:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(parser("unknown-nodes/namespace-valid")),
    			},
    		},
    likely benign LLM, confidence 0.92 Test config requires a parser fixture for a namespace test case.
    Reasoning

    Parser fixture loaded by name for a test case; benign.

  129. info warn → info by review dynamic-import tests/lib/rules/indent.js:4093:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(parser("unknown-nodes/abstract-class-valid")),
    			},
    		},
    likely benign LLM, confidence 0.92 Test config requires a parser fixture for an abstract-class test case.
    Reasoning

    Parser fixture loaded by name for a test case; benign.

  130. info warn → info by review dynamic-import tests/lib/rules/indent.js:4111:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser("unknown-nodes/functions-with-abstract-class-valid"),
    				),
    likely benign LLM, confidence 0.92 Test config requires a parser fixture for a functions-with-abstract-class test case.
    Reasoning

    Parser fixture loaded by name for a test case; benign.

  131. info warn → info by review dynamic-import tests/lib/rules/indent.js:4133:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser(
    						"unknown-nodes/namespace-with-functions-with-abstract-class-valid",
    likely benign LLM, confidence 0.92 Test config requires a parser fixture for a namespace-with-functions test case.
    Reasoning

    Parser fixture loaded by name for a test case; benign.

  132. info warn → info by review dynamic-import tests/lib/rules/indent.js:4148:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser(
    						"unknown-nodes/variable-declarator-type-indent-two-spaces",
    likely benign LLM, confidence 0.92 Test config requires a parser fixture for a variable-declarator test case.
    Reasoning

    Parser fixture loaded by name for a test case; benign.

  133. info warn → info by review dynamic-import tests/lib/rules/indent.js:4163:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser("unknown-nodes/variable-declarator-type-no-indent"),
    				),
    likely benign LLM, confidence 0.92 Test config requires a parser fixture for a variable-declarator test case.
    Reasoning

    Parser fixture loaded by name for a test case; benign.

  134. info warn → info by review dynamic-import tests/lib/rules/indent.js:10822:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(parser("unknown-nodes/namespace-invalid")),
    			},
    			errors: expectedErrors([
    likely benign LLM, confidence 0.93 Test case loading a parser fixture via require(parser(...)) in ESLint's indent rule tests.
    Reasoning

    The require() argument is a helper call that picks a fixture parser by name, in an ESLint rule test file. The specifier comes from a test-local helper, not untrusted input, so this is a normal test-harness pattern.

  135. info warn → info by review dynamic-import tests/lib/rules/indent.js:10859:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(parser("unknown-nodes/abstract-class-invalid")),
    			},
    			errors: expectedErrors([
    likely benign LLM, confidence 0.93 Test case loading an unknown-nodes parser fixture via a helper-built require path.
    Reasoning

    Dynamic require of a parser fixture chosen by a local test helper, in an ESLint test file. The AST pass flags any non-literal require, which is expected in test harnesses.

  136. info warn → info by review dynamic-import tests/lib/rules/indent.js:10895:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser(
    						"unknown-nodes/functions-with-abstract-class-invalid",
    likely benign LLM, confidence 0.93 Test case requiring a parser fixture through a helper for functions-with-abstract-class input.
    Reasoning

    Multi-line require(parser(...)) selecting a test fixture parser in an ESLint rule test. No network, shell, or decoding involved, so it is an ordinary dynamic fixture load.

  137. info warn → info by review dynamic-import tests/lib/rules/indent.js:10941:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser(
    						"unknown-nodes/namespace-with-functions-with-abstract-class-invalid",
    likely benign LLM, confidence 0.93 Test case requiring a nested-namespace parser fixture through a helper function.
    Reasoning

    Same test-harness pattern: a helper resolves a fixture name and the result is passed to require. Benign in an ESLint test suite.

  138. info whitespace-anomaly tests/lib/rules/key-spacing.js:13:1

    file mixes tab and space indentation (3283 tab-indented and 186 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/key-spacing"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  139. info warn → info by review dynamic-import tests/lib/rules/keyword-spacing.js:2385:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					fixtureParser(
    						"keyword-spacing",
    likely benign LLM, confidence 0.92 Keyword-spacing test case loading a parser through fixtureParser.
    Reasoning

    require(fixtureParser(...)) in an ESLint keyword-spacing test, loading a fixture parser by name. Standard test setup with no malicious indicators.

  140. info warn → info by review dynamic-import tests/lib/rules/keyword-spacing.js:2397:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					fixtureParser(
    						"keyword-spacing",
    likely benign LLM, confidence 0.92 Keyword-spacing test case loading a second fixture parser through fixtureParser.
    Reasoning

    Dynamic require of a fixture parser inside an ESLint rule test. The specifier comes from a local helper, so this is expected test-harness behaviour.

  141. info warn → info by review dynamic-import tests/lib/rules/keyword-spacing.js:2940:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser("typescript-parsers/decorator-with-class"),
    				),
    likely benign LLM, confidence 0.92 Decorator-with-class test loading a TypeScript parser fixture.
    Reasoning

    require(parser(...)) loading a TypeScript parser fixture for a decorator test in ESLint. A test-helper path, not an attack.

  142. info warn → info by review dynamic-import tests/lib/rules/keyword-spacing.js:2950:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser("typescript-parsers/decorator-with-class-methods"),
    				),
    likely benign LLM, confidence 0.92 Decorator-with-class-methods test loading a TypeScript parser fixture.
    Reasoning

    Dynamic require of a TypeScript parser fixture in an ESLint test file. The flagged pattern is routine in parser-based rule tests.

  143. info warn → info by review dynamic-import tests/lib/rules/keyword-spacing.js:2958:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser(
    						"typescript-parsers/decorator-with-static-class-methods",
    likely benign LLM, confidence 0.92 Static-class-methods decorator test loading a TypeScript parser fixture.
    Reasoning

    Same parser-fixture require via helper in an ESLint test. Nothing suggests obfuscation or malicious execution.

  144. info warn → info by review dynamic-import tests/lib/rules/keyword-spacing.js:2970:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser("typescript-parsers/keyword-with-arrow-function"),
    				),
    likely benign LLM, confidence 0.92 Keyword-with-arrow-function test loading a TypeScript parser fixture.
    Reasoning

    Routine parser fixture load for an arrow-function keyword test in ESLint's test suite.

  145. info warn → info by review dynamic-import tests/lib/rules/keyword-spacing.js:4906:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					fixtureParser(
    						"keyword-spacing",
    likely benign LLM, confidence 0.92 Keyword-spacing test case loading a fixture parser.
    Reasoning

    fixtureParser-driven require in an ESLint keyword-spacing test. Benign test harness code.

  146. info warn → info by review dynamic-import tests/lib/rules/keyword-spacing.js:4919:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					fixtureParser(
    						"keyword-spacing",
    likely benign LLM, confidence 0.92 Keyword-spacing test case loading a fixture parser.
    Reasoning

    Another fixture parser require in the same ESLint test file. The pattern is expected for parser-specific test cases.

  147. info warn → info by review dynamic-import tests/lib/rules/keyword-spacing.js:5193:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser(
    						"typescript-parsers/decorator-with-keywords-class-method",
    likely benign LLM, confidence 0.92 Decorator-with-keywords class method test loading a TypeScript parser fixture.
    Reasoning

    Dynamic require of a TypeScript decorator parser fixture in an ESLint test. No malicious indicators.

  148. file mixes tab and space indentation (2479 tab-indented and 272 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/lines-around-comment"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester"),
    	{ unIndent } = require("../../_utils");
  149. file mixes tab and space indentation (1216 tab-indented and 1108 space-indented lines) (raw pass, confidence 0.40)

    ruleTester.run("lines-between-class-members", rule, {
    	valid: [
    		"class foo{}",
    		"class foo{;;}",
  150. info warn → info by review dynamic-import tests/lib/rules/logical-assignment-operators.js:2513:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser(
    						"typescript-parsers/logical-assignment-with-assertion",
    likely benign LLM, confidence 0.92 Logical-assignment-with-assertion test loading a TypeScript parser fixture.
    Reasoning

    Parser fixture require via helper in an ESLint logical-assignment test. Standard test setup.

  151. info warn → info by review dynamic-import tests/lib/rules/logical-assignment-operators.js:2530:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser(
    						"typescript-parsers/logical-with-assignment-with-assertion-1",
    likely benign LLM, confidence 0.92 Logical-with-assignment-with-assertion test loading a TypeScript parser fixture.
    Reasoning

    Dynamic require of a TypeScript parser fixture in an ESLint test file. Benign test-harness usage.

  152. info warn → info by review dynamic-import tests/lib/rules/logical-assignment-operators.js:2554:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser(
    						"typescript-parsers/logical-with-assignment-with-assertion-2",
    likely benign LLM, confidence 0.92 Logical-with-assignment-with-assertion test loading a second TypeScript parser fixture.
    Reasoning

    Same fixture-parser require pattern in an ESLint test. Nothing indicates obfuscation.

  153. info warn → info by review dynamic-import tests/lib/rules/logical-assignment-operators.js:2578:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser(
    						"typescript-parsers/logical-with-assignment-with-assertion-3",
    likely benign LLM, confidence 0.92 Logical-with-assignment-with-assertion test loading a third TypeScript parser fixture.
    Reasoning

    Routine parser fixture require via helper in an ESLint test case. Benign.

  154. file mixes tab and space indentation (155 tab-indented and 16 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/max-classes-per-file"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  155. file mixes tab and space indentation (660 tab-indented and 80 space-indented lines) (raw pass, confidence 0.40)

    ruleTester.run("max-lines-per-function", rule, {
    	valid: [
    		// Test code in global scope doesn't count
    		{
  156. info whitespace-anomaly tests/lib/rules/max-params.js:13:1

    file mixes tab and space indentation (405 tab-indented and 26 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/max-params"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  157. file mixes tab and space indentation (575 tab-indented and 520 space-indented lines) (raw pass, confidence 0.40)

    ruleTester.run("multiline-comment-style", rule, {
    	valid: [
    		`
                /*
  158. info warn → info by review dynamic-import tests/lib/rules/new-parens.js:42:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(parser("typescript-parsers/new-parens")),
    			},
    		},
    likely benign LLM, confidence 0.95 Test case loading a TypeScript parser fixture via require(parser(...)).
    Reasoning

    The require call resolves a parser fixture path through a test helper, which is the normal way ESLint rule tests load alternate parsers. The file is a test suite, and no execution or exfiltration is visible.

  159. file mixes tab and space indentation (563 tab-indented and 30 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/newline-after-var"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  160. file mixes tab and space indentation (836 tab-indented and 135 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-array-constructor"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  161. file mixes tab and space indentation (236 tab-indented and 93 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-case-declarations"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  162. file mixes tab and space indentation (674 tab-indented and 3 space-indented lines) (raw pass, confidence 0.40)

    ruleTester.run("no-dupe-class-members", rule, {
    	valid: [
    		"class A { foo() {} bar() {} }",
    		"class A { static foo() {} foo() {} }",
  163. info whitespace-anomaly tests/lib/rules/no-else-return.js:13:1

    file mixes tab and space indentation (803 tab-indented and 13 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-else-return"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  164. file mixes tab and space indentation (6656 tab-indented and 8 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-extra-boolean-cast"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester"),
    	parser = require("../../fixtures/fixture-parser");
  165. info warn → info by review dynamic-import tests/lib/rules/no-extra-boolean-cast.js:5806:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser("typescript-parsers/boolean-cast-with-assertion"),
    				),
    likely benign LLM, confidence 0.95 Test case requiring a boolean-cast-with-assertion parser fixture.
    Reasoning

    This is a test-case parser option that loads a fixture parser through a helper. The dynamic specifier is a test-fixture lookup, not a payload loader.

  166. info whitespace-anomaly tests/lib/rules/no-extra-label.js:13:1

    file mixes tab and space indentation (291 tab-indented and 14 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-extra-label"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  167. info whitespace-anomaly tests/lib/rules/no-extra-parens.js:13:1

    file mixes tab and space indentation (3924 tab-indented and 84 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-extra-parens"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester"),
    	parser = require("../../fixtures/fixture-parser");
  168. info warn → info by review dynamic-import tests/lib/rules/no-extra-parens.js:1059:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser(
    						"typescript-parsers/member-call-expr-with-assertion",
    likely benign LLM, confidence 0.95 Test case requiring a member-call-expression parser fixture.
    Reasoning

    The require resolves a parser fixture name inside an ESLint rule test's languageOptions. This is standard test scaffolding.

  169. info whitespace-anomaly tests/lib/rules/no-fallthrough.js:13:1

    file mixes tab and space indentation (375 tab-indented and 120 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-fallthrough"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  170. file mixes tab and space indentation (193 tab-indented and 153 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-inline-comments"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  171. orphaned high surrogate \uD835 (no matching low surrogate) (token pass, confidence 0.65)

    		// ES2020
    		"new RegExp('(?<\\\\ud835\\\\udc9c>.)', 'g')",
    		"new RegExp('(?<\\\\u{1d49c}>.)', 'g')",
    		"new RegExp('(?<𝒜>.)', 'g');",
  172. orphaned low surrogate \uDC9C (no preceding high surrogate) (token pass, confidence 0.65)

    		// ES2020
    		"new RegExp('(?<\\\\ud835\\\\udc9c>.)', 'g')",
    		"new RegExp('(?<\\\\u{1d49c}>.)', 'g')",
    		"new RegExp('(?<𝒜>.)', 'g');",
  173. info whitespace-anomaly tests/lib/rules/no-invalid-this.js:24:1

    file mixes tab and space indentation (1158 tab-indented and 587 space-indented lines) (raw pass, confidence 0.40)

    function NORMAL() {
    	// do nothing.
    }
  174. info whitespace-anomaly tests/lib/rules/no-lone-blocks.js:13:1

    file mixes tab and space indentation (356 tab-indented and 149 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-lone-blocks"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester"),
    	parser = require("../../fixtures/fixture-parser");
  175. info warn → info by review dynamic-import tests/lib/rules/no-lone-blocks.js:127:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser("typescript-parsers/no-lone-blocks/using"),
    				),
    likely benign LLM, confidence 0.95 Test case requiring a no-lone-blocks 'using' parser fixture.
    Reasoning

    A parser fixture for a 'using' declaration is loaded through a test helper inside a rule test. No obfuscation or malicious behaviour is present.

  176. info warn → info by review dynamic-import tests/lib/rules/no-lone-blocks.js:145:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser("typescript-parsers/no-lone-blocks/await-using"),
    				),
    likely benign LLM, confidence 0.95 Test case requiring a no-lone-blocks 'await using' parser fixture.
    Reasoning

    Same pattern as the sibling finding: a test helper resolves a parser fixture for an await-using case. This is expected in ESLint's test suite.

  177. info whitespace-anomaly tests/lib/rules/no-loop-func.js:13:1

    file mixes tab and space indentation (664 tab-indented and 226 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-loop-func"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  178. file mixes tab and space indentation (2170 tab-indented and 30 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-magic-numbers"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  179. file mixes tab and space indentation (2080 tab-indented and 27 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-misleading-character-class"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  180. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		"var r = /[👍]/u",
    		"var r = /[\\uD83D\\uDC4D]/u",
    		"var r = /[\\u{1F44D}]/u",
    		"var r = /❇⟨U+FE0F⟩/",
  181. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    		"var r = /[👍]/u",
    		"var r = /[\\uD83D\\uDC4D]/u",
    		"var r = /[\\u{1F44D}]/u",
    		"var r = /❇⟨U+FE0F⟩/",
  182. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		// Ignore solo lead/tail surrogate.
    		"var r = /[\\uD83D]/",
    		"var r = /[\\uDC4D]/",
    		"var r = /[\\uD83D]/u",
  183. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    		"var r = /[\\uD83D]/",
    		"var r = /[\\uDC4D]/",
    		"var r = /[\\uD83D]/u",
    		"var r = /[\\uDC4D]/u",
  184. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		"var r = /[\\uDC4D]/",
    		"var r = /[\\uD83D]/u",
    		"var r = /[\\uDC4D]/u",
  185. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    		"var r = /[\\uD83D]/u",
    		"var r = /[\\uDC4D]/u",
    
    		// Ignore solo combining char.
  186. surrogate pair \uD83D\uDC4D (non-scalar Unicode codepoints in string literal) (token pass, confidence 0.70)

    		{
    			code: String.raw`/[\ud83d\udc4d]/`,
    			options: [{ allowEscape: true }],
    		},
  187. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: '/[\ud83d\\udc4d]/u // U+D83D + Backslash + "udc4d"',
    			options: [{ allowEscape: true }],
    		},
  188. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: '/[\ud83d\\udc4d]/u // U+D83D + Backslash + "udc4d"',
    			options: [{ allowEscape: true }],
    		},
  189. surrogate pair \uD83D\uDC4D (non-scalar Unicode codepoints in string literal) (token pass, confidence 0.70)

    		{
    			code: String.raw`RegExp("[\uD83D\uDC4D]")`,
    			options: [{ allowEscape: true }],
    		},
  190. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: 'RegExp(`[\\uD83D\\uDC4D]`) // Backslash + "uD83D" + Backslash + "uDC4D"',
    			options: [{ allowEscape: true }],
    		},
  191. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: 'RegExp(`[\\uD83D\\uDC4D]`) // Backslash + "uD83D" + Backslash + "uDC4D"',
    			options: [{ allowEscape: true }],
    		},
  192. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[\\uD83D\\uDC4D]/",
    			errors: [
    				{
  193. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[\\uD83D\\uDC4D]/",
    			errors: [
    				{
  194. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    							messageId: "suggestUnicodeFlag",
    							output: "var r = /[\\uD83D\\uDC4D]/u",
    						},
    					],
  195. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    							messageId: "suggestUnicodeFlag",
    							output: "var r = /[\\uD83D\\uDC4D]/u",
    						},
    					],
  196. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[\\uD83D\\uDC4D-\\uffff]/",
    			languageOptions: { ecmaVersion: 3, sourceType: "script" },
    			errors: [
  197. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[\\uD83D\\uDC4D-\\uffff]/",
    			languageOptions: { ecmaVersion: 3, sourceType: "script" },
    			errors: [
  198. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /before[\\uD83D\\uDC4D]after/",
    			errors: [
    				{
  199. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /before[\\uD83D\\uDC4D]after/",
    			errors: [
    				{
  200. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    							messageId: "suggestUnicodeFlag",
    							output: "var r = /before[\\uD83D\\uDC4D]after/u",
    						},
    					],
  201. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    							messageId: "suggestUnicodeFlag",
    							output: "var r = /before[\\uD83D\\uDC4D]after/u",
    						},
    					],
  202. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[before\\uD83D\\uDC4Dafter]/",
    			errors: [
    				{
  203. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[before\\uD83D\\uDC4Dafter]/",
    			errors: [
    				{
  204. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    							messageId: "suggestUnicodeFlag",
    							output: "var r = /[before\\uD83D\\uDC4Dafter]/u",
    						},
    					],
  205. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    							messageId: "suggestUnicodeFlag",
    							output: "var r = /[before\\uD83D\\uDC4Dafter]/u",
    						},
    					],
  206. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /\\uDC4D[\\uD83D\\uDC4D]/",
    			errors: [
    				{
  207. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /\\uDC4D[\\uD83D\\uDC4D]/",
    			errors: [
    				{
  208. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /\\uDC4D[\\uD83D\\uDC4D]/",
    			errors: [
    				{
  209. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    							messageId: "suggestUnicodeFlag",
    							output: "var r = /\\uDC4D[\\uD83D\\uDC4D]/u",
    						},
    					],
  210. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    							messageId: "suggestUnicodeFlag",
    							output: "var r = /\\uDC4D[\\uD83D\\uDC4D]/u",
    						},
    					],
  211. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    							messageId: "suggestUnicodeFlag",
    							output: "var r = /\\uDC4D[\\uD83D\\uDC4D]/u",
    						},
    					],
  212. orphaned high surrogate \uD83C (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[a\\uD83C\\uDFFB]/u",
    			errors: [
    				{
  213. orphaned low surrogate \uDFFB (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[a\\uD83C\\uDFFB]/u",
    			errors: [
    				{
  214. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[\\uD83D\\uDC76\\uD83C\\uDFFB]/u",
    			errors: [
    				{
  215. orphaned low surrogate \uDC76 (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[\\uD83D\\uDC76\\uD83C\\uDFFB]/u",
    			errors: [
    				{
  216. orphaned high surrogate \uD83C (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[\\uD83D\\uDC76\\uD83C\\uDFFB]/u",
    			errors: [
    				{
  217. orphaned low surrogate \uDFFB (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[\\uD83D\\uDC76\\uD83C\\uDFFB]/u",
    			errors: [
    				{
  218. orphaned high surrogate \uD83C (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[\\uD83C\\uDDEF\\uD83C\\uDDF5]/u",
    			errors: [
    				{
  219. orphaned low surrogate \uDDEF (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[\\uD83C\\uDDEF\\uD83C\\uDDF5]/u",
    			errors: [
    				{
  220. orphaned high surrogate \uD83C (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[\\uD83C\\uDDEF\\uD83C\\uDDF5]/u",
    			errors: [
    				{
  221. orphaned low surrogate \uDDF5 (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[\\uD83C\\uDDEF\\uD83C\\uDDF5]/u",
    			errors: [
    				{
  222. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[\\uD83D\\uDC68\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC66]/u",
    			errors: [
    				{
  223. orphaned low surrogate \uDC68 (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[\\uD83D\\uDC68\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC66]/u",
    			errors: [
    				{
  224. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[\\uD83D\\uDC68\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC66]/u",
    			errors: [
    				{
  225. orphaned low surrogate \uDC69 (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[\\uD83D\\uDC68\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC66]/u",
    			errors: [
    				{
  226. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[\\uD83D\\uDC68\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC66]/u",
    			errors: [
    				{
  227. orphaned low surrogate \uDC66 (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[\\uD83D\\uDC68\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC66]/u",
    			errors: [
    				{
  228. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[\\uD83D\\uDC68\\u200D\\uD83D\\uDC69]/u",
    			errors: [
    				{
  229. orphaned low surrogate \uDC68 (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[\\uD83D\\uDC68\\u200D\\uD83D\\uDC69]/u",
    			errors: [
    				{
  230. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[\\uD83D\\uDC68\\u200D\\uD83D\\uDC69]/u",
    			errors: [
    				{
  231. orphaned low surrogate \uDC69 (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: "var r = /[\\uD83D\\uDC68\\u200D\\uD83D\\uDC69]/u",
    			errors: [
    				{
  232. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`var r = RegExp("[\\uD83D\\uDC4D]", "")`,
    			errors: [
    				{
  233. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`var r = RegExp("[\\uD83D\\uDC4D]", "")`,
    			errors: [
    				{
  234. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    							messageId: "suggestUnicodeFlag",
    							output: String.raw`var r = RegExp("[\\uD83D\\uDC4D]", "u")`,
    						},
    					],
  235. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    							messageId: "suggestUnicodeFlag",
    							output: String.raw`var r = RegExp("[\\uD83D\\uDC4D]", "u")`,
    						},
    					],
  236. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`var r = RegExp("before[\\uD83D\\uDC4D]after", "")`,
    			errors: [
    				{
  237. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`var r = RegExp("before[\\uD83D\\uDC4D]after", "")`,
    			errors: [
    				{
  238. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    							messageId: "suggestUnicodeFlag",
    							output: String.raw`var r = RegExp("before[\\uD83D\\uDC4D]after", "u")`,
    						},
    					],
  239. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    							messageId: "suggestUnicodeFlag",
    							output: String.raw`var r = RegExp("before[\\uD83D\\uDC4D]after", "u")`,
    						},
    					],
  240. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`var r = RegExp("[before\\uD83D\\uDC4Dafter]", "")`,
    			errors: [
    				{
  241. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`var r = RegExp("[before\\uD83D\\uDC4Dafter]", "")`,
    			errors: [
    				{
  242. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    							messageId: "suggestUnicodeFlag",
    							output: String.raw`var r = RegExp("[before\\uD83D\\uDC4Dafter]", "u")`,
    						},
    					],
  243. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    							messageId: "suggestUnicodeFlag",
    							output: String.raw`var r = RegExp("[before\\uD83D\\uDC4Dafter]", "u")`,
    						},
    					],
  244. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`var r = new RegExp("\u1234[\\uD83D\\uDC4D]")`,
    			errors: [
    				{
  245. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`var r = new RegExp("\u1234[\\uD83D\\uDC4D]")`,
    			errors: [
    				{
  246. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    							messageId: "suggestUnicodeFlag",
    							output: String.raw`var r = new RegExp("\u1234[\\uD83D\\uDC4D]", "u")`,
    						},
    					],
  247. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    							messageId: "suggestUnicodeFlag",
    							output: String.raw`var r = new RegExp("\u1234[\\uD83D\\uDC4D]", "u")`,
    						},
    					],
  248. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`var r = new RegExp("[\\uD83D\\uDC76\\uD83C\\uDFFB]", "u")`,
    			errors: [
    				{
  249. orphaned low surrogate \uDC76 (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`var r = new RegExp("[\\uD83D\\uDC76\\uD83C\\uDFFB]", "u")`,
    			errors: [
    				{
  250. orphaned high surrogate \uD83C (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`var r = new RegExp("[\\uD83D\\uDC76\\uD83C\\uDFFB]", "u")`,
    			errors: [
    				{
  251. orphaned low surrogate \uDFFB (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`var r = new RegExp("[\\uD83D\\uDC76\\uD83C\\uDFFB]", "u")`,
    			errors: [
    				{
  252. orphaned high surrogate \uD83C (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`var r = new RegExp("[\\uD83C\\uDDEF\\uD83C\\uDDF5]", "u")`,
    			errors: [
    				{
  253. orphaned low surrogate \uDDEF (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`var r = new RegExp("[\\uD83C\\uDDEF\\uD83C\\uDDF5]", "u")`,
    			errors: [
    				{
  254. orphaned high surrogate \uD83C (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`var r = new RegExp("[\\uD83C\\uDDEF\\uD83C\\uDDF5]", "u")`,
    			errors: [
    				{
  255. orphaned low surrogate \uDDF5 (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`var r = new RegExp("[\\uD83C\\uDDEF\\uD83C\\uDDF5]", "u")`,
    			errors: [
    				{
  256. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`var r = new RegExp("[\\uD83D\\uDC68\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC66]", "u")`,
    			errors: [
    				{
  257. orphaned low surrogate \uDC68 (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`var r = new RegExp("[\\uD83D\\uDC68\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC66]", "u")`,
    			errors: [
    				{
  258. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`var r = new RegExp("[\\uD83D\\uDC68\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC66]", "u")`,
    			errors: [
    				{
  259. orphaned low surrogate \uDC69 (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`var r = new RegExp("[\\uD83D\\uDC68\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC66]", "u")`,
    			errors: [
    				{
  260. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`var r = new RegExp("[\\uD83D\\uDC68\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC66]", "u")`,
    			errors: [
    				{
  261. orphaned low surrogate \uDC66 (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`var r = new RegExp("[\\uD83D\\uDC68\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC66]", "u")`,
    			errors: [
    				{
  262. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`/[\ud83d\u{dc4d}]/u`,
    			errors: [
    				{
  263. orphaned low surrogate \uDC4D (no preceding high surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`/[\u{d83d}\udc4d]/u`,
    			errors: [
    				{
  264. orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

    		{
    			code: String.raw`/[\uD83D\u{DC4d}]/u`,
    			errors: [
    				{
  265. info whitespace-anomaly tests/lib/rules/no-new-object.js:13:1

    file mixes tab and space indentation (43 tab-indented and 11 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-new-object"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  266. info whitespace-anomaly tests/lib/rules/no-new-wrappers.js:13:1

    file mixes tab and space indentation (83 tab-indented and 22 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-new-wrappers"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  267. file mixes tab and space indentation (272 tab-indented and 116 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-object-constructor"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  268. file mixes tab and space indentation (4625 tab-indented and 12 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-restricted-imports"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  269. file mixes tab and space indentation (181 tab-indented and 22 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-return-assign"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  270. info whitespace-anomaly tests/lib/rules/no-return-await.js:25:1

    file mixes tab and space indentation (270 tab-indented and 168 space-indented lines) (raw pass, confidence 0.40)

    function createErrorList({ suggestionOutput: output } = {}) {
    	// pending https://github.com/eslint/espree/issues/304, the type should be "Keyword"
    	return [
    		{
  271. info whitespace-anomaly tests/lib/rules/no-shadow.js:13:1

    file mixes tab and space indentation (3479 tab-indented and 279 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-shadow"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester"),
    	globals = require("globals");
  272. file mixes tab and space indentation (280 tab-indented and 81 space-indented lines) (raw pass, confidence 0.40)

    ruleTester.run("no-this-before-super", rule, {
    	valid: [
    		/*
    		 * if the class has no extends or `extends null`, just ignore.
  273. file mixes tab and space indentation (350 tab-indented and 65 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-unexpected-multiline"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  274. file mixes tab and space indentation (465 tab-indented and 8 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-unneeded-ternary"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester"),
    	parser = require("../../fixtures/fixture-parser");
  275. info warn → info by review dynamic-import tests/lib/rules/no-unneeded-ternary.js:467:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser("typescript-parsers/unneeded-ternary-1"),
    				),
    likely benign LLM, confidence 0.95 Test case requiring an unneeded-ternary parser fixture.
    Reasoning

    The require loads a named parser fixture for a ternary test case. The dynamic path is a fixture lookup in a test file.

  276. info warn → info by review dynamic-import tests/lib/rules/no-unneeded-ternary.js:483:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser("typescript-parsers/unneeded-ternary-2"),
    				),
    likely benign LLM, confidence 0.95 Second unneeded-ternary test case requiring a parser fixture.
    Reasoning

    Same pattern as the other unneeded-ternary finding: a test-fixture parser is loaded via a helper, with no runtime or network behaviour.

  277. info whitespace-anomaly tests/lib/rules/no-unreachable.js:13:1

    file mixes tab and space indentation (613 tab-indented and 63 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-unreachable"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  278. file mixes tab and space indentation (302 tab-indented and 60 space-indented lines) (raw pass, confidence 0.40)

    const languageOptions = {
    	ecmaVersion: 2021,
    	sourceType: "module",
    };
  279. file mixes tab and space indentation (831 tab-indented and 28 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-unused-expressions"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  280. file mixes tab and space indentation (957 tab-indented and 303 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-unused-private-class-members"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  281. info whitespace-anomaly tests/lib/rules/no-unused-vars.js:13:1

    file mixes tab and space indentation (4916 tab-indented and 32 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-unused-vars"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  282. file mixes tab and space indentation (3336 tab-indented and 2 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-use-before-define"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  283. file mixes tab and space indentation (1045 tab-indented and 617 space-indented lines) (raw pass, confidence 0.40)

    const ruleTester = new RuleTester({
    	plugins: {
    		test: {
    			rules: {
  284. file mixes tab and space indentation (89 tab-indented and 108 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-useless-catch"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  285. file mixes tab and space indentation (459 tab-indented and 196 space-indented lines) (raw pass, confidence 0.40)

    const error = {
    	messageId: "noUselessConstructor",
    };
  286. file mixes tab and space indentation (184 tab-indented and 390 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/no-useless-return"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  287. file mixes tab and space indentation (212 tab-indented and 106 space-indented lines) (raw pass, confidence 0.40)

    ruleTester.run("nonblock-statement-body-position", rule, {
    	valid: [
    		// 'beside' option
    		"if (foo) bar;",
  288. info warn → info by review dynamic-import tests/lib/rules/object-curly-newline.js:64:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					resolvePath(
    						__dirname,
    likely benign LLM, confidence 0.94 Test case requiring a parser resolved relative to __dirname.
    Reasoning

    The require wraps resolvePath(__dirname, ...) to locate a parser inside the repository. Resolving relative to __dirname confines the lookup to the project tree, which is standard test setup.

  289. info warn → info by review dynamic-import tests/lib/rules/object-curly-newline.js:81:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					resolvePath(
    						__dirname,
    likely benign LLM, confidence 0.94 Test case requiring a repo-local parser via resolvePath.
    Reasoning

    A repo-local parser is resolved via resolvePath(__dirname, ...) inside a test case. This is ordinary test configuration.

  290. info warn → info by review dynamic-import tests/lib/rules/object-curly-newline.js:119:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					resolvePath(
    						__dirname,
    likely benign LLM, confidence 0.94 Test case requiring a local parser via resolvePath.
    Reasoning

    Parser loaded through resolvePath relative to __dirname in a rule test. No dynamic execution beyond module loading of a local fixture.

  291. info warn → info by review dynamic-import tests/lib/rules/object-curly-newline.js:131:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					resolvePath(
    						__dirname,
    likely benign LLM, confidence 0.94 Test case requiring a local parser via resolvePath.
    Reasoning

    Repo-local parser resolved via __dirname in an ESLint rule test. Same benign scaffolding.

  292. info warn → info by review dynamic-import tests/lib/rules/object-curly-newline.js:533:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					resolvePath(
    						__dirname,
    likely benign LLM, confidence 0.94 Test case requiring a local parser via resolvePath.
    Reasoning

    Parser module resolved relative to __dirname inside a test's languageOptions. Expected for ESLint tests.

  293. info warn → info by review dynamic-import tests/lib/rules/object-curly-newline.js:562:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					resolvePath(
    						__dirname,
    likely benign LLM, confidence 0.94 Test case requiring a local parser via resolvePath.
    Reasoning

    Local parser fixture loaded through resolvePath in a rule test. No suspicious behaviour is visible.

  294. info warn → info by review dynamic-import tests/lib/rules/object-curly-newline.js:688:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					resolvePath(
    						__dirname,
    likely benign LLM, confidence 0.94 Test case requiring a local parser via resolvePath.
    Reasoning

    Resolves a repo-local parser via __dirname inside a test case. This is ordinary test configuration.

  295. info warn → info by review dynamic-import tests/lib/rules/object-curly-newline.js:721:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					resolvePath(
    						__dirname,
    likely benign LLM, confidence 0.94 Test case requiring a local parser via resolvePath.
    Reasoning

    Repo-local parser resolved through __dirname within a test. Expected scaffolding for ESLint rule tests.

  296. info warn → info by review dynamic-import tests/lib/rules/object-curly-spacing.js:556:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					resolvePath(
    						__dirname,
    likely benign LLM, confidence 0.94 Test case requiring a local parser via resolvePath.
    Reasoning

    Parser resolved with resolvePath(__dirname, ...) in a test file. The lookup stays inside the repository.

  297. info warn → info by review dynamic-import tests/lib/rules/object-curly-spacing.js:1697:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					resolvePath(
    						__dirname,
    likely benign LLM, confidence 0.94 Test case requiring a local parser via resolvePath.
    Reasoning

    Local parser fixture loaded through __dirname-relative resolution in a test. No payload or network activity.

  298. file mixes tab and space indentation (1310 tab-indented and 169 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/object-shorthand"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    const { unIndent } = require("../../_utils");
  299. info unicode-mixed-script tests/lib/rules/object-shorthand.js:176:20

    identifier `𐐀Foo` mixes scripts: Other + Latin (in string/comment) (raw pass, confidence 0.40)

    		{
    			code: "var x = {𐐀Foo: function() {}}",
    			options: ["always", { ignoreConstructors: true }],
    		},
  300. file mixes tab and space indentation (5536 tab-indented and 26 space-indented lines) (raw pass, confidence 0.40)

    const ruleTester = new RuleTester({
    	languageOptions: { ecmaVersion: 2017, sourceType: "script" },
    });
  301. file mixes tab and space indentation (445 tab-indented and 56 space-indented lines) (raw pass, confidence 0.40)

    const errors = [
    	{
    		messageId: "preferArrowCallback",
    	},
  302. info whitespace-anomaly tests/lib/rules/prefer-const.js:13:1

    file mixes tab and space indentation (1049 tab-indented and 37 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/prefer-const"),
    	fixtureParser = require("../../fixtures/fixture-parser"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
  303. info warn → info by review dynamic-import tests/lib/rules/prefer-const.js:145:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					fixtureParser("babel-eslint5/destructuring-object-spread"),
    				),
    likely benign LLM, confidence 0.95 Test case requiring a babel-eslint fixture parser via fixtureParser.
    Reasoning

    fixtureParser(...) resolves a babel-eslint fixture name for a destructuring test. This is a legitimate parser-fixture lookup in a test suite.

  304. info warn → info by review dynamic-import tests/lib/rules/prefer-const.js:607:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					fixtureParser("babel-eslint5/destructuring-object-spread"),
    				),
    likely benign LLM, confidence 0.93 Test config requires a parser fixture chosen by a helper function.
    Reasoning

    Test fixture loading a parser module via a helper that builds a path from a fixture name; this is the standard ESLint test pattern for parser fixtures, not malicious.

  305. file mixes tab and space indentation (472 tab-indented and 3 space-indented lines) (raw pass, confidence 0.40)

    function invalid(code, output) {
    	return {
    		code,
    		output,
  306. info warn → info by review dynamic-import tests/lib/rules/prefer-exponentiation-operator.js:398:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser(
    						"typescript-parsers/exponentiation-with-assertion-1",
    likely benign LLM, confidence 0.93 Test requires a typescript parser fixture via a path helper.
    Reasoning

    Dynamic require of a parser fixture inside a unit test's languageOptions; the specifier is a fixed test name, consistent with ESLint test conventions.

  307. info warn → info by review dynamic-import tests/lib/rules/prefer-exponentiation-operator.js:414:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser(
    						"typescript-parsers/exponentiation-with-assertion-2",
    likely benign LLM, confidence 0.93 Test requires a typescript parser fixture via a path helper.
    Reasoning

    Same pattern as the other finding in this file: test fixture parser loaded with a computed fixture name.

  308. info warn → info by review dynamic-import tests/lib/rules/prefer-exponentiation-operator.js:430:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser(
    						"typescript-parsers/exponentiation-with-assertion-3",
    likely benign LLM, confidence 0.93 Test requires a typescript parser fixture via a path helper.
    Reasoning

    Same ESLint test-fixture parser loading pattern; no sign of attacker-controlled input.

  309. file mixes tab and space indentation (603 tab-indented and 17 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/prefer-named-capture-group"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  310. file mixes tab and space indentation (505 tab-indented and 4 space-indented lines) (raw pass, confidence 0.40)

    const languageOptions = {
    	ecmaVersion: 2022,
    };
  311. file mixes tab and space indentation (855 tab-indented and 196 space-indented lines) (raw pass, confidence 0.40)

    const languageOptions = {
    	ecmaVersion: 2018,
    	sourceType: "module",
    };
  312. file mixes tab and space indentation (120 tab-indented and 7 space-indented lines) (raw pass, confidence 0.40)

    const ruleTester = new RuleTester({
    	languageOptions: { ecmaVersion: 2022, sourceType: "script" },
    });
  313. compression ratio 0.862 is >2σ above file mean 0.643 (raw pass, confidence 0.50)

    		{
    			code: "RegExp(\"foo\") instanceof RegExp(String.raw`blahblah`, 'g') ? typeof new RegExp('(\\\\p{Emoji_Presentation})\\\\1', `ug`) : false",
    			errors: [
    				{
  314. info whitespace-anomaly tests/lib/rules/prefer-template.js:20:1

    file mixes tab and space indentation (433 tab-indented and 4 space-indented lines) (raw pass, confidence 0.40)

    const errors = [
    	{
    		messageId: "unexpectedStringConcatenation",
    	},
  315. file mixes tab and space indentation (1210 tab-indented and 234 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/preserve-caught-error"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  316. file mixes tab and space indentation (218 tab-indented and 199 space-indented lines) (raw pass, confidence 0.40)

    const ruleTester = new RuleTester({
    	languageOptions: { ecmaVersion: 2022, sourceType: "script" },
    });
  317. info whitespace-anomaly tests/lib/rules/require-await.js:13:1

    file mixes tab and space indentation (443 tab-indented and 43 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/require-await"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  318. info whitespace-anomaly tests/lib/rules/semi-style.js:13:1

    file mixes tab and space indentation (561 tab-indented and 151 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/semi-style"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  319. info whitespace-anomaly tests/lib/rules/semi.js:13:1

    file mixes tab and space indentation (2638 tab-indented and 328 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/semi"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  320. info whitespace-anomaly tests/lib/rules/sort-imports.js:13:1

    file mixes tab and space indentation (431 tab-indented and 18 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/sort-imports"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  321. info whitespace-anomaly tests/lib/rules/sort-keys.js:13:1

    file mixes tab and space indentation (2265 tab-indented and 190 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/sort-keys"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  322. info warn → info by review dynamic-import tests/lib/rules/space-before-blocks.js:649:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					fixtureParser(
    						"space-before-blocks",
    likely benign LLM, confidence 0.92 Test requires a parser fixture for space-before-blocks rule tests.
    Reasoning

    Test config loads a parser via a fixture helper with a static fixture name; typical ESLint test code.

  323. info warn → info by review dynamic-import tests/lib/rules/space-before-blocks.js:663:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					fixtureParser(
    						"space-before-blocks",
    likely benign LLM, confidence 0.92 Test requires a parser fixture for space-before-blocks rule tests.
    Reasoning

    Same fixture-parser loading pattern in the same test file.

  324. info warn → info by review dynamic-import tests/lib/rules/space-before-function-paren.js:119:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					baseParser("babel-eslint7", "function-type-annotation"),
    				),
    likely benign LLM, confidence 0.92 Test requires a babel parser fixture for function-paren spacing tests.
    Reasoning

    Test helper loads a babel-eslint parser fixture by name; benign test scaffolding.

  325. info warn → info by review dynamic-import tests/lib/rules/space-infix-ops.js:58:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    				ecmaVersion: 6,
    				parser: require(
    					parser(
    						"type-annotations/function-parameter-type-annotation",
    likely benign LLM, confidence 0.92 Test requires a type-annotation parser fixture.
    Reasoning

    Parser fixture loaded through a helper in a rule test; consistent with ESLint's test suite layout.

  326. info warn → info by review dynamic-import tests/lib/rules/space-infix-ops.js:69:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    				ecmaVersion: 6,
    				parser: require(
    					parser("type-annotations/function-return-type-annotation"),
    				),
    likely benign LLM, confidence 0.92 Test requires a return-type-annotation parser fixture.
    Reasoning

    Parser fixture loaded via helper with static name; benign test code.

  327. info warn → info by review dynamic-import tests/lib/rules/space-infix-ops.js:78:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    				ecmaVersion: 6,
    				parser: require(
    					parser(
    						"type-annotations/variable-declaration-init-type-annotation",
    likely benign LLM, confidence 0.92 Test requires a variable-declaration type-annotation parser fixture.
    Reasoning

    Same fixture-based parser loading in rule tests; no malicious indicators.

  328. info warn → info by review dynamic-import tests/lib/rules/space-infix-ops.js:89:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    				ecmaVersion: 6,
    				parser: require(
    					parser(
    						"type-annotations/function-expression-type-annotation",
    likely benign LLM, confidence 0.92 Test requires a function-expression type-annotation parser fixture.
    Reasoning

    Parser fixture loaded for a test case; benign test scaffolding.

  329. info warn → info by review dynamic-import tests/lib/rules/space-infix-ops.js:102:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    				ecmaVersion: 6,
    				parser: require(parser("typescript-parsers/type-alias")),
    			},
    		},
    likely benign LLM, confidence 0.93 Test requires a typescript type-alias parser fixture.
    Reasoning

    Static fixture parser require in a test config; benign.

  330. info warn → info by review dynamic-import tests/lib/rules/space-infix-ops.js:566:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			languageOptions: {
    				parser: require(
    					parser(
    						"type-annotations/variable-declaration-init-type-annotation-no-space",
    likely benign LLM, confidence 0.92 Test requires a no-space type-annotation parser fixture.
    Reasoning

    Parser fixture loaded through a test helper; benign ESLint test pattern.

  331. info warn → info by review dynamic-import tests/lib/rules/space-infix-ops.js:586:13

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    				ecmaVersion: 6,
    				parser: require(
    					parser(
    						"type-annotations/function-declaration-type-annotation-no-space",
    likely benign LLM, confidence 0.92 Test requires a function-declaration type-annotation parser fixture.
    Reasoning

    Parser fixture loaded for a declaration type-annotation test; benign.

  332. info whitespace-anomaly tests/lib/rules/use-isnan.js:13:1

    file mixes tab and space indentation (1736 tab-indented and 2 space-indented lines) (raw pass, confidence 0.40)

    const rule = require("../../../lib/rules/use-isnan"),
    	RuleTester = require("../../../lib/rule-tester/rule-tester");
    
    //------------------------------------------------------------------------------
  333. orphaned high surrogate \uD834 (no matching low surrogate) (token pass, confidence 0.65)

    				{ start: 1, source: "a" },
    				{ start: 2, source: "\ud834" },
    				{ start: 3, source: "\udd1e" },
    				{ start: 4, source: "z" },
  334. orphaned low surrogate \uDD1E (no preceding high surrogate) (token pass, confidence 0.65)

    				{ start: 2, source: "\ud834" },
    				{ start: 3, source: "\udd1e" },
    				{ start: 4, source: "z" },
    			],
  335. orphaned high surrogate \uD834 (no matching low surrogate) (token pass, confidence 0.65)

    				{ start: 1, source: "A" },
    				{ start: 2, source: "\ud834" },
    				{ start: 3, source: "\udd1e" },
    				{ start: 4, source: "Z" },
  336. orphaned low surrogate \uDD1E (no preceding high surrogate) (token pass, confidence 0.65)

    				{ start: 2, source: "\ud834" },
    				{ start: 3, source: "\udd1e" },
    				{ start: 4, source: "Z" },
    			],
  337. info whitespace-anomaly tests/lib/shared/runtime-info.js:32:1

    file mixes tab and space indentation (132 tab-indented and 53 space-indented lines) (raw pass, confidence 0.40)

    function setupSpawnSyncStubReturnVals(stub, returnVals) {
    	let stubChain = stub;
    
    	for (const [i, val] of returnVals.entries()) {
  338. info whitespace-anomaly tests/messages/messages.js:12:1

    file mixes tab and space indentation (497 tab-indented and 21 space-indented lines) (raw pass, confidence 0.40)

    function getMessage(templateName, messageData = {}) {
    	const template = require(`../../messages/${templateName}.js`);
    	return template(messageData);
    }
  339. info warn → info by review dynamic-import tests/messages/messages.js:12:19

    `require` called with a non-literal specifier (ast pass, confidence 0.80)

    function getMessage(templateName, messageData = {}) {
    	const template = require(`../../messages/${templateName}.js`);
    	return template(messageData);
    }
    likely benign LLM, confidence 0.90 Helper requires a message template file by name from the messages directory.
    Reasoning

    Loads message templates by name from the repo's messages directory; the name comes from internal test/code callers, not untrusted input, so this is a normal dynamic require.

  340. info whitespace-anomaly tests/performance/jshint.js:4:1

    file mixes tab and space indentation (13487 tab-indented and 1 space-indented lines) (raw pass, confidence 0.40)

    (function () {
    	var require;
    	require = (function (e, t, n) {
    		function i(n, s) {
  341. info critical → info by review dynamic-execution tests/performance/jshint.js:11981:19

    `Function(...)` called with a non-literal body (ast pass, confidence 0.75)

    								try {
    									render = new Function(
    										settings.variable || "obj",
    										"_",
    likely benign LLM, confidence 0.80 Vendored template compiler builds a function from a template body via the Function constructor.
    Reasoning

    This is a vendored copy of the jshint/lodash template engine, which uses new Function to compile templates; it is a known library pattern and the body comes from the library's own template code, not an attacker. Still a dynamic execution sink in a test performance fixture, so not fully certain.

  342. file mixes tab and space indentation (49 tab-indented and 30 space-indented lines) (raw pass, confidence 0.40)

    describe("reduceBadExampleSize()", () => {
    	it("extracts relevant part of deeply nested code", () => {
    		const initialCode = `
                if (true) {
  343. file mixes tab and space indentation (17 tab-indented and 13 space-indented lines) (raw pass, confidence 0.40)

    ruleTester.run("internal-rules/multiline-comment-style", rule, {
    	valid: [
    		`
                //----------------
  344. info warn → info by review dynamic-import tools/internal-rules/index.js:15:39

    `require` called with a non-literal specifier (ast pass, confidence 0.60)

    			.map(filename => ({
    				[filename.replace(/\.js$/u, "")]: require(
    					path.resolve(__dirname, filename),
    				),
    likely benign LLM, confidence 0.85 Internal rules loader requires each rule file found in its directory.
    Reasoning

    Build tool loads internal rule files from a directory listing with path.resolve against __dirname; the filenames come from the repo's own directory, so this is a normal dynamic require with no external input.

  345. info warn → info by review dynamic-import tools/test-ecosystem/data.mjs:56:41

    dynamic `import(...)` with a non-literal specifier (ast pass, confidence 0.65)

    	const { plugin: pluginRequested = "all" } = values;
    	const { default: pluginsData } = await import(pluginDataFilePath, {
    		with: { type: "json" },
    	});
    likely benign LLM, confidence 0.85 A test tooling script dynamically imports a JSON plugin data file whose path is computed locally.
    Reasoning

    The dynamic import uses a variable path (pluginDataFilePath) with a JSON import attribute, which is a common pattern for loading a local data file in a test-ecosystem tooling script. The surrounding code parses CLI values and loads plugin metadata for tests. Nothing in the snippet suggests remote code execution; the import is of a JSON file, which does not execute code. Residual doubt because the path origin is not shown.

  346. info whitespace-anomaly tools/update-eslint-all.js:22:1

    file mixes tab and space indentation (6 tab-indented and 2 space-indented lines) (raw pass, confidence 0.40)

    for (const [ruleId, rule] of builtInRules) {
    	if (!rule.meta.deprecated) {
    		allRules[ruleId] = "error";
    	}
  347. info whitespace-anomaly tools/update-eslint-recommended.js:22:1

    file mixes tab and space indentation (11 tab-indented and 2 space-indented lines) (raw pass, confidence 0.40)

    for (const [ruleId, rule] of builtInRules) {
    	if (!rule.meta.deprecated) {
    		if (rule.meta.docs.recommended === true) {
    			recommendedRule[ruleId] = "error";
  348. info whitespace-anomaly tools/update-readme.js:26:1

    file mixes tab and space indentation (31 tab-indented and 26 space-indented lines) (raw pass, confidence 0.40)

    const SPONSORS_URL =
    	"https://raw.githubusercontent.com/eslint/eslint.org/main/includes/sponsors.md";
    const TEAM_URL =
    	"https://raw.githubusercontent.com/eslint/eslint.org/main/src/_data/team.json";

Reproduce This Scan

Run disclude locally to verify. Add --format sarif for SARIF output. Add --llm (with an API key in the environment) to include the LLM review.

cargo install disclude --version 4.0.0
git clone https://github.com/eslint/eslint eslint && cd eslint
git checkout v10.13.0
disclude scan --severity info --diff v10.12.0 .