react-native-windows/packages
React-Native-Windows Bot 0d30250c03 applying package updates ***NO_CI*** 2024-11-07 06:24:20 +00:00
..
@office-iss applying package updates ***NO_CI*** 2024-11-07 06:24:20 +00:00
@react-native Integrate 10/10 (#13996) 2024-11-06 13:37:12 -08:00
@react-native-windows applying package updates ***NO_CI*** 2024-11-07 06:24:20 +00:00
@rnw-scripts
debug-test applying package updates ***NO_CI*** 2024-11-07 06:24:20 +00:00
e2e-test-app applying package updates ***NO_CI*** 2024-11-07 06:24:20 +00:00
e2e-test-app-fabric applying package updates ***NO_CI*** 2024-11-07 06:24:20 +00:00
integration-test-app applying package updates ***NO_CI*** 2024-11-07 06:24:20 +00:00
playground applying package updates ***NO_CI*** 2024-11-07 06:24:20 +00:00
react-native-platform-override
react-native-windows-init applying package updates ***NO_CI*** 2024-11-03 05:28:16 +00:00
sample-app-fabric applying package updates ***NO_CI*** 2024-11-07 06:24:20 +00:00
sample-apps applying package updates ***NO_CI*** 2024-11-07 06:24:20 +00:00
sample-custom-component applying package updates ***NO_CI*** 2024-11-07 06:24:20 +00:00
README.md

README.md

This directory contains the npm packages hosted by the react-native-windows repo.

Scoped Packages

Several packages are organized into specific package scopes:

  • @office-iss: Office internal packages
  • @react-native: Copies of private upstream packages already using the @react-native scope. E.g. @react-native/tester for the RNTester package.
  • @react-native-windows: Internal packages used by react-native-windows itself. Versioned and published alongside RNW.
  • @rnw-scripts: Scripts for repository tooling. Published as part of the main branch.

Unscoped packages

Several packages do not belong to a scope for intentional (or historical) reasons. E.g. react-native-platform-override isn't RNW-specific and is unscoped. react-native-windows-init is run by name, and as such makes sense to be unscoped.

Adding a new scope

⚠ Caution: Failing to create and give access to an NPM organization will break CI.

New package scopes for related packages can be added by adding a new directory with the scope name and prefixing the packages name in package.json with the scope.

E.g. for packages/@example-scope/create-widgets/package.json:

{
  "name": "@example-scope/create-widgets",
  ...
}

After adding a scope directory, add the scope to the list of yarn workspaces in the repo-root package.json.

  "workspaces": {
    "packages": [
      ...
      "packages/@example-scope/*",
      ...
    ]
  },

Publishing a scoped package requires that the rnbot NPM user is an owner of an npm organization with the same name as the scope. You can check whether an organization exists by viewing npmjs.com/org/. See acoates for granting permissions to rnbot.