Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 27 additions & 27 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ version: 2.1
# Base configurations
default_image: &default_image
docker:
- image: cimg/node:22.22.0
- image: cimg/node:24.13.0

default_resource_class: &default_resource_class
resource_class: medium
Expand Down Expand Up @@ -324,13 +324,13 @@ commands:
windows_set_node_version:
parameters:
version:
default: 22.22.0
default: 24.13.0
type: string
steps:
- run: choco upgrade nvm -y
- run: nvm -v
- run: nvm install 22.22.0
- run: nvm use 22.22.0
- run: nvm install 24.13.0
- run: nvm use 24.13.0
- run: node -v
Comment on lines 324 to 334

windows_add_bvm_to_path:
Expand Down Expand Up @@ -371,7 +371,7 @@ commands:
default: 'BASE_IMAGE'
type: string
docker_build_base_image_arg_value:
default: 'node:22.22.0'
default: 'node:24.13.0'
type: string
image_name:
default: 'bitcli/bit'
Expand Down Expand Up @@ -404,7 +404,7 @@ commands:
default: 'BASE_IMAGE'
type: string
docker_build_base_image_arg_value:
default: 'node:22.22.0'
default: 'node:24.13.0'
type: string
image_name:
default: 'bitcli/bit'
Expand Down Expand Up @@ -1200,27 +1200,27 @@ jobs:
path: 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.22.0"
docker_tag_suffix: "-node-22.22.0"
docker_build_base_image_arg_value: "node:24.13.0"
docker_tag_suffix: "-node-24.13.0"

Comment on lines +1203 to 1212
docker_non_root_build_node_22:
docker_non_root_build_node_24:
machine:
Comment on lines +1203 to 1214

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Action required

1. Manual deploy workflow broken 🐞 Bug ☼ Reliability

.circleci/config.yml renames Docker build jobs to *_node_24, but harmony_deploy_manual still
references the removed *_node_22 job names, causing CircleCI config validation/job resolution to
fail for that workflow.
Agent Prompt
### Issue description
`harmony_deploy_manual` still calls `docker_build_node_22`, `docker_non_root_build_node_22`, and `server_docker_build_node_22`, but the PR renamed/defines only the `*_node_24` jobs. CircleCI will fail to run this workflow because it cannot find the referenced jobs.

### Issue Context
The PR updated job definitions and some workflows to Node 24 naming, but missed the manual deploy workflow.

### Fix Focus Areas
- .circleci/config.yml[1445-1481]
- .circleci/config.yml[1026-1072]

### Suggested fix
In `workflows: harmony_deploy_manual: jobs:`, rename:
- `docker_build_node_22` -> `docker_build_node_24`
- `docker_non_root_build_node_22` -> `docker_non_root_build_node_24`
- `server_docker_build_node_22` -> `server_docker_build_node_24`

Also update `requires:` to depend on `docker_build_node_24` where applicable.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

image: ubuntu-2004:202111-02
steps:
- attach_workspace:
at: ./
- docker_build_and_push:
docker_build_base_image_arg_value: "node:22.22.0"
docker_build_base_image_arg_value: "node:24.13.0"
image_name: "bitcli/bit-non-root"
docker_file_name: "Dockerfile-bit-non-root"
docker_tag_suffix: "-node-22.22.0"
docker_tag_suffix: "-node-24.13.0"

docker_build_alpine:
machine:
Expand All @@ -1229,22 +1229,22 @@ jobs:
- attach_workspace:
at: ./
- docker_build_and_push:
docker_build_base_image_arg_value: "node:22.22.0-alpine"
docker_build_base_image_arg_value: "node:24.13.0-alpine"
# image_name: "bitcli/bit-alpine"
docker_file_name: "Dockerfile-bit-alpine"
docker_tag_suffix: "-alpine-node-22.22.0"
docker_tag_suffix: "-alpine-node-24.13.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.22.0"
docker_build_base_image_arg_value: "`npm show @teambit/bit version`-node-24.13.0"
image_name: "bitcli/bit-server"
docker_file_name: "Dockerfile-bit-server"
docker_tag_suffix: "-node-22.22.0"
docker_tag_suffix: "-node-24.13.0"

# ========== Windows Jobs ==========
windows_checkout_code:
Expand Down Expand Up @@ -1391,9 +1391,9 @@ jobs:
# - run: node -v
# - run: npm -v
# - run: yarn -v
# # - run: choco install nodejs --version 22.22.0
# # - run: choco install nodejs --version 24.13.0
# # - run: node -v
# - run: cinst nodejs --version 22.22.0
# - run: cinst nodejs --version 24.13.0
# - run: node -v

# ========================================
Expand Down Expand Up @@ -1521,18 +1521,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
Expand Down Expand Up @@ -1616,22 +1616,22 @@ 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
- docker_build_alpine:
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

# Manual deploy workflow: same jobs as harmony_deploy, without the approval gate.
# Trigger from the CircleCI web app (or API) on master with run_deploy=true.
Expand Down
5 changes: 4 additions & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
fixtures
e2e/fixtures
components/legacy/e2e-helper/excluded-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
Comment thread
davidfirst marked this conversation as resolved.
Comment on lines +4 to +6

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Remediation recommended

1. .prettierignore missing final newline 📘 Rule violation ⚙ Maintainability

The updated .prettierignore file is committed without a trailing newline, which violates the
repository’s formatting standard and can cause formatting/lint checks to fail in CI or pre-commit
hooks.
Agent Prompt
## Issue description
`.prettierignore` is missing the required final newline (per `.editorconfig`).

## Issue Context
The repo enforces `insert_final_newline = true`, and the diff indicates `\ No newline at end of file` for `.prettierignore`.

## Fix Focus Areas
- .prettierignore[4-6]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

34 changes: 15 additions & 19 deletions scopes/react/aspect-docs/react/react.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -186,44 +186,40 @@ 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 <div style={style}>{children}</div>
}
export const Center = ({ children }: { children: ReactReact }): ReactElement => {
return <div style={style}>{children}</div>;
};
```

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);
Comment thread
davidfirst marked this conversation as resolved.
```

> See the full demo project [here](https://github.com/teambit/react-env-with-providers). */}
Expand Down
3 changes: 2 additions & 1 deletion scopes/react/ui/loader-fallback/loader-fallback.docs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ const safeTarget = useFallback(Target && <Target />, <DefaultComponent />, { tim
{/* live playground doesn't keep state when editing :( */}
{/* Try it out:

```tsx live
````tsx live
function Example() {
return (
<LoaderFallback
Expand All @@ -43,3 +43,4 @@ function Example() {
}
}
``` */}
````
Comment on lines 45 to +46
4 changes: 2 additions & 2 deletions workspace.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -727,7 +727,7 @@
"@pnpm/util.lex-comparator": "3.0.2",
"@pnpm/config.nerf-dart": "1.0.1"
},
"nodeVersion": "22.22.0",
"nodeVersion": "24.13.0",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Remediation recommended

3. Node typings lag runtime 🐞 Bug ⚙ Maintainability

After bumping the enforced Node runtime to 24.13.0 in workspace.jsonc, the workspace still pins
@types/node to 22.10.5, so TypeScript will not reflect the Node 24 API surface.
This blocks/complicates adopting Node 24 APIs and can produce misleading type errors/omissions
relative to the runtime the project now standardizes on.
Agent Prompt
### Issue description
The PR updates the workspace Node runtime target to 24.13.0, but `@types/node` is still pinned to 22.10.5 in `workspace.jsonc`. This leaves TypeScript typings behind the standardized runtime.

### Issue Context
`@types/node` is pinned in multiple dependency lists in `workspace.jsonc`, while `nodeVersion` is now 24.13.0.

### Fix Focus Areas
- workspace.jsonc[395-402]
- workspace.jsonc[698-734]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

"engineStrict": true,
// This is a temporary workaround to fix "bit compile" on macOS and Windows.
Comment on lines +730 to 732

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Remediation recommended

2. Node policy inconsistent 🐞 Bug ⚙ Maintainability

The PR updates CI and Bit workspace tooling to use Node 24.13.0, but the root package.json still
declares engines.node ">=22.13.0", so the repo no longer has a single authoritative minimum Node
version across tooling entry points.
This can lead to developers/automation selecting Node 22 (allowed by engines) while CI/Bit expects
Node 24, creating avoidable environment skew.
Agent Prompt
### Issue description
CI and the Bit workspace config now target Node 24.13.0, but the root `package.json` `engines.node` still allows Node 22.x. This leaves conflicting signals about the supported/minimum Node version.

### Issue Context
- `workspace.jsonc` sets `nodeVersion` to `24.13.0` and has `engineStrict: true`.
- `.circleci/config.yml` uses `cimg/node:24.13.0`.
- `package.json` still advertises `engines.node: ">=22.13.0"`.

### Fix Focus Areas
- package.json[5-7]
- workspace.jsonc[727-734]
- .circleci/config.yml[7-12]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

// "bit compile" breaks node_modules when hard links are used.
Expand Down Expand Up @@ -806,7 +806,7 @@
"packageJson": {
"name": "@teambit/{name}", // @teambit/discovery.ui.sidebar
"bvm": {
"node": "22.22.0"
"node": "24.13.0"
},
"engines": {
"node": ">=18.12.0"
Expand Down