UNPKG

@animepaste/bangumi

Version:
33 lines (30 loc) 1.22 kB
import fs from 'node:fs'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; import { breadc } from 'breadc'; const version = "0.0.12"; const bangumi = breadc("bangumi", { version }); bangumi.command("<output>").option("--begin <begin>", "Begin date").option("--end <end>", "End date").option("--type <type>", "Filter bangumi types", { default: "tv" }).option("--fields <fileds>", "Enable extension fields", { default: "" }).option("--compress", "Enable compress").action(async (name, option) => { const { transform } = await import('./transform.mjs'); const data = await transform({ begin: option.begin, end: option.end, type: option.type.split(",").filter(Boolean), fields: option.fields.split(",").filter(Boolean), compress: option.compress }); const dataPath = path.join(fileURLToPath(import.meta.url), "../../data"); if (!fs.existsSync(dataPath)) { fs.mkdirSync(dataPath); } const filename = name ?? "data.json"; fs.writeFileSync( path.join( dataPath, filename.endsWith(".json") ? filename : filename + ".json" ), JSON.stringify(data), "utf8" ); }); bangumi.run(process.argv.slice(2)).catch((err) => console.error(err));