@cyberskill/shared 1.16.0 → 1.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/commands.cjs CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(t){if(Array.isArray(t))return e(t)}function n(e,t,n,r,s,c,a){try{var i=e[c](a);var o=i.value}catch(e){n(e);return}if(i.done){t(o)}else{Promise.resolve(o).then(r,s)}}function r(e){return function(){var t=this,r=arguments;return new Promise(function(s,c){var a=e.apply(t,r);function i(e){n(a,s,c,i,o,"next",e)}function o(e){n(a,s,c,i,o,"throw",e)}i(undefined)})}}function s(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function c(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function a(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){s(e,t,n[t])})}return e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}n.push.apply(n,r)}return n}function u(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{o(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function l(e){return t(e)||c(e)||p(e)||a()}function f(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function p(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function h(e,t){var n,r,s,c,a={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]};return c={next:i(0),"throw":i(1),"return":i(2)},typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function i(e){return function(t){return o([e,t])}}function o(c){if(n)throw new TypeError("Generator is already executing.");while(a)try{if(n=1,r&&(s=c[0]&2?r["return"]:c[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,c[1])).done)return s;if(r=0,s)c=[c[0]&2,s.value];switch(c[0]){case 0:case 1:s=c;break;case 4:a.label++;return{value:c[1],done:false};case 5:a.label++;r=c[1];c=[0];continue;case 7:c=a.ops.pop();a.trys.pop();continue;default:if(!(s=a.trys,s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){a=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){a.label=c[1];break}if(c[0]===6&&a.label<s[1]){a.label=s[1];s=c;break}if(s&&a.label<s[2]){a.label=s[2];a.ops.push(c);break}if(s[2])a.ops.pop();a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e];r=0}finally{n=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var g=Object.create;var d=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var v=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var _=function(e,t,n,r){var s=true,c=false,a=undefined;if(t&&(typeof t==="undefined"?"undefined":f(t))=="object"||typeof t=="function")try{var i=function(){var s=u.value;!b.call(e,s)&&s!==n&&d(e,s,{get:function(){return t[s]},enumerable:!(r=y(t,s))||r.enumerable})};for(var o=m(t)[Symbol.iterator](),u;!(s=(u=o.next()).done);s=true)i()}catch(e){c=true;a=e}finally{try{if(!s&&o.return!=null){o.return()}}finally{if(c){throw a}}}return e};var w=function(e,t,n){return n=e!=null?g(v(e)):{},_(t||!e||!e.__esModule?d(n,"default",{value:e,enumerable:!0}):n,e)};var S=function(){return(typeof document==="undefined"?"undefined":f(document))>"u"?new URL("file:".concat(__filename)).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href},I=S();var O=w(require("fs"),1),E=w(require("path"),1),P=w(require("process"),1),k=require("yargs/helpers"),T=w(require("yargs/yargs"),1);var j=require("path"),x=require("url"),A=(0,x.fileURLToPath)(I),C=(0,j.dirname)(A);var N=w(require("localforage"),1),R=w(require("node-persist"),1),M=w(require("os"),1),D=w(require("path"),1),G=w(require("process"),1),q=(typeof window==="undefined"?"undefined":f(window))<"u",U=G.default.env.CYBERSKILL_STORAGE_DIR||D.default.join(M.default.homedir(),".cyberskill-storage");function F(){return H.apply(this,arguments)}function H(){H=r(function(){var e;return h(this,function(t){switch(t.label){case 0:e=!q&&!R.default.defaultInstance;if(!e)return[3,2];return[4,R.default.init({dir:U,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})});return H.apply(this,arguments)}var W={get:function e(e){return r(function(){var t,n,r;return h(this,function(s){switch(s.label){case 0:s.trys.push([0,6,,7]);if(!q)return[3,2];return[4,N.default.getItem(e)];case 1:n=s.sent();return[3,5];case 2:return[4,F()];case 3:s.sent();return[4,R.default.getItem(e)];case 4:n=(t=s.sent())!==null&&t!==void 0?t:null;s.label=5;case 5:return[2,n];case 6:r=s.sent();return[2,(console.error('❌ [Storage:get] Error getting key "'.concat(e,'":'),r),null)];case 7:return[2]}})})()},set:function e(e,t){return r(function(){var n,r;return h(this,function(s){switch(s.label){case 0:s.trys.push([0,6,,7]);if(!q)return[3,2];return[4,N.default.setItem(e,t)];case 1:n=s.sent();return[3,5];case 2:return[4,F()];case 3:s.sent();return[4,R.default.setItem(e,t)];case 4:n=s.sent();s.label=5;case 5:n;return[3,7];case 6:r=s.sent();console.error('❌ [Storage:set] Error setting key "'.concat(e,'":'),r);return[3,7];case 7:return[2]}})})()},remove:function e(e){return r(function(){var t,n;return h(this,function(r){switch(r.label){case 0:r.trys.push([0,6,,7]);if(!q)return[3,2];return[4,N.default.removeItem(e)];case 1:t=r.sent();return[3,5];case 2:return[4,F()];case 3:r.sent();return[4,R.default.removeItem(e)];case 4:t=r.sent();r.label=5;case 5:t;return[3,7];case 6:n=r.sent();console.error('❌ [Storage:remove] Error removing key "'.concat(e,'":'),n);return[3,7];case 7:return[2]}})})()},keys:function e(){return r(function(){var e,t;return h(this,function(n){switch(n.label){case 0:n.trys.push([0,6,,7]);if(!q)return[3,2];return[4,N.default.keys()];case 1:e=n.sent();return[3,5];case 2:return[4,F()];case 3:n.sent();return[4,R.default.keys()];case 4:e=n.sent()||[];n.label=5;case 5:return[2,e];case 6:t=n.sent();return[2,(console.error("❌ [Storage:keys] Error getting keys:",t),[])];case 7:return[2]}})})()},values:function e(){return r(function(){var e,t;return h(this,function(n){switch(n.label){case 0:n.trys.push([0,7,,8]);if(!q)return[3,3];return[4,N.default.keys()];case 1:e=n.sent();return[4,Promise.all(e.map(function(e){return N.default.getItem(e)}))];case 2:return[2,n.sent().filter(function(e){return e!==null})];case 3:return[4,F()];case 4:n.sent();return[4,R.default.values()];case 5:return[2,n.sent()];case 6:return[3,8];case 7:t=n.sent();return[2,(console.error("❌ [Storage:values] Error getting values:",t),[])];case 8:return[2]}})})()},entries:function e(){return r(function(){var e,t,n,s;return h(this,function(c){switch(c.label){case 0:c.trys.push([0,8,,9]);if(!q)return[3,3];return[4,N.default.keys()];case 1:e=c.sent();return[4,Promise.all(e.map(/*#__PURE__*/function(){var e=r(function(e){var t;return h(this,function(n){switch(n.label){case 0:return[4,N.default.getItem(e)];case 1:t=n.sent();return[2,t!==null?[e,t]:null]}})});return function(t){return e.apply(this,arguments)}}()))];case 2:return[2,c.sent().filter(function(e){return e!==null})];case 3:return[4,F()];case 4:c.sent();return[4,R.default.keys()];case 5:t=c.sent();return[4,R.default.values()];case 6:n=c.sent();return[2,t.map(function(e,t){return[e,n[t]]})];case 7:return[3,9];case 8:s=c.sent();return[2,(console.error("❌ [Storage:entries] Error getting entries:",s),[])];case 9:return[2]}})})()},clear:function e(){return r(function(){var e,t;return h(this,function(n){switch(n.label){case 0:n.trys.push([0,6,,7]);if(!q)return[3,2];return[4,N.default.clear()];case 1:e=n.sent();return[3,5];case 2:return[4,F()];case 3:n.sent();return[4,R.default.clear()];case 4:e=n.sent();n.label=5;case 5:e;return[3,7];case 6:t=n.sent();console.error("❌ [Storage:clear] Error clearing storage:",t);return[3,7];case 7:return[2]}})})()},length:function e(){return r(function(){var e,t;return h(this,function(n){switch(n.label){case 0:n.trys.push([0,6,,7]);if(!q)return[3,2];return[4,N.default.length()];case 1:e=n.sent();return[3,5];case 2:return[4,F()];case 3:n.sent();return[4,R.default.keys()];case 4:e=n.sent().length;n.label=5;case 5:return[2,e];case 6:t=n.sent();return[2,(console.error("❌ [Storage:length] Error getting storage length:",t),0)];case 7:return[2]}})})()}};var K=function(e){return"error_list:".concat(e)};function L(e){return J.apply(this,arguments)}function J(){J=r(function(e){var t,n,r;return h(this,function(s){switch(s.label){case 0:if(!e.length)return[2];t=Date.now(),n=K(t);s.label=1;case 1:s.trys.push([1,3,,4]);return[4,W.set(n,{errors:e,timestamp:t})];case 2:s.sent(),console.log("✅ Saved ".concat(e.length," errors to storage with key: ").concat(n));return[3,4];case 3:r=s.sent();console.error("❌ Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})});return J.apply(this,arguments)}function B(){return Y.apply(this,arguments)}function Y(){Y=r(function(){var e,t,n,r,s,c,a,i,o,u,f,p;return h(this,function(h){switch(h.label){case 0:h.trys.push([0,10,,11]);return[4,W.keys()];case 1:e=h.sent().filter(function(e){return e.startsWith("error_list:")}),t=[];n=true,r=false,s=undefined;h.label=2;case 2:h.trys.push([2,7,8,9]);c=e[Symbol.iterator]();h.label=3;case 3:if(!!(n=(a=c.next()).done))return[3,6];i=a.value;return[4,W.get(i)];case 4:u=h.sent();u&&(o=t).push.apply(o,l(u.errors));h.label=5;case 5:n=true;return[3,3];case 6:return[3,9];case 7:f=h.sent();r=true;s=f;return[3,9];case 8:try{if(!n&&c.return!=null){c.return()}}finally{if(r){throw s}}return[7];case 9:return[2,t];case 10:p=h.sent();return[2,(console.error("❌ Failed to retrieve stored errors: ".concat(p.message)),[])];case 11:return[2]}})});return Y.apply(this,arguments)}function $(){return z.apply(this,arguments)}function z(){z=r(function(){var e,t,n,r,s,c,a,i,o;return h(this,function(u){switch(u.label){case 0:u.trys.push([0,10,,11]);return[4,W.keys()];case 1:e=u.sent().filter(function(e){return e.startsWith("error_list:")});t=true,n=false,r=undefined;u.label=2;case 2:u.trys.push([2,7,8,9]);s=e[Symbol.iterator]();u.label=3;case 3:if(!!(t=(c=s.next()).done))return[3,6];a=c.value;return[4,W.remove(a)];case 4:u.sent(),console.log("\uD83D\uDDD1️ Removed error list: ".concat(a));u.label=5;case 5:t=true;return[3,3];case 6:return[3,9];case 7:i=u.sent();n=true;r=i;return[3,9];case 8:try{if(!t&&s.return!=null){s.return()}}finally{if(n){throw r}}return[7];case 9:return[3,11];case 10:o=u.sent();console.error("❌ Failed to clear error lists: ".concat(o.message));return[3,11];case 11:return[2]}})});return z.apply(this,arguments)}var Q=w(require("boxen"),1),V=w(require("chalk"),1);var X=V.default,Z=X.blue,ee=X.red,et=X.yellow,en=X.green,er=X.gray,es=X.bold;function ec(e,t){var n=new Map([[ee,"red"],[et,"yellow"],[en,"green"]]).get(t)||"green";return(0,Q.default)(es(t(e)),{padding:1,margin:1,borderStyle:"arrow",borderColor:n})}function ea(e,t,n,r){e.length&&(e.forEach(function(e){var r=e.file,s=e.position,c=e.rule,a=e.message;console.log("".concat(t("".concat(n," File:"))," ").concat(Z("".concat(r).concat(s?":".concat(s):"")))),c&&console.log(" ".concat(t("Rule:")," ").concat(t(c))),console.log(" ".concat(t("Message:")," ").concat(t(a)))}),console.log(ec(es(t("".concat(n," Total ").concat(r,": ").concat(e.length))),t)),console.log(er("─".repeat(40))))}function ei(){return eo.apply(this,arguments)}function eo(){eo=r(function(){var e,t,n;return h(this,function(r){switch(r.label){case 0:return[4,B()];case 1:e=r.sent(),t=e.filter(function(e){return e.type==="error"}),n=e.filter(function(e){return e.type==="warning"});!t.length&&!n.length?console.log(ec(es(en("✔ NO ISSUE FOUND!")),en)):(ea(n,et,"⚠","Warnings"),ea(t,ee,"✖","Errors"));return[2]}})});return eo.apply(this,arguments)}var eu=w(require("process"),1),el=w(require("ora"),1);function ef(e,t){return ep.apply(this,arguments)}function ep(){ep=r(function(e,t){var n,r,s,c,a,i,o;var u=arguments;return h(this,function(l){switch(l.label){case 0:n=u.length>2&&u[2]!==void 0?u[2]:{};r=n.successMessage,s=n.failureMessage,c=n.exitOnError,a=c===void 0?!0:c,i=(0,el.default)({text:e,color:"cyan",spinner:"dots"}).start();l.label=1;case 1:l.trys.push([1,4,,5]);return[4,t()];case 2:l.sent();return[4,B()];case 3:l.sent().length>0?a?(i.fail(s||"".concat(e," ❌")),eu.default.exit(1)):i.fail(s||"".concat(e," ❌")):i.succeed(r||"".concat(e," ✅"));return[3,5];case 4:o=l.sent();if(i.fail(s||"".concat(e," ❌")),a)eu.default.exit(1);else throw o;return[3,5];case 5:return[2]}})});return ep.apply(this,arguments)}var eh=w(require("chalk"),1),eg=require("child_process"),ed=w(require("process"),1),ey=w(require("util"),1);var em=ey.promisify(eg.exec),ev=eh.default,eb=ev.gray,e_=ev.white;function ew(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";var n=new Date().toLocaleString();console.log("".concat(t," [").concat(n,"] ").concat(e_(e)))}function eS(e){var t=/^\s*(\d+):(\d+)\s+(error|warning)\s+(\S+)\s+(\S+)$/,n=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,r=/^✖\s+(.*?)\s+\[(.*?)\]$/,s=[],c="",a=[];e.split("\n").forEach(function(e){if(e.startsWith("/"))c=e.trim();else{var i=t.exec(e);if(i&&c)a.push({file:c,position:"".concat(i[1],":").concat(i[2]),type:i[3]==="error"?"error":"warning",message:i[4].trim(),rule:i[5].trim()});else{var o=n.exec(e);if(o)a.push({file:o[1],position:"".concat(o[2],":").concat(o[3]),type:o[4],message:o[5].trim()});else{var u=r.exec(e);u?a.push({file:"commitlint",type:"error",message:u[1].trim(),rule:u[2].trim()}):s.push(e.trim())}}}}),a.length>0&&L(a),s.length>0&&(console.log(eb("Unmatched lines:")),s.forEach(function(e){return console.info(e)}))}function eI(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,s=e.line,c=e.column,a=e.ruleId,i=e.message;n.push({type:r===2?"error":"warning",file:t,position:"".concat(s,":").concat(c),rule:a,message:i})})}),n.length>0&&L(n)}catch(t){console.log("output",e),eS(e)}}function eO(e,t){return eE.apply(this,arguments)}function eE(){eE=r(function(e,t){var n,r,s,c,a,i,o,u,l;var f=arguments;return h(this,function(p){switch(p.label){case 0:n=f.length>2&&f[2]!==void 0?f[2]:eI;ew(t);r=new AbortController;ed.default.on("SIGINT",function(){console.log("Terminating process..."),r.abort(),ed.default.exit()});p.label=1;case 1:p.trys.push([1,3,,4]);return[4,em(e,{maxBuffer:0x6400000,signal:r.signal})];case 2:s=p.sent(),c=s.stdout,a=s.stderr;[c,a].forEach(function(e){return e&&n(e)});return[3,4];case 3:i=p.sent();o=i.stdout,u=i.stderr,l=i.message;[o,u].forEach(function(e){return e&&n(e)}),!u&&!o&&console.error("Command failed: ".concat(l));return[3,4];case 4:return[2]}})});return eE.apply(this,arguments)}var eP=w(require("node-fetch"),1),ek=w(require("fs"),1),eT=w(require("path"),1),ej=w(require("process"),1);var ex=24*60*60*1e3;function eA(e){return eC.apply(this,arguments)}function eC(){eC=r(function(e){var t,n,r,s,c,a,i,o,u,l;var f=arguments;return h(this,function(p){switch(p.label){case 0:t=f.length>1&&f[1]!==void 0?f[1]:!1;n="npm_version:".concat(e),r="npm_metadata:".concat(e);return[4,W.get(n)];case 1:s=p.sent();return[4,W.get(r)];case 2:c=p.sent(),a=s&&Date.now()-s.timestamp<ex;if(!t&&a)return[2,(console.log("Using cached version for ".concat(e,": ").concat(s.version)),s.version)];i={};(c===null||c===void 0?void 0:c.etag)&&(i["If-None-Match"]=c.etag),(c===null||c===void 0?void 0:c.lastModified)&&(i["If-Modified-Since"]=c.lastModified);p.label=3;case 3:p.trys.push([3,8,,9]);console.log("Fetching latest version for ".concat(e,"..."));return[4,(0,eP.default)("https://registry.npmjs.org/".concat(e,"/latest"),{headers:i})];case 4:o=p.sent();if(o.status===304&&s)return[2,(console.log("Cache is still valid for ".concat(e,": ").concat(s.version)),s.version)];if(!o.ok)throw new Error("Failed to fetch latest version: ".concat(o.statusText));return[4,o.json()];case 5:u=p.sent().version;return[4,W.set(n,{version:u,timestamp:Date.now()})];case 6:p.sent();return[4,W.set(r,{etag:o.headers.get("ETag")||void 0,lastModified:o.headers.get("Last-Modified")||void 0})];case 7:return[2,(p.sent(),console.log("Cached latest version for ".concat(e,": ").concat(u)),u)];case 8:l=p.sent();if(console.error("Error fetching latest version for ".concat(e,": ").concat(l.message)),s)return[2,(console.warn("Falling back to cached version for ".concat(e,": ").concat(s.version)),s.version)];throw l;case 9:return[2]}})});return eC.apply(this,arguments)}function eN(e,t){try{var n=eT.default.join(e,"package.json");return ek.default.existsSync(n)?JSON.parse(ek.default.readFileSync(n,"utf-8")).name===t:!1}catch(e){return console.error("Error reading package.json: ".concat(e.message)),!1}}var eR=P.default.env.INIT_CWD||P.default.cwd(),eM={INIT_CWD:eR,TS_CONFIG_PATH:"".concat(eR,"/tsconfig.json"),HUSKY_PATH:"".concat(eR,"/.husky"),GIT_HOOK_PATH:"".concat(eR,"/.git/hooks"),GIT_COMMIT_MSG:"".concat(eR,"/.git/COMMIT_EDITMSG"),SIMPLE_GIT_HOOKS_PATH:"".concat(eR,"/.simple-git-hooks.json"),PACKAGE_NAME:"@cyberskill/shared"};function eD(){return eG.apply(this,arguments)}function eG(){eG=r(function(){var e;return h(this,function(t){switch(t.label){case 0:if(!O.existsSync(eM.TS_CONFIG_PATH))return[3,2];return[4,eO("npx tsc -p ".concat(eM.TS_CONFIG_PATH," --noEmit"),"TypeScript checking...")];case 1:e=t.sent();return[3,3];case 2:e=ew("tsconfig.json file not found.","⚠️");t.label=3;case 3:e;return[2]}})});return eG.apply(this,arguments)}function eq(){return eU.apply(this,arguments)}function eU(){eU=r(function(){var e,t;var n=arguments;return h(this,function(r){switch(r.label){case 0:e=n.length>0&&n[0]!==void 0?n[0]:!1;t="npx eslint ".concat(eM.INIT_CWD).concat(e?" --fix":" --format json");return[4,eO(t,"Eslint ".concat(e?"fixing":"checking","..."))];case 1:r.sent();return[2]}})});return eU.apply(this,arguments)}function eF(){return eH.apply(this,arguments)}function eH(){eH=r(function(){var e;return h(this,function(t){switch(t.label){case 0:e="npx lint-staged --config ".concat(E.resolve(C,"./configs/lint-staged/base.js"));return[4,eO(e,"Lint-staged processing...")];case 1:t.sent();return[2]}})});return eH.apply(this,arguments)}function eW(){return eK.apply(this,arguments)}function eK(){eK=r(function(){return h(this,function(e){switch(e.label){case 0:ew("Starting lint check for ".concat(eM.INIT_CWD),"\uD83D\uDE80");return[4,ef("Running lint checks...",/*#__PURE__*/r(function(){return h(this,function(e){switch(e.label){case 0:return[4,$()];case 1:e.sent();return[4,Promise.all([eD(),eq()])];case 2:e.sent(),ei();return[2]}})}))];case 1:e.sent();return[2]}})});return eK.apply(this,arguments)}function eL(){return eJ.apply(this,arguments)}function eJ(){eJ=r(function(){return h(this,function(e){switch(e.label){case 0:ew("Starting lint and format fix for ".concat(eM.INIT_CWD),"\uD83D\uDE80");return[4,ef("Fixing issues...",/*#__PURE__*/r(function(){return h(this,function(e){switch(e.label){case 0:return[4,eq(!0)];case 1:e.sent();return[2]}})}))];case 1:e.sent();return[2]}})});return eJ.apply(this,arguments)}function eB(){return eY.apply(this,arguments)}function eY(){eY=r(function(){return h(this,function(e){switch(e.label){case 0:return[4,eO("npx @eslint/config-inspector","Lint inspect processing...")];case 1:e.sent();return[2]}})});return eY.apply(this,arguments)}function e$(){return ez.apply(this,arguments)}function ez(){ez=r(function(){return h(this,function(e){switch(e.label){case 0:ew("Starting lint-staged process for ".concat(P.default.env.INIT_CWD),"\uD83D\uDE80");return[4,ef("Running lint-staged...",/*#__PURE__*/r(function(){return h(this,function(e){switch(e.label){case 0:return[4,$()];case 1:e.sent();return[4,Promise.all([eD(),eF()])];case 2:e.sent(),ei();return[2]}})}))];case 1:e.sent();return[2]}})});return ez.apply(this,arguments)}function eQ(){return eV.apply(this,arguments)}function eV(){eV=r(function(){return h(this,function(e){switch(e.label){case 0:ew("Starting commitlint process for ".concat(eM.INIT_CWD),"\uD83D\uDE80");return[4,ef("Running commitlint...",/*#__PURE__*/r(function(){var e,t;return h(this,function(n){switch(n.label){case 0:return[4,$()];case 1:n.sent();e=E.resolve(C,"./configs/commitlint/base.js"),t="npx --no -- commitlint --edit ".concat(eM.GIT_COMMIT_MSG," --config ").concat(e);return[4,eO(t,"Commitlint processing...")];case 2:n.sent(),ei();return[2]}})}))];case 1:e.sent();return[2]}})});return eV.apply(this,arguments)}function eX(){return eZ.apply(this,arguments)}function eZ(){eZ=r(function(){var e,t,n;return h(this,function(r){switch(r.label){case 0:e=O.existsSync(eM.HUSKY_PATH);if(!e)return[3,2];return[4,eO("npx rimraf ".concat(eM.HUSKY_PATH," ").concat(eM.GIT_HOOK_PATH," && git config core.hooksPath ").concat(eM.GIT_HOOK_PATH),"Removing husky hooks...")];case 1:e=r.sent();r.label=2;case 2:e;t=eN(eM.INIT_CWD,eM.PACKAGE_NAME),n='\n echo "✅ Running lint..."\n npx --yes cyberskill lint-staged || (echo "❌ Lint failed – aborting commit." && exit 1)\n ';t&&(n='\n echo "\uD83D\uDE80 Running build before commit..."\n npm run build || (echo "❌ Build failed – aborting commit." && exit 1)\n \n '.concat(n.trim(),"\n ")),O.writeFileSync(eM.SIMPLE_GIT_HOOKS_PATH,JSON.stringify({"pre-commit":n.trim(),"commit-msg":"npx --yes cyberskill commitlint"},null,4));return[4,eO("npx simple-git-hooks","Setting up git hooks...")];case 3:r.sent(),O.unlinkSync(eM.SIMPLE_GIT_HOOKS_PATH);return[2]}})});return eZ.apply(this,arguments)}function e0(){return e2.apply(this,arguments)}function e2(){e2=r(function(){return h(this,function(e){switch(e.label){case 0:ew("Starting setup process for ".concat(eM.INIT_CWD),"\uD83D\uDE80");return[4,ef("Setting up...",/*#__PURE__*/r(function(){var e,t,n,c,a,o,l,f;return h(this,function(p){switch(p.label){case 0:e=E.join(eM.INIT_CWD,"package.json"),t=/*#__PURE__*/function(){var e=r(function(){var e,t,n,r;return h(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);e=E.join(eM.INIT_CWD,"node_modules",eM.PACKAGE_NAME,"package.json"),t=JSON.parse(O.readFileSync(e,"utf-8")).version;return[4,eA(eM.PACKAGE_NAME,!0)];case 1:n=s.sent();return[2,t!==n];case 2:r=s.sent();return[2,!0];case 3:return[2]}})});return function t(){return e.apply(this,arguments)}}(),n=/*#__PURE__*/function(){var t=r(function(){var t,n,r;return h(this,function(c){switch(c.label){case 0:c.trys.push([0,4,,5]);return[4,eA(eM.PACKAGE_NAME,!0)];case 1:t=c.sent(),n=JSON.parse(O.readFileSync(e,"utf-8"));n.dependencies=u(i({},n.dependencies),s({},eM.PACKAGE_NAME,t)),O.writeFileSync(e,JSON.stringify(n,null,2));return[4,eO("npm i -f","Installing all dependencies with updated Cyberskill...")];case 2:c.sent();return[4,eO("npm run lint:fix","Fixing lint issues...")];case 3:c.sent();return[3,5];case 4:r=c.sent();throw console.error("Failed to update Cyberskill: ".concat(r.message)),r;case 5:return[2]}})});return function e(){return t.apply(this,arguments)}}();p.label=1;case 1:p.trys.push([1,7,,8]);a=JSON.parse(O.readFileSync(e,"utf-8"));if(eN(eM.INIT_CWD,eM.PACKAGE_NAME)){ew("Cyberskill is the current project. No setup needed.","✅");return[2]}l=!((c=a.dependencies)===null||c===void 0?void 0:c[eM.PACKAGE_NAME]);if(l)return[3,3];return[4,t()];case 2:l=p.sent();p.label=3;case 3:if(!l)return[3,5];ew("Cyberskill is missing or outdated. Updating...");return[4,n()];case 4:o=p.sent();return[3,6];case 5:o=ew("Cyberskill is up to date","✅");p.label=6;case 6:o;return[3,8];case 7:f=p.sent();throw console.error("Error reading package.json: ".concat(f.message)),f;case 8:eX();return[2]}})}))];case 1:e.sent();return[2]}})});return e2.apply(this,arguments)}function e1(){return e4.apply(this,arguments)}function e4(){e4=r(function(){return h(this,function(e){switch(e.label){case 0:ew("Starting reset process for ".concat(eM.INIT_CWD),"\uD83D\uDE80");return[4,ef("Resetting...",/*#__PURE__*/r(function(){return h(this,function(e){switch(e.label){case 0:return[4,eO("npx rimraf ".concat(eM.INIT_CWD,"/node_modules ").concat(eM.INIT_CWD,"/package-lock.json"),"Cleaning node_modules and package-lock.json...")];case 1:e.sent();return[4,eO("npm i -f","Installing all dependencies...")];case 2:e.sent(),eX();return[2]}})}))];case 1:e.sent();return[2]}})});return e4.apply(this,arguments)}function e3(){return e5.apply(this,arguments)}function e5(){e5=r(function(){var e;return h(this,function(t){switch(t.label){case 0:e=E.resolve(C,"./configs/vitest/react/unit.js");ew("Starting unit tests for ".concat(eM.INIT_CWD),"\uD83D\uDE80");return[4,ef("Running unit tests...",/*#__PURE__*/r(function(){return h(this,function(t){switch(t.label){case 0:return[4,eO("npx vitest --config ".concat(e),"Running unit tests...")];case 1:t.sent();return[2]}})}))];case 1:t.sent();return[2]}})});return e5.apply(this,arguments)}function e7(){return e6.apply(this,arguments)}function e6(){e6=r(function(){var e;return h(this,function(t){switch(t.label){case 0:e=E.resolve(C,"./configs/vitest/react/e2e.js");ew("Starting e2e tests for ".concat(eM.INIT_CWD),"\uD83D\uDE80");return[4,ef("Running end-to-end tests...",/*#__PURE__*/r(function(){return h(this,function(t){switch(t.label){case 0:return[4,eO("npx vitest --config ".concat(e),"Running e2e tests...")];case 1:t.sent();return[2]}})}))];case 1:t.sent();return[2]}})});return e6.apply(this,arguments)}(0,T.default)((0,k.hideBin)(P.default.argv)).command("lint","Run linting checks",eW).command("lint:fix","Fix linting and formatting issues",eL).command("lint:inspect","Inspect linting rules",eB).command("lint-staged","Run lint-staged with given configuration",e$).command("commitlint","Run commitlint with given configuration",eQ).command("setup","Run setup with given configuration",e0).command("reset","Reset dependencies and install",e1).command("test:unit","Run unit tests",e3).command("test:e2e","Run e2e tests",e7).help().parse();
2
+ "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(t){if(Array.isArray(t))return e(t)}function n(e,t,n,r,s,c,a){try{var o=e[c](a);var i=o.value}catch(e){n(e);return}if(o.done){t(i)}else{Promise.resolve(i).then(r,s)}}function r(e){return function(){var t=this,r=arguments;return new Promise(function(s,c){var a=e.apply(t,r);function o(e){n(a,s,c,o,i,"next",e)}function i(e){n(a,s,c,o,i,"throw",e)}o(undefined)})}}function s(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function c(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function a(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function o(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){s(e,t,n[t])})}return e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}n.push.apply(n,r)}return n}function u(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{i(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function l(e){return t(e)||c(e)||p(e)||a()}function f(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function p(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function h(e,t){var n,r,s,c,a={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]};return c={next:o(0),"throw":o(1),"return":o(2)},typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function o(e){return function(t){return i([e,t])}}function i(c){if(n)throw new TypeError("Generator is already executing.");while(a)try{if(n=1,r&&(s=c[0]&2?r["return"]:c[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,c[1])).done)return s;if(r=0,s)c=[c[0]&2,s.value];switch(c[0]){case 0:case 1:s=c;break;case 4:a.label++;return{value:c[1],done:false};case 5:a.label++;r=c[1];c=[0];continue;case 7:c=a.ops.pop();a.trys.pop();continue;default:if(!(s=a.trys,s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){a=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){a.label=c[1];break}if(c[0]===6&&a.label<s[1]){a.label=s[1];s=c;break}if(s&&a.label<s[2]){a.label=s[2];a.ops.push(c);break}if(s[2])a.ops.pop();a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e];r=0}finally{n=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var d=Object.create;var g=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var v=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var w=function(e,t,n,r){var s=true,c=false,a=undefined;if(t&&(typeof t==="undefined"?"undefined":f(t))=="object"||typeof t=="function")try{var o=function(){var s=u.value;!b.call(e,s)&&s!==n&&g(e,s,{get:function(){return t[s]},enumerable:!(r=y(t,s))||r.enumerable})};for(var i=m(t)[Symbol.iterator](),u;!(s=(u=i.next()).done);s=true)o()}catch(e){c=true;a=e}finally{try{if(!s&&i.return!=null){i.return()}}finally{if(c){throw a}}}return e};var _=function(e,t,n){return n=e!=null?d(v(e)):{},w(t||!e||!e.__esModule?g(n,"default",{value:e,enumerable:!0}):n,e)};var S=function(){return(typeof document==="undefined"?"undefined":f(document))>"u"?new URL("file:".concat(__filename)).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href},I=S();var O=_(require("fs"),1),k=_(require("path"),1),P=_(require("process"),1),E=require("yargs/helpers"),T=_(require("yargs/yargs"),1);var j=require("path"),x=require("url"),A=(0,x.fileURLToPath)(I),C=(0,j.dirname)(A);var N=_(require("localforage"),1),R=_(require("node-persist"),1),D=_(require("os"),1),M=_(require("path"),1),q=_(require("process"),1),G=(typeof window==="undefined"?"undefined":f(window))<"u",F=q.default.env.CYBERSKILL_STORAGE_DIR||M.default.join(D.default.homedir(),".cyberskill-storage");function H(){return U.apply(this,arguments)}function U(){U=r(function(){var e;return h(this,function(t){switch(t.label){case 0:e=!G&&!R.default.defaultInstance;if(!e)return[3,2];return[4,R.default.init({dir:F,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})});return U.apply(this,arguments)}var W={get:function e(e){return r(function(){var t,n,r;return h(this,function(s){switch(s.label){case 0:s.trys.push([0,6,,7]);if(!G)return[3,2];return[4,N.default.getItem(e)];case 1:n=s.sent();return[3,5];case 2:return[4,H()];case 3:s.sent();return[4,R.default.getItem(e)];case 4:n=(t=s.sent())!==null&&t!==void 0?t:null;s.label=5;case 5:return[2,n];case 6:r=s.sent();return[2,(console.error('❌ [Storage:get] Error getting key "'.concat(e,'":'),r),null)];case 7:return[2]}})})()},set:function e(e,t){return r(function(){var n,r;return h(this,function(s){switch(s.label){case 0:s.trys.push([0,6,,7]);if(!G)return[3,2];return[4,N.default.setItem(e,t)];case 1:n=s.sent();return[3,5];case 2:return[4,H()];case 3:s.sent();return[4,R.default.setItem(e,t)];case 4:n=s.sent();s.label=5;case 5:n;return[3,7];case 6:r=s.sent();console.error('❌ [Storage:set] Error setting key "'.concat(e,'":'),r);return[3,7];case 7:return[2]}})})()},remove:function e(e){return r(function(){var t,n;return h(this,function(r){switch(r.label){case 0:r.trys.push([0,6,,7]);if(!G)return[3,2];return[4,N.default.removeItem(e)];case 1:t=r.sent();return[3,5];case 2:return[4,H()];case 3:r.sent();return[4,R.default.removeItem(e)];case 4:t=r.sent();r.label=5;case 5:t;return[3,7];case 6:n=r.sent();console.error('❌ [Storage:remove] Error removing key "'.concat(e,'":'),n);return[3,7];case 7:return[2]}})})()},keys:function e(){return r(function(){var e,t;return h(this,function(n){switch(n.label){case 0:n.trys.push([0,6,,7]);if(!G)return[3,2];return[4,N.default.keys()];case 1:e=n.sent();return[3,5];case 2:return[4,H()];case 3:n.sent();return[4,R.default.keys()];case 4:e=n.sent()||[];n.label=5;case 5:return[2,e];case 6:t=n.sent();return[2,(console.error("❌ [Storage:keys] Error getting keys:",t),[])];case 7:return[2]}})})()},values:function e(){return r(function(){var e,t;return h(this,function(n){switch(n.label){case 0:n.trys.push([0,7,,8]);if(!G)return[3,3];return[4,N.default.keys()];case 1:e=n.sent();return[4,Promise.all(e.map(function(e){return N.default.getItem(e)}))];case 2:return[2,n.sent().filter(function(e){return e!==null})];case 3:return[4,H()];case 4:n.sent();return[4,R.default.values()];case 5:return[2,n.sent()];case 6:return[3,8];case 7:t=n.sent();return[2,(console.error("❌ [Storage:values] Error getting values:",t),[])];case 8:return[2]}})})()},entries:function e(){return r(function(){var e,t,n,s;return h(this,function(c){switch(c.label){case 0:c.trys.push([0,8,,9]);if(!G)return[3,3];return[4,N.default.keys()];case 1:e=c.sent();return[4,Promise.all(e.map(/*#__PURE__*/function(){var e=r(function(e){var t;return h(this,function(n){switch(n.label){case 0:return[4,N.default.getItem(e)];case 1:t=n.sent();return[2,t!==null?[e,t]:null]}})});return function(t){return e.apply(this,arguments)}}()))];case 2:return[2,c.sent().filter(function(e){return e!==null})];case 3:return[4,H()];case 4:c.sent();return[4,R.default.keys()];case 5:t=c.sent();return[4,R.default.values()];case 6:n=c.sent();return[2,t.map(function(e,t){return[e,n[t]]})];case 7:return[3,9];case 8:s=c.sent();return[2,(console.error("❌ [Storage:entries] Error getting entries:",s),[])];case 9:return[2]}})})()},clear:function e(){return r(function(){var e,t;return h(this,function(n){switch(n.label){case 0:n.trys.push([0,6,,7]);if(!G)return[3,2];return[4,N.default.clear()];case 1:e=n.sent();return[3,5];case 2:return[4,H()];case 3:n.sent();return[4,R.default.clear()];case 4:e=n.sent();n.label=5;case 5:e;return[3,7];case 6:t=n.sent();console.error("❌ [Storage:clear] Error clearing storage:",t);return[3,7];case 7:return[2]}})})()},length:function e(){return r(function(){var e,t;return h(this,function(n){switch(n.label){case 0:n.trys.push([0,6,,7]);if(!G)return[3,2];return[4,N.default.length()];case 1:e=n.sent();return[3,5];case 2:return[4,H()];case 3:n.sent();return[4,R.default.keys()];case 4:e=n.sent().length;n.label=5;case 5:return[2,e];case 6:t=n.sent();return[2,(console.error("❌ [Storage:length] Error getting storage length:",t),0)];case 7:return[2]}})})()}};var K=function(e){return"error_list:".concat(e)};function L(e){return J.apply(this,arguments)}function J(){J=r(function(e){var t,n,r;return h(this,function(s){switch(s.label){case 0:if(!e.length)return[2];t=Date.now(),n=K(t);s.label=1;case 1:s.trys.push([1,3,,4]);return[4,W.set(n,{errors:e,timestamp:t})];case 2:s.sent(),console.log("✅ Saved ".concat(e.length," errors to storage with key: ").concat(n));return[3,4];case 3:r=s.sent();console.error("❌ Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})});return J.apply(this,arguments)}function Y(){return $.apply(this,arguments)}function $(){$=r(function(){var e,t,n,r,s,c,a,o,i,u,f,p;return h(this,function(h){switch(h.label){case 0:h.trys.push([0,10,,11]);return[4,W.keys()];case 1:e=h.sent().filter(function(e){return e.startsWith("error_list:")}),t=[];n=true,r=false,s=undefined;h.label=2;case 2:h.trys.push([2,7,8,9]);c=e[Symbol.iterator]();h.label=3;case 3:if(!!(n=(a=c.next()).done))return[3,6];o=a.value;return[4,W.get(o)];case 4:u=h.sent();u&&(i=t).push.apply(i,l(u.errors));h.label=5;case 5:n=true;return[3,3];case 6:return[3,9];case 7:f=h.sent();r=true;s=f;return[3,9];case 8:try{if(!n&&c.return!=null){c.return()}}finally{if(r){throw s}}return[7];case 9:return[2,t];case 10:p=h.sent();return[2,(console.error("❌ Failed to retrieve stored errors: ".concat(p.message)),[])];case 11:return[2]}})});return $.apply(this,arguments)}function B(){return z.apply(this,arguments)}function z(){z=r(function(){var e,t,n,r,s,c,a,o,i;return h(this,function(u){switch(u.label){case 0:u.trys.push([0,10,,11]);return[4,W.keys()];case 1:e=u.sent().filter(function(e){return e.startsWith("error_list:")});t=true,n=false,r=undefined;u.label=2;case 2:u.trys.push([2,7,8,9]);s=e[Symbol.iterator]();u.label=3;case 3:if(!!(t=(c=s.next()).done))return[3,6];a=c.value;return[4,W.remove(a)];case 4:u.sent(),console.log("\uD83D\uDDD1️ Removed error list: ".concat(a));u.label=5;case 5:t=true;return[3,3];case 6:return[3,9];case 7:o=u.sent();n=true;r=o;return[3,9];case 8:try{if(!t&&s.return!=null){s.return()}}finally{if(n){throw r}}return[7];case 9:return[3,11];case 10:i=u.sent();console.error("❌ Failed to clear error lists: ".concat(i.message));return[3,11];case 11:return[2]}})});return z.apply(this,arguments)}var Q=_(require("boxen"),1),V=_(require("chalk"),1);var X=V.default,Z=X.blue,ee=X.red,et=X.yellow,en=X.green,er=X.gray,es=X.bold;function ec(e,t){var n=new Map([[ee,"red"],[et,"yellow"],[en,"green"]]).get(t)||"green";return(0,Q.default)(es(t(e)),{padding:1,margin:1,borderStyle:"arrow",borderColor:n})}function ea(e,t,n,r){e.length&&(e.forEach(function(e){var r=e.file,s=e.position,c=e.rule,a=e.message;console.log("".concat(t("".concat(n," File:"))," ").concat(Z("".concat(r).concat(s?":".concat(s):"")))),c&&console.log(" ".concat(t("Rule:")," ").concat(t(c))),console.log(" ".concat(t("Message:")," ").concat(t(a)))}),console.log(ec(es(t("".concat(n," Total ").concat(r,": ").concat(e.length))),t)),console.log(er("─".repeat(40))))}function eo(){return ei.apply(this,arguments)}function ei(){ei=r(function(){var e,t,n;return h(this,function(r){switch(r.label){case 0:return[4,Y()];case 1:e=r.sent(),t=e.filter(function(e){return e.type==="error"}),n=e.filter(function(e){return e.type==="warning"});!t.length&&!n.length?console.log(ec(es(en("✔ NO ISSUE FOUND!")),en)):(ea(n,et,"⚠","Warnings"),ea(t,ee,"✖","Errors"));return[2]}})});return ei.apply(this,arguments)}var eu=_(require("process"),1),el=_(require("ora"),1);function ef(e,t){return ep.apply(this,arguments)}function ep(){ep=r(function(e,t){var n,r;return h(this,function(s){switch(s.label){case 0:n=(0,el.default)({text:e,color:"cyan",spinner:"dots"}).start();s.label=1;case 1:s.trys.push([1,4,,5]);return[4,t()];case 2:s.sent();return[4,Y()];case 3:s.sent().length?eu.default.exit(1):n.succeed("".concat(e," ✅"));return[3,5];case 4:r=s.sent();throw n.fail("".concat(e," ❌")),r;case 5:return[2]}})});return ep.apply(this,arguments)}var eh=_(require("chalk"),1),ed=require("child_process"),eg=_(require("process"),1),ey=_(require("util"),1);var em=ey.promisify(ed.exec),ev=eh.default,eb=ev.gray,ew=ev.white;function e_(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";var n=new Date().toLocaleString();console.log("".concat(t," [").concat(n,"] ").concat(ew(e)))}function eS(e){var t=/^\s*(\d+):(\d+)\s+(error|warning)\s+(\S+)\s+(\S+)$/,n=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,r=/^✖\s+(.*?)\s+\[(.*?)\]$/,s=[],c="",a=[];e.split("\n").forEach(function(e){if(e.startsWith("/"))c=e.trim();else{var o=t.exec(e);if(o&&c)a.push({file:c,position:"".concat(o[1],":").concat(o[2]),type:o[3]==="error"?"error":"warning",message:o[4].trim(),rule:o[5].trim()});else{var i=n.exec(e);if(i)a.push({file:i[1],position:"".concat(i[2],":").concat(i[3]),type:i[4],message:i[5].trim()});else{var u=r.exec(e);u?a.push({file:"commitlint",type:"error",message:u[1].trim(),rule:u[2].trim()}):s.push(e.trim())}}}}),a.length>0&&L(a),s.length>0&&(console.log(eb("Unmatched lines:")),s.forEach(function(e){return console.info(e)}))}function eI(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,s=e.line,c=e.column,a=e.ruleId,o=e.message;n.push({type:r===2?"error":"warning",file:t,position:"".concat(s,":").concat(c),rule:a,message:o})})}),n.length>0&&L(n)}catch(t){console.log("output",e),eS(e)}}function eO(e,t){return ek.apply(this,arguments)}function ek(){ek=r(function(e,t){var n,r,s,c,a,o,i,u,l;var f=arguments;return h(this,function(p){switch(p.label){case 0:n=f.length>2&&f[2]!==void 0?f[2]:eI;e_(t);r=new AbortController;eg.default.on("SIGINT",function(){console.log("Terminating process..."),r.abort(),eg.default.exit()});p.label=1;case 1:p.trys.push([1,3,,4]);return[4,em(e,{maxBuffer:0x6400000,signal:r.signal})];case 2:s=p.sent(),c=s.stdout,a=s.stderr;[c,a].forEach(function(e){return e&&n(e)});return[3,4];case 3:o=p.sent();i=o.stdout,u=o.stderr,l=o.message;[i,u].forEach(function(e){return e&&n(e)}),!u&&!i&&console.error("Command failed: ".concat(l));return[3,4];case 4:return[2]}})});return ek.apply(this,arguments)}var eP=_(require("node-fetch"),1),eE=_(require("fs"),1),eT=_(require("path"),1),ej=_(require("process"),1);var ex=24*60*60*1e3;function eA(e){return eC.apply(this,arguments)}function eC(){eC=r(function(e){var t,n,r,s,c,a,o,i,u,l;var f=arguments;return h(this,function(p){switch(p.label){case 0:t=f.length>1&&f[1]!==void 0?f[1]:!1;n="npm_version:".concat(e),r="npm_metadata:".concat(e);return[4,W.get(n)];case 1:s=p.sent();return[4,W.get(r)];case 2:c=p.sent(),a=s&&Date.now()-s.timestamp<ex;if(!t&&a)return[2,(console.log("Using cached version for ".concat(e,": ").concat(s.version)),s.version)];o={};(c===null||c===void 0?void 0:c.etag)&&(o["If-None-Match"]=c.etag),(c===null||c===void 0?void 0:c.lastModified)&&(o["If-Modified-Since"]=c.lastModified);p.label=3;case 3:p.trys.push([3,8,,9]);console.log("Fetching latest version for ".concat(e,"..."));return[4,(0,eP.default)("https://registry.npmjs.org/".concat(e,"/latest"),{headers:o})];case 4:i=p.sent();if(i.status===304&&s)return[2,(console.log("Cache is still valid for ".concat(e,": ").concat(s.version)),s.version)];if(!i.ok)throw new Error("Failed to fetch latest version: ".concat(i.statusText));return[4,i.json()];case 5:u=p.sent().version;return[4,W.set(n,{version:u,timestamp:Date.now()})];case 6:p.sent();return[4,W.set(r,{etag:i.headers.get("ETag")||void 0,lastModified:i.headers.get("Last-Modified")||void 0})];case 7:return[2,(p.sent(),console.log("Cached latest version for ".concat(e,": ").concat(u)),u)];case 8:l=p.sent();if(console.error("Error fetching latest version for ".concat(e,": ").concat(l.message)),s)return[2,(console.warn("Falling back to cached version for ".concat(e,": ").concat(s.version)),s.version)];throw l;case 9:return[2]}})});return eC.apply(this,arguments)}function eN(e){return eT.default.join(ej.default.cwd(),"node_modules",e,"package.json")}function eR(){return eT.default.join(ej.default.cwd(),"package.json")}function eD(e){return eM.apply(this,arguments)}function eM(){eM=r(function(e){var t,n,r,s,c;var a=arguments;return h(this,function(o){switch(o.label){case 0:t=a.length>1&&a[1]!==void 0?a[1]:!0;o.label=1;case 1:o.trys.push([1,3,,4]);n=eN(e);if(!eE.default.existsSync(n))return[2,(console.log("".concat(e," is not installed.")),!0)];r=JSON.parse(eE.default.readFileSync(n,"utf-8")).version;return[4,eA(e,t)];case 2:s=o.sent();return[2,(console.log("Installed version of ".concat(e,": ").concat(r)),console.log("Latest version of ".concat(e,": ").concat(s)),r!==s)];case 3:c=o.sent();return[2,(console.warn("Failed to check version for ".concat(e,": ").concat(c.message)),!0)];case 4:return[2]}})});return eM.apply(this,arguments)}function eq(e){return eG.apply(this,arguments)}function eG(){eG=r(function(e){var t,n,r,c;return h(this,function(a){switch(a.label){case 0:a.trys.push([0,4,,5]);return[4,eA(e,!0)];case 1:t=a.sent(),n=eR(),r=JSON.parse(eE.default.readFileSync(n,"utf-8"));r.dependencies=u(o({},r.dependencies),s({},e,t)),eE.default.writeFileSync(n,JSON.stringify(r,null,2)),console.log("Updated ".concat(e," to version ").concat(t));return[4,eO("npm i -f","Installing all dependencies with updated ".concat(e,"..."))];case 2:a.sent();return[4,eO("npm run lint:fix","Fixing lint issues for ".concat(e,"..."))];case 3:a.sent(),console.log("".concat(e," updated successfully."));return[3,5];case 4:c=a.sent();throw console.error("Failed to update ".concat(e,": ").concat(c.message)),c;case 5:return[2]}})});return eG.apply(this,arguments)}function eF(e,t){try{var n=eT.default.join(e,"package.json");return eE.default.existsSync(n)?JSON.parse(eE.default.readFileSync(n,"utf-8")).name===t:!1}catch(e){return console.error("Error reading package.json: ".concat(e.message)),!1}}var eH=P.default.env.INIT_CWD||P.default.cwd(),eU={INIT_CWD:eH,TS_CONFIG_PATH:"".concat(eH,"/tsconfig.json"),HUSKY_PATH:"".concat(eH,"/.husky"),GIT_HOOK_PATH:"".concat(eH,"/.git/hooks"),GIT_COMMIT_MSG:"".concat(eH,"/.git/COMMIT_EDITMSG"),SIMPLE_GIT_HOOKS_PATH:"".concat(eH,"/.simple-git-hooks.json"),PACKAGE_NAME:"@cyberskill/shared"};function eW(){return eK.apply(this,arguments)}function eK(){eK=r(function(){var e;return h(this,function(t){switch(t.label){case 0:if(!O.existsSync(eU.TS_CONFIG_PATH))return[3,2];return[4,eO("npx tsc -p ".concat(eU.TS_CONFIG_PATH," --noEmit"),"TypeScript checking...")];case 1:e=t.sent();return[3,3];case 2:e=e_("tsconfig.json file not found.","⚠️");t.label=3;case 3:e;return[2]}})});return eK.apply(this,arguments)}function eL(){return eJ.apply(this,arguments)}function eJ(){eJ=r(function(){var e,t;var n=arguments;return h(this,function(r){switch(r.label){case 0:e=n.length>0&&n[0]!==void 0?n[0]:!1;t="npx eslint ".concat(eU.INIT_CWD).concat(e?" --fix":" --format json");return[4,eO(t,"Eslint ".concat(e?"fixing":"checking","..."))];case 1:r.sent();return[2]}})});return eJ.apply(this,arguments)}function eY(){return e$.apply(this,arguments)}function e$(){e$=r(function(){var e;return h(this,function(t){switch(t.label){case 0:e="npx lint-staged --config ".concat(k.resolve(C,"./configs/lint-staged/base.js"));return[4,eO(e,"Lint-staged processing...")];case 1:t.sent();return[2]}})});return e$.apply(this,arguments)}function eB(){return ez.apply(this,arguments)}function ez(){ez=r(function(){return h(this,function(e){switch(e.label){case 0:e_("Starting lint check for ".concat(eU.INIT_CWD),"\uD83D\uDE80");return[4,ef("Running lint checks...",/*#__PURE__*/r(function(){return h(this,function(e){switch(e.label){case 0:return[4,B()];case 1:e.sent();return[4,Promise.all([eW(),eL()])];case 2:e.sent(),eo();return[2]}})}))];case 1:e.sent();return[2]}})});return ez.apply(this,arguments)}function eQ(){return eV.apply(this,arguments)}function eV(){eV=r(function(){return h(this,function(e){switch(e.label){case 0:e_("Starting lint and format fix for ".concat(eU.INIT_CWD),"\uD83D\uDE80");return[4,ef("Fixing issues...",/*#__PURE__*/r(function(){return h(this,function(e){switch(e.label){case 0:return[4,eL(!0)];case 1:e.sent();return[2]}})}))];case 1:e.sent();return[2]}})});return eV.apply(this,arguments)}function eX(){return eZ.apply(this,arguments)}function eZ(){eZ=r(function(){return h(this,function(e){switch(e.label){case 0:return[4,eO("npx @eslint/config-inspector","Lint inspect processing...")];case 1:e.sent();return[2]}})});return eZ.apply(this,arguments)}function e1(){return e0.apply(this,arguments)}function e0(){e0=r(function(){return h(this,function(e){switch(e.label){case 0:e_("Starting lint-staged process for ".concat(P.default.env.INIT_CWD),"\uD83D\uDE80");return[4,ef("Running lint-staged...",/*#__PURE__*/r(function(){return h(this,function(e){switch(e.label){case 0:return[4,B()];case 1:e.sent();return[4,Promise.all([eW(),eY()])];case 2:e.sent(),eo();return[2]}})}))];case 1:e.sent();return[2]}})});return e0.apply(this,arguments)}function e2(){return e4.apply(this,arguments)}function e4(){e4=r(function(){return h(this,function(e){switch(e.label){case 0:e_("Starting commitlint process for ".concat(eU.INIT_CWD),"\uD83D\uDE80");return[4,ef("Running commitlint...",/*#__PURE__*/r(function(){var e,t;return h(this,function(n){switch(n.label){case 0:return[4,B()];case 1:n.sent();e=k.resolve(C,"./configs/commitlint/base.js"),t="npx --no -- commitlint --edit ".concat(eU.GIT_COMMIT_MSG," --config ").concat(e);return[4,eO(t,"Commitlint processing...")];case 2:n.sent(),eo();return[2]}})}))];case 1:e.sent();return[2]}})});return e4.apply(this,arguments)}function e3(){return e5.apply(this,arguments)}function e5(){e5=r(function(){var e,t;return h(this,function(n){switch(n.label){case 0:e=O.existsSync(eU.HUSKY_PATH);if(!e)return[3,2];return[4,eO("npx rimraf ".concat(eU.HUSKY_PATH," ").concat(eU.GIT_HOOK_PATH," && git config core.hooksPath ").concat(eU.GIT_HOOK_PATH),"Removing husky hooks...")];case 1:e=n.sent();n.label=2;case 2:e;t=eF(eU.INIT_CWD,eU.PACKAGE_NAME);O.writeFileSync(eU.SIMPLE_GIT_HOOKS_PATH,JSON.stringify({"pre-commit":"".concat(t?"npm run build && ":"","npx --yes cyberskill lint-staged"),"commit-msg":"npx --yes cyberskill commitlint"},null,4));return[4,eO("npx simple-git-hooks","Setting up git hooks...")];case 3:if(n.sent(),O.existsSync(eU.SIMPLE_GIT_HOOKS_PATH))try{O.unlinkSync(eU.SIMPLE_GIT_HOOKS_PATH)}catch(e){console.error("Failed to unlink git hooks config:",e)}return[2]}})});return e5.apply(this,arguments)}function e7(){return e6.apply(this,arguments)}function e6(){e6=r(function(){return h(this,function(e){switch(e.label){case 0:e_("Starting setup process for ".concat(eU.INIT_CWD),"\uD83D\uDE80");return[4,ef("Setting up...",/*#__PURE__*/r(function(){var e,t,n,r,s,c,a;return h(this,function(o){switch(o.label){case 0:e=k.join(eU.INIT_CWD,"package.json");o.label=1;case 1:o.trys.push([1,10,,11]);n=JSON.parse(O.readFileSync(e,"utf-8"));if(!eF(eU.INIT_CWD,eU.PACKAGE_NAME))return[3,2];r=e_("Cyberskill is the current project. No setup needed.","✅");return[3,8];case 2:c=!((t=n.dependencies)===null||t===void 0?void 0:t[eU.PACKAGE_NAME]);if(c)return[3,4];return[4,eD(eU.PACKAGE_NAME)];case 3:c=o.sent();o.label=4;case 4:if(!c)return[3,6];e_("Cyberskill is missing or outdated. Updating...");return[4,eq(eU.PACKAGE_NAME)];case 5:s=o.sent();return[3,7];case 6:s=e_("Cyberskill is up to date","✅");o.label=7;case 7:r=s;o.label=8;case 8:r;return[4,e3()];case 9:o.sent();return[3,11];case 10:a=o.sent();throw console.error("Error reading package.json: ".concat(a.message)),a;case 11:return[2]}})}))];case 1:e.sent();return[2]}})});return e6.apply(this,arguments)}function e8(){return e9.apply(this,arguments)}function e9(){e9=r(function(){return h(this,function(e){switch(e.label){case 0:e_("Starting reset process for ".concat(eU.INIT_CWD),"\uD83D\uDE80");return[4,ef("Resetting...",/*#__PURE__*/r(function(){return h(this,function(e){switch(e.label){case 0:return[4,eO("npx rimraf ".concat(eU.INIT_CWD,"/node_modules ").concat(eU.INIT_CWD,"/package-lock.json"),"Cleaning node_modules and package-lock.json...")];case 1:e.sent();return[4,eO("npm i -f","Installing all dependencies...")];case 2:e.sent(),e3();return[2]}})}))];case 1:e.sent();return[2]}})});return e9.apply(this,arguments)}function te(){return tt.apply(this,arguments)}function tt(){tt=r(function(){var e;return h(this,function(t){switch(t.label){case 0:e=k.resolve(C,"./configs/vitest/react/unit.js");e_("Starting unit tests for ".concat(eU.INIT_CWD),"\uD83D\uDE80");return[4,ef("Running unit tests...",/*#__PURE__*/r(function(){return h(this,function(t){switch(t.label){case 0:return[4,eO("npx vitest --config ".concat(e),"Running unit tests...")];case 1:t.sent();return[2]}})}))];case 1:t.sent();return[2]}})});return tt.apply(this,arguments)}function tn(){return tr.apply(this,arguments)}function tr(){tr=r(function(){var e;return h(this,function(t){switch(t.label){case 0:e=k.resolve(C,"./configs/vitest/react/e2e.js");e_("Starting e2e tests for ".concat(eU.INIT_CWD),"\uD83D\uDE80");return[4,ef("Running end-to-end tests...",/*#__PURE__*/r(function(){return h(this,function(t){switch(t.label){case 0:return[4,eO("npx vitest --config ".concat(e),"Running e2e tests...")];case 1:t.sent();return[2]}})}))];case 1:t.sent();return[2]}})});return tr.apply(this,arguments)}(0,T.default)((0,E.hideBin)(P.default.argv)).command("lint","Run linting checks",eB).command("lint:fix","Fix linting and formatting issues",eQ).command("lint:inspect","Inspect linting rules",eX).command("lint-staged","Run lint-staged with given configuration",e1).command("commitlint","Run commitlint with given configuration",e2).command("setup","Run setup with given configuration",e7).command("reset","Reset dependencies and install",e8).command("test:unit","Run unit tests",te).command("test:e2e","Run e2e tests",tn).help().parse();
package/dist/commands.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(t){if(Array.isArray(t))return e(t)}function n(e,t,n,r,s,o,c){try{var i=e[o](c);var a=i.value}catch(e){n(e);return}if(i.done){t(a)}else{Promise.resolve(a).then(r,s)}}function r(e){return function(){var t=this,r=arguments;return new Promise(function(s,o){var c=e.apply(t,r);function i(e){n(c,s,o,i,a,"next",e)}function a(e){n(c,s,o,i,a,"throw",e)}i(undefined)})}}function s(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function o(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function c(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){s(e,t,n[t])})}return e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}n.push.apply(n,r)}return n}function u(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{a(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function l(e){return t(e)||o(e)||p(e)||c()}function f(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function p(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function h(e,t){var n,r,s,o,c={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]};return o={next:i(0),"throw":i(1),"return":i(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function i(e){return function(t){return a([e,t])}}function a(o){if(n)throw new TypeError("Generator is already executing.");while(c)try{if(n=1,r&&(s=o[0]&2?r["return"]:o[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,o[1])).done)return s;if(r=0,s)o=[o[0]&2,s.value];switch(o[0]){case 0:case 1:s=o;break;case 4:c.label++;return{value:o[1],done:false};case 5:c.label++;r=o[1];o=[0];continue;case 7:o=c.ops.pop();c.trys.pop();continue;default:if(!(s=c.trys,s=s.length>0&&s[s.length-1])&&(o[0]===6||o[0]===2)){c=0;continue}if(o[0]===3&&(!s||o[1]>s[0]&&o[1]<s[3])){c.label=o[1];break}if(o[0]===6&&c.label<s[1]){c.label=s[1];s=o;break}if(s&&c.label<s[2]){c.label=s[2];c.ops.push(o);break}if(s[2])c.ops.pop();c.trys.pop();continue}o=t.call(e,c)}catch(e){o=[6,e];r=0}finally{n=s=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:true}}}import*as g from"node:fs";import*as m from"node:path";import y from"node:process";import{hideBin as d}from"yargs/helpers";import v from"yargs/yargs";import{dirname as b}from"node:path";import{fileURLToPath as _}from"node:url";var w=_(import.meta.url),S=b(w);import I from"localforage";import E from"node-persist";import k from"node:os";import O from"node:path";import P from"node:process";var T=(typeof window==="undefined"?"undefined":f(window))<"u",A=P.env.CYBERSKILL_STORAGE_DIR||O.join(k.homedir(),".cyberskill-storage");function C(){return x.apply(this,arguments)}function x(){x=r(function(){var e;return h(this,function(t){switch(t.label){case 0:e=!T&&!E.defaultInstance;if(!e)return[3,2];return[4,E.init({dir:A,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})});return x.apply(this,arguments)}var N={get:function e(e){return r(function(){var t,n,r;return h(this,function(s){switch(s.label){case 0:s.trys.push([0,6,,7]);if(!T)return[3,2];return[4,I.getItem(e)];case 1:n=s.sent();return[3,5];case 2:return[4,C()];case 3:s.sent();return[4,E.getItem(e)];case 4:n=(t=s.sent())!==null&&t!==void 0?t:null;s.label=5;case 5:return[2,n];case 6:r=s.sent();return[2,(console.error('❌ [Storage:get] Error getting key "'.concat(e,'":'),r),null)];case 7:return[2]}})})()},set:function e(e,t){return r(function(){var n,r;return h(this,function(s){switch(s.label){case 0:s.trys.push([0,6,,7]);if(!T)return[3,2];return[4,I.setItem(e,t)];case 1:n=s.sent();return[3,5];case 2:return[4,C()];case 3:s.sent();return[4,E.setItem(e,t)];case 4:n=s.sent();s.label=5;case 5:n;return[3,7];case 6:r=s.sent();console.error('❌ [Storage:set] Error setting key "'.concat(e,'":'),r);return[3,7];case 7:return[2]}})})()},remove:function e(e){return r(function(){var t,n;return h(this,function(r){switch(r.label){case 0:r.trys.push([0,6,,7]);if(!T)return[3,2];return[4,I.removeItem(e)];case 1:t=r.sent();return[3,5];case 2:return[4,C()];case 3:r.sent();return[4,E.removeItem(e)];case 4:t=r.sent();r.label=5;case 5:t;return[3,7];case 6:n=r.sent();console.error('❌ [Storage:remove] Error removing key "'.concat(e,'":'),n);return[3,7];case 7:return[2]}})})()},keys:function e(){return r(function(){var e,t;return h(this,function(n){switch(n.label){case 0:n.trys.push([0,6,,7]);if(!T)return[3,2];return[4,I.keys()];case 1:e=n.sent();return[3,5];case 2:return[4,C()];case 3:n.sent();return[4,E.keys()];case 4:e=n.sent()||[];n.label=5;case 5:return[2,e];case 6:t=n.sent();return[2,(console.error("❌ [Storage:keys] Error getting keys:",t),[])];case 7:return[2]}})})()},values:function e(){return r(function(){var e,t;return h(this,function(n){switch(n.label){case 0:n.trys.push([0,7,,8]);if(!T)return[3,3];return[4,I.keys()];case 1:e=n.sent();return[4,Promise.all(e.map(function(e){return I.getItem(e)}))];case 2:return[2,n.sent().filter(function(e){return e!==null})];case 3:return[4,C()];case 4:n.sent();return[4,E.values()];case 5:return[2,n.sent()];case 6:return[3,8];case 7:t=n.sent();return[2,(console.error("❌ [Storage:values] Error getting values:",t),[])];case 8:return[2]}})})()},entries:function e(){return r(function(){var e,t,n,s;return h(this,function(o){switch(o.label){case 0:o.trys.push([0,8,,9]);if(!T)return[3,3];return[4,I.keys()];case 1:e=o.sent();return[4,Promise.all(e.map(/*#__PURE__*/function(){var e=r(function(e){var t;return h(this,function(n){switch(n.label){case 0:return[4,I.getItem(e)];case 1:t=n.sent();return[2,t!==null?[e,t]:null]}})});return function(t){return e.apply(this,arguments)}}()))];case 2:return[2,o.sent().filter(function(e){return e!==null})];case 3:return[4,C()];case 4:o.sent();return[4,E.keys()];case 5:t=o.sent();return[4,E.values()];case 6:n=o.sent();return[2,t.map(function(e,t){return[e,n[t]]})];case 7:return[3,9];case 8:s=o.sent();return[2,(console.error("❌ [Storage:entries] Error getting entries:",s),[])];case 9:return[2]}})})()},clear:function e(){return r(function(){var e,t;return h(this,function(n){switch(n.label){case 0:n.trys.push([0,6,,7]);if(!T)return[3,2];return[4,I.clear()];case 1:e=n.sent();return[3,5];case 2:return[4,C()];case 3:n.sent();return[4,E.clear()];case 4:e=n.sent();n.label=5;case 5:e;return[3,7];case 6:t=n.sent();console.error("❌ [Storage:clear] Error clearing storage:",t);return[3,7];case 7:return[2]}})})()},length:function e(){return r(function(){var e,t;return h(this,function(n){switch(n.label){case 0:n.trys.push([0,6,,7]);if(!T)return[3,2];return[4,I.length()];case 1:e=n.sent();return[3,5];case 2:return[4,C()];case 3:n.sent();return[4,E.keys()];case 4:e=n.sent().length;n.label=5;case 5:return[2,e];case 6:t=n.sent();return[2,(console.error("❌ [Storage:length] Error getting storage length:",t),0)];case 7:return[2]}})})()}};var j=function(e){return"error_list:".concat(e)};function R(e){return M.apply(this,arguments)}function M(){M=r(function(e){var t,n,r;return h(this,function(s){switch(s.label){case 0:if(!e.length)return[2];t=Date.now(),n=j(t);s.label=1;case 1:s.trys.push([1,3,,4]);return[4,N.set(n,{errors:e,timestamp:t})];case 2:s.sent(),console.log("✅ Saved ".concat(e.length," errors to storage with key: ").concat(n));return[3,4];case 3:r=s.sent();console.error("❌ Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})});return M.apply(this,arguments)}function D(){return G.apply(this,arguments)}function G(){G=r(function(){var e,t,n,r,s,o,c,i,a,u,f,p;return h(this,function(h){switch(h.label){case 0:h.trys.push([0,10,,11]);return[4,N.keys()];case 1:e=h.sent().filter(function(e){return e.startsWith("error_list:")}),t=[];n=true,r=false,s=undefined;h.label=2;case 2:h.trys.push([2,7,8,9]);o=e[Symbol.iterator]();h.label=3;case 3:if(!!(n=(c=o.next()).done))return[3,6];i=c.value;return[4,N.get(i)];case 4:u=h.sent();u&&(a=t).push.apply(a,l(u.errors));h.label=5;case 5:n=true;return[3,3];case 6:return[3,9];case 7:f=h.sent();r=true;s=f;return[3,9];case 8:try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw s}}return[7];case 9:return[2,t];case 10:p=h.sent();return[2,(console.error("❌ Failed to retrieve stored errors: ".concat(p.message)),[])];case 11:return[2]}})});return G.apply(this,arguments)}function F(){return H.apply(this,arguments)}function H(){H=r(function(){var e,t,n,r,s,o,c,i,a;return h(this,function(u){switch(u.label){case 0:u.trys.push([0,10,,11]);return[4,N.keys()];case 1:e=u.sent().filter(function(e){return e.startsWith("error_list:")});t=true,n=false,r=undefined;u.label=2;case 2:u.trys.push([2,7,8,9]);s=e[Symbol.iterator]();u.label=3;case 3:if(!!(t=(o=s.next()).done))return[3,6];c=o.value;return[4,N.remove(c)];case 4:u.sent(),console.log("\uD83D\uDDD1️ Removed error list: ".concat(c));u.label=5;case 5:t=true;return[3,3];case 6:return[3,9];case 7:i=u.sent();n=true;r=i;return[3,9];case 8:try{if(!t&&s.return!=null){s.return()}}finally{if(n){throw r}}return[7];case 9:return[3,11];case 10:a=u.sent();console.error("❌ Failed to clear error lists: ".concat(a.message));return[3,11];case 11:return[2]}})});return H.apply(this,arguments)}import U from"boxen";import W from"chalk";var K=W.blue,L=W.red,J=W.yellow,B=W.green,Y=W.gray,$=W.bold;function q(e,t){var n=new Map([[L,"red"],[J,"yellow"],[B,"green"]]).get(t)||"green";return U($(t(e)),{padding:1,margin:1,borderStyle:"arrow",borderColor:n})}function z(e,t,n,r){e.length&&(e.forEach(function(e){var r=e.file,s=e.position,o=e.rule,c=e.message;console.log("".concat(t("".concat(n," File:"))," ").concat(K("".concat(r).concat(s?":".concat(s):"")))),o&&console.log(" ".concat(t("Rule:")," ").concat(t(o))),console.log(" ".concat(t("Message:")," ").concat(t(c)))}),console.log(q($(t("".concat(n," Total ").concat(r,": ").concat(e.length))),t)),console.log(Y("─".repeat(40))))}function Q(){return V.apply(this,arguments)}function V(){V=r(function(){var e,t,n;return h(this,function(r){switch(r.label){case 0:return[4,D()];case 1:e=r.sent(),t=e.filter(function(e){return e.type==="error"}),n=e.filter(function(e){return e.type==="warning"});!t.length&&!n.length?console.log(q($(B("✔ NO ISSUE FOUND!")),B)):(z(n,J,"⚠","Warnings"),z(t,L,"✖","Errors"));return[2]}})});return V.apply(this,arguments)}import X from"node:process";import Z from"ora";function ee(e,t){return et.apply(this,arguments)}function et(){et=r(function(e,t){var n,r,s,o,c,i,a;var u=arguments;return h(this,function(l){switch(l.label){case 0:n=u.length>2&&u[2]!==void 0?u[2]:{};r=n.successMessage,s=n.failureMessage,o=n.exitOnError,c=o===void 0?!0:o,i=Z({text:e,color:"cyan",spinner:"dots"}).start();l.label=1;case 1:l.trys.push([1,4,,5]);return[4,t()];case 2:l.sent();return[4,D()];case 3:l.sent().length>0?c?(i.fail(s||"".concat(e," ❌")),X.exit(1)):i.fail(s||"".concat(e," ❌")):i.succeed(r||"".concat(e," ✅"));return[3,5];case 4:a=l.sent();if(i.fail(s||"".concat(e," ❌")),c)X.exit(1);else throw a;return[3,5];case 5:return[2]}})});return et.apply(this,arguments)}import en from"chalk";import{exec as er}from"node:child_process";import es from"node:process";import*as eo from"node:util";var ec=eo.promisify(er),ei=en.gray,ea=en.white;function eu(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";var n=new Date().toLocaleString();console.log("".concat(t," [").concat(n,"] ").concat(ea(e)))}function el(e){var t=/^\s*(\d+):(\d+)\s+(error|warning)\s+(\S+)\s+(\S+)$/,n=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,r=/^✖\s+(.*?)\s+\[(.*?)\]$/,s=[],o="",c=[];e.split("\n").forEach(function(e){if(e.startsWith("/"))o=e.trim();else{var i=t.exec(e);if(i&&o)c.push({file:o,position:"".concat(i[1],":").concat(i[2]),type:i[3]==="error"?"error":"warning",message:i[4].trim(),rule:i[5].trim()});else{var a=n.exec(e);if(a)c.push({file:a[1],position:"".concat(a[2],":").concat(a[3]),type:a[4],message:a[5].trim()});else{var u=r.exec(e);u?c.push({file:"commitlint",type:"error",message:u[1].trim(),rule:u[2].trim()}):s.push(e.trim())}}}}),c.length>0&&R(c),s.length>0&&(console.log(ei("Unmatched lines:")),s.forEach(function(e){return console.info(e)}))}function ef(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,s=e.line,o=e.column,c=e.ruleId,i=e.message;n.push({type:r===2?"error":"warning",file:t,position:"".concat(s,":").concat(o),rule:c,message:i})})}),n.length>0&&R(n)}catch(t){console.log("output",e),el(e)}}function ep(e,t){return eh.apply(this,arguments)}function eh(){eh=r(function(e,t){var n,r,s,o,c,i,a,u,l;var f=arguments;return h(this,function(p){switch(p.label){case 0:n=f.length>2&&f[2]!==void 0?f[2]:ef;eu(t);r=new AbortController;es.on("SIGINT",function(){console.log("Terminating process..."),r.abort(),es.exit()});p.label=1;case 1:p.trys.push([1,3,,4]);return[4,ec(e,{maxBuffer:0x6400000,signal:r.signal})];case 2:s=p.sent(),o=s.stdout,c=s.stderr;[o,c].forEach(function(e){return e&&n(e)});return[3,4];case 3:i=p.sent();a=i.stdout,u=i.stderr,l=i.message;[a,u].forEach(function(e){return e&&n(e)}),!u&&!a&&console.error("Command failed: ".concat(l));return[3,4];case 4:return[2]}})});return eh.apply(this,arguments)}import eg from"node-fetch";import em from"node:fs";import ey from"node:path";var ed=24*60*60*1e3;function ev(e){return eb.apply(this,arguments)}function eb(){eb=r(function(e){var t,n,r,s,o,c,i,a,u,l;var f=arguments;return h(this,function(p){switch(p.label){case 0:t=f.length>1&&f[1]!==void 0?f[1]:!1;n="npm_version:".concat(e),r="npm_metadata:".concat(e);return[4,N.get(n)];case 1:s=p.sent();return[4,N.get(r)];case 2:o=p.sent(),c=s&&Date.now()-s.timestamp<ed;if(!t&&c)return[2,(console.log("Using cached version for ".concat(e,": ").concat(s.version)),s.version)];i={};(o===null||o===void 0?void 0:o.etag)&&(i["If-None-Match"]=o.etag),(o===null||o===void 0?void 0:o.lastModified)&&(i["If-Modified-Since"]=o.lastModified);p.label=3;case 3:p.trys.push([3,8,,9]);console.log("Fetching latest version for ".concat(e,"..."));return[4,eg("https://registry.npmjs.org/".concat(e,"/latest"),{headers:i})];case 4:a=p.sent();if(a.status===304&&s)return[2,(console.log("Cache is still valid for ".concat(e,": ").concat(s.version)),s.version)];if(!a.ok)throw new Error("Failed to fetch latest version: ".concat(a.statusText));return[4,a.json()];case 5:u=p.sent().version;return[4,N.set(n,{version:u,timestamp:Date.now()})];case 6:p.sent();return[4,N.set(r,{etag:a.headers.get("ETag")||void 0,lastModified:a.headers.get("Last-Modified")||void 0})];case 7:return[2,(p.sent(),console.log("Cached latest version for ".concat(e,": ").concat(u)),u)];case 8:l=p.sent();if(console.error("Error fetching latest version for ".concat(e,": ").concat(l.message)),s)return[2,(console.warn("Falling back to cached version for ".concat(e,": ").concat(s.version)),s.version)];throw l;case 9:return[2]}})});return eb.apply(this,arguments)}function e_(e,t){try{var n=ey.join(e,"package.json");return em.existsSync(n)?JSON.parse(em.readFileSync(n,"utf-8")).name===t:!1}catch(e){return console.error("Error reading package.json: ".concat(e.message)),!1}}var ew=y.env.INIT_CWD||y.cwd(),eS={INIT_CWD:ew,TS_CONFIG_PATH:"".concat(ew,"/tsconfig.json"),HUSKY_PATH:"".concat(ew,"/.husky"),GIT_HOOK_PATH:"".concat(ew,"/.git/hooks"),GIT_COMMIT_MSG:"".concat(ew,"/.git/COMMIT_EDITMSG"),SIMPLE_GIT_HOOKS_PATH:"".concat(ew,"/.simple-git-hooks.json"),PACKAGE_NAME:"@cyberskill/shared"};function eI(){return eE.apply(this,arguments)}function eE(){eE=r(function(){var e;return h(this,function(t){switch(t.label){case 0:if(!g.existsSync(eS.TS_CONFIG_PATH))return[3,2];return[4,ep("npx tsc -p ".concat(eS.TS_CONFIG_PATH," --noEmit"),"TypeScript checking...")];case 1:e=t.sent();return[3,3];case 2:e=eu("tsconfig.json file not found.","⚠️");t.label=3;case 3:e;return[2]}})});return eE.apply(this,arguments)}function ek(){return eO.apply(this,arguments)}function eO(){eO=r(function(){var e,t;var n=arguments;return h(this,function(r){switch(r.label){case 0:e=n.length>0&&n[0]!==void 0?n[0]:!1;t="npx eslint ".concat(eS.INIT_CWD).concat(e?" --fix":" --format json");return[4,ep(t,"Eslint ".concat(e?"fixing":"checking","..."))];case 1:r.sent();return[2]}})});return eO.apply(this,arguments)}function eP(){return eT.apply(this,arguments)}function eT(){eT=r(function(){var e;return h(this,function(t){switch(t.label){case 0:e="npx lint-staged --config ".concat(m.resolve(S,"./configs/lint-staged/base.js"));return[4,ep(e,"Lint-staged processing...")];case 1:t.sent();return[2]}})});return eT.apply(this,arguments)}function eA(){return eC.apply(this,arguments)}function eC(){eC=r(function(){return h(this,function(e){switch(e.label){case 0:eu("Starting lint check for ".concat(eS.INIT_CWD),"\uD83D\uDE80");return[4,ee("Running lint checks...",/*#__PURE__*/r(function(){return h(this,function(e){switch(e.label){case 0:return[4,F()];case 1:e.sent();return[4,Promise.all([eI(),ek()])];case 2:e.sent(),Q();return[2]}})}))];case 1:e.sent();return[2]}})});return eC.apply(this,arguments)}function ex(){return eN.apply(this,arguments)}function eN(){eN=r(function(){return h(this,function(e){switch(e.label){case 0:eu("Starting lint and format fix for ".concat(eS.INIT_CWD),"\uD83D\uDE80");return[4,ee("Fixing issues...",/*#__PURE__*/r(function(){return h(this,function(e){switch(e.label){case 0:return[4,ek(!0)];case 1:e.sent();return[2]}})}))];case 1:e.sent();return[2]}})});return eN.apply(this,arguments)}function ej(){return eR.apply(this,arguments)}function eR(){eR=r(function(){return h(this,function(e){switch(e.label){case 0:return[4,ep("npx @eslint/config-inspector","Lint inspect processing...")];case 1:e.sent();return[2]}})});return eR.apply(this,arguments)}function eM(){return eD.apply(this,arguments)}function eD(){eD=r(function(){return h(this,function(e){switch(e.label){case 0:eu("Starting lint-staged process for ".concat(y.env.INIT_CWD),"\uD83D\uDE80");return[4,ee("Running lint-staged...",/*#__PURE__*/r(function(){return h(this,function(e){switch(e.label){case 0:return[4,F()];case 1:e.sent();return[4,Promise.all([eI(),eP()])];case 2:e.sent(),Q();return[2]}})}))];case 1:e.sent();return[2]}})});return eD.apply(this,arguments)}function eG(){return eF.apply(this,arguments)}function eF(){eF=r(function(){return h(this,function(e){switch(e.label){case 0:eu("Starting commitlint process for ".concat(eS.INIT_CWD),"\uD83D\uDE80");return[4,ee("Running commitlint...",/*#__PURE__*/r(function(){var e,t;return h(this,function(n){switch(n.label){case 0:return[4,F()];case 1:n.sent();e=m.resolve(S,"./configs/commitlint/base.js"),t="npx --no -- commitlint --edit ".concat(eS.GIT_COMMIT_MSG," --config ").concat(e);return[4,ep(t,"Commitlint processing...")];case 2:n.sent(),Q();return[2]}})}))];case 1:e.sent();return[2]}})});return eF.apply(this,arguments)}function eH(){return eU.apply(this,arguments)}function eU(){eU=r(function(){var e,t,n;return h(this,function(r){switch(r.label){case 0:e=g.existsSync(eS.HUSKY_PATH);if(!e)return[3,2];return[4,ep("npx rimraf ".concat(eS.HUSKY_PATH," ").concat(eS.GIT_HOOK_PATH," && git config core.hooksPath ").concat(eS.GIT_HOOK_PATH),"Removing husky hooks...")];case 1:e=r.sent();r.label=2;case 2:e;t=e_(eS.INIT_CWD,eS.PACKAGE_NAME),n='\n echo "✅ Running lint..."\n npx --yes cyberskill lint-staged || (echo "❌ Lint failed – aborting commit." && exit 1)\n ';t&&(n='\n echo "\uD83D\uDE80 Running build before commit..."\n npm run build || (echo "❌ Build failed – aborting commit." && exit 1)\n \n '.concat(n.trim(),"\n ")),g.writeFileSync(eS.SIMPLE_GIT_HOOKS_PATH,JSON.stringify({"pre-commit":n.trim(),"commit-msg":"npx --yes cyberskill commitlint"},null,4));return[4,ep("npx simple-git-hooks","Setting up git hooks...")];case 3:r.sent(),g.unlinkSync(eS.SIMPLE_GIT_HOOKS_PATH);return[2]}})});return eU.apply(this,arguments)}function eW(){return eK.apply(this,arguments)}function eK(){eK=r(function(){return h(this,function(e){switch(e.label){case 0:eu("Starting setup process for ".concat(eS.INIT_CWD),"\uD83D\uDE80");return[4,ee("Setting up...",/*#__PURE__*/r(function(){var e,t,n,o,c,a,l,f;return h(this,function(p){switch(p.label){case 0:e=m.join(eS.INIT_CWD,"package.json"),t=/*#__PURE__*/function(){var e=r(function(){var e,t,n,r;return h(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);e=m.join(eS.INIT_CWD,"node_modules",eS.PACKAGE_NAME,"package.json"),t=JSON.parse(g.readFileSync(e,"utf-8")).version;return[4,ev(eS.PACKAGE_NAME,!0)];case 1:n=s.sent();return[2,t!==n];case 2:r=s.sent();return[2,!0];case 3:return[2]}})});return function t(){return e.apply(this,arguments)}}(),n=/*#__PURE__*/function(){var t=r(function(){var t,n,r;return h(this,function(o){switch(o.label){case 0:o.trys.push([0,4,,5]);return[4,ev(eS.PACKAGE_NAME,!0)];case 1:t=o.sent(),n=JSON.parse(g.readFileSync(e,"utf-8"));n.dependencies=u(i({},n.dependencies),s({},eS.PACKAGE_NAME,t)),g.writeFileSync(e,JSON.stringify(n,null,2));return[4,ep("npm i -f","Installing all dependencies with updated Cyberskill...")];case 2:o.sent();return[4,ep("npm run lint:fix","Fixing lint issues...")];case 3:o.sent();return[3,5];case 4:r=o.sent();throw console.error("Failed to update Cyberskill: ".concat(r.message)),r;case 5:return[2]}})});return function e(){return t.apply(this,arguments)}}();p.label=1;case 1:p.trys.push([1,7,,8]);c=JSON.parse(g.readFileSync(e,"utf-8"));if(e_(eS.INIT_CWD,eS.PACKAGE_NAME)){eu("Cyberskill is the current project. No setup needed.","✅");return[2]}l=!((o=c.dependencies)===null||o===void 0?void 0:o[eS.PACKAGE_NAME]);if(l)return[3,3];return[4,t()];case 2:l=p.sent();p.label=3;case 3:if(!l)return[3,5];eu("Cyberskill is missing or outdated. Updating...");return[4,n()];case 4:a=p.sent();return[3,6];case 5:a=eu("Cyberskill is up to date","✅");p.label=6;case 6:a;return[3,8];case 7:f=p.sent();throw console.error("Error reading package.json: ".concat(f.message)),f;case 8:eH();return[2]}})}))];case 1:e.sent();return[2]}})});return eK.apply(this,arguments)}function eL(){return eJ.apply(this,arguments)}function eJ(){eJ=r(function(){return h(this,function(e){switch(e.label){case 0:eu("Starting reset process for ".concat(eS.INIT_CWD),"\uD83D\uDE80");return[4,ee("Resetting...",/*#__PURE__*/r(function(){return h(this,function(e){switch(e.label){case 0:return[4,ep("npx rimraf ".concat(eS.INIT_CWD,"/node_modules ").concat(eS.INIT_CWD,"/package-lock.json"),"Cleaning node_modules and package-lock.json...")];case 1:e.sent();return[4,ep("npm i -f","Installing all dependencies...")];case 2:e.sent(),eH();return[2]}})}))];case 1:e.sent();return[2]}})});return eJ.apply(this,arguments)}function eB(){return eY.apply(this,arguments)}function eY(){eY=r(function(){var e;return h(this,function(t){switch(t.label){case 0:e=m.resolve(S,"./configs/vitest/react/unit.js");eu("Starting unit tests for ".concat(eS.INIT_CWD),"\uD83D\uDE80");return[4,ee("Running unit tests...",/*#__PURE__*/r(function(){return h(this,function(t){switch(t.label){case 0:return[4,ep("npx vitest --config ".concat(e),"Running unit tests...")];case 1:t.sent();return[2]}})}))];case 1:t.sent();return[2]}})});return eY.apply(this,arguments)}function e$(){return eq.apply(this,arguments)}function eq(){eq=r(function(){var e;return h(this,function(t){switch(t.label){case 0:e=m.resolve(S,"./configs/vitest/react/e2e.js");eu("Starting e2e tests for ".concat(eS.INIT_CWD),"\uD83D\uDE80");return[4,ee("Running end-to-end tests...",/*#__PURE__*/r(function(){return h(this,function(t){switch(t.label){case 0:return[4,ep("npx vitest --config ".concat(e),"Running e2e tests...")];case 1:t.sent();return[2]}})}))];case 1:t.sent();return[2]}})});return eq.apply(this,arguments)}v(d(y.argv)).command("lint","Run linting checks",eA).command("lint:fix","Fix linting and formatting issues",ex).command("lint:inspect","Inspect linting rules",ej).command("lint-staged","Run lint-staged with given configuration",eM).command("commitlint","Run commitlint with given configuration",eG).command("setup","Run setup with given configuration",eW).command("reset","Reset dependencies and install",eL).command("test:unit","Run unit tests",eB).command("test:e2e","Run e2e tests",e$).help().parse();
2
+ function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(t){if(Array.isArray(t))return e(t)}function n(e,t,n,r,s,o,c){try{var i=e[o](c);var a=i.value}catch(e){n(e);return}if(i.done){t(a)}else{Promise.resolve(a).then(r,s)}}function r(e){return function(){var t=this,r=arguments;return new Promise(function(s,o){var c=e.apply(t,r);function i(e){n(c,s,o,i,a,"next",e)}function a(e){n(c,s,o,i,a,"throw",e)}i(undefined)})}}function s(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function o(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function c(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){s(e,t,n[t])})}return e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}n.push.apply(n,r)}return n}function u(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{a(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function l(e){return t(e)||o(e)||p(e)||c()}function f(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function p(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function h(e,t){var n,r,s,o,c={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]};return o={next:i(0),"throw":i(1),"return":i(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function i(e){return function(t){return a([e,t])}}function a(o){if(n)throw new TypeError("Generator is already executing.");while(c)try{if(n=1,r&&(s=o[0]&2?r["return"]:o[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,o[1])).done)return s;if(r=0,s)o=[o[0]&2,s.value];switch(o[0]){case 0:case 1:s=o;break;case 4:c.label++;return{value:o[1],done:false};case 5:c.label++;r=o[1];o=[0];continue;case 7:o=c.ops.pop();c.trys.pop();continue;default:if(!(s=c.trys,s=s.length>0&&s[s.length-1])&&(o[0]===6||o[0]===2)){c=0;continue}if(o[0]===3&&(!s||o[1]>s[0]&&o[1]<s[3])){c.label=o[1];break}if(o[0]===6&&c.label<s[1]){c.label=s[1];s=o;break}if(s&&c.label<s[2]){c.label=s[2];c.ops.push(o);break}if(s[2])c.ops.pop();c.trys.pop();continue}o=t.call(e,c)}catch(e){o=[6,e];r=0}finally{n=s=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:true}}}import*as g from"node:fs";import*as m from"node:path";import d from"node:process";import{hideBin as y}from"yargs/helpers";import v from"yargs/yargs";import{dirname as b}from"node:path";import{fileURLToPath as w}from"node:url";var _=w(import.meta.url),S=b(_);import I from"localforage";import k from"node-persist";import O from"node:os";import E from"node:path";import T from"node:process";var P=(typeof window==="undefined"?"undefined":f(window))<"u",j=T.env.CYBERSKILL_STORAGE_DIR||E.join(O.homedir(),".cyberskill-storage");function x(){return A.apply(this,arguments)}function A(){A=r(function(){var e;return h(this,function(t){switch(t.label){case 0:e=!P&&!k.defaultInstance;if(!e)return[3,2];return[4,k.init({dir:j,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})});return A.apply(this,arguments)}var C={get:function e(e){return r(function(){var t,n,r;return h(this,function(s){switch(s.label){case 0:s.trys.push([0,6,,7]);if(!P)return[3,2];return[4,I.getItem(e)];case 1:n=s.sent();return[3,5];case 2:return[4,x()];case 3:s.sent();return[4,k.getItem(e)];case 4:n=(t=s.sent())!==null&&t!==void 0?t:null;s.label=5;case 5:return[2,n];case 6:r=s.sent();return[2,(console.error('❌ [Storage:get] Error getting key "'.concat(e,'":'),r),null)];case 7:return[2]}})})()},set:function e(e,t){return r(function(){var n,r;return h(this,function(s){switch(s.label){case 0:s.trys.push([0,6,,7]);if(!P)return[3,2];return[4,I.setItem(e,t)];case 1:n=s.sent();return[3,5];case 2:return[4,x()];case 3:s.sent();return[4,k.setItem(e,t)];case 4:n=s.sent();s.label=5;case 5:n;return[3,7];case 6:r=s.sent();console.error('❌ [Storage:set] Error setting key "'.concat(e,'":'),r);return[3,7];case 7:return[2]}})})()},remove:function e(e){return r(function(){var t,n;return h(this,function(r){switch(r.label){case 0:r.trys.push([0,6,,7]);if(!P)return[3,2];return[4,I.removeItem(e)];case 1:t=r.sent();return[3,5];case 2:return[4,x()];case 3:r.sent();return[4,k.removeItem(e)];case 4:t=r.sent();r.label=5;case 5:t;return[3,7];case 6:n=r.sent();console.error('❌ [Storage:remove] Error removing key "'.concat(e,'":'),n);return[3,7];case 7:return[2]}})})()},keys:function e(){return r(function(){var e,t;return h(this,function(n){switch(n.label){case 0:n.trys.push([0,6,,7]);if(!P)return[3,2];return[4,I.keys()];case 1:e=n.sent();return[3,5];case 2:return[4,x()];case 3:n.sent();return[4,k.keys()];case 4:e=n.sent()||[];n.label=5;case 5:return[2,e];case 6:t=n.sent();return[2,(console.error("❌ [Storage:keys] Error getting keys:",t),[])];case 7:return[2]}})})()},values:function e(){return r(function(){var e,t;return h(this,function(n){switch(n.label){case 0:n.trys.push([0,7,,8]);if(!P)return[3,3];return[4,I.keys()];case 1:e=n.sent();return[4,Promise.all(e.map(function(e){return I.getItem(e)}))];case 2:return[2,n.sent().filter(function(e){return e!==null})];case 3:return[4,x()];case 4:n.sent();return[4,k.values()];case 5:return[2,n.sent()];case 6:return[3,8];case 7:t=n.sent();return[2,(console.error("❌ [Storage:values] Error getting values:",t),[])];case 8:return[2]}})})()},entries:function e(){return r(function(){var e,t,n,s;return h(this,function(o){switch(o.label){case 0:o.trys.push([0,8,,9]);if(!P)return[3,3];return[4,I.keys()];case 1:e=o.sent();return[4,Promise.all(e.map(/*#__PURE__*/function(){var e=r(function(e){var t;return h(this,function(n){switch(n.label){case 0:return[4,I.getItem(e)];case 1:t=n.sent();return[2,t!==null?[e,t]:null]}})});return function(t){return e.apply(this,arguments)}}()))];case 2:return[2,o.sent().filter(function(e){return e!==null})];case 3:return[4,x()];case 4:o.sent();return[4,k.keys()];case 5:t=o.sent();return[4,k.values()];case 6:n=o.sent();return[2,t.map(function(e,t){return[e,n[t]]})];case 7:return[3,9];case 8:s=o.sent();return[2,(console.error("❌ [Storage:entries] Error getting entries:",s),[])];case 9:return[2]}})})()},clear:function e(){return r(function(){var e,t;return h(this,function(n){switch(n.label){case 0:n.trys.push([0,6,,7]);if(!P)return[3,2];return[4,I.clear()];case 1:e=n.sent();return[3,5];case 2:return[4,x()];case 3:n.sent();return[4,k.clear()];case 4:e=n.sent();n.label=5;case 5:e;return[3,7];case 6:t=n.sent();console.error("❌ [Storage:clear] Error clearing storage:",t);return[3,7];case 7:return[2]}})})()},length:function e(){return r(function(){var e,t;return h(this,function(n){switch(n.label){case 0:n.trys.push([0,6,,7]);if(!P)return[3,2];return[4,I.length()];case 1:e=n.sent();return[3,5];case 2:return[4,x()];case 3:n.sent();return[4,k.keys()];case 4:e=n.sent().length;n.label=5;case 5:return[2,e];case 6:t=n.sent();return[2,(console.error("❌ [Storage:length] Error getting storage length:",t),0)];case 7:return[2]}})})()}};var N=function(e){return"error_list:".concat(e)};function R(e){return D.apply(this,arguments)}function D(){D=r(function(e){var t,n,r;return h(this,function(s){switch(s.label){case 0:if(!e.length)return[2];t=Date.now(),n=N(t);s.label=1;case 1:s.trys.push([1,3,,4]);return[4,C.set(n,{errors:e,timestamp:t})];case 2:s.sent(),console.log("✅ Saved ".concat(e.length," errors to storage with key: ").concat(n));return[3,4];case 3:r=s.sent();console.error("❌ Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})});return D.apply(this,arguments)}function M(){return G.apply(this,arguments)}function G(){G=r(function(){var e,t,n,r,s,o,c,i,a,u,f,p;return h(this,function(h){switch(h.label){case 0:h.trys.push([0,10,,11]);return[4,C.keys()];case 1:e=h.sent().filter(function(e){return e.startsWith("error_list:")}),t=[];n=true,r=false,s=undefined;h.label=2;case 2:h.trys.push([2,7,8,9]);o=e[Symbol.iterator]();h.label=3;case 3:if(!!(n=(c=o.next()).done))return[3,6];i=c.value;return[4,C.get(i)];case 4:u=h.sent();u&&(a=t).push.apply(a,l(u.errors));h.label=5;case 5:n=true;return[3,3];case 6:return[3,9];case 7:f=h.sent();r=true;s=f;return[3,9];case 8:try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw s}}return[7];case 9:return[2,t];case 10:p=h.sent();return[2,(console.error("❌ Failed to retrieve stored errors: ".concat(p.message)),[])];case 11:return[2]}})});return G.apply(this,arguments)}function F(){return H.apply(this,arguments)}function H(){H=r(function(){var e,t,n,r,s,o,c,i,a;return h(this,function(u){switch(u.label){case 0:u.trys.push([0,10,,11]);return[4,C.keys()];case 1:e=u.sent().filter(function(e){return e.startsWith("error_list:")});t=true,n=false,r=undefined;u.label=2;case 2:u.trys.push([2,7,8,9]);s=e[Symbol.iterator]();u.label=3;case 3:if(!!(t=(o=s.next()).done))return[3,6];c=o.value;return[4,C.remove(c)];case 4:u.sent(),console.log("\uD83D\uDDD1️ Removed error list: ".concat(c));u.label=5;case 5:t=true;return[3,3];case 6:return[3,9];case 7:i=u.sent();n=true;r=i;return[3,9];case 8:try{if(!t&&s.return!=null){s.return()}}finally{if(n){throw r}}return[7];case 9:return[3,11];case 10:a=u.sent();console.error("❌ Failed to clear error lists: ".concat(a.message));return[3,11];case 11:return[2]}})});return H.apply(this,arguments)}import U from"boxen";import W from"chalk";var K=W.blue,L=W.red,J=W.yellow,Y=W.green,$=W.gray,B=W.bold;function q(e,t){var n=new Map([[L,"red"],[J,"yellow"],[Y,"green"]]).get(t)||"green";return U(B(t(e)),{padding:1,margin:1,borderStyle:"arrow",borderColor:n})}function z(e,t,n,r){e.length&&(e.forEach(function(e){var r=e.file,s=e.position,o=e.rule,c=e.message;console.log("".concat(t("".concat(n," File:"))," ").concat(K("".concat(r).concat(s?":".concat(s):"")))),o&&console.log(" ".concat(t("Rule:")," ").concat(t(o))),console.log(" ".concat(t("Message:")," ").concat(t(c)))}),console.log(q(B(t("".concat(n," Total ").concat(r,": ").concat(e.length))),t)),console.log($("─".repeat(40))))}function Q(){return V.apply(this,arguments)}function V(){V=r(function(){var e,t,n;return h(this,function(r){switch(r.label){case 0:return[4,M()];case 1:e=r.sent(),t=e.filter(function(e){return e.type==="error"}),n=e.filter(function(e){return e.type==="warning"});!t.length&&!n.length?console.log(q(B(Y("✔ NO ISSUE FOUND!")),Y)):(z(n,J,"⚠","Warnings"),z(t,L,"✖","Errors"));return[2]}})});return V.apply(this,arguments)}import X from"node:process";import Z from"ora";function ee(e,t){return et.apply(this,arguments)}function et(){et=r(function(e,t){var n,r;return h(this,function(s){switch(s.label){case 0:n=Z({text:e,color:"cyan",spinner:"dots"}).start();s.label=1;case 1:s.trys.push([1,4,,5]);return[4,t()];case 2:s.sent();return[4,M()];case 3:s.sent().length?X.exit(1):n.succeed("".concat(e," ✅"));return[3,5];case 4:r=s.sent();throw n.fail("".concat(e," ❌")),r;case 5:return[2]}})});return et.apply(this,arguments)}import en from"chalk";import{exec as er}from"node:child_process";import es from"node:process";import*as eo from"node:util";var ec=eo.promisify(er),ei=en.gray,ea=en.white;function eu(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";var n=new Date().toLocaleString();console.log("".concat(t," [").concat(n,"] ").concat(ea(e)))}function el(e){var t=/^\s*(\d+):(\d+)\s+(error|warning)\s+(\S+)\s+(\S+)$/,n=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,r=/^✖\s+(.*?)\s+\[(.*?)\]$/,s=[],o="",c=[];e.split("\n").forEach(function(e){if(e.startsWith("/"))o=e.trim();else{var i=t.exec(e);if(i&&o)c.push({file:o,position:"".concat(i[1],":").concat(i[2]),type:i[3]==="error"?"error":"warning",message:i[4].trim(),rule:i[5].trim()});else{var a=n.exec(e);if(a)c.push({file:a[1],position:"".concat(a[2],":").concat(a[3]),type:a[4],message:a[5].trim()});else{var u=r.exec(e);u?c.push({file:"commitlint",type:"error",message:u[1].trim(),rule:u[2].trim()}):s.push(e.trim())}}}}),c.length>0&&R(c),s.length>0&&(console.log(ei("Unmatched lines:")),s.forEach(function(e){return console.info(e)}))}function ef(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,s=e.line,o=e.column,c=e.ruleId,i=e.message;n.push({type:r===2?"error":"warning",file:t,position:"".concat(s,":").concat(o),rule:c,message:i})})}),n.length>0&&R(n)}catch(t){console.log("output",e),el(e)}}function ep(e,t){return eh.apply(this,arguments)}function eh(){eh=r(function(e,t){var n,r,s,o,c,i,a,u,l;var f=arguments;return h(this,function(p){switch(p.label){case 0:n=f.length>2&&f[2]!==void 0?f[2]:ef;eu(t);r=new AbortController;es.on("SIGINT",function(){console.log("Terminating process..."),r.abort(),es.exit()});p.label=1;case 1:p.trys.push([1,3,,4]);return[4,ec(e,{maxBuffer:0x6400000,signal:r.signal})];case 2:s=p.sent(),o=s.stdout,c=s.stderr;[o,c].forEach(function(e){return e&&n(e)});return[3,4];case 3:i=p.sent();a=i.stdout,u=i.stderr,l=i.message;[a,u].forEach(function(e){return e&&n(e)}),!u&&!a&&console.error("Command failed: ".concat(l));return[3,4];case 4:return[2]}})});return eh.apply(this,arguments)}import eg from"node-fetch";import em from"node:fs";import ed from"node:path";import ey from"node:process";var ev=24*60*60*1e3;function eb(e){return ew.apply(this,arguments)}function ew(){ew=r(function(e){var t,n,r,s,o,c,i,a,u,l;var f=arguments;return h(this,function(p){switch(p.label){case 0:t=f.length>1&&f[1]!==void 0?f[1]:!1;n="npm_version:".concat(e),r="npm_metadata:".concat(e);return[4,C.get(n)];case 1:s=p.sent();return[4,C.get(r)];case 2:o=p.sent(),c=s&&Date.now()-s.timestamp<ev;if(!t&&c)return[2,(console.log("Using cached version for ".concat(e,": ").concat(s.version)),s.version)];i={};(o===null||o===void 0?void 0:o.etag)&&(i["If-None-Match"]=o.etag),(o===null||o===void 0?void 0:o.lastModified)&&(i["If-Modified-Since"]=o.lastModified);p.label=3;case 3:p.trys.push([3,8,,9]);console.log("Fetching latest version for ".concat(e,"..."));return[4,eg("https://registry.npmjs.org/".concat(e,"/latest"),{headers:i})];case 4:a=p.sent();if(a.status===304&&s)return[2,(console.log("Cache is still valid for ".concat(e,": ").concat(s.version)),s.version)];if(!a.ok)throw new Error("Failed to fetch latest version: ".concat(a.statusText));return[4,a.json()];case 5:u=p.sent().version;return[4,C.set(n,{version:u,timestamp:Date.now()})];case 6:p.sent();return[4,C.set(r,{etag:a.headers.get("ETag")||void 0,lastModified:a.headers.get("Last-Modified")||void 0})];case 7:return[2,(p.sent(),console.log("Cached latest version for ".concat(e,": ").concat(u)),u)];case 8:l=p.sent();if(console.error("Error fetching latest version for ".concat(e,": ").concat(l.message)),s)return[2,(console.warn("Falling back to cached version for ".concat(e,": ").concat(s.version)),s.version)];throw l;case 9:return[2]}})});return ew.apply(this,arguments)}function e_(e){return ed.join(ey.cwd(),"node_modules",e,"package.json")}function eS(){return ed.join(ey.cwd(),"package.json")}function eI(e){return ek.apply(this,arguments)}function ek(){ek=r(function(e){var t,n,r,s,o;var c=arguments;return h(this,function(i){switch(i.label){case 0:t=c.length>1&&c[1]!==void 0?c[1]:!0;i.label=1;case 1:i.trys.push([1,3,,4]);n=e_(e);if(!em.existsSync(n))return[2,(console.log("".concat(e," is not installed.")),!0)];r=JSON.parse(em.readFileSync(n,"utf-8")).version;return[4,eb(e,t)];case 2:s=i.sent();return[2,(console.log("Installed version of ".concat(e,": ").concat(r)),console.log("Latest version of ".concat(e,": ").concat(s)),r!==s)];case 3:o=i.sent();return[2,(console.warn("Failed to check version for ".concat(e,": ").concat(o.message)),!0)];case 4:return[2]}})});return ek.apply(this,arguments)}function eO(e){return eE.apply(this,arguments)}function eE(){eE=r(function(e){var t,n,r,o;return h(this,function(c){switch(c.label){case 0:c.trys.push([0,4,,5]);return[4,eb(e,!0)];case 1:t=c.sent(),n=eS(),r=JSON.parse(em.readFileSync(n,"utf-8"));r.dependencies=u(i({},r.dependencies),s({},e,t)),em.writeFileSync(n,JSON.stringify(r,null,2)),console.log("Updated ".concat(e," to version ").concat(t));return[4,ep("npm i -f","Installing all dependencies with updated ".concat(e,"..."))];case 2:c.sent();return[4,ep("npm run lint:fix","Fixing lint issues for ".concat(e,"..."))];case 3:c.sent(),console.log("".concat(e," updated successfully."));return[3,5];case 4:o=c.sent();throw console.error("Failed to update ".concat(e,": ").concat(o.message)),o;case 5:return[2]}})});return eE.apply(this,arguments)}function eT(e,t){try{var n=ed.join(e,"package.json");return em.existsSync(n)?JSON.parse(em.readFileSync(n,"utf-8")).name===t:!1}catch(e){return console.error("Error reading package.json: ".concat(e.message)),!1}}var eP=d.env.INIT_CWD||d.cwd(),ej={INIT_CWD:eP,TS_CONFIG_PATH:"".concat(eP,"/tsconfig.json"),HUSKY_PATH:"".concat(eP,"/.husky"),GIT_HOOK_PATH:"".concat(eP,"/.git/hooks"),GIT_COMMIT_MSG:"".concat(eP,"/.git/COMMIT_EDITMSG"),SIMPLE_GIT_HOOKS_PATH:"".concat(eP,"/.simple-git-hooks.json"),PACKAGE_NAME:"@cyberskill/shared"};function ex(){return eA.apply(this,arguments)}function eA(){eA=r(function(){var e;return h(this,function(t){switch(t.label){case 0:if(!g.existsSync(ej.TS_CONFIG_PATH))return[3,2];return[4,ep("npx tsc -p ".concat(ej.TS_CONFIG_PATH," --noEmit"),"TypeScript checking...")];case 1:e=t.sent();return[3,3];case 2:e=eu("tsconfig.json file not found.","⚠️");t.label=3;case 3:e;return[2]}})});return eA.apply(this,arguments)}function eC(){return eN.apply(this,arguments)}function eN(){eN=r(function(){var e,t;var n=arguments;return h(this,function(r){switch(r.label){case 0:e=n.length>0&&n[0]!==void 0?n[0]:!1;t="npx eslint ".concat(ej.INIT_CWD).concat(e?" --fix":" --format json");return[4,ep(t,"Eslint ".concat(e?"fixing":"checking","..."))];case 1:r.sent();return[2]}})});return eN.apply(this,arguments)}function eR(){return eD.apply(this,arguments)}function eD(){eD=r(function(){var e;return h(this,function(t){switch(t.label){case 0:e="npx lint-staged --config ".concat(m.resolve(S,"./configs/lint-staged/base.js"));return[4,ep(e,"Lint-staged processing...")];case 1:t.sent();return[2]}})});return eD.apply(this,arguments)}function eM(){return eG.apply(this,arguments)}function eG(){eG=r(function(){return h(this,function(e){switch(e.label){case 0:eu("Starting lint check for ".concat(ej.INIT_CWD),"\uD83D\uDE80");return[4,ee("Running lint checks...",/*#__PURE__*/r(function(){return h(this,function(e){switch(e.label){case 0:return[4,F()];case 1:e.sent();return[4,Promise.all([ex(),eC()])];case 2:e.sent(),Q();return[2]}})}))];case 1:e.sent();return[2]}})});return eG.apply(this,arguments)}function eF(){return eH.apply(this,arguments)}function eH(){eH=r(function(){return h(this,function(e){switch(e.label){case 0:eu("Starting lint and format fix for ".concat(ej.INIT_CWD),"\uD83D\uDE80");return[4,ee("Fixing issues...",/*#__PURE__*/r(function(){return h(this,function(e){switch(e.label){case 0:return[4,eC(!0)];case 1:e.sent();return[2]}})}))];case 1:e.sent();return[2]}})});return eH.apply(this,arguments)}function eU(){return eW.apply(this,arguments)}function eW(){eW=r(function(){return h(this,function(e){switch(e.label){case 0:return[4,ep("npx @eslint/config-inspector","Lint inspect processing...")];case 1:e.sent();return[2]}})});return eW.apply(this,arguments)}function eK(){return eL.apply(this,arguments)}function eL(){eL=r(function(){return h(this,function(e){switch(e.label){case 0:eu("Starting lint-staged process for ".concat(d.env.INIT_CWD),"\uD83D\uDE80");return[4,ee("Running lint-staged...",/*#__PURE__*/r(function(){return h(this,function(e){switch(e.label){case 0:return[4,F()];case 1:e.sent();return[4,Promise.all([ex(),eR()])];case 2:e.sent(),Q();return[2]}})}))];case 1:e.sent();return[2]}})});return eL.apply(this,arguments)}function eJ(){return eY.apply(this,arguments)}function eY(){eY=r(function(){return h(this,function(e){switch(e.label){case 0:eu("Starting commitlint process for ".concat(ej.INIT_CWD),"\uD83D\uDE80");return[4,ee("Running commitlint...",/*#__PURE__*/r(function(){var e,t;return h(this,function(n){switch(n.label){case 0:return[4,F()];case 1:n.sent();e=m.resolve(S,"./configs/commitlint/base.js"),t="npx --no -- commitlint --edit ".concat(ej.GIT_COMMIT_MSG," --config ").concat(e);return[4,ep(t,"Commitlint processing...")];case 2:n.sent(),Q();return[2]}})}))];case 1:e.sent();return[2]}})});return eY.apply(this,arguments)}function e$(){return eB.apply(this,arguments)}function eB(){eB=r(function(){var e,t;return h(this,function(n){switch(n.label){case 0:e=g.existsSync(ej.HUSKY_PATH);if(!e)return[3,2];return[4,ep("npx rimraf ".concat(ej.HUSKY_PATH," ").concat(ej.GIT_HOOK_PATH," && git config core.hooksPath ").concat(ej.GIT_HOOK_PATH),"Removing husky hooks...")];case 1:e=n.sent();n.label=2;case 2:e;t=eT(ej.INIT_CWD,ej.PACKAGE_NAME);g.writeFileSync(ej.SIMPLE_GIT_HOOKS_PATH,JSON.stringify({"pre-commit":"".concat(t?"npm run build && ":"","npx --yes cyberskill lint-staged"),"commit-msg":"npx --yes cyberskill commitlint"},null,4));return[4,ep("npx simple-git-hooks","Setting up git hooks...")];case 3:if(n.sent(),g.existsSync(ej.SIMPLE_GIT_HOOKS_PATH))try{g.unlinkSync(ej.SIMPLE_GIT_HOOKS_PATH)}catch(e){console.error("Failed to unlink git hooks config:",e)}return[2]}})});return eB.apply(this,arguments)}function eq(){return ez.apply(this,arguments)}function ez(){ez=r(function(){return h(this,function(e){switch(e.label){case 0:eu("Starting setup process for ".concat(ej.INIT_CWD),"\uD83D\uDE80");return[4,ee("Setting up...",/*#__PURE__*/r(function(){var e,t,n,r,s,o,c;return h(this,function(i){switch(i.label){case 0:e=m.join(ej.INIT_CWD,"package.json");i.label=1;case 1:i.trys.push([1,10,,11]);n=JSON.parse(g.readFileSync(e,"utf-8"));if(!eT(ej.INIT_CWD,ej.PACKAGE_NAME))return[3,2];r=eu("Cyberskill is the current project. No setup needed.","✅");return[3,8];case 2:o=!((t=n.dependencies)===null||t===void 0?void 0:t[ej.PACKAGE_NAME]);if(o)return[3,4];return[4,eI(ej.PACKAGE_NAME)];case 3:o=i.sent();i.label=4;case 4:if(!o)return[3,6];eu("Cyberskill is missing or outdated. Updating...");return[4,eO(ej.PACKAGE_NAME)];case 5:s=i.sent();return[3,7];case 6:s=eu("Cyberskill is up to date","✅");i.label=7;case 7:r=s;i.label=8;case 8:r;return[4,e$()];case 9:i.sent();return[3,11];case 10:c=i.sent();throw console.error("Error reading package.json: ".concat(c.message)),c;case 11:return[2]}})}))];case 1:e.sent();return[2]}})});return ez.apply(this,arguments)}function eQ(){return eV.apply(this,arguments)}function eV(){eV=r(function(){return h(this,function(e){switch(e.label){case 0:eu("Starting reset process for ".concat(ej.INIT_CWD),"\uD83D\uDE80");return[4,ee("Resetting...",/*#__PURE__*/r(function(){return h(this,function(e){switch(e.label){case 0:return[4,ep("npx rimraf ".concat(ej.INIT_CWD,"/node_modules ").concat(ej.INIT_CWD,"/package-lock.json"),"Cleaning node_modules and package-lock.json...")];case 1:e.sent();return[4,ep("npm i -f","Installing all dependencies...")];case 2:e.sent(),e$();return[2]}})}))];case 1:e.sent();return[2]}})});return eV.apply(this,arguments)}function eX(){return eZ.apply(this,arguments)}function eZ(){eZ=r(function(){var e;return h(this,function(t){switch(t.label){case 0:e=m.resolve(S,"./configs/vitest/react/unit.js");eu("Starting unit tests for ".concat(ej.INIT_CWD),"\uD83D\uDE80");return[4,ee("Running unit tests...",/*#__PURE__*/r(function(){return h(this,function(t){switch(t.label){case 0:return[4,ep("npx vitest --config ".concat(e),"Running unit tests...")];case 1:t.sent();return[2]}})}))];case 1:t.sent();return[2]}})});return eZ.apply(this,arguments)}function e2(){return e0.apply(this,arguments)}function e0(){e0=r(function(){var e;return h(this,function(t){switch(t.label){case 0:e=m.resolve(S,"./configs/vitest/react/e2e.js");eu("Starting e2e tests for ".concat(ej.INIT_CWD),"\uD83D\uDE80");return[4,ee("Running end-to-end tests...",/*#__PURE__*/r(function(){return h(this,function(t){switch(t.label){case 0:return[4,ep("npx vitest --config ".concat(e),"Running e2e tests...")];case 1:t.sent();return[2]}})}))];case 1:t.sent();return[2]}})});return e0.apply(this,arguments)}v(y(d.argv)).command("lint","Run linting checks",eM).command("lint:fix","Fix linting and formatting issues",eF).command("lint:inspect","Inspect linting rules",eU).command("lint-staged","Run lint-staged with given configuration",eK).command("commitlint","Run commitlint with given configuration",eJ).command("setup","Run setup with given configuration",eq).command("reset","Reset dependencies and install",eQ).command("test:unit","Run unit tests",eX).command("test:e2e","Run e2e tests",e2).help().parse();
@@ -1 +1 @@
1
- function r(r,e){if(e==null||e>r.length)e=r.length;for(var t=0,n=new Array(e);t<e;t++)n[t]=r[t];return n}function e(r){if(Array.isArray(r))return r}function t(r,e,t,n,o,u,s){try{var a=r[u](s);var i=a.value}catch(r){t(r);return}if(a.done){e(i)}else{Promise.resolve(i).then(n,o)}}function n(r){return function(){var e=this,n=arguments;return new Promise(function(o,u){var s=r.apply(e,n);function a(r){t(s,o,u,a,i,"next",r)}function i(r){t(s,o,u,a,i,"throw",r)}a(undefined)})}}function o(r,e){if(e!=null&&typeof Symbol!=="undefined"&&e[Symbol.hasInstance]){return!!e[Symbol.hasInstance](r)}else{return r instanceof e}}function u(r,e){var t=r==null?null:typeof Symbol!=="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(t==null)return;var n=[];var o=true;var u=false;var s,a;try{for(t=t.call(r);!(o=(s=t.next()).done);o=true){n.push(s.value);if(e&&n.length===e)break}}catch(r){u=true;a=r}finally{try{if(!o&&t["return"]!=null)t["return"]()}finally{if(u)throw a}}return n}function s(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function a(r,t){return e(r)||u(r,t)||c(r,t)||s()}function i(r){"@swc/helpers - typeof";return r&&typeof Symbol!=="undefined"&&r.constructor===Symbol?"symbol":typeof r}function c(e,t){if(!e)return;if(typeof e==="string")return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor)n=e.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}function l(r,e){var t,n,o,u,s={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]};return u={next:a(0),"throw":a(1),"return":a(2)},typeof Symbol==="function"&&(u[Symbol.iterator]=function(){return this}),u;function a(r){return function(e){return i([r,e])}}function i(u){if(t)throw new TypeError("Generator is already executing.");while(s)try{if(t=1,n&&(o=u[0]&2?n["return"]:u[0]?n["throw"]||((o=n["return"])&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;if(n=0,o)u=[u[0]&2,o.value];switch(u[0]){case 0:case 1:o=u;break;case 4:s.label++;return{value:u[1],done:false};case 5:s.label++;n=u[1];u=[0];continue;case 7:u=s.ops.pop();s.trys.pop();continue;default:if(!(o=s.trys,o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){s=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]<o[3])){s.label=u[1];break}if(u[0]===6&&s.label<o[1]){s.label=o[1];o=u;break}if(o&&s.label<o[2]){s.label=o[2];s.ops.push(u);break}if(o[2])s.ops.pop();s.trys.pop();continue}u=e.call(r,s)}catch(r){u=[6,r];n=0}finally{t=o=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:true}}}import{useCallback as f,useEffect as p,useState as m}from"react";import h from"unorm";import y from"localforage";import g from"node-persist";import v from"node:os";import b from"node:path";import d from"node:process";var w=(typeof window==="undefined"?"undefined":i(window))<"u",S=d.env.CYBERSKILL_STORAGE_DIR||b.join(v.homedir(),".cyberskill-storage");function k(){return E.apply(this,arguments)}function E(){E=n(function(){var r;return l(this,function(e){switch(e.label){case 0:r=!w&&!g.defaultInstance;if(!r)return[3,2];return[4,g.init({dir:S,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:r=e.sent();e.label=2;case 2:r;return[2]}})});return E.apply(this,arguments)}var I={get:function r(r){return n(function(){var e,t,n;return l(this,function(o){switch(o.label){case 0:o.trys.push([0,6,,7]);if(!w)return[3,2];return[4,y.getItem(r)];case 1:t=o.sent();return[3,5];case 2:return[4,k()];case 3:o.sent();return[4,g.getItem(r)];case 4:t=(e=o.sent())!==null&&e!==void 0?e:null;o.label=5;case 5:return[2,t];case 6:n=o.sent();return[2,(console.error('❌ [Storage:get] Error getting key "'.concat(r,'":'),n),null)];case 7:return[2]}})})()},set:function r(r,e){return n(function(){var t,n;return l(this,function(o){switch(o.label){case 0:o.trys.push([0,6,,7]);if(!w)return[3,2];return[4,y.setItem(r,e)];case 1:t=o.sent();return[3,5];case 2:return[4,k()];case 3:o.sent();return[4,g.setItem(r,e)];case 4:t=o.sent();o.label=5;case 5:t;return[3,7];case 6:n=o.sent();console.error('❌ [Storage:set] Error setting key "'.concat(r,'":'),n);return[3,7];case 7:return[2]}})})()},remove:function r(r){return n(function(){var e,t;return l(this,function(n){switch(n.label){case 0:n.trys.push([0,6,,7]);if(!w)return[3,2];return[4,y.removeItem(r)];case 1:e=n.sent();return[3,5];case 2:return[4,k()];case 3:n.sent();return[4,g.removeItem(r)];case 4:e=n.sent();n.label=5;case 5:e;return[3,7];case 6:t=n.sent();console.error('❌ [Storage:remove] Error removing key "'.concat(r,'":'),t);return[3,7];case 7:return[2]}})})()},keys:function r(){return n(function(){var r,e;return l(this,function(t){switch(t.label){case 0:t.trys.push([0,6,,7]);if(!w)return[3,2];return[4,y.keys()];case 1:r=t.sent();return[3,5];case 2:return[4,k()];case 3:t.sent();return[4,g.keys()];case 4:r=t.sent()||[];t.label=5;case 5:return[2,r];case 6:e=t.sent();return[2,(console.error("❌ [Storage:keys] Error getting keys:",e),[])];case 7:return[2]}})})()},values:function r(){return n(function(){var r,e;return l(this,function(t){switch(t.label){case 0:t.trys.push([0,7,,8]);if(!w)return[3,3];return[4,y.keys()];case 1:r=t.sent();return[4,Promise.all(r.map(function(r){return y.getItem(r)}))];case 2:return[2,t.sent().filter(function(r){return r!==null})];case 3:return[4,k()];case 4:t.sent();return[4,g.values()];case 5:return[2,t.sent()];case 6:return[3,8];case 7:e=t.sent();return[2,(console.error("❌ [Storage:values] Error getting values:",e),[])];case 8:return[2]}})})()},entries:function r(){return n(function(){var r,e,t,o;return l(this,function(u){switch(u.label){case 0:u.trys.push([0,8,,9]);if(!w)return[3,3];return[4,y.keys()];case 1:r=u.sent();return[4,Promise.all(r.map(/*#__PURE__*/function(){var r=n(function(r){var e;return l(this,function(t){switch(t.label){case 0:return[4,y.getItem(r)];case 1:e=t.sent();return[2,e!==null?[r,e]:null]}})});return function(e){return r.apply(this,arguments)}}()))];case 2:return[2,u.sent().filter(function(r){return r!==null})];case 3:return[4,k()];case 4:u.sent();return[4,g.keys()];case 5:e=u.sent();return[4,g.values()];case 6:t=u.sent();return[2,e.map(function(r,e){return[r,t[e]]})];case 7:return[3,9];case 8:o=u.sent();return[2,(console.error("❌ [Storage:entries] Error getting entries:",o),[])];case 9:return[2]}})})()},clear:function r(){return n(function(){var r,e;return l(this,function(t){switch(t.label){case 0:t.trys.push([0,6,,7]);if(!w)return[3,2];return[4,y.clear()];case 1:r=t.sent();return[3,5];case 2:return[4,k()];case 3:t.sent();return[4,g.clear()];case 4:r=t.sent();t.label=5;case 5:r;return[3,7];case 6:e=t.sent();console.error("❌ [Storage:clear] Error clearing storage:",e);return[3,7];case 7:return[2]}})})()},length:function r(){return n(function(){var r,e;return l(this,function(t){switch(t.label){case 0:t.trys.push([0,6,,7]);if(!w)return[3,2];return[4,y.length()];case 1:r=t.sent();return[3,5];case 2:return[4,k()];case 3:t.sent();return[4,g.keys()];case 4:r=t.sent().length;t.label=5;case 5:return[2,r];case 6:e=t.sent();return[2,(console.error("❌ [Storage:length] Error getting storage length:",e),0)];case 7:return[2]}})})()}};import _ from"boxen";import x from"chalk";var O=x.blue,A=x.red,P=x.yellow,j=x.green,z=x.gray,D=x.bold;import R from"ora";import J from"chalk";import{exec as L}from"node:child_process";import*as N from"node:util";var T=N.promisify(L),C=J.gray,G=J.white;import{GraphQLError as U}from"graphql";import{dirname as M}from"node:path";import{fileURLToPath as q}from"node:url";var B=q(import.meta.url),K=M(B);import Q from"crypto-js";import Y from"mongoose-aggregate-paginate-v2";import $ from"mongoose-paginate-v2";import F from"slugify";import{v4 as H}from"uuid";var V=F.default||F;import W from"node-fetch";var X=24*60*60*1e3;var Z={serialize:function(r){return JSON.stringify(r,function(r,e){return o(e,Date)?{__type:"Date",value:e.toISOString()}:e})},deserialize:function(r){return JSON.parse(r,function(r,e){return(e===null||e===void 0?void 0:e.__type)==="Date"?new Date(e.value):e})}};function rr(r,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Z;var o=a(m(e),2),u=o[0],s=o[1],i=a(m(!1),2),c=i[0],h=i[1];p(function(){var o=!0;return n(function(){var n,u,a,i;return l(this,function(c){switch(c.label){case 0:c.trys.push([0,5,6,7]);return[4,I.get(r)];case 1:n=c.sent();if(!o)return[3,4];if(!(n!==null))return[3,2];u=t.deserialize(n);s(u);return[3,4];case 2:a=t.serialize(e);return[4,I.set(r,a)];case 3:c.sent(),s(e);c.label=4;case 4:return[3,7];case 5:i=c.sent();console.error('Error loading value for key "'.concat(r,'":'),i),o&&s(e);return[3,7];case 6:o&&h(!0);return[7];case 7:return[2]}})})(),function(){o=!1,h(!1)}},[r,e,t]),p(function(){if(!c)return;n(function(){var e,n;return l(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);e=t.serialize(u);return[4,I.set(r,e)];case 1:o.sent();return[3,3];case 2:n=o.sent();console.error('Error saving value for key "'.concat(r,'":'),n);return[3,3];case 3:return[2]}})})()},[u,r,t,c]);var y=f(function(r){s(function(e){return typeof r=="function"?r(e):r})},[]);return[u,y]}export{rr as useStorage};
1
+ function r(r,e){if(e==null||e>r.length)e=r.length;for(var t=0,n=new Array(e);t<e;t++)n[t]=r[t];return n}function e(r){if(Array.isArray(r))return r}function t(r,e,t,n,o,u,s){try{var a=r[u](s);var i=a.value}catch(r){t(r);return}if(a.done){e(i)}else{Promise.resolve(i).then(n,o)}}function n(r){return function(){var e=this,n=arguments;return new Promise(function(o,u){var s=r.apply(e,n);function a(r){t(s,o,u,a,i,"next",r)}function i(r){t(s,o,u,a,i,"throw",r)}a(undefined)})}}function o(r,e){if(e!=null&&typeof Symbol!=="undefined"&&e[Symbol.hasInstance]){return!!e[Symbol.hasInstance](r)}else{return r instanceof e}}function u(r,e){var t=r==null?null:typeof Symbol!=="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(t==null)return;var n=[];var o=true;var u=false;var s,a;try{for(t=t.call(r);!(o=(s=t.next()).done);o=true){n.push(s.value);if(e&&n.length===e)break}}catch(r){u=true;a=r}finally{try{if(!o&&t["return"]!=null)t["return"]()}finally{if(u)throw a}}return n}function s(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function a(r,t){return e(r)||u(r,t)||c(r,t)||s()}function i(r){"@swc/helpers - typeof";return r&&typeof Symbol!=="undefined"&&r.constructor===Symbol?"symbol":typeof r}function c(e,t){if(!e)return;if(typeof e==="string")return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor)n=e.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}function l(r,e){var t,n,o,u,s={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]};return u={next:a(0),"throw":a(1),"return":a(2)},typeof Symbol==="function"&&(u[Symbol.iterator]=function(){return this}),u;function a(r){return function(e){return i([r,e])}}function i(u){if(t)throw new TypeError("Generator is already executing.");while(s)try{if(t=1,n&&(o=u[0]&2?n["return"]:u[0]?n["throw"]||((o=n["return"])&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;if(n=0,o)u=[u[0]&2,o.value];switch(u[0]){case 0:case 1:o=u;break;case 4:s.label++;return{value:u[1],done:false};case 5:s.label++;n=u[1];u=[0];continue;case 7:u=s.ops.pop();s.trys.pop();continue;default:if(!(o=s.trys,o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){s=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]<o[3])){s.label=u[1];break}if(u[0]===6&&s.label<o[1]){s.label=o[1];o=u;break}if(o&&s.label<o[2]){s.label=o[2];s.ops.push(u);break}if(o[2])s.ops.pop();s.trys.pop();continue}u=e.call(r,s)}catch(r){u=[6,r];n=0}finally{t=o=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:true}}}import{useCallback as f,useEffect as p,useState as m}from"react";import h from"unorm";import y from"localforage";import g from"node-persist";import v from"node:os";import b from"node:path";import d from"node:process";var w=(typeof window==="undefined"?"undefined":i(window))<"u",S=d.env.CYBERSKILL_STORAGE_DIR||b.join(v.homedir(),".cyberskill-storage");function k(){return E.apply(this,arguments)}function E(){E=n(function(){var r;return l(this,function(e){switch(e.label){case 0:r=!w&&!g.defaultInstance;if(!r)return[3,2];return[4,g.init({dir:S,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:r=e.sent();e.label=2;case 2:r;return[2]}})});return E.apply(this,arguments)}var I={get:function r(r){return n(function(){var e,t,n;return l(this,function(o){switch(o.label){case 0:o.trys.push([0,6,,7]);if(!w)return[3,2];return[4,y.getItem(r)];case 1:t=o.sent();return[3,5];case 2:return[4,k()];case 3:o.sent();return[4,g.getItem(r)];case 4:t=(e=o.sent())!==null&&e!==void 0?e:null;o.label=5;case 5:return[2,t];case 6:n=o.sent();return[2,(console.error('❌ [Storage:get] Error getting key "'.concat(r,'":'),n),null)];case 7:return[2]}})})()},set:function r(r,e){return n(function(){var t,n;return l(this,function(o){switch(o.label){case 0:o.trys.push([0,6,,7]);if(!w)return[3,2];return[4,y.setItem(r,e)];case 1:t=o.sent();return[3,5];case 2:return[4,k()];case 3:o.sent();return[4,g.setItem(r,e)];case 4:t=o.sent();o.label=5;case 5:t;return[3,7];case 6:n=o.sent();console.error('❌ [Storage:set] Error setting key "'.concat(r,'":'),n);return[3,7];case 7:return[2]}})})()},remove:function r(r){return n(function(){var e,t;return l(this,function(n){switch(n.label){case 0:n.trys.push([0,6,,7]);if(!w)return[3,2];return[4,y.removeItem(r)];case 1:e=n.sent();return[3,5];case 2:return[4,k()];case 3:n.sent();return[4,g.removeItem(r)];case 4:e=n.sent();n.label=5;case 5:e;return[3,7];case 6:t=n.sent();console.error('❌ [Storage:remove] Error removing key "'.concat(r,'":'),t);return[3,7];case 7:return[2]}})})()},keys:function r(){return n(function(){var r,e;return l(this,function(t){switch(t.label){case 0:t.trys.push([0,6,,7]);if(!w)return[3,2];return[4,y.keys()];case 1:r=t.sent();return[3,5];case 2:return[4,k()];case 3:t.sent();return[4,g.keys()];case 4:r=t.sent()||[];t.label=5;case 5:return[2,r];case 6:e=t.sent();return[2,(console.error("❌ [Storage:keys] Error getting keys:",e),[])];case 7:return[2]}})})()},values:function r(){return n(function(){var r,e;return l(this,function(t){switch(t.label){case 0:t.trys.push([0,7,,8]);if(!w)return[3,3];return[4,y.keys()];case 1:r=t.sent();return[4,Promise.all(r.map(function(r){return y.getItem(r)}))];case 2:return[2,t.sent().filter(function(r){return r!==null})];case 3:return[4,k()];case 4:t.sent();return[4,g.values()];case 5:return[2,t.sent()];case 6:return[3,8];case 7:e=t.sent();return[2,(console.error("❌ [Storage:values] Error getting values:",e),[])];case 8:return[2]}})})()},entries:function r(){return n(function(){var r,e,t,o;return l(this,function(u){switch(u.label){case 0:u.trys.push([0,8,,9]);if(!w)return[3,3];return[4,y.keys()];case 1:r=u.sent();return[4,Promise.all(r.map(/*#__PURE__*/function(){var r=n(function(r){var e;return l(this,function(t){switch(t.label){case 0:return[4,y.getItem(r)];case 1:e=t.sent();return[2,e!==null?[r,e]:null]}})});return function(e){return r.apply(this,arguments)}}()))];case 2:return[2,u.sent().filter(function(r){return r!==null})];case 3:return[4,k()];case 4:u.sent();return[4,g.keys()];case 5:e=u.sent();return[4,g.values()];case 6:t=u.sent();return[2,e.map(function(r,e){return[r,t[e]]})];case 7:return[3,9];case 8:o=u.sent();return[2,(console.error("❌ [Storage:entries] Error getting entries:",o),[])];case 9:return[2]}})})()},clear:function r(){return n(function(){var r,e;return l(this,function(t){switch(t.label){case 0:t.trys.push([0,6,,7]);if(!w)return[3,2];return[4,y.clear()];case 1:r=t.sent();return[3,5];case 2:return[4,k()];case 3:t.sent();return[4,g.clear()];case 4:r=t.sent();t.label=5;case 5:r;return[3,7];case 6:e=t.sent();console.error("❌ [Storage:clear] Error clearing storage:",e);return[3,7];case 7:return[2]}})})()},length:function r(){return n(function(){var r,e;return l(this,function(t){switch(t.label){case 0:t.trys.push([0,6,,7]);if(!w)return[3,2];return[4,y.length()];case 1:r=t.sent();return[3,5];case 2:return[4,k()];case 3:t.sent();return[4,g.keys()];case 4:r=t.sent().length;t.label=5;case 5:return[2,r];case 6:e=t.sent();return[2,(console.error("❌ [Storage:length] Error getting storage length:",e),0)];case 7:return[2]}})})()}};import _ from"boxen";import x from"chalk";var O=x.blue,A=x.red,P=x.yellow,j=x.green,z=x.gray,D=x.bold;import R from"ora";import C from"chalk";import{exec as J}from"node:child_process";import*as L from"node:util";var N=L.promisify(J),T=C.gray,G=C.white;import{GraphQLError as U}from"graphql";import{dirname as q}from"node:path";import{fileURLToPath as B}from"node:url";var K=B(import.meta.url),M=q(K);import Q from"crypto-js";import Y from"mongoose-aggregate-paginate-v2";import $ from"mongoose-paginate-v2";import F from"slugify";import{v4 as H}from"uuid";var V=F.default||F;import W from"node-fetch";var X=24*60*60*1e3;var Z={serialize:function(r){return JSON.stringify(r,function(r,e){return o(e,Date)?{__type:"Date",value:e.toISOString()}:e})},deserialize:function(r){return JSON.parse(r,function(r,e){return(e===null||e===void 0?void 0:e.__type)==="Date"?new Date(e.value):e})}};function rr(r,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Z;var o=a(m(e),2),u=o[0],s=o[1],i=a(m(!1),2),c=i[0],h=i[1];p(function(){var o=!0;return n(function(){var n,u,a,i;return l(this,function(c){switch(c.label){case 0:c.trys.push([0,5,6,7]);return[4,I.get(r)];case 1:n=c.sent();if(!o)return[3,4];if(!(n!==null))return[3,2];u=t.deserialize(n);s(u);return[3,4];case 2:a=t.serialize(e);return[4,I.set(r,a)];case 3:c.sent(),s(e);c.label=4;case 4:return[3,7];case 5:i=c.sent();console.error('Error loading value for key "'.concat(r,'":'),i),o&&s(e);return[3,7];case 6:o&&h(!0);return[7];case 7:return[2]}})})(),function(){o=!1,h(!1)}},[r,e,t]),p(function(){if(!c)return;n(function(){var e,n;return l(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);e=t.serialize(u);return[4,I.set(r,e)];case 1:o.sent();return[3,3];case 2:n=o.sent();console.error('Error saving value for key "'.concat(r,'":'),n);return[3,3];case 3:return[2]}})})()},[u,r,t,c]);var y=f(function(r){s(function(e){return typeof r=="function"?r(e):r})},[]);return[u,y]}export{rr as useStorage};