Lines 5973-6024javascript
5973async function writePng2(model, flags) {
5974 const outPath = flags.pngPath ?? `./chaching-wrapped-${model.month}.png`;
5975 lastPngPath2 = outPath;
5976 let renderWrappedPng2;
5978 ({ renderWrappedPng: renderWrappedPng2 } = await Promise.resolve().then(() => (init_render_png2(), render_png_exports2)));
5983 const png = await renderWrappedPng2(model);
5984 const { writeFile: writeFile2 } = await import("fs/promises");
5985 await writeFile2(outPath, png);
5990function failPng2(err) {
5991 const msg = err instanceof Error ? err.message : String(err);
5992 const code = err instanceof Error ? err.code : void 0;
5993 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);
5994 process.stderr.write(
5995 "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}
6001// src/cli/commands/serve.ts
6004import { createServer } from "net";
6005import { spawn } from "child_process";
6006import { 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 · L5993 6007import { readFile as readFile2 } from "fs/promises";
6008import { homedir as homedir4, platform } from "os";
6009import { dirname as dirname6, join as join9 } from "path";
6010import { fileURLToPath as fileURLToPath5 } from "url";
6012// src/lib/core/base-path.js
6013function normalizeBasePath(raw) {
6014 if (raw == null) return "";
6015 const trimmed = raw.trim();
6016 if (trimmed === "" || trimmed === "/") return "";
6017 const inner = trimmed.replace(/^\/+/, "").replace(/\/+$/, "");
6018 return inner === "" ? "" : `/${inner}`;
6021// src/cli/commands/serve.ts
6022function configPath() {
6023 const configHome = process.env.XDG_CONFIG_HOME?.trim() || join9(homedir4(), ".config");
6024 return join9(configHome, "chaching", "config.json");