Skip to content

Conversation

@jonathannorris
Copy link
Member

@jonathannorris jonathannorris commented Nov 25, 2025

Summary

  • Upgrade NX from 16.10.0 to 22.1.1
  • Migrate all @nx/js:tsc builds to @nx/esbuild:esbuild
  • Update webpack configs and project configurations for NX 22 compatibility
  • Update E2E workflow to pre-build shared libraries
  • Removed Next.js dev-apps/next, the e2e/nextjs apps work for testing + e2e tests

Why
NX 22 removed the experimental external option from @nx/js:tsc that was used to bundle internal workspace packages. These packages are not published to npm and must be bundled into the SDK dist. Additionally, NX 22 introduced breaking changes requiring updates to webpack configs, Jest configs, and project.json files.

Changes

  • Build system: Migrated all SDKs/libs from tsc to esbuild for faster builds
  • nodejs, js-cloud-server: Now use esbuild to bundle internal dependencies
  • Webpack configs: Updated dev-apps (js, openfeature-web, cloudflare-worker, nodejs-local, openfeature-nodejs) and e2e tests for NX 22 compatibility
  • Project configs: Updated all project.json files with new executor configurations
  • Jest configs: Updated to use NX 22 patterns across all packages
  • E2E workflow: Added shared library build step before running affected E2E tests
  • Fixes: Updated e2e test ports, fixed type exports, resolved rollup build issues for react-native-expo, preserved Next.js 'use client' directives

Testing

  • All SDK tests pass (nodejs: 126, js-cloud-server: 71, bucketing: 222)
  • Verified against local example apps
  • E2E tests updated and verified

@vercel
Copy link

vercel bot commented Nov 25, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
js-sdks-web-elements Ready Ready Preview, Comment Jan 2, 2026 2:07am
js-sdks-with-provider Ready Ready Preview, Comment Jan 2, 2026 2:07am
1 Skipped Deployment
Project Deployment Review Updated (UTC)
js-sdks-next-js-page-router Ignored Ignored Jan 2, 2026 2:07am

Copilot AI review requested due to automatic review settings December 23, 2025 18:56
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 118 out of 135 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (3)

sdk/nextjs/src/common/actions/setDebugUser.ts:1

  • Using bracket notation for environment variables (process.env['NODE_ENV']) is unnecessary. The dot notation process.env.NODE_ENV is more idiomatic and equally safe in TypeScript/Node.js environments.
    sdk/nextjs/src/common/actions/clearDebugUser.ts:1
  • Using bracket notation for environment variables (process.env['NODE_ENV']) is unnecessary. The dot notation process.env.NODE_ENV is more idiomatic and equally safe in TypeScript/Node.js environments.
    e2e/nextjs/app-router/tests/app-router.spec.ts:1
  • The timeout was increased from 10000 to 30000ms. Consider adding a comment explaining why such a long timeout is necessary for this navigation test, as this could mask performance issues.

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

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 120 out of 137 changed files in this pull request and generated 4 comments.


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

Copy link
Member

Choose a reason for hiding this comment

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

worth copying these changes elsewhere?

Copy link
Member Author

Choose a reason for hiding this comment

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

its basically just formatting, so probably not

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants