Skip to content

Commit 04dddb2

Browse files
committed
fix(plugin): ensure correct handling of worker.plugins for robust obfuscation
- Pass `obfuscateWorker: true` to enable worker obfuscation by default in tests. - Improve resolution of `worker.plugins` to handle various input types and ensure reliability.
1 parent a5a3fa7 commit 04dddb2

2 files changed

Lines changed: 9 additions & 2 deletions

File tree

src/__tests__/plugin.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1024,7 +1024,7 @@ describe('viteBundleObfuscator plugin', () => {
10241024
});
10251025

10261026
it('should auto inject worker obfuscator plugin', () => {
1027-
const plugin = viteBundleObfuscator() as Plugin;
1027+
const plugin = viteBundleObfuscator({obfuscateWorker: true}) as Plugin;
10281028
const originalWorkerPlugins = vi.fn().mockReturnValue([{name: 'user-worker-plugin'}]);
10291029
const config = {worker: {plugins: originalWorkerPlugins}} as any;
10301030
const env = {command: 'build', mode: 'production', isSsrBuild: false};

src/index.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,14 @@ export default function viteBundleObfuscator(config?: Partial<Config>): PluginOp
6969

7070
config.worker = config.worker || {};
7171
config.worker.plugins = () => {
72-
const originalPlugins = (isFunction(original) ? original() : []) || [];
72+
const originalPluginsOption = original ?? [];
73+
const resolvedOriginalPlugins = isFunction(originalPluginsOption)
74+
? originalPluginsOption()
75+
: originalPluginsOption;
76+
const originalPlugins = (isArray(resolvedOriginalPlugins)
77+
? resolvedOriginalPlugins
78+
: [resolvedOriginalPlugins]
79+
).filter(Boolean);
7380

7481
const hasWorkerPlugin = originalPlugins.some(
7582
p => isObject(p) && 'name' in p && (p as any).name === 'vite-plugin-bundle-obfuscator:worker',

0 commit comments

Comments
 (0)