From b5f462d7c50c099bd1193738d367726a2bea2323 Mon Sep 17 00:00:00 2001 From: Timeless0911 <1604889533@qq.com> Date: Tue, 5 Nov 2024 20:25:13 +0800 Subject: [PATCH 1/4] docs: lib.autoExternal --- website/docs/en/config/lib/auto-external.mdx | 79 ++++++++++++++++++- .../en/guide/advanced/third-party-deps.mdx | 2 +- 2 files changed, 79 insertions(+), 2 deletions(-) diff --git a/website/docs/en/config/lib/auto-external.mdx b/website/docs/en/config/lib/auto-external.mdx index 15f6b94c2..ac1ddbea9 100644 --- a/website/docs/en/config/lib/auto-external.mdx +++ b/website/docs/en/config/lib/auto-external.mdx @@ -1,6 +1,83 @@ # lib.autoExternal -- **Type:** `boolean` +- **Type:** + +```ts +type AutoExternal = + | boolean + | { + dependencies?: boolean; + optionalDependencies?: boolean; + devDependencies?: boolean; + peerDependencies?: boolean; + }; +``` + - **Default:** `true` Whether to automatically externalize dependencies and do not bundle them. + +## Default Value + +The default value of `autoExternal` is `true`, which means the following dependency types will **not be bundled**: + +- `dependencies` +- `optionalDependencies` +- `peerDependencies` + +And the following dependency types will be **bundled**: + +- `devDependencies` + +It is equivalent to the following configuration: + +```ts +export default { + lib: [ + { + format: 'esm', + autoExternal: { + dependencies: true, + optionalDependencies: true, + peerDependencies: true, + devDependencies: false, + }, + }, + ], +}; +``` + +## Example + +### Customize Externalized Dependency Types + +To disable the processing of a specific type of dependency, you can configure `autoExternal` as an object like this: + +```ts title="rslib.config.ts" +export default { + lib: [ + { + format: 'esm', + autoExternal: { + dependencies: false, + peerDependencies: false, + }, + }, + ], +}; +``` + +### Disable Default Behavior + +If you want to disable the default behavior, you can set `autoExternal` to `false`: + +```ts title="rslib.config.ts" +export default { + lib: [ + { + format: 'esm', + autoExternal: false, + }, + ], +}; +``` diff --git a/website/docs/en/guide/advanced/third-party-deps.mdx b/website/docs/en/guide/advanced/third-party-deps.mdx index 3c1edaaa5..814598828 100644 --- a/website/docs/en/guide/advanced/third-party-deps.mdx +++ b/website/docs/en/guide/advanced/third-party-deps.mdx @@ -53,7 +53,7 @@ console.info(__WEBPACK_EXTERNAL_MODULE_react__['default']); If you want to modify the default processing, you can use the following API. -- [`lib.autoExternal`](/config/lib/auto-external) +- [lib.autoExternal](/config/lib/auto-external) ## Exclude specified third-party dependencies From 133b40024df16348b87a373f62ef7b0343b75cc7 Mon Sep 17 00:00:00 2001 From: Timeless0911 <1604889533@qq.com> Date: Tue, 5 Nov 2024 20:28:22 +0800 Subject: [PATCH 2/4] chore: update --- website/docs/en/config/lib/auto-external.mdx | 28 ++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/website/docs/en/config/lib/auto-external.mdx b/website/docs/en/config/lib/auto-external.mdx index ac1ddbea9..ea72d9efb 100644 --- a/website/docs/en/config/lib/auto-external.mdx +++ b/website/docs/en/config/lib/auto-external.mdx @@ -47,6 +47,34 @@ export default { }; ``` +## autoExternal.dependencies + +- **Type:** `boolean` +- **Default:** `true` + +Whether to externalize dependencies of type `dependencies`. + +## autoExternal.optionalDependencies + +- **Type:** `boolean` +- **Default:** `true` + +Whether to externalize dependencies of type `optionalDependencies`. + +## autoExternal.peerDependencies + +- **Type:** `boolean` +- **Default:** `true` + +Whether to externalize dependencies of type `peerDependencies`. + +## autoExternal.devDependencies + +- **Type:** `boolean` +- **Default:** `false` + +Whether to bundle dependencies of type `devDependencies`. + ## Example ### Customize Externalized Dependency Types From 6f7ecbd3fc8efe35e76a793f93acd4140154736d Mon Sep 17 00:00:00 2001 From: Timeless0911 <1604889533@qq.com> Date: Tue, 5 Nov 2024 20:29:17 +0800 Subject: [PATCH 3/4] chore: update --- website/docs/en/config/lib/auto-external.mdx | 56 ++++++++++---------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/website/docs/en/config/lib/auto-external.mdx b/website/docs/en/config/lib/auto-external.mdx index ea72d9efb..2a1af3fcd 100644 --- a/website/docs/en/config/lib/auto-external.mdx +++ b/website/docs/en/config/lib/auto-external.mdx @@ -17,6 +17,34 @@ type AutoExternal = Whether to automatically externalize dependencies and do not bundle them. +## autoExternal.dependencies + +- **Type:** `boolean` +- **Default:** `true` + +Whether to externalize dependencies of type `dependencies`. + +## autoExternal.optionalDependencies + +- **Type:** `boolean` +- **Default:** `true` + +Whether to externalize dependencies of type `optionalDependencies`. + +## autoExternal.peerDependencies + +- **Type:** `boolean` +- **Default:** `true` + +Whether to externalize dependencies of type `peerDependencies`. + +## autoExternal.devDependencies + +- **Type:** `boolean` +- **Default:** `false` + +Whether to bundle dependencies of type `devDependencies`. + ## Default Value The default value of `autoExternal` is `true`, which means the following dependency types will **not be bundled**: @@ -47,34 +75,6 @@ export default { }; ``` -## autoExternal.dependencies - -- **Type:** `boolean` -- **Default:** `true` - -Whether to externalize dependencies of type `dependencies`. - -## autoExternal.optionalDependencies - -- **Type:** `boolean` -- **Default:** `true` - -Whether to externalize dependencies of type `optionalDependencies`. - -## autoExternal.peerDependencies - -- **Type:** `boolean` -- **Default:** `true` - -Whether to externalize dependencies of type `peerDependencies`. - -## autoExternal.devDependencies - -- **Type:** `boolean` -- **Default:** `false` - -Whether to bundle dependencies of type `devDependencies`. - ## Example ### Customize Externalized Dependency Types From e7b5a39b2418617bb61a9d3981a794dabeff8022 Mon Sep 17 00:00:00 2001 From: Timeless0911 <1604889533@qq.com> Date: Tue, 5 Nov 2024 20:37:32 +0800 Subject: [PATCH 4/4] chore: update --- website/docs/en/config/lib/auto-external.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/docs/en/config/lib/auto-external.mdx b/website/docs/en/config/lib/auto-external.mdx index 2a1af3fcd..a977304ab 100644 --- a/website/docs/en/config/lib/auto-external.mdx +++ b/website/docs/en/config/lib/auto-external.mdx @@ -109,3 +109,5 @@ export default { ], }; ``` + +For more details about handling third-party dependencies, please refer to [Handle Third-party Dependencies](/guide/advanced/third-party-deps).