fix(node-swc): Don't remove plugin from options (#1390)

This commit is contained in:
Jovi De Croock 2021-02-13 11:34:35 +01:00 committed by GitHub
parent 8ef78a9e08
commit a0898e8ce3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -106,18 +106,17 @@ export class Compiler {
}
const plugin = options.plugin;
delete options.plugin;
const { plugin, ...newOptions } = options;
if (plugin) {
const m =
typeof src === "string"
? await this.parse(src, options?.jsc?.parser)
: src;
return this.transform(plugin(m), options);
return this.transform(plugin(m), newOptions);
}
return bindings.transform(isModule ? JSON.stringify(src) : src, isModule, toBuffer(options))
return bindings.transform(isModule ? JSON.stringify(src) : src, isModule, toBuffer(newOptions))
}
transformSync(src: string | Program, options?: Options): Output {
@ -129,19 +128,18 @@ export class Compiler {
}
const plugin = options.plugin;
delete options.plugin;
const { plugin, ...newOptions } = options;
if (plugin) {
const m =
typeof src === "string" ? this.parseSync(src, options?.jsc?.parser) : src;
return this.transformSync(plugin(m), options);
return this.transformSync(plugin(m), newOptions);
}
return bindings.transformSync(
isModule ? JSON.stringify(src) : src,
isModule,
toBuffer(options),
toBuffer(newOptions),
)
}
@ -153,15 +151,14 @@ export class Compiler {
}
const plugin = options.plugin;
delete options.plugin;
const { plugin, ...newOptions } = options;
if (plugin) {
const m = await this.parseFile(path, options?.jsc?.parser);
return this.transform(plugin(m), options);
return this.transform(plugin(m), newOptions);
}
return bindings.transformFile(path, false, toBuffer(options))
return bindings.transformFile(path, false, toBuffer(newOptions))
}
transformFileSync(path: string, options?: Options): Output {
@ -172,15 +169,14 @@ export class Compiler {
}
const plugin = options?.plugin;
delete options?.plugin;
const { plugin, ...newOptions } = options;
if (plugin) {
const m = this.parseFileSync(path, options?.jsc?.parser);
return this.transformSync(plugin(m), options);
return this.transformSync(plugin(m), newOptions);
}
return bindings.transformFileSync(path, /* isModule */ false, toBuffer(options));
return bindings.transformFileSync(path, /* isModule */ false, toBuffer(newOptions));
}