Skip to content

Bug: Error is thrown in 9.18.0 if unstable_ts_config flag is used #19337

Closed
@marcusrbrown

Description

@marcusrbrown

Environment

Node version: 22
npm version:
Local ESLint version: 9.18.0
Global ESLint version:
Operating System: Linux

What parser are you using?

Default (Espree)

What did you do?

Configuration
<!-- Paste your configuration here -->
<!-- Paste your code here -->

I use Renovate to manage dependencies across several projects. I have been using the unstable_ts_config flag to use eslint.config.ts files for config. While attempting to upgrade to 9.18.0 the Renovate process fails with the error given by ESLint

Command failed: pnpm run fix

Oops! Something went wrong! :(

ESLint: 9.18.0

Error: The flag 'unstable_ts_config' is inactive: This flag is no longer required to enable TypeScript configuration files.
    at /tmp/renovate/repos/github/bfra-me/renovate-action/node_modules/.pnpm/eslint@9.18.0_jiti@2.4.2/node_modules/eslint/lib/linter/linter.js:1269:23
    at Array.forEach (<anonymous>)
    at new Linter (/tmp/renovate/repos/github/bfra-me/renovate-action/node_modules/.pnpm/eslint@9.18.0_jiti@2.4.2/node_modules/eslint/lib/linter/linter.js:1267:15)
    at new ESLint (/tmp/renovate/repos/github/bfra-me/renovate-action/node_modules/.pnpm/eslint@9.18.0_jiti@2.4.2/node_modules/eslint/lib/eslint/eslint.js:448:24)
    at Object.execute (/tmp/renovate/repos/github/bfra-me/renovate-action/node_modules/.pnpm/eslint@9.18.0_jiti@2.4.2/node_modules/eslint/lib/cli.js:486:24)
    at async main (/tmp/renovate/repos/github/bfra-me/renovate-action/node_modules/.pnpm/eslint@9.18.0_jiti@2.4.2/node_modules/eslint/bin/eslint.js:158:22)

You can see the failed job on this PR: bfra-me/renovate-action#1612

What did you expect to happen?

I expected a deprecation warning instead of an error.

What actually happened?

Command failed: pnpm run fix

Oops! Something went wrong! :(

ESLint: 9.18.0

Error: The flag 'unstable_ts_config' is inactive: This flag is no longer required to enable TypeScript configuration files.
    at /tmp/renovate/repos/github/bfra-me/renovate-action/node_modules/.pnpm/eslint@9.18.0_jiti@2.4.2/node_modules/eslint/lib/linter/linter.js:1269:23
    at Array.forEach (<anonymous>)
    at new Linter (/tmp/renovate/repos/github/bfra-me/renovate-action/node_modules/.pnpm/eslint@9.18.0_jiti@2.4.2/node_modules/eslint/lib/linter/linter.js:1267:15)
    at new ESLint (/tmp/renovate/repos/github/bfra-me/renovate-action/node_modules/.pnpm/eslint@9.18.0_jiti@2.4.2/node_modules/eslint/lib/eslint/eslint.js:448:24)
    at Object.execute (/tmp/renovate/repos/github/bfra-me/renovate-action/node_modules/.pnpm/eslint@9.18.0_jiti@2.4.2/node_modules/eslint/lib/cli.js:486:24)
    at async main (/tmp/renovate/repos/github/bfra-me/renovate-action/node_modules/.pnpm/eslint@9.18.0_jiti@2.4.2/node_modules/eslint/bin/eslint.js:158:22)

Link to Minimal Reproducible Example

https://github.com/bfra-me/renovate-action/tree/renovate/eslint-monorepo

Participation

  • I am willing to submit a pull request for this issue.

Additional comments

I understand the flag is marked "unstable" and no longer needed after 9.18.0. However, throwing an error is a breaking change, as I expect to see a deprecation warning and the flag removed in the next major ESLint version.

Metadata

Metadata

Assignees

Labels

acceptedThere is consensus among the team that this change meets the criteria for inclusionrepro:yesIssues with a reproducible example

Type

No type

Projects

Status

Complete

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    pFad - Phonifier reborn

    Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

    Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


    Alternative Proxies:

    Alternative Proxy

    pFad Proxy

    pFad v3 Proxy

    pFad v4 Proxy