{"id":15570002,"url":"https://github.com/nfroidure/jsarch","last_synced_at":"2025-08-20T01:31:25.785Z","repository":{"id":45127049,"uuid":"83281565","full_name":"nfroidure/jsarch","owner":"nfroidure","description":"A simple module to extract architecture notes from your code.","archived":false,"fork":false,"pushed_at":"2024-12-04T10:46:01.000Z","size":2859,"stargazers_count":25,"open_issues_count":9,"forks_count":4,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-12-04T11:34:30.478Z","etag":null,"topics":["documentation","hacktoberfest","javascript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nfroidure.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["nfroidure"]}},"created_at":"2017-02-27T07:32:18.000Z","updated_at":"2024-12-04T10:46:03.000Z","dependencies_parsed_at":"2024-06-18T20:59:50.169Z","dependency_job_id":"ac7907dc-8aec-4cca-b744-6f292a4199c3","html_url":"https://github.com/nfroidure/jsarch","commit_stats":{"total_commits":80,"total_committers":4,"mean_commits":20.0,"dds":0.525,"last_synced_commit":"545e4fda210f5368fd36a209e46f400e573ae0ee"},"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfroidure%2Fjsarch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfroidure%2Fjsarch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfroidure%2Fjsarch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfroidure%2Fjsarch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nfroidure","download_url":"https://codeload.github.com/nfroidure/jsarch/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230382858,"owners_count":18216854,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["documentation","hacktoberfest","javascript"],"created_at":"2024-10-02T17:40:48.829Z","updated_at":"2024-12-19T05:07:32.032Z","avatar_url":"https://github.com/nfroidure.png","language":"TypeScript","funding_links":["https://github.com/sponsors/nfroidure"],"categories":[],"sub_categories":[],"readme":"[//]: # ( )\n[//]: # (This file is automatically generated by a `metapak`)\n[//]: # (module. Do not change it  except between the)\n[//]: # (`content:start/end` flags, your changes would)\n[//]: # (be overridden.)\n[//]: # ( )\n# jsarch\n\u003e A simple module to extract architecture notes from your code.\n\n[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/nfroidure/jsarch/blob/main/LICENSE)\n\n\n[//]: # (::contents:start)\n\n## Usage\n\nTo generate any project's architecture notes:\n\n```\njsarch src/*.js \u003e ARCHITECTURE.md\n\n```\n\n### Configuration\n\nYou can set your own configuration by adding a `jsarch` property in your\n`package.json` file (see\n[the defaults](https://github.com/nfroidure/jsarch/blob/master/src/jsarch.js#L20-L36)).\n\nFor example, if you which to have TypeScript support and you use Gitlab instead\nof GitHub, just add this:\n\n```js\n{\n    // (...)\n    \"jsarch\": {\n        \"gitProvider\": \"bitbucket\",\n        \"parserOptions\": {\n          \"plugins\": [\"typescript\"]\n        }\n    }\n    // (...)\n}\n```\n\nPer default, the Babel parser is used, but you can change it with the `parser`\noption. You'll have to install it before using it.\n\n## Development\n\nTo get involved into this module's development:\n```sh\nnpm i -g jsarch\n\ngit clone git@github.com:nfroidure/jsarch.git\n\ncd jsarch\n\nnpm it\nnpm run build\n\nnode bin/jsarch **/*.js \u003e ARCHITECTURE.md\n```\n\n## Architecture Notes\n\nYou can see [this repository architecture notes](./ARCHITECTURE.md) for an\nexample of the kind of content generated by this module.\n\n\n[//]: # (::contents:end)\n\n# API\n\u003ca name=\"initJSArch\"\u003e\u003c/a\u003e\n\n## initJSArch(services) ⇒ \u003ccode\u003ePromise.\u0026lt;function()\u0026gt;\u003c/code\u003e\nDeclare jsArch in the dependency injection system\n\n**Kind**: global function  \n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| services | \u003ccode\u003eObject\u003c/code\u003e |  | Services (provided by the dependency injector) |\n| services.CONFIG | \u003ccode\u003eObject\u003c/code\u003e |  | The JSArch config |\n| services.EOL | \u003ccode\u003eObject\u003c/code\u003e |  | The OS EOL chars |\n| services.glob | \u003ccode\u003eObject\u003c/code\u003e |  | Globbing service |\n| services.fs | \u003ccode\u003eObject\u003c/code\u003e |  | File system service |\n| services.parser | \u003ccode\u003eObject\u003c/code\u003e |  | Parser service |\n| [services.log] | \u003ccode\u003eObject\u003c/code\u003e | \u003ccode\u003enoop\u003c/code\u003e | Logging service |\n\n\u003ca name=\"initJSArch..jsArch\"\u003e\u003c/a\u003e\n\n### initJSArch~jsArch(options) ⇒ \u003ccode\u003ePromise.\u0026lt;String\u0026gt;\u003c/code\u003e\nCompile an run a template\n\n**Kind**: inner method of [\u003ccode\u003einitJSArch\u003c/code\u003e](#initJSArch)  \n**Returns**: \u003ccode\u003ePromise.\u0026lt;String\u0026gt;\u003c/code\u003e - Computed architecture notes as a markdown file  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| options | \u003ccode\u003eObject\u003c/code\u003e | Options (destructured) |\n| options.cwd | \u003ccode\u003eObject\u003c/code\u003e | Current working directory |\n| options.patterns | \u003ccode\u003eObject\u003c/code\u003e | Patterns to look files for (see node-glob) |\n| options.eol | \u003ccode\u003eObject\u003c/code\u003e | End of line character (default to the OS one) |\n| options.titleLevel | \u003ccode\u003eObject\u003c/code\u003e | The base title level of the output makdown document |\n| options.base | \u003ccode\u003eObject\u003c/code\u003e | The base directory for the ARCHITECTURE.md references |\n\n\n# Authors\n- [Nicolas Froidure](http://insertafter.com/en/index.html)\n\n\n# License\n[MIT](https://github.com/nfroidure/jsarch/blob/main/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnfroidure%2Fjsarch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnfroidure%2Fjsarch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnfroidure%2Fjsarch/lists"}