You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Then running the command but additionally volume mount this config into the container: echo "foo" | docker run -i -v $(pwd)/commitlint.config.js:/commitlint.config.js commitlint/commitlint:latest
Result:
Run the same command: echo "foo" | docker run -i -v $(pwd)/commitlint.config.js:/commitlint.config.js commitlint/commitlint:latest
Result:
⧗ input: foo
✖ subject may not be empty [subject-empty]
✖ type may not be empty [type-empty]
✖ found 2 problems, 0 warnings
ⓘ Get help: https://github.com/conventional-changelog/commitlint/#what-is-commitlint
Which indicates that configuration style does work.
Additionally I've noticed that if you use another allowable config file name such as .commitlintrc rename the above working file to this. Change the docker run command to reference the new filename: echo "foo" | docker run -i -v $(pwd)/.commitlintrc:/.commitlintrc commitlint/commitlint:latest
Result: You get a massive YAMLException: YAML Error in /.commitlintrc
Current Behavior
No response
Expected Behavior
Reading through the documentation I maybe naively expected this would behave as the locally installed version, just being ran within a container.
As highlighted above it is my experience that it has some quite different behaviour whether intentional or not.
Is the difference intentional, or should the pre-built Dockerfile behave as if you had the npm packages installed locally?
Affected packages
cli
core
prompt
config-angular
Possible Solution
No response
Context
I am attempting to integrate a commitlint job within GitLab CI but the errors I've highlighted tripped me up and led me to investigate this in a bit more detail outside of that context.
I wanted to understand whether this was intentional, I'm doing something obviously wrong, or actually whether it is a bug and so I'm raising this to potentially highlight a yet undiscovered issue.
commitlint --version
19.6.0
git --version
2.47.1
node --version
18.20.5
The text was updated successfully, but these errors were encountered:
Switching to CJS format as I did in point 5. fixes the issue here, but also as I've got my package.json in this context I'm able to switch it to "type": "module" without changing to CJS to resolve this too.
However as I mention in the original description point 7. the same occurs here in this context.
Renaming the configuration to .commitlintrc whether using CJS or ESM module syntax results in a YAMLexception
file:///D:/commitlint-test/node_modules/@commitlint/cli/lib/cli.js:132
throw err;
^
YAMLException: YAML Error in D:\commitlint-test\.commitlintrc:
bad indentation of a mapping entry (1:65)
1 | ... mmitlint/config-conventional'] };
Making me think there's some internal difference to how it handles different configuration file names which isn't called out in the documentation. Or it's bug if they should all be handled the same way?
Steps to Reproduce
docker pull commitlint/commitlint:latest
Run the container providing a string to lint:
echo "foo" | docker run -i commitlint/commitlint:latest
Result:
Extending
@commitlint/config-conventional
in a file namedcommitlint.config.js
Okay so I add the simplest config:
Then running the command but additionally volume mount this config into the container:
echo "foo" | docker run -i -v $(pwd)/commitlint.config.js:/commitlint.config.js commitlint/commitlint:latest
Result:
Switch the configuration to CJS format:
Run the same command:
echo "foo" | docker run -i -v $(pwd)/commitlint.config.js:/commitlint.config.js commitlint/commitlint:latest
Result:
Which indicates that configuration style does work.
Additionally I've noticed that if you use another allowable config file name such as
.commitlintrc
rename the above working file to this. Change the docker run command to reference the new filename:echo "foo" | docker run -i -v $(pwd)/.commitlintrc:/.commitlintrc commitlint/commitlint:latest
Result: You get a massive
YAMLException: YAML Error in /.commitlintrc
Current Behavior
No response
Expected Behavior
Reading through the documentation I maybe naively expected this would behave as the locally installed version, just being ran within a container.
As highlighted above it is my experience that it has some quite different behaviour whether intentional or not.
Is the difference intentional, or should the pre-built Dockerfile behave as if you had the
npm
packages installed locally?Affected packages
Possible Solution
No response
Context
I am attempting to integrate a commitlint job within GitLab CI but the errors I've highlighted tripped me up and led me to investigate this in a bit more detail outside of that context.
I wanted to understand whether this was intentional, I'm doing something obviously wrong, or actually whether it is a bug and so I'm raising this to potentially highlight a yet undiscovered issue.
commitlint --version
19.6.0
git --version
2.47.1
node --version
18.20.5
The text was updated successfully, but these errors were encountered: