Skip to content

Commit ef45c75

Browse files
lekhmanrusclydin
authored andcommitted
refactor(@angular-devkit/build-angular): consistent import from webpack style
1 parent e78fb3c commit ef45c75

File tree

6 files changed

+29
-26
lines changed

6 files changed

+29
-26
lines changed

goldens/public-api/angular_devkit/build_angular/src/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ import { BuilderContext } from '@angular-devkit/architect';
88
import { BuilderOutput } from '@angular-devkit/architect';
99
import { BuildResult } from '@angular-devkit/build-webpack';
1010
import { ConfigOptions } from 'karma';
11+
import { Configuration } from 'webpack';
1112
import { DevServerBuildOutput } from '@angular-devkit/build-webpack';
1213
import { json } from '@angular-devkit/core';
1314
import { JsonObject } from '@angular-devkit/core';
1415
import { Observable } from 'rxjs';
1516
import webpack from 'webpack';
16-
import * as webpack_2 from 'webpack';
1717
import { WebpackLoggingCallback } from '@angular-devkit/build-webpack';
1818

1919
// @public (undocumented)
@@ -133,7 +133,7 @@ export function executeExtractI18nBuilder(options: ExtractI18nBuilderOptions, co
133133

134134
// @public
135135
export function executeKarmaBuilder(options: KarmaBuilderOptions, context: BuilderContext, transforms?: {
136-
webpackConfiguration?: ExecutionTransformer<webpack_2.Configuration>;
136+
webpackConfiguration?: ExecutionTransformer<Configuration>;
137137
karmaOptions?: (options: KarmaConfigOptions) => KarmaConfigOptions;
138138
}): Observable<BuilderOutput>;
139139

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import { Config, ConfigOptions } from 'karma';
1212
import { dirname, resolve } from 'path';
1313
import { Observable, from } from 'rxjs';
1414
import { defaultIfEmpty, switchMap } from 'rxjs/operators';
15-
import * as webpack from 'webpack';
15+
import { Configuration } from 'webpack';
1616
import { ExecutionTransformer } from '../../transforms';
1717
import { assertCompatibleAngularVersion } from '../../utils/version';
1818
import { generateBrowserWebpackConfigFromContext } from '../../utils/webpack-browser-config';
@@ -36,8 +36,8 @@ export type KarmaConfigOptions = ConfigOptions & {
3636
async function initialize(
3737
options: KarmaBuilderOptions,
3838
context: BuilderContext,
39-
webpackConfigurationTransformer?: ExecutionTransformer<webpack.Configuration>,
40-
): Promise<[typeof import('karma'), webpack.Configuration]> {
39+
webpackConfigurationTransformer?: ExecutionTransformer<Configuration>,
40+
): Promise<[typeof import('karma'), Configuration]> {
4141
const { config } = await generateBrowserWebpackConfigFromContext(
4242
// only two properties are missing:
4343
// * `outputPath` which is fixed for tests
@@ -84,7 +84,7 @@ export function execute(
8484
options: KarmaBuilderOptions,
8585
context: BuilderContext,
8686
transforms: {
87-
webpackConfiguration?: ExecutionTransformer<webpack.Configuration>;
87+
webpackConfiguration?: ExecutionTransformer<Configuration>;
8888
// The karma options transform cannot be async without a refactor of the builder implementation
8989
karmaOptions?: (options: KarmaConfigOptions) => KarmaConfigOptions;
9090
} = {},

packages/angular_devkit/build_angular/src/webpack/configs/browser.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
* found in the LICENSE file at https://angular.io/license
77
*/
88

9-
import * as webpack from 'webpack';
9+
import { Configuration } from 'webpack';
1010
import { SubresourceIntegrityPlugin } from 'webpack-subresource-integrity';
1111
import { WebpackConfigOptions } from '../../utils/build-options';
1212
import { CommonJsUsageWarnPlugin } from '../plugins';
1313
import { getSourceMapDevTool } from '../utils/helpers';
1414

15-
export function getBrowserConfig(wco: WebpackConfigOptions): webpack.Configuration {
15+
export function getBrowserConfig(wco: WebpackConfigOptions): Configuration {
1616
const { buildOptions } = wco;
1717
const {
1818
crossOrigin = 'none',

packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,16 @@ import { logging, tags } from '@angular-devkit/core';
1010
import { existsSync } from 'fs';
1111
import { posix, resolve } from 'path';
1212
import * as url from 'url';
13-
import * as webpack from 'webpack';
14-
import { Configuration } from 'webpack-dev-server';
13+
import { Configuration, RuleSetRule } from 'webpack';
14+
import { Configuration as DevServerConfiguration } from 'webpack-dev-server';
1515
import { WebpackConfigOptions, WebpackDevServerOptions } from '../../utils/build-options';
1616
import { loadEsmModule } from '../../utils/load-esm';
1717
import { getIndexOutputFile } from '../../utils/webpack-browser-config';
1818
import { HmrLoader } from '../plugins/hmr/hmr-loader';
1919

2020
export async function getDevServerConfig(
2121
wco: WebpackConfigOptions<WebpackDevServerOptions>,
22-
): Promise<webpack.Configuration> {
22+
): Promise<Configuration> {
2323
const {
2424
buildOptions: { host, port, index, headers, watch, hmr, main, liveReload, proxyConfig },
2525
logger,
@@ -28,7 +28,7 @@ export async function getDevServerConfig(
2828

2929
const servePath = buildServePath(wco.buildOptions, logger);
3030

31-
const extraRules: webpack.RuleSetRule[] = [];
31+
const extraRules: RuleSetRule[] = [];
3232
if (hmr) {
3333
extraRules.push({
3434
loader: HmrLoader,
@@ -139,7 +139,10 @@ export function buildServePath(
139139
* Private method to enhance a webpack config with SSL configuration.
140140
* @private
141141
*/
142-
function getSslConfig(root: string, options: WebpackDevServerOptions): Configuration['https'] {
142+
function getSslConfig(
143+
root: string,
144+
options: WebpackDevServerOptions,
145+
): DevServerConfiguration['https'] {
143146
const { ssl, sslCert, sslKey } = options;
144147
if (ssl && sslCert && sslKey) {
145148
return {
@@ -217,7 +220,9 @@ function findDefaultServePath(baseHref?: string, deployUrl?: string): string | n
217220
return `${normalizedBaseHref}${deployUrl || ''}`;
218221
}
219222

220-
function getAllowedHostsConfig(options: WebpackDevServerOptions): Configuration['allowedHosts'] {
223+
function getAllowedHostsConfig(
224+
options: WebpackDevServerOptions,
225+
): DevServerConfiguration['allowedHosts'] {
221226
if (options.disableHostCheck) {
222227
return 'all';
223228
} else if (options.allowedHosts?.length) {

packages/angular_devkit/build_angular/src/webpack/configs/styles.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
import * as fs from 'fs';
1010
import * as path from 'path';
11-
import * as webpack from 'webpack';
11+
import { Configuration, RuleSetUseItem } from 'webpack';
1212
import { ExtraEntryPoint } from '../../builders/browser/schema';
1313
import { SassWorkerImplementation } from '../../sass/sass-service';
1414
import { BuildBrowserFeatures } from '../../utils/build-browser-features';
@@ -71,13 +71,13 @@ function resolveGlobalStyles(
7171
}
7272

7373
// eslint-disable-next-line max-lines-per-function
74-
export function getStylesConfig(wco: WebpackConfigOptions): webpack.Configuration {
74+
export function getStylesConfig(wco: WebpackConfigOptions): Configuration {
7575
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
7676
const postcssImports = require('postcss-import');
7777
const postcssPresetEnv: typeof import('postcss-preset-env') = require('postcss-preset-env');
7878

7979
const { root, buildOptions } = wco;
80-
const extraPlugins: { apply(compiler: webpack.Compiler): void }[] = [];
80+
const extraPlugins: Configuration['plugins'] = [];
8181

8282
extraPlugins.push(new AnyComponentStyleBudgetChecker(buildOptions.budgets));
8383

@@ -230,7 +230,7 @@ export function getStylesConfig(wco: WebpackConfigOptions): webpack.Configuratio
230230
const postCss = require('postcss');
231231
const postCssLoaderPath = require.resolve('postcss-loader');
232232

233-
const componentStyleLoaders: webpack.RuleSetUseItem[] = [
233+
const componentStyleLoaders: RuleSetUseItem[] = [
234234
{
235235
loader: postCssLoaderPath,
236236
options: {
@@ -240,7 +240,7 @@ export function getStylesConfig(wco: WebpackConfigOptions): webpack.Configuratio
240240
},
241241
];
242242

243-
const globalStyleLoaders: webpack.RuleSetUseItem[] = [
243+
const globalStyleLoaders: RuleSetUseItem[] = [
244244
{
245245
loader: MiniCssExtractPlugin.loader,
246246
},
@@ -263,7 +263,7 @@ export function getStylesConfig(wco: WebpackConfigOptions): webpack.Configuratio
263263

264264
const styleLanguages: {
265265
extensions: string[];
266-
use: webpack.RuleSetUseItem[];
266+
use: RuleSetUseItem[];
267267
}[] = [
268268
{
269269
extensions: ['css'],

packages/angular_devkit/build_angular/src/webpack/configs/test.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,19 @@
99
import * as glob from 'glob';
1010
import * as path from 'path';
1111
import { ScriptTarget } from 'typescript';
12-
import * as webpack from 'webpack';
12+
import { Configuration, RuleSetRule } from 'webpack';
1313
import { WebpackConfigOptions, WebpackTestOptions } from '../../utils/build-options';
1414
import { getSourceMapDevTool, isPolyfillsEntry } from '../utils/helpers';
1515

16-
export function getTestConfig(
17-
wco: WebpackConfigOptions<WebpackTestOptions>,
18-
): webpack.Configuration {
16+
export function getTestConfig(wco: WebpackConfigOptions<WebpackTestOptions>): Configuration {
1917
const {
2018
buildOptions: { codeCoverage, codeCoverageExclude, main, sourceMap, webWorkerTsConfig },
2119
root,
2220
sourceRoot,
2321
} = wco;
2422

25-
const extraRules: webpack.RuleSetRule[] = [];
26-
const extraPlugins: { apply(compiler: webpack.Compiler): void }[] = [];
23+
const extraRules: RuleSetRule[] = [];
24+
const extraPlugins: Configuration['plugins'] = [];
2725

2826
if (codeCoverage) {
2927
const exclude: (string | RegExp)[] = [/\.(e2e|spec)\.tsx?$/, /node_modules/];

0 commit comments

Comments
 (0)