-
Notifications
You must be signed in to change notification settings - Fork 955
Open
Labels
Description
Steps to Reproduce
1. Create this config file:
`.commitlintrc.ts`
import { RuleConfigSeverity } from '@commitlint/types';
import type { UserConfig } from '@commitlint/types';
export default {
extends: ['@commitlint/config-conventional'],
rules: {
'header-max-length': [RuleConfigSeverity.Error, 'always', 100],
},
} satisfies UserConfig;
2. Run commitlint with the provided pre-built Docker image from Docker Hub:
`docker run --rm -it -v $(pwd):/app -w /app commitlint/commitlint:20.4.1 --last`Current Behavior
Throws this error:
Error: Cannot find module '@commitlint/types'
Require stack:
- /app/.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 /app/.commitlintrc.ts:1:216
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)
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: '/app/.commitlintrc.ts'
Expected Behavior
Should work without errors.
Affected packages
- cli
- core
- prompt
- config-angular
Possible Solution
What I managed to figure out is that underlaying compiler that deals with TypeScript can't import @commitlint/types because it is installed globally. If it is installed locally it works well (we use commitlint also as a husky commit-msg hook and it works there without issues).
Context
No response
commitlint --version
20.4.0
git --version
2.39.2
node --version
18.x
Reactions are currently unavailable