@cyberskill/shared 1.97.0 → 1.99.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.
Files changed (59) hide show
  1. package/dist/_tsup-dts-rollup.d.cts +24 -0
  2. package/dist/_tsup-dts-rollup.d.ts +24 -0
  3. package/dist/configs/config.util.cjs +1 -1
  4. package/dist/configs/config.util.js +1 -1
  5. package/dist/configs/env/env.util.cjs +1 -1
  6. package/dist/configs/env/env.util.js +1 -1
  7. package/dist/configs/env/index.cjs +1 -1
  8. package/dist/configs/env/index.js +1 -1
  9. package/dist/configs/index.cjs +1 -1
  10. package/dist/configs/index.js +1 -1
  11. package/dist/index.cjs +1 -1
  12. package/dist/index.d.cts +4 -0
  13. package/dist/index.d.ts +4 -0
  14. package/dist/index.js +1 -1
  15. package/dist/nodejs/apollo-server/apollo-server.util.cjs +1 -1
  16. package/dist/nodejs/apollo-server/apollo-server.util.js +1 -1
  17. package/dist/nodejs/apollo-server/index.cjs +1 -1
  18. package/dist/nodejs/apollo-server/index.js +1 -1
  19. package/dist/nodejs/cli/cli.util.cjs +1 -1
  20. package/dist/nodejs/cli/cli.util.js +1 -1
  21. package/dist/nodejs/cli/index.cjs +1 -1
  22. package/dist/nodejs/cli/index.js +1 -1
  23. package/dist/nodejs/command/command.util.cjs +1 -1
  24. package/dist/nodejs/command/command.util.js +1 -1
  25. package/dist/nodejs/command/index.cjs +1 -1
  26. package/dist/nodejs/command/index.js +1 -1
  27. package/dist/nodejs/express/express.type.d.cts +4 -0
  28. package/dist/nodejs/express/express.type.d.ts +4 -0
  29. package/dist/nodejs/express/index.d.cts +4 -0
  30. package/dist/nodejs/express/index.d.ts +4 -0
  31. package/dist/nodejs/index.cjs +1 -1
  32. package/dist/nodejs/index.d.cts +4 -0
  33. package/dist/nodejs/index.d.ts +4 -0
  34. package/dist/nodejs/index.js +1 -1
  35. package/dist/nodejs/log/index.cjs +1 -1
  36. package/dist/nodejs/log/index.js +1 -1
  37. package/dist/nodejs/log/log.util.cjs +1 -1
  38. package/dist/nodejs/log/log.util.js +1 -1
  39. package/dist/nodejs/package/index.cjs +1 -1
  40. package/dist/nodejs/package/index.js +1 -1
  41. package/dist/nodejs/package/package.util.cjs +1 -1
  42. package/dist/nodejs/package/package.util.js +1 -1
  43. package/dist/nodejs/path/index.cjs +1 -1
  44. package/dist/nodejs/path/index.js +1 -1
  45. package/dist/nodejs/path/path.constant.cjs +1 -1
  46. package/dist/nodejs/path/path.constant.js +1 -1
  47. package/dist/nodejs/path/path.util.cjs +1 -1
  48. package/dist/nodejs/path/path.util.js +1 -1
  49. package/dist/nodejs/storage/index.cjs +1 -1
  50. package/dist/nodejs/storage/index.js +1 -1
  51. package/dist/nodejs/storage/storage.util.cjs +1 -1
  52. package/dist/nodejs/storage/storage.util.js +1 -1
  53. package/dist/react/index.cjs +1 -1
  54. package/dist/react/index.js +1 -1
  55. package/dist/react/vitest/index.cjs +1 -1
  56. package/dist/react/vitest/index.js +1 -1
  57. package/dist/react/vitest/vitest.unit.cjs +1 -1
  58. package/dist/react/vitest/vitest.unit.js +1 -1
  59. package/package.json +1 -1
@@ -1 +1 @@
1
- "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(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e,t,n,r,a,o,c){try{var i=e[o](c);var u=i.value}catch(e){n(e);return}if(i.done){t(u)}else{Promise.resolve(u).then(r,a)}}function a(e){return function(){var t=this,n=arguments;return new Promise(function(a,o){var c=e.apply(t,n);function i(e){r(c,a,o,i,u,"next",e)}function u(e){r(c,a,o,i,u,"throw",e)}i(undefined)})}}function o(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 i(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var a=true;var o=false;var c,i;try{for(n=n.call(e);!(a=(c=n.next()).done);a=true){r.push(c.value);if(t&&r.length===t)break}}catch(e){o=true;i=e}finally{try{if(!a&&n["return"]!=null)n["return"]()}finally{if(o)throw i}}return r}function u(){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 s(){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 l(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){o(e,t,n[t])})}return e}function f(e,n){return t(e)||i(e,n)||v(e,n)||u()}function d(e){return n(e)||c(e)||v(e)||s()}function p(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function v(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 g(e,t){var n,r,a,o={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},c=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return c.next=i(0),c["throw"]=i(1),c["return"]=i(2),typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function i(e){return function(t){return u([e,t])}}function u(i){if(n)throw new TypeError("Generator is already executing.");while(c&&(c=0,i[0]&&(o=0)),o)try{if(n=1,r&&(a=i[0]&2?r["return"]:i[0]?r["throw"]||((a=r["return"])&&a.call(r),0):r.next)&&!(a=a.call(r,i[1])).done)return a;if(r=0,a)i=[i[0]&2,a.value];switch(i[0]){case 0:case 1:a=i;break;case 4:o.label++;return{value:i[1],done:false};case 5:o.label++;r=i[1];i=[0];continue;case 7:i=o.ops.pop();o.trys.pop();continue;default:if(!(a=o.trys,a=a.length>0&&a[a.length-1])&&(i[0]===6||i[0]===2)){o=0;continue}if(i[0]===3&&(!a||i[1]>a[0]&&i[1]<a[3])){o.label=i[1];break}if(i[0]===6&&o.label<a[1]){o.label=a[1];a=i;break}if(a&&o.label<a[2]){o.label=a[2];o.ops.push(i);break}if(a[2])o.ops.pop();o.trys.pop();continue}i=t.call(e,o)}catch(e){i=[6,e];r=0}finally{n=a=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var y=Object.create;var h=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var E=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty;var w=function(e,t){return h(e,"name",{value:t,configurable:!0})};var C=function(e,t){for(var n in t)h(e,n,{get:t[n],enumerable:!0})},S=function(e,t,n,r){var a=true,o=false,c=undefined;if(t&&(typeof t==="undefined"?"undefined":p(t))=="object"||typeof t=="function")try{var i=function(){var a=s.value;!I.call(e,a)&&a!==n&&h(e,a,{get:function(){return t[a]},enumerable:!(r=m(t,a))||r.enumerable})};for(var u=b(t)[Symbol.iterator](),s;!(a=(s=u.next()).done);a=true)i()}catch(e){o=true;c=e}finally{try{if(!a&&u.return!=null){u.return()}}finally{if(o){throw c}}}return e};var O=function(e,t,n){return n=e!=null?y(E(e)):{},S(t||!e||!e.__esModule?h(n,"default",{value:e,enumerable:!0}):n,e)},_=function(e){return S(h({},"__esModule",{value:!0}),e)};var T={};C(T,{CHECK_PACKAGE_EMPTY_RESULT:function(){return k},checkPackage:function(){return to},getLatestPackageVersion:function(){return tr},getPackage:function(){return tn},installDependencies:function(){return ti},setupPackages:function(){return ts}});module.exports=_(T);var k={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var L=O(require("node-fetch"),1);var P=".cyberskill-storage";var R=O(require("dotenv"),1),A=require("envalid"),D=O(require("os"),1),G=O(require("path"),1),j=O(require("process"),1);R.default.config();function N(){var e={DEBUG:j.default.env.DEBUG||!1,CWD:j.default.env.CWD,CYBERSKILL_STORAGE_DIRECTORY:j.default.env.CYBERSKILL_STORAGE_DIRECTORY||P};return(0,A.cleanEnv)(e,{DEBUG:(0,A.bool)(),CWD:(0,A.str)({default:j.default.cwd()}),CYBERSKILL_STORAGE_DIRECTORY:(0,A.str)({default:G.default.join(D.default.homedir(),P)})})}w(N,"getEnv");var x=function(e){return e.CLI="CLI",e.RAW="RAW",e}({});var M=require("child_process"),F=O(require("process"),1),K=O(require("util"),1);var U=function(e){return e.Error="error",e.Warning="warning",e}({});var W=O(require("chalk"),1),Y=O(require("consola"),1),q=require("graphql");var B=N();B.DEBUG||(Y.default.level=4);function J(e){var t=W.default[e];return typeof t=="function"?t:W.default.green}w(J,"chalkKeyword");var H={silent:Y.default.silent,level:Y.default.level,fatal:Y.default.fatal,error:Y.default.error,warn:Y.default.warn,log:Y.default.log,info:Y.default.info,success:Y.default.success,ready:Y.default.ready,start:Y.default.start,box:Y.default.box,debug:Y.default.debug,trace:Y.default.trace,verbose:Y.default.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){Y.default.box(W.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,a=e.rule,o=e.message;Y.default.log("".concat(W.default.gray("File:")," ").concat(W.default.blue("".concat(t).concat(r?":".concat(r):"")))),a&&Y.default.log(" ".concat(J(n)("Rule:")," ").concat(a)),Y.default.log(" ".concat(J(n)("Message:")," ").concat(o))}),Y.default.box(J(n)("".concat(e," : ").concat(t.length))),Y.default.log(W.default.gray("─".repeat(40)))}};var V=O(require("path"),1);var $=N();function z(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=V).resolve.apply(r,[$.CWD].concat(d(t)))}w(z,"resolveWorkingPath");function Q(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=V).join.apply(r,d(t))}w(Q,"join");var X=N(),Z=X.CWD,ee="@cyberskill/shared",et="node_modules",en="dist",er="package.json",ea="package-lock.json",eo="tsconfig.json",ec=".gitignore",ei=".simple-git-hooks.json",eu="pnpm-lock.yaml",es=".git/hooks/",el=".git/COMMIT_EDITMSG",ef=Q(Z,et,ee,en),ed="cyberskill",ep="src/nodejs/cli/index.ts",ev="eslint",eg="eslint",ey="vitest",eh="playwright",em="vitest",eb="@commitlint/cli",eE="commitlint",eI="lint-staged",ew="lint-staged",eC="typescript",eS="tsc",eO="tsx",e_="git",eT="pnpm",ek="pnpm exec",eL="simple-git-hooks",eP="simple-git-hooks",eR="@eslint/config-inspector",eA="eslint-config-inspector",eD="node-modules-inspector",eG="node-modules-inspector",ej="migrate-mongo",eN="migrate-mongo",ex={CYBERSKILL_DIRECTORY:ef,WORKING_DIRECTORY:Z,TS_CONFIG:z(eo),GIT_IGNORE:z(ec),GIT_HOOK:z(es),GIT_COMMIT_MSG:z(el),SIMPLE_GIT_HOOKS_JSON:z(ei),PACKAGE_JSON:z(er),PACKAGE_LOCK_JSON:z(ea),PNPM_LOCK_YAML:z(eu),NODE_MODULES:z(et),LINT_STAGED_CONFIG:z("".concat(ef,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:z("".concat(ef,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:z("".concat(ef,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:z("".concat(ef,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:z("".concat(ef,"/react/vitest/vitest.e2e.js"))};function eM(e){return eF.apply(this,arguments)}function eF(){eF=a(function(e){var t,n,r,a,o,c;var i=arguments;return g(this,function(u){switch(u.label){case 0:for(t=i.length,n=new Array(t>1?t-1:0),r=1;r<t;r++){n[r-1]=i[r]}a=f(n,2),o=a[0],c=a[1];if(!o)throw new Error("'first' argument is undefined");switch(e){case x.CLI:return[3,1];case x.RAW:return[3,3]}return[3,4];case 1:return[4,ts(o.split(" "),{update:!0})];case 2:return[2,(u.sent(),e3(e2("".concat(ek," ").concat(c))))];case 3:return[2,e3(e2(o))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})});return eF.apply(this,arguments)}w(eM,"buildCommand");function eK(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++){n[r-1]=arguments[r]}return /*#__PURE__*/a(function(){return g(this,function(t){return[2,eM.apply(void 0,[e].concat(d(n)))]})})}w(eK,"commandFactory");var eU={simpleGitHooks:eK(x.CLI,eL,eP),eslintInspect:eK(x.CLI,eR,eA),nodeModulesInspect:eK(x.CLI,eD,eG),eslintCheck:eK(x.CLI,ev,"".concat(eg," ").concat(ex.WORKING_DIRECTORY)),eslintFix:eK(x.CLI,ev,"".concat(eg," ").concat(ex.WORKING_DIRECTORY," --fix")),typescriptCheck:eK(x.CLI,eC,"".concat(eS," -p ").concat(ex.TS_CONFIG," --noEmit")),configureGitHook:eK(x.RAW,"".concat(e_," config core.hooksPath ").concat(ex.GIT_HOOK)),testUnit:eK(x.CLI,ey,"".concat(em," --config ").concat(ex.UNIT_TEST_CONFIG)),testE2e:eK(x.CLI,"".concat(ey," ").concat(eh),"".concat(em," --config ").concat(ex.E2E_TEST_CONFIG)),mongoMigrateCreate:w(function(e){return eK(x.CLI,"".concat(ej),"".concat(eN," create ").concat(e))()},"mongoMigrateCreate"),mongoMigrateUp:eK(x.CLI,"".concat(ej),"".concat(eN," up")),mongoMigrateDown:eK(x.CLI,"".concat(ej),"".concat(eN," down")),commitLint:eK(x.CLI,eb,"".concat(eE," --edit ").concat(ex.GIT_COMMIT_MSG," --config ").concat(ex.COMMITLINT_CONFIG)),lintStaged:eK(x.CLI,eI,"".concat(ew," --config ").concat(ex.LINT_STAGED_CONFIG)),stageBuildDirectory:eK(x.RAW,"".concat(e_," add ").concat(en)),build:eK(x.RAW,"".concat(eT," run build")),pnpmInstallStandard:eK(x.RAW,"".concat(eT," install")),pnpmInstallLegacy:eK(x.RAW,"".concat(eT," install --legacy-peer-deps")),pnpmInstallForce:eK(x.RAW,"".concat(eT," install --force"))};var eW=O(require("node-persist"),1);var eY=N();function eq(){return eB.apply(this,arguments)}function eB(){eB=a(function(){var e;return g(this,function(t){switch(t.label){case 0:e=eW.default.defaultInstance;if(e)return[3,2];return[4,eW.default.init({dir:eY.CYBERSKILL_STORAGE_DIRECTORY,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 eB.apply(this,arguments)}w(eq,"initNodePersist");var eJ={get:function e(e){return a(function(){var t,n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eq()];case 1:r.sent();return[4,eW.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(H.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return a(function(){var n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eq()];case 1:r.sent();return[4,eW.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();H.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return a(function(){var t;return g(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eq()];case 1:n.sent();return[4,eW.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();H.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return a(function(){var e,t;return g(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eq()];case 1:n.sent();return[4,eW.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(H.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(H.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return a(function(){return g(this,function(t){try{return[2,"".concat(eY.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(H.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eH=N(),eV=K.promisify(M.exec);function e$(e){return"error_list:".concat(e)}w(e$,"getErrorListKey");function ez(e){return eQ.apply(this,arguments)}function eQ(){eQ=a(function(e){var t,n,r;return g(this,function(o){switch(o.label){case 0:if(e.length===0)return[2];t=Date.now(),n=e$(t);o.label=1;case 1:o.trys.push([1,3,,4]);return[4,eJ.set(n,{errors:e,timestamp:t})];case 2:o.sent(),setTimeout(/*#__PURE__*/a(function(){var e;return g(this,function(t){switch(t.label){case 0:return[4,eJ.getLogLink(n)];case 1:e=t.sent();e&&H.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:r=o.sent();H.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})});return eQ.apply(this,arguments)}w(ez,"saveErrorListToStorage");function eX(e){var t=[],n=[],r="",a=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,o=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,c=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,u,s,l,f;var d=a.exec(e)||[],p=o.exec(e)||[],v=c.exec(e)||[];var g,y,h,m,b,E;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===U.Error?U.Error:U.Warning,message:(g=d===null||d===void 0?void 0:(i=d[4])===null||i===void 0?void 0:i.trim())!==null&&g!==void 0?g:"",rule:(y=d===null||d===void 0?void 0:(u=d[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):p.length?t.push({file:(h=p===null||p===void 0?void 0:p[1])!==null&&h!==void 0?h:"",position:"".concat(p[2],":").concat(p[3]),type:p[4]===U.Error?U.Error:U.Warning,message:(m=p===null||p===void 0?void 0:(s=p[5])===null||s===void 0?void 0:s.trim())!==null&&m!==void 0?m:""}):v.length?t.push({file:"commitlint",type:U.Error,message:(b=v===null||v===void 0?void 0:(l=v[1])===null||l===void 0?void 0:l.trim())!==null&&b!==void 0?b:"",rule:(E=v===null||v===void 0?void 0:(f=v[2])===null||f===void 0?void 0:f.trim())!==null&&E!==void 0?E:""}):n.push(e.trim())}}),t.length&&ez(t),eH.DEBUG&&n.length&&(H.warn("Unmatched lines:"),n.forEach(function(e){return H.info(" ".concat(e))}))}w(eX,"parseTextErrors");function eZ(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,a=e.line,o=e.column,c=e.ruleId,i=e.message;n.push({type:r===2?U.Error:U.Warning,file:t,position:"".concat(a,":").concat(o),rule:c,message:i})})}),n.length&&ez(n)}catch(t){eX(e)}}w(eZ,"parseCommandOutput");function e0(e){return e1.apply(this,arguments)}function e1(){e1=a(function(e){var t,n,r,a,o,c,i,u,s;var l=arguments;return g(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:eZ;n=new AbortController;F.default.on("SIGINT",function(){H.warn("Process interrupted. Terminating..."),n.abort(),F.default.exit()});f.label=1;case 1:f.trys.push([1,3,,4]);return[4,eV(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),a=r.stdout,o=r.stderr;[a,o].forEach(function(e){return e&&t(e)});return[3,4];case 3:c=f.sent();i=c.stdout,u=c.stderr,s=c.message;[i,u].forEach(function(e){return e&&t(e)}),!u&&!i&&H.error("Command failed: ".concat(s));return[3,4];case 4:return[2]}})});return e1.apply(this,arguments)}w(e0,"executeCommand");function e2(e){return{raw:!0,cmd:e}}w(e2,"rawCommand");function e4(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(ek," ").concat(ee," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(ek," ").concat(eO," ").concat(ep," ").concat(e):"".concat(ek," ").concat(ed," ").concat(e)}w(e4,"formatCLI");function e3(e,t){return typeof e=="function"?e4(e(t),t):(typeof e==="undefined"?"undefined":p(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?e4(e,t):e}w(e3,"formatCommand");function e5(e,t){return e6.apply(this,arguments)}function e6(){e6=a(function(e,t){var n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);H.start("".concat(e)),eH.DEBUG&&H.info("→ ".concat(t));return[4,e0(t)];case 1:r.sent(),H.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw H.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})});return e6.apply(this,arguments)}w(e5,"runCommand");var e8=O(require("fs"),1);function e7(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return e8.existsSync(e)})}w(e7,"existsSync");function e9(e,t){var n=e8.readFileSync(e,"utf-8");if(t===null||t===void 0?void 0:t.asJson)try{var r=JSON.parse(n);if((typeof r==="undefined"?"undefined":p(r))=="object"&&r!==null)return r;throw new Error("Parsed JSON is not an object or array")}catch(t){throw new Error("Failed to parse JSON from file: ".concat(e))}return n}w(e9,"readFileSync");function te(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=n.isJson,a=r===void 0?!1:r,o=a&&(typeof t==="undefined"?"undefined":p(t))=="object"?JSON.stringify(t,null,4):String(t);e8.writeFileSync(e,o,"utf-8")}w(te,"writeFileSync");var tt=N();function tn(e){var t=Q(tt.CWD,er);if(!e7(t))return!1;try{var n=e9(t,{asJson:!0}),r=n.name,a=n.dependencies,o=a===void 0?{}:a,c=n.devDependencies,i=c===void 0?{}:c,u=r===e,s=e in o,l=e in i;return u||s||l?{path:t,file:n,isCurrentProject:u,isDepend:s,isDevDepend:l}:!1}catch(e){return H.warn("Failed to read package.json: ".concat(e.message)),!1}}w(tn,"getPackage");function tr(e){return ta.apply(this,arguments)}function ta(){ta=a(function(e){var t,n,r,a;return g(this,function(o){switch(o.label){case 0:o.trys.push([0,3,,4]);return[4,(0,L.default)("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=o.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=o.sent(),r=n.version;return[2,r];case 3:a=o.sent();throw H.error('Failed to fetch version for "'.concat(e,'": ').concat(a.message)),a;case 4:return[2]}})});return ta.apply(this,arguments)}w(tr,"getLatestPackageVersion");function to(e,t){return tc.apply(this,arguments)}function tc(){tc=a(function(e,t){var n,r,a,o,c,i,u,s,f,d,p,v,y,h,m,b,E,I,w,C,S;return g(this,function(g){switch(g.label){case 0:g.trys.push([0,4,,5]);n=tn(e);if(!n)return[2,l({},k)];u=n.path,s=n.file,f=n.isCurrentProject,d=n.isDepend,p=n.isDevDepend,v=(r=s.dependencies)!==null&&r!==void 0?r:{},y=(a=s.devDependencies)!==null&&a!==void 0?a:{},h=f?(o=s.version)!==null&&o!==void 0?o:"0.0.0":d?(c=v[e])!==null&&c!==void 0?c:"0.0.0":p?(i=y[e])!==null&&i!==void 0?i:"0.0.0":"0.0.0";if(!f)return[3,1];E=h;return[3,3];case 1:return[4,tr(e)];case 2:E=g.sent();g.label=3;case 3:m=E,b=f||h===m;if(!b&&(t===null||t===void 0?void 0:t.update)){;w=d?"dependencies":p?"devDependencies":null;w&&((I=s[w])===null||I===void 0?void 0:I[e])!==m&&(s[w]=(C=s[w])!==null&&C!==void 0?C:{},s[w][e]=m,te(u,s,{isJson:!0}),H.info('Updated "'.concat(e,'" to version ').concat(m)))}return[2,{isCurrentProject:f,installedPath:u,file:s,isUpToDate:b}];case 4:S=g.sent();return[2,(H.error('Error checking package "'.concat(e,'": ').concat(S.message)),l({},k))];case 5:return[2]}})});return tc.apply(this,arguments)}w(to,"checkPackage");function ti(){return tu.apply(this,arguments)}function tu(){tu=a(function(){var e,t,n,r,a,o,c,i,u,s,l,f;return g(this,function(d){switch(d.label){case 0:e=[{command:w(function(){return eU.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:w(function(){return eU.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:w(function(){return eU.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;d.label=1;case 1:d.trys.push([1,9,10,11]);a=e[Symbol.iterator]();d.label=2;case 2:if(!!(t=(o=a.next()).done))return[3,8];c=o.value,i=c.command,u=c.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,i()];case 4:s=d.sent();return[4,e5("".concat(u," using: ").concat(s),s)];case 5:d.sent();return[2];case 6:l=d.sent();H.warn("Installation attempt failed: ".concat(u)),H.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:f=d.sent();n=true;r=f;return[3,11];case 10:try{if(!t&&a.return!=null){a.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})});return tu.apply(this,arguments)}w(ti,"installDependencies");function ts(e,t){return tl.apply(this,arguments)}function tl(){tl=a(function(e,t){var n,r,a,o,c,i,u,s,f,p,v;return g(this,function(g){switch(g.label){case 0:if(!e7(ex.PACKAGE_JSON)){H.error("package.json not found. Aborting setup.");return[2]}g.label=1;case 1:g.trys.push([1,13,,14]);n=d(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return to(e,l({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=g.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,ti()];case 3:r=g.sent();g.label=4;case 4:r;o=true,c=false,i=undefined;g.label=5;case 5:g.trys.push([5,10,11,12]);u=((a=t===null||t===void 0?void 0:t.postInstallActions)!==null&&a!==void 0?a:[])[Symbol.iterator]();g.label=6;case 6:if(!!(o=(s=u.next()).done))return[3,9];f=s.value;return[4,f()];case 7:g.sent();g.label=8;case 8:o=true;return[3,6];case 9:return[3,12];case 10:p=g.sent();c=true;i=p;return[3,12];case 11:try{if(!o&&u.return!=null){u.return()}}finally{if(c){throw i}}return[7];case 12:return[3,14];case 13:v=g.sent();throw H.error('Failed to setup "'.concat(e.join(", "),'": ').concat(v.message)),v;case 14:return[2]}})});return tl.apply(this,arguments)}w(ts,"setupPackages");0&&(module.exports={CHECK_PACKAGE_EMPTY_RESULT:CHECK_PACKAGE_EMPTY_RESULT,checkPackage:checkPackage,getLatestPackageVersion:getLatestPackageVersion,getPackage:getPackage,installDependencies:installDependencies,setupPackages:setupPackages});
1
+ "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(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e,t,n,r,a,o,c){try{var i=e[o](c);var u=i.value}catch(e){n(e);return}if(i.done){t(u)}else{Promise.resolve(u).then(r,a)}}function a(e){return function(){var t=this,n=arguments;return new Promise(function(a,o){var c=e.apply(t,n);function i(e){r(c,a,o,i,u,"next",e)}function u(e){r(c,a,o,i,u,"throw",e)}i(undefined)})}}function o(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 i(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var a=true;var o=false;var c,i;try{for(n=n.call(e);!(a=(c=n.next()).done);a=true){r.push(c.value);if(t&&r.length===t)break}}catch(e){o=true;i=e}finally{try{if(!a&&n["return"]!=null)n["return"]()}finally{if(o)throw i}}return r}function u(){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 s(){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 l(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){o(e,t,n[t])})}return e}function f(e,n){return t(e)||i(e,n)||v(e,n)||u()}function d(e){return n(e)||c(e)||v(e)||s()}function p(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function v(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 g(e,t){var n,r,a,o={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},c=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return c.next=i(0),c["throw"]=i(1),c["return"]=i(2),typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function i(e){return function(t){return u([e,t])}}function u(i){if(n)throw new TypeError("Generator is already executing.");while(c&&(c=0,i[0]&&(o=0)),o)try{if(n=1,r&&(a=i[0]&2?r["return"]:i[0]?r["throw"]||((a=r["return"])&&a.call(r),0):r.next)&&!(a=a.call(r,i[1])).done)return a;if(r=0,a)i=[i[0]&2,a.value];switch(i[0]){case 0:case 1:a=i;break;case 4:o.label++;return{value:i[1],done:false};case 5:o.label++;r=i[1];i=[0];continue;case 7:i=o.ops.pop();o.trys.pop();continue;default:if(!(a=o.trys,a=a.length>0&&a[a.length-1])&&(i[0]===6||i[0]===2)){o=0;continue}if(i[0]===3&&(!a||i[1]>a[0]&&i[1]<a[3])){o.label=i[1];break}if(i[0]===6&&o.label<a[1]){o.label=a[1];a=i;break}if(a&&o.label<a[2]){o.label=a[2];o.ops.push(i);break}if(a[2])o.ops.pop();o.trys.pop();continue}i=t.call(e,o)}catch(e){i=[6,e];r=0}finally{n=a=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var y=Object.create;var h=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var E=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty;var w=function(e,t){return h(e,"name",{value:t,configurable:!0})};var C=function(e,t){for(var n in t)h(e,n,{get:t[n],enumerable:!0})},S=function(e,t,n,r){var a=true,o=false,c=undefined;if(t&&(typeof t==="undefined"?"undefined":p(t))=="object"||typeof t=="function")try{var i=function(){var a=s.value;!I.call(e,a)&&a!==n&&h(e,a,{get:function(){return t[a]},enumerable:!(r=m(t,a))||r.enumerable})};for(var u=b(t)[Symbol.iterator](),s;!(a=(s=u.next()).done);a=true)i()}catch(e){o=true;c=e}finally{try{if(!a&&u.return!=null){u.return()}}finally{if(o){throw c}}}return e};var O=function(e,t,n){return n=e!=null?y(E(e)):{},S(t||!e||!e.__esModule?h(n,"default",{value:e,enumerable:!0}):n,e)},_=function(e){return S(h({},"__esModule",{value:!0}),e)};var T={};C(T,{CHECK_PACKAGE_EMPTY_RESULT:function(){return k},checkPackage:function(){return to},getLatestPackageVersion:function(){return tr},getPackage:function(){return tn},installDependencies:function(){return ti},setupPackages:function(){return ts}});module.exports=_(T);var k={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var L=O(require("node-fetch"),1);var P=".cyberskill-storage";var R=O(require("dotenv"),1),A=require("envalid"),D=O(require("os"),1),G=O(require("path"),1),j=O(require("process"),1);R.default.config();function N(){var e={DEBUG:j.default.env.DEBUG||!1,CWD:j.default.env.CWD||j.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:j.default.env.CYBERSKILL_STORAGE_DIRECTORY||G.default.join(D.default.homedir(),P)};return(0,A.cleanEnv)(e,{DEBUG:(0,A.bool)(),CWD:(0,A.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,A.str)()})}w(N,"getEnv");var x=function(e){return e.CLI="CLI",e.RAW="RAW",e}({});var M=require("child_process"),F=O(require("process"),1),K=O(require("util"),1);var U=function(e){return e.Error="error",e.Warning="warning",e}({});var W=O(require("chalk"),1),Y=O(require("consola"),1),q=require("graphql");var B=N();B.DEBUG||(Y.default.level=4);function J(e){var t=W.default[e];return typeof t=="function"?t:W.default.green}w(J,"chalkKeyword");var H={silent:Y.default.silent,level:Y.default.level,fatal:Y.default.fatal,error:Y.default.error,warn:Y.default.warn,log:Y.default.log,info:Y.default.info,success:Y.default.success,ready:Y.default.ready,start:Y.default.start,box:Y.default.box,debug:Y.default.debug,trace:Y.default.trace,verbose:Y.default.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){Y.default.box(W.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,a=e.rule,o=e.message;Y.default.log("".concat(W.default.gray("File:")," ").concat(W.default.blue("".concat(t).concat(r?":".concat(r):"")))),a&&Y.default.log(" ".concat(J(n)("Rule:")," ").concat(a)),Y.default.log(" ".concat(J(n)("Message:")," ").concat(o))}),Y.default.box(J(n)("".concat(e," : ").concat(t.length))),Y.default.log(W.default.gray("─".repeat(40)))}};var V=O(require("path"),1);var $=N();function z(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=V).resolve.apply(r,[$.CWD].concat(d(t)))}w(z,"resolveWorkingPath");function Q(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=V).join.apply(r,d(t))}w(Q,"join");var X=N(),Z=X.CWD,ee="@cyberskill/shared",et="node_modules",en="dist",er="package.json",ea="package-lock.json",eo="tsconfig.json",ec=".gitignore",ei=".simple-git-hooks.json",eu="pnpm-lock.yaml",es=".git/hooks/",el=".git/COMMIT_EDITMSG",ef=Q(Z,et,ee,en),ed="cyberskill",ep="src/nodejs/cli/index.ts",ev="eslint",eg="eslint",ey="vitest",eh="playwright",em="vitest",eb="@commitlint/cli",eE="commitlint",eI="lint-staged",ew="lint-staged",eC="typescript",eS="tsc",eO="tsx",e_="git",eT="pnpm",ek="pnpm exec",eL="simple-git-hooks",eP="simple-git-hooks",eR="@eslint/config-inspector",eA="eslint-config-inspector",eD="node-modules-inspector",eG="node-modules-inspector",ej="migrate-mongo",eN="migrate-mongo",ex={CYBERSKILL_DIRECTORY:ef,WORKING_DIRECTORY:Z,TS_CONFIG:z(eo),GIT_IGNORE:z(ec),GIT_HOOK:z(es),GIT_COMMIT_MSG:z(el),SIMPLE_GIT_HOOKS_JSON:z(ei),PACKAGE_JSON:z(er),PACKAGE_LOCK_JSON:z(ea),PNPM_LOCK_YAML:z(eu),NODE_MODULES:z(et),LINT_STAGED_CONFIG:z("".concat(ef,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:z("".concat(ef,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:z("".concat(ef,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:z("".concat(ef,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:z("".concat(ef,"/react/vitest/vitest.e2e.js"))};function eM(e){return eF.apply(this,arguments)}function eF(){eF=a(function(e){var t,n,r,a,o,c;var i=arguments;return g(this,function(u){switch(u.label){case 0:for(t=i.length,n=new Array(t>1?t-1:0),r=1;r<t;r++){n[r-1]=i[r]}a=f(n,2),o=a[0],c=a[1];if(!o)throw new Error("'first' argument is undefined");switch(e){case x.CLI:return[3,1];case x.RAW:return[3,3]}return[3,4];case 1:return[4,ts(o.split(" "),{update:!0})];case 2:return[2,(u.sent(),e3(e2("".concat(ek," ").concat(c))))];case 3:return[2,e3(e2(o))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})});return eF.apply(this,arguments)}w(eM,"buildCommand");function eK(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++){n[r-1]=arguments[r]}return /*#__PURE__*/a(function(){return g(this,function(t){return[2,eM.apply(void 0,[e].concat(d(n)))]})})}w(eK,"commandFactory");var eU={simpleGitHooks:eK(x.CLI,eL,eP),eslintInspect:eK(x.CLI,eR,eA),nodeModulesInspect:eK(x.CLI,eD,eG),eslintCheck:eK(x.CLI,ev,"".concat(eg," ").concat(ex.WORKING_DIRECTORY)),eslintFix:eK(x.CLI,ev,"".concat(eg," ").concat(ex.WORKING_DIRECTORY," --fix")),typescriptCheck:eK(x.CLI,eC,"".concat(eS," -p ").concat(ex.TS_CONFIG," --noEmit")),configureGitHook:eK(x.RAW,"".concat(e_," config core.hooksPath ").concat(ex.GIT_HOOK)),testUnit:eK(x.CLI,ey,"".concat(em," --config ").concat(ex.UNIT_TEST_CONFIG)),testE2e:eK(x.CLI,"".concat(ey," ").concat(eh),"".concat(em," --config ").concat(ex.E2E_TEST_CONFIG)),mongoMigrateCreate:w(function(e){return eK(x.CLI,"".concat(ej),"".concat(eN," create ").concat(e))()},"mongoMigrateCreate"),mongoMigrateUp:eK(x.CLI,"".concat(ej),"".concat(eN," up")),mongoMigrateDown:eK(x.CLI,"".concat(ej),"".concat(eN," down")),commitLint:eK(x.CLI,eb,"".concat(eE," --edit ").concat(ex.GIT_COMMIT_MSG," --config ").concat(ex.COMMITLINT_CONFIG)),lintStaged:eK(x.CLI,eI,"".concat(ew," --config ").concat(ex.LINT_STAGED_CONFIG)),stageBuildDirectory:eK(x.RAW,"".concat(e_," add ").concat(en)),build:eK(x.RAW,"".concat(eT," run build")),pnpmInstallStandard:eK(x.RAW,"".concat(eT," install")),pnpmInstallLegacy:eK(x.RAW,"".concat(eT," install --legacy-peer-deps")),pnpmInstallForce:eK(x.RAW,"".concat(eT," install --force"))};var eW=O(require("node-persist"),1);var eY=N();function eq(){return eB.apply(this,arguments)}function eB(){eB=a(function(){var e;return g(this,function(t){switch(t.label){case 0:e=eW.default.defaultInstance;if(e)return[3,2];return[4,eW.default.init({dir:eY.CYBERSKILL_STORAGE_DIRECTORY,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 eB.apply(this,arguments)}w(eq,"initNodePersist");var eJ={get:function e(e){return a(function(){var t,n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eq()];case 1:r.sent();return[4,eW.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(H.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return a(function(){var n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eq()];case 1:r.sent();return[4,eW.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();H.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return a(function(){var t;return g(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eq()];case 1:n.sent();return[4,eW.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();H.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return a(function(){var e,t;return g(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eq()];case 1:n.sent();return[4,eW.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(H.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(H.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return a(function(){return g(this,function(t){try{return[2,"".concat(eY.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(H.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eH=N(),eV=K.promisify(M.exec);function e$(e){return"error_list:".concat(e)}w(e$,"getErrorListKey");function ez(e){return eQ.apply(this,arguments)}function eQ(){eQ=a(function(e){var t,n,r;return g(this,function(o){switch(o.label){case 0:if(e.length===0)return[2];t=Date.now(),n=e$(t);o.label=1;case 1:o.trys.push([1,3,,4]);return[4,eJ.set(n,{errors:e,timestamp:t})];case 2:o.sent(),setTimeout(/*#__PURE__*/a(function(){var e;return g(this,function(t){switch(t.label){case 0:return[4,eJ.getLogLink(n)];case 1:e=t.sent();e&&H.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:r=o.sent();H.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})});return eQ.apply(this,arguments)}w(ez,"saveErrorListToStorage");function eX(e){var t=[],n=[],r="",a=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,o=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,c=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,u,s,l,f;var d=a.exec(e)||[],p=o.exec(e)||[],v=c.exec(e)||[];var g,y,h,m,b,E;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===U.Error?U.Error:U.Warning,message:(g=d===null||d===void 0?void 0:(i=d[4])===null||i===void 0?void 0:i.trim())!==null&&g!==void 0?g:"",rule:(y=d===null||d===void 0?void 0:(u=d[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):p.length?t.push({file:(h=p===null||p===void 0?void 0:p[1])!==null&&h!==void 0?h:"",position:"".concat(p[2],":").concat(p[3]),type:p[4]===U.Error?U.Error:U.Warning,message:(m=p===null||p===void 0?void 0:(s=p[5])===null||s===void 0?void 0:s.trim())!==null&&m!==void 0?m:""}):v.length?t.push({file:"commitlint",type:U.Error,message:(b=v===null||v===void 0?void 0:(l=v[1])===null||l===void 0?void 0:l.trim())!==null&&b!==void 0?b:"",rule:(E=v===null||v===void 0?void 0:(f=v[2])===null||f===void 0?void 0:f.trim())!==null&&E!==void 0?E:""}):n.push(e.trim())}}),t.length&&ez(t),eH.DEBUG&&n.length&&(H.warn("Unmatched lines:"),n.forEach(function(e){return H.info(" ".concat(e))}))}w(eX,"parseTextErrors");function eZ(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,a=e.line,o=e.column,c=e.ruleId,i=e.message;n.push({type:r===2?U.Error:U.Warning,file:t,position:"".concat(a,":").concat(o),rule:c,message:i})})}),n.length&&ez(n)}catch(t){eX(e)}}w(eZ,"parseCommandOutput");function e0(e){return e1.apply(this,arguments)}function e1(){e1=a(function(e){var t,n,r,a,o,c,i,u,s;var l=arguments;return g(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:eZ;n=new AbortController;F.default.on("SIGINT",function(){H.warn("Process interrupted. Terminating..."),n.abort(),F.default.exit()});f.label=1;case 1:f.trys.push([1,3,,4]);return[4,eV(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),a=r.stdout,o=r.stderr;[a,o].forEach(function(e){return e&&t(e)});return[3,4];case 3:c=f.sent();i=c.stdout,u=c.stderr,s=c.message;[i,u].forEach(function(e){return e&&t(e)}),!u&&!i&&H.error("Command failed: ".concat(s));return[3,4];case 4:return[2]}})});return e1.apply(this,arguments)}w(e0,"executeCommand");function e2(e){return{raw:!0,cmd:e}}w(e2,"rawCommand");function e4(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(ek," ").concat(ee," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(ek," ").concat(eO," ").concat(ep," ").concat(e):"".concat(ek," ").concat(ed," ").concat(e)}w(e4,"formatCLI");function e3(e,t){return typeof e=="function"?e4(e(t),t):(typeof e==="undefined"?"undefined":p(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?e4(e,t):e}w(e3,"formatCommand");function e5(e,t){return e6.apply(this,arguments)}function e6(){e6=a(function(e,t){var n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);H.start("".concat(e)),eH.DEBUG&&H.info("→ ".concat(t));return[4,e0(t)];case 1:r.sent(),H.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw H.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})});return e6.apply(this,arguments)}w(e5,"runCommand");var e8=O(require("fs"),1);function e7(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return e8.existsSync(e)})}w(e7,"existsSync");function e9(e,t){var n=e8.readFileSync(e,"utf-8");if(t===null||t===void 0?void 0:t.asJson)try{var r=JSON.parse(n);if((typeof r==="undefined"?"undefined":p(r))=="object"&&r!==null)return r;throw new Error("Parsed JSON is not an object or array")}catch(t){throw new Error("Failed to parse JSON from file: ".concat(e))}return n}w(e9,"readFileSync");function te(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=n.isJson,a=r===void 0?!1:r,o=a&&(typeof t==="undefined"?"undefined":p(t))=="object"?JSON.stringify(t,null,4):String(t);e8.writeFileSync(e,o,"utf-8")}w(te,"writeFileSync");var tt=N();function tn(e){var t=Q(tt.CWD,er);if(!e7(t))return!1;try{var n=e9(t,{asJson:!0}),r=n.name,a=n.dependencies,o=a===void 0?{}:a,c=n.devDependencies,i=c===void 0?{}:c,u=r===e,s=e in o,l=e in i;return u||s||l?{path:t,file:n,isCurrentProject:u,isDepend:s,isDevDepend:l}:!1}catch(e){return H.warn("Failed to read package.json: ".concat(e.message)),!1}}w(tn,"getPackage");function tr(e){return ta.apply(this,arguments)}function ta(){ta=a(function(e){var t,n,r,a;return g(this,function(o){switch(o.label){case 0:o.trys.push([0,3,,4]);return[4,(0,L.default)("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=o.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=o.sent(),r=n.version;return[2,r];case 3:a=o.sent();throw H.error('Failed to fetch version for "'.concat(e,'": ').concat(a.message)),a;case 4:return[2]}})});return ta.apply(this,arguments)}w(tr,"getLatestPackageVersion");function to(e,t){return tc.apply(this,arguments)}function tc(){tc=a(function(e,t){var n,r,a,o,c,i,u,s,f,d,p,v,y,h,m,b,E,I,w,C,S;return g(this,function(g){switch(g.label){case 0:g.trys.push([0,4,,5]);n=tn(e);if(!n)return[2,l({},k)];u=n.path,s=n.file,f=n.isCurrentProject,d=n.isDepend,p=n.isDevDepend,v=(r=s.dependencies)!==null&&r!==void 0?r:{},y=(a=s.devDependencies)!==null&&a!==void 0?a:{},h=f?(o=s.version)!==null&&o!==void 0?o:"0.0.0":d?(c=v[e])!==null&&c!==void 0?c:"0.0.0":p?(i=y[e])!==null&&i!==void 0?i:"0.0.0":"0.0.0";if(!f)return[3,1];E=h;return[3,3];case 1:return[4,tr(e)];case 2:E=g.sent();g.label=3;case 3:m=E,b=f||h===m;if(!b&&(t===null||t===void 0?void 0:t.update)){;w=d?"dependencies":p?"devDependencies":null;w&&((I=s[w])===null||I===void 0?void 0:I[e])!==m&&(s[w]=(C=s[w])!==null&&C!==void 0?C:{},s[w][e]=m,te(u,s,{isJson:!0}),H.info('Updated "'.concat(e,'" to version ').concat(m)))}return[2,{isCurrentProject:f,installedPath:u,file:s,isUpToDate:b}];case 4:S=g.sent();return[2,(H.error('Error checking package "'.concat(e,'": ').concat(S.message)),l({},k))];case 5:return[2]}})});return tc.apply(this,arguments)}w(to,"checkPackage");function ti(){return tu.apply(this,arguments)}function tu(){tu=a(function(){var e,t,n,r,a,o,c,i,u,s,l,f;return g(this,function(d){switch(d.label){case 0:e=[{command:w(function(){return eU.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:w(function(){return eU.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:w(function(){return eU.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;d.label=1;case 1:d.trys.push([1,9,10,11]);a=e[Symbol.iterator]();d.label=2;case 2:if(!!(t=(o=a.next()).done))return[3,8];c=o.value,i=c.command,u=c.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,i()];case 4:s=d.sent();return[4,e5("".concat(u," using: ").concat(s),s)];case 5:d.sent();return[2];case 6:l=d.sent();H.warn("Installation attempt failed: ".concat(u)),H.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:f=d.sent();n=true;r=f;return[3,11];case 10:try{if(!t&&a.return!=null){a.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})});return tu.apply(this,arguments)}w(ti,"installDependencies");function ts(e,t){return tl.apply(this,arguments)}function tl(){tl=a(function(e,t){var n,r,a,o,c,i,u,s,f,p,v;return g(this,function(g){switch(g.label){case 0:if(!e7(ex.PACKAGE_JSON)){H.error("package.json not found. Aborting setup.");return[2]}g.label=1;case 1:g.trys.push([1,13,,14]);n=d(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return to(e,l({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=g.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,ti()];case 3:r=g.sent();g.label=4;case 4:r;o=true,c=false,i=undefined;g.label=5;case 5:g.trys.push([5,10,11,12]);u=((a=t===null||t===void 0?void 0:t.postInstallActions)!==null&&a!==void 0?a:[])[Symbol.iterator]();g.label=6;case 6:if(!!(o=(s=u.next()).done))return[3,9];f=s.value;return[4,f()];case 7:g.sent();g.label=8;case 8:o=true;return[3,6];case 9:return[3,12];case 10:p=g.sent();c=true;i=p;return[3,12];case 11:try{if(!o&&u.return!=null){u.return()}}finally{if(c){throw i}}return[7];case 12:return[3,14];case 13:v=g.sent();throw H.error('Failed to setup "'.concat(e.join(", "),'": ').concat(v.message)),v;case 14:return[2]}})});return tl.apply(this,arguments)}w(ts,"setupPackages");0&&(module.exports={CHECK_PACKAGE_EMPTY_RESULT:CHECK_PACKAGE_EMPTY_RESULT,checkPackage:checkPackage,getLatestPackageVersion:getLatestPackageVersion,getPackage:getPackage,installDependencies:installDependencies,setupPackages:setupPackages});
@@ -1 +1 @@
1
- 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(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e,t,n,r,o,a,c){try{var i=e[a](c);var s=i.value}catch(e){n(e);return}if(i.done){t(s)}else{Promise.resolve(s).then(r,o)}}function o(e){return function(){var t=this,n=arguments;return new Promise(function(o,a){var c=e.apply(t,n);function i(e){r(c,o,a,i,s,"next",e)}function s(e){r(c,o,a,i,s,"throw",e)}i(undefined)})}}function a(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 i(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var o=true;var a=false;var c,i;try{for(n=n.call(e);!(o=(c=n.next()).done);o=true){r.push(c.value);if(t&&r.length===t)break}}catch(e){a=true;i=e}finally{try{if(!o&&n["return"]!=null)n["return"]()}finally{if(a)throw i}}return r}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 u(){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 l(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){a(e,t,n[t])})}return e}function f(e,n){return t(e)||i(e,n)||v(e,n)||s()}function d(e){return n(e)||c(e)||v(e)||u()}function p(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function v(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 g(e,t){var n,r,o,a={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},c=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return c.next=i(0),c["throw"]=i(1),c["return"]=i(2),typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function i(e){return function(t){return s([e,t])}}function s(i){if(n)throw new TypeError("Generator is already executing.");while(c&&(c=0,i[0]&&(a=0)),a)try{if(n=1,r&&(o=i[0]&2?r["return"]:i[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;if(r=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:a.label++;return{value:i[1],done:false};case 5:a.label++;r=i[1];i=[0];continue;case 7:i=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){a=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(i[0]===6&&a.label<o[1]){a.label=o[1];o=i;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(i);break}if(o[2])a.ops.pop();a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e];r=0}finally{n=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var m=Object.defineProperty;var h=function(e,t){return m(e,"name",{value:t,configurable:!0})};var y={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};import b from"node-fetch";var I=".cyberskill-storage";import E from"dotenv";import{bool as w,cleanEnv as C,str as S}from"envalid";import O from"node:os";import _ from"node:path";import T from"node:process";E.config();function k(){var e={DEBUG:T.env.DEBUG||!1,CWD:T.env.CWD,CYBERSKILL_STORAGE_DIRECTORY:T.env.CYBERSKILL_STORAGE_DIRECTORY||I};return C(e,{DEBUG:w(),CWD:S({default:T.cwd()}),CYBERSKILL_STORAGE_DIRECTORY:S({default:_.join(O.homedir(),I)})})}h(k,"getEnv");var L=function(e){return e.CLI="CLI",e.RAW="RAW",e}({});import{exec as R}from"node:child_process";import G from"node:process";import*as A from"node:util";var D=function(e){return e.Error="error",e.Warning="warning",e}({});import P from"chalk";import j from"consola";import{GraphQLError as N}from"graphql";var x=k();x.DEBUG||(j.level=4);function F(e){var t=P[e];return typeof t=="function"?t:P.green}h(F,"chalkKeyword");var M={silent:j.silent,level:j.level,fatal:j.fatal,error:j.error,warn:j.warn,log:j.log,info:j.info,success:j.success,ready:j.ready,start:j.start,box:j.box,debug:j.debug,trace:j.trace,verbose:j.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){j.box(P.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,o=e.rule,a=e.message;j.log("".concat(P.gray("File:")," ").concat(P.blue("".concat(t).concat(r?":".concat(r):"")))),o&&j.log(" ".concat(F(n)("Rule:")," ").concat(o)),j.log(" ".concat(F(n)("Message:")," ").concat(a))}),j.box(F(n)("".concat(e," : ").concat(t.length))),j.log(P.gray("─".repeat(40)))}};import*as U from"node:path";var W=k();function K(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=U).resolve.apply(r,[W.CWD].concat(d(t)))}h(K,"resolveWorkingPath");function Y(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=U).join.apply(r,d(t))}h(Y,"join");var B=k(),J=B.CWD,H="@cyberskill/shared",$="node_modules",V="dist",q="package.json",Q="package-lock.json",z="tsconfig.json",X=".gitignore",Z=".simple-git-hooks.json",ee="pnpm-lock.yaml",et=".git/hooks/",en=".git/COMMIT_EDITMSG",er=Y(J,$,H,V),eo="cyberskill",ea="src/nodejs/cli/index.ts",ec="eslint",ei="eslint",es="vitest",eu="playwright",el="vitest",ef="@commitlint/cli",ed="commitlint",ep="lint-staged",ev="lint-staged",eg="typescript",em="tsc",eh="tsx",ey="git",eb="pnpm",eI="pnpm exec",eE="simple-git-hooks",ew="simple-git-hooks",eC="@eslint/config-inspector",eS="eslint-config-inspector",eO="node-modules-inspector",e_="node-modules-inspector",eT="migrate-mongo",ek="migrate-mongo",eL={CYBERSKILL_DIRECTORY:er,WORKING_DIRECTORY:J,TS_CONFIG:K(z),GIT_IGNORE:K(X),GIT_HOOK:K(et),GIT_COMMIT_MSG:K(en),SIMPLE_GIT_HOOKS_JSON:K(Z),PACKAGE_JSON:K(q),PACKAGE_LOCK_JSON:K(Q),PNPM_LOCK_YAML:K(ee),NODE_MODULES:K($),LINT_STAGED_CONFIG:K("".concat(er,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:K("".concat(er,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:K("".concat(er,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:K("".concat(er,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:K("".concat(er,"/react/vitest/vitest.e2e.js"))};function eR(e){return eG.apply(this,arguments)}function eG(){eG=o(function(e){var t,n,r,o,a,c;var i=arguments;return g(this,function(s){switch(s.label){case 0:for(t=i.length,n=new Array(t>1?t-1:0),r=1;r<t;r++){n[r-1]=i[r]}o=f(n,2),a=o[0],c=o[1];if(!a)throw new Error("'first' argument is undefined");switch(e){case L.CLI:return[3,1];case L.RAW:return[3,3]}return[3,4];case 1:return[4,tt(a.split(" "),{update:!0})];case 2:return[2,(s.sent(),eQ(eV("".concat(eI," ").concat(c))))];case 3:return[2,eQ(eV(a))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})});return eG.apply(this,arguments)}h(eR,"buildCommand");function eA(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++){n[r-1]=arguments[r]}return /*#__PURE__*/o(function(){return g(this,function(t){return[2,eR.apply(void 0,[e].concat(d(n)))]})})}h(eA,"commandFactory");var eD={simpleGitHooks:eA(L.CLI,eE,ew),eslintInspect:eA(L.CLI,eC,eS),nodeModulesInspect:eA(L.CLI,eO,e_),eslintCheck:eA(L.CLI,ec,"".concat(ei," ").concat(eL.WORKING_DIRECTORY)),eslintFix:eA(L.CLI,ec,"".concat(ei," ").concat(eL.WORKING_DIRECTORY," --fix")),typescriptCheck:eA(L.CLI,eg,"".concat(em," -p ").concat(eL.TS_CONFIG," --noEmit")),configureGitHook:eA(L.RAW,"".concat(ey," config core.hooksPath ").concat(eL.GIT_HOOK)),testUnit:eA(L.CLI,es,"".concat(el," --config ").concat(eL.UNIT_TEST_CONFIG)),testE2e:eA(L.CLI,"".concat(es," ").concat(eu),"".concat(el," --config ").concat(eL.E2E_TEST_CONFIG)),mongoMigrateCreate:h(function(e){return eA(L.CLI,"".concat(eT),"".concat(ek," create ").concat(e))()},"mongoMigrateCreate"),mongoMigrateUp:eA(L.CLI,"".concat(eT),"".concat(ek," up")),mongoMigrateDown:eA(L.CLI,"".concat(eT),"".concat(ek," down")),commitLint:eA(L.CLI,ef,"".concat(ed," --edit ").concat(eL.GIT_COMMIT_MSG," --config ").concat(eL.COMMITLINT_CONFIG)),lintStaged:eA(L.CLI,ep,"".concat(ev," --config ").concat(eL.LINT_STAGED_CONFIG)),stageBuildDirectory:eA(L.RAW,"".concat(ey," add ").concat(V)),build:eA(L.RAW,"".concat(eb," run build")),pnpmInstallStandard:eA(L.RAW,"".concat(eb," install")),pnpmInstallLegacy:eA(L.RAW,"".concat(eb," install --legacy-peer-deps")),pnpmInstallForce:eA(L.RAW,"".concat(eb," install --force"))};import eP from"node-persist";var ej=k();function eN(){return ex.apply(this,arguments)}function ex(){ex=o(function(){var e;return g(this,function(t){switch(t.label){case 0:e=eP.defaultInstance;if(e)return[3,2];return[4,eP.init({dir:ej.CYBERSKILL_STORAGE_DIRECTORY,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 ex.apply(this,arguments)}h(eN,"initNodePersist");var eF={get:function e(e){return o(function(){var t,n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eN()];case 1:r.sent();return[4,eP.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(M.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return o(function(){var n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eN()];case 1:r.sent();return[4,eP.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();M.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return o(function(){var t;return g(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eN()];case 1:n.sent();return[4,eP.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();M.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return o(function(){var e,t;return g(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eN()];case 1:n.sent();return[4,eP.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(M.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(M.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return o(function(){return g(this,function(t){try{return[2,"".concat(ej.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(M.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eM=k(),eU=A.promisify(R);function eW(e){return"error_list:".concat(e)}h(eW,"getErrorListKey");function eK(e){return eY.apply(this,arguments)}function eY(){eY=o(function(e){var t,n,r;return g(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];t=Date.now(),n=eW(t);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,eF.set(n,{errors:e,timestamp:t})];case 2:a.sent(),setTimeout(/*#__PURE__*/o(function(){var e;return g(this,function(t){switch(t.label){case 0:return[4,eF.getLogLink(n)];case 1:e=t.sent();e&&M.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:r=a.sent();M.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})});return eY.apply(this,arguments)}h(eK,"saveErrorListToStorage");function eB(e){var t=[],n=[],r="",o=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,a=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,c=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,s,u,l,f;var d=o.exec(e)||[],p=a.exec(e)||[],v=c.exec(e)||[];var g,m,h,y,b,I;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===D.Error?D.Error:D.Warning,message:(g=d===null||d===void 0?void 0:(i=d[4])===null||i===void 0?void 0:i.trim())!==null&&g!==void 0?g:"",rule:(m=d===null||d===void 0?void 0:(s=d[5])===null||s===void 0?void 0:s.trim())!==null&&m!==void 0?m:""}):p.length?t.push({file:(h=p===null||p===void 0?void 0:p[1])!==null&&h!==void 0?h:"",position:"".concat(p[2],":").concat(p[3]),type:p[4]===D.Error?D.Error:D.Warning,message:(y=p===null||p===void 0?void 0:(u=p[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):v.length?t.push({file:"commitlint",type:D.Error,message:(b=v===null||v===void 0?void 0:(l=v[1])===null||l===void 0?void 0:l.trim())!==null&&b!==void 0?b:"",rule:(I=v===null||v===void 0?void 0:(f=v[2])===null||f===void 0?void 0:f.trim())!==null&&I!==void 0?I:""}):n.push(e.trim())}}),t.length&&eK(t),eM.DEBUG&&n.length&&(M.warn("Unmatched lines:"),n.forEach(function(e){return M.info(" ".concat(e))}))}h(eB,"parseTextErrors");function eJ(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,o=e.line,a=e.column,c=e.ruleId,i=e.message;n.push({type:r===2?D.Error:D.Warning,file:t,position:"".concat(o,":").concat(a),rule:c,message:i})})}),n.length&&eK(n)}catch(t){eB(e)}}h(eJ,"parseCommandOutput");function eH(e){return e$.apply(this,arguments)}function e$(){e$=o(function(e){var t,n,r,o,a,c,i,s,u;var l=arguments;return g(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:eJ;n=new AbortController;G.on("SIGINT",function(){M.warn("Process interrupted. Terminating..."),n.abort(),G.exit()});f.label=1;case 1:f.trys.push([1,3,,4]);return[4,eU(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),o=r.stdout,a=r.stderr;[o,a].forEach(function(e){return e&&t(e)});return[3,4];case 3:c=f.sent();i=c.stdout,s=c.stderr,u=c.message;[i,s].forEach(function(e){return e&&t(e)}),!s&&!i&&M.error("Command failed: ".concat(u));return[3,4];case 4:return[2]}})});return e$.apply(this,arguments)}h(eH,"executeCommand");function eV(e){return{raw:!0,cmd:e}}h(eV,"rawCommand");function eq(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(eI," ").concat(H," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(eI," ").concat(eh," ").concat(ea," ").concat(e):"".concat(eI," ").concat(eo," ").concat(e)}h(eq,"formatCLI");function eQ(e,t){return typeof e=="function"?eq(e(t),t):(typeof e==="undefined"?"undefined":p(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?eq(e,t):e}h(eQ,"formatCommand");function ez(e,t){return eX.apply(this,arguments)}function eX(){eX=o(function(e,t){var n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);M.start("".concat(e)),eM.DEBUG&&M.info("→ ".concat(t));return[4,eH(t)];case 1:r.sent(),M.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw M.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})});return eX.apply(this,arguments)}h(ez,"runCommand");import*as eZ from"node:fs";function e0(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return eZ.existsSync(e)})}h(e0,"existsSync");function e1(e,t){var n=eZ.readFileSync(e,"utf-8");if(t===null||t===void 0?void 0:t.asJson)try{var r=JSON.parse(n);if((typeof r==="undefined"?"undefined":p(r))=="object"&&r!==null)return r;throw new Error("Parsed JSON is not an object or array")}catch(t){throw new Error("Failed to parse JSON from file: ".concat(e))}return n}h(e1,"readFileSync");function e2(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=n.isJson,o=r===void 0?!1:r,a=o&&(typeof t==="undefined"?"undefined":p(t))=="object"?JSON.stringify(t,null,4):String(t);eZ.writeFileSync(e,a,"utf-8")}h(e2,"writeFileSync");var e4=k();function e3(e){var t=Y(e4.CWD,q);if(!e0(t))return!1;try{var n=e1(t,{asJson:!0}),r=n.name,o=n.dependencies,a=o===void 0?{}:o,c=n.devDependencies,i=c===void 0?{}:c,s=r===e,u=e in a,l=e in i;return s||u||l?{path:t,file:n,isCurrentProject:s,isDepend:u,isDevDepend:l}:!1}catch(e){return M.warn("Failed to read package.json: ".concat(e.message)),!1}}h(e3,"getPackage");function e5(e){return e6.apply(this,arguments)}function e6(){e6=o(function(e){var t,n,r,o;return g(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,b("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=a.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=a.sent(),r=n.version;return[2,r];case 3:o=a.sent();throw M.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})});return e6.apply(this,arguments)}h(e5,"getLatestPackageVersion");function e8(e,t){return e7.apply(this,arguments)}function e7(){e7=o(function(e,t){var n,r,o,a,c,i,s,u,f,d,p,v,m,h,b,I,E,w,C,S,O;return g(this,function(g){switch(g.label){case 0:g.trys.push([0,4,,5]);n=e3(e);if(!n)return[2,l({},y)];s=n.path,u=n.file,f=n.isCurrentProject,d=n.isDepend,p=n.isDevDepend,v=(r=u.dependencies)!==null&&r!==void 0?r:{},m=(o=u.devDependencies)!==null&&o!==void 0?o:{},h=f?(a=u.version)!==null&&a!==void 0?a:"0.0.0":d?(c=v[e])!==null&&c!==void 0?c:"0.0.0":p?(i=m[e])!==null&&i!==void 0?i:"0.0.0":"0.0.0";if(!f)return[3,1];E=h;return[3,3];case 1:return[4,e5(e)];case 2:E=g.sent();g.label=3;case 3:b=E,I=f||h===b;if(!I&&(t===null||t===void 0?void 0:t.update)){;C=d?"dependencies":p?"devDependencies":null;C&&((w=u[C])===null||w===void 0?void 0:w[e])!==b&&(u[C]=(S=u[C])!==null&&S!==void 0?S:{},u[C][e]=b,e2(s,u,{isJson:!0}),M.info('Updated "'.concat(e,'" to version ').concat(b)))}return[2,{isCurrentProject:f,installedPath:s,file:u,isUpToDate:I}];case 4:O=g.sent();return[2,(M.error('Error checking package "'.concat(e,'": ').concat(O.message)),l({},y))];case 5:return[2]}})});return e7.apply(this,arguments)}h(e8,"checkPackage");function e9(){return te.apply(this,arguments)}function te(){te=o(function(){var e,t,n,r,o,a,c,i,s,u,l,f;return g(this,function(d){switch(d.label){case 0:e=[{command:h(function(){return eD.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:h(function(){return eD.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:h(function(){return eD.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;d.label=1;case 1:d.trys.push([1,9,10,11]);o=e[Symbol.iterator]();d.label=2;case 2:if(!!(t=(a=o.next()).done))return[3,8];c=a.value,i=c.command,s=c.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,i()];case 4:u=d.sent();return[4,ez("".concat(s," using: ").concat(u),u)];case 5:d.sent();return[2];case 6:l=d.sent();M.warn("Installation attempt failed: ".concat(s)),M.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:f=d.sent();n=true;r=f;return[3,11];case 10:try{if(!t&&o.return!=null){o.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})});return te.apply(this,arguments)}h(e9,"installDependencies");function tt(e,t){return tn.apply(this,arguments)}function tn(){tn=o(function(e,t){var n,r,o,a,c,i,s,u,f,p,v;return g(this,function(g){switch(g.label){case 0:if(!e0(eL.PACKAGE_JSON)){M.error("package.json not found. Aborting setup.");return[2]}g.label=1;case 1:g.trys.push([1,13,,14]);n=d(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return e8(e,l({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=g.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,e9()];case 3:r=g.sent();g.label=4;case 4:r;a=true,c=false,i=undefined;g.label=5;case 5:g.trys.push([5,10,11,12]);s=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();g.label=6;case 6:if(!!(a=(u=s.next()).done))return[3,9];f=u.value;return[4,f()];case 7:g.sent();g.label=8;case 8:a=true;return[3,6];case 9:return[3,12];case 10:p=g.sent();c=true;i=p;return[3,12];case 11:try{if(!a&&s.return!=null){s.return()}}finally{if(c){throw i}}return[7];case 12:return[3,14];case 13:v=g.sent();throw M.error('Failed to setup "'.concat(e.join(", "),'": ').concat(v.message)),v;case 14:return[2]}})});return tn.apply(this,arguments)}h(tt,"setupPackages");export{y as CHECK_PACKAGE_EMPTY_RESULT,e8 as checkPackage,e5 as getLatestPackageVersion,e3 as getPackage,e9 as installDependencies,tt as setupPackages};
1
+ 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(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e,t,n,r,o,a,c){try{var i=e[a](c);var s=i.value}catch(e){n(e);return}if(i.done){t(s)}else{Promise.resolve(s).then(r,o)}}function o(e){return function(){var t=this,n=arguments;return new Promise(function(o,a){var c=e.apply(t,n);function i(e){r(c,o,a,i,s,"next",e)}function s(e){r(c,o,a,i,s,"throw",e)}i(undefined)})}}function a(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 i(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var o=true;var a=false;var c,i;try{for(n=n.call(e);!(o=(c=n.next()).done);o=true){r.push(c.value);if(t&&r.length===t)break}}catch(e){a=true;i=e}finally{try{if(!o&&n["return"]!=null)n["return"]()}finally{if(a)throw i}}return r}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 u(){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 l(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){a(e,t,n[t])})}return e}function f(e,n){return t(e)||i(e,n)||v(e,n)||s()}function d(e){return n(e)||c(e)||v(e)||u()}function p(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function v(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 g(e,t){var n,r,o,a={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},c=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return c.next=i(0),c["throw"]=i(1),c["return"]=i(2),typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function i(e){return function(t){return s([e,t])}}function s(i){if(n)throw new TypeError("Generator is already executing.");while(c&&(c=0,i[0]&&(a=0)),a)try{if(n=1,r&&(o=i[0]&2?r["return"]:i[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;if(r=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:a.label++;return{value:i[1],done:false};case 5:a.label++;r=i[1];i=[0];continue;case 7:i=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){a=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(i[0]===6&&a.label<o[1]){a.label=o[1];o=i;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(i);break}if(o[2])a.ops.pop();a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e];r=0}finally{n=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var m=Object.defineProperty;var h=function(e,t){return m(e,"name",{value:t,configurable:!0})};var y={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};import b from"node-fetch";var I=".cyberskill-storage";import E from"dotenv";import{bool as w,cleanEnv as C,str as S}from"envalid";import O from"node:os";import _ from"node:path";import T from"node:process";E.config();function k(){var e={DEBUG:T.env.DEBUG||!1,CWD:T.env.CWD||T.cwd(),CYBERSKILL_STORAGE_DIRECTORY:T.env.CYBERSKILL_STORAGE_DIRECTORY||_.join(O.homedir(),I)};return C(e,{DEBUG:w(),CWD:S(),CYBERSKILL_STORAGE_DIRECTORY:S()})}h(k,"getEnv");var L=function(e){return e.CLI="CLI",e.RAW="RAW",e}({});import{exec as R}from"node:child_process";import G from"node:process";import*as A from"node:util";var D=function(e){return e.Error="error",e.Warning="warning",e}({});import P from"chalk";import j from"consola";import{GraphQLError as N}from"graphql";var x=k();x.DEBUG||(j.level=4);function F(e){var t=P[e];return typeof t=="function"?t:P.green}h(F,"chalkKeyword");var M={silent:j.silent,level:j.level,fatal:j.fatal,error:j.error,warn:j.warn,log:j.log,info:j.info,success:j.success,ready:j.ready,start:j.start,box:j.box,debug:j.debug,trace:j.trace,verbose:j.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){j.box(P.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,o=e.rule,a=e.message;j.log("".concat(P.gray("File:")," ").concat(P.blue("".concat(t).concat(r?":".concat(r):"")))),o&&j.log(" ".concat(F(n)("Rule:")," ").concat(o)),j.log(" ".concat(F(n)("Message:")," ").concat(a))}),j.box(F(n)("".concat(e," : ").concat(t.length))),j.log(P.gray("─".repeat(40)))}};import*as U from"node:path";var W=k();function K(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=U).resolve.apply(r,[W.CWD].concat(d(t)))}h(K,"resolveWorkingPath");function Y(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=U).join.apply(r,d(t))}h(Y,"join");var B=k(),J=B.CWD,H="@cyberskill/shared",$="node_modules",V="dist",q="package.json",Q="package-lock.json",z="tsconfig.json",X=".gitignore",Z=".simple-git-hooks.json",ee="pnpm-lock.yaml",et=".git/hooks/",en=".git/COMMIT_EDITMSG",er=Y(J,$,H,V),eo="cyberskill",ea="src/nodejs/cli/index.ts",ec="eslint",ei="eslint",es="vitest",eu="playwright",el="vitest",ef="@commitlint/cli",ed="commitlint",ep="lint-staged",ev="lint-staged",eg="typescript",em="tsc",eh="tsx",ey="git",eb="pnpm",eI="pnpm exec",eE="simple-git-hooks",ew="simple-git-hooks",eC="@eslint/config-inspector",eS="eslint-config-inspector",eO="node-modules-inspector",e_="node-modules-inspector",eT="migrate-mongo",ek="migrate-mongo",eL={CYBERSKILL_DIRECTORY:er,WORKING_DIRECTORY:J,TS_CONFIG:K(z),GIT_IGNORE:K(X),GIT_HOOK:K(et),GIT_COMMIT_MSG:K(en),SIMPLE_GIT_HOOKS_JSON:K(Z),PACKAGE_JSON:K(q),PACKAGE_LOCK_JSON:K(Q),PNPM_LOCK_YAML:K(ee),NODE_MODULES:K($),LINT_STAGED_CONFIG:K("".concat(er,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:K("".concat(er,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:K("".concat(er,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:K("".concat(er,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:K("".concat(er,"/react/vitest/vitest.e2e.js"))};function eR(e){return eG.apply(this,arguments)}function eG(){eG=o(function(e){var t,n,r,o,a,c;var i=arguments;return g(this,function(s){switch(s.label){case 0:for(t=i.length,n=new Array(t>1?t-1:0),r=1;r<t;r++){n[r-1]=i[r]}o=f(n,2),a=o[0],c=o[1];if(!a)throw new Error("'first' argument is undefined");switch(e){case L.CLI:return[3,1];case L.RAW:return[3,3]}return[3,4];case 1:return[4,tt(a.split(" "),{update:!0})];case 2:return[2,(s.sent(),eQ(eV("".concat(eI," ").concat(c))))];case 3:return[2,eQ(eV(a))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})});return eG.apply(this,arguments)}h(eR,"buildCommand");function eA(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++){n[r-1]=arguments[r]}return /*#__PURE__*/o(function(){return g(this,function(t){return[2,eR.apply(void 0,[e].concat(d(n)))]})})}h(eA,"commandFactory");var eD={simpleGitHooks:eA(L.CLI,eE,ew),eslintInspect:eA(L.CLI,eC,eS),nodeModulesInspect:eA(L.CLI,eO,e_),eslintCheck:eA(L.CLI,ec,"".concat(ei," ").concat(eL.WORKING_DIRECTORY)),eslintFix:eA(L.CLI,ec,"".concat(ei," ").concat(eL.WORKING_DIRECTORY," --fix")),typescriptCheck:eA(L.CLI,eg,"".concat(em," -p ").concat(eL.TS_CONFIG," --noEmit")),configureGitHook:eA(L.RAW,"".concat(ey," config core.hooksPath ").concat(eL.GIT_HOOK)),testUnit:eA(L.CLI,es,"".concat(el," --config ").concat(eL.UNIT_TEST_CONFIG)),testE2e:eA(L.CLI,"".concat(es," ").concat(eu),"".concat(el," --config ").concat(eL.E2E_TEST_CONFIG)),mongoMigrateCreate:h(function(e){return eA(L.CLI,"".concat(eT),"".concat(ek," create ").concat(e))()},"mongoMigrateCreate"),mongoMigrateUp:eA(L.CLI,"".concat(eT),"".concat(ek," up")),mongoMigrateDown:eA(L.CLI,"".concat(eT),"".concat(ek," down")),commitLint:eA(L.CLI,ef,"".concat(ed," --edit ").concat(eL.GIT_COMMIT_MSG," --config ").concat(eL.COMMITLINT_CONFIG)),lintStaged:eA(L.CLI,ep,"".concat(ev," --config ").concat(eL.LINT_STAGED_CONFIG)),stageBuildDirectory:eA(L.RAW,"".concat(ey," add ").concat(V)),build:eA(L.RAW,"".concat(eb," run build")),pnpmInstallStandard:eA(L.RAW,"".concat(eb," install")),pnpmInstallLegacy:eA(L.RAW,"".concat(eb," install --legacy-peer-deps")),pnpmInstallForce:eA(L.RAW,"".concat(eb," install --force"))};import eP from"node-persist";var ej=k();function eN(){return ex.apply(this,arguments)}function ex(){ex=o(function(){var e;return g(this,function(t){switch(t.label){case 0:e=eP.defaultInstance;if(e)return[3,2];return[4,eP.init({dir:ej.CYBERSKILL_STORAGE_DIRECTORY,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 ex.apply(this,arguments)}h(eN,"initNodePersist");var eF={get:function e(e){return o(function(){var t,n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eN()];case 1:r.sent();return[4,eP.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(M.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return o(function(){var n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eN()];case 1:r.sent();return[4,eP.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();M.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return o(function(){var t;return g(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eN()];case 1:n.sent();return[4,eP.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();M.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return o(function(){var e,t;return g(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eN()];case 1:n.sent();return[4,eP.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(M.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(M.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return o(function(){return g(this,function(t){try{return[2,"".concat(ej.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(M.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eM=k(),eU=A.promisify(R);function eW(e){return"error_list:".concat(e)}h(eW,"getErrorListKey");function eK(e){return eY.apply(this,arguments)}function eY(){eY=o(function(e){var t,n,r;return g(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];t=Date.now(),n=eW(t);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,eF.set(n,{errors:e,timestamp:t})];case 2:a.sent(),setTimeout(/*#__PURE__*/o(function(){var e;return g(this,function(t){switch(t.label){case 0:return[4,eF.getLogLink(n)];case 1:e=t.sent();e&&M.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:r=a.sent();M.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})});return eY.apply(this,arguments)}h(eK,"saveErrorListToStorage");function eB(e){var t=[],n=[],r="",o=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,a=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,c=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,s,u,l,f;var d=o.exec(e)||[],p=a.exec(e)||[],v=c.exec(e)||[];var g,m,h,y,b,I;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===D.Error?D.Error:D.Warning,message:(g=d===null||d===void 0?void 0:(i=d[4])===null||i===void 0?void 0:i.trim())!==null&&g!==void 0?g:"",rule:(m=d===null||d===void 0?void 0:(s=d[5])===null||s===void 0?void 0:s.trim())!==null&&m!==void 0?m:""}):p.length?t.push({file:(h=p===null||p===void 0?void 0:p[1])!==null&&h!==void 0?h:"",position:"".concat(p[2],":").concat(p[3]),type:p[4]===D.Error?D.Error:D.Warning,message:(y=p===null||p===void 0?void 0:(u=p[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):v.length?t.push({file:"commitlint",type:D.Error,message:(b=v===null||v===void 0?void 0:(l=v[1])===null||l===void 0?void 0:l.trim())!==null&&b!==void 0?b:"",rule:(I=v===null||v===void 0?void 0:(f=v[2])===null||f===void 0?void 0:f.trim())!==null&&I!==void 0?I:""}):n.push(e.trim())}}),t.length&&eK(t),eM.DEBUG&&n.length&&(M.warn("Unmatched lines:"),n.forEach(function(e){return M.info(" ".concat(e))}))}h(eB,"parseTextErrors");function eJ(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,o=e.line,a=e.column,c=e.ruleId,i=e.message;n.push({type:r===2?D.Error:D.Warning,file:t,position:"".concat(o,":").concat(a),rule:c,message:i})})}),n.length&&eK(n)}catch(t){eB(e)}}h(eJ,"parseCommandOutput");function eH(e){return e$.apply(this,arguments)}function e$(){e$=o(function(e){var t,n,r,o,a,c,i,s,u;var l=arguments;return g(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:eJ;n=new AbortController;G.on("SIGINT",function(){M.warn("Process interrupted. Terminating..."),n.abort(),G.exit()});f.label=1;case 1:f.trys.push([1,3,,4]);return[4,eU(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),o=r.stdout,a=r.stderr;[o,a].forEach(function(e){return e&&t(e)});return[3,4];case 3:c=f.sent();i=c.stdout,s=c.stderr,u=c.message;[i,s].forEach(function(e){return e&&t(e)}),!s&&!i&&M.error("Command failed: ".concat(u));return[3,4];case 4:return[2]}})});return e$.apply(this,arguments)}h(eH,"executeCommand");function eV(e){return{raw:!0,cmd:e}}h(eV,"rawCommand");function eq(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(eI," ").concat(H," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(eI," ").concat(eh," ").concat(ea," ").concat(e):"".concat(eI," ").concat(eo," ").concat(e)}h(eq,"formatCLI");function eQ(e,t){return typeof e=="function"?eq(e(t),t):(typeof e==="undefined"?"undefined":p(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?eq(e,t):e}h(eQ,"formatCommand");function ez(e,t){return eX.apply(this,arguments)}function eX(){eX=o(function(e,t){var n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);M.start("".concat(e)),eM.DEBUG&&M.info("→ ".concat(t));return[4,eH(t)];case 1:r.sent(),M.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw M.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})});return eX.apply(this,arguments)}h(ez,"runCommand");import*as eZ from"node:fs";function e0(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return eZ.existsSync(e)})}h(e0,"existsSync");function e1(e,t){var n=eZ.readFileSync(e,"utf-8");if(t===null||t===void 0?void 0:t.asJson)try{var r=JSON.parse(n);if((typeof r==="undefined"?"undefined":p(r))=="object"&&r!==null)return r;throw new Error("Parsed JSON is not an object or array")}catch(t){throw new Error("Failed to parse JSON from file: ".concat(e))}return n}h(e1,"readFileSync");function e2(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=n.isJson,o=r===void 0?!1:r,a=o&&(typeof t==="undefined"?"undefined":p(t))=="object"?JSON.stringify(t,null,4):String(t);eZ.writeFileSync(e,a,"utf-8")}h(e2,"writeFileSync");var e4=k();function e3(e){var t=Y(e4.CWD,q);if(!e0(t))return!1;try{var n=e1(t,{asJson:!0}),r=n.name,o=n.dependencies,a=o===void 0?{}:o,c=n.devDependencies,i=c===void 0?{}:c,s=r===e,u=e in a,l=e in i;return s||u||l?{path:t,file:n,isCurrentProject:s,isDepend:u,isDevDepend:l}:!1}catch(e){return M.warn("Failed to read package.json: ".concat(e.message)),!1}}h(e3,"getPackage");function e5(e){return e6.apply(this,arguments)}function e6(){e6=o(function(e){var t,n,r,o;return g(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,b("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=a.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=a.sent(),r=n.version;return[2,r];case 3:o=a.sent();throw M.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})});return e6.apply(this,arguments)}h(e5,"getLatestPackageVersion");function e8(e,t){return e7.apply(this,arguments)}function e7(){e7=o(function(e,t){var n,r,o,a,c,i,s,u,f,d,p,v,m,h,b,I,E,w,C,S,O;return g(this,function(g){switch(g.label){case 0:g.trys.push([0,4,,5]);n=e3(e);if(!n)return[2,l({},y)];s=n.path,u=n.file,f=n.isCurrentProject,d=n.isDepend,p=n.isDevDepend,v=(r=u.dependencies)!==null&&r!==void 0?r:{},m=(o=u.devDependencies)!==null&&o!==void 0?o:{},h=f?(a=u.version)!==null&&a!==void 0?a:"0.0.0":d?(c=v[e])!==null&&c!==void 0?c:"0.0.0":p?(i=m[e])!==null&&i!==void 0?i:"0.0.0":"0.0.0";if(!f)return[3,1];E=h;return[3,3];case 1:return[4,e5(e)];case 2:E=g.sent();g.label=3;case 3:b=E,I=f||h===b;if(!I&&(t===null||t===void 0?void 0:t.update)){;C=d?"dependencies":p?"devDependencies":null;C&&((w=u[C])===null||w===void 0?void 0:w[e])!==b&&(u[C]=(S=u[C])!==null&&S!==void 0?S:{},u[C][e]=b,e2(s,u,{isJson:!0}),M.info('Updated "'.concat(e,'" to version ').concat(b)))}return[2,{isCurrentProject:f,installedPath:s,file:u,isUpToDate:I}];case 4:O=g.sent();return[2,(M.error('Error checking package "'.concat(e,'": ').concat(O.message)),l({},y))];case 5:return[2]}})});return e7.apply(this,arguments)}h(e8,"checkPackage");function e9(){return te.apply(this,arguments)}function te(){te=o(function(){var e,t,n,r,o,a,c,i,s,u,l,f;return g(this,function(d){switch(d.label){case 0:e=[{command:h(function(){return eD.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:h(function(){return eD.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:h(function(){return eD.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;d.label=1;case 1:d.trys.push([1,9,10,11]);o=e[Symbol.iterator]();d.label=2;case 2:if(!!(t=(a=o.next()).done))return[3,8];c=a.value,i=c.command,s=c.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,i()];case 4:u=d.sent();return[4,ez("".concat(s," using: ").concat(u),u)];case 5:d.sent();return[2];case 6:l=d.sent();M.warn("Installation attempt failed: ".concat(s)),M.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:f=d.sent();n=true;r=f;return[3,11];case 10:try{if(!t&&o.return!=null){o.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})});return te.apply(this,arguments)}h(e9,"installDependencies");function tt(e,t){return tn.apply(this,arguments)}function tn(){tn=o(function(e,t){var n,r,o,a,c,i,s,u,f,p,v;return g(this,function(g){switch(g.label){case 0:if(!e0(eL.PACKAGE_JSON)){M.error("package.json not found. Aborting setup.");return[2]}g.label=1;case 1:g.trys.push([1,13,,14]);n=d(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return e8(e,l({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=g.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,e9()];case 3:r=g.sent();g.label=4;case 4:r;a=true,c=false,i=undefined;g.label=5;case 5:g.trys.push([5,10,11,12]);s=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();g.label=6;case 6:if(!!(a=(u=s.next()).done))return[3,9];f=u.value;return[4,f()];case 7:g.sent();g.label=8;case 8:a=true;return[3,6];case 9:return[3,12];case 10:p=g.sent();c=true;i=p;return[3,12];case 11:try{if(!a&&s.return!=null){s.return()}}finally{if(c){throw i}}return[7];case 12:return[3,14];case 13:v=g.sent();throw M.error('Failed to setup "'.concat(e.join(", "),'": ').concat(v.message)),v;case 14:return[2]}})});return tn.apply(this,arguments)}h(tt,"setupPackages");export{y as CHECK_PACKAGE_EMPTY_RESULT,e8 as checkPackage,e5 as getLatestPackageVersion,e3 as getPackage,e9 as installDependencies,tt as setupPackages};
@@ -1 +1 @@
1
- "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(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e,t,n,r,a,o,c){try{var i=e[o](c);var u=i.value}catch(e){n(e);return}if(i.done){t(u)}else{Promise.resolve(u).then(r,a)}}function a(e){return function(){var t=this,n=arguments;return new Promise(function(a,o){var c=e.apply(t,n);function i(e){r(c,a,o,i,u,"next",e)}function u(e){r(c,a,o,i,u,"throw",e)}i(undefined)})}}function o(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 i(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var a=true;var o=false;var c,i;try{for(n=n.call(e);!(a=(c=n.next()).done);a=true){r.push(c.value);if(t&&r.length===t)break}}catch(e){o=true;i=e}finally{try{if(!a&&n["return"]!=null)n["return"]()}finally{if(o)throw i}}return r}function u(){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 s(){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 l(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){o(e,t,n[t])})}return e}function f(e,n){return t(e)||i(e,n)||v(e,n)||u()}function d(e){return n(e)||c(e)||v(e)||s()}function p(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function v(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 g(e,t){var n,r,a,o={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},c=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return c.next=i(0),c["throw"]=i(1),c["return"]=i(2),typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function i(e){return function(t){return u([e,t])}}function u(i){if(n)throw new TypeError("Generator is already executing.");while(c&&(c=0,i[0]&&(o=0)),o)try{if(n=1,r&&(a=i[0]&2?r["return"]:i[0]?r["throw"]||((a=r["return"])&&a.call(r),0):r.next)&&!(a=a.call(r,i[1])).done)return a;if(r=0,a)i=[i[0]&2,a.value];switch(i[0]){case 0:case 1:a=i;break;case 4:o.label++;return{value:i[1],done:false};case 5:o.label++;r=i[1];i=[0];continue;case 7:i=o.ops.pop();o.trys.pop();continue;default:if(!(a=o.trys,a=a.length>0&&a[a.length-1])&&(i[0]===6||i[0]===2)){o=0;continue}if(i[0]===3&&(!a||i[1]>a[0]&&i[1]<a[3])){o.label=i[1];break}if(i[0]===6&&o.label<a[1]){o.label=a[1];a=i;break}if(a&&o.label<a[2]){o.label=a[2];o.ops.push(i);break}if(a[2])o.ops.pop();o.trys.pop();continue}i=t.call(e,o)}catch(e){i=[6,e];r=0}finally{n=a=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var y=Object.create;var h=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var I=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var E=function(e,t){return h(e,"name",{value:t,configurable:!0})};var O=function(e,t){for(var n in t)h(e,n,{get:t[n],enumerable:!0})},C=function(e,t,n,r){var a=true,o=false,c=undefined;if(t&&(typeof t==="undefined"?"undefined":p(t))=="object"||typeof t=="function")try{var i=function(){var a=s.value;!w.call(e,a)&&a!==n&&h(e,a,{get:function(){return t[a]},enumerable:!(r=m(t,a))||r.enumerable})};for(var u=b(t)[Symbol.iterator](),s;!(a=(s=u.next()).done);a=true)i()}catch(e){o=true;c=e}finally{try{if(!a&&u.return!=null){u.return()}}finally{if(o){throw c}}}return e};var S=function(e,t,n){return n=e!=null?y(I(e)):{},C(t||!e||!e.__esModule?h(n,"default",{value:e,enumerable:!0}):n,e)},_=function(e){return C(h({},"__esModule",{value:!0}),e)};var k={};O(k,{checkPackage:function(){return to},getLatestPackageVersion:function(){return tr},getPackage:function(){return tn},installDependencies:function(){return ti},setupPackages:function(){return ts}});module.exports=_(k);var T=S(require("node-fetch"),1);var L=".cyberskill-storage";var P=S(require("dotenv"),1),D=require("envalid"),R=S(require("os"),1),j=S(require("path"),1),G=S(require("process"),1);P.default.config();function A(){var e={DEBUG:G.default.env.DEBUG||!1,CWD:G.default.env.CWD,CYBERSKILL_STORAGE_DIRECTORY:G.default.env.CYBERSKILL_STORAGE_DIRECTORY||L};return(0,D.cleanEnv)(e,{DEBUG:(0,D.bool)(),CWD:(0,D.str)({default:G.default.cwd()}),CYBERSKILL_STORAGE_DIRECTORY:(0,D.str)({default:j.default.join(R.default.homedir(),L)})})}E(A,"getEnv");var N=function(e){return e.CLI="CLI",e.RAW="RAW",e}({});var x=require("child_process"),F=S(require("process"),1),M=S(require("util"),1);var W=function(e){return e.Error="error",e.Warning="warning",e}({});var U=S(require("chalk"),1),K=S(require("consola"),1),q=require("graphql");var Y=A();Y.DEBUG||(K.default.level=4);function B(e){var t=U.default[e];return typeof t=="function"?t:U.default.green}E(B,"chalkKeyword");var J={silent:K.default.silent,level:K.default.level,fatal:K.default.fatal,error:K.default.error,warn:K.default.warn,log:K.default.log,info:K.default.info,success:K.default.success,ready:K.default.ready,start:K.default.start,box:K.default.box,debug:K.default.debug,trace:K.default.trace,verbose:K.default.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){K.default.box(U.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,a=e.rule,o=e.message;K.default.log("".concat(U.default.gray("File:")," ").concat(U.default.blue("".concat(t).concat(r?":".concat(r):"")))),a&&K.default.log(" ".concat(B(n)("Rule:")," ").concat(a)),K.default.log(" ".concat(B(n)("Message:")," ").concat(o))}),K.default.box(B(n)("".concat(e," : ").concat(t.length))),K.default.log(U.default.gray("─".repeat(40)))}};var H={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var V=S(require("path"),1);var $=A();function z(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=V).resolve.apply(r,[$.CWD].concat(d(t)))}E(z,"resolveWorkingPath");function Q(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=V).join.apply(r,d(t))}E(Q,"join");var X=A(),Z=X.CWD,ee="@cyberskill/shared",et="node_modules",en="dist",er="package.json",ea="package-lock.json",eo="tsconfig.json",ec=".gitignore",ei=".simple-git-hooks.json",eu="pnpm-lock.yaml",es=".git/hooks/",el=".git/COMMIT_EDITMSG",ef=Q(Z,et,ee,en),ed="cyberskill",ep="src/nodejs/cli/index.ts",ev="eslint",eg="eslint",ey="vitest",eh="playwright",em="vitest",eb="@commitlint/cli",eI="commitlint",ew="lint-staged",eE="lint-staged",eO="typescript",eC="tsc",eS="tsx",e_="git",ek="pnpm",eT="pnpm exec",eL="simple-git-hooks",eP="simple-git-hooks",eD="@eslint/config-inspector",eR="eslint-config-inspector",ej="node-modules-inspector",eG="node-modules-inspector",eA="migrate-mongo",eN="migrate-mongo",ex={CYBERSKILL_DIRECTORY:ef,WORKING_DIRECTORY:Z,TS_CONFIG:z(eo),GIT_IGNORE:z(ec),GIT_HOOK:z(es),GIT_COMMIT_MSG:z(el),SIMPLE_GIT_HOOKS_JSON:z(ei),PACKAGE_JSON:z(er),PACKAGE_LOCK_JSON:z(ea),PNPM_LOCK_YAML:z(eu),NODE_MODULES:z(et),LINT_STAGED_CONFIG:z("".concat(ef,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:z("".concat(ef,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:z("".concat(ef,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:z("".concat(ef,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:z("".concat(ef,"/react/vitest/vitest.e2e.js"))};function eF(e){return eM.apply(this,arguments)}function eM(){eM=a(function(e){var t,n,r,a,o,c;var i=arguments;return g(this,function(u){switch(u.label){case 0:for(t=i.length,n=new Array(t>1?t-1:0),r=1;r<t;r++){n[r-1]=i[r]}a=f(n,2),o=a[0],c=a[1];if(!o)throw new Error("'first' argument is undefined");switch(e){case N.CLI:return[3,1];case N.RAW:return[3,3]}return[3,4];case 1:return[4,ts(o.split(" "),{update:!0})];case 2:return[2,(u.sent(),e3(e2("".concat(eT," ").concat(c))))];case 3:return[2,e3(e2(o))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})});return eM.apply(this,arguments)}E(eF,"buildCommand");function eW(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++){n[r-1]=arguments[r]}return /*#__PURE__*/a(function(){return g(this,function(t){return[2,eF.apply(void 0,[e].concat(d(n)))]})})}E(eW,"commandFactory");var eU={simpleGitHooks:eW(N.CLI,eL,eP),eslintInspect:eW(N.CLI,eD,eR),nodeModulesInspect:eW(N.CLI,ej,eG),eslintCheck:eW(N.CLI,ev,"".concat(eg," ").concat(ex.WORKING_DIRECTORY)),eslintFix:eW(N.CLI,ev,"".concat(eg," ").concat(ex.WORKING_DIRECTORY," --fix")),typescriptCheck:eW(N.CLI,eO,"".concat(eC," -p ").concat(ex.TS_CONFIG," --noEmit")),configureGitHook:eW(N.RAW,"".concat(e_," config core.hooksPath ").concat(ex.GIT_HOOK)),testUnit:eW(N.CLI,ey,"".concat(em," --config ").concat(ex.UNIT_TEST_CONFIG)),testE2e:eW(N.CLI,"".concat(ey," ").concat(eh),"".concat(em," --config ").concat(ex.E2E_TEST_CONFIG)),mongoMigrateCreate:E(function(e){return eW(N.CLI,"".concat(eA),"".concat(eN," create ").concat(e))()},"mongoMigrateCreate"),mongoMigrateUp:eW(N.CLI,"".concat(eA),"".concat(eN," up")),mongoMigrateDown:eW(N.CLI,"".concat(eA),"".concat(eN," down")),commitLint:eW(N.CLI,eb,"".concat(eI," --edit ").concat(ex.GIT_COMMIT_MSG," --config ").concat(ex.COMMITLINT_CONFIG)),lintStaged:eW(N.CLI,ew,"".concat(eE," --config ").concat(ex.LINT_STAGED_CONFIG)),stageBuildDirectory:eW(N.RAW,"".concat(e_," add ").concat(en)),build:eW(N.RAW,"".concat(ek," run build")),pnpmInstallStandard:eW(N.RAW,"".concat(ek," install")),pnpmInstallLegacy:eW(N.RAW,"".concat(ek," install --legacy-peer-deps")),pnpmInstallForce:eW(N.RAW,"".concat(ek," install --force"))};var eK=S(require("node-persist"),1);var eq=A();function eY(){return eB.apply(this,arguments)}function eB(){eB=a(function(){var e;return g(this,function(t){switch(t.label){case 0:e=eK.default.defaultInstance;if(e)return[3,2];return[4,eK.default.init({dir:eq.CYBERSKILL_STORAGE_DIRECTORY,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 eB.apply(this,arguments)}E(eY,"initNodePersist");var eJ={get:function e(e){return a(function(){var t,n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eY()];case 1:r.sent();return[4,eK.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(J.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return a(function(){var n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eY()];case 1:r.sent();return[4,eK.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();J.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return a(function(){var t;return g(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eY()];case 1:n.sent();return[4,eK.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();J.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return a(function(){var e,t;return g(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eY()];case 1:n.sent();return[4,eK.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(J.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(J.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return a(function(){return g(this,function(t){try{return[2,"".concat(eq.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(J.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eH=A(),eV=M.promisify(x.exec);function e$(e){return"error_list:".concat(e)}E(e$,"getErrorListKey");function ez(e){return eQ.apply(this,arguments)}function eQ(){eQ=a(function(e){var t,n,r;return g(this,function(o){switch(o.label){case 0:if(e.length===0)return[2];t=Date.now(),n=e$(t);o.label=1;case 1:o.trys.push([1,3,,4]);return[4,eJ.set(n,{errors:e,timestamp:t})];case 2:o.sent(),setTimeout(/*#__PURE__*/a(function(){var e;return g(this,function(t){switch(t.label){case 0:return[4,eJ.getLogLink(n)];case 1:e=t.sent();e&&J.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:r=o.sent();J.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})});return eQ.apply(this,arguments)}E(ez,"saveErrorListToStorage");function eX(e){var t=[],n=[],r="",a=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,o=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,c=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,u,s,l,f;var d=a.exec(e)||[],p=o.exec(e)||[],v=c.exec(e)||[];var g,y,h,m,b,I;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===W.Error?W.Error:W.Warning,message:(g=d===null||d===void 0?void 0:(i=d[4])===null||i===void 0?void 0:i.trim())!==null&&g!==void 0?g:"",rule:(y=d===null||d===void 0?void 0:(u=d[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):p.length?t.push({file:(h=p===null||p===void 0?void 0:p[1])!==null&&h!==void 0?h:"",position:"".concat(p[2],":").concat(p[3]),type:p[4]===W.Error?W.Error:W.Warning,message:(m=p===null||p===void 0?void 0:(s=p[5])===null||s===void 0?void 0:s.trim())!==null&&m!==void 0?m:""}):v.length?t.push({file:"commitlint",type:W.Error,message:(b=v===null||v===void 0?void 0:(l=v[1])===null||l===void 0?void 0:l.trim())!==null&&b!==void 0?b:"",rule:(I=v===null||v===void 0?void 0:(f=v[2])===null||f===void 0?void 0:f.trim())!==null&&I!==void 0?I:""}):n.push(e.trim())}}),t.length&&ez(t),eH.DEBUG&&n.length&&(J.warn("Unmatched lines:"),n.forEach(function(e){return J.info(" ".concat(e))}))}E(eX,"parseTextErrors");function eZ(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,a=e.line,o=e.column,c=e.ruleId,i=e.message;n.push({type:r===2?W.Error:W.Warning,file:t,position:"".concat(a,":").concat(o),rule:c,message:i})})}),n.length&&ez(n)}catch(t){eX(e)}}E(eZ,"parseCommandOutput");function e0(e){return e1.apply(this,arguments)}function e1(){e1=a(function(e){var t,n,r,a,o,c,i,u,s;var l=arguments;return g(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:eZ;n=new AbortController;F.default.on("SIGINT",function(){J.warn("Process interrupted. Terminating..."),n.abort(),F.default.exit()});f.label=1;case 1:f.trys.push([1,3,,4]);return[4,eV(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),a=r.stdout,o=r.stderr;[a,o].forEach(function(e){return e&&t(e)});return[3,4];case 3:c=f.sent();i=c.stdout,u=c.stderr,s=c.message;[i,u].forEach(function(e){return e&&t(e)}),!u&&!i&&J.error("Command failed: ".concat(s));return[3,4];case 4:return[2]}})});return e1.apply(this,arguments)}E(e0,"executeCommand");function e2(e){return{raw:!0,cmd:e}}E(e2,"rawCommand");function e4(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(eT," ").concat(ee," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(eT," ").concat(eS," ").concat(ep," ").concat(e):"".concat(eT," ").concat(ed," ").concat(e)}E(e4,"formatCLI");function e3(e,t){return typeof e=="function"?e4(e(t),t):(typeof e==="undefined"?"undefined":p(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?e4(e,t):e}E(e3,"formatCommand");function e5(e,t){return e6.apply(this,arguments)}function e6(){e6=a(function(e,t){var n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);J.start("".concat(e)),eH.DEBUG&&J.info("→ ".concat(t));return[4,e0(t)];case 1:r.sent(),J.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw J.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})});return e6.apply(this,arguments)}E(e5,"runCommand");var e8=S(require("fs"),1);function e7(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return e8.existsSync(e)})}E(e7,"existsSync");function e9(e,t){var n=e8.readFileSync(e,"utf-8");if(t===null||t===void 0?void 0:t.asJson)try{var r=JSON.parse(n);if((typeof r==="undefined"?"undefined":p(r))=="object"&&r!==null)return r;throw new Error("Parsed JSON is not an object or array")}catch(t){throw new Error("Failed to parse JSON from file: ".concat(e))}return n}E(e9,"readFileSync");function te(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=n.isJson,a=r===void 0?!1:r,o=a&&(typeof t==="undefined"?"undefined":p(t))=="object"?JSON.stringify(t,null,4):String(t);e8.writeFileSync(e,o,"utf-8")}E(te,"writeFileSync");var tt=A();function tn(e){var t=Q(tt.CWD,er);if(!e7(t))return!1;try{var n=e9(t,{asJson:!0}),r=n.name,a=n.dependencies,o=a===void 0?{}:a,c=n.devDependencies,i=c===void 0?{}:c,u=r===e,s=e in o,l=e in i;return u||s||l?{path:t,file:n,isCurrentProject:u,isDepend:s,isDevDepend:l}:!1}catch(e){return J.warn("Failed to read package.json: ".concat(e.message)),!1}}E(tn,"getPackage");function tr(e){return ta.apply(this,arguments)}function ta(){ta=a(function(e){var t,n,r,a;return g(this,function(o){switch(o.label){case 0:o.trys.push([0,3,,4]);return[4,(0,T.default)("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=o.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=o.sent(),r=n.version;return[2,r];case 3:a=o.sent();throw J.error('Failed to fetch version for "'.concat(e,'": ').concat(a.message)),a;case 4:return[2]}})});return ta.apply(this,arguments)}E(tr,"getLatestPackageVersion");function to(e,t){return tc.apply(this,arguments)}function tc(){tc=a(function(e,t){var n,r,a,o,c,i,u,s,f,d,p,v,y,h,m,b,I,w,E,O,C;return g(this,function(g){switch(g.label){case 0:g.trys.push([0,4,,5]);n=tn(e);if(!n)return[2,l({},H)];u=n.path,s=n.file,f=n.isCurrentProject,d=n.isDepend,p=n.isDevDepend,v=(r=s.dependencies)!==null&&r!==void 0?r:{},y=(a=s.devDependencies)!==null&&a!==void 0?a:{},h=f?(o=s.version)!==null&&o!==void 0?o:"0.0.0":d?(c=v[e])!==null&&c!==void 0?c:"0.0.0":p?(i=y[e])!==null&&i!==void 0?i:"0.0.0":"0.0.0";if(!f)return[3,1];I=h;return[3,3];case 1:return[4,tr(e)];case 2:I=g.sent();g.label=3;case 3:m=I,b=f||h===m;if(!b&&(t===null||t===void 0?void 0:t.update)){;E=d?"dependencies":p?"devDependencies":null;E&&((w=s[E])===null||w===void 0?void 0:w[e])!==m&&(s[E]=(O=s[E])!==null&&O!==void 0?O:{},s[E][e]=m,te(u,s,{isJson:!0}),J.info('Updated "'.concat(e,'" to version ').concat(m)))}return[2,{isCurrentProject:f,installedPath:u,file:s,isUpToDate:b}];case 4:C=g.sent();return[2,(J.error('Error checking package "'.concat(e,'": ').concat(C.message)),l({},H))];case 5:return[2]}})});return tc.apply(this,arguments)}E(to,"checkPackage");function ti(){return tu.apply(this,arguments)}function tu(){tu=a(function(){var e,t,n,r,a,o,c,i,u,s,l,f;return g(this,function(d){switch(d.label){case 0:e=[{command:E(function(){return eU.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:E(function(){return eU.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:E(function(){return eU.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;d.label=1;case 1:d.trys.push([1,9,10,11]);a=e[Symbol.iterator]();d.label=2;case 2:if(!!(t=(o=a.next()).done))return[3,8];c=o.value,i=c.command,u=c.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,i()];case 4:s=d.sent();return[4,e5("".concat(u," using: ").concat(s),s)];case 5:d.sent();return[2];case 6:l=d.sent();J.warn("Installation attempt failed: ".concat(u)),J.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:f=d.sent();n=true;r=f;return[3,11];case 10:try{if(!t&&a.return!=null){a.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})});return tu.apply(this,arguments)}E(ti,"installDependencies");function ts(e,t){return tl.apply(this,arguments)}function tl(){tl=a(function(e,t){var n,r,a,o,c,i,u,s,f,p,v;return g(this,function(g){switch(g.label){case 0:if(!e7(ex.PACKAGE_JSON)){J.error("package.json not found. Aborting setup.");return[2]}g.label=1;case 1:g.trys.push([1,13,,14]);n=d(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return to(e,l({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=g.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,ti()];case 3:r=g.sent();g.label=4;case 4:r;o=true,c=false,i=undefined;g.label=5;case 5:g.trys.push([5,10,11,12]);u=((a=t===null||t===void 0?void 0:t.postInstallActions)!==null&&a!==void 0?a:[])[Symbol.iterator]();g.label=6;case 6:if(!!(o=(s=u.next()).done))return[3,9];f=s.value;return[4,f()];case 7:g.sent();g.label=8;case 8:o=true;return[3,6];case 9:return[3,12];case 10:p=g.sent();c=true;i=p;return[3,12];case 11:try{if(!o&&u.return!=null){u.return()}}finally{if(c){throw i}}return[7];case 12:return[3,14];case 13:v=g.sent();throw J.error('Failed to setup "'.concat(e.join(", "),'": ').concat(v.message)),v;case 14:return[2]}})});return tl.apply(this,arguments)}E(ts,"setupPackages");0&&(module.exports={checkPackage:checkPackage,getLatestPackageVersion:getLatestPackageVersion,getPackage:getPackage,installDependencies:installDependencies,setupPackages:setupPackages});
1
+ "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(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e,t,n,r,a,o,c){try{var i=e[o](c);var u=i.value}catch(e){n(e);return}if(i.done){t(u)}else{Promise.resolve(u).then(r,a)}}function a(e){return function(){var t=this,n=arguments;return new Promise(function(a,o){var c=e.apply(t,n);function i(e){r(c,a,o,i,u,"next",e)}function u(e){r(c,a,o,i,u,"throw",e)}i(undefined)})}}function o(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 i(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var a=true;var o=false;var c,i;try{for(n=n.call(e);!(a=(c=n.next()).done);a=true){r.push(c.value);if(t&&r.length===t)break}}catch(e){o=true;i=e}finally{try{if(!a&&n["return"]!=null)n["return"]()}finally{if(o)throw i}}return r}function u(){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 s(){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 l(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){o(e,t,n[t])})}return e}function f(e,n){return t(e)||i(e,n)||v(e,n)||u()}function d(e){return n(e)||c(e)||v(e)||s()}function p(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function v(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 g(e,t){var n,r,a,o={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},c=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return c.next=i(0),c["throw"]=i(1),c["return"]=i(2),typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function i(e){return function(t){return u([e,t])}}function u(i){if(n)throw new TypeError("Generator is already executing.");while(c&&(c=0,i[0]&&(o=0)),o)try{if(n=1,r&&(a=i[0]&2?r["return"]:i[0]?r["throw"]||((a=r["return"])&&a.call(r),0):r.next)&&!(a=a.call(r,i[1])).done)return a;if(r=0,a)i=[i[0]&2,a.value];switch(i[0]){case 0:case 1:a=i;break;case 4:o.label++;return{value:i[1],done:false};case 5:o.label++;r=i[1];i=[0];continue;case 7:i=o.ops.pop();o.trys.pop();continue;default:if(!(a=o.trys,a=a.length>0&&a[a.length-1])&&(i[0]===6||i[0]===2)){o=0;continue}if(i[0]===3&&(!a||i[1]>a[0]&&i[1]<a[3])){o.label=i[1];break}if(i[0]===6&&o.label<a[1]){o.label=a[1];a=i;break}if(a&&o.label<a[2]){o.label=a[2];o.ops.push(i);break}if(a[2])o.ops.pop();o.trys.pop();continue}i=t.call(e,o)}catch(e){i=[6,e];r=0}finally{n=a=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var y=Object.create;var h=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var I=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var E=function(e,t){return h(e,"name",{value:t,configurable:!0})};var O=function(e,t){for(var n in t)h(e,n,{get:t[n],enumerable:!0})},C=function(e,t,n,r){var a=true,o=false,c=undefined;if(t&&(typeof t==="undefined"?"undefined":p(t))=="object"||typeof t=="function")try{var i=function(){var a=s.value;!w.call(e,a)&&a!==n&&h(e,a,{get:function(){return t[a]},enumerable:!(r=m(t,a))||r.enumerable})};for(var u=b(t)[Symbol.iterator](),s;!(a=(s=u.next()).done);a=true)i()}catch(e){o=true;c=e}finally{try{if(!a&&u.return!=null){u.return()}}finally{if(o){throw c}}}return e};var S=function(e,t,n){return n=e!=null?y(I(e)):{},C(t||!e||!e.__esModule?h(n,"default",{value:e,enumerable:!0}):n,e)},_=function(e){return C(h({},"__esModule",{value:!0}),e)};var k={};O(k,{checkPackage:function(){return to},getLatestPackageVersion:function(){return tr},getPackage:function(){return tn},installDependencies:function(){return ti},setupPackages:function(){return ts}});module.exports=_(k);var T=S(require("node-fetch"),1);var L=".cyberskill-storage";var P=S(require("dotenv"),1),D=require("envalid"),R=S(require("os"),1),j=S(require("path"),1),G=S(require("process"),1);P.default.config();function A(){var e={DEBUG:G.default.env.DEBUG||!1,CWD:G.default.env.CWD||G.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:G.default.env.CYBERSKILL_STORAGE_DIRECTORY||j.default.join(R.default.homedir(),L)};return(0,D.cleanEnv)(e,{DEBUG:(0,D.bool)(),CWD:(0,D.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,D.str)()})}E(A,"getEnv");var N=function(e){return e.CLI="CLI",e.RAW="RAW",e}({});var x=require("child_process"),F=S(require("process"),1),M=S(require("util"),1);var W=function(e){return e.Error="error",e.Warning="warning",e}({});var U=S(require("chalk"),1),K=S(require("consola"),1),q=require("graphql");var Y=A();Y.DEBUG||(K.default.level=4);function B(e){var t=U.default[e];return typeof t=="function"?t:U.default.green}E(B,"chalkKeyword");var J={silent:K.default.silent,level:K.default.level,fatal:K.default.fatal,error:K.default.error,warn:K.default.warn,log:K.default.log,info:K.default.info,success:K.default.success,ready:K.default.ready,start:K.default.start,box:K.default.box,debug:K.default.debug,trace:K.default.trace,verbose:K.default.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){K.default.box(U.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,a=e.rule,o=e.message;K.default.log("".concat(U.default.gray("File:")," ").concat(U.default.blue("".concat(t).concat(r?":".concat(r):"")))),a&&K.default.log(" ".concat(B(n)("Rule:")," ").concat(a)),K.default.log(" ".concat(B(n)("Message:")," ").concat(o))}),K.default.box(B(n)("".concat(e," : ").concat(t.length))),K.default.log(U.default.gray("─".repeat(40)))}};var H={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var V=S(require("path"),1);var $=A();function z(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=V).resolve.apply(r,[$.CWD].concat(d(t)))}E(z,"resolveWorkingPath");function Q(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=V).join.apply(r,d(t))}E(Q,"join");var X=A(),Z=X.CWD,ee="@cyberskill/shared",et="node_modules",en="dist",er="package.json",ea="package-lock.json",eo="tsconfig.json",ec=".gitignore",ei=".simple-git-hooks.json",eu="pnpm-lock.yaml",es=".git/hooks/",el=".git/COMMIT_EDITMSG",ef=Q(Z,et,ee,en),ed="cyberskill",ep="src/nodejs/cli/index.ts",ev="eslint",eg="eslint",ey="vitest",eh="playwright",em="vitest",eb="@commitlint/cli",eI="commitlint",ew="lint-staged",eE="lint-staged",eO="typescript",eC="tsc",eS="tsx",e_="git",ek="pnpm",eT="pnpm exec",eL="simple-git-hooks",eP="simple-git-hooks",eD="@eslint/config-inspector",eR="eslint-config-inspector",ej="node-modules-inspector",eG="node-modules-inspector",eA="migrate-mongo",eN="migrate-mongo",ex={CYBERSKILL_DIRECTORY:ef,WORKING_DIRECTORY:Z,TS_CONFIG:z(eo),GIT_IGNORE:z(ec),GIT_HOOK:z(es),GIT_COMMIT_MSG:z(el),SIMPLE_GIT_HOOKS_JSON:z(ei),PACKAGE_JSON:z(er),PACKAGE_LOCK_JSON:z(ea),PNPM_LOCK_YAML:z(eu),NODE_MODULES:z(et),LINT_STAGED_CONFIG:z("".concat(ef,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:z("".concat(ef,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:z("".concat(ef,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:z("".concat(ef,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:z("".concat(ef,"/react/vitest/vitest.e2e.js"))};function eF(e){return eM.apply(this,arguments)}function eM(){eM=a(function(e){var t,n,r,a,o,c;var i=arguments;return g(this,function(u){switch(u.label){case 0:for(t=i.length,n=new Array(t>1?t-1:0),r=1;r<t;r++){n[r-1]=i[r]}a=f(n,2),o=a[0],c=a[1];if(!o)throw new Error("'first' argument is undefined");switch(e){case N.CLI:return[3,1];case N.RAW:return[3,3]}return[3,4];case 1:return[4,ts(o.split(" "),{update:!0})];case 2:return[2,(u.sent(),e3(e2("".concat(eT," ").concat(c))))];case 3:return[2,e3(e2(o))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})});return eM.apply(this,arguments)}E(eF,"buildCommand");function eW(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++){n[r-1]=arguments[r]}return /*#__PURE__*/a(function(){return g(this,function(t){return[2,eF.apply(void 0,[e].concat(d(n)))]})})}E(eW,"commandFactory");var eU={simpleGitHooks:eW(N.CLI,eL,eP),eslintInspect:eW(N.CLI,eD,eR),nodeModulesInspect:eW(N.CLI,ej,eG),eslintCheck:eW(N.CLI,ev,"".concat(eg," ").concat(ex.WORKING_DIRECTORY)),eslintFix:eW(N.CLI,ev,"".concat(eg," ").concat(ex.WORKING_DIRECTORY," --fix")),typescriptCheck:eW(N.CLI,eO,"".concat(eC," -p ").concat(ex.TS_CONFIG," --noEmit")),configureGitHook:eW(N.RAW,"".concat(e_," config core.hooksPath ").concat(ex.GIT_HOOK)),testUnit:eW(N.CLI,ey,"".concat(em," --config ").concat(ex.UNIT_TEST_CONFIG)),testE2e:eW(N.CLI,"".concat(ey," ").concat(eh),"".concat(em," --config ").concat(ex.E2E_TEST_CONFIG)),mongoMigrateCreate:E(function(e){return eW(N.CLI,"".concat(eA),"".concat(eN," create ").concat(e))()},"mongoMigrateCreate"),mongoMigrateUp:eW(N.CLI,"".concat(eA),"".concat(eN," up")),mongoMigrateDown:eW(N.CLI,"".concat(eA),"".concat(eN," down")),commitLint:eW(N.CLI,eb,"".concat(eI," --edit ").concat(ex.GIT_COMMIT_MSG," --config ").concat(ex.COMMITLINT_CONFIG)),lintStaged:eW(N.CLI,ew,"".concat(eE," --config ").concat(ex.LINT_STAGED_CONFIG)),stageBuildDirectory:eW(N.RAW,"".concat(e_," add ").concat(en)),build:eW(N.RAW,"".concat(ek," run build")),pnpmInstallStandard:eW(N.RAW,"".concat(ek," install")),pnpmInstallLegacy:eW(N.RAW,"".concat(ek," install --legacy-peer-deps")),pnpmInstallForce:eW(N.RAW,"".concat(ek," install --force"))};var eK=S(require("node-persist"),1);var eq=A();function eY(){return eB.apply(this,arguments)}function eB(){eB=a(function(){var e;return g(this,function(t){switch(t.label){case 0:e=eK.default.defaultInstance;if(e)return[3,2];return[4,eK.default.init({dir:eq.CYBERSKILL_STORAGE_DIRECTORY,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 eB.apply(this,arguments)}E(eY,"initNodePersist");var eJ={get:function e(e){return a(function(){var t,n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eY()];case 1:r.sent();return[4,eK.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(J.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return a(function(){var n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eY()];case 1:r.sent();return[4,eK.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();J.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return a(function(){var t;return g(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eY()];case 1:n.sent();return[4,eK.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();J.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return a(function(){var e,t;return g(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eY()];case 1:n.sent();return[4,eK.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(J.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(J.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return a(function(){return g(this,function(t){try{return[2,"".concat(eq.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(J.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eH=A(),eV=M.promisify(x.exec);function e$(e){return"error_list:".concat(e)}E(e$,"getErrorListKey");function ez(e){return eQ.apply(this,arguments)}function eQ(){eQ=a(function(e){var t,n,r;return g(this,function(o){switch(o.label){case 0:if(e.length===0)return[2];t=Date.now(),n=e$(t);o.label=1;case 1:o.trys.push([1,3,,4]);return[4,eJ.set(n,{errors:e,timestamp:t})];case 2:o.sent(),setTimeout(/*#__PURE__*/a(function(){var e;return g(this,function(t){switch(t.label){case 0:return[4,eJ.getLogLink(n)];case 1:e=t.sent();e&&J.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:r=o.sent();J.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})});return eQ.apply(this,arguments)}E(ez,"saveErrorListToStorage");function eX(e){var t=[],n=[],r="",a=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,o=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,c=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,u,s,l,f;var d=a.exec(e)||[],p=o.exec(e)||[],v=c.exec(e)||[];var g,y,h,m,b,I;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===W.Error?W.Error:W.Warning,message:(g=d===null||d===void 0?void 0:(i=d[4])===null||i===void 0?void 0:i.trim())!==null&&g!==void 0?g:"",rule:(y=d===null||d===void 0?void 0:(u=d[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):p.length?t.push({file:(h=p===null||p===void 0?void 0:p[1])!==null&&h!==void 0?h:"",position:"".concat(p[2],":").concat(p[3]),type:p[4]===W.Error?W.Error:W.Warning,message:(m=p===null||p===void 0?void 0:(s=p[5])===null||s===void 0?void 0:s.trim())!==null&&m!==void 0?m:""}):v.length?t.push({file:"commitlint",type:W.Error,message:(b=v===null||v===void 0?void 0:(l=v[1])===null||l===void 0?void 0:l.trim())!==null&&b!==void 0?b:"",rule:(I=v===null||v===void 0?void 0:(f=v[2])===null||f===void 0?void 0:f.trim())!==null&&I!==void 0?I:""}):n.push(e.trim())}}),t.length&&ez(t),eH.DEBUG&&n.length&&(J.warn("Unmatched lines:"),n.forEach(function(e){return J.info(" ".concat(e))}))}E(eX,"parseTextErrors");function eZ(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,a=e.line,o=e.column,c=e.ruleId,i=e.message;n.push({type:r===2?W.Error:W.Warning,file:t,position:"".concat(a,":").concat(o),rule:c,message:i})})}),n.length&&ez(n)}catch(t){eX(e)}}E(eZ,"parseCommandOutput");function e0(e){return e1.apply(this,arguments)}function e1(){e1=a(function(e){var t,n,r,a,o,c,i,u,s;var l=arguments;return g(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:eZ;n=new AbortController;F.default.on("SIGINT",function(){J.warn("Process interrupted. Terminating..."),n.abort(),F.default.exit()});f.label=1;case 1:f.trys.push([1,3,,4]);return[4,eV(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),a=r.stdout,o=r.stderr;[a,o].forEach(function(e){return e&&t(e)});return[3,4];case 3:c=f.sent();i=c.stdout,u=c.stderr,s=c.message;[i,u].forEach(function(e){return e&&t(e)}),!u&&!i&&J.error("Command failed: ".concat(s));return[3,4];case 4:return[2]}})});return e1.apply(this,arguments)}E(e0,"executeCommand");function e2(e){return{raw:!0,cmd:e}}E(e2,"rawCommand");function e4(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(eT," ").concat(ee," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(eT," ").concat(eS," ").concat(ep," ").concat(e):"".concat(eT," ").concat(ed," ").concat(e)}E(e4,"formatCLI");function e3(e,t){return typeof e=="function"?e4(e(t),t):(typeof e==="undefined"?"undefined":p(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?e4(e,t):e}E(e3,"formatCommand");function e5(e,t){return e6.apply(this,arguments)}function e6(){e6=a(function(e,t){var n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);J.start("".concat(e)),eH.DEBUG&&J.info("→ ".concat(t));return[4,e0(t)];case 1:r.sent(),J.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw J.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})});return e6.apply(this,arguments)}E(e5,"runCommand");var e8=S(require("fs"),1);function e7(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return e8.existsSync(e)})}E(e7,"existsSync");function e9(e,t){var n=e8.readFileSync(e,"utf-8");if(t===null||t===void 0?void 0:t.asJson)try{var r=JSON.parse(n);if((typeof r==="undefined"?"undefined":p(r))=="object"&&r!==null)return r;throw new Error("Parsed JSON is not an object or array")}catch(t){throw new Error("Failed to parse JSON from file: ".concat(e))}return n}E(e9,"readFileSync");function te(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=n.isJson,a=r===void 0?!1:r,o=a&&(typeof t==="undefined"?"undefined":p(t))=="object"?JSON.stringify(t,null,4):String(t);e8.writeFileSync(e,o,"utf-8")}E(te,"writeFileSync");var tt=A();function tn(e){var t=Q(tt.CWD,er);if(!e7(t))return!1;try{var n=e9(t,{asJson:!0}),r=n.name,a=n.dependencies,o=a===void 0?{}:a,c=n.devDependencies,i=c===void 0?{}:c,u=r===e,s=e in o,l=e in i;return u||s||l?{path:t,file:n,isCurrentProject:u,isDepend:s,isDevDepend:l}:!1}catch(e){return J.warn("Failed to read package.json: ".concat(e.message)),!1}}E(tn,"getPackage");function tr(e){return ta.apply(this,arguments)}function ta(){ta=a(function(e){var t,n,r,a;return g(this,function(o){switch(o.label){case 0:o.trys.push([0,3,,4]);return[4,(0,T.default)("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=o.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=o.sent(),r=n.version;return[2,r];case 3:a=o.sent();throw J.error('Failed to fetch version for "'.concat(e,'": ').concat(a.message)),a;case 4:return[2]}})});return ta.apply(this,arguments)}E(tr,"getLatestPackageVersion");function to(e,t){return tc.apply(this,arguments)}function tc(){tc=a(function(e,t){var n,r,a,o,c,i,u,s,f,d,p,v,y,h,m,b,I,w,E,O,C;return g(this,function(g){switch(g.label){case 0:g.trys.push([0,4,,5]);n=tn(e);if(!n)return[2,l({},H)];u=n.path,s=n.file,f=n.isCurrentProject,d=n.isDepend,p=n.isDevDepend,v=(r=s.dependencies)!==null&&r!==void 0?r:{},y=(a=s.devDependencies)!==null&&a!==void 0?a:{},h=f?(o=s.version)!==null&&o!==void 0?o:"0.0.0":d?(c=v[e])!==null&&c!==void 0?c:"0.0.0":p?(i=y[e])!==null&&i!==void 0?i:"0.0.0":"0.0.0";if(!f)return[3,1];I=h;return[3,3];case 1:return[4,tr(e)];case 2:I=g.sent();g.label=3;case 3:m=I,b=f||h===m;if(!b&&(t===null||t===void 0?void 0:t.update)){;E=d?"dependencies":p?"devDependencies":null;E&&((w=s[E])===null||w===void 0?void 0:w[e])!==m&&(s[E]=(O=s[E])!==null&&O!==void 0?O:{},s[E][e]=m,te(u,s,{isJson:!0}),J.info('Updated "'.concat(e,'" to version ').concat(m)))}return[2,{isCurrentProject:f,installedPath:u,file:s,isUpToDate:b}];case 4:C=g.sent();return[2,(J.error('Error checking package "'.concat(e,'": ').concat(C.message)),l({},H))];case 5:return[2]}})});return tc.apply(this,arguments)}E(to,"checkPackage");function ti(){return tu.apply(this,arguments)}function tu(){tu=a(function(){var e,t,n,r,a,o,c,i,u,s,l,f;return g(this,function(d){switch(d.label){case 0:e=[{command:E(function(){return eU.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:E(function(){return eU.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:E(function(){return eU.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;d.label=1;case 1:d.trys.push([1,9,10,11]);a=e[Symbol.iterator]();d.label=2;case 2:if(!!(t=(o=a.next()).done))return[3,8];c=o.value,i=c.command,u=c.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,i()];case 4:s=d.sent();return[4,e5("".concat(u," using: ").concat(s),s)];case 5:d.sent();return[2];case 6:l=d.sent();J.warn("Installation attempt failed: ".concat(u)),J.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:f=d.sent();n=true;r=f;return[3,11];case 10:try{if(!t&&a.return!=null){a.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})});return tu.apply(this,arguments)}E(ti,"installDependencies");function ts(e,t){return tl.apply(this,arguments)}function tl(){tl=a(function(e,t){var n,r,a,o,c,i,u,s,f,p,v;return g(this,function(g){switch(g.label){case 0:if(!e7(ex.PACKAGE_JSON)){J.error("package.json not found. Aborting setup.");return[2]}g.label=1;case 1:g.trys.push([1,13,,14]);n=d(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return to(e,l({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=g.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,ti()];case 3:r=g.sent();g.label=4;case 4:r;o=true,c=false,i=undefined;g.label=5;case 5:g.trys.push([5,10,11,12]);u=((a=t===null||t===void 0?void 0:t.postInstallActions)!==null&&a!==void 0?a:[])[Symbol.iterator]();g.label=6;case 6:if(!!(o=(s=u.next()).done))return[3,9];f=s.value;return[4,f()];case 7:g.sent();g.label=8;case 8:o=true;return[3,6];case 9:return[3,12];case 10:p=g.sent();c=true;i=p;return[3,12];case 11:try{if(!o&&u.return!=null){u.return()}}finally{if(c){throw i}}return[7];case 12:return[3,14];case 13:v=g.sent();throw J.error('Failed to setup "'.concat(e.join(", "),'": ').concat(v.message)),v;case 14:return[2]}})});return tl.apply(this,arguments)}E(ts,"setupPackages");0&&(module.exports={checkPackage:checkPackage,getLatestPackageVersion:getLatestPackageVersion,getPackage:getPackage,installDependencies:installDependencies,setupPackages:setupPackages});
@@ -1 +1 @@
1
- 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(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e,t,n,r,o,a,c){try{var i=e[a](c);var s=i.value}catch(e){n(e);return}if(i.done){t(s)}else{Promise.resolve(s).then(r,o)}}function o(e){return function(){var t=this,n=arguments;return new Promise(function(o,a){var c=e.apply(t,n);function i(e){r(c,o,a,i,s,"next",e)}function s(e){r(c,o,a,i,s,"throw",e)}i(undefined)})}}function a(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 i(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var o=true;var a=false;var c,i;try{for(n=n.call(e);!(o=(c=n.next()).done);o=true){r.push(c.value);if(t&&r.length===t)break}}catch(e){a=true;i=e}finally{try{if(!o&&n["return"]!=null)n["return"]()}finally{if(a)throw i}}return r}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 u(){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 l(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){a(e,t,n[t])})}return e}function f(e,n){return t(e)||i(e,n)||v(e,n)||s()}function d(e){return n(e)||c(e)||v(e)||u()}function p(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function v(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 g(e,t){var n,r,o,a={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},c=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return c.next=i(0),c["throw"]=i(1),c["return"]=i(2),typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function i(e){return function(t){return s([e,t])}}function s(i){if(n)throw new TypeError("Generator is already executing.");while(c&&(c=0,i[0]&&(a=0)),a)try{if(n=1,r&&(o=i[0]&2?r["return"]:i[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;if(r=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:a.label++;return{value:i[1],done:false};case 5:a.label++;r=i[1];i=[0];continue;case 7:i=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){a=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(i[0]===6&&a.label<o[1]){a.label=o[1];o=i;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(i);break}if(o[2])a.ops.pop();a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e];r=0}finally{n=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var m=Object.defineProperty;var h=function(e,t){return m(e,"name",{value:t,configurable:!0})};import y from"node-fetch";var b=".cyberskill-storage";import I from"dotenv";import{bool as E,cleanEnv as w,str as C}from"envalid";import S from"node:os";import O from"node:path";import _ from"node:process";I.config();function T(){var e={DEBUG:_.env.DEBUG||!1,CWD:_.env.CWD,CYBERSKILL_STORAGE_DIRECTORY:_.env.CYBERSKILL_STORAGE_DIRECTORY||b};return w(e,{DEBUG:E(),CWD:C({default:_.cwd()}),CYBERSKILL_STORAGE_DIRECTORY:C({default:O.join(S.homedir(),b)})})}h(T,"getEnv");var k=function(e){return e.CLI="CLI",e.RAW="RAW",e}({});import{exec as L}from"node:child_process";import R from"node:process";import*as D from"node:util";var G=function(e){return e.Error="error",e.Warning="warning",e}({});import A from"chalk";import j from"consola";import{GraphQLError as P}from"graphql";var N=T();N.DEBUG||(j.level=4);function x(e){var t=A[e];return typeof t=="function"?t:A.green}h(x,"chalkKeyword");var F={silent:j.silent,level:j.level,fatal:j.fatal,error:j.error,warn:j.warn,log:j.log,info:j.info,success:j.success,ready:j.ready,start:j.start,box:j.box,debug:j.debug,trace:j.trace,verbose:j.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){j.box(A.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,o=e.rule,a=e.message;j.log("".concat(A.gray("File:")," ").concat(A.blue("".concat(t).concat(r?":".concat(r):"")))),o&&j.log(" ".concat(x(n)("Rule:")," ").concat(o)),j.log(" ".concat(x(n)("Message:")," ").concat(a))}),j.box(x(n)("".concat(e," : ").concat(t.length))),j.log(A.gray("─".repeat(40)))}};var M={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};import*as W from"node:path";var U=T();function K(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=W).resolve.apply(r,[U.CWD].concat(d(t)))}h(K,"resolveWorkingPath");function Y(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=W).join.apply(r,d(t))}h(Y,"join");var B=T(),J=B.CWD,H="@cyberskill/shared",$="node_modules",V="dist",q="package.json",Q="package-lock.json",z="tsconfig.json",X=".gitignore",Z=".simple-git-hooks.json",ee="pnpm-lock.yaml",et=".git/hooks/",en=".git/COMMIT_EDITMSG",er=Y(J,$,H,V),eo="cyberskill",ea="src/nodejs/cli/index.ts",ec="eslint",ei="eslint",es="vitest",eu="playwright",el="vitest",ef="@commitlint/cli",ed="commitlint",ep="lint-staged",ev="lint-staged",eg="typescript",em="tsc",eh="tsx",ey="git",eb="pnpm",eI="pnpm exec",eE="simple-git-hooks",ew="simple-git-hooks",eC="@eslint/config-inspector",eS="eslint-config-inspector",eO="node-modules-inspector",e_="node-modules-inspector",eT="migrate-mongo",ek="migrate-mongo",eL={CYBERSKILL_DIRECTORY:er,WORKING_DIRECTORY:J,TS_CONFIG:K(z),GIT_IGNORE:K(X),GIT_HOOK:K(et),GIT_COMMIT_MSG:K(en),SIMPLE_GIT_HOOKS_JSON:K(Z),PACKAGE_JSON:K(q),PACKAGE_LOCK_JSON:K(Q),PNPM_LOCK_YAML:K(ee),NODE_MODULES:K($),LINT_STAGED_CONFIG:K("".concat(er,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:K("".concat(er,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:K("".concat(er,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:K("".concat(er,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:K("".concat(er,"/react/vitest/vitest.e2e.js"))};function eR(e){return eD.apply(this,arguments)}function eD(){eD=o(function(e){var t,n,r,o,a,c;var i=arguments;return g(this,function(s){switch(s.label){case 0:for(t=i.length,n=new Array(t>1?t-1:0),r=1;r<t;r++){n[r-1]=i[r]}o=f(n,2),a=o[0],c=o[1];if(!a)throw new Error("'first' argument is undefined");switch(e){case k.CLI:return[3,1];case k.RAW:return[3,3]}return[3,4];case 1:return[4,tt(a.split(" "),{update:!0})];case 2:return[2,(s.sent(),eQ(eV("".concat(eI," ").concat(c))))];case 3:return[2,eQ(eV(a))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})});return eD.apply(this,arguments)}h(eR,"buildCommand");function eG(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++){n[r-1]=arguments[r]}return /*#__PURE__*/o(function(){return g(this,function(t){return[2,eR.apply(void 0,[e].concat(d(n)))]})})}h(eG,"commandFactory");var eA={simpleGitHooks:eG(k.CLI,eE,ew),eslintInspect:eG(k.CLI,eC,eS),nodeModulesInspect:eG(k.CLI,eO,e_),eslintCheck:eG(k.CLI,ec,"".concat(ei," ").concat(eL.WORKING_DIRECTORY)),eslintFix:eG(k.CLI,ec,"".concat(ei," ").concat(eL.WORKING_DIRECTORY," --fix")),typescriptCheck:eG(k.CLI,eg,"".concat(em," -p ").concat(eL.TS_CONFIG," --noEmit")),configureGitHook:eG(k.RAW,"".concat(ey," config core.hooksPath ").concat(eL.GIT_HOOK)),testUnit:eG(k.CLI,es,"".concat(el," --config ").concat(eL.UNIT_TEST_CONFIG)),testE2e:eG(k.CLI,"".concat(es," ").concat(eu),"".concat(el," --config ").concat(eL.E2E_TEST_CONFIG)),mongoMigrateCreate:h(function(e){return eG(k.CLI,"".concat(eT),"".concat(ek," create ").concat(e))()},"mongoMigrateCreate"),mongoMigrateUp:eG(k.CLI,"".concat(eT),"".concat(ek," up")),mongoMigrateDown:eG(k.CLI,"".concat(eT),"".concat(ek," down")),commitLint:eG(k.CLI,ef,"".concat(ed," --edit ").concat(eL.GIT_COMMIT_MSG," --config ").concat(eL.COMMITLINT_CONFIG)),lintStaged:eG(k.CLI,ep,"".concat(ev," --config ").concat(eL.LINT_STAGED_CONFIG)),stageBuildDirectory:eG(k.RAW,"".concat(ey," add ").concat(V)),build:eG(k.RAW,"".concat(eb," run build")),pnpmInstallStandard:eG(k.RAW,"".concat(eb," install")),pnpmInstallLegacy:eG(k.RAW,"".concat(eb," install --legacy-peer-deps")),pnpmInstallForce:eG(k.RAW,"".concat(eb," install --force"))};import ej from"node-persist";var eP=T();function eN(){return ex.apply(this,arguments)}function ex(){ex=o(function(){var e;return g(this,function(t){switch(t.label){case 0:e=ej.defaultInstance;if(e)return[3,2];return[4,ej.init({dir:eP.CYBERSKILL_STORAGE_DIRECTORY,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 ex.apply(this,arguments)}h(eN,"initNodePersist");var eF={get:function e(e){return o(function(){var t,n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eN()];case 1:r.sent();return[4,ej.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(F.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return o(function(){var n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eN()];case 1:r.sent();return[4,ej.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();F.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return o(function(){var t;return g(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eN()];case 1:n.sent();return[4,ej.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();F.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return o(function(){var e,t;return g(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eN()];case 1:n.sent();return[4,ej.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(F.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(F.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return o(function(){return g(this,function(t){try{return[2,"".concat(eP.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(F.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eM=T(),eW=D.promisify(L);function eU(e){return"error_list:".concat(e)}h(eU,"getErrorListKey");function eK(e){return eY.apply(this,arguments)}function eY(){eY=o(function(e){var t,n,r;return g(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];t=Date.now(),n=eU(t);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,eF.set(n,{errors:e,timestamp:t})];case 2:a.sent(),setTimeout(/*#__PURE__*/o(function(){var e;return g(this,function(t){switch(t.label){case 0:return[4,eF.getLogLink(n)];case 1:e=t.sent();e&&F.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:r=a.sent();F.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})});return eY.apply(this,arguments)}h(eK,"saveErrorListToStorage");function eB(e){var t=[],n=[],r="",o=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,a=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,c=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,s,u,l,f;var d=o.exec(e)||[],p=a.exec(e)||[],v=c.exec(e)||[];var g,m,h,y,b,I;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===G.Error?G.Error:G.Warning,message:(g=d===null||d===void 0?void 0:(i=d[4])===null||i===void 0?void 0:i.trim())!==null&&g!==void 0?g:"",rule:(m=d===null||d===void 0?void 0:(s=d[5])===null||s===void 0?void 0:s.trim())!==null&&m!==void 0?m:""}):p.length?t.push({file:(h=p===null||p===void 0?void 0:p[1])!==null&&h!==void 0?h:"",position:"".concat(p[2],":").concat(p[3]),type:p[4]===G.Error?G.Error:G.Warning,message:(y=p===null||p===void 0?void 0:(u=p[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):v.length?t.push({file:"commitlint",type:G.Error,message:(b=v===null||v===void 0?void 0:(l=v[1])===null||l===void 0?void 0:l.trim())!==null&&b!==void 0?b:"",rule:(I=v===null||v===void 0?void 0:(f=v[2])===null||f===void 0?void 0:f.trim())!==null&&I!==void 0?I:""}):n.push(e.trim())}}),t.length&&eK(t),eM.DEBUG&&n.length&&(F.warn("Unmatched lines:"),n.forEach(function(e){return F.info(" ".concat(e))}))}h(eB,"parseTextErrors");function eJ(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,o=e.line,a=e.column,c=e.ruleId,i=e.message;n.push({type:r===2?G.Error:G.Warning,file:t,position:"".concat(o,":").concat(a),rule:c,message:i})})}),n.length&&eK(n)}catch(t){eB(e)}}h(eJ,"parseCommandOutput");function eH(e){return e$.apply(this,arguments)}function e$(){e$=o(function(e){var t,n,r,o,a,c,i,s,u;var l=arguments;return g(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:eJ;n=new AbortController;R.on("SIGINT",function(){F.warn("Process interrupted. Terminating..."),n.abort(),R.exit()});f.label=1;case 1:f.trys.push([1,3,,4]);return[4,eW(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),o=r.stdout,a=r.stderr;[o,a].forEach(function(e){return e&&t(e)});return[3,4];case 3:c=f.sent();i=c.stdout,s=c.stderr,u=c.message;[i,s].forEach(function(e){return e&&t(e)}),!s&&!i&&F.error("Command failed: ".concat(u));return[3,4];case 4:return[2]}})});return e$.apply(this,arguments)}h(eH,"executeCommand");function eV(e){return{raw:!0,cmd:e}}h(eV,"rawCommand");function eq(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(eI," ").concat(H," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(eI," ").concat(eh," ").concat(ea," ").concat(e):"".concat(eI," ").concat(eo," ").concat(e)}h(eq,"formatCLI");function eQ(e,t){return typeof e=="function"?eq(e(t),t):(typeof e==="undefined"?"undefined":p(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?eq(e,t):e}h(eQ,"formatCommand");function ez(e,t){return eX.apply(this,arguments)}function eX(){eX=o(function(e,t){var n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);F.start("".concat(e)),eM.DEBUG&&F.info("→ ".concat(t));return[4,eH(t)];case 1:r.sent(),F.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw F.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})});return eX.apply(this,arguments)}h(ez,"runCommand");import*as eZ from"node:fs";function e0(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return eZ.existsSync(e)})}h(e0,"existsSync");function e1(e,t){var n=eZ.readFileSync(e,"utf-8");if(t===null||t===void 0?void 0:t.asJson)try{var r=JSON.parse(n);if((typeof r==="undefined"?"undefined":p(r))=="object"&&r!==null)return r;throw new Error("Parsed JSON is not an object or array")}catch(t){throw new Error("Failed to parse JSON from file: ".concat(e))}return n}h(e1,"readFileSync");function e2(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=n.isJson,o=r===void 0?!1:r,a=o&&(typeof t==="undefined"?"undefined":p(t))=="object"?JSON.stringify(t,null,4):String(t);eZ.writeFileSync(e,a,"utf-8")}h(e2,"writeFileSync");var e4=T();function e3(e){var t=Y(e4.CWD,q);if(!e0(t))return!1;try{var n=e1(t,{asJson:!0}),r=n.name,o=n.dependencies,a=o===void 0?{}:o,c=n.devDependencies,i=c===void 0?{}:c,s=r===e,u=e in a,l=e in i;return s||u||l?{path:t,file:n,isCurrentProject:s,isDepend:u,isDevDepend:l}:!1}catch(e){return F.warn("Failed to read package.json: ".concat(e.message)),!1}}h(e3,"getPackage");function e5(e){return e6.apply(this,arguments)}function e6(){e6=o(function(e){var t,n,r,o;return g(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,y("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=a.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=a.sent(),r=n.version;return[2,r];case 3:o=a.sent();throw F.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})});return e6.apply(this,arguments)}h(e5,"getLatestPackageVersion");function e8(e,t){return e7.apply(this,arguments)}function e7(){e7=o(function(e,t){var n,r,o,a,c,i,s,u,f,d,p,v,m,h,y,b,I,E,w,C,S;return g(this,function(g){switch(g.label){case 0:g.trys.push([0,4,,5]);n=e3(e);if(!n)return[2,l({},M)];s=n.path,u=n.file,f=n.isCurrentProject,d=n.isDepend,p=n.isDevDepend,v=(r=u.dependencies)!==null&&r!==void 0?r:{},m=(o=u.devDependencies)!==null&&o!==void 0?o:{},h=f?(a=u.version)!==null&&a!==void 0?a:"0.0.0":d?(c=v[e])!==null&&c!==void 0?c:"0.0.0":p?(i=m[e])!==null&&i!==void 0?i:"0.0.0":"0.0.0";if(!f)return[3,1];I=h;return[3,3];case 1:return[4,e5(e)];case 2:I=g.sent();g.label=3;case 3:y=I,b=f||h===y;if(!b&&(t===null||t===void 0?void 0:t.update)){;w=d?"dependencies":p?"devDependencies":null;w&&((E=u[w])===null||E===void 0?void 0:E[e])!==y&&(u[w]=(C=u[w])!==null&&C!==void 0?C:{},u[w][e]=y,e2(s,u,{isJson:!0}),F.info('Updated "'.concat(e,'" to version ').concat(y)))}return[2,{isCurrentProject:f,installedPath:s,file:u,isUpToDate:b}];case 4:S=g.sent();return[2,(F.error('Error checking package "'.concat(e,'": ').concat(S.message)),l({},M))];case 5:return[2]}})});return e7.apply(this,arguments)}h(e8,"checkPackage");function e9(){return te.apply(this,arguments)}function te(){te=o(function(){var e,t,n,r,o,a,c,i,s,u,l,f;return g(this,function(d){switch(d.label){case 0:e=[{command:h(function(){return eA.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:h(function(){return eA.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:h(function(){return eA.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;d.label=1;case 1:d.trys.push([1,9,10,11]);o=e[Symbol.iterator]();d.label=2;case 2:if(!!(t=(a=o.next()).done))return[3,8];c=a.value,i=c.command,s=c.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,i()];case 4:u=d.sent();return[4,ez("".concat(s," using: ").concat(u),u)];case 5:d.sent();return[2];case 6:l=d.sent();F.warn("Installation attempt failed: ".concat(s)),F.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:f=d.sent();n=true;r=f;return[3,11];case 10:try{if(!t&&o.return!=null){o.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})});return te.apply(this,arguments)}h(e9,"installDependencies");function tt(e,t){return tn.apply(this,arguments)}function tn(){tn=o(function(e,t){var n,r,o,a,c,i,s,u,f,p,v;return g(this,function(g){switch(g.label){case 0:if(!e0(eL.PACKAGE_JSON)){F.error("package.json not found. Aborting setup.");return[2]}g.label=1;case 1:g.trys.push([1,13,,14]);n=d(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return e8(e,l({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=g.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,e9()];case 3:r=g.sent();g.label=4;case 4:r;a=true,c=false,i=undefined;g.label=5;case 5:g.trys.push([5,10,11,12]);s=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();g.label=6;case 6:if(!!(a=(u=s.next()).done))return[3,9];f=u.value;return[4,f()];case 7:g.sent();g.label=8;case 8:a=true;return[3,6];case 9:return[3,12];case 10:p=g.sent();c=true;i=p;return[3,12];case 11:try{if(!a&&s.return!=null){s.return()}}finally{if(c){throw i}}return[7];case 12:return[3,14];case 13:v=g.sent();throw F.error('Failed to setup "'.concat(e.join(", "),'": ').concat(v.message)),v;case 14:return[2]}})});return tn.apply(this,arguments)}h(tt,"setupPackages");export{e8 as checkPackage,e5 as getLatestPackageVersion,e3 as getPackage,e9 as installDependencies,tt as setupPackages};
1
+ 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(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e,t,n,r,o,a,c){try{var i=e[a](c);var s=i.value}catch(e){n(e);return}if(i.done){t(s)}else{Promise.resolve(s).then(r,o)}}function o(e){return function(){var t=this,n=arguments;return new Promise(function(o,a){var c=e.apply(t,n);function i(e){r(c,o,a,i,s,"next",e)}function s(e){r(c,o,a,i,s,"throw",e)}i(undefined)})}}function a(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 i(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var o=true;var a=false;var c,i;try{for(n=n.call(e);!(o=(c=n.next()).done);o=true){r.push(c.value);if(t&&r.length===t)break}}catch(e){a=true;i=e}finally{try{if(!o&&n["return"]!=null)n["return"]()}finally{if(a)throw i}}return r}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 u(){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 l(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){a(e,t,n[t])})}return e}function f(e,n){return t(e)||i(e,n)||v(e,n)||s()}function d(e){return n(e)||c(e)||v(e)||u()}function p(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function v(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 g(e,t){var n,r,o,a={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},c=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return c.next=i(0),c["throw"]=i(1),c["return"]=i(2),typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function i(e){return function(t){return s([e,t])}}function s(i){if(n)throw new TypeError("Generator is already executing.");while(c&&(c=0,i[0]&&(a=0)),a)try{if(n=1,r&&(o=i[0]&2?r["return"]:i[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;if(r=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:a.label++;return{value:i[1],done:false};case 5:a.label++;r=i[1];i=[0];continue;case 7:i=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){a=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(i[0]===6&&a.label<o[1]){a.label=o[1];o=i;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(i);break}if(o[2])a.ops.pop();a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e];r=0}finally{n=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var m=Object.defineProperty;var h=function(e,t){return m(e,"name",{value:t,configurable:!0})};import y from"node-fetch";var b=".cyberskill-storage";import I from"dotenv";import{bool as E,cleanEnv as w,str as C}from"envalid";import S from"node:os";import O from"node:path";import _ from"node:process";I.config();function T(){var e={DEBUG:_.env.DEBUG||!1,CWD:_.env.CWD||_.cwd(),CYBERSKILL_STORAGE_DIRECTORY:_.env.CYBERSKILL_STORAGE_DIRECTORY||O.join(S.homedir(),b)};return w(e,{DEBUG:E(),CWD:C(),CYBERSKILL_STORAGE_DIRECTORY:C()})}h(T,"getEnv");var k=function(e){return e.CLI="CLI",e.RAW="RAW",e}({});import{exec as L}from"node:child_process";import R from"node:process";import*as D from"node:util";var G=function(e){return e.Error="error",e.Warning="warning",e}({});import A from"chalk";import j from"consola";import{GraphQLError as P}from"graphql";var N=T();N.DEBUG||(j.level=4);function x(e){var t=A[e];return typeof t=="function"?t:A.green}h(x,"chalkKeyword");var F={silent:j.silent,level:j.level,fatal:j.fatal,error:j.error,warn:j.warn,log:j.log,info:j.info,success:j.success,ready:j.ready,start:j.start,box:j.box,debug:j.debug,trace:j.trace,verbose:j.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){j.box(A.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,o=e.rule,a=e.message;j.log("".concat(A.gray("File:")," ").concat(A.blue("".concat(t).concat(r?":".concat(r):"")))),o&&j.log(" ".concat(x(n)("Rule:")," ").concat(o)),j.log(" ".concat(x(n)("Message:")," ").concat(a))}),j.box(x(n)("".concat(e," : ").concat(t.length))),j.log(A.gray("─".repeat(40)))}};var M={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};import*as W from"node:path";var U=T();function K(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=W).resolve.apply(r,[U.CWD].concat(d(t)))}h(K,"resolveWorkingPath");function Y(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=W).join.apply(r,d(t))}h(Y,"join");var B=T(),J=B.CWD,H="@cyberskill/shared",$="node_modules",V="dist",q="package.json",Q="package-lock.json",z="tsconfig.json",X=".gitignore",Z=".simple-git-hooks.json",ee="pnpm-lock.yaml",et=".git/hooks/",en=".git/COMMIT_EDITMSG",er=Y(J,$,H,V),eo="cyberskill",ea="src/nodejs/cli/index.ts",ec="eslint",ei="eslint",es="vitest",eu="playwright",el="vitest",ef="@commitlint/cli",ed="commitlint",ep="lint-staged",ev="lint-staged",eg="typescript",em="tsc",eh="tsx",ey="git",eb="pnpm",eI="pnpm exec",eE="simple-git-hooks",ew="simple-git-hooks",eC="@eslint/config-inspector",eS="eslint-config-inspector",eO="node-modules-inspector",e_="node-modules-inspector",eT="migrate-mongo",ek="migrate-mongo",eL={CYBERSKILL_DIRECTORY:er,WORKING_DIRECTORY:J,TS_CONFIG:K(z),GIT_IGNORE:K(X),GIT_HOOK:K(et),GIT_COMMIT_MSG:K(en),SIMPLE_GIT_HOOKS_JSON:K(Z),PACKAGE_JSON:K(q),PACKAGE_LOCK_JSON:K(Q),PNPM_LOCK_YAML:K(ee),NODE_MODULES:K($),LINT_STAGED_CONFIG:K("".concat(er,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:K("".concat(er,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:K("".concat(er,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:K("".concat(er,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:K("".concat(er,"/react/vitest/vitest.e2e.js"))};function eR(e){return eD.apply(this,arguments)}function eD(){eD=o(function(e){var t,n,r,o,a,c;var i=arguments;return g(this,function(s){switch(s.label){case 0:for(t=i.length,n=new Array(t>1?t-1:0),r=1;r<t;r++){n[r-1]=i[r]}o=f(n,2),a=o[0],c=o[1];if(!a)throw new Error("'first' argument is undefined");switch(e){case k.CLI:return[3,1];case k.RAW:return[3,3]}return[3,4];case 1:return[4,tt(a.split(" "),{update:!0})];case 2:return[2,(s.sent(),eQ(eV("".concat(eI," ").concat(c))))];case 3:return[2,eQ(eV(a))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})});return eD.apply(this,arguments)}h(eR,"buildCommand");function eG(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++){n[r-1]=arguments[r]}return /*#__PURE__*/o(function(){return g(this,function(t){return[2,eR.apply(void 0,[e].concat(d(n)))]})})}h(eG,"commandFactory");var eA={simpleGitHooks:eG(k.CLI,eE,ew),eslintInspect:eG(k.CLI,eC,eS),nodeModulesInspect:eG(k.CLI,eO,e_),eslintCheck:eG(k.CLI,ec,"".concat(ei," ").concat(eL.WORKING_DIRECTORY)),eslintFix:eG(k.CLI,ec,"".concat(ei," ").concat(eL.WORKING_DIRECTORY," --fix")),typescriptCheck:eG(k.CLI,eg,"".concat(em," -p ").concat(eL.TS_CONFIG," --noEmit")),configureGitHook:eG(k.RAW,"".concat(ey," config core.hooksPath ").concat(eL.GIT_HOOK)),testUnit:eG(k.CLI,es,"".concat(el," --config ").concat(eL.UNIT_TEST_CONFIG)),testE2e:eG(k.CLI,"".concat(es," ").concat(eu),"".concat(el," --config ").concat(eL.E2E_TEST_CONFIG)),mongoMigrateCreate:h(function(e){return eG(k.CLI,"".concat(eT),"".concat(ek," create ").concat(e))()},"mongoMigrateCreate"),mongoMigrateUp:eG(k.CLI,"".concat(eT),"".concat(ek," up")),mongoMigrateDown:eG(k.CLI,"".concat(eT),"".concat(ek," down")),commitLint:eG(k.CLI,ef,"".concat(ed," --edit ").concat(eL.GIT_COMMIT_MSG," --config ").concat(eL.COMMITLINT_CONFIG)),lintStaged:eG(k.CLI,ep,"".concat(ev," --config ").concat(eL.LINT_STAGED_CONFIG)),stageBuildDirectory:eG(k.RAW,"".concat(ey," add ").concat(V)),build:eG(k.RAW,"".concat(eb," run build")),pnpmInstallStandard:eG(k.RAW,"".concat(eb," install")),pnpmInstallLegacy:eG(k.RAW,"".concat(eb," install --legacy-peer-deps")),pnpmInstallForce:eG(k.RAW,"".concat(eb," install --force"))};import ej from"node-persist";var eP=T();function eN(){return ex.apply(this,arguments)}function ex(){ex=o(function(){var e;return g(this,function(t){switch(t.label){case 0:e=ej.defaultInstance;if(e)return[3,2];return[4,ej.init({dir:eP.CYBERSKILL_STORAGE_DIRECTORY,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 ex.apply(this,arguments)}h(eN,"initNodePersist");var eF={get:function e(e){return o(function(){var t,n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eN()];case 1:r.sent();return[4,ej.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(F.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return o(function(){var n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eN()];case 1:r.sent();return[4,ej.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();F.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return o(function(){var t;return g(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eN()];case 1:n.sent();return[4,ej.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();F.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return o(function(){var e,t;return g(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eN()];case 1:n.sent();return[4,ej.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(F.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(F.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return o(function(){return g(this,function(t){try{return[2,"".concat(eP.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(F.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eM=T(),eW=D.promisify(L);function eU(e){return"error_list:".concat(e)}h(eU,"getErrorListKey");function eK(e){return eY.apply(this,arguments)}function eY(){eY=o(function(e){var t,n,r;return g(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];t=Date.now(),n=eU(t);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,eF.set(n,{errors:e,timestamp:t})];case 2:a.sent(),setTimeout(/*#__PURE__*/o(function(){var e;return g(this,function(t){switch(t.label){case 0:return[4,eF.getLogLink(n)];case 1:e=t.sent();e&&F.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:r=a.sent();F.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})});return eY.apply(this,arguments)}h(eK,"saveErrorListToStorage");function eB(e){var t=[],n=[],r="",o=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,a=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,c=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,s,u,l,f;var d=o.exec(e)||[],p=a.exec(e)||[],v=c.exec(e)||[];var g,m,h,y,b,I;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===G.Error?G.Error:G.Warning,message:(g=d===null||d===void 0?void 0:(i=d[4])===null||i===void 0?void 0:i.trim())!==null&&g!==void 0?g:"",rule:(m=d===null||d===void 0?void 0:(s=d[5])===null||s===void 0?void 0:s.trim())!==null&&m!==void 0?m:""}):p.length?t.push({file:(h=p===null||p===void 0?void 0:p[1])!==null&&h!==void 0?h:"",position:"".concat(p[2],":").concat(p[3]),type:p[4]===G.Error?G.Error:G.Warning,message:(y=p===null||p===void 0?void 0:(u=p[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):v.length?t.push({file:"commitlint",type:G.Error,message:(b=v===null||v===void 0?void 0:(l=v[1])===null||l===void 0?void 0:l.trim())!==null&&b!==void 0?b:"",rule:(I=v===null||v===void 0?void 0:(f=v[2])===null||f===void 0?void 0:f.trim())!==null&&I!==void 0?I:""}):n.push(e.trim())}}),t.length&&eK(t),eM.DEBUG&&n.length&&(F.warn("Unmatched lines:"),n.forEach(function(e){return F.info(" ".concat(e))}))}h(eB,"parseTextErrors");function eJ(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,o=e.line,a=e.column,c=e.ruleId,i=e.message;n.push({type:r===2?G.Error:G.Warning,file:t,position:"".concat(o,":").concat(a),rule:c,message:i})})}),n.length&&eK(n)}catch(t){eB(e)}}h(eJ,"parseCommandOutput");function eH(e){return e$.apply(this,arguments)}function e$(){e$=o(function(e){var t,n,r,o,a,c,i,s,u;var l=arguments;return g(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:eJ;n=new AbortController;R.on("SIGINT",function(){F.warn("Process interrupted. Terminating..."),n.abort(),R.exit()});f.label=1;case 1:f.trys.push([1,3,,4]);return[4,eW(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),o=r.stdout,a=r.stderr;[o,a].forEach(function(e){return e&&t(e)});return[3,4];case 3:c=f.sent();i=c.stdout,s=c.stderr,u=c.message;[i,s].forEach(function(e){return e&&t(e)}),!s&&!i&&F.error("Command failed: ".concat(u));return[3,4];case 4:return[2]}})});return e$.apply(this,arguments)}h(eH,"executeCommand");function eV(e){return{raw:!0,cmd:e}}h(eV,"rawCommand");function eq(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(eI," ").concat(H," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(eI," ").concat(eh," ").concat(ea," ").concat(e):"".concat(eI," ").concat(eo," ").concat(e)}h(eq,"formatCLI");function eQ(e,t){return typeof e=="function"?eq(e(t),t):(typeof e==="undefined"?"undefined":p(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?eq(e,t):e}h(eQ,"formatCommand");function ez(e,t){return eX.apply(this,arguments)}function eX(){eX=o(function(e,t){var n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);F.start("".concat(e)),eM.DEBUG&&F.info("→ ".concat(t));return[4,eH(t)];case 1:r.sent(),F.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw F.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})});return eX.apply(this,arguments)}h(ez,"runCommand");import*as eZ from"node:fs";function e0(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return eZ.existsSync(e)})}h(e0,"existsSync");function e1(e,t){var n=eZ.readFileSync(e,"utf-8");if(t===null||t===void 0?void 0:t.asJson)try{var r=JSON.parse(n);if((typeof r==="undefined"?"undefined":p(r))=="object"&&r!==null)return r;throw new Error("Parsed JSON is not an object or array")}catch(t){throw new Error("Failed to parse JSON from file: ".concat(e))}return n}h(e1,"readFileSync");function e2(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=n.isJson,o=r===void 0?!1:r,a=o&&(typeof t==="undefined"?"undefined":p(t))=="object"?JSON.stringify(t,null,4):String(t);eZ.writeFileSync(e,a,"utf-8")}h(e2,"writeFileSync");var e4=T();function e3(e){var t=Y(e4.CWD,q);if(!e0(t))return!1;try{var n=e1(t,{asJson:!0}),r=n.name,o=n.dependencies,a=o===void 0?{}:o,c=n.devDependencies,i=c===void 0?{}:c,s=r===e,u=e in a,l=e in i;return s||u||l?{path:t,file:n,isCurrentProject:s,isDepend:u,isDevDepend:l}:!1}catch(e){return F.warn("Failed to read package.json: ".concat(e.message)),!1}}h(e3,"getPackage");function e5(e){return e6.apply(this,arguments)}function e6(){e6=o(function(e){var t,n,r,o;return g(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,y("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=a.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=a.sent(),r=n.version;return[2,r];case 3:o=a.sent();throw F.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})});return e6.apply(this,arguments)}h(e5,"getLatestPackageVersion");function e8(e,t){return e7.apply(this,arguments)}function e7(){e7=o(function(e,t){var n,r,o,a,c,i,s,u,f,d,p,v,m,h,y,b,I,E,w,C,S;return g(this,function(g){switch(g.label){case 0:g.trys.push([0,4,,5]);n=e3(e);if(!n)return[2,l({},M)];s=n.path,u=n.file,f=n.isCurrentProject,d=n.isDepend,p=n.isDevDepend,v=(r=u.dependencies)!==null&&r!==void 0?r:{},m=(o=u.devDependencies)!==null&&o!==void 0?o:{},h=f?(a=u.version)!==null&&a!==void 0?a:"0.0.0":d?(c=v[e])!==null&&c!==void 0?c:"0.0.0":p?(i=m[e])!==null&&i!==void 0?i:"0.0.0":"0.0.0";if(!f)return[3,1];I=h;return[3,3];case 1:return[4,e5(e)];case 2:I=g.sent();g.label=3;case 3:y=I,b=f||h===y;if(!b&&(t===null||t===void 0?void 0:t.update)){;w=d?"dependencies":p?"devDependencies":null;w&&((E=u[w])===null||E===void 0?void 0:E[e])!==y&&(u[w]=(C=u[w])!==null&&C!==void 0?C:{},u[w][e]=y,e2(s,u,{isJson:!0}),F.info('Updated "'.concat(e,'" to version ').concat(y)))}return[2,{isCurrentProject:f,installedPath:s,file:u,isUpToDate:b}];case 4:S=g.sent();return[2,(F.error('Error checking package "'.concat(e,'": ').concat(S.message)),l({},M))];case 5:return[2]}})});return e7.apply(this,arguments)}h(e8,"checkPackage");function e9(){return te.apply(this,arguments)}function te(){te=o(function(){var e,t,n,r,o,a,c,i,s,u,l,f;return g(this,function(d){switch(d.label){case 0:e=[{command:h(function(){return eA.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:h(function(){return eA.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:h(function(){return eA.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;d.label=1;case 1:d.trys.push([1,9,10,11]);o=e[Symbol.iterator]();d.label=2;case 2:if(!!(t=(a=o.next()).done))return[3,8];c=a.value,i=c.command,s=c.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,i()];case 4:u=d.sent();return[4,ez("".concat(s," using: ").concat(u),u)];case 5:d.sent();return[2];case 6:l=d.sent();F.warn("Installation attempt failed: ".concat(s)),F.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:f=d.sent();n=true;r=f;return[3,11];case 10:try{if(!t&&o.return!=null){o.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})});return te.apply(this,arguments)}h(e9,"installDependencies");function tt(e,t){return tn.apply(this,arguments)}function tn(){tn=o(function(e,t){var n,r,o,a,c,i,s,u,f,p,v;return g(this,function(g){switch(g.label){case 0:if(!e0(eL.PACKAGE_JSON)){F.error("package.json not found. Aborting setup.");return[2]}g.label=1;case 1:g.trys.push([1,13,,14]);n=d(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return e8(e,l({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=g.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,e9()];case 3:r=g.sent();g.label=4;case 4:r;a=true,c=false,i=undefined;g.label=5;case 5:g.trys.push([5,10,11,12]);s=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();g.label=6;case 6:if(!!(a=(u=s.next()).done))return[3,9];f=u.value;return[4,f()];case 7:g.sent();g.label=8;case 8:a=true;return[3,6];case 9:return[3,12];case 10:p=g.sent();c=true;i=p;return[3,12];case 11:try{if(!a&&s.return!=null){s.return()}}finally{if(c){throw i}}return[7];case 12:return[3,14];case 13:v=g.sent();throw F.error('Failed to setup "'.concat(e.join(", "),'": ').concat(v.message)),v;case 14:return[2]}})});return tn.apply(this,arguments)}h(tt,"setupPackages");export{e8 as checkPackage,e5 as getLatestPackageVersion,e3 as getPackage,e9 as installDependencies,tt as setupPackages};