New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

@node-cli/timer

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@node-cli/timer - npm Package Compare versions

Comparing version
1.0.4
to
1.0.5
+1
-1
dist/defaults.js.map

@@ -1,1 +0,1 @@

{"version":3,"sources":["../src/defaults.ts"],"sourcesContent":["/* istanbul ignore file */\nexport const defaultFlags = {\n\tboring: false,\n\tnotification: true,\n};\n"],"names":["defaultFlags","boring","notification"],"mappings":"AAAA,wBAAwB,GACxB,OAAO,MAAMA,eAAe;IAC3BC,QAAQ;IACRC,cAAc;AACf,EAAE"}
{"version":3,"sources":["../src/defaults.ts"],"sourcesContent":["/* istanbul ignore file */\nexport const defaultFlags = {\n\tboring: false,\n\tnotification: true,\n};\n"],"names":["defaultFlags","boring","notification"],"rangeMappings":";;;","mappings":"AAAA,wBAAwB,GACxB,OAAO,MAAMA,eAAe;IAC3BC,QAAQ;IACRC,cAAc;AACf,EAAE"}

@@ -0,3 +1,3 @@

import { parser } from "@node-cli/parser";
import { defaultFlags } from "./defaults.js";
import { parser } from "@node-cli/parser";
/* istanbul ignore next */ export const config = parser({

@@ -4,0 +4,0 @@ meta: import.meta,

@@ -1,1 +0,1 @@

{"version":3,"sources":["../src/parse.ts"],"sourcesContent":["import { defaultFlags } from \"./defaults.js\";\nimport { parser } from \"@node-cli/parser\";\n\nexport type Parameters = {\n\t[\"0\"]?: string;\n};\nexport type Configuration = {\n\tflags?: any;\n\tparameters?: Parameters;\n\tshowHelp?: () => void;\n};\n\n/* istanbul ignore next */\nexport const config: Configuration = parser({\n\tmeta: import.meta,\n\texamples: [\n\t\t{\n\t\t\tcommand: \"timer 4h2m15s\",\n\t\t\tcomment: \"## Start a timer for 4 hours, 2 minutes and 15 seconds\",\n\t\t},\n\t\t{\n\t\t\tcommand: \"timer 1m42s\",\n\t\t\tcomment: \"## Start a timer for 1 minute and 42 seconds\",\n\t\t},\n\t],\n\tflags: {\n\t\tboring: {\n\t\t\tshortFlag: \"b\",\n\t\t\tdefault: defaultFlags.boring,\n\t\t\tdescription: \"Do not use color output\",\n\t\t\ttype: \"boolean\",\n\t\t},\n\t\thelp: {\n\t\t\tshortFlag: \"h\",\n\t\t\tdescription: \"Display help instructions\",\n\t\t\ttype: \"boolean\",\n\t\t},\n\t\tnotification: {\n\t\t\tshortFlag: \"n\",\n\t\t\tdefault: defaultFlags.notification,\n\t\t\tdescription: \"Display a notification when the timer is done\",\n\t\t\ttype: \"boolean\",\n\t\t},\n\t\tversion: {\n\t\t\tshortFlag: \"v\",\n\t\t\tdescription: \"Output the current version\",\n\t\t\ttype: \"boolean\",\n\t\t},\n\t},\n\tparameters: {\n\t\tformattedTime: {\n\t\t\tdescription: \"Formatted time to start the timer\",\n\t\t},\n\t},\n\n\tusage: \"timer [formattedTime]\",\n});\n"],"names":["defaultFlags","parser","config","meta","examples","command","comment","flags","boring","shortFlag","default","description","type","help","notification","version","parameters","formattedTime","usage"],"mappings":"AAAA,SAASA,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,MAAM,QAAQ,mBAAmB;AAW1C,wBAAwB,GACxB,OAAO,MAAMC,SAAwBD,OAAO;IAC3CE,MAAM;IACNC,UAAU;QACT;YACCC,SAAS;YACTC,SAAS;QACV;QACA;YACCD,SAAS;YACTC,SAAS;QACV;KACA;IACDC,OAAO;QACNC,QAAQ;YACPC,WAAW;YACXC,SAASV,aAAaQ,MAAM;YAC5BG,aAAa;YACbC,MAAM;QACP;QACAC,MAAM;YACLJ,WAAW;YACXE,aAAa;YACbC,MAAM;QACP;QACAE,cAAc;YACbL,WAAW;YACXC,SAASV,aAAac,YAAY;YAClCH,aAAa;YACbC,MAAM;QACP;QACAG,SAAS;YACRN,WAAW;YACXE,aAAa;YACbC,MAAM;QACP;IACD;IACAI,YAAY;QACXC,eAAe;YACdN,aAAa;QACd;IACD;IAEAO,OAAO;AACR,GAAG"}
{"version":3,"sources":["../src/parse.ts"],"sourcesContent":["import { parser } from \"@node-cli/parser\";\nimport { defaultFlags } from \"./defaults.js\";\n\nexport type Parameters = {\n\t[\"0\"]?: string;\n};\nexport type Configuration = {\n\tflags?: any;\n\tparameters?: Parameters;\n\tshowHelp?: () => void;\n};\n\n/* istanbul ignore next */\nexport const config: Configuration = parser({\n\tmeta: import.meta,\n\texamples: [\n\t\t{\n\t\t\tcommand: \"timer 4h2m15s\",\n\t\t\tcomment: \"## Start a timer for 4 hours, 2 minutes and 15 seconds\",\n\t\t},\n\t\t{\n\t\t\tcommand: \"timer 1m42s\",\n\t\t\tcomment: \"## Start a timer for 1 minute and 42 seconds\",\n\t\t},\n\t],\n\tflags: {\n\t\tboring: {\n\t\t\tshortFlag: \"b\",\n\t\t\tdefault: defaultFlags.boring,\n\t\t\tdescription: \"Do not use color output\",\n\t\t\ttype: \"boolean\",\n\t\t},\n\t\thelp: {\n\t\t\tshortFlag: \"h\",\n\t\t\tdescription: \"Display help instructions\",\n\t\t\ttype: \"boolean\",\n\t\t},\n\t\tnotification: {\n\t\t\tshortFlag: \"n\",\n\t\t\tdefault: defaultFlags.notification,\n\t\t\tdescription: \"Display a notification when the timer is done\",\n\t\t\ttype: \"boolean\",\n\t\t},\n\t\tversion: {\n\t\t\tshortFlag: \"v\",\n\t\t\tdescription: \"Output the current version\",\n\t\t\ttype: \"boolean\",\n\t\t},\n\t},\n\tparameters: {\n\t\tformattedTime: {\n\t\t\tdescription: \"Formatted time to start the timer\",\n\t\t},\n\t},\n\n\tusage: \"timer [formattedTime]\",\n});\n"],"names":["parser","defaultFlags","config","meta","examples","command","comment","flags","boring","shortFlag","default","description","type","help","notification","version","parameters","formattedTime","usage"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,YAAY,QAAQ,gBAAgB;AAW7C,wBAAwB,GACxB,OAAO,MAAMC,SAAwBF,OAAO;IAC3CG,MAAM;IACNC,UAAU;QACT;YACCC,SAAS;YACTC,SAAS;QACV;QACA;YACCD,SAAS;YACTC,SAAS;QACV;KACA;IACDC,OAAO;QACNC,QAAQ;YACPC,WAAW;YACXC,SAAST,aAAaO,MAAM;YAC5BG,aAAa;YACbC,MAAM;QACP;QACAC,MAAM;YACLJ,WAAW;YACXE,aAAa;YACbC,MAAM;QACP;QACAE,cAAc;YACbL,WAAW;YACXC,SAAST,aAAaa,YAAY;YAClCH,aAAa;YACbC,MAAM;QACP;QACAG,SAAS;YACRN,WAAW;YACXE,aAAa;YACbC,MAAM;QACP;IACD;IACAI,YAAY;QACXC,eAAe;YACdN,aAAa;QACd;IACD;IAEAO,OAAO;AACR,GAAG"}
#!/usr/bin/env node
/* istanbul ignore file */ import { Timer } from "./utilities.js";
import { config } from "./parse.js";
/* istanbul ignore file */ import { config } from "./parse.js";
import { Timer } from "./utilities.js";
const timer = new Timer(config);

@@ -5,0 +5,0 @@ timer.start();

@@ -1,1 +0,1 @@

{"version":3,"sources":["../src/timer.ts"],"sourcesContent":["#!/usr/bin/env node\n/* istanbul ignore file */\n\nimport { Timer } from \"./utilities.js\";\nimport { config } from \"./parse.js\";\n\nconst timer = new Timer(config);\ntimer.start();\n"],"names":["Timer","config","timer","start"],"mappings":";AACA,wBAAwB,GAExB,SAASA,KAAK,QAAQ,iBAAiB;AACvC,SAASC,MAAM,QAAQ,aAAa;AAEpC,MAAMC,QAAQ,IAAIF,MAAMC;AACxBC,MAAMC,KAAK"}
{"version":3,"sources":["../src/timer.ts"],"sourcesContent":["#!/usr/bin/env node\n/* istanbul ignore file */\n\nimport { config } from \"./parse.js\";\nimport { Timer } from \"./utilities.js\";\n\nconst timer = new Timer(config);\ntimer.start();\n"],"names":["config","Timer","timer","start"],"rangeMappings":";;;;","mappings":";AACA,wBAAwB,GAExB,SAASA,MAAM,QAAQ,aAAa;AACpC,SAASC,KAAK,QAAQ,iBAAiB;AAEvC,MAAMC,QAAQ,IAAID,MAAMD;AACxBE,MAAMC,KAAK"}

@@ -1,1 +0,1 @@

{"version":3,"sources":["../src/utilities.ts"],"sourcesContent":["import { Logger, Spinner } from \"@node-cli/logger\";\nimport moment, { Duration } from \"moment\";\n\nimport { Configuration } from \"./parse.js\";\nimport notifier from \"node-notifier\";\n\nconst logger = new Logger();\nconst spinner = new Spinner();\n\nconst UNITS = {\n\tms: 1000,\n\ts: 1000 * 1000,\n\tm: 1000 * 1000 * 60,\n\th: 1000 * 1000 * 60 * 60,\n\td: 1000 * 1000 * 60 * 60 * 24,\n\tw: 1000 * 1000 * 60 * 60 * 24 * 7,\n};\n\nexport const timeToMicroseconds = (value: string, unit: string) => {\n\tconst result = UNITS[unit];\n\treturn result ? Number.parseInt(value, 10) * result : 0;\n};\n\nexport const extractDuration = (config: Configuration): Duration => {\n\tconst { parameters, showHelp } = config;\n\tlet totalMicroseconds = 0;\n\n\t/* istanbul ignore if */\n\tif (\n\t\tObject.entries(parameters).length === 0 ||\n\t\tObject.entries(parameters).length > 1\n\t) {\n\t\tshowHelp();\n\t}\n\n\tconst groups = parameters[\"0\"].toLowerCase().match(/[+-]?[\\d.]+[a-z]+/g);\n\n\t/* istanbul ignore if */\n\tif (groups === null) {\n\t\tshowHelp();\n\t} else {\n\t\tfor (const g of groups) {\n\t\t\tconst value = g.match(/[\\d.]+/g)[0];\n\t\t\tconst unit = g.match(/[a-z]+/g)[0];\n\t\t\ttotalMicroseconds += timeToMicroseconds(value, unit);\n\t\t}\n\t\treturn moment.duration(totalMicroseconds / UNITS.ms);\n\t}\n};\n\n/* istanbul ignore next */\nexport class Timer {\n\tconfig: Configuration;\n\tstartTime: number;\n\ttimerDurationMilliSeconds: number;\n\tintroMessage: string;\n\ttimerDurationSeconds: number;\n\n\tconstructor(config: Configuration) {\n\t\tthis.config = config;\n\t\tconst result: Duration = extractDuration(this.config);\n\t\tthis.timerDurationMilliSeconds = result.asMilliseconds();\n\t\tthis.timerDurationSeconds = result.asSeconds();\n\t\tthis.introMessage = `${result.hours()}h ${result.minutes()}m ${result.seconds()}s`;\n\t}\n\n\tstart = () => {\n\t\tif (this.timerDurationMilliSeconds > 0) {\n\t\t\tlogger.printBox(`${this.introMessage} `, {\n\t\t\t\tpadding: 0,\n\t\t\t\tborderColor: \"cyan\",\n\t\t\t\ttitle: \"Timer Configuration\",\n\t\t\t});\n\n\t\t\tthis.startTime = Date.now();\n\t\t\tspinner.start(this.introMessage);\n\n\t\t\t// update the spinner every second\n\t\t\tthis.printRemainingTime();\n\t\t\tconst timer = setInterval(this.printRemainingTime, 1000);\n\n\t\t\t// kill the spinner when the timer is done\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst message = \"Time's up!\";\n\t\t\t\tif (this.config.flags.notification) {\n\t\t\t\t\tnotifier.notify({\n\t\t\t\t\t\tmessage,\n\t\t\t\t\t\tsound: \"Funk\",\n\t\t\t\t\t\ttitle: \"Timer Notification\",\n\t\t\t\t\t\twait: true,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tclearInterval(timer);\n\t\t\t\tthis.printRemainingTime(message);\n\t\t\t\tspinner.stop();\n\t\t\t}, this.timerDurationMilliSeconds);\n\t\t}\n\t};\n\n\tprivate printRemainingTime = (message: string | void) => {\n\t\tif (message) {\n\t\t\tspinner.text = message;\n\t\t} else {\n\t\t\tconst elapsed = (Date.now() - this.startTime) / 1000;\n\t\t\tconst duration = moment.duration(\n\t\t\t\t(this.timerDurationSeconds - elapsed) * 1000,\n\t\t\t);\n\t\t\tspinner.text = `${duration.hours()}h ${duration.minutes()}m ${duration.seconds()}s`;\n\t\t}\n\t};\n}\n"],"names":["Logger","Spinner","moment","notifier","logger","spinner","UNITS","ms","s","m","h","d","w","timeToMicroseconds","value","unit","result","Number","parseInt","extractDuration","config","parameters","showHelp","totalMicroseconds","Object","entries","length","groups","toLowerCase","match","g","duration","Timer","startTime","timerDurationMilliSeconds","introMessage","timerDurationSeconds","constructor","asMilliseconds","asSeconds","hours","minutes","seconds","start","printBox","padding","borderColor","title","Date","now","printRemainingTime","timer","setInterval","setTimeout","message","flags","notification","notify","sound","wait","clearInterval","stop","text","elapsed"],"mappings":"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"}
{"version":3,"sources":["../src/utilities.ts"],"sourcesContent":["import { Logger, Spinner } from \"@node-cli/logger\";\nimport moment, { Duration } from \"moment\";\n\nimport notifier from \"node-notifier\";\nimport { Configuration } from \"./parse.js\";\n\nconst logger = new Logger();\nconst spinner = new Spinner();\n\nconst UNITS = {\n\tms: 1000,\n\ts: 1000 * 1000,\n\tm: 1000 * 1000 * 60,\n\th: 1000 * 1000 * 60 * 60,\n\td: 1000 * 1000 * 60 * 60 * 24,\n\tw: 1000 * 1000 * 60 * 60 * 24 * 7,\n};\n\nexport const timeToMicroseconds = (value: string, unit: string) => {\n\tconst result = UNITS[unit];\n\treturn result ? Number.parseInt(value, 10) * result : 0;\n};\n\nexport const extractDuration = (config: Configuration): Duration => {\n\tconst { parameters, showHelp } = config;\n\tlet totalMicroseconds = 0;\n\n\t/* istanbul ignore if */\n\tif (\n\t\tObject.entries(parameters).length === 0 ||\n\t\tObject.entries(parameters).length > 1\n\t) {\n\t\tshowHelp();\n\t}\n\n\tconst groups = parameters[\"0\"].toLowerCase().match(/[+-]?[\\d.]+[a-z]+/g);\n\n\t/* istanbul ignore if */\n\tif (groups === null) {\n\t\tshowHelp();\n\t} else {\n\t\tfor (const g of groups) {\n\t\t\tconst value = g.match(/[\\d.]+/g)[0];\n\t\t\tconst unit = g.match(/[a-z]+/g)[0];\n\t\t\ttotalMicroseconds += timeToMicroseconds(value, unit);\n\t\t}\n\t\treturn moment.duration(totalMicroseconds / UNITS.ms);\n\t}\n};\n\n/* istanbul ignore next */\nexport class Timer {\n\tconfig: Configuration;\n\tstartTime: number;\n\ttimerDurationMilliSeconds: number;\n\tintroMessage: string;\n\ttimerDurationSeconds: number;\n\n\tconstructor(config: Configuration) {\n\t\tthis.config = config;\n\t\tconst result: Duration = extractDuration(this.config);\n\t\tthis.timerDurationMilliSeconds = result.asMilliseconds();\n\t\tthis.timerDurationSeconds = result.asSeconds();\n\t\tthis.introMessage = `${result.hours()}h ${result.minutes()}m ${result.seconds()}s`;\n\t}\n\n\tstart = () => {\n\t\tif (this.timerDurationMilliSeconds > 0) {\n\t\t\tlogger.printBox(`${this.introMessage} `, {\n\t\t\t\tpadding: 0,\n\t\t\t\tborderColor: \"cyan\",\n\t\t\t\ttitle: \"Timer Configuration\",\n\t\t\t});\n\n\t\t\tthis.startTime = Date.now();\n\t\t\tspinner.start(this.introMessage);\n\n\t\t\t// update the spinner every second\n\t\t\tthis.printRemainingTime();\n\t\t\tconst timer = setInterval(this.printRemainingTime, 1000);\n\n\t\t\t// kill the spinner when the timer is done\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst message = \"Time's up!\";\n\t\t\t\tif (this.config.flags.notification) {\n\t\t\t\t\tnotifier.notify({\n\t\t\t\t\t\tmessage,\n\t\t\t\t\t\tsound: \"Funk\",\n\t\t\t\t\t\ttitle: \"Timer Notification\",\n\t\t\t\t\t\twait: true,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tclearInterval(timer);\n\t\t\t\tthis.printRemainingTime(message);\n\t\t\t\tspinner.stop();\n\t\t\t}, this.timerDurationMilliSeconds);\n\t\t}\n\t};\n\n\tprivate printRemainingTime = (message: string | void) => {\n\t\tif (message) {\n\t\t\tspinner.text = message;\n\t\t} else {\n\t\t\tconst elapsed = (Date.now() - this.startTime) / 1000;\n\t\t\tconst duration = moment.duration(\n\t\t\t\t(this.timerDurationSeconds - elapsed) * 1000,\n\t\t\t);\n\t\t\tspinner.text = `${duration.hours()}h ${duration.minutes()}m ${duration.seconds()}s`;\n\t\t}\n\t};\n}\n"],"names":["Logger","Spinner","moment","notifier","logger","spinner","UNITS","ms","s","m","h","d","w","timeToMicroseconds","value","unit","result","Number","parseInt","extractDuration","config","parameters","showHelp","totalMicroseconds","Object","entries","length","groups","toLowerCase","match","g","duration","Timer","startTime","timerDurationMilliSeconds","introMessage","timerDurationSeconds","constructor","asMilliseconds","asSeconds","hours","minutes","seconds","start","printBox","padding","borderColor","title","Date","now","printRemainingTime","timer","setInterval","setTimeout","message","flags","notification","notify","sound","wait","clearInterval","stop","text","elapsed"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,MAAM,EAAEC,OAAO,QAAQ,mBAAmB;AACnD,OAAOC,YAA0B,SAAS;AAE1C,OAAOC,cAAc,gBAAgB;AAGrC,MAAMC,SAAS,IAAIJ;AACnB,MAAMK,UAAU,IAAIJ;AAEpB,MAAMK,QAAQ;IACbC,IAAI;IACJC,GAAG,OAAO;IACVC,GAAG,OAAO,OAAO;IACjBC,GAAG,OAAO,OAAO,KAAK;IACtBC,GAAG,OAAO,OAAO,KAAK,KAAK;IAC3BC,GAAG,OAAO,OAAO,KAAK,KAAK,KAAK;AACjC;AAEA,OAAO,MAAMC,qBAAqB,CAACC,OAAeC;IACjD,MAAMC,SAASV,KAAK,CAACS,KAAK;IAC1B,OAAOC,SAASC,OAAOC,QAAQ,CAACJ,OAAO,MAAME,SAAS;AACvD,EAAE;AAEF,OAAO,MAAMG,kBAAkB,CAACC;IAC/B,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGF;IACjC,IAAIG,oBAAoB;IAExB,sBAAsB,GACtB,IACCC,OAAOC,OAAO,CAACJ,YAAYK,MAAM,KAAK,KACtCF,OAAOC,OAAO,CAACJ,YAAYK,MAAM,GAAG,GACnC;QACDJ;IACD;IAEA,MAAMK,SAASN,UAAU,CAAC,IAAI,CAACO,WAAW,GAAGC,KAAK,CAAC;IAEnD,sBAAsB,GACtB,IAAIF,WAAW,MAAM;QACpBL;IACD,OAAO;QACN,KAAK,MAAMQ,KAAKH,OAAQ;YACvB,MAAMb,QAAQgB,EAAED,KAAK,CAAC,UAAU,CAAC,EAAE;YACnC,MAAMd,OAAOe,EAAED,KAAK,CAAC,UAAU,CAAC,EAAE;YAClCN,qBAAqBV,mBAAmBC,OAAOC;QAChD;QACA,OAAOb,OAAO6B,QAAQ,CAACR,oBAAoBjB,MAAMC,EAAE;IACpD;AACD,EAAE;AAEF,wBAAwB,GACxB,OAAO,MAAMyB;IACZZ,OAAsB;IACtBa,UAAkB;IAClBC,0BAAkC;IAClCC,aAAqB;IACrBC,qBAA6B;IAE7BC,YAAYjB,MAAqB,CAAE;QAClC,IAAI,CAACA,MAAM,GAAGA;QACd,MAAMJ,SAAmBG,gBAAgB,IAAI,CAACC,MAAM;QACpD,IAAI,CAACc,yBAAyB,GAAGlB,OAAOsB,cAAc;QACtD,IAAI,CAACF,oBAAoB,GAAGpB,OAAOuB,SAAS;QAC5C,IAAI,CAACJ,YAAY,GAAG,CAAC,EAAEnB,OAAOwB,KAAK,GAAG,EAAE,EAAExB,OAAOyB,OAAO,GAAG,EAAE,EAAEzB,OAAO0B,OAAO,GAAG,CAAC,CAAC;IACnF;IAEAC,QAAQ;QACP,IAAI,IAAI,CAACT,yBAAyB,GAAG,GAAG;YACvC9B,OAAOwC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAACT,YAAY,CAAC,EAAE,CAAC,EAAE;gBACzCU,SAAS;gBACTC,aAAa;gBACbC,OAAO;YACR;YAEA,IAAI,CAACd,SAAS,GAAGe,KAAKC,GAAG;YACzB5C,QAAQsC,KAAK,CAAC,IAAI,CAACR,YAAY;YAE/B,kCAAkC;YAClC,IAAI,CAACe,kBAAkB;YACvB,MAAMC,QAAQC,YAAY,IAAI,CAACF,kBAAkB,EAAE;YAEnD,0CAA0C;YAC1CG,WAAW;gBACV,MAAMC,UAAU;gBAChB,IAAI,IAAI,CAAClC,MAAM,CAACmC,KAAK,CAACC,YAAY,EAAE;oBACnCrD,SAASsD,MAAM,CAAC;wBACfH;wBACAI,OAAO;wBACPX,OAAO;wBACPY,MAAM;oBACP;gBACD;gBACAC,cAAcT;gBACd,IAAI,CAACD,kBAAkB,CAACI;gBACxBjD,QAAQwD,IAAI;YACb,GAAG,IAAI,CAAC3B,yBAAyB;QAClC;IACD,EAAE;IAEMgB,qBAAqB,CAACI;QAC7B,IAAIA,SAAS;YACZjD,QAAQyD,IAAI,GAAGR;QAChB,OAAO;YACN,MAAMS,UAAU,AAACf,CAAAA,KAAKC,GAAG,KAAK,IAAI,CAAChB,SAAS,AAAD,IAAK;YAChD,MAAMF,WAAW7B,OAAO6B,QAAQ,CAC/B,AAAC,CAAA,IAAI,CAACK,oBAAoB,GAAG2B,OAAM,IAAK;YAEzC1D,QAAQyD,IAAI,GAAG,CAAC,EAAE/B,SAASS,KAAK,GAAG,EAAE,EAAET,SAASU,OAAO,GAAG,EAAE,EAAEV,SAASW,OAAO,GAAG,CAAC,CAAC;QACpF;IACD,EAAE;AACH"}
{
"name": "@node-cli/timer",
"version": "1.0.4",
"version": "1.0.5",
"license": "MIT",

@@ -21,3 +21,3 @@ "author": "Arno Versini",

"clean": "rimraf dist types coverage",
"lint": "prettier --write \"src/*.ts\" && eslint --fix \"src/*.ts\"",
"lint": "biome lint src",
"test": "cross-env-shell NODE_OPTIONS=--experimental-vm-modules TZ=UTC jest",

@@ -28,4 +28,4 @@ "test:coverage": "npm run test -- --coverage",

"dependencies": {
"@node-cli/logger": "1.2.3",
"@node-cli/parser": "2.3.2",
"@node-cli/logger": "1.2.5",
"@node-cli/parser": "2.3.3",
"moment": "2.30.1",

@@ -37,3 +37,3 @@ "node-notifier": "10.0.1"

},
"gitHead": "4205e6c82a1dee6f83f5b9f45d0ea878490287eb"
"gitHead": "d7d79f8f71fb3225e5a214aba3a42a89470d8340"
}