npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@rnx-kit/align-deps

v3.0.2

Published

Manage dependencies within a repository and across many repositories

Downloads

183,907

Readme

@rnx-kit/align-deps

Build npm version

@rnx-kit/align-deps is a tool for managing dependencies within a repository and across many repositories. It ensures that your packages are using compatible dependencies and versions, given a set of requirements, based on customizable presets with known good packages and versions that are curated from real apps. You can even bring your own presets that are tailored to your needs.

Note that this tool was previously known as dep-check, but it was renamed to avoid name clashes and other reasons. For more details, you can read the RFC: dep-check v2.

If you want to learn how align-deps is used at Microsoft, and see a demo of how it works in a monorepo, you can watch the "Improve all the repos – exploring Microsoft’s DevExp" talk by @kelset and @tido64 at React Native Europe 2021.

To learn more about how align-deps works, please read the design document.

Installation

yarn add @rnx-kit/align-deps --dev

or if you're using npm

npm add --save-dev @rnx-kit/align-deps

You can also run this tool using npx

npx @rnx-kit/align-deps@latest [options] [packages...]

but note that profiles may change between each run. We therefore don't recommend that you use npx if you intend to run this tool on CI or as part of post-install. It should be fine if you run it manually.

Usage

yarn rnx-align-deps [options] [packages...]

Listing paths to packages that should be checked is optional. If omitted, align-deps will look for the closest package.json using Node module resolution. If the target package is a root package defining workspaces, they will all be included.

Examples:

  • Ensure dependencies are compatible with react-native 0.70 without a config:

    yarn rnx-align-deps --requirements [email protected]
  • Initialize a config for your app (or library):

    yarn rnx-align-deps --init app
    # or specify `library` for a library
  • Apply changes suggested by align-deps:

    yarn rnx-align-deps --write
  • Interactively update supported react-native versions (or bump version used for development):

    yarn rnx-align-deps --set-version

--diff-mode

Sets the algorithm used to determine if versions differ.

Valid values:

  • strict — version strings must be equal
  • allow-subset — allow ranges that are entirely contained by the target version range
    • OK: 0.74.0 is a subset of ^0.74.0
    • OK: ^0.74.0 is a subset of ^0.74.0
    • OK: ^0.74.2 is a subset of ^0.74.0
    • NOT OK: ^0.74.0 is not a subset of 0.74.0

[!WARNING]

While algorithms other than strict allow you to use exact version or version range subsets, they will also increase the risk of introducing duplicate packages within your repository. You will have to be more vigilant and rely on tooling (such as yarn dedupe) to reduce the risk.

Default: strict

--exclude-packages

Comma-separated list of package names to exclude from inspection.

[!NOTE]

--exclude-packages will only exclude packages that do not have a configuration. Packages that have a configuration, will still be checked.

--init <app | library>

When integrating @rnx-kit/align-deps for the first time, it may be a cumbersome to manually add all capabilities yourself. You can run this tool with --init, and it will try to add a sensible configuration based on what is currently defined in the specified package.json.

--loose

Determines how strict the React Native version requirement should be. Useful for apps that depend on a newer React Native version than their dependencies declare support for.

Default: false

--no-unmanaged

Whether unmanaged capabilities should be treated as errors.

Default: false

--presets

Comma-separated list of presets. This can be names to built-in presets, or paths to external presets. Paths can point to a JSON file, a .js file, or a module name. The module must default export an object similar to the one below:

module.exports = {
  0.69: {
    "my-capability": {
      name: "my-module",
      version: "1.0.0",
    },
  },
  "0.70": {
    "my-capability": {
      name: "my-module",
      version: "1.1.0",
    },
  },
};

For a more complete example, have a look at the default preset.

See Presets for more details.

[!NOTE]

This flag is only be considered when a package is not configured. The presets specified in the configuration will always take precedence.

--requirements

Comma-separated list of requirements to apply if a package is not configured.

For example, --requirements [email protected] will make sure your packages are compatible with react-native 0.70.

See Requirements for more details.

--set-version

Sets production and development react-native version requirements for any configured package. The value should be a comma-separated list of react-native versions to set. The first number specifies the development version. For example, --set-version 0.70,0.69 will set the following values:

{
  "rnx-kit": {
    "alignDeps": {
      "requirements": {
        "development": ["[email protected]"],
        "production": ["[email protected] || 0.70"]
      }
    }
  }
}

If the version numbers are omitted, an interactive prompt will appear.

[!NOTE]

A rnx-align-deps --write run will be invoked right after changes have been made. As such, this flag will fail if changes are needed before making any modifications.

--verbose

Specify to increase logging verbosity.

Default: false

--write

Writes all proposed changes to the specified package.json.

Default: false

Configure

While @rnx-kit/align-deps can ensure your dependencies are aligned without a configuration, you can only get the more advanced features, such as dependencies section re-ordering (dependencies vs peerDependencies) and transitive dependency detection (A -> B -> C), by adding a configuration. Your configuration must be in an "rnx-kit" section of your package.json, and have the following shapes depending on the package type:

export type AppConfig = {
  kitType: "app";
  alignDeps: {
    /**
     * Presets to use for aligning dependencies.
     * @default ["microsoft/react-native"]
     */
    presets?: string[];

    /**
     * Requirements for this package, e.g.
     * `react-native@>=0.70`.
     */
    requirements: string[];

    /**
     * Capabilities used by the kit.
     */
    capabilities: Capability[];
  };
};

export type LibraryConfig = {
  kitType: "library";
  alignDeps: {
    /**
     * Presets to use for aligning dependencies.
     * @default ["microsoft/react-native"]
     */
    presets?: string[];

    /**
     * Requirements for this package, e.g.
     * `react-native@>=0.70`. `development` is for
     * package authors, and `production` is for
     * consumers.
     */
    requirements: { development: string[]; production: string[] };

    /**
     * Capabilities used by the kit.
     */
    capabilities: Capability[];
  };
};

For example, this is a config for a library that supports react-native 0.69 and 0.70, and uses 0.70 internally:

{
  "name": "useful-library",
  "version": "1.0",
  ...
  "rnx-kit": {
    "kitType": "library",
    "alignDeps": {
      "requirements": {
        "development": ["[email protected]"],
        "production": ["[email protected] || 0.70"]
      }
      "capabilities": [
        "core-android",
        "core-ios"
      ]
    }
  }
}

Capabilities

The following table contains the currently supported capabilities and what they resolve to:

| Capability | 0.76 | 0.75 | 0.74 | 0.73 | 0.72 | 0.71 | 0.70 | 0.69 | 0.68 | 0.67 | 0.66 | 0.65 | 0.64 | 0.63 | 0.62 | 0.61 | | ------------------------------------ | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | | core | react-native@^0.76.0 | react-native@^0.75.0 | react-native@^0.74.0 | react-native@^0.73.0 | react-native@^0.72.0 | react-native@^0.71.0 | react-native@^0.70.0 | react-native@^0.69.0 | react-native@^0.68.0 | react-native@^0.67.0 | react-native@^0.66.0 | react-native@^0.65.0 | react-native@^0.64.2 | react-native@^0.63.2 | react-native@^0.62.3 | react-native@^0.61.5 | | core-android | react-native@^0.76.0 | react-native@^0.75.0 | react-native@^0.74.0 | react-native@^0.73.0 | react-native@^0.72.0 | react-native@^0.71.0 | react-native@^0.70.0 | react-native@^0.69.0 | react-native@^0.68.0 | react-native@^0.67.0 | react-native@^0.66.0 | react-native@^0.65.0 | react-native@^0.64.2 | react-native@^0.63.2 | react-native@^0.62.3 | react-native@^0.61.5 | | core-ios | react-native@^0.76.0 | react-native@^0.75.0 | react-native@^0.74.0 | react-native@^0.73.0 | react-native@^0.72.0 | react-native@^0.71.0 | react-native@^0.70.0 | react-native@^0.69.0 | react-native@^0.68.0 | react-native@^0.67.0 | react-native@^0.66.0 | react-native@^0.65.0 | react-native@^0.64.2 | react-native@^0.63.2 | react-native@^0.62.3 | react-native@^0.61.5 | | core-macos | react-native-macos@^0.76.0 | react-native-macos@^0.75.0 | react-native-macos@^0.74.0 | react-native-macos@^0.73.0 | react-native-macos@^0.72.0 | react-native-macos@^0.71.0 | react-native-macos@^0.70.0 | react-native-macos@^0.69.0 | react-native-macos@^0.68.0 | react-native-macos@^0.67.0 | react-native-macos@^0.66.0 | react-native-macos@^0.65.0 | react-native-macos@^0.64.0 | react-native-macos@^0.63.0 | react-native-macos@^0.62.0 | react-native-macos@^0.61.0 | | core-visionos | @callstack/react-native-visionos@^0.76.0 | @callstack/react-native-visionos@^0.75.0 | @callstack/react-native-visionos@^0.74.0 | @callstack/react-native-visionos@^0.73.0 | Meta package for installing react | Meta package for installing react | Meta package for installing react | Meta package for installing react | Meta package for installing react | Meta package for installing react | Meta package for installing react | Meta package for installing react | Meta package for installing react | Meta package for installing react | Meta package for installing react | Meta package for installing react | | core-windows | react-native-windows@^0.76.0 | react-native-windows@^0.75.0 | react-native-windows@^0.74.0 | react-native-windows@^0.73.0 | react-native-windows@^0.72.0 | react-native-windows@^0.71.0 | react-native-windows@^0.70.0 | react-native-windows@^0.69.0 | react-native-windows@^0.68.0 | react-native-windows@^0.67.0 | react-native-windows@^0.66.0 | react-native-windows@^0.65.0 | react-native-windows@^0.64.0 | react-native-windows@^0.63.0 | react-native-windows@^0.62.0 | react-native-windows@^0.61.0 | | animation | react-native-reanimated@^3.16.1 | react-native-reanimated@^3.15.0 | react-native-reanimated@^3.9.0 | react-native-reanimated@^3.6.0 | react-native-reanimated@^3.3.0 | react-native-reanimated@^2.14.1 | react-native-reanimated@^2.10.0 | react-native-reanimated@^2.9.0 | react-native-reanimated@^2.5.0 | react-native-reanimated@^2.2.4 | react-native-reanimated@^2.2.3 | react-native-reanimated@^2.2.1 | react-native-reanimated@^2.1.0 | react-native-reanimated@^1.13.3 | react-native-reanimated@^1.13.3 | react-native-reanimated@^1.13.3 | | babel-preset-react-native | @react-native/babel-preset@^0.76.0 | @react-native/babel-preset@^0.75.0 | @react-native/babel-preset@^0.74.0 | @react-native/babel-preset@^0.73.0 | metro-react-native-babel-preset@^0.76.5 | metro-react-native-babel-preset@^0.73.7 | metro-react-native-babel-preset@^0.72.1 | metro-react-native-babel-preset@^0.70.3 | metro-react-native-babel-preset@^0.67.0 | metro-react-native-babel-preset@^0.66.2 | metro-react-native-babel-preset@^0.66.2 | metro-react-native-babel-preset@^0.66.0 | metro-react-native-babel-preset@^0.64.0 | metro-react-native-babel-preset@^0.59.0 | metro-react-native-babel-preset@^0.58.0 | metro-react-native-babel-preset@^0.56.0 | | base64 | react-native-base64@^0.2.1 | react-native-base64@^0.2.1 | react-native-base64@^0.2.1 | react-native-base64@^0.2.1 | react-native-base64@^0.2.1 | react-native-base64@^0.2.1 | react-native-base64@^0.2.1 | react-native-base64@^0.2.1 | react-native-base64@^0.2.1 | react-native-base64@^0.2.1 | react-native-base64@^0.2.1 | react-native-base64@^0.2.1 | react-native-base64@^0.2.1 | react-native-base64@^0.2.1 | react-native-base64@^0.2.1 | react-native-base64@^0.2.1 | | checkbox | @react-native-community/checkbox@^0.5.15 | @react-native-community/checkbox@^0.5.15 | @react-native-community/checkbox@^0.5.15 | @react-native-community/checkbox@^0.5.15 | @react-native-community/checkbox@^0.5.15 | @react-native-community/checkbox@^0.5.15 | @react-native-community/checkbox@^0.5.8 | @react-native-community/checkbox@^0.5.8 | @react-native-community/checkbox@^0.5.8 | @react-native-community/checkbox@^0.5.8 | @react-native-community/checkbox@^0.5.8 | @react-native-community/checkbox@^0.5.8 | @react-native-community/checkbox@^0.5.8 | @react-native-community/checkbox@^0.5.7 | @react-native-community/checkbox@^0.5.7 | @react-native-community/checkbox@^0.5.7 | | clipboard | @react-native-clipboard/clipboard@^1.14.0 | @react-native-clipboard/clipboard@^1.14.0 | @react-native-clipboard/clipboard@^1.14.0 | @react-native-clipboard/clipboard@^1.14.0 | @react-native-clipboard/clipboard@^1.10.0 | @react-native-clipboard/clipboard@^1.10.0 | @react-native-clipboard/clipboard@^1.10.0 | @react-native-clipboard/clipboard@^1.10.0 | @react-native-clipboard/clipboard@^1.10.0 | @react-native-clipboard/clipboard@^1.9.0 | @react-native-clipboard/clipboard@^1.9.0 | @react-native-clipboard/clipboard@^1.9.0 | @react-native-clipboard/clipboard@^1.8.3 | @react-native-community/clipboard@^1.5.1 | @react-native-community/clipboard@^1.5.1 | @react-native-community/clipboard@^1.5.1 | | community/cli | @react-native-community/cli@^15.0.0 | @react-native-community/cli@^14.0.0 | @react-native-community/cli@^13.6.4 | @react-native-community/cli@^12.1.1 | @react-native-community/cli@^11.3.2 | @react-native-community/cli@^10.0.0 | @react-native-community/cli@^9.0.0 | @react-native-community/cli@^8.0.4 | @react-native-community/cli@^7.0.3 | @react-native-community/cli@^6.0.0 | @react-native-community/cli@^6.0.0 | @react-native-community/cli@^6.0.0 | @react-native-community/cli@^5.0.1 | @react-native-community/cli@^4.10.0 | @react-native-community/cli@^4.5.1 | @react-native-community/cli@^3.0.0 | | community/cli-android | @react-native-community/cli-platform-android@^15.0.0 | @react-native-community/cli-platform-android@^14.0.0 | @react-native-community/cli-platform-android@^13.6.4 | @react-native-community/cli-platform-android@^12.1.1 | @react-native-community/cli-platform-android@^11.3.2 | @react-native-community/cli-platform-android@^10.0.0 | @react-native-community/cli-platform-android@^9.0.0 | @react-native-community/cli-platform-android@^8.0.4 | @react-native-community/cli-platform-android@^7.0.1 | @react-native-community/cli-platform-android@^6.0.0 | @react-native-community/cli-platform-android@^6.0.0 | @react-native-community/cli-platform-android@^6.0.0 | @react-native-community/cli-platform-android@^5.0.1 | @react-native-community/cli-platform-android@^4.10.0 | @react-native-community/cli-platform-android@^4.5.1 | @react-native-community/cli-platform-android@^3.0.0 | | community/cli-ios | @react-native-community/cli-platform-ios@^15.0.0 | @react-native-community/cli-platform-ios@^14.0.0 | @react-native-community/cli-platform-ios@^13.6.4 | @react-native-community/cli-platform-ios@^12.1.1 | @react-native-community/cli-platform-ios@^11.3.2 | @react-native-community/cli-platform-ios@^10.0.0 | @react-native-community/cli-platform-ios@^9.0.0 | @react-native-community/cli-platform-ios@^8.0.4 | @react-native-community/cli-platform-ios@^7.0.1 | @react-native-community/cli-platform-ios@^6.0.0 | @react-native-community/cli-platform-ios@^6.0.0 | @react-native-community/cli-platform-ios@^6.0.0 | @react-native-community/cli-platform-ios@^5.0.1 | @react-native-community/cli-platform-ios@^4.10.0 | @react-native-community/cli-platform-ios@^4.5.0 | @react-native-community/cli-platform-ios@^3.0.0 | | core/metro-config | @react-native/metro-config@^0.76.0 | @react-native/metro-config@^0.75.0 | @react-native/metro-config@^0.74.0 | @react-native/metro-config@^0.73.0 | @react-native/metro-config@^0.72.0 | - | - | - | - | - | - | - | - | - | - | - | | core/testing | Meta package for installing core, jest, react-test-renderer | Meta package for installing core, jest, react-test-renderer | Meta package for installing core, jest, react-test-renderer | Meta package for installing core, jest, react-test-renderer | Meta package for installing core, jest, react-test-renderer | Meta package for installing core, jest, react-test-renderer | Meta package for installing core, jest, react-test-renderer | Meta package for installing core, jest, react-test-renderer | Meta package for installing core, jest, react-test-renderer | Meta package for installing core, jest, react-test-renderer | Meta package for installing core, jest, react-test-renderer | Meta package for installing core, jest, react-test-renderer | Meta package for installing core, jest, react-test-renderer | Meta package for installing core, jest, react-test-renderer | Meta package for installing core, jest, react-test-renderer | Meta package for installing core, jest, react-test-renderer | | datetime-picker | @react-native-community/datetimepicker@^8.0.0 | @react-native-community/datetimepicker@^8.0.0 | @react-native-community/datetimepicker@^8.0.0 | @react-native-community/datetimepicker@^8.0.0 | @react-native-community/datetimepicker@^7.6.2 | @react-native-community/datetimepicker@^6.4.2 | @react-native-community/datetimepicker@^6.3.3 | @react-native-community/datetimepicker@^6.0.2 | @react-native-community/datetimepicker@^6.0.2 | @react-native-community/datetimepicker@^3.5.2 | @react-native-community/datetimepicker@^3.5.2 | @react-native-community/datetimepicker@^3.5.2 | @react-native-community/datetimepicker@^3.4.6 | @react-native-community/datetimepicker@^3.0.9 | @react-native-community/datetimepicker@^3.0.9 | @react-native-community/datetimepicker@^3.0.9 | | filesystem | react-native-fs@^2.18.0 | react-native-fs@^2.18.0 | react-native-fs@^2.18.0 | react-native-fs@^2.18.0 | react-native-fs@^2.18.0 | react-native-fs@^2.18.0 | react-native-fs@^2.18.0 | react-native-fs@^2.18.0 | react-native-fs@^2.18.0 | react-native-fs@^2.18.0 | react-native-fs@^2.18.0 | react-native-fs@^2.18.0 | react-native-fs@^2.17.0 | react-native-fs@^2.16.6 | react-native-fs@^2.16.6 | react-native-fs@^2.16.6 | | floating-action | react-native-floating-action@^1.22.0 | react-native-floating-action@^1.22.0 | react-native-floating-action@^1.22.0 | react-native-floating-action@^1.22.0 | react-native-floating-action@^1.22.0 | react-native-floating-action@^1.22.0 | react-native-floating-action@^1.22.0 | react-native-floating-action@^1.22.0 | react-native-floating-action@^1.22.0 | react-native-floating-action@^1.22.0 | react-native-floating-action@^1.22.0 | react-native-floating-action@^1.22.0 | react-native-floating-action@^1.21.0 | react-native-floating-action@^1.21.0 | react-native-floating-action@^1.18.0 | react-native-floating-action@^1.18.0 | | gestures | react-native-gesture-handler@^2.20.0 | react-native-gesture-handler@^2.18.1 | react-native-gesture-handler@^2.18.1 | react-native-gesture-handler@^2.14.0 | react-native-gesture-handler@^2.12.0 | react-native-gesture-handler@^2.9.0 | react-native-gesture-handler@^2.6.0 | react-native-gesture-handler@^2.5.0 | react-native-gesture-handler@^2.3.2 | react-native-gesture-handler@^1.10.3 | react-native-gesture-handler@^1.10.3 | react-native-gesture-handler@^1.10.3 | react-native-gesture-handler@^1.10.3 | react-native-gesture-handler@^1.10.3 | react-native-gesture-handler@^1.9.0 | react-native-gesture-handler@^1.9.0 | | hermes | - | - | - | - | - | - | - | hermes-engine@~0.11.0 | hermes-engine@~0.11.0 | hermes-engine@~0.9.0 | hermes-engine@~0.9.0 | hermes-engine@~0.8.1 | hermes-engine@~0.7.0 | hermes-engine@~0.5.0 | hermes-engine@~0.4.0 | hermes-engine@^0.2.1 | | hooks | @react-native-community/hooks@^2.8.0 | @react-native-community/hooks@^2.8.0 | @react-native-community/hooks@^2.8.0 | @react-native-community/hooks@^2.8.0 | @react-native-community/hooks@^2.8.0 | @react-native-community/hooks@^2.8.0 | @react-native-community/hooks@^2.8.0 | @react-native-community/hooks@^2.8.0 | @react-native-community/hooks@^2.8.0 | @react-native-community/hooks@^2.8.0 | @react-native-community/hooks@^2.8.0 | @react-native-community/hooks@^2.8.0 | @react-native-community/hooks@^2.6.0 | @react-native-community/hooks@^2.6.0 | @react-native-community/hooks@^2.6.0 | @react-native-community/hooks@^2.6.0 | | html | react-native-render-html@^6.1.0 | react-native-render-html@^6.1.0 | react-native-render-html@^6.1.0 | react-native-render-html@^6.1.0 | react-native-render-html@^6.1.0 | react-native-render-html@^6.1.0 | react-native-render-html@^6.1.0 | react-native-render-html@^6.1.0 | react-native-render-html@^6.1.0 | react-native-render-html@^6.1.0 | react-native-render-html@^6.1.0 | react-native-render-html@^5.1.1 | react-native-render-html@^5.1.1 | react-native-render-html@^5.1.0 | react-native-render-html@^5.1.0 | react-native-render-html@^5.1.0 | | jest | jest@^29.2.1 | jest@^29.2.1 | jest@^29.2.1 | jest@^29.2.1 | jest@^29.2.1 | jest@^29.2.1 | jest@^26.6.3 | jest@^26.6.3 | jest@^26.6.3 | jest@^26.6.3 | jest@^26.6.3 | jest@^26.6.3 | jest@^26.5.2 | jest@^24.9.0 | jest@^24.8.0 | jest@^24.8.0 | | lazy-index | @rnx-kit/react-native-lazy-index@^2.1.7 | @rnx-kit/react-native-lazy-index@^2.1.7 | @rnx-kit/react-native-lazy-index@^2.1.7 | @rnx-kit/react-native-lazy-index@^2.1.7 | @rnx-kit/react-native-lazy-index@^2.1.7 | @rnx-kit/react-native-lazy-index@^2.1.7 | @rnx-kit/react-native-lazy-index@^2.1.7 | @rnx-kit/react-native-lazy-index@^2.1.7 | @rnx-kit/react-native-lazy-index@^2.1.7 | @rnx-kit/react-native-lazy-index@^2.1.7 | @rnx-kit/react-native-lazy-index@^2.1.7 | react-native-lazy-index@^2.1.1 | react-native-lazy-index@^2.1.1 | react-native-lazy-index@^2.1.1 | react-native-lazy-index@^2.1.1 | react-native-lazy-index@^2.1.1 | | masked-view | @react-native-masked-view/masked-view@^0.3.0 | @react-native-masked-view/masked-view@^0.3.0 | @react-native-masked-view/masked-view@^0.3.0 | @react-native-masked-view/masked-view@^0.3.0 | @react-native-masked-view/masked-view@^0.2.9 | @react-native-masked-view/masked-view@^0.2.9 | @react-native-masked-view/masked-view@^0.2.7 | @react-native-masked-view/masked-view@^0.2.7 | @react-native-masked-view/masked-view@^0.2.6 | @react-native-masked-view/masked-view@^0.2.6 | @react-native-masked-view/masked-view@^0.2.6 | @react-native-masked-view/masked-view@^0.2.6 | @react-native-masked-view/masked-view@^0.2.4 | @react-native-masked-view/masked-view@^0.2.4 | @react-native-masked-view/masked-view@^0.2.4 | @react-native-masked-view/masked-view@^0.2.4 | | metro | metro@^0.81.0 | metro@^0.80.3 | metro@^0.80.3 | metro@^0.80.0 | metro@^0.76.5 | metro@^0.73.7 | metro@^0.72.1 | metro@^0.70.1 | metro@^0.67.0 | metro@^0.66.2 | metro@^0.66.2 | metro@^0.66.0 | metro@^0.64.0 | metro@^0.59.0 | metro@^0.58.0 | metro@^0.56.0 | | metro-config | metro-config@^0.81.0 | metro-config@^0.80.3 | metro-config@^0.80.3 | metro-config@^0.80.0 | metro-config@^0.76.5 | metro-config@^0.73.7 | metro-config@^0.72.1 | metro-config@^0.70.1 | metro-config@^0.67.0 | metro-config@^0.66.2 | metro-config@^0.66.2 | metro-config@^0.66.0 | metro-config@^0.64.0 | metro-config@^0.59.0 | metro-config@^0.58.0 | metro-config@^0.56.0 | | metro-core | metro-core@^0.81.0 | metro-core@^0.80.3 | metro-core@^0.80.3 | metro-core@^0.80.0 | metro-core@^0.76.5 | metro-core@^0.73.7 | metro-core@^0.72.1 | metro-core@^0.70.1 | metro-core@^0.67.0 | metro-core@^0.66.2 | metro-core@^0.66.2 | metro-core@^0.66.0 | metro-core@^0.64.0 | metro-core@^0.59.0 | metro-core@^0.58.0 | metro-core@^0.56.0 | | metro-react-native-babel-transformer | @react-native/metro-babel-transformer@^0.76.0 | @react-native/metro-babel-transformer@^0.75.0 | @react-native/metro-babel-transformer@^0.74.0 | @react-native/metro-babel-transformer@^0.73.0 | metro-react-native-babel-transformer@^0.76.5 | metro-react-native-babel-transformer@^0.73.7 | metro-react-native-babel-transformer@^0.72.1 | metro-react-native-babel-transformer@^0.70.1 | metro-react-native-babel-transformer@^0.67.0 | metro-react-native-babel-transformer@^0.66.2 | metro-react-native-babel-transformer@^0.66.2 | metro-react-native-babel-transformer@^0.66.0 | metro-react-native-babel-transformer@^0.64.0 | metro-react-native-babel-transformer@^0.59.0 | metro-react-native-babel-transformer@^0.58.0 | metro-react-native-babel-transformer@^0.56.0 | | metro-resolver | metro-resolver@^0.81.0 | metro-resolver@^0.80.3 | metro-resolver@^0.80.3 | metro-resolver@^0.80.0 | metro-resolver@^0.76.5 | metro-resolver@^0.73.7 | metro-resolver@^0.72.1 | metro-resolver@^0.70.1 | metro-resolver@^0.67.0 | metro-resolver@^0.66.2 | metro-resolver@^0.66.2 | metro-resolver@^0.66.0 | metro-resolver@^0.64.0 | metro-resolver@^0.59.0 | metro-resolver@^0.58.0 | metro-resolver@^0.56.0 | | metro-runtime | metro-runtime@^0.81.0 | metro-runtime@^0.80.3 | metro-runtime@^0.80.3 | metro-runtime@^0.80.0 | metro-runtime@^0.76.5 | metro-runtime@^0.73.7 | metro-runtime@^0.72.1 | metro-runtime@^0.70.1 | metro-runtime@^0.67.0 | metro-runtime@^0.66.2 | metro-runtime@^0.66.2 | metro-runtime@^0.66.0 | metro-runtime@^0.64.0 | metro-runtime@^0.59.0 | metro-runtime@^0.58.0 | metro-runtime@^0.56.0 | | modal | react-native-modal@^13.0.0 | react-native-modal@^13.0.0 | react-native-modal@^13.0.0 | react-native-modal@^13.0.0 | react-native-modal@^13.0.0 | react-native-modal@^13.0.0 | react-native-modal@^13.0.0 | react-native-modal@^13.0.0 | react-native-modal@^13.0.0 | react-native-modal@^13.0.0 | react-native-modal@^13.0.0 | react-native-modal@^13.0.0 | react-native-modal@^11.10.0 | react-native-modal@^11.5.6 | react-native-modal@^11.5.6 | react-native-modal@^11.5.6 | | navigation/native | @react-navigation/native@^6.0.8 | @react-navigation/native@^6.0.8 | @react-navigation/native@^6.0.8 | @react-navigation/native@^6.0.8 | @react-navigation/native@^6.0.8 | @react-navigation/native@^6.0.8 | @react-navigation/native@^6.0.8 | @react-navigation/native@^6.0.8 | @react-navigation/native@^6.0.8 | @react-navigation/native@^6.0.8 | @react-navigation/native@^6.0.8 | @react-navigation/native@^5.9.8 | @react-navigation/native@^5.9.8 | @react-navigation/native@^5.9.4 | @react-navigation/native@^5.7.6 | @react-navigation/native@^5.7.6 | | navigation/stack | @react-navigation/stack@^6.3.21 | @react-navigation/stack@^6.3.21 | @react-navigation/stack@^6.3.21 | @react-navigation/stack@^6.3.21 | @react-navigation/stack@^6.2.0 | @react-navigation/stack@^6.2.0 | @react-navigation/stack@^6.2.0 | @react-navigation/stack@^6.2.0 | @react-navigation/stack@^6.2.0 | @react-navigation/stack@^6.2.0 | @react-navigation/stack@^6.2.0 | @react-navigation/stack@^5.14.9 | @react-navigation/stack@^5.14.9 | @react-navigation/stack@^5.14.4 | @react-navigation/stack@^5.9.3 | @react-navigation/stack@^5.9.3 | | netinfo | @react-native-community/netinfo@^11.3.3 | @react-native-community/netinfo@^11.3.3 | @react-native-community/netinfo@^11.3.3 | @react-native-community/netinfo@^11.3.0 | @react-native-community/netinfo@^9.0.0 | @react-native-community/netinfo@^9.0.0 | @react-native-community/netinfo@^9.0.0 | @react-native-community/netinfo@^8.0.0 | @react-native-community/netinfo@^7.0.0 | @react-native-community/netinfo@^7.0.0 | @react-native-community/netinfo@^7.0.0 | @react-native-community/netinfo@^7.0.0 | @react-native-community/netinfo@^6.0.2 | @react-native-community/netinfo@^5.9.10 | @react-native-community/netinfo@^5.9.10 | @react-native-community/netinfo@^5.7.1 | | popover | react-native-popover-view@^5.1.8 | react-native-popover-view@^5.1.8 | react-native-popover-view@^5.1.8 | react-native-popover-view@^5.1.8 | react-native-popover-view@^5.1.8 | react-native-popover-view@^5.0.0 | react-native-popover-view@^5.0.0 | react-native-popover-view@^5.0.0 | react-native-popover-view@^4.0.3 | react-native-popover-view@^4.0.3 | react-native-popover-view@^4.0.3 | react-native-popover-view@^4.0.3 | react-native-popover-view@^4.0.3 | react-native-popover-view@^3.1.1 | react-native-popover-view@^3.1.1 | react-native-popover-view@^3.1.1 | | react | [email protected] | react@^18.2.0 | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | | react-dom | react-dom@^18.3.1 | react-dom@^18.2.0 | react-dom@^18.2.0 | react-dom@^18.2.0 | react-dom@^18.2.0 | react-dom@^18.2.0 | react-dom@^18.1.0 | react-dom@^18.0.0 | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | | react-test-renderer | [email protected] | react-test-renderer@^18.2.0 | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | [email protected] | | safe-area | react-native-safe-area-context@^4.12.0 | react-native-safe-area-context@^4.10.5 | react-native-safe-area-context@^4.10.5 | react-native-safe-area-context@^4.8.2 | react-native-safe-area-context@>=4.5.3 <4.8 | react-native-safe-area-context@^4.5.1 | react-native-safe-area-context@^4.4.1 | react-native-safe-area-context@^4.3.1 | react-native-safe-area-context@^3.2.0 | react-native-safe-area-context@^3.2.0 | react-native-safe-area-context@^3.2.0 | react-native-safe-area-context@^3.2.0 | react-native-safe-area-context@^3.2.0 | react-native-safe-area-context@^3.2.0 | react-native-safe-area-context@^3.1.9 | react-native-safe-area-context@^3.1.9 | | screens | react-native-screens@^3.34.0 | react-native-screens@^3.34.0 | react-native-screens@^3.31.0 | react-native-screens@^3.28.0 | react-native-screens@>=3.21.0 <3.28.0 | react-native-screens@^3.19.0 | react-native-screens@^3.18.2 | react-native-screens@^3.14.1 | react-native-screens@^3.13.1 | react-native-screens@^3.9.0 | react-native-screens@^3.9.0 | react-native-screens@^3.7.0 | react-native-screens@^3.1.1 | react-native-screens@^2.18.1 | react-native-screens@^2.10.1 | react-native-screens@^2.10.1 | | shimmer | react-native-shimmer@^0.6.0 | react-native-shimmer@^0.6.0 | react-native-shimmer@^0.6.0 | react-native-shimmer@^0.6.0 | react-native-shimmer@^0.6.0 | react-native-shimmer@^0.6.0 | react-native-shimmer@^0.5.0 | react-native-shimmer@^0.5.0 | react-native-shimmer@^0.5.0 | react-native-shimmer@^0.5.0 | react-native-shimmer@^0.5.0 | react-native-shimmer@^0.5.0 | react-native-shimmer@^0.5.0 | react-native-shimmer@^0.5.0 | react-native-shimmer@^0.5.0 | react-native-shimmer@^0.5.0 | | sqlite | react-native-sqlite-storage@^6.0.1 | react-native-sqlite-storage@^6.0.1 | react-native-sqlite-storage@^6.0.1 | react-native-sqlite-storage@^6.0.1 | react-native-sqlite-storage@^6.0.1 | react-native-sqlite-storage@^6.0.1 | react-native-sqlite-storage@^6.0.1 | react-native-sqlite-storage@^6.0.1 | react-native-sqlite-storage@^5.0.0 | react-native-sqlite-storage@^5.0.0 | react-native-sqlite-storage@^5.0.0 | react-native-sqlite-storage@^5.0.0 | react-native-sqlite-storage@^5.0.0 | react-native-sqlite-storage@^3.3.11 | react-native-sqlite-storage@^3.3.11 | react-native-sqlite-storage@^3.3.11 | | storage | @react-native-async-storage/async-storage@^2.0.0 | @react-native-async-storage/async-storage@^2.0.0 | @react-native-async-storage/async-storage@^2.0.0 | @react-native-async-storage/async-storage@^1.22.0 | @react-native-async-storage/async-storage@^1.18.2 | @react-native-async-storage/async-storage@^1.17.11 | @react-native-async-storage/async-storage@^1.17.10 | @react-native-async-storage/async-storage@^1.17.7 | @react-native-async-storage/async-storage@^1.17.3 | @react-native-async-storage/async-storage@^1.15.16 | @react-native-async-storage/async-storage@^1.15.9 | @react-native-async-storage/async-storage@^1.15.8 | @react-native-async-storage/async-storage@^1.15.8 | @react-native-community/async-storage@^1.12.1 | @react-native-community/async-storage@^1.12.1 | @react-native-community/async-storage@^1.12.1 | | svg | react-native-svg@^15.8.0 | react-native-svg@^15.6.0 | react-native-svg@^15.4.0 | react-native-svg@^15.0.0 | react-native-svg@^13.14.0 | react-native-svg@^13.14.0 | react-native-svg@^12.3.0 | react-native-svg@^12.3.0 | react-native-svg@^12.3.0 | react-native-svg@^12.1.1 | react-native-svg@^12.1.1 | react-native-svg@^12.1.1 | react-native-svg@^12.1.1 | react-native-svg@^12.1.1 | react-native-svg@^12.1.1 | react-native-svg@^12.1.1 | | test-app | react-native-test-app@^3.10.18 | react-native-test-app@^3.9.2 | react-native-test-app@^3.9.2 | react-native-test-app@^2.5.34 | react-native-test-app@^2.5.5 | react-native-test-app@^2.2.1 | react-native-test-app@^1.6.9 | react-native-test-app@^1.3.10 | react-native-test-app@^1.3.5 | react-native-test-app@^1.1.7 | react-native-test-app@^1.0.6 | react-native-test-app@^0.11.4 | react-native-test-app@^0.11.4 | react-native-test-app@^0.11.4 | react-native-test-app@^0.11.4 | react-native-test-app@^0.11.4 | | webview | react-native-webview@^13.12.2 | react-native-webview@^13.12.2 | react-native-webview@^13.12.2 | react-native-webview@^13.10.0 | react-native-webview@^13.2.2 | react-native-webview@^12.0.2 | react-native-webview@^11.23.0 | react-native-webview@^11.23.0 | react-native-webview@^11.22.6 | react-native-webview@^11.13.0 | react-native-webview@^11.13.0 | react-native-webview@^11.13.0 | react-native-webview@^11.4.2 | react-native-webview@^11.4.2 | react-native-webview@^11.0.3 | react-native-webview@^11.0.3 |

To add new capabilities, first add it to packages/config/src/kitConfig.ts, then update the preset.