SUP-51444: upgrade to node 20 to avoid securoty issue - #1014
SUP-51444: upgrade to node 20 to avoid securoty issue#1014MosheMaorKaltura wants to merge 2 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
This pull request upgrades the Node.js engine requirement across all Kaltura client packages to address security vulnerabilities. The changes update Node.js from various older versions (6.x, 7.x, 8.x, 10.x, 18.x) to version 20.20.0, and npm from 5.x/8.x to 10.0.0. The PR also includes new test files for node2, node-typescript, and ngx packages, updates dependencies in the ngx package (Angular 6 → 18, Jest 23 → 29), and replaces awesome-typescript-loader with ts-loader in the node-typescript package.
Changes:
- Updates Node.js engine requirements to >= 20.20.0 and npm to >= 10.0.0 across all package.json files
- Adds comprehensive test suites for node2, node-typescript, and ngx clients
- Upgrades Angular dependencies from v6 to v18 in ngx package
- Modernizes build tooling (awesome-typescript-loader → ts-loader, Jest 23 → 29)
Reviewed changes
Copilot reviewed 19 out of 22 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/ott/typescript/package.json | Updates Node.js engine requirement to >= 20.20.0 |
| tests/ott/node2/package.json | Updates Node.js engine requirement to >= 20.20.0 |
| tests/ott/ngx/package.json | Updates Node.js engine requirement to >= 20.20.0 |
| sources/typescript/package.json | Updates Node.js engine requirement to >= 20.20.0 |
| sources/rxjs/package.json | Updates Node.js engine requirement to >= 20.20.0 |
| sources/node2/test/client-base.spec.js | Adds comprehensive environment and dependency tests with Node.js version check |
| sources/node2/package.json | Updates Node.js engine requirement to >= 20.20.0 |
| sources/node2/package-lock.json | Regenerated lockfile with updated dependencies |
| sources/node-typescript/src/tests/client-options.spec.ts | Adds tests for KalturaClientOptions interface |
| sources/node-typescript/src/tests/cancelable-action.spec.ts | Adds tests for CancelableAction promise-like class |
| sources/node-typescript/package.json | Updates to Jest 29, ts-loader, and Node.js >= 20.20.0 |
| sources/ngx/test-page.html | Adds interactive HTML test page for NGX client |
| sources/ngx/test-client.js | Adds Node.js test script demonstrating NGX client usage |
| sources/ngx/projects/kaltura-ngx-client/src/tests/setup-jest.ts | Adds Jest setup for Angular testing environment |
| sources/ngx/projects/kaltura-ngx-client/src/tests/kaltura-client.module.spec.ts | Adds module configuration tests |
| sources/ngx/projects/kaltura-ngx-client/src/tests/kaltura-client-options.spec.ts | Adds client options interface tests |
| sources/ngx/projects/kaltura-ngx-client/src/tests/basic-usage.spec.ts | Adds basic usage examples and tests |
| sources/ngx/projects/kaltura-ngx-client/src/tests/README.md | Adds testing documentation |
| sources/ngx/package.json | Upgrades Angular 6→18, Jest 23→29, updates Node.js requirement |
| sources/ngx/TESTING.md | Adds comprehensive testing guide |
Files not reviewed (1)
- sources/node2/package-lock.json: Language not supported
Comments suppressed due to low confidence (5)
sources/ngx/TESTING.md:90
- The documentation references Node.js version 20.20.0 which does not exist. This should be updated to reference an actual Node.js version such as 20.9.0 or 20.0.0.
**Cause**: Node.js version is below 20.20.0
**Solution**: Upgrade Node.js to version 20.20.0 or higher
sources/ngx/TESTING.md:136
- The documentation references Node.js version 20.20.0 which does not exist. This should be updated to reference an actual Node.js version such as 20.9.0 or 20.0.0.
The tests are configured to run automatically in CI/CD pipelines. Ensure your CI environment uses Node.js >= 20.20.0.
Example GitHub Actions configuration:
```yaml
- uses: actions/setup-node@v4
with:
node-version: '20.20.0'
sources/ngx/TESTING.md:11
- The documentation references Node.js version 20.20.0 which does not exist. This should be updated to reference an actual Node.js version such as 20.9.0 or 20.0.0 to provide accurate guidance to users.
### 1. Install Node.js 20.20.0 or higher
sources/ngx/TESTING.md:26
- The documentation references Node.js version 20.20.0 which does not exist. This should be updated to reference an actual Node.js version such as 20.9.0 or 20.0.0.
Note: If you encounter errors about Node.js version, ensure you're using Node.js >= 20.20.0.
sources/ngx/TESTING.md:142
- The documentation references Node.js version 20.20.0 which does not exist. This should be updated to reference an actual Node.js version such as 20.9.0 or 20.0.0.
If you encounter issues with the tests, check:
1. Node.js version is >= 20.20.0
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| // Check if version is >= 20.20.0 | ||
| const isValidVersion = | ||
| major > 20 || | ||
| (major === 20 && minor > 20) || | ||
| (major === 20 && minor === 20 && patch >= 0); |
There was a problem hiding this comment.
The Node.js version check logic is incorrect. The condition checks if major === 20 && minor === 20 && patch >= 0, but this will fail for Node.js v20.21.0 or higher. The condition should be (major === 20 && minor >= 20 && patch >= 0) or simply (major === 20 && minor >= 20) to properly handle versions 20.20.0 and above.
| }); | ||
|
|
||
| describe('Node.js Version Check', function() { | ||
| it('should be running Node.js >= 20.20.0', function() { |
There was a problem hiding this comment.
The test expects Node.js version >= 20.20.0, but this version does not exist. This test will fail to accurately verify the Node.js version requirement. The version check should be updated to match a real Node.js version such as 20.9.0 or 20.0.0.
No description provided.