@modern-js/main-doc 2.57.0 → 2.58.0

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.
@@ -200,7 +200,7 @@ Usage: modern inspect [options]
200
200
 
201
201
  Options:
202
202
  --env <env> view the configuration in the target environment (default: "development")
203
- --output <output> Specify the path to output in the dist (default: "/")
203
+ --output <output> Specify the path to output in the dist (default: "./")
204
204
  --verbose Show the full function in the result
205
205
  -c --config <config> specify the configuration file, which can be a relative or absolute path
206
206
  -h, --help show command help
@@ -19,4 +19,4 @@ export default defineConfig({
19
19
  });
20
20
  ```
21
21
 
22
- This config is implemented based on the Node Polyfill plugin of Rsbuild, you can read [Rsbuild - Node Polyfill Plugin](https://rsbuild.dev/plugins/list/plugin-node-polyfill) documentation for details.
22
+ This config is implemented based on the Node Polyfill plugin of Rsbuild, you can read [Rsbuild - Node Polyfill Plugin](https://github.com/rspack-contrib/rsbuild-plugin-node-polyfill) documentation for details.
@@ -92,7 +92,7 @@ export default {
92
92
  };
93
93
  ```
94
94
 
95
- See details in [plugin-image-compress](https://rsbuild.dev/plugins/list/plugin-image-compress).
95
+ See details in [plugin-image-compress](https://github.com/rspack-contrib/rsbuild-plugin-image-compress).
96
96
 
97
97
  ## Split Chunk
98
98
 
@@ -35,19 +35,19 @@ Here are the official Rsbuild plugins built into Modern.js:
35
35
  | [Styled Components Plugin](https://rsbuild.dev/plugins/list/plugin-styled-components) | Provides compile-time support for styled-components | [tools.styledComponents](/configure/app/tools/styled-components.html) |
36
36
  | [Assets Retry Plugin](https://rsbuild.dev/plugins/list/plugin-assets-retry) | Used to automatically resend requests when static assets fail to load | [output.assetsRetry](/configure/app/output/assets-retry.html) |
37
37
  | [Type Check Plugin](https://rsbuild.dev/plugins/list/plugin-type-check) | Used to run TypeScript type checker on a separate process | [output.disableTsChecker](/configure/app/output/disable-ts-checker.html)<br />[tools.tsChecker](/configure/app/tools/ts-checker.html) |
38
- | [Node Polyfill Plugin](https://rsbuild.dev/plugins/list/plugin-node-polyfill) | Used to inject polyfills of Node core modules in the browser side | [output.disableNodePolyfill](/configure/app/output/disable-node-polyfill.html) |
38
+ | [Node Polyfill Plugin](https://github.com/rspack-contrib/rsbuild-plugin-node-polyfill) | Used to inject polyfills of Node core modules in the browser side | [output.disableNodePolyfill](/configure/app/output/disable-node-polyfill.html) |
39
39
  | [Source Build Plugin](https://rsbuild.dev/plugins/list/plugin-source-build) | Supports referencing source code from other subdirectories | [experiments.sourceBuild](/configure/app/experiments/source-build.html) |
40
- | [Check Syntax Plugin](https://rsbuild.dev/plugins/list/plugin-check-syntax) | Used to analyze the syntax compatibility of artifacts | [security.checkSyntax](/configure/app/security/check-syntax.html) |
41
- | [CSS Minimizer Plugin](https://rsbuild.dev/plugins/list/plugin-css-minimizer) | Used to customize CSS minimizer, switch to [cssnano](https://cssnano.co/) or other tools for CSS compression | [tools.minifyCss](/configure/app/tools/minify-css.html) |
42
- | [Pug Plugin](https://rsbuild.dev/plugins/list/plugin-pug) | Provides support for the Pug template engine | [tools.pug](/configure/app/tools/pug.html) |
40
+ | [Check Syntax Plugin](https://github.com/rspack-contrib/rsbuild-plugin-check-syntax) | Used to analyze the syntax compatibility of artifacts | [security.checkSyntax](/configure/app/security/check-syntax.html) |
41
+ | [CSS Minimizer Plugin](https://github.com/rspack-contrib/rsbuild-plugin-css-minimizer) | Used to customize CSS minimizer, switch to [cssnano](https://cssnano.co/) or other tools for CSS compression | [tools.minifyCss](/configure/app/tools/minify-css.html) |
42
+ | [Pug Plugin](https://github.com/rspack-contrib/rsbuild-plugin-pug) | Provides support for the Pug template engine | [tools.pug](/configure/app/tools/pug.html) |
43
43
  | [Rem Plugin](https://rsbuild.dev/plugins/list/plugin-rem) | Implements the rem adaptive layout for mobile pages | [output.convertToRem](/configure/app/output/convert-to-rem.html) |
44
- | [YAML Plugin](https://rsbuild.dev/plugins/list/plugin-yaml) | Used to import YAML files and convert them into JavaScript objects | [TOML File](/guides/basic-features/json-files.html#toml-file) |
45
- | [TOML Plugin](https://rsbuild.dev/plugins/list/plugin-toml) | Used to import TOML files and convert them into JavaScript objects | [YAML File](/guides/basic-features/json-files.html#yaml-file) |
44
+ | [YAML Plugin](https://github.com/rspack-contrib/rsbuild-plugin-yaml) | Used to import YAML files and convert them into JavaScript objects | [TOML File](/guides/basic-features/json-files.html#toml-file) |
45
+ | [TOML Plugin](https://github.com/rspack-contrib/rsbuild-plugin-toml) | Used to import TOML files and convert them into JavaScript objects | [YAML File](/guides/basic-features/json-files.html#yaml-file) |
46
46
 
47
47
  ### Un-builtin Plugins
48
48
 
49
49
  Here are the official Rsbuild plugins that are not built into Modern.js:
50
50
 
51
- - [Image Compress Plugin](https://rsbuild.dev/plugins/list/plugin-image-compress): Compress the image resources used in the project.
51
+ - [Image Compress Plugin](https://github.com/rspack-contrib/rsbuild-plugin-image-compress): Compress the image resources used in the project.
52
52
  - [Stylus Plugin](https://rsbuild.dev/plugins/list/plugin-stylus): Use Stylus as the CSS preprocessor.
53
- - [UMD Plugin](https://rsbuild.dev/plugins/list/plugin-umd): Used to build outputs in UMD format.
53
+ - [UMD Plugin](https://github.com/rspack-contrib/rsbuild-plugin-umd): Used to build outputs in UMD format.
@@ -674,17 +674,17 @@ export const myPlugin = (): ServerPlugin => ({
674
674
  ## Runtime
675
675
 
676
676
  :::note
677
- The Runtime plugin is currently not fully opened, and the API is not guaranteed to be stable. Use with caution.
677
+ Currently, the Runtime plugin is not fully open, and the API does not guarantee stability. Use with caution.
678
678
  :::
679
679
 
680
- The Runtime plugin is mainly used for developers to modify the component that need to be rendered.
680
+ The Runtime plugin is mainly used by developers to add behaviors before application rendering and to modify components that need to be rendered.
681
681
 
682
- ### `init`
682
+ ### `beforeRender`
683
683
 
684
- - Function: Executes `App.init`.
684
+ - Function: Add behaviors before application rendering
685
685
  - Execution stage: Rendering (SSR/CSR).
686
- - Hook model: `AsyncPipeline`
687
- - Type: `AsyncPipeline<{ context: RuntimeContext; }, unknown>`
686
+ - Hook model: `AsyncWorkflow`
687
+ - Type: `AsyncWorkflow<RuntimeContext, void>`
688
688
  - Example:
689
689
 
690
690
  ```ts
@@ -693,27 +693,22 @@ import type { Plugin } from '@modern-js/runtime';
693
693
  export const myPlugin = (): Plugin => ({
694
694
  setup(api) {
695
695
  return {
696
- init({ context }, next) {
696
+ beforeRender(context) {
697
697
  // do something
698
- return next({ context });
699
698
  },
700
699
  };
701
700
  },
702
701
  });
703
702
  ```
704
703
 
705
- ### `hoc`
704
+ ### `wrapRoot`
706
705
 
707
- - Function: Modifies the components that need to be rendered.
706
+ - Function: Modify components that need to be rendered
708
707
  - Execution stage: Rendering (SSR/CSR).
709
- - Hook model: `Pipeline`
710
- - Type: `Pipeline<{ App: React.ComponentType<any>;config: Record<string, any>; },React.ComponentType<any>>`
708
+ - Hook model: `Waterfall`
709
+ - Type: `Waterfall<React.ComponentType<any>>`
711
710
  - Example:
712
711
 
713
- :::note
714
- When using the hoc hook, you need to copy the static properties of the original App component to the new component and pass through the props.
715
- :::
716
-
717
712
  ```ts
718
713
  import { createContext } from 'react';
719
714
  import type { Plugin } from '@modern-js/runtime';
@@ -722,18 +717,15 @@ export const myPlugin = (): Plugin => ({
722
717
  setup(api) {
723
718
  const FooContext = createContext('');
724
719
  return {
725
- hoc({ App, config }, next) {
720
+ wrapRoot(App) {
726
721
  const AppWrapper = (props: any) => {
727
722
  return (
728
- <FooContext.Provider store={'test'}>
723
+ <FooContext.Provider value={'test'}>
729
724
  <App {...props} />
730
725
  </FooContext.Provider>
731
726
  );
732
727
  };
733
- return next({
734
- App: AppWrapper,
735
- config
736
- });
728
+ return AppWrapper;
737
729
  },
738
730
  };
739
731
  },
@@ -200,7 +200,7 @@ Usage: modern inspect [options]
200
200
 
201
201
  Options:
202
202
  --env <env> 查看指定环境下的配置 (default: "development")
203
- --output <output> 指定在 dist 目录下输出的路径 (default: "/")
203
+ --output <output> 指定在 dist 目录下输出的路径 (default: "./")
204
204
  --verbose 在结果中展示函数的完整内容
205
205
  -c --config <config> 指定配置文件路径,可以为相对路径或绝对路径
206
206
  -h, --help 显示命令帮助
@@ -19,4 +19,4 @@ export default defineConfig({
19
19
  });
20
20
  ```
21
21
 
22
- 该配置项基于 Rsbuild 的 Node Polyfill 插件实现,你可以阅读 [Rsbuild - Node Polyfill 插件](https://rsbuild.dev/zh/plugins/list/plugin-node-polyfill) 文档来了解详细信息。
22
+ 该配置项基于 Rsbuild 的 Node Polyfill 插件实现,你可以阅读 [Rsbuild - Node Polyfill 插件](https://github.com/rspack-contrib/rsbuild-plugin-node-polyfill) 文档来了解详细信息。
@@ -92,7 +92,7 @@ export default {
92
92
  };
93
93
  ```
94
94
 
95
- 详见 [Image Compress 插件](https://rsbuild.dev/zh/plugins/list/plugin-image-compress)。
95
+ 详见 [Image Compress 插件](https://github.com/rspack-contrib/rsbuild-plugin-image-compress)。
96
96
 
97
97
  ## 代码拆包
98
98
 
@@ -35,19 +35,19 @@ Modern.js 从 `MAJOR_VERSION.46.0` 起开始将底层的构建工具升级为 [R
35
35
  | [Styled Components 插件](https://rsbuild.dev/zh/plugins/list/plugin-styled-components) | 提供对 styled-components 的编译时支持 | [tools.styledComponents](/configure/app/tools/styled-components.html) |
36
36
  | [Assets Retry 插件](https://rsbuild.dev/zh/plugins/list/plugin-assets-retry) | 用于在静态资源加载失败时自动发起重试请求 | [output.assetsRetry](/configure/app/output/assets-retry.html) |
37
37
  | [Type Check 插件](https://rsbuild.dev/zh/plugins/list/plugin-type-check) | 用于在单独的进程中运行 TypeScript 类型检查 | [output.disableTsChecker](/configure/app/output/disable-ts-checker.html)<br />[tools.tsChecker](/configure/app/tools/ts-checker.html) |
38
- | [Node Polyfill 插件](https://rsbuild.dev/zh/plugins/list/plugin-node-polyfill) | 用于注入 Node 核心模块在浏览器端的 polyfills | [output.disableNodePolyfill](/configure/app/output/disable-node-polyfill.html) |
38
+ | [Node Polyfill 插件](https://github.com/rspack-contrib/rsbuild-plugin-node-polyfill) | 用于注入 Node 核心模块在浏览器端的 polyfills | [output.disableNodePolyfill](/configure/app/output/disable-node-polyfill.html) |
39
39
  | [Source Build 插件](https://rsbuild.dev/zh/plugins/list/plugin-source-build) | 用于 monorepo 场景,支持引用其他子目录的源代码,并完成构建和热更新 | [experiments.sourceBuild](/configure/app/experiments/source-build.html) |
40
- | [Check Syntax 插件](https://rsbuild.dev/zh/plugins/list/plugin-check-syntax) | 用于分析产物的语法兼容性,判断是否存在导致兼容性问题的高级语法 | [security.checkSyntax](/configure/app/security/check-syntax.html) |
41
- | [CSS Minimizer 插件](https://rsbuild.dev/zh/plugins/list/plugin-css-minimizer) | 用于自定义 CSS 压缩工具,切换到 [cssnano](https://cssnano.co/) 或其他工具进行 CSS 压缩。 | [tools.minifyCss](/configure/app/tools/minify-css.html) |
42
- | [Pug 插件](https://rsbuild.dev/zh/plugins/list/plugin-pug) | 提供对 Pug 模板引擎的支持 | [tools.pug](/configure/app/tools/pug.html) |
40
+ | [Check Syntax 插件](https://github.com/rspack-contrib/rsbuild-plugin-check-syntax) | 用于分析产物的语法兼容性,判断是否存在导致兼容性问题的高级语法 | [security.checkSyntax](/configure/app/security/check-syntax.html) |
41
+ | [CSS Minimizer 插件](https://github.com/rspack-contrib/rsbuild-plugin-css-minimizer) | 用于自定义 CSS 压缩工具,切换到 [cssnano](https://cssnano.co/) 或其他工具进行 CSS 压缩。 | [tools.minifyCss](/configure/app/tools/minify-css.html) |
42
+ | [Pug 插件](https://github.com/rspack-contrib/rsbuild-plugin-pug) | 提供对 Pug 模板引擎的支持 | [tools.pug](/configure/app/tools/pug.html) |
43
43
  | [Rem 插件](https://rsbuild.dev/zh/plugins/list/plugin-rem) | 用于实现移动端页面的 rem 自适应布局 | [output.convertToRem](/configure/app/output/convert-to-rem.html) |
44
- | [YAML 插件](https://rsbuild.dev/zh/plugins/list/plugin-yaml) | 用于引用 YAML 文件,并将其转换为 JavaScript 对象 | [TOML 文件](/guides/basic-features/json-files.html#toml-文件) |
45
- | [TOML 插件](https://rsbuild.dev/zh/plugins/list/plugin-toml) | 用于引用 TOML 文件,并将其转换为 JavaScript 对象 | [YAML 文件](/guides/basic-features/json-files.html#yaml-文件) |
44
+ | [YAML 插件](https://github.com/rspack-contrib/rsbuild-plugin-yaml) | 用于引用 YAML 文件,并将其转换为 JavaScript 对象 | [TOML 文件](/guides/basic-features/json-files.html#toml-文件) |
45
+ | [TOML 插件](https://github.com/rspack-contrib/rsbuild-plugin-toml) | 用于引用 TOML 文件,并将其转换为 JavaScript 对象 | [YAML 文件](/guides/basic-features/json-files.html#yaml-文件) |
46
46
 
47
47
  ### 未内置插件
48
48
 
49
49
  以下是未在 Modern.js 中内置的 Rsbuild 官方插件:
50
50
 
51
- - [Image Compress 插件](https://rsbuild.dev/zh/plugins/list/plugin-image-compress):将项目中用到的图片资源进行压缩处理。
51
+ - [Image Compress 插件](https://github.com/rspack-contrib/rsbuild-plugin-image-compress):将项目中用到的图片资源进行压缩处理。
52
52
  - [Stylus 插件](https://rsbuild.dev/zh/plugins/list/plugin-stylus):使用 Stylus 作为 CSS 预处理器。
53
- - [UMD 插件](https://rsbuild.dev/zh/plugins/list/plugin-umd):用于构建 UMD 格式的产物。
53
+ - [UMD 插件](https://github.com/rspack-contrib/rsbuild-plugin-umd):用于构建 UMD 格式的产物。
@@ -680,14 +680,14 @@ export const myPlugin = (): ServerPlugin => ({
680
680
 
681
681
  :::
682
682
 
683
- Runtime 插件主要用于开发者修改需要渲染的组件。
683
+ Runtime 插件主要用于开发者自定义应用渲染前行为和修改需要渲染的组件。
684
684
 
685
- ### `init`
685
+ ### `beforeRender`
686
686
 
687
- - 功能:执行 `App.init`
687
+ - 功能:在应用渲染之前增加行为
688
688
  - 执行阶段:渲染(SSR/CSR)
689
- - Hook 模型:`AsyncPipeline`
690
- - 类型:`AsyncPipeline<{ context: RuntimeContext; }, unknown>`
689
+ - Hook 模型:`AsyncWorkflow`
690
+ - 类型:`AsyncWorkflow<RuntimeContext void>`
691
691
  - 使用示例:
692
692
 
693
693
  ```ts
@@ -696,27 +696,22 @@ import type { Plugin } from '@modern-js/runtime';
696
696
  export const myPlugin = (): Plugin => ({
697
697
  setup(api) {
698
698
  return {
699
- init({ context }, next) {
699
+ beforeRender(context) {
700
700
  // do something
701
- return next({ context });
702
701
  },
703
702
  };
704
703
  },
705
704
  });
706
705
  ```
707
706
 
708
- ### `hoc`
707
+ ### `wrapRoot`
709
708
 
710
709
  - 功能:修改需要渲染的组件
711
710
  - 执行阶段:渲染(SSR/CSR)
712
- - Hook 模型:`Pipeline`
713
- - 类型:`Pipeline<{ App: React.ComponentType<any>;config: Record<string, any>; },React.ComponentType<any>>`
711
+ - Hook 模型:`Waterfall`
712
+ - 类型:`Waterfall<React.ComponentType<any>>`
714
713
  - 使用示例:
715
714
 
716
- :::note
717
- 使用 hoc 钩子时,需要把原来的 App 组件的静态属性拷贝到新的组件上,并透传 props.
718
- :::
719
-
720
715
  ```ts
721
716
  import { createContext } from 'react';
722
717
  import type { Plugin } from '@modern-js/runtime';
@@ -725,7 +720,7 @@ export const myPlugin = (): Plugin => ({
725
720
  setup(api) {
726
721
  const FooContext = createContext('');
727
722
  return {
728
- hoc({ App, config }, next) {
723
+ wrapRoot(App) {
729
724
  const AppWrapper = (props: any) => {
730
725
  return (
731
726
  <FooContext.Provider store={'test'}>
@@ -733,10 +728,7 @@ export const myPlugin = (): Plugin => ({
733
728
  </FooContext.Provider>
734
729
  );
735
730
  };
736
- return next({
737
- App: AppWrapper,
738
- config
739
- });
731
+ return AppWrapper
740
732
  },
741
733
  };
742
734
  },
package/package.json CHANGED
@@ -15,17 +15,17 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.57.0",
18
+ "version": "2.58.0",
19
19
  "publishConfig": {
20
20
  "registry": "https://registry.npmjs.org/",
21
21
  "access": "public",
22
22
  "provenance": true
23
23
  },
24
24
  "dependencies": {
25
- "@modern-js/sandpack-react": "2.57.0"
25
+ "@modern-js/sandpack-react": "2.58.0"
26
26
  },
27
27
  "peerDependencies": {
28
- "@modern-js/builder-doc": "^2.57.0"
28
+ "@modern-js/builder-doc": "^2.58.0"
29
29
  },
30
30
  "devDependencies": {
31
31
  "classnames": "^2",
@@ -39,8 +39,8 @@
39
39
  "@rspress/shared": "1.26.1",
40
40
  "@types/node": "^16",
41
41
  "@types/fs-extra": "9.0.13",
42
- "@modern-js/builder-doc": "2.57.0",
43
- "@modern-js/doc-plugin-auto-sidebar": "2.57.0"
42
+ "@modern-js/doc-plugin-auto-sidebar": "2.58.0",
43
+ "@modern-js/builder-doc": "2.58.0"
44
44
  },
45
45
  "scripts": {
46
46
  "dev": "rspress dev",