open-index/open-npm huggingface dataset:
npm package: @nativescript/supabase
Description: Supabase for NativeScript
Author: Osei Fortune
Latest version: 1.0.0

# Nativescript Supabase

```javascript
npm install @nativescript/supabase
```

## Usage

### [Database](https://supabase.io/docs/guides/database)

```ts
import {createClient} from '@nativescript/supabase';

const client = createClient('supabaseUrl', 'supabaseKey');

  // Select from table `countries` ordering by `name`
  const response = await client
      .from('countries')
      .select()
      .order('name', ascending: true)
      .execute();
}
```

### [Authentication](https://supabase.io/docs/guides/auth)

```ts
import {createClient} from '@nativescript/supabase';

const client = createClient('supabaseUrl', 'supabaseKey');

// Sign up user with email and password
const response = await client.auth.signUp('email', 'password');
```



### [Storage](https://supabase.io/docs/guides/storage)

```ts
import {File as nsFile, knownFolders, path} from '@nativescript/core';
import {createClient} from '@nativescript/supabase';

 const client = createClient('supabaseUrl', 'supabaseKey');
  
  // Create file `example.txt` and upload it in `public` bucket
  const exampleText = path.join(knownFolders.documents().path, 'example.txt');
  const file = nsFile.fromPath(exampleText);
  file.writeTextSync('File content');
  const storageResponse = await client
      .storage
      .from('public')
      .upload('example.txt', exampleText);
```



Check out the [**Official Documentation**](https://supabase.io/docs/gotrue/client/initializing) to learn all the other available methods.

## Credits

Based on [supabase-js](https://github.com/supabase/supabase-js)

## License

Apache License Version 2.0
npm package: @nativescript/supabase-functions
Description: Supabase Edge Functions for NativeScript
Author: NativeScript
Latest version: 1.0.0

# @nativescript/supabase-functions

```javascript
npm install @nativescript/supabase-functions
```

## Usage

```ts
import { FunctionsClient } from '@nativescript/supabase-functions';

const FUNCTIONS_URL = 'http://localhost:9999';

const functions = new FunctionsClient({ url: FUNCTIONS_URL });
```

## Credits

Based on [functions-js](https://github.com/supabase/functions-js)

## License

Apache License Version 2.0
npm package: @nativescript/supabase-gotrue
Description: A NativeScript client library for GoTrue
Author: Osei Fortune
Latest version: 1.0.0

# Nativescript Supabase GoTrue Client

```javascript
npm install @nativescript/supabase-gotrue
```

## Usage

```ts
import { GoTrueClient } from '@nativescript/supabase-gotrue';

const GOTRUE_URL = 'http://localhost:9999';

const auth = new GoTrueClient({ url: GOTRUE_URL });
```

## Credits

Based on [gotrue-js](https://github.com/supabase/gotrue-js)

## License

Apache License Version 2.0
npm package: @nativescript/supabase-postgrest
Description: A NativeScript client for PostgREST
Author: Osei Fortune
Latest version: 1.0.0

# Nativescript Supabase PostgREST Client

```javascript
npm install @nativescript/supabase-postgrest
```

## Usage

```ts
import { PostgrestClient } from '@nativescript/supabase-postgrest'

const REST_URL = 'http://localhost:3000'
const postgrest = new PostgrestClient(REST_URL)
```

## Credits
Based on [postgress-js](https://github.com/supabase/postgress-js)

## License

Apache License Version 2.0
npm package: @nativescript/supabase-storage
Description: A Nativescript client library to interact with Supabase Storage
Author: Osei Fortune
Latest version: 1.0.0

# Nativescript Supabase Storage Client

```javascript
npm install @nativescript/supabase-storage
```

## Usage

```ts
const avatarFile // 
const { data, error } = await supabase
  .storage
  .from('avatars')
  .upload('public/avatar1.png', avatarFile) 
  // File/Blob objects, NSData, byte array, ArrayBuffer & supports full path url

```

## Credits
Based on [storage-js](https://github.com/supabase/storage-js)

## License

Apache License Version 2.0
npm package: @nativescript/template-blank
Description: Blank template for Vanilla NativeScript apps using JavaScript
Author: NativeScript Team
Latest version: 9.0.0

# NativeScript Core Blank Template
App templates help you jump start your native cross-platform apps with built-in UI elements and best practices. Save time writing boilerplate code over and over again when you create new apps.

## Quick Start
Execute the following command to create an app from this template:

```
ns create my-blank-js --template @nativescript/template-blank
```

> Note: This command will create a new NativeScript app that uses the latest version of this template published to [npm](https://www.npmjs.com/package/@nativescript/template-blank).

If you want to create a new app that uses the source of the template from the `main` branch, you can execute the following:

```
# clone nativescript-app-templates monorepo locally
git clone git@github.com:NativeScript/nativescript-app-templates.git

# create app template from local source (all templates are in the 'packages' subfolder of the monorepo)
ns create my-blank-js --template nativescript-app-templates/packages/template-blank
```

**NB:** Please, have in mind that the main branch may refer to dependencies that are not on NPM yet!

## Walkthrough

### Architecture
The application root module:
- `/app/app-root` - sets up a Frame that lets you navigate between pages.

There is a single blank page module that sets up an empty layout:
- `/app/home/home-page`

**Home** page has the following components:
- `ActionBar` - It holds the title of the page.
- `GridLayout` - The main page layout that should contains all the page content.

## Get Help
The NativeScript framework has a vibrant community that can help when you run into problems.

Try [joining the NativeScript community Discord](https://nativescript.org/discord). The Discord channel is a great place to get help troubleshooting problems, as well as connect with other NativeScript developers.

If you have found an issue with this template, please report the problem in the [NativeScript repository](https://github.com/NativeScript/NativeScript/issues).

## Contributing

We love PRs, and accept them gladly. Feel free to propose changes and new ideas. We will review and discuss, so that they can be accepted and better integrated.
npm package: @nativescript/template-blank-ng
Description: Blank template for NativeScript apps using Angular
Author: NativeScript Team
Latest version: 9.0.0

# NativeScript with Angular Blank Template
App templates help you jump start your native cross-platform apps with built-in UI elements and best practices. Save time writing boilerplate code over and over again when you create new apps.

## Quick Start
Execute the following command to create an app from this template:

```
ns create my-blank-ng --template @nativescript/template-blank-ng
```

> Note: This command will create a new NativeScript app that uses the latest version of this template published to [npm](https://www.npmjs.com/package/@nativescript/template-blank-ng).

If you want to create a new app that uses the source of the template from the `main` branch, you can execute the following:

```
# clone nativescript-app-templates monorepo locally
git clone git@github.com:NativeScript/nativescript-app-templates.git

# create app template from local source (all templates are in the 'packages' subfolder of the monorepo)
ns create my-blank-ng --template nativescript-app-templates/packages/template-blank-ng
```

**NB:** Please, have in mind that the main branch may refer to dependencies that are not on NPM yet!

## Walkthrough

### Architecture
The application component:
- `/src/app/app.component` - sets up a page router outlet that lets you navigate between pages.

There is a single blank component that sets up an empty layout:
- `/src/app/home/home.component`

**Home** page has the following components:
- `ActionBar` - It holds the title of the page.
- `GridLayout` - The main page layout that should contains all the page content.

## Get Help
The NativeScript framework has a vibrant community that can help when you run into problems.

Try [joining the NativeScript community Discord](https://nativescript.org/discord). The Discord channel is a great place to get help troubleshooting problems, as well as connect with other NativeScript developers.

If you have found an issue with this template, please report the problem in the [NativeScript repository](https://github.com/NativeScript/NativeScript/issues).

## Contributing

We love PRs, and accept them gladly. Feel free to propose changes and new ideas. We will review and discuss, so that they can be accepted and better integrated.
npm package: @nativescript/template-blank-solid
Description: Nativescript Starter with Solid
Author: NativeScript Team
Latest version: 9.0.0

# NativeScript with Solid Blank Template
App templates help you jump start your native cross-platform apps with built-in UI elements and best practices. Save time writing boilerplate code over and over again when you create new apps.

## Quick Start
Execute the following command to create an app from this template:

```
ns create my-blank-solid --template @nativescript/template-blank-solid
```

> Note: This command will create a new NativeScript app that uses the latest version of this template published to [npm](https://www.npmjs.com/package/@nativescript/template-blank-solid).

If you want to create a new app that uses the source of the template from the `main` branch, you can execute the following:

```
# clone nativescript-app-templates monorepo locally
git clone git@github.com:NativeScript/nativescript-app-templates.git

# create app template from local source (all templates are in the 'packages' subfolder of the monorepo)
ns create my-blank-solid --template nativescript-app-templates/packages/template-blank-solid
```

**NB:** Please, have in mind that the main branch may refer to dependencies that are not on NPM yet!

## Get Help
The NativeScript framework has a vibrant community that can help when you run into problems.

Try [joining the NativeScript community Discord](https://nativescript.org/discord). The Discord channel is a great place to get help troubleshooting problems, as well as connect with other NativeScript developers.

If you have found an issue with this template, please report the problem in the [NativeScript repository](https://github.com/NativeScript/NativeScript/issues).

## Contributing

We love PRs, and accept them gladly. Feel free to propose changes and new ideas. We will review and discuss, so that they can be accepted and better integrated.
npm package: @nativescript/template-blank-solid-ts
Description: Nativescript Starter with Solid
Author: NativeScript Team
Latest version: 9.0.3

# NativeScript with Solid Blank Template
App templates help you jump start your native cross-platform apps with built-in UI elements and best practices. Save time writing boilerplate code over and over again when you create new apps.

## Quick Start
Execute the following command to create an app from this template:

```
ns create my-blank-solid --template @nativescript/template-blank-solid-ts
```

> Note: This command will create a new NativeScript app that uses the latest version of this template published to [npm](https://www.npmjs.com/package/@nativescript/template-blank-solid).

If you want to create a new app that uses the source of the template from the `main` branch, you can execute the following:

```
# clone nativescript-app-templates monorepo locally
git clone git@github.com:NativeScript/nativescript-app-templates.git

# create app template from local source (all templates are in the 'packages' subfolder of the monorepo)
ns create my-blank-solid --template nativescript-app-templates/packages/template-blank-solid
```

**NB:** Please, have in mind that the main branch may refer to dependencies that are not on NPM yet!

## Get Help
The NativeScript framework has a vibrant community that can help when you run into problems.

Try [joining the NativeScript community Discord](https://nativescript.org/discord). The Discord channel is a great place to get help troubleshooting problems, as well as connect with other NativeScript developers.

If you have found an issue with this template, please report the problem in the [NativeScript repository](https://github.com/NativeScript/NativeScript/issues).

## Contributing

We love PRs, and accept them gladly. Feel free to propose changes and new ideas. We will review and discuss, so that they can be accepted and better integrated.
npm package: @nativescript/template-blank-svelte
Description: Blank template for NativeScript apps using Svelte
Author: NativeScript Team
Latest version: 9.0.1

# NativeScript Core with Svelte Blank Template
App templates help you jump start your native cross-platform apps with built-in UI elements and best practices. Save time writing boilerplate code over and over again when you create new apps.

## Quick Start
Execute the following command to create an app from this template:

```
ns create my-blank-svelte --template @nativescript/template-blank-svelte
```

> Note: This command will create a new NativeScript app that uses the latest version of this template published to [npm](https://www.npmjs.com/package/@nativescript/template-blank-svelte).

If you want to create a new app that uses the source of the template from the `main` branch, you can execute the following:

```
# clone nativescript-app-templates monorepo locally
git clone git@github.com:NativeScript/nativescript-app-templates.git

# create app template from local source (all templates are in the 'packages' subfolder of the monorepo)
ns create my-blank-svelte --template nativescript-app-templates/packages/template-blank-svelte
```

**NB:** Please, have in mind that the main branch may refer to dependencies that are not on NPM yet!

## Get Help
The NativeScript framework has a vibrant community that can help when you run into problems.

Try [joining the NativeScript community Discord](https://nativescript.org/discord). The Discord channel is a great place to get help troubleshooting problems, as well as connect with other NativeScript developers.

If you have found an issue with this template, please report the problem in the [NativeScript repository](https://github.com/NativeScript/NativeScript/issues).

## Contributing

We love PRs, and accept them gladly. Feel free to propose changes and new ideas. We will review and discuss, so that they can be accepted and better integrated.
npm package: @nativescript/template-blank-ts
Description: Blank template for Vanilla NativeScript apps using TypeScript
Author: NativeScript Team
Latest version: 9.0.0

# NativeScript Core with TypeScript Blank Template
App templates help you jump start your native cross-platform apps with built-in UI elements and best practices. Save time writing boilerplate code over and over again when you create new apps.

## Quick Start
Execute the following command to create an app from this template:

```
ns create my-blank-ts --template @nativescript/template-blank-ts
```

> Note: This command will create a new NativeScript app that uses the latest version of this template published to [npm](https://www.npmjs.com/package/@nativescript/template-blank-ts).

If you want to create a new app that uses the source of the template from the `main` branch, you can execute the following:

```
# clone nativescript-app-templates monorepo locally
git clone git@github.com:NativeScript/nativescript-app-templates.git

# create app template from local source (all templates are in the 'packages' subfolder of the monorepo)
ns create my-blank-ts --template nativescript-app-templates/packages/template-blank-ts
```

**NB:** Please, have in mind that the main branch may refer to dependencies that are not on NPM yet!

## Walkthrough

### Architecture
The application root module:
- `/app/app-root` - sets up a Frame that lets you navigate between pages.

There is a single blank page module that sets up an empty layout:
- `/app/home/home-page`

**Home** page has the following components:
- `ActionBar` - It holds the title of the page.
- `GridLayout` - The main page layout that should contains all the page content.

## Get Help
The NativeScript framework has a vibrant community that can help when you run into problems.

Try [joining the NativeScript community Discord](https://nativescript.org/discord). The Discord channel is a great place to get help troubleshooting problems, as well as connect with other NativeScript developers.

If you have found an issue with this template, please report the problem in the [NativeScript repository](https://github.com/NativeScript/NativeScript/issues).

## Contributing

We love PRs, and accept them gladly. Feel free to propose changes and new ideas. We will review and discuss, so that they can be accepted and better integrated.
npm package: @nativescript/template-blank-vue
Description: Blank template for NativeScript apps using Vue.
Author: NativeScript Team
Latest version: 9.0.7

# NativeScript Vue Blank Template
App templates help you jump start your native cross-platform apps with built-in UI elements and best practices. Save time writing boilerplate code over and over again when you create new apps.

## Quick Start
Execute the following command to create an app from this template:

```
ns create my-blank-vue --template @nativescript/template-blank-vue
```

> Note: This command will create a new NativeScript app that uses the latest version of this template published to [npm](https://www.npmjs.com/package/@nativescript/template-blank-vue).

If you want to create a new app that uses the source of the template from the `main` branch, you can execute the following:

```
# clone nativescript-app-templates monorepo locally
git clone git@github.com:NativeScript/nativescript-app-templates.git

# create app template from local source (all templates are in the 'packages' subfolder of the monorepo)
ns create my-blank-vue --template nativescript-app-templates/packages/template-blank-vue
```

**NB:** Please, have in mind that the main branch may refer to dependencies that are not on NPM yet!

## Walkthrough

### Architecture
There is a single blank component located in:
- `/app/components/Home.vue` - sets up an empty page layout.

**Home** page has the following components:
- `ActionBar` - It holds the title of the page.
- `GridLayout` - The main page layout that should contains all the page content.

## Get Help
The NativeScript framework has a vibrant community that can help when you run into problems.

Try [joining the NativeScript community Discord](https://nativescript.org/discord). The Discord channel is a great place to get help troubleshooting problems, as well as connect with other NativeScript developers.

If you have found an issue with this template, please report the problem in the [NativeScript repository](https://github.com/NativeScript/NativeScript/issues).

## Contributing

We love PRs, and accept them gladly. Feel free to propose changes and new ideas. We will review and discuss, so that they can be accepted and better integrated.
npm package: @nativescript/template-blank-vue-ts
Description: Blank Typescript template for NativeScript apps using Vue.
Author: NativeScript Team
Latest version: 9.0.7

# NativeScript Vue Blank Typescript Template
App templates help you jump start your native cross-platform apps with built-in UI elements and best practices. Save time writing boilerplate code over and over again when you create new apps.

## Quick Start
Execute the following command to create an app from this template:

```
ns create my-blank-vue-ts --template @nativescript/template-blank-vue-ts
```

> Note: This command will create a new NativeScript app that uses the latest version of this template published to [npm](https://www.npmjs.com/package/@nativescript/template-blank-vue-ts).

If you want to create a new app that uses the source of the template from the `main` branch, you can execute the following:

```
# clone nativescript-app-templates monorepo locally
git clone git@github.com:NativeScript/nativescript-app-templates.git

# create app template from local source (all templates are in the 'packages' subfolder of the monorepo)
ns create my-blank-vue-ts --template nativescript-app-templates/packages/template-blank-vue-ts
```

**NB:** Please, have in mind that the main branch may refer to dependencies that are not on NPM yet!

## Walkthrough

### Architecture
There is a single blank component located in:
- `/app/components/Home.vue` - sets up an empty page layout.

**Home** page has the following components:
- `ActionBar` - It holds the title of the page.
- `GridLayout` - The main page layout that should contains all the page content.

## Get Help
The NativeScript framework has a vibrant community that can help when you run into problems.

Try [joining the NativeScript community Discord](https://nativescript.org/discord). The Discord channel is a great place to get help troubleshooting problems, as well as connect with other NativeScript developers.

If you have found an issue with this template, please report the problem in the [NativeScript repository](https://github.com/NativeScript/NativeScript/issues).

## Contributing

We love PRs, and accept them gladly. Feel free to propose changes and new ideas. We will review and discuss, so that they can be accepted and better integrated.
npm package: @nativescript/template-hello-world
Description: Nativescript hello-world project template
Author: NativeScript Team
Latest version: 9.0.0

# NativeScript JavaScript Template

This template creates a "Hello, world" NativeScript app using JavaScript.

This is the default template, so you can create a new app that uses it with the `--template` option:

```
ns create my-hello-world-js --template @nativescript/template-hello-world
```

Or without it:

```
ns create my-hello-world-js
```

> Note: Both commands will create a new NativeScript app that uses the latest version of this template published to [npm](https://www.npmjs.com/package/@nativescript/template-hello-world).

If you want to create a new app that uses the source of the template from the `main` branch, you can execute the following:

```
# clone nativescript-app-templates monorepo locally
git clone git@github.com:NativeScript/nativescript-app-templates.git

# create app template from local source (all templates are in the 'packages' subfolder of the monorepo)
ns create my-hello-world-js --template nativescript-app-templates/packages/template-hello-world
```

## Get Help
The NativeScript framework has a vibrant community that can help when you run into problems.

Try [joining the NativeScript community Discord](https://nativescript.org/discord). The Discord channel is a great place to get help troubleshooting problems, as well as connect with other NativeScript developers.

If you have found an issue with this template, please report the problem in the [NativeScript repository](https://github.com/NativeScript/NativeScript/issues).

## Contributing

We love PRs, and accept them gladly. Feel free to propose changes and new ideas. We will review and discuss, so that they can be accepted and better integrated.
npm package: @nativescript/template-hello-world-ng
Description: NativeScript Angular Hello World template
Author: NativeScript Team
Latest version: 9.0.0

# NativeScript Angular Template

This template creates a "Hello, world" NativeScript app using TypeScript and Angular.

You can create a new app that uses this template with either the `--template` option.

```
ns create my-hello-world-ng --template @nativescript/template-hello-world-ng
```

Or the `--ng` shorthand.

```
ns create my-hello-world-ng --ng
```

> Note: Both commands will create a new NativeScript app that uses the latest version of this template published to [npm](https://www.npmjs.com/package/@nativescript/template-hello-world-ng).

If you want to create a new app that uses the source of the template from the `main` branch, you can execute the following:

```
# clone nativescript-app-templates monorepo locally
git clone git@github.com:NativeScript/nativescript-app-templates.git

# create app template from local source (all templates are in the 'packages' subfolder of the monorepo)
ns create my-hello-world-ng --template nativescript-app-templates/packages/template-hello-world-ng
```

**NB:** Please, have in mind that the main branch may refer to dependencies that are not on NPM yet!

## Get Help
The NativeScript framework has a vibrant community that can help when you run into problems.

Try [joining the NativeScript community Discord](https://nativescript.org/discord). The Discord channel is a great place to get help troubleshooting problems, as well as connect with other NativeScript developers.

If you have found an issue with this template, please report the problem in the [NativeScript repository](https://github.com/NativeScript/NativeScript/issues).

## Contributing

We love PRs, and accept them gladly. Feel free to propose changes and new ideas. We will review and discuss, so that they can be accepted and better integrated.
npm package: @nativescript/template-hello-world-ts
Description: Nativescript hello-world-ts project template
Author: NativeScript Team
Latest version: 9.0.0

# NativeScript TypeScript Template

This template creates a NativeScript app with the NativeScript hello world example,
however, in this template the example is built with TypeScript.

You can create a new app that uses this template with either the `--template` option.

```
ns create my-hello-world-ts --template @nativescript/template-hello-world-ts
```

Or the `--tsc` shorthand.

```
ns create my-hello-world-ts --tsc
```

> Note: Both commands will create a new NativeScript app that uses the latest version of this template published to [npm](https://www.npmjs.com/package/@nativescript/template-hello-world-ts).

If you want to create a new app that uses the source of the template from the `main` branch, you can execute the following:

```
# clone nativescript-app-templates monorepo locally
git clone git@github.com:NativeScript/nativescript-app-templates.git

# create app template from local source (all templates are in the 'packages' subfolder of the monorepo)
ns create my-hello-world-ts --template nativescript-app-templates/packages/template-hello-world-ts
```

## Get Help
The NativeScript framework has a vibrant community that can help when you run into problems.

Try [joining the NativeScript community Discord](https://nativescript.org/discord). The Discord channel is a great place to get help troubleshooting problems, as well as connect with other NativeScript developers.

If you have found an issue with this template, please report the problem in the [NativeScript repository](https://github.com/NativeScript/NativeScript/issues).

## Contributing

We love PRs, and accept them gladly. Feel free to propose changes and new ideas. We will review and discuss, so that they can be accepted and better integrated.
npm package: @nativescript/theme-switcher
Description: Add a plugin description
Author: NativeScript
Latest version: 1.0.0

# @nativescript/theme-switcher

```javascript
ns plugin add @nativescript/theme-switcher
```

<table>
	<tr>
		<td>
			<image src="https://user-images.githubusercontent.com/879060/138103861-95e5bc19-85e1-44c3-9243-dd5a0cc854f8.gif" height="400"/>
		</td>
		<td>
			<image src="https://user-images.githubusercontent.com/879060/138250899-3b774229-5348-4bbe-8856-3e1f157e6788.gif" height="400"/>
		</td>
	</tr>
</table>

## Usage

```ts
import { initThemes, switchTheme } from '@nativescript/theme-switcher'


// first initialize the themes
initThemes({
    // default is optional - will be auto-applied after initializing (*)
    default: () => import('theme-loader!./themes/default.scss'),
    red: () => import('theme-loader!./themes/red.scss'),
    green: () => import('theme-loader!./themes/green.scss'),
})

// the later on, switch themes with
switchTheme('red');
switchTheme('green');
```

> **Note**: The `theme-loader!` prefix is used to apply a custom loader that prevents the styles from being auto-applied, and instead applied on-demand by the theme switcher. It requires `@nativescript/webpack@5+` to work properly.


> **Note for TypeScript users**: TypeScript does not know about `theme-loader` or `css/scss` files, in order to supress the type errors when calling `import('theme-loader!./path/to/theme.css')` you can add
> ```ts
> /// <reference path="./node_modules/@nativescript/theme-switcher/shims.d.ts" />
> ```
> To your `references.d.ts`, or use `// @ts-ignore` to supress the errors locally.

---

If you need to switch multiple themes simultaniously, you can initialize as many switchers as you need. Each switcher will load css and persist (unless disabled) the last selected theme.

Can be useful if your app can switch different parts of the theme individually. For example
1. `switcher1` switches button styles
2. `switcher2` switches font styles
3. etc.

```ts
import { ThemeSwitcher } from '@nativescript/theme-switcher'

const switcher1 = new ThemeSwitcher('switcher1');
const switcher2 = new ThemeSwitcher('switcher1');

switcher1.initThemes({ /* ... */})
switcher2.initThemes({ /* ... */})

switcher1.switchTheme( /* ... */ )
switcher2.switchTheme( /* ... */ )
```

## API

### initThemes(themes: ThemeDefinition, options?: ThemeSwitcherOptions)

```ts
interface ThemeDefinition {
	[name: string]: () => any;
}

interface ThemeSwitcherOptions {
	persistent?: boolean; // default: true
	persistenceKey?: string; // default: __theme_switcher_default
}
```

`themes` is an object with the theme name as the key, and a loader function that returns the theme css (css string, ast, optionally async).

`default` will be applied if set as a theme.

If `persistent` is enabled (default), the last selected theme will be saved to ApplicationSettings and automatically restored when `initThemes` is called.

### switchTheme(themeName: string)

Used to switch the current theme.

## License

Apache License Version 2.0
npm package: @nativescript/tslint-rules
Description: A set of TSLint rules for NativeScript projects.
Author: NativeScript Team
Latest version: 0.0.5

# NativeScript TSLint Rules

[![Build Status](https://travis-ci.org/NativeScript/nativescript-tslint-rules.svg?branch=master)](https://travis-ci.org/NativeScript/nativescript-tslint-rules)

This project contains tslint rules useful for NativeScript applications.

## `prefer-mapped-imports` rule

Prefer using mapped paths when importing external modules or ES6 import declarations.

> Note: This rule is intended for [code-sharing NativeScript projects](https://docs.nativescript.org/code-sharing/intro)

### Options

-   `prefix` specifies the prefix for the mapped imports (usually "@src/").
-   `prefix-mapped-to` specifies folder that is mapped to the prefix (usually "src/").
-   `base-url` specifies the base url of the typescript program (usually ".")`

Sample rule config (`tslint.json`):

```
"prefer-mapped-imports": [
    true,
    {
        "prefix": "@prefix/",
        "prefix-mapped-to": "src/",
        "base-url": "."
    }
]
```

### Autofix

The rule will propose a fix if:

-   Has all the configurations in the `tslint.json`
-   Used in typescript project with `baseUrl` and `path` mappings for either web or mobile files.

## `no-android-resources` rule

The rule forbids using constants inside `android.R` as they cause performance issues.
npm package: @nativescript/ui-base
Description: Native UI base components used with NativeScript.
Author: NativeScript team
Latest version: 7.0.0-rc.0

# NativeScript Core Modules Widgets
[![Build Status](https://travis-ci.org/NativeScript/NativeScript.svg?branch=master)](https://travis-ci.org/NativeScript/NativeScript)

This library represents native code (Java and Objective-C) used by the NativeScript [`core modules`](https://github.com/NativeScript/NativeScript/tree/master/tns-core-modules-widgets).

[NativeScript](https://www.nativescript.org/) is a framework which enables developers to write truly native mobile applications for Android and iOS using JavaScript and CSS.

<!-- TOC depthFrom:2 -->

- [Contribute](#contribute)
- [Get Help](#get-help)

<!-- /TOC -->

## Contribute
We love PRs! Check out the [contributing guidelines](CONTRIBUTING.md) and [development workflow for local setup](DevelopmentWorkflow.md). If you want to contribute, but you are not sure where to start - look for issues labeled [`help wanted`](https://github.com/NativeScript/tns-core-modules-widgets/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22).

## Get Help
Please, use [github issues](https://github.com/NativeScript/tns-core-modules-widgets/issues) strictly for [reporting bugs](CONTRIBUTING.md#reporting-bugs) or [requesting features](CONTRIBUTING.md#requesting-new-features). For general questions and support, check out the [NativeScript community forum](https://discourse.nativescript.org/) or ask our experts in [NativeScript community Slack channel](http://developer.telerik.com/wp-login.php?action=slack-invitation).
npm package: @nativescript/ui-charts
Description: Highcharts iOS and Android SDK for NativeScript
Author: NativeScript
Latest version: 1.0.0

# @nativescript/ui-charts

Highcharts SDK for NativeScript


## Usage

```bash
npm install @nativescript/ui-charts
```

The best way to explore the usage of the plugin is to inspect the demo app in the plugin's root folder. 
In `apps/demo` folder you can find the usage of the plugin for TypeScript non-Angular application. Refer to `apps/demo/src/chart-demos` for different chart types.
	
```xml
<Page xmlns="http://schemas.nativescript.org/tns.xsd"
  xmlns:ui="@nativescript/ui-charts">
  <GridLayout>
    <ui:UIChartsView options="{{ chartOptions }}" />
  </GridLayout>
</Page>
```

The `chartOptions` is a HICharts options object,
refer to https://www.highcharts.com/demo/ for inspiration, and also checkout https://api.highcharts.com/highcharts/ for API reference

## License

Apache License Version 2.0
npm package: @nativescript/unit-test-runner
Description: NativeScript unit test runner
Author: NativeScript
Latest version: 4.0.1

Unit test runner for NativeScript
=================================

Refer to the documentation of NativeScript CLI's `ns test init` command for usage.

If you encounter an issue, please log it at https://github.com/NativeScript/nativescript-cli/

### Troubleshooting

If you see an error like this:

```
Error: connect ECONNREFUSED ::1:9876
    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1195:16)
```

When using node 17 or higher, make sure your `karma.conf.js` contains a server hostname setting, for example:

```
// web server hostname (ensure this is present)
hostname: '127.0.0.1',

// web server port
port: 9876,
```
See [here](https://github.com/NativeScript/nativescript-cli/commit/81cb9c37cdd4e24115be79b24b68dfbaf8cdcfd2) for changeset in CLI which adds that to all newly initialized unit test setups.
npm package: @nativescript/webpack
Description: <p align="center">   <a href="https://nativescript.org">     <img alt="NativeScript" src="https://raw.githubusercontent.com/NativeScript/artwork/main/logo/export/NativeScript_Logo_Dark_Transparent.png" width="100"/>   </a> </p>
Author: Igor Randjelovic
Latest version: 5.0.33