Skip to content

Commit 064883c

Browse files
Merge pull request #187 from angular/master
Please make sure you've read and understood our contributing guidelines;
2 parents e08c051 + ab1dfd0 commit 064883c

File tree

20 files changed

+264
-125
lines changed

20 files changed

+264
-125
lines changed

.github/angular-robot.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,3 +96,4 @@ triage:
9696
size:
9797
circleCiStatusName: "ci/circleci: e2e-cli"
9898
maxSizeIncrease: 10000
99+
comment: true

.monorepo.json

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -42,16 +42,16 @@
4242
},
4343
"packages": {
4444
"@_/benchmark": {
45-
"version": "0.9.0-beta.4",
45+
"version": "0.9.0-rc.1",
4646
"hash": "a9b1f213a4069f789d20021bda616775"
4747
},
4848
"@_/builders": {
49-
"version": "0.9.0-beta.4",
50-
"hash": ""
49+
"version": "0.9.0-rc.1",
50+
"hash": "f34470f978203f13c312094472b0a343"
5151
},
5252
"devkit": {
53-
"version": "0.9.0-beta.4",
54-
"hash": "30ac66398ef7b4f7a5dbd3192d24c665"
53+
"version": "0.9.0-rc.1",
54+
"hash": "3552542bc61cedbeab0fd5b9dd6ae44c"
5555
},
5656
"@angular/cli": {
5757
"name": "Angular CLI",
@@ -62,15 +62,15 @@
6262
"url": "https://github.com/angular/angular-cli/blob/master/packages/angular/cli/README.md"
6363
}
6464
],
65-
"version": "7.0.0-beta.4",
65+
"version": "7.0.0-rc.1",
6666
"snapshotRepo": "angular/cli-builds",
67-
"hash": "861fb8f47bfe7c42b61ba03c923e4c4f"
67+
"hash": "71c538637e997e786449b8be2f5549f1"
6868
},
6969
"@angular/pwa": {
7070
"name": "Angular PWA Schematics",
7171
"section": "Schematics",
72-
"version": "0.9.0-beta.4",
73-
"hash": "5ce80a80caee296f31fd7973d1d1af7c",
72+
"version": "0.9.0-rc.1",
73+
"hash": "57add138d13c50761208286b625d8111",
7474
"snapshotRepo": "angular/angular-pwa-builds"
7575
},
7676
"@angular-devkit/architect": {
@@ -81,21 +81,21 @@
8181
"url": "https://github.com/angular/angular-cli/blob/master/packages/angular_devkit/architect/README.md"
8282
}
8383
],
84-
"version": "0.9.0-beta.4",
85-
"hash": "6b477a8c670ac1aaf8232517932026e9",
84+
"version": "0.9.0-rc.1",
85+
"hash": "6bdbfa3a9aed04efa9509be2b553124c",
8686
"snapshotRepo": "angular/angular-devkit-architect-builds"
8787
},
8888
"@angular-devkit/architect-cli": {
8989
"name": "Architect CLI",
90-
"version": "0.9.0-beta.4",
91-
"hash": "0df3aa7f3bccb0a2390f7691ef610ba4",
90+
"version": "0.9.0-rc.1",
91+
"hash": "c1eb256f9547fb5c836ec70dd2c408f8",
9292
"snapshotRepo": "angular/angular-devkit-architect-cli-builds"
9393
},
9494
"@angular-devkit/benchmark": {
9595
"name": "Benchmark",
9696
"section": "Tooling",
97-
"version": "1.0.0-beta.1",
98-
"hash": "b413c32410c61f3d7096f40f60e69cc9"
97+
"version": "1.0.0-rc.1",
98+
"hash": "c11b907aeab37274a842f73524ec5e73"
9999
},
100100
"@angular-devkit/build-optimizer": {
101101
"name": "Build Optimizer",
@@ -105,8 +105,8 @@
105105
"url": "https://github.com/angular/angular-cli/blob/master/packages/angular_devkit/build_optimizer/README.md"
106106
}
107107
],
108-
"version": "0.9.0-beta.4",
109-
"hash": "5f028763dff86aaebc80476e1f550d9f",
108+
"version": "0.9.0-rc.1",
109+
"hash": "e8feec7840897e25731c34238506deae",
110110
"snapshotRepo": "angular/angular-devkit-build-optimizer-builds"
111111
},
112112
"@angular-devkit/build-ng-packagr": {
@@ -117,8 +117,8 @@
117117
"url": "https://github.com/angular/angular-cli/blob/master/packages/angular_devkit/build_ng_packagr/README.md"
118118
}
119119
],
120-
"version": "0.9.0-beta.4",
121-
"hash": "228c997459d1106b0b9bfcc2636fb838",
120+
"version": "0.9.0-rc.1",
121+
"hash": "977f57fe835fac53197d7b288b760268",
122122
"snapshotRepo": "angular/angular-devkit-build-ng-packagr-builds"
123123
},
124124
"@angular-devkit/build-angular": {
@@ -129,8 +129,8 @@
129129
"url": "https://github.com/angular/angular-cli/blob/master/packages/angular_devkit/build_angular/README.md"
130130
}
131131
],
132-
"version": "0.9.0-beta.4",
133-
"hash": "4d12d45c630abe262a3844b0021801cf",
132+
"version": "0.9.0-rc.1",
133+
"hash": "d0909d1a833531ef8b6d986e66a07311",
134134
"snapshotRepo": "angular/angular-devkit-build-angular-builds"
135135
},
136136
"@angular-devkit/build-webpack": {
@@ -141,9 +141,9 @@
141141
"url": "https://github.com/angular/angular-cli/blob/master/packages/angular_devkit/build_webpack/README.md"
142142
}
143143
],
144-
"version": "0.9.0-beta.4",
144+
"version": "0.9.0-rc.1",
145145
"snapshotRepo": "angular/angular-devkit-build-webpack-builds",
146-
"hash": "5887fbece28cf8e795cadf95b4518de1"
146+
"hash": "a5f928555a349b1e584964911ef55c9a"
147147
},
148148
"@angular-devkit/core": {
149149
"name": "Core",
@@ -153,8 +153,8 @@
153153
"url": "https://github.com/angular/angular-cli/blob/master/packages/angular_devkit/core/README.md"
154154
}
155155
],
156-
"version": "7.0.0-beta.4",
157-
"hash": "7f4c330644a23e8f1383256c9593842f",
156+
"version": "7.0.0-rc.1",
157+
"hash": "a24d7471f344677ee8ca3c8040dfe525",
158158
"snapshotRepo": "angular/angular-devkit-core-builds"
159159
},
160160
"@angular-devkit/schematics": {
@@ -165,43 +165,43 @@
165165
"url": "https://github.com/angular/angular-cli/blob/master/packages/angular_devkit/schematics/README.md"
166166
}
167167
],
168-
"version": "7.0.0-beta.4",
169-
"hash": "30b6fadcf785da5b8d911ab0dca30397",
168+
"version": "7.0.0-rc.1",
169+
"hash": "0aa3a0aade670fd19956e25e2963af54",
170170
"snapshotRepo": "angular/angular-devkit-schematics-builds"
171171
},
172172
"@angular-devkit/schematics-cli": {
173173
"name": "Schematics CLI",
174174
"section": "Tooling",
175-
"version": "0.9.0-beta.4",
176-
"hash": "e143b8e611f5b5d5b24ee1a62bc638ef",
175+
"version": "0.9.0-rc.1",
176+
"hash": "c6b8c15ed7abad30375f61b1e2ef66c0",
177177
"snapshotRepo": "angular/angular-devkit-schematics-cli-builds"
178178
},
179179
"@ngtools/webpack": {
180180
"name": "Webpack Angular Plugin",
181-
"version": "7.0.0-beta.4",
181+
"version": "7.0.0-rc.1",
182182
"section": "Misc",
183-
"hash": "213663b5fd23e27196cf83bef9f0f41c",
183+
"hash": "86d64917c76fb65c37572e7ec2748ccb",
184184
"snapshotRepo": "angular/ngtools-webpack-builds"
185185
},
186186
"@schematics/angular": {
187187
"name": "Angular Schematics",
188188
"section": "Schematics",
189-
"version": "7.0.0-beta.4",
190-
"hash": "963b148fe42112d53ba26cea010089e9",
189+
"version": "7.0.0-rc.1",
190+
"hash": "db9156bfaccc70bac955fb15def05fe3",
191191
"snapshotRepo": "angular/schematics-angular-builds"
192192
},
193193
"@schematics/schematics": {
194194
"name": "Schematics Schematics",
195-
"version": "0.9.0-beta.4",
195+
"version": "0.9.0-rc.1",
196196
"section": "Schematics",
197-
"hash": "a6726ae6664fb43c861e3bb4bb0ccb76",
197+
"hash": "1ad492543597cb539b795682c5c3e1bf",
198198
"snapshotRepo": "angular/schematics-schematics-builds"
199199
},
200200
"@schematics/update": {
201201
"name": "Package Update Schematics",
202-
"version": "0.9.0-beta.4",
202+
"version": "0.9.0-rc.1",
203203
"section": "Schematics",
204-
"hash": "5bbb5fd7ebaf18b452dee36521ab5142",
204+
"hash": "1126ff9f1093897d184a696b6c72764a",
205205
"snapshotRepo": "angular/schematics-update-builds"
206206
}
207207
}

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,11 @@
6868
"quicktype-core": "^5.0.41",
6969
"temp": "^0.8.3",
7070
"tslint": "^5.11.0",
71-
"typescript": "~3.0.1"
71+
"typescript": "~3.1.1"
7272
},
7373
"devDependencies": {
74-
"@angular/compiler": "^7.0.0-beta.4",
75-
"@angular/compiler-cli": "^7.0.0-beta.4",
74+
"@angular/compiler": "^7.0.0-rc.0",
75+
"@angular/compiler-cli": "^7.0.0-rc.0",
7676
"@bazel/typescript": "0.16.1",
7777
"@ngtools/json-schema": "^1.1.0",
7878
"@types/copy-webpack-plugin": "^4.4.1",

packages/angular/cli/lib/config/schema.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1261,6 +1261,13 @@
12611261
]
12621262
},
12631263
"default": []
1264+
},
1265+
"reporters": {
1266+
"type": "array",
1267+
"description": "Karma reporters to use. Directly passed to the karma runner.",
1268+
"items": {
1269+
"type": "string"
1270+
}
12641271
}
12651272
},
12661273
"additionalProperties": false,

packages/angular/cli/utilities/json-schema.ts

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,20 @@ import {
1919
Value,
2020
} from '../models/interface';
2121

22-
function _getEnumFromValue<E, T extends string>(v: json.JsonValue, e: E, d: T): T {
23-
if (typeof v !== 'string') {
24-
return d;
22+
function _getEnumFromValue<E, T extends E[keyof E]>(
23+
value: json.JsonValue,
24+
enumeration: E,
25+
defaultValue: T,
26+
): T {
27+
if (typeof value !== 'string') {
28+
return defaultValue;
2529
}
2630

27-
if (Object.values(e).indexOf(v) !== -1) {
28-
return v as T;
31+
if (Object.values(enumeration).indexOf(value) !== -1) {
32+
return value as unknown as T;
2933
}
3034

31-
return d;
35+
return defaultValue;
3236
}
3337

3438
export async function parseJsonSchemaToSubCommandDescription(
@@ -232,9 +236,9 @@ export async function parseJsonSchemaToOptions(
232236
? $defaultIndex : undefined;
233237

234238
const required = json.isJsonArray(current.required)
235-
? current.required.indexOf(name) != -1 : false;
239+
? current.required.indexOf(name) != -1 : false;
236240
const aliases = json.isJsonArray(current.aliases) ? [...current.aliases].map(x => '' + x)
237-
: current.alias ? ['' + current.alias] : [];
241+
: current.alias ? ['' + current.alias] : [];
238242
const format = typeof current.format == 'string' ? current.format : undefined;
239243
const visible = current.visible === undefined || current.visible === true;
240244
const hidden = !!current.hidden || !visible;

packages/angular_devkit/build_angular/package.json

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -58,19 +58,19 @@
5858
"node-sass": "4.9.3"
5959
},
6060
"devDependencies": {
61-
"@angular/animations": "^7.0.0-beta.4",
61+
"@angular/animations": "^7.0.0-rc.0",
6262
"@angular/cdk": "^6.1.0",
63-
"@angular/common": "^7.0.0-beta.4",
64-
"@angular/compiler": "^7.0.0-beta.4",
65-
"@angular/compiler-cli": "^7.0.0-beta.4",
66-
"@angular/core": "^7.0.0-beta.4",
67-
"@angular/http": "^7.0.0-beta.4",
63+
"@angular/common": "^7.0.0-rc.0",
64+
"@angular/compiler": "^7.0.0-rc.0",
65+
"@angular/compiler-cli": "^7.0.0-rc.0",
66+
"@angular/core": "^7.0.0-rc.0",
67+
"@angular/http": "^7.0.0-rc.0",
6868
"@angular/material": "^6.1.0",
69-
"@angular/platform-browser": "^7.0.0-beta.4",
70-
"@angular/platform-browser-dynamic": "^7.0.0-beta.4",
71-
"@angular/platform-server": "^7.0.0-beta.4",
72-
"@angular/router": "^7.0.0-beta.4",
73-
"@angular/service-worker": "^7.0.0-beta.4",
69+
"@angular/platform-browser": "^7.0.0-rc.0",
70+
"@angular/platform-browser-dynamic": "^7.0.0-rc.0",
71+
"@angular/platform-server": "^7.0.0-rc.0",
72+
"@angular/router": "^7.0.0-rc.0",
73+
"@angular/service-worker": "^7.0.0-rc.0",
7474
"codelyzer": "^4.2.1",
7575
"core-js": "^2.4.1",
7676
"bootstrap": "^4.0.0",

packages/angular_devkit/build_angular/src/angular-cli-files/models/webpack-configs/common.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -150,11 +150,6 @@ export function getCommonConfig(wco: WebpackConfigOptions) {
150150

151151
const copyWebpackPluginInstance = new CopyWebpackPlugin(copyWebpackPluginPatterns,
152152
copyWebpackPluginOptions);
153-
154-
// Save options so we can use them in eject.
155-
(copyWebpackPluginInstance as any)['copyWebpackPluginPatterns'] = copyWebpackPluginPatterns;
156-
(copyWebpackPluginInstance as any)['copyWebpackPluginOptions'] = copyWebpackPluginOptions;
157-
158153
extraPlugins.push(copyWebpackPluginInstance);
159154
}
160155

packages/angular_devkit/build_angular/src/angular-cli-files/plugins/karma.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,9 +174,11 @@ const init: any = (config: any, emitter: any, customFileHandlers: any) => {
174174
blocked = [];
175175
}
176176

177+
let lastCompilationHash: string | undefined;
177178
compiler.hooks.done.tap('karma', (stats: any) => {
178-
// Don't refresh karma when there are webpack errors.
179-
if (stats.compilation.errors.length === 0) {
179+
// Refresh karma only when there are no webpack errors, and if the compilation changed.
180+
if (stats.compilation.errors.length === 0 && stats.hash != lastCompilationHash) {
181+
lastCompilationHash = stats.hash;
180182
emitter.refreshFiles();
181183
}
182184
unblock();

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,13 @@ export class KarmaBuilder implements Builder<KarmaBuilderSchema> {
7171
karmaOptions.browsers = options.browsers.split(',');
7272
}
7373

74+
if (options.reporters) {
75+
// Split along commas to make it more natural, and remove empty strings.
76+
karmaOptions.reporters = options.reporters
77+
.reduce<string[]>((acc, curr) => acc.concat(curr.split(/,/)), [])
78+
.filter(x => !!x);
79+
}
80+
7481
const sourceRoot = builderConfig.sourceRoot && resolve(root, builderConfig.sourceRoot);
7582

7683
karmaOptions.buildWebpack = {

packages/angular_devkit/build_angular/src/karma/schema.d.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,9 @@ export interface KarmaBuilderSchema extends Pick<BrowserBuilderSchema,
3232
* Globs to exclude from code coverage.
3333
*/
3434
codeCoverageExclude: string[];
35+
36+
/**
37+
* Karma reporters to use. Directly passed to the karma runner.
38+
*/
39+
reporters?: string[];
3540
}

packages/angular_devkit/build_angular/src/karma/schema.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,13 @@
150150
]
151151
},
152152
"default": []
153+
},
154+
"reporters": {
155+
"type": "array",
156+
"description": "Karma reporters to use. Directly passed to the karma runner.",
157+
"items": {
158+
"type": "string"
159+
}
153160
}
154161
},
155162
"additionalProperties": false,

packages/angular_devkit/build_angular/test/karma/rebuilds_spec_large.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ import { host, karmaTargetSpec } from '../utils';
1313

1414
// Karma watch mode is currently bugged:
1515
// - errors print a huge stack trace
16-
// - karma does not have a way to close the server gracefully.
16+
// - karma does not have a way to close the server
17+
// gracefully (https://github.com/karma-runner/karma/issues/3149)
1718
// TODO: fix these before 6.0 final.
1819
xdescribe('Karma Builder watch mode', () => {
1920
beforeEach(done => host.initialize().toPromise().then(done, done.fail));
@@ -64,4 +65,9 @@ xdescribe('Karma Builder watch mode', () => {
6465
take(3),
6566
).toPromise().then(done, done.fail);
6667
}, 30000);
68+
69+
it('does not rebuild when nothing changed', (done) => {
70+
// Start the server in watch mode, wait for the first build to finish, touch
71+
// test.js without changing it, wait 5s then exit unsuscribe, verify only one event was emitted.
72+
}, 30000);
6773
});

packages/angular_devkit/build_ng_packagr/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
"ng-packagr": "^2.2.0 || ^3.0.0 || ^4.0.0"
1616
},
1717
"devDependencies": {
18-
"@angular/compiler": "^7.0.0-beta.4",
19-
"@angular/compiler-cli": "^7.0.0-beta.4",
18+
"@angular/compiler": "^7.0.0-rc.0",
19+
"@angular/compiler-cli": "^7.0.0-rc.0",
2020
"ng-packagr": "^4.2.0",
2121
"tsickle": ">=0.27.3",
2222
"tslib": "^1.9.0"

packages/angular_devkit/build_optimizer/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"dependencies": {
1111
"loader-utils": "1.1.0",
1212
"source-map": "0.5.6",
13-
"typescript": "3.0.1",
13+
"typescript": "3.1.1",
1414
"webpack-sources": "1.2.0"
1515
}
1616
}

0 commit comments

Comments
 (0)