Skip to content

Docker image and @commitlint/config-nx-scopes #4427

@gperdomor

Description

@gperdomor

Steps to Reproduce

  1. Create a Gitlab CI job similar to this:
lint:commit: image: name: registry.hub.docker.com/commitlint/commitlint:19.8.1 entrypoint: [''] stage: affected script: - npm i -g nx@$(node -pe "require('./package.json').devDependencies.nx") - commitlint --from ${CI_MERGE_REQUEST_DIFF_BASE_SHA} --to ${CI_COMMIT_SHA} 
  1. And a config file like:
import nxScopes from '@commitlint/config-nx-scopes'; import { type UserConfig, RuleConfigSeverity } from '@commitlint/types'; const { utils } = nxScopes; const Configuration: UserConfig = { extends: ['@commitlint/config-conventional', '@commitlint/config-nx-scopes'], rules: { // @ts-expect-error nx-scopes is not typed 'scope-enum': async (ctx) => [ RuleConfigSeverity.Error, 'always', ['deps', 'release', ...(await utils.getProjects(ctx))], ], }, }; export default Configuration; 

Current Behavior

Basically the commitlint command fails with:

$ commitlint --from ${CI_MERGE_REQUEST_DIFF_BASE_SHA} --to ${CI_COMMIT_SHA} file:///usr/local/lib/node_modules/@commitlint/cli/lib/cli.js:132 throw err; ^ Error: Cannot find module '@commitlint/config-nx-scopes' Require stack: - /builds/flex/web/.commitlintrc.ts at Module._resolveFilename (node:internal/modules/cjs/loader:1140:15) at Function.resolve (node:internal/modules/helpers:188:19) at jitiResolve (/usr/local/lib/node_modules/@commitlint/load/node_modules/jiti/dist/jiti.cjs:1:187220) at jitiRequire (/usr/local/lib/node_modules/@commitlint/load/node_modules/jiti/dist/jiti.cjs:1:189288) at import (/usr/local/lib/node_modules/@commitlint/load/node_modules/jiti/dist/jiti.cjs:1:199778) at /builds/flex/web/.commitlintrc.ts:1:248 at eval_evalModule (/usr/local/lib/node_modules/@commitlint/load/node_modules/jiti/dist/jiti.cjs:1:196325) at jitiRequire (/usr/local/lib/node_modules/@commitlint/load/node_modules/jiti/dist/jiti.cjs:1:190233) at Function.import (/usr/local/lib/node_modules/@commitlint/load/node_modules/jiti/dist/jiti.cjs:1:199778) at file:///usr/local/lib/node_modules/@commitlint/load/node_modules/cosmiconfig-typescript-loader/dist/esm/loader.mjs:8:41 at tsLoader (file:///usr/local/lib/node_modules/@commitlint/load/lib/utils/load-config.js:13:16) at #loadConfiguration (/usr/local/lib/node_modules/@commitlint/load/node_modules/cosmiconfig/dist/Explorer.js:116:42) at #loadConfigFileWithImports (/usr/local/lib/node_modules/@commitlint/load/node_modules/cosmiconfig/dist/Explorer.js:87:[60](https://gitlab.falabella.tech/flex/web/-/jobs/44031672#L60)) at #readConfiguration (/usr/local/lib/node_modules/@commitlint/load/node_modules/cosmiconfig/dist/Explorer.js:84:88) at async search (/usr/local/lib/node_modules/@commitlint/load/node_modules/cosmiconfig/dist/Explorer.js:50:40) at async Explorer.search (/usr/local/lib/node_modules/@commitlint/load/node_modules/cosmiconfig/dist/Explorer.js:78:20) at async loadConfig (file:///usr/local/lib/node_modules/@commitlint/load/lib/utils/load-config.js:53:19) at async load (file:///usr/local/lib/node_modules/@commitlint/load/lib/load.js:24:20) at async main (file:///usr/local/lib/node_modules/@commitlint/cli/lib/cli.js:200:20) { name: '_TypeScriptCompileError', filepath: '/builds/flex/web/.commitlintrc.ts' } Node.js v18.20.8 

Expected Behavior

Should works without errors

Affected packages

  • cli
  • core
  • prompt
  • config-angular

Possible Solution

No response

Context

No response

commitlint --version

18.9.1

git --version

2.47.2 - In docker

node --version

18 - In docker

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