feature: babel-core: add cloneInputAst (#10241)

Co-authored-by: coderaiser <coderaiser@cloudcmd.io>
This commit is contained in:
coderaiser
2020-07-29 23:40:02 +03:00
committed by GitHub
parent 6373eb5d82
commit cf425a0bde
5 changed files with 38 additions and 1 deletions

View File

@@ -214,6 +214,31 @@ describe("api", function () {
);
});
it("transformFromAst should mutate the AST when cloneInputAst is false", function () {
const program = "const identifier = 1";
const node = parse(program);
const { code } = transformFromAst(node, program, {
cloneInputAst: false,
plugins: [
function () {
return {
visitor: {
Identifier: function (path) {
path.node.name = "replaced";
},
},
};
},
],
});
expect(code).toBe("const replaced = 1;");
expect(node.program.body[0].declarations[0].id.name).toBe(
"replaced",
"original ast should have been mutated",
);
});
it("options throw on falsy true", function () {
return expect(function () {
transform("", {

View File

@@ -984,6 +984,7 @@ describe("buildConfigChain", function () {
passPerPreset: false,
plugins: [],
presets: [],
cloneInputAst: true,
});
const realEnv = process.env.NODE_ENV;
const realBabelEnv = process.env.BABEL_ENV;