@microsoft/api-extractor
Version:
Analyze the exported API for a TypeScript library and generate reviews, documentation, and .d.ts rollups
63 lines • 2.42 kB
JavaScript
;
// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
// See LICENSE in the project root for license information.
Object.defineProperty(exports, "__esModule", { value: true });
exports.WorkingPackage = void 0;
/**
* Information about the working package for a particular invocation of API Extractor.
*
* @remarks
* API Extractor tries to model the world as a collection of NPM packages, such that each
* .d.ts file belongs to at most one package. When API Extractor is invoked on a project,
* we refer to that project as being the "working package". There is exactly one
* "working package" for the duration of this analysis. Any files that do not belong to
* the working package are referred to as "external": external declarations belonging to
* external packages.
*
* If API Extractor is invoked on a standalone .d.ts file, the "working package" may not
* have an actual package.json file on disk, but we still refer to it in concept.
*/
class WorkingPackage {
/**
* Returns the folder for the package.json file of the working package.
*
* @remarks
* If the entry point is `C:\Folder\project\src\index.ts` and the nearest package.json
* is `C:\Folder\project\package.json`, then the packageFolder is `C:\Folder\project`
*/
packageFolder;
/**
* The parsed package.json file for the working package.
*/
packageJson;
/**
* The entry point being processed during this invocation of API Extractor.
*
* @remarks
* The working package may have multiple entry points; however, today API Extractor
* only processes a single entry point during an invocation. This will be improved
* in the future.
*/
entryPointSourceFile;
/**
* The `@packageDocumentation` comment, if any, for the working package.
*/
tsdocComment;
/**
* Additional parser information for `WorkingPackage.tsdocComment`.
*/
tsdocParserContext;
constructor(options) {
this.packageFolder = options.packageFolder;
this.packageJson = options.packageJson;
this.entryPointSourceFile = options.entryPointSourceFile;
}
/**
* Returns the full name of the working package.
*/
get name() {
return this.packageJson.name;
}
}
exports.WorkingPackage = WorkingPackage;
//# sourceMappingURL=WorkingPackage.js.map