Skip to content

chore(deps): upgrade dependencies#248

Merged
SoulPancake merged 13 commits into
mainfrom
chore/bump-deps
Feb 27, 2026
Merged

chore(deps): upgrade dependencies#248
SoulPancake merged 13 commits into
mainfrom
chore/bump-deps

Conversation

@rhamzeh

@rhamzeh rhamzeh commented Aug 12, 2025

Copy link
Copy Markdown
Member

Description

We recently announced that we'll be explicit in our support policy to only support runtimes that are supported upstream, on that note this PR drops support for node @16 and @18 and bumps the min supported node runtime version to 20.

In addition, we updated several dependencies.

Note the we did not update to the recently released eslint v10.0.0, as typescript-eslint does not support it yet.

We have marked the minimum supported node runtime version as 20.19.0 in preparation.

What problem is being solved?

How is it being solved?

What changes are made to solve it?

References

Review Checklist

  • I have clicked on "allow edits by maintainers".
  • I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
  • The correct base branch is being used, if not main
  • I have added tests to validate that the change in functionality is working as expected

Summary by CodeRabbit

  • Chores
    • Updated development dependencies to the latest patch versions to improve tooling consistency and maintainability.
    • No changes to app behavior, performance, or user interface.
    • No action required for end-users.

@rhamzeh
rhamzeh requested a review from a team as a code owner August 12, 2025 13:12
@coderabbitai

coderabbitai Bot commented Aug 12, 2025

Copy link
Copy Markdown

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Walkthrough

Patch-level updates to devDependencies in package.json: @types/node, @typescript-eslint/eslint-plugin, and @typescript-eslint/parser. No source code or configuration changes beyond version bumps.

Changes

Cohort / File(s) Summary of Changes
Dev dependency bumps
package.json
Updated devDependencies: @types/node ^24.2.0 → ^24.2.1; @typescript-eslint/eslint-plugin ^8.39.0 → ^8.39.1; @typescript-eslint/parser ^8.39.0 → ^8.39.1

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

Suggested reviewers

  • sergiught
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chore/bump-deps

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@rhamzeh
rhamzeh enabled auto-merge August 12, 2025 13:12
@socket-security

socket-security Bot commented Aug 12, 2025

Copy link
Copy Markdown

@socket-security

socket-security Bot commented Aug 12, 2025

Copy link
Copy Markdown

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
License policy violation: npm caniuse-lite under CC-BY-4.0

License: CC-BY-4.0 - the applicable license policy does not allow this license (4) (npm metadata)

License: CC-BY-4.0 - the applicable license policy does not allow this license (4) (package/LICENSE)

License: CC-BY-4.0 - the applicable license policy does not allow this license (4) (package/package.json)

From: package-lock.jsonnpm/[email protected]npm/[email protected]npm/[email protected]

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at [email protected].

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/[email protected]. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

@codecov-commenter

codecov-commenter commented Aug 12, 2025

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 86.27%. Comparing base (0f1b6a9) to head (dc1a174).

Files with missing lines Patch % Lines
eslint.config.js 0.00% 4 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #248      +/-   ##
==========================================
- Coverage   88.86%   86.27%   -2.59%     
==========================================
  Files          25       26       +1     
  Lines        1266     1268       +2     
  Branches      225      249      +24     
==========================================
- Hits         1125     1094      -31     
- Misses         96      100       +4     
- Partials       45       74      +29     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2d57837 and b34c18c.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (1)
  • package.json (1 hunks)
🔇 Additional comments (2)
package.json (2)

32-32: Confirm Node types vs supported runtime (engines).

You're bumping @types/node to v24.x while "engines.node" declares support starting at 16.15. Using Node 24 types can surface APIs not available on Node 16/18 and may leak into generated .d.ts, giving consumers a false sense of availability.

Please verify one of:

  • The SDK’s minimum supported Node version is actually >= 20/22/24 and engines should be updated.
  • Or keep @types/node aligned to the lowest supported Node LTS (e.g., 16 or 18) to ensure type-level compatibility for consumers.

32-35: LGTM on patch bumps.

These are patch-level updates to devDependencies and should be low risk. Thanks for keeping them current.

Comment thread package.json Outdated
Copilot AI review requested due to automatic review settings February 10, 2026 12:43

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the repository’s Node/TypeScript tooling and test/lint setup to align with newer dependency versions, including dropping Node.js v16 support.

Changes:

  • Upgrades runtime/dev dependencies (notably axios, jose, jest, eslint) and raises the supported Node.js engine floor to >=18.18.0.
  • Updates Jest configuration and tests for Jest 30 compatibility.
  • Introduces an ESLint v9 flat config and updates CI/metadata to reflect Node 16 deprecation.

Reviewed changes

Copilot reviewed 13 out of 14 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
package.json Dependency upgrades and Node engine bump to >=18.18.0.
package-lock.json Lockfile updates to match upgraded dependencies.
.github/workflows/main.yaml Removes Node 16 from the CI matrix.
CHANGELOG.md Notes dropping Node 16 support under Unreleased.
tests/jest.config.js Adds transform configuration and exception to transform jose.
tests/index.test.ts Replaces deprecated toThrowError() with toThrow().
tests/client.test.ts Replaces deprecated matcher usage for Jest 30.
tests/streaming.test.ts Reformats test file (string literal/indent changes).
eslint.config.js Adds ESLint v9 flat configuration.
.eslintignore Removes legacy ignore file (superseded by flat config ignores).
index.ts Removes blanket lint-disable comments at file top.
errors.ts Uses this.endpointCategory for rate-limit error message.
common.ts Removes an eslint-disable comment near JSON MIME regex.
mise.toml Adds mise toolchain pin for Node.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread eslint.config.js
Comment thread tests/jest.config.js Outdated
Comment thread package.json
@rhamzeh
rhamzeh requested review from a team as code owners February 10, 2026 12:53
SoulPancake
SoulPancake previously approved these changes Feb 10, 2026
@rhamzeh
rhamzeh marked this pull request as draft February 10, 2026 13:02
auto-merge was automatically disabled February 10, 2026 13:02

Pull request was converted to draft

SoulPancake
SoulPancake previously approved these changes Feb 10, 2026
@SoulPancake
SoulPancake self-requested a review February 10, 2026 13:03
@rhamzeh

rhamzeh commented Feb 10, 2026

Copy link
Copy Markdown
Member Author

Converting to draft so that we merge after the v0.9.2 release as it drops support for node@16, so best to release it separately

@rhamzeh
rhamzeh marked this pull request as ready for review February 10, 2026 18:18
@dosubot

dosubot Bot commented Feb 10, 2026

Copy link
Copy Markdown

Documentation Updates

3 document(s) were updated by changes in this PR:

Custom HTTP Headers Support
View Changes
@@ -166,6 +166,18 @@
 
 ### JavaScript/TypeScript SDK
 
+#### Supported Node.js Versions
+
+The JavaScript SDK requires Node.js v20.19.0 or higher. Support for Node.js v16 and v18 has been dropped.
+
+The SDK is tested against the following Node.js versions:
+- Node.js 20.x (Maintenance)
+- Node.js 22.x (Maintenance)
+- Node.js 24.x (LTS)
+- Node.js 25.x (Current)
+
+For detailed information about the support policy, see the [SUPPORTED_RUNTIMES.md](https://github.com/openfga/js-sdk/blob/main/SUPPORTED_RUNTIMES.md) file in the SDK repository.
+
 #### Calling Other Endpoints with executeApiRequest
 The JavaScript SDK provides an `executeApiRequest` method for making raw HTTP calls to any OpenFGA endpoint, including endpoints not yet wrapped by the SDK. This is useful if you need to:
 
Retry-After Header and Retry Strategy
View Changes
@@ -24,9 +24,16 @@
 # SDK-Specific Details
 #### Node.js Version Support (JavaScript SDK)
 
-The minimum supported Node.js version for the JavaScript SDK is **v20.19.0**. Node.js v16 and v18 are no longer supported. For a detailed support policy and a list of tested Node.js versions, see [SUPPORTED_RUNTIMES.md](https://github.com/openfga/language/blob/main/pkg/js/SUPPORTED_RUNTIMES.md).
-
-We recommend using a Node.js version that is currently supported upstream (see [Node.js release schedule](https://nodejs.org/en/about/previous-releases)), such as 20 (maintenance), 22 (maintenance), 24 (LTS), or 25 (current).
+The minimum supported Node.js version for the JavaScript SDK is **v20.19.0**. Node.js v16 and v18 are no longer supported.
+
+The JavaScript SDK follows the upstream [Node.js release policy](https://nodejs.org/en/about/previous-releases), supporting versions that are in **LTS** (Long-Term Support) or **Maintenance** status. The following Node.js versions are actively tested in CI/CD pipelines:
+
+- **20.x** (Maintenance)
+- **22.x** (Maintenance)
+- **24.x** (LTS)
+- **25.x** (Current)
+
+For a detailed support policy, including best-effort support for EOL versions and long-term plans, see [SUPPORTED_RUNTIMES.md](https://github.com/openfga/js-sdk/blob/main/SUPPORTED_RUNTIMES.md).
 
 #### Retry-After Handling
 The SDK parses the `Retry-After` header as either an integer (seconds) or HTTP-date. If the value is between 1 second and 30 minutes (1800 seconds), it waits for the specified delay before retrying. If the header is missing, invalid, or out of bounds, the SDK falls back to exponential backoff with jitter.
@@ -58,7 +65,7 @@
 - The maximum allowed `maxRetry` is now enforced at 15.
 - No retries are performed for 501 errors, even if a `Retry-After` header is present.
 - If you used the old `batchCheck` method, migrate to `clientBatchCheck` as per the [changelog](https://github.com/openfga/js-sdk/blob/ca4b9fcf9eaed35170d44a4b3697f439b81187f6/CHANGELOG.md#L8-L44).
-- For details on supported Node.js versions and our support policy, see [SUPPORTED_RUNTIMES.md](https://github.com/openfga/language/blob/main/pkg/js/SUPPORTED_RUNTIMES.md).
+- For details on supported Node.js versions and our support policy, see [SUPPORTED_RUNTIMES.md](https://github.com/openfga/js-sdk/blob/main/SUPPORTED_RUNTIMES.md).
 
 ### Java SDK
 **Version Introduced:** v0.9.0  
StreamedListObjects Feature Overview
View Changes
@@ -84,6 +84,8 @@
 ### JS SDK
 The JS SDK supports StreamedListObjects as of version v0.9.3. The method streams results using async iterators, allowing you to process each object as it arrives. See the [documentation](#streamed-list-objects) for usage details.
 
+**Runtime Requirements:** The JS SDK requires Node.js v20.19.0 or higher. Currently tested versions include Node.js 20.x, 22.x, 24.x, and 25.x. For detailed information about supported Node.js versions and the support policy, see [SUPPORTED_RUNTIMES.md](https://github.com/openfga/js-sdk/blob/main/SUPPORTED_RUNTIMES.md).
+
 Additionally, the JS SDK provides `executeApiRequest` and `executeStreamedApiRequest` methods on `OpenFgaClient` that can be used to call arbitrary API endpoints that don't yet have dedicated SDK methods. Use `executeApiRequest` for regular endpoints and `executeStreamedApiRequest` for streaming endpoints like `/streamed-list-objects`. These methods act as an escape hatch while still providing SDK benefits like authentication, configuration, retries, and error handling.
 
 **Example:**

How did I do? Any feedback?  Join Discord

SoulPancake
SoulPancake previously approved these changes Feb 10, 2026

@SoulPancake SoulPancake left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LG

@SoulPancake
SoulPancake added this pull request to the merge queue Feb 27, 2026
Merged via the queue into main with commit c800ac1 Feb 27, 2026
25 checks passed
@SoulPancake
SoulPancake deleted the chore/bump-deps branch February 27, 2026 07:32
@coderabbitai coderabbitai Bot mentioned this pull request May 6, 2026
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants