From 9b7ef9519c18d9eaa01c70ff050b3f71638ef814 Mon Sep 17 00:00:00 2001 From: SoonIter Date: Fri, 17 Jan 2025 17:08:50 +0800 Subject: [PATCH 1/3] chore: update --- packages/core/src/configChain.ts | 2 ++ packages/core/src/plugins/asset.ts | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/core/src/configChain.ts b/packages/core/src/configChain.ts index 211fd21e85..87f8b10ba3 100644 --- a/packages/core/src/configChain.ts +++ b/packages/core/src/configChain.ts @@ -99,6 +99,8 @@ export const CHAIN_ID = { IMAGE: 'image', /** Rule for media */ MEDIA: 'media', + /** Rule for additional asset */ + ADDITIONAL: 'additional', /** Rule for js */ JS: 'js', /** Rule for data uri encoded javascript */ diff --git a/packages/core/src/plugins/asset.ts b/packages/core/src/plugins/asset.ts index cc640815d4..a244e80d90 100644 --- a/packages/core/src/plugins/asset.ts +++ b/packages/core/src/plugins/asset.ts @@ -131,7 +131,7 @@ export const pluginAsset = (): RsbuildPlugin => ({ const { assetsInclude } = config.source; if (assetsInclude) { const { dataUriLimit } = config.output; - const rule = chain.module.rule('additional-assets').test(assetsInclude); + const rule = chain.module.rule('additional').test(assetsInclude); const maxSize = typeof dataUriLimit === 'number' ? dataUriLimit : dataUriLimit.assets; From e8bc908d2a75c0acfc399703e915e6d722249207 Mon Sep 17 00:00:00 2001 From: SoonIter Date: Mon, 20 Jan 2025 11:40:59 +0800 Subject: [PATCH 2/3] chore: update --- packages/core/src/configChain.ts | 4 ++-- packages/core/src/plugins/asset.ts | 17 ++++++++++------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/packages/core/src/configChain.ts b/packages/core/src/configChain.ts index 87f8b10ba3..35b205c456 100644 --- a/packages/core/src/configChain.ts +++ b/packages/core/src/configChain.ts @@ -99,8 +99,8 @@ export const CHAIN_ID = { IMAGE: 'image', /** Rule for media */ MEDIA: 'media', - /** Rule for additional asset */ - ADDITIONAL: 'additional', + /** Rule for additional assets */ + ADDITIONAL_ASSETS: 'additional-assets', /** Rule for js */ JS: 'js', /** Rule for data uri encoded javascript */ diff --git a/packages/core/src/plugins/asset.ts b/packages/core/src/plugins/asset.ts index a244e80d90..8de71464ae 100644 --- a/packages/core/src/plugins/asset.ts +++ b/packages/core/src/plugins/asset.ts @@ -1,5 +1,6 @@ import path from 'node:path'; import type { GeneratorOptionsByModuleType } from '@rspack/core'; +import { CHAIN_ID } from '../configChain'; import { AUDIO_EXTENSIONS, FONT_EXTENSIONS, @@ -85,7 +86,7 @@ export const pluginAsset = (): RsbuildPlugin => ({ }; const createAssetRule = ( - assetType: 'svg' | 'font' | 'image' | 'media', + assetType: 'svg' | 'font' | 'image' | 'media' | 'assets', exts: string[], emit: boolean, ) => { @@ -109,17 +110,17 @@ export const pluginAsset = (): RsbuildPlugin => ({ const { emitAssets } = config.output; // image - createAssetRule('image', IMAGE_EXTENSIONS, emitAssets); + createAssetRule(CHAIN_ID.RULE.IMAGE, IMAGE_EXTENSIONS, emitAssets); // svg - createAssetRule('svg', ['svg'], emitAssets); + createAssetRule(CHAIN_ID.RULE.SVG, ['svg'], emitAssets); // media createAssetRule( - 'media', + CHAIN_ID.RULE.MEDIA, [...VIDEO_EXTENSIONS, ...AUDIO_EXTENSIONS], emitAssets, ); // font - createAssetRule('font', FONT_EXTENSIONS, emitAssets); + createAssetRule(CHAIN_ID.RULE.FONT, FONT_EXTENSIONS, emitAssets); // assets const assetsFilename = getMergedFilename('assets'); chain.output.assetModuleFilename(assetsFilename); @@ -131,7 +132,9 @@ export const pluginAsset = (): RsbuildPlugin => ({ const { assetsInclude } = config.source; if (assetsInclude) { const { dataUriLimit } = config.output; - const rule = chain.module.rule('additional').test(assetsInclude); + const rule = chain.module + .rule(CHAIN_ID.RULE.ADDITIONAL_ASSETS) + .test(assetsInclude); const maxSize = typeof dataUriLimit === 'number' ? dataUriLimit : dataUriLimit.assets; @@ -140,7 +143,7 @@ export const pluginAsset = (): RsbuildPlugin => ({ rule, maxSize, filename: assetsFilename, - assetType: 'additional', + assetType: 'additional-assets', }); } }); From 1ca85be6007bc8486ddfa059dbf17acbf5a5db51 Mon Sep 17 00:00:00 2001 From: SoonIter Date: Mon, 20 Jan 2025 13:57:44 +0800 Subject: [PATCH 3/3] chore: update --- packages/core/src/plugins/asset.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/src/plugins/asset.ts b/packages/core/src/plugins/asset.ts index 8de71464ae..0cdfea3f34 100644 --- a/packages/core/src/plugins/asset.ts +++ b/packages/core/src/plugins/asset.ts @@ -86,7 +86,7 @@ export const pluginAsset = (): RsbuildPlugin => ({ }; const createAssetRule = ( - assetType: 'svg' | 'font' | 'image' | 'media' | 'assets', + assetType: 'svg' | 'font' | 'image' | 'media', exts: string[], emit: boolean, ) => {