Skip to content

Commit 71ac097

Browse files
clydinalexeagle
authored andcommitted
refactor(@angular-devkit/build-angular): standardize builder exports
1 parent 5b4d130 commit 71ac097

File tree

4 files changed

+43
-25
lines changed

4 files changed

+43
-25
lines changed

packages/angular_devkit/build_angular/src/dev-server/index.ts

+10-10
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ import { normalizeOptimization } from '../utils';
3636
import { Schema } from './schema';
3737
const open = require('open');
3838

39-
export type DevServerBuilderSchema = Schema & json.JsonObject;
39+
export type DevServerBuilderOptions = Schema & json.JsonObject;
4040

41-
export const devServerBuildOverriddenKeys: (keyof DevServerBuilderSchema)[] = [
41+
export const devServerBuildOverriddenKeys: (keyof DevServerBuilderOptions)[] = [
4242
'watch',
4343
'optimization',
4444
'aot',
@@ -72,7 +72,7 @@ export type ServerConfigTransformFn = (
7272
* transforming webpack configuration before passing it to webpack).
7373
*/
7474
export function serveWebpackBrowser(
75-
options: DevServerBuilderSchema,
75+
options: DevServerBuilderOptions,
7676
context: BuilderContext,
7777
transforms: {
7878
webpackConfiguration?: ExecutionTransformer<webpack.Configuration>,
@@ -98,7 +98,7 @@ export function serveWebpackBrowser(
9898
const rawBrowserOptions = await context.getTargetOptions(browserTarget);
9999

100100
// Override options we need to override, if defined.
101-
const overrides = (Object.keys(options) as (keyof DevServerBuilderSchema)[])
101+
const overrides = (Object.keys(options) as (keyof DevServerBuilderOptions)[])
102102
.filter(key => options[key] !== undefined && devServerBuildOverriddenKeys.includes(key))
103103
.reduce<json.JsonObject & Partial<BrowserBuilderSchema>>((previous, key) => ({
104104
...previous,
@@ -227,7 +227,7 @@ export function serveWebpackBrowser(
227227
*/
228228
export function buildServerConfig(
229229
workspaceRoot: string,
230-
serverOptions: DevServerBuilderSchema,
230+
serverOptions: DevServerBuilderOptions,
231231
browserOptions: BrowserBuilderSchema,
232232
logger: logging.LoggerApi,
233233
): WebpackDevServer.Configuration {
@@ -301,7 +301,7 @@ export function buildServerConfig(
301301
* @param logger A generic logger to use for showing warnings.
302302
*/
303303
export function buildServePath(
304-
serverOptions: DevServerBuilderSchema,
304+
serverOptions: DevServerBuilderOptions,
305305
browserOptions: BrowserBuilderSchema,
306306
logger: logging.LoggerApi,
307307
): string {
@@ -332,7 +332,7 @@ export function buildServePath(
332332
* @private
333333
*/
334334
function _addLiveReload(
335-
options: DevServerBuilderSchema,
335+
options: DevServerBuilderOptions,
336336
browserOptions: BrowserBuilderSchema,
337337
webpackConfig: webpack.Configuration,
338338
clientAddress: url.UrlWithStringQuery,
@@ -400,7 +400,7 @@ function _addLiveReload(
400400
*/
401401
function _addSslConfig(
402402
root: string,
403-
options: DevServerBuilderSchema,
403+
options: DevServerBuilderOptions,
404404
config: WebpackDevServer.Configuration,
405405
) {
406406
let sslKey: string | undefined = undefined;
@@ -433,7 +433,7 @@ function _addSslConfig(
433433
*/
434434
function _addProxyConfig(
435435
root: string,
436-
options: DevServerBuilderSchema,
436+
options: DevServerBuilderOptions,
437437
config: WebpackDevServer.Configuration,
438438
) {
439439
let proxyConfig = {};
@@ -488,4 +488,4 @@ function _findDefaultServePath(baseHref?: string, deployUrl?: string): string |
488488
}
489489

490490

491-
export default createBuilder<DevServerBuilderSchema, DevServerBuilderOutput>(serveWebpackBrowser);
491+
export default createBuilder<DevServerBuilderOptions, DevServerBuilderOutput>(serveWebpackBrowser);

packages/angular_devkit/build_angular/src/index.ts

+26-10
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
// See https://github.com/angular/angular-cli/issues/9691#issuecomment-367322703 for details.
1313
// We need to add a require here to satisfy the dependency checker.
1414
// require('ajv');
15+
1516
export * from './transforms';
16-
export * from './app-shell';
17-
export * from './browser';
17+
1818
export {
1919
AssetPattern,
2020
AssetPatternClass as AssetPatternObject,
@@ -25,16 +25,32 @@ export {
2525
OptimizationClass as OptimizationObject,
2626
OptimizationUnion,
2727
OutputHashing,
28-
Schema as BrowserBuilderSchema,
28+
Schema as BrowserBuilderOptions,
2929
SourceMapClass as SourceMapObject,
3030
SourceMapUnion,
3131
StylePreprocessorOptions,
3232
Type,
3333
} from './browser/schema';
34-
export * from './dev-server';
35-
export * from './extract-i18n';
36-
export * from './karma';
37-
export * from './karma/schema';
38-
export * from './protractor';
39-
export { execute as executeServerBuilder } from './server';
40-
export * from './tslint';
34+
35+
export {
36+
buildWebpackBrowser as executeBrowserBuilder,
37+
BrowserBuilderOutput,
38+
} from './browser';
39+
40+
export {
41+
serveWebpackBrowser as executeDevServerBuilder,
42+
DevServerBuilderOptions,
43+
DevServerBuilderOutput,
44+
} from './dev-server';
45+
46+
export {
47+
execute as executeKarmaBuilder,
48+
KarmaBuilderOptions,
49+
KarmaConfigOptions,
50+
} from './karma';
51+
52+
export {
53+
execute as executeServerBuilder,
54+
ServerBuilderOptions,
55+
ServerBuilderOutput,
56+
} from './server';

packages/angular_devkit/build_angular/src/karma/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import { generateBrowserWebpackConfigFromContext } from '../utils/webpack-browse
2323
import { Schema as KarmaBuilderOptions } from './schema';
2424

2525
// tslint:disable-next-line:no-implicit-dependencies
26-
type KarmaConfigOptions = import ('karma').ConfigOptions & {
26+
export type KarmaConfigOptions = import ('karma').ConfigOptions & {
2727
buildWebpack?: unknown;
2828
configFile?: string;
2929
};

packages/angular_devkit/build_angular/src/server/index.ts

+6-4
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,17 @@ import {
2525
import { ExecutionTransformer } from '../transforms';
2626
import { NormalizedBrowserBuilderSchema, deleteOutputDir } from '../utils';
2727
import { generateBrowserWebpackConfigFromContext } from '../utils/webpack-browser-config';
28-
import { Schema as BuildWebpackServerOptions } from './schema';
28+
import { Schema as ServerBuilderOptions } from './schema';
2929

3030
// If success is true, outputPath should be set.
3131
export type ServerBuilderOutput = json.JsonObject & BuilderOutput & {
3232
outputPath?: string;
3333
};
3434

35+
export { ServerBuilderOptions };
36+
3537
export function execute(
36-
options: BuildWebpackServerOptions,
38+
options: ServerBuilderOptions,
3739
context: BuilderContext,
3840
transforms: {
3941
webpackConfiguration?: ExecutionTransformer<webpack.Configuration>;
@@ -67,7 +69,7 @@ export function execute(
6769
);
6870
}
6971

70-
export default createBuilder<json.JsonObject & BuildWebpackServerOptions, ServerBuilderOutput>(
72+
export default createBuilder<json.JsonObject & ServerBuilderOptions, ServerBuilderOutput>(
7173
execute,
7274
);
7375

@@ -80,7 +82,7 @@ function getCompilerConfig(wco: WebpackConfigOptions) {
8082
}
8183

8284
async function buildServerWebpackConfig(
83-
options: BuildWebpackServerOptions,
85+
options: ServerBuilderOptions,
8486
context: BuilderContext,
8587
) {
8688
const { config } = await generateBrowserWebpackConfigFromContext(

0 commit comments

Comments
 (0)