⚡ Empowering JavaScript with native platform APIs. ✨ Best of all worlds (TypeScript, Swift, Objective C, Kotlin, Java, Dart). Use what you love ❤️ Angular, Capacitor, Ionic, React, Solid, Svelte, Vue with: iOS (UIKit, SwiftUI), Android (View, Jetpack Compose), Dart (Flutter) and you name it compatible.
Installations
npm install @nativescript/core
Releases
@nativescript/core@8.8.6
Published on 19 Nov 2024
@nativescript/core@8.8.5
Published on 19 Nov 2024
@nativescript/core@8.8.4
Published on 23 Oct 2024
@nativescript/core@8.8.3
Published on 24 Oct 2024
@nativescript/core@8.8.1
Published on 12 Jul 2024
@nativescript/core@8.8.0
Published on 11 Jul 2024
Developer
Developer Guide
Module System
CommonJS
Min. Node Version
Typescript Support
Yes
Node Version
22.5.1
NPM Version
10.8.2
Statistics
24,300 Stars
7,461 Commits
1,641 Forks
658 Watching
123 Branches
236 Contributors
Updated on 28 Nov 2024
Bundle Size
181.00 B
Minified
155.00 B
Minified + Gzipped
Languages
TypeScript (84.52%)
Java (10.41%)
Objective-C (2.41%)
JavaScript (1.38%)
CSS (0.71%)
Shell (0.4%)
Swift (0.14%)
HTML (0.03%)
Ruby (0.01%)
Total Downloads
Cumulative downloads
Total Downloads
2,650,200
Last day
-24.3%
1,329
Compared to previous day
Last week
-16.9%
9,814
Compared to previous week
Last month
6.1%
45,304
Compared to previous month
Last year
34%
798,174
Compared to previous year
Daily Downloads
Weekly Downloads
Monthly Downloads
Yearly Downloads
NativeScript empowers you to access native APIs from JavaScript directly. Currently iOS, Android, and visionOS runtimes are provided for rich mobile development across a variety of diverse use cases.
Contribute
-
Clone to contribute:
1$ git clone https://github.com/NativeScript/NativeScript.git 2$ cd NativeScript 3 4# setup workspace for development 5$ npm run setup 6 7# list all available commands to run 8$ npm start
We love you and your pull requests 🤗. Please follow our contributing guide and see our code of governance to become as involved as you want to be.
@nativescript/*
- @nativescript/core Singular primitives offering an easy-to-use API surface for diverse iOS/visionOS/Android APIs implemented with NativeScript.
- @nativescript/types Types for both iOS/Android below wrapped up as a convenience. Most commonly used.
- @nativescript/types-ios Types for iOS.
- @nativescript/types-android Types for Android.
- @nativescript/types-minimal A very minimal set of types for only the latest Android and iOS sdks. Most commonly used to optimize Web-based IDE's which auto load all type declarations from node_modules.
- @nativescript/ui-mobile-base UI mobile base native classes used by core.
- @nativescript/webpack Webpack build utilities and configs used by NativeScript apps.
Quick Links
- NativeScript Home
- NativeScript Tutorials
- NativeScript documentation
- JavaScript starter: https://nativescript.new/javascript
- TypeScript starter: https://nativescript.new/typescript
- Angular starter: https://nativescript.new/angular
- React starter: https://nativescript.new/react
- Solid starter: https://nativescript.new/solid
- Svelte starter: https://nativescript.new/svelte
- Vue starter: https://nativescript.new/vue
- NativeScript on Twitter
- NativeScript on Discord
- NativeScript on Stack Overflow
Other source repos
Outside the source centralized in this repo, NativeScript consists of a few other source repos. Here are the major ones:
- iOS and visionOS Runtime Empowers JavaScript code to be executed on iOS and visionOS devices written in a mix of C++, Objective-C, and Swift.
- Android Runtime Empowers JavaScript code to be executed on Android devices written in a mix of C++, Java and Kotlin.
- CLI Command-line interface empowering you to create, build, and run apps using NativeScript.
- Docs Documentation available at http://docs.nativescript.org/ written in Markdown.
- Plugins Various TSC managed plugins. Also a good reference is the plugin marketplace with several additional plugins.
- Firebase Modular Firebase 🔥 implementation for supported platforms.
- ML Kit Google's ML Kit SDKs for supported platforms.
- Payments In-App Purchase, Subscriptions, Google Pay and Apple Pay.
- Artwork Want to use our logo or colors? Feel free to use any of our ready-to-use media material.
Copyright notice
Copyright OpenJS Foundation and NativeScript
contributors. All rights reserved. The OpenJS Foundation has registered trademarks and uses trademarks. For a list of trademarks of the OpenJS Foundation, please see our Trademark Policy and Trademark List. Trademarks and logos not indicated on the list of OpenJS Foundation trademarks are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.
The OpenJS Foundation | Terms of Use | Privacy Policy | OpenJS Foundation Bylaws | Trademark Policy | Trademark List | Cookie Policy
Made with ❤️
No vulnerabilities found.
Reason
22 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10
Reason
no dangerous workflow patterns detected
Reason
license file detected
Details
- Info: project has a license file: LICENSE:0
- Info: FSF or OSI recognized license: MIT License: LICENSE:0
Reason
Found 20/30 approved changesets -- score normalized to 6
Reason
6 existing vulnerabilities detected
Details
- Warn: Project is vulnerable to: GHSA-8hc4-vh64-cxmj
- Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275
- Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw
- Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36
- Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q
- Warn: Project is vulnerable to: GHSA-7fh5-64p2-3v2j
Reason
badge detected: InProgress
Reason
detected GitHub workflow tokens with excessive permissions
Details
- Warn: no topLevel permission defined: .github/workflows/apps_automated_android.yml:1
- Warn: no topLevel permission defined: .github/workflows/apps_automated_ios.yml:1
- Warn: no topLevel permission defined: .github/workflows/npm_release_core.yml:1
- Warn: no topLevel permission defined: .github/workflows/npm_release_tns_core.yml:1
- Warn: no topLevel permission defined: .github/workflows/npm_release_types.yml:1
- Warn: no topLevel permission defined: .github/workflows/npm_release_webpack.yml:1
- Info: no jobLevel write permissions found
Reason
binaries present in source code
Details
- Warn: binary detected: packages/core/platforms/ios/NSCWinterCG.xcframework/ios-arm64/NSCWinterCG.framework/NSCWinterCG:1
- Warn: binary detected: packages/core/platforms/ios/NSCWinterCG.xcframework/ios-arm64/dSYMs/NSCWinterCG.framework.dSYM/Contents/Resources/DWARF/NSCWinterCG:1
- Warn: binary detected: packages/core/platforms/ios/NSCWinterCG.xcframework/ios-arm64_x86_64-maccatalyst/NSCWinterCG.framework/Versions/A/NSCWinterCG:1
- Warn: binary detected: packages/core/platforms/ios/NSCWinterCG.xcframework/ios-arm64_x86_64-maccatalyst/dSYMs/NSCWinterCG.framework.dSYM/Contents/Resources/DWARF/NSCWinterCG:1
- Warn: binary detected: packages/core/platforms/ios/NSCWinterCG.xcframework/ios-arm64_x86_64-simulator/NSCWinterCG.framework/NSCWinterCG:1
- Warn: binary detected: packages/core/platforms/ios/NSCWinterCG.xcframework/ios-arm64_x86_64-simulator/dSYMs/NSCWinterCG.framework.dSYM/Contents/Resources/DWARF/NSCWinterCG:1
- Warn: binary detected: packages/core/platforms/ios/NSCWinterCG.xcframework/xros-arm64/NSCWinterCG.framework/NSCWinterCG:1
- Warn: binary detected: packages/core/platforms/ios/NSCWinterCG.xcframework/xros-arm64/dSYMs/NSCWinterCG.framework.dSYM/Contents/Resources/DWARF/NSCWinterCG:1
- Warn: binary detected: packages/core/platforms/ios/NSCWinterCG.xcframework/xros-arm64_x86_64-simulator/NSCWinterCG.framework/NSCWinterCG:1
- Warn: binary detected: packages/core/platforms/ios/NSCWinterCG.xcframework/xros-arm64_x86_64-simulator/dSYMs/NSCWinterCG.framework.dSYM/Contents/Resources/DWARF/NSCWinterCG:1
- Warn: binary detected: packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64/TNSWidgets.framework/TNSWidgets:1
- Warn: binary detected: packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets:1
- Warn: binary detected: packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/TNSWidgets:1
- Warn: binary detected: packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets:1
- Warn: binary detected: packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/TNSWidgets:1
- Warn: binary detected: packages/core/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets:1
- Warn: binary detected: packages/core/platforms/ios/TNSWidgets.xcframework/xros-arm64/TNSWidgets.framework/TNSWidgets:1
- Warn: binary detected: packages/core/platforms/ios/TNSWidgets.xcframework/xros-arm64/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets:1
- Warn: binary detected: packages/core/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/TNSWidgets.framework/TNSWidgets:1
- Warn: binary detected: packages/core/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets:1
- Warn: binary detected: packages/ui-mobile-base/android/gradle/wrapper/gradle-wrapper.jar:1
- Warn: binary detected: packages/winter-cg/android/gradle/wrapper/gradle-wrapper.jar:1
Reason
security policy file not detected
Details
- Warn: no security policy file detected
- Warn: no security file to analyze
- Warn: no security file to analyze
- Warn: no security file to analyze
Reason
dependency not pinned by hash detected -- score normalized to 0
Details
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/apps_automated_android.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/NativeScript/NativeScript/apps_automated_android.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/apps_automated_android.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/NativeScript/NativeScript/apps_automated_android.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/apps_automated_android.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/NativeScript/NativeScript/apps_automated_android.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/apps_automated_android.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/NativeScript/NativeScript/apps_automated_android.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/apps_automated_android.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/NativeScript/NativeScript/apps_automated_android.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/apps_automated_ios.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/NativeScript/NativeScript/apps_automated_ios.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/apps_automated_ios.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/NativeScript/NativeScript/apps_automated_ios.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/apps_automated_ios.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/NativeScript/NativeScript/apps_automated_ios.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/apps_automated_ios.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/NativeScript/NativeScript/apps_automated_ios.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/npm_release_core.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/NativeScript/NativeScript/npm_release_core.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/npm_release_tns_core.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/NativeScript/NativeScript/npm_release_tns_core.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/npm_release_webpack.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/NativeScript/NativeScript/npm_release_webpack.yml/main?enable=pin
- Warn: npmCommand not pinned by hash: tools/scripts/build-docs.sh:18
- Warn: npmCommand not pinned by hash: tools/scripts/build-docs.sh:19
- Warn: npmCommand not pinned by hash: tools/scripts/build-docs.sh:20
- Warn: npmCommand not pinned by hash: tools/scripts/prepare-compat.sh:41
- Warn: npmCommand not pinned by hash: tools/scripts/prepare-core.sh:20
- Warn: npmCommand not pinned by hash: tools/scripts/prepare-core.sh:40
- Warn: npmCommand not pinned by hash: tools/scripts/prepare-core.sh:70
- Warn: pipCommand not pinned by hash: .github/workflows/apps_automated_android.yml:38
- Warn: npmCommand not pinned by hash: .github/workflows/apps_automated_android.yml:39
- Warn: pipCommand not pinned by hash: .github/workflows/apps_automated_ios.yml:33
- Warn: npmCommand not pinned by hash: .github/workflows/apps_automated_ios.yml:34
- Warn: npmCommand not pinned by hash: .github/workflows/npm_release_tns_core.yml:22
- Warn: npmCommand not pinned by hash: .github/workflows/npm_release_webpack.yml:21
- Info: 0 out of 10 GitHub-owned GitHubAction dependencies pinned
- Info: 0 out of 2 third-party GitHubAction dependencies pinned
- Info: 0 out of 2 pipCommand dependencies pinned
- Info: 0 out of 11 npmCommand dependencies pinned
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
- Warn: 0 commits out of 23 are checked with a SAST tool
Reason
project is not fuzzed
Details
- Warn: no fuzzer integrations found
Score
3.9
/10
Last Scanned on 2024-11-25
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More