diff --git a/integration/README.md b/integration/README.md
index ee4ab3699f..9367c08f2e 100644
--- a/integration/README.md
+++ b/integration/README.md
@@ -6,15 +6,12 @@ to work, so they allow high-fidelity reproductions of real-world issues.
For this to work, we first build the Angular distribution just like we would
publish it to npm, then install the distribution into each app.
-To test Angular CLI applications, we generate integration tests such as `cli-hello-world`.
-This was generated with a current version of the CLI, and the only modification was replacement of `@angular/*` packages with their counterparts coming from `file:../../dist/packages-dist/*`.
-When a significant change is released in the CLI, the application should be re-generated from scratch:
+To test Angular CLI applications, we use the integration test `cli-hello-world`.
+When a significant change is released in the CLI, the application should be updated with `ng update`:
```bash
$ cd integration
-$ rm -rf cli-hello-world
-$ ng new cli-hello-world
-# Edit cli-hello-world/package.json to point the @angular packages to dist/packages-dist, and preserve local mods to
+$ ng update
# ng build
# ng test
# typescript version
diff --git a/integration/cli-hello-world/angular.json b/integration/cli-hello-world/angular.json
index bc8ce2b0cc..0e6f64e89a 100644
--- a/integration/cli-hello-world/angular.json
+++ b/integration/cli-hello-world/angular.json
@@ -137,6 +137,11 @@
"options": {
"protractorConfig": "./protractor.conf.js",
"devServerTarget": "cli-hello-world:serve"
+ },
+ "configurations": {
+ "production": {
+ "devServerTarget": "cli-hello-world:serve:production"
+ }
}
},
"lint": {
diff --git a/integration/cli-hello-world/e2e/app.e2e-spec.ts b/integration/cli-hello-world/e2e/app.e2e-spec.ts
index 5651a8a3a1..899e84d526 100644
--- a/integration/cli-hello-world/e2e/app.e2e-spec.ts
+++ b/integration/cli-hello-world/e2e/app.e2e-spec.ts
@@ -11,4 +11,9 @@ describe('cli-hello-world App', () => {
page.navigateTo();
expect(page.getParagraphText()).toEqual('Welcome to app!');
});
+
+ it('the percent pipe should work', () => {
+ page.navigateTo();
+ expect(page.getPipeContent()).toEqual('100 % awesome');
+ })
});
diff --git a/integration/cli-hello-world/e2e/app.po.ts b/integration/cli-hello-world/e2e/app.po.ts
index 82ea75ba50..ae3d5f7f15 100644
--- a/integration/cli-hello-world/e2e/app.po.ts
+++ b/integration/cli-hello-world/e2e/app.po.ts
@@ -8,4 +8,8 @@ export class AppPage {
getParagraphText() {
return element(by.css('app-root h1')).getText();
}
+
+ getPipeContent() {
+ return element(by.css('app-root p')).getText();
+ }
}
diff --git a/integration/cli-hello-world/package.json b/integration/cli-hello-world/package.json
index c929434fc9..2486ce07da 100644
--- a/integration/cli-hello-world/package.json
+++ b/integration/cli-hello-world/package.json
@@ -3,12 +3,13 @@
"version": "0.0.0",
"license": "MIT",
"scripts": {
- "ng": "ng",
- "start": "ng serve",
"build": "ng build --prod --progress false",
- "test": "ng test",
+ "e2e": "ng e2e",
"lint": "ng lint",
- "e2e": "ng e2e"
+ "ng": "ng",
+ "postinstall": "webdriver-manager update --gecko false --standalone false $CHROMEDRIVER_VERSION_ARG",
+ "start": "ng serve",
+ "test": "ng test && ng e2e --webdriver-update=false && ng e2e --prod --webdriver-update=false"
},
"private": true,
"dependencies": {
@@ -27,13 +28,13 @@
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.5.0",
- "@angular/cli": "^6.0.0-rc.0",
+ "@angular/cli": "^6.0.0-rc.5",
"@angular/compiler-cli": "file:../../dist/packages-dist/compiler-cli",
"@angular/language-service": "file:../../dist/packages-dist/language-service",
"@types/jasmine": "~2.8.3",
"@types/jasminewd2": "~2.0.2",
"@types/node": "~6.0.60",
- "codelyzer": "^4.0.1",
+ "codelyzer": "^4.3.0",
"jasmine-core": "~2.8.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~2.0.0",
@@ -41,7 +42,7 @@
"karma-coverage-istanbul-reporter": "^1.2.1",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
- "protractor": "~5.1.2",
+ "protractor": "file:../../node_modules/protractor",
"ts-node": "~4.1.0",
"tslint": "~5.9.1",
"typescript": "file:../../node_modules/typescript"
diff --git a/integration/cli-hello-world/protractor.conf.js b/integration/cli-hello-world/protractor.conf.js
index 0422074c16..1c07cbce63 100644
--- a/integration/cli-hello-world/protractor.conf.js
+++ b/integration/cli-hello-world/protractor.conf.js
@@ -9,8 +9,9 @@ exports.config = {
'./e2e/**/*.e2e-spec.ts'
],
capabilities: {
- 'browserName': 'chrome',
+ browserName: 'chrome',
chromeOptions: {
+ binary: process.env.CHROME_BIN,
args: ['--no-sandbox']
}
},
diff --git a/integration/cli-hello-world/src/app/app.component.html b/integration/cli-hello-world/src/app/app.component.html
index fa2706a406..fade7834d1 100644
--- a/integration/cli-hello-world/src/app/app.component.html
+++ b/integration/cli-hello-world/src/app/app.component.html
@@ -5,6 +5,7 @@
+
{{ 1 | percent }} awesome
Here are some links to help you start:
-
diff --git a/integration/cli-hello-world/src/app/app.module.ts b/integration/cli-hello-world/src/app/app.module.ts
index 926975afe8..314179fcf7 100644
--- a/integration/cli-hello-world/src/app/app.module.ts
+++ b/integration/cli-hello-world/src/app/app.module.ts
@@ -1,9 +1,12 @@
import { BrowserModule } from '@angular/platform-browser';
-import { NgModule } from '@angular/core';
-
+import { LOCALE_ID, NgModule } from '@angular/core';
+import { registerLocaleData } from '@angular/common';
+import localeFr from '@angular/common/locales/fr';
import { AppComponent } from './app.component';
+// adding this code to detect issues like https://github.com/angular/angular-cli/issues/10322
+registerLocaleData(localeFr);
@NgModule({
declarations: [
@@ -12,7 +15,7 @@ import { AppComponent } from './app.component';
imports: [
BrowserModule
],
- providers: [],
+ providers: [{ provide: LOCALE_ID, useValue: 'fr' }],
bootstrap: [AppComponent]
})
export class AppModule { }
diff --git a/integration/cli-hello-world/yarn.lock b/integration/cli-hello-world/yarn.lock
index 2b150588b8..9f776ee46c 100644
--- a/integration/cli-hello-world/yarn.lock
+++ b/integration/cli-hello-world/yarn.lock
@@ -2,21 +2,21 @@
# yarn lockfile v1
-"@angular-devkit/architect@0.5.4":
- version "0.5.4"
- resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.5.4.tgz#8c3cad64ec25df3dc61b06d2c1cec79bed649df5"
+"@angular-devkit/architect@0.5.7":
+ version "0.5.7"
+ resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.5.7.tgz#f0bbf10265eef1481c24cc4fc5330dc2326f3062"
dependencies:
- "@angular-devkit/core" "0.5.4"
+ "@angular-devkit/core" "0.5.7"
rxjs "^6.0.0-beta.3"
"@angular-devkit/build-angular@~0.5.0":
- version "0.5.4"
- resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.5.4.tgz#13c95714e6f5340d31c54cb6d3af64bcc96a1669"
+ version "0.5.7"
+ resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.5.7.tgz#a28f3fa88a8b62720cd7b96583d0ed3e2ec353dd"
dependencies:
- "@angular-devkit/architect" "0.5.4"
- "@angular-devkit/build-optimizer" "0.5.4"
- "@angular-devkit/core" "0.5.4"
- "@ngtools/webpack" "6.0.0-rc.2.4"
+ "@angular-devkit/architect" "0.5.7"
+ "@angular-devkit/build-optimizer" "0.5.7"
+ "@angular-devkit/core" "0.5.7"
+ "@ngtools/webpack" "6.0.0-rc.5"
ajv "^6.0.0"
autoprefixer "^8.1.0"
cache-loader "^1.2.2"
@@ -66,66 +66,64 @@
webpack-sources "^1.1.0"
webpack-subresource-integrity "^1.1.0-rc.4"
-"@angular-devkit/build-optimizer@0.5.4":
- version "0.5.4"
- resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.5.4.tgz#66ea44c37e570ad85fca11ac036ee8e7559ce4e1"
+"@angular-devkit/build-optimizer@0.5.7":
+ version "0.5.7"
+ resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.5.7.tgz#a66e21707fe65131549133bc03ebff4dbd61cbe8"
dependencies:
loader-utils "^1.1.0"
source-map "^0.5.6"
typescript "~2.7.2"
webpack-sources "^1.1.0"
-"@angular-devkit/core@0.5.4":
- version "0.5.4"
- resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-0.5.4.tgz#94b7462f5039cf811c7e06db0c87bb2299d61c71"
+"@angular-devkit/core@0.5.7":
+ version "0.5.7"
+ resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-0.5.7.tgz#77cff4d1d0a29040c8771b99cb849909691c3653"
dependencies:
- ajv "~5.5.1"
+ ajv "~6.4.0"
chokidar "^1.7.0"
rxjs "^6.0.0-beta.3"
source-map "^0.5.6"
-"@angular-devkit/schematics@0.5.4":
- version "0.5.4"
- resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-0.5.4.tgz#6a4b0abb30091fa1a5d0751737f9ed036ac8704f"
+"@angular-devkit/schematics@0.5.7":
+ version "0.5.7"
+ resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-0.5.7.tgz#a3780798147451d2455960060c22d7b499655e4a"
dependencies:
- "@angular-devkit/core" "0.5.4"
+ "@angular-devkit/core" "0.5.7"
"@ngtools/json-schema" "^1.1.0"
rxjs "^6.0.0-beta.3"
"@angular/animations@file:../../dist/packages-dist/animations":
- version "6.0.0-rc.3-c99c2177b4"
+ version "6.0.0-rc.5"
dependencies:
tslib "^1.9.0"
-"@angular/cli@^6.0.0-rc.0":
- version "6.0.0-rc.2"
- resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-6.0.0-rc.2.tgz#2831fd7e2dd1618d85bc38fcb5ca3c9fd7d8ce78"
+"@angular/cli@^6.0.0-rc.5":
+ version "6.0.0-rc.5"
+ resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-6.0.0-rc.5.tgz#7eeb00697342b7e0412abcdf0b3c3a4c6b85dd56"
dependencies:
- "@angular-devkit/architect" "0.5.4"
- "@angular-devkit/core" "0.5.4"
- "@angular-devkit/schematics" "0.5.4"
- "@schematics/angular" "0.5.4"
- "@schematics/update" "0.5.4"
+ "@angular-devkit/architect" "0.5.7"
+ "@angular-devkit/core" "0.5.7"
+ "@angular-devkit/schematics" "0.5.7"
+ "@schematics/angular" "0.5.7"
+ "@schematics/update" "0.5.7"
chalk "~2.2.0"
- ember-cli-string-utils "^1.0.0"
fs-extra "^4.0.0"
- lodash "^4.11.1"
node-modules-path "^1.0.0"
opn "~5.1.0"
resolve "^1.1.7"
- rxjs "^6.0.0-rc.0"
+ rxjs "^6.0.0-turbo-rc.4"
semver "^5.1.0"
silent-error "^1.0.0"
symbol-observable "^1.2.0"
yargs-parser "^9.0.2"
"@angular/common@file:../../dist/packages-dist/common":
- version "6.0.0-rc.3-c99c2177b4"
+ version "6.0.0-rc.5"
dependencies:
tslib "^1.9.0"
"@angular/compiler-cli@file:../../dist/packages-dist/compiler-cli":
- version "6.0.0-rc.3-c99c2177b4"
+ version "6.0.0-rc.5"
dependencies:
chokidar "^1.4.2"
minimist "^1.2.0"
@@ -133,40 +131,40 @@
tsickle "^0.27.2"
"@angular/compiler@file:../../dist/packages-dist/compiler":
- version "6.0.0-rc.3-c99c2177b4"
+ version "6.0.0-rc.5"
dependencies:
tslib "^1.9.0"
"@angular/core@file:../../dist/packages-dist/core":
- version "6.0.0-rc.3-c99c2177b4"
+ version "6.0.0-rc.5"
dependencies:
tslib "^1.9.0"
"@angular/forms@file:../../dist/packages-dist/forms":
- version "6.0.0-rc.3-c99c2177b4"
+ version "6.0.0-rc.5"
dependencies:
tslib "^1.9.0"
"@angular/http@file:../../dist/packages-dist/http":
- version "6.0.0-rc.3-c99c2177b4"
+ version "6.0.0-rc.5"
dependencies:
tslib "^1.9.0"
"@angular/language-service@file:../../dist/packages-dist/language-service":
- version "6.0.0-rc.3-c99c2177b4"
+ version "6.0.0-rc.5"
"@angular/platform-browser-dynamic@file:../../dist/packages-dist/platform-browser-dynamic":
- version "6.0.0-rc.3-c99c2177b4"
+ version "6.0.0-rc.5"
dependencies:
tslib "^1.9.0"
"@angular/platform-browser@file:../../dist/packages-dist/platform-browser":
- version "6.0.0-rc.3-c99c2177b4"
+ version "6.0.0-rc.5"
dependencies:
tslib "^1.9.0"
"@angular/router@file:../../dist/packages-dist/router":
- version "6.0.0-rc.3-c99c2177b4"
+ version "6.0.0-rc.5"
dependencies:
tslib "^1.9.0"
@@ -174,28 +172,28 @@
version "1.1.0"
resolved "https://registry.yarnpkg.com/@ngtools/json-schema/-/json-schema-1.1.0.tgz#c3a0c544d62392acc2813a42c8a0dc6f58f86922"
-"@ngtools/webpack@6.0.0-rc.2.4":
- version "6.0.0-rc.2.4"
- resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-6.0.0-rc.2.4.tgz#b3f727f2f4f750e411e220a478237f720ef22e9c"
+"@ngtools/webpack@6.0.0-rc.5":
+ version "6.0.0-rc.5"
+ resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-6.0.0-rc.5.tgz#841c7cc8cde31e195e46703fcd925330f3cb2727"
dependencies:
- "@angular-devkit/core" "0.5.4"
+ "@angular-devkit/core" "0.5.7"
tree-kill "^1.0.0"
webpack-sources "^1.1.0"
-"@schematics/angular@0.5.4":
- version "0.5.4"
- resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-0.5.4.tgz#1c87706703a985fd291d283a4db1a9fc0aa6238f"
+"@schematics/angular@0.5.7":
+ version "0.5.7"
+ resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-0.5.7.tgz#4260ffc2728453697a42a58560666775f31bc74c"
dependencies:
- "@angular-devkit/core" "0.5.4"
- "@angular-devkit/schematics" "0.5.4"
- typescript "~2.6.2"
+ "@angular-devkit/core" "0.5.7"
+ "@angular-devkit/schematics" "0.5.7"
+ typescript ">=2.6.2 <2.8"
-"@schematics/update@0.5.4":
- version "0.5.4"
- resolved "https://registry.yarnpkg.com/@schematics/update/-/update-0.5.4.tgz#065c2f4be0d2fc45bcf2256cef5ce7f684937306"
+"@schematics/update@0.5.7":
+ version "0.5.7"
+ resolved "https://registry.yarnpkg.com/@schematics/update/-/update-0.5.7.tgz#9ae1ab70cc77a0d14c0148df2737dbcd3988fedd"
dependencies:
- "@angular-devkit/core" "0.5.4"
- "@angular-devkit/schematics" "0.5.4"
+ "@angular-devkit/core" "0.5.7"
+ "@angular-devkit/schematics" "0.5.7"
rxjs "^6.0.0-beta.3"
semver "^5.3.0"
semver-intersect "^1.1.2"
@@ -319,7 +317,7 @@ ajv@^4.9.1:
co "^4.6.0"
json-stable-stringify "^1.0.1"
-ajv@^5.0.0, ajv@^5.1.0, ajv@~5.5.1:
+ajv@^5.0.0, ajv@^5.1.0:
version "5.5.2"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
dependencies:
@@ -328,7 +326,7 @@ ajv@^5.0.0, ajv@^5.1.0, ajv@~5.5.1:
fast-json-stable-stringify "^2.0.0"
json-schema-traverse "^0.3.0"
-ajv@^6.0.0, ajv@^6.1.0:
+ajv@^6.0.0, ajv@^6.1.0, ajv@~6.4.0:
version "6.4.0"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.4.0.tgz#d3aff78e9277549771daf0164cff48482b754fc6"
dependencies:
@@ -1282,15 +1280,15 @@ code-point-at@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
-codelyzer@^4.0.1:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/codelyzer/-/codelyzer-4.1.0.tgz#3117754538d8f5ffa36dff91d340573a836cf373"
+codelyzer@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/codelyzer/-/codelyzer-4.3.0.tgz#6bf3ba68efd9d655a451ecaa14a2852001a43dfb"
dependencies:
app-root-path "^2.0.1"
css-selector-tokenizer "^0.7.0"
cssauron "^1.4.0"
semver-dsl "^1.0.1"
- source-map "^0.5.6"
+ source-map "^0.5.7"
sprintf-js "^1.0.3"
collection-visit@^1.0.0:
@@ -1962,10 +1960,6 @@ elliptic@^6.0.0:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.0"
-ember-cli-string-utils@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/ember-cli-string-utils/-/ember-cli-string-utils-1.1.0.tgz#39b677fc2805f55173735376fcef278eaa4452a1"
-
emojis-list@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
@@ -3894,7 +3888,7 @@ lodash.tail@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664"
-lodash@^4.0.0, lodash@^4.11.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@~4.17.4:
+lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@~4.17.4:
version "4.17.5"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511"
@@ -5009,9 +5003,8 @@ promise@^7.1.1:
dependencies:
asap "~2.0.3"
-protractor@~5.1.2:
+"protractor@file:../../node_modules/protractor":
version "5.1.2"
- resolved "https://registry.yarnpkg.com/protractor/-/protractor-5.1.2.tgz#9b221741709a4c62d5cd53c6aadd54a71137e95f"
dependencies:
"@types/node" "^6.0.46"
"@types/q" "^0.0.32"
@@ -5606,8 +5599,14 @@ run-queue@^1.0.0, run-queue@^1.0.3:
dependencies:
aproba "^1.1.1"
-rxjs@^6.0.0-beta.3, rxjs@^6.0.0-rc.0, "rxjs@file:../../node_modules/rxjs":
- version "6.0.0-tactical-rc.1"
+rxjs@^6.0.0-beta.3, rxjs@^6.0.0-turbo-rc.4:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.0.0.tgz#d647e029b5854617f994c82fe57a4c6747b352da"
+ dependencies:
+ tslib "^1.9.0"
+
+"rxjs@file:../../node_modules/rxjs":
+ version "6.0.0-uncanny-rc.7"
dependencies:
tslib "^1.9.0"
@@ -6614,17 +6613,13 @@ typedarray@^0.0.6, typedarray@~0.0.5:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
-"typescript@file:../../node_modules/typescript":
- version "2.7.2"
-
-typescript@~2.6.2:
- version "2.6.2"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.2.tgz#3c5b6fd7f6de0914269027f03c0946758f7673a4"
-
-typescript@~2.7.2:
+"typescript@>=2.6.2 <2.8", typescript@~2.7.2:
version "2.7.2"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.7.2.tgz#2d615a1ef4aee4f574425cdff7026edf81919836"
+"typescript@file:../../node_modules/typescript":
+ version "2.7.2"
+
uglify-es@^3.3.4:
version "3.3.9"
resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677"
@@ -7217,4 +7212,4 @@ yn@^2.0.0:
resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a"
"zone.js@file:../../node_modules/zone.js":
- version "0.8.25"
+ version "0.8.26"