---
title: "Manage External Dependencies"
description: "OXIDE comes with built in package management for external dependencies. Node.js packages can be added as dependencies and used within views (TS apps only), within App packages (TS apps only), and within CloudCode."
permalink: /docs/oxide/editing-and-managing-files/managing-external-dependencies/
---
# Manage External Dependencies

OXIDE comes with built-in package management for external dependencies. Node.js packages can be added as dependencies and [used within views](/docs/build/syntax/typescript-apps/#npm-packages) (TS apps only), within [App packages](/docs/build/extending-your-app-with-custom-code/app-packages/app-packages-overview/) (TS apps only), and within [CloudCode](/docs/cloudcode/cloudcode-overview/).

Dependencies can be managed in two ways:

1. They can be added using OXIDE's UI
2. They can be added and edited by updating `package.json` directly

## Add dependencies using OXIDE's UI

The easiest way to add a Node.js package to your app is by firing the Add **Node.js package** action from the command palette.

OXIDE will then prompt you to select your target for the dependency:

* Select the global "App package" to add a dependency that needs to be imported from your app's views (TS apps only)
* Or select the specific app package (TS apps only) or CloudCode task

Within CloudCode tasks and App packages, OXIDE also presents a dependencies node which can be right-clicked to add a Node.js package directly.

After selecting the target, OXIDE will prompt you with an NPM search box:

![](./media/spaces-2f9tchlr67elhbojpvhhud-2fuploads-2fc7rvzabvud69ytdfn7fk-2fscreenshot-202023-02-09-20at-201.05.19-20pm-12b564a7.png)

From here you can search for any NPM package and selecting one will start the process of adding it to the target and updating its corresponding `yarn.lock` file in the background. OXIDE will confirm when `yarn.lock` has been updated successfully. After that point, you can start using the dependency.

## Add/update dependencies using package.json

If you are more experienced with the Node.js ecosystem, you can edit the `package.json` file directly.

<Info>

**Prerequisite:** Make sure you have the **Show configuration files** setting enabled.

</Info>

Navigate to and open the `package.json` file as follows:

* App-level `package.json` (TS apps only):  Expand to the *Other* section in the App Tree panel. By default, this panel is included in OXIDE's Overview workspace.
* App package (TS apps only) or CloudCode task: Expand the file tree for an app package or CloudCode task:

![](./media/spaces-2f9tchlr67elhbojpvhhud-2fuploads-2fgit-blob-2c772dea100f7fa87b2201402264610528a6bdf0-2foxide-browser-package-json-54b11e19.png)

<Info>

**Tip**: These files can also be found by using the **Open file** action.

</Info>

Once the `package.json` file is open, locate the dependencies section. If the section does not exist, it will be available via autocomplete:

![](./media/spaces-2f9tchlr67elhbojpvhhud-2fuploads-2fgit-blob-d3156d75801405c2a15201799dfe9e80902989a7-2foxide-file-package-json-ccfa41f9.png)

Make the necessary edits and then run the **Update yarn.lock** action by right-clicking on the app package or CloudCode task, or by firing this action directly from the command palette.

