open-index/open-npm huggingface dataset:
npm package: @rnx-kit/tools-workspaces
Description: A collection of tools for working with workspaces
Author: Microsoft Open Source
Latest version: 0.2.3

# @rnx-kit/tools-workspaces

[![Build](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml/badge.svg)](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml)
[![npm version](https://img.shields.io/npm/v/@rnx-kit/tools-workspaces)](https://www.npmjs.com/package/@rnx-kit/tools-workspaces)

`@rnx-kit/tools-workspaces` is a collection of tools for working with
workspaces.

It currently supports:

- [Bun](https://bun.sh/)
- [Lerna](https://lerna.js.org/docs/configuration)
- [npm](https://docs.npmjs.com/cli/v8/using-npm/workspaces)
- [pnpm](https://pnpm.io/pnpm-workspace_yaml)
- [Rush](https://rushjs.io/pages/configs/rush_json/)
- [Yarn](https://yarnpkg.com/configuration/manifest#workspaces)

<!-- The following table can be updated by running `yarn update-readme` -->
<!-- @rnx-kit/api start -->

| Category | Type Name      | Description                                                                                                                                                  |
| -------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| types    | WorkspacesInfo | Helper interface that caches results in-between calls and can test if a package is in the workspace without having to load all the packages (in most cases). |

| Category | Function                      | Description                                                                      |
| -------- | ----------------------------- | -------------------------------------------------------------------------------- |
| -        | `findWorkspacePackages()`     | Returns a list of all packages declared under workspaces.                        |
| -        | `findWorkspacePackagesSync()` | Returns a list of all packages declared under workspaces synchronously.          |
| -        | `findWorkspaceRoot()`         | Returns the root of the workspace; `undefined` if not a workspace.               |
| -        | `findWorkspaceRootSync()`     | Returns the root of the workspace synchronously; `undefined` if not a workspace. |

<!-- @rnx-kit/api end -->
npm package: @rnx-kit/tsconfig
Description: Base TypeScript configs for working with Node
Author: Microsoft Open Source
Latest version: 3.0.2

# @rnx-kit/tsconfig

[![Build](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml/badge.svg)](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml)
[![npm version](https://img.shields.io/npm/v/@rnx-kit/tsconfig)](https://www.npmjs.com/package/@rnx-kit/tsconfig)

`@rnx-kit/tsconfig` is a set of TypeScript configurations for working with Node.

## Install

```
yarn add @rnx-kit/tsconfig --dev
```

or if you're using npm:

```
npm add --save-dev @rnx-kit/tsconfig
```

## Usage

Add the following to your `tsconfig.json`:

```json
"extends": "@rnx-kit/tsconfig/tsconfig.json"
```

Or if you're targeting ESM:

```json
"extends": "@rnx-kit/tsconfig/tsconfig.esm.json"
```
npm package: @rnx-kit/types-metro-serializer-esbuild
Description: Type definitions for metro serializer esbuild
Author: Microsoft Open Source
Latest version: 1.0.1

# @rnx-kit/types-metro-serializer-esbuild

[![Build](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml/badge.svg)](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml)
[![npm version](https://img.shields.io/npm/v/@rnx-kit/types-metro-serializer-esbuild)](https://www.npmjs.com/package/@rnx-kit/types-metro-serializer-esbuild)

TypeScript type definitions for rnx-kit metro bundling plugins.

## Installation

```sh
yarn add @rnx-kit/types-metro-serializer-esbuild --dev
```

or if you're using npm

```sh
npm add --save-dev @rnx-kit/types-metro-serializer-esbuild
```

## Usage

```ts
import type { SerializerEsbuildOptions } from "@rnx-kit/types-metro-serializer-esbuild";
```

## Types

### Bundler Plugin Types

#### `SerializerEsbuildOptions`

Options for `@rnx-kit/metro-serializer-esbuild` tree shaking.

| Name              | Type                              | Description                                  |
| ----------------- | --------------------------------- | -------------------------------------------- |
| minify            | `boolean \| undefined`            | Enable all minification.                     |
| minifyWhitespace  | `boolean \| undefined`            | Minify whitespace.                           |
| minifyIdentifiers | `boolean \| undefined`            | Minify identifiers.                          |
| minifySyntax      | `boolean \| undefined`            | Minify syntax.                               |
| target            | `string \| string[] \| undefined` | Target environment for generated code.       |
| analyze           | `boolean \| "verbose"`            | Analyze bundle composition.                  |
| metafile          | `string \| undefined`             | Path to write esbuild metafile for analysis. |
npm package: @rnx-kit/types-node
Description: Type definitions for package manifests and other core node/npm types
Author: Microsoft Open Source
Latest version: 1.0.0

# @rnx-kit/types-node

[![Build](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml/badge.svg)](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml)
[![npm version](https://img.shields.io/npm/v/@rnx-kit/types-node)](https://www.npmjs.com/package/@rnx-kit/types-node)

TypeScript type definitions for package.json manifests and package data
structures. This package exists to break circular dependencies between rnx-kit
packages that share these types.

## Installation

```sh
yarn add @rnx-kit/types-node --dev
```

or if you're using npm

```sh
npm add --save-dev @rnx-kit/types-node
```

## Usage

```ts
import type { PackageManifest, PackageData } from "@rnx-kit/types-node";
```

## Types

### Package Manifest Types

#### `PackageManifest`

Comprehensive type definitions for `package.json` files, including all standard
npm fields plus the `rnx-kit` configuration field (typed as `KitConfig` from
`@rnx-kit/types-kit-config`).

Covers identity and metadata (`name`, `version`, `license`, `author`), entry
points (`main`, `module`, `types`, `exports`), dependencies, scripts, engines,
workspaces, and more.

#### `PackageData<T>`

Data structure representing a package's location and manifest.

| Name     | Type     | Description                               |
| -------- | -------- | ----------------------------------------- |
| root     | `string` | Directory path for the package.json file. |
| manifest | `T`      | Parsed package manifest.                  |

### Supporting Types

#### `PackageExports`

A record mapping export paths to string entry points or `ExportsGroup` objects.

#### `ExportsGroup`

Conditional export map with `types`, `import`, `require`, and `default` fields.

#### `PackagePerson`

A package author or contributor, either as a string or a `PersonEntry` object
with `name`, `email`, and `url` fields.

#### `FundingEntry`

A funding source, either as a URL string or an object with `type` and `url`.
npm package: @rnx-kit/types-plugin-cyclic-dependencies
Description: Type definitions for cyclic dependencies plugin
Author: Microsoft Open Source
Latest version: 1.0.0

# @rnx-kit/types-plugin-cyclic-dependencies

[![Build](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml/badge.svg)](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml)
[![npm version](https://img.shields.io/npm/v/@rnx-kit/types-plugin-cyclic-dependencies)](https://www.npmjs.com/package/@rnx-kit/types-plugin-cyclic-dependencies)

TypeScript type definitions for rnx-kit metro bundling plugins.

## Installation

```sh
yarn add @rnx-kit/types-plugin-cyclic-dependencies --dev
```

or if you're using npm

```sh
npm add --save-dev @rnx-kit/types-plugin-cyclic-dependencies
```

## Usage

```ts
import type { CyclicDependencyPluginOptions } from "@rnx-kit/types-plugin-cyclic-dependencies";
```

## Types

### Bundler Plugin Types

#### `CyclicDependencyPluginOptions`

Options for `@rnx-kit/metro-plugin-cyclic-dependencies-detector`.

| Name               | Type                   | Description                                                |
| ------------------ | ---------------------- | ---------------------------------------------------------- |
| includeNodeModules | `boolean \| undefined` | Include external packages from node_modules when scanning. |
| linesOfContext     | `number \| undefined`  | Size of the module backtrace printed with error messages.  |
| throwOnError       | `boolean \| undefined` | Whether to throw an exception when a cycle is detected.    |
npm package: @rnx-kit/types-plugin-duplicates-checker
Description: Type definitions for duplicates checker plugin
Author: Microsoft Open Source
Latest version: 1.0.0

# @rnx-kit/types-plugin-duplicates-checker

[![Build](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml/badge.svg)](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml)
[![npm version](https://img.shields.io/npm/v/@rnx-kit/types-plugin-duplicates-checker)](https://www.npmjs.com/package/@rnx-kit/types-plugin-duplicates-checker)

TypeScript type definitions for rnx-kit metro bundling plugins.

## Installation

```sh
yarn add @rnx-kit/types-plugin-duplicates-checker --dev
```

or if you're using npm

```sh
npm add --save-dev @rnx-kit/types-plugin-duplicates-checker
```

## Usage

```ts
import type { DuplicateDetectorPluginOptions } from "@rnx-kit/types-plugin-duplicates-checker";
```

## Types

### Bundler Plugin Types for duplicate detector plugin

#### `DuplicateDetectorPluginOptions`

Options for `@rnx-kit/metro-plugin-duplicates-checker`.

| Name           | Type                             | Description                                                 |
| -------------- | -------------------------------- | ----------------------------------------------------------- |
| ignoredModules | `readonly string[] \| undefined` | List of modules to ignore when scanning for duplicates.     |
| bannedModules  | `readonly string[] \| undefined` | List of modules that always cause a failure.                |
| throwOnError   | `boolean \| undefined`           | Whether to throw an exception when a duplicate is detected. |
npm package: @rnx-kit/types-plugin-typescript
Description: Type definitions for TypeScript plugin
Author: Microsoft Open Source
Latest version: 1.0.0

# @rnx-kit/types-plugin-typescript

[![Build](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml/badge.svg)](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml)
[![npm version](https://img.shields.io/npm/v/@rnx-kit/types-plugin-typescript)](https://www.npmjs.com/package/@rnx-kit/types-plugin-typescript)

TypeScript type definitions for rnx-kit metro bundling plugins.

## Installation

```sh
yarn add @rnx-kit/types-plugin-typescript --dev
```

or if you're using npm

```sh
npm add --save-dev @rnx-kit/types-plugin-typescript
```

## Usage

```ts
import type { TypeScriptPluginOptions } from "@rnx-kit/types-plugin-typescript";
```

## Types

### Bundler Plugin Types for typescript plugin

#### `TypeScriptPluginOptions`

Options for `@rnx-kit/metro-plugin-typescript`.

| Name         | Type                   | Description                                          |
| ------------ | ---------------------- | ---------------------------------------------------- |
| throwOnError | `boolean \| undefined` | Whether to throw an exception when validation fails. |
npm package: @rnx-kit/typescript-react-native-compiler
Description: TypeScript compiler with a custom module resolver for react-native projects
Latest version: 0.0.10
Deprecated: This tool has been deprecated in favor of using typescript >= 4.7 with the `moduleSuffixes` compiler option.

<!--remove-block start-->

# @rnx-kit/typescript-react-native-compiler

[![Build](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml/badge.svg)](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml)
[![npm version](https://img.shields.io/npm/v/@rnx-kit/typescript-react-native-compiler)](https://www.npmjs.com/package/@rnx-kit/typescript-react-native-compiler)

<!--remove-block end-->

`@rnx-kit/typescript-react-native-compiler` is the TypeScript compiler `tsc`
with a custom module resolver for react-native projects.

## 🛑 Deprecated 🛑

This tool has been deprecated in favor of using `tsc` >= 4.7 with the
`moduleSuffixes`
[compiler option](https://www.typescriptlang.org/tsconfig#moduleSuffixes).

You may continue to use it, but it will be removed in a future release.

## Synopsis

This package extends TypeScript, adding the concept of a platform to `tsc`. When
resolving modules, the platform is used to find platform-extension files such as
`foo.ios.ts` and `foo.native.ts`. The platform is also used to map
`react-native` module references to out-of-tree platforms such as
`react-native-windows` and `react-native-macos`.

This package exports a new command-line tool: `rn-tsc`. It is a drop-in
replacement for `tsc` with a few additional command-line parameters.

## Example Commands

```bash
yarn run rn-tsc --platform ios --platformExtensions mobile,native
```

```bash
yarn run rn-tsc --platform macos --platformExtensions native --disableReactNativePackageSubstitution
```

Run a normal build without using the custom module resolver:

```bash
yarn run rn-tsc
```

Get a full listing of all command-line parameters:

```bash
yarn run rn-tsc --help
```
npm package: @rnx-kit/typescript-react-native-resolver
Description: TypeScript module resolver for use with react-native projects
Latest version: 0.3.1

<!--remove-block start-->

# @rnx-kit/typescript-react-native-resolver

[![Build](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml/badge.svg)](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml)
[![npm version](https://img.shields.io/npm/v/@rnx-kit/typescript-react-native-resolver)](https://www.npmjs.com/package/@rnx-kit/typescript-react-native-resolver)

<!--remove-block end-->

`@rnx-kit/typescript-react-native-resolver` is a TypeScript module resolver for
use with react-native projects.

## 🛑 Deprecated 🛑

This tool has been deprecated in favor of using
`@rnx-kit/metro-plugin-typescript`, which is built on the `moduleSuffixes`
TypeScript
[compiler option](https://www.typescriptlang.org/tsconfig#moduleSuffixes).

You may continue to use it, but it will be removed in a future release.

## Synopsis

This resolver uses the target platform to find platform-override files such as
`foo.ios.ts` and `foo.native.ts`. It also maps `react-native` module references
to out-of-tree platforms such as `react-native-windows` and
`react-native-macos`. For performance reasons, these mappings are built into the
resolver, rather than loaded dynamically using `@react-native-community/cli`.
npm package: @rnx-kit/yarn-plugin-dynamic-extensions
Description: EXPERIMENTAL - USE WITH CAUTION - yarn-plugin-dynamic-extensions
Author: Microsoft Open Source
Latest version: 0.1.1

# @rnx-kit/yarn-plugin-dynamic-extensions

[![Build](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml/badge.svg)](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml)
[![npm version](https://img.shields.io/npm/v/@rnx-kit/yarn-plugin-dynamic-extensions)](https://www.npmjs.com/package/@rnx-kit/yarn-plugin-dynamic-extensions)

🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧

### THIS TOOL IS EXPERIMENTAL — USE WITH CAUTION

🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧

This is a Yarn plugin that lets you extend the package definitions of your
dependencies, similar to [`packageExtensions`][], but dynamically.

## Motivation

Making sure a large number of packages are using the same version of
dependencies, like `eslint` or `typescript`, can involve a lot of manual work.
It is easy to make mistakes, especially if these packages span across multiple
repositories.

This plugin allows you to manage all dependencies across multiple repositories
from a central location.

## Installation

```sh
yarn plugin import https://raw.githubusercontent.com/microsoft/rnx-kit/main/incubator/yarn-plugin-dynamic-extensions/index.js
```

## Usage

Create a module that will return package extensions. In the following example,
we create a module that adds `typescript` to all packages:

```js
/**
 * @param {Object} workspace           The package currently being processed
 * @param {string} workspace.cwd       Path of the current package
 * @param {Object} workspace.manifest  The content of `package.json`
 * @returns {{
 *   dependencies?: Record<string, string>;
 *   peerDependencies?: Record<string, string>;
 *   peerDependenciesMeta?: Record<string, { optional?: boolean }>;
 * }}
 */
export default function ({ cwd, manifest }) {
  return {
    dependencies: {
      typescript: "^5.0.0",
    },
  };
}
```

The function will receive context on the currently processed package, and is
expected to return a map similar to the one for [`packageExtensions`][].

For a more complete example, take a look at how we use it in
[`rnx-kit`](https://github.com/microsoft/rnx-kit/blob/main/scripts/dependencies.config.js).

Add the configuration in your `.yarnrc.yml`:

```yaml
dynamicPackageExtensions: ./my-dependencies.config.js
```

If you run `yarn install` now, Yarn will install `typescript` in all your
packages. To verify, try running `tsc`:

```
% yarn tsc --version
Version 5.7.3
```

Other Yarn commands will also work as if you had installed dependencies
explicitly as you normally would. For example, `yarn why`:

```
% yarn why typescript
└─ @rnx-kit/yarn-plugin-dynamic-extensions@workspace:incubator/yarn-plugin-dynamic-extensions
   └─ typescript@npm:5.7.3 (via npm:^5.0.0)
```

<!-- References -->

[`packageExtensions`]:
  https://yarnpkg.com/configuration/yarnrc#packageExtensions
npm package: @rnx-kit/yarn-plugin-install-to
Description: EXPERIMENTAL - USE WITH CAUTION - yarn-plugin-install-to
Author: Microsoft Open Source
Latest version: 0.2.1

# @rnx-kit/yarn-plugin-install-to

[![Build](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml/badge.svg)](https://github.com/microsoft/rnx-kit/actions/workflows/build.yml)
[![npm version](https://img.shields.io/npm/v/@rnx-kit/yarn-plugin-install-to)](https://www.npmjs.com/package/@rnx-kit/yarn-plugin-install-to)

🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧

### THIS TOOL IS EXPERIMENTAL — USE WITH CAUTION

🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧

A plugin for yarn v4, that adds an `install-to` command that executes a partial
install based on the dependencies of one or more packages inside the monorepo.

## Details

This replicates the core installation code in yarn's Project.install function.

- It forces the immutable flag internally which will error if there are any
  lockfile changes
- This will also install dependencies of the root package given that this is
  typically required for executing root level build scripts.

Internally this works by paring down the set of resolved packages to just ones
required to install, this is what drives the set of fetchers. Then the set of
`accessibleLocators` are pared down which drives the link/install behavior.

## Installation

The plugin needs to be installed via `yarn plugin install` command. This needs
to reference the produced bundle out of the dist folder.

```sh
yarn plugin import ./path/to/my/yarn-plugin-install-to.cjs
```

## Usage

Once installed the `install-to` command will appear in `yarn --help`.

`yarn install-to @my-scope/package1 @my-scope/package2`

Optionally if `--verbose` is specified additional information about the packages
installed and what percent of the repository is being installed will be output.

`yarn install-to --verbose @my-scope/package1`
npm package: @rnz/umeng-push
Description: TODO
Author: Jeepeng
Latest version: 0.0.1

# react-native-umeng-push

## Getting started

`$ npm install react-native-umeng-push --save`

### Mostly automatic installation

`$ react-native link react-native-umeng-push`

## Usage
```javascript
import RNUmengPush from 'react-native-umeng-push';

// TODO: What to do with the module?
RNUmengPush;
```