From 3234caa595cf7e66d8520711a5a5076c5d793362 Mon Sep 17 00:00:00 2001 From: Gilad Shoham Date: Sun, 17 Aug 2025 10:59:05 +0100 Subject: [PATCH 1/5] chore(node): update Node.js version to 24.6.0 --- .circleci/config.yml | 54 ++++++++++++++++++++++---------------------- workspace.jsonc | 4 ++-- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f0b877fcf15a..1621047afe22 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,7 +7,7 @@ version: 2.1 # Base configurations default_image: &default_image docker: - - image: cimg/node:22.14.0 + - image: cimg/node:24.6.0 default_resource_class: &default_resource_class resource_class: medium @@ -172,13 +172,13 @@ commands: windows_set_node_version: parameters: version: - default: 22.14.0 + default: 24.6.0 type: string steps: - run: choco upgrade nvm -y - run: nvm -v - - run: nvm install 22.14.0 - - run: nvm use 22.14.0 + - run: nvm install 24.6.0 + - run: nvm use 24.6.0 - run: node -v windows_add_bvm_to_path: @@ -218,7 +218,7 @@ commands: default: 'BASE_IMAGE' type: string docker_build_base_image_arg_value: - default: 'node:22.14.0' + default: 'node:24.6.0' type: string image_name: default: 'bitcli/bit' @@ -251,7 +251,7 @@ commands: default: 'BASE_IMAGE' type: string docker_build_base_image_arg_value: - default: 'node:22.14.0' + default: 'node:24.6.0' type: string image_name: default: 'bitcli/bit' @@ -857,27 +857,27 @@ jobs: path: bit/index.json # ========== Docker Jobs ========== - docker_build_node_22: + docker_build_node_24: machine: image: ubuntu-2004:202111-02 steps: - attach_workspace: at: ./ - docker_build_and_push: - docker_build_base_image_arg_value: "node:22.14.0" - docker_tag_suffix: "-node-22.14.0" + docker_build_base_image_arg_value: "node:24.6.0" + docker_tag_suffix: "-node-24.6.0" - docker_non_root_build_node_22: + docker_non_root_build_node_24: machine: image: ubuntu-2004:202111-02 steps: - attach_workspace: at: ./ - docker_build_and_push: - docker_build_base_image_arg_value: "node:22.14.0" + docker_build_base_image_arg_value: "node:24.6.0" image_name: "bitcli/bit-non-root" docker_file_name: "Dockerfile-bit-non-root" - docker_tag_suffix: "-node-22.14.0" + docker_tag_suffix: "-node-24.6.0" docker_build_alpine: machine: @@ -886,22 +886,22 @@ jobs: - attach_workspace: at: ./ - docker_build_and_push: - docker_build_base_image_arg_value: "node:22.14.0-alpine" + docker_build_base_image_arg_value: "node:24.6.0-alpine" # image_name: "bitcli/bit-alpine" docker_file_name: "Dockerfile-bit-alpine" - docker_tag_suffix: "-alpine-node-22.14.0" + docker_tag_suffix: "-alpine-node-24.6.0" - server_docker_build_node_22: + server_docker_build_node_24: machine: image: ubuntu-2004:202111-02 steps: - attach_workspace: at: ./ - docker_build_and_push: - docker_build_base_image_arg_value: "`npm show @teambit/bit version`-node-22.14.0" + docker_build_base_image_arg_value: "`npm show @teambit/bit version`-node-24.6.0" image_name: "bitcli/bit-server" docker_file_name: "Dockerfile-bit-server" - docker_tag_suffix: "-node-22.14.0" + docker_tag_suffix: "-node-24.6.0" # ========== Windows Jobs ========== windows_checkout_code: @@ -1048,9 +1048,9 @@ jobs: # - run: node -v # - run: npm -v # - run: yarn -v - # # - run: choco install nodejs --version 22.14.0 + # # - run: choco install nodejs --version 24.6.0 # # - run: node -v - # - run: cinst nodejs --version 22.14.0 + # - run: cinst nodejs --version 24.6.0 # - run: node -v # ======================================== @@ -1132,18 +1132,18 @@ workflows: - bundle_version_macos - bundle_version_windows - checkout_code # This is needed to generate index.json - - docker_build_node_22: + - docker_build_node_24: requires: - harmony_publish_to_gcloud - docker_build_alpine: requires: - harmony_publish_to_gcloud - - docker_non_root_build_node_22: + - docker_non_root_build_node_24: requires: - harmony_publish_to_gcloud - - server_docker_build_node_22: + - server_docker_build_node_24: requires: - - docker_build_node_22 + - docker_build_node_24 - e2e_test_bbit: requires: - setup_harmony @@ -1210,7 +1210,7 @@ workflows: - bundle_version_macos - bundle_version_windows - checkout_code # This is needed to generate index.json - - docker_build_node_22: + - docker_build_node_24: requires: - harmony_deploy_approval_job - harmony_publish_to_gcloud @@ -1218,14 +1218,14 @@ workflows: requires: - harmony_deploy_approval_job - harmony_publish_to_gcloud - - docker_non_root_build_node_22: + - docker_non_root_build_node_24: requires: - harmony_deploy_approval_job - harmony_publish_to_gcloud - - server_docker_build_node_22: + - server_docker_build_node_24: requires: - harmony_deploy_approval_job - - docker_build_node_22 + - docker_build_node_24 # ======================================== # DEBUG & TESTING WORKFLOWS (COMMENTED) diff --git a/workspace.jsonc b/workspace.jsonc index 55090b7c355e..6945ee823273 100644 --- a/workspace.jsonc +++ b/workspace.jsonc @@ -643,7 +643,7 @@ "uri-js": "npm:uri-js-replace", "encoding": "-" }, - "nodeVersion": "22.14.0", + "nodeVersion": "24.6.0", "engineStrict": true, // This is a temporary workaround to fix "bit compile" on macOS and Windows. // "bit compile" breaks node_modules when hard links are used. @@ -722,7 +722,7 @@ "packageJson": { "name": "@teambit/{name}", // @teambit/discovery.ui.sidebar "bvm": { - "node": "22.14.0" + "node": "24.6.0" }, "engines": { "node": ">=18.12.0" From 9204361a28c146153e0a3379a6c69c3bf390d291 Mon Sep 17 00:00:00 2001 From: Gilad Shoham Date: Sun, 17 Aug 2025 11:33:10 +0100 Subject: [PATCH 2/5] fix: update recommended and supported Node.js versions to <25.0.0 --- scopes/harmony/bit/bootstrap.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scopes/harmony/bit/bootstrap.ts b/scopes/harmony/bit/bootstrap.ts index ba20cb31f93c..c2003c8c73d7 100644 --- a/scopes/harmony/bit/bootstrap.ts +++ b/scopes/harmony/bit/bootstrap.ts @@ -8,8 +8,8 @@ import { GLOBAL_CONFIG, GLOBAL_LOGS } from '@teambit/legacy.constants'; import { printWarning, shouldDisableConsole, shouldDisableLoader } from '@teambit/legacy.logger'; import { loader } from '@teambit/legacy.loader'; -const RECOMMENDED_NODE_VERSIONS = '>=20.0.0 <24.0.0'; -const SUPPORTED_NODE_VERSIONS = '>=16.0.0 <24.0.0'; +const RECOMMENDED_NODE_VERSIONS = '>=20.0.0 <25.0.0'; +const SUPPORTED_NODE_VERSIONS = '>=16.0.0 <25.0.0'; process.env.MEMFS_DONT_WARN = 'true'; // suppress fs experimental warnings from memfs From 04a2f6151566ea62e5a459774ba48761be949e70 Mon Sep 17 00:00:00 2001 From: David First Date: Thu, 22 Jan 2026 16:56:03 -0500 Subject: [PATCH 3/5] fix: correct MDX comment syntax and exclude from prettier --- .prettierignore | 5 ++++- scopes/react/aspect-docs/react/react.mdx | 4 ++-- scopes/react/ui/loader-fallback/loader-fallback.docs.mdx | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.prettierignore b/.prettierignore index 3f6e83a0a1e1..da4bb4bb1e23 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,3 +1,6 @@ fixtures e2e/fixtures -components/legacy/e2e-helper/excluded-fixtures \ No newline at end of file +components/legacy/e2e-helper/excluded-fixtures +# MDX files with JSX comments that prettier incorrectly escapes +scopes/react/aspect-docs/react/react.mdx +scopes/react/ui/loader-fallback/loader-fallback.docs.mdx \ No newline at end of file diff --git a/scopes/react/aspect-docs/react/react.mdx b/scopes/react/aspect-docs/react/react.mdx index a49988ce8926..53f77db088d5 100644 --- a/scopes/react/aspect-docs/react/react.mdx +++ b/scopes/react/aspect-docs/react/react.mdx @@ -169,7 +169,7 @@ export class CustomReactExtension { } ``` -{/\* ## Composition Providers +{/* ## Composition Providers The React environment is able to "wrap" component compositions with an array of providers, each of which is simply a component which wraps its `children` with functionality, such as a context, styling, theme, etc. @@ -222,7 +222,7 @@ export class ReactWithProvidersPreview { ReactWithProvidersAspect.addRuntime(ReactWithProvidersPreview); ``` -> See the full demo project [here](https://github.com/teambit/react-env-with-providers). \*/} +> See the full demo project [here](https://github.com/teambit/react-env-with-providers). */} ### Transformers API docs diff --git a/scopes/react/ui/loader-fallback/loader-fallback.docs.mdx b/scopes/react/ui/loader-fallback/loader-fallback.docs.mdx index 0d9ec7e8b549..38d3b4030036 100644 --- a/scopes/react/ui/loader-fallback/loader-fallback.docs.mdx +++ b/scopes/react/ui/loader-fallback/loader-fallback.docs.mdx @@ -22,7 +22,7 @@ const safeTarget = useFallback(Target && , , { tim 1. then, after _x_ seconds - show the default. {/* live playground doesn't keep state when editing :( */} -{/\* Try it out: +{/* Try it out: ````tsx live function Example() { From 1a07c39c107958e604296c7257ea7967cb6bcf08 Mon Sep 17 00:00:00 2001 From: Gilad Shoham Date: Sun, 2 Aug 2026 16:59:39 +0300 Subject: [PATCH 4/5] chore(node): bump Node.js to 24.18.1 --- .circleci/config.yml | 32 +++++++++---------- scripts/docker-teambit-bit/Dockerfile-bit | 2 +- .../docker-teambit-bit/Dockerfile-bit-alpine | 2 +- .../Dockerfile-bit-non-root | 2 +- workspace.jsonc | 4 +-- 5 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 894b797e8ca2..532e5bbd1ce8 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,7 +7,7 @@ version: 2.1 # Base configurations default_image: &default_image docker: - - image: cimg/node:24.13.0 + - image: cimg/node:24.18.1 default_resource_class: &default_resource_class resource_class: medium @@ -324,13 +324,13 @@ commands: windows_set_node_version: parameters: version: - default: 24.13.0 + default: 24.18.1 type: string steps: - run: choco upgrade nvm -y - run: nvm -v - - run: nvm install 24.13.0 - - run: nvm use 24.13.0 + - run: nvm install 24.18.1 + - run: nvm use 24.18.1 - run: node -v windows_add_bvm_to_path: @@ -371,7 +371,7 @@ commands: default: 'BASE_IMAGE' type: string docker_build_base_image_arg_value: - default: 'node:24.13.0' + default: 'node:24.18.1' type: string image_name: default: 'bitcli/bit' @@ -404,7 +404,7 @@ commands: default: 'BASE_IMAGE' type: string docker_build_base_image_arg_value: - default: 'node:24.13.0' + default: 'node:24.18.1' type: string image_name: default: 'bitcli/bit' @@ -1207,8 +1207,8 @@ jobs: - attach_workspace: at: ./ - docker_build_and_push: - docker_build_base_image_arg_value: "node:24.13.0" - docker_tag_suffix: "-node-24.13.0" + docker_build_base_image_arg_value: "node:24.18.1" + docker_tag_suffix: "-node-24.18.1" docker_non_root_build_node_24: machine: @@ -1217,10 +1217,10 @@ jobs: - attach_workspace: at: ./ - docker_build_and_push: - docker_build_base_image_arg_value: "node:24.13.0" + docker_build_base_image_arg_value: "node:24.18.1" image_name: "bitcli/bit-non-root" docker_file_name: "Dockerfile-bit-non-root" - docker_tag_suffix: "-node-24.13.0" + docker_tag_suffix: "-node-24.18.1" docker_build_alpine: machine: @@ -1229,10 +1229,10 @@ jobs: - attach_workspace: at: ./ - docker_build_and_push: - docker_build_base_image_arg_value: "node:24.13.0-alpine" + docker_build_base_image_arg_value: "node:24.18.1-alpine" # image_name: "bitcli/bit-alpine" docker_file_name: "Dockerfile-bit-alpine" - docker_tag_suffix: "-alpine-node-24.13.0" + docker_tag_suffix: "-alpine-node-24.18.1" server_docker_build_node_24: machine: @@ -1241,10 +1241,10 @@ jobs: - attach_workspace: at: ./ - docker_build_and_push: - docker_build_base_image_arg_value: "`npm show @teambit/bit version`-node-24.13.0" + docker_build_base_image_arg_value: "`npm show @teambit/bit version`-node-24.18.1" image_name: "bitcli/bit-server" docker_file_name: "Dockerfile-bit-server" - docker_tag_suffix: "-node-24.13.0" + docker_tag_suffix: "-node-24.18.1" # ========== Windows Jobs ========== windows_checkout_code: @@ -1391,9 +1391,9 @@ jobs: # - run: node -v # - run: npm -v # - run: yarn -v - # # - run: choco install nodejs --version 24.13.0 + # # - run: choco install nodejs --version 24.18.1 # # - run: node -v - # - run: cinst nodejs --version 24.13.0 + # - run: cinst nodejs --version 24.18.1 # - run: node -v # ======================================== diff --git a/scripts/docker-teambit-bit/Dockerfile-bit b/scripts/docker-teambit-bit/Dockerfile-bit index c598d6896284..8932734d4b00 100644 --- a/scripts/docker-teambit-bit/Dockerfile-bit +++ b/scripts/docker-teambit-bit/Dockerfile-bit @@ -1,4 +1,4 @@ -ARG BASE_IMAGE=node:22.14.0 +ARG BASE_IMAGE=node:24.18.1 FROM $BASE_IMAGE USER root diff --git a/scripts/docker-teambit-bit/Dockerfile-bit-alpine b/scripts/docker-teambit-bit/Dockerfile-bit-alpine index a8f911cfadfb..c604f66043f9 100644 --- a/scripts/docker-teambit-bit/Dockerfile-bit-alpine +++ b/scripts/docker-teambit-bit/Dockerfile-bit-alpine @@ -1,4 +1,4 @@ -ARG BASE_IMAGE=node:22.22.0-alpine +ARG BASE_IMAGE=node:24.18.1-alpine FROM $BASE_IMAGE ARG BIT_VERSION='1.11.31' # Install Git diff --git a/scripts/docker-teambit-bit/Dockerfile-bit-non-root b/scripts/docker-teambit-bit/Dockerfile-bit-non-root index a9f325bf6a97..474ac024fcc4 100644 --- a/scripts/docker-teambit-bit/Dockerfile-bit-non-root +++ b/scripts/docker-teambit-bit/Dockerfile-bit-non-root @@ -1,4 +1,4 @@ -ARG BASE_IMAGE=node:22.14.0 +ARG BASE_IMAGE=node:24.18.1 FROM $BASE_IMAGE RUN adduser --disabled-password --gecos '' user RUN chown -R user /usr/local/ diff --git a/workspace.jsonc b/workspace.jsonc index d73d7f5cf995..c953117a1bac 100644 --- a/workspace.jsonc +++ b/workspace.jsonc @@ -727,7 +727,7 @@ "@pnpm/util.lex-comparator": "3.0.2", "@pnpm/config.nerf-dart": "1.0.1" }, - "nodeVersion": "24.13.0", + "nodeVersion": "24.18.1", "engineStrict": true, // This is a temporary workaround to fix "bit compile" on macOS and Windows. // "bit compile" breaks node_modules when hard links are used. @@ -806,7 +806,7 @@ "packageJson": { "name": "@teambit/{name}", // @teambit/discovery.ui.sidebar "bvm": { - "node": "24.13.0" + "node": "24.18.1" }, "engines": { "node": ">=18.12.0" From aaaf52a8275f3642c4e128d9a2945c8bfd5decc6 Mon Sep 17 00:00:00 2001 From: Gilad Shoham Date: Sun, 2 Aug 2026 17:08:04 +0300 Subject: [PATCH 5/5] revert: drop unrelated MDX/prettierignore changes to keep branch scoped to Node bump --- .prettierignore | 5 +-- scopes/react/aspect-docs/react/react.mdx | 34 +++++++++++-------- .../loader-fallback/loader-fallback.docs.mdx | 3 +- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.prettierignore b/.prettierignore index da4bb4bb1e23..3f6e83a0a1e1 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,6 +1,3 @@ fixtures e2e/fixtures -components/legacy/e2e-helper/excluded-fixtures -# MDX files with JSX comments that prettier incorrectly escapes -scopes/react/aspect-docs/react/react.mdx -scopes/react/ui/loader-fallback/loader-fallback.docs.mdx \ No newline at end of file +components/legacy/e2e-helper/excluded-fixtures \ No newline at end of file diff --git a/scopes/react/aspect-docs/react/react.mdx b/scopes/react/aspect-docs/react/react.mdx index f826a2832686..234f75b2d975 100644 --- a/scopes/react/aspect-docs/react/react.mdx +++ b/scopes/react/aspect-docs/react/react.mdx @@ -186,40 +186,44 @@ As such, they run in the environment's Preview runtime and not the Main runtime. For example, a provider that centers compositions in their rendering page, will look like this: ```tsx title="A composition provider example" -import React, { ReactReact, ReactElement } from 'react'; +import React, { ReactReact, ReactElement } from 'react' const style = { display: 'flex', justifyContent: 'center', alignItems: 'center', - height: '100vh', -}; + height: '100vh' +} -export const Center = ({ children }: { children: ReactReact }): ReactElement => { - return
{children}
; -}; +export const Center = ({ + children +}: { + children: ReactReact +}): ReactElement => { + return
{children}
+} ``` This `Center` provider component will be registered using the registerProvider method in the React extension's `*.preview.runtime.tsx` file: ```tsx title="react-with-providers.preview.runtime.tsx" -import { PreviewRuntime } from '@teambit/preview'; -import { ReactAspect, ReactPreview } from '@teambit/react'; -import { ReactWithProvidersAspect } from './react-with-providers.aspect'; -import { Center } from './composition-providers/center'; +import { PreviewRuntime } from '@teambit/preview' +import { ReactAspect, ReactPreview } from '@teambit/react' +import { ReactWithProvidersAspect } from './react-with-providers.aspect' +import { Center } from './composition-providers/center' export class ReactWithProvidersPreview { - static runtime = PreviewRuntime; - static dependencies = [ReactAspect]; + static runtime = PreviewRuntime + static dependencies = [ReactAspect] static async provider([react]: [ReactPreview]) { - react.registerProvider([Center]); + react.registerProvider([Center]) - return ReactWithProvidersPreview; + return ReactWithProvidersPreview } } -ReactWithProvidersAspect.addRuntime(ReactWithProvidersPreview); +ReactWithProvidersAspect.addRuntime(ReactWithProvidersPreview) ``` > See the full demo project [here](https://github.com/teambit/react-env-with-providers). */} diff --git a/scopes/react/ui/loader-fallback/loader-fallback.docs.mdx b/scopes/react/ui/loader-fallback/loader-fallback.docs.mdx index 38d3b4030036..abc84697c65a 100644 --- a/scopes/react/ui/loader-fallback/loader-fallback.docs.mdx +++ b/scopes/react/ui/loader-fallback/loader-fallback.docs.mdx @@ -24,7 +24,7 @@ const safeTarget = useFallback(Target && , , { tim {/* live playground doesn't keep state when editing :( */} {/* Try it out: -````tsx live +```tsx live function Example() { return (