Skip to content

Latest commit

 

History

History
114 lines (80 loc) · 3.21 KB

README.md

File metadata and controls

114 lines (80 loc) · 3.21 KB

jsarch

A simple module to extract architecture notes from your code.

GitHub license

Usage

To generate any project's architecture notes:

jsarch src/*.js > ARCHITECTURE.md

Configuration

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.

Development

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

Architecture Notes

You can see this repository architecture notes for an example of the kind of content generated by this module.

API

initJSArch(services) ⇒ Promise.<function()>

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

initJSArch~jsArch(options) ⇒ Promise.<String>

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

Authors

License

MIT