Skip to content

Commit b195b15

Browse files
committed
fix(scripts/commit-msg): prevent commitlint from ever type-checking configuration
**@commitlint/cli** added support for TypeScript-based configurations via `ts-node`, and that has caused a good deal of grief: conventional-changelog/commitlint#3420 conventional-changelog/commitlint#3351 conventional-changelog/commitlint#3218 conventional-changelog/commitlint#3256 hoverinc/web-react#1792 Both because it's a heavy-ass dependency and because it requires configuration to work properly. It seems like project-local configuration can affect it's invocation of ts-node, which happens even JavaScript configuration files now?... lame. Anyways, this ensures we avoid any type-checking that happens in it's ts-node invocation until we get a better solution upstream (or contribute one). Ideally, installing ts-node would be opt-in etc.
1 parent 33c2fcd commit b195b15

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

3-
exports[`commit-msg adds env flag with HUSKY_GIT_PARAMS when available 1`] = `commitlint --env HUSKY_GIT_PARAMS --config ./src/config/commitlint.config.js`;
3+
exports[`commit-msg adds env flag with HUSKY_GIT_PARAMS when available 1`] = `TS_NODE_TRANSPILE_ONLY=true commitlint --env HUSKY_GIT_PARAMS --config ./src/config/commitlint.config.js`;
44

5-
exports[`commit-msg calls @commitlint/cli with default args 1`] = `commitlint --config ./src/config/commitlint.config.js --edit`;
5+
exports[`commit-msg calls @commitlint/cli with default args 1`] = `TS_NODE_TRANSPILE_ONLY=true commitlint --config ./src/config/commitlint.config.js --edit`;
66

7-
exports[`commit-msg defaults to \`--edit\` when no args are passed and HUSKY_GIT_PARAMS is not available 1`] = `commitlint --config ./src/config/commitlint.config.js --edit`;
7+
exports[`commit-msg defaults to \`--edit\` when no args are passed and HUSKY_GIT_PARAMS is not available 1`] = `TS_NODE_TRANSPILE_ONLY=true commitlint --config ./src/config/commitlint.config.js --edit`;
88

9-
exports[`commit-msg does not use built-in config with --config 1`] = `commitlint --config ./custom-config.js`;
9+
exports[`commit-msg does not use built-in config with --config 1`] = `TS_NODE_TRANSPILE_ONLY=true commitlint --config ./custom-config.js`;
1010

11-
exports[`commit-msg does not use built-in config with commitlint.config.js file 1`] = `commitlint --edit`;
11+
exports[`commit-msg does not use built-in config with commitlint.config.js file 1`] = `TS_NODE_TRANSPILE_ONLY=true commitlint --edit`;
1212

13-
exports[`commit-msg forwards args 1`] = `commitlint --config ./src/config/commitlint.config.js --edit .git/COMMIT_EDITMSG`;
13+
exports[`commit-msg forwards args 1`] = `TS_NODE_TRANSPILE_ONLY=true commitlint --config ./src/config/commitlint.config.js --edit .git/COMMIT_EDITMSG`;

src/scripts/commit-msg.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ const config = useBuiltinConfig
2222
: []
2323

2424
const result = spawn.sync(
25-
resolveBin('@commitlint/cli', {executable: 'commitlint'}),
25+
`TS_NODE_TRANSPILE_ONLY=true ${resolveBin('@commitlint/cli', {
26+
executable: 'commitlint',
27+
})}`,
2628
[...env, ...config, ...args, ...defaultEdit],
2729
{
2830
stdio: 'inherit',

0 commit comments

Comments
 (0)