X Tutup
Skip to content

Commit d2eaba9

Browse files
committed
Update API Extractor to accept package.json files that are missing their "version" field
1 parent 1446574 commit d2eaba9

File tree

5 files changed

+18
-16
lines changed

5 files changed

+18
-16
lines changed

apps/api-extractor/src/analyzer/PackageMetadataManager.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ import * as path from 'path';
55

66
import {
77
PackageJsonLookup,
8-
IPackageJson,
98
FileSystem,
109
JsonFile,
11-
NewlineKind
10+
NewlineKind,
11+
INodePackageJson
1212
} from '@microsoft/node-core-library';
1313
import { Extractor } from '../api/Extractor';
1414
import { ILogger } from '../api/ILogger';
@@ -26,14 +26,14 @@ export class PackageMetadata {
2626
* The parsed contents of package.json. Note that PackageJsonLookup
2727
* only includes essential fields.
2828
*/
29-
public readonly packageJson: IPackageJson;
29+
public readonly packageJson: INodePackageJson;
3030
/**
3131
* If true, then the package's documentation comments can be assumed
3232
* to contain API Extractor compatible TSDoc tags.
3333
*/
3434
public readonly aedocSupported: boolean;
3535

36-
public constructor(packageJsonPath: string, packageJson: IPackageJson, aedocSupported: boolean) {
36+
public constructor(packageJsonPath: string, packageJson: INodePackageJson, aedocSupported: boolean) {
3737
this.packageJsonPath = packageJsonPath;
3838
this.packageJson = packageJson;
3939
this.aedocSupported = aedocSupported;
@@ -63,7 +63,9 @@ export class PackageMetadataManager {
6363

6464
// This feature is still being standardized: https://github.com/Microsoft/tsdoc/issues/7
6565
// In the future we will use the @microsoft/tsdoc library to read this file.
66-
private static _resolveTsdocMetadataPathFromPackageJson(packageFolder: string, packageJson: IPackageJson): string {
66+
private static _resolveTsdocMetadataPathFromPackageJson(packageFolder: string,
67+
packageJson: INodePackageJson): string {
68+
6769
const tsdocMetadataFilename: string = PackageMetadataManager.tsdocMetadataFilename;
6870

6971
let tsdocMetadataRelativePath: string;
@@ -108,7 +110,7 @@ export class PackageMetadataManager {
108110
*/
109111
public static resolveTsdocMetadataPath(
110112
packageFolder: string,
111-
packageJson: IPackageJson,
113+
packageJson: INodePackageJson,
112114
tsdocMetadataPath?: string
113115
): string {
114116
if (tsdocMetadataPath) {
@@ -165,7 +167,7 @@ export class PackageMetadataManager {
165167
= this._packageMetadataByPackageJsonPath.get(packageJsonFilePath);
166168

167169
if (!packageMetadata) {
168-
const packageJson: IPackageJson = this._packageJsonLookup.loadPackageJson(packageJsonFilePath);
170+
const packageJson: INodePackageJson = this._packageJsonLookup.loadNodePackageJson(packageJsonFilePath);
169171

170172
const packageJsonFolder: string = path.dirname(packageJsonFilePath);
171173

apps/api-extractor/src/analyzer/test/PackageMetadataManager.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
import * as path from 'path';
33
import { PackageMetadataManager } from '../PackageMetadataManager';
4-
import { FileSystem, PackageJsonLookup, IPackageJson } from '@microsoft/node-core-library';
4+
import { FileSystem, PackageJsonLookup, INodePackageJson } from '@microsoft/node-core-library';
55

66
/* tslint:disable:typedef */
77

@@ -123,9 +123,9 @@ function resolveInTestPackage(testPackageName: string, ...args: string[]): strin
123123
return path.resolve(__dirname, 'test-data/tsdoc-metadata-path-inference', testPackageName, ...args);
124124
}
125125

126-
function getPackageMetadata(testPackageName: string): { packageFolder: string, packageJson: IPackageJson } {
126+
function getPackageMetadata(testPackageName: string): { packageFolder: string, packageJson: INodePackageJson } {
127127
const packageFolder: string = resolveInTestPackage(testPackageName);
128-
const packageJson: IPackageJson | undefined = packageJsonLookup.tryLoadPackageJsonFor(packageFolder);
128+
const packageJson: INodePackageJson | undefined = packageJsonLookup.tryLoadPackageJsonFor(packageFolder);
129129
if (!packageJson) {
130130
throw new Error('There should be a package.json file in the test package');
131131
}

apps/api-extractor/src/collector/Collector.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import * as ts from 'typescript';
55
import * as tsdoc from '@microsoft/tsdoc';
66
import {
77
PackageJsonLookup,
8-
IPackageJson,
8+
INodePackageJson,
99
Sort,
1010
InternalError
1111
} from '@microsoft/node-core-library';
@@ -112,7 +112,7 @@ export class Collector {
112112
throw new Error('Unable to find a package.json for entry point: ' + options.entryPointFile);
113113
}
114114

115-
const packageJson: IPackageJson = this.packageJsonLookup.tryLoadPackageJsonFor(packageFolder)!;
115+
const packageJson: INodePackageJson = this.packageJsonLookup.tryLoadNodePackageJsonFor(packageFolder)!;
116116

117117
const entryPointSourceFile: ts.SourceFile | undefined = options.program.getSourceFile(options.entryPointFile);
118118
if (!entryPointSourceFile) {

apps/api-extractor/src/collector/WorkingPackage.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ import * as ts from 'typescript';
55
import * as tsdoc from '@microsoft/tsdoc';
66

77
import {
8-
IPackageJson
8+
INodePackageJson
99
} from '@microsoft/node-core-library';
1010

1111
/**
1212
* Constructor options for WorkingPackage
1313
*/
1414
export interface IWorkingPackageOptions {
1515
packageFolder: string;
16-
packageJson: IPackageJson;
16+
packageJson: INodePackageJson;
1717
entryPointSourceFile: ts.SourceFile;
1818
}
1919

@@ -44,7 +44,7 @@ export class WorkingPackage {
4444
/**
4545
* The parsed package.json file for the working package.
4646
*/
47-
public readonly packageJson: IPackageJson;
47+
public readonly packageJson: INodePackageJson;
4848

4949
/**
5050
* The entry point being processed during this invocation of API Extractor.

common/reviews/api/api-extractor.api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ declare class Extractor {
1717
static readonly packageName: string;
1818
processProject(options?: IAnalyzeProjectOptions): boolean;
1919
static processProjectFromConfigFile(jsonConfigFile: string, options?: IExtractorOptions): void;
20-
static readonly version: string | undefined;
20+
static readonly version: string;
2121
}
2222

2323
// @public

0 commit comments

Comments
 (0)
X Tutup