From face812d2ce51bcb84aa62f280ab9c1686a2732d Mon Sep 17 00:00:00 2001 From: Foxandxss Date: Fri, 24 Jun 2016 15:10:25 +0200 Subject: [PATCH 01/85] use angular2-template-loader to avoid requires --- CHANGELOG.md | 5 +++++ package.json | 1 + src/app/about/about.component.ts | 4 ++-- src/app/app.component.ts | 4 ++-- src/app/home/home.component.ts | 4 ++-- webpack.config.js | 11 +---------- 6 files changed, 13 insertions(+), 16 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..3b9b9b09 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,5 @@ +# Changelog + +## 24 June 2016 + +- Be able to import Component's templates and styles without using require. diff --git a/package.json b/package.json index f9c6ca14..1ceb6c12 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "zone.js": "0.6.12" }, "devDependencies": { + "angular2-template-loader": "^0.4.0", "autoprefixer": "^6.3.2", "codelyzer": "0.0.19", "copy-webpack-plugin": "^3.0.0", diff --git a/src/app/about/about.component.ts b/src/app/about/about.component.ts index 85dab66a..a2e4ad51 100644 --- a/src/app/about/about.component.ts +++ b/src/app/about/about.component.ts @@ -2,8 +2,8 @@ import { Component, OnInit } from '@angular/core'; @Component({ selector: 'my-about', - template: require('./about.component.html'), - styles: [require('./about.component.scss')] + templateUrl: './about.component.html', + styleUrls: ['./about.component.scss'] }) export class AboutComponent implements OnInit { diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 8e8d1c33..a4c195a0 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -13,8 +13,8 @@ import '../style/app.scss'; selector: 'my-app', // providers: [ApiService], directives: [...ROUTER_DIRECTIVES], - template: require('./app.component.html'), - styles: [require('./app.component.scss')], + templateUrl: './app.component.html', + styleUrls: ['./app.component.scss'], }) export class AppComponent { url = 'https://github.com/preboot/angular2-webpack'; diff --git a/src/app/home/home.component.ts b/src/app/home/home.component.ts index 9043761e..6bce6ebe 100644 --- a/src/app/home/home.component.ts +++ b/src/app/home/home.component.ts @@ -2,8 +2,8 @@ import { Component, OnInit } from '@angular/core'; @Component({ selector: 'my-home', - template: require('./home.component.html'), - styles: [require('./home.component.scss')] + templateUrl: './home.component.html', + styleUrls: ['./home.component.scss'] }) export class HomeComponent implements OnInit { diff --git a/webpack.config.js b/webpack.config.js index cd254f4c..ae533a16 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -87,16 +87,7 @@ module.exports = function makeWebpackConfig() { // Support for .ts files. { test: /\.ts$/, - loader: 'ts', - query: { - 'ignoreDiagnostics': [ - 2403, // 2403 -> Subsequent variable declarations - 2300, // 2300 -> Duplicate identifier - 2374, // 2374 -> Duplicate number index signature - 2375, // 2375 -> Duplicate string index signature - 2502 // 2502 -> Referenced directly or indirectly - ] - }, + loaders: ['ts', 'angular2-template-loader'], exclude: [isTest ? /\.(e2e)\.ts$/ : /\.(spec|e2e)\.ts$/, /node_modules\/(?!(ng2-.+))/] }, From 26811ef8cc32240dca1504719f5086c7df1dacbc Mon Sep 17 00:00:00 2001 From: Foxandxss Date: Sat, 2 Jul 2016 13:56:00 +0200 Subject: [PATCH 02/85] chore: update to Angular RC4 --- package.json | 15 ++++++++------- src/main.ts | 9 ++------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 1ceb6c12..36b0d917 100644 --- a/package.json +++ b/package.json @@ -23,13 +23,14 @@ "postinstall": "npm run webdriver-update && typings install" }, "dependencies": { - "@angular/common": "2.0.0-rc.2", - "@angular/compiler": "2.0.0-rc.2", - "@angular/core": "2.0.0-rc.2", - "@angular/http": "2.0.0-rc.2", - "@angular/platform-browser": "2.0.0-rc.2", - "@angular/platform-browser-dynamic": "2.0.0-rc.2", - "@angular/router": "3.0.0-alpha.7", + "@angular/common": "2.0.0-rc.4", + "@angular/compiler": "2.0.0-rc.4", + "@angular/core": "2.0.0-rc.4", + "@angular/forms": "0.2.0", + "@angular/http": "2.0.0-rc.4", + "@angular/platform-browser": "2.0.0-rc.4", + "@angular/platform-browser-dynamic": "2.0.0-rc.4", + "@angular/router": "3.0.0-beta.2", "es6-shim": "^0.35.0", "reflect-metadata": "0.1.3", "rxjs": "5.0.0-beta.6", diff --git a/src/main.ts b/src/main.ts index 1b253fa6..a49a1da5 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,25 +1,20 @@ import { enableProdMode } from '@angular/core'; import { bootstrap } from '@angular/platform-browser-dynamic'; -import { ELEMENT_PROBE_PROVIDERS } from '@angular/platform-browser'; import { HashLocationStrategy, LocationStrategy } from '@angular/common'; import { HTTP_PROVIDERS } from '@angular/http'; import { AppComponent } from './app/app.component'; import { APP_ROUTER_PROVIDERS } from './app/app.routes'; -const ENV_PROVIDERS = []; // depending on the env mode, enable prod mode or add debugging modules if (process.env.ENV === 'build') { enableProdMode(); -} else { - ENV_PROVIDERS.push(ELEMENT_PROBE_PROVIDERS); } bootstrap(AppComponent, [ // These are dependencies of our App - ...HTTP_PROVIDERS, - ...APP_ROUTER_PROVIDERS, - ...ENV_PROVIDERS, + HTTP_PROVIDERS, + APP_ROUTER_PROVIDERS, { provide: LocationStrategy, useClass: HashLocationStrategy } // use #/ routes, remove this for HTML5 mode ]) .catch(err => console.error(err)); From adc2a61d912f966da5fd9d076de5ec1d8440d98a Mon Sep 17 00:00:00 2001 From: Foxandxss Date: Sun, 3 Jul 2016 23:53:42 +0200 Subject: [PATCH 03/85] chore: switch to HTML5 Mode --- CHANGELOG.md | 4 ++++ src/main.ts | 4 +--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3b9b9b09..ef4ca1e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 3 July 2016 + +- Use html5mode instead of hash navigation. + ## 24 June 2016 - Be able to import Component's templates and styles without using require. diff --git a/src/main.ts b/src/main.ts index a49a1da5..922d594f 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,6 +1,5 @@ import { enableProdMode } from '@angular/core'; import { bootstrap } from '@angular/platform-browser-dynamic'; -import { HashLocationStrategy, LocationStrategy } from '@angular/common'; import { HTTP_PROVIDERS } from '@angular/http'; import { AppComponent } from './app/app.component'; @@ -14,7 +13,6 @@ if (process.env.ENV === 'build') { bootstrap(AppComponent, [ // These are dependencies of our App HTTP_PROVIDERS, - APP_ROUTER_PROVIDERS, - { provide: LocationStrategy, useClass: HashLocationStrategy } // use #/ routes, remove this for HTML5 mode + APP_ROUTER_PROVIDERS ]) .catch(err => console.error(err)); From 6b4a5c65dd1acb01aafb5a9c2efae15682d18cff Mon Sep 17 00:00:00 2001 From: Damian Date: Fri, 8 Jul 2016 14:48:35 +0200 Subject: [PATCH 04/85] update tests for RC4 --- src/app/about/about.component.spec.ts | 9 ++++---- src/app/app.component.spec.ts | 33 ++++++++++++++------------- src/app/home/home.component.spec.ts | 10 ++++---- src/app/shared/api.service.spec.ts | 11 ++++----- 4 files changed, 29 insertions(+), 34 deletions(-) diff --git a/src/app/about/about.component.spec.ts b/src/app/about/about.component.spec.ts index ffcb5ef0..dc6be7e2 100644 --- a/src/app/about/about.component.spec.ts +++ b/src/app/about/about.component.spec.ts @@ -1,9 +1,7 @@ import { - it, - describe, async, inject, - beforeEachProviders + addProviders } from '@angular/core/testing'; import { TestComponentBuilder } from '@angular/compiler/testing'; @@ -11,8 +9,9 @@ import { TestComponentBuilder } from '@angular/compiler/testing'; import { AboutComponent } from './about.component'; describe('About Component', () => { - - beforeEachProviders(() => []); + beforeEach(() => { + addProviders([]); + }); it('should ...', async(inject([TestComponentBuilder], (tcb: TestComponentBuilder) => { tcb.createAsync(AboutComponent).then((fixture) => { diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts index 5c765905..3e8c2705 100644 --- a/src/app/app.component.spec.ts +++ b/src/app/app.component.spec.ts @@ -1,13 +1,11 @@ import { - it, inject, - beforeEachProviders + addProviders } from '@angular/core/testing'; // to use Translate Service, we need Http, and to test Http we need to mock the backend import { BaseRequestOptions, Http } from '@angular/http'; import { MockBackend } from '@angular/http/testing'; -import { provide } from '@angular/core'; // Load the implementations that should be tested import { ApiService } from './shared'; @@ -15,19 +13,22 @@ import { AppComponent } from './app.component'; describe('App', () => { // provide our implementations or mocks to the dependency injector - beforeEachProviders(() => [ - AppComponent, - ApiService, - BaseRequestOptions, - MockBackend, - // Provide a mocked (fake) backend for Http - provide(Http, { - useFactory: function useFactory(backend, defaultOptions) { - return new Http(backend, defaultOptions); - }, - deps: [MockBackend, BaseRequestOptions] - }) - ]); + beforeEach(() => { + addProviders([ + AppComponent, + ApiService, + BaseRequestOptions, + MockBackend, + // Provide a mocked (fake) backend for Http + { + provide: Http, + deps: [MockBackend, BaseRequestOptions], + useFactory: function useFactory(backend, defaultOptions) { + return new Http(backend, defaultOptions); + } + } + ]); + }); it('should have an url', inject([AppComponent], (app: AppComponent) => { expect(app.url).toEqual('https://github.com/preboot/angular2-webpack'); diff --git a/src/app/home/home.component.spec.ts b/src/app/home/home.component.spec.ts index 36a45618..2c05325c 100644 --- a/src/app/home/home.component.spec.ts +++ b/src/app/home/home.component.spec.ts @@ -1,8 +1,6 @@ import { - it, inject, - describe, - beforeEachProviders, + addProviders, } from '@angular/core/testing'; // Load the implementations that should be tested @@ -10,9 +8,9 @@ import { HomeComponent } from './home.component'; describe('Home', () => { // provide our implementations or mocks to the dependency injector - beforeEachProviders(() => [ - HomeComponent - ]); + beforeEach(() => { + addProviders([HomeComponent]); + }); it('should log ngOnInit', inject([HomeComponent], (home) => { spyOn(console, 'log'); diff --git a/src/app/shared/api.service.spec.ts b/src/app/shared/api.service.spec.ts index 4f98e70f..7763ab7e 100644 --- a/src/app/shared/api.service.spec.ts +++ b/src/app/shared/api.service.spec.ts @@ -1,19 +1,16 @@ import { - it, - describe, - expect, inject, - beforeEachProviders + addProviders } from '@angular/core/testing'; import { ApiService } from './api.service'; describe('Api Service', () => { - - beforeEachProviders(() => [ApiService]); + beforeEach(() => { + addProviders([ApiService]); + }); it('should ...', inject([ApiService], (api: ApiService) => { expect(api.title).toBe('Angular 2'); })); - }); From b96e63acb3032f2e0b59fa2d3a98347630ecfe6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesu=CC=81s=20Rodri=CC=81guez?= Date: Mon, 25 Jul 2016 19:43:03 +0200 Subject: [PATCH 05/85] chore: update devDependencies --- package.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 36b0d917..0fe164ea 100644 --- a/package.json +++ b/package.json @@ -39,24 +39,24 @@ "devDependencies": { "angular2-template-loader": "^0.4.0", "autoprefixer": "^6.3.2", - "codelyzer": "0.0.19", + "codelyzer": "0.0.26", "copy-webpack-plugin": "^3.0.0", "css-loader": "^0.23.0", "extract-text-webpack-plugin": "^1.0.1", - "file-loader": "^0.8.4", + "file-loader": "^0.9.0", "html-loader": "^0.4.0", "html-webpack-plugin": "^2.8.1", "istanbul-instrumenter-loader": "^0.2.0", "jasmine-core": "^2.3.4", "jasmine-spec-reporter": "^2.4.0", "json-loader": "^0.5.3", - "karma": "0.13.22", + "karma": "1.1.1", "karma-chrome-launcher": "^1.0.1", "karma-coverage": "^1.0.0", "karma-jasmine": "^1.0.2", "karma-mocha-reporter": "^2.0.3", "karma-phantomjs-launcher": "^1.0.0", - "karma-remap-istanbul": "0.0.6", + "karma-remap-istanbul": "0.1.1", "karma-sourcemap-loader": "^0.3.7", "karma-webpack": "1.7.0", "node-sass": "^3.4.2", @@ -67,14 +67,14 @@ "raw-loader": "0.5.1", "remap-istanbul": "^0.6.4", "rimraf": "^2.5.1", - "sass-loader": "^3.1.2", + "sass-loader": "^4.0.0", "shelljs": "^0.7.0", "style-loader": "^0.13.0", "ts-helpers": "^1.1.1", "ts-loader": "^0.8.1", "tslint": "^3.4.0", "tslint-loader": "^2.1.0", - "typedoc": "^0.3.12", + "typedoc": "^0.4.4", "typescript": "^1.8.0", "typings": "^1.0.4", "url-loader": "^0.5.6", From 9be698107229f037b9dc51b652baaa060ac6ad38 Mon Sep 17 00:00:00 2001 From: Luis Aviles Date: Sat, 30 Jul 2016 04:47:59 -0400 Subject: [PATCH 06/85] Fixing expectation into e2e test (#128) --- src/app/app.component.e2e-spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/app.component.e2e-spec.js b/src/app/app.component.e2e-spec.js index 92a7004d..c6176ecd 100644 --- a/src/app/app.component.e2e-spec.js +++ b/src/app/app.component.e2e-spec.js @@ -17,7 +17,7 @@ describe('App', function () { }); it('should have a main title', function () { - expect(element(by.css('main .title')).getText()).toEqual('Hello from Angular 2 !'); + expect(element(by.css('main .title')).getText()).toEqual('Hello from Angular 2!'); }); it('should have