/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/@schwingbat/punch@2.3.0/src/main.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
#!/usr/bin/env node
global.appRoot=__dirname;const CLI=require("./utils/cli/index.js"),pkg=require("../package.json"),{command:command,run:run}=CLI({name:"punch",version:pkg.version}),flags={VERBOSE:!1,BENCHMARK:!1,NO_SYNC:!1},ARGS=process.argv.slice(2);for(let e=0;e<ARGS.length;e++){const n=ARGS[e];if("-"===n[0])switch(n.toLowerCase()){case"-v":case"--version":console.log("punch v"+pkg.version),process.exit();break;case"--verbose":flags.VERBOSE=!0;break;case"-b":case"--benchmark":flags.BENCHMARK=!0,require("time-require");break;case"-ns":case"--nosync":case"--no-sync":flags.NO_SYNC=!0}}const bench=require("./utils/bench")({disabled:!flags.BENCHMARK}),config=require("./config")();bench.mark("config loaded");const Storage=require("./storage")(config),Punch=require("./punch/punch")(config,Storage);bench.mark("punch loaded");const injectables={config:config,Punch:Punch,Storage:Storage};async function exitHandler(e){await Punch.storage.cleanUp(),e.exit&&process.exit()}command(require("./commands/in")(injectables)),command(require("./commands/out")(injectables)),command(require("./commands/create")(injectables)),command(require("./commands/delete")(injectables)),command(require("./commands/adjust")(injectables)),command(require("./commands/comment")(injectables)),command(require("./commands/add-comment")(injectables)),command(require("./commands/delete-comment")(injectables)),command(require("./commands/replace-comment")(injectables)),command(require("./commands/tags")(injectables)),command(require("./commands/log")(injectables)),command(require("./commands/today")(injectables)),command(require("./commands/yesterday")(injectables)),command(require("./commands/week")(injectables)),command(require("./commands/month")(injectables)),command(require("./commands/invoice")(injectables)),command(require("./commands/sync")(injectables)),command(require("./commands/import")(injectables)),command(require("./commands/export")(injectables)),command(require("./commands/projects")(injectables)),command(require("./commands/rename-project")(injectables)),command(require("./commands/purge-project")(injectables)),command(require("./commands/migrate-from-sqlite")(injectables)),command(require("./commands/timestamp")(injectables)),command(require("./commands/watch")(injectables)),command(require("./commands/config")(injectables)),command(require("./commands/rename-comment-object")(injectables)),command(require("./commands/adjust-rate")(injectables)),run(ARGS),bench.mark("parsed and run"),bench.printAll(),process.on("exit",exitHandler.bind(null,{cleanup:!0})),process.on("uncaughtException",exitHandler.bind(null,{exit:!0})),process.on("SIGINT",exitHandler.bind(null,{exit:!0})),process.on("SIGUSR1",exitHandler.bind(null,{exit:!0})),process.on("SIGUSR2",exitHandler.bind(null,{exit:!0}));
//# sourceMappingURL=/sm/c3e50f19845c2f0313d01514cba0eefd9239f91e0f5da49f612843945b482661.map