Skip to content

Conversation

@weareoutman
Copy link
Member

@weareoutman weareoutman commented Jun 17, 2025

依赖检查

组件之间的依赖声明,是微服务组件架构下的重要信息,请确保其正确性。

请勾选以下两组选项其中之一:

  • 本次 MR 没有使用上游组件(例如框架、后台组件等)的较新版本提供的特性。

或者:

  • 本次 MR 使用了上游组件(例如框架、后台组件等)的较新版本提供的特性。
  • 在对应的文件中更新了该上游组件的依赖版本(或确认了当前声明的依赖版本已包含本次 MR 使用的新特性)。

提交信息检查

Git 提交信息将决定包的版本发布及自动生成的 CHANGELOG,请检查工作内容与提交信息是否相符,并在以下每组选项中都依次确认。

破坏性变更是针对于下游使用者而言,可以通过本次改动对下游使用者的影响来识别变更类型:

  • 下游使用者不做任何改动,仍可以正常工作时,那么它属于普通变更。
  • 反之,下游使用者不做改动就无法正常工作时,那么它属于破坏性变更。

例如,构件修改了一个属性名,小产品 Storyboard 中需要使用新属性名才能工作,那么它就是破坏性变更。
又例如,构件还没有任何下游使用者,那么它的任何变更都是普通变更。

破坏性变更:

  • ⚠️ 本次 MR 包含破坏性变更的提交,请继续确认以下所有选项:
  • 没有更好的兼容方案,必须做破坏性变更。
  • 使用了 feat 作为提交类型。
  • 标注了 BREAKING CHANGE: 你的变更说明
  • 同时更新了本仓库中所有下游使用者的调用。
  • 同时更新了本仓库中所有下游使用者对该子包的依赖为即将发布的 major 版本。
  • 同时为其它仓库的 Migrating 做好了准备,例如文档或批量改动的方法。
  • 手动验证过破坏性变更在 Migrate 后可以正常工作。
  • 破坏性变更所在的提交没有意外携带其它子包的改动。

新特性:

  • 本次 MR 包含新特性的提交,且该提交不带有破坏性变更,并使用了 feat 作为提交类型。
  • 给新特性添加了单元测试。
  • 手动验证过新特性可以正常工作。

问题修复:

  • 本次 MR 包含问题修复的提交,且该提交不带有新特性或破坏性变更,并使用了 fix 作为提交类型。
  • 给问题修复添加了单元测试。
  • 手动验证过问题修复得到解决。

杂项工作:

即所有对下游使用者无任何影响、且没有必要显示在 CHANGELOG 中的改动,例如修改注释、测试用例、开发文档等:

  • 本次 MR 包含杂项工作的提交,且该提交不带有问题修复、新特性或破坏性变更,并使用了 chore, docs, test 等作为提交类型。

Summary by CodeRabbit

  • 新功能

    • 新增可选配置项 supportsUseChildren,支持更灵活的子组件渲染处理。
  • 测试

    • 增加针对 supportsUseChildren 开启与关闭时渲染行为的测试,确保功能兼容性。
  • 文档

    • 扩展接口文档,新增 supportsUseChildren 配置项说明。
  • 重构

    • 优化了 useChildren 替换逻辑,支持单个或数组输入,提高代码灵活性。
  • 维护

    • 移除部分无用测试脚本和依赖,简化项目配置。

@coderabbitai
Copy link

coderabbitai bot commented Jun 17, 2025

## Walkthrough

本次变更为渲染系统引入了 `supportsUseChildren` 选项,涉及接口、函数签名和相关测试的调整。核心逻辑在于根据该选项决定是否对 bricks 结构进行 `replaceUseChildren` 预处理,并相应调整了工具函数与测试用例的输入输出格式。

## Changes

| 文件/路径分组                                                         | 变更摘要                                                         |
|-----------------------------------------------------------------------|------------------------------------------------------------------|
| etc/runtime.api.md<br>packages/runtime/src/createRoot.ts              | `CreateRootOptions` 接口新增可选属性 `supportsUseChildren?: boolean``unstable_createRoot` 函数签名支持该选项,渲染时根据该选项调用 `replaceUseChildren`|
| packages/preview/src/bootstrap.ts                                     | 移除了 `replaceUseChildren` 的导入及相关调用,创建 root 时传入 `supportsUseChildren: true`|
| packages/runtime/src/createRoot.spec.ts                               | 新增自定义元素 `MyBrick` 及两组测试,验证 `supportsUseChildren` 开关下的渲染行为差异。 |
| packages/utils/src/storyboard/index.ts                                | 新增 `export * from "./replaceUseChildren.js"`,对外暴露该工具方法。 |
| packages/utils/src/storyboard/replaceUseChildren.ts                   | `replaceUseChildren` 支持单个或数组输入,函数签名调整并添加注释说明。 |
| packages/utils/src/storyboard/replaceUseChildren.spec.ts              | 测试用例重构为单个 `BrickConf` 对象输入输出,结构更清晰,验证转换逻辑。 |
| packages/preview/package.json                                         | 移除 `test``test:ci` 脚本,删除 `@next-core/test-next``@next-core/utils` 开发依赖。 |

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

packages/preview/src/bootstrap.ts

Oops! Something went wrong! :(

ESLint: 9.29.0

Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@next-core/eslint-config-next' imported from /eslint.config.mjs
at Object.getPackageJSONURL (node:internal/modules/package_json_reader:255:9)
at packageResolve (node:internal/modules/esm/resolve:767:81)
at moduleResolve (node:internal/modules/esm/resolve:853:18)
at defaultResolve (node:internal/modules/esm/resolve:983:11)
at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:801:12)
at #cachedDefaultResolve (node:internal/modules/esm/loader:725:25)
at ModuleLoader.resolve (node:internal/modules/esm/loader:708:38)
at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:309:38)
at #link (node:internal/modules/esm/module_job:202:49)

packages/runtime/src/createRoot.spec.ts

Oops! Something went wrong! :(

ESLint: 9.29.0

Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@next-core/eslint-config-next' imported from /eslint.config.mjs
at Object.getPackageJSONURL (node:internal/modules/package_json_reader:255:9)
at packageResolve (node:internal/modules/esm/resolve:767:81)
at moduleResolve (node:internal/modules/esm/resolve:853:18)
at defaultResolve (node:internal/modules/esm/resolve:983:11)
at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:801:12)
at #cachedDefaultResolve (node:internal/modules/esm/loader:725:25)
at ModuleLoader.resolve (node:internal/modules/esm/loader:708:38)
at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:309:38)
at #link (node:internal/modules/esm/module_job:202:49)

packages/runtime/src/createRoot.ts

Oops! Something went wrong! :(

ESLint: 9.29.0

Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@next-core/eslint-config-next' imported from /eslint.config.mjs
at Object.getPackageJSONURL (node:internal/modules/package_json_reader:255:9)
at packageResolve (node:internal/modules/esm/resolve:767:81)
at moduleResolve (node:internal/modules/esm/resolve:853:18)
at defaultResolve (node:internal/modules/esm/resolve:983:11)
at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:801:12)
at #cachedDefaultResolve (node:internal/modules/esm/loader:725:25)
at ModuleLoader.resolve (node:internal/modules/esm/loader:708:38)
at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:309:38)
at #link (node:internal/modules/esm/module_job:202:49)

  • 3 others

📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge Base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between 4120bff and 5ceb8ff.

📒 Files selected for processing (8)
  • etc/runtime.api.md (2 hunks)
  • packages/preview/package.json (1 hunks)
  • packages/preview/src/bootstrap.ts (1 hunks)
  • packages/runtime/src/createRoot.spec.ts (2 hunks)
  • packages/runtime/src/createRoot.ts (4 hunks)
  • packages/utils/src/storyboard/index.ts (1 hunks)
  • packages/utils/src/storyboard/replaceUseChildren.spec.ts (1 hunks)
  • packages/utils/src/storyboard/replaceUseChildren.ts (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • packages/preview/src/bootstrap.ts
🚧 Files skipped from review as they are similar to previous changes (7)
  • packages/utils/src/storyboard/index.ts
  • packages/preview/package.json
  • etc/runtime.api.md
  • packages/utils/src/storyboard/replaceUseChildren.ts
  • packages/utils/src/storyboard/replaceUseChildren.spec.ts
  • packages/runtime/src/createRoot.ts
  • packages/runtime/src/createRoot.spec.ts
⏰ Context from checks skipped due to timeout of 90000ms (2)
  • GitHub Check: build (20.x)
  • GitHub Check: Analyze (javascript-typescript)
✨ Finishing Touches
  • 📝 Generate Docstrings

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

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

This PR introduces support for a new flag, supportsUseChildren, which enables conditional mutation of brick configurations via the replaceUseChildren utility. Key changes include updating the replaceUseChildren function to accept a single brick or an array of bricks, propagating the supportsUseChildren flag through createRoot and its tests, and updating the API docs accordingly.

Reviewed Changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
packages/utils/src/storyboard/replaceUseChildren.ts Updated to support single BrickConf or an array and improved comment.
packages/utils/src/storyboard/replaceUseChildren.spec.ts Modified tests to reflect the union-type input for replaceUseChildren.
packages/utils/src/storyboard/index.ts Re-exported the new replaceUseChildren utility.
packages/runtime/src/createRoot.ts Introduced and propagated the supportsUseChildren option in createRoot.
packages/runtime/src/createRoot.spec.ts Added tests to validate behavior when supportsUseChildren is enabled.
packages/preview/src/bootstrap.ts Adjusted createRoot call to pass supportsUseChildren and removed manual calls.
etc/runtime.api.md Updated API documentation to reflect the new supportsUseChildren flag.
Comments suppressed due to low confidence (2)

packages/utils/src/storyboard/replaceUseChildren.ts:12

  • [nitpick] Consider updating the function documentation and/or renaming the parameter 'input' to a more descriptive name such as 'brickOrBricks' to clearly reflect that the parameter accepts both a single BrickConf and an array.
export function replaceUseChildren(input: BrickConf | BrickConf[]) {

etc/runtime.api.md:590

  • [nitpick] Ensure that the API documentation comments reflect the semantics of the new supportsUseChildren flag, detailing its effect on rendering behavior for consumers.
export function unstable_createRoot(container: HTMLElement | DocumentFragment, { portal: _portal, scope, unknownBricks, supportsUseChildren, unsafe_penetrate, }?: CreateRootOptions): {

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (6)
packages/utils/src/storyboard/replaceUseChildren.ts (1)

12-19: 输入类型扩展良好,但可考虑空值保护

函数现在支持单个 BrickConf,实现简洁。若调用方意外传入 undefined/null,当前实现会抛异常;可在入口处添加早返回以提升健壮性:

+ if (!input) return;
packages/runtime/src/createRoot.ts (1)

48-52: 选项文档 OK,建议注明默认值

建议在注释中明确指出缺省情况下为 false,方便使用者快速了解行为差异。

packages/runtime/src/createRoot.spec.ts (2)

259-289: 断言过于脆弱,可考虑放宽匹配

  1. expect(container.innerHTML).toBe("<my-brick></my-brick>");
    JSDOM 对自定义元素的序列化实现没有稳定保证(未来版本可能包含空格或自闭合形式)。
  2. useBrick 的深度相等断言,如果后续在 replaceUseChildren 中添加其他字段(如 slotiid),测试将因无关字段失败。

建议:

  • 对 HTML 使用 toContain("<my-brick")firstElementChild?.tagName/nodeName 断言。
  • useBrick 使用 toMatchObject 而非 toEqual,只关心关键字段。
- expect(container.innerHTML).toBe("<my-brick></my-brick>");
+ expect(container.firstElementChild?.nodeName.toLowerCase()).toBe("my-brick");

- expect((container.firstElementChild as MyBrick).useBrick).toMatchObject({
+ expect((container.firstElementChild as MyBrick).useBrick).toMatchObject({
     brick: "div",
     properties: { textContent: "Hello Use Children" },
   });

293-320: 对比用例与上一用例逻辑重复,可参数化

“支持”与“不支持”两种情况仅在 supportsUseChildren 选项和值断言上存在差异;可以通过 it.each/test.each 参数化,减少重复代码并提高可读性。

示例(伪码):

test.each([
  [true, "<my-brick></my-brick>", expect.any(Object)],
  [false, '<my-brick><div slot="[items]">Hello Use Children</div></my-brick>', undefined],
])("use children (supports=%s)", async (flag, expectedHtml, expectedUseBrick) => {
  const root = unstable_createRoot(container, flag ? { supportsUseChildren: true } : undefined);
  await root.render();
  expect(container.innerHTML).toBe(expectedHtml);
  expect((container.firstElementChild as MyBrick).useBrick).toEqual(expectedUseBrick);
  root.unmount();
});
packages/utils/src/storyboard/replaceUseChildren.spec.ts (2)

124-186: 测试输入结构过于嵌套,可提取辅助函数

当前输入对象层级深且代码行数多,阅读困难。可以通过构造器/工厂函数或 buildBrick() 辅助方法简化测试数据,使重点放在 useChildrenuseBrick 的转换逻辑,而非冗长的 JSON。

示例:

function brick(name: string, extra: Partial<BrickConf> = {}): BrickConf {
  return { brick: name, ...extra };
}

// then
const brick = brick("brick-a", {
  properties: { useChildren: "[cell]" },
  children: [
    brick("brick-b", { slot: "[cell]", children: [  ] }),
  ],
});

188-246: 严格深度相等断言可能导致后续演进受阻

与 runtime 测试类似,这里使用 toEqual 对完整对象做深比较。若 replaceUseChildren 未来保留部分原字段(如 slot)或新增元数据,测试会不必要失败。可改用 toMatchObject 并仅断言关键差异(useChildren 被替换为 useBrick,未知 slot 保留 / 被删除等)。

- expect(brick).toEqual({
+ expect(brick).toMatchObject({
     properties: {
       useBrick: expect.any(Object),
       missed: { useChildren: "[missed]" },
     },
   });
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge Base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between e452085 and cdf49d7.

📒 Files selected for processing (7)
  • etc/runtime.api.md (2 hunks)
  • packages/preview/src/bootstrap.ts (1 hunks)
  • packages/runtime/src/createRoot.spec.ts (2 hunks)
  • packages/runtime/src/createRoot.ts (4 hunks)
  • packages/utils/src/storyboard/index.ts (1 hunks)
  • packages/utils/src/storyboard/replaceUseChildren.spec.ts (1 hunks)
  • packages/utils/src/storyboard/replaceUseChildren.ts (1 hunks)
🧰 Additional context used
🧬 Code Graph Analysis (3)
packages/utils/src/storyboard/replaceUseChildren.spec.ts (2)
packages/types/src/manifest.ts (1)
  • BrickConf (512-570)
packages/utils/src/storyboard/replaceUseChildren.ts (1)
  • replaceUseChildren (12-20)
packages/runtime/src/createRoot.ts (2)
packages/utils/src/storyboard/replaceUseChildren.ts (1)
  • replaceUseChildren (12-20)
packages/runtime/src/internal/RendererContext.ts (2)
  • bricks (327-373)
  • bricks (375-389)
packages/runtime/src/createRoot.spec.ts (1)
packages/runtime/src/createRoot.ts (1)
  • unstable_createRoot (74-275)
⏰ Context from checks skipped due to timeout of 90000ms (2)
  • GitHub Check: build (20.x)
  • GitHub Check: Analyze (javascript-typescript)
🔇 Additional comments (3)
packages/utils/src/storyboard/index.ts (1)

4-4: 已成功将 replaceUseChildren 暴露为公共 API

统一暴露的位置与其它工具函数保持一致,没有发现问题。

packages/preview/src/bootstrap.ts (1)

90-95: 预览环境强制启用 supportsUseChildren

预览场景下始终开启 supportsUseChildren 是合理的,不过如果后续引入不兼容旧数据的 YAML,可​能导致线上与预览渲染行为不一致,请确认其它运行环境也采用相同默认值。

etc/runtime.api.md (1)

117-124: API 报告文件由工具自动生成,无需手动评审

Also applies to: 590-593

@weareoutman weareoutman force-pushed the steve/v3-use-children branch from cdf49d7 to 4120bff Compare June 17, 2025 02:10
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

♻️ Duplicate comments (1)
packages/runtime/src/createRoot.spec.ts (1)

10-14: 避免自定义元素重复注册

此处直接 customElements.define("my-brick", MyBrick);,多次执行测试(如 jest --watch 或不同文件重复 import)时,若同名元素已存在会抛出 DOMException。建议在定义前先判断:

-if (!customElements.get("my-brick")) {
-  customElements.define("my-brick", MyBrick);
-}
+if (!customElements.get("my-brick")) {
+  customElements.define("my-brick", MyBrick);
+}
🧹 Nitpick comments (2)
packages/runtime/src/createRoot.spec.ts (2)

259-291: 缺少卸载后的断言,建议补充清理验证

测试最后仅调用 root.unmount(),未像文件中其它用例一样断言 container / portal 已被清空,减少了对内存泄漏或残留 DOM 的保护。可追加与其他测试保持一致的校验:

   root.unmount();
+  expect(container.innerHTML).toBe("");
+  expect(portal.innerHTML).toBe("");

293-320: 未验证卸载后的 DOM 状态

同上,用例结束后应确认 unmount 成功清理 DOM,避免潜在残留:

   root.unmount();
+  expect(container.innerHTML).toBe("");
+  expect(portal.innerHTML).toBe("");
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge Base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between cdf49d7 and 4120bff.

📒 Files selected for processing (8)
  • etc/runtime.api.md (2 hunks)
  • packages/preview/package.json (1 hunks)
  • packages/preview/src/bootstrap.ts (1 hunks)
  • packages/runtime/src/createRoot.spec.ts (2 hunks)
  • packages/runtime/src/createRoot.ts (4 hunks)
  • packages/utils/src/storyboard/index.ts (1 hunks)
  • packages/utils/src/storyboard/replaceUseChildren.spec.ts (1 hunks)
  • packages/utils/src/storyboard/replaceUseChildren.ts (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • packages/preview/src/bootstrap.ts
🚧 Files skipped from review as they are similar to previous changes (5)
  • packages/utils/src/storyboard/index.ts
  • packages/utils/src/storyboard/replaceUseChildren.ts
  • etc/runtime.api.md
  • packages/runtime/src/createRoot.ts
  • packages/utils/src/storyboard/replaceUseChildren.spec.ts
⏰ Context from checks skipped due to timeout of 90000ms (2)
  • GitHub Check: build (20.x)
  • GitHub Check: Analyze (javascript-typescript)
🔇 Additional comments (1)
packages/preview/package.json (1)

23-26: 脚本命令调整:移除 test/test:ci 并保留 build
已删除 testtest:ci 脚本,确保预览包的测试逻辑已迁移到 runtimeutils 包中,并且 CI 配置已指向新的测试位置。

@codecov
Copy link

codecov bot commented Jun 17, 2025

Codecov Report

Attention: Patch coverage is 80.00000% with 2 lines in your changes missing coverage. Please review.

Project coverage is 95.21%. Comparing base (604aacd) to head (5ceb8ff).
Report is 2 commits behind head on v3.

Files with missing lines Patch % Lines
packages/runtime/src/createRoot.ts 60.00% 2 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##               v3    #4735      +/-   ##
==========================================
- Coverage   95.22%   95.21%   -0.02%     
==========================================
  Files         209      209              
  Lines        9075     9082       +7     
  Branches     1739     1743       +4     
==========================================
+ Hits         8642     8647       +5     
- Misses        321      323       +2     
  Partials      112      112              
Files with missing lines Coverage Δ
...ackages/utils/src/storyboard/replaceUseChildren.ts 97.82% <100.00%> (ø)
packages/runtime/src/createRoot.ts 96.42% <60.00%> (-2.31%) ⬇️
🚀 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.

@cypress
Copy link

cypress bot commented Jun 17, 2025

next-core    Run #11474

Run Properties:  status check passed Passed #11474  •  git commit 02fc7094fe ℹ️: Merge 5ceb8ff899cf9637c1f01025622c3a5acba73d64 into 604aacd3517736caf3acaf5086ba...
Project next-core
Branch Review steve/v3-use-children
Run status status check passed Passed #11474
Run duration 00m 24s
Commit git commit 02fc7094fe ℹ️: Merge 5ceb8ff899cf9637c1f01025622c3a5acba73d64 into 604aacd3517736caf3acaf5086ba...
Committer Shenwei Wang
View all properties for this run ↗︎

Test results
Tests that failed  Failures 0
Tests that were flaky  Flaky 0
Tests that did not run due to a developer annotating a test with .skip  Pending 0
Tests that did not run due to a failure in a mocha hook  Skipped 0
Tests that passed  Passing 17
View all changes introduced in this branch ↗︎

@weareoutman weareoutman force-pushed the steve/v3-use-children branch from 4120bff to 8313d69 Compare July 2, 2025 07:43
@weareoutman weareoutman force-pushed the steve/v3-use-children branch from 8313d69 to 5ceb8ff Compare July 2, 2025 07:44
@weareoutman weareoutman merged commit fe1a4a7 into v3 Jul 2, 2025
6 of 8 checks passed
@weareoutman weareoutman deleted the steve/v3-use-children branch July 2, 2025 07:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants