xulin
v0.0.9
Published
Architecture test automation
Downloads
7
Maintainers
Readme
Xulin
Architecture test automation
Table of Contents
Getting Started
Install Xulin using npm
:
npm install --save-dev xulin
Add the following section to your package.json
:
{
"scripts": {
"test:arch": "xulin ."
}
}
Before running you must create the configuration file xulin.config.json
:
{
"rules": []
}
Finally, run npm run test:arch
and Xulin will print this message:
Check Suites: 0 failed, 0 skipped, 0 passed, 0 total.
Checks: 0 failed, 0 passed, 0 total.
Exec time: 00:00:00.001
Configuration
Rules
- Check if the files in a folder do not have dependencies on the specified directories:
{
"name": "no-dependencies",
"folder": "source/configs",
"folders": ["source/pages"]
}
- Check that folder names in a directory follow the specified folder name:
{
"name": "folder-name-in-folder",
"names": ["services", "pages", "config"],
"folder": "source"
}
- Check the maximum amount of files in a directory:
{
"name": "max-files-in-folder",
"quantity": 2,
"folder": "source/services"
}
- Check the maximum amount of folders in a directory:
{
"name": "max-folders-in-folder",
"quantity": 2,
"folder": "source/services"
}
- Check the length of filenames in a directory:
{
"name": "filename-size-in-folder",
"min": 3,
"max": 10,
"folder": "source"
}
- Check the length of folders names in a directory:
{
"name": "folder-name-size-in-folder",
"min": 3,
"max": 10,
"folder": "source"
}
- Check that files in a directory follow specified patterns:
{
"name": "filename-pattern-in-folder",
"patterns": ["*.ts"],
"folder": "source/services"
}
To skip a rule use the skip field:
{
"name": "filename-pattern-in-folder",
"patterns": ["*.ts"],
"folder": "source/services",
"skip": true
}
License
Xulin is MIT licensed.