doctin
v1.0.0
Published
Tool that reduces generated ActionScript documentation (ASDOC) to a shallow abstract syntax tree (AST), in JSON format.
Downloads
2
Maintainers
Readme
doctin
(ActionScript) Documentation Thinner
doctin is a lightweight CLI tool that extracts a JSON-formatted abstract syntax tree (AST) from static HTML documentation generated by the ActionScript asdoc tool. It helps developers parse, audit, or auto-document large ActionScript codebases by reducing noisy HTML into structured, actionable data.
What It Does
- Parses
asdoc-generated documentation. - Extracts class metadata, properties, and methods.
- Includes visibility, type, modifiers, and documentation text.
- Generates:
- One JSON file per class.
- One
contentTree.jsonfor navigation/indexing.
Installation
To install globally:
npm install -g doctinUsage
node index.js <asdoc-folder> <astjson-folder> [--clean]Arguments:
| Argument | Description |
| ------------------ | ---------------------------------------- |
| <asdoc-folder> | Path to the folder generated by asdoc |
| <astjson-folder> | Path to output folder for JSON AST |
| --clean | Optional. Clears the output folder first |
Output Structure
The tool generates:
- One JSON file per class, e.g.:
~/my_ast_folder/org/bytearray/display/ScaleBitmap.jsoncontentTree.json— a lookup tree of all packages and classes:
{
"org.bytearray.display": {
"ScaleBitmap": "org/bytearray/display/ScaleBitmap.json"
}
}JSON Schema Overview
Each class JSON includes:
{
"name": "ScaleBitmap",
"package": "org.bytearray.display",
"inheritance": [],
"properties": [
{
"name": "bitmapData",
"type": "BitmapData",
"visibility": "public",
"modifiers": ["override", "write-only"],
"hasAsdoc": true,
"asdoc": "setter bitmapData"
}
],
"methods": [
{
"name": "setSize",
"returnType": "void",
"params": [{ "name": "w", "type": "Number" }],
"visibility": "public",
"hasAsdoc": true,
"asdoc": "setSize"
}
]
}This makes it ideal for:
- Re-generating docs in your own format.
- Writing linters or documentation audits.
- Feeding a local LLM for doc autocompletion.
Development
The codebase uses ES modules. Requires Node.js 18+.
Main files:
index.js— CLI entry point.parser.js— HTML parser logic.
Dependencies:
cheeriofor HTML parsing.fs-extrafor robust file I/O.
📄 License
MIT
Feedback
Issues and PRs welcome on GitHub.
