UNPKG

humanifyjs

Version:

> Deobfuscate Javascript code using LLMs ("AI")

28 lines (27 loc) 1.16 kB
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 ]); });