Skip to content

Commit 0d10de5

Browse files
alan-agius4clydin
authored andcommitted
refactor(@angular-devkit/build-angular): re-structure folder structure and move code
Previous ``` packages/angular_devkit/build_angular ├── plugins │ └── webpack └── src ├── angular-cli-files │ ├── models │ │ └── webpack-configs │ ├── plugins │ └── utilities │ ├── index-file │ └── service-worker ├── app-shell ├── browser │ └── specs ├── dev-server ├── extract-i18n ├── karma ├── ng-packagr ├── protractor ├── server ├── tslint ├── utils └── webpack └── models ``` Now ``` packages/angular_devkit/build_angular ├── plugins └── src ├── app-shell ├── browser │ └── specs ├── dev-server ├── extract-i18n ├── karma ├── ng-packagr ├── protractor ├── server ├── tslint ├── utils │ └── index-file └── webpack ├── configs ├── plugins └── utils ```
1 parent 64cc005 commit 0d10de5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+116
-122
lines changed

packages/angular_devkit/build_angular/plugins/karma.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@
66
* found in the LICENSE file at https://angular.io/license
77
*/
88

9-
module.exports = require('../src/angular-cli-files/plugins/karma');
9+
module.exports = require('../src/webpack/plugins/karma');

packages/angular_devkit/build_angular/src/app-shell/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ import { JsonObject, normalize, resolve } from '@angular-devkit/core';
1515
import { NodeJsSyncHost } from '@angular-devkit/core/node';
1616
import * as fs from 'fs';
1717
import * as path from 'path';
18-
import { augmentAppWithServiceWorker } from '../angular-cli-files/utilities/service-worker';
1918
import { BrowserBuilderOutput } from '../browser';
2019
import { Schema as BrowserBuilderSchema } from '../browser/schema';
2120
import { ServerBuilderOutput } from '../server';
21+
import { augmentAppWithServiceWorker } from '../utils/service-worker';
2222
import { Schema as BuildWebpackAppShellSchema } from './schema';
2323

2424
async function _renderUniversal(

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

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -15,35 +15,6 @@ import { Observable, from } from 'rxjs';
1515
import { concatMap, map, switchMap } from 'rxjs/operators';
1616
import { ScriptTarget } from 'typescript';
1717
import * as webpack from 'webpack';
18-
import { NgBuildAnalyticsPlugin } from '../../plugins/webpack/analytics';
19-
import { WebpackConfigOptions } from '../angular-cli-files/models/build-options';
20-
import {
21-
getAotConfig,
22-
getBrowserConfig,
23-
getCommonConfig,
24-
getNonAotConfig,
25-
getStatsConfig,
26-
getStylesConfig,
27-
getWorkerConfig,
28-
normalizeExtraEntryPoints,
29-
} from '../angular-cli-files/models/webpack-configs';
30-
import { markAsyncChunksNonInitial } from '../angular-cli-files/utilities/async-chunks';
31-
import { ThresholdSeverity, checkBudgets } from '../angular-cli-files/utilities/bundle-calculator';
32-
import {
33-
IndexHtmlTransform,
34-
writeIndexHtml,
35-
} from '../angular-cli-files/utilities/index-file/write-index-html';
36-
import { readTsconfig } from '../angular-cli-files/utilities/read-tsconfig';
37-
import { augmentAppWithServiceWorker } from '../angular-cli-files/utilities/service-worker';
38-
import {
39-
createWebpackLoggingCallback,
40-
generateBuildStats,
41-
generateBundleStats,
42-
statsErrorsToString,
43-
statsHasErrors,
44-
statsHasWarnings,
45-
statsWarningsToString,
46-
} from '../angular-cli-files/utilities/stats';
4718
import { ExecutionTransformer } from '../transforms';
4819
import {
4920
BuildBrowserFeatures,
@@ -54,18 +25,26 @@ import {
5425
urlJoin,
5526
} from '../utils';
5627
import { BundleActionExecutor } from '../utils/action-executor';
28+
import { WebpackConfigOptions } from '../utils/build-options';
29+
import { ThresholdSeverity, checkBudgets } from '../utils/bundle-calculator';
5730
import { findCachePath } from '../utils/cache-path';
5831
import { copyAssets } from '../utils/copy-assets';
5932
import { cachingDisabled } from '../utils/environment-options';
6033
import { i18nInlineEmittedFiles } from '../utils/i18n-inlining';
6134
import { I18nOptions } from '../utils/i18n-options';
35+
import {
36+
IndexHtmlTransform,
37+
writeIndexHtml,
38+
} from '../utils/index-file/write-index-html';
6239
import { ensureOutputPaths } from '../utils/output-paths';
6340
import {
6441
InlineOptions,
6542
ProcessBundleFile,
6643
ProcessBundleOptions,
6744
ProcessBundleResult,
6845
} from '../utils/process-bundle';
46+
import { readTsconfig } from '../utils/read-tsconfig';
47+
import { augmentAppWithServiceWorker } from '../utils/service-worker';
6948
import { assertCompatibleAngularVersion } from '../utils/version';
7049
import {
7150
BrowserWebpackConfigOptions,
@@ -74,6 +53,27 @@ import {
7453
getIndexInputFile,
7554
getIndexOutputFile,
7655
} from '../utils/webpack-browser-config';
56+
import {
57+
getAotConfig,
58+
getBrowserConfig,
59+
getCommonConfig,
60+
getNonAotConfig,
61+
getStatsConfig,
62+
getStylesConfig,
63+
getWorkerConfig,
64+
normalizeExtraEntryPoints,
65+
} from '../webpack/configs';
66+
import { NgBuildAnalyticsPlugin } from '../webpack/plugins/analytics';
67+
import { markAsyncChunksNonInitial } from '../webpack/utils/async-chunks';
68+
import {
69+
createWebpackLoggingCallback,
70+
generateBuildStats,
71+
generateBundleStats,
72+
statsErrorsToString,
73+
statsHasErrors,
74+
statsHasWarnings,
75+
statsWarningsToString,
76+
} from '../webpack/utils/stats';
7777
import { Schema as BrowserBuilderSchema } from './schema';
7878

7979
const cacheDownlevelPath = cachingDisabled ? undefined : findCachePath('angular-build-dl');

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

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,23 @@ import * as ts from 'typescript';
2222
import * as url from 'url';
2323
import * as webpack from 'webpack';
2424
import * as WebpackDevServer from 'webpack-dev-server';
25-
import { normalizeExtraEntryPoints } from '../angular-cli-files/models/webpack-configs/utils';
26-
import { IndexHtmlWebpackPlugin } from '../angular-cli-files/plugins/index-html-webpack-plugin';
27-
import { checkPort } from '../angular-cli-files/utilities/check-port';
28-
import { IndexHtmlTransform } from '../angular-cli-files/utilities/index-file/write-index-html';
29-
import { generateEntryPoints } from '../angular-cli-files/utilities/package-chunk-sort';
30-
import { readTsconfig } from '../angular-cli-files/utilities/read-tsconfig';
31-
import { createWebpackLoggingCallback } from '../angular-cli-files/utilities/stats';
3225
import { buildBrowserWebpackConfigFromContext } from '../browser';
3326
import { Schema as BrowserBuilderSchema } from '../browser/schema';
3427
import { ExecutionTransformer } from '../transforms';
3528
import { BuildBrowserFeatures, normalizeOptimization } from '../utils';
3629
import { findCachePath } from '../utils/cache-path';
30+
import { checkPort } from '../utils/check-port';
3731
import { I18nOptions } from '../utils/i18n-options';
32+
import { IndexHtmlTransform } from '../utils/index-file/write-index-html';
33+
import { generateEntryPoints } from '../utils/package-chunk-sort';
3834
import { createI18nPlugins } from '../utils/process-bundle';
35+
import { readTsconfig } from '../utils/read-tsconfig';
3936
import { assertCompatibleAngularVersion } from '../utils/version';
4037
import { getIndexInputFile, getIndexOutputFile } from '../utils/webpack-browser-config';
4138
import { addError, addWarning } from '../utils/webpack-diagnostics';
39+
import { normalizeExtraEntryPoints } from '../webpack/configs';
40+
import { IndexHtmlWebpackPlugin } from '../webpack/plugins/index-html-webpack-plugin';
41+
import { createWebpackLoggingCallback } from '../webpack/utils/stats';
4242
import { Schema } from './schema';
4343
const open = require('open');
4444

@@ -87,9 +87,6 @@ export function serveWebpackBrowser(
8787
let first = true;
8888
const host = new NodeJsSyncHost();
8989

90-
const loggingFn =
91-
transforms.logging || createWebpackLoggingCallback(!!options.verbose, context.logger);
92-
9390
async function setup(): Promise<{
9491
browserOptions: json.JsonObject & BrowserBuilderSchema;
9592
webpackConfig: webpack.Configuration;
@@ -237,7 +234,7 @@ export function serveWebpackBrowser(
237234
webpackConfig,
238235
context,
239236
{
240-
logging: loggingFn,
237+
logging: transforms.logging || createWebpackLoggingCallback(!!options.verbose, context.logger),
241238
webpackFactory: require('webpack') as typeof webpack,
242239
webpackDevServerFactory: require('webpack-dev-server') as typeof WebpackDevServer,
243240
},

packages/angular_devkit/build_angular/src/extract-i18n/index.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,18 @@ import * as fs from 'fs';
1717
import * as path from 'path';
1818
import { gte as semverGte } from 'semver';
1919
import * as webpack from 'webpack';
20-
import {
21-
getAotConfig,
22-
getCommonConfig,
23-
getStatsConfig,
24-
getStylesConfig,
25-
} from '../angular-cli-files/models/webpack-configs';
26-
import { createWebpackLoggingCallback } from '../angular-cli-files/utilities/stats';
2720
import { Schema as BrowserBuilderOptions } from '../browser/schema';
2821
import { ExecutionTransformer } from '../transforms';
2922
import { createI18nOptions } from '../utils/i18n-options';
3023
import { assertCompatibleAngularVersion } from '../utils/version';
3124
import { generateBrowserWebpackConfigFromContext } from '../utils/webpack-browser-config';
25+
import {
26+
getAotConfig,
27+
getCommonConfig,
28+
getStatsConfig,
29+
getStylesConfig,
30+
} from '../webpack/configs';
31+
import { createWebpackLoggingCallback } from '../webpack/utils/stats';
3232
import { Format, Schema } from './schema';
3333

3434
export type ExtractI18nBuilderOptions = Schema & JsonObject;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import { existsSync } from 'fs';
99
import * as glob from 'glob';
1010
import { basename, dirname, extname, join } from 'path';
11-
import { isDirectory } from './is-directory';
11+
import { isDirectory } from '../utils/is-directory';
1212

1313
// go through all patterns and find unique list of files
1414
export function findTests(patterns: string[], cwd: string, workspaceRoot: string): string[] {

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,19 @@ import { dirname, resolve } from 'path';
1111
import { Observable, from } from 'rxjs';
1212
import { defaultIfEmpty, switchMap } from 'rxjs/operators';
1313
import * as webpack from 'webpack';
14+
import { Schema as BrowserBuilderOptions } from '../browser/schema';
15+
import { ExecutionTransformer } from '../transforms';
16+
import { assertCompatibleAngularVersion } from '../utils/version';
17+
import { generateBrowserWebpackConfigFromContext } from '../utils/webpack-browser-config';
1418
import {
1519
getCommonConfig,
1620
getNonAotConfig,
1721
getStylesConfig,
1822
getTestConfig,
1923
getWorkerConfig,
20-
} from '../angular-cli-files/models/webpack-configs';
21-
import { SingleTestTransformLoader } from '../angular-cli-files/plugins/single-test-transform';
22-
import { findTests } from '../angular-cli-files/utilities/find-tests';
23-
import { Schema as BrowserBuilderOptions } from '../browser/schema';
24-
import { ExecutionTransformer } from '../transforms';
25-
import { assertCompatibleAngularVersion } from '../utils/version';
26-
import { generateBrowserWebpackConfigFromContext } from '../utils/webpack-browser-config';
24+
} from '../webpack/configs';
25+
import { SingleTestTransformLoader } from '../webpack/plugins/single-test-transform';
26+
import { findTests } from './find-tests';
2727
import { Schema as KarmaBuilderOptions } from './schema';
2828

2929
// tslint:disable-next-line:no-implicit-dependencies

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

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,22 @@ import { Observable, from } from 'rxjs';
1313
import { concatMap, map } from 'rxjs/operators';
1414
import { ScriptTarget } from 'typescript';
1515
import * as webpack from 'webpack';
16-
import {
17-
getAotConfig,
18-
getCommonConfig,
19-
getServerConfig,
20-
getStatsConfig,
21-
getStylesConfig,
22-
} from '../angular-cli-files/models/webpack-configs';
23-
import { readTsconfig } from '../angular-cli-files/utilities/read-tsconfig';
24-
import { createWebpackLoggingCallback } from '../angular-cli-files/utilities/stats';
2516
import { ExecutionTransformer } from '../transforms';
2617
import { NormalizedBrowserBuilderSchema, deleteOutputDir } from '../utils';
2718
import { i18nInlineEmittedFiles } from '../utils/i18n-inlining';
2819
import { I18nOptions } from '../utils/i18n-options';
2920
import { ensureOutputPaths } from '../utils/output-paths';
21+
import { readTsconfig } from '../utils/read-tsconfig';
3022
import { assertCompatibleAngularVersion } from '../utils/version';
3123
import { generateI18nBrowserWebpackConfigFromContext } from '../utils/webpack-browser-config';
24+
import {
25+
getAotConfig,
26+
getCommonConfig,
27+
getServerConfig,
28+
getStatsConfig,
29+
getStylesConfig,
30+
} from '../webpack/configs';
31+
import { createWebpackLoggingCallback } from '../webpack/utils/stats';
3232
import { Schema as ServerBuilderOptions } from './schema';
3333

3434
// If success is true, outputPath should be set.

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { Minimatch } from 'minimatch';
1313
import * as path from 'path';
1414
import * as tslint from 'tslint'; // tslint:disable-line:no-implicit-dependencies
1515
import { Program } from 'typescript';
16-
import { stripBom } from '../angular-cli-files/utilities/strip-bom';
16+
import { stripBom } from '../utils/strip-bom';
1717
import { Schema as RealTslintBuilderOptions } from './schema';
1818

1919

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

9-
// TODO: cleanup this file, it's copied as is from Angular CLI.
10-
119
import { logging } from '@angular-devkit/core';
1210
import { ParsedConfiguration } from '@angular/compiler-cli';
1311
import {
@@ -19,8 +17,8 @@ import {
1917
Localize,
2018
OptimizationClass,
2119
SourceMapClass,
22-
} from '../../browser/schema';
23-
import { NormalizedFileReplacement } from '../../utils/normalize-file-replacements';
20+
} from '../browser/schema';
21+
import { NormalizedFileReplacement } from './normalize-file-replacements';
2422

2523
export interface BuildOptions {
2624
optimization: OptimizationClass;
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
* found in the LICENSE file at https://angular.io/license
77
*/
88
import * as webpack from 'webpack';
9-
import { ProcessBundleFile, ProcessBundleResult } from '../../../src/utils/process-bundle';
10-
import { Budget, Type } from '../../browser/schema';
11-
import { formatSize } from '../utilities/stats';
9+
import { Budget, Type } from '../browser/schema';
10+
import { ProcessBundleFile, ProcessBundleResult } from '../utils/process-bundle';
11+
import { formatSize } from '../webpack/utils/stats';
1212

1313
interface Size {
1414
size: number;
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
* found in the LICENSE file at https://angular.io/license
77
*/
88
import * as webpack from 'webpack';
9-
import { Budget, Type } from '../../browser/schema';
10-
import { ProcessBundleResult } from '../../utils/process-bundle';
9+
import { Budget, Type } from '../browser/schema';
1110
import { ThresholdSeverity, checkBudgets } from './bundle-calculator';
11+
import { ProcessBundleResult } from './process-bundle';
1212

1313
const KB = 1024;
1414

packages/angular_devkit/build_angular/src/utils/i18n-options.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ import * as fs from 'fs';
1111
import * as os from 'os';
1212
import * as path from 'path';
1313
import * as rimraf from 'rimraf';
14-
import { readTsconfig } from '../angular-cli-files/utilities/read-tsconfig';
1514
import { Schema as BrowserBuilderSchema } from '../browser/schema';
1615
import { Schema as ServerBuilderSchema } from '../server/schema';
16+
import { readTsconfig } from '../utils/read-tsconfig';
1717
import { createTranslationLoader } from './load-translations';
1818

1919
export interface I18nOptions {
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { EmittedFiles } from '@angular-devkit/build-webpack';
1010
import { Path, dirname, getSystemPath, join, virtualFs } from '@angular-devkit/core';
1111
import { Observable, of } from 'rxjs';
1212
import { map, switchMap } from 'rxjs/operators';
13-
import { ExtraEntryPoint } from '../../../browser/schema';
13+
import { ExtraEntryPoint } from '../../browser/schema';
1414
import { generateEntryPoints } from '../package-chunk-sort';
1515
import { stripBom } from '../strip-bom';
1616
import { CrossOriginValue, FileInfo, augmentIndexHtml } from './augment-index-html';

packages/angular_devkit/build_angular/src/utils/normalize-builder-schema.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99

1010

1111
import { Path, virtualFs } from '@angular-devkit/core';
12-
import { BuildOptions } from '../angular-cli-files/models/build-options';
1312
import {
1413
AssetPatternClass,
1514
OptimizationClass,
1615
Schema as BrowserBuilderSchema,
1716
SourceMapClass,
1817
} from '../browser/schema';
18+
import { BuildOptions } from './build-options';
1919
import { normalizeAssetPatterns } from './normalize-asset-patterns';
2020
import {
2121
NormalizedFileReplacement,
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
* Use of this source code is governed by an MIT-style license that can be
66
* found in the LICENSE file at https://angular.io/license
77
*/
8-
import { ExtraEntryPoint } from '../../browser/schema';
9-
import { normalizeExtraEntryPoints } from '../models/webpack-configs/utils';
8+
import { ExtraEntryPoint } from '../browser/schema';
9+
import { normalizeExtraEntryPoints } from '../webpack/configs';
1010

1111
export function generateEntryPoints(appConfig: {
1212
styles: ExtraEntryPoint[];

packages/angular_devkit/build_angular/src/utils/webpack-browser-config.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@ import * as fs from 'fs';
1818
import * as path from 'path';
1919
import * as webpack from 'webpack';
2020
import { merge as webpackMerge } from 'webpack-merge';
21-
import { WebpackConfigOptions } from '../angular-cli-files/models/build-options';
22-
import { getEsVersionForFileName } from '../angular-cli-files/models/webpack-configs';
23-
import { readTsconfig } from '../angular-cli-files/utilities/read-tsconfig';
2421
import { Schema as BrowserBuilderSchema } from '../browser/schema';
2522
import {
2623
NormalizedBrowserBuilderSchema,
2724
defaultProgress,
2825
normalizeBrowserSchema,
2926
} from '../utils';
27+
import { WebpackConfigOptions } from '../utils/build-options';
28+
import { readTsconfig } from '../utils/read-tsconfig';
29+
import { getEsVersionForFileName } from '../webpack/utils/helpers';
3030
import { BuildBrowserFeatures } from './build-browser-features';
3131
import { profilingEnabled } from './environment-options';
3232
import { I18nOptions, configureI18nBuild } from './i18n-options';
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
* found in the LICENSE file at https://angular.io/license
77
*/
88
import * as webpack from 'webpack';
9-
import { CommonJsUsageWarnPlugin } from '../../plugins/webpack';
10-
import { WebpackConfigOptions } from '../build-options';
11-
import { getSourceMapDevTool } from './utils';
9+
import { WebpackConfigOptions } from '../../utils/build-options';
10+
import { CommonJsUsageWarnPlugin } from '../plugins';
11+
import { getSourceMapDevTool } from '../utils/helpers';
1212

1313
export function getBrowserConfig(wco: WebpackConfigOptions): webpack.Configuration {
1414
const { buildOptions } = wco;

0 commit comments

Comments
 (0)