Skip to content
This repository was archived by the owner on Mar 4, 2025. It is now read-only.

Commit 5ffae07

Browse files
committed
Converted the bootstrapper to bootstrap as an angular 2 module with UpgradeModule as a dependency
This is the new way of bootstrapping an ngUpgrade module, and it will allow for AoT compilation and potentially lazy-loading.
1 parent 2a0749b commit 5ffae07

File tree

6 files changed

+52
-27
lines changed

6 files changed

+52
-27
lines changed

bootstrapper/app.ng2.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ import { Router } from '@angular/router';
77
})
88
export class App {
99
constructor(router: Router) {
10-
router['initialNavigation']();
10+
// router['initialNavigation']();
1111
}
1212
}

bootstrapper/app.ts

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import * as angular from 'angular';
55
import { NgModule, forwardRef, ApplicationRef } from '@angular/core';
66
import { BrowserModule } from '@angular/platform-browser';
77
import { UpgradeAdapter } from '@angular/upgrade';
8+
import { UpgradeModule } from '@angular/upgrade/static';
89

910
import { downgrade as utilitiesDowngrade, UtilitiesModule } from 'typescript-angular-utilities';
1011

@@ -52,10 +53,10 @@ import { appRoutingProviders, routing } from './app.routing';
5253
import { ComponentsModule } from'../source/ui.module';
5354

5455
const upgradeAdapter: UpgradeAdapter = new UpgradeAdapter(forwardRef(() => ComponentsBootstrapperModule));
55-
utilitiesDowngrade.downgradeUtilitiesToAngular1(upgradeAdapter);
56+
// utilitiesDowngrade.downgradeUtilitiesToAngular1(upgradeAdapter);
5657
componentsDowngrade.downgradeComponentsToAngular1(upgradeAdapter);
5758

58-
const moduleName: string = 'bootstrapper-app';
59+
export const moduleName: string = 'bootstrapper-app';
5960

6061
angular.module(moduleName, [
6162
componentsModule,
@@ -71,7 +72,7 @@ angular.module(moduleName, [
7172
miscModuleName,
7273
textModuleName,
7374
])
74-
.directive('tsApp', <any>upgradeAdapter.downgradeNg2Component(App))
75+
// .directive('tsApp', <any>upgradeAdapter.downgradeNg2Component(App))
7576
.directive('tsMiscNgContext', <any>upgradeAdapter.downgradeNg2Component(MiscNgContextBootstrapper));
7677

7778
@NgModule({
@@ -80,6 +81,7 @@ angular.module(moduleName, [
8081
routing,
8182
UtilitiesModule,
8283
ComponentsModule,
84+
UpgradeModule,
8385
],
8486
declarations: [
8587
InputsBootstrapper,
@@ -129,16 +131,19 @@ angular.module(moduleName, [
129131
WelcomeComponent,
130132
App,
131133
],
134+
bootstrap: [App],
132135
providers: [
133-
{
134-
provide: ApplicationRef,
135-
useValue: {
136-
componentTypes: [App],
137-
registerDisposeListener: () => {},
138-
},
139-
},
136+
// {
137+
// provide: ApplicationRef,
138+
// useValue: {
139+
// componentTypes: [App],
140+
// registerDisposeListener: () => {},
141+
// },
142+
// },
140143
],
141144
})
142-
class ComponentsBootstrapperModule {}
145+
export class ComponentsBootstrapperModule {
146+
// ngDoBootstrap() {}
147+
}
143148

144-
upgradeAdapter.bootstrap(document.body, [moduleName], { strictDI: true });
149+
// upgradeAdapter.bootstrap(document.body, [moduleName], { strictDI: true });

bootstrapper/main.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
2+
import { UpgradeModule } from '@angular/upgrade/static';
3+
4+
import { ComponentsBootstrapperModule, moduleName } from './app';
5+
6+
platformBrowserDynamic().bootstrapModule(ComponentsBootstrapperModule).then(platformRef => {
7+
const upgrade = platformRef.injector.get(UpgradeModule) as UpgradeModule;
8+
upgrade.bootstrap(document.documentElement, [moduleName]);
9+
});

index.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
<script src="/node_modules/traceur/bin/traceur-runtime.js"></script>
2424

2525
<script src="/node_modules/systemjs/dist/system.js"></script>
26+
<script src="/node_modules/angular/angular.js"></script>
2627

2728
<!--<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.1/jquery.min.js"></script>
2829
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.3/angular.js"></script>-->
@@ -39,7 +40,7 @@
3940
<script src="/bootstrapper/app.bundle.js"></script>
4041

4142
<script>
42-
System.import('bootstrapper/app');
43+
System.import('app');
4344
</script>
4445
</body>
4546
</html>

package.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -75,15 +75,15 @@
7575
"typescript": "~2.0.3"
7676
},
7777
"dependencies": {
78-
"@angular/common": "~2.1.0",
79-
"@angular/compiler": "~2.1.0",
80-
"@angular/core": "~2.1.0",
81-
"@angular/forms": "~2.1.0",
82-
"@angular/http": "~2.1.0",
83-
"@angular/platform-browser": "~2.1.0",
84-
"@angular/platform-browser-dynamic": "~2.1.0",
85-
"@angular/router": "~3.1.0",
86-
"@angular/upgrade": "~2.1.0",
78+
"@angular/common": "~2.3.0",
79+
"@angular/compiler": "~2.3.0",
80+
"@angular/core": "~2.3.0",
81+
"@angular/forms": "~2.3.0",
82+
"@angular/http": "~2.3.0",
83+
"@angular/platform-browser": "~2.3.0",
84+
"@angular/platform-browser-dynamic": "~2.3.0",
85+
"@angular/router": "~3.3.0",
86+
"@angular/upgrade": "~2.3.0",
8787
"@types/angular": "1.5.16",
8888
"@types/angular-ui-bootstrap": "^0.13.35",
8989
"@types/bootstrap": "^3.3.32",

system.config.js

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
const map = {
44
'@angular': 'node_modules/@angular',
5+
'app': 'bootstrapper',
56
'angular': 'node_modules/angular',
67
'angular-mocks': 'node_modules/angular-mocks/angular-mocks',
78
'angular-animate': 'node_modules/angular-animate/angular-animate.js',
@@ -21,6 +22,7 @@ const map = {
2122
'typescript-angular-utilities': 'node_modules/typescript-angular-utilities/source/main',
2223
'ui-select': 'node_modules/ui-select/index',
2324
'ui-select/dist': 'node_modules/ui-select/dist',
25+
'@angular/upgrade': 'node_modules/@angular/upgrade',
2426
};
2527

2628
var angularPackageNames = [
@@ -31,7 +33,7 @@ var angularPackageNames = [
3133
'platform-browser-dynamic',
3234
'http',
3335
'forms',
34-
'upgrade',
36+
// 'upgrade',
3537
];
3638

3739
var defaultPackages = [
@@ -49,6 +51,9 @@ const meta = {
4951
};
5052

5153
var packages = {
54+
'app': {
55+
main: 'main.js',
56+
},
5257
'libraries': {
5358
defaultExtension: 'js',
5459
},
@@ -61,9 +66,12 @@ var packages = {
6166
'node_modules': {
6267
defaultExtension: 'js',
6368
},
64-
'@angular/router': {
65-
main: 'index.js',
66-
},
69+
'@angular/router': {
70+
main: 'index.js',
71+
},
72+
'@angular/upgrade': {
73+
main: 'bundles/upgrade.umd.js',
74+
},
6775
'angular2-uuid': {
6876
main: 'index.js',
6977
},
@@ -96,3 +104,5 @@ System.config({
96104
map,
97105
packages: packages,
98106
});
107+
108+
System.registerDynamic('node_modules/angular/index.js', [], true, function() { return window.angular });

0 commit comments

Comments
 (0)