# npm Packages

> Add the Document Editor and Document Viewer to Angular, React and Node.js from the public @txtextcontrol npm scope, in the major version of your backend.

- **Product:** TX Text Control .NET Server
- **Section:** Documentation
- **Kind:** Topic
- **Path:** TX Text Control .NET Server > Installation Guide > npm Packages
- **1351 words**
- **Web URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/npm/
- **LLMs URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/npm/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/npm/llms-full.txt

---

TX Text Control .NET Server provides npm packages that add the Document Editor and the Document Viewer to Angular and React applications, and the Document Editor to Node.js applications. Besides the packages themselves, you find how their versions relate to the product version and which backend each package connects to.

You need these packages only if your frontend is an Angular, React or Node.js application. ASP.NET Core applications use the NuGet packages alone, a plain JavaScript page loads the scripts directly from your backend, and the Blazor components are NuGet packages as well.

### The Packages

| Package | Component | Framework |
|---|---|---|
| `@txtextcontrol/tx-ng-document-editor` | Document Editor | Angular |
| `@txtextcontrol/tx-ng-document-viewer` | Document Viewer | Angular |
| `@txtextcontrol/tx-react-document-editor` | Document Editor | React |
| `@txtextcontrol/tx-react-document-viewer` | Document Viewer | React |
| `@txtextcontrol/tx-document-editor` | Document Editor | Node.js |
| `@txtextcontrol/tx-websocket-server` | WebSocket server for the Document Editor | Node.js |

The [Document Editor](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/npm/document-editor/llms-full.txt) and [Document Viewer](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/npm/document-viewer/llms-full.txt) pages list the latest version of each package. Packages with `-ds-` in their name belong to TX Text Control DS Server, a separate product, and are not described in this documentation.

### Public Packages Without Credentials

The packages are published on the public npm registry ([npmjs.com](https://www.npmjs.com/package/@txtextcontrol/tx-ng-document-editor)) under the scope `@txtextcontrol`. You install them with `npm install` like any other public package, without an account, an API token or feed credentials:

```bash
npm install @txtextcontrol/tx-ng-document-editor
```

This is different from the NuGet packages of your backend, which licensed developers install from the [Text Control Private NuGet Feed](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/nuget/private-feed/llms-full.txt) with their email address and an API token.

The npm packages contain only the user interface that runs in the browser. The documents are loaded, edited and rendered on the server by TX Text Control .NET Server, and the TX Text Control license is included in the NuGet packages of that server application. See [Development Licenses](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/licensing/development/llms-full.txt).

### Every Package Needs a Backend

None of the packages works on its own. Each one connects to a server that runs TX Text Control .NET Server:

| Package | Backend | Connection |
|---|---|---|
| Document Editor for Angular and React | An ASP.NET Core application with `TXTextControl.Web`, `TXTextControl.TextControl.Core.SDK` and `TXTextControl.Web.DocumentEditor.Backend` | A WebSocket connection to the URL in `webSocketURL` |
| Document Viewer for Angular and React | An ASP.NET Core application with `TXTextControl.Web.DocumentViewer` and `TXTextControl.TextControl.Core.SDK` | HTTP requests to the URL in `basePath` |
| Document Editor for Node.js | A Node.js application with the `WebSocketServer` from `@txtextcontrol/tx-websocket-server`, which connects to the synchronization service of TX Text Control .NET Server | A WebSocket connection to the URL in `webSocketURL` |

With Angular and React, the frontend and the backend are separate applications. One ASP.NET Core application can host the backend for both the Document Editor and the Document Viewer.

The synchronization service is the Document Editor backend `TXTextControl.Web.Server.Core`; [The Backend for Node.js](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/npm/document-editor/#the-backend-for-node-js) describes how a Node.js application reaches it.

### Package Versions and Product Versions

- **The major version is the TX Text Control version.** Packages with version 34.x belong to TX Text Control .NET Server 34.0. The version history in the README of `@txtextcontrol/tx-ng-document-editor`, for example, lists 33.0.0 for TX Text Control 33.0 and 34.0.0 for TX Text Control 34.0.
- **Use packages with the same major version as your backend.** For a backend with the 34.0 NuGet packages, install the 34.x npm packages. The README of `@txtextcontrol/tx-document-editor` 34.0.0 names TX Text Control .NET Server 34.0 or higher as its environment.
- **Minor and patch versions are counted per package.** They do not have to match the service pack of TX Text Control .NET Server: Service Pack 5 is the current service pack, while the latest Angular and React packages are 34.0.0 and 34.0.1 and `@txtextcontrol/tx-websocket-server` is 34.5.0. The NuGet packages follow the same scheme, as [Package Versioning](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/nuget/versioning/llms-full.txt) explains.
- **The framework versions are peer dependencies.** The Angular and React packages declare the Angular or React versions they support. npm checks these ranges during the installation and stops if your project uses a version outside them. The [Angular](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/npm/angular/llms-full.txt) and [React](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/npm/react/llms-full.txt) pages list the ranges.

### Choose a Page

| If you want to | Read |
|---|---|
| Install the Document Editor for Angular, React or Node.js and set up its backend | [Document Editor](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/npm/document-editor/llms-full.txt) |
| Install the Document Viewer for Angular or React and set up its backend | [Document Viewer](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/npm/document-viewer/llms-full.txt) |
| Check the supported Angular versions, use a root module or standalone components, or solve a peer dependency conflict | [Angular](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/npm/angular/llms-full.txt) |
| Check the supported React versions or use the editor and the viewer in one React project | [React](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/npm/react/llms-full.txt) |
| Build a first application step by step | [Getting Started: Document Editor](https://docs.textcontrol.com/tx-text-control-dotnet-server/getting-started/document-editor/llms-full.txt) or [Getting Started: Document Viewer](https://docs.textcontrol.com/tx-text-control-dotnet-server/getting-started/document-viewer/llms-full.txt) |
| Move your packages to a new version | [Updating npm Packages](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/upgrading/npm/llms-full.txt) |

---

## In This Section

- [Angular](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/npm/angular/llms-full.txt): Install the Angular Document Editor and Viewer packages for Angular 18 to 21: ng add, root module or standalone setup, @angular/cdk and ERESOLVE conflicts.
- [Document Editor](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/npm/document-editor/llms-full.txt): Install tx-ng-document-editor, tx-react-document-editor or the Node.js tx-document-editor and tx-websocket-server, and set up the WebSocket backend they need.
- [Document Viewer](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/npm/document-viewer/llms-full.txt): Install tx-ng-document-viewer or tx-react-document-viewer, handle @angular/cdk and React 18, and set up the ASP.NET Core backend with CORS.
- [React](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/npm/react/llms-full.txt): Install the React DocumentEditor and DocumentViewer packages: React 19.2 and React 18 peer ranges, the Vite 8 default import, and both in one project.

---

## Nearby

- **Previous:** [Package Versioning](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/nuget/versioning/llms-full.txt)
- **Next:** [Document Editor](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/npm/document-editor/llms-full.txt)
