Skip to content

Bug: possible regression of TypeOrValueSpecifier for scoped packages with restrict-template-expressions #10038

Open
@simon-v-swyftx

Description

@simon-v-swyftx

Before You File a Bug Report Please Confirm You Have Done The Following...

  • I have tried restarting my IDE and the issue persists.
  • I have updated to the latest version of the packages.
  • I have searched for related issues and found none that matched my issue.
  • I have read the FAQ and my problem is not listed.

Issue Description

I was using the new allow option for restrict-template-expressions that landed in 8.6.0

I expected that:

// packages/flat-config-typed-tsconfig/src/index.ts
import { Uuid } from '@company/core'

export class Service {
  public createPosition(
    id: Uuid,
  ): void {
    // Invalid type "Uuid" of template literal expression
    const a = `someUrl/${id}`;
                      //  ^ specifically not working when specifying package: @company/core
  }
}

does not report @typescript-eslint/restrict-template-expressions with the following config:

"@typescript-eslint/restrict-template-expressions": [
  "error",
  {
    allow: [
      // doesn't appear to be working
      {
        from: "package",
        name: "Uuid",
        package: "@company/core",
      },
    ],
  },
],

The uuid file in question exports a class with a custom .toString so I don't want it to error 🙂 See reproduction repo

Feels related to this old fix: #6780 but I might be barking up the wrong tree

Reproduction Repository Link

https://github.com/simon-v-swyftx/typescript-eslint-reproducable

Repro Steps

  1. clone the repo
  2. yarn install
  3. view packages/flat-config-typed-tsconfig/src/index.ts
  4. observe error on line 8

Versions

package version
@typescript-eslint/eslint-plugin 8.6.0
@typescript-eslint/parser 8.6.0
@typescript-eslint/scope-manager 8.6.0
@typescript-eslint/typescript-estree 8.6.0
@typescript-eslint/type-utils 8.6.0
@typescript-eslint/utils 8.6.0
TypeScript 5.6.2
ESLint 9.11.0
node 20.10.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    accepting prsGo ahead, send a pull request that resolves this issuebugSomething isn't workingpackage: type-utilsIssues related to the @typescript-eslint/type-utils package

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions