@bleedingdev/modern-js-main-doc 3.2.0-ultramodern.0 → 3.2.0-ultramodern.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/docs/en/_nav.json CHANGED
@@ -1,7 +1,7 @@
1
1
  [
2
2
  {
3
- "text": "guide",
4
- "link": "/guides/get-started/introduction",
3
+ "text": "UltraModern Guide",
4
+ "link": "/guides/get-started/ultramodern",
5
5
  "activeMatch": "/guides/"
6
6
  },
7
7
  {
@@ -30,7 +30,7 @@
30
30
  "activeMatch": "/community/"
31
31
  },
32
32
  {
33
- "text": "Modern.js 2.x Docs",
33
+ "text": "Upstream Modern.js 2.x Docs",
34
34
  "link": "https://modernjs.dev/v2"
35
35
  }
36
36
  ]
@@ -1,6 +1,6 @@
1
1
  [
2
- "introduction",
3
2
  "ultramodern",
3
+ "introduction",
4
4
  "quick-start",
5
5
  "upgrade",
6
6
  "glossary",
@@ -1,39 +1,39 @@
1
1
  ---
2
- title: UltraModern.js
2
+ title: UltraModern.js 3.0
3
3
  sidebar_position: 2
4
4
  ---
5
5
 
6
- # UltraModern.js v3 vs Modern.js v3
6
+ # UltraModern.js 3.0 vs Modern.js 3.0
7
7
 
8
- This page compares **UltraModern.js v3** with **Modern.js v3** (baseline: `v3.0.2`).
8
+ This page compares **UltraModern.js 3.0** with the Modern.js 3.x line this fork tracks. The baseline is the current merged Modern.js `release-v3.x` baseline, not a frozen patch-version snapshot.
9
9
 
10
- UltraModern.js serves here as the reference name for the public `presetUltramodern(...)` Modern.js profile. The goal is to harden the baseline for super-app and ERP-scale systems without forking Modern.js into a separate framework.
10
+ UltraModern.js 3.0 is our SuperApp framework forked from Modern.js. It keeps compatibility with the Modern.js plugin/runtime mental model where that helps adoption, but it is positioned as a separate framework for Effect-first BFFs, TanStack Router, SSR, Module Federation, and independently deployable Micro Verticals.
11
11
 
12
12
  ## Design Principles
13
13
 
14
- - Keep deltas small and explicit.
15
- - Preserve the upstream Modern.js mental model and mergeability.
14
+ - Keep deltas explicit and auditable.
15
+ - Preserve compatibility with useful Modern.js concepts without presenting UltraModern.js as a preset-only variant.
16
16
  - Add platform-level contracts only where they improve cross-team reliability.
17
17
  - Keep opt-out switches and explicit compatibility lanes available.
18
18
 
19
19
  ## Compatibility Contract
20
20
 
21
- UltraModern.js v3 keeps:
21
+ UltraModern.js 3.0 keeps:
22
22
 
23
23
  - Modern.js app/config/plugin mental model.
24
24
  - Existing project structure and command flow.
25
25
  - Progressive adoption path (apps can stay mostly unchanged).
26
26
 
27
- UltraModern additions are designed to land as stronger defaults, explicit compatibility lanes, or auditable gates rather than as a separate product surface.
27
+ UltraModern.js additions are designed as the default product surface for new SuperApps. Compatibility lanes remain available when they reduce migration risk, but the framework direction is Effect + TanStack + SSR + Micro Verticals.
28
28
 
29
29
  ## Intentional Differences (v3 line)
30
30
 
31
- | Area | Modern.js v3 baseline | UltraModern.js v3 |
31
+ | Area | Modern.js 3.0 baseline | UltraModern.js 3.0 |
32
32
  | --- | --- | --- |
33
33
  | Build diagnostics | RsDoctor is generally opt-in | Adds `performance.rsdoctor`, default-on diagnostics in production Rspack builds, and `.rsdoctor/ultramodern-diagnostics.json` contract artifact |
34
34
  | Output and static serving | Precompression behavior is app-defined | Enables `output.precompress` by default and serves `.br` / `.gz` variants via `Accept-Encoding` negotiation |
35
35
  | BFF runtime and contracts | Standard BFF runtime/client generation | Adds `requestId`-aware producer isolation, fail-fast initialization checks, and operation/trace correlation headers |
36
- | BFF runtime choices | Hono runtime path only in Modern.js v3 baseline (no built-in Effect runtime path) | Sets Effect as default runtime, enforces strict runtime split (`effect` -> `api/effect`, `hono` -> `api/lambda`), and adds Effect-Schema-first contracts plus MF failure-injection reliability coverage |
36
+ | BFF runtime choices | Hono runtime path only in Modern.js 3.0 baseline (no built-in Effect runtime path) | Sets Effect as default runtime, enforces strict runtime split (`effect` -> `api/effect`, `hono` -> `api/lambda`), and adds Effect-Schema-first contracts plus MF failure-injection reliability coverage |
37
37
  | Telemetry standardization | Observability wiring is often app-specific | Adds framework-level telemetry pipeline with OTLP/VictoriaMetrics exporters, redaction, batching, and backpressure controls |
38
38
  | App-level MF SSR handshake | No dedicated super-app app-level stability contract focus | Adds `server.ssr.moduleFederationAppSSR` plus integration-tested env/config handshake |
39
39
  | MF remote reliability | Retry/fallback patterns are often implemented per app | Adds deterministic timeout/network/contract-error reliability matrix and distributed OTEL continuity tests |
@@ -44,14 +44,14 @@ UltraModern additions are designed to land as stronger defaults, explicit compat
44
44
 
45
45
  ## What We Intentionally Do Not Change
46
46
 
47
- - We do not fork core architecture into a separate framework model.
48
- - We do not replace normal Modern.js defaults for teams that do not need super-app contracts.
47
+ - We do not hide the fork behind legacy Modern.js branding.
48
+ - We do not optimize for generic Modern.js defaults when they conflict with SuperApp reliability.
49
49
  - We keep both runtime modes (`effect`, `hono`) as explicit choices and avoid implicit fallback between them.
50
50
  - We avoid incompatible API changes unless there is a hard reliability requirement.
51
51
 
52
52
  ## Adoption Notes
53
53
 
54
- For teams already on Modern.js v3, the path remains compatibility-first: keep the Modern.js mental model, move toward MV-first / TanStack-first / Effect-first defaults, and keep fallback lanes explicit while you adopt the stronger profile.
54
+ For teams already on Modern.js 3.0, the adoption path remains compatibility-aware: keep the pieces that reduce risk, move toward MV-first / TanStack-first / Effect-first defaults, and keep fallback lanes explicit while you adopt UltraModern.js 3.0 as a separate framework.
55
55
 
56
56
  1. Keep existing React Router apps running as-is. TanStack Router is the preferred path for new scaffolds and incremental route adoption, but the React Router lane remains supported while teams move on their own schedule.
57
57
  2. Prefer `bff.runtimeFramework: 'effect'` for new BFF work, with the entry implemented at `api/effect/index.ts`. If your app already uses Hono handlers under `api/lambda/**`, keep `bff.runtimeFramework: 'hono'` until you are ready to move them; Hono remains a supported compatibility lane.
package/docs/en/index.md CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  pageType: home
3
3
  ---
4
- # Modern.js - A Progressive React Framework for modern web development
4
+ # UltraModern.js 3.0 - A SuperApp framework for Effect, TanStack, SSR, BFF, and Micro Verticals
package/docs/zh/_nav.json CHANGED
@@ -1,7 +1,7 @@
1
1
  [
2
2
  {
3
- "text": "指南",
4
- "link": "/guides/get-started/introduction",
3
+ "text": "UltraModern 指南",
4
+ "link": "/guides/get-started/ultramodern",
5
5
  "activeMatch": "/guides/"
6
6
  },
7
7
  {
@@ -30,7 +30,7 @@
30
30
  "activeMatch": "/community/"
31
31
  },
32
32
  {
33
- "text": "Modern.js 2.x 文档",
33
+ "text": "上游 Modern.js 2.x 文档",
34
34
  "link": "https://modernjs.dev/v2/zh/"
35
35
  }
36
36
  ]
@@ -1,6 +1,6 @@
1
1
  [
2
- "introduction",
3
2
  "ultramodern",
3
+ "introduction",
4
4
  "quick-start",
5
5
  "upgrade",
6
6
  "glossary",
@@ -1,39 +1,39 @@
1
1
  ---
2
- title: UltraModern.js
2
+ title: UltraModern.js 3.0
3
3
  sidebar_position: 2
4
4
  ---
5
5
 
6
- # UltraModern.js v3 与 Modern.js v3 对比
6
+ # UltraModern.js 3.0 与 Modern.js 3.0 对比
7
7
 
8
- 本文对比 **UltraModern.js v3** **Modern.js v3**(基线:`v3.0.2`)。
8
+ 本文对比 **UltraModern.js 3.0** 与本 fork 持续跟进的 Modern.js 3.x 版本线。这里的基线应理解为当前已合并的 Modern.js `release-v3.x` 基线,而不是固定的补丁版本快照。
9
9
 
10
- UltraModern.js 在这里更像是“更强默认值的 Modern.js 配置档案”这一参考名词:目标是在不把 Modern.js 分叉成另一套框架的前提下,为 Super App / ERP 场景加固默认基线。
10
+ UltraModern.js 3.0 是我们从 Modern.js 分叉出来的 SuperApp 框架。它保留有利于接入的 Modern.js 插件/运行时心智模型,但产品定位是独立框架:面向 Effect-first BFF、TanStack Router、SSR、Module Federation 与可独立部署的 Micro Verticals。
11
11
 
12
12
  ## 设计原则
13
13
 
14
- - 差异要小且明确。
15
- - 保持上游 Modern.js 的心智模型与可持续回灌能力。
14
+ - 差异要明确、可审计。
15
+ - 保留有价值的 Modern.js 兼容概念,但不再把 UltraModern.js 表达成“只是一个预设”。
16
16
  - 仅在跨团队稳定性场景增加平台契约。
17
17
  - 保留按应用关闭和显式兼容分支的能力。
18
18
 
19
19
  ## 兼容性承诺
20
20
 
21
- UltraModern.js v3 保持以下不变:
21
+ UltraModern.js 3.0 保持以下不变:
22
22
 
23
23
  - Modern.js 的应用/配置/插件心智模型。
24
24
  - 既有项目结构与命令使用方式。
25
25
  - 渐进式接入路径(应用无需大规模重构)。
26
26
 
27
- UltraModern 的增强能力会尽量以“更强默认值”“显式兼容分支”或“可审计 gate”的形式落地,而不是演化成另一套独立产品面。
27
+ UltraModern.js 的增强能力是新 SuperApp 的默认产品面。兼容分支仍然存在,用于降低迁移风险,但框架方向是 Effect + TanStack + SSR + Micro Verticals。
28
28
 
29
- ## 有意引入的差异(v3 线)
29
+ ## 有意引入的差异(3.0 线)
30
30
 
31
- | 领域 | Modern.js v3 基线 | UltraModern.js v3 |
31
+ | 领域 | Modern.js 3.0 基线 | UltraModern.js 3.0 |
32
32
  | --- | --- | --- |
33
33
  | 构建诊断能力 | RsDoctor 多为显式开启 | 新增 `performance.rsdoctor`,并在 Rspack 生产构建默认开启,同时产出 `.rsdoctor/ultramodern-diagnostics.json` 契约文件 |
34
34
  | 输出与静态资源回源 | 预压缩策略通常由业务自定义 | 默认开启 `output.precompress`,并按 `Accept-Encoding` 协商 `.br` / `.gz` 回源 |
35
35
  | BFF 运行时与契约 | 提供标准 BFF 运行时与客户端生成能力 | 增加 `requestId` 维度隔离、初始化 fail-fast 校验与操作/追踪关联 Header |
36
- | BFF 运行时选型 | Modern.js v3 基线仅提供 Hono 运行时路径(无内建 Effect 运行时) | 将 Effect 设为默认运行时,并采用严格运行时拆分(`effect` -> `api/effect`,`hono` -> `api/lambda`),同时补齐 Effect-Schema-first 契约与 MF failure-injection 覆盖 |
36
+ | BFF 运行时选型 | Modern.js 3.0 基线仅提供 Hono 运行时路径(无内建 Effect 运行时) | 将 Effect 设为默认运行时,并采用严格运行时拆分(`effect` -> `api/effect`,`hono` -> `api/lambda`),同时补齐 Effect-Schema-first 契约与 MF failure-injection 覆盖 |
37
37
  | Telemetry 标准化 | 可观测链路通常由业务侧自行拼装 | 增加框架级 telemetry 管线,内置 OTLP/VictoriaMetrics,支持脱敏、批处理与背压 |
38
38
  | 应用级 MF SSR 协议 | 没有以 super-app 为重点的应用级稳定性契约开关 | 增加 `server.ssr.moduleFederationAppSSR` 配置/环境变量握手,并补齐集成级回归保障 |
39
39
  | MF 远程加载可靠性 | 重试/降级策略通常由各业务单独实现 | 增加 timeout/network/contract-error 的确定性可靠性矩阵与分布式 OTEL 连续性断言 |
@@ -44,14 +44,14 @@ UltraModern 的增强能力会尽量以“更强默认值”“显式兼容分
44
44
 
45
45
  ## 我们刻意不做的事情
46
46
 
47
- - 不将核心架构分叉成另一套不兼容框架模型。
48
- - 不强制替换普通 Modern.js 团队已稳定使用的默认行为。
47
+ - 不再把这个 fork 隐藏在旧 Modern.js 品牌后面。
48
+ - 当通用 Modern.js 默认值与 SuperApp 可靠性冲突时,不优先优化通用默认值。
49
49
  - 运行时保持 `effect` 与 `hono` 双模式并存,但不提供隐式回退。
50
50
  - 除非稳定性硬需求,否则避免引入破坏性 API 变更。
51
51
 
52
52
  ## 迁移说明
53
53
 
54
- 对于已经在使用 Modern.js v3 的团队,迁移路径依然是“兼容优先”:保持 Modern.js 的心智模型不变,逐步向 MV-first / TanStack-first / Effect-first 默认方向收敛,同时把兼容分支明确保留下来。
54
+ 对于已经在使用 Modern.js 3.0 的团队,迁移路径是“兼容感知”:保留能降低风险的部分,逐步向 MV-first / TanStack-first / Effect-first 默认方向收敛,并把 UltraModern.js 3.0 作为独立框架采用。
55
55
 
56
56
  1. 既有 React Router 应用可以继续按现状运行。TanStack Router 是新脚手架与增量迁移的优先路径,但 React Router 兼容分支仍然保留,团队可以按自己的节奏迁移。
57
57
  2. 新建或迁移中的 BFF 能力优先使用 `bff.runtimeFramework: 'effect'`,并将入口实现放在 `api/effect/index.ts`。如果当前应用已经在 `api/lambda/**` 下使用 Hono 处理函数,就继续显式使用 `bff.runtimeFramework: 'hono'`,等准备好再迁移;Hono 仍是受支持的兼容分支。
package/docs/zh/index.md CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  pageType: home
3
3
  ---
4
- # Modern.js - 基于 React 的渐进式 Web 开发框架
4
+ # UltraModern.js 3.0 - 面向 Effect、TanStack、SSR、BFF Micro Verticals 的 SuperApp 框架
@@ -1,23 +1,23 @@
1
1
  ---
2
- title: UltraModern.js V3
2
+ title: UltraModern.js 3.0
3
3
  sidebar_position: 6
4
4
  ---
5
5
 
6
- # UltraModern.js V3 vs Modern.js V3
6
+ # UltraModern.js 3.0 vs Modern.js 3.0
7
7
 
8
- UltraModern.js V3 documents the public `presetUltramodern(...)` Modern.js profile for large, independently deployable super-app and ERP-style systems.
8
+ UltraModern.js 3.0 is our SuperApp framework forked from Modern.js for large, independently deployable super-app and ERP-style systems.
9
9
 
10
- This page is the complete public difference reference for that documented V3 profile.
10
+ This page is the complete public difference reference for the UltraModern.js 3.0 framework line.
11
11
 
12
- ## Scope (V3 Only)
12
+ ## Scope (3.0 Only)
13
13
 
14
- - Baseline: Modern.js `release-v3.x`.
15
- - Scope: all user-visible differences shipped in UltraModern.js V3.
16
- - Excluded: roadmap/mainline-only work that is not shipped to V3.
14
+ - Baseline: the current merged Modern.js `release-v3.x` baseline tracked by this fork; this page should not be read as a frozen patch-version comparison.
15
+ - Scope: all user-visible differences shipped in UltraModern.js 3.0.
16
+ - Excluded: roadmap/mainline-only work that is not shipped to UltraModern.js 3.0.
17
17
 
18
- ## Complete Difference Matrix (V3)
18
+ ## Complete Difference Matrix (3.0)
19
19
 
20
- | Area | Modern.js V3 baseline | UltraModern.js V3 difference | Status in V3 | Notes |
20
+ | Area | Modern.js 3.0 baseline | UltraModern.js 3.0 difference | Status in 3.0 | Notes |
21
21
  | --- | --- | --- | --- | --- |
22
22
  | Build diagnostics default | RsDoctor usage is opt-in in most projects | Rspack production build enables RsDoctor by default | Implemented | Can be disabled via `performance.rsdoctor` |
23
23
  | Build diagnostics config surface | No `performance.rsdoctor` option in framework docs | Adds `performance.rsdoctor` (`boolean` or `{ enabled, disableClientServer, reportDir, mode }`) | Implemented | `disableClientServer` defaults to `true` |
@@ -39,18 +39,18 @@ This page is the complete public difference reference for that documented V3 pro
39
39
  | App-level MF SSR contract flag | No dedicated app-level MF SSR stability contract switch | Adds `server.ssr.moduleFederationAppSSR` contract and auto-enables env wiring when MF SSR markers are detected | Implemented | Sets `process.env.MODERN_MF_APP_SSR` |
40
40
  | App-level MF SSR runtime bridge | Not a stable default bridge path | V3 applies stable bridge defaults for MF SSR node output/runtime env when server rendering + MF markers are present | Implemented | Keeps explicit opt-out path via config/env |
41
41
  | MF remote loader reliability contracts | Remote loading fallback patterns are typically app-defined | Adds deterministic timeout/network/contract-error fallback matrix and distributed OTEL continuity assertions | Implemented | `routes-tanstack-mf` reliability suite |
42
- | BFF runtime choices | Hono runtime path only in Modern.js V3 baseline (no built-in Effect runtime path) | Sets Effect as default runtime, enforces strict runtime split (`effect` -> `api/effect`, `hono` -> `api/lambda`), and adds Effect-Schema-only MF data contracts plus failure-injection coverage for federated data fetch | Implemented (Effect-default + strict split) | Stream is explicit about no Zod introduction |
42
+ | BFF runtime choices | Hono runtime path only in Modern.js 3.0 baseline (no built-in Effect runtime path) | Sets Effect as default runtime, enforces strict runtime split (`effect` -> `api/effect`, `hono` -> `api/lambda`), and adds Effect-Schema-only MF data contracts plus failure-injection coverage for federated data fetch | Implemented (Effect-default + strict split) | Stream is explicit about no Zod introduction |
43
43
  | Module SDK contract artifact | No framework-level module contract artifact | Adds machine-readable module contract + typed module SDK interfaces | Implemented | `module-sdk-contracts.json` + `moduleSdk.d.ts` |
44
44
  | Boundary anti-pattern CI guards | No dedicated boundary anti-pattern workflow | Adds profile-driven CI checks for boundary imports, required hooks, and forbidden module patterns | Implemented | `.github/workflows/boundary-anti-patterns.yml` |
45
45
  | Release/module certification gate automation | No super-app release evidence profile in baseline | Adds RC + module-certification gate profiles, evidence metadata validation, and dedicated CI workflows | Implemented | `.github/workflows/release-contract-gates.yml` + module/bun gate workflows |
46
- | Contract test coverage | No tests for these new contracts in V3 baseline | Adds focused tests for RsDoctor defaults, BFF requestId, telemetry, SSR MF contract env wiring | Implemented | Reduces regression risk in super-app scenarios |
46
+ | Contract test coverage | No tests for these new contracts in the tracked Modern.js 3.x baseline | Adds focused tests for RsDoctor defaults, BFF requestId, telemetry, SSR MF contract env wiring | Implemented | Reduces regression risk in super-app scenarios |
47
47
  | Public docs surface | No UltraModern V3 comparison page | Adds dedicated V3 difference page and linked config docs | Implemented | This page is the reference page for the public preset profile |
48
48
 
49
- ## Detailed V3 Differences
49
+ ## Detailed 3.0 Differences
50
50
 
51
51
  ### 1) `performance.rsdoctor` and default-on diagnostics
52
52
 
53
- UltraModern.js V3 extends performance config with:
53
+ UltraModern.js 3.0 extends performance config with:
54
54
 
55
55
  - `performance.rsdoctor: boolean | { enabled?: boolean; disableClientServer?: boolean; reportDir?: string; mode?: 'normal' | 'brief' | 'lite' }`
56
56
  - Rspack + production: enabled by default.
@@ -75,7 +75,7 @@ export default defineConfig({
75
75
 
76
76
  ### 2) Cross-project BFF hardening with `requestId`
77
77
 
78
- UltraModern.js V3 adds explicit producer identity across the BFF toolchain:
78
+ UltraModern.js 3.0 adds explicit producer identity across the BFF toolchain:
79
79
 
80
80
  - `bff.requestId` in plugin config.
81
81
  - Loader/client generation passes `requestId` to `createRequest(...)`.
@@ -92,7 +92,7 @@ configure({
92
92
  });
93
93
  ```
94
94
 
95
- Contract behavior in V3:
95
+ Contract behavior in 3.0:
96
96
 
97
97
  - Non-default producer calls without prior `configure({ requestId })` throw `ProducerClientNotInitializedError`.
98
98
  - `allowedHeaders` / `request` / `setDomain` are isolated by `requestId`.
@@ -104,7 +104,7 @@ Contract behavior in V3:
104
104
 
105
105
  ### 3) `server.telemetry` standardization and exporters
106
106
 
107
- UltraModern.js V3 adds a unified telemetry contract:
107
+ UltraModern.js 3.0 adds a unified telemetry contract:
108
108
 
109
109
  - Config surface in `server.telemetry`.
110
110
  - Internal registry with sampling, batching, redaction, backpressure handling.
@@ -147,7 +147,7 @@ Important V3 behavior:
147
147
 
148
148
  ### 4) Trace tags in SSR metrics
149
149
 
150
- When an incoming request contains W3C `traceparent`, UltraModern.js V3 parses and injects:
150
+ When an incoming request contains W3C `traceparent`, UltraModern.js 3.0 parses and injects:
151
151
 
152
152
  - `trace_id`
153
153
  - `span_id`
@@ -156,7 +156,7 @@ into SSR metric tags, improving correlation between app metrics and distributed
156
156
 
157
157
  ### 5) App-level MF SSR stable contract (`server.ssr.moduleFederationAppSSR`)
158
158
 
159
- UltraModern.js V3 adds:
159
+ UltraModern.js 3.0 adds:
160
160
 
161
161
  - Preferred flag: `server.ssr.moduleFederationAppSSR` (also works under `server.ssrByEntries`).
162
162
  - Global compile-time env:
@@ -176,7 +176,7 @@ When MF SSR markers are detected in server-rendered entries, V3 now enables the
176
176
 
177
177
  ### 6) Contract-level test hardening in V3
178
178
 
179
- UltraModern.js V3 adds dedicated coverage for:
179
+ UltraModern.js 3.0 adds dedicated coverage for:
180
180
 
181
181
  - RsDoctor default behavior and opt-out semantics.
182
182
  - BFF `requestId` generation/runtime isolation and fail-fast checks.
@@ -185,7 +185,7 @@ UltraModern.js V3 adds dedicated coverage for:
185
185
 
186
186
  ### 7) Module SDK contract + boundary anti-pattern guards
187
187
 
188
- UltraModern.js V3 adds platform-boundary enforcement artifacts for module onboarding:
188
+ UltraModern.js 3.0 adds platform-boundary enforcement artifacts for module onboarding:
189
189
 
190
190
  - Contract artifact: `docs/super-app-rfc-adr/contracts/module-sdk-contracts.json`
191
191
  - Example manifest: `docs/super-app-rfc-adr/contracts/module-manifest.example.json`
@@ -200,7 +200,7 @@ UltraModern.js V3 adds platform-boundary enforcement artifacts for module onboar
200
200
 
201
201
  ### 8) Default precompression + precompressed static serving
202
202
 
203
- UltraModern.js V3 changes default output and serving behavior for production web assets:
203
+ UltraModern.js 3.0 changes default output and serving behavior for production web assets:
204
204
 
205
205
  - `output.precompress` defaults to `true` in app-tools config.
206
206
  - Build emits gzip (`.gz`) and brotli (`.br`) variants for static assets.
@@ -224,7 +224,7 @@ export default defineConfig({
224
224
 
225
225
  ### 9) First-class TanStack Router + Tailwind scaffolding
226
226
 
227
- UltraModern.js V3 adds a first-class TanStack path in runtime and project scaffolding:
227
+ UltraModern.js 3.0 adds a first-class TanStack path in runtime and project scaffolding:
228
228
 
229
229
  - Runtime/CLI support for TanStack route tree generation and SSR/stream integration.
230
230
  - Create templates include TanStack-ready scaffolds and Tailwind starter wiring.
@@ -235,7 +235,7 @@ UltraModern.js V3 adds a first-class TanStack path in runtime and project scaffo
235
235
 
236
236
  ### 10) Effect-first MF data reliability and data-platform contracts
237
237
 
238
- UltraModern.js V3 shipped additional reliability work aligned to Beads stream D:
238
+ UltraModern.js 3.0 shipped additional reliability work aligned to Beads stream D:
239
239
 
240
240
  - `@modern-js/plugin-bff` runtime path migrated to Effect v4.
241
241
  - Effect-only MF data-fetch contract guidance (explicitly no Zod layer in this stream).
@@ -251,7 +251,7 @@ Reference materials:
251
251
 
252
252
  ### 11) Release and module certification gate model
253
253
 
254
- This public UltraModern preset profile includes a machine-verifiable gate model beyond baseline Modern.js V3:
254
+ UltraModern.js 3.0 includes a machine-verifiable gate model beyond baseline Modern.js 3.0:
255
255
 
256
256
  - Gate profiles:
257
257
  - `scripts/release-gates/rc-contract-profile.json`
@@ -273,7 +273,7 @@ This public UltraModern preset profile includes a machine-verifiable gate model
273
273
  - `.github/workflows/ultramodern-gates.yml`
274
274
  - runs `pnpm run ultramodern:check` and `pnpm run build`
275
275
 
276
- ## Not Part of UltraModern.js V3
276
+ ## Not Part of UltraModern.js 3.0
277
277
 
278
278
  The following are intentionally out of scope for this public V3 preset profile:
279
279
 
package/package.json CHANGED
@@ -18,14 +18,14 @@
18
18
  "modern",
19
19
  "modern.js"
20
20
  ],
21
- "version": "3.2.0-ultramodern.0",
21
+ "version": "3.2.0-ultramodern.2",
22
22
  "publishConfig": {
23
23
  "registry": "https://registry.npmjs.org/",
24
24
  "access": "public"
25
25
  },
26
26
  "dependencies": {
27
27
  "mermaid": "^11.15.0",
28
- "@modern-js/sandpack-react": "npm:@bleedingdev/modern-js-sandpack-react@3.2.0-ultramodern.0"
28
+ "@modern-js/sandpack-react": "npm:@bleedingdev/modern-js-sandpack-react@3.2.0-ultramodern.2"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@rsbuild/plugin-sass": "1.5.2",
package/rspress.config.ts CHANGED
@@ -5,11 +5,11 @@ import path from 'path';
5
5
  import { pluginOpenGraph } from 'rsbuild-plugin-open-graph';
6
6
 
7
7
  const docPath = path.join(__dirname, 'docs');
8
- const siteTitle = 'Modern.js';
8
+ const siteTitle = 'UltraModern.js 3.0';
9
9
  const siteDescription =
10
- 'The Modern.js framework is a progressive web framework based on React. At ByteDance, we use Modern.js to build upper-level frameworks that have supported the development of thousands of web applications.';
10
+ 'UltraModern.js 3.0 is a SuperApp framework forked from Modern.js for Effect, TanStack Router, SSR, BFF, and independently deployable Micro Verticals.';
11
11
  const socialDescription =
12
- 'A Progressive React Framework for modern web development.';
12
+ 'A SuperApp framework for Effect, TanStack Router, SSR, BFF, and Micro Verticals.';
13
13
  const socialImage =
14
14
  'https://lf3-static.bytednsdoc.com/obj/eden-cn/nuvjhpqnuvr/modern-website/banner.jpeg';
15
15
 
@@ -76,7 +76,7 @@ export default defineConfig({
76
76
  ],
77
77
  editLink: {
78
78
  docRepoBaseUrl:
79
- 'https://github.com/web-infra-dev/modern.js/tree/main/packages/document/docs',
79
+ 'https://github.com/BleedingDev/ultramodern.js/tree/main-ultramodern/packages/document/docs',
80
80
  text: 'Edit this page on GitHub',
81
81
  },
82
82
  socialLinks: [
@@ -88,7 +88,7 @@ export default defineConfig({
88
88
  {
89
89
  icon: 'github',
90
90
  mode: 'link',
91
- content: 'https://github.com/web-infra-dev/modern.js',
91
+ content: 'https://github.com/BleedingDev/ultramodern.js',
92
92
  },
93
93
  ],
94
94
  },
@@ -98,8 +98,7 @@ export default defineConfig({
98
98
  },
99
99
  replaceRules: [
100
100
  {
101
- // The major version is different inside the ByteDance,
102
- // so we use a flag to define it.
101
+ // Preserve the upstream replacement contract for inherited docs.
103
102
  search: /MAJOR_VERSION/g,
104
103
  replace: '2',
105
104
  },
@@ -136,15 +135,15 @@ export default defineConfig({
136
135
  pluginSass(),
137
136
  pluginOpenGraph({
138
137
  // Note, title is page-specific
139
- title: 'Modern.js Home Page',
138
+ title: 'UltraModern.js 3.0 Home Page',
140
139
  // While site name is site wide
141
140
  siteName: siteTitle,
142
141
  type: 'website',
143
- url: 'https://modernjs.dev/',
142
+ url: 'https://bleedingdev.github.io/ultramodern.js/',
144
143
  image: socialImage,
145
144
  description: socialDescription,
146
145
  twitter: {
147
- site: '@_Modern_JS',
146
+ site: '@BleedingDev',
148
147
  card: 'summary_large_image',
149
148
  },
150
149
  }),
package/src/i18n/enUS.ts CHANGED
@@ -1,13 +1,14 @@
1
1
  export const EN_US = {
2
2
  // Announcement
3
3
  announcementLabel: 'NEW',
4
- announcementText: 'Modern.js 3.0 is released!',
4
+ announcementText: 'UltraModern.js 3.0 is ready for SuperApps',
5
5
 
6
- introduction: 'Introduction',
7
- quickStart: 'Quick Start',
6
+ introduction: 'UltraModern Guide',
7
+ quickStart: 'Start Building',
8
8
 
9
9
  // Slogans
10
- slogan: 'A Progressive React Framework for modern web development',
10
+ slogan:
11
+ 'The SuperApp framework for Effect, TanStack, SSR, BFF, and Micro Verticals',
11
12
  secondSlogan1: 'Enjoy the development experience.',
12
13
  secondSlogan2: 'Make innovation happen faster.',
13
14
 
package/src/i18n/zhCN.ts CHANGED
@@ -3,13 +3,13 @@ import type { EN_US } from './enUS';
3
3
  export const ZH_CN: Record<keyof typeof EN_US, string> = {
4
4
  // Announcement
5
5
  announcementLabel: 'NEW',
6
- announcementText: 'Modern.js 3.0 正式发布!',
6
+ announcementText: 'UltraModern.js 3.0 已面向 SuperApp 就绪',
7
7
 
8
- introduction: '介绍',
9
- quickStart: '快速上手',
8
+ introduction: 'UltraModern 指南',
9
+ quickStart: '开始构建',
10
10
 
11
11
  // Slogans
12
- slogan: '基于 React 的渐进式 Web 开发框架',
12
+ slogan: '面向 Effect、TanStack、SSR、BFF Micro Verticals 的 SuperApp 框架',
13
13
  secondSlogan1: '享受愉悦的开发体验,',
14
14
  secondSlogan2: '让创新更快发生。',
15
15
 
@@ -170,8 +170,10 @@
170
170
 
171
171
  .leftButton,
172
172
  .rightButton {
173
- width: 142px;
173
+ min-width: 184px;
174
+ padding: 0 24px;
174
175
  font-weight: bold;
176
+ white-space: nowrap;
175
177
 
176
178
  &:hover {
177
179
  opacity: 0.7;
@@ -15,7 +15,7 @@ const HomepageHeader = () => {
15
15
  <header className={clsx('hero hero--primary', styles.heroBanner)}>
16
16
  <div className={styles.mask} />
17
17
  <a
18
- href={useUrl('/community/blog/v3-release-note')}
18
+ href={useUrl('/guides/get-started/ultramodern')}
19
19
  className={styles.announcement}
20
20
  >
21
21
  <span className={styles.announcementLabel}>
@@ -28,13 +28,13 @@ const HomepageHeader = () => {
28
28
  </a>
29
29
  <h1 className={styles.title}>
30
30
  <span className={clsx([styles.titleGradient, styles.mainTitle])}>
31
- Modern.js 3.0
31
+ UltraModern.js 3.0
32
32
  </span>
33
33
  <div>{t('slogan')}</div>
34
34
  </h1>
35
35
  <div className={styles.buttons}>
36
36
  <a
37
- href={useUrl('/guides/get-started/introduction')}
37
+ href={useUrl('/guides/get-started/ultramodern')}
38
38
  className={styles.leftButton}
39
39
  >
40
40
  {t('introduction')}