@cyberskill/shared 1.131.0 → 1.133.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 (57) hide show
  1. package/dist/configs/config.util.cjs +1 -1
  2. package/dist/configs/config.util.js +1 -1
  3. package/dist/configs/index.cjs +1 -1
  4. package/dist/configs/index.js +1 -1
  5. package/dist/index.cjs +1 -1
  6. package/dist/index.js +1 -1
  7. package/dist/node/apollo-server/apollo-server.util.cjs +1 -1
  8. package/dist/node/apollo-server/apollo-server.util.js +1 -1
  9. package/dist/node/apollo-server/index.cjs +1 -1
  10. package/dist/node/apollo-server/index.js +1 -1
  11. package/dist/node/cli/cli.util.cjs +1 -1
  12. package/dist/node/cli/cli.util.js +1 -1
  13. package/dist/node/cli/index.cjs +1 -1
  14. package/dist/node/cli/index.js +1 -1
  15. package/dist/node/command/command.util.cjs +1 -1
  16. package/dist/node/command/command.util.js +1 -1
  17. package/dist/node/command/index.cjs +1 -1
  18. package/dist/node/command/index.js +1 -1
  19. package/dist/node/express/express.util.cjs +1 -1
  20. package/dist/node/express/express.util.js +1 -1
  21. package/dist/node/express/index.cjs +1 -1
  22. package/dist/node/express/index.js +1 -1
  23. package/dist/node/index.cjs +1 -1
  24. package/dist/node/index.js +1 -1
  25. package/dist/node/mongo/index.cjs +1 -1
  26. package/dist/node/mongo/index.js +1 -1
  27. package/dist/node/mongo/mongo.util.cjs +1 -1
  28. package/dist/node/mongo/mongo.util.js +1 -1
  29. package/dist/node/package/index.cjs +1 -1
  30. package/dist/node/package/index.js +1 -1
  31. package/dist/node/package/package.util.cjs +1 -1
  32. package/dist/node/package/package.util.js +1 -1
  33. package/dist/node/path/index.cjs +1 -1
  34. package/dist/node/path/index.js +1 -1
  35. package/dist/node/path/path.constant.cjs +1 -1
  36. package/dist/node/path/path.constant.js +1 -1
  37. package/dist/node/storage/index.cjs +1 -1
  38. package/dist/node/storage/index.js +1 -1
  39. package/dist/node/storage/storage.util.cjs +1 -1
  40. package/dist/node/storage/storage.util.js +1 -1
  41. package/dist/react/index.cjs +1 -1
  42. package/dist/react/index.js +1 -1
  43. package/dist/react/next-intl/index.cjs +1 -1
  44. package/dist/react/next-intl/index.js +1 -1
  45. package/dist/react/next-intl/next-intl.provider.cjs +1 -1
  46. package/dist/react/next-intl/next-intl.provider.js +1 -1
  47. package/dist/react/storage/index.cjs +1 -1
  48. package/dist/react/storage/index.js +1 -1
  49. package/dist/react/storage/storage.hook.cjs +1 -1
  50. package/dist/react/storage/storage.hook.js +1 -1
  51. package/dist/react/storage/storage.util.cjs +1 -1
  52. package/dist/react/storage/storage.util.js +1 -1
  53. package/dist/react/vitest/index.cjs +1 -1
  54. package/dist/react/vitest/index.js +1 -1
  55. package/dist/react/vitest/vitest.unit.cjs +1 -1
  56. package/dist/react/vitest/vitest.unit.js +1 -1
  57. package/package.json +1 -1
@@ -1 +1 @@
1
- "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(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 m=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,E=Object.prototype.hasOwnProperty;var y=function(e,t){return p(e,"name",{value:t,configurable:!0})};var h=function(e,t){for(var n in t)p(e,n,{get:t[n],enumerable:!0})},_=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;!E.call(e,a)&&a!==n&&p(e,a,{get:function(){return t[a]},enumerable:!(r=m(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 D=function(e,t,n){return n=e!=null?d(g(e)):{},_(t||!e||!e.__esModule?p(n,"default",{value:e,enumerable:!0}):n,e)},I=function(e){return _(p({},"__esModule",{value:!0}),e)};var C={};h(C,{vitestE2E:function(){return O},vitestUnit:function(){return tv}});module.exports=I(C);var N=D(require("@vitejs/plugin-react-swc"),1),b=require("vitest/config");function O(e){return(0,b.defineConfig)(i({plugins:[(0,N.default)()],test:{include:["**/*.test.e2e.?(c|m)[jt]s?(x)"],browser:{enabled:!0,provider:"playwright",instances:[{browser:"chromium"},{browser:"firefox"},{browser:"webkit"}]}}},e))}y(O,"vitestE2E");var P=D(require("@vitejs/plugin-react-swc"),1),S=require("vitest/config");var T=D(require("fs-extra"),1);var w=".cyberskill-storage";var G=D(require("@dotenvx/dotenvx"),1),R=require("envalid"),k=D(require("os"),1),L=D(require("path"),1),U=D(require("process"),1);var j=!1;function A(){j||(G.default.config(),j=!0)}y(A,"loadEnvFile");function x(){A();var e=(0,R.cleanEnv)(U.default.env,{CWD:(0,R.str)({default:U.default.cwd()}),DEBUG:(0,R.bool)({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:(0,R.str)({default:L.default.join(k.default.homedir(),w)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}y(x,"getEnv");var Y=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var M=require("child_process"),F=D(require("process"),1),V=D(require("util"),1);var K=function(e){return e.Error="error",e.Warning="warning",e}({});var q=D(require("chalk"),1),B=D(require("consola"),1),J=require("graphql");var W=x();W.DEBUG||(B.default.level=4);function H(e){var t=q.default[e];return typeof t=="function"?t:q.default.green}y(H,"chalkKeyword");var $={silent:B.default.silent,level:B.default.level,fatal:B.default.fatal,error:B.default.error,warn:B.default.warn,log:B.default.log,info:B.default.info,success:B.default.success,ready:B.default.ready,start:B.default.start,box:B.default.box,debug:B.default.debug,trace:B.default.trace,verbose:B.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)){B.default.box(q.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,a=e.rule,o=e.message;B.default.log("".concat(q.default.gray("File:")," ").concat(q.default.blue("".concat(t).concat(r?":".concat(r):"")))),a&&B.default.log(" ".concat(H(n)("Rule:")," ").concat(a)),B.default.log(" ".concat(H(n)("Message:")," ").concat(o))}),B.default.box(H(n)("".concat(e," : ").concat(t.length))),B.default.log(q.default.gray("─".repeat(40)))}};var z=function(e){return e.DEPENDENCY="dependencies",e.DEV_DEPENDENCY="devDependencies",e.PEER_DEPENDENCY="peerDependencies",e.BUNDLE_DEPENDENCY="bundleDependencies",e.OPTIONAL_DEPENDENCY="optionalDependencies",e}({});var Q=D(require("node-fetch"),1);var X=D(require("fs-extra"),1),Z=D(require("path"),1);var ee=X.default,et=ee.lstatSync,en=ee.readdirSync,er=ee.mkdirSync,ea=ee.readFileSync,eo=ee.unlinkSync,ec=ee.statSync,ei=X.default.readJsonSync;function es(e,t,n){X.default.writeFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}y(es,"writeFileSync");function eu(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return X.default.pathExistsSync(e)})}y(eu,"pathExistsSync");var el=x();function ef(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,Q.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 $.error('Failed to fetch version for "'.concat(e,'": ').concat(a.message)),a;case 4:return[2]}})})()}y(ef,"getLatestPackageVersion");function ed(e){return /*#__PURE__*/r(function(){var t,n,r,a,o,c,i,s,u,l,d,p,m,v,g,E,y,h,_;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,2,,3]);if(!eu(td.PACKAGE_JSON))return[2,{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===z.DEPENDENCY,isDevDependency:e.type===z.DEV_DEPENDENCY,installedPath:"",file:{}}];t=ei(td.PACKAGE_JSON),n=t.name,r=t.version,a=r===void 0?"":r,o=t.dependencies,c=o===void 0?{}:o,i=t.devDependencies,s=i===void 0?{}:i;if(e.name===n)return[2,{name:n,currentVersion:a,latestVersion:a,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:e.type===z.DEPENDENCY,isDevDependency:e.type===z.DEV_DEPENDENCY,installedPath:td.PACKAGE_JSON,file:t}];u=e.name in c,l=e.name in s;return[4,ef(e.name)];case 1:d=f.sent();if(!u&&!l)return[2,{name:e.name,currentVersion:"",latestVersion:d,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===z.DEPENDENCY,isDevDependency:e.type===z.DEV_DEPENDENCY,installedPath:"",file:{}}];v=(m=(p=c[e.name])!==null&&p!==void 0?p:s[e.name])!==null&&m!==void 0?m:"",g=eU(el.CWD,eY,e.name,eF);if(!eu(g))return[2,{name:e.name,currentVersion:"",latestVersion:d,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:u,isDevDependency:l,installedPath:"",file:{}}];E=ei(g),y=E.version,h=y===void 0?"":y;return[2,v!==h?{name:e.name,currentVersion:h||v,latestVersion:d,isCurrentProject:!1,isInstalled:!0,isUpToDate:!1,isDependency:u,isDevDependency:l,installedPath:g,file:E}:{name:e.name,currentVersion:v,latestVersion:d,isCurrentProject:!1,isInstalled:!0,isUpToDate:v===d,isDependency:u,isDevDependency:l,installedPath:g,file:E}];case 2:_=f.sent();throw $.error('Error getting package "'.concat(e.name,'": ').concat(_.message)),_;case 3:return[2]}})})()}y(ed,"getPackage");function ep(e){return /*#__PURE__*/r(function(){var t,n,r,a,o;return f(this,function(c){try{;r=ei(td.PACKAGE_JSON),a=(t=r.dependencies)!==null&&t!==void 0?t:{},o=(n=r.devDependencies)!==null&&n!==void 0?n:{};e.isDependency?a[e.name]=e.latestVersion:e.isDevDependency&&(o[e.name]=e.latestVersion),es(td.PACKAGE_JSON,JSON.stringify(r,null,4)),$.info('Updated "'.concat(e.name,'" to version ').concat(e.latestVersion))}catch(t){throw $.error('Error updating package "'.concat(e.name,'": ').concat(t.message)),t}return[2]})})()}y(ep,"updatePackage");function em(){return /*#__PURE__*/r(function(){var e,t,n,r,a,o,c,i,s,u,l,d,p;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,12,,13]);e=[{command:y(function(){return tm.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:y(function(){return tm.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:y(function(){return tm.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,ew("".concat(s," using: ").concat(u),u)];case 5:f.sent();return[2];case 6:l=f.sent();$.warn("Installation attempt failed: ".concat(s)),$.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:return[3,13];case 12:p=f.sent();throw $.error("Failed to install dependencies: ".concat(p.message)),p;case 13:return[2]}})})()}y(em,"installDependencies");function ev(e,t){return /*#__PURE__*/r(function(){var n,r,a,o,c,i,s,u,l,d,p,m;return f(this,function(f){switch(f.label){case 0:if(!eu(td.PACKAGE_JSON)){$.error("package.json not found. Aborting setup.");return[2]}f.label=1;case 1:f.trys.push([1,16,,17]);return[4,Promise.all(e.map(ed))];case 2:n=f.sent().filter(function(e){return!e.isCurrentProject&&(!e.isInstalled||!e.isUpToDate)});r=n.length>0;if(!r)return[3,7];return[4,Promise.all(n.map(ep))];case 3:f.sent();return[4,em()];case 4:f.sent();a=["Running ESLint with auto-fix"];return[4,tm.eslintFix()];case 5:return[4,ew.apply(void 0,a.concat([f.sent()]))];case 6:r=f.sent();f.label=7;case 7:r;c=true,i=false,s=undefined;f.label=8;case 8:f.trys.push([8,13,14,15]);u=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();f.label=9;case 9:if(!!(c=(l=u.next()).done))return[3,12];d=l.value;return[4,d()];case 10:f.sent();f.label=11;case 11:c=true;return[3,9];case 12:return[3,15];case 13:p=f.sent();i=true;s=p;return[3,15];case 14:try{if(!c&&u.return!=null){u.return()}}finally{if(i){throw s}}return[7];case 15:return[3,17];case 16:m=f.sent();throw $.error('Failed to setup "'.concat(e.map(function(e){return e.name}).join(", "),'": ').concat(m.message)),m;case 17:return[2]}})})()}y(ev,"setupPackages");var eg=D(require("node-persist"),1);var eE=x();function ey(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:e=eg.default.defaultInstance;if(e)return[3,2];return[4,eg.default.init({dir:eE.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})})()}y(ey,"initNodePersist");var eh={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,ey()];case 1:r.sent();return[4,eg.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,($.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,ey()];case 1:r.sent();return[4,eg.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();$.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,ey()];case 1:n.sent();return[4,eg.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();$.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,ey()];case 1:n.sent();return[4,eg.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:($.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,($.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(eE.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,($.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var e_=x(),eD=V.promisify(M.exec);function eI(e){return"error_list:".concat(e)}y(eI,"getErrorListKey");function eC(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=eI(t);o.label=1;case 1:o.trys.push([1,3,,4]);return[4,eh.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,eh.getLogLink(n)];case 1:e=t.sent();e&&$.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:a=o.sent();$.error("Failed to save errors: ".concat(a.message));return[3,4];case 4:return[2]}})})()}y(eC,"saveErrorListToStorage");function eN(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)||[],m=c.exec(e)||[];var v,g,E,y,h,_;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===K.Error?K.Error:K.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:(g=d===null||d===void 0?void 0:(s=d[5])===null||s===void 0?void 0:s.trim())!==null&&g!==void 0?g:""}):p.length?t.push({file:(E=p===null||p===void 0?void 0:p[1])!==null&&E!==void 0?E:"",position:"".concat(p[2],":").concat(p[3]),type:p[4]===K.Error?K.Error:K.Warning,message:(y=p===null||p===void 0?void 0:(u=p[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):m.length?t.push({file:"commitlint",type:K.Error,message:(h=m===null||m===void 0?void 0:(l=m[1])===null||l===void 0?void 0:l.trim())!==null&&h!==void 0?h:"",rule:(_=m===null||m===void 0?void 0:(f=m[2])===null||f===void 0?void 0:f.trim())!==null&&_!==void 0?_:""}):n.push(e.trim())}}),t.length&&eC(t),e_.DEBUG&&n.length&&($.warn("Unmatched lines:"),n.forEach(function(e){return $.info(" ".concat(e))}))}y(eN,"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,a=e.line,o=e.column,c=e.ruleId,i=e.message;n.push({type:r===2?K.Error:K.Warning,file:t,position:"".concat(a,":").concat(o),rule:c,message:i})})}),n.length&&eC(n)}catch(t){eN(e)}}y(eb,"parseCommandOutput");function eO(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]:eb;n=new AbortController;F.default.on("SIGINT",function(){$.warn("Process interrupted. Terminating..."),n.abort(),F.default.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,eD(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&&$.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}y(eO,"executeCommand");function eP(e){return{raw:!0,cmd:e}}y(eP,"rawCommand");function eS(e,t){return(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tr," ").concat(te," ").concat(eX," ").concat(e):"".concat(tr," ").concat(eQ," ").concat(e)}y(eS,"formatCLI");function eT(e,t){return typeof e=="function"?eS(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"?eS(e,t):e}y(eT,"formatCommand");function ew(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);$.start("".concat(e)),e_.DEBUG&&$.info("→ ".concat(t));return[4,eO(t)];case 1:r.sent(),$.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw $.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}y(ew,"runCommand");var eG=D(require("path"),1);var eR=x(),ek=eG.default;function eL(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=ek).resolve.apply(r,[eR.CWD].concat(s(t)))}y(eL,"resolveWorkingPath");function eU(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=ek).join.apply(r,s(t))}y(eU,"join");var ej=x(),eA=ej.CWD,ex="@cyberskill/shared",eY="node_modules",eM="dist",eF="package.json",eV="package-lock.json",eK="tsconfig.json",eq=".gitignore",eB=".simple-git-hooks.json",eJ="pnpm-lock.yaml",eW=".git/hooks/",eH=".git/COMMIT_EDITMSG",e$=".migrate-mongo.config.js",ez=function(){var e=T.default.readJsonSync(eL(eF)).name===ex?eA:eU(eA,eY,ex);return eU(e,eM)}(),eQ="cyberskill",eX="src/node/cli/index.ts",eZ="eslint",e0="eslint",e1="vitest";var e2="vitest",e3="@commitlint/cli",e4="@commitlint/config-conventional",e5="commitlint",e7="lint-staged",e6="lint-staged",e8="typescript",e9="tsc",te="tsx",tt="git",tn="pnpm",tr="pnpm exec",ta="simple-git-hooks",to="simple-git-hooks",tc="@eslint/config-inspector",ti="eslint-config-inspector",ts="node-modules-inspector",tu="node-modules-inspector",tl="migrate-mongo",tf="./node_modules/migrate-mongo/bin/migrate-mongo",td={CYBERSKILL_DIRECTORY:ez,WORKING_DIRECTORY:eA,TS_CONFIG:eL(eK),GIT_IGNORE:eL(eq),GIT_HOOK:eL(eW),GIT_COMMIT_MSG:eL(eH),SIMPLE_GIT_HOOKS_JSON:eL(eB),PACKAGE_JSON:eL(eF),PACKAGE_LOCK_JSON:eL(eV),PNPM_LOCK_YAML:eL(eJ),NODE_MODULES:eL(eY),MIGRATE_MONGO_CONFIG:eL(e$),LINT_STAGED_CONFIG:eL("".concat(ez,"/configs/lint-staged/index.js")),COMMITLINT_CONFIG:eL("".concat(ez,"/configs/commitlint/index.js")),UNIT_TEST_CONFIG:eL("".concat(ez,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eL("".concat(ez,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eL("".concat(ez,"/react/vitest/vitest.e2e.js"))};function tp(e){var t=e.type,n=e.packages,a=e.command;var o=n===null||n===void 0?void 0:n.reduce(function(e,t){return e.some(function(e){return e.name===t.name})||e.push(t),e},[]);return function(){return /*#__PURE__*/r(function(){var e;return f(this,function(n){switch(n.label){case 0:switch(t){case Y.CLI:return[3,1];case Y.STRING:return[3,4]}return[3,5];case 1:e=o===null||o===void 0?void 0:o.length;if(!e)return[3,3];return[4,ev(o,{update:!0})];case 2:e=n.sent();n.label=3;case 3:return[2,(e,eT(eP("".concat(tr," ").concat(a))))];case 4:return[2,eT(eP(a))];case 5:throw new Error("Unsupported command type");case 6:return[2]}})})()}}y(tp,"buildCommand");var tm={simpleGitHooks:tp({type:Y.CLI,packages:[{name:ta,type:z.DEV_DEPENDENCY}],command:to}),eslintInspect:tp({type:Y.CLI,packages:[{name:tc,type:z.DEV_DEPENDENCY}],command:ti}),nodeModulesInspect:tp({type:Y.CLI,packages:[{name:ts,type:z.DEV_DEPENDENCY}],command:tu}),eslintCheck:tp({type:Y.CLI,packages:[{name:eZ,type:z.DEV_DEPENDENCY}],command:"".concat(e0," ").concat(td.WORKING_DIRECTORY," --no-cache")}),eslintFix:tp({type:Y.CLI,packages:[{name:eZ,type:z.DEV_DEPENDENCY}],command:"".concat(e0," ").concat(td.WORKING_DIRECTORY," --fix --no-cache")}),typescriptCheck:tp({type:Y.CLI,packages:[{name:e8,type:z.DEPENDENCY}],command:"".concat(e9," -p ").concat(td.TS_CONFIG," --noEmit")}),testUnit:tp({type:Y.CLI,packages:[{name:e1,type:z.DEV_DEPENDENCY}],command:"".concat(e2," --config ").concat(td.UNIT_TEST_CONFIG)}),testE2e:tp({type:Y.CLI,packages:[{name:e1,type:z.DEV_DEPENDENCY}],command:"".concat(e2," --config ").concat(td.E2E_TEST_CONFIG)}),mongoMigrateCreate:y(function(e){return tp({type:Y.CLI,packages:[{name:tl,type:z.DEPENDENCY}],command:"".concat(te," ").concat(tf," create ").concat(e," -f ").concat(td.MIGRATE_MONGO_CONFIG)})()},"mongoMigrateCreate"),mongoMigrateUp:tp({type:Y.CLI,packages:[{name:tl,type:z.DEPENDENCY}],command:"".concat(te," ").concat(tf," up -f ").concat(td.MIGRATE_MONGO_CONFIG)}),mongoMigrateDown:tp({type:Y.CLI,packages:[{name:tl,type:z.DEPENDENCY}],command:"".concat(te," ").concat(tf," down -f ").concat(td.MIGRATE_MONGO_CONFIG)}),commitLint:tp({type:Y.CLI,packages:[{name:e3,type:z.DEV_DEPENDENCY},{name:e4,type:z.DEV_DEPENDENCY}],command:"".concat(e5," --edit ").concat(td.GIT_COMMIT_MSG," --config ").concat(td.COMMITLINT_CONFIG)}),lintStaged:tp({type:Y.CLI,packages:[{name:e7,type:z.DEV_DEPENDENCY}],command:"".concat(e6," --config ").concat(td.LINT_STAGED_CONFIG)}),configureGitHook:tp({type:Y.STRING,command:"".concat(tt," config core.hooksPath ").concat(td.GIT_HOOK)}),stageBuildDirectory:tp({type:Y.STRING,command:"".concat(tt," add ").concat(eM)}),build:tp({type:Y.STRING,command:"".concat(tn," run --if-present build")}),pnpmInstallStandard:tp({type:Y.STRING,command:"".concat(tn," install")}),pnpmInstallLegacy:tp({type:Y.STRING,command:"".concat(tn," install --legacy-peer-deps")}),pnpmInstallForce:tp({type:Y.STRING,command:"".concat(tn," install --force")})};function tv(e){return(0,S.defineConfig)(i({plugins:[(0,P.default)()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[td.UNIT_TEST_SETUP_CONFIG]}},e))}y(tv,"vitestUnit");0&&(module.exports={vitestE2E:vitestE2E,vitestUnit:vitestUnit});
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 m=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var E=function(e,t){return p(e,"name",{value:t,configurable:!0})};var h=function(e,t){for(var n in t)p(e,n,{get:t[n],enumerable:!0})},D=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=m(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 I=function(e,t,n){return n=e!=null?d(g(e)):{},D(t||!e||!e.__esModule?p(n,"default",{value:e,enumerable:!0}):n,e)},C=function(e){return D(p({},"__esModule",{value:!0}),e)};var N={};h(N,{vitestE2E:function(){return S},vitestUnit:function(){return tv}});module.exports=C(N);var b=I(require("@vitejs/plugin-react-swc"),1),O=require("vitest/config");function S(e){return(0,O.defineConfig)(i({plugins:[(0,b.default)()],test:{include:["**/*.test.e2e.?(c|m)[jt]s?(x)"],browser:{enabled:!0,provider:"playwright",instances:[{browser:"chromium"},{browser:"firefox"},{browser:"webkit"}]}}},e))}E(S,"vitestE2E");var _=I(require("@vitejs/plugin-react-swc"),1),T=require("vitest/config");var w=I(require("fs-extra"),1);var P=".cyberskill-storage";var G=I(require("@dotenvx/dotenvx"),1),k=require("envalid"),L=I(require("os"),1),R=I(require("path"),1),j=I(require("process"),1);var A=!1;function x(){A||(G.default.config(),A=!0)}E(x,"loadEnvFile");function Y(){x();var e=(0,k.cleanEnv)(j.default.env,{CWD:(0,k.str)({default:j.default.cwd()}),DEBUG:(0,k.bool)({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:(0,k.str)({default:R.default.join(L.default.homedir(),P)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}E(Y,"getEnv");var M=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var F=require("child_process"),U=I(require("process"),1),V=I(require("util"),1);var K=function(e){return e.Error="error",e.Warning="warning",e}({});var q=I(require("chalk"),1),B=I(require("consola"),1),J=require("graphql");var W=Y();W.DEBUG||(B.default.level=4);function H(e){var t=q.default[e];return typeof t=="function"?t:q.default.green}E(H,"chalkKeyword");var $={silent:B.default.silent,level:B.default.level,fatal:B.default.fatal,error:B.default.error,warn:B.default.warn,log:B.default.log,info:B.default.info,success:B.default.success,ready:B.default.ready,start:B.default.start,box:B.default.box,debug:B.default.debug,trace:B.default.trace,verbose:B.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)){B.default.box(q.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,a=e.rule,o=e.message;B.default.log("".concat(q.default.gray("File:")," ").concat(q.default.blue("".concat(t).concat(r?":".concat(r):"")))),a&&B.default.log(" ".concat(H(n)("Rule:")," ").concat(a)),B.default.log(" ".concat(H(n)("Message:")," ").concat(o))}),B.default.box(H(n)("".concat(e," : ").concat(t.length))),B.default.log(q.default.gray("─".repeat(40)))}};var z=function(e){return e.DEPENDENCY="dependencies",e.DEV_DEPENDENCY="devDependencies",e.PEER_DEPENDENCY="peerDependencies",e.BUNDLE_DEPENDENCY="bundleDependencies",e.OPTIONAL_DEPENDENCY="optionalDependencies",e}({});var Q=I(require("node-fetch"),1);var X=I(require("fs-extra"),1),Z=I(require("path"),1);var ee=X.default,et=ee.lstatSync,en=ee.readdirSync,er=ee.mkdirSync,ea=ee.readFileSync,eo=ee.unlinkSync,ec=ee.statSync,ei=X.default.readJsonSync;function es(e,t,n){X.default.writeFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}E(es,"writeFileSync");function eu(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return X.default.pathExistsSync(e)})}E(eu,"pathExistsSync");var el=Y();function ef(e){return r(function(){var t,n,r,a;return f(this,function(o){switch(o.label){case 0:o.trys.push([0,3,,4]);return[4,(0,Q.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 $.error('Failed to fetch version for "'.concat(e,'": ').concat(a.message)),a;case 4:return[2]}})})()}E(ef,"getLatestPackageVersion");function ed(e){return r(function(){var t,n,r,a,o,c,i,s,u,l,d,p,m,v,g,y,E,h,D;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,2,,3]);if(!eu(td.PACKAGE_JSON))return[2,{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===z.DEPENDENCY,isDevDependency:e.type===z.DEV_DEPENDENCY,installedPath:"",file:{}}];t=ei(td.PACKAGE_JSON),n=t.name,r=t.version,a=r===void 0?"":r,o=t.dependencies,c=o===void 0?{}:o,i=t.devDependencies,s=i===void 0?{}:i;if(e.name===n)return[2,{name:n,currentVersion:a,latestVersion:a,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:e.type===z.DEPENDENCY,isDevDependency:e.type===z.DEV_DEPENDENCY,installedPath:td.PACKAGE_JSON,file:t}];u=e.name in c,l=e.name in s;return[4,ef(e.name)];case 1:d=f.sent();if(!u&&!l)return[2,{name:e.name,currentVersion:"",latestVersion:d,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===z.DEPENDENCY,isDevDependency:e.type===z.DEV_DEPENDENCY,installedPath:"",file:{}}];v=(m=(p=c[e.name])!==null&&p!==void 0?p:s[e.name])!==null&&m!==void 0?m:"",g=ej(el.CWD,eM,e.name,eU);if(!eu(g))return[2,{name:e.name,currentVersion:"",latestVersion:d,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:u,isDevDependency:l,installedPath:"",file:{}}];y=ei(g),E=y.version,h=E===void 0?"":E;return[2,v!==h?{name:e.name,currentVersion:h||v,latestVersion:d,isCurrentProject:!1,isInstalled:!0,isUpToDate:!1,isDependency:u,isDevDependency:l,installedPath:g,file:y}:{name:e.name,currentVersion:v,latestVersion:d,isCurrentProject:!1,isInstalled:!0,isUpToDate:v===d,isDependency:u,isDevDependency:l,installedPath:g,file:y}];case 2:D=f.sent();throw $.error('Error getting package "'.concat(e.name,'": ').concat(D.message)),D;case 3:return[2]}})})()}E(ed,"getPackage");function ep(e){return r(function(){var t,n,r,a,o;return f(this,function(c){try{;r=ei(td.PACKAGE_JSON),a=(t=r.dependencies)!==null&&t!==void 0?t:{},o=(n=r.devDependencies)!==null&&n!==void 0?n:{};e.isDependency?a[e.name]=e.latestVersion:e.isDevDependency&&(o[e.name]=e.latestVersion),es(td.PACKAGE_JSON,JSON.stringify(r,null,4)),$.info('Updated "'.concat(e.name,'" to version ').concat(e.latestVersion))}catch(t){throw $.error('Error updating package "'.concat(e.name,'": ').concat(t.message)),t}return[2]})})()}E(ep,"updatePackage");function em(){return r(function(){var e,t,n,r,a,o,c,i,s,u,l,d,p;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,12,,13]);e=[{command:E(function(){return tm.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:E(function(){return tm.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:E(function(){return tm.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,eP("".concat(s," using: ").concat(u),u)];case 5:f.sent();return[2];case 6:l=f.sent();$.warn("Installation attempt failed: ".concat(s)),$.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:return[3,13];case 12:p=f.sent();throw $.error("Failed to install dependencies: ".concat(p.message)),p;case 13:return[2]}})})()}E(em,"installDependencies");function ev(e,t){return r(function(){var n,r,a,o,c,i,s,u,l,d,p,m;return f(this,function(f){switch(f.label){case 0:if(!eu(td.PACKAGE_JSON)){$.error("package.json not found. Aborting setup.");return[2]}f.label=1;case 1:f.trys.push([1,16,,17]);return[4,Promise.all(e.map(ed))];case 2:n=f.sent().filter(function(e){return!e.isCurrentProject&&(!e.isInstalled||!e.isUpToDate)});r=n.length>0;if(!r)return[3,7];return[4,Promise.all(n.map(ep))];case 3:f.sent();return[4,em()];case 4:f.sent();a=["Running ESLint with auto-fix"];return[4,tm.eslintFix()];case 5:return[4,eP.apply(void 0,a.concat([f.sent()]))];case 6:r=f.sent();f.label=7;case 7:r;c=true,i=false,s=undefined;f.label=8;case 8:f.trys.push([8,13,14,15]);u=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();f.label=9;case 9:if(!!(c=(l=u.next()).done))return[3,12];d=l.value;return[4,d()];case 10:f.sent();f.label=11;case 11:c=true;return[3,9];case 12:return[3,15];case 13:p=f.sent();i=true;s=p;return[3,15];case 14:try{if(!c&&u.return!=null){u.return()}}finally{if(i){throw s}}return[7];case 15:return[3,17];case 16:m=f.sent();throw $.error('Failed to setup "'.concat(e.map(function(e){return e.name}).join(", "),'": ').concat(m.message)),m;case 17:return[2]}})})()}E(ev,"setupPackages");var eg=I(require("node-persist"),1);var ey=Y();function eE(){return r(function(){var e;return f(this,function(t){switch(t.label){case 0:e=eg.default.defaultInstance;if(e)return[3,2];return[4,eg.default.init({dir:ey.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})})()}E(eE,"initNodePersist");var eh={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,eg.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,($.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,eg.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();$.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,eg.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();$.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,eg.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:($.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,($.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(ey.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,($.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eD=Y(),eI=V.promisify(F.exec);function eC(e){return"error_list:".concat(e)}E(eC,"getErrorListKey");function eN(e){return r(function(){var t,n,a;return f(this,function(o){switch(o.label){case 0:if(e.length===0)return[2];t=Date.now(),n=eC(t);o.label=1;case 1:o.trys.push([1,3,,4]);return[4,eh.set(n,{errors:e,timestamp:t})];case 2:o.sent(),setTimeout(function(){return r(function(){var e;return f(this,function(t){switch(t.label){case 0:return[4,eh.getLogLink(n)];case 1:e=t.sent();e&&$.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:a=o.sent();$.error("Failed to save errors: ".concat(a.message));return[3,4];case 4:return[2]}})})()}E(eN,"saveErrorListToStorage");function eb(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)||[],m=c.exec(e)||[];var v,g,y,E,h,D;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===K.Error?K.Error:K.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:(g=d===null||d===void 0?void 0:(s=d[5])===null||s===void 0?void 0:s.trim())!==null&&g!==void 0?g:""}):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]===K.Error?K.Error:K.Warning,message:(E=p===null||p===void 0?void 0:(u=p[5])===null||u===void 0?void 0:u.trim())!==null&&E!==void 0?E:""}):m.length?t.push({file:"commitlint",type:K.Error,message:(h=m===null||m===void 0?void 0:(l=m[1])===null||l===void 0?void 0:l.trim())!==null&&h!==void 0?h:"",rule:(D=m===null||m===void 0?void 0:(f=m[2])===null||f===void 0?void 0:f.trim())!==null&&D!==void 0?D:""}):n.push(e.trim())}}),t.length&&eN(t),eD.DEBUG&&n.length&&($.warn("Unmatched lines:"),n.forEach(function(e){return $.info(" ".concat(e))}))}E(eb,"parseTextErrors");function eO(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?K.Error:K.Warning,file:t,position:"".concat(a,":").concat(o),rule:c,message:i})})}),n.length&&eN(n)}catch(t){eb(e)}}E(eO,"parseCommandOutput");function eS(e){return 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]:eO;n=new AbortController;U.default.on("SIGINT",function(){$.warn("Process interrupted. Terminating..."),n.abort(),U.default.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,eI(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&&$.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}E(eS,"executeCommand");function e_(e){return{raw:!0,cmd:e}}E(e_,"rawCommand");function eT(e,t){return(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tr," ").concat(te," ").concat(eX," ").concat(e):"".concat(tr," ").concat(eQ," ").concat(e)}E(eT,"formatCLI");function ew(e,t){return typeof e=="function"?eT(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"?eT(e,t):e}E(ew,"formatCommand");function eP(e,t){return r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);$.start("".concat(e)),eD.DEBUG&&$.info("→ ".concat(t));return[4,eS(t)];case 1:r.sent(),$.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw $.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}E(eP,"runCommand");var eG=I(require("path"),1);var ek=Y(),eL=eG.default;function eR(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=eL).resolve.apply(r,[ek.CWD].concat(s(t)))}E(eR,"resolveWorkingPath");function ej(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=eL).join.apply(r,s(t))}E(ej,"join");var eA=Y(),ex=eA.CWD,eY="@cyberskill/shared",eM="node_modules",eF="dist",eU="package.json",eV="package-lock.json",eK="tsconfig.json",eq=".gitignore",eB=".simple-git-hooks.json",eJ="pnpm-lock.yaml",eW=".git/hooks/",eH=".git/COMMIT_EDITMSG",e$=".migrate-mongo.config.js",ez=function(){var e=w.default.readJsonSync(eR(eU)).name===eY?ex:ej(ex,eM,eY);return ej(e,eF)}(),eQ="cyberskill",eX="src/node/cli/index.ts",eZ="eslint",e0="eslint",e1="vitest";var e2="vitest",e3="@commitlint/cli",e4="@commitlint/config-conventional",e5="commitlint",e7="lint-staged",e6="lint-staged",e8="typescript",e9="tsc",te="tsx",tt="git",tn="pnpm",tr="pnpm exec",ta="simple-git-hooks",to="simple-git-hooks",tc="@eslint/config-inspector",ti="eslint-config-inspector",ts="node-modules-inspector",tu="node-modules-inspector",tl="migrate-mongo",tf="./node_modules/migrate-mongo/bin/migrate-mongo",td={CYBERSKILL_DIRECTORY:ez,WORKING_DIRECTORY:ex,TS_CONFIG:eR(eK),GIT_IGNORE:eR(eq),GIT_HOOK:eR(eW),GIT_COMMIT_MSG:eR(eH),SIMPLE_GIT_HOOKS_JSON:eR(eB),PACKAGE_JSON:eR(eU),PACKAGE_LOCK_JSON:eR(eV),PNPM_LOCK_YAML:eR(eJ),NODE_MODULES:eR(eM),MIGRATE_MONGO_CONFIG:eR(e$),LINT_STAGED_CONFIG:eR("".concat(ez,"/configs/lint-staged/index.js")),COMMITLINT_CONFIG:eR("".concat(ez,"/configs/commitlint/index.js")),UNIT_TEST_CONFIG:eR("".concat(ez,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eR("".concat(ez,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eR("".concat(ez,"/react/vitest/vitest.e2e.js"))};function tp(e){var t=e.type,n=e.packages,a=e.command;var o=n===null||n===void 0?void 0:n.reduce(function(e,t){return e.some(function(e){return e.name===t.name})||e.push(t),e},[]);return function(){return r(function(){var e;return f(this,function(n){switch(n.label){case 0:switch(t){case M.CLI:return[3,1];case M.STRING:return[3,4]}return[3,5];case 1:e=o===null||o===void 0?void 0:o.length;if(!e)return[3,3];return[4,ev(o,{update:!0})];case 2:e=n.sent();n.label=3;case 3:return[2,(e,ew(e_("".concat(tr," ").concat(a))))];case 4:return[2,ew(e_(a))];case 5:throw new Error("Unsupported command type");case 6:return[2]}})})()}}E(tp,"buildCommand");var tm={simpleGitHooks:tp({type:M.CLI,packages:[{name:ta,type:z.DEV_DEPENDENCY}],command:to}),eslintInspect:tp({type:M.CLI,packages:[{name:tc,type:z.DEV_DEPENDENCY}],command:ti}),nodeModulesInspect:tp({type:M.CLI,packages:[{name:ts,type:z.DEV_DEPENDENCY}],command:tu}),eslintCheck:tp({type:M.CLI,packages:[{name:eZ,type:z.DEV_DEPENDENCY}],command:"".concat(e0," ").concat(td.WORKING_DIRECTORY," --no-cache")}),eslintFix:tp({type:M.CLI,packages:[{name:eZ,type:z.DEV_DEPENDENCY}],command:"".concat(e0," ").concat(td.WORKING_DIRECTORY," --fix --no-cache")}),typescriptCheck:tp({type:M.CLI,packages:[{name:e8,type:z.DEPENDENCY}],command:"".concat(e9," -p ").concat(td.TS_CONFIG," --noEmit")}),testUnit:tp({type:M.CLI,packages:[{name:e1,type:z.DEV_DEPENDENCY}],command:"".concat(e2," --config ").concat(td.UNIT_TEST_CONFIG)}),testE2e:tp({type:M.CLI,packages:[{name:e1,type:z.DEV_DEPENDENCY}],command:"".concat(e2," --config ").concat(td.E2E_TEST_CONFIG)}),mongoMigrateCreate:E(function(e){return tp({type:M.CLI,packages:[{name:tl,type:z.DEPENDENCY}],command:"".concat(te," ").concat(tf," create ").concat(e," -f ").concat(td.MIGRATE_MONGO_CONFIG)})()},"mongoMigrateCreate"),mongoMigrateUp:tp({type:M.CLI,packages:[{name:tl,type:z.DEPENDENCY}],command:"".concat(te," ").concat(tf," up -f ").concat(td.MIGRATE_MONGO_CONFIG)}),mongoMigrateDown:tp({type:M.CLI,packages:[{name:tl,type:z.DEPENDENCY}],command:"".concat(te," ").concat(tf," down -f ").concat(td.MIGRATE_MONGO_CONFIG)}),commitLint:tp({type:M.CLI,packages:[{name:e3,type:z.DEV_DEPENDENCY},{name:e4,type:z.DEV_DEPENDENCY}],command:"".concat(e5," --edit ").concat(td.GIT_COMMIT_MSG," --config ").concat(td.COMMITLINT_CONFIG)}),lintStaged:tp({type:M.CLI,packages:[{name:e7,type:z.DEV_DEPENDENCY}],command:"".concat(e6," --config ").concat(td.LINT_STAGED_CONFIG)}),configureGitHook:tp({type:M.STRING,command:"".concat(tt," config core.hooksPath ").concat(td.GIT_HOOK)}),stageBuildDirectory:tp({type:M.STRING,command:"".concat(tt," add ").concat(eF)}),build:tp({type:M.STRING,command:"".concat(tn," run --if-present build")}),pnpmInstallStandard:tp({type:M.STRING,command:"".concat(tn," install")}),pnpmInstallLegacy:tp({type:M.STRING,command:"".concat(tn," install --legacy-peer-deps")}),pnpmInstallForce:tp({type:M.STRING,command:"".concat(tn," install --force")})};function tv(e){return(0,T.defineConfig)(i({plugins:[(0,_.default)()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[td.UNIT_TEST_SETUP_CONFIG]}},e))}E(tv,"vitestUnit");0&&(module.exports={vitestE2E:vitestE2E,vitestUnit:vitestUnit});
@@ -1 +1 @@
1
- function e(e,n){if(n==null||n>e.length)n=e.length;for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function n(n){if(Array.isArray(n))return e(n)}function t(e,n,t,r,o,a,c){try{var i=e[a](c);var s=i.value}catch(e){t(e);return}if(i.done){n(s)}else{Promise.resolve(s).then(r,o)}}function r(e){return function(){var n=this,r=arguments;return new Promise(function(o,a){var c=e.apply(n,r);function i(e){t(c,o,a,i,s,"next",e)}function s(e){t(c,o,a,i,s,"throw",e)}i(undefined)})}}function o(e,n,t){if(n in e){Object.defineProperty(e,n,{value:t,enumerable:true,configurable:true,writable:true})}else{e[n]=t}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 n=1;n<arguments.length;n++){var t=arguments[n]!=null?arguments[n]:{};var r=Object.keys(t);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))}r.forEach(function(n){o(e,n,t[n])})}return e}function s(e){return n(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(n,t){if(!n)return;if(typeof n==="string")return e(n,t);var r=Object.prototype.toString.call(n).slice(8,-1);if(r==="Object"&&n.constructor)r=n.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(n,t)}function f(e,n){var t,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(n){return s([e,n])}}function s(i){if(t)throw new TypeError("Generator is already executing.");while(c&&(c=0,i[0]&&(a=0)),a)try{if(t=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=n.call(e,a)}catch(e){i=[6,e];r=0}finally{t=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var p=Object.defineProperty;var m=function(e,n){return p(e,"name",{value:n,configurable:!0})};import d from"@vitejs/plugin-react-swc";import{defineConfig as E}from"vitest/config";function g(e){return E(i({plugins:[d()],test:{include:["**/*.test.e2e.?(c|m)[jt]s?(x)"],browser:{enabled:!0,provider:"playwright",instances:[{browser:"chromium"},{browser:"firefox"},{browser:"webkit"}]}}},e))}m(g,"vitestE2E");import y from"@vitejs/plugin-react-swc";import{defineConfig as v}from"vitest/config";import h from"fs-extra";var _=".cyberskill-storage";import D from"@dotenvx/dotenvx";import{bool as I,cleanEnv as C,str as N}from"envalid";import b from"node:os";import S from"node:path";import O from"node:process";var P=!1;function T(){P||(D.config(),P=!0)}m(T,"loadEnvFile");function w(){T();var e=C(O.env,{CWD:N({default:O.cwd()}),DEBUG:I({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:N({default:S.join(b.homedir(),_)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}m(w,"getEnv");var G=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as R}from"node:child_process";import k from"node:process";import*as L from"node:util";var U=function(e){return e.Error="error",e.Warning="warning",e}({});import A from"chalk";import j from"consola";import{GraphQLError as Y}from"graphql";var x=w();x.DEBUG||(j.level=4);function F(e){var n=A[e];return typeof n=="function"?n:A.green}m(F,"chalkKeyword");var M={silent:j.silent,level:j.level,fatal:j.fatal,error:j.error,warn:j.warn,log:j.log,info:j.info,success:j.success,ready:j.ready,start:j.start,box:j.box,debug:j.debug,trace:j.trace,verbose:j.verbose,printBoxedLog:function e(e,n){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(n===null||n===void 0?void 0:n.length)){j.box(A.green(e));return}n.forEach(function(e){var n=e.file,r=e.position,o=e.rule,a=e.message;j.log("".concat(A.gray("File:")," ").concat(A.blue("".concat(n).concat(r?":".concat(r):"")))),o&&j.log(" ".concat(F(t)("Rule:")," ").concat(o)),j.log(" ".concat(F(t)("Message:")," ").concat(a))}),j.box(F(t)("".concat(e," : ").concat(n.length))),j.log(A.gray("─".repeat(40)))}};var V=function(e){return e.DEPENDENCY="dependencies",e.DEV_DEPENDENCY="devDependencies",e.PEER_DEPENDENCY="peerDependencies",e.BUNDLE_DEPENDENCY="bundleDependencies",e.OPTIONAL_DEPENDENCY="optionalDependencies",e}({});import K from"node-fetch";import B from"fs-extra";var J=B.lstatSync,W=B.readdirSync,H=B.mkdirSync,$=B.readFileSync,q=B.unlinkSync,Q=B.statSync,z=B.readJsonSync;function X(e,n,t){B.writeFileSync(e,n,t!==null&&t!==void 0?t:"utf-8")}m(X,"writeFileSync");function Z(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}return n.every(function(e){return B.pathExistsSync(e)})}m(Z,"pathExistsSync");var ee=w();function en(e){return /*#__PURE__*/r(function(){var n,t,r,o;return f(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,K("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:n=a.sent();if(!n.ok)throw new Error("Failed to fetch latest version: ".concat(n.status," ").concat(n.statusText));return[4,n.json()];case 2:t=a.sent(),r=t.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]}})})()}m(en,"getLatestPackageVersion");function et(e){return /*#__PURE__*/r(function(){var n,t,r,o,a,c,i,s,u,l,p,m,d,E,g,y,v,h,_;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,2,,3]);if(!Z(nt.PACKAGE_JSON))return[2,{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===V.DEPENDENCY,isDevDependency:e.type===V.DEV_DEPENDENCY,installedPath:"",file:{}}];n=z(nt.PACKAGE_JSON),t=n.name,r=n.version,o=r===void 0?"":r,a=n.dependencies,c=a===void 0?{}:a,i=n.devDependencies,s=i===void 0?{}:i;if(e.name===t)return[2,{name:t,currentVersion:o,latestVersion:o,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:e.type===V.DEPENDENCY,isDevDependency:e.type===V.DEV_DEPENDENCY,installedPath:nt.PACKAGE_JSON,file:n}];u=e.name in c,l=e.name in s;return[4,en(e.name)];case 1:p=f.sent();if(!u&&!l)return[2,{name:e.name,currentVersion:"",latestVersion:p,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===V.DEPENDENCY,isDevDependency:e.type===V.DEV_DEPENDENCY,installedPath:"",file:{}}];E=(d=(m=c[e.name])!==null&&m!==void 0?m:s[e.name])!==null&&d!==void 0?d:"",g=eb(ee.CWD,eT,e.name,eG);if(!Z(g))return[2,{name:e.name,currentVersion:"",latestVersion:p,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:u,isDevDependency:l,installedPath:"",file:{}}];y=z(g),v=y.version,h=v===void 0?"":v;return[2,E!==h?{name:e.name,currentVersion:h||E,latestVersion:p,isCurrentProject:!1,isInstalled:!0,isUpToDate:!1,isDependency:u,isDevDependency:l,installedPath:g,file:y}:{name:e.name,currentVersion:E,latestVersion:p,isCurrentProject:!1,isInstalled:!0,isUpToDate:E===p,isDependency:u,isDevDependency:l,installedPath:g,file:y}];case 2:_=f.sent();throw M.error('Error getting package "'.concat(e.name,'": ').concat(_.message)),_;case 3:return[2]}})})()}m(et,"getPackage");function er(e){return /*#__PURE__*/r(function(){var n,t,r,o,a;return f(this,function(c){try{;r=z(nt.PACKAGE_JSON),o=(n=r.dependencies)!==null&&n!==void 0?n:{},a=(t=r.devDependencies)!==null&&t!==void 0?t:{};e.isDependency?o[e.name]=e.latestVersion:e.isDevDependency&&(a[e.name]=e.latestVersion),X(nt.PACKAGE_JSON,JSON.stringify(r,null,4)),M.info('Updated "'.concat(e.name,'" to version ').concat(e.latestVersion))}catch(n){throw M.error('Error updating package "'.concat(e.name,'": ').concat(n.message)),n}return[2]})})()}m(er,"updatePackage");function eo(){return /*#__PURE__*/r(function(){var e,n,t,r,o,a,c,i,s,u,l,p,d;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,12,,13]);e=[{command:m(function(){return no.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:m(function(){return no.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:m(function(){return no.pnpmInstallForce()},"command"),message:"Retrying with force install"}];n=true,t=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(!!(n=(a=o.next()).done))return[3,8];c=a.value,i=c.command,s=c.message;f.label=3;case 3:f.trys.push([3,6,,7]);return[4,i()];case 4:u=f.sent();return[4,e_("".concat(s," using: ").concat(u),u)];case 5:f.sent();return[2];case 6:l=f.sent();M.warn("Installation attempt failed: ".concat(s)),M.error("Details: ".concat(l.message));return[3,7];case 7:n=true;return[3,2];case 8:return[3,11];case 9:p=f.sent();t=true;r=p;return[3,11];case 10:try{if(!n&&o.return!=null){o.return()}}finally{if(t){throw r}}return[7];case 11:return[3,13];case 12:d=f.sent();throw M.error("Failed to install dependencies: ".concat(d.message)),d;case 13:return[2]}})})()}m(eo,"installDependencies");function ea(e,n){return /*#__PURE__*/r(function(){var t,r,o,a,c,i,s,u,l,p,m,d;return f(this,function(f){switch(f.label){case 0:if(!Z(nt.PACKAGE_JSON)){M.error("package.json not found. Aborting setup.");return[2]}f.label=1;case 1:f.trys.push([1,16,,17]);return[4,Promise.all(e.map(et))];case 2:t=f.sent().filter(function(e){return!e.isCurrentProject&&(!e.isInstalled||!e.isUpToDate)});r=t.length>0;if(!r)return[3,7];return[4,Promise.all(t.map(er))];case 3:f.sent();return[4,eo()];case 4:f.sent();o=["Running ESLint with auto-fix"];return[4,no.eslintFix()];case 5:return[4,e_.apply(void 0,o.concat([f.sent()]))];case 6:r=f.sent();f.label=7;case 7:r;c=true,i=false,s=undefined;f.label=8;case 8:f.trys.push([8,13,14,15]);u=((a=n===null||n===void 0?void 0:n.postInstallActions)!==null&&a!==void 0?a:[])[Symbol.iterator]();f.label=9;case 9:if(!!(c=(l=u.next()).done))return[3,12];p=l.value;return[4,p()];case 10:f.sent();f.label=11;case 11:c=true;return[3,9];case 12:return[3,15];case 13:m=f.sent();i=true;s=m;return[3,15];case 14:try{if(!c&&u.return!=null){u.return()}}finally{if(i){throw s}}return[7];case 15:return[3,17];case 16:d=f.sent();throw M.error('Failed to setup "'.concat(e.map(function(e){return e.name}).join(", "),'": ').concat(d.message)),d;case 17:return[2]}})})()}m(ea,"setupPackages");import ec from"node-persist";var ei=w();function es(){return /*#__PURE__*/r(function(){var e;return f(this,function(n){switch(n.label){case 0:e=ec.defaultInstance;if(e)return[3,2];return[4,ec.init({dir:ei.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=n.sent();n.label=2;case 2:e;return[2]}})})()}m(es,"initNodePersist");var eu={get:function e(e){return /*#__PURE__*/r(function(){var n,t;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,es()];case 1:r.sent();return[4,ec.getItem(e)];case 2:return[2,(n=r.sent())!==null&&n!==void 0?n:null];case 3:t=r.sent();return[2,(M.error('[Storage:get] Error getting key "'.concat(e,'":'),t),null)];case 4:return[2]}})})()},set:function e(e,n){return /*#__PURE__*/r(function(){var t;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,es()];case 1:r.sent();return[4,ec.setItem(e,n)];case 2:r.sent();return[3,4];case 3:t=r.sent();M.error('[Storage:set] Error setting key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/r(function(){var n;return f(this,function(t){switch(t.label){case 0:t.trys.push([0,3,,4]);return[4,es()];case 1:t.sent();return[4,ec.removeItem(e)];case 2:t.sent();return[3,4];case 3:n=t.sent();M.error('[Storage:remove] Error removing key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/r(function(){var e,n;return f(this,function(t){switch(t.label){case 0:t.trys.push([0,3,,4]);return[4,es()];case 1:t.sent();return[4,ec.keys()];case 2:e=t.sent();return[2,Array.isArray(e)?e:(M.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:n=t.sent();return[2,(M.error("[Storage:keys] Error getting keys:",n),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/r(function(){return f(this,function(n){try{return[2,"".concat(ei.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(M.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var el=w(),ef=L.promisify(R);function ep(e){return"error_list:".concat(e)}m(ep,"getErrorListKey");function em(e){return /*#__PURE__*/r(function(){var n,t,o;return f(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];n=Date.now(),t=ep(n);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,eu.set(t,{errors:e,timestamp:n})];case 2:a.sent(),setTimeout(function(){return /*#__PURE__*/r(function(){var e;return f(this,function(n){switch(n.label){case 0:return[4,eu.getLogLink(t)];case 1:e=n.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]}})})()}m(em,"saveErrorListToStorage");function ed(e){var n=[],t=[],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)||[],m=a.exec(e)||[],d=c.exec(e)||[];var E,g,y,v,h,_;p.length&&r?n.push({file:r,position:"".concat(p[1],":").concat(p[2]),type:p[3]===U.Error?U.Error:U.Warning,message:(E=p===null||p===void 0?void 0:(i=p[4])===null||i===void 0?void 0:i.trim())!==null&&E!==void 0?E:"",rule:(g=p===null||p===void 0?void 0:(s=p[5])===null||s===void 0?void 0:s.trim())!==null&&g!==void 0?g:""}):m.length?n.push({file:(y=m===null||m===void 0?void 0:m[1])!==null&&y!==void 0?y:"",position:"".concat(m[2],":").concat(m[3]),type:m[4]===U.Error?U.Error:U.Warning,message:(v=m===null||m===void 0?void 0:(u=m[5])===null||u===void 0?void 0:u.trim())!==null&&v!==void 0?v:""}):d.length?n.push({file:"commitlint",type:U.Error,message:(h=d===null||d===void 0?void 0:(l=d[1])===null||l===void 0?void 0:l.trim())!==null&&h!==void 0?h:"",rule:(_=d===null||d===void 0?void 0:(f=d[2])===null||f===void 0?void 0:f.trim())!==null&&_!==void 0?_:""}):t.push(e.trim())}}),n.length&&em(n),el.DEBUG&&t.length&&(M.warn("Unmatched lines:"),t.forEach(function(e){return M.info(" ".concat(e))}))}m(ed,"parseTextErrors");function eE(e){try{var n=JSON.parse(e),t=[];n.forEach(function(e){var n=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;t.push({type:r===2?U.Error:U.Warning,file:n,position:"".concat(o,":").concat(a),rule:c,message:i})})}),t.length&&em(t)}catch(n){ed(e)}}m(eE,"parseCommandOutput");function eg(e){return /*#__PURE__*/r(function(e){var n,t,r,o,a,c,i,s,u;var l=arguments;return f(this,function(f){switch(f.label){case 0:n=l.length>1&&l[1]!==void 0?l[1]:eE;t=new AbortController;k.on("SIGINT",function(){M.warn("Process interrupted. Terminating..."),t.abort(),k.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,ef(e,{maxBuffer:0x6400000,signal:t.signal})];case 2:r=f.sent(),o=r.stdout,a=r.stderr;[o,a].forEach(function(e){return e&&n(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&&n(e)}),!s&&!i&&M.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}m(eg,"executeCommand");function ey(e){return{raw:!0,cmd:e}}m(ey,"rawCommand");function ev(e,n){return(n===null||n===void 0?void 0:n.isCurrentProject)?"".concat(e3," ").concat(e0," ").concat(eV," ").concat(e):"".concat(e3," ").concat(eM," ").concat(e)}m(ev,"formatCLI");function eh(e,n){return typeof e=="function"?ev(e(n),n):(typeof e==="undefined"?"undefined":u(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?ev(e,n):e}m(eh,"formatCommand");function e_(e,n){return /*#__PURE__*/r(function(){var t;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);M.start("".concat(e)),el.DEBUG&&M.info("→ ".concat(n));return[4,eg(n)];case 1:r.sent(),M.success("".concat(e," done."));return[3,3];case 2:t=r.sent();throw M.error("".concat(e," failed: ").concat(t.message)),t;case 3:return[2]}})})()}m(e_,"runCommand");import eD from"node:path";var eI=w(),eC=eD;function eN(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}var r;return(r=eC).resolve.apply(r,[eI.CWD].concat(s(n)))}m(eN,"resolveWorkingPath");function eb(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}var r;return(r=eC).join.apply(r,s(n))}m(eb,"join");var eS=w(),eO=eS.CWD,eP="@cyberskill/shared",eT="node_modules",ew="dist",eG="package.json",eR="package-lock.json",ek="tsconfig.json",eL=".gitignore",eU=".simple-git-hooks.json",eA="pnpm-lock.yaml",ej=".git/hooks/",eY=".git/COMMIT_EDITMSG",ex=".migrate-mongo.config.js",eF=function(){var e=h.readJsonSync(eN(eG)).name===eP?eO:eb(eO,eT,eP);return eb(e,ew)}(),eM="cyberskill",eV="src/node/cli/index.ts",eK="eslint",eB="eslint",eJ="vitest";var eW="vitest",eH="@commitlint/cli",e$="@commitlint/config-conventional",eq="commitlint",eQ="lint-staged",ez="lint-staged",eX="typescript",eZ="tsc",e0="tsx",e1="git",e2="pnpm",e3="pnpm exec",e4="simple-git-hooks",e5="simple-git-hooks",e7="@eslint/config-inspector",e6="eslint-config-inspector",e8="node-modules-inspector",e9="node-modules-inspector",ne="migrate-mongo",nn="./node_modules/migrate-mongo/bin/migrate-mongo",nt={CYBERSKILL_DIRECTORY:eF,WORKING_DIRECTORY:eO,TS_CONFIG:eN(ek),GIT_IGNORE:eN(eL),GIT_HOOK:eN(ej),GIT_COMMIT_MSG:eN(eY),SIMPLE_GIT_HOOKS_JSON:eN(eU),PACKAGE_JSON:eN(eG),PACKAGE_LOCK_JSON:eN(eR),PNPM_LOCK_YAML:eN(eA),NODE_MODULES:eN(eT),MIGRATE_MONGO_CONFIG:eN(ex),LINT_STAGED_CONFIG:eN("".concat(eF,"/configs/lint-staged/index.js")),COMMITLINT_CONFIG:eN("".concat(eF,"/configs/commitlint/index.js")),UNIT_TEST_CONFIG:eN("".concat(eF,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eN("".concat(eF,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eN("".concat(eF,"/react/vitest/vitest.e2e.js"))};function nr(e){var n=e.type,t=e.packages,o=e.command;var a=t===null||t===void 0?void 0:t.reduce(function(e,n){return e.some(function(e){return e.name===n.name})||e.push(n),e},[]);return function(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:switch(n){case G.CLI:return[3,1];case G.STRING:return[3,4]}return[3,5];case 1:e=a===null||a===void 0?void 0:a.length;if(!e)return[3,3];return[4,ea(a,{update:!0})];case 2:e=t.sent();t.label=3;case 3:return[2,(e,eh(ey("".concat(e3," ").concat(o))))];case 4:return[2,eh(ey(o))];case 5:throw new Error("Unsupported command type");case 6:return[2]}})})()}}m(nr,"buildCommand");var no={simpleGitHooks:nr({type:G.CLI,packages:[{name:e4,type:V.DEV_DEPENDENCY}],command:e5}),eslintInspect:nr({type:G.CLI,packages:[{name:e7,type:V.DEV_DEPENDENCY}],command:e6}),nodeModulesInspect:nr({type:G.CLI,packages:[{name:e8,type:V.DEV_DEPENDENCY}],command:e9}),eslintCheck:nr({type:G.CLI,packages:[{name:eK,type:V.DEV_DEPENDENCY}],command:"".concat(eB," ").concat(nt.WORKING_DIRECTORY," --no-cache")}),eslintFix:nr({type:G.CLI,packages:[{name:eK,type:V.DEV_DEPENDENCY}],command:"".concat(eB," ").concat(nt.WORKING_DIRECTORY," --fix --no-cache")}),typescriptCheck:nr({type:G.CLI,packages:[{name:eX,type:V.DEPENDENCY}],command:"".concat(eZ," -p ").concat(nt.TS_CONFIG," --noEmit")}),testUnit:nr({type:G.CLI,packages:[{name:eJ,type:V.DEV_DEPENDENCY}],command:"".concat(eW," --config ").concat(nt.UNIT_TEST_CONFIG)}),testE2e:nr({type:G.CLI,packages:[{name:eJ,type:V.DEV_DEPENDENCY}],command:"".concat(eW," --config ").concat(nt.E2E_TEST_CONFIG)}),mongoMigrateCreate:m(function(e){return nr({type:G.CLI,packages:[{name:ne,type:V.DEPENDENCY}],command:"".concat(e0," ").concat(nn," create ").concat(e," -f ").concat(nt.MIGRATE_MONGO_CONFIG)})()},"mongoMigrateCreate"),mongoMigrateUp:nr({type:G.CLI,packages:[{name:ne,type:V.DEPENDENCY}],command:"".concat(e0," ").concat(nn," up -f ").concat(nt.MIGRATE_MONGO_CONFIG)}),mongoMigrateDown:nr({type:G.CLI,packages:[{name:ne,type:V.DEPENDENCY}],command:"".concat(e0," ").concat(nn," down -f ").concat(nt.MIGRATE_MONGO_CONFIG)}),commitLint:nr({type:G.CLI,packages:[{name:eH,type:V.DEV_DEPENDENCY},{name:e$,type:V.DEV_DEPENDENCY}],command:"".concat(eq," --edit ").concat(nt.GIT_COMMIT_MSG," --config ").concat(nt.COMMITLINT_CONFIG)}),lintStaged:nr({type:G.CLI,packages:[{name:eQ,type:V.DEV_DEPENDENCY}],command:"".concat(ez," --config ").concat(nt.LINT_STAGED_CONFIG)}),configureGitHook:nr({type:G.STRING,command:"".concat(e1," config core.hooksPath ").concat(nt.GIT_HOOK)}),stageBuildDirectory:nr({type:G.STRING,command:"".concat(e1," add ").concat(ew)}),build:nr({type:G.STRING,command:"".concat(e2," run --if-present build")}),pnpmInstallStandard:nr({type:G.STRING,command:"".concat(e2," install")}),pnpmInstallLegacy:nr({type:G.STRING,command:"".concat(e2," install --legacy-peer-deps")}),pnpmInstallForce:nr({type:G.STRING,command:"".concat(e2," install --force")})};function na(e){return v(i({plugins:[y()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[nt.UNIT_TEST_SETUP_CONFIG]}},e))}m(na,"vitestUnit");export{g as vitestE2E,na as vitestUnit};
1
+ function e(e,n){if(n==null||n>e.length)n=e.length;for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function n(n){if(Array.isArray(n))return e(n)}function t(e,n,t,r,o,a,c){try{var i=e[a](c);var s=i.value}catch(e){t(e);return}if(i.done){n(s)}else{Promise.resolve(s).then(r,o)}}function r(e){return function(){var n=this,r=arguments;return new Promise(function(o,a){var c=e.apply(n,r);function i(e){t(c,o,a,i,s,"next",e)}function s(e){t(c,o,a,i,s,"throw",e)}i(undefined)})}}function o(e,n,t){if(n in e){Object.defineProperty(e,n,{value:t,enumerable:true,configurable:true,writable:true})}else{e[n]=t}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 n=1;n<arguments.length;n++){var t=arguments[n]!=null?arguments[n]:{};var r=Object.keys(t);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))}r.forEach(function(n){o(e,n,t[n])})}return e}function s(e){return n(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(n,t){if(!n)return;if(typeof n==="string")return e(n,t);var r=Object.prototype.toString.call(n).slice(8,-1);if(r==="Object"&&n.constructor)r=n.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(n,t)}function f(e,n){var t,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(n){return s([e,n])}}function s(i){if(t)throw new TypeError("Generator is already executing.");while(c&&(c=0,i[0]&&(a=0)),a)try{if(t=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=n.call(e,a)}catch(e){i=[6,e];r=0}finally{t=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var p=Object.defineProperty;var m=function(e,n){return p(e,"name",{value:n,configurable:!0})};import d from"@vitejs/plugin-react-swc";import{defineConfig as g}from"vitest/config";function E(e){return g(i({plugins:[d()],test:{include:["**/*.test.e2e.?(c|m)[jt]s?(x)"],browser:{enabled:!0,provider:"playwright",instances:[{browser:"chromium"},{browser:"firefox"},{browser:"webkit"}]}}},e))}m(E,"vitestE2E");import y from"@vitejs/plugin-react-swc";import{defineConfig as v}from"vitest/config";import h from"fs-extra";var D=".cyberskill-storage";import I from"@dotenvx/dotenvx";import{bool as C,cleanEnv as N,str as b}from"envalid";import S from"node:os";import O from"node:path";import _ from"node:process";var T=!1;function w(){T||(I.config(),T=!0)}m(w,"loadEnvFile");function P(){w();var e=N(_.env,{CWD:b({default:_.cwd()}),DEBUG:C({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:b({default:O.join(S.homedir(),D)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}m(P,"getEnv");var G=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as k}from"node:child_process";import L from"node:process";import*as R from"node:util";var A=function(e){return e.Error="error",e.Warning="warning",e}({});import j from"chalk";import Y from"consola";import{GraphQLError as x}from"graphql";var F=P();F.DEBUG||(Y.level=4);function M(e){var n=j[e];return typeof n=="function"?n:j.green}m(M,"chalkKeyword");var U={silent:Y.silent,level:Y.level,fatal:Y.fatal,error:Y.error,warn:Y.warn,log:Y.log,info:Y.info,success:Y.success,ready:Y.ready,start:Y.start,box:Y.box,debug:Y.debug,trace:Y.trace,verbose:Y.verbose,printBoxedLog:function e(e,n){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(n===null||n===void 0?void 0:n.length)){Y.box(j.green(e));return}n.forEach(function(e){var n=e.file,r=e.position,o=e.rule,a=e.message;Y.log("".concat(j.gray("File:")," ").concat(j.blue("".concat(n).concat(r?":".concat(r):"")))),o&&Y.log(" ".concat(M(t)("Rule:")," ").concat(o)),Y.log(" ".concat(M(t)("Message:")," ").concat(a))}),Y.box(M(t)("".concat(e," : ").concat(n.length))),Y.log(j.gray("─".repeat(40)))}};var V=function(e){return e.DEPENDENCY="dependencies",e.DEV_DEPENDENCY="devDependencies",e.PEER_DEPENDENCY="peerDependencies",e.BUNDLE_DEPENDENCY="bundleDependencies",e.OPTIONAL_DEPENDENCY="optionalDependencies",e}({});import K from"node-fetch";import B from"fs-extra";var J=B.lstatSync,W=B.readdirSync,H=B.mkdirSync,$=B.readFileSync,q=B.unlinkSync,Q=B.statSync,z=B.readJsonSync;function X(e,n,t){B.writeFileSync(e,n,t!==null&&t!==void 0?t:"utf-8")}m(X,"writeFileSync");function Z(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}return n.every(function(e){return B.pathExistsSync(e)})}m(Z,"pathExistsSync");var ee=P();function en(e){return r(function(){var n,t,r,o;return f(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,K("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:n=a.sent();if(!n.ok)throw new Error("Failed to fetch latest version: ".concat(n.status," ").concat(n.statusText));return[4,n.json()];case 2:t=a.sent(),r=t.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]}})})()}m(en,"getLatestPackageVersion");function et(e){return r(function(){var n,t,r,o,a,c,i,s,u,l,p,m,d,g,E,y,v,h,D;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,2,,3]);if(!Z(nt.PACKAGE_JSON))return[2,{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===V.DEPENDENCY,isDevDependency:e.type===V.DEV_DEPENDENCY,installedPath:"",file:{}}];n=z(nt.PACKAGE_JSON),t=n.name,r=n.version,o=r===void 0?"":r,a=n.dependencies,c=a===void 0?{}:a,i=n.devDependencies,s=i===void 0?{}:i;if(e.name===t)return[2,{name:t,currentVersion:o,latestVersion:o,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:e.type===V.DEPENDENCY,isDevDependency:e.type===V.DEV_DEPENDENCY,installedPath:nt.PACKAGE_JSON,file:n}];u=e.name in c,l=e.name in s;return[4,en(e.name)];case 1:p=f.sent();if(!u&&!l)return[2,{name:e.name,currentVersion:"",latestVersion:p,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===V.DEPENDENCY,isDevDependency:e.type===V.DEV_DEPENDENCY,installedPath:"",file:{}}];g=(d=(m=c[e.name])!==null&&m!==void 0?m:s[e.name])!==null&&d!==void 0?d:"",E=eS(ee.CWD,ew,e.name,eG);if(!Z(E))return[2,{name:e.name,currentVersion:"",latestVersion:p,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:u,isDevDependency:l,installedPath:"",file:{}}];y=z(E),v=y.version,h=v===void 0?"":v;return[2,g!==h?{name:e.name,currentVersion:h||g,latestVersion:p,isCurrentProject:!1,isInstalled:!0,isUpToDate:!1,isDependency:u,isDevDependency:l,installedPath:E,file:y}:{name:e.name,currentVersion:g,latestVersion:p,isCurrentProject:!1,isInstalled:!0,isUpToDate:g===p,isDependency:u,isDevDependency:l,installedPath:E,file:y}];case 2:D=f.sent();throw U.error('Error getting package "'.concat(e.name,'": ').concat(D.message)),D;case 3:return[2]}})})()}m(et,"getPackage");function er(e){return r(function(){var n,t,r,o,a;return f(this,function(c){try{;r=z(nt.PACKAGE_JSON),o=(n=r.dependencies)!==null&&n!==void 0?n:{},a=(t=r.devDependencies)!==null&&t!==void 0?t:{};e.isDependency?o[e.name]=e.latestVersion:e.isDevDependency&&(a[e.name]=e.latestVersion),X(nt.PACKAGE_JSON,JSON.stringify(r,null,4)),U.info('Updated "'.concat(e.name,'" to version ').concat(e.latestVersion))}catch(n){throw U.error('Error updating package "'.concat(e.name,'": ').concat(n.message)),n}return[2]})})()}m(er,"updatePackage");function eo(){return r(function(){var e,n,t,r,o,a,c,i,s,u,l,p,d;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,12,,13]);e=[{command:m(function(){return no.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:m(function(){return no.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:m(function(){return no.pnpmInstallForce()},"command"),message:"Retrying with force install"}];n=true,t=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(!!(n=(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,eD("".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:n=true;return[3,2];case 8:return[3,11];case 9:p=f.sent();t=true;r=p;return[3,11];case 10:try{if(!n&&o.return!=null){o.return()}}finally{if(t){throw r}}return[7];case 11:return[3,13];case 12:d=f.sent();throw U.error("Failed to install dependencies: ".concat(d.message)),d;case 13:return[2]}})})()}m(eo,"installDependencies");function ea(e,n){return r(function(){var t,r,o,a,c,i,s,u,l,p,m,d;return f(this,function(f){switch(f.label){case 0:if(!Z(nt.PACKAGE_JSON)){U.error("package.json not found. Aborting setup.");return[2]}f.label=1;case 1:f.trys.push([1,16,,17]);return[4,Promise.all(e.map(et))];case 2:t=f.sent().filter(function(e){return!e.isCurrentProject&&(!e.isInstalled||!e.isUpToDate)});r=t.length>0;if(!r)return[3,7];return[4,Promise.all(t.map(er))];case 3:f.sent();return[4,eo()];case 4:f.sent();o=["Running ESLint with auto-fix"];return[4,no.eslintFix()];case 5:return[4,eD.apply(void 0,o.concat([f.sent()]))];case 6:r=f.sent();f.label=7;case 7:r;c=true,i=false,s=undefined;f.label=8;case 8:f.trys.push([8,13,14,15]);u=((a=n===null||n===void 0?void 0:n.postInstallActions)!==null&&a!==void 0?a:[])[Symbol.iterator]();f.label=9;case 9:if(!!(c=(l=u.next()).done))return[3,12];p=l.value;return[4,p()];case 10:f.sent();f.label=11;case 11:c=true;return[3,9];case 12:return[3,15];case 13:m=f.sent();i=true;s=m;return[3,15];case 14:try{if(!c&&u.return!=null){u.return()}}finally{if(i){throw s}}return[7];case 15:return[3,17];case 16:d=f.sent();throw U.error('Failed to setup "'.concat(e.map(function(e){return e.name}).join(", "),'": ').concat(d.message)),d;case 17:return[2]}})})()}m(ea,"setupPackages");import ec from"node-persist";var ei=P();function es(){return r(function(){var e;return f(this,function(n){switch(n.label){case 0:e=ec.defaultInstance;if(e)return[3,2];return[4,ec.init({dir:ei.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=n.sent();n.label=2;case 2:e;return[2]}})})()}m(es,"initNodePersist");var eu={get:function e(e){return r(function(){var n,t;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,es()];case 1:r.sent();return[4,ec.getItem(e)];case 2:return[2,(n=r.sent())!==null&&n!==void 0?n:null];case 3:t=r.sent();return[2,(U.error('[Storage:get] Error getting key "'.concat(e,'":'),t),null)];case 4:return[2]}})})()},set:function e(e,n){return r(function(){var t;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,es()];case 1:r.sent();return[4,ec.setItem(e,n)];case 2:r.sent();return[3,4];case 3:t=r.sent();U.error('[Storage:set] Error setting key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},remove:function e(e){return r(function(){var n;return f(this,function(t){switch(t.label){case 0:t.trys.push([0,3,,4]);return[4,es()];case 1:t.sent();return[4,ec.removeItem(e)];case 2:t.sent();return[3,4];case 3:n=t.sent();U.error('[Storage:remove] Error removing key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},keys:function e(){return r(function(){var e,n;return f(this,function(t){switch(t.label){case 0:t.trys.push([0,3,,4]);return[4,es()];case 1:t.sent();return[4,ec.keys()];case 2:e=t.sent();return[2,Array.isArray(e)?e:(U.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:n=t.sent();return[2,(U.error("[Storage:keys] Error getting keys:",n),[])];case 4:return[2]}})})()},getLogLink:function e(e){return r(function(){return f(this,function(n){try{return[2,"".concat(ei.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(U.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var el=P(),ef=R.promisify(k);function ep(e){return"error_list:".concat(e)}m(ep,"getErrorListKey");function em(e){return r(function(){var n,t,o;return f(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];n=Date.now(),t=ep(n);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,eu.set(t,{errors:e,timestamp:n})];case 2:a.sent(),setTimeout(function(){return r(function(){var e;return f(this,function(n){switch(n.label){case 0:return[4,eu.getLogLink(t)];case 1:e=n.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]}})})()}m(em,"saveErrorListToStorage");function ed(e){var n=[],t=[],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)||[],m=a.exec(e)||[],d=c.exec(e)||[];var g,E,y,v,h,D;p.length&&r?n.push({file:r,position:"".concat(p[1],":").concat(p[2]),type:p[3]===A.Error?A.Error:A.Warning,message:(g=p===null||p===void 0?void 0:(i=p[4])===null||i===void 0?void 0:i.trim())!==null&&g!==void 0?g:"",rule:(E=p===null||p===void 0?void 0:(s=p[5])===null||s===void 0?void 0:s.trim())!==null&&E!==void 0?E:""}):m.length?n.push({file:(y=m===null||m===void 0?void 0:m[1])!==null&&y!==void 0?y:"",position:"".concat(m[2],":").concat(m[3]),type:m[4]===A.Error?A.Error:A.Warning,message:(v=m===null||m===void 0?void 0:(u=m[5])===null||u===void 0?void 0:u.trim())!==null&&v!==void 0?v:""}):d.length?n.push({file:"commitlint",type:A.Error,message:(h=d===null||d===void 0?void 0:(l=d[1])===null||l===void 0?void 0:l.trim())!==null&&h!==void 0?h:"",rule:(D=d===null||d===void 0?void 0:(f=d[2])===null||f===void 0?void 0:f.trim())!==null&&D!==void 0?D:""}):t.push(e.trim())}}),n.length&&em(n),el.DEBUG&&t.length&&(U.warn("Unmatched lines:"),t.forEach(function(e){return U.info(" ".concat(e))}))}m(ed,"parseTextErrors");function eg(e){try{var n=JSON.parse(e),t=[];n.forEach(function(e){var n=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;t.push({type:r===2?A.Error:A.Warning,file:n,position:"".concat(o,":").concat(a),rule:c,message:i})})}),t.length&&em(t)}catch(n){ed(e)}}m(eg,"parseCommandOutput");function eE(e){return r(function(e){var n,t,r,o,a,c,i,s,u;var l=arguments;return f(this,function(f){switch(f.label){case 0:n=l.length>1&&l[1]!==void 0?l[1]:eg;t=new AbortController;L.on("SIGINT",function(){U.warn("Process interrupted. Terminating..."),t.abort(),L.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,ef(e,{maxBuffer:0x6400000,signal:t.signal})];case 2:r=f.sent(),o=r.stdout,a=r.stderr;[o,a].forEach(function(e){return e&&n(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&&n(e)}),!s&&!i&&U.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}m(eE,"executeCommand");function ey(e){return{raw:!0,cmd:e}}m(ey,"rawCommand");function ev(e,n){return(n===null||n===void 0?void 0:n.isCurrentProject)?"".concat(e3," ").concat(e0," ").concat(eV," ").concat(e):"".concat(e3," ").concat(eU," ").concat(e)}m(ev,"formatCLI");function eh(e,n){return typeof e=="function"?ev(e(n),n):(typeof e==="undefined"?"undefined":u(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?ev(e,n):e}m(eh,"formatCommand");function eD(e,n){return r(function(){var t;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);U.start("".concat(e)),el.DEBUG&&U.info("→ ".concat(n));return[4,eE(n)];case 1:r.sent(),U.success("".concat(e," done."));return[3,3];case 2:t=r.sent();throw U.error("".concat(e," failed: ").concat(t.message)),t;case 3:return[2]}})})()}m(eD,"runCommand");import eI from"node:path";var eC=P(),eN=eI;function eb(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}var r;return(r=eN).resolve.apply(r,[eC.CWD].concat(s(n)))}m(eb,"resolveWorkingPath");function eS(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}var r;return(r=eN).join.apply(r,s(n))}m(eS,"join");var eO=P(),e_=eO.CWD,eT="@cyberskill/shared",ew="node_modules",eP="dist",eG="package.json",ek="package-lock.json",eL="tsconfig.json",eR=".gitignore",eA=".simple-git-hooks.json",ej="pnpm-lock.yaml",eY=".git/hooks/",ex=".git/COMMIT_EDITMSG",eF=".migrate-mongo.config.js",eM=function(){var e=h.readJsonSync(eb(eG)).name===eT?e_:eS(e_,ew,eT);return eS(e,eP)}(),eU="cyberskill",eV="src/node/cli/index.ts",eK="eslint",eB="eslint",eJ="vitest";var eW="vitest",eH="@commitlint/cli",e$="@commitlint/config-conventional",eq="commitlint",eQ="lint-staged",ez="lint-staged",eX="typescript",eZ="tsc",e0="tsx",e1="git",e2="pnpm",e3="pnpm exec",e4="simple-git-hooks",e5="simple-git-hooks",e7="@eslint/config-inspector",e6="eslint-config-inspector",e8="node-modules-inspector",e9="node-modules-inspector",ne="migrate-mongo",nn="./node_modules/migrate-mongo/bin/migrate-mongo",nt={CYBERSKILL_DIRECTORY:eM,WORKING_DIRECTORY:e_,TS_CONFIG:eb(eL),GIT_IGNORE:eb(eR),GIT_HOOK:eb(eY),GIT_COMMIT_MSG:eb(ex),SIMPLE_GIT_HOOKS_JSON:eb(eA),PACKAGE_JSON:eb(eG),PACKAGE_LOCK_JSON:eb(ek),PNPM_LOCK_YAML:eb(ej),NODE_MODULES:eb(ew),MIGRATE_MONGO_CONFIG:eb(eF),LINT_STAGED_CONFIG:eb("".concat(eM,"/configs/lint-staged/index.js")),COMMITLINT_CONFIG:eb("".concat(eM,"/configs/commitlint/index.js")),UNIT_TEST_CONFIG:eb("".concat(eM,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eb("".concat(eM,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eb("".concat(eM,"/react/vitest/vitest.e2e.js"))};function nr(e){var n=e.type,t=e.packages,o=e.command;var a=t===null||t===void 0?void 0:t.reduce(function(e,n){return e.some(function(e){return e.name===n.name})||e.push(n),e},[]);return function(){return r(function(){var e;return f(this,function(t){switch(t.label){case 0:switch(n){case G.CLI:return[3,1];case G.STRING:return[3,4]}return[3,5];case 1:e=a===null||a===void 0?void 0:a.length;if(!e)return[3,3];return[4,ea(a,{update:!0})];case 2:e=t.sent();t.label=3;case 3:return[2,(e,eh(ey("".concat(e3," ").concat(o))))];case 4:return[2,eh(ey(o))];case 5:throw new Error("Unsupported command type");case 6:return[2]}})})()}}m(nr,"buildCommand");var no={simpleGitHooks:nr({type:G.CLI,packages:[{name:e4,type:V.DEV_DEPENDENCY}],command:e5}),eslintInspect:nr({type:G.CLI,packages:[{name:e7,type:V.DEV_DEPENDENCY}],command:e6}),nodeModulesInspect:nr({type:G.CLI,packages:[{name:e8,type:V.DEV_DEPENDENCY}],command:e9}),eslintCheck:nr({type:G.CLI,packages:[{name:eK,type:V.DEV_DEPENDENCY}],command:"".concat(eB," ").concat(nt.WORKING_DIRECTORY," --no-cache")}),eslintFix:nr({type:G.CLI,packages:[{name:eK,type:V.DEV_DEPENDENCY}],command:"".concat(eB," ").concat(nt.WORKING_DIRECTORY," --fix --no-cache")}),typescriptCheck:nr({type:G.CLI,packages:[{name:eX,type:V.DEPENDENCY}],command:"".concat(eZ," -p ").concat(nt.TS_CONFIG," --noEmit")}),testUnit:nr({type:G.CLI,packages:[{name:eJ,type:V.DEV_DEPENDENCY}],command:"".concat(eW," --config ").concat(nt.UNIT_TEST_CONFIG)}),testE2e:nr({type:G.CLI,packages:[{name:eJ,type:V.DEV_DEPENDENCY}],command:"".concat(eW," --config ").concat(nt.E2E_TEST_CONFIG)}),mongoMigrateCreate:m(function(e){return nr({type:G.CLI,packages:[{name:ne,type:V.DEPENDENCY}],command:"".concat(e0," ").concat(nn," create ").concat(e," -f ").concat(nt.MIGRATE_MONGO_CONFIG)})()},"mongoMigrateCreate"),mongoMigrateUp:nr({type:G.CLI,packages:[{name:ne,type:V.DEPENDENCY}],command:"".concat(e0," ").concat(nn," up -f ").concat(nt.MIGRATE_MONGO_CONFIG)}),mongoMigrateDown:nr({type:G.CLI,packages:[{name:ne,type:V.DEPENDENCY}],command:"".concat(e0," ").concat(nn," down -f ").concat(nt.MIGRATE_MONGO_CONFIG)}),commitLint:nr({type:G.CLI,packages:[{name:eH,type:V.DEV_DEPENDENCY},{name:e$,type:V.DEV_DEPENDENCY}],command:"".concat(eq," --edit ").concat(nt.GIT_COMMIT_MSG," --config ").concat(nt.COMMITLINT_CONFIG)}),lintStaged:nr({type:G.CLI,packages:[{name:eQ,type:V.DEV_DEPENDENCY}],command:"".concat(ez," --config ").concat(nt.LINT_STAGED_CONFIG)}),configureGitHook:nr({type:G.STRING,command:"".concat(e1," config core.hooksPath ").concat(nt.GIT_HOOK)}),stageBuildDirectory:nr({type:G.STRING,command:"".concat(e1," add ").concat(eP)}),build:nr({type:G.STRING,command:"".concat(e2," run --if-present build")}),pnpmInstallStandard:nr({type:G.STRING,command:"".concat(e2," install")}),pnpmInstallLegacy:nr({type:G.STRING,command:"".concat(e2," install --legacy-peer-deps")}),pnpmInstallForce:nr({type:G.STRING,command:"".concat(e2," install --force")})};function na(e){return v(i({plugins:[y()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[nt.UNIT_TEST_SETUP_CONFIG]}},e))}m(na,"vitestUnit");export{E as vitestE2E,na as vitestUnit};
@@ -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 m=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,E=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})},h=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;!E.call(e,a)&&a!==n&&p(e,a,{get:function(){return t[a]},enumerable:!(r=m(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 D=function(e,t,n){return n=e!=null?d(g(e)):{},h(t||!e||!e.__esModule?p(n,"default",{value:e,enumerable:!0}):n,e)},I=function(e){return h(p({},"__esModule",{value:!0}),e)};var C={};_(C,{vitestUnit:function(){return td}});module.exports=I(C);var N=D(require("@vitejs/plugin-react-swc"),1),b=require("vitest/config");var O=D(require("fs-extra"),1);var P=".cyberskill-storage";var S=D(require("@dotenvx/dotenvx"),1),T=require("envalid"),w=D(require("os"),1),G=D(require("path"),1),R=D(require("process"),1);var k=!1;function L(){k||(S.default.config(),k=!0)}y(L,"loadEnvFile");function U(){L();var e=(0,T.cleanEnv)(R.default.env,{CWD:(0,T.str)({default:R.default.cwd()}),DEBUG:(0,T.bool)({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:(0,T.str)({default:G.default.join(w.default.homedir(),P)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}y(U,"getEnv");var j=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var A=require("child_process"),Y=D(require("process"),1),x=D(require("util"),1);var M=function(e){return e.Error="error",e.Warning="warning",e}({});var F=D(require("chalk"),1),V=D(require("consola"),1),K=require("graphql");var q=U();q.DEBUG||(V.default.level=4);function B(e){var t=F.default[e];return typeof t=="function"?t:F.default.green}y(B,"chalkKeyword");var J={silent:V.default.silent,level:V.default.level,fatal:V.default.fatal,error:V.default.error,warn:V.default.warn,log:V.default.log,info:V.default.info,success:V.default.success,ready:V.default.ready,start:V.default.start,box:V.default.box,debug:V.default.debug,trace:V.default.trace,verbose:V.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)){V.default.box(F.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,a=e.rule,o=e.message;V.default.log("".concat(F.default.gray("File:")," ").concat(F.default.blue("".concat(t).concat(r?":".concat(r):"")))),a&&V.default.log(" ".concat(B(n)("Rule:")," ").concat(a)),V.default.log(" ".concat(B(n)("Message:")," ").concat(o))}),V.default.box(B(n)("".concat(e," : ").concat(t.length))),V.default.log(F.default.gray("─".repeat(40)))}};var W=function(e){return e.DEPENDENCY="dependencies",e.DEV_DEPENDENCY="devDependencies",e.PEER_DEPENDENCY="peerDependencies",e.BUNDLE_DEPENDENCY="bundleDependencies",e.OPTIONAL_DEPENDENCY="optionalDependencies",e}({});var H=D(require("node-fetch"),1);var $=D(require("fs-extra"),1),z=D(require("path"),1);var Q=$.default,X=Q.lstatSync,Z=Q.readdirSync,ee=Q.mkdirSync,et=Q.readFileSync,en=Q.unlinkSync,er=Q.statSync,ea=$.default.readJsonSync;function eo(e,t,n){$.default.writeFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}y(eo,"writeFileSync");function ec(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return $.default.pathExistsSync(e)})}y(ec,"pathExistsSync");var ei=U();function es(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,H.default)("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=o.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=o.sent(),r=n.version;return[2,r];case 3:a=o.sent();throw J.error('Failed to fetch version for "'.concat(e,'": ').concat(a.message)),a;case 4:return[2]}})})()}y(es,"getLatestPackageVersion");function eu(e){return /*#__PURE__*/r(function(){var t,n,r,a,o,c,i,s,u,l,d,p,m,v,g,E,y,_,h;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,2,,3]);if(!ec(tu.PACKAGE_JSON))return[2,{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===W.DEPENDENCY,isDevDependency:e.type===W.DEV_DEPENDENCY,installedPath:"",file:{}}];t=ea(tu.PACKAGE_JSON),n=t.name,r=t.version,a=r===void 0?"":r,o=t.dependencies,c=o===void 0?{}:o,i=t.devDependencies,s=i===void 0?{}:i;if(e.name===n)return[2,{name:n,currentVersion:a,latestVersion:a,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:e.type===W.DEPENDENCY,isDevDependency:e.type===W.DEV_DEPENDENCY,installedPath:tu.PACKAGE_JSON,file:t}];u=e.name in c,l=e.name in s;return[4,es(e.name)];case 1:d=f.sent();if(!u&&!l)return[2,{name:e.name,currentVersion:"",latestVersion:d,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===W.DEPENDENCY,isDevDependency:e.type===W.DEV_DEPENDENCY,installedPath:"",file:{}}];v=(m=(p=c[e.name])!==null&&p!==void 0?p:s[e.name])!==null&&m!==void 0?m:"",g=eR(ei.CWD,ej,e.name,eY);if(!ec(g))return[2,{name:e.name,currentVersion:"",latestVersion:d,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:u,isDevDependency:l,installedPath:"",file:{}}];E=ea(g),y=E.version,_=y===void 0?"":y;return[2,v!==_?{name:e.name,currentVersion:_||v,latestVersion:d,isCurrentProject:!1,isInstalled:!0,isUpToDate:!1,isDependency:u,isDevDependency:l,installedPath:g,file:E}:{name:e.name,currentVersion:v,latestVersion:d,isCurrentProject:!1,isInstalled:!0,isUpToDate:v===d,isDependency:u,isDevDependency:l,installedPath:g,file:E}];case 2:h=f.sent();throw J.error('Error getting package "'.concat(e.name,'": ').concat(h.message)),h;case 3:return[2]}})})()}y(eu,"getPackage");function el(e){return /*#__PURE__*/r(function(){var t,n,r,a,o;return f(this,function(c){try{;r=ea(tu.PACKAGE_JSON),a=(t=r.dependencies)!==null&&t!==void 0?t:{},o=(n=r.devDependencies)!==null&&n!==void 0?n:{};e.isDependency?a[e.name]=e.latestVersion:e.isDevDependency&&(o[e.name]=e.latestVersion),eo(tu.PACKAGE_JSON,JSON.stringify(r,null,4)),J.info('Updated "'.concat(e.name,'" to version ').concat(e.latestVersion))}catch(t){throw J.error('Error updating package "'.concat(e.name,'": ').concat(t.message)),t}return[2]})})()}y(el,"updatePackage");function ef(){return /*#__PURE__*/r(function(){var e,t,n,r,a,o,c,i,s,u,l,d,p;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,12,,13]);e=[{command:y(function(){return tf.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:y(function(){return tf.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:y(function(){return tf.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;f.label=1;case 1:f.trys.push([1,9,10,11]);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,eP("".concat(s," using: ").concat(u),u)];case 5:f.sent();return[2];case 6:l=f.sent();J.warn("Installation attempt failed: ".concat(s)),J.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=f.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&a.return!=null){a.return()}}finally{if(n){throw r}}return[7];case 11:return[3,13];case 12:p=f.sent();throw J.error("Failed to install dependencies: ".concat(p.message)),p;case 13:return[2]}})})()}y(ef,"installDependencies");function ed(e,t){return /*#__PURE__*/r(function(){var n,r,a,o,c,i,s,u,l,d,p,m;return f(this,function(f){switch(f.label){case 0:if(!ec(tu.PACKAGE_JSON)){J.error("package.json not found. Aborting setup.");return[2]}f.label=1;case 1:f.trys.push([1,16,,17]);return[4,Promise.all(e.map(eu))];case 2:n=f.sent().filter(function(e){return!e.isCurrentProject&&(!e.isInstalled||!e.isUpToDate)});r=n.length>0;if(!r)return[3,7];return[4,Promise.all(n.map(el))];case 3:f.sent();return[4,ef()];case 4:f.sent();a=["Running ESLint with auto-fix"];return[4,tf.eslintFix()];case 5:return[4,eP.apply(void 0,a.concat([f.sent()]))];case 6:r=f.sent();f.label=7;case 7:r;c=true,i=false,s=undefined;f.label=8;case 8:f.trys.push([8,13,14,15]);u=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();f.label=9;case 9:if(!!(c=(l=u.next()).done))return[3,12];d=l.value;return[4,d()];case 10:f.sent();f.label=11;case 11:c=true;return[3,9];case 12:return[3,15];case 13:p=f.sent();i=true;s=p;return[3,15];case 14:try{if(!c&&u.return!=null){u.return()}}finally{if(i){throw s}}return[7];case 15:return[3,17];case 16:m=f.sent();throw J.error('Failed to setup "'.concat(e.map(function(e){return e.name}).join(", "),'": ').concat(m.message)),m;case 17:return[2]}})})()}y(ed,"setupPackages");var ep=D(require("node-persist"),1);var em=U();function ev(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:e=ep.default.defaultInstance;if(e)return[3,2];return[4,ep.default.init({dir:em.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(ev,"initNodePersist");var eg={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,ev()];case 1:r.sent();return[4,ep.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(J.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ev()];case 1:r.sent();return[4,ep.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();J.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/r(function(){var t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ev()];case 1:n.sent();return[4,ep.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();J.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/r(function(){var e,t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ev()];case 1:n.sent();return[4,ep.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(J.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(J.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/r(function(){return f(this,function(t){try{return[2,"".concat(em.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(J.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eE=U(),ey=x.promisify(A.exec);function e_(e){return"error_list:".concat(e)}y(e_,"getErrorListKey");function eh(e){return /*#__PURE__*/r(function(){var t,n,a;return f(this,function(o){switch(o.label){case 0:if(e.length===0)return[2];t=Date.now(),n=e_(t);o.label=1;case 1:o.trys.push([1,3,,4]);return[4,eg.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,eg.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:a=o.sent();J.error("Failed to save errors: ".concat(a.message));return[3,4];case 4:return[2]}})})()}y(eh,"saveErrorListToStorage");function eD(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)||[],m=c.exec(e)||[];var v,g,E,y,_,h;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===M.Error?M.Error:M.Warning,message:(v=d===null||d===void 0?void 0:(i=d[4])===null||i===void 0?void 0:i.trim())!==null&&v!==void 0?v:"",rule:(g=d===null||d===void 0?void 0:(s=d[5])===null||s===void 0?void 0:s.trim())!==null&&g!==void 0?g:""}):p.length?t.push({file:(E=p===null||p===void 0?void 0:p[1])!==null&&E!==void 0?E:"",position:"".concat(p[2],":").concat(p[3]),type:p[4]===M.Error?M.Error:M.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:""}):m.length?t.push({file:"commitlint",type:M.Error,message:(_=m===null||m===void 0?void 0:(l=m[1])===null||l===void 0?void 0:l.trim())!==null&&_!==void 0?_:"",rule:(h=m===null||m===void 0?void 0:(f=m[2])===null||f===void 0?void 0:f.trim())!==null&&h!==void 0?h:""}):n.push(e.trim())}}),t.length&&eh(t),eE.DEBUG&&n.length&&(J.warn("Unmatched lines:"),n.forEach(function(e){return J.info(" ".concat(e))}))}y(eD,"parseTextErrors");function eI(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,a=e.line,o=e.column,c=e.ruleId,i=e.message;n.push({type:r===2?M.Error:M.Warning,file:t,position:"".concat(a,":").concat(o),rule:c,message:i})})}),n.length&&eh(n)}catch(t){eD(e)}}y(eI,"parseCommandOutput");function eC(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]:eI;n=new AbortController;Y.default.on("SIGINT",function(){J.warn("Process interrupted. Terminating..."),n.abort(),Y.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&&J.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}y(eC,"executeCommand");function eN(e){return{raw:!0,cmd:e}}y(eN,"rawCommand");function eb(e,t){return(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(te," ").concat(e6," ").concat(e$," ").concat(e):"".concat(te," ").concat(eH," ").concat(e)}y(eb,"formatCLI");function eO(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}y(eO,"formatCommand");function eP(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);J.start("".concat(e)),eE.DEBUG&&J.info("→ ".concat(t));return[4,eC(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]}})})()}y(eP,"runCommand");var eS=D(require("path"),1);var eT=U(),ew=eS.default;function eG(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=ew).resolve.apply(r,[eT.CWD].concat(s(t)))}y(eG,"resolveWorkingPath");function eR(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=ew).join.apply(r,s(t))}y(eR,"join");var ek=U(),eL=ek.CWD,eU="@cyberskill/shared",ej="node_modules",eA="dist",eY="package.json",ex="package-lock.json",eM="tsconfig.json",eF=".gitignore",eV=".simple-git-hooks.json",eK="pnpm-lock.yaml",eq=".git/hooks/",eB=".git/COMMIT_EDITMSG",eJ=".migrate-mongo.config.js",eW=function(){var e=O.default.readJsonSync(eG(eY)).name===eU?eL:eR(eL,ej,eU);return eR(e,eA)}(),eH="cyberskill",e$="src/node/cli/index.ts",ez="eslint",eQ="eslint",eX="vitest";var eZ="vitest",e0="@commitlint/cli",e1="@commitlint/config-conventional",e2="commitlint",e3="lint-staged",e4="lint-staged",e5="typescript",e7="tsc",e6="tsx",e8="git",e9="pnpm",te="pnpm exec",tt="simple-git-hooks",tn="simple-git-hooks",tr="@eslint/config-inspector",ta="eslint-config-inspector",to="node-modules-inspector",tc="node-modules-inspector",ti="migrate-mongo",ts="./node_modules/migrate-mongo/bin/migrate-mongo",tu={CYBERSKILL_DIRECTORY:eW,WORKING_DIRECTORY:eL,TS_CONFIG:eG(eM),GIT_IGNORE:eG(eF),GIT_HOOK:eG(eq),GIT_COMMIT_MSG:eG(eB),SIMPLE_GIT_HOOKS_JSON:eG(eV),PACKAGE_JSON:eG(eY),PACKAGE_LOCK_JSON:eG(ex),PNPM_LOCK_YAML:eG(eK),NODE_MODULES:eG(ej),MIGRATE_MONGO_CONFIG:eG(eJ),LINT_STAGED_CONFIG:eG("".concat(eW,"/configs/lint-staged/index.js")),COMMITLINT_CONFIG:eG("".concat(eW,"/configs/commitlint/index.js")),UNIT_TEST_CONFIG:eG("".concat(eW,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eG("".concat(eW,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eG("".concat(eW,"/react/vitest/vitest.e2e.js"))};function tl(e){var t=e.type,n=e.packages,a=e.command;var o=n===null||n===void 0?void 0:n.reduce(function(e,t){return e.some(function(e){return e.name===t.name})||e.push(t),e},[]);return function(){return /*#__PURE__*/r(function(){var e;return f(this,function(n){switch(n.label){case 0:switch(t){case j.CLI:return[3,1];case j.STRING:return[3,4]}return[3,5];case 1:e=o===null||o===void 0?void 0:o.length;if(!e)return[3,3];return[4,ed(o,{update:!0})];case 2:e=n.sent();n.label=3;case 3:return[2,(e,eO(eN("".concat(te," ").concat(a))))];case 4:return[2,eO(eN(a))];case 5:throw new Error("Unsupported command type");case 6:return[2]}})})()}}y(tl,"buildCommand");var tf={simpleGitHooks:tl({type:j.CLI,packages:[{name:tt,type:W.DEV_DEPENDENCY}],command:tn}),eslintInspect:tl({type:j.CLI,packages:[{name:tr,type:W.DEV_DEPENDENCY}],command:ta}),nodeModulesInspect:tl({type:j.CLI,packages:[{name:to,type:W.DEV_DEPENDENCY}],command:tc}),eslintCheck:tl({type:j.CLI,packages:[{name:ez,type:W.DEV_DEPENDENCY}],command:"".concat(eQ," ").concat(tu.WORKING_DIRECTORY," --no-cache")}),eslintFix:tl({type:j.CLI,packages:[{name:ez,type:W.DEV_DEPENDENCY}],command:"".concat(eQ," ").concat(tu.WORKING_DIRECTORY," --fix --no-cache")}),typescriptCheck:tl({type:j.CLI,packages:[{name:e5,type:W.DEPENDENCY}],command:"".concat(e7," -p ").concat(tu.TS_CONFIG," --noEmit")}),testUnit:tl({type:j.CLI,packages:[{name:eX,type:W.DEV_DEPENDENCY}],command:"".concat(eZ," --config ").concat(tu.UNIT_TEST_CONFIG)}),testE2e:tl({type:j.CLI,packages:[{name:eX,type:W.DEV_DEPENDENCY}],command:"".concat(eZ," --config ").concat(tu.E2E_TEST_CONFIG)}),mongoMigrateCreate:y(function(e){return tl({type:j.CLI,packages:[{name:ti,type:W.DEPENDENCY}],command:"".concat(e6," ").concat(ts," create ").concat(e," -f ").concat(tu.MIGRATE_MONGO_CONFIG)})()},"mongoMigrateCreate"),mongoMigrateUp:tl({type:j.CLI,packages:[{name:ti,type:W.DEPENDENCY}],command:"".concat(e6," ").concat(ts," up -f ").concat(tu.MIGRATE_MONGO_CONFIG)}),mongoMigrateDown:tl({type:j.CLI,packages:[{name:ti,type:W.DEPENDENCY}],command:"".concat(e6," ").concat(ts," down -f ").concat(tu.MIGRATE_MONGO_CONFIG)}),commitLint:tl({type:j.CLI,packages:[{name:e0,type:W.DEV_DEPENDENCY},{name:e1,type:W.DEV_DEPENDENCY}],command:"".concat(e2," --edit ").concat(tu.GIT_COMMIT_MSG," --config ").concat(tu.COMMITLINT_CONFIG)}),lintStaged:tl({type:j.CLI,packages:[{name:e3,type:W.DEV_DEPENDENCY}],command:"".concat(e4," --config ").concat(tu.LINT_STAGED_CONFIG)}),configureGitHook:tl({type:j.STRING,command:"".concat(e8," config core.hooksPath ").concat(tu.GIT_HOOK)}),stageBuildDirectory:tl({type:j.STRING,command:"".concat(e8," add ").concat(eA)}),build:tl({type:j.STRING,command:"".concat(e9," run --if-present build")}),pnpmInstallStandard:tl({type:j.STRING,command:"".concat(e9," install")}),pnpmInstallLegacy:tl({type:j.STRING,command:"".concat(e9," install --legacy-peer-deps")}),pnpmInstallForce:tl({type:j.STRING,command:"".concat(e9," install --force")})};function td(e){return(0,b.defineConfig)(i({plugins:[(0,N.default)()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[tu.UNIT_TEST_SETUP_CONFIG]}},e))}y(td,"vitestUnit");0&&(module.exports={vitestUnit:vitestUnit});
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 m=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var E=function(e,t){return p(e,"name",{value:t,configurable:!0})};var h=function(e,t){for(var n in t)p(e,n,{get:t[n],enumerable:!0})},D=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=m(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 I=function(e,t,n){return n=e!=null?d(g(e)):{},D(t||!e||!e.__esModule?p(n,"default",{value:e,enumerable:!0}):n,e)},C=function(e){return D(p({},"__esModule",{value:!0}),e)};var N={};h(N,{vitestUnit:function(){return td}});module.exports=C(N);var b=I(require("@vitejs/plugin-react-swc"),1),O=require("vitest/config");var S=I(require("fs-extra"),1);var _=".cyberskill-storage";var T=I(require("@dotenvx/dotenvx"),1),P=require("envalid"),w=I(require("os"),1),G=I(require("path"),1),k=I(require("process"),1);var L=!1;function R(){L||(T.default.config(),L=!0)}E(R,"loadEnvFile");function j(){R();var e=(0,P.cleanEnv)(k.default.env,{CWD:(0,P.str)({default:k.default.cwd()}),DEBUG:(0,P.bool)({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:(0,P.str)({default:G.default.join(w.default.homedir(),_)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}E(j,"getEnv");var A=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var Y=require("child_process"),x=I(require("process"),1),M=I(require("util"),1);var F=function(e){return e.Error="error",e.Warning="warning",e}({});var U=I(require("chalk"),1),V=I(require("consola"),1),K=require("graphql");var q=j();q.DEBUG||(V.default.level=4);function B(e){var t=U.default[e];return typeof t=="function"?t:U.default.green}E(B,"chalkKeyword");var J={silent:V.default.silent,level:V.default.level,fatal:V.default.fatal,error:V.default.error,warn:V.default.warn,log:V.default.log,info:V.default.info,success:V.default.success,ready:V.default.ready,start:V.default.start,box:V.default.box,debug:V.default.debug,trace:V.default.trace,verbose:V.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)){V.default.box(U.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,a=e.rule,o=e.message;V.default.log("".concat(U.default.gray("File:")," ").concat(U.default.blue("".concat(t).concat(r?":".concat(r):"")))),a&&V.default.log(" ".concat(B(n)("Rule:")," ").concat(a)),V.default.log(" ".concat(B(n)("Message:")," ").concat(o))}),V.default.box(B(n)("".concat(e," : ").concat(t.length))),V.default.log(U.default.gray("─".repeat(40)))}};var W=function(e){return e.DEPENDENCY="dependencies",e.DEV_DEPENDENCY="devDependencies",e.PEER_DEPENDENCY="peerDependencies",e.BUNDLE_DEPENDENCY="bundleDependencies",e.OPTIONAL_DEPENDENCY="optionalDependencies",e}({});var H=I(require("node-fetch"),1);var $=I(require("fs-extra"),1),z=I(require("path"),1);var Q=$.default,X=Q.lstatSync,Z=Q.readdirSync,ee=Q.mkdirSync,et=Q.readFileSync,en=Q.unlinkSync,er=Q.statSync,ea=$.default.readJsonSync;function eo(e,t,n){$.default.writeFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}E(eo,"writeFileSync");function ec(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return $.default.pathExistsSync(e)})}E(ec,"pathExistsSync");var ei=j();function es(e){return r(function(){var t,n,r,a;return f(this,function(o){switch(o.label){case 0:o.trys.push([0,3,,4]);return[4,(0,H.default)("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=o.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=o.sent(),r=n.version;return[2,r];case 3:a=o.sent();throw J.error('Failed to fetch version for "'.concat(e,'": ').concat(a.message)),a;case 4:return[2]}})})()}E(es,"getLatestPackageVersion");function eu(e){return r(function(){var t,n,r,a,o,c,i,s,u,l,d,p,m,v,g,y,E,h,D;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,2,,3]);if(!ec(tu.PACKAGE_JSON))return[2,{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===W.DEPENDENCY,isDevDependency:e.type===W.DEV_DEPENDENCY,installedPath:"",file:{}}];t=ea(tu.PACKAGE_JSON),n=t.name,r=t.version,a=r===void 0?"":r,o=t.dependencies,c=o===void 0?{}:o,i=t.devDependencies,s=i===void 0?{}:i;if(e.name===n)return[2,{name:n,currentVersion:a,latestVersion:a,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:e.type===W.DEPENDENCY,isDevDependency:e.type===W.DEV_DEPENDENCY,installedPath:tu.PACKAGE_JSON,file:t}];u=e.name in c,l=e.name in s;return[4,es(e.name)];case 1:d=f.sent();if(!u&&!l)return[2,{name:e.name,currentVersion:"",latestVersion:d,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===W.DEPENDENCY,isDevDependency:e.type===W.DEV_DEPENDENCY,installedPath:"",file:{}}];v=(m=(p=c[e.name])!==null&&p!==void 0?p:s[e.name])!==null&&m!==void 0?m:"",g=ek(ei.CWD,eA,e.name,ex);if(!ec(g))return[2,{name:e.name,currentVersion:"",latestVersion:d,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:u,isDevDependency:l,installedPath:"",file:{}}];y=ea(g),E=y.version,h=E===void 0?"":E;return[2,v!==h?{name:e.name,currentVersion:h||v,latestVersion:d,isCurrentProject:!1,isInstalled:!0,isUpToDate:!1,isDependency:u,isDevDependency:l,installedPath:g,file:y}:{name:e.name,currentVersion:v,latestVersion:d,isCurrentProject:!1,isInstalled:!0,isUpToDate:v===d,isDependency:u,isDevDependency:l,installedPath:g,file:y}];case 2:D=f.sent();throw J.error('Error getting package "'.concat(e.name,'": ').concat(D.message)),D;case 3:return[2]}})})()}E(eu,"getPackage");function el(e){return r(function(){var t,n,r,a,o;return f(this,function(c){try{;r=ea(tu.PACKAGE_JSON),a=(t=r.dependencies)!==null&&t!==void 0?t:{},o=(n=r.devDependencies)!==null&&n!==void 0?n:{};e.isDependency?a[e.name]=e.latestVersion:e.isDevDependency&&(o[e.name]=e.latestVersion),eo(tu.PACKAGE_JSON,JSON.stringify(r,null,4)),J.info('Updated "'.concat(e.name,'" to version ').concat(e.latestVersion))}catch(t){throw J.error('Error updating package "'.concat(e.name,'": ').concat(t.message)),t}return[2]})})()}E(el,"updatePackage");function ef(){return r(function(){var e,t,n,r,a,o,c,i,s,u,l,d,p;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,12,,13]);e=[{command:E(function(){return tf.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:E(function(){return tf.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:E(function(){return tf.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;f.label=1;case 1:f.trys.push([1,9,10,11]);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,e_("".concat(s," using: ").concat(u),u)];case 5:f.sent();return[2];case 6:l=f.sent();J.warn("Installation attempt failed: ".concat(s)),J.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=f.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&a.return!=null){a.return()}}finally{if(n){throw r}}return[7];case 11:return[3,13];case 12:p=f.sent();throw J.error("Failed to install dependencies: ".concat(p.message)),p;case 13:return[2]}})})()}E(ef,"installDependencies");function ed(e,t){return r(function(){var n,r,a,o,c,i,s,u,l,d,p,m;return f(this,function(f){switch(f.label){case 0:if(!ec(tu.PACKAGE_JSON)){J.error("package.json not found. Aborting setup.");return[2]}f.label=1;case 1:f.trys.push([1,16,,17]);return[4,Promise.all(e.map(eu))];case 2:n=f.sent().filter(function(e){return!e.isCurrentProject&&(!e.isInstalled||!e.isUpToDate)});r=n.length>0;if(!r)return[3,7];return[4,Promise.all(n.map(el))];case 3:f.sent();return[4,ef()];case 4:f.sent();a=["Running ESLint with auto-fix"];return[4,tf.eslintFix()];case 5:return[4,e_.apply(void 0,a.concat([f.sent()]))];case 6:r=f.sent();f.label=7;case 7:r;c=true,i=false,s=undefined;f.label=8;case 8:f.trys.push([8,13,14,15]);u=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();f.label=9;case 9:if(!!(c=(l=u.next()).done))return[3,12];d=l.value;return[4,d()];case 10:f.sent();f.label=11;case 11:c=true;return[3,9];case 12:return[3,15];case 13:p=f.sent();i=true;s=p;return[3,15];case 14:try{if(!c&&u.return!=null){u.return()}}finally{if(i){throw s}}return[7];case 15:return[3,17];case 16:m=f.sent();throw J.error('Failed to setup "'.concat(e.map(function(e){return e.name}).join(", "),'": ').concat(m.message)),m;case 17:return[2]}})})()}E(ed,"setupPackages");var ep=I(require("node-persist"),1);var em=j();function ev(){return r(function(){var e;return f(this,function(t){switch(t.label){case 0:e=ep.default.defaultInstance;if(e)return[3,2];return[4,ep.default.init({dir:em.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]}})})()}E(ev,"initNodePersist");var eg={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,ev()];case 1:r.sent();return[4,ep.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(J.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ev()];case 1:r.sent();return[4,ep.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();J.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return r(function(){var t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ev()];case 1:n.sent();return[4,ep.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();J.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return r(function(){var e,t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ev()];case 1:n.sent();return[4,ep.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(J.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(J.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return r(function(){return f(this,function(t){try{return[2,"".concat(em.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(J.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var ey=j(),eE=M.promisify(Y.exec);function eh(e){return"error_list:".concat(e)}E(eh,"getErrorListKey");function eD(e){return r(function(){var t,n,a;return f(this,function(o){switch(o.label){case 0:if(e.length===0)return[2];t=Date.now(),n=eh(t);o.label=1;case 1:o.trys.push([1,3,,4]);return[4,eg.set(n,{errors:e,timestamp:t})];case 2:o.sent(),setTimeout(function(){return r(function(){var e;return f(this,function(t){switch(t.label){case 0:return[4,eg.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:a=o.sent();J.error("Failed to save errors: ".concat(a.message));return[3,4];case 4:return[2]}})})()}E(eD,"saveErrorListToStorage");function eI(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)||[],m=c.exec(e)||[];var v,g,y,E,h,D;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===F.Error?F.Error:F.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:(g=d===null||d===void 0?void 0:(s=d[5])===null||s===void 0?void 0:s.trim())!==null&&g!==void 0?g:""}):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]===F.Error?F.Error:F.Warning,message:(E=p===null||p===void 0?void 0:(u=p[5])===null||u===void 0?void 0:u.trim())!==null&&E!==void 0?E:""}):m.length?t.push({file:"commitlint",type:F.Error,message:(h=m===null||m===void 0?void 0:(l=m[1])===null||l===void 0?void 0:l.trim())!==null&&h!==void 0?h:"",rule:(D=m===null||m===void 0?void 0:(f=m[2])===null||f===void 0?void 0:f.trim())!==null&&D!==void 0?D:""}):n.push(e.trim())}}),t.length&&eD(t),ey.DEBUG&&n.length&&(J.warn("Unmatched lines:"),n.forEach(function(e){return J.info(" ".concat(e))}))}E(eI,"parseTextErrors");function eC(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?F.Error:F.Warning,file:t,position:"".concat(a,":").concat(o),rule:c,message:i})})}),n.length&&eD(n)}catch(t){eI(e)}}E(eC,"parseCommandOutput");function eN(e){return 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]:eC;n=new AbortController;x.default.on("SIGINT",function(){J.warn("Process interrupted. Terminating..."),n.abort(),x.default.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,eE(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&&J.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}E(eN,"executeCommand");function eb(e){return{raw:!0,cmd:e}}E(eb,"rawCommand");function eO(e,t){return(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(te," ").concat(e6," ").concat(e$," ").concat(e):"".concat(te," ").concat(eH," ").concat(e)}E(eO,"formatCLI");function eS(e,t){return typeof e=="function"?eO(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"?eO(e,t):e}E(eS,"formatCommand");function e_(e,t){return r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);J.start("".concat(e)),ey.DEBUG&&J.info("→ ".concat(t));return[4,eN(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]}})})()}E(e_,"runCommand");var eT=I(require("path"),1);var eP=j(),ew=eT.default;function eG(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=ew).resolve.apply(r,[eP.CWD].concat(s(t)))}E(eG,"resolveWorkingPath");function ek(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=ew).join.apply(r,s(t))}E(ek,"join");var eL=j(),eR=eL.CWD,ej="@cyberskill/shared",eA="node_modules",eY="dist",ex="package.json",eM="package-lock.json",eF="tsconfig.json",eU=".gitignore",eV=".simple-git-hooks.json",eK="pnpm-lock.yaml",eq=".git/hooks/",eB=".git/COMMIT_EDITMSG",eJ=".migrate-mongo.config.js",eW=function(){var e=S.default.readJsonSync(eG(ex)).name===ej?eR:ek(eR,eA,ej);return ek(e,eY)}(),eH="cyberskill",e$="src/node/cli/index.ts",ez="eslint",eQ="eslint",eX="vitest";var eZ="vitest",e0="@commitlint/cli",e1="@commitlint/config-conventional",e2="commitlint",e3="lint-staged",e4="lint-staged",e5="typescript",e7="tsc",e6="tsx",e8="git",e9="pnpm",te="pnpm exec",tt="simple-git-hooks",tn="simple-git-hooks",tr="@eslint/config-inspector",ta="eslint-config-inspector",to="node-modules-inspector",tc="node-modules-inspector",ti="migrate-mongo",ts="./node_modules/migrate-mongo/bin/migrate-mongo",tu={CYBERSKILL_DIRECTORY:eW,WORKING_DIRECTORY:eR,TS_CONFIG:eG(eF),GIT_IGNORE:eG(eU),GIT_HOOK:eG(eq),GIT_COMMIT_MSG:eG(eB),SIMPLE_GIT_HOOKS_JSON:eG(eV),PACKAGE_JSON:eG(ex),PACKAGE_LOCK_JSON:eG(eM),PNPM_LOCK_YAML:eG(eK),NODE_MODULES:eG(eA),MIGRATE_MONGO_CONFIG:eG(eJ),LINT_STAGED_CONFIG:eG("".concat(eW,"/configs/lint-staged/index.js")),COMMITLINT_CONFIG:eG("".concat(eW,"/configs/commitlint/index.js")),UNIT_TEST_CONFIG:eG("".concat(eW,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eG("".concat(eW,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eG("".concat(eW,"/react/vitest/vitest.e2e.js"))};function tl(e){var t=e.type,n=e.packages,a=e.command;var o=n===null||n===void 0?void 0:n.reduce(function(e,t){return e.some(function(e){return e.name===t.name})||e.push(t),e},[]);return function(){return r(function(){var e;return f(this,function(n){switch(n.label){case 0:switch(t){case A.CLI:return[3,1];case A.STRING:return[3,4]}return[3,5];case 1:e=o===null||o===void 0?void 0:o.length;if(!e)return[3,3];return[4,ed(o,{update:!0})];case 2:e=n.sent();n.label=3;case 3:return[2,(e,eS(eb("".concat(te," ").concat(a))))];case 4:return[2,eS(eb(a))];case 5:throw new Error("Unsupported command type");case 6:return[2]}})})()}}E(tl,"buildCommand");var tf={simpleGitHooks:tl({type:A.CLI,packages:[{name:tt,type:W.DEV_DEPENDENCY}],command:tn}),eslintInspect:tl({type:A.CLI,packages:[{name:tr,type:W.DEV_DEPENDENCY}],command:ta}),nodeModulesInspect:tl({type:A.CLI,packages:[{name:to,type:W.DEV_DEPENDENCY}],command:tc}),eslintCheck:tl({type:A.CLI,packages:[{name:ez,type:W.DEV_DEPENDENCY}],command:"".concat(eQ," ").concat(tu.WORKING_DIRECTORY," --no-cache")}),eslintFix:tl({type:A.CLI,packages:[{name:ez,type:W.DEV_DEPENDENCY}],command:"".concat(eQ," ").concat(tu.WORKING_DIRECTORY," --fix --no-cache")}),typescriptCheck:tl({type:A.CLI,packages:[{name:e5,type:W.DEPENDENCY}],command:"".concat(e7," -p ").concat(tu.TS_CONFIG," --noEmit")}),testUnit:tl({type:A.CLI,packages:[{name:eX,type:W.DEV_DEPENDENCY}],command:"".concat(eZ," --config ").concat(tu.UNIT_TEST_CONFIG)}),testE2e:tl({type:A.CLI,packages:[{name:eX,type:W.DEV_DEPENDENCY}],command:"".concat(eZ," --config ").concat(tu.E2E_TEST_CONFIG)}),mongoMigrateCreate:E(function(e){return tl({type:A.CLI,packages:[{name:ti,type:W.DEPENDENCY}],command:"".concat(e6," ").concat(ts," create ").concat(e," -f ").concat(tu.MIGRATE_MONGO_CONFIG)})()},"mongoMigrateCreate"),mongoMigrateUp:tl({type:A.CLI,packages:[{name:ti,type:W.DEPENDENCY}],command:"".concat(e6," ").concat(ts," up -f ").concat(tu.MIGRATE_MONGO_CONFIG)}),mongoMigrateDown:tl({type:A.CLI,packages:[{name:ti,type:W.DEPENDENCY}],command:"".concat(e6," ").concat(ts," down -f ").concat(tu.MIGRATE_MONGO_CONFIG)}),commitLint:tl({type:A.CLI,packages:[{name:e0,type:W.DEV_DEPENDENCY},{name:e1,type:W.DEV_DEPENDENCY}],command:"".concat(e2," --edit ").concat(tu.GIT_COMMIT_MSG," --config ").concat(tu.COMMITLINT_CONFIG)}),lintStaged:tl({type:A.CLI,packages:[{name:e3,type:W.DEV_DEPENDENCY}],command:"".concat(e4," --config ").concat(tu.LINT_STAGED_CONFIG)}),configureGitHook:tl({type:A.STRING,command:"".concat(e8," config core.hooksPath ").concat(tu.GIT_HOOK)}),stageBuildDirectory:tl({type:A.STRING,command:"".concat(e8," add ").concat(eY)}),build:tl({type:A.STRING,command:"".concat(e9," run --if-present build")}),pnpmInstallStandard:tl({type:A.STRING,command:"".concat(e9," install")}),pnpmInstallLegacy:tl({type:A.STRING,command:"".concat(e9," install --legacy-peer-deps")}),pnpmInstallForce:tl({type:A.STRING,command:"".concat(e9," install --force")})};function td(e){return(0,O.defineConfig)(i({plugins:[(0,b.default)()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[tu.UNIT_TEST_SETUP_CONFIG]}},e))}E(td,"vitestUnit");0&&(module.exports={vitestUnit:vitestUnit});
@@ -1 +1 @@
1
- function e(e,n){if(n==null||n>e.length)n=e.length;for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function n(n){if(Array.isArray(n))return e(n)}function t(e,n,t,r,o,a,c){try{var i=e[a](c);var s=i.value}catch(e){t(e);return}if(i.done){n(s)}else{Promise.resolve(s).then(r,o)}}function r(e){return function(){var n=this,r=arguments;return new Promise(function(o,a){var c=e.apply(n,r);function i(e){t(c,o,a,i,s,"next",e)}function s(e){t(c,o,a,i,s,"throw",e)}i(undefined)})}}function o(e,n,t){if(n in e){Object.defineProperty(e,n,{value:t,enumerable:true,configurable:true,writable:true})}else{e[n]=t}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 n=1;n<arguments.length;n++){var t=arguments[n]!=null?arguments[n]:{};var r=Object.keys(t);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))}r.forEach(function(n){o(e,n,t[n])})}return e}function s(e){return n(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(n,t){if(!n)return;if(typeof n==="string")return e(n,t);var r=Object.prototype.toString.call(n).slice(8,-1);if(r==="Object"&&n.constructor)r=n.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(n,t)}function f(e,n){var t,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(n){return s([e,n])}}function s(i){if(t)throw new TypeError("Generator is already executing.");while(c&&(c=0,i[0]&&(a=0)),a)try{if(t=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=n.call(e,a)}catch(e){i=[6,e];r=0}finally{t=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var p=Object.defineProperty;var m=function(e,n){return p(e,"name",{value:n,configurable:!0})};import d from"@vitejs/plugin-react-swc";import{defineConfig as E}from"vitest/config";import g from"fs-extra";var y=".cyberskill-storage";import v from"@dotenvx/dotenvx";import{bool as h,cleanEnv as _,str as D}from"envalid";import I from"node:os";import C from"node:path";import N from"node:process";var b=!1;function S(){b||(v.config(),b=!0)}m(S,"loadEnvFile");function O(){S();var e=_(N.env,{CWD:D({default:N.cwd()}),DEBUG:h({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:D({default:C.join(I.homedir(),y)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}m(O,"getEnv");var P=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 U}from"graphql";var A=O();A.DEBUG||(L.level=4);function Y(e){var n=k[e];return typeof n=="function"?n:k.green}m(Y,"chalkKeyword");var j={silent:L.silent,level:L.level,fatal:L.fatal,error:L.error,warn:L.warn,log:L.log,info:L.info,success:L.success,ready:L.ready,start:L.start,box:L.box,debug:L.debug,trace:L.trace,verbose:L.verbose,printBoxedLog:function e(e,n){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(n===null||n===void 0?void 0:n.length)){L.box(k.green(e));return}n.forEach(function(e){var n=e.file,r=e.position,o=e.rule,a=e.message;L.log("".concat(k.gray("File:")," ").concat(k.blue("".concat(n).concat(r?":".concat(r):"")))),o&&L.log(" ".concat(Y(t)("Rule:")," ").concat(o)),L.log(" ".concat(Y(t)("Message:")," ").concat(a))}),L.box(Y(t)("".concat(e," : ").concat(n.length))),L.log(k.gray("─".repeat(40)))}};var x=function(e){return e.DEPENDENCY="dependencies",e.DEV_DEPENDENCY="devDependencies",e.PEER_DEPENDENCY="peerDependencies",e.BUNDLE_DEPENDENCY="bundleDependencies",e.OPTIONAL_DEPENDENCY="optionalDependencies",e}({});import F from"node-fetch";import M from"fs-extra";var V=M.lstatSync,K=M.readdirSync,B=M.mkdirSync,J=M.readFileSync,W=M.unlinkSync,H=M.statSync,$=M.readJsonSync;function q(e,n,t){M.writeFileSync(e,n,t!==null&&t!==void 0?t:"utf-8")}m(q,"writeFileSync");function Q(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}return n.every(function(e){return M.pathExistsSync(e)})}m(Q,"pathExistsSync");var z=O();function X(e){return /*#__PURE__*/r(function(){var n,t,r,o;return f(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,F("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:n=a.sent();if(!n.ok)throw new Error("Failed to fetch latest version: ".concat(n.status," ").concat(n.statusText));return[4,n.json()];case 2:t=a.sent(),r=t.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]}})})()}m(X,"getLatestPackageVersion");function Z(e){return /*#__PURE__*/r(function(){var n,t,r,o,a,c,i,s,u,l,p,m,d,E,g,y,v,h,_;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,2,,3]);if(!Q(e9.PACKAGE_JSON))return[2,{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===x.DEPENDENCY,isDevDependency:e.type===x.DEV_DEPENDENCY,installedPath:"",file:{}}];n=$(e9.PACKAGE_JSON),t=n.name,r=n.version,o=r===void 0?"":r,a=n.dependencies,c=a===void 0?{}:a,i=n.devDependencies,s=i===void 0?{}:i;if(e.name===t)return[2,{name:t,currentVersion:o,latestVersion:o,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:e.type===x.DEPENDENCY,isDevDependency:e.type===x.DEV_DEPENDENCY,installedPath:e9.PACKAGE_JSON,file:n}];u=e.name in c,l=e.name in s;return[4,X(e.name)];case 1:p=f.sent();if(!u&&!l)return[2,{name:e.name,currentVersion:"",latestVersion:p,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===x.DEPENDENCY,isDevDependency:e.type===x.DEV_DEPENDENCY,installedPath:"",file:{}}];E=(d=(m=c[e.name])!==null&&m!==void 0?m:s[e.name])!==null&&d!==void 0?d:"",g=eI(z.CWD,eS,e.name,eP);if(!Q(g))return[2,{name:e.name,currentVersion:"",latestVersion:p,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:u,isDevDependency:l,installedPath:"",file:{}}];y=$(g),v=y.version,h=v===void 0?"":v;return[2,E!==h?{name:e.name,currentVersion:h||E,latestVersion:p,isCurrentProject:!1,isInstalled:!0,isUpToDate:!1,isDependency:u,isDevDependency:l,installedPath:g,file:y}:{name:e.name,currentVersion:E,latestVersion:p,isCurrentProject:!1,isInstalled:!0,isUpToDate:E===p,isDependency:u,isDevDependency:l,installedPath:g,file:y}];case 2:_=f.sent();throw j.error('Error getting package "'.concat(e.name,'": ').concat(_.message)),_;case 3:return[2]}})})()}m(Z,"getPackage");function ee(e){return /*#__PURE__*/r(function(){var n,t,r,o,a;return f(this,function(c){try{;r=$(e9.PACKAGE_JSON),o=(n=r.dependencies)!==null&&n!==void 0?n:{},a=(t=r.devDependencies)!==null&&t!==void 0?t:{};e.isDependency?o[e.name]=e.latestVersion:e.isDevDependency&&(a[e.name]=e.latestVersion),q(e9.PACKAGE_JSON,JSON.stringify(r,null,4)),j.info('Updated "'.concat(e.name,'" to version ').concat(e.latestVersion))}catch(n){throw j.error('Error updating package "'.concat(e.name,'": ').concat(n.message)),n}return[2]})})()}m(ee,"updatePackage");function en(){return /*#__PURE__*/r(function(){var e,n,t,r,o,a,c,i,s,u,l,p,d;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,12,,13]);e=[{command:m(function(){return nn.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:m(function(){return nn.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:m(function(){return nn.pnpmInstallForce()},"command"),message:"Retrying with force install"}];n=true,t=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(!!(n=(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,ey("".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:n=true;return[3,2];case 8:return[3,11];case 9:p=f.sent();t=true;r=p;return[3,11];case 10:try{if(!n&&o.return!=null){o.return()}}finally{if(t){throw r}}return[7];case 11:return[3,13];case 12:d=f.sent();throw j.error("Failed to install dependencies: ".concat(d.message)),d;case 13:return[2]}})})()}m(en,"installDependencies");function et(e,n){return /*#__PURE__*/r(function(){var t,r,o,a,c,i,s,u,l,p,m,d;return f(this,function(f){switch(f.label){case 0:if(!Q(e9.PACKAGE_JSON)){j.error("package.json not found. Aborting setup.");return[2]}f.label=1;case 1:f.trys.push([1,16,,17]);return[4,Promise.all(e.map(Z))];case 2:t=f.sent().filter(function(e){return!e.isCurrentProject&&(!e.isInstalled||!e.isUpToDate)});r=t.length>0;if(!r)return[3,7];return[4,Promise.all(t.map(ee))];case 3:f.sent();return[4,en()];case 4:f.sent();o=["Running ESLint with auto-fix"];return[4,nn.eslintFix()];case 5:return[4,ey.apply(void 0,o.concat([f.sent()]))];case 6:r=f.sent();f.label=7;case 7:r;c=true,i=false,s=undefined;f.label=8;case 8:f.trys.push([8,13,14,15]);u=((a=n===null||n===void 0?void 0:n.postInstallActions)!==null&&a!==void 0?a:[])[Symbol.iterator]();f.label=9;case 9:if(!!(c=(l=u.next()).done))return[3,12];p=l.value;return[4,p()];case 10:f.sent();f.label=11;case 11:c=true;return[3,9];case 12:return[3,15];case 13:m=f.sent();i=true;s=m;return[3,15];case 14:try{if(!c&&u.return!=null){u.return()}}finally{if(i){throw s}}return[7];case 15:return[3,17];case 16:d=f.sent();throw j.error('Failed to setup "'.concat(e.map(function(e){return e.name}).join(", "),'": ').concat(d.message)),d;case 17:return[2]}})})()}m(et,"setupPackages");import er from"node-persist";var eo=O();function ea(){return /*#__PURE__*/r(function(){var e;return f(this,function(n){switch(n.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=n.sent();n.label=2;case 2:e;return[2]}})})()}m(ea,"initNodePersist");var ec={get:function e(e){return /*#__PURE__*/r(function(){var n,t;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,(n=r.sent())!==null&&n!==void 0?n:null];case 3:t=r.sent();return[2,(j.error('[Storage:get] Error getting key "'.concat(e,'":'),t),null)];case 4:return[2]}})})()},set:function e(e,n){return /*#__PURE__*/r(function(){var t;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,n)];case 2:r.sent();return[3,4];case 3:t=r.sent();j.error('[Storage:set] Error setting key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/r(function(){var n;return f(this,function(t){switch(t.label){case 0:t.trys.push([0,3,,4]);return[4,ea()];case 1:t.sent();return[4,er.removeItem(e)];case 2:t.sent();return[3,4];case 3:n=t.sent();j.error('[Storage:remove] Error removing key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/r(function(){var e,n;return f(this,function(t){switch(t.label){case 0:t.trys.push([0,3,,4]);return[4,ea()];case 1:t.sent();return[4,er.keys()];case 2:e=t.sent();return[2,Array.isArray(e)?e:(j.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:n=t.sent();return[2,(j.error("[Storage:keys] Error getting keys:",n),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/r(function(){return f(this,function(n){try{return[2,"".concat(eo.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(j.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var ei=O(),es=G.promisify(T);function eu(e){return"error_list:".concat(e)}m(eu,"getErrorListKey");function el(e){return /*#__PURE__*/r(function(){var n,t,o;return f(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];n=Date.now(),t=eu(n);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,ec.set(t,{errors:e,timestamp:n})];case 2:a.sent(),setTimeout(function(){return /*#__PURE__*/r(function(){var e;return f(this,function(n){switch(n.label){case 0:return[4,ec.getLogLink(t)];case 1:e=n.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]}})})()}m(el,"saveErrorListToStorage");function ef(e){var n=[],t=[],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)||[],m=a.exec(e)||[],d=c.exec(e)||[];var E,g,y,v,h,_;p.length&&r?n.push({file:r,position:"".concat(p[1],":").concat(p[2]),type:p[3]===R.Error?R.Error:R.Warning,message:(E=p===null||p===void 0?void 0:(i=p[4])===null||i===void 0?void 0:i.trim())!==null&&E!==void 0?E:"",rule:(g=p===null||p===void 0?void 0:(s=p[5])===null||s===void 0?void 0:s.trim())!==null&&g!==void 0?g:""}):m.length?n.push({file:(y=m===null||m===void 0?void 0:m[1])!==null&&y!==void 0?y:"",position:"".concat(m[2],":").concat(m[3]),type:m[4]===R.Error?R.Error:R.Warning,message:(v=m===null||m===void 0?void 0:(u=m[5])===null||u===void 0?void 0:u.trim())!==null&&v!==void 0?v:""}):d.length?n.push({file:"commitlint",type:R.Error,message:(h=d===null||d===void 0?void 0:(l=d[1])===null||l===void 0?void 0:l.trim())!==null&&h!==void 0?h:"",rule:(_=d===null||d===void 0?void 0:(f=d[2])===null||f===void 0?void 0:f.trim())!==null&&_!==void 0?_:""}):t.push(e.trim())}}),n.length&&el(n),ei.DEBUG&&t.length&&(j.warn("Unmatched lines:"),t.forEach(function(e){return j.info(" ".concat(e))}))}m(ef,"parseTextErrors");function ep(e){try{var n=JSON.parse(e),t=[];n.forEach(function(e){var n=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;t.push({type:r===2?R.Error:R.Warning,file:n,position:"".concat(o,":").concat(a),rule:c,message:i})})}),t.length&&el(t)}catch(n){ef(e)}}m(ep,"parseCommandOutput");function em(e){return /*#__PURE__*/r(function(e){var n,t,r,o,a,c,i,s,u;var l=arguments;return f(this,function(f){switch(f.label){case 0:n=l.length>1&&l[1]!==void 0?l[1]:ep;t=new AbortController;w.on("SIGINT",function(){j.warn("Process interrupted. Terminating..."),t.abort(),w.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,es(e,{maxBuffer:0x6400000,signal:t.signal})];case 2:r=f.sent(),o=r.stdout,a=r.stderr;[o,a].forEach(function(e){return e&&n(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&&n(e)}),!s&&!i&&j.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}m(em,"executeCommand");function ed(e){return{raw:!0,cmd:e}}m(ed,"rawCommand");function eE(e,n){return(n===null||n===void 0?void 0:n.isCurrentProject)?"".concat(e0," ").concat(ez," ").concat(ex," ").concat(e):"".concat(e0," ").concat(ej," ").concat(e)}m(eE,"formatCLI");function eg(e,n){return typeof e=="function"?eE(e(n),n):(typeof e==="undefined"?"undefined":u(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?eE(e,n):e}m(eg,"formatCommand");function ey(e,n){return /*#__PURE__*/r(function(){var t;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);j.start("".concat(e)),ei.DEBUG&&j.info("→ ".concat(n));return[4,em(n)];case 1:r.sent(),j.success("".concat(e," done."));return[3,3];case 2:t=r.sent();throw j.error("".concat(e," failed: ").concat(t.message)),t;case 3:return[2]}})})()}m(ey,"runCommand");import ev from"node:path";var eh=O(),e_=ev;function eD(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}var r;return(r=e_).resolve.apply(r,[eh.CWD].concat(s(n)))}m(eD,"resolveWorkingPath");function eI(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}var r;return(r=e_).join.apply(r,s(n))}m(eI,"join");var eC=O(),eN=eC.CWD,eb="@cyberskill/shared",eS="node_modules",eO="dist",eP="package.json",eT="package-lock.json",ew="tsconfig.json",eG=".gitignore",eR=".simple-git-hooks.json",ek="pnpm-lock.yaml",eL=".git/hooks/",eU=".git/COMMIT_EDITMSG",eA=".migrate-mongo.config.js",eY=function(){var e=g.readJsonSync(eD(eP)).name===eb?eN:eI(eN,eS,eb);return eI(e,eO)}(),ej="cyberskill",ex="src/node/cli/index.ts",eF="eslint",eM="eslint",eV="vitest";var eK="vitest",eB="@commitlint/cli",eJ="@commitlint/config-conventional",eW="commitlint",eH="lint-staged",e$="lint-staged",eq="typescript",eQ="tsc",ez="tsx",eX="git",eZ="pnpm",e0="pnpm exec",e1="simple-git-hooks",e2="simple-git-hooks",e3="@eslint/config-inspector",e4="eslint-config-inspector",e5="node-modules-inspector",e7="node-modules-inspector",e6="migrate-mongo",e8="./node_modules/migrate-mongo/bin/migrate-mongo",e9={CYBERSKILL_DIRECTORY:eY,WORKING_DIRECTORY:eN,TS_CONFIG:eD(ew),GIT_IGNORE:eD(eG),GIT_HOOK:eD(eL),GIT_COMMIT_MSG:eD(eU),SIMPLE_GIT_HOOKS_JSON:eD(eR),PACKAGE_JSON:eD(eP),PACKAGE_LOCK_JSON:eD(eT),PNPM_LOCK_YAML:eD(ek),NODE_MODULES:eD(eS),MIGRATE_MONGO_CONFIG:eD(eA),LINT_STAGED_CONFIG:eD("".concat(eY,"/configs/lint-staged/index.js")),COMMITLINT_CONFIG:eD("".concat(eY,"/configs/commitlint/index.js")),UNIT_TEST_CONFIG:eD("".concat(eY,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eD("".concat(eY,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eD("".concat(eY,"/react/vitest/vitest.e2e.js"))};function ne(e){var n=e.type,t=e.packages,o=e.command;var a=t===null||t===void 0?void 0:t.reduce(function(e,n){return e.some(function(e){return e.name===n.name})||e.push(n),e},[]);return function(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:switch(n){case P.CLI:return[3,1];case P.STRING:return[3,4]}return[3,5];case 1:e=a===null||a===void 0?void 0:a.length;if(!e)return[3,3];return[4,et(a,{update:!0})];case 2:e=t.sent();t.label=3;case 3:return[2,(e,eg(ed("".concat(e0," ").concat(o))))];case 4:return[2,eg(ed(o))];case 5:throw new Error("Unsupported command type");case 6:return[2]}})})()}}m(ne,"buildCommand");var nn={simpleGitHooks:ne({type:P.CLI,packages:[{name:e1,type:x.DEV_DEPENDENCY}],command:e2}),eslintInspect:ne({type:P.CLI,packages:[{name:e3,type:x.DEV_DEPENDENCY}],command:e4}),nodeModulesInspect:ne({type:P.CLI,packages:[{name:e5,type:x.DEV_DEPENDENCY}],command:e7}),eslintCheck:ne({type:P.CLI,packages:[{name:eF,type:x.DEV_DEPENDENCY}],command:"".concat(eM," ").concat(e9.WORKING_DIRECTORY," --no-cache")}),eslintFix:ne({type:P.CLI,packages:[{name:eF,type:x.DEV_DEPENDENCY}],command:"".concat(eM," ").concat(e9.WORKING_DIRECTORY," --fix --no-cache")}),typescriptCheck:ne({type:P.CLI,packages:[{name:eq,type:x.DEPENDENCY}],command:"".concat(eQ," -p ").concat(e9.TS_CONFIG," --noEmit")}),testUnit:ne({type:P.CLI,packages:[{name:eV,type:x.DEV_DEPENDENCY}],command:"".concat(eK," --config ").concat(e9.UNIT_TEST_CONFIG)}),testE2e:ne({type:P.CLI,packages:[{name:eV,type:x.DEV_DEPENDENCY}],command:"".concat(eK," --config ").concat(e9.E2E_TEST_CONFIG)}),mongoMigrateCreate:m(function(e){return ne({type:P.CLI,packages:[{name:e6,type:x.DEPENDENCY}],command:"".concat(ez," ").concat(e8," create ").concat(e," -f ").concat(e9.MIGRATE_MONGO_CONFIG)})()},"mongoMigrateCreate"),mongoMigrateUp:ne({type:P.CLI,packages:[{name:e6,type:x.DEPENDENCY}],command:"".concat(ez," ").concat(e8," up -f ").concat(e9.MIGRATE_MONGO_CONFIG)}),mongoMigrateDown:ne({type:P.CLI,packages:[{name:e6,type:x.DEPENDENCY}],command:"".concat(ez," ").concat(e8," down -f ").concat(e9.MIGRATE_MONGO_CONFIG)}),commitLint:ne({type:P.CLI,packages:[{name:eB,type:x.DEV_DEPENDENCY},{name:eJ,type:x.DEV_DEPENDENCY}],command:"".concat(eW," --edit ").concat(e9.GIT_COMMIT_MSG," --config ").concat(e9.COMMITLINT_CONFIG)}),lintStaged:ne({type:P.CLI,packages:[{name:eH,type:x.DEV_DEPENDENCY}],command:"".concat(e$," --config ").concat(e9.LINT_STAGED_CONFIG)}),configureGitHook:ne({type:P.STRING,command:"".concat(eX," config core.hooksPath ").concat(e9.GIT_HOOK)}),stageBuildDirectory:ne({type:P.STRING,command:"".concat(eX," add ").concat(eO)}),build:ne({type:P.STRING,command:"".concat(eZ," run --if-present build")}),pnpmInstallStandard:ne({type:P.STRING,command:"".concat(eZ," install")}),pnpmInstallLegacy:ne({type:P.STRING,command:"".concat(eZ," install --legacy-peer-deps")}),pnpmInstallForce:ne({type:P.STRING,command:"".concat(eZ," install --force")})};function nt(e){return E(i({plugins:[d()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[e9.UNIT_TEST_SETUP_CONFIG]}},e))}m(nt,"vitestUnit");export{nt as vitestUnit};
1
+ function e(e,n){if(n==null||n>e.length)n=e.length;for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function n(n){if(Array.isArray(n))return e(n)}function t(e,n,t,r,o,a,c){try{var i=e[a](c);var s=i.value}catch(e){t(e);return}if(i.done){n(s)}else{Promise.resolve(s).then(r,o)}}function r(e){return function(){var n=this,r=arguments;return new Promise(function(o,a){var c=e.apply(n,r);function i(e){t(c,o,a,i,s,"next",e)}function s(e){t(c,o,a,i,s,"throw",e)}i(undefined)})}}function o(e,n,t){if(n in e){Object.defineProperty(e,n,{value:t,enumerable:true,configurable:true,writable:true})}else{e[n]=t}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 n=1;n<arguments.length;n++){var t=arguments[n]!=null?arguments[n]:{};var r=Object.keys(t);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))}r.forEach(function(n){o(e,n,t[n])})}return e}function s(e){return n(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(n,t){if(!n)return;if(typeof n==="string")return e(n,t);var r=Object.prototype.toString.call(n).slice(8,-1);if(r==="Object"&&n.constructor)r=n.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(n,t)}function f(e,n){var t,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(n){return s([e,n])}}function s(i){if(t)throw new TypeError("Generator is already executing.");while(c&&(c=0,i[0]&&(a=0)),a)try{if(t=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=n.call(e,a)}catch(e){i=[6,e];r=0}finally{t=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var p=Object.defineProperty;var m=function(e,n){return p(e,"name",{value:n,configurable:!0})};import d from"@vitejs/plugin-react-swc";import{defineConfig as g}from"vitest/config";import y from"fs-extra";var E=".cyberskill-storage";import v from"@dotenvx/dotenvx";import{bool as h,cleanEnv as D,str as I}from"envalid";import C from"node:os";import N from"node:path";import b from"node:process";var S=!1;function O(){S||(v.config(),S=!0)}m(O,"loadEnvFile");function _(){O();var e=D(b.env,{CWD:I({default:b.cwd()}),DEBUG:h({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:I({default:N.join(C.homedir(),E)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}m(_,"getEnv");var T=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as P}from"node:child_process";import w 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 R from"consola";import{GraphQLError as A}from"graphql";var Y=_();Y.DEBUG||(R.level=4);function j(e){var n=L[e];return typeof n=="function"?n:L.green}m(j,"chalkKeyword");var x={silent:R.silent,level:R.level,fatal:R.fatal,error:R.error,warn:R.warn,log:R.log,info:R.info,success:R.success,ready:R.ready,start:R.start,box:R.box,debug:R.debug,trace:R.trace,verbose:R.verbose,printBoxedLog:function e(e,n){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(n===null||n===void 0?void 0:n.length)){R.box(L.green(e));return}n.forEach(function(e){var n=e.file,r=e.position,o=e.rule,a=e.message;R.log("".concat(L.gray("File:")," ").concat(L.blue("".concat(n).concat(r?":".concat(r):"")))),o&&R.log(" ".concat(j(t)("Rule:")," ").concat(o)),R.log(" ".concat(j(t)("Message:")," ").concat(a))}),R.box(j(t)("".concat(e," : ").concat(n.length))),R.log(L.gray("─".repeat(40)))}};var F=function(e){return e.DEPENDENCY="dependencies",e.DEV_DEPENDENCY="devDependencies",e.PEER_DEPENDENCY="peerDependencies",e.BUNDLE_DEPENDENCY="bundleDependencies",e.OPTIONAL_DEPENDENCY="optionalDependencies",e}({});import M from"node-fetch";import U from"fs-extra";var V=U.lstatSync,K=U.readdirSync,B=U.mkdirSync,J=U.readFileSync,W=U.unlinkSync,H=U.statSync,$=U.readJsonSync;function q(e,n,t){U.writeFileSync(e,n,t!==null&&t!==void 0?t:"utf-8")}m(q,"writeFileSync");function Q(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}return n.every(function(e){return U.pathExistsSync(e)})}m(Q,"pathExistsSync");var z=_();function X(e){return r(function(){var n,t,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:n=a.sent();if(!n.ok)throw new Error("Failed to fetch latest version: ".concat(n.status," ").concat(n.statusText));return[4,n.json()];case 2:t=a.sent(),r=t.version;return[2,r];case 3:o=a.sent();throw x.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})})()}m(X,"getLatestPackageVersion");function Z(e){return r(function(){var n,t,r,o,a,c,i,s,u,l,p,m,d,g,y,E,v,h,D;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,2,,3]);if(!Q(e9.PACKAGE_JSON))return[2,{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===F.DEPENDENCY,isDevDependency:e.type===F.DEV_DEPENDENCY,installedPath:"",file:{}}];n=$(e9.PACKAGE_JSON),t=n.name,r=n.version,o=r===void 0?"":r,a=n.dependencies,c=a===void 0?{}:a,i=n.devDependencies,s=i===void 0?{}:i;if(e.name===t)return[2,{name:t,currentVersion:o,latestVersion:o,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:e.type===F.DEPENDENCY,isDevDependency:e.type===F.DEV_DEPENDENCY,installedPath:e9.PACKAGE_JSON,file:n}];u=e.name in c,l=e.name in s;return[4,X(e.name)];case 1:p=f.sent();if(!u&&!l)return[2,{name:e.name,currentVersion:"",latestVersion:p,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===F.DEPENDENCY,isDevDependency:e.type===F.DEV_DEPENDENCY,installedPath:"",file:{}}];g=(d=(m=c[e.name])!==null&&m!==void 0?m:s[e.name])!==null&&d!==void 0?d:"",y=eC(z.CWD,eO,e.name,eT);if(!Q(y))return[2,{name:e.name,currentVersion:"",latestVersion:p,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:u,isDevDependency:l,installedPath:"",file:{}}];E=$(y),v=E.version,h=v===void 0?"":v;return[2,g!==h?{name:e.name,currentVersion:h||g,latestVersion:p,isCurrentProject:!1,isInstalled:!0,isUpToDate:!1,isDependency:u,isDevDependency:l,installedPath:y,file:E}:{name:e.name,currentVersion:g,latestVersion:p,isCurrentProject:!1,isInstalled:!0,isUpToDate:g===p,isDependency:u,isDevDependency:l,installedPath:y,file:E}];case 2:D=f.sent();throw x.error('Error getting package "'.concat(e.name,'": ').concat(D.message)),D;case 3:return[2]}})})()}m(Z,"getPackage");function ee(e){return r(function(){var n,t,r,o,a;return f(this,function(c){try{;r=$(e9.PACKAGE_JSON),o=(n=r.dependencies)!==null&&n!==void 0?n:{},a=(t=r.devDependencies)!==null&&t!==void 0?t:{};e.isDependency?o[e.name]=e.latestVersion:e.isDevDependency&&(a[e.name]=e.latestVersion),q(e9.PACKAGE_JSON,JSON.stringify(r,null,4)),x.info('Updated "'.concat(e.name,'" to version ').concat(e.latestVersion))}catch(n){throw x.error('Error updating package "'.concat(e.name,'": ').concat(n.message)),n}return[2]})})()}m(ee,"updatePackage");function en(){return r(function(){var e,n,t,r,o,a,c,i,s,u,l,p,d;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,12,,13]);e=[{command:m(function(){return nn.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:m(function(){return nn.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:m(function(){return nn.pnpmInstallForce()},"command"),message:"Retrying with force install"}];n=true,t=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(!!(n=(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,eE("".concat(s," using: ").concat(u),u)];case 5:f.sent();return[2];case 6:l=f.sent();x.warn("Installation attempt failed: ".concat(s)),x.error("Details: ".concat(l.message));return[3,7];case 7:n=true;return[3,2];case 8:return[3,11];case 9:p=f.sent();t=true;r=p;return[3,11];case 10:try{if(!n&&o.return!=null){o.return()}}finally{if(t){throw r}}return[7];case 11:return[3,13];case 12:d=f.sent();throw x.error("Failed to install dependencies: ".concat(d.message)),d;case 13:return[2]}})})()}m(en,"installDependencies");function et(e,n){return r(function(){var t,r,o,a,c,i,s,u,l,p,m,d;return f(this,function(f){switch(f.label){case 0:if(!Q(e9.PACKAGE_JSON)){x.error("package.json not found. Aborting setup.");return[2]}f.label=1;case 1:f.trys.push([1,16,,17]);return[4,Promise.all(e.map(Z))];case 2:t=f.sent().filter(function(e){return!e.isCurrentProject&&(!e.isInstalled||!e.isUpToDate)});r=t.length>0;if(!r)return[3,7];return[4,Promise.all(t.map(ee))];case 3:f.sent();return[4,en()];case 4:f.sent();o=["Running ESLint with auto-fix"];return[4,nn.eslintFix()];case 5:return[4,eE.apply(void 0,o.concat([f.sent()]))];case 6:r=f.sent();f.label=7;case 7:r;c=true,i=false,s=undefined;f.label=8;case 8:f.trys.push([8,13,14,15]);u=((a=n===null||n===void 0?void 0:n.postInstallActions)!==null&&a!==void 0?a:[])[Symbol.iterator]();f.label=9;case 9:if(!!(c=(l=u.next()).done))return[3,12];p=l.value;return[4,p()];case 10:f.sent();f.label=11;case 11:c=true;return[3,9];case 12:return[3,15];case 13:m=f.sent();i=true;s=m;return[3,15];case 14:try{if(!c&&u.return!=null){u.return()}}finally{if(i){throw s}}return[7];case 15:return[3,17];case 16:d=f.sent();throw x.error('Failed to setup "'.concat(e.map(function(e){return e.name}).join(", "),'": ').concat(d.message)),d;case 17:return[2]}})})()}m(et,"setupPackages");import er from"node-persist";var eo=_();function ea(){return r(function(){var e;return f(this,function(n){switch(n.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=n.sent();n.label=2;case 2:e;return[2]}})})()}m(ea,"initNodePersist");var ec={get:function e(e){return r(function(){var n,t;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,(n=r.sent())!==null&&n!==void 0?n:null];case 3:t=r.sent();return[2,(x.error('[Storage:get] Error getting key "'.concat(e,'":'),t),null)];case 4:return[2]}})})()},set:function e(e,n){return r(function(){var t;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,n)];case 2:r.sent();return[3,4];case 3:t=r.sent();x.error('[Storage:set] Error setting key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},remove:function e(e){return r(function(){var n;return f(this,function(t){switch(t.label){case 0:t.trys.push([0,3,,4]);return[4,ea()];case 1:t.sent();return[4,er.removeItem(e)];case 2:t.sent();return[3,4];case 3:n=t.sent();x.error('[Storage:remove] Error removing key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},keys:function e(){return r(function(){var e,n;return f(this,function(t){switch(t.label){case 0:t.trys.push([0,3,,4]);return[4,ea()];case 1:t.sent();return[4,er.keys()];case 2:e=t.sent();return[2,Array.isArray(e)?e:(x.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:n=t.sent();return[2,(x.error("[Storage:keys] Error getting keys:",n),[])];case 4:return[2]}})})()},getLogLink:function e(e){return r(function(){return f(this,function(n){try{return[2,"".concat(eo.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(x.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var ei=_(),es=G.promisify(P);function eu(e){return"error_list:".concat(e)}m(eu,"getErrorListKey");function el(e){return r(function(){var n,t,o;return f(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];n=Date.now(),t=eu(n);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,ec.set(t,{errors:e,timestamp:n})];case 2:a.sent(),setTimeout(function(){return r(function(){var e;return f(this,function(n){switch(n.label){case 0:return[4,ec.getLogLink(t)];case 1:e=n.sent();e&&x.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:o=a.sent();x.error("Failed to save errors: ".concat(o.message));return[3,4];case 4:return[2]}})})()}m(el,"saveErrorListToStorage");function ef(e){var n=[],t=[],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)||[],m=a.exec(e)||[],d=c.exec(e)||[];var g,y,E,v,h,D;p.length&&r?n.push({file:r,position:"".concat(p[1],":").concat(p[2]),type:p[3]===k.Error?k.Error:k.Warning,message:(g=p===null||p===void 0?void 0:(i=p[4])===null||i===void 0?void 0:i.trim())!==null&&g!==void 0?g:"",rule:(y=p===null||p===void 0?void 0:(s=p[5])===null||s===void 0?void 0:s.trim())!==null&&y!==void 0?y:""}):m.length?n.push({file:(E=m===null||m===void 0?void 0:m[1])!==null&&E!==void 0?E:"",position:"".concat(m[2],":").concat(m[3]),type:m[4]===k.Error?k.Error:k.Warning,message:(v=m===null||m===void 0?void 0:(u=m[5])===null||u===void 0?void 0:u.trim())!==null&&v!==void 0?v:""}):d.length?n.push({file:"commitlint",type:k.Error,message:(h=d===null||d===void 0?void 0:(l=d[1])===null||l===void 0?void 0:l.trim())!==null&&h!==void 0?h:"",rule:(D=d===null||d===void 0?void 0:(f=d[2])===null||f===void 0?void 0:f.trim())!==null&&D!==void 0?D:""}):t.push(e.trim())}}),n.length&&el(n),ei.DEBUG&&t.length&&(x.warn("Unmatched lines:"),t.forEach(function(e){return x.info(" ".concat(e))}))}m(ef,"parseTextErrors");function ep(e){try{var n=JSON.parse(e),t=[];n.forEach(function(e){var n=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;t.push({type:r===2?k.Error:k.Warning,file:n,position:"".concat(o,":").concat(a),rule:c,message:i})})}),t.length&&el(t)}catch(n){ef(e)}}m(ep,"parseCommandOutput");function em(e){return r(function(e){var n,t,r,o,a,c,i,s,u;var l=arguments;return f(this,function(f){switch(f.label){case 0:n=l.length>1&&l[1]!==void 0?l[1]:ep;t=new AbortController;w.on("SIGINT",function(){x.warn("Process interrupted. Terminating..."),t.abort(),w.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,es(e,{maxBuffer:0x6400000,signal:t.signal})];case 2:r=f.sent(),o=r.stdout,a=r.stderr;[o,a].forEach(function(e){return e&&n(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&&n(e)}),!s&&!i&&x.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}m(em,"executeCommand");function ed(e){return{raw:!0,cmd:e}}m(ed,"rawCommand");function eg(e,n){return(n===null||n===void 0?void 0:n.isCurrentProject)?"".concat(e0," ").concat(ez," ").concat(eF," ").concat(e):"".concat(e0," ").concat(ex," ").concat(e)}m(eg,"formatCLI");function ey(e,n){return typeof e=="function"?eg(e(n),n):(typeof e==="undefined"?"undefined":u(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?eg(e,n):e}m(ey,"formatCommand");function eE(e,n){return r(function(){var t;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);x.start("".concat(e)),ei.DEBUG&&x.info("→ ".concat(n));return[4,em(n)];case 1:r.sent(),x.success("".concat(e," done."));return[3,3];case 2:t=r.sent();throw x.error("".concat(e," failed: ").concat(t.message)),t;case 3:return[2]}})})()}m(eE,"runCommand");import ev from"node:path";var eh=_(),eD=ev;function eI(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}var r;return(r=eD).resolve.apply(r,[eh.CWD].concat(s(n)))}m(eI,"resolveWorkingPath");function eC(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}var r;return(r=eD).join.apply(r,s(n))}m(eC,"join");var eN=_(),eb=eN.CWD,eS="@cyberskill/shared",eO="node_modules",e_="dist",eT="package.json",eP="package-lock.json",ew="tsconfig.json",eG=".gitignore",ek=".simple-git-hooks.json",eL="pnpm-lock.yaml",eR=".git/hooks/",eA=".git/COMMIT_EDITMSG",eY=".migrate-mongo.config.js",ej=function(){var e=y.readJsonSync(eI(eT)).name===eS?eb:eC(eb,eO,eS);return eC(e,e_)}(),ex="cyberskill",eF="src/node/cli/index.ts",eM="eslint",eU="eslint",eV="vitest";var eK="vitest",eB="@commitlint/cli",eJ="@commitlint/config-conventional",eW="commitlint",eH="lint-staged",e$="lint-staged",eq="typescript",eQ="tsc",ez="tsx",eX="git",eZ="pnpm",e0="pnpm exec",e1="simple-git-hooks",e2="simple-git-hooks",e3="@eslint/config-inspector",e4="eslint-config-inspector",e5="node-modules-inspector",e7="node-modules-inspector",e6="migrate-mongo",e8="./node_modules/migrate-mongo/bin/migrate-mongo",e9={CYBERSKILL_DIRECTORY:ej,WORKING_DIRECTORY:eb,TS_CONFIG:eI(ew),GIT_IGNORE:eI(eG),GIT_HOOK:eI(eR),GIT_COMMIT_MSG:eI(eA),SIMPLE_GIT_HOOKS_JSON:eI(ek),PACKAGE_JSON:eI(eT),PACKAGE_LOCK_JSON:eI(eP),PNPM_LOCK_YAML:eI(eL),NODE_MODULES:eI(eO),MIGRATE_MONGO_CONFIG:eI(eY),LINT_STAGED_CONFIG:eI("".concat(ej,"/configs/lint-staged/index.js")),COMMITLINT_CONFIG:eI("".concat(ej,"/configs/commitlint/index.js")),UNIT_TEST_CONFIG:eI("".concat(ej,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eI("".concat(ej,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eI("".concat(ej,"/react/vitest/vitest.e2e.js"))};function ne(e){var n=e.type,t=e.packages,o=e.command;var a=t===null||t===void 0?void 0:t.reduce(function(e,n){return e.some(function(e){return e.name===n.name})||e.push(n),e},[]);return function(){return r(function(){var e;return f(this,function(t){switch(t.label){case 0:switch(n){case T.CLI:return[3,1];case T.STRING:return[3,4]}return[3,5];case 1:e=a===null||a===void 0?void 0:a.length;if(!e)return[3,3];return[4,et(a,{update:!0})];case 2:e=t.sent();t.label=3;case 3:return[2,(e,ey(ed("".concat(e0," ").concat(o))))];case 4:return[2,ey(ed(o))];case 5:throw new Error("Unsupported command type");case 6:return[2]}})})()}}m(ne,"buildCommand");var nn={simpleGitHooks:ne({type:T.CLI,packages:[{name:e1,type:F.DEV_DEPENDENCY}],command:e2}),eslintInspect:ne({type:T.CLI,packages:[{name:e3,type:F.DEV_DEPENDENCY}],command:e4}),nodeModulesInspect:ne({type:T.CLI,packages:[{name:e5,type:F.DEV_DEPENDENCY}],command:e7}),eslintCheck:ne({type:T.CLI,packages:[{name:eM,type:F.DEV_DEPENDENCY}],command:"".concat(eU," ").concat(e9.WORKING_DIRECTORY," --no-cache")}),eslintFix:ne({type:T.CLI,packages:[{name:eM,type:F.DEV_DEPENDENCY}],command:"".concat(eU," ").concat(e9.WORKING_DIRECTORY," --fix --no-cache")}),typescriptCheck:ne({type:T.CLI,packages:[{name:eq,type:F.DEPENDENCY}],command:"".concat(eQ," -p ").concat(e9.TS_CONFIG," --noEmit")}),testUnit:ne({type:T.CLI,packages:[{name:eV,type:F.DEV_DEPENDENCY}],command:"".concat(eK," --config ").concat(e9.UNIT_TEST_CONFIG)}),testE2e:ne({type:T.CLI,packages:[{name:eV,type:F.DEV_DEPENDENCY}],command:"".concat(eK," --config ").concat(e9.E2E_TEST_CONFIG)}),mongoMigrateCreate:m(function(e){return ne({type:T.CLI,packages:[{name:e6,type:F.DEPENDENCY}],command:"".concat(ez," ").concat(e8," create ").concat(e," -f ").concat(e9.MIGRATE_MONGO_CONFIG)})()},"mongoMigrateCreate"),mongoMigrateUp:ne({type:T.CLI,packages:[{name:e6,type:F.DEPENDENCY}],command:"".concat(ez," ").concat(e8," up -f ").concat(e9.MIGRATE_MONGO_CONFIG)}),mongoMigrateDown:ne({type:T.CLI,packages:[{name:e6,type:F.DEPENDENCY}],command:"".concat(ez," ").concat(e8," down -f ").concat(e9.MIGRATE_MONGO_CONFIG)}),commitLint:ne({type:T.CLI,packages:[{name:eB,type:F.DEV_DEPENDENCY},{name:eJ,type:F.DEV_DEPENDENCY}],command:"".concat(eW," --edit ").concat(e9.GIT_COMMIT_MSG," --config ").concat(e9.COMMITLINT_CONFIG)}),lintStaged:ne({type:T.CLI,packages:[{name:eH,type:F.DEV_DEPENDENCY}],command:"".concat(e$," --config ").concat(e9.LINT_STAGED_CONFIG)}),configureGitHook:ne({type:T.STRING,command:"".concat(eX," config core.hooksPath ").concat(e9.GIT_HOOK)}),stageBuildDirectory:ne({type:T.STRING,command:"".concat(eX," add ").concat(e_)}),build:ne({type:T.STRING,command:"".concat(eZ," run --if-present build")}),pnpmInstallStandard:ne({type:T.STRING,command:"".concat(eZ," install")}),pnpmInstallLegacy:ne({type:T.STRING,command:"".concat(eZ," install --legacy-peer-deps")}),pnpmInstallForce:ne({type:T.STRING,command:"".concat(eZ," install --force")})};function nt(e){return g(i({plugins:[d()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[e9.UNIT_TEST_SETUP_CONFIG]}},e))}m(nt,"vitestUnit");export{nt as vitestUnit};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cyberskill/shared",
3
3
  "type": "module",
4
- "version": "1.131.0",
4
+ "version": "1.133.0",
5
5
  "description": "CyberSkill Shared",
6
6
  "author": "Stephen Cheng",
7
7
  "license": "MIT",