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