跳到主要内容

认识

2024年11月10日
柏拉文
越努力,越幸运

一、认识


jscodeshift 是一个 JavaScript 代码转换工具,主要用于批量代码迁移、重构和格式化。通过基于 AST(抽象语法树)的代码操作,jscodeshift 可以修改 JavaScript 代码库中的特定模式,非常适合大规模项目。其主要用途包括代码重构、API 迁移和语法转换等。

二、语法


2.1 JavaScript 解析为 AST

const jscodeshift = require("jscodeshift");
const sourceCode = `
const a = 1;
const b = 2;
const c = a + b;

const add = (a, b) => a + b;
const d = add(a, b);
`;
const ast = jscodeshift(sourceCode);
console.log("ast", ast);

2.2 查找 AST 中指定类型节点

查找、过滤变量语句: 通过 VariableDeclaration 可以过滤出 varletconst 变量声明语句。

const jscodeshift = require("jscodeshift");
const sourceCode = `
const a = 1;
const b = 2;
const c = a + b;

const add = (a, b) => a + b;
const d = add(a, b);
`;

const ast = jscodeshift(sourceCode);
const { VariableDeclaration } = jscodeshift;

const result = ast.find(VariableDeclaration, { kind: "const" });
console.log("result", result);