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