open-index/open-npm huggingface dataset:
npm package: @finan-me/react-native-cipher
Description: React Native Cipher is a library that provides encryption and decryption functionalities for React Native applications.
Latest version: 1.0.5

# React Native Cipher

React Native Cipher is a library that provides encryption and decryption functionalities for React Native applications.

## Installation

```
yarn add @finan-me/react-native-cipher
```

## Additional Dependencies

To ensure React Native Cipher works properly, you should also install the following libraries:

### react-native-randombytes

```
yarn add react-native-randombytes
```

### node-libs-react-native

```
yarn add node-libs-react-native
```

#### Usage

This package exports a mapping of absolute paths to each module implementation, keyed by module name. Modules without React Native compatible implementations are null.

These modules can be used with React Native Packager's metro.config.js or Webpack's resolve.alias.

Usage with React Native Packager
Add a metro.config.js file in the root directory of your React Native project and set resolver.extraNodeModules:

```
// metro.config.js
module.exports = {
  resolver: {
    extraNodeModules: require('node-libs-react-native'),
  },
};
```

#### Globals

Node has certain globals that modules may expect, such as Buffer or process. React Native does not provide these globals. The node-libs-react-native/globals module in this package will shim the global environment to add these globals. Just require (or import) this module in your app before anything else.

```
import 'node-libs-react-native/globals';
```
npm package: @finan-me/shared-common
Description: Common shared utilities and providers for Finan React Native applications.
Latest version: 0.0.2

# @finan-me/shared-common

Common shared utilities and providers for Finan React Native applications.

## 🚀 Installation

```bash
yarn add @finan-me/shared-common
```

## 💻 Usage

```typescript
import React from 'react'
import {CommonProvider, ShareValues, MAIN_APP_LIST} from '@finan-me/shared-common'

const App = () => {
  return (
    <CommonProvider
      reduxProps={{store, persistor}}
      navigationProps={{onReady: () => console.log('Ready')}}
    >
      {/* Your app content */}
    </CommonProvider>
  )
}

// ShareValues utility
ShareValues.setUserId('user123')
const userId = ShareValues.getUserId()

// Constants
console.log(MAIN_APP_LIST.finanSobanhang)
```

## 🔧 Development

```bash
# Build
yarn build

# Clean
yarn clean

# Test local package
npm pack
# → Tạo file: finan-me-shared-common-0.0.1.tgz

# Install local package ở project khác
npm install /path/to/finan-me-shared-common-0.0.1.tgz

# Hoặc dùng npm link
npm link                           # Trong shared-common
npm link @finan-me/shared-common   # Trong test project
```

## 🚀 Publish NPM

```bash
npm version patch   # → 0.0.2 (bug fixes)
npm version minor   # → 0.1.0 (new features)
npm version major   # → 1.0.0 (breaking changes)
npm publish
```

## 📦 Contents

- **CommonProvider**: Navigation, state management, error handling wrapper
- **ShareValues**: Global state management utility
- **Constants**: App constants (MAIN_APP_LIST, KEY_FIELD_ADDRESS)
- **Types**: TypeScript definitions

## 📋 Peer Dependencies

React, React Native, Redux, React Navigation, Firebase, React Query và các dependencies liên quan.

---

**Note**: Folder `lib/` ignored trong git, chỉ có trong NPM package.
npm package: @finan-sbh/shared-common
Description: Common shared utilities và providers cho ứng dụng **Sổ Bán Hàng** - hệ thống quản lý bán hàng của Finan.
Latest version: 0.0.6

# @finan-sbh/shared-common

Common shared utilities và providers cho ứng dụng **Sổ Bán Hàng** - hệ thống quản lý bán hàng của Finan.

## 📦 Cài đặt

```bash
npm install @finan-sbh/shared-common
# hoặc
yarn add @finan-sbh/shared-common
```

## 🚀 Cách dùng

```typescript
import React from 'react'
import {CommonProvider, ShareValues, MAIN_APP_LIST} from '@finan-sbh/shared-common'

// 1. Wrap toàn bộ app với CommonProvider
const App = () => {
  return (
    <CommonProvider
      reduxProps={{store, persistor}}
      navigationProps={{onReady: () => console.log('Ready')}}
    >
      <YourAppContent />
    </CommonProvider>
  )
}

// 2. Sử dụng ShareValues để quản lý global state
ShareValues.setUserId('user123')
ShareValues.setBusinessId('business456')
const userId = ShareValues.getUserId()

// 3. Sử dụng constants
const currentApp = MAIN_APP_LIST.finanSobanhang
```

## 🏗️ React Native Builder Bob

Package này sử dụng **react-native-builder-bob** để build multiple formats:

### Cấu hình trong package.json:

```json
{
  "react-native-builder-bob": {
    "source": "src",
    "output": "lib",
    "targets": [["module", {"esm": true}], "typescript"]
  }
}
```

### Cấu trúc thư mục sau khi build:

```
lib/
├── module/                    # ES Modules (cho bundlers hiện đại)
│   ├── index.js
│   ├── constants/
│   ├── contexts/
│   ├── globals/
│   └── types/
└── typescript/                # TypeScript definitions
    ├── index.d.ts
    ├── index.d.ts.map
    ├── constants/
    ├── contexts/
    ├── globals/
    └── types/
```

## 🧪 Test Local

### Cách 1: npm link (Development)

```bash
# Trong thư mục shared-common
npm link

# Trong project muốn test
npm link @finan-sbh/shared-common
```

### Cách 2: Test với file pack

```bash
# Build và tạo file package
yarn build
npm pack

# Install trong project khác
yarn add file:libs/shared-common/finan-sbh-shared-common-0.0.3.tgz
```

### Cách 3: Monorepo (NX workspace)

```json
{
  "dependencies": {
    "@finan-sbh/shared-common": "file:../shared-common"
  }
}
```

## 🚀 Deploy lên NPM

```bash
# Build trước khi publish
yarn build

# Tăng version
npm version patch    # 0.0.3 → 0.0.4
npm version minor    # 0.0.3 → 0.1.0
npm version major    # 0.0.3 → 1.0.0

# Publish (tự động build với prepare script)
npm publish --access public

# Kiểm tra đã publish
npm view @finan-sbh/shared-common
```

---

**Phát triển cho hệ sinh thái Sổ Bán Hàng**
npm package: @finan-sbh/shared-navigation
Description: This library was generated with [Nx](https://nx.dev).
Latest version: 0.0.5

# shared-navigation

This library was generated with [Nx](https://nx.dev).

## Building

Run `nx build shared-navigation` to build the library.

## Running unit tests

Run `nx test shared-navigation` to execute the unit tests via [Jest](https://jestjs.io).
npm package: @finan-sbh/shared-networking
Description: This library was generated with [Nx](https://nx.dev).
Latest version: 0.0.5

# shared-networking

This library was generated with [Nx](https://nx.dev).

## Building

Run `nx build shared-networking` to build the library.

## Running unit tests

Run `nx test shared-networking` to execute the unit tests via [Jest](https://jestjs.io).
npm package: @finan-sbh/shared-state
Description: This library was generated with [Nx](https://nx.dev).
Latest version: 0.0.5

# shared-state

This library was generated with [Nx](https://nx.dev).

## Building

Run `nx build shared-state` to build the library.

## Running unit tests

Run `nx test shared-state` to execute the unit tests via [Jest](https://jestjs.io).
npm package: @finan-sbh/shared-ui
Description: This library was generated with [Nx](https://nx.dev).
Latest version: 0.0.6

# shared-ui

This library was generated with [Nx](https://nx.dev).

## Building

Run `nx build shared-ui` to build the library.

## Running unit tests

Run `nx test shared-ui` to execute the unit tests via [Jest](https://jestjs.io).
npm package: @finan-sbh/shared-utils
Description: This library was generated with [Nx](https://nx.dev).
Latest version: 0.0.5

# shared-utils

This library was generated with [Nx](https://nx.dev).

## Building

Run `nx build shared-utils` to build the library.

## Running unit tests

Run `nx test shared-utils` to execute the unit tests via [Jest](https://jestjs.io).