From b29e1452bda27183993c2f27ab13f95d9da5ceee Mon Sep 17 00:00:00 2001 From: Martin Guillon Date: Sun, 18 Apr 2021 19:49:00 +0200 Subject: [PATCH 01/11] feat(text-base): allow subclass to override createFormattedTextNative (#9334) --- packages/core/ui/text-base/index.android.ts | 10 ++++++---- packages/core/ui/text-base/index.ios.ts | 5 ++++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/core/ui/text-base/index.android.ts b/packages/core/ui/text-base/index.android.ts index 08431e20c..83e056498 100644 --- a/packages/core/ui/text-base/index.android.ts +++ b/packages/core/ui/text-base/index.android.ts @@ -40,7 +40,7 @@ function initializeTextTransformation(): void { // NOTE: Do we need to transform the new text here? const formattedText = this.textBase.formattedText; if (formattedText) { - return createSpannableStringBuilder(formattedText, (view).getTextSize()); + return this.textBase.createFormattedTextNative(formattedText); } else { const text = this.textBase.text; const stringValue = isNullOrUndefined(text) ? '' : text.toString(); @@ -233,7 +233,9 @@ export class TextBase extends TextBaseCommon { this._setNativeText(reset); } - + createFormattedTextNative(value: FormattedString) { + return createSpannableStringBuilder(value, this.style.fontSize); + } [formattedTextProperty.setNative](value: FormattedString) { const nativeView = this.nativeTextViewProtected; if (!value) { @@ -247,7 +249,7 @@ export class TextBase extends TextBaseCommon { return; } - const spannableStringBuilder = createSpannableStringBuilder(value, this.style.fontSize); + const spannableStringBuilder = this.createFormattedTextNative(value); nativeView.setText(spannableStringBuilder); this._setTappableState(isStringTappable(value)); @@ -443,7 +445,7 @@ export class TextBase extends TextBaseCommon { let transformedText: any; if (this.formattedText) { - transformedText = createSpannableStringBuilder(this.formattedText, this.style.fontSize); + transformedText = this.createFormattedTextNative(this.formattedText); } else { const text = this.text; const stringValue = text === null || text === undefined ? '' : text.toString(); diff --git a/packages/core/ui/text-base/index.ios.ts b/packages/core/ui/text-base/index.ios.ts index 206b1177e..1f8b953c4 100644 --- a/packages/core/ui/text-base/index.ios.ts +++ b/packages/core/ui/text-base/index.ios.ts @@ -226,8 +226,11 @@ export class TextBase extends TextBaseCommon { } } + createFormattedTextNative(value: FormattedString) { + return this.createNSMutableAttributedString(value); + } setFormattedTextDecorationAndTransform() { - const attrText = this.createNSMutableAttributedString(this.formattedText); + const attrText = this.createFormattedTextNative(this.formattedText); // TODO: letterSpacing should be applied per Span. if (this.letterSpacing !== 0) { attrText.addAttributeValueRange(NSKernAttributeName, this.letterSpacing * this.nativeTextViewProtected.font.pointSize, { location: 0, length: attrText.length }); From edbe13bfe06480d631e8a0d437c4cfc8288457ed Mon Sep 17 00:00:00 2001 From: Nathan Walker Date: Tue, 20 Apr 2021 15:22:36 -0700 Subject: [PATCH 02/11] chore(release): @nativescript/core@8.0.2 --- CHANGELOG.md | 15 +++++++++++++++ package.json | 2 +- packages/core/package.json | 2 +- .../core/platforms/android/native-api-usage.json | 2 +- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 481c3314f..8170d939a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,18 @@ +## [8.0.2](https://github.com/NativeScript/NativeScript/compare/8.0.1-core...8.0.2) (2021-04-20) + + +### Bug Fixes + +* **a11y:** Accessibility breaks limiting metadata ([#9332](https://github.com/NativeScript/NativeScript/issues/9332)) ([cbdff1f](https://github.com/NativeScript/NativeScript/commit/cbdff1f1550a4e7cf06ccd4f01c5cd743c68e265)) +* **a11y:** ios voiceover crash during touch ([#9318](https://github.com/NativeScript/NativeScript/issues/9318)) ([9a407ce](https://github.com/NativeScript/NativeScript/commit/9a407ce98964832c52cd51dc0ab60662fc65abb5)) + + +### Features + +* **text-base:** allow subclass to override createFormattedTextNative ([#9334](https://github.com/NativeScript/NativeScript/issues/9334)) ([b29e145](https://github.com/NativeScript/NativeScript/commit/b29e1452bda27183993c2f27ab13f95d9da5ceee)) + + + ## [8.0.1](https://github.com/NativeScript/NativeScript/compare/8.0.0-core...8.0.1) (2021-04-07) diff --git a/package.json b/package.json index 421904cc4..ebc7ec00e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nativescript", - "version": "8.0.1", + "version": "8.0.2", "license": "MIT", "scripts": { "clean": "git clean -f -X -d --exclude=!.idea/ --exclude=!.vscode/*", diff --git a/packages/core/package.json b/packages/core/package.json index 73f3ba4f0..78a6f2273 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -3,7 +3,7 @@ "main": "index", "types": "index.d.ts", "description": "NativeScript Core Modules", - "version": "8.0.1", + "version": "8.0.2", "homepage": "https://nativescript.org", "repository": { "type": "git", diff --git a/packages/core/platforms/android/native-api-usage.json b/packages/core/platforms/android/native-api-usage.json index 52a7ae42c..00608f7b6 100644 --- a/packages/core/platforms/android/native-api-usage.json +++ b/packages/core/platforms/android/native-api-usage.json @@ -25,6 +25,6 @@ "androidx.viewpager.widget*:*", "androidx.fragment*:*", "androidx.transition*:*", - "android.inputmethodservice*:*" + "android.inputmethodservice*:*" ] } From f3333e09febc3b8e468d94827af2f10ea66797ad Mon Sep 17 00:00:00 2001 From: Nathan Walker Date: Wed, 21 Apr 2021 15:34:28 -0700 Subject: [PATCH 03/11] chore(release): @nativescript/types@8.0.1 --- packages/types-android/package.json | 2 +- .../src/lib/android/org.nativescript.widgets.d.ts | 6 +++--- packages/types-ios/package.json | 2 +- packages/types/package.json | 6 +++--- tools/scripts/typings-gen.sh | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/types-android/package.json b/packages/types-android/package.json index 147f3aa2e..3924c326f 100644 --- a/packages/types-android/package.json +++ b/packages/types-android/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript/types-android", - "version": "8.0.0", + "version": "8.0.1", "description": "NativeScript Types for Android.", "homepage": "https://nativescript.org", "repository": { diff --git a/packages/types-android/src/lib/android/org.nativescript.widgets.d.ts b/packages/types-android/src/lib/android/org.nativescript.widgets.d.ts index a5191ec11..cc07acac5 100644 --- a/packages/types-android/src/lib/android/org.nativescript.widgets.d.ts +++ b/packages/types-android/src/lib/android/org.nativescript.widgets.d.ts @@ -37,7 +37,7 @@ export function readText(path: string, encoding: string, callback: CompleteCallback, context: any); export function read(path: string, callback: CompleteCallback, context: any); export function writeText(path: string, content: string, encoding: string, callback: CompleteCallback, context: any); - export function write(path: string, content: native.Array, callback: CompleteCallback, context: any); + export function write(path: string, content: androidNative.Array, callback: CompleteCallback, context: any); } export module Http { @@ -108,9 +108,9 @@ context: android.content.Context, backgroundRepeat: string, backgroundPosition: string, - backgroundPositionParsedCSSValues: native.Array, + backgroundPositionParsedCSSValues: androidNative.Array, backgroundSize: string, - backgroundSizeParsedCSSValues: native.Array + backgroundSizeParsedCSSValues: androidNative.Array ); public getBorderTopColor(): number; diff --git a/packages/types-ios/package.json b/packages/types-ios/package.json index ee87cacb6..a657d8403 100644 --- a/packages/types-ios/package.json +++ b/packages/types-ios/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript/types-ios", - "version": "8.0.0", + "version": "8.0.1", "description": "NativeScript Types for iOS.", "homepage": "https://nativescript.org", "repository": { diff --git a/packages/types/package.json b/packages/types/package.json index 327cae936..d17676fac 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@nativescript/types", - "version": "8.0.0", + "version": "8.0.1", "description": "NativeScript Types for all supported platforms.", "homepage": "https://nativescript.org", "repository": { @@ -12,7 +12,7 @@ ], "license": "Apache-2.0", "dependencies": { - "@nativescript/types-ios": "8.0.0", - "@nativescript/types-android": "8.0.0" + "@nativescript/types-ios": "8.0.1", + "@nativescript/types-android": "8.0.1" } } diff --git a/tools/scripts/typings-gen.sh b/tools/scripts/typings-gen.sh index eeec8bc49..03919175b 100755 --- a/tools/scripts/typings-gen.sh +++ b/tools/scripts/typings-gen.sh @@ -21,7 +21,7 @@ fi echo "Creating typings project with @nativescript/ios@$IOS_RUNTIME_VERSION..." rm -rf ios-typings-prj -ns create --js ios-typings-prj +ns create --template @nativescript/template-blank@7.0.4 ios-typings-prj ns platform add ios@$IOS_RUNTIME_VERSION --path ios-typings-prj/ if [ -n "$METADATA_GENERATOR_PATH" ] From 5fd821e5628dcbab280fcf15cb98e49822072d65 Mon Sep 17 00:00:00 2001 From: Nathan Walker Date: Sat, 24 Apr 2021 10:52:09 -0700 Subject: [PATCH 04/11] fix(core): typings issue around Trace.categories.All --- packages/core/trace/index.d.ts | 2 +- packages/core/trace/index.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/trace/index.d.ts b/packages/core/trace/index.d.ts index db467d04a..9d86b6902 100644 --- a/packages/core/trace/index.d.ts +++ b/packages/core/trace/index.d.ts @@ -121,7 +121,7 @@ export namespace Trace { export const ModuleNameResolver = 'ModuleNameResolver'; export const separator = ','; - export const All: Array; + export const All: string; export function concat(...args: any): string; } diff --git a/packages/core/trace/index.ts b/packages/core/trace/index.ts index 9aee3459c..1a8a22673 100644 --- a/packages/core/trace/index.ts +++ b/packages/core/trace/index.ts @@ -203,7 +203,7 @@ export namespace Trace { export const ModuleNameResolver = 'ModuleNameResolver'; export const separator = ','; - export const All = [VisualTreeEvents, Layout, Style, ViewHierarchy, NativeLifecycle, Debug, Navigation, Test, Binding, Error, Animation, Transition, Livesync, ModuleNameResolver].join(separator); + export const All: string = [VisualTreeEvents, Layout, Style, ViewHierarchy, NativeLifecycle, Debug, Navigation, Test, Binding, Error, Animation, Transition, Livesync, ModuleNameResolver].join(separator); export function concat(...args: any): string { let result: string; From 4494b2fb7cf5999b61f8e578a4256fbde33b9412 Mon Sep 17 00:00:00 2001 From: Nathan Walker Date: Sat, 24 Apr 2021 10:52:42 -0700 Subject: [PATCH 05/11] chore: npm 7 handling improvements --- apps/automated/package.json | 2 +- apps/toolbox/package.json | 2 +- apps/ui/package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/automated/package.json b/apps/automated/package.json index 2d7789bdb..82765a114 100644 --- a/apps/automated/package.json +++ b/apps/automated/package.json @@ -17,7 +17,7 @@ "@nativescript/android": "7.0.1", "@nativescript/ios": "7.2.0", "@nativescript/webpack": "file:../../dist/packages/nativescript-webpack.tgz", - "typescript": "file:../../node_modules/typescript" + "typescript": "~4.0.0" }, "gitHead": "c06800e52ee1a184ea2dffd12a6702aaa43be4e3", "readme": "NativeScript Application" diff --git a/apps/toolbox/package.json b/apps/toolbox/package.json index 179f3f333..6908ae7aa 100644 --- a/apps/toolbox/package.json +++ b/apps/toolbox/package.json @@ -14,6 +14,6 @@ "@nativescript/android": "7.0.1", "@nativescript/ios": "7.2.0", "@nativescript/webpack": "file:../../dist/packages/nativescript-webpack.tgz", - "typescript": "4.0.7" + "typescript": "~4.0.0" } } diff --git a/apps/ui/package.json b/apps/ui/package.json index a28bb6f74..36ea59cd5 100644 --- a/apps/ui/package.json +++ b/apps/ui/package.json @@ -14,7 +14,7 @@ "@nativescript/android": "7.0.1", "@nativescript/ios": "7.2.0", "@nativescript/webpack": "file:../../dist/packages/nativescript-webpack.tgz", - "typescript": "file:../../node_modules/typescript" + "typescript": "~4.0.0" }, "gitHead": "8ab7726d1ee9991706069c1359c552e67ee0d1a4", "readme": "NativeScript Application", From f781242b9a5a407a8673b0ffb5ae6b49f0750e27 Mon Sep 17 00:00:00 2001 From: Nathan Walker Date: Sat, 24 Apr 2021 10:53:00 -0700 Subject: [PATCH 06/11] fix(core): protected class getter/setter webpack issue --- packages/core/ui/core/view-base/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/ui/core/view-base/index.ts b/packages/core/ui/core/view-base/index.ts index f9728ee89..fcce72427 100644 --- a/packages/core/ui/core/view-base/index.ts +++ b/packages/core/ui/core/view-base/index.ts @@ -389,10 +389,10 @@ export abstract class ViewBase extends Observable implements ViewBaseDefinition return this._isLoaded; } - get class(): string { + get ['class'](): string { return this.className; } - set class(v: string) { + set ['class'](v: string) { this.className = v; } From 272ac578b1e75e7abe61e7294aa250cd08b48110 Mon Sep 17 00:00:00 2001 From: Nathan Walker Date: Sat, 24 Apr 2021 11:29:31 -0700 Subject: [PATCH 07/11] chore(release): @nativescript/core@8.0.3 --- CHANGELOG.md | 10 ++++++++++ package.json | 2 +- packages/core/package.json | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8170d939a..eb77b7e75 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +## [8.0.3](https://github.com/NativeScript/NativeScript/compare/8.0.2-core...8.0.3) (2021-04-24) + + +### Bug Fixes + +* **core:** protected class getter/setter webpack issue ([6076047](https://github.com/NativeScript/NativeScript/commit/6076047c4fa557e2eb1217e174c4b700ca4ab61c)) +* **core:** typings issue around Trace.categories.All ([27c545d](https://github.com/NativeScript/NativeScript/commit/27c545db00bb57a8989612002aba859ff43581f2)) + + + ## [8.0.2](https://github.com/NativeScript/NativeScript/compare/8.0.1-core...8.0.2) (2021-04-20) diff --git a/package.json b/package.json index ebc7ec00e..71473069e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nativescript", - "version": "8.0.2", + "version": "8.0.3", "license": "MIT", "scripts": { "clean": "git clean -f -X -d --exclude=!.idea/ --exclude=!.vscode/*", diff --git a/packages/core/package.json b/packages/core/package.json index 78a6f2273..fd8d28c59 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -3,7 +3,7 @@ "main": "index", "types": "index.d.ts", "description": "NativeScript Core Modules", - "version": "8.0.2", + "version": "8.0.3", "homepage": "https://nativescript.org", "repository": { "type": "git", From 1b29d050997ac4abca5fc988c2eeb7f74c263976 Mon Sep 17 00:00:00 2001 From: Nathan Walker Date: Mon, 26 Apr 2021 19:11:19 -0700 Subject: [PATCH 08/11] chore: Nx 12 + fix ui app + TS 4.1 updates (#9359) --- apps/automated/package.json | 2 +- apps/toolbox/package.json | 2 +- apps/ui/package.json | 2 +- apps/ui/src/css/text-shadow-page.ts | 10 ++++---- apps/ui/src/fonts-tests/all-fonts-page.ts | 2 +- apps/ui/src/image-view/mode-matrix-page.ts | 2 +- apps/ui/src/image-view/stretch-modes-page.ts | 2 +- apps/ui/src/layouts-percent/stack-page.ts | 2 +- apps/ui/src/layouts-percent/wrap-page.ts | 2 +- apps/ui/src/layouts/stack-page.ts | 2 +- apps/ui/src/layouts/wrap-page.ts | 2 +- package.json | 26 ++++++++++---------- packages/core/file-system/index.ts | 8 +++--- packages/webpack/package.json | 2 +- 14 files changed, 33 insertions(+), 33 deletions(-) diff --git a/apps/automated/package.json b/apps/automated/package.json index 82765a114..d9bd699f3 100644 --- a/apps/automated/package.json +++ b/apps/automated/package.json @@ -17,7 +17,7 @@ "@nativescript/android": "7.0.1", "@nativescript/ios": "7.2.0", "@nativescript/webpack": "file:../../dist/packages/nativescript-webpack.tgz", - "typescript": "~4.0.0" + "typescript": "4.1.4" }, "gitHead": "c06800e52ee1a184ea2dffd12a6702aaa43be4e3", "readme": "NativeScript Application" diff --git a/apps/toolbox/package.json b/apps/toolbox/package.json index 6908ae7aa..d329073ad 100644 --- a/apps/toolbox/package.json +++ b/apps/toolbox/package.json @@ -14,6 +14,6 @@ "@nativescript/android": "7.0.1", "@nativescript/ios": "7.2.0", "@nativescript/webpack": "file:../../dist/packages/nativescript-webpack.tgz", - "typescript": "~4.0.0" + "typescript": "4.1.4" } } diff --git a/apps/ui/package.json b/apps/ui/package.json index 36ea59cd5..05c1ee9ba 100644 --- a/apps/ui/package.json +++ b/apps/ui/package.json @@ -14,7 +14,7 @@ "@nativescript/android": "7.0.1", "@nativescript/ios": "7.2.0", "@nativescript/webpack": "file:../../dist/packages/nativescript-webpack.tgz", - "typescript": "~4.0.0" + "typescript": "4.1.4" }, "gitHead": "8ab7726d1ee9991706069c1359c552e67ee0d1a4", "readme": "NativeScript Application", diff --git a/apps/ui/src/css/text-shadow-page.ts b/apps/ui/src/css/text-shadow-page.ts index 99fb5d8fc..28b809862 100644 --- a/apps/ui/src/css/text-shadow-page.ts +++ b/apps/ui/src/css/text-shadow-page.ts @@ -1,4 +1,4 @@ -import { EventData, TextBase } from '@nativescript/core'; +import { EventData, TextBase, parseCSSShadow } from '@nativescript/core'; // prettier-ignore const possibleValues = [ @@ -22,10 +22,10 @@ export function buttonTap(args: EventData) { let newIndex = currentIndex++ % possibleValues.length; let newValue = possibleValues[newIndex]; - lbl.textShadow = newValue; - btn.textShadow = newValue; - textField.textShadow = newValue; - textView.textShadow = newValue; + lbl.textShadow = parseCSSShadow(newValue); + btn.textShadow = parseCSSShadow(newValue); + textField.textShadow = parseCSSShadow(newValue); + textView.textShadow = parseCSSShadow(newValue); if (lbl.text === 'Change text') { lbl.text = btn.text = textField.text = textView.text = 'Text changed'; diff --git a/apps/ui/src/fonts-tests/all-fonts-page.ts b/apps/ui/src/fonts-tests/all-fonts-page.ts index 0913acc9f..6e9fd9c00 100644 --- a/apps/ui/src/fonts-tests/all-fonts-page.ts +++ b/apps/ui/src/fonts-tests/all-fonts-page.ts @@ -3,7 +3,7 @@ import { Page, NavigatedData } from '@nativescript/core/ui/page'; import { StackLayout } from '@nativescript/core/ui/layouts/stack-layout'; import { ScrollView } from '@nativescript/core/ui/scroll-view'; import { Label } from '@nativescript/core/ui/label'; -import { Enums } from '@nativescript/core'; +import { CoreTypes } from '@nativescript/core'; import * as typeUtils from '@nativescript/core/utils/types'; import { Color } from '@nativescript/core/color'; import { isIOS } from '@nativescript/core/platform'; diff --git a/apps/ui/src/image-view/mode-matrix-page.ts b/apps/ui/src/image-view/mode-matrix-page.ts index 0f6ed79c8..3c8fd998f 100644 --- a/apps/ui/src/image-view/mode-matrix-page.ts +++ b/apps/ui/src/image-view/mode-matrix-page.ts @@ -1,4 +1,4 @@ -import { Image, Enums } from '@nativescript/core'; +import { Image, CoreTypes } from '@nativescript/core'; import { GridLayout } from '@nativescript/core/ui/layouts/grid-layout'; import { Color } from '@nativescript/core/color'; import * as imageSource from '@nativescript/core/image-source'; diff --git a/apps/ui/src/image-view/stretch-modes-page.ts b/apps/ui/src/image-view/stretch-modes-page.ts index 85c2184eb..a18e2fed0 100644 --- a/apps/ui/src/image-view/stretch-modes-page.ts +++ b/apps/ui/src/image-view/stretch-modes-page.ts @@ -1,4 +1,4 @@ -import { Image, Enums } from '@nativescript/core'; +import { Image, CoreTypes } from '@nativescript/core'; import { Label } from '@nativescript/core/ui/label'; import { LayoutBase } from '@nativescript/core/ui/layouts/layout-base'; diff --git a/apps/ui/src/layouts-percent/stack-page.ts b/apps/ui/src/layouts-percent/stack-page.ts index 4098247fb..1d465a60f 100644 --- a/apps/ui/src/layouts-percent/stack-page.ts +++ b/apps/ui/src/layouts-percent/stack-page.ts @@ -1,4 +1,4 @@ -import { Enums } from '@nativescript/core'; +import { CoreTypes } from '@nativescript/core'; import * as pageModule from '@nativescript/core/ui/page'; import * as model from './myview'; diff --git a/apps/ui/src/layouts-percent/wrap-page.ts b/apps/ui/src/layouts-percent/wrap-page.ts index 9ff311b3f..5914f5e8f 100644 --- a/apps/ui/src/layouts-percent/wrap-page.ts +++ b/apps/ui/src/layouts-percent/wrap-page.ts @@ -1,4 +1,4 @@ -import { Enums } from '@nativescript/core'; +import { CoreTypes } from '@nativescript/core'; import * as pageModule from '@nativescript/core/ui/page'; import * as model from './myview'; diff --git a/apps/ui/src/layouts/stack-page.ts b/apps/ui/src/layouts/stack-page.ts index f1e7ded8a..66fb86d42 100644 --- a/apps/ui/src/layouts/stack-page.ts +++ b/apps/ui/src/layouts/stack-page.ts @@ -1,4 +1,4 @@ -import { Enums } from '@nativescript/core'; +import { CoreTypes } from '@nativescript/core'; import * as pageModule from '@nativescript/core/ui/page'; import * as model from './myview'; diff --git a/apps/ui/src/layouts/wrap-page.ts b/apps/ui/src/layouts/wrap-page.ts index d8f1a33d5..5aa7b853d 100644 --- a/apps/ui/src/layouts/wrap-page.ts +++ b/apps/ui/src/layouts/wrap-page.ts @@ -1,4 +1,4 @@ -import { Enums } from '@nativescript/core'; +import { CoreTypes } from '@nativescript/core'; import * as pageModule from '@nativescript/core/ui/page'; import * as model from './myview'; diff --git a/package.json b/package.json index 71473069e..ee222d61b 100644 --- a/package.json +++ b/package.json @@ -20,30 +20,30 @@ "nativescript-theme-core": "^1.0.4" }, "devDependencies": { - "@nativescript/eslint-plugin": "0.0.1", + "@nativescript/eslint-plugin": "~0.0.4", "@nativescript/hook": "^2.0.0", - "@nrwl/cli": "11.5.2", - "@nrwl/eslint-plugin-nx": "11.5.2", - "@nrwl/jest": "11.5.2", - "@nrwl/node": "11.5.2", - "@nrwl/tao": "11.5.2", - "@nrwl/workspace": "11.5.2", + "@nrwl/cli": "12.0.8", + "@nrwl/eslint-plugin-nx": "12.0.8", + "@nrwl/jest": "12.0.8", + "@nrwl/node": "12.0.8", + "@nrwl/tao": "12.0.8", + "@nrwl/workspace": "12.0.8", "@nstudio/focus": "~11.1.0", "@nstudio/nps-i": "~1.1.0", "@prettier/plugin-xml": "^0.13.1", "@types/chai": "^4.2.11", "@types/jest": "~26.0.8", "@types/mocha": "^7.0.2", - "@types/node": "12.12.38", - "@typescript-eslint/eslint-plugin": "~4.16.0", - "@typescript-eslint/parser": "~4.16.0", + "@types/node": "14.14.33", + "@typescript-eslint/eslint-plugin": "4.19.0", + "@typescript-eslint/parser": "4.19.0", "chai": "^4.2.0", "conventional-changelog-cli": "^2.1.1", "copyfiles": "^2.4.0", "css": "^3.0.0", "css-tree": "^1.0.0-alpha.39", - "dotenv": "~8.2.0", - "eslint": "~7.21.0", + "dotenv": "8.2.0", + "eslint": "7.22.0", "eslint-config-prettier": "8.1.0", "eslint-plugin-prettier": "^3.3.1", "gonzales": "^1.0.7", @@ -66,7 +66,7 @@ "ts-node": "9.1.1", "ts-patch": "^1.3.0", "tslint": "6.1.3", - "typescript": "~4.0.3", + "typescript": "4.1.4", "webpack": "~4.44.1", "webpack-cli": "~3.3.12" }, diff --git a/packages/core/file-system/index.ts b/packages/core/file-system/index.ts index 487ec4e8c..574682378 100644 --- a/packages/core/file-system/index.ts +++ b/packages/core/file-system/index.ts @@ -74,7 +74,7 @@ export class FileSystemEntity { this.removeSync(localError); if (!hasError) { - resolve(); + resolve(true); } }); } @@ -108,7 +108,7 @@ export class FileSystemEntity { this.renameSync(newName, localError); if (!hasError) { - resolve(); + resolve(true); } }); } @@ -357,7 +357,7 @@ export class File extends FileSystemEntity { .writeTextAsync(this.path, content, encoding) .then( () => { - resolve(); + resolve(true); this._locked = false; }, (error) => { @@ -434,7 +434,7 @@ export class Folder extends FileSystemEntity { this.clearSync(onError); if (!hasError) { - resolve(); + resolve(true); } }); } diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 30a04d118..b8697e184 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -99,6 +99,6 @@ "nyc": "^15.1.0", "proxyquire": "~2.1.0", "source-map-support": "^0.5.13", - "typescript": "~4.0.0" + "typescript": "4.1.4" } } From a6cb46dac2d671221d9c0e972e8db89961b3e7c2 Mon Sep 17 00:00:00 2001 From: Osei Fortune Date: Thu, 29 Apr 2021 22:06:39 -0400 Subject: [PATCH 09/11] feat: add additional android global methods (#9365) --- packages/core/global-types.d.ts | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/packages/core/global-types.d.ts b/packages/core/global-types.d.ts index 2dc7a5960..d7f6e4ca9 100644 --- a/packages/core/global-types.d.ts +++ b/packages/core/global-types.d.ts @@ -347,3 +347,33 @@ declare class WeakRef { get(): T; clear(): void; } + +/** +* Create a Java long from a number +*/ +declare function long(value: number): any; + +/** +* Create a Java byte from a number +*/ +declare function byte(value: number): any; + +/** +* Create a Java short from a number +*/ +declare function short(value: number): any; + +/** +* Create a Java double from a number +*/ +declare function double(value: number): any; + +/** +* Create a Java float from a number +*/ +declare function float(value: number): any; + +/** +* Create a Java char from a string +*/ +declare function char(value: string): any; From 0d4ccba60aae9a340fcee28bc0880dead353c799 Mon Sep 17 00:00:00 2001 From: Nathan Walker Date: Sun, 2 May 2021 10:11:37 -0700 Subject: [PATCH 10/11] chore: combine prettier with eslint (#9348) (#9360) Co-authored-by: Martin Guillon --- .eslintrc.json | 8 ++++++-- packages/core/.eslintrc.json | 4 ++-- packages/core/accessibility/index.ios.ts | 1 - packages/core/application/index.android.ts | 1 - packages/core/application/index.ios.ts | 1 - packages/core/config/config.interface.ts | 1 - packages/core/connectivity/index.android.ts | 8 -------- packages/core/debugger/devtools-elements.common.ts | 2 -- packages/core/debugger/dom-node.ts | 3 --- packages/core/debugger/webinspector-css.ios.ts | 1 - packages/core/debugger/webinspector-dom.ios.ts | 1 - packages/core/debugger/webinspector-network.ios.ts | 1 - packages/core/globals/index.ts | 1 - packages/core/profiling/index.ts | 1 - packages/core/ui/builder/component-builder/index.ts | 1 - packages/core/ui/core/bindable/index.ts | 1 - packages/core/ui/date-picker/date-picker-common.ts | 2 +- packages/core/ui/dialogs/dialogs-common.ts | 3 --- packages/core/ui/frame/activity.android.ts | 1 - packages/core/ui/frame/frame-common.ts | 1 - packages/core/ui/frame/index.android.ts | 1 - packages/core/ui/styling/style-scope.ts | 1 - packages/core/ui/time-picker/index.d.ts | 2 +- packages/core/xml/index.ts | 1 - tsconfig.eslint.json | 4 ++++ 25 files changed, 14 insertions(+), 38 deletions(-) create mode 100644 tsconfig.eslint.json diff --git a/.eslintrc.json b/.eslintrc.json index 3cbbb9c6d..287d5f1cc 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,10 +1,14 @@ { + "extends": ["plugin:prettier/recommended"], "parser": "@typescript-eslint/parser", "parserOptions": { + "ecmaVersion": 2018, "sourceType": "module", - "ecmaVersion": 2015 + "parser": "@typescript-eslint/parser", + "project": "tsconfig.eslint.json", + "warnOnUnsupportedTypeScriptVersion": false }, - "plugins": ["@nativescript"], + "plugins": ["prettier", "@nativescript"], "rules": { "@nativescript/no-nativescript-angular-imports": "warn", "@nativescript/no-tns-core-modules-imports": "warn", diff --git a/packages/core/.eslintrc.json b/packages/core/.eslintrc.json index 9ef20ddd5..a11f3bf78 100644 --- a/packages/core/.eslintrc.json +++ b/packages/core/.eslintrc.json @@ -1,7 +1,7 @@ { - "extends": "../../.eslintrc", + "extends": "../../.eslintrc.json", "rules": {}, - "ignorePatterns": ["!**/*"], + "ignorePatterns": ["!**/*", "**/node_modules/**/*", "**/__tests__/**/*"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/packages/core/accessibility/index.ios.ts b/packages/core/accessibility/index.ios.ts index 758a9fb11..74b1a4213 100644 --- a/packages/core/accessibility/index.ios.ts +++ b/packages/core/accessibility/index.ios.ts @@ -222,7 +222,6 @@ export function updateAccessibilityProperties(view: View): void { uiView.accessibilityTraits = a11yTraits; } -// eslint-disable-next-line @typescript-eslint/no-empty-function export const sendAccessibilityEvent = (): void => {}; export const updateContentDescription = (): string | null => null; diff --git a/packages/core/application/index.android.ts b/packages/core/application/index.android.ts index bcd29d0a2..5529bcfc5 100644 --- a/packages/core/application/index.android.ts +++ b/packages/core/application/index.android.ts @@ -4,7 +4,6 @@ import { AndroidActivityBackPressedEventData, AndroidActivityBundleEventData, An // TODO: explain why we need to this or remov it // Use requires to ensure order of imports is maintained -// eslint-disable-next-line @typescript-eslint/no-var-requires const appCommon = require('./application-common'); // First reexport so that app module is initialized. diff --git a/packages/core/application/index.ios.ts b/packages/core/application/index.ios.ts index cdaaf79c8..cf9e84751 100644 --- a/packages/core/application/index.ios.ts +++ b/packages/core/application/index.ios.ts @@ -4,7 +4,6 @@ import { ApplicationEventData, CssChangedEventData, LaunchEventData, LoadAppCSSE // TODO: explain why we need to this or remov it // Use requires to ensure order of imports is maintained -// eslint-disable-next-line @typescript-eslint/no-var-requires const { displayedEvent, exitEvent, getCssFileName, launchEvent, livesync, lowMemoryEvent, notify, on, orientationChanged, orientationChangedEvent, resumeEvent, setApplication, suspendEvent, systemAppearanceChanged, systemAppearanceChangedEvent } = require('./application-common'); // First reexport so that app module is initialized. export * from './application-common'; diff --git a/packages/core/config/config.interface.ts b/packages/core/config/config.interface.ts index e63c30b9a..81810dcf3 100644 --- a/packages/core/config/config.interface.ts +++ b/packages/core/config/config.interface.ts @@ -12,7 +12,6 @@ interface IConfigPlatform { discardUncaughtJsExceptions?: boolean; } -// eslint-disable-next-line @typescript-eslint/no-empty-interface interface IConfigIOS extends IConfigPlatform {} interface IConfigAndroid extends IConfigPlatform { diff --git a/packages/core/connectivity/index.android.ts b/packages/core/connectivity/index.android.ts index 0c9b29c56..b9e7ea544 100644 --- a/packages/core/connectivity/index.android.ts +++ b/packages/core/connectivity/index.android.ts @@ -30,7 +30,6 @@ function getActiveNetworkInfo(): android.net.NetworkInfo { } function getNetworkCapabilities() { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore const connectivityManager: any = getConnectivityManager(); const network = connectivityManager.getActiveNetwork(); @@ -39,7 +38,6 @@ function getNetworkCapabilities() { return connectionType.none; } - // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore const NetworkCapabilities = (android as any).net.NetworkCapabilities; @@ -101,13 +99,11 @@ export function getConnectionType(): number { } function startMonitoringLegacy(connectionTypeChangedCallback) { - // eslint-disable-next-line @typescript-eslint/no-unused-vars const onReceiveCallback = function onReceiveCallback(context: android.content.Context, intent: android.content.Intent) { const newConnectionType = getConnectionType(); connectionTypeChangedCallback(newConnectionType); }; const zoneCallback = zonedCallback(onReceiveCallback); - // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore androidApp.registerBroadcastReceiver(android.net.ConnectivityManager.CONNECTIVITY_ACTION, zoneCallback); } @@ -129,21 +125,18 @@ export function startMonitoring(connectionTypeChangedCallback: (newConnectionTyp if (!networkCallback) { @NativeClass class NetworkCallbackImpl extends ConnectivityManager.NetworkCallback { - // eslint-disable-next-line @typescript-eslint/no-unused-vars onAvailable(network: android.net.Network) { if (notifyCallback) { notifyCallback(); } } - // eslint-disable-next-line @typescript-eslint/no-unused-vars onCapabilitiesChanged(network: android.net.Network, networkCapabilities: android.net.NetworkCapabilities) { if (notifyCallback) { notifyCallback(); } } - // eslint-disable-next-line @typescript-eslint/no-unused-vars onLost(network) { if (notifyCallback) { notifyCallback(); @@ -169,7 +162,6 @@ export function startMonitoring(connectionTypeChangedCallback: (newConnectionTyp export function stopMonitoring(): void { if (android.os.Build.VERSION.SDK_INT >= 28) { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore const manager = getConnectivityManager(); if (manager && callback) { diff --git a/packages/core/debugger/devtools-elements.common.ts b/packages/core/debugger/devtools-elements.common.ts index 91171ff38..6859ab4c1 100644 --- a/packages/core/debugger/devtools-elements.common.ts +++ b/packages/core/debugger/devtools-elements.common.ts @@ -6,13 +6,11 @@ import { getNodeById } from './dom-node'; import { mainThreadify } from '../utils'; // Use lazy requires for core modules -// eslint-disable-next-line @typescript-eslint/no-var-requires const getAppRootView = () => require('../application').getRootView(); let unsetValue; function unsetViewValue(view, name) { if (!unsetValue) { - // eslint-disable-next-line @typescript-eslint/no-var-requires unsetValue = require('../ui/core/properties').unsetValue; } diff --git a/packages/core/debugger/dom-node.ts b/packages/core/debugger/dom-node.ts index d77d693b5..21d4909e9 100644 --- a/packages/core/debugger/dom-node.ts +++ b/packages/core/debugger/dom-node.ts @@ -14,11 +14,8 @@ function lazy(action: () => T): () => T { return () => _value || (_value = action()); } -// eslint-disable-next-line @typescript-eslint/no-var-requires const percentLengthToStringLazy = lazy<(length) => string>(() => require('../ui/styling/style-properties').PercentLength.convertToString); -// eslint-disable-next-line @typescript-eslint/no-var-requires const getSetPropertiesLazy = lazy<(view: ViewBase) => [string, any][]>(() => require('../ui/core/properties').getSetProperties); -// eslint-disable-next-line @typescript-eslint/no-var-requires const getComputedCssValuesLazy = lazy<(view: ViewBase) => [string, any][]>(() => require('../ui/core/properties').getComputedCssValues); export function registerInspectorEvents(inspector: InspectorEvents) { diff --git a/packages/core/debugger/webinspector-css.ios.ts b/packages/core/debugger/webinspector-css.ios.ts index 623cb8e2e..bd02bde6b 100644 --- a/packages/core/debugger/webinspector-css.ios.ts +++ b/packages/core/debugger/webinspector-css.ios.ts @@ -1,5 +1,4 @@ import * as inspectorCommandTypes from './InspectorBackendCommands.ios'; -// eslint-disable-next-line @typescript-eslint/no-var-requires const inspectorCommands: typeof inspectorCommandTypes = require('./InspectorBackendCommands'); import * as debuggerDomains from '.'; diff --git a/packages/core/debugger/webinspector-dom.ios.ts b/packages/core/debugger/webinspector-dom.ios.ts index 7becd39d4..302d67a3b 100644 --- a/packages/core/debugger/webinspector-dom.ios.ts +++ b/packages/core/debugger/webinspector-dom.ios.ts @@ -1,5 +1,4 @@ import * as inspectorCommandTypes from './InspectorBackendCommands.ios'; -// eslint-disable-next-line @typescript-eslint/no-var-requires const inspectorCommands: typeof inspectorCommandTypes = require('./InspectorBackendCommands'); import * as debuggerDomains from '.'; diff --git a/packages/core/debugger/webinspector-network.ios.ts b/packages/core/debugger/webinspector-network.ios.ts index 4cbf14932..c82d6ee78 100644 --- a/packages/core/debugger/webinspector-network.ios.ts +++ b/packages/core/debugger/webinspector-network.ios.ts @@ -1,5 +1,4 @@ import * as inspectorCommandTypes from './InspectorBackendCommands.ios'; -// eslint-disable-next-line @typescript-eslint/no-var-requires const inspectorCommands: typeof inspectorCommandTypes = require('./InspectorBackendCommands'); import * as debuggerDomains from '.'; diff --git a/packages/core/globals/index.ts b/packages/core/globals/index.ts index cdc7645dd..95d6fc2b5 100644 --- a/packages/core/globals/index.ts +++ b/packages/core/globals/index.ts @@ -1,5 +1,4 @@ import * as tslibType from 'tslib'; -// eslint-disable-next-line @typescript-eslint/no-var-requires const tslib: typeof tslibType = require('tslib'); import { Observable } from '../data/observable'; import { trace as profilingTrace, time, uptime, level as profilingLevel } from '../profiling'; diff --git a/packages/core/profiling/index.ts b/packages/core/profiling/index.ts index 8bd3c1def..927dd18f2 100644 --- a/packages/core/profiling/index.ts +++ b/packages/core/profiling/index.ts @@ -160,7 +160,6 @@ export function enable(mode: InstrumentationMode = 'counters') { } try { - // eslint-disable-next-line @typescript-eslint/no-var-requires const appConfig = require('~/package.json'); if (appConfig && appConfig.profiling) { enable(appConfig.profiling); diff --git a/packages/core/ui/builder/component-builder/index.ts b/packages/core/ui/builder/component-builder/index.ts index 9ea01678d..14943cd36 100644 --- a/packages/core/ui/builder/component-builder/index.ts +++ b/packages/core/ui/builder/component-builder/index.ts @@ -95,7 +95,6 @@ const createComponentInstance = profile('createComponentInstance', (elementName: // Create instance of the component. instance = new instanceType(); } catch (ex) { - // eslint-disable-next-line @typescript-eslint/no-var-requires const debug: typeof debugModule = require('../../../utils/debug'); throw new debug.ScopeError(ex, "Module '" + (resolvedModuleName || elementName) + "' not found for element '" + (namespace ? namespace + ':' : '') + elementName + "'."); } diff --git a/packages/core/ui/core/bindable/index.ts b/packages/core/ui/core/bindable/index.ts index 640563737..316a18099 100644 --- a/packages/core/ui/core/bindable/index.ts +++ b/packages/core/ui/core/bindable/index.ts @@ -10,7 +10,6 @@ import { escapeRegexSymbols } from '../../../utils'; import { Trace } from '../../../trace'; import * as types from '../../../utils/types'; import * as bindableResources from './bindable-resources'; -// eslint-disable-next-line @typescript-eslint/no-var-requires const polymerExpressions = require('../../../js-libs/polymer-expressions'); import { PolymerExpressions } from '../../../js-libs/polymer-expressions'; diff --git a/packages/core/ui/date-picker/date-picker-common.ts b/packages/core/ui/date-picker/date-picker-common.ts index de41507b1..166e14059 100644 --- a/packages/core/ui/date-picker/date-picker-common.ts +++ b/packages/core/ui/date-picker/date-picker-common.ts @@ -67,4 +67,4 @@ export const iosPreferredDatePickerStyleProperty = new Property parseInt(v), }); -iosPreferredDatePickerStyleProperty.register(DatePickerBase); \ No newline at end of file +iosPreferredDatePickerStyleProperty.register(DatePickerBase); diff --git a/packages/core/ui/dialogs/dialogs-common.ts b/packages/core/ui/dialogs/dialogs-common.ts index 5fc160d16..03ee42171 100644 --- a/packages/core/ui/dialogs/dialogs-common.ts +++ b/packages/core/ui/dialogs/dialogs-common.ts @@ -268,7 +268,6 @@ let textField: View; export function getButtonColors(): { color: Color; backgroundColor: Color } { if (!button) { - // eslint-disable-next-line @typescript-eslint/no-var-requires const Button = require('../button').Button; button = new Button(); if (global.isIOS) { @@ -288,7 +287,6 @@ export function getButtonColors(): { color: Color; backgroundColor: Color } { export function getLabelColor(): Color { if (!label) { - // eslint-disable-next-line @typescript-eslint/no-var-requires const Label = require('../label').Label; label = new Label(); if (global.isIOS) { @@ -306,7 +304,6 @@ export function getLabelColor(): Color { export function getTextFieldColor(): Color { if (!textField) { - // eslint-disable-next-line @typescript-eslint/no-var-requires const TextField = require('../text-field').TextField; textField = new TextField(); if (global.isIOS) { diff --git a/packages/core/ui/frame/activity.android.ts b/packages/core/ui/frame/activity.android.ts index bbcc0c7d0..6c7fdead1 100644 --- a/packages/core/ui/frame/activity.android.ts +++ b/packages/core/ui/frame/activity.android.ts @@ -1,6 +1,5 @@ import '../../globals'; import { setActivityCallbacks, AndroidActivityCallbacks } from '.'; -// eslint-disable-next-line @typescript-eslint/no-var-requires const appModule = require('../../application'); /** diff --git a/packages/core/ui/frame/frame-common.ts b/packages/core/ui/frame/frame-common.ts index c4fe18679..64a82c684 100644 --- a/packages/core/ui/frame/frame-common.ts +++ b/packages/core/ui/frame/frame-common.ts @@ -289,7 +289,6 @@ export class FrameBase extends CustomLayoutView { } private isNestedWithin(parentFrameCandidate: FrameBase): boolean { - // eslint-disable-next-line @typescript-eslint/no-this-alias let frameAncestor: FrameBase = this; while (frameAncestor) { frameAncestor = getAncestor(frameAncestor, FrameBase); diff --git a/packages/core/ui/frame/index.android.ts b/packages/core/ui/frame/index.android.ts index ccfc3a918..ec8cf4671 100644 --- a/packages/core/ui/frame/index.android.ts +++ b/packages/core/ui/frame/index.android.ts @@ -39,7 +39,6 @@ let fragmentId = -1; export let moduleLoaded: boolean; if (global && global.__inspector) { - // eslint-disable-next-line @typescript-eslint/no-var-requires const devtools = require('../../debugger/devtools-elements'); devtools.attachDOMInspectorEventCallbacks(global.__inspector); devtools.attachDOMInspectorCommandCallbacks(global.__inspector); diff --git a/packages/core/ui/styling/style-scope.ts b/packages/core/ui/styling/style-scope.ts index 3107c8031..55b848362 100644 --- a/packages/core/ui/styling/style-scope.ts +++ b/packages/core/ui/styling/style-scope.ts @@ -33,7 +33,6 @@ function ensureCssAnimationParserModule() { let parser: 'rework' | 'nativescript' | 'css-tree' = 'css-tree'; try { - // eslint-disable-next-line @typescript-eslint/no-var-requires const appConfig = require('~/package.json'); if (appConfig) { if (appConfig.cssParser === 'rework') { diff --git a/packages/core/ui/time-picker/index.d.ts b/packages/core/ui/time-picker/index.d.ts index 4801589d6..a0c1273fe 100644 --- a/packages/core/ui/time-picker/index.d.ts +++ b/packages/core/ui/time-picker/index.d.ts @@ -77,4 +77,4 @@ export const minMinuteProperty: Property; export const timeProperty: Property; export const minuteIntervalProperty: Property; -export const iosPreferredDatePickerStyleProperty: Property; \ No newline at end of file +export const iosPreferredDatePickerStyleProperty: Property; diff --git a/packages/core/xml/index.ts b/packages/core/xml/index.ts index e4dbe775b..180c3469b 100644 --- a/packages/core/xml/index.ts +++ b/packages/core/xml/index.ts @@ -2,7 +2,6 @@ // https://github.com/NativeScript/nativescript-dev-webpack/issues/932 import * as definition from '.'; -// eslint-disable-next-line @typescript-eslint/no-var-requires const easysax = require('../js-libs/easysax'); import { EasySAXParser } from '../js-libs/easysax'; diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json new file mode 100644 index 000000000..5d8f21e45 --- /dev/null +++ b/tsconfig.eslint.json @@ -0,0 +1,4 @@ +{ + "extends": "./tsconfig.json", + "include": ["packages/**/*"] +} From 9ec404225ef0cff5f82d759fcdc7b85952e65c0d Mon Sep 17 00:00:00 2001 From: Nathan Walker Date: Tue, 4 May 2021 23:27:35 -0700 Subject: [PATCH 11/11] fix(core): typings for showModal correction (#9374) --- packages/core/ui/core/view-base/index.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/ui/core/view-base/index.d.ts b/packages/core/ui/core/view-base/index.d.ts index 3675745a4..b64af3aef 100644 --- a/packages/core/ui/core/view-base/index.d.ts +++ b/packages/core/ui/core/view-base/index.d.ts @@ -187,14 +187,14 @@ export abstract class ViewBase extends Observable { * @param moduleName - The name of the module to load starting from the application root. * @param modalOptions - A ShowModalOptions instance */ - showModal(moduleName: string, modalOptions: ShowModalOptions): ViewBase; + showModal(moduleName: string, modalOptions?: ShowModalOptions): ViewBase; /** * Shows the view passed as parameter as a modal view. * @param view - View instance to be shown modally. * @param modalOptions - A ShowModalOptions instance */ - showModal(view: ViewBase, modalOptions: ShowModalOptions): ViewBase; + showModal(view: ViewBase, modalOptions?: ShowModalOptions): ViewBase; /** * Closes the current modal view that this page is showing.