From c047b58d5da0886df0b5d5df333bbcea05a567e3 Mon Sep 17 00:00:00 2001 From: Beans <44657065+leey0818@users.noreply.github.com> Date: Wed, 30 Sep 2026 00:25:21 +0900 Subject: [PATCH] feat(bytecode): support RegExp for chunkAlias option (#885) Co-authored-by: Claude Opus 4.6 --- src/plugins/bytecode.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/plugins/bytecode.ts b/src/plugins/bytecode.ts index 3d2d697..52768f1 100644 --- a/src/plugins/bytecode.ts +++ b/src/plugins/bytecode.ts @@ -73,7 +73,7 @@ const bytecodeModuleLoaderCode = [ const bytecodeChunkExtensionRE = /.(jsc|cjsc)$/ export interface BytecodeOptions { - chunkAlias?: string | string[] + chunkAlias?: string | string[] | RegExp transformArrowFunctions?: boolean removeBundleJS?: boolean protectedStrings?: string[] @@ -90,11 +90,13 @@ export function bytecodePlugin(options: BytecodeOptions = {}): Plugin | null { } const { chunkAlias = [], transformArrowFunctions = true, removeBundleJS = true, protectedStrings = [] } = options - const _chunkAlias = Array.isArray(chunkAlias) ? chunkAlias : [chunkAlias] + const _chunkAlias = chunkAlias instanceof RegExp ? chunkAlias : Array.isArray(chunkAlias) ? chunkAlias : [chunkAlias] - const transformAllChunks = _chunkAlias.length === 0 const isBytecodeChunk = (chunkName: string): boolean => { - return transformAllChunks || _chunkAlias.some(alias => alias === chunkName) + if (_chunkAlias instanceof RegExp) { + return _chunkAlias.test(chunkName) + } + return _chunkAlias.length === 0 || _chunkAlias.some(alias => alias === chunkName) } const plugins: babel.PluginItem[] = []