Skip to content

Typescript support for '@commitlint/config-pnpm-scopes' #4536

@maxdzin

Description

@maxdzin

Steps to Reproduce

  1. Install
    pnpm add -d @commitlint/cli @commitlint/config-conventional @commitlint/config-pnpm-scopes @commitlint/cz-commitlint @commitlint/types
  2. Create commitlint.config.ts:
    import scopes from '@commitlint/config-pnpm-scopes' import type { UserConfig } from '@commitlint/types' import { RuleConfigSeverity } from '@commitlint/types' const Configuration: UserConfig = { extends: [ '@commitlint/config-conventional', '@commitlint/config-pnpm-scopes', ], rules: { 'type-enum': [ RuleConfigSeverity.Error, 'always', [ 'build', 'chore', 'ci', 'docs', 'feat', 'fix', 'perf', 'refactor', 'revert', 'style', 'test', ], ], // @ts-expect-error Context is missing in declaration of config-pnpm-scopes 'scope-enum': async (ctx) => { const scopeEnum = await scopes.rules['scope-enum'](ctx) return [ scopeEnum[0], scopeEnum[1], [ ...scopeEnum[2], 'workspace', // for project workspace related changes 'workflows', // for project github workflows actions related changes 'deps', // for Dependabot or Renovate - dependency updates 'dev-deps', // for Dependabot or Renovate - dev dependency updates 'release', // for release commits ], ] }, }, ignores: [(commit) => /^Bumps \[.+\]\(.+\) from .+ to .+\.$/m.test(commit)], prompt: { settings: { enableMultipleScopes: true, }, }, } export default Configuration

See TS error for the first line:

Could not find a declaration file for module '@commitlint/config-pnpm-scopes'. 

Current Behavior

When defining config as a TS file, it is impossible to use @commitlint/config-pnpm-scopes because it lacks TS support.

Expected Behavior

Since it is possible to define commitlint in TS nowadays, its additional tools (like '@commitlint/config-pnpm-scopes') require TS support too.

Affected packages

  • cli
  • core
  • prompt
  • config-angular

Possible Solution

No response

Context

No response

commitlint --version

@commitlint/cli@19.8.1

git --version

2.51.0

node --version

v22.18.0

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions