> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

## Resource: About npm Packages

## Article: About npm Packages

## Article Link: https://dev.wix.com/docs/studio-two/code-your-site/developer-environment/packages/about-npm-packages.md

## Article Content:

# About npm Packages

[Node Package Manager (npm)](https://www.npmjs.com/) is a registry of reusable JavaScript code. npm calls each library of reusable code a package.

Wix provides its own npm packages that you can use to access Wix APIs, business solutions, and platform features from a site's code. You can also install packages written by 3rd-party developers to add functionality without building it yourself.

After you install a package, you can import it in a site's frontend components, including ERCs, or backend code.

Here are some examples of Wix and non-Wix packages you could use:

- `@wix/data`: Manage data in Wix CMS.
- `@wix/stores`: Manage products and inventory for Wix Stores.
- `@wix/ecom`: Access Wix eCommerce APIs.
- `@wix/editor-react-types`: Use type definitions for ERC props and manifest fields.
- `lodash`: Manipulate strings, arrays, and optimize common operations.
- `@sendgrid/mail`: Send emails using the SendGrid service.
- `axios`: Make HTTP requests from a browser or Node.js environment.

<blockquote class="tip">

**Tip:**
Common packages including `react`, `react-dom`, `typescript`, `@wix/data`, `@wix/stores`, and `@wix/editor` are pre-installed in your project. You can import them directly without running `npm install`.

</blockquote>

## Package support

When you install a non-Wix package, make sure you understand the package's functionality, appropriate use cases, and limitations. Note that certain types of packages aren't supported, including [private packages](https://docs.npmjs.com/about-private-packages), packages requiring specific hardware, and packages that may pose a security risk.

Here are some important considerations for using non-Wix npm packages:

- **Package security:** Packages are 3rd-party code and aren't verified by Wix. Installing them can put a site and its site visitors at risk. It's your responsibility to verify that packages are safe before installing them.
- **Frontend vs. backend code:** Use packages in the context they support. Some packages work exclusively with frontend code, while others work with backend code.
- **Error handling:** Errors that originate from a package's code appear in the browser console. The package generates these errors, not Wix. Refer to the package's documentation to resolve them.

## Performance considerations

Importing npm packages in frontend code increases the page's response size and may affect a site's performance.

## Package limitations

Non-Wix packages you install must be compatible with Wix's runtime environment.

- ES modules and packages containing native modules aren't compatible with Wix.
- A package won't execute at runtime unless it's compatible with the Node.js version used by your Studio Two site. You can check the version by opening `.nvmrc` in the Code tab, or by running `node --version` in the terminal. The current version is Node.js 22.
- For a package to work, all of its dependent packages must also be compatible with Wix. Otherwise, the package may not run correctly.

## See also

- [Work with npm Packages](https://dev.wix.com/docs/studio-two/code-your-site/developer-environment/packages/work-with-npm-packages.md)