Skip to content

Commit 1ce725f

Browse files
Merge pull request #10 from NativeScript/vlaeva/fixes
feat: add AoT compilation with webpack
2 parents 7add752 + b2b2604 commit 1ce725f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+581
-122
lines changed

.gitignore

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1 @@
1-
*.js
2-
*.js.map
3-
*.log
4-
!scripts/*.js
5-
demo/app/*.js
6-
!demo/karma.conf.js
7-
!demo/app/tests/*.js
8-
demo/*.d.ts
9-
!demo/references.d.ts
10-
demo/lib
11-
demo/platforms
12-
demo/node_modules
13-
demo-angular/app/*.js
14-
demo-angular/*.d.ts
15-
demo-angular/platforms
16-
demo-angular/node_modules
17-
src/node_modules
18-
/.vscode/
1+
/.vscode/

README.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ NativeScript : Facebook SDK ![apple](https://cdn3.iconfinder.com/data/icons/pico
1717
- [Login](#login)
1818
- [Facebook Login Button](#facebook-login-button)
1919
- [Custom Login Button](#custom-login-button)
20-
- [NativeScript + Angular](#nativescript--angular)
20+
- [NativeScript Angular](#nativescript--angular)
2121
- [Initialization](#initialization-1)
2222
- [Login](#login-1)
2323
- [Facebook Login Button](#facebook-login-button-1)
@@ -144,13 +144,13 @@ export class HelloWorldModel extends Observable {
144144
}
145145
```
146146

147-
## NativeScript + Angular
147+
## NativeScript Angular
148148
### Initialization
149149
Call init of nativescript-facebook module on application launch.
150150

151-
main.ts
151+
app.module.ts
152152
```TypeScript
153-
import { platformNativeScriptDynamic } from "nativescript-angular/platform";
153+
...
154154
import * as application from 'application';
155155
var nsFacebook = require('nativescript-facebook');
156156

@@ -159,8 +159,7 @@ import { AppModule } from "./app.module";
159159
application.on(application.launchEvent, function (args) {
160160
nsFacebook.init("{facebook_app_id}");
161161
});
162-
163-
platformNativeScriptDynamic().bootstrapModule(AppModule);
162+
...
164163
```
165164

166165
### Login

demo-angular/.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
platforms
2+
node_modules
3+
hooks
4+
app/**/*.js
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
<StackLayout>
2-
<FacebookLoginButton [onLogin]="onLogin"></FacebookLoginButton>
2+
<FacebookLoginButton [login]="onLogin"></FacebookLoginButton>
33
<Button text="Custom Login Button" (tap)="testAction()"></Button>
4-
</StackLayout>
4+
</StackLayout>

demo-angular/app/app.module.ts

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,22 @@ import { NgModule, NO_ERRORS_SCHEMA } from "@angular/core";
22
import { NativeScriptModule } from "nativescript-angular/nativescript.module";
33
import { AppComponent } from "./app.component";
44

5-
import { NativescriptFacebookModule } from "nativescript-facebook/angular";
5+
import { NativeScriptFacebookModule } from "nativescript-facebook/angular";
6+
7+
import * as application from 'application';
8+
var nsFacebook = require('nativescript-facebook');
9+
10+
application.on(application.launchEvent, function (args) {
11+
nsFacebook.init("1771472059772879");
12+
});
613

714
@NgModule({
8-
bootstrap: [
9-
AppComponent
10-
],
15+
bootstrap: [ AppComponent ],
1116
imports: [
1217
NativeScriptModule,
13-
NativescriptFacebookModule
14-
],
15-
declarations: [
16-
AppComponent
18+
NativeScriptFacebookModule
1719
],
18-
schemas: [
19-
NO_ERRORS_SCHEMA
20-
]
20+
declarations: [ AppComponent ],
21+
schemas: [ NO_ERRORS_SCHEMA ]
2122
})
2223
export class AppModule { }

demo-angular/app/main.aot.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
// this import should be first in order to load some required settings (like globals and reflect-metadata)
21
import { platformNativeScript } from "nativescript-angular/platform-static";
3-
42
import { AppModuleNgFactory } from "./app.module.ngfactory";
53

64
platformNativeScript().bootstrapModuleFactory(AppModuleNgFactory);

demo-angular/app/main.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,4 @@
1-
// this import should be first in order to load some required settings (like globals and reflect-metadata)
21
import { platformNativeScriptDynamic } from "nativescript-angular/platform";
3-
import * as application from 'application';
4-
var nsFacebook = require('nativescript-facebook');
5-
62
import { AppModule } from "./app.module";
73

8-
application.on(application.launchEvent, function (args) {
9-
nsFacebook.init("1771472059772879");
10-
});
11-
124
platformNativeScriptDynamic().bootstrapModule(AppModule);
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// Resolve JavaScript classes that extend a Java class, and need to resolve
2+
// their JavaScript module from a bundled script. For example:
3+
// NativeScriptApplication, NativeScriptActivity, etc.
4+
//
5+
// This module gets bundled together with the rest of the app code and the
6+
// `require` calls get resolved to the correct bundling import call.
7+
//
8+
// At runtime the module gets loaded *before* the rest of the app code, so code
9+
// placed here needs to be careful about its dependencies.
10+
11+
require("application");
12+
require("ui/frame");
13+
require("ui/frame/activity");
14+
15+
if (global.TNS_WEBPACK) {
16+
global.__requireOverride = function (name, dir) {
17+
if (name === "./tns_modules/application/application.js") {
18+
return require("application");
19+
} else if (name === "./tns_modules/ui/frame/frame.js") {
20+
return require("ui/frame");
21+
} else if (name === "./tns_modules/ui/frame/activity.js") {
22+
return require("ui/frame/activity");
23+
}
24+
};
25+
}

demo-angular/app/vendor-platform.ios.ts

Whitespace-only changes.

demo-angular/app/vendor.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
require("./vendor-platform");
2+
3+
require("reflect-metadata");
4+
require("@angular/platform-browser");
5+
require("@angular/core");
6+
require("@angular/common");
7+
require("@angular/forms");
8+
require("@angular/http");
9+
require("@angular/router");
10+
11+
require("nativescript-angular/platform-static");
12+
require("nativescript-angular/forms");
13+
require("nativescript-angular/router");

0 commit comments

Comments
 (0)