This is the API extractor powering jsDocs.io.
It downloads packages from the npm registry and analyzes them to extract their public API.
- Bun must be installed to resolve and install packages
- Explore the API on jsDocs.io
- View package contents on unpkg
- View repository on GitHub
- Read the changelog on GitHub
Warning
Analyzing packages is a blocking operation that requires some time, even seconds, to finish! Using workers is recommended.
- Analyze the latest version of the
preact
package from the npm registry:
import { extractPackageApi } from "@jsdocs-io/extractor";
(async () => {
const packageApi = await extractPackageApi({ pkg: "preact" });
console.log(JSON.stringify(packageApi, null, 2));
})();
- Analyze a specific subpath export, like
preact/hooks
:
import { extractPackageApi } from "@jsdocs-io/extractor";
(async () => {
const result = await extractPackageApi({ pkg: "preact", subpath: "hooks" });
console.log(JSON.stringify(packageApi, null, 2));
})();
AGPL-3.0-or-later
Copyright (C) 2024 Edoardo Scibona. See LICENSE.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.