Content-Length: 306858 | pFad | https://github.com/typescript-eslint/typescript-eslint/issues/9986

73 Enhancement: [consistent-type-exports] Check * exports to see if all exported values are types · Issue #9986 · typescript-eslint/typescript-eslint · GitHub
Skip to content

Enhancement: [consistent-type-exports] Check * exports to see if all exported values are types #9986

@NotWoods

Description

@NotWoods

Before You File a Proposal Please Confirm You Have Done The Following...

My proposal is suitable for this project

  • I believe my proposal would be useful to the broader TypeScript community (meaning it is not a niche proposal).

Link to the rule's documentation

https://typescript-eslint.io/rules/consistent-type-exports/

Description

Currently, consistent-type-exports only checked named exports and re-exports. However, sometimes we might write a file that only contains types & interfaces. It would be good to enforce using export type * instead of export * if all the exports are types.

Fail

// Component.props.ts
export interface Props {}

// Component.ts
export function Component(props: Props) {}

// index.ts
export * from './Component.props'
export * from './Component'

Pass

// Component.props.ts
export interface Props {}

// Component.ts
export function Component(props: Props) {}

// index.ts
export type * from './Component.props' // changed
export * from './Component'

Additional Info

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    accepting prsGo ahead, send a pull request that resolves this issueenhancement: plugin rule optionNew rule option for an existing eslint-plugin rulelocked due to agePlease open a new issue if you'd like to say more. See https://typescript-eslint.io/contributing.package: eslint-pluginIssues related to @typescript-eslint/eslint-plugin

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions









      ApplySandwichStrip

      pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


      --- a PPN by Garber Painting Akron. With Image Size Reduction included!

      Fetched URL: https://github.com/typescript-eslint/typescript-eslint/issues/9986

      Alternative Proxies:

      Alternative Proxy

      pFad Proxy

      pFad v3 Proxy

      pFad v4 Proxy