diff --git a/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/.gitignore b/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/.gitignore
new file mode 100644
index 0000000000..316ea7d8ab
--- /dev/null
+++ b/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/.gitignore
@@ -0,0 +1,3 @@
+**/*.js
+aot/**/*.ts
+!rollup-config.js
diff --git a/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/aot/bs-config.json b/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/aot/bs-config.json
new file mode 100644
index 0000000000..7c85d6eddd
--- /dev/null
+++ b/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/aot/bs-config.json
@@ -0,0 +1,5 @@
+{
+ "port": 8000,
+ "files": ["./aot/**/*.{html,htm,css,js}"],
+ "server": { "baseDir": "./aot" }
+}
diff --git a/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/aot/index.html b/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/aot/index.html
new file mode 100644
index 0000000000..14b9e6b6a9
--- /dev/null
+++ b/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/aot/index.html
@@ -0,0 +1,36 @@
+
+
+
+
+
+ Angular Tour of Heroes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Loading...
+
+
+
diff --git a/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/app/app.module.ts b/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/app/app.module.ts
index 3164aade54..9fc7fea21f 100644
--- a/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/app/app.module.ts
+++ b/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/app/app.module.ts
@@ -59,7 +59,7 @@ import { PhoneDetailComponent } from './phone-detail/phone-detail.component';
// #enddocregion phone
{
provide: '$routeParams',
- useFactory: (i: any) => i.get('$routeParams'),
+ useFactory: routeParamsFactory,
deps: ['$injector']
}
// #docregion phone
@@ -73,3 +73,9 @@ export class AppModule {
// #docregion bare
}
// #enddocregion bare, upgrademodule, httpmodule, phone, phonelist, phonedetail, checkmarkpipe
+
+// #docregion routeparams
+export function routeParamsFactory(i: any) {
+ return i.get('$routeParams');
+}
+// #enddocregion routeparams
diff --git a/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/app/main-aot.ts b/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/app/main-aot.ts
new file mode 100644
index 0000000000..6e25d85406
--- /dev/null
+++ b/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/app/main-aot.ts
@@ -0,0 +1,11 @@
+// #docregion bootstrap
+import { platformBrowser } from '@angular/platform-browser';
+import { UpgradeModule } from '@angular/upgrade/static';
+
+import { AppModuleNgFactory } from '../aot/app/app.module.ngfactory';
+
+platformBrowser().bootstrapModuleFactory(AppModuleNgFactory).then(platformRef => {
+ let upgrade = platformRef.injector.get(UpgradeModule) as UpgradeModule;
+ upgrade.bootstrap(document.documentElement, ['phonecatApp']);
+});
+// #enddocregion bootstrap
diff --git a/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/app/main.ts b/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/app/main.ts
index 28259f093b..0fd102449a 100644
--- a/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/app/main.ts
+++ b/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/app/main.ts
@@ -1,5 +1,4 @@
// #docregion bootstrap
-declare var angular: angular.IAngularStatic;
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { UpgradeModule } from '@angular/upgrade/static';
diff --git a/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/app/phone-detail/phone-detail.component.ts b/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/app/phone-detail/phone-detail.component.ts
index 18668d17b5..98f05ca599 100644
--- a/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/app/phone-detail/phone-detail.component.ts
+++ b/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/app/phone-detail/phone-detail.component.ts
@@ -23,9 +23,7 @@ export class PhoneDetailComponent {
phone: PhoneData;
mainImageUrl: string;
- constructor(@Inject('$routeParams')
- $routeParams: angular.route.IRouteParamsService,
- phone: Phone) {
+ constructor(@Inject('$routeParams') $routeParams: any, phone: Phone) {
phone.get($routeParams['phoneId']).subscribe(phone => {
this.phone = phone;
this.setImage(phone.images[0]);
diff --git a/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/rollup-config.js b/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/rollup-config.js
new file mode 100644
index 0000000000..aeb227689c
--- /dev/null
+++ b/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/rollup-config.js
@@ -0,0 +1,21 @@
+// #docregion
+import rollup from 'rollup'
+import nodeResolve from 'rollup-plugin-node-resolve'
+import commonjs from 'rollup-plugin-commonjs';
+import uglify from 'rollup-plugin-uglify'
+
+//paths are relative to the execution path
+export default {
+ entry: 'app/main-aot.js',
+ dest: 'aot/dist/build.js', // output a single application bundle
+ sourceMap: true,
+ sourceMapFile: 'aot/dist/build.js.map',
+ format: 'iife',
+ plugins: [
+ nodeResolve({jsnext: true, module: true}),
+ commonjs({
+ include: ['node_modules/rxjs/**']
+ }),
+ uglify()
+ ]
+}
diff --git a/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/tsconfig-aot.json b/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/tsconfig-aot.json
new file mode 100644
index 0000000000..97d6f592a0
--- /dev/null
+++ b/public/docs/_examples/upgrade-phonecat-2-hybrid/ts/tsconfig-aot.json
@@ -0,0 +1,26 @@
+{
+ "compilerOptions": {
+ "target": "es5",
+ "module": "es2015",
+ "moduleResolution": "node",
+ "sourceMap": true,
+ "emitDecoratorMetadata": true,
+ "experimentalDecorators": true,
+ "removeComments": false,
+ "noImplicitAny": true,
+ "suppressImplicitAnyIndexErrors": true,
+ "typeRoots": [
+ "../../node_modules/@types/"
+ ]
+ },
+
+ "files": [
+ "app/app.module.ts",
+ "app/main-aot.ts"
+ ],
+
+ "angularCompilerOptions": {
+ "genDir": "aot",
+ "skipMetadataEmit" : true
+ }
+}