humanifyjs
Version:
> Deobfuscate Javascript code using LLMs ("AI")
28 lines (27 loc) • 1.16 kB
JavaScript
import { cli } from "../cli.js";
import prettier from "../plugins/prettier.js";
import { unminify } from "../unminify.js";
import babel from "../plugins/babel/babel.js";
import { verbose } from "../verbose.js";
import { geminiRename } from "../plugins/gemini-rename.js";
import { env } from "../env.js";
export const azure = cli()
.name("gemini")
.description("Use Google Gemini/AIStudio API to unminify code")
.option("-m, --model <model>", "The model to use", "gemini-1.5-flash")
.option("-o, --outputDir <output>", "The output directory", "output")
.option("-k, --apiKey <apiKey>", "The Google Gemini/AIStudio API key. Alternatively use GEMINI_API_KEY environment variable")
.option("--verbose", "Show verbose output")
.argument("input", "The input minified Javascript file")
.action(async (filename, opts) => {
var _a;
if (opts.verbose) {
verbose.enabled = true;
}
const apiKey = (_a = opts.apiKey) !== null && _a !== void 0 ? _a : env("GEMINI_API_KEY");
await unminify(filename, opts.outputDir, [
babel,
geminiRename({ apiKey, model: opts.model }),
prettier
]);
});