open-index/open-npm huggingface dataset:
npm package: @kirz/expo-env
Description: Simple Expo env loader with TypeScript and schema validation
Author: Kirill Zaidulin
Latest version: 1.6.0

# @kirz/expo-env

## Description

`@kirz/expo-env` is a simple environment loader designed for Expo projects, offering TypeScript support and schema validation using Zod. This package helps ensure your environment variables are correctly typed and validated, providing an easy way to manage them within your Expo app.

## Installation

You can install the package using your preferred package manager:
```bash
npm install @kirz/expo-env
# or
yarn add @kirz/expo-env
# or
pnpm add @kirz/expo-env
```


### Schema validation
This package requires [Zod](https://www.npmjs.com/package/zod) as a peer dependency for schema validation. You can install it as follows:
```bash
npm install zod
# or
yarn add zod
# or
pnpm add zod
```

### Usage
#### Step 1: Update package.json
Add the following script to your package.json to automatically load environment variables before starting your Expo project:
```json
"scripts": {
  "prestart": "load-env"
}
```

To significantly enhance script execution speed, we’ve adopted the modern Bun JavaScript runtime. This change has led to a roughly 50% reduction in the time required to run scripts. To take advantage of this performance boost, please install [Bun.sh](https://bun.sh/).

#### Step 2: Create env.ts
In the root of your project, create a file named env.ts. This file will define your environment variables using Zod for schema validation. Here’s an example:
```typescript
import z from "zod";

export default {
  APP_NAME: z.string(),
  APP_BUNDLE_ID: z.string(),
  APP_VERSION: z.string().default("1.0"),
};
```

#### Step 3: Import Env
In any file where you need to access your environment variables, import the Env object like this:
```typescript
import { Env } from "@kirz/expo-env";
```

#### Step 4: Use Env in Your Project
You can now access your validated environment variables anywhere in your project, including in app.config.ts. For example:
```typescript
import { Env } from "@kirz/expo-env";
import { ConfigContext, ExpoConfig } from "@expo/config";

export default ({ config }: ConfigContext): ExpoConfig => {
  return {
    ...config,
    name: Env.APP_NAME,
    slug: Env.APP_BUNDLE_ID,
    version: Env.APP_VERSION,
  };
};
```
npm package: @kirz/expo-template-default
Description: This is an [Expo](https://expo.dev) project created with [`create-expo-app`](https://www.npmjs.com/package/create-expo-app).
Author: Kirill Zaidulin
Latest version: 1.0.1

# Welcome to your Expo app 👋

This is an [Expo](https://expo.dev) project created with [`create-expo-app`](https://www.npmjs.com/package/create-expo-app).

## Get started

1. Install dependencies

   ```bash
   pnpm install
   ```

2. Start the app

   ```bash
    npx expo start
   ```

In the output, you'll find options to open the app in a

- [development build](https://docs.expo.dev/develop/development-builds/introduction/)
- [Android emulator](https://docs.expo.dev/workflow/android-studio-emulator/)
- [iOS simulator](https://docs.expo.dev/workflow/ios-simulator/)
- [Expo Go](https://expo.dev/go), a limited sandbox for trying out app development with Expo

You can start developing by editing the files inside the **app** directory. This project uses [file-based routing](https://docs.expo.dev/router/introduction).

## Learn more

To learn more about developing your project with Expo, look at the following resources:

- [Expo documentation](https://docs.expo.dev/): Learn fundamentals, or go into advanced topics with our [guides](https://docs.expo.dev/guides).
- [Learn Expo tutorial](https://docs.expo.dev/tutorial/introduction/): Follow a step-by-step tutorial where you'll create a project that runs on Android, iOS, and the web.

## Join the community

Join our community of developers creating universal apps.

- [Expo on GitHub](https://github.com/expo/expo): View our open source platform and contribute.
- [Discord community](https://chat.expo.dev): Chat with Expo users and ask questions.
npm package: @kirz/react-native-appmetrica
Description: React Native plugin for AppMetrica analytics tool
Author: YANDEX LLC
Latest version: 2.1.1

# react-native-appmetrica
React Native bridge to the [AppMetrica](https://appmetrica.yandex.com/) on both iOS and Android.

## Installation

1. `npm install react-native-appmetrica --save`
2. If React Native version <= 0.59: \
  `react-native link react-native-appmetrica`
3. iOS only
  * if `${PROJECT_DIR}/ios/Podfile` exists: \
  `npx pod-install`
  * if `${PROJECT_DIR}/ios/Podfile` don't exists: \
  [Setup AppMetrica](https://appmetrica.yandex.com/docs/mobile-sdk-dg/tasks/ios-quickstart.html) and placed frameworks at `${PROJECT_DIR}/ios/Frameworks`

## Usage

```js
import AppMetrica from 'react-native-appmetrica';

// Starts the statistics collection process.
AppMetrica.activate({
  apiKey: '...KEY...',
  sessionTimeout: 120,
  firstActivationAsUpdate: false,
});

// Sends a custom event message and additional parameters (optional).
AppMetrica.reportEvent('My event');
AppMetrica.reportEvent('My event', { foo: 'bar' });

// Send a custom error event.
AppMetrica.reportError('My error');
```
npm package: @kirz/react-native-gallery
Description: React Native Gallery
Author: Kirill Zaidulin
Latest version: 1.1.0

# react-native-gallery

React Native Camera Roll for iOS & Android

## Installation

```sh
npm install react-native-gallery
```

## Usage

```js
import { multiply } from 'react-native-gallery';

// ...

const result = await multiply(3, 7);
```

## Contributing

See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.

## License

MIT

---

Made with [create-react-native-library](https://github.com/callstack/react-native-builder-bob)
npm package: @kirz/react-native-template
Description: Clean and minimalist React Native template for a quick start with TypeScript.
Author: Emin Khateeb
Latest version: 0.1.5

# :space_invader: React Native Template TypeScript

<p>
  <a href="https://github.com/react-native-community/react-native-template-typescript/actions/workflows/npm-publish.yml">
    <img alt="Build Status" src="https://github.com/react-native-community/react-native-template-typescript/actions/workflows/npm-publish.yml/badge.svg" />
  </a>
  <a href="https://github.com/react-native-community/react-native-template-typescript#readme">
    <img alt="Documentation" src="https://img.shields.io/badge/documentation-yes-brightgreen.svg" />
  </a>
  <a href="https://github.com/react-native-community/react-native-template-typescript/graphs/commit-activity">
    <img alt="Maintenance" src="https://img.shields.io/badge/Maintained%3F-yes-green.svg" />
  </a>
  <a href="https://github.com/react-native-community/react-native-template-typescript/blob/master/LICENSE">
    <img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg" />
  </a>
</p>

> Clean and minimalist React Native template for a quick start with TypeScript.

## :star: Features

- Elegant usage directly within the [React Native CLI](https://github.com/react-native-community/cli)
- Consistent with the default React Native template
- Minimal additional dependencies

## :arrow_forward: Usage

```sh
npx react-native init MyApp --template react-native-template-typescript
```

### Usage with older versions of React Native

#### e.g. `react-native@0.69.x`

```sh
npx react-native init MyApp --template react-native-template-typescript@6.11.9
```

See the below table to find out which version of the template to use.

#### React Native <=> Template Version

| React Native | Template |
| ------------ | -------- |
| 0.70         | 6.12.\*  |
| 0.69         | 6.11.\*  |
| 0.68         | 6.10.\*  |
| 0.67         | 6.9.\*   |
| 0.66         | 6.8.\*   |
| 0.65         | 6.7.\*   |
| 0.64         | 6.6.\*   |
| 0.63         | 6.5.\*   |
| 0.62         | 6.4.\*   |
| 0.61         | 6.3.\*   |
| 0.60         | 6.2.\*   |

## :warning: React Native CLI

This template only works with the new CLI. Make sure you have uninstalled the legacy `react-native-cli` first (`npm uninstall -g react-native-cli`) for the below command to work. If you wish to not use `npx`, you can also install the new CLI globally (`npm i -g @react-native-community/cli` or `yarn global add @react-native-community/cli`).

If you tried the above and still get the react-native-template-react- native-template-typescript: Not found error, please try adding the `--ignore-existing` flag to [force npx to ignore](https://github.com/npm/npx#description) any locally installed versions of the CLI and use the latest.

Further information can be found here: https://github.com/react-native-community/cli#about

## :computer: Contributing

Contributions are very welcome. Please check out the [contributing document](CONTRIBUTING.md).

## :bookmark: License

This project is [MIT](LICENSE) licensed.