You can use this package to validate that the filenames in your git repository meet your validation rules.
Current validation rules are camelCase
, PascalCase
, and ignore
.
yarn add @hollowverse/validate-filenames
In your package.json
{
"scripts": {
"validate-filenames": "validate-filenames"
}
}
In a git-managed repo run:
yarn validate-filenames
When you do that, the tool will retrieve a list of all the filenames under git control and will validate them based on the rules that you have in your config file.
You can configure validate-filenames by dropping a file called validateFilenames.json
or validateFilenames.js
at the root of your repo.
validate-filenames can be configured as follows
{
"rules": [
{
"validation": "camelCase",
"patterns": ["**/*"]
},
{
"validation": "ignore",
"patterns": [
"README.md",
"Dockerfile",
"LICENSE.md",
"customTypings/*",
"typings/*"
]
}
]
}
If you're using the js
version of the configurations, you need to export an object such as the above.
Notice that rules
is an array. Each item in the array is an object with two
properties: validation
and patterns
.
validation
can be one of three values: camelCase
, PascalCase
, or ignore
.
patterns
is an array of
glob patterns that tells
validate-filenames
that the validation rule applies to files that fall within
this glob pattern.
The order of the rules matter. The last rule wins. This allows us to have general rules and override those general rules with specific rules for specific paths. In the example above, we're saying all filenames within our repo should be camelCased except for certain files which should be ignored.