> ## Documentation Index
> Fetch the complete documentation index at: https://docs.root.io/llms.txt
> Use this file to discover all available pages before exploring further.

# npm

> Configure npm to use Root Library Catalog for secure JavaScript packages.

Root serves patched npm packages under the `@rootio/` scope. You configure auth, then use `overrides` in `package.json` to map the original package name to the Root-patched version.

## Authentication

```bash theme={null}
npm config set registry https://pkg.root.io/npm/ --location=project &&
npm config set //pkg.root.io/npm/:_authToken YOUR_ROOT_TOKEN --location=project
```

## Update package.json

Remove the original package and add the Root-patched version:

```bash theme={null}
npm remove axios
```

```json theme={null}
{
  "dependencies": {
    "axios": "npm:@rootio/axios@1.6.0"
  },
  "overrides": {
    "axios": "npm:@rootio/axios@1.6.0"
  }
}
```

## Install

```bash theme={null}
npm install
```

## Troubleshooting

| Issue                  | Solution                                                                      |
| ---------------------- | ----------------------------------------------------------------------------- |
| `401 Unauthorized`     | Verify your token: `npm config get //pkg.root.io/npm/:_authToken`             |
| Package not found      | Confirm `@rootio/` scoped package exists for your version                     |
| Overrides not applying | Ensure both `dependencies` and `overrides` reference the `npm:@rootio/` alias |
