Skip to content

Commit 4f9650e

Browse files
authored
fix(core): output.assetsInclude adds a rule but not exposes public api (#4385)
1 parent 59709ef commit 4f9650e

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

packages/core/src/configChain.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,8 @@ export const CHAIN_ID = {
9999
IMAGE: 'image',
100100
/** Rule for media */
101101
MEDIA: 'media',
102+
/** Rule for additional assets */
103+
ADDITIONAL_ASSETS: 'additional-assets',
102104
/** Rule for js */
103105
JS: 'js',
104106
/** Rule for data uri encoded javascript */

packages/core/src/plugins/asset.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import path from 'node:path';
22
import type { GeneratorOptionsByModuleType } from '@rspack/core';
3+
import { CHAIN_ID } from '../configChain';
34
import {
45
AUDIO_EXTENSIONS,
56
FONT_EXTENSIONS,
@@ -109,17 +110,17 @@ export const pluginAsset = (): RsbuildPlugin => ({
109110
const { emitAssets } = config.output;
110111

111112
// image
112-
createAssetRule('image', IMAGE_EXTENSIONS, emitAssets);
113+
createAssetRule(CHAIN_ID.RULE.IMAGE, IMAGE_EXTENSIONS, emitAssets);
113114
// svg
114-
createAssetRule('svg', ['svg'], emitAssets);
115+
createAssetRule(CHAIN_ID.RULE.SVG, ['svg'], emitAssets);
115116
// media
116117
createAssetRule(
117-
'media',
118+
CHAIN_ID.RULE.MEDIA,
118119
[...VIDEO_EXTENSIONS, ...AUDIO_EXTENSIONS],
119120
emitAssets,
120121
);
121122
// font
122-
createAssetRule('font', FONT_EXTENSIONS, emitAssets);
123+
createAssetRule(CHAIN_ID.RULE.FONT, FONT_EXTENSIONS, emitAssets);
123124
// assets
124125
const assetsFilename = getMergedFilename('assets');
125126
chain.output.assetModuleFilename(assetsFilename);
@@ -131,7 +132,9 @@ export const pluginAsset = (): RsbuildPlugin => ({
131132
const { assetsInclude } = config.source;
132133
if (assetsInclude) {
133134
const { dataUriLimit } = config.output;
134-
const rule = chain.module.rule('additional-assets').test(assetsInclude);
135+
const rule = chain.module
136+
.rule(CHAIN_ID.RULE.ADDITIONAL_ASSETS)
137+
.test(assetsInclude);
135138
const maxSize =
136139
typeof dataUriLimit === 'number' ? dataUriLimit : dataUriLimit.assets;
137140

@@ -140,7 +143,7 @@ export const pluginAsset = (): RsbuildPlugin => ({
140143
rule,
141144
maxSize,
142145
filename: assetsFilename,
143-
assetType: 'additional',
146+
assetType: 'additional-assets',
144147
});
145148
}
146149
});

0 commit comments

Comments
 (0)