Compare commits

...

2 Commits

Author SHA1 Message Date
Beans
7feae64e7e
Merge deed6f5891e20a26d4653323067576a7ce77a0c3 into 78a117d5be3c4696f3a90518a13dfad68d994ea4 2026-03-21 13:36:02 +01:00
leey0818
deed6f5891 feat(bytecode): support RegExp for chunkAlias option
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 13:44:03 +09:00

View File

@ -143,7 +143,7 @@ const bytecodeModuleLoaderCode = [
const bytecodeChunkExtensionRE = /.(jsc|cjsc)$/
export interface BytecodeOptions {
chunkAlias?: string | string[]
chunkAlias?: string | string[] | RegExp
transformArrowFunctions?: boolean
removeBundleJS?: boolean
protectedStrings?: string[]
@ -160,11 +160,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[] = []