From 823842b36b9b45930256e75b597632e297990924 Mon Sep 17 00:00:00 2001 From: VladimirAmiorkov Date: Tue, 21 May 2019 17:44:12 +0300 Subject: [PATCH 01/11] chore: update app's to latest 8 rc version of Angular --- package.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index ef0d8df0..1fd4d03a 100644 --- a/package.json +++ b/package.json @@ -40,16 +40,16 @@ "update-ns-webpack": "update-ns-webpack" }, "dependencies": { - "@angular/common": "~7.2.0", - "@angular/compiler": "~7.2.0", - "@angular/core": "~7.2.0", - "@angular/forms": "~7.2.0", - "@angular/http": "~7.2.0", - "@angular/platform-browser": "~7.2.0", - "@angular/platform-browser-dynamic": "~7.2.0", - "@angular/router": "~7.2.0", + "@angular/common": "8.0.0-rc.4", + "@angular/compiler": "8.0.0-rc.4", + "@angular/core": "8.0.0-rc.4", + "@angular/forms": "8.0.0-rc.4", + "@angular/http": "8.0.0-beta.10", + "@angular/platform-browser": "8.0.0-rc.4", + "@angular/platform-browser-dynamic": "8.0.0-rc.4", + "@angular/router": "8.0.0-rc.4", "email-validator": "^2.0.4", - "nativescript-angular": "~7.2.0", + "nativescript-angular": "8.0.0-rc.4", "nativescript-iqkeyboardmanager": "~1.3.0", "nativescript-social-share": "~1.5.1", "nativescript-unit-test-runner": "^0.3.3", @@ -81,6 +81,6 @@ "nativescript-dev-typescript": "~0.7.9", "nativescript-dev-webpack": "~0.19.1", "tslint": "^5.4.2", - "typescript": "~3.1.1" + "typescript": "~3.4.5" } } From a32a73d1e58a0f3d95df67736d87eb181fcb9467 Mon Sep 17 00:00:00 2001 From: VladimirAmiorkov Date: Mon, 27 May 2019 13:37:26 +0300 Subject: [PATCH 02/11] chore: upgrade to r5 --- package.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 1fd4d03a..4c0f0306 100644 --- a/package.json +++ b/package.json @@ -40,16 +40,16 @@ "update-ns-webpack": "update-ns-webpack" }, "dependencies": { - "@angular/common": "8.0.0-rc.4", - "@angular/compiler": "8.0.0-rc.4", - "@angular/core": "8.0.0-rc.4", - "@angular/forms": "8.0.0-rc.4", + "@angular/common": "8.0.0-rc.5", + "@angular/compiler": "8.0.0-rc.5", + "@angular/core": "8.0.0-rc.5", + "@angular/forms": "8.0.0-rc.5", "@angular/http": "8.0.0-beta.10", - "@angular/platform-browser": "8.0.0-rc.4", - "@angular/platform-browser-dynamic": "8.0.0-rc.4", - "@angular/router": "8.0.0-rc.4", + "@angular/platform-browser": "8.0.0-rc.5", + "@angular/platform-browser-dynamic": "8.0.0-rc.5", + "@angular/router": "8.0.0-rc.5", "email-validator": "^2.0.4", - "nativescript-angular": "8.0.0-rc.4", + "nativescript-angular": "~7.2.0", "nativescript-iqkeyboardmanager": "~1.3.0", "nativescript-social-share": "~1.5.1", "nativescript-unit-test-runner": "^0.3.3", @@ -59,8 +59,8 @@ "zone.js": "^0.8.4" }, "devDependencies": { - "@angular/compiler-cli": "~7.1.0", - "@ngtools/webpack": "~7.1.0", + "@angular/compiler-cli": "8.0.0-rc.5", + "@ngtools/webpack": "8.0.0-rc.4", "@types/chai": "~4.1.7", "@types/mocha": "~5.2.5", "@types/node": "~10.12.18", From e4e9300fd424b27aff742595bcc97f3212b5f813 Mon Sep 17 00:00:00 2001 From: VladimirAmiorkov Date: Mon, 27 May 2019 16:27:26 +0300 Subject: [PATCH 03/11] chore: update breaking changes from Angular 8 rc5 --- app/groceries/groceries.component.ts | 2 +- app/login/login.component.ts | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/groceries/groceries.component.ts b/app/groceries/groceries.component.ts index dcddb947..b358c3f2 100644 --- a/app/groceries/groceries.component.ts +++ b/app/groceries/groceries.component.ts @@ -22,7 +22,7 @@ export class GroceriesComponent implements OnInit { isShowingRecent = false; isLoading = false; - @ViewChild("groceryTextField") groceryTextField: ElementRef; + @ViewChild("groceryTextField", { read: ElementRef, static: false }) groceryTextField: ElementRef; constructor(private router: Router, private store: GroceryService, diff --git a/app/login/login.component.ts b/app/login/login.component.ts index bf097147..a3d80c12 100644 --- a/app/login/login.component.ts +++ b/app/login/login.component.ts @@ -20,12 +20,12 @@ export class LoginComponent implements OnInit { isLoggingIn = true; isAuthenticating = false; - @ViewChild("initialContainer") initialContainer: ElementRef; - @ViewChild("mainContainer") mainContainer: ElementRef; - @ViewChild("logoContainer") logoContainer: ElementRef; - @ViewChild("formControls") formControls: ElementRef; - @ViewChild("signUpStack") signUpStack: ElementRef; - @ViewChild("password") password: ElementRef; + @ViewChild("initialContainer", { read: ElementRef, static: false }) initialContainer: ElementRef; + @ViewChild("mainContainer", { read: ElementRef, static: false }) mainContainer: ElementRef; + @ViewChild("logoContainer", { read: ElementRef, static: false }) logoContainer: ElementRef; + @ViewChild("formControls", { read: ElementRef, static: false }) formControls: ElementRef; + @ViewChild("signUpStack", { read: ElementRef, static: false }) signUpStack: ElementRef; + @ViewChild("password", { read: ElementRef, static: false }) password: ElementRef; constructor(private router: Router, private userService: LoginService, From 9426747f6461064ce2ec179181034ee32f43e6e6 Mon Sep 17 00:00:00 2001 From: VladimirAmiorkov Date: Wed, 29 May 2019 09:43:59 +0300 Subject: [PATCH 04/11] chore: update to Angular 8.0.0 --- package.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 4c0f0306..fb4484c0 100644 --- a/package.json +++ b/package.json @@ -40,14 +40,14 @@ "update-ns-webpack": "update-ns-webpack" }, "dependencies": { - "@angular/common": "8.0.0-rc.5", - "@angular/compiler": "8.0.0-rc.5", - "@angular/core": "8.0.0-rc.5", - "@angular/forms": "8.0.0-rc.5", + "@angular/common": "8.0.0", + "@angular/compiler": "8.0.0", + "@angular/core": "8.0.0", + "@angular/forms": "8.0.0", "@angular/http": "8.0.0-beta.10", - "@angular/platform-browser": "8.0.0-rc.5", - "@angular/platform-browser-dynamic": "8.0.0-rc.5", - "@angular/router": "8.0.0-rc.5", + "@angular/platform-browser": "8.0.0", + "@angular/platform-browser-dynamic": "8.0.0", + "@angular/router": "8.0.0", "email-validator": "^2.0.4", "nativescript-angular": "~7.2.0", "nativescript-iqkeyboardmanager": "~1.3.0", @@ -59,8 +59,8 @@ "zone.js": "^0.8.4" }, "devDependencies": { - "@angular/compiler-cli": "8.0.0-rc.5", - "@ngtools/webpack": "8.0.0-rc.4", + "@angular/compiler-cli": "8.0.0", + "@ngtools/webpack": "8.0.0", "@types/chai": "~4.1.7", "@types/mocha": "~5.2.5", "@types/node": "~10.12.18", From efc4a626bb02860415587dded08da3298704382b Mon Sep 17 00:00:00 2001 From: VladimirAmiorkov Date: Wed, 29 May 2019 17:27:10 +0300 Subject: [PATCH 05/11] chore: remove 'read' from ViewChild calls --- app/groceries/groceries.component.ts | 2 +- app/login/login.component.ts | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/groceries/groceries.component.ts b/app/groceries/groceries.component.ts index b358c3f2..bfbbfc02 100644 --- a/app/groceries/groceries.component.ts +++ b/app/groceries/groceries.component.ts @@ -22,7 +22,7 @@ export class GroceriesComponent implements OnInit { isShowingRecent = false; isLoading = false; - @ViewChild("groceryTextField", { read: ElementRef, static: false }) groceryTextField: ElementRef; + @ViewChild("groceryTextField", { static: false }) groceryTextField: ElementRef; constructor(private router: Router, private store: GroceryService, diff --git a/app/login/login.component.ts b/app/login/login.component.ts index a3d80c12..6db443c0 100644 --- a/app/login/login.component.ts +++ b/app/login/login.component.ts @@ -20,12 +20,12 @@ export class LoginComponent implements OnInit { isLoggingIn = true; isAuthenticating = false; - @ViewChild("initialContainer", { read: ElementRef, static: false }) initialContainer: ElementRef; - @ViewChild("mainContainer", { read: ElementRef, static: false }) mainContainer: ElementRef; - @ViewChild("logoContainer", { read: ElementRef, static: false }) logoContainer: ElementRef; - @ViewChild("formControls", { read: ElementRef, static: false }) formControls: ElementRef; - @ViewChild("signUpStack", { read: ElementRef, static: false }) signUpStack: ElementRef; - @ViewChild("password", { read: ElementRef, static: false }) password: ElementRef; + @ViewChild("initialContainer", { static: false }) initialContainer: ElementRef; + @ViewChild("mainContainer", { static: false }) mainContainer: ElementRef; + @ViewChild("logoContainer", { static: false }) logoContainer: ElementRef; + @ViewChild("formControls", { static: false }) formControls: ElementRef; + @ViewChild("signUpStack", { static: false }) signUpStack: ElementRef; + @ViewChild("password", { static: false }) password: ElementRef; constructor(private router: Router, private userService: LoginService, From fec8cb94cfa8108c6c573dffc4d5097e06f5565c Mon Sep 17 00:00:00 2001 From: Elena Hristova Date: Wed, 26 Jun 2019 13:58:37 +0300 Subject: [PATCH 06/11] chore: update app for 5.4; remove deprecated usages --- .../{ => src/main}/AndroidManifest.xml | 0 .../{ => src/main/res}/drawable-hdpi/add.png | Bin .../main/res}/drawable-hdpi/apple.png | Bin .../main/res}/drawable-hdpi/background.png | Bin .../main/res}/drawable-hdpi/banana.png | Bin .../main/res}/drawable-hdpi/bg_inner.jpg | Bin .../main/res}/drawable-hdpi/bg_login.jpg | Bin .../main/res}/drawable-hdpi/checked.png | Bin .../main/res}/drawable-hdpi/checked_white.png | Bin .../main/res}/drawable-hdpi/delete.png | Bin .../main/res}/drawable-hdpi/ic_add.png | Bin .../main/res}/drawable-hdpi/ic_checked.png | Bin .../res}/drawable-hdpi/ic_checked_white.png | Bin .../main/res}/drawable-hdpi/ic_delete.png | Bin .../main/res}/drawable-hdpi/ic_menu.png | Bin .../res}/drawable-hdpi/ic_nonselected.png | Bin .../main/res}/drawable-hdpi/ic_recent.png | Bin .../main/res}/drawable-hdpi/ic_selected.png | Bin .../main/res}/drawable-hdpi/ic_unchecked.png | Bin .../res}/drawable-hdpi/ic_unchecked_white.png | Bin .../{ => src/main/res}/drawable-hdpi/icon.png | Bin .../{ => src/main/res}/drawable-hdpi/logo.png | Bin .../main/res}/drawable-hdpi/logo_login.png | Bin .../main/res}/drawable-hdpi/logo_signup.png | Bin .../{ => src/main/res}/drawable-hdpi/menu.png | Bin .../main/res}/drawable-hdpi/nonselected.png | Bin .../{ => src/main/res}/drawable-hdpi/pear.png | Bin .../main/res}/drawable-hdpi/recent.png | Bin .../main/res}/drawable-hdpi/selected.png | Bin .../main/res}/drawable-hdpi/unchecked.png | Bin .../res}/drawable-hdpi/unchecked_white.png | Bin .../{ => src/main/res}/drawable-mdpi/add.png | Bin .../main/res}/drawable-mdpi/apple.png | Bin .../main/res}/drawable-mdpi/background.png | Bin .../main/res}/drawable-mdpi/banana.png | Bin .../main/res}/drawable-mdpi/bg_inner.jpg | Bin .../main/res}/drawable-mdpi/bg_login.jpg | Bin .../main/res}/drawable-mdpi/checked.png | Bin .../main/res}/drawable-mdpi/checked_white.png | Bin .../main/res}/drawable-mdpi/delete.png | Bin .../main/res}/drawable-mdpi/ic_add.png | Bin .../main/res}/drawable-mdpi/ic_checked.png | Bin .../res}/drawable-mdpi/ic_checked_white.png | Bin .../main/res}/drawable-mdpi/ic_delete.png | Bin .../main/res}/drawable-mdpi/ic_menu.png | Bin .../res}/drawable-mdpi/ic_nonselected.png | Bin .../main/res}/drawable-mdpi/ic_recent.png | Bin .../main/res}/drawable-mdpi/ic_selected.png | Bin .../main/res}/drawable-mdpi/ic_unchecked.png | Bin .../res}/drawable-mdpi/ic_unchecked_white.png | Bin .../{ => src/main/res}/drawable-mdpi/icon.png | Bin .../{ => src/main/res}/drawable-mdpi/logo.png | Bin .../main/res}/drawable-mdpi/logo_login.png | Bin .../main/res}/drawable-mdpi/logo_signup.png | Bin .../{ => src/main/res}/drawable-mdpi/menu.png | Bin .../main/res}/drawable-mdpi/nonselected.png | Bin .../{ => src/main/res}/drawable-mdpi/pear.png | Bin .../main/res}/drawable-mdpi/recent.png | Bin .../main/res}/drawable-mdpi/selected.png | Bin .../main/res}/drawable-mdpi/unchecked.png | Bin .../res}/drawable-mdpi/unchecked_white.png | Bin .../res}/drawable-nodpi/splash_screen.xml | 0 .../{ => src/main/res}/drawable-xhdpi/add.png | Bin .../main/res}/drawable-xhdpi/apple.png | Bin .../main/res}/drawable-xhdpi/background.png | Bin .../main/res}/drawable-xhdpi/banana.png | Bin .../main/res}/drawable-xhdpi/bg_inner.jpg | Bin .../main/res}/drawable-xhdpi/bg_login.jpg | Bin .../main/res}/drawable-xhdpi/checked.png | Bin .../res}/drawable-xhdpi/checked_white.png | Bin .../main/res}/drawable-xhdpi/delete.png | Bin .../main/res}/drawable-xhdpi/ic_add.png | Bin .../main/res}/drawable-xhdpi/ic_checked.png | Bin .../res}/drawable-xhdpi/ic_checked_white.png | Bin .../main/res}/drawable-xhdpi/ic_delete.png | Bin .../main/res}/drawable-xhdpi/ic_menu.png | Bin .../res}/drawable-xhdpi/ic_nonselected.png | Bin .../main/res}/drawable-xhdpi/ic_recent.png | Bin .../main/res}/drawable-xhdpi/ic_selected.png | Bin .../main/res}/drawable-xhdpi/ic_unchecked.png | Bin .../drawable-xhdpi/ic_unchecked_white.png | Bin .../main/res}/drawable-xhdpi/icon.png | Bin .../main/res}/drawable-xhdpi/logo.png | Bin .../main/res}/drawable-xhdpi/logo_login.png | Bin .../main/res}/drawable-xhdpi/logo_signup.png | Bin .../main/res}/drawable-xhdpi/menu.png | Bin .../main/res}/drawable-xhdpi/nonselected.png | Bin .../main/res}/drawable-xhdpi/pear.png | Bin .../main/res}/drawable-xhdpi/recent.png | Bin .../main/res}/drawable-xhdpi/selected.png | Bin .../main/res}/drawable-xhdpi/unchecked.png | Bin .../res}/drawable-xhdpi/unchecked_white.png | Bin .../main/res}/drawable-xxhdpi/add.png | Bin .../main/res}/drawable-xxhdpi/apple.png | Bin .../main/res}/drawable-xxhdpi/background.png | Bin .../main/res}/drawable-xxhdpi/banana.png | Bin .../main/res}/drawable-xxhdpi/bg_inner.jpg | Bin .../main/res}/drawable-xxhdpi/bg_login.jpg | Bin .../main/res}/drawable-xxhdpi/checked.png | Bin .../res}/drawable-xxhdpi/checked_white.png | Bin .../main/res}/drawable-xxhdpi/delete.png | Bin .../main/res}/drawable-xxhdpi/ic_add.png | Bin .../main/res}/drawable-xxhdpi/ic_checked.png | Bin .../res}/drawable-xxhdpi/ic_checked_white.png | Bin .../main/res}/drawable-xxhdpi/ic_delete.png | Bin .../main/res}/drawable-xxhdpi/ic_menu.png | Bin .../res}/drawable-xxhdpi/ic_nonselected.png | Bin .../main/res}/drawable-xxhdpi/ic_recent.png | Bin .../main/res}/drawable-xxhdpi/ic_selected.png | Bin .../res}/drawable-xxhdpi/ic_unchecked.png | Bin .../drawable-xxhdpi/ic_unchecked_white.png | Bin .../main/res}/drawable-xxhdpi/icon.png | Bin .../main/res}/drawable-xxhdpi/logo.png | Bin .../main/res}/drawable-xxhdpi/logo_login.png | Bin .../main/res}/drawable-xxhdpi/logo_signup.png | Bin .../main/res}/drawable-xxhdpi/menu.png | Bin .../main/res}/drawable-xxhdpi/nonselected.png | Bin .../main/res}/drawable-xxhdpi/pear.png | Bin .../main/res}/drawable-xxhdpi/recent.png | Bin .../main/res}/drawable-xxhdpi/selected.png | Bin .../main/res}/drawable-xxhdpi/unchecked.png | Bin .../res}/drawable-xxhdpi/unchecked_white.png | Bin .../main/res}/drawable-xxxhdpi/add.png | Bin .../main/res}/drawable-xxxhdpi/apple.png | Bin .../main/res}/drawable-xxxhdpi/background.png | Bin .../main/res}/drawable-xxxhdpi/banana.png | Bin .../main/res}/drawable-xxxhdpi/checked.png | Bin .../res}/drawable-xxxhdpi/checked_white.png | Bin .../main/res}/drawable-xxxhdpi/delete.png | Bin .../main/res}/drawable-xxxhdpi/ic_add.png | Bin .../main/res}/drawable-xxxhdpi/ic_checked.png | Bin .../drawable-xxxhdpi/ic_checked_white.png | Bin .../main/res}/drawable-xxxhdpi/ic_delete.png | Bin .../main/res}/drawable-xxxhdpi/ic_menu.png | Bin .../res}/drawable-xxxhdpi/ic_nonselected.png | Bin .../main/res}/drawable-xxxhdpi/ic_recent.png | Bin .../res}/drawable-xxxhdpi/ic_selected.png | Bin .../res}/drawable-xxxhdpi/ic_unchecked.png | Bin .../drawable-xxxhdpi/ic_unchecked_white.png | Bin .../main/res}/drawable-xxxhdpi/icon.png | Bin .../main/res}/drawable-xxxhdpi/logo.png | Bin .../main/res}/drawable-xxxhdpi/logo_login.png | Bin .../res}/drawable-xxxhdpi/logo_signup.png | Bin .../main/res}/drawable-xxxhdpi/menu.png | Bin .../res}/drawable-xxxhdpi/nonselected.png | Bin .../main/res}/drawable-xxxhdpi/pear.png | Bin .../main/res}/drawable-xxxhdpi/recent.png | Bin .../main/res}/drawable-xxxhdpi/selected.png | Bin .../main/res}/drawable-xxxhdpi/unchecked.png | Bin .../res}/drawable-xxxhdpi/unchecked_white.png | Bin .../{ => src/main/res}/values-v21/colors.xml | 0 .../{ => src/main/res}/values-v21/styles.xml | 0 .../{ => src/main/res}/values/colors.xml | 0 .../{ => src/main/res}/values/strings.xml | 0 .../{ => src/main/res}/values/styles.xml | 0 app/groceries/groceries.component.ts | 8 +- .../grocery-list/grocery-list.component.ts | 3 +- app/login/login.component.ts | 12 +- app/shared/backend.service.ts | 8 +- app/shared/dialog-util.ts | 2 +- app/shared/status-bar-util.ts | 7 +- nsconfig.json | 3 + package.json | 26 ++--- webpack.config.js | 107 +++++++++++------- 164 files changed, 102 insertions(+), 74 deletions(-) rename app/App_Resources/Android/{ => src/main}/AndroidManifest.xml (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/add.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/apple.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/background.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/banana.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/bg_inner.jpg (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/bg_login.jpg (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/checked.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/checked_white.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/delete.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/ic_add.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/ic_checked.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/ic_checked_white.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/ic_delete.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/ic_menu.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/ic_nonselected.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/ic_recent.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/ic_selected.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/ic_unchecked.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/ic_unchecked_white.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/icon.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/logo.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/logo_login.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/logo_signup.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/menu.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/nonselected.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/pear.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/recent.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/selected.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/unchecked.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-hdpi/unchecked_white.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/add.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/apple.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/background.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/banana.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/bg_inner.jpg (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/bg_login.jpg (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/checked.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/checked_white.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/delete.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/ic_add.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/ic_checked.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/ic_checked_white.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/ic_delete.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/ic_menu.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/ic_nonselected.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/ic_recent.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/ic_selected.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/ic_unchecked.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/ic_unchecked_white.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/icon.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/logo.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/logo_login.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/logo_signup.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/menu.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/nonselected.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/pear.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/recent.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/selected.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/unchecked.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-mdpi/unchecked_white.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-nodpi/splash_screen.xml (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/add.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/apple.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/background.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/banana.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/bg_inner.jpg (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/bg_login.jpg (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/checked.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/checked_white.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/delete.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/ic_add.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/ic_checked.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/ic_checked_white.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/ic_delete.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/ic_menu.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/ic_nonselected.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/ic_recent.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/ic_selected.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/ic_unchecked.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/ic_unchecked_white.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/icon.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/logo.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/logo_login.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/logo_signup.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/menu.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/nonselected.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/pear.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/recent.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/selected.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/unchecked.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xhdpi/unchecked_white.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/add.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/apple.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/background.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/banana.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/bg_inner.jpg (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/bg_login.jpg (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/checked.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/checked_white.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/delete.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/ic_add.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/ic_checked.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/ic_checked_white.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/ic_delete.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/ic_menu.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/ic_nonselected.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/ic_recent.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/ic_selected.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/ic_unchecked.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/ic_unchecked_white.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/icon.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/logo.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/logo_login.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/logo_signup.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/menu.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/nonselected.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/pear.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/recent.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/selected.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/unchecked.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxhdpi/unchecked_white.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/add.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/apple.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/background.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/banana.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/checked.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/checked_white.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/delete.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/ic_add.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/ic_checked.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/ic_checked_white.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/ic_delete.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/ic_menu.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/ic_nonselected.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/ic_recent.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/ic_selected.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/ic_unchecked.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/ic_unchecked_white.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/icon.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/logo.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/logo_login.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/logo_signup.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/menu.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/nonselected.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/pear.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/recent.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/selected.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/unchecked.png (100%) rename app/App_Resources/Android/{ => src/main/res}/drawable-xxxhdpi/unchecked_white.png (100%) rename app/App_Resources/Android/{ => src/main/res}/values-v21/colors.xml (100%) rename app/App_Resources/Android/{ => src/main/res}/values-v21/styles.xml (100%) rename app/App_Resources/Android/{ => src/main/res}/values/colors.xml (100%) rename app/App_Resources/Android/{ => src/main/res}/values/strings.xml (100%) rename app/App_Resources/Android/{ => src/main/res}/values/styles.xml (100%) create mode 100644 nsconfig.json diff --git a/app/App_Resources/Android/AndroidManifest.xml b/app/App_Resources/Android/src/main/AndroidManifest.xml similarity index 100% rename from app/App_Resources/Android/AndroidManifest.xml rename to app/App_Resources/Android/src/main/AndroidManifest.xml diff --git a/app/App_Resources/Android/drawable-hdpi/add.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/add.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/add.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/add.png diff --git a/app/App_Resources/Android/drawable-hdpi/apple.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/apple.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/apple.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/apple.png diff --git a/app/App_Resources/Android/drawable-hdpi/background.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/background.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/background.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/background.png diff --git a/app/App_Resources/Android/drawable-hdpi/banana.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/banana.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/banana.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/banana.png diff --git a/app/App_Resources/Android/drawable-hdpi/bg_inner.jpg b/app/App_Resources/Android/src/main/res/drawable-hdpi/bg_inner.jpg similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/bg_inner.jpg rename to app/App_Resources/Android/src/main/res/drawable-hdpi/bg_inner.jpg diff --git a/app/App_Resources/Android/drawable-hdpi/bg_login.jpg b/app/App_Resources/Android/src/main/res/drawable-hdpi/bg_login.jpg similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/bg_login.jpg rename to app/App_Resources/Android/src/main/res/drawable-hdpi/bg_login.jpg diff --git a/app/App_Resources/Android/drawable-hdpi/checked.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/checked.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/checked.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/checked.png diff --git a/app/App_Resources/Android/drawable-hdpi/checked_white.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/checked_white.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/checked_white.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/checked_white.png diff --git a/app/App_Resources/Android/drawable-hdpi/delete.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/delete.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/delete.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/delete.png diff --git a/app/App_Resources/Android/drawable-hdpi/ic_add.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/ic_add.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/ic_add.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/ic_add.png diff --git a/app/App_Resources/Android/drawable-hdpi/ic_checked.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/ic_checked.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/ic_checked.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/ic_checked.png diff --git a/app/App_Resources/Android/drawable-hdpi/ic_checked_white.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/ic_checked_white.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/ic_checked_white.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/ic_checked_white.png diff --git a/app/App_Resources/Android/drawable-hdpi/ic_delete.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/ic_delete.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/ic_delete.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/ic_delete.png diff --git a/app/App_Resources/Android/drawable-hdpi/ic_menu.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/ic_menu.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/ic_menu.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/ic_menu.png diff --git a/app/App_Resources/Android/drawable-hdpi/ic_nonselected.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/ic_nonselected.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/ic_nonselected.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/ic_nonselected.png diff --git a/app/App_Resources/Android/drawable-hdpi/ic_recent.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/ic_recent.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/ic_recent.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/ic_recent.png diff --git a/app/App_Resources/Android/drawable-hdpi/ic_selected.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/ic_selected.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/ic_selected.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/ic_selected.png diff --git a/app/App_Resources/Android/drawable-hdpi/ic_unchecked.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/ic_unchecked.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/ic_unchecked.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/ic_unchecked.png diff --git a/app/App_Resources/Android/drawable-hdpi/ic_unchecked_white.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/ic_unchecked_white.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/ic_unchecked_white.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/ic_unchecked_white.png diff --git a/app/App_Resources/Android/drawable-hdpi/icon.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/icon.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/icon.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/icon.png diff --git a/app/App_Resources/Android/drawable-hdpi/logo.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/logo.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/logo.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/logo.png diff --git a/app/App_Resources/Android/drawable-hdpi/logo_login.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/logo_login.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/logo_login.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/logo_login.png diff --git a/app/App_Resources/Android/drawable-hdpi/logo_signup.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/logo_signup.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/logo_signup.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/logo_signup.png diff --git a/app/App_Resources/Android/drawable-hdpi/menu.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/menu.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/menu.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/menu.png diff --git a/app/App_Resources/Android/drawable-hdpi/nonselected.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/nonselected.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/nonselected.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/nonselected.png diff --git a/app/App_Resources/Android/drawable-hdpi/pear.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/pear.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/pear.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/pear.png diff --git a/app/App_Resources/Android/drawable-hdpi/recent.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/recent.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/recent.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/recent.png diff --git a/app/App_Resources/Android/drawable-hdpi/selected.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/selected.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/selected.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/selected.png diff --git a/app/App_Resources/Android/drawable-hdpi/unchecked.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/unchecked.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/unchecked.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/unchecked.png diff --git a/app/App_Resources/Android/drawable-hdpi/unchecked_white.png b/app/App_Resources/Android/src/main/res/drawable-hdpi/unchecked_white.png similarity index 100% rename from app/App_Resources/Android/drawable-hdpi/unchecked_white.png rename to app/App_Resources/Android/src/main/res/drawable-hdpi/unchecked_white.png diff --git a/app/App_Resources/Android/drawable-mdpi/add.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/add.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/add.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/add.png diff --git a/app/App_Resources/Android/drawable-mdpi/apple.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/apple.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/apple.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/apple.png diff --git a/app/App_Resources/Android/drawable-mdpi/background.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/background.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/background.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/background.png diff --git a/app/App_Resources/Android/drawable-mdpi/banana.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/banana.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/banana.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/banana.png diff --git a/app/App_Resources/Android/drawable-mdpi/bg_inner.jpg b/app/App_Resources/Android/src/main/res/drawable-mdpi/bg_inner.jpg similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/bg_inner.jpg rename to app/App_Resources/Android/src/main/res/drawable-mdpi/bg_inner.jpg diff --git a/app/App_Resources/Android/drawable-mdpi/bg_login.jpg b/app/App_Resources/Android/src/main/res/drawable-mdpi/bg_login.jpg similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/bg_login.jpg rename to app/App_Resources/Android/src/main/res/drawable-mdpi/bg_login.jpg diff --git a/app/App_Resources/Android/drawable-mdpi/checked.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/checked.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/checked.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/checked.png diff --git a/app/App_Resources/Android/drawable-mdpi/checked_white.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/checked_white.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/checked_white.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/checked_white.png diff --git a/app/App_Resources/Android/drawable-mdpi/delete.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/delete.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/delete.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/delete.png diff --git a/app/App_Resources/Android/drawable-mdpi/ic_add.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/ic_add.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/ic_add.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/ic_add.png diff --git a/app/App_Resources/Android/drawable-mdpi/ic_checked.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/ic_checked.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/ic_checked.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/ic_checked.png diff --git a/app/App_Resources/Android/drawable-mdpi/ic_checked_white.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/ic_checked_white.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/ic_checked_white.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/ic_checked_white.png diff --git a/app/App_Resources/Android/drawable-mdpi/ic_delete.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/ic_delete.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/ic_delete.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/ic_delete.png diff --git a/app/App_Resources/Android/drawable-mdpi/ic_menu.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/ic_menu.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/ic_menu.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/ic_menu.png diff --git a/app/App_Resources/Android/drawable-mdpi/ic_nonselected.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/ic_nonselected.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/ic_nonselected.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/ic_nonselected.png diff --git a/app/App_Resources/Android/drawable-mdpi/ic_recent.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/ic_recent.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/ic_recent.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/ic_recent.png diff --git a/app/App_Resources/Android/drawable-mdpi/ic_selected.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/ic_selected.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/ic_selected.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/ic_selected.png diff --git a/app/App_Resources/Android/drawable-mdpi/ic_unchecked.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/ic_unchecked.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/ic_unchecked.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/ic_unchecked.png diff --git a/app/App_Resources/Android/drawable-mdpi/ic_unchecked_white.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/ic_unchecked_white.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/ic_unchecked_white.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/ic_unchecked_white.png diff --git a/app/App_Resources/Android/drawable-mdpi/icon.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/icon.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/icon.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/icon.png diff --git a/app/App_Resources/Android/drawable-mdpi/logo.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/logo.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/logo.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/logo.png diff --git a/app/App_Resources/Android/drawable-mdpi/logo_login.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/logo_login.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/logo_login.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/logo_login.png diff --git a/app/App_Resources/Android/drawable-mdpi/logo_signup.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/logo_signup.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/logo_signup.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/logo_signup.png diff --git a/app/App_Resources/Android/drawable-mdpi/menu.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/menu.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/menu.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/menu.png diff --git a/app/App_Resources/Android/drawable-mdpi/nonselected.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/nonselected.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/nonselected.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/nonselected.png diff --git a/app/App_Resources/Android/drawable-mdpi/pear.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/pear.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/pear.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/pear.png diff --git a/app/App_Resources/Android/drawable-mdpi/recent.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/recent.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/recent.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/recent.png diff --git a/app/App_Resources/Android/drawable-mdpi/selected.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/selected.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/selected.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/selected.png diff --git a/app/App_Resources/Android/drawable-mdpi/unchecked.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/unchecked.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/unchecked.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/unchecked.png diff --git a/app/App_Resources/Android/drawable-mdpi/unchecked_white.png b/app/App_Resources/Android/src/main/res/drawable-mdpi/unchecked_white.png similarity index 100% rename from app/App_Resources/Android/drawable-mdpi/unchecked_white.png rename to app/App_Resources/Android/src/main/res/drawable-mdpi/unchecked_white.png diff --git a/app/App_Resources/Android/drawable-nodpi/splash_screen.xml b/app/App_Resources/Android/src/main/res/drawable-nodpi/splash_screen.xml similarity index 100% rename from app/App_Resources/Android/drawable-nodpi/splash_screen.xml rename to app/App_Resources/Android/src/main/res/drawable-nodpi/splash_screen.xml diff --git a/app/App_Resources/Android/drawable-xhdpi/add.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/add.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/add.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/add.png diff --git a/app/App_Resources/Android/drawable-xhdpi/apple.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/apple.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/apple.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/apple.png diff --git a/app/App_Resources/Android/drawable-xhdpi/background.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/background.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/background.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/background.png diff --git a/app/App_Resources/Android/drawable-xhdpi/banana.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/banana.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/banana.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/banana.png diff --git a/app/App_Resources/Android/drawable-xhdpi/bg_inner.jpg b/app/App_Resources/Android/src/main/res/drawable-xhdpi/bg_inner.jpg similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/bg_inner.jpg rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/bg_inner.jpg diff --git a/app/App_Resources/Android/drawable-xhdpi/bg_login.jpg b/app/App_Resources/Android/src/main/res/drawable-xhdpi/bg_login.jpg similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/bg_login.jpg rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/bg_login.jpg diff --git a/app/App_Resources/Android/drawable-xhdpi/checked.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/checked.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/checked.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/checked.png diff --git a/app/App_Resources/Android/drawable-xhdpi/checked_white.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/checked_white.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/checked_white.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/checked_white.png diff --git a/app/App_Resources/Android/drawable-xhdpi/delete.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/delete.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/delete.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/delete.png diff --git a/app/App_Resources/Android/drawable-xhdpi/ic_add.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_add.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/ic_add.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_add.png diff --git a/app/App_Resources/Android/drawable-xhdpi/ic_checked.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_checked.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/ic_checked.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_checked.png diff --git a/app/App_Resources/Android/drawable-xhdpi/ic_checked_white.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_checked_white.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/ic_checked_white.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_checked_white.png diff --git a/app/App_Resources/Android/drawable-xhdpi/ic_delete.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_delete.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/ic_delete.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_delete.png diff --git a/app/App_Resources/Android/drawable-xhdpi/ic_menu.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_menu.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/ic_menu.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_menu.png diff --git a/app/App_Resources/Android/drawable-xhdpi/ic_nonselected.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_nonselected.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/ic_nonselected.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_nonselected.png diff --git a/app/App_Resources/Android/drawable-xhdpi/ic_recent.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_recent.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/ic_recent.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_recent.png diff --git a/app/App_Resources/Android/drawable-xhdpi/ic_selected.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_selected.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/ic_selected.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_selected.png diff --git a/app/App_Resources/Android/drawable-xhdpi/ic_unchecked.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_unchecked.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/ic_unchecked.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_unchecked.png diff --git a/app/App_Resources/Android/drawable-xhdpi/ic_unchecked_white.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_unchecked_white.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/ic_unchecked_white.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/ic_unchecked_white.png diff --git a/app/App_Resources/Android/drawable-xhdpi/icon.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/icon.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png diff --git a/app/App_Resources/Android/drawable-xhdpi/logo.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/logo.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png diff --git a/app/App_Resources/Android/drawable-xhdpi/logo_login.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/logo_login.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/logo_login.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/logo_login.png diff --git a/app/App_Resources/Android/drawable-xhdpi/logo_signup.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/logo_signup.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/logo_signup.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/logo_signup.png diff --git a/app/App_Resources/Android/drawable-xhdpi/menu.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/menu.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/menu.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/menu.png diff --git a/app/App_Resources/Android/drawable-xhdpi/nonselected.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/nonselected.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/nonselected.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/nonselected.png diff --git a/app/App_Resources/Android/drawable-xhdpi/pear.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/pear.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/pear.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/pear.png diff --git a/app/App_Resources/Android/drawable-xhdpi/recent.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/recent.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/recent.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/recent.png diff --git a/app/App_Resources/Android/drawable-xhdpi/selected.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/selected.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/selected.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/selected.png diff --git a/app/App_Resources/Android/drawable-xhdpi/unchecked.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/unchecked.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/unchecked.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/unchecked.png diff --git a/app/App_Resources/Android/drawable-xhdpi/unchecked_white.png b/app/App_Resources/Android/src/main/res/drawable-xhdpi/unchecked_white.png similarity index 100% rename from app/App_Resources/Android/drawable-xhdpi/unchecked_white.png rename to app/App_Resources/Android/src/main/res/drawable-xhdpi/unchecked_white.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/add.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/add.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/add.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/add.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/apple.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/apple.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/apple.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/apple.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/background.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/background.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/banana.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/banana.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/banana.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/banana.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/bg_inner.jpg b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/bg_inner.jpg similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/bg_inner.jpg rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/bg_inner.jpg diff --git a/app/App_Resources/Android/drawable-xxhdpi/bg_login.jpg b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/bg_login.jpg similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/bg_login.jpg rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/bg_login.jpg diff --git a/app/App_Resources/Android/drawable-xxhdpi/checked.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/checked.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/checked.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/checked.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/checked_white.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/checked_white.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/checked_white.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/checked_white.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/delete.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/delete.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/delete.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/delete.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/ic_add.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_add.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/ic_add.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_add.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/ic_checked.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_checked.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/ic_checked.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_checked.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/ic_checked_white.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_checked_white.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/ic_checked_white.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_checked_white.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/ic_delete.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_delete.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/ic_delete.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_delete.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/ic_menu.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_menu.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/ic_menu.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_menu.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/ic_nonselected.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_nonselected.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/ic_nonselected.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_nonselected.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/ic_recent.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_recent.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/ic_recent.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_recent.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/ic_selected.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_selected.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/ic_selected.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_selected.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/ic_unchecked.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_unchecked.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/ic_unchecked.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_unchecked.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/ic_unchecked_white.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_unchecked_white.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/ic_unchecked_white.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/ic_unchecked_white.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/icon.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/icon.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/logo.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/logo.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/logo_login.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/logo_login.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/logo_login.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/logo_login.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/logo_signup.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/logo_signup.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/logo_signup.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/logo_signup.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/menu.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/menu.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/menu.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/menu.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/nonselected.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/nonselected.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/nonselected.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/nonselected.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/pear.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/pear.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/pear.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/pear.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/recent.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/recent.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/recent.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/recent.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/selected.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/selected.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/selected.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/selected.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/unchecked.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/unchecked.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/unchecked.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/unchecked.png diff --git a/app/App_Resources/Android/drawable-xxhdpi/unchecked_white.png b/app/App_Resources/Android/src/main/res/drawable-xxhdpi/unchecked_white.png similarity index 100% rename from app/App_Resources/Android/drawable-xxhdpi/unchecked_white.png rename to app/App_Resources/Android/src/main/res/drawable-xxhdpi/unchecked_white.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/add.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/add.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/add.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/add.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/apple.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/apple.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/apple.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/apple.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/background.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/background.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/banana.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/banana.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/banana.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/banana.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/checked.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/checked.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/checked.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/checked.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/checked_white.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/checked_white.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/checked_white.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/checked_white.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/delete.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/delete.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/delete.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/delete.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/ic_add.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_add.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/ic_add.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_add.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/ic_checked.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_checked.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/ic_checked.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_checked.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/ic_checked_white.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_checked_white.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/ic_checked_white.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_checked_white.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/ic_delete.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_delete.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/ic_delete.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_delete.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/ic_menu.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_menu.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/ic_menu.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_menu.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/ic_nonselected.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_nonselected.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/ic_nonselected.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_nonselected.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/ic_recent.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_recent.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/ic_recent.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_recent.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/ic_selected.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_selected.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/ic_selected.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_selected.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/ic_unchecked.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_unchecked.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/ic_unchecked.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_unchecked.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/ic_unchecked_white.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_unchecked_white.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/ic_unchecked_white.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/ic_unchecked_white.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/icon.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/icon.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/logo.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/logo.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/logo_login.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo_login.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/logo_login.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo_login.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/logo_signup.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo_signup.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/logo_signup.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo_signup.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/menu.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/menu.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/menu.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/menu.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/nonselected.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/nonselected.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/nonselected.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/nonselected.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/pear.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/pear.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/pear.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/pear.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/recent.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/recent.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/recent.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/recent.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/selected.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/selected.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/selected.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/selected.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/unchecked.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/unchecked.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/unchecked.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/unchecked.png diff --git a/app/App_Resources/Android/drawable-xxxhdpi/unchecked_white.png b/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/unchecked_white.png similarity index 100% rename from app/App_Resources/Android/drawable-xxxhdpi/unchecked_white.png rename to app/App_Resources/Android/src/main/res/drawable-xxxhdpi/unchecked_white.png diff --git a/app/App_Resources/Android/values-v21/colors.xml b/app/App_Resources/Android/src/main/res/values-v21/colors.xml similarity index 100% rename from app/App_Resources/Android/values-v21/colors.xml rename to app/App_Resources/Android/src/main/res/values-v21/colors.xml diff --git a/app/App_Resources/Android/values-v21/styles.xml b/app/App_Resources/Android/src/main/res/values-v21/styles.xml similarity index 100% rename from app/App_Resources/Android/values-v21/styles.xml rename to app/App_Resources/Android/src/main/res/values-v21/styles.xml diff --git a/app/App_Resources/Android/values/colors.xml b/app/App_Resources/Android/src/main/res/values/colors.xml similarity index 100% rename from app/App_Resources/Android/values/colors.xml rename to app/App_Resources/Android/src/main/res/values/colors.xml diff --git a/app/App_Resources/Android/values/strings.xml b/app/App_Resources/Android/src/main/res/values/strings.xml similarity index 100% rename from app/App_Resources/Android/values/strings.xml rename to app/App_Resources/Android/src/main/res/values/strings.xml diff --git a/app/App_Resources/Android/values/styles.xml b/app/App_Resources/Android/src/main/res/values/styles.xml similarity index 100% rename from app/App_Resources/Android/values/styles.xml rename to app/App_Resources/Android/src/main/res/values/styles.xml diff --git a/app/groceries/groceries.component.ts b/app/groceries/groceries.component.ts index bfbbfc02..fadc3015 100644 --- a/app/groceries/groceries.component.ts +++ b/app/groceries/groceries.component.ts @@ -1,12 +1,10 @@ import { Component, ElementRef, OnInit, ViewChild } from "@angular/core"; import { Router } from "@angular/router"; -import { action } from "ui/dialogs"; -import { Color } from "color"; -import { Page } from "ui/page"; -import { TextField } from "ui/text-field"; +import { action } from "tns-core-modules/ui/dialogs"; +import { Page } from "tns-core-modules/ui/page"; +import { TextField } from "tns-core-modules/ui/text-field"; import * as SocialShare from "nativescript-social-share"; -import { GroceryListComponent } from "./grocery-list/grocery-list.component"; import { GroceryService } from "./shared"; import { LoginService, alert } from "../shared"; diff --git a/app/groceries/grocery-list/grocery-list.component.ts b/app/groceries/grocery-list/grocery-list.component.ts index c4088a95..4bdfddb5 100644 --- a/app/groceries/grocery-list/grocery-list.component.ts +++ b/app/groceries/grocery-list/grocery-list.component.ts @@ -1,5 +1,4 @@ import { Component, ChangeDetectionStrategy, EventEmitter, Input, Output, AfterViewInit } from "@angular/core"; -import * as utils from "utils/utils"; import { Grocery, GroceryService } from "../shared"; import { alert } from "../../shared"; @@ -48,7 +47,7 @@ export class GroceryListComponent implements AfterViewInit { let cell = args.ios; if (cell) { // support XCode 8 - cell.backgroundColor = utils.ios.getter(UIColor, UIColor.clearColor); + cell.backgroundColor = UIColor.clearColor; } } diff --git a/app/login/login.component.ts b/app/login/login.component.ts index 6db443c0..ad9c6b28 100644 --- a/app/login/login.component.ts +++ b/app/login/login.component.ts @@ -1,11 +1,11 @@ import { Component, ElementRef, OnInit, ViewChild } from "@angular/core"; import { Router } from "@angular/router"; -import { Color } from "color"; -import { connectionType, getConnectionType } from "connectivity"; -import { Animation } from "ui/animation"; -import { View } from "ui/core/view"; -import { prompt } from "ui/dialogs"; -import { Page } from "ui/page"; +import { Color } from "tns-core-modules/color"; +import { connectionType, getConnectionType } from "tns-core-modules/connectivity"; +import { Animation } from "tns-core-modules/ui/animation"; +import { View } from "tns-core-modules/ui/core/view"; +import { prompt } from "tns-core-modules/ui/dialogs"; +import { Page } from "tns-core-modules/ui/page"; import { alert, LoginService, User } from "../shared"; diff --git a/app/shared/backend.service.ts b/app/shared/backend.service.ts index 84d5b54c..462fb23d 100644 --- a/app/shared/backend.service.ts +++ b/app/shared/backend.service.ts @@ -1,5 +1,5 @@ import { Injectable } from "@angular/core"; -import { getString, setString } from "application-settings"; +import { getString, setString } from "tns-core-modules/application-settings"; const tokenKey = "token"; @@ -10,14 +10,14 @@ export class BackendService { static apiUrl = ""; static isLoggedIn(): boolean { - return !!getString("token"); + return !!getString(tokenKey); } static get token(): string { - return getString("token"); + return getString(tokenKey); } static set token(theToken: string) { - setString("token", theToken); + setString(tokenKey, theToken); } } diff --git a/app/shared/dialog-util.ts b/app/shared/dialog-util.ts index c18ac881..7c4c70e8 100644 --- a/app/shared/dialog-util.ts +++ b/app/shared/dialog-util.ts @@ -1,4 +1,4 @@ -import * as dialogsModule from "ui/dialogs"; +import * as dialogsModule from "tns-core-modules/ui/dialogs"; export function alert(message: string) { return dialogsModule.alert({ diff --git a/app/shared/status-bar-util.ts b/app/shared/status-bar-util.ts index b862f644..c0688fa6 100644 --- a/app/shared/status-bar-util.ts +++ b/app/shared/status-bar-util.ts @@ -1,10 +1,7 @@ -import * as application from "application"; -import * as platform from "platform"; -import * as utils from "utils/utils"; +import * as application from "tns-core-modules/application"; +import * as platform from "tns-core-modules/platform"; declare var android: any; -declare var UIStatusBarStyle: any; -declare var UIApplication: any; export function setStatusBarColors() { // Make the Android status bar transparent. diff --git a/nsconfig.json b/nsconfig.json new file mode 100644 index 00000000..a6d75472 --- /dev/null +++ b/nsconfig.json @@ -0,0 +1,3 @@ +{ + "useLegacyWorkflow": false +} \ No newline at end of file diff --git a/package.json b/package.json index fb4484c0..1b25b066 100644 --- a/package.json +++ b/package.json @@ -18,10 +18,10 @@ "nativescript": { "id": "org.nativescript.groceries", "tns-android": { - "version": "5.1.0" + "version": "5.4.0" }, "tns-ios": { - "version": "5.1.1" + "version": "5.4.2" } }, "scripts": { @@ -40,22 +40,22 @@ "update-ns-webpack": "update-ns-webpack" }, "dependencies": { - "@angular/common": "8.0.0", - "@angular/compiler": "8.0.0", - "@angular/core": "8.0.0", - "@angular/forms": "8.0.0", + "@angular/common": "~8.0.0", + "@angular/compiler": "~8.0.0", + "@angular/core": "~8.0.0", + "@angular/forms": "~8.0.0", "@angular/http": "8.0.0-beta.10", - "@angular/platform-browser": "8.0.0", - "@angular/platform-browser-dynamic": "8.0.0", - "@angular/router": "8.0.0", + "@angular/platform-browser": "~8.0.0", + "@angular/platform-browser-dynamic": "~8.0.0", + "@angular/router": "~8.0.0", "email-validator": "^2.0.4", - "nativescript-angular": "~7.2.0", + "nativescript-angular": "~8.0.0", "nativescript-iqkeyboardmanager": "~1.3.0", "nativescript-social-share": "~1.5.1", "nativescript-unit-test-runner": "^0.3.3", "reflect-metadata": "~0.1.8", "rxjs": "^6.3.3", - "tns-core-modules": "~5.1.2", + "tns-core-modules": "~5.4.0", "zone.js": "^0.8.4" }, "devDependencies": { @@ -78,8 +78,8 @@ "mocha-junit-reporter": "~1.18.0", "mocha-multi": "~1.0.1", "nativescript-dev-appium": "~5.0.0", - "nativescript-dev-typescript": "~0.7.9", - "nativescript-dev-webpack": "~0.19.1", + "nativescript-dev-typescript": "~0.10.0", + "nativescript-dev-webpack": "~0.24.0", "tslint": "^5.4.2", "typescript": "~3.4.5" } diff --git a/webpack.config.js b/webpack.config.js index a68bf838..a57f5cf9 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -5,13 +5,15 @@ const nsWebpack = require("nativescript-dev-webpack"); const nativescriptTarget = require("nativescript-dev-webpack/nativescript-target"); const { nsReplaceBootstrap } = require("nativescript-dev-webpack/transformers/ns-replace-bootstrap"); const { nsReplaceLazyLoader } = require("nativescript-dev-webpack/transformers/ns-replace-lazy-loader"); +const { nsSupportHmrNg } = require("nativescript-dev-webpack/transformers/ns-support-hmr-ng"); const { getMainModulePath } = require("nativescript-dev-webpack/utils/ast-utils"); const CleanWebpackPlugin = require("clean-webpack-plugin"); const CopyWebpackPlugin = require("copy-webpack-plugin"); const { BundleAnalyzerPlugin } = require("webpack-bundle-analyzer"); const { NativeScriptWorkerPlugin } = require("nativescript-worker-loader/NativeScriptWorkerPlugin"); -const UglifyJsPlugin = require("uglifyjs-webpack-plugin"); -const { AngularCompilerPlugin } = require("@ngtools/webpack"); +const TerserPlugin = require("terser-webpack-plugin"); +const { getAngularCompilerPlugin } = require("nativescript-dev-webpack/plugins/NativeScriptAngularCompilerPlugin"); +const hashSalt = Date.now().toString(); module.exports = env => { // Add your custom Activities, Services and other Android app components here. @@ -25,6 +27,7 @@ module.exports = env => { throw new Error("You need to provide a target platform!"); } + const AngularCompilerPlugin = getAngularCompilerPlugin(platform); const projectRoot = __dirname; // Default destination inside platforms//... @@ -44,29 +47,38 @@ module.exports = env => { uglify, // --env.uglify report, // --env.report sourceMap, // --env.sourceMap + hiddenSourceMap, // --env.hiddenSourceMap hmr, // --env.hmr, + unitTesting, // --env.unitTesting } = env; - env.externals = env.externals || []; - const externals = (env.externals).map((e) => { // --env.externals - return new RegExp(e + ".*"); - }); + const isAnySourceMapEnabled = !!sourceMap || !!hiddenSourceMap; + const externals = nsWebpack.getConvertedExternals(env.externals); const appFullPath = resolve(projectRoot, appPath); const appResourcesFullPath = resolve(projectRoot, appResourcesPath); - - const entryModule = `${nsWebpack.getEntryModule(appFullPath)}.ts`; + const tsConfigName = "tsconfig.tns.json"; + const entryModule = `${nsWebpack.getEntryModule(appFullPath, platform)}.ts`; const entryPath = `.${sep}${entryModule}`; + const entries = { bundle: entryPath }; + if (platform === "ios") { + entries["tns_modules/tns-core-modules/inspector_modules"] = "inspector_modules.js"; + }; + const ngCompilerTransformers = []; const additionalLazyModuleResources = []; if (aot) { ngCompilerTransformers.push(nsReplaceBootstrap); } + if (hmr) { + ngCompilerTransformers.push(nsSupportHmrNg); + } + // when "@angular/core" is external, it's not included in the bundles. In this way, it will be used // directly from node_modules and the Angular modules loader won't be able to resolve the lazy routes // fixes https://github.com/NativeScript/nativescript-cli/issues/4024 - if (env.externals.indexOf("@angular/core") > -1) { - const appModuleRelativePath = getMainModulePath(resolve(appFullPath, entryModule)); + if (env.externals && env.externals.indexOf("@angular/core") > -1) { + const appModuleRelativePath = getMainModulePath(resolve(appFullPath, entryModule), tsConfigName); if (appModuleRelativePath) { const appModuleFolderPath = dirname(resolve(appFullPath, appModuleRelativePath)); // include the lazy loader inside app module @@ -78,14 +90,16 @@ module.exports = env => { const ngCompilerPlugin = new AngularCompilerPlugin({ hostReplacementPaths: nsWebpack.getResolver([platform, "tns"]), - platformTransformers: ngCompilerTransformers.map(t => t(() => ngCompilerPlugin)), - mainPath: resolve(appPath, entryModule), - tsConfigPath: join(__dirname, "tsconfig.tns.json"), + platformTransformers: ngCompilerTransformers.map(t => t(() => ngCompilerPlugin, resolve(appFullPath, entryModule), projectRoot)), + mainPath: join(appFullPath, entryModule), + tsConfigPath: join(__dirname, tsConfigName), skipCodeGeneration: !aot, - sourceMap: !!sourceMap, + sourceMap: !!isAnySourceMapEnabled, additionalLazyModuleResources: additionalLazyModuleResources }); + let sourceMapFilename = nsWebpack.getSourceMapFilename(hiddenSourceMap, __dirname, dist); + const config = { mode: uglify ? "production" : "development", context: appFullPath, @@ -98,15 +112,15 @@ module.exports = env => { ] }, target: nativescriptTarget, - entry: { - bundle: entryPath, - }, + entry: entries, output: { pathinfo: false, path: dist, + sourceMapFilename, libraryTarget: "commonjs2", filename: "[name].js", globalObject: "global", + hashSalt }, resolve: { extensions: [".ts", ".js", ".scss", ".css"], @@ -133,8 +147,9 @@ module.exports = env => { "fs": "empty", "__dirname": false, }, - devtool: sourceMap ? "inline-source-map" : "none", + devtool: hiddenSourceMap ? "hidden-source-map" : (sourceMap ? "inline-source-map" : "none"), optimization: { + runtimeChunk: "single", splitChunks: { cacheGroups: { vendor: { @@ -151,12 +166,14 @@ module.exports = env => { }, minimize: !!uglify, minimizer: [ - new UglifyJsPlugin({ + new TerserPlugin({ parallel: true, cache: true, - uglifyOptions: { + sourceMap: isAnySourceMapEnabled, + terserOptions: { output: { comments: false, + semicolons: !isAnySourceMapEnabled }, compress: { // The Android SBG has problems parsing the output @@ -171,7 +188,7 @@ module.exports = env => { module: { rules: [ { - test: new RegExp(entryPath), + test: nsWebpack.getEntryPathRegExp(appFullPath, entryPath), use: [ // Require all Android app components platform === "android" && { @@ -184,6 +201,9 @@ module.exports = env => { options: { angular: true, loadCss: !snapshot, // load the application css if in debug mode + unitTesting, + appFullPath, + projectRoot, } }, ].filter(loader => !!loader) @@ -194,15 +214,16 @@ module.exports = env => { // tns-core-modules reads the app.css and its imports using css-loader { test: /[\/|\\]app\.css$/, - use: { - loader: "css-loader", - options: { minimize: false, url: false }, - } + use: [ + "nativescript-dev-webpack/style-hot-loader", + { loader: "css-loader", options: { url: false } } + ] }, { test: /[\/|\\]app\.scss$/, use: [ - { loader: "css-loader", options: { minimize: false, url: false } }, + "nativescript-dev-webpack/style-hot-loader", + { loader: "css-loader", options: { url: false } }, "sass-loader" ] }, @@ -236,14 +257,6 @@ module.exports = env => { }), // Remove all files from the out dir. new CleanWebpackPlugin([`${dist}/**/*`]), - // Copy native app resources to out dir. - new CopyWebpackPlugin([ - { - from: `${appResourcesFullPath}/${appResourcesPlatformDir}`, - to: `${dist}/App_Resources/${appResourcesPlatformDir}`, - context: projectRoot - }, - ]), // Copy assets to out dir. Add your own globs as needed. new CopyWebpackPlugin([ { from: { glob: "fonts/**" } }, @@ -251,10 +264,16 @@ module.exports = env => { { from: { glob: "**/*.png" } }, ], { ignore: [`${relative(appPath, appResourcesFullPath)}/**`] }), // Generate a bundle starter script and activate it in package.json - new nsWebpack.GenerateBundleStarterPlugin([ - "./vendor", - "./bundle", - ]), + new nsWebpack.GenerateBundleStarterPlugin( + // Don't include `runtime.js` when creating a snapshot. The plugin + // configures the WebPack runtime to be generated inside the snapshot + // module and no `runtime.js` module exist. + (snapshot ? [] : ["./runtime"]) + .concat([ + "./vendor", + "./bundle", + ]) + ), // For instructions on how to set up workers with webpack // check out https://github.com/nativescript/worker-loader new NativeScriptWorkerPlugin(), @@ -264,6 +283,18 @@ module.exports = env => { ], }; + // Copy the native app resources to the out dir + // only if doing a full build (tns run/build) and not previewing (tns preview) + if (!externals || externals.length === 0) { + config.plugins.push(new CopyWebpackPlugin([ + { + from: `${appResourcesFullPath}/${appResourcesPlatformDir}`, + to: `${dist}/App_Resources/${appResourcesPlatformDir}`, + context: projectRoot + }, + ])); + } + if (report) { // Generate report files for bundles content From 836d231a136462130422306a35d4e0699e5ef188 Mon Sep 17 00:00:00 2001 From: Elena Hristova Date: Wed, 26 Jun 2019 15:02:05 +0300 Subject: [PATCH 07/11] chorE: update travis configuration --- .travis.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index f42f9cc6..f38562d2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,7 +25,7 @@ matrix: - Xcode="10.0" osx_image: xcode10 language: node_js - node_js: "8" + node_js: "10" jdk: oraclejdk8 script: - tns build ios --bundle --env.aot --env.uglify @@ -36,7 +36,7 @@ matrix: - BuildAndroid="28" os: linux jdk: oraclejdk8 - before_install: nvm install 8.9.1 + before_install: nvm install 10 script: - tns build android --bundle --env.aot --env.uglify --env.snapshot - "curl -u $SAUCE_USER:$SAUCE_KEY -X POST -H 'Content-Type: application/octet-stream' $ANDROID_SAUCE_STORAGE --data-binary @$ANDROID_PACKAGE_FOLDER/app-debug.apk" @@ -45,7 +45,7 @@ matrix: - AndroidEmulator="23" language: node_js os: linux - node_js: "8" + node_js: "10" script: # - npm i -g appium@1.8.0 - npm i @@ -54,7 +54,7 @@ matrix: env: - iOS="11" language: node_js - node_js: "8" + node_js: "10" script: # - npm i -g appium@1.8.0 - npm i @@ -78,6 +78,6 @@ cache: install: - pip install six - - echo no | npm install -g nativescript@next --ignore-scripts + - echo no | npm install -g nativescript@latest --ignore-scripts - tns usage-reporting disable - tns error-reporting disable From 35f0c08174e9661309be9ba6d896df15920be008 Mon Sep 17 00:00:00 2001 From: SvetoslavTsenov Date: Mon, 15 Jul 2019 17:26:50 +0300 Subject: [PATCH 08/11] chore: migrate deps to 6.0.0 --- .migration_backup/tsconfig.tns.json | 7 + .migration_backup/webpack.config.js | 333 ++++++++++++++++++++++++++++ nsconfig.json | 4 +- package.json | 13 +- webpack.config.js | 49 ++-- 5 files changed, 365 insertions(+), 41 deletions(-) create mode 100644 .migration_backup/tsconfig.tns.json create mode 100644 .migration_backup/webpack.config.js diff --git a/.migration_backup/tsconfig.tns.json b/.migration_backup/tsconfig.tns.json new file mode 100644 index 00000000..95f2ecee --- /dev/null +++ b/.migration_backup/tsconfig.tns.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig", + "compilerOptions": { + "module": "es2015", + "moduleResolution": "node" + } +} diff --git a/.migration_backup/webpack.config.js b/.migration_backup/webpack.config.js new file mode 100644 index 00000000..a57f5cf9 --- /dev/null +++ b/.migration_backup/webpack.config.js @@ -0,0 +1,333 @@ +const { join, relative, resolve, sep, dirname } = require("path"); + +const webpack = require("webpack"); +const nsWebpack = require("nativescript-dev-webpack"); +const nativescriptTarget = require("nativescript-dev-webpack/nativescript-target"); +const { nsReplaceBootstrap } = require("nativescript-dev-webpack/transformers/ns-replace-bootstrap"); +const { nsReplaceLazyLoader } = require("nativescript-dev-webpack/transformers/ns-replace-lazy-loader"); +const { nsSupportHmrNg } = require("nativescript-dev-webpack/transformers/ns-support-hmr-ng"); +const { getMainModulePath } = require("nativescript-dev-webpack/utils/ast-utils"); +const CleanWebpackPlugin = require("clean-webpack-plugin"); +const CopyWebpackPlugin = require("copy-webpack-plugin"); +const { BundleAnalyzerPlugin } = require("webpack-bundle-analyzer"); +const { NativeScriptWorkerPlugin } = require("nativescript-worker-loader/NativeScriptWorkerPlugin"); +const TerserPlugin = require("terser-webpack-plugin"); +const { getAngularCompilerPlugin } = require("nativescript-dev-webpack/plugins/NativeScriptAngularCompilerPlugin"); +const hashSalt = Date.now().toString(); + +module.exports = env => { + // Add your custom Activities, Services and other Android app components here. + const appComponents = [ + "tns-core-modules/ui/frame", + "tns-core-modules/ui/frame/activity", + ]; + + const platform = env && (env.android && "android" || env.ios && "ios"); + if (!platform) { + throw new Error("You need to provide a target platform!"); + } + + const AngularCompilerPlugin = getAngularCompilerPlugin(platform); + const projectRoot = __dirname; + + // Default destination inside platforms//... + const dist = resolve(projectRoot, nsWebpack.getAppPath(platform, projectRoot)); + const appResourcesPlatformDir = platform === "android" ? "Android" : "iOS"; + + const { + // The 'appPath' and 'appResourcesPath' values are fetched from + // the nsconfig.json configuration file + // when bundling with `tns run android|ios --bundle`. + appPath = "src", + appResourcesPath = "App_Resources", + + // You can provide the following flags when running 'tns run android|ios' + aot, // --env.aot + snapshot, // --env.snapshot + uglify, // --env.uglify + report, // --env.report + sourceMap, // --env.sourceMap + hiddenSourceMap, // --env.hiddenSourceMap + hmr, // --env.hmr, + unitTesting, // --env.unitTesting + } = env; + + const isAnySourceMapEnabled = !!sourceMap || !!hiddenSourceMap; + const externals = nsWebpack.getConvertedExternals(env.externals); + const appFullPath = resolve(projectRoot, appPath); + const appResourcesFullPath = resolve(projectRoot, appResourcesPath); + const tsConfigName = "tsconfig.tns.json"; + const entryModule = `${nsWebpack.getEntryModule(appFullPath, platform)}.ts`; + const entryPath = `.${sep}${entryModule}`; + const entries = { bundle: entryPath }; + if (platform === "ios") { + entries["tns_modules/tns-core-modules/inspector_modules"] = "inspector_modules.js"; + }; + + const ngCompilerTransformers = []; + const additionalLazyModuleResources = []; + if (aot) { + ngCompilerTransformers.push(nsReplaceBootstrap); + } + + if (hmr) { + ngCompilerTransformers.push(nsSupportHmrNg); + } + + // when "@angular/core" is external, it's not included in the bundles. In this way, it will be used + // directly from node_modules and the Angular modules loader won't be able to resolve the lazy routes + // fixes https://github.com/NativeScript/nativescript-cli/issues/4024 + if (env.externals && env.externals.indexOf("@angular/core") > -1) { + const appModuleRelativePath = getMainModulePath(resolve(appFullPath, entryModule), tsConfigName); + if (appModuleRelativePath) { + const appModuleFolderPath = dirname(resolve(appFullPath, appModuleRelativePath)); + // include the lazy loader inside app module + ngCompilerTransformers.push(nsReplaceLazyLoader); + // include the new lazy loader path in the allowed ones + additionalLazyModuleResources.push(appModuleFolderPath); + } + } + + const ngCompilerPlugin = new AngularCompilerPlugin({ + hostReplacementPaths: nsWebpack.getResolver([platform, "tns"]), + platformTransformers: ngCompilerTransformers.map(t => t(() => ngCompilerPlugin, resolve(appFullPath, entryModule), projectRoot)), + mainPath: join(appFullPath, entryModule), + tsConfigPath: join(__dirname, tsConfigName), + skipCodeGeneration: !aot, + sourceMap: !!isAnySourceMapEnabled, + additionalLazyModuleResources: additionalLazyModuleResources + }); + + let sourceMapFilename = nsWebpack.getSourceMapFilename(hiddenSourceMap, __dirname, dist); + + const config = { + mode: uglify ? "production" : "development", + context: appFullPath, + externals, + watchOptions: { + ignored: [ + appResourcesFullPath, + // Don't watch hidden files + "**/.*", + ] + }, + target: nativescriptTarget, + entry: entries, + output: { + pathinfo: false, + path: dist, + sourceMapFilename, + libraryTarget: "commonjs2", + filename: "[name].js", + globalObject: "global", + hashSalt + }, + resolve: { + extensions: [".ts", ".js", ".scss", ".css"], + // Resolve {N} system modules from tns-core-modules + modules: [ + resolve(__dirname, "node_modules/tns-core-modules"), + resolve(__dirname, "node_modules"), + "node_modules/tns-core-modules", + "node_modules", + ], + alias: { + '~': appFullPath + }, + symlinks: true + }, + resolveLoader: { + symlinks: false + }, + node: { + // Disable node shims that conflict with NativeScript + "http": false, + "timers": false, + "setImmediate": false, + "fs": "empty", + "__dirname": false, + }, + devtool: hiddenSourceMap ? "hidden-source-map" : (sourceMap ? "inline-source-map" : "none"), + optimization: { + runtimeChunk: "single", + splitChunks: { + cacheGroups: { + vendor: { + name: "vendor", + chunks: "all", + test: (module, chunks) => { + const moduleName = module.nameForCondition ? module.nameForCondition() : ''; + return /[\\/]node_modules[\\/]/.test(moduleName) || + appComponents.some(comp => comp === moduleName); + }, + enforce: true, + }, + } + }, + minimize: !!uglify, + minimizer: [ + new TerserPlugin({ + parallel: true, + cache: true, + sourceMap: isAnySourceMapEnabled, + terserOptions: { + output: { + comments: false, + semicolons: !isAnySourceMapEnabled + }, + compress: { + // The Android SBG has problems parsing the output + // when these options are enabled + 'collapse_vars': platform !== "android", + sequences: platform !== "android", + } + } + }) + ], + }, + module: { + rules: [ + { + test: nsWebpack.getEntryPathRegExp(appFullPath, entryPath), + use: [ + // Require all Android app components + platform === "android" && { + loader: "nativescript-dev-webpack/android-app-components-loader", + options: { modules: appComponents } + }, + + { + loader: "nativescript-dev-webpack/bundle-config-loader", + options: { + angular: true, + loadCss: !snapshot, // load the application css if in debug mode + unitTesting, + appFullPath, + projectRoot, + } + }, + ].filter(loader => !!loader) + }, + + { test: /\.html$|\.xml$/, use: "raw-loader" }, + + // tns-core-modules reads the app.css and its imports using css-loader + { + test: /[\/|\\]app\.css$/, + use: [ + "nativescript-dev-webpack/style-hot-loader", + { loader: "css-loader", options: { url: false } } + ] + }, + { + test: /[\/|\\]app\.scss$/, + use: [ + "nativescript-dev-webpack/style-hot-loader", + { loader: "css-loader", options: { url: false } }, + "sass-loader" + ] + }, + + // Angular components reference css files and their imports using raw-loader + { test: /\.css$/, exclude: /[\/|\\]app\.css$/, use: "raw-loader" }, + { test: /\.scss$/, exclude: /[\/|\\]app\.scss$/, use: ["raw-loader", "resolve-url-loader", "sass-loader"] }, + + { + test: /(?:\.ngfactory\.js|\.ngstyle\.js|\.ts)$/, + use: [ + "nativescript-dev-webpack/moduleid-compat-loader", + "nativescript-dev-webpack/lazy-ngmodule-hot-loader", + "@ngtools/webpack", + ] + }, + + // Mark files inside `@angular/core` as using SystemJS style dynamic imports. + // Removing this will cause deprecation warnings to appear. + { + test: /[\/\\]@angular[\/\\]core[\/\\].+\.js$/, + parser: { system: true }, + }, + ], + }, + plugins: [ + // Define useful constants like TNS_WEBPACK + new webpack.DefinePlugin({ + "global.TNS_WEBPACK": "true", + "process": undefined, + }), + // Remove all files from the out dir. + new CleanWebpackPlugin([`${dist}/**/*`]), + // Copy assets to out dir. Add your own globs as needed. + new CopyWebpackPlugin([ + { from: { glob: "fonts/**" } }, + { from: { glob: "**/*.jpg" } }, + { from: { glob: "**/*.png" } }, + ], { ignore: [`${relative(appPath, appResourcesFullPath)}/**`] }), + // Generate a bundle starter script and activate it in package.json + new nsWebpack.GenerateBundleStarterPlugin( + // Don't include `runtime.js` when creating a snapshot. The plugin + // configures the WebPack runtime to be generated inside the snapshot + // module and no `runtime.js` module exist. + (snapshot ? [] : ["./runtime"]) + .concat([ + "./vendor", + "./bundle", + ]) + ), + // For instructions on how to set up workers with webpack + // check out https://github.com/nativescript/worker-loader + new NativeScriptWorkerPlugin(), + ngCompilerPlugin, + // Does IPC communication with the {N} CLI to notify events when running in watch mode. + new nsWebpack.WatchStateLoggerPlugin(), + ], + }; + + // Copy the native app resources to the out dir + // only if doing a full build (tns run/build) and not previewing (tns preview) + if (!externals || externals.length === 0) { + config.plugins.push(new CopyWebpackPlugin([ + { + from: `${appResourcesFullPath}/${appResourcesPlatformDir}`, + to: `${dist}/App_Resources/${appResourcesPlatformDir}`, + context: projectRoot + }, + ])); + } + + + if (report) { + // Generate report files for bundles content + config.plugins.push(new BundleAnalyzerPlugin({ + analyzerMode: "static", + openAnalyzer: false, + generateStatsFile: true, + reportFilename: resolve(projectRoot, "report", `report.html`), + statsFilename: resolve(projectRoot, "report", `stats.json`), + })); + } + + if (snapshot) { + config.plugins.push(new nsWebpack.NativeScriptSnapshotPlugin({ + chunk: "vendor", + angular: true, + requireModules: [ + "reflect-metadata", + "@angular/platform-browser", + "@angular/core", + "@angular/common", + "@angular/router", + "nativescript-angular/platform-static", + "nativescript-angular/router", + ], + projectRoot, + webpackConfig: config, + })); + } + + if (hmr) { + config.plugins.push(new webpack.HotModuleReplacementPlugin()); + } + + return config; +}; diff --git a/nsconfig.json b/nsconfig.json index a6d75472..9e26dfee 100644 --- a/nsconfig.json +++ b/nsconfig.json @@ -1,3 +1 @@ -{ - "useLegacyWorkflow": false -} \ No newline at end of file +{} \ No newline at end of file diff --git a/package.json b/package.json index 1b25b066..23cfeb46 100644 --- a/package.json +++ b/package.json @@ -18,10 +18,10 @@ "nativescript": { "id": "org.nativescript.groceries", "tns-android": { - "version": "5.4.0" + "version": "6.0.0" }, "tns-ios": { - "version": "5.4.2" + "version": "6.0.1" } }, "scripts": { @@ -52,10 +52,10 @@ "nativescript-angular": "~8.0.0", "nativescript-iqkeyboardmanager": "~1.3.0", "nativescript-social-share": "~1.5.1", - "nativescript-unit-test-runner": "^0.3.3", + "nativescript-unit-test-runner": "^0.6.4", "reflect-metadata": "~0.1.8", "rxjs": "^6.3.3", - "tns-core-modules": "~5.4.0", + "tns-core-modules": "~6.0.1", "zone.js": "^0.8.4" }, "devDependencies": { @@ -78,9 +78,8 @@ "mocha-junit-reporter": "~1.18.0", "mocha-multi": "~1.0.1", "nativescript-dev-appium": "~5.0.0", - "nativescript-dev-typescript": "~0.10.0", - "nativescript-dev-webpack": "~0.24.0", + "nativescript-dev-webpack": "1.0.0", "tslint": "^5.4.2", - "typescript": "~3.4.5" + "typescript": "3.4.5" } } diff --git a/webpack.config.js b/webpack.config.js index a57f5cf9..d7cd1e78 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -32,7 +32,6 @@ module.exports = env => { // Default destination inside platforms//... const dist = resolve(projectRoot, nsWebpack.getAppPath(platform, projectRoot)); - const appResourcesPlatformDir = platform === "android" ? "Android" : "iOS"; const { // The 'appPath' and 'appResourcesPath' values are fetched from @@ -43,13 +42,15 @@ module.exports = env => { // You can provide the following flags when running 'tns run android|ios' aot, // --env.aot - snapshot, // --env.snapshot + snapshot, // --env.snapshot, + production, // --env.production uglify, // --env.uglify report, // --env.report sourceMap, // --env.sourceMap hiddenSourceMap, // --env.hiddenSourceMap hmr, // --env.hmr, unitTesting, // --env.unitTesting + verbose, // --env.verbose } = env; const isAnySourceMapEnabled = !!sourceMap || !!hiddenSourceMap; @@ -60,8 +61,9 @@ module.exports = env => { const entryModule = `${nsWebpack.getEntryModule(appFullPath, platform)}.ts`; const entryPath = `.${sep}${entryModule}`; const entries = { bundle: entryPath }; - if (platform === "ios") { - entries["tns_modules/tns-core-modules/inspector_modules"] = "inspector_modules.js"; + const areCoreModulesExternal = Array.isArray(env.externals) && env.externals.some(e => e.indexOf("tns-core-modules") > -1); + if (platform === "ios" && !areCoreModulesExternal) { + entries["tns_modules/tns-core-modules/inspector_modules"] = "inspector_modules"; }; const ngCompilerTransformers = []; @@ -100,8 +102,15 @@ module.exports = env => { let sourceMapFilename = nsWebpack.getSourceMapFilename(hiddenSourceMap, __dirname, dist); + const itemsToClean = [`${dist}/**/*`]; + if (platform === "android") { + itemsToClean.push(`${join(projectRoot, "platforms", "android", "app", "src", "main", "assets", "snapshots")}`); + itemsToClean.push(`${join(projectRoot, "platforms", "android", "app", "build", "configurations", "nativescript-android-snapshot")}`); + } + + nsWebpack.processAppComponents(appComponents, platform); const config = { - mode: uglify ? "production" : "development", + mode: production ? "production" : "development", context: appFullPath, externals, watchOptions: { @@ -204,6 +213,7 @@ module.exports = env => { unitTesting, appFullPath, projectRoot, + ignoredFiles: nsWebpack.getUserDefinedEntries(entries, platform) } }, ].filter(loader => !!loader) @@ -253,27 +263,17 @@ module.exports = env => { // Define useful constants like TNS_WEBPACK new webpack.DefinePlugin({ "global.TNS_WEBPACK": "true", - "process": undefined, + "process": "global.process", }), // Remove all files from the out dir. - new CleanWebpackPlugin([`${dist}/**/*`]), + new CleanWebpackPlugin(itemsToClean, { verbose: !!verbose }), // Copy assets to out dir. Add your own globs as needed. new CopyWebpackPlugin([ { from: { glob: "fonts/**" } }, { from: { glob: "**/*.jpg" } }, { from: { glob: "**/*.png" } }, ], { ignore: [`${relative(appPath, appResourcesFullPath)}/**`] }), - // Generate a bundle starter script and activate it in package.json - new nsWebpack.GenerateBundleStarterPlugin( - // Don't include `runtime.js` when creating a snapshot. The plugin - // configures the WebPack runtime to be generated inside the snapshot - // module and no `runtime.js` module exist. - (snapshot ? [] : ["./runtime"]) - .concat([ - "./vendor", - "./bundle", - ]) - ), + new nsWebpack.GenerateNativeScriptEntryPointsPlugin("bundle"), // For instructions on how to set up workers with webpack // check out https://github.com/nativescript/worker-loader new NativeScriptWorkerPlugin(), @@ -283,19 +283,6 @@ module.exports = env => { ], }; - // Copy the native app resources to the out dir - // only if doing a full build (tns run/build) and not previewing (tns preview) - if (!externals || externals.length === 0) { - config.plugins.push(new CopyWebpackPlugin([ - { - from: `${appResourcesFullPath}/${appResourcesPlatformDir}`, - to: `${dist}/App_Resources/${appResourcesPlatformDir}`, - context: projectRoot - }, - ])); - } - - if (report) { // Generate report files for bundles content config.plugins.push(new BundleAnalyzerPlugin({ From e2606a87625ee4a56dc266f2706b0efbd4dfc5ac Mon Sep 17 00:00:00 2001 From: SvetoslavTsenov Date: Mon, 15 Jul 2019 17:31:12 +0300 Subject: [PATCH 09/11] chore: remove webpack.config --- webpack.config.js | 320 ---------------------------------------------- 1 file changed, 320 deletions(-) delete mode 100644 webpack.config.js diff --git a/webpack.config.js b/webpack.config.js deleted file mode 100644 index d7cd1e78..00000000 --- a/webpack.config.js +++ /dev/null @@ -1,320 +0,0 @@ -const { join, relative, resolve, sep, dirname } = require("path"); - -const webpack = require("webpack"); -const nsWebpack = require("nativescript-dev-webpack"); -const nativescriptTarget = require("nativescript-dev-webpack/nativescript-target"); -const { nsReplaceBootstrap } = require("nativescript-dev-webpack/transformers/ns-replace-bootstrap"); -const { nsReplaceLazyLoader } = require("nativescript-dev-webpack/transformers/ns-replace-lazy-loader"); -const { nsSupportHmrNg } = require("nativescript-dev-webpack/transformers/ns-support-hmr-ng"); -const { getMainModulePath } = require("nativescript-dev-webpack/utils/ast-utils"); -const CleanWebpackPlugin = require("clean-webpack-plugin"); -const CopyWebpackPlugin = require("copy-webpack-plugin"); -const { BundleAnalyzerPlugin } = require("webpack-bundle-analyzer"); -const { NativeScriptWorkerPlugin } = require("nativescript-worker-loader/NativeScriptWorkerPlugin"); -const TerserPlugin = require("terser-webpack-plugin"); -const { getAngularCompilerPlugin } = require("nativescript-dev-webpack/plugins/NativeScriptAngularCompilerPlugin"); -const hashSalt = Date.now().toString(); - -module.exports = env => { - // Add your custom Activities, Services and other Android app components here. - const appComponents = [ - "tns-core-modules/ui/frame", - "tns-core-modules/ui/frame/activity", - ]; - - const platform = env && (env.android && "android" || env.ios && "ios"); - if (!platform) { - throw new Error("You need to provide a target platform!"); - } - - const AngularCompilerPlugin = getAngularCompilerPlugin(platform); - const projectRoot = __dirname; - - // Default destination inside platforms//... - const dist = resolve(projectRoot, nsWebpack.getAppPath(platform, projectRoot)); - - const { - // The 'appPath' and 'appResourcesPath' values are fetched from - // the nsconfig.json configuration file - // when bundling with `tns run android|ios --bundle`. - appPath = "src", - appResourcesPath = "App_Resources", - - // You can provide the following flags when running 'tns run android|ios' - aot, // --env.aot - snapshot, // --env.snapshot, - production, // --env.production - uglify, // --env.uglify - report, // --env.report - sourceMap, // --env.sourceMap - hiddenSourceMap, // --env.hiddenSourceMap - hmr, // --env.hmr, - unitTesting, // --env.unitTesting - verbose, // --env.verbose - } = env; - - const isAnySourceMapEnabled = !!sourceMap || !!hiddenSourceMap; - const externals = nsWebpack.getConvertedExternals(env.externals); - const appFullPath = resolve(projectRoot, appPath); - const appResourcesFullPath = resolve(projectRoot, appResourcesPath); - const tsConfigName = "tsconfig.tns.json"; - const entryModule = `${nsWebpack.getEntryModule(appFullPath, platform)}.ts`; - const entryPath = `.${sep}${entryModule}`; - const entries = { bundle: entryPath }; - const areCoreModulesExternal = Array.isArray(env.externals) && env.externals.some(e => e.indexOf("tns-core-modules") > -1); - if (platform === "ios" && !areCoreModulesExternal) { - entries["tns_modules/tns-core-modules/inspector_modules"] = "inspector_modules"; - }; - - const ngCompilerTransformers = []; - const additionalLazyModuleResources = []; - if (aot) { - ngCompilerTransformers.push(nsReplaceBootstrap); - } - - if (hmr) { - ngCompilerTransformers.push(nsSupportHmrNg); - } - - // when "@angular/core" is external, it's not included in the bundles. In this way, it will be used - // directly from node_modules and the Angular modules loader won't be able to resolve the lazy routes - // fixes https://github.com/NativeScript/nativescript-cli/issues/4024 - if (env.externals && env.externals.indexOf("@angular/core") > -1) { - const appModuleRelativePath = getMainModulePath(resolve(appFullPath, entryModule), tsConfigName); - if (appModuleRelativePath) { - const appModuleFolderPath = dirname(resolve(appFullPath, appModuleRelativePath)); - // include the lazy loader inside app module - ngCompilerTransformers.push(nsReplaceLazyLoader); - // include the new lazy loader path in the allowed ones - additionalLazyModuleResources.push(appModuleFolderPath); - } - } - - const ngCompilerPlugin = new AngularCompilerPlugin({ - hostReplacementPaths: nsWebpack.getResolver([platform, "tns"]), - platformTransformers: ngCompilerTransformers.map(t => t(() => ngCompilerPlugin, resolve(appFullPath, entryModule), projectRoot)), - mainPath: join(appFullPath, entryModule), - tsConfigPath: join(__dirname, tsConfigName), - skipCodeGeneration: !aot, - sourceMap: !!isAnySourceMapEnabled, - additionalLazyModuleResources: additionalLazyModuleResources - }); - - let sourceMapFilename = nsWebpack.getSourceMapFilename(hiddenSourceMap, __dirname, dist); - - const itemsToClean = [`${dist}/**/*`]; - if (platform === "android") { - itemsToClean.push(`${join(projectRoot, "platforms", "android", "app", "src", "main", "assets", "snapshots")}`); - itemsToClean.push(`${join(projectRoot, "platforms", "android", "app", "build", "configurations", "nativescript-android-snapshot")}`); - } - - nsWebpack.processAppComponents(appComponents, platform); - const config = { - mode: production ? "production" : "development", - context: appFullPath, - externals, - watchOptions: { - ignored: [ - appResourcesFullPath, - // Don't watch hidden files - "**/.*", - ] - }, - target: nativescriptTarget, - entry: entries, - output: { - pathinfo: false, - path: dist, - sourceMapFilename, - libraryTarget: "commonjs2", - filename: "[name].js", - globalObject: "global", - hashSalt - }, - resolve: { - extensions: [".ts", ".js", ".scss", ".css"], - // Resolve {N} system modules from tns-core-modules - modules: [ - resolve(__dirname, "node_modules/tns-core-modules"), - resolve(__dirname, "node_modules"), - "node_modules/tns-core-modules", - "node_modules", - ], - alias: { - '~': appFullPath - }, - symlinks: true - }, - resolveLoader: { - symlinks: false - }, - node: { - // Disable node shims that conflict with NativeScript - "http": false, - "timers": false, - "setImmediate": false, - "fs": "empty", - "__dirname": false, - }, - devtool: hiddenSourceMap ? "hidden-source-map" : (sourceMap ? "inline-source-map" : "none"), - optimization: { - runtimeChunk: "single", - splitChunks: { - cacheGroups: { - vendor: { - name: "vendor", - chunks: "all", - test: (module, chunks) => { - const moduleName = module.nameForCondition ? module.nameForCondition() : ''; - return /[\\/]node_modules[\\/]/.test(moduleName) || - appComponents.some(comp => comp === moduleName); - }, - enforce: true, - }, - } - }, - minimize: !!uglify, - minimizer: [ - new TerserPlugin({ - parallel: true, - cache: true, - sourceMap: isAnySourceMapEnabled, - terserOptions: { - output: { - comments: false, - semicolons: !isAnySourceMapEnabled - }, - compress: { - // The Android SBG has problems parsing the output - // when these options are enabled - 'collapse_vars': platform !== "android", - sequences: platform !== "android", - } - } - }) - ], - }, - module: { - rules: [ - { - test: nsWebpack.getEntryPathRegExp(appFullPath, entryPath), - use: [ - // Require all Android app components - platform === "android" && { - loader: "nativescript-dev-webpack/android-app-components-loader", - options: { modules: appComponents } - }, - - { - loader: "nativescript-dev-webpack/bundle-config-loader", - options: { - angular: true, - loadCss: !snapshot, // load the application css if in debug mode - unitTesting, - appFullPath, - projectRoot, - ignoredFiles: nsWebpack.getUserDefinedEntries(entries, platform) - } - }, - ].filter(loader => !!loader) - }, - - { test: /\.html$|\.xml$/, use: "raw-loader" }, - - // tns-core-modules reads the app.css and its imports using css-loader - { - test: /[\/|\\]app\.css$/, - use: [ - "nativescript-dev-webpack/style-hot-loader", - { loader: "css-loader", options: { url: false } } - ] - }, - { - test: /[\/|\\]app\.scss$/, - use: [ - "nativescript-dev-webpack/style-hot-loader", - { loader: "css-loader", options: { url: false } }, - "sass-loader" - ] - }, - - // Angular components reference css files and their imports using raw-loader - { test: /\.css$/, exclude: /[\/|\\]app\.css$/, use: "raw-loader" }, - { test: /\.scss$/, exclude: /[\/|\\]app\.scss$/, use: ["raw-loader", "resolve-url-loader", "sass-loader"] }, - - { - test: /(?:\.ngfactory\.js|\.ngstyle\.js|\.ts)$/, - use: [ - "nativescript-dev-webpack/moduleid-compat-loader", - "nativescript-dev-webpack/lazy-ngmodule-hot-loader", - "@ngtools/webpack", - ] - }, - - // Mark files inside `@angular/core` as using SystemJS style dynamic imports. - // Removing this will cause deprecation warnings to appear. - { - test: /[\/\\]@angular[\/\\]core[\/\\].+\.js$/, - parser: { system: true }, - }, - ], - }, - plugins: [ - // Define useful constants like TNS_WEBPACK - new webpack.DefinePlugin({ - "global.TNS_WEBPACK": "true", - "process": "global.process", - }), - // Remove all files from the out dir. - new CleanWebpackPlugin(itemsToClean, { verbose: !!verbose }), - // Copy assets to out dir. Add your own globs as needed. - new CopyWebpackPlugin([ - { from: { glob: "fonts/**" } }, - { from: { glob: "**/*.jpg" } }, - { from: { glob: "**/*.png" } }, - ], { ignore: [`${relative(appPath, appResourcesFullPath)}/**`] }), - new nsWebpack.GenerateNativeScriptEntryPointsPlugin("bundle"), - // For instructions on how to set up workers with webpack - // check out https://github.com/nativescript/worker-loader - new NativeScriptWorkerPlugin(), - ngCompilerPlugin, - // Does IPC communication with the {N} CLI to notify events when running in watch mode. - new nsWebpack.WatchStateLoggerPlugin(), - ], - }; - - if (report) { - // Generate report files for bundles content - config.plugins.push(new BundleAnalyzerPlugin({ - analyzerMode: "static", - openAnalyzer: false, - generateStatsFile: true, - reportFilename: resolve(projectRoot, "report", `report.html`), - statsFilename: resolve(projectRoot, "report", `stats.json`), - })); - } - - if (snapshot) { - config.plugins.push(new nsWebpack.NativeScriptSnapshotPlugin({ - chunk: "vendor", - angular: true, - requireModules: [ - "reflect-metadata", - "@angular/platform-browser", - "@angular/core", - "@angular/common", - "@angular/router", - "nativescript-angular/platform-static", - "nativescript-angular/router", - ], - projectRoot, - webpackConfig: config, - })); - } - - if (hmr) { - config.plugins.push(new webpack.HotModuleReplacementPlugin()); - } - - return config; -}; From 17ab9ffab51d3d3ddd409a925c1c1a69747cc949 Mon Sep 17 00:00:00 2001 From: SvetoslavTsenov Date: Wed, 24 Jul 2019 23:34:48 +0300 Subject: [PATCH 10/11] chore: update travis config --- .migration_backup/tsconfig.tns.json | 7 --- .travis.yml | 3 +- karma.conf.js | 46 ++++++++++++++--- package.json | 13 ++--- .../webpack.config.js => webpack.config.js | 51 +++++++------------ 5 files changed, 65 insertions(+), 55 deletions(-) delete mode 100644 .migration_backup/tsconfig.tns.json rename .migration_backup/webpack.config.js => webpack.config.js (90%) diff --git a/.migration_backup/tsconfig.tns.json b/.migration_backup/tsconfig.tns.json deleted file mode 100644 index 95f2ecee..00000000 --- a/.migration_backup/tsconfig.tns.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "./tsconfig", - "compilerOptions": { - "module": "es2015", - "moduleResolution": "node" - } -} diff --git a/.travis.yml b/.travis.yml index f38562d2..7873129b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,7 +15,7 @@ matrix: - stage: "Lint" language: node_js os: linux - node_js: "8" + node_js: "10" install: true script: npm i && npm run tslint - stage: "Build" @@ -69,7 +69,6 @@ android: before_cache: - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock - cache: directories: - .nvm diff --git a/karma.conf.js b/karma.conf.js index 658da24b..79746027 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -1,6 +1,5 @@ -module.exports = function(config) { - config.set({ - browserNoActivityTimeout: 40000, +module.exports = function (config) { + const options = { // base path that will be used to resolve all patterns (eg. files, exclude) basePath: '', @@ -12,9 +11,7 @@ module.exports = function(config) { // list of files / patterns to load in the browser - files: [ - 'app/**/*.js', - ], + files: ['app/tests/**/*.*'], // list of files to exclude @@ -74,5 +71,38 @@ module.exports = function(config) { // Continuous Integration mode // if true, Karma captures browsers, runs the tests and exits singleRun: false - }) -} \ No newline at end of file + }; + + setWebpackPreprocessor(config, options); + setWebpack(config, options); + + config.set(options); +} + +function setWebpackPreprocessor(config, options) { + if (config && config.bundle) { + if (!options.preprocessors) { + options.preprocessors = {}; + } + + options.files.forEach(file => { + if (!options.preprocessors[file]) { + options.preprocessors[file] = []; + } + options.preprocessors[file].push('webpack'); + }); + } +} + +function setWebpack(config, options) { + if (config && config.bundle) { + const env = {}; + env[config.platform] = true; + env.sourceMap = config.debugBrk; + options.webpack = require('./webpack.config')(env); + delete options.webpack.entry; + delete options.webpack.output.libraryTarget; + const invalidPluginsForUnitTesting = ["GenerateBundleStarterPlugin", "GenerateNativeScriptEntryPointsPlugin"]; + options.webpack.plugins = options.webpack.plugins.filter(p => !invalidPluginsForUnitTesting.includes(p.constructor.name)); + } +} diff --git a/package.json b/package.json index 23cfeb46..ea776208 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "nativescript-angular": "~8.0.0", "nativescript-iqkeyboardmanager": "~1.3.0", "nativescript-social-share": "~1.5.1", - "nativescript-unit-test-runner": "^0.6.4", + "nativescript-unit-test-runner": "0.7.0", "reflect-metadata": "~0.1.8", "rxjs": "^6.3.3", "tns-core-modules": "~6.0.1", @@ -70,16 +70,17 @@ "codelyzer": "^4.5.0", "filewalker": "^0.1.3", "jasmine-core": "^3.3.0", - "karma": "^3.1.1", - "karma-jasmine": "^1.0.2", + "karma": "4.1.0", + "karma-jasmine": "2.0.1", "karma-nativescript-launcher": "^0.4.0", "lazy": "1.0.11", "mocha": "~5.2.0", "mocha-junit-reporter": "~1.18.0", "mocha-multi": "~1.0.1", - "nativescript-dev-appium": "~5.0.0", - "nativescript-dev-webpack": "1.0.0", + "nativescript-dev-appium": "next", + "nativescript-dev-webpack": "~1.0.1", "tslint": "^5.4.2", - "typescript": "3.4.5" + "typescript": "3.4.5", + "karma-webpack": "3.0.5" } } diff --git a/.migration_backup/webpack.config.js b/webpack.config.js similarity index 90% rename from .migration_backup/webpack.config.js rename to webpack.config.js index a57f5cf9..86bb5c83 100644 --- a/.migration_backup/webpack.config.js +++ b/webpack.config.js @@ -32,24 +32,25 @@ module.exports = env => { // Default destination inside platforms//... const dist = resolve(projectRoot, nsWebpack.getAppPath(platform, projectRoot)); - const appResourcesPlatformDir = platform === "android" ? "Android" : "iOS"; const { // The 'appPath' and 'appResourcesPath' values are fetched from // the nsconfig.json configuration file // when bundling with `tns run android|ios --bundle`. - appPath = "src", + appPath = "app", appResourcesPath = "App_Resources", // You can provide the following flags when running 'tns run android|ios' aot, // --env.aot - snapshot, // --env.snapshot + snapshot, // --env.snapshot, + production, // --env.production uglify, // --env.uglify report, // --env.report sourceMap, // --env.sourceMap hiddenSourceMap, // --env.hiddenSourceMap hmr, // --env.hmr, unitTesting, // --env.unitTesting + verbose, // --env.verbose } = env; const isAnySourceMapEnabled = !!sourceMap || !!hiddenSourceMap; @@ -60,8 +61,9 @@ module.exports = env => { const entryModule = `${nsWebpack.getEntryModule(appFullPath, platform)}.ts`; const entryPath = `.${sep}${entryModule}`; const entries = { bundle: entryPath }; - if (platform === "ios") { - entries["tns_modules/tns-core-modules/inspector_modules"] = "inspector_modules.js"; + const areCoreModulesExternal = Array.isArray(env.externals) && env.externals.some(e => e.indexOf("tns-core-modules") > -1); + if (platform === "ios" && !areCoreModulesExternal) { + entries["tns_modules/tns-core-modules/inspector_modules"] = "inspector_modules"; }; const ngCompilerTransformers = []; @@ -100,8 +102,15 @@ module.exports = env => { let sourceMapFilename = nsWebpack.getSourceMapFilename(hiddenSourceMap, __dirname, dist); + const itemsToClean = [`${dist}/**/*`]; + if (platform === "android") { + itemsToClean.push(`${join(projectRoot, "platforms", "android", "app", "src", "main", "assets", "snapshots")}`); + itemsToClean.push(`${join(projectRoot, "platforms", "android", "app", "build", "configurations", "nativescript-android-snapshot")}`); + } + + nsWebpack.processAppComponents(appComponents, platform); const config = { - mode: uglify ? "production" : "development", + mode: production ? "production" : "development", context: appFullPath, externals, watchOptions: { @@ -204,6 +213,7 @@ module.exports = env => { unitTesting, appFullPath, projectRoot, + ignoredFiles: nsWebpack.getUserDefinedEntries(entries, platform) } }, ].filter(loader => !!loader) @@ -253,27 +263,17 @@ module.exports = env => { // Define useful constants like TNS_WEBPACK new webpack.DefinePlugin({ "global.TNS_WEBPACK": "true", - "process": undefined, + "process": "global.process", }), // Remove all files from the out dir. - new CleanWebpackPlugin([`${dist}/**/*`]), + new CleanWebpackPlugin(itemsToClean, { verbose: !!verbose }), // Copy assets to out dir. Add your own globs as needed. new CopyWebpackPlugin([ { from: { glob: "fonts/**" } }, { from: { glob: "**/*.jpg" } }, { from: { glob: "**/*.png" } }, ], { ignore: [`${relative(appPath, appResourcesFullPath)}/**`] }), - // Generate a bundle starter script and activate it in package.json - new nsWebpack.GenerateBundleStarterPlugin( - // Don't include `runtime.js` when creating a snapshot. The plugin - // configures the WebPack runtime to be generated inside the snapshot - // module and no `runtime.js` module exist. - (snapshot ? [] : ["./runtime"]) - .concat([ - "./vendor", - "./bundle", - ]) - ), + new nsWebpack.GenerateNativeScriptEntryPointsPlugin("bundle"), // For instructions on how to set up workers with webpack // check out https://github.com/nativescript/worker-loader new NativeScriptWorkerPlugin(), @@ -283,19 +283,6 @@ module.exports = env => { ], }; - // Copy the native app resources to the out dir - // only if doing a full build (tns run/build) and not previewing (tns preview) - if (!externals || externals.length === 0) { - config.plugins.push(new CopyWebpackPlugin([ - { - from: `${appResourcesFullPath}/${appResourcesPlatformDir}`, - to: `${dist}/App_Resources/${appResourcesPlatformDir}`, - context: projectRoot - }, - ])); - } - - if (report) { // Generate report files for bundles content config.plugins.push(new BundleAnalyzerPlugin({ From 7b0cca917754dcc5f121529aad531d7c5d63b5a8 Mon Sep 17 00:00:00 2001 From: Elena Hristova Date: Tue, 20 Aug 2019 15:42:02 +0300 Subject: [PATCH 11/11] chore: update to latest dependencies (#340) * chore: update to latest dependencies * chore: remove nsconfig --- nsconfig.json | 1 - package.json | 35 +++++++++++++++++------------------ webpack.config.js | 7 +++---- 3 files changed, 20 insertions(+), 23 deletions(-) delete mode 100644 nsconfig.json diff --git a/nsconfig.json b/nsconfig.json deleted file mode 100644 index 9e26dfee..00000000 --- a/nsconfig.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/package.json b/package.json index ea776208..1307e3b5 100644 --- a/package.json +++ b/package.json @@ -18,10 +18,10 @@ "nativescript": { "id": "org.nativescript.groceries", "tns-android": { - "version": "6.0.0" + "version": "6.0.1" }, "tns-ios": { - "version": "6.0.1" + "version": "6.0.2" } }, "scripts": { @@ -40,27 +40,26 @@ "update-ns-webpack": "update-ns-webpack" }, "dependencies": { - "@angular/common": "~8.0.0", - "@angular/compiler": "~8.0.0", - "@angular/core": "~8.0.0", - "@angular/forms": "~8.0.0", - "@angular/http": "8.0.0-beta.10", - "@angular/platform-browser": "~8.0.0", - "@angular/platform-browser-dynamic": "~8.0.0", - "@angular/router": "~8.0.0", + "@angular/common": "~8.2.0", + "@angular/compiler": "~8.2.0", + "@angular/core": "~8.2.0", + "@angular/forms": "~8.2.0", + "@angular/platform-browser": "~8.2.0", + "@angular/platform-browser-dynamic": "~8.2.0", + "@angular/router": "~8.2.0", "email-validator": "^2.0.4", - "nativescript-angular": "~8.0.0", + "nativescript-angular": "~8.2.0", "nativescript-iqkeyboardmanager": "~1.3.0", "nativescript-social-share": "~1.5.1", "nativescript-unit-test-runner": "0.7.0", "reflect-metadata": "~0.1.8", - "rxjs": "^6.3.3", + "rxjs": "^6.4.0", "tns-core-modules": "~6.0.1", - "zone.js": "^0.8.4" + "zone.js": "^0.9.1" }, "devDependencies": { - "@angular/compiler-cli": "8.0.0", - "@ngtools/webpack": "8.0.0", + "@angular/compiler-cli": "8.2.0", + "@ngtools/webpack": "8.2.0", "@types/chai": "~4.1.7", "@types/mocha": "~5.2.5", "@types/node": "~10.12.18", @@ -73,14 +72,14 @@ "karma": "4.1.0", "karma-jasmine": "2.0.1", "karma-nativescript-launcher": "^0.4.0", + "karma-webpack": "3.0.5", "lazy": "1.0.11", "mocha": "~5.2.0", "mocha-junit-reporter": "~1.18.0", "mocha-multi": "~1.0.1", "nativescript-dev-appium": "next", - "nativescript-dev-webpack": "~1.0.1", + "nativescript-dev-webpack": "~1.1.0", "tslint": "^5.4.2", - "typescript": "3.4.5", - "karma-webpack": "3.0.5" + "typescript": "~3.5.3" } } diff --git a/webpack.config.js b/webpack.config.js index 86bb5c83..e6110ff0 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -35,9 +35,8 @@ module.exports = env => { const { // The 'appPath' and 'appResourcesPath' values are fetched from - // the nsconfig.json configuration file - // when bundling with `tns run android|ios --bundle`. - appPath = "app", + // the nsconfig.json configuration file. + appPath = "src", appResourcesPath = "App_Resources", // You can provide the following flags when running 'tns run android|ios' @@ -197,7 +196,7 @@ module.exports = env => { module: { rules: [ { - test: nsWebpack.getEntryPathRegExp(appFullPath, entryPath), + include: join(appFullPath, entryPath), use: [ // Require all Android app components platform === "android" && {