Skip to content

Commit fc36dec

Browse files
committed
Adding an API that exposes the raw tool packages in RSC.
1 parent 0c2fa49 commit fc36dec

File tree

11 files changed

+144
-19
lines changed

11 files changed

+144
-19
lines changed

build-tests/api-extractor-test-05/etc/api-extractor-test-05.api.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"metadata": {
33
"toolPackage": "@microsoft/api-extractor",
4-
"toolVersion": "6.3.0",
4+
"toolVersion": "7.0.0",
55
"schemaVersion": 1000
66
},
77
"kind": "Package",

common/reviews/api/rush-stack-compiler-2.4.api.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,16 @@ class RushStackCompilerBase<TOptions = {}> {
2626
protected _terminal: Terminal;
2727
}
2828

29+
// @alpha
30+
class ToolPackages {
31+
// (undocumented)
32+
static apiExtractor: typeof apiExtractor;
33+
// (undocumented)
34+
static tslint: typeof tslint;
35+
// (undocumented)
36+
static typescript: typeof typescript;
37+
}
38+
2939
// @beta (undocumented)
3040
class ToolPaths {
3141
// (undocumented)
@@ -50,8 +60,6 @@ class TypescriptCompiler extends RushStackCompilerBase {
5060
constructor(rootPath: string, terminalProvider: ITerminalProvider);
5161
// (undocumented)
5262
invoke(): Promise<void>;
53-
// (undocumented)
54-
typescript: typeof typescript;
5563
}
5664

5765
// WARNING: Unsupported export: WriteFileIssueFunction

common/reviews/api/rush-stack-compiler-2.7.api.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,16 @@ class RushStackCompilerBase<TOptions = {}> {
2626
protected _terminal: Terminal;
2727
}
2828

29+
// @alpha
30+
class ToolPackages {
31+
// (undocumented)
32+
static apiExtractor: typeof apiExtractor;
33+
// (undocumented)
34+
static tslint: typeof tslint;
35+
// (undocumented)
36+
static typescript: typeof typescript;
37+
}
38+
2939
// @beta (undocumented)
3040
class ToolPaths {
3141
// (undocumented)
@@ -50,8 +60,6 @@ class TypescriptCompiler extends RushStackCompilerBase {
5060
constructor(rootPath: string, terminalProvider: ITerminalProvider);
5161
// (undocumented)
5262
invoke(): Promise<void>;
53-
// (undocumented)
54-
typescript: typeof typescript;
5563
}
5664

5765
// WARNING: Unsupported export: WriteFileIssueFunction

common/reviews/api/rush-stack-compiler-2.9.api.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,16 @@ class RushStackCompilerBase<TOptions = {}> {
2626
protected _terminal: Terminal;
2727
}
2828

29+
// @alpha
30+
class ToolPackages {
31+
// (undocumented)
32+
static apiExtractor: typeof apiExtractor;
33+
// (undocumented)
34+
static tslint: typeof tslint;
35+
// (undocumented)
36+
static typescript: typeof typescript;
37+
}
38+
2939
// @beta (undocumented)
3040
class ToolPaths {
3141
// (undocumented)
@@ -50,8 +60,6 @@ class TypescriptCompiler extends RushStackCompilerBase {
5060
constructor(rootPath: string, terminalProvider: ITerminalProvider);
5161
// (undocumented)
5262
invoke(): Promise<void>;
53-
// (undocumented)
54-
typescript: typeof typescript;
5563
}
5664

5765
// WARNING: Unsupported export: WriteFileIssueFunction

common/reviews/api/rush-stack-compiler-3.0.api.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,16 @@ class RushStackCompilerBase<TOptions = {}> {
2626
protected _terminal: Terminal;
2727
}
2828

29+
// @alpha
30+
class ToolPackages {
31+
// (undocumented)
32+
static apiExtractor: typeof apiExtractor;
33+
// (undocumented)
34+
static tslint: typeof tslint;
35+
// (undocumented)
36+
static typescript: typeof typescript;
37+
}
38+
2939
// @beta (undocumented)
3040
class ToolPaths {
3141
// (undocumented)
@@ -50,8 +60,6 @@ class TypescriptCompiler extends RushStackCompilerBase {
5060
constructor(rootPath: string, terminalProvider: ITerminalProvider);
5161
// (undocumented)
5262
invoke(): Promise<void>;
53-
// (undocumented)
54-
typescript: typeof typescript;
5563
}
5664

5765
// WARNING: Unsupported export: WriteFileIssueFunction

common/reviews/api/rush-stack-compiler-3.1.api.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,16 @@ class RushStackCompilerBase<TOptions = {}> {
2626
protected _terminal: Terminal;
2727
}
2828

29+
// @alpha
30+
class ToolPackages {
31+
// (undocumented)
32+
static apiExtractor: typeof apiExtractor;
33+
// (undocumented)
34+
static tslint: typeof tslint;
35+
// (undocumented)
36+
static typescript: typeof typescript;
37+
}
38+
2939
// @beta (undocumented)
3040
class ToolPaths {
3141
// (undocumented)
@@ -50,8 +60,6 @@ class TypescriptCompiler extends RushStackCompilerBase {
5060
constructor(rootPath: string, terminalProvider: ITerminalProvider);
5161
// (undocumented)
5262
invoke(): Promise<void>;
53-
// (undocumented)
54-
typescript: typeof typescript;
5563
}
5664

5765
// WARNING: Unsupported export: WriteFileIssueFunction
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
// @beta
2+
class ApiExtractorRunner extends RushStackCompilerBase {
3+
constructor(extractorConfig: IExtractorConfig, extractorOptions: IExtractorOptions, rootPath: string, terminalProvider: ITerminalProvider);
4+
// (undocumented)
5+
invoke(): Promise<void>;
6+
}
7+
8+
// @public (undocumented)
9+
interface ITslintRunnerConfig {
10+
displayAsError?: boolean;
11+
// (undocumented)
12+
fileError: WriteFileIssueFunction;
13+
// (undocumented)
14+
fileWarning: WriteFileIssueFunction;
15+
}
16+
17+
// @beta (undocumented)
18+
class RushStackCompilerBase<TOptions = {}> {
19+
constructor(taskOptions: TOptions, rootPath: string, terminalProvider: ITerminalProvider);
20+
// WARNING: The type "StandardBuildFolders" needs to be exported by the package (e.g. added to index.ts)
21+
// (undocumented)
22+
protected _standardBuildFolders: StandardBuildFolders;
23+
// (undocumented)
24+
protected _taskOptions: TOptions;
25+
// (undocumented)
26+
protected _terminal: Terminal;
27+
}
28+
29+
// @alpha
30+
class ToolPackages {
31+
// (undocumented)
32+
static apiExtractor: typeof apiExtractor;
33+
// (undocumented)
34+
static tslint: typeof tslint;
35+
// (undocumented)
36+
static typescript: typeof typescript;
37+
}
38+
39+
// @beta (undocumented)
40+
class ToolPaths {
41+
// (undocumented)
42+
static readonly tslintPackageJson: IPackageJson;
43+
// (undocumented)
44+
static readonly tslintPackagePath: string;
45+
// (undocumented)
46+
static readonly typescriptPackageJson: IPackageJson;
47+
// (undocumented)
48+
static readonly typescriptPackagePath: string;
49+
}
50+
51+
// @beta (undocumented)
52+
class TslintRunner extends RushStackCompilerBase<ITslintRunnerConfig> {
53+
constructor(taskOptions: ITslintRunnerConfig, rootPath: string, terminalProvider: ITerminalProvider);
54+
// (undocumented)
55+
invoke(): Promise<void>;
56+
}
57+
58+
// @beta (undocumented)
59+
class TypescriptCompiler extends RushStackCompilerBase {
60+
constructor(rootPath: string, terminalProvider: ITerminalProvider);
61+
// (undocumented)
62+
invoke(): Promise<void>;
63+
}
64+
65+
// WARNING: Unsupported export: WriteFileIssueFunction

core-build/gulp-core-build-typescript/src/TscCmdTask.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ export class TscCmdTask extends RSCTask<ITscCmdTaskConfig> {
105105

106106
if (this.taskConfig.removeCommentsFromJavaScript === true) {
107107
buildPromise = buildPromise.then(
108-
() => this._removeComments(typescriptCompiler.typescript)
108+
() => this._removeComments(this._rushStackCompiler.ToolPackages.typescript)
109109
);
110110
}
111111

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
2+
// See LICENSE in the project root for license information.
3+
4+
import * as typescript from 'typescript';
5+
import * as tslint from 'tslint';
6+
import * as apiExtractor from '@microsoft/api-extractor';
7+
8+
/**
9+
* Provides access to the raw tool APIs.
10+
*
11+
* @alpha
12+
*/
13+
export class ToolPackages {
14+
public static typescript: typeof typescript = typescript;
15+
public static tslint: typeof tslint = tslint;
16+
public static apiExtractor: typeof apiExtractor = apiExtractor;
17+
}

stack/rush-stack-compiler-shared/src/shared/TypescriptCompiler.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
// See LICENSE in the project root for license information.
33

44
import * as path from 'path';
5-
import * as typescript from 'typescript';
65
import { ITerminalProvider } from '@microsoft/node-core-library';
76

87
import { CmdRunner } from './CmdRunner';
@@ -13,7 +12,6 @@ import { RushStackCompilerBase } from './RushStackCompilerBase';
1312
* @beta
1413
*/
1514
export class TypescriptCompiler extends RushStackCompilerBase {
16-
public typescript: typeof typescript = typescript;
1715
private _cmdRunner: CmdRunner;
1816

1917
constructor(rootPath: string, terminalProvider: ITerminalProvider) {

0 commit comments

Comments
 (0)