A simple module to extract architecture notes from your code.
To generate any project's architecture notes:
jsarch src/*.js > ARCHITECTURE.md
You can set your own configuration by adding a jsarch
property in your
package.json
file (see
the defaults).
For example, if you which to have TypeScript support and you use Gitlab instead of GitHub, just add this:
{
// (...)
"jsarch": {
"gitProvider": "bitbucket",
"parserOptions": {
"plugins": ["typescript"]
}
}
// (...)
}
Per default, the Babel parser is used, but you can change it with the parser
option. You'll have to install it before using it.
To get involved into this module's development:
npm i -g jsarch
git clone [email protected]:nfroidure/jsarch.git
cd jsarch
npm it
npm run build
node bin/jsarch **/*.js > ARCHITECTURE.md
You can see this repository architecture notes for an example of the kind of content generated by this module.
Declare jsArch in the dependency injection system
Kind: global function
Param | Type | Default | Description |
---|---|---|---|
services | Object |
Services (provided by the dependency injector) | |
services.CONFIG | Object |
The JSArch config | |
services.EOL | Object |
The OS EOL chars | |
services.glob | Object |
Globbing service | |
services.fs | Object |
File system service | |
services.parser | Object |
Parser service | |
[services.log] | Object |
noop |
Logging service |
Compile an run a template
Kind: inner method of initJSArch
Returns: Promise.<String>
- Computed architecture notes as a markdown file
Param | Type | Description |
---|---|---|
options | Object |
Options (destructured) |
options.cwd | Object |
Current working directory |
options.patterns | Object |
Patterns to look files for (see node-glob) |
options.eol | Object |
End of line character (default to the OS one) |
options.titleLevel | Object |
The base title level of the output makdown document |
options.base | Object |
The base directory for the ARCHITECTURE.md references |