NativeScript empowers you to access native api's from JavaScript directly. Angular, Vue, Svelte, React and you name it compatible.

Overview

NativeScript

Build Status

NativeScript empowers you to access native APIs from JavaScript directly. The framework currently provides iOS and Android runtimes for rich mobile development and can be utilized in a number of diverse use cases.

Getting Started and Installation

Our Getting Started Guides are hands-on tutorials that walk you through developing with NativeScript:

Contribute

$ git clone https://github.com/NativeScript/NativeScript.git
$ cd NativeScript

# setup workspace for development
$ npm run setup

# list all available commands to run
$ npm start

We love you and PR's 🤗 Please follow our contributing guide and see our code of governance to become as involved as you want to be.

@nativescript/*

Quick Links

Other framework source repositories

Outside of the source centralized in this repo, the NativeScript framework consists of a number of components, all of which are open source available on GitHub. Here are the major ones:

  • iOS runtime
    • npm
    • This repo contains the NativeScript iOS runtime — the code that hosts NativeScript iOS apps, and allows JavaScript code to be executed on iOS devices. The iOS runtime is written in a fun mix of C++, Objective-C, and more.
  • Android runtime
    • npm
    • This repo contains the NativeScript Android runtime — the code that hosts NativeScript Android apps, and allows JavaScript code to be executed on Android devices. The Android runtime is written in a fun mix of C++ and Java.
  • CLI
    • npm
    • This repo contains the NativeScript command-line interface, which lets you create, build, and run apps using the NativeScript framework. The CLI is written in TypeScript.
  • Docs
    • Docs
    • This repo contains the NativeScript framework documentation, which is available at http://docs.nativescript.org/. The docs are written in Markdown.

In addition to the code that makes up the NativeScript framework itself, we also provide a number of open-source sample apps from which you can take reference while building your NativeScript application.

License

License

Made with ❤️

Comments
  • Implement CSS Box Shadow

    Implement CSS Box Shadow

    Would be great to see a CSS3 style box shadow for UI elements.

    Possible implementation: box-shadow: none|h-shadow v-shadow blur spread color |inset|initial|inherit;


    Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

    css ux 
    opened by lscown 169
  • 🚨 XCode 12 Status

    🚨 XCode 12 Status

    Update (09/27):

    We have released [email protected] with additional fixes for running on a real device.

    Details in this PR: https://github.com/NativeScript/ios-device-lib/pull/70

    Update (09/23):

    We have released [email protected] with fixes for running on a real device. This version reverted some changes from rc.0 - we expect this to run fine for both simulators and devices, however there may be other cases we need to take into account. Please try the latest RC (ideally revert manual changes in Podfiles, build configs etc and run ns clean) and if something isn't working, re-run with --log trace enable and share the logs with us.


    We released [email protected] that should allow building nativescript apps for the simulator using XCode12.

    Please try it

    npm i -g nativescript@rc
    

    And then cleaning your project (ns clean) and re-running it. The apps should build successfully, and deploy to the simulator(s). If this works for you, consider leaving a 👍 on this issue to let us know - and if it fails to build/run leave a comment with the output logs (re-run the build with --log trace to get more verbose logs).

    Known issues:

    • building with XCode 12 fails [Fix in RC]
    • deploying to an ios14 device (not simulator) gets stuck [Fix In RC1]
    • warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0 - this is a warning, that should not cause any issues with the build. If the build fails, it's likely related to another issue.
    • --release (and --env.production) not able to build the app. [Should Be OK in RC1]
    • running on a real device, the CLI cannot start/stop the app - the app has to be manually restarted. [Should be OK in RC2]
    • if you have a custom CFBundleName the cli will fail with No .ipa found in /.../platforms/ios/build/Debug-iphoneos directory.. [Looking into a fix]

    Related issues:

    • #8866
    • #8861
    • #8860
    • #8780
    • #8788
    • #8868
    • https://github.com/NativeScript/nativescript-cli/issues/5389
    in progress severity: critical 
    opened by rigor789 136
  • Move JS Processing to background thread or allow creation of other WebWorkers/Threads

    Move JS Processing to background thread or allow creation of other WebWorkers/Threads

    From what I understand everything runs on the primary thread. So this is a feature request -- but if done possible sooner would eliminate any later incompatibilities. Having the main thread run the interface and JS runtimes means that hiccups can and will occur frequently. Either the design where the interface is run on its own thread; and the engine is on its own or the ability to start webworks will eliminate these types of issues where you need to do any long running calculations.

    Please vote for this feature in our ideas portal.

    severity: high backlog feature 
    opened by NathanaelA 92
  • Security for the JS code

    Security for the JS code

    Think of ways to IP protection of the JavaScript which is packaged in the app packages.

    If you are interested in this feature please leave comment here and vote for this issue in our ideas portal.

    backlog severity: medium feature 
    opened by valentinstoychev 70
  • Error in properties.js from tns-core-modules

    Error in properties.js from tns-core-modules

    I upgraded my app from {N} v2.something to v3.0 and now I have an error inside the tns-core-modules (which I also updated to 3.0.0).

    Here is what I think is the relevant part:

    TypeError: Cannot read property 'prototype' of undefined
    File: "file:///data/data/org.nativescript.HonkMeNative/files/app/tns_modules/tns-core-
    modules/ui/core/properties/properties.js, line: 461, column: 33
    

    You can find the full stack-trace on PasteBin

    I can realize that I've messed up, as the defaul HelloWorld app works, until I replace it with my code, but I have no clue where to start investigating.

    It looks CSS related from snooping inside the code, but I have no CSS other than an empty module css and the default app.css.

    bug done 
    opened by surdu 63
  • iOS 14 and Nativescript

    iOS 14 and Nativescript

    Hello,

    Has anyone been able to run their Nativescript on iOS 14? Running
    "tns-ios": { "version": "6.5.1" }

    does not work with iOS 14.

    Running it in XCode 12 showed the error in main.m

    [runtime executeModule:@"./"]; Thread 1: EXC_BAD_ACCESS (code=1, address=0x2818dd0)

    Any ideas on how to resolve this issue?

    in progress 
    opened by mspusta78 59
  • Allow borders to be applied on a per-side basis in CSS

    Allow borders to be applied on a per-side basis in CSS

    I'm finding that I frequently need to put a border on one side of a UI component, but NativeScript currently does not support this. I'm requesting that the following CSS properties be added:

    • border-top-width
    • border-top-color
    • border-right-width
    • border-right-color
    • border-bottom-width
    • border-bottom-color
    • border-left-width
    • border-left-color

    To be consistent with CSS, I would also like the border-width and border-color shorthands to work like they do in CSS.

    screen shot 2015-09-30 at 8 17 47 am

    Update: You can vote for this feature at https://nativescript.ideas.aha.io/ideas/NS-I-110.

    Thanks.

    severity: high feature done css ux 
    opened by tjvantoll 58
  • Page Navigation Transitions

    Page Navigation Transitions

    Would be great to be able to customise the transitions between pages. Right now it's either animation or no animation. Both Android and iOS support custom transistions.

    severity: high feature done 
    opened by lscown 58
  • [MacOS] build android failed on app:mergeDebugAssets (unable to create new native thread)

    [MacOS] build android failed on app:mergeDebugAssets (unable to create new native thread)

    Did you verify this is a real problem by searching the NativeScript Forum and the other open issues in this repo?

    Yes

    Tell us about the problem

    tns build android failed on ':app:mergeDebugAssets' > unable to create new native thread

    Which platform(s) does your issue occur on?

    Android development on macOS Sierra

    Please provide the following version numbers that your issue occurs with:

    • tns info output
       ✔ Component nativescript has 4.0.0 version and is up to date.
       ✔ Component tns-core-modules has 4.0.0 version and is up to date.
       ✔ Component tns-android has 4.0.1 version and is up to date.
      
    • Cross-platform modules: (check the 'version' attribute in the node_modules/tns-core-modules/package.json file in your project)
      {
        "version": "4.0.0"
      }
      
    • Runtime(s): (look for the "tns-android" and "tns-ios" properties in the package.json file of your project)
          "tns-android": {
            "version": "4.0.1"
          }
      
    • Plugin(s): (look for the version number in the package.json file of your project) No plugin

    Please tell us how to recreate the issue in as much detail as possible.

    I just run tns create sample-project --template tns-template-tab-navigation-ng, then run tns build android and the error mentioned above appeared

    *note: run tns debug android --bundle completed without error

    tns doctor output

    ✔ Getting environment information 
    ✔ Your ANDROID_HOME environment variable is set and points to correct directory.
    ✔ Your adb from the Android SDK is correctly installed.
    ✔ The Android SDK is installed.
    ✔ A compatible Android SDK for compilation is found.
    ✔ Javac is installed and is configured properly.
    ✔ The Java Development Kit (JDK) is installed and is configured properly.
    ✔ Xcode is installed and is configured properly.
    ✔ xcodeproj is installed and is configured properly.
    ✔ CocoaPods are installed.
    ✔ CocoaPods update is not required.
    ✔ CocoaPods are configured properly.
    ✔ Your current CocoaPods version is newer than 1.0.0.
    ✔ Python installed and configured correctly.
    ✔ The Python 'six' package is found.
    No issues were detected.
    ✔ Getting NativeScript components versions information...
    ✔ Component nativescript has 4.0.0 version and is up to date.
    ✔ Component tns-core-modules has 4.0.0 version and is up to date.
    ✔ Component tns-android has 4.0.1 version and is up to date.
    ✖ Component tns-ios is not installed.
    

    tns debug android --log trace, output attached trace.log.zip

    Is there code involved? If so, please share the minimal amount of code needed to recreate the problem.

    No

    os: android needs more info 
    opened by ikhsan017 55
  • Feature Request: Paged Slider UI component

    Feature Request: Paged Slider UI component

    There is currently no abstraction for a "paged slider" component (not sure if there's a better name for it). It's where you can scroll horizontally between 'pages' of content, with your position indicated by dots below.

    You can see an example of this on the iOS home screen: 2013-06-11-01 10 32

    severity: high help wanted 
    opened by dbbk 54
  • change the outDir of the transpiled code

    change the outDir of the transpiled code

    I don't like the js files being generated next to my ts/ng files , it's so annoying , so I was trying to put the compiled/transpiled js files outside the app directory, as any Angular app.

    what I did is :

    I added outDir to the compilerOptions inside the tsconfig.json file

    {
        "compilerOptions": {
            "outDir": "./compiled/",
    ....
    

    and changed the main entrypoint inside app/package.json

    {
      "android": {
        "v8Flags": "--expose_gc"
      },
      "main": "./compiled/main.js",
    

    by doing so the app crashes since it can't find the main.js...

    what is the correct way to achieve that?


    Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

    feature severity: low 
    opened by AbanoubNassem 53
  • Error: Build input file cannot be found, when building NativeScript application with Xcode 14.1 using m1 mac

    Error: Build input file cannot be found, when building NativeScript application with Xcode 14.1 using m1 mac

    Issue Description

    When building nativescript cross-platform application for ios, i get the following error.

    Build input file cannot be found: 'xxx/platforms/ios/Build/Products/Debug-iphonesimulator/metadata-arm64.bin'. Did you forget to declare this file as an output of a script phase or custom build rule which produces it?

    Reproduction

    xcode 14.1 ✔ Component nativescript has 8.4.0 version and is up to date. ✔ Component @nativescript/core has 8.4.1 version and is up to date. ✔ Component @nativescript/ios has 8.4.0 version and is up to date.

    i would be very grateful for help and a way out of this

    Relevant log output (if applicable)

    No response

    Environment

    No response

    Please accept these terms

    bug-pending-triage 
    opened by wontroba666 1
  • iOS: When execute more than one animation it is not canceled

    iOS: When execute more than one animation it is not canceled

    Issue Description

    When you run an animation and then run another on the same element on ios the first animation is not cancelled. In android it works fine, my animations types:

    view.animate({
                    scale: {
                        x: 1,
                        y: 1
                    },
                    duration: durationAnimation
                })
    

    Reproduction

    No response

    Relevant log output (if applicable)

    No response

    Environment

    OS: macOS 13.1
    CPU: (24) x64 AMD Ryzen 9 3900X 12-Core Processor            
    Shell: /bin/zsh
    node: 18.12.1
    npm: 8.19.2
    nativescript: 8.4.0
    
    # android
    java: 11.0.17
    ndk: Not Found
    apis: Not Found
    build_tools: Not Found
    system_images: Not Found
    
    # ios
    xcode: 14.2/14C18
    cocoapods: 1.11.3
    python: 3.11.1
    python3: 3.11.1
    ruby: 2.7.7
    platforms: 
      - DriverKit 22.2
      - iOS 16.2
      - macOS 13.1
      - tvOS 16.1
      - watchOS 9.1
    

    Dependencies

    "dependencies": {
      "@nativescript-community/text": "^1.5.11",
      "@nativescript-community/ui-canvaslabel": "^1.1.8",
      "@nativescript-community/ui-collectionview": "^4.0.64",
      "@nativescript-community/ui-label": "^1.2.16",
      "@nativescript-community/ui-lottie": "^5.0.3",
      "@nativescript-community/ui-material-cardview": "^7.0.31",
      "@nativescript-community/ui-material-tabs": "^7.0.31",
      "@nativescript-community/ui-material-textfield": "^7.0.33",
      "@nativescript-community/ui-svg": "^0.1.2",
      "@nativescript/core": "^8.4.1",
      "@nativescript/firebase-core": "^2.4.4",
      "@nativescript/firebase-messaging": "^2.4.4",
      "@nativescript/geolocation": "^8.1.0",
      "@nativescript/google-maps": "^1.4.9",
      "@nstudio/nativescript-shimmer": "^1.0.7",
      "axios": "^0.19.2",
      "moment": "^2.29.4",
      "nativescript-vue": "^3.0.0-beta.5",
      "patch-package": "^6.5.0",
      "pinia": "^2.0.27",
      "router-vue-native": "^2.0.0"
    },
    "devDependencies": {
      "@nativescript/android": "^8.4.0",
      "@nativescript/ios": "8.4.0",
      "@nativescript/tailwind": "^2.0.1",
      "@nativescript/types": "~8.4.0",
      "@nativescript/webpack": "~5.0.0",
      "@types/node": "~17.0.21",
      "sass": "^1.56.1",
      "sass-loader": "^13.2.0",
      "tailwindcss": "^3.1.8",
      "typescript": "~4.8.4",
      "vue": "^3.2.45"
    }
    

    Please accept these terms

    bug-pending-triage 
    opened by vallemar 1
  • fix(webpack): notify CLI even if there are compilation errors

    fix(webpack): notify CLI even if there are compilation errors

    PR Checklist

    • [x] The PR title follows our guidelines: https://github.com/NativeScript/NativeScript/blob/master/tools/notes/CONTRIBUTING.md#commit-messages.
    • [x] There is an issue for the bug/feature this PR is for. To avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it.
    • [x] You have signed the CLA.
    • [x] All existing tests are passing: https://github.com/NativeScript/NativeScript/blob/master/tools/notes/DevelopmentWorkflow.md#running-unit-tests-application.
    • [ ] Tests for the changes are included - https://github.com/NativeScript/NativeScript/blob/master/tools/notes/WritingUnitTests.md.

    What is the current behavior?

    When there's a compilation error, webpack may emit files (depending on how it's configured), however the CLI is never notified of these files, so they are not synced to the device. This is generally the right behavior however there are cases where this isn't ideal, most notably with HMR. When there's a compilation error, a new hash is assigned to the compilation, and files are written but never synced. After fixing the error, yet another hash is generated, however the app will not be able to apply hmr because it must first apply the "errored" hash, and then the fixed one - it works like a sequential chain, and if we don't emit the errored chain links, we break HMR.

    What is the new behavior?

    The CLI is notified regardless of errors in the compilation. This may crash the app - however that's expected in some cases. In other cases this should fix HMR breakage after a single error during development.

    References:

    • https://github.com/nativescript-vue/nativescript-vue/issues/1013
    cla: yes 
    opened by rigor789 1
  • chore: more specific native-api-usage.json file

    chore: more specific native-api-usage.json file

    PR Checklist

    • [ ] The PR title follows our guidelines: https://github.com/NativeScript/NativeScript/blob/master/tools/notes/CONTRIBUTING.md#commit-messages.
    • [ ] There is an issue for the bug/feature this PR is for. To avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it.
    • [ ] You have signed the CLA.
    • [ ] All existing tests are passing: https://github.com/NativeScript/NativeScript/blob/master/tools/notes/DevelopmentWorkflow.md#running-unit-tests-application.
    • [ ] Tests for the changes are included - https://github.com/NativeScript/NativeScript/blob/master/tools/notes/WritingUnitTests.md.

    What is the current behavior?

    What is the new behavior?

    Fixes/Implements/Closes #[Issue Number].

    cla: yes breaking-change 
    opened by farfromrefug 3
  • Custom Library not working in android 12 with nativeScript 8

    Custom Library not working in android 12 with nativeScript 8

    Issue Description

    We have implemented our custom lib for camera view, which manage by native code with custom lib integrated into native script code.

    This was working when we have using native script version 7, now we have migrated the project from 7 to 8 and it is broken now.

    We are getting ActivityNotFound exception in android 12 and lower versions it is working fine without any issues.

    Reproduction

    No response

    Relevant log output (if applicable)

    No response

    Environment

    No response

    Please accept these terms

    needs more info 
    opened by rajeshjadidminc 6
Releases(8.4.3-core)
  • 8.4.3-core(Jan 4, 2023)

  • 8.4.2-core(Dec 29, 2022)

    Bug Fixes

    • android: backwards compat Java cast Float to Long for ApplicationSettings.getNumber (#10140) (7c1590a)
    • core: update metadata filtering for IOS 16 (#10133) (c461f1b)
    • ios: box shadow border radius (#10142) (6948f7c)
    • ios: navigatingTo event handling (#10120) (a4f28b8)
    • ios: reset additional insets if they're zero (#10134) (8b7d5ab)
    • listview: delegate handling removed from unloaded (#10138) (04c3d9a)
    • utils: ios to filter out null values (#10117) (4723114)
    Source code(tar.gz)
    Source code(zip)
  • 8.4.1-core(Dec 1, 2022)

  • 8.4.0-core(Nov 30, 2022)

    Features

    • android: support drawable in ImageSource (#10098) (75eefa6)
    • android: use NestedScrollView for vertical ScrollView (#9199) (cfaa813)
    • core: support css font-variation-settings (#9995) (a5e3e22)
    • core: support for external XML UI compilers (#10008) (75503ef)
    • HtmlView: selectable property (#10057) (ca9c092)
    • types-android: API Level 33 (#10113) (c1187fe)
    • types-ios: 16.1 (#10114) (da78e0b)
    • utils: dismissKeyboard, copyToClipboard, setWindowBackgroundColor, getCurrentActivity and getResource (#10089) (2e1d2c1)
    • webview: adds iosAllowInlineMediaPlayback property (#10014) (4a0e1c9)
    • TypeScript 4.8+ support and NativeClass decorator improvements (#10081) (7f069a7)

    Bug Fixes

    • android: application fallback for startActivity (#10062) (f3a5c16)
    • android: file manipulation threw exception inside worker (#10076) (25c862e)
    • android: file system normalizePath (#10077) (497a9db)
    • android: modal status bar props applied to wrong window (#10049) (6934645)
    • android: normalize for API >= 26 (#10083) (e687e9d)
    • android: tappable spans aren't visible on single-line labels (#10055) (5765707)
    • android: ApplicationSettings return precise stored numbers (#10094) (fd98690)
    • android: memory leak with EditableTextBase (#10052) (501d310)
    • android: prevent flashing activity on app start (#9190) (6a9484a)
    • android: shared SDK_VERSION (#10090) (0226f47)
    • core: ellipsis at the end for Labels with maxLines (#10005) (6c60eab)
    • core: prevent a circular reference because of SDK_VERSION (#10097) (c957b48)
    • core: Color.isValid returned true for null/undefined (#10040) (9091e43)
    • core: font-weight allow passing number (#10072) (5f3f1ac)
    • core: windows build (#10056) (7860d51)
    • color: floating point color values (66e8e39)
    • core: deprecation notes for WeakRef clear and get (3019181)
    • core: WeakRef deprecation notes (b83ed39)
    • ios: animation layer resilience (#10060) (6cabcab)
    • ios: Color.fromIosColor returns wrong value (#10059) (b7d340f)
    • ios: ensure autocorrect not applied silently on IOS16 (#10032) (40b9e35)
    • ios: frame navigatingTo event (#10096) (6148955)
    • ios: stability around canceling an animation (b8d5372)
    • webpack: prevent hmr from patching __onLiveSync multiple times (#10103) (42f5dc5)
    • webpack: support angular 15.x (#10106) (f100109)
    • webpack: close compiler after run (#10080) (59ca35b)
    • webpack: make NativeClass transformer backwards compatible (59624a4)

    Performance Improvements

    Breaking Changes

    utils/utils is just Utils

    • BEFORE
    import { layout } from '@nativescript/core/utils/utils'
    
    • AFTER
    import { Utils } from '@nativescript/core'
    
    Utils.layout
    

    This will affect some plugins. If you use a plugin that encounters this issue you can do the following:

    1. Add a quick webpack alias to mitigate for now:
    webpack.chainWebpack(config => {
        config.resolve.alias.set('@nativescript/core/utils/utils', '@nativescript/core/utils');
        config.resolve.alias.set('tns-core-modules/utils/utils', '@nativescript/core/utils');
        config.resolve.alias.set('tns-core-modules', '@nativescript/core');
    
    1. Contribute a pull request to the plugin author.

    WeakRef type

    Core uses the latest WeakRef types and you can update your tsconfig to latest targets.

    • BEFORE tsconfig.json
    "compilerOptions": {
      "target": "es2017",
      ...
      "lib": ["es6", "dom"],
    
    • AFTER
    "compilerOptions": {
      "target": "es2020",
      ...  
      "lib": ["esnext", "dom"],
    
    Source code(tar.gz)
    Source code(zip)
  • 8.3.6-core(Nov 12, 2022)

  • 5.0.9-webpack(Oct 6, 2022)

    What's Changed

    • chore(webpack): update webpack deps for react-nativescript by @shirakaba in https://github.com/NativeScript/NativeScript/pull/10045
    • chore: webpack updates by @rigor789 in https://github.com/NativeScript/NativeScript/pull/10050
    Source code(tar.gz)
    Source code(zip)
  • 8.3.5-core(Sep 23, 2022)

  • 8.3.4-core(Aug 20, 2022)

  • 8.3.3-core(Aug 11, 2022)

  • 8.3.2-core(Aug 2, 2022)

  • 8.3.1-core(Jul 21, 2022)

  • 8.3.0-core(Jul 14, 2022)

    Bug Fixes

    • android: connectivity reporting none on resume (#9915) (413fa2e)
    • android: content uri handling improvements (#9936) (9fcd440)
    • android: device language and region from system configuration. (#9868) (ad01e6b)
    • android: font icons had incorrect fallback size (#9914) (e8bed44)
    • android: Textfield focus fix (#9885) (fbd1e23)
    • core: allow View subclass to force onLayoutChangeListener (#9886) (6ccf5a2)
    • core: android wrong background state + current value accessors (#9883) (58a7206)
    • core: ensure platforms/android/core.aar is not included in pack (a1dff9a)
    • core: import fix (45dcada)
    • core: metadata filtering (#9946) (4a5e2e2)
    • core: navigatingToEvent allows access to resolvedPage now (#9954) (38142a6)
    • core: trace log using a wrong parameter (#9951) (cd5d2c2)
    • ensure reusable ProxyViewContainer re-adds native children (#9882) (0a082b3)
    • export 'dataSerialize' from utils (#9909) (a85a72d)
    • incorrect font icon size conversion to device pixels. (#9910) (d3718e5)
    • ios: apply proper border radius to box shadow and view sublayers (#9881) (b7e6128)
    • ios: do not convert tap event data to device pixels twice (#9935) (3681fd4)
    • ios: label measure correct height when using custom numberOfLines (#9945) (2ff0891)
    • ios: memory leak after using 'showModal' passing any Page as parameter (#9939) (4db4e4a)
    • ios: memory leak after using the 'presentViewControllerNavigation' (#9934) (957af32)
    • ios: proper disposal and recreation of iOS native views (#9879) (f548fdc)
    • live-sync: navigation history is now maintained (#9889) (665009b)
    • RootLayout: resilience around shadeCover options (e5fffa1)
    • TabView: item styling improvements for iOS 15+ (#9888) (7ccc949)
    • ui-mobile-base: Android http request body was not sent if method was DELETE (#9887) (57e4973)
    • webpack: NativeClass decorator should run after angular transformers in AOT mode (#9908) (c9f77a0)
    • webpack: unit test runner with node 18+ (#9952) (97a21bb)

    Features

    • android: runOnMain, postFrameCallback & removeFrameCallback (#9943) (49343cb)
    • application: expose inBackground and suspended (#9897) (8987bab)
    • core: iterable ObservableArray (#9824) (df74a8b)
    • core: maxLines support for all text components (#9884) (7ff7233)
    • ios: Utils.getRootViewController (29004d9)
    • mac: support for Mac Catalyst with ui-mobile-base (fc77c92)
    • RootLayout: add opened and closed events (#9893) (7b11b6a)
    • types-minimal: paired down typings optimized for smaller footprint editing environments (#9947) (f49e412)
    • Utils: dataSerialize, dataDeserialize, numberHasDecimals, numberIs64Bit (cab5947)

    Performance Improvements

    • cache UIFont construction based on FontDescriptor (#9948) (8756df3)

    BREAKING CHANGES

    • core: ObservableArray push will now handle arguments just like Array.prototype.push. Certain existing methods will now return ObservableArray instance instead. Callback arguments that contained an array argument themselves will now contain an ObservableArray argument.
    • android: Exposes language and region values from android system configuration. If you were working around locale handling because this wasn't originally the case you can likely remove extra conditions as this should reflect more accurately now.
    • ios: tapData.getX() and tapData.getY() will now return correctly in DIP, so any extra conversions (like calling toDevicePixels) twice must be changed.
    • core: When using navigatingToEvent event.entry, the backstackEntry object is now returned which has an entry property on it if you still need it.
    Source code(tar.gz)
    Source code(zip)
  • 8.2.5-core(Jun 15, 2022)

  • 8.2.4-core(Jun 4, 2022)

  • 8.2.3-core(Apr 25, 2022)

  • 8.2.2-core(Apr 7, 2022)

    Bug Fixes

    • ActionItem: rendering threw errors if it had a nested child. (#9821) (efa80c7)
    • android: gesture events fix (#9842) (2664783)
    • css: borderColor parse handling for hsl(a) color values (#9857) (da3bd2c)
    • ios: navigation button now allows using custom icon (#9835) (f88c158)
    • RootLayout: close popup views on live-sync (#9834) (6941466)
    • Utils.queueGC debounce and throttle with reuse of different settings (#9852) (9ce7455)

    Features

    • RootLayout: added topmost method to retrieve view at top (#9826) (3bb8fc2)
    • TouchManager: touchDelay property for nested tap control (c05145b)

    Performance Improvements

    • Improved live-sync functionality for RootLayout (#9836) (3537858)
    Source code(tar.gz)
    Source code(zip)
  • 8.2.1-core(Mar 9, 2022)

  • 8.2.0-core(Mar 8, 2022)

    Bug Fixes

    • android: a11y - do not provide content description for TextView elements (#9673) (dbaf203), closes #9588
    • android: api17 crash on a11y service (#9792) (2efcdf5)
    • android: boolean keyboardType should not set inputType (#9795) (9e6371f)
    • android: edge cases and compatibility with fragments 1.2.x (#9782) (6b41268)
    • android: fragment creation loaded/unloaded protection (ac2e944)
    • android: nested frames were sometimes not recreated (#9725) (902a4c6)
    • android: nested frames were sometimes not recreated (#9748) (cb648e3)
    • android: NullPointerException on navigation (#9669) (9b5d125), closes #8441
    • android: prevent error when detaching from unloaded ScrollView (#9666) (e59f3ff)
    • android: text-transform: capitalize behavior (#9598) (aa1c631), closes #7059
    • android: when hiding the keyboard make view lose focus to match ios behavior (#9786) (b78996a)
    • application instance creation occurs only within Application.run (a518249)
    • core: animation iteration correct for android css animations and iOS rotation (#9628) (608bb1e), closes #7712
    • core: Application handling of nativeApp instance (6c06c77)
    • core: parse template literal syntax with nested identifiers as expression. (#9744) (57cc4ed)
    • ensure android can access native app instance before bootstrap (f10cffc)
    • fs: wrong common paths (51b92f3)
    • ios: do not redraw if background image is 'none' (#9800) (402a7bb)
    • ios: force layout of view when changing the safe area insets (#9773) (a1ba1f6)
    • ios: proper UITabBarAppearance handling (6c71ce2)
    • ios: tabview background color with appearance api in iOS 15+ (#9617) (2749221)
    • ios: UIImage memory leaking after Image is disposed (#9777) (19d8869)
    • memory leaks around image picking/saving to device (7dcfecf)
    • qualifier matcher did not support multiple qualifiers for a single file. (#9720) (3d03f8f)
    • setup script to build only what's necessary (b05650c)
    • tear down views after a modal is closed (#9801) (b38337e)
    • time-picker: correction for super.disposeNativeView (c41e702)

    Features

    • android: content uri support for File (#9807) (c68d002)
    • android: tab view icon rendering mode (#9605) (66d8aff)
    • android: update ui-mobile-base to gradle7 (#9778) (c7df2d0)
    • background/foreground events (#9763) (b553a90)
    • bindable: allow "global" context for expressions inside bindings (#9734) (2cbb135)
    • binding expression parser additions and improvements (#9791) (716b831)
    • config: add new option for pathsToClean (08d5656)
    • config: cli.additionalPathsToClean to clean other paths with 'ns clean' (#9808) (3ec8c42)
    • core: add event when disposeNativeView is called (f038e6b)
    • core: support RGB alpha notation (#9699) (388d7ea)
    • datepicker: ability to show time via showTime property (#9570) (ab4e47a)
    • gestures: GestureEvents.gestureAttached added to modify native recognizers when needed (168a169)
    • improved background handling (#9615) (dde9e02)
    • improved converter and function call parsing mechanism for XML expressions (#9805) (c5856c6)
    • ios: allow dynamic ProMotion frame refresh rate changes (#9775) (b292495)
    • new expression parser for xml bindings (#9729) (90ceed1)
    • proper handling for bindings with converters that were undefined (#9813) (a1772c0)
    • root-layout: support gradient colors on shade cover (#9626) (d756eb5)
    • switch: :checked pseudo and color fixes (#9790) (6437352)
    • testID property for use with e2e testing without interfering with a11y (#9793) (8be543b), closes #9748
    • touch animations demo in toolbox (d7916d7)
    • types-android: updated types + api32 (#9774) (2393dad)
    • types-ios: iOS 15.2 (#9710) (25679a6)
    • types-ios: iOS 15.4 (#9806) (39164ef)
    • types-ios: reduced ios types to common types for optimized ts resolution (#9809) (6cd8b8e)
    • ui: TouchManager for ease in adding interactivity (26953ec)
    • Utils for queueGC, debounce and throttle (40c5984)

    Performance Improvements

    • ios: autoreleasepool for image extensions (fbefea4)
    • ios: prevent crash with image release (1fb687d)
    • ios: uifont and formatted string optimizations plus uiimage scaling (#9761) (9d3977e)
    • ios: UIImage memory leaks (#9783) (988f372)

    Breaking Changes

    For vanilla NativeScript users (using .xml views), several adjustments were made to the xml binding expressions parsing and you may need a few adjustments, for example:

    BEFORE:

    {{ default ? ' something' : ' something else' }}
    

    AFTER:

    Note: renamed default to variable name.

    {{ enableSubmit ? ' something' : ' something else' }}
    

    This is related to the fact that default is a reserved keyword and the expression parsing uses natural language syntax now.

    BEFORE:

    Note: This would apply to example usage: {{ variable | someConv }}

    getResources().someConv = {
       toView: function () {}
    }
    

    AFTER:

    getResources().someConv = function () {}
    

    This is related to improving/simplifying the convertors syntax with bindings.

    Source code(tar.gz)
    Source code(zip)
  • 5.0.6-webpack(Mar 8, 2022)

  • 5.0.5-webpack(Mar 8, 2022)

    Bug Fixes

    • webpack: exclude other platforms from require.context (#9686) (cb7bd2a), closes #9682
    • webpack: xml-namespace-loader incorrect dependency mapping (#9780) (151d6e8)

    Features

    Source code(tar.gz)
    Source code(zip)
  • 8.1.5-core(Oct 28, 2021)

  • 8.1.4-core(Oct 9, 2021)

    Bug Fixes

    • android: StringIndexOutOfBoundsException with invalid drawables (#9563) (8e76bbe)
    • background parsing color #9559 (#9560) (3e21748)
    • ios: ActionBar flat property using new appearance api for iOS 15 (#9558) (183b4d4)
    • ios: TextView respect editable binding (#9589) (2b2ce37)
    • ios: replace autofill string in textfield (#9555) (889f6d7)
    • style: CSS variables should be case-sensitive. (#9603) (02aa0f6)

    Features

    Source code(tar.gz)
    Source code(zip)
  • 8.1.3-core(Sep 18, 2021)

  • 8.1.2-core(Sep 15, 2021)

  • 8.1.1-core(Sep 12, 2021)

    Reverts

    • feat: requestLayout performance improvements (#9122) (e4ce17e)

    This commit breaks back-navigation in certain cases, most prominently with Button pseudo classes. Will target inclusion for 8.2.

    Source code(tar.gz)
    Source code(zip)
  • 8.1.0-core(Sep 12, 2021)

    Bug Fixes

    • allow ignoring reduce-css-calc w/ webpack without error (#9510) (0fd92b7)
    • android: dont dispose fragment on onloaded (#8793) (03b7715)
    • android: make less calls to native with getters around prop handling (#9119) (bca4d95)
    • android: onSaveInstanceState should not crash when no rootView is set (#9447) (ee3c4c2)
    • android: prevent potential crash when app goes to background (#9347) (47df889)
    • android: use nativeTextViewProtected internally (#9483) (71b856c)
    • backgroundGradient fix with android BorderDrawable (41ce315)
    • Color.darken fix (394209e)
    • css colors not parsed correctly within background property (453ea18)
    • include bundle-entry-points by default (ea0b3b0)
    • ios: actionBar title to use appearance api on ios15+ (#9534) (4edeb19)
    • ios: actionBar to use appearance api on ios13+ (#9530) (8e3f16d)
    • ios: actionitem coloring with 15+ (7e35fdf)
    • ios: prevent views from being measured if no native view (#9511) (56c50f2)
    • ios: resiliency to frame controller viewDidDisappear (a5fd53b)
    • modal: persist modal through configuration changes (#9533) (f3cd3d3)
    • styling: change transform parameters parsing (#9481) (dbaab58), closes #5202
    • webpack5: angular scss rule not ignoring regular scss (#9502) (093b369)
    • webpack: add virtualEntry before main entry (5a3a35d), closes #9469
    • webpack: use async type-checking in watch mode (5309f2d)

    Features

    • AbortController polyfill (#9333) (af281dd)
    • android: support clipToBounds (#9508) (5890667)
    • android: vector drawable support (#9464) (490f7dc)
    • autofillType property for edit text base (#9478) (4964d31)
    • color: added utilities and improved color parsing performance (#9110) (0ff2221)
    • config: added option for ignoredNativeDependencies (4cad76c)
    • core: make css parsers tree-shakable (#9496) (dce7408)
    • Frame replacePage by entry (#9460) (4a5bec1), closes #9497
    • handle config name (3bf55b7)
    • image-source: add saveToFileAsync, toBase64StringAsync & resizeAsync (#9404) (36900d7)
    • requestLayout performance improvements (#9122) (e4ce17e)
    • types-android: API 31 (b5b46273b)
    • types-ios: iOS 15 (cb8bf6f)
    • webpack: -v and --version flags (7530ee4)
    • webpack: export merge helper (53492ea)
    • webpack: try resolving compiler, but don't fail if not found (ff4359a)
    Source code(tar.gz)
    Source code(zip)
  • webpack-5.0.0(Sep 8, 2021)

    This is a major release of @nativescript/webpack that is now rebuilt from the ground up with ease of upgrading and customizing in mind.

    Most new projects were already using the beta version of @nativescript/webpack so there's a good chance your project is already compatible.

    The docs cover how the new configuration works: https://docs.nativescript.org/webpack.html

    Upgrading from @nativescript/webpack beta/rc

    If you are already using the beta or rc versions, update to 5.0.0 by changing the version in package.json or using the following command:

    npm i --save-dev @nativescript/webpack
    

    Upgrading from @nativescript/webpack <5

    To upgrade, delete your old webpack.config.js (create a backup if you have done any customizations to it) and then install the latest 5.0.0 version:

    npm i --save-dev @nativescript/webpack
    

    Initialize a new config:

    npx nativescript-webpack init
    

    The new config should look something like this:

    const webpack = require("@nativescript/webpack");
    
    module.exports = (env) => {
      webpack.init(env);
    
      // Learn how to customize:
      // https://docs.nativescript.org/webpack
    
      return webpack.resolveConfig();
    };
    

    Next step is to re-add your customizations if any. Please refer to the docs for examples.

    Source code(tar.gz)
    Source code(zip)
  • 8.0.11-core(Sep 7, 2021)

  • 8.0.10-core(Sep 3, 2021)

  • 8.0.9-core(Sep 2, 2021)

Owner
NativeScript
Empowering you to access native platform API’s from JavaScript directly.
NativeScript
📓 The UI component explorer. Develop, document, & test React, Vue, Angular, Web Components, Ember, Svelte & more!

Build bulletproof UI components faster Storybook is a development environment for UI components. It allows you to browse a component library, view the

Storybook 75.9k Jan 9, 2023
基于vue3.0-ts-Element集成的简洁/实用后台模板!《带预览地址》vue-admin;vue+admin;vue-element;vue+element;vue后台管理;vue3.0-admin;vue3.0-element。

一、基于vue3.0+ts+Element通用后台admin模板 二、在线预览地址:http://admin.yknba.cn/ 三、下载使用: 1、克隆代码 通过git将代码克隆到本地;或者使用下载安装包模式进行下载。 2、进入目录 进入项目的根目录:vue3.0-ts-admin 3、安装依

null 64 Dec 16, 2022
Vue Native is a framework to build cross platform native mobile apps using JavaScript

Vue Native Visit our website at vue-native.io or read the official documentation here. Build native mobile apps using Vue Vue Native is a framework to

GeekyAnts 8.4k Jan 6, 2023
Build performant, native and cross-platform desktop applications with native Vue + powerful CSS like styling.🚀

Vue NodeGui Build performant, native and cross-platform desktop applications with Vue. ?? Vue NodeGUI is powered by Vue ?? and Qt5 ?? which makes it C

NodeGui 765 Dec 30, 2022
A Svelte SPA Template for simple SPA Apps without using svelte kit.

Svelte SPA Template A Svelte Single Page Application Template for simple SPA Apps without using Svelte Kit or Sapper. New Project To create a new proj

ADITYA 1 Jan 24, 2022
:eyes: Vue in React, React in Vue. Seamless integration of the two. :dancers:

vuera NOTE: This project is looking for a maintainer! Use Vue components in your React app: import React from 'react' import MyVueComponent from './My

Aleksandr Komarov 4k Dec 30, 2022
Mobile app development framework and SDK using HTML5 and JavaScript. Create beautiful and performant cross-platform mobile apps. Based on Web Components, and provides bindings for Angular 1, 2, React and Vue.js.

Onsen UI - Cross-Platform Hybrid App and PWA Framework Onsen UI is an open source framework that makes it easy to create native-feeling Progressive We

null 8.7k Jan 4, 2023
JavaScript data grid with a spreadsheet look & feel. Works for React, Angular, and Vue. Supported by the Handsontable team ⚡

Handsontable is a JavaScript component that combines data grid features with spreadsheet-like UX. It provides data binding, data validation, filtering

Handsontable 17.4k Dec 31, 2022
Vue-cursor-fx - 🖱 An animated custom cursor effects for interactive elements like navigation - w/ VueJS - SSR Compatible

?? Vue Cursor Fx An animated custom cursor effects for interactive elements like navigation - w/ VueJS - SSR Compatible Installation This package is a

Luca Iaconelli 56 Aug 18, 2022
Mosha-vue-toastify - A light weight and fun Vue 3 toast or notification or snack bar or however you wanna call it library.

Mosha Vue Toastify A lightweight and fun Vue 3 toast or notification or snack bar or however you wanna call it library. English | 简体中文 Talk is cheap,

Baidi Liu 187 Jan 2, 2023
A plugin that can help you create project friendly with Vue for @vue/cli 4.5

vue-cli-plugin-patch A plugin that can help you create project friendly with Vue for @vue/cli 4.5. Install First you need to install @vue/cli globally

null 2 Jan 6, 2022
A template repository / quick start to build Azure Static Web Apps with a Node.js function. It uses Vue.js v3, Vue Router, Vuex, and Vite.js.

Azure Static Web App Template with Node.js API This is a template repository for creating Azure Static Web Apps that comes pre-configured with: Vue.js

Marc Duiker 6 Jun 25, 2022
Veloce: Starter template that uses Vue 3, Vite, TypeScript, SSR, Pinia, Vue Router, Express and Docker

Veloce Lightning-fast cold server start Instant hot module replacement (HMR) and dev SSR True on-demand compilation Tech Stack Vue 3: UI Rendering lib

Alan Morel 10 Oct 7, 2022
:tada: A magical vue admin https://panjiachen.github.io/vue-element-admin

English | 简体中文 | 日本語 | Spanish SPONSORED BY 活动服务销售平台 客户消息直达工作群 Introduction vue-element-admin is a production-ready front-end solution for admin inter

花裤衩 80.1k Dec 31, 2022
🎉 基于 vite 2.0 + vue 3.0 + vue-router 4.0 + vuex 4.0 + element-plus 的后台管理系统vue3-element-admin

vue3-element-admin ?? 基于 Vite 2.0 + Vue3.0 + Vue-Router 4.0 + Vuex 4.0 + element-plus 的后台管理系统 简介 vue3-element-admin 是一个后台前端解决方案,它基于 vue3 和 element-plu

雪月欧巴 84 Nov 28, 2022
Jenesius vue modal is simple library for Vue 3 only

Jenesius Vue Modal Jenesius vue modal is simple library for Vue 3 only . Site Documentation Installation npm i jenesius-vue-modal For add modals in yo

Архипцев Евгений 63 Dec 30, 2022
A template to use GoLang Lorca package to make desktop applications using webview and Svelte for the frontend,

Svelte Lorca Template A starter project for building modern cross-platform desktop apps in Go, HTML, and Svelte. This project is a fork of lorca-ts-re

Ben Winchester 16 Jun 19, 2022
bare bones demo of svelte-three

create-svelte Everything you need to build a Svelte project, powered by create-svelte; Creating a project If you're seeing this, you've probably alrea

Rich Harris 39 Jul 30, 2022
A svelte action for creating tippy.js tooltips with full typescript support

Tippy.js for svelte A svelte action for creating tippy.js tooltips. Getting started # Pnpm pnpm add svelte-tippy tippy.js # Yarn yarn add svelte-tipp

Brett Mandler 11 Jul 19, 2022