Generate architecture diagrams from the folder configuration of tslint-folders.
tslint-folders-diagrams is stable and in use every day in CI builds and on dev boxes (Linux, Mac, Windows) for at least one major product.
Automatically create up-to-date architecture diagrams from the same config as used by tslint-folders to validate the source code.
We use SemVer for versioning. For the versions available, see the tags on this repository.
yarn add tslint-folders-diagrams
Assuming that tslint.tslint-folders.json (from tslint-folders) has been correctly configured to model the expected package structure, then you can run this command to generate a summary:
node node_modules/tslint-folders-diagrams/dist/lib/tools/docsGenerator tslint.tslint-folders.json Text
example output:
package structure:
_____
shell - Application Shell
--> (any)
todo-area - TODO Area Package
--> grid-package, utils
folders:
components - components
--> (any)
viewmodels - view models
--> models, utils
models - models
--> utils
utils - utils
--> (none)
contact-area - Area that shows contact details
--> grid-package, utils
grid-package - Grid Package with no dependencies
--> (none)
utils - Utils package
--> (none)
_____
Allowed imports are shown for each package, after the -->
arrow.
A diagram can be automatically generated from the same config used to validated the code:
see generating diagrams for details.
site | URL |
---|---|
source code (github) | https://github.com/mrseanryan/tslint-folders-diagrams |
github page | https://mrseanryan.github.io/tslint-folders-diagrams/ |
npm | https://www.npmjs.com/package/tslint-folders-diagrams |
To work on the source code for tslint-folders-diagrams, there are a few scripts:
command | description |
---|---|
yarn build | Builds the tool to the 'dist' folder, where it can be executed. |
yarn docs | Generates a summary of the package structure described in tslint.json. |
yarn lint | Lints the source code of the rules. |
yarn start | Builds, tests and lints the code. |
see the contributing readme.
This project is based on the excellent seeder project typescript-library-starter.
The project was started to avoid having to repeatedly fix similar coding issues in large TypeScript code bases.
That's pretty much it. Let me know if this is useful or how it can be improved!
Original work by Sean Ryan - mr.sean.ryan(at gmail.com)
This project is licensed under the MIT License - see the LICENSE file for details
Generated using TypeDoc