base on ⚡ Write Native with TypeScript ✨ Best of all worlds (TypeScript, Swift, Objective C, Kotlin, Java, Dart). Use what you love ❤️ Angular, React, Solid, Svelte, Vue with: iOS (UIKit, SwiftUI), Android (View, Jetpack Compose), Flutter and you name it compatible. [![NativeScript](./tools/graphics/cover.png)](https://nativescript.org) <p> [![Automated Android Tests Passing](https://github.com/NativeScript/NativeScript/actions/workflows/apps_automated_android.yml/badge.svg)](https://github.com/NativeScript/NativeScript/actions/workflows/apps_automated_android.yml) [![Automated iOS Tests Passing](https://github.com/NativeScript/NativeScript/actions/workflows/apps_automated_ios.yml/badge.svg)](https://github.com/NativeScript/NativeScript/actions/workflows/apps_automated_ios.yml) [![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/NativeScript/NativeScript/blob/main/LICENSE) [![NPM Version](https://badge.fury.io/js/%40nativescript%2Fcore.svg)](https://www.npmjs.com/@nativescript/core) [![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://nativescript.org/discord) [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FNativeScript%2FNativeScript.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2FNativeScript%2FNativeScript?ref=badge_shield) [![website](https://img.shields.io/badge/website-nativescript.org-purple.svg)](https://nativescript.org) [![https://good-labs.github.io/greater-good-affirmation/assets/images/badge.svg](https://good-labs.github.io/greater-good-affirmation/assets/images/badge.svg)](https://good-labs.github.io/greater-good-affirmation) [![support](https://img.shields.io/badge/sponsor-Open%20Collective-blue.svg)](https://opencollective.com/NativeScript) </p> [NativeScript](http://www.nativescript.org) 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. [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FNativeScript%2FNativeScript.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2FNativeScript%2FNativeScript?ref=badge_large) ## Quick Start To get started with NativeScript, follow these steps: 1. **Install the NativeScript CLI globally:** ```bash npm install -g nativescript ``` 2. **Create a new project:** ```bash ns create my-app ``` 3. **Navigate into your project directory:** ```bash cd my-app ``` 4. **Run your app on an emulator or device:** ```bash ns run android ``` or ```bash ns run ios ``` ## Contribute 1. [Setup your local development environment](https://docs.nativescript.org/setup/) 2. Clone to contribute: ```bash $ 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 your pull requests 🤗. Please follow our [contributing guide](https://github.com/NativeScript/NativeScript/blob/main/tools/notes/CONTRIBUTING.md) and see [our code of governance](https://github.com/NativeScript/management/blob/master/nativescript-governance.md) to become as involved as you want to be. ## @nativescript/* - [@nativescript/core](https://github.com/NativeScript/NativeScript/tree/main/packages/core) Singular primitives offering an easy-to-use API surface for diverse iOS/visionOS/Android APIs implemented with NativeScript. - [@nativescript/types](https://github.com/NativeScript/NativeScript/tree/main/packages/types) Types for both iOS/Android below wrapped up as a convenience. *Most commonly used.* - [@nativescript/types-ios](https://github.com/NativeScript/NativeScript/tree/main/packages/types-ios) Types for iOS. - [@nativescript/types-android](https://github.com/NativeScript/NativeScript/tree/main/packages/types-android) Types for Android. - [@nativescript/types-minimal](https://github.com/NativeScript/NativeScript/tree/main/packages/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](https://github.com/NativeScript/NativeScript/tree/main/packages/ui-mobile-base) UI mobile base native classes used by core. - [@nativescript/webpack](https://github.com/NativeScript/NativeScript/tree/main/packages/webpack5) Webpack build utilities and configs used by NativeScript apps. ## Quick Links - [NativeScript Home](https://nativescript.org) - [NativeScript Tutorials](https://docs.nativescript.org/tutorials/) - [NativeScript documentation](https://docs.nativescript.org/) - 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 - Vue 3 starter: https://nativescript.new/vue3 - [NativeScript on Twitter](http://twitter.com/NativeScript) - [NativeScript on Discord](https://nativescript.org/discord) - [NativeScript on Stack Overflow](http://stackoverflow.com/questions/tagged/nativescript) ## 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](https://github.com/NativeScript/ios) Empowers JavaScript code to be executed on iOS and visionOS devices written in a mix of C++, Objective-C, and Swift. - [Android Runtime](https://github.com/NativeScript/android) Empowers JavaScript code to be executed on Android devices written in a mix of C++, Java and Kotlin. - [CLI](https://github.com/NativeScript/nativescript-cli) Command-line interface empowering you to create, build, and run apps using NativeScript. - [Docs](https://github.com/NativeScript/docs) Documentation available at <http://docs.nativescript.org/> written in Markdown. - [Plugins](https://github.com/NativeScript/plugins) Various TSC managed plugins. Also a good reference is the [plugin marketplace](https://market.nativescript.org/) with several additional plugins. - [Firebase](https://github.com/NativeScript/firebase) Modular Firebase 🔥 implementation for supported platforms. - [ML Kit](https://github.com/NativeScript/mlkit) Google's [ML Kit SDKs for supported platforms](https://developers.google.com/ml-kit). - [Payments](https://github.com/NativeScript/payments) In-App Purchase, Subscriptions, Google Pay and Apple Pay. - [Artwork](https://github.com/NativeScript/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](https://openjsf.org) and `NativeScript` contributors. All rights reserved. The [OpenJS Foundation](https://openjsf.org) has registered trademarks and uses trademarks. For a list of trademarks of the [OpenJS Foundation](https://openjsf.org), please see our [Trademark Policy](https://trademark-policy.openjsf.org/) and [Trademark List](https://trademark-list.openjsf.org/). Trademarks and logos not indicated on the [list of OpenJS Foundation trademarks](https://trademark-list.openjsf.org) 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](https://openjsf.org/) | [Terms of Use](https://terms-of-use.openjsf.org/) | [Privacy Policy](https://privacy-policy.openjsf.org/) | [OpenJS Foundation Bylaws](https://bylaws.openjsf.org/) | [Trademark Policy](https://trademark-policy.openjsf.org/) | [Trademark List](https://trademark-list.openjsf.org/) | [Cookie Policy](https://www.linuxfoundation.org/cookies/) <h3 align="center">Made with ❤️</h3> ", Assign "at most 3 tags" to the expected json: {"id":"3340","tags":[]} "only from the tags list I provide: [{"id":39,"name":"3d-generation","display_name":"3D generation","slug":"3d-generation"},{"id":3,"name":"ai-agent","display_name":"AI agent","slug":"ai-agent"},{"id":8,"name":"ai-coding","display_name":"AI coding assistant","slug":"ai-coding"},{"id":5,"name":"ai-image","display_name":"AI image generation","slug":"ai-image"},{"id":9,"name":"ai-infrastructure","display_name":"AI infrastructure","slug":"ai-infrastructure"},{"id":10,"name":"ai-memory","display_name":"AI memory","slug":"ai-memory"},{"id":11,"name":"ai-skills","display_name":"AI skills","slug":"ai-skills"},{"id":12,"name":"ai-translation","display_name":"AI translation","slug":"ai-translation"},{"id":6,"name":"ai-video","display_name":"AI video generation","slug":"ai-video"},{"id":4,"name":"ai-voice","display_name":"AI voice","slug":"ai-voice"},{"id":7,"name":"ai-workflow","display_name":"AI workflow","slug":"ai-workflow"},{"id":22,"name":"audio-processing","display_name":"Audio processing","slug":"audio-processing"},{"id":29,"name":"authentication","display_name":"Authentication","slug":"authentication"},{"id":51,"name":"bundler","display_name":"Bundler","slug":"bundler"},{"id":41,"name":"chatbot","display_name":"Chatbot","slug":"chatbot"},{"id":27,"name":"cloud-native","display_name":"Cloud native","slug":"cloud-native"},{"id":1,"name":"computer-vision","display_name":"Computer vision","slug":"computer-vision"},{"id":37,"name":"crypto-trading","display_name":"Crypto trading","slug":"crypto-trading"},{"id":57,"name":"curated-list","display_name":"Curated list","slug":"curated-list"},{"id":54,"name":"data-streaming","display_name":"Data streaming","slug":"data-streaming"},{"id":35,"name":"data-visualization","display_name":"Data visualization","slug":"data-visualization"},{"id":16,"name":"database-backup","display_name":"Database backup","slug":"database-backup"},{"id":49,"name":"design-system","display_name":"Design system","slug":"design-system"},{"id":38,"name":"digital-human","display_name":"Digital human","slug":"digital-human"},{"id":34,"name":"document-processing","display_name":"Document processing","slug":"document-processing"},{"id":44,"name":"ecommerce","display_name":"E-commerce","slug":"ecommerce"},{"id":45,"name":"emulator","display_name":"Emulator","slug":"emulator"},{"id":46,"name":"file-management","display_name":"File management","slug":"file-management"},{"id":32,"name":"fintech","display_name":"Fintech","slug":"fintech"},{"id":31,"name":"game-development","display_name":"Game development","slug":"game-development"},{"id":24,"name":"headless-browser","display_name":"Headless browser","slug":"headless-browser"},{"id":52,"name":"headless-cms","display_name":"Headless CMS","slug":"headless-cms"},{"id":36,"name":"home-automation","display_name":"Home automation","slug":"home-automation"},{"id":20,"name":"image-editing","display_name":"Image editing","slug":"image-editing"},{"id":28,"name":"iot","display_name":"IoT","slug":"iot"},{"id":13,"name":"local-llm","display_name":"Local LLM","slug":"local-llm"},{"id":17,"name":"mcp","display_name":"MCP","slug":"mcp"},{"id":47,"name":"monitoring","display_name":"Monitoring","slug":"monitoring"},{"id":2,"name":"nlp","display_name":"NLP","slug":"nlp"},{"id":26,"name":"observability","display_name":"Observability","slug":"observability"},{"id":40,"name":"pentesting","display_name":"Pentesting","slug":"pentesting"},{"id":48,"name":"programming-examples","display_name":"Programming examples","slug":"programming-examples"},{"id":42,"name":"proxy","display_name":"Proxy","slug":"proxy"},{"id":14,"name":"rag","display_name":"RAG","slug":"rag"},{"id":56,"name":"resume-building","display_name":"Resume building","slug":"resume-building"},{"id":33,"name":"robotics","display_name":"Robotics","slug":"robotics"},{"id":30,"name":"search","display_name":"Search","slug":"search"},{"id":43,"name":"self-hosted","display_name":"Self-hosted","slug":"self-hosted"},{"id":50,"name":"static-analysis","display_name":"Static analysis","slug":"static-analysis"},{"id":18,"name":"synthetic-data","display_name":"Synthetic data","slug":"synthetic-data"},{"id":19,"name":"text-to-speech","display_name":"Text to speech","slug":"text-to-speech"},{"id":53,"name":"ui-components","display_name":"UI components","slug":"ui-components"},{"id":15,"name":"vector-database","display_name":"Vector database","slug":"vector-database"},{"id":21,"name":"video-editing","display_name":"Video editing","slug":"video-editing"},{"id":25,"name":"web-scraping","display_name":"Web scraping","slug":"web-scraping"},{"id":55,"name":"webassembly","display_name":"WebAssembly","slug":"webassembly"},{"id":23,"name":"workflow-automation","display_name":"Workflow automation","slug":"workflow-automation"}]" returns me the "expected json"