From 1af06814a686600ebf20070ac40eca92b34e4bea Mon Sep 17 00:00:00 2001 From: "Vincenzo (Wilk) Ferrari" Date: Sat, 9 Jan 2016 17:25:51 +0100 Subject: [PATCH 01/13] ignored typings file: now are kept with tsd --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 089b3d1f34..5d1f6dfe7e 100644 --- a/.gitignore +++ b/.gitignore @@ -36,6 +36,8 @@ Thumbs.db # Typing TSD # /src/typings/tsd/ +/src/typings/ +!/src/typings/_custom.d.ts /typings/ /tsd_typings/ From 81dd7b6cb674afe71e163a9289de90db41b85265 Mon Sep 17 00:00:00 2001 From: "Vincenzo (Wilk) Ferrari" Date: Sat, 9 Jan 2016 17:26:13 +0100 Subject: [PATCH 02/13] added tsd install as postinstall script --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 7a1cc5e63c..c6e5a65bdb 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "clean": "rimraf node_modules doc", "clean-install": "npm run clean && npm install", "clean-start": "npm run clean && npm start", + "postinstall": "tsd install", "watch": "webpack --watch", "server": "webpack-dev-server --inline --colors --display-error-details --display-cached --port 3000", "express": "node ./examples/server/express-server-example.js", From 5ad11043d4acf9586e9966865e2ffeacc6a84a4e Mon Sep 17 00:00:00 2001 From: "Vincenzo (Wilk) Ferrari" Date: Sat, 9 Jan 2016 17:27:32 +0100 Subject: [PATCH 03/13] removed useless typings folder --- src/typings/_custom.d.ts | 5 ----- src/typings/browser.d.ts | 4 ---- src/typings/webpack.d.ts | 5 ----- 3 files changed, 14 deletions(-) delete mode 100644 src/typings/_custom.d.ts delete mode 100644 src/typings/browser.d.ts delete mode 100644 src/typings/webpack.d.ts diff --git a/src/typings/_custom.d.ts b/src/typings/_custom.d.ts deleted file mode 100644 index 9f21b263db..0000000000 --- a/src/typings/_custom.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -/* - * Our custom types - */ -/// -/// diff --git a/src/typings/browser.d.ts b/src/typings/browser.d.ts deleted file mode 100644 index 0cfb56f77b..0000000000 --- a/src/typings/browser.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -interface ObjectConstructor { - assign(target: any, ...sources: any[]): any; - observe(target: any, callback: Function, acceptList?: Array): void; -} \ No newline at end of file diff --git a/src/typings/webpack.d.ts b/src/typings/webpack.d.ts deleted file mode 100644 index d13b64c3b4..0000000000 --- a/src/typings/webpack.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -declare var require: any; -declare var __filename: string; -declare var __dirname: string; -declare var global: any; -declare var module: any; From 41e717c376a2793baaf6def85ee96299b52a3866 Mon Sep 17 00:00:00 2001 From: "Vincenzo (Wilk) Ferrari" Date: Sat, 9 Jan 2016 17:27:44 +0100 Subject: [PATCH 04/13] added tsd support --- tsd.json | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 tsd.json diff --git a/tsd.json b/tsd.json new file mode 100644 index 0000000000..a021cc4009 --- /dev/null +++ b/tsd.json @@ -0,0 +1,24 @@ +{ + "version": "v4", + "repo": "borisyankov/DefinitelyTyped", + "ref": "master", + "path": "src/typings", + "bundle": "src/typings/_custom.d.ts", + "installed": { + "angularjs/angular.d.ts": { + "commit": "c2c22c3b953fe9730d4802022d5e0d18d083909e" + }, + "jquery/jquery.d.ts": { + "commit": "c2c22c3b953fe9730d4802022d5e0d18d083909e" + }, + "angularjs/angular-mocks.d.ts": { + "commit": "9fb1a5074160e679289b56b99a763104926a4a24" + }, + "es6-shim/es6-shim.d.ts": { + "commit": "62eedc3121a5e28c50473d2e4a9cefbcb9c3957f" + }, + "angular-ui-router/angular-ui-router.d.ts": { + "commit": "c2c22c3b953fe9730d4802022d5e0d18d083909e" + } + } +} From a5cf1dc595c79e88b765f0980920ddda58b950f4 Mon Sep 17 00:00:00 2001 From: "Vincenzo (Wilk) Ferrari" Date: Sat, 9 Jan 2016 17:28:00 +0100 Subject: [PATCH 05/13] ignored entire typings folder --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 5d1f6dfe7e..cdae132383 100644 --- a/.gitignore +++ b/.gitignore @@ -37,7 +37,6 @@ Thumbs.db # Typing TSD # /src/typings/tsd/ /src/typings/ -!/src/typings/_custom.d.ts /typings/ /tsd_typings/ From bbc75116913a4fcf2d3e78e53d4c469e6d83e59a Mon Sep 17 00:00:00 2001 From: "Vincenzo (Wilk) Ferrari" Date: Sat, 9 Jan 2016 17:28:15 +0100 Subject: [PATCH 06/13] removed angular2 dependencies --- webpack.config.js | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/webpack.config.js b/webpack.config.js index 0fbe9ff664..513d457935 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -58,13 +58,7 @@ module.exports = { 'angular2': [ // Angular 2 Deps '@reactivex/rxjs', - 'zone.js', - 'reflect-metadata', - // to ensure these modules are grouped together in one file - 'angular2/angular2', - 'angular2/core', - 'angular2/router', - 'angular2/http' + 'reflect-metadata' ], 'app': [ // App From 8740084d6b92e16f49adf134e2cf3cc0b527d232 Mon Sep 17 00:00:00 2001 From: "Vincenzo (Wilk) Ferrari" Date: Sat, 9 Jan 2016 17:43:45 +0100 Subject: [PATCH 07/13] added mocha and chai definitions --- tsd.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tsd.json b/tsd.json index a021cc4009..08a50da784 100644 --- a/tsd.json +++ b/tsd.json @@ -19,6 +19,21 @@ }, "angular-ui-router/angular-ui-router.d.ts": { "commit": "c2c22c3b953fe9730d4802022d5e0d18d083909e" + }, + "mocha/mocha.d.ts": { + "commit": "3191f6e0088eee07c4d8fd24e4d27a40a60d9eb9" + }, + "sinon/sinon.d.ts": { + "commit": "3191f6e0088eee07c4d8fd24e4d27a40a60d9eb9" + }, + "assertion-error/assertion-error.d.ts": { + "commit": "3191f6e0088eee07c4d8fd24e4d27a40a60d9eb9" + }, + "chai/chai.d.ts": { + "commit": "3191f6e0088eee07c4d8fd24e4d27a40a60d9eb9" + }, + "sinon-chai/sinon-chai.d.ts": { + "commit": "a9ded5b70ede34486731ef6c2e6865f5e9911fc3" } } } From 2de2dcf7e0bba41c0d6d368eb86a077faf04a33d Mon Sep 17 00:00:00 2001 From: "Vincenzo (Wilk) Ferrari" Date: Sat, 9 Jan 2016 17:44:06 +0100 Subject: [PATCH 08/13] removed angular2 dependencies --- spec.bundle.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/spec.bundle.js b/spec.bundle.js index abdd1e6921..5841699ae6 100644 --- a/spec.bundle.js +++ b/spec.bundle.js @@ -10,8 +10,6 @@ */ Error.stackTraceLimit = Infinity; require('reflect-metadata'); -require('angular2/test'); -require('angular2/mock'); /* Ok, this is kinda crazy. We can use the the context method on From 777a6824ef1d0692ff9c02ba539ec94805f0b52c Mon Sep 17 00:00:00 2001 From: "Vincenzo (Wilk) Ferrari" Date: Sat, 9 Jan 2016 17:44:13 +0100 Subject: [PATCH 09/13] installed chai --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index c6e5a65bdb..1a70bf8dce 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,7 @@ "reflect-metadata": "0.1.2" }, "devDependencies": { + "chai": "^3.4.1", "css-loader": "^0.21.0", "exports-loader": "0.6.2", "expose-loader": "0.7.0", From 5bf05d81436786ac7ccbaddcea27d60232347739 Mon Sep 17 00:00:00 2001 From: "Vincenzo (Wilk) Ferrari" Date: Sat, 9 Jan 2016 17:44:31 +0100 Subject: [PATCH 10/13] improved test: now they work fine --- test/app/app.spec.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/test/app/app.spec.ts b/test/app/app.spec.ts index 9d951fbe91..4f85f402f7 100644 --- a/test/app/app.spec.ts +++ b/test/app/app.spec.ts @@ -1,9 +1,20 @@ /// +/** + * Module dependencies. + */ +import chai = require('chai'); + +/** + * Globals + */ + +var expect = chai.expect; + describe('App', () => { it('should also be able to test', () => { - expect(true).toBe(true); + expect(true).to.equals(true); }); }); From a659f6019daaac8bb0d60f697a51a9eef4cfd74b Mon Sep 17 00:00:00 2001 From: "Vincenzo (Wilk) Ferrari" Date: Sun, 10 Jan 2016 22:25:48 +0100 Subject: [PATCH 11/13] added vendor dependencies to vendor.ts --- src/app/app.ts | 2 +- src/vendor.ts | 2 ++ webpack.config.js | 6 +----- 3 files changed, 4 insertions(+), 6 deletions(-) create mode 100644 src/vendor.ts diff --git a/src/app/app.ts b/src/app/app.ts index 6ce2ea3e03..ffc7120ad3 100644 --- a/src/app/app.ts +++ b/src/app/app.ts @@ -22,7 +22,7 @@ import {Component} from 'ng-forward/cjs'; Your Content Here
- +
this.title = {{ app.title | json }}
diff --git a/src/vendor.ts b/src/vendor.ts new file mode 100644 index 0000000000..0be74aaa37 --- /dev/null +++ b/src/vendor.ts @@ -0,0 +1,2 @@ +import '@reactivex/rxjs'; +import 'reflect-metadata'; diff --git a/webpack.config.js b/webpack.config.js index 513d457935..648c675610 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -55,11 +55,7 @@ module.exports = { // entry: { - 'angular2': [ - // Angular 2 Deps - '@reactivex/rxjs', - 'reflect-metadata' - ], + 'angular2': './src/vendor', 'app': [ // App From d930b454e73a1c1d46f03d45291187c4a7084eee Mon Sep 17 00:00:00 2001 From: "Vincenzo (Wilk) Ferrari" Date: Sun, 10 Jan 2016 22:43:32 +0100 Subject: [PATCH 12/13] improved example with a todo list --- src/app/app.ts | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/src/app/app.ts b/src/app/app.ts index ffc7120ad3..cee87bac47 100644 --- a/src/app/app.ts +++ b/src/app/app.ts @@ -15,27 +15,37 @@ import {Component} from 'ng-forward/cjs'; // Every Angular template is first compiled by the browser before Angular runs it's compiler template: `
-

Hello {{ app.title }}

+

{{app.title}}

- Your Content Here -
+ Todo List - +
+
- -
this.title = {{ app.title | json }}
-
this.data = {{ app.data | json }}
- +
    +
  • {{element}}
  • +
` }) export class App { // These are member type title: string; - data: Array = []; // default data + list: string[]; + constructor() { - this.title = 'ng-forward'; + this.title = 'ng-forward with Angular 1.x'; + this.list = ['Study', 'Work', 'Party']; + } + + addElement($event): void { + $event.preventDefault(); + + if ($event.keyCode === 13) { + this.list.push($event.target.value); + $event.target.value = ''; + } } } From c9274b61c4e8db66ed6c382705ce11c4c06df3e8 Mon Sep 17 00:00:00 2001 From: "Vincenzo (Wilk) Ferrari" Date: Sun, 10 Jan 2016 22:56:07 +0100 Subject: [PATCH 13/13] improved docs --- README.md | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 97b48a36db..0396736676 100644 --- a/README.md +++ b/README.md @@ -38,19 +38,37 @@ Warning: Angular 2.0 is not production ready yet! ```bash # clone our repo -git clone https://github.com/angularclass/angular2-webpack-starter.git +git clone https://github.com/ngUpgraders/ng-forward-webpack-starter.git # change directory to our repo -cd angular2-webpack-starter +cd ng-forward-webpack-starter # install the repo with npm npm install +# install types definitions via tsd +tsd install + # start the server npm start ``` go to [http://localhost:3000](http://localhost:3000) in your browser +> Move from Angular 1 to 2 by changing branch + +```bash +# change branch +git checkout angular2 + +# install angular2 dependencies +npm install + +# start the server +npm start +``` + +go to [http://localhost:3000](http://localhost:3000) in your browser + # Table of Contents * [File Structure](#file-structure) * [Getting Started](#getting-started)