Can't run commitlint on project with tsconfig.json
See original GitHub issueWhen running commitlint
on a typeScript project, I have an error because commitlint
use the project tsconfig.json
.
Expected Behavior
commitlint
should not use the project typeScript configuration.
Current Behavior
commitlint
produce the following traceback:
/usr/local/lib/node_modules/commitlint/node_modules/ts-node/src/index.ts:843
return new TSError(diagnosticText, diagnosticCodes, diagnostics);
^
TSError: ⨯ Unable to compile TypeScript:
error TS6053: File '@loopback/build/config/tsconfig.common.json' not found.
at createTSError (/usr/local/lib/node_modules/commitlint/node_modules/ts-node/src/index.ts:843:12)
at reportTSError (/usr/local/lib/node_modules/commitlint/node_modules/ts-node/src/index.ts:847:19)
at createFromPreloadedConfig (/usr/local/lib/node_modules/commitlint/node_modules/ts-node/src/index.ts:858:36)
at create (/usr/local/lib/node_modules/commitlint/node_modules/ts-node/src/index.ts:613:10)
at register (/usr/local/lib/node_modules/commitlint/node_modules/ts-node/src/index.ts:580:15)
at TypeScriptLoader (/usr/local/lib/node_modules/commitlint/node_modules/cosmiconfig-typescript-loader/dist/loader.js:7:51)
at loadConfig (/usr/local/lib/node_modules/commitlint/node_modules/@commitlint/load/src/utils/load-config.ts:35:27)
at load (/usr/local/lib/node_modules/commitlint/node_modules/@commitlint/load/src/load.ts:25:33)
at main (/usr/local/lib/node_modules/commitlint/node_modules/@commitlint/cli/src/cli.ts:199:27)
at processTicksAndRejections (node:internal/process/task_queues:95:5) {
diagnosticCodes: [ 6053 ]
}
Affected packages
- cli
- core
- prompt
- config-angular
Possible Solution
Steps to Reproduce (for bugs)
- clone the repository https://gitlab.mim-libre.fr/alphabet/laboite-blog-api.git
- execute
commitlint --from HEAD~2 --to HEAD
commitlint.config.js
module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
'body-max-line-length': [2, 'always', 120],
'footer-max-line-length': [2, 'always', 120],
'header-max-length': [2, 'always', 72],
},
};
Context
We upgraded our commitlint
container for our CI and now all typeScript project are failling.
Your Environment
Executable | Version |
---|---|
commitlint --version |
16.3.0 |
git --version |
2.36.1 |
node --version |
18.4.0 |
Issue Analytics
- State:
- Created a year ago
- Reactions:5
- Comments:7
Top Results From Across the Web
@threads/tsconfig - npm
Start using @threads/tsconfig in your project by running `npm i ... and add the following tsconfig.json in your project's root directory:.
Read more >Run a TypeScript type check in your pre-commit hook using ...
A great way to prevent TypeScript compilation errors from bringing down your CI pipelines is to introduce a type check before you commit ......
Read more >Error: TSError: Unable to compile TypeScript - Stack Overflow
I had met same issue. First I remove ts-node and typescript from package.json . then, npm install ts-node --save-dev npm install typescript ......
Read more >Setup pre-commit hooks with husky v6 + commitlint + lint-staged
json and write the following script pre-commit which runs the lint-staged in our project. package.json. "scripts": { ... "pre-commit" ...
Read more >Commitlint: Write more organized code - LogRocket Blog
Setting up Git hooks with commitlint. For commit message validations to run automatically on every Git commit command, we will use Husky, a...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
I managed to work around this issue by
cd /tmp
and executecommitlint --cwd /my/sources
It looks like yes, I’m not sure it’s a good idea for
commitlint
to load the project configuration but I don’t know how to prevent that.