Lines 5981-6032javascript
5981async function writePng2(model, flags) {
5982 const outPath = flags.pngPath ?? `./chaching-wrapped-${model.month}.png`;
5983 lastPngPath2 = outPath;
5984 let renderWrappedPng2;
5986 ({ renderWrappedPng: renderWrappedPng2 } = await Promise.resolve().then(() => (init_render_png2(), render_png_exports2)));
5991 const png = await renderWrappedPng2(model);
5992 const { writeFile: writeFile2 } = await import("fs/promises");
5993 await writeFile2(outPath, png);
5998function failPng2(err) {
5999 const msg = err instanceof Error ? err.message : String(err);
6000 const code = err instanceof Error ? err.code : void 0;
6001 const missingDep = code === "ERR_MODULE_NOT_FOUND" || code === "MODULE_NOT_FOUND" || /Cannot find (package|module) '(satori|@resvg\/resvg-js)'|ERR_MODULE_NOT_FOUND|MODULE_NOT_FOUND/.test(msg);
6002 process.stderr.write(
6003 "chaching wrapped: PNG export requires the brand renderer.\n" + (missingDep ? "Your install came without the PNG renderer dependencies. Install them with:\n npm i -g satori @resvg/resvg-js\n(or reinstall chaching to pull the optional renderer).\n" : `PNG render failed: ${msg}
6009// src/cli/commands/serve.ts
6012import { createServer } from "net";
6013import { spawn } from "child_process";
6014import { existsSync as existsSync5 } from "fs";
HighCommand Output Exfiltration
Source combines command execution, command-output handling, and outbound requests; review data flow before blocking.
dist/cli/index.jsView on unpkg · L6001 6015import { readFile as readFile2 } from "fs/promises";
6016import { homedir as homedir4, platform } from "os";
6017import { dirname as dirname6, join as join9 } from "path";
6018import { fileURLToPath as fileURLToPath5 } from "url";
6020// src/lib/core/base-path.js
6021function normalizeBasePath(raw) {
6022 if (raw == null) return "";
6023 const trimmed = raw.trim();
6024 if (trimmed === "" || trimmed === "/") return "";
6025 const inner = trimmed.replace(/^\/+/, "").replace(/\/+$/, "");
6026 return inner === "" ? "" : `/${inner}`;
6029// src/cli/commands/serve.ts
6030function configPath() {
6031 const configHome = process.env.XDG_CONFIG_HOME?.trim() || join9(homedir4(), ".config");
6032 return join9(configHome, "chaching", "config.json");