Skip to content

@nx/eslint workspace-rule generator generates broken rule test #29252

@GeorgeKnap

Description

@GeorgeKnap

Current Behavior

In NX 20.2 (also in previous versions) scaffolded eslint rule doesn't scaffold runnable rule test. This is the error that it produces:

FAIL   eslint-rules  tools/eslint-rules/rules/foo.spec.ts
  foo
    valid
      × const example = true; (18 ms)
  ● foo › valid › const example = true;
    ConfigError: ESLint configuration in rule-tester is invalid: Config (unnamed): Key "parser": This appears to be in eslintrc format rather than flat config format.

      at rethrowConfigError (../../node_modules/@eslint/config-array/dist/cjs/index.cjs:328:8)
      at ../../node_modules/@eslint/config-array/dist/cjs/index.cjs:1174:5
          at Array.reduce (<anonymous>)
      at FlatConfigArray.getConfigWithStatus (../../node_modules/@eslint/config-array/dist/cjs/index.cjs:1167:43)
      at FlatConfigArray.getConfig (../../node_modules/@eslint/config-array/dist/cjs/index.cjs:1196:15)
      at runRuleForItem (../../node_modules/eslint/lib/rule-tester/rule-tester.js:807:25)
      at testValidTemplate (../../node_modules/eslint/lib/rule-tester/rule-tester.js:922:28)
      at Object.<anonymous> (../../node_modules/eslint/lib/rule-tester/rule-tester.js:1274:37)
    Cause:
    Key "parser": This appears to be in eslintrc format rather than flat config format.

      at ObjectSchema.validate (../../node_modules/@eslint/object-schema/dist/cjs/index.cjs:440:11)
      at ../../node_modules/@eslint/object-schema/dist/cjs/index.cjs:383:9
          at Array.reduce (<anonymous>)
      at ObjectSchema.merge (../../node_modules/@eslint/object-schema/dist/cjs/index.cjs:382:18)
      at ../../node_modules/@eslint/config-array/dist/cjs/index.cjs:1169:43
          at Array.reduce (<anonymous>)
      at FlatConfigArray.getConfigWithStatus (../../node_modules/@eslint/config-array/dist/cjs/index.cjs:1167:43)
      at FlatConfigArray.getConfig (../../node_modules/@eslint/config-array/dist/cjs/index.cjs:1196:15)
      at runRuleForItem (../../node_modules/eslint/lib/rule-tester/rule-tester.js:807:25)
      at testValidTemplate (../../node_modules/eslint/lib/rule-tester/rule-tester.js:922:28)
      at Object.<anonymous> (../../node_modules/eslint/lib/rule-tester/rule-tester.js:1274:37)
    Cause:
    This appears to be in eslintrc format rather than flat config format.

      at Object.validate (../../node_modules/eslint/lib/config/flat-config-schema.js:526:19)
      at ObjectSchema.validate (../../node_modules/@eslint/object-schema/dist/cjs/index.cjs:438:14)
      at ../../node_modules/@eslint/object-schema/dist/cjs/index.cjs:383:9
          at Array.reduce (<anonymous>)
      at ObjectSchema.merge (../../node_modules/@eslint/object-schema/dist/cjs/index.cjs:382:18)
      at ../../node_modules/@eslint/config-array/dist/cjs/index.cjs:1169:43
          at Array.reduce (<anonymous>)
      at FlatConfigArray.getConfigWithStatus (../../node_modules/@eslint/config-array/dist/cjs/index.cjs:1167:43)
      at FlatConfigArray.getConfig (../../node_modules/@eslint/config-array/dist/cjs/index.cjs:1196:15)
      at runRuleForItem (../../node_modules/eslint/lib/rule-tester/rule-tester.js:807:25)
      at testValidTemplate (../../node_modules/eslint/lib/rule-tester/rule-tester.js:922:28)
      at Object.<anonymous> (../../node_modules/eslint/lib/rule-tester/rule-tester.js:1274:37)
Test Suites: 1 failed, 1 total
Tests:       1 failed, 1 total
Snapshots:   0 total
Time:        2.809 s
Ran all test suites.

Expected Behavior

Working rule tests

GitHub Repo

No response

Steps to Reproduce

1.scaffold new NX repo
2. generate workspace eslint rule
3. run eslint-rule tests

Nx Report

NX   Report complete - copy this into the issue template

Node           : 22.10.0
OS             : win32-x64
Native Target  : x86_64-windows
npm            : 10.9.0

nx (global)        : 20.0.0
nx                 : 20.2.1
@nx/js             : 20.2.1
@nx/jest           : 20.2.1
@nx/eslint         : 20.2.1
@nx/workspace      : 20.2.1
@nx/angular        : 20.2.1
@nx/devkit         : 20.2.1
@nx/eslint-plugin  : 20.2.1
@nx/web            : 20.2.1
@nx/webpack        : 20.2.1
typescript         : 5.6.3
---------------------------------------
Community plugins:
angular-eslint : 19.0.1

Failure Logs

Package Manager Version

No response

Operating System

  • macOS
  • Linux
  • Windows
  • Other (Please specify)

Additional Information

No response

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions