Skip to content

Commit 90ba7f7

Browse files
Merge pull request #351 from ejarocki-cloudlinux/master
Add react pages
2 parents 78ab9a0 + 32a52b7 commit 90ba7f7

File tree

8 files changed

+715
-0
lines changed

8 files changed

+715
-0
lines changed

docs/.vuepress/components/ELSTechnology.vue

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -480,6 +480,26 @@ const techData = [
480480
versions: "1.3.7",
481481
link: "./javascript-libraries/",
482482
},
483+
{
484+
name: "React",
485+
versions: "15.6.2",
486+
link: "./react/",
487+
},
488+
{
489+
name: "react-dom",
490+
versions: "16.4.1",
491+
link: "./react-dom/",
492+
},
493+
{
494+
name: "react-pdf",
495+
versions: "7.7.1",
496+
link: "./react-pdf/",
497+
},
498+
{
499+
name: "react-router",
500+
versions: "7.5.1",
501+
link: "./react-router/",
502+
},
483503
{
484504
name: "Request",
485505
versions: "2.88.0",

docs/.vuepress/config-client/sidebar.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -299,6 +299,22 @@ export default {
299299
path: '/els-for-libraries/postcss/',
300300
icon: '/images/postcss-logo.webp',
301301
},
302+
{
303+
path: '/els-for-libraries/react/',
304+
icon: '/images/react-logo.webp',
305+
},
306+
{
307+
path: '/els-for-libraries/react-dom/',
308+
icon: '/images/react-logo.webp',
309+
},
310+
{
311+
path: '/els-for-libraries/react-pdf/',
312+
icon: '/images/react-logo.webp',
313+
},
314+
{
315+
path: '/els-for-libraries/react-router/',
316+
icon: '/images/react-logo.webp',
317+
},
302318
{
303319
path: '/els-for-libraries/tailwindcss/',
304320
icon: '/images/tailwindcss-logo.webp',
480 Bytes
Loading

docs/els-for-libraries/javascript-libraries/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ Endless Lifecycle Support (ELS) for Libraries from TuxCare provides security fix
3939
* **terser** 4.6.10, 4.8.1, 5.3.0, 5.5.1
4040
* **tough-cookie** 2.4.3, 2.5.0
4141
* **ua-parser-js** 0.7.21
42+
* **underscore** 1.7.0
4243
* **webpack-subresource-integrity** 1.4.0
4344
* **xml2js** 0.4.23
4445
* **yargs-parser** 11.1.1
@@ -247,6 +248,7 @@ Fixes for the following vulnerabilities are available in ELS for JavaScript Libr
247248
| CVE-2025-7783 | Direct | Critical | form-data | < 2.5.4, 3.0.0 - 3.0.3, 4.0.0 - 4.0.3 |
248249
| CVE-2018-13863 | Direct | High | bson | >= 0.5.0, < 1.0.5 |
249250
| CVE-2021-23424 | Direct | High | ansi-html | < 0.0.8 |
251+
| CVE-2021-23358 | Direct | High | underscore | >= 1.3.2 < 1.12.1 |
250252
| CVE-2021-3803 | Direct | High | nth-check | < 2.0.1 |
251253
| CVE-2022-21680 | Direct | High | marked | < 4.0.10 |
252254
| CVE-2022-21681 | Direct | High | marked | < 4.0.10 |
Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
# react-dom
2+
3+
Endless Lifecycle Support (ELS) for react-dom from TuxCare provides security fixes for react-dom versions that have reached their end of life. This allows you to continue running React DOM applications without vulnerability concerns, even after official support has ended.
4+
5+
## Supported react-dom Versions
6+
7+
* react-dom 16.4.1
8+
9+
## Connection to ELS for react-dom Library
10+
11+
This guide outlines the steps needed to integrate the TuxCare ELS for the react-dom library.
12+
13+
## Step 1: Get Token
14+
15+
You need a token in order to use TuxCare ELS react-dom library. Anonymous access is disabled. To receive the token, please contact [sales@tuxcare.com](mailto:sales@tuxcare.com).
16+
17+
## Step 2: Set Up ELS for react-dom
18+
19+
TuxCare provides ELS for react-dom as an NPM package, hosted on a secure internal registry. Follow the steps below to add it to your project and get started.
20+
21+
1. Navigate to the root directory of your React DOM project.
22+
2. Create a `.npmrc` file or update it if it already exists.
23+
24+
**Example:**
25+
26+
```text
27+
my-react-dom-project/
28+
├── node_modules/
29+
├── package.json
30+
├── .npmrc ⚠️ ← Create it here
31+
└── package-lock.json
32+
```
33+
34+
3. Use an editor of your choice (e.g., VS Code) to add the following registry address line:
35+
36+
<CodeWithCopy>
37+
38+
```text
39+
registry=https://registry.npmjs.org/
40+
@els-js:registry=https://nexus.repo.tuxcare.com/repository/els_js/
41+
//nexus.repo.tuxcare.com/repository/els_js/:_auth=${TOKEN}
42+
```
43+
44+
</CodeWithCopy>
45+
46+
:::warning
47+
Replace ${TOKEN} with the token you received from [sales@tuxcare.com](mailto:sales@tuxcare.com).
48+
:::
49+
50+
4. Update your `package.json` file to replace your react-dom dependencies with the TuxCare packages. You can do this in two ways:
51+
52+
* **Option 1: TuxCare Patcher (Automated)**
53+
54+
Install the Patcher globally and run it. The TuxCare Patcher automatically detects the react-dom version in your `package.json` and updates your `dependencies` and `overrides` to use the corresponding TuxCare `@els-js/*` packages.
55+
56+
<CodeWithCopy>
57+
58+
```text
59+
npm install -g @els-js/tuxcare-patcher --userconfig ./.npmrc
60+
tuxcare-patch-js
61+
```
62+
63+
</CodeWithCopy>
64+
65+
The patcher will update your `package.json`, for example, from:
66+
67+
```text
68+
"dependencies": {
69+
"react-dom": "^16.4.1"
70+
}
71+
```
72+
73+
to:
74+
75+
```text
76+
"dependencies": {
77+
"react-dom": "npm:@els-js/react-dom@16.4.1-tuxcare.1"
78+
},
79+
"overrides": {
80+
"react-dom@16.4.1": "npm:@els-js/react-dom@16.4.1-tuxcare.1"
81+
}
82+
```
83+
84+
* **Option 2: Manual Update**
85+
86+
Manually update your `package.json` file by replacing your react-dom dependencies with the TuxCare packages. This method gives you full control over which packages to update.
87+
88+
<CodeWithCopy>
89+
90+
```text
91+
"dependencies": {
92+
"react-dom": "npm:@els-js/react-dom@16.4.1-tuxcare.1"
93+
}
94+
```
95+
96+
</CodeWithCopy>
97+
98+
5. You need to remove the `node_modules` directory and the `package-lock.json` file, and also clear the `npm cache` before installing the patched packages. Use the following commands:
99+
100+
<CodeWithCopy>
101+
102+
```text
103+
rm -rf node_modules package-lock.json && npm cache clean --force
104+
```
105+
106+
</CodeWithCopy>
107+
108+
6. Run the following command to install the ELS version of the react-dom library (token for the TuxCare repository will be automatically picked up from your `.npmrc` file):
109+
110+
<CodeWithCopy>
111+
112+
```text
113+
npm install
114+
```
115+
116+
</CodeWithCopy>
117+
118+
You will see an output like:
119+
120+
```text
121+
added 1 package, and audited 2 packages in 792ms
122+
123+
found 0 vulnerabilities
124+
```
125+
126+
7. You've successfully installed the Tuxcare ELS version of the react-dom library into your project.
127+
128+
## Vulnerability Exploitability eXchange (VEX)
129+
130+
VEX is a machine-readable format that tells you if a known vulnerability and is actually exploitable in your product. It reduces false positives, helps prioritize real risks.
131+
132+
TuxCare provides VEX for react-dom ELS versions: [security.tuxcare.com/vex/cyclonedx/els_lang_javascript/react-dom/](https://security.tuxcare.com/vex/cyclonedx/els_lang_javascript/react-dom/).
133+
134+
## How to Upgrade to a Newer Version of TuxCare Packages
135+
136+
If you have already installed a package with a `tuxcare.1` suffix and want to upgrade to a newer release (for example, `tuxcare.3`), you can use one of the following methods:
137+
138+
* **Option 1: TuxCare Patcher (Automated). Recommended for projects with multiple TuxCare dependencies.**
139+
140+
The TuxCare Patcher automatically detects all TuxCare dependencies in your `package.json` and updates them to the latest available versions.
141+
142+
<CodeWithCopy>
143+
144+
```text
145+
tuxcare-patch-js --upgrade
146+
```
147+
148+
</CodeWithCopy>
149+
150+
* **Option 2: Manual Update via CLI (Single Dependency)**
151+
152+
If you want to update a single TuxCare dependency, use the npm install command with the specific version. This automatically updates both `package.json` and `package-lock.json`:
153+
154+
<CodeWithCopy>
155+
156+
```text
157+
npm install react-dom@npm:@els-js/react-dom@16.4.1-tuxcare.2
158+
```
159+
160+
</CodeWithCopy>
161+
162+
* **Option 3: Manual Update via package.json (Multiple Dependencies)**
163+
164+
If you want to update several TuxCare dependencies, manually update the version strings in your `package.json`, then remove installed files and clear npm cache to avoid conflicts:
165+
166+
<CodeWithCopy>
167+
168+
```text
169+
rm -rf node_modules package-lock.json && npm cache clean --force
170+
npm install
171+
```
172+
173+
</CodeWithCopy>
174+
175+
## Resolved CVEs
176+
177+
Fixes for the following vulnerabilities are available in ELS for react-dom from TuxCare versions:
178+
179+
| CVE ID | CVE Type | Severity | Affected Libraries | Vulnerable Versions |
180+
| :-----------: | :------: |:--------:|:------------------:| :----------------: |
181+
| CVE-2018-6341 | Direct | Medium | react-dom | >= 16.0.0 < 16.0.1, >= 16.1.0 < 16.1.2, >= 16.2.0 < 16.2.1, >= 16.3.0 < 16.3.3, >= 16.4.0 < 16.4.2 |
182+
183+
If you are interested in the TuxCare Endless Lifecycle Support, contact [sales@tuxcare.com](mailto:sales@tuxcare.com).
184+
185+

0 commit comments

Comments
 (0)