Parse Electron docs in a lossless way into a JSON file
Перейти к файлу
dependabot[bot] 4782b1eb29
build(deps): bump cross-spawn from 7.0.3 to 7.0.6 (#128)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-18 18:30:49 -05:00
.circleci chore: bump electronjs/node to 2.3.1 (main) (#126) 2024-10-26 10:08:20 -04:00
.github build(deps): bump dsanders11/project-actions from 1.3.0 to 1.4.0 (#127) 2024-11-01 13:58:37 -07:00
.husky refactor: convert to ESM + update all dependencies (#120) 2024-09-23 10:52:13 -07:00
.vscode
src refactor: convert to ESM + update all dependencies (#120) 2024-09-23 10:52:13 -07:00
.gitattributes refactor: convert to ESM + update all dependencies (#120) 2024-09-23 10:52:13 -07:00
.gitignore
.prettierrc.json
.releaserc.json
LICENSE
README.md
jest.config.js refactor: convert to ESM + update all dependencies (#120) 2024-09-23 10:52:13 -07:00
jest.setup.js
package.json refactor: convert to ESM + update all dependencies (#120) 2024-09-23 10:52:13 -07:00
tsconfig.json refactor: convert to ESM + update all dependencies (#120) 2024-09-23 10:52:13 -07:00
yarn.lock build(deps): bump cross-spawn from 7.0.3 to 7.0.6 (#128) 2024-11-18 18:30:49 -05:00

README.md

Electron Docs Parser

CircleCI build status npm version

Generate a structured JSON API file from Electron's free-form documentation

Usage

yarn global add @electron/docs-parser
cd ~/projects/path/to/electron/repo
electron-docs-parser --dir ./

# You now have ./electron-api.json with the entire Electron API

Options:

  • --useReadme - Assume all documentation is in the module's base README.md file
  • --dir - The base directory where documentation is located.
    • API documentation must be located in /docs/api within the specified base directory.
    • API structures documentation must be located in /docs/api/structures within the specified base directory.
  • --packageMode - Can be single or multi; default single. Specifying multi allows exporting multiple packages from an API instead of multiple modules from a single package.

How it Works

We generate a markdown AST for every documentation file and search for "Modules", "Classes" and "Structures". We then use the well documented and enforced Electron docs style guide to pull the required information about methods, properties and events from the generated AST.

For more information you should start your code dive in DocsParser.ts and then probably block-parsers.ts.

TypeScript Definitions

The output of this module is used to generate TypeScript definitions for the Electron API. This module itself is not used to generate those definitions - @electron/typescript-definitions is.

Further, if you're looking for tooling that automatically surfaces typings in GitHub PRs, you're probably looking for Archaeologist.

License

MIT