diff --git a/ng-sample/app/performance/profiling.ts b/ng-sample/app/performance/profiling.ts index 5839b6e53..faa41230f 100644 --- a/ng-sample/app/performance/profiling.ts +++ b/ng-sample/app/performance/profiling.ts @@ -5,12 +5,14 @@ declare var __stopCPUProfiler: any; export var ENABLE_PROFILING = true; +var anyGlobal = global; + export function time(): number { if (!ENABLE_PROFILING) { return; } - if (global.android) { + if (anyGlobal.android) { return java.lang.System.nanoTime() / 1000000; // 1 ms = 1000000 ns } else { @@ -25,8 +27,8 @@ interface TimerInfo { currentStart: number; } -if (!global.timers) { - global.timers = new Map(); +if (!anyGlobal.timers) { + anyGlobal.timers = new Map(); } export function start(name: string): void { if (!ENABLE_PROFILING) { @@ -34,8 +36,8 @@ export function start(name: string): void { } var info: TimerInfo; - if (global.timers.has(name)) { - info = global.timers.get(name); + if (anyGlobal.timers.has(name)) { + info = anyGlobal.timers.get(name); if (info.currentStart != 0) { throw new Error(`Timer already started: ${name}`); } @@ -47,7 +49,7 @@ export function start(name: string): void { count: 0, currentStart: time() }; - global.timers.set(name, info); + anyGlobal.timers.set(name, info); } } @@ -68,11 +70,11 @@ export function stop(name: string) { var info = pauseInternal(name); console.log(`---- [${name}] STOP total: ${info.totalTime} count:${info.count}`); - global.timers.delete(name); + anyGlobal.timers.delete(name); } function pauseInternal(name: string): TimerInfo { - var info = global.timers.get(name); + var info = anyGlobal.timers.get(name); if (!info) { throw new Error(`No timer started: ${name}`); } @@ -90,7 +92,7 @@ export function startCPUProfile(name: string) { return; } - if (global.android) { + if (anyGlobal.android) { __startCPUProfiler(name); } } @@ -100,7 +102,7 @@ export function stopCPUProfile(name: string) { return; } - if (global.android) { + if (anyGlobal.android) { __stopCPUProfiler(name); } } diff --git a/ng-sample/app/starter.ts b/ng-sample/app/starter.ts index 5cc770a2f..38cfc3e99 100644 --- a/ng-sample/app/starter.ts +++ b/ng-sample/app/starter.ts @@ -1,12 +1,14 @@ declare var java: any; declare var CACurrentMediaTime: any; -if (!global.timers) { - global.timers = new Map(); +var anyGlobal = global; + +if (!anyGlobal.timers) { + anyGlobal.timers = new Map(); } function time() { - if (global.android) { + if (anyGlobal.android) { return java.lang.System.nanoTime() / 1000000; // 1 ms = 1000000 ns } else { @@ -20,6 +22,6 @@ var timerEntry = { currentStart: time() }; -global.timers.set("application-start", timerEntry); +anyGlobal.timers.set("application-start", timerEntry); import "./app.js" diff --git a/ng-sample/hooks/before-prepare/15-remove-unsupported-angular-typings.js b/ng-sample/hooks/before-prepare/15-remove-unsupported-angular-typings.js deleted file mode 100644 index bae965756..000000000 --- a/ng-sample/hooks/before-prepare/15-remove-unsupported-angular-typings.js +++ /dev/null @@ -1,12 +0,0 @@ -var path = require('path'); -var shelljs = require('shelljs'); - -module.exports = function ($logger, $projectData, $usbLiveSyncService) { - if (!$usbLiveSyncService.isInitialized) { - var zoneDts = path.join('node_modules', 'angular2', 'typings', 'zone', 'zone.d.ts'); - shelljs.sed('-i', /.*reference.*path.*es6-shim.*\n/g, '', zoneDts); - - var globalsEs6Dts = path.join('node_modules', 'angular2', 'manual_typings', 'globals-es6.d.ts'); - shelljs.sed('-i', /.*reference.*path.*node\.d\.ts.*\n/g, '', globalsEs6Dts); - } -} diff --git a/ng-sample/package.json b/ng-sample/package.json index 00a26154a..3d9055902 100644 --- a/ng-sample/package.json +++ b/ng-sample/package.json @@ -23,7 +23,7 @@ }, "homepage": "https://github.com/NativeScript/template-hello-world", "dependencies": { - "tns-core-modules": "^1.6.0-angular-2", + "tns-core-modules": "^1.6.0-angular-4", "angular2": "2.0.0-beta.2", "parse5": "1.4.2", "punycode": "1.3.2", diff --git a/ng-sample/tsconfig.json b/ng-sample/tsconfig.json index 261a73583..cdc46d262 100644 --- a/ng-sample/tsconfig.json +++ b/ng-sample/tsconfig.json @@ -11,9 +11,37 @@ "noEmitOnError": true }, "filesGlob": [ - "node_modules/tns-core-modules/tns-core-modules.d.ts", "app/**/*.ts" ], + "files": [ + "node_modules/tns-core-modules/tns-core-modules.base.d.ts", + "app/nativescript-angular/application.ts", + "app/nativescript-angular/dom_adapter.ts", + "app/nativescript-angular/text-value-accessor.ts", + "app/nativescript-angular/element-registry.d.ts", + "app/nativescript-angular/zone.ts", + "app/nativescript-angular/application.d.ts", + "app/nativescript-angular/renderer.ts", + "app/nativescript-angular/element-registry.ts", + "app/nativescript-angular/xhr.ts", + "app/nativescript-angular/zone_patch.ts", + "app/nativescript-angular/directives/ns-directives.ts", + "app/nativescript-angular/directives/tab-view.ts", + "app/nativescript-angular/directives/list-view.ts", + "app/nativescript-angular/polyfills/array.ts", + "app/nativescript-angular/view-util.ts", + "app/examples/list/list-test.ts", + "app/examples/list/list-test-async.ts", + "app/examples/image/image-test.ts", + "app/examples/renderer-test.ts", + "app/main-page.ts", + "app/performance/benchmark.ts", + "app/performance/profiling.ts", + "app/main-view-model.ts", + "app/app.ts", + "app/global.d.ts", + "app/starter.ts" + ], "exclude": [ "node_modules", "platforms" diff --git a/package.json b/package.json index 9aa3b0a9f..da87cc7f3 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ }, "scripts": {}, "dependencies": { - "tns-core-modules": "^1.6.0-angular-2", + "tns-core-modules": "^1.6.0-angular-4", "angular2": "2.0.0-beta.2", "es6-shim": "^0.33.3", "parse5": "1.4.2", diff --git a/src/global.d.ts b/src/global.d.ts index 2c173269e..33007e4e0 100644 --- a/src/global.d.ts +++ b/src/global.d.ts @@ -1,4 +1,3 @@ -/// declare var assert: any; interface Map { @@ -6,8 +5,11 @@ interface Map { values(): Array; } -declare type MapConstructor = typeof Map; -declare type SetConstructor = typeof Set; +declare type NativeScriptModule = NodeModule +declare type NativeScriptRequire = NodeRequire + +//declare type MapConstructor = typeof Map; +//declare type SetConstructor = typeof Set; interface NumberConstructor { isInteger(number: number): boolean; diff --git a/src/nativescript-angular/renderer.ts b/src/nativescript-angular/renderer.ts index 3ac57b40c..0340e6fa3 100644 --- a/src/nativescript-angular/renderer.ts +++ b/src/nativescript-angular/renderer.ts @@ -149,7 +149,7 @@ export class NativeScriptRenderer extends Renderer { public listen(renderElement: util.NgView, eventName: string, callback: Function): Function { console.log('NativeScriptRenderer.listen: ' + eventName); - let zonedCallback = global.zone.bind(callback); + let zonedCallback = (global).zone.bind(callback); renderElement.on(eventName, zonedCallback); return () => renderElement.off(eventName, zonedCallback); } diff --git a/src/nativescript-angular/router/page-router-outlet.ts b/src/nativescript-angular/router/page-router-outlet.ts index e4a620c4f..201bd843f 100644 --- a/src/nativescript-angular/router/page-router-outlet.ts +++ b/src/nativescript-angular/router/page-router-outlet.ts @@ -279,7 +279,7 @@ class PageShim implements OnActivate, OnDeactivate { resolve() }); - page.on('navigatingFrom', global.zone.bind((args: NavigatedData) => { + page.on('navigatingFrom', (global).zone.bind((args: NavigatedData) => { if (args.isBackNavigation) { startGoBack(); this.locationStrategy.back(); @@ -313,4 +313,4 @@ class PageShim implements OnActivate, OnDeactivate { private log(methodName: string) { log("PageShim(" + this.id + ")." + methodName) } -} \ No newline at end of file +} diff --git a/src/nativescript-angular/zone.ts b/src/nativescript-angular/zone.ts index ea05f8bfe..350140a31 100644 --- a/src/nativescript-angular/zone.ts +++ b/src/nativescript-angular/zone.ts @@ -4,7 +4,7 @@ import NativeScriptPatch from "./zone_patch" var core = require('zone.js/lib/core.js'); -global.Zone = core.Zone; -global.zone = new core.Zone(); +(global).Zone = core.Zone; +(global).zone = new core.Zone(); NativeScriptPatch.apply(); diff --git a/tests/package.json b/tests/package.json index cf76ab04b..672aa3e41 100644 --- a/tests/package.json +++ b/tests/package.json @@ -37,7 +37,7 @@ "querystring": "0.2.0", "reflect-metadata": "0.1.2", "rxjs": "5.0.0-beta.0", - "tns-core-modules": "1.6.0-angular-2", + "tns-core-modules": "1.6.0-angular-4", "url": "0.10.3", "zone.js": "0.5.10" }, @@ -52,4 +52,4 @@ "shelljs": "^0.5.3", "typescript": "^1.7.5" } -} \ No newline at end of file +}