@cyberskill/shared 1.118.0 → 1.119.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/configs/config.util.cjs +1 -1
- package/dist/configs/config.util.js +1 -1
- package/dist/configs/env/env.util.cjs +1 -1
- package/dist/configs/env/env.util.js +1 -1
- package/dist/configs/env/index.cjs +1 -1
- package/dist/configs/env/index.js +1 -1
- package/dist/configs/graphql-codegen/graphql-codegen.util.cjs +1 -1
- package/dist/configs/graphql-codegen/graphql-codegen.util.js +1 -1
- package/dist/configs/graphql-codegen/index.cjs +1 -1
- package/dist/configs/graphql-codegen/index.js +1 -1
- package/dist/configs/index.cjs +1 -1
- package/dist/configs/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/nodejs/apollo-server/apollo-server.util.cjs +1 -1
- package/dist/nodejs/apollo-server/apollo-server.util.js +1 -1
- package/dist/nodejs/apollo-server/index.cjs +1 -1
- package/dist/nodejs/apollo-server/index.js +1 -1
- package/dist/nodejs/cli/cli.util.cjs +1 -1
- package/dist/nodejs/cli/cli.util.js +1 -1
- package/dist/nodejs/cli/index.cjs +1 -1
- package/dist/nodejs/cli/index.js +1 -1
- package/dist/nodejs/command/command.util.cjs +1 -1
- package/dist/nodejs/command/command.util.js +1 -1
- package/dist/nodejs/command/index.cjs +1 -1
- package/dist/nodejs/command/index.js +1 -1
- package/dist/nodejs/index.cjs +1 -1
- package/dist/nodejs/index.js +1 -1
- package/dist/nodejs/log/index.cjs +1 -1
- package/dist/nodejs/log/index.js +1 -1
- package/dist/nodejs/log/log.util.cjs +1 -1
- package/dist/nodejs/log/log.util.js +1 -1
- package/dist/nodejs/mongo/index.cjs +1 -1
- package/dist/nodejs/mongo/index.js +1 -1
- package/dist/nodejs/mongo/mongo.util.cjs +1 -1
- package/dist/nodejs/mongo/mongo.util.js +1 -1
- package/dist/nodejs/package/index.cjs +1 -1
- package/dist/nodejs/package/index.js +1 -1
- package/dist/nodejs/package/package.util.cjs +1 -1
- package/dist/nodejs/package/package.util.js +1 -1
- package/dist/nodejs/path/index.cjs +1 -1
- package/dist/nodejs/path/index.js +1 -1
- package/dist/nodejs/path/path.constant.cjs +1 -1
- package/dist/nodejs/path/path.constant.js +1 -1
- package/dist/nodejs/path/path.util.cjs +1 -1
- package/dist/nodejs/path/path.util.js +1 -1
- package/dist/nodejs/storage/index.cjs +1 -1
- package/dist/nodejs/storage/index.js +1 -1
- package/dist/nodejs/storage/storage.util.cjs +1 -1
- package/dist/nodejs/storage/storage.util.js +1 -1
- package/dist/react/index.cjs +1 -1
- package/dist/react/index.js +1 -1
- package/dist/react/vitest/index.cjs +1 -1
- package/dist/react/vitest/index.js +1 -1
- package/dist/react/vitest/vitest.unit.cjs +1 -1
- package/dist/react/vitest/vitest.unit.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(t){if(Array.isArray(t))return e(t)}function n(e,t,n,r,o,c,a){try{var i=e[c](a);var s=i.value}catch(e){n(e);return}if(i.done){t(s)}else{Promise.resolve(s).then(r,o)}}function r(e){return function(){var t=this,r=arguments;return new Promise(function(o,c){var a=e.apply(t,r);function i(e){n(a,o,c,i,s,"next",e)}function s(e){n(a,o,c,i,s,"throw",e)}i(undefined)})}}function o(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function c(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function a(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){o(e,t,n[t])})}return e}function s(e){return t(e)||c(e)||l(e)||a()}function u(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function l(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function f(e,t){var n,r,o,c={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},a=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return a.next=i(0),a["throw"]=i(1),a["return"]=i(2),typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function i(e){return function(t){return s([e,t])}}function s(i){if(n)throw new TypeError("Generator is already executing.");while(a&&(a=0,i[0]&&(c=0)),c)try{if(n=1,r&&(o=i[0]&2?r["return"]:i[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;if(r=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:c.label++;return{value:i[1],done:false};case 5:c.label++;r=i[1];i=[0];continue;case 7:i=c.ops.pop();c.trys.pop();continue;default:if(!(o=c.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){c=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){c.label=i[1];break}if(i[0]===6&&c.label<o[1]){c.label=o[1];o=i;break}if(o&&c.label<o[2]){c.label=o[2];c.ops.push(i);break}if(o[2])c.ops.pop();c.trys.pop();continue}i=t.call(e,c)}catch(e){i=[6,e];r=0}finally{n=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var d=Object.defineProperty;var p=function(e,t){return d(e,"name",{value:t,configurable:!0})};import m from"@vitejs/plugin-react-swc";import{defineConfig as g}from"vitest/config";function v(e){return g(i({plugins:[m()],test:{include:["**/*.test.e2e.?(c|m)[jt]s?(x)"],browser:{enabled:!0,provider:"playwright",instances:[{browser:"chromium"},{browser:"firefox"},{browser:"webkit"}]}}},e))}p(v,"vitestE2E");import h from"@vitejs/plugin-react-swc";import{defineConfig as y}from"vitest/config";var _=".cyberskill-storage";import I from"@dotenvx/dotenvx";import{bool as E,cleanEnv as b,str as C}from"envalid";import S from"node:os";import w from"node:path";import O from"node:process";function T(){I.config()}p(T,"loadEnvFile");function G(){T();var e=b(O.env,{CWD:C({default:O.cwd()}),DEBUG:E({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:C({default:w.join(S.homedir(),_)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}p(G,"getEnv");var R=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as N}from"node:child_process";import L from"node:process";import*as k from"node:util";var P=function(e){return e.Error="error",e.Warning="warning",e}({});import D from"chalk";import U from"consola";import{GraphQLError as j}from"graphql";var x=G();x.DEBUG||(U.level=4);function A(e){var t=D[e];return typeof t=="function"?t:D.green}p(A,"chalkKeyword");var F={silent:U.silent,level:U.level,fatal:U.fatal,error:U.error,warn:U.warn,log:U.log,info:U.info,success:U.success,ready:U.ready,start:U.start,box:U.box,debug:U.debug,trace:U.trace,verbose:U.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){U.box(D.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,o=e.rule,c=e.message;U.log("".concat(D.gray("File:")," ").concat(D.blue("".concat(t).concat(r?":".concat(r):"")))),o&&U.log(" ".concat(A(n)("Rule:")," ").concat(o)),U.log(" ".concat(A(n)("Message:")," ").concat(c))}),U.box(A(n)("".concat(e," : ").concat(t.length))),U.log(D.gray("─".repeat(40)))}};var M={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};import K from"node-fetch";import Y from"fs-extra";var B=Y.lstatSync,W=Y.readdirSync,J=Y.mkdirSync,H=Y.readFileSync,$=Y.writeFileSync,q=Y.appendFileSync,Q=Y.unlinkSync,V=Y.statSync,z=Y.readJsonSync,X=Y.writeJsonSync;function Z(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return Y.pathExistsSync(e)})}p(Z,"pathExistsSync");var ee=G();function et(e){var t=eO(ee.CWD,ek);if(!Z(t))return!1;try{var n=z(t),r=n.name,o=n.dependencies,c=o===void 0?{}:o,a=n.devDependencies,i=a===void 0?{}:a,s=r===e,u=e in c,l=e in i;return s||u||l?{path:t,file:n,isCurrentProject:s,isDepend:u,isDevDepend:l}:!1}catch(e){return F.warn("Failed to read package.json: ".concat(e.message)),!1}}p(et,"getPackage");function en(e){return /*#__PURE__*/r(function(){var t,n,r,o;return f(this,function(c){switch(c.label){case 0:c.trys.push([0,3,,4]);return[4,K("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=c.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=c.sent(),r=n.version;return[2,r];case 3:o=c.sent();throw F.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})})()}p(en,"getLatestPackageVersion");function er(e,t){return /*#__PURE__*/r(function(){var n,r,o,c,a,s,u,l,d,p,m,g,v,h,y,_,I,E,b,C,S;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,4,,5]);n=et(e);if(!n)return[2,i({},M)];u=n.path,l=n.file,d=n.isCurrentProject,p=n.isDepend,m=n.isDevDepend,g=(r=l.dependencies)!==null&&r!==void 0?r:{},v=(o=l.devDependencies)!==null&&o!==void 0?o:{},h=d?(c=l.version)!==null&&c!==void 0?c:"0.0.0":p?(a=g[e])!==null&&a!==void 0?a:"0.0.0":m?(s=v[e])!==null&&s!==void 0?s:"0.0.0":"0.0.0";if(!d)return[3,1];I=h;return[3,3];case 1:return[4,en(e)];case 2:I=f.sent();f.label=3;case 3:y=I,_=d||h===y;if(!_&&(t===null||t===void 0?void 0:t.update)){;b=p?"dependencies":m?"devDependencies":null;b&&((E=l[b])===null||E===void 0?void 0:E[e])!==y&&(l[b]=(C=l[b])!==null&&C!==void 0?C:{},l[b][e]=y,X(u,l),F.info('Updated "'.concat(e,'" to version ').concat(y)))}return[2,{isCurrentProject:d,installedPath:u,file:l,isUpToDate:_}];case 4:S=f.sent();return[2,(F.error('Error checking package "'.concat(e,'": ').concat(S.message)),i({},M))];case 5:return[2]}})})()}p(er,"checkPackage");function eo(){return /*#__PURE__*/r(function(){var e,t,n,r,o,c,a,i,s,u,l,d;return f(this,function(f){switch(f.label){case 0:e=[{command:p(function(){return ta.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:p(function(){return ta.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:p(function(){return ta.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;f.label=1;case 1:f.trys.push([1,9,10,11]);o=e[Symbol.iterator]();f.label=2;case 2:if(!!(t=(c=o.next()).done))return[3,8];a=c.value,i=a.command,s=a.message;f.label=3;case 3:f.trys.push([3,6,,7]);return[4,i()];case 4:u=f.sent();return[4,eI("".concat(s," using: ").concat(u),u)];case 5:f.sent();return[2];case 6:l=f.sent();F.warn("Installation attempt failed: ".concat(s)),F.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=f.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&o.return!=null){o.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})})()}p(eo,"installDependencies");function ec(e,t){return /*#__PURE__*/r(function(){var n,r,o,c,a,u,l,d,p,m,g;return f(this,function(f){switch(f.label){case 0:if(!Z(tr.PACKAGE_JSON)){F.error("package.json not found. Aborting setup.");return[2]}f.label=1;case 1:f.trys.push([1,13,,14]);n=s(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return er(e,i({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=f.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,eo()];case 3:r=f.sent();f.label=4;case 4:r;c=true,a=false,u=undefined;f.label=5;case 5:f.trys.push([5,10,11,12]);l=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();f.label=6;case 6:if(!!(c=(d=l.next()).done))return[3,9];p=d.value;return[4,p()];case 7:f.sent();f.label=8;case 8:c=true;return[3,6];case 9:return[3,12];case 10:m=f.sent();a=true;u=m;return[3,12];case 11:try{if(!c&&l.return!=null){l.return()}}finally{if(a){throw u}}return[7];case 12:return[3,14];case 13:g=f.sent();throw F.error('Failed to setup "'.concat(e.join(", "),'": ').concat(g.message)),g;case 14:return[2]}})})()}p(ec,"setupPackages");import ea from"node-persist";var ei=G();function es(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:e=ea.defaultInstance;if(e)return[3,2];return[4,ea.init({dir:ei.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})})()}p(es,"initNodePersist");var eu={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,es()];case 1:r.sent();return[4,ea.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(F.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,es()];case 1:r.sent();return[4,ea.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();F.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/r(function(){var t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,es()];case 1:n.sent();return[4,ea.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();F.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/r(function(){var e,t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,es()];case 1:n.sent();return[4,ea.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(F.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(F.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/r(function(){return f(this,function(t){try{return[2,"".concat(ei.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(F.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var el=G(),ef=k.promisify(N);function ed(e){return"error_list:".concat(e)}p(ed,"getErrorListKey");function ep(e){return /*#__PURE__*/r(function(){var t,n,o;return f(this,function(c){switch(c.label){case 0:if(e.length===0)return[2];t=Date.now(),n=ed(t);c.label=1;case 1:c.trys.push([1,3,,4]);return[4,eu.set(n,{errors:e,timestamp:t})];case 2:c.sent(),setTimeout(function(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:return[4,eu.getLogLink(n)];case 1:e=t.sent();e&&F.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:o=c.sent();F.error("Failed to save errors: ".concat(o.message));return[3,4];case 4:return[2]}})})()}p(ep,"saveErrorListToStorage");function em(e){var t=[],n=[],r="",o=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,c=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,a=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,s,u,l,f;var d=o.exec(e)||[],p=c.exec(e)||[],m=a.exec(e)||[];var g,v,h,y,_,I;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===P.Error?P.Error:P.Warning,message:(g=d===null||d===void 0?void 0:(i=d[4])===null||i===void 0?void 0:i.trim())!==null&&g!==void 0?g:"",rule:(v=d===null||d===void 0?void 0:(s=d[5])===null||s===void 0?void 0:s.trim())!==null&&v!==void 0?v:""}):p.length?t.push({file:(h=p===null||p===void 0?void 0:p[1])!==null&&h!==void 0?h:"",position:"".concat(p[2],":").concat(p[3]),type:p[4]===P.Error?P.Error:P.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:P.Error,message:(_=m===null||m===void 0?void 0:(l=m[1])===null||l===void 0?void 0:l.trim())!==null&&_!==void 0?_:"",rule:(I=m===null||m===void 0?void 0:(f=m[2])===null||f===void 0?void 0:f.trim())!==null&&I!==void 0?I:""}):n.push(e.trim())}}),t.length&&ep(t),el.DEBUG&&n.length&&(F.warn("Unmatched lines:"),n.forEach(function(e){return F.info(" ".concat(e))}))}p(em,"parseTextErrors");function eg(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,o=e.line,c=e.column,a=e.ruleId,i=e.message;n.push({type:r===2?P.Error:P.Warning,file:t,position:"".concat(o,":").concat(c),rule:a,message:i})})}),n.length&&ep(n)}catch(t){em(e)}}p(eg,"parseCommandOutput");function ev(e){return /*#__PURE__*/r(function(e){var t,n,r,o,c,a,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]:eg;n=new AbortController;L.on("SIGINT",function(){F.warn("Process interrupted. Terminating..."),n.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:n.signal})];case 2:r=f.sent(),o=r.stdout,c=r.stderr;[o,c].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:a=f.sent();i=a.stdout,s=a.stderr,u=a.message;[i,s].forEach(function(e){return e&&t(e)}),!s&&!i&&F.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}p(ev,"executeCommand");function eh(e){return{raw:!0,cmd:e}}p(eh,"rawCommand");function ey(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(e4," ").concat(eR," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(e4," ").concat(e1," ").concat(eB," ").concat(e):"".concat(e4," ").concat(eY," ").concat(e)}p(ey,"formatCLI");function e_(e,t){return typeof e=="function"?ey(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"?ey(e,t):e}p(e_,"formatCommand");function eI(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);F.start("".concat(e)),el.DEBUG&&F.info("→ ".concat(t));return[4,ev(t)];case 1:r.sent(),F.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw F.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}p(eI,"runCommand");import eE,{join as eb,resolve as eC}from"node:path";var eS=G();function ew(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return eC.apply(void 0,[eS.CWD].concat(s(t)))}p(ew,"resolveWorkingPath");function eO(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return eb.apply(void 0,s(t))}p(eO,"join");var eT=G(),eG=eT.CWD,eR="@cyberskill/shared",eN="node_modules",eL="dist",ek="package.json",eP="package-lock.json",eD="tsconfig.json",eU=".gitignore",ej=".simple-git-hooks.json",ex="pnpm-lock.yaml",eA=".git/hooks/",eF=".git/COMMIT_EDITMSG",eM=".migrate-mongo.config.js",eK=eO(eG,eN,eR,eL),eY="cyberskill",eB="src/nodejs/cli/index.ts",eW="eslint",eJ="eslint",eH="vitest",e$="playwright",eq="vitest",eQ="@commitlint/cli",eV="commitlint",ez="lint-staged",eX="lint-staged",eZ="typescript",e0="tsc",e1="tsx",e2="git",e3="pnpm",e4="pnpm exec",e5="simple-git-hooks",e6="simple-git-hooks",e7="@eslint/config-inspector",e8="eslint-config-inspector",e9="node-modules-inspector",te="node-modules-inspector",tt="migrate-mongo",tn="./node_modules/migrate-mongo/bin/migrate-mongo",tr={CYBERSKILL_DIRECTORY:eK,WORKING_DIRECTORY:eG,TS_CONFIG:ew(eD),GIT_IGNORE:ew(eU),GIT_HOOK:ew(eA),GIT_COMMIT_MSG:ew(eF),SIMPLE_GIT_HOOKS_JSON:ew(ej),PACKAGE_JSON:ew(ek),PACKAGE_LOCK_JSON:ew(eP),PNPM_LOCK_YAML:ew(ex),NODE_MODULES:ew(eN),MIGRATE_MONGO_CONFIG:ew(eM),LINT_STAGED_CONFIG:ew("".concat(eK,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:ew("".concat(eK,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:ew("".concat(eK,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:ew("".concat(eK,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:ew("".concat(eK,"/react/vitest/vitest.e2e.js"))};function to(e,t,n){return /*#__PURE__*/r(function(){return f(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case R.CLI:return[3,1];case R.STRING:return[3,3]}return[3,4];case 1:return[4,ec(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),e_(eh("".concat(e4," ").concat(n))))];case 3:return[2,e_(eh(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}p(to,"buildCommand");function tc(e,t,n){return function(){return /*#__PURE__*/r(function(){return f(this,function(r){return[2,to(e,t,n)]})})()}}p(tc,"commandFactory");var ta={simpleGitHooks:tc(R.CLI,e5,e6),eslintInspect:tc(R.CLI,e7,e8),nodeModulesInspect:tc(R.CLI,e9,te),eslintCheck:tc(R.CLI,eW,"".concat(eJ," ").concat(tr.WORKING_DIRECTORY)),eslintFix:tc(R.CLI,eW,"".concat(eJ," ").concat(tr.WORKING_DIRECTORY," --fix")),typescriptCheck:tc(R.CLI,eZ,"".concat(e0," -p ").concat(tr.TS_CONFIG," --noEmit")),configureGitHook:tc(R.STRING,"".concat(e2," config core.hooksPath ").concat(tr.GIT_HOOK)),testUnit:tc(R.CLI,eH,"".concat(eq," --config ").concat(tr.UNIT_TEST_CONFIG)),testE2e:tc(R.CLI,"".concat(eH," ").concat(e$),"".concat(eq," --config ").concat(tr.E2E_TEST_CONFIG)),mongoMigrateCreate:p(function(e){return tc(R.CLI,tt,"".concat(e1," ").concat(tn," create ").concat(e," -f ").concat(tr.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tc(R.CLI,tt,"".concat(e1," ").concat(tn," up -f ").concat(tr.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tc(R.CLI,tt,"".concat(e1," ").concat(tn," down -f ").concat(tr.MIGRATE_MONGO_CONFIG)),commitLint:tc(R.CLI,eQ,"".concat(eV," --edit ").concat(tr.GIT_COMMIT_MSG," --config ").concat(tr.COMMITLINT_CONFIG)),lintStaged:tc(R.CLI,ez,"".concat(eX," --config ").concat(tr.LINT_STAGED_CONFIG)),stageBuildDirectory:tc(R.STRING,"".concat(e2," add ").concat(eL)),build:tc(R.STRING,"".concat(e3," run build")),pnpmInstallStandard:tc(R.STRING,"".concat(e3," install")),pnpmInstallLegacy:tc(R.STRING,"".concat(e3," install --legacy-peer-deps")),pnpmInstallForce:tc(R.STRING,"".concat(e3," install --force"))};function ti(e){return y(i({plugins:[h()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[tr.UNIT_TEST_SETUP_CONFIG]}},e))}p(ti,"vitestUnit");export{v as vitestE2E,ti as vitestUnit};
|
|
1
|
+
function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(t){if(Array.isArray(t))return e(t)}function n(e,t,n,r,o,c,a){try{var i=e[c](a);var s=i.value}catch(e){n(e);return}if(i.done){t(s)}else{Promise.resolve(s).then(r,o)}}function r(e){return function(){var t=this,r=arguments;return new Promise(function(o,c){var a=e.apply(t,r);function i(e){n(a,o,c,i,s,"next",e)}function s(e){n(a,o,c,i,s,"throw",e)}i(undefined)})}}function o(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function c(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function a(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){o(e,t,n[t])})}return e}function s(e){return t(e)||c(e)||l(e)||a()}function u(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function l(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function f(e,t){var n,r,o,c={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},a=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return a.next=i(0),a["throw"]=i(1),a["return"]=i(2),typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function i(e){return function(t){return s([e,t])}}function s(i){if(n)throw new TypeError("Generator is already executing.");while(a&&(a=0,i[0]&&(c=0)),c)try{if(n=1,r&&(o=i[0]&2?r["return"]:i[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;if(r=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:c.label++;return{value:i[1],done:false};case 5:c.label++;r=i[1];i=[0];continue;case 7:i=c.ops.pop();c.trys.pop();continue;default:if(!(o=c.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){c=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){c.label=i[1];break}if(i[0]===6&&c.label<o[1]){c.label=o[1];o=i;break}if(o&&c.label<o[2]){c.label=o[2];c.ops.push(i);break}if(o[2])c.ops.pop();c.trys.pop();continue}i=t.call(e,c)}catch(e){i=[6,e];r=0}finally{n=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var d=Object.defineProperty;var p=function(e,t){return d(e,"name",{value:t,configurable:!0})};import m from"@vitejs/plugin-react-swc";import{defineConfig as g}from"vitest/config";function v(e){return g(i({plugins:[m()],test:{include:["**/*.test.e2e.?(c|m)[jt]s?(x)"],browser:{enabled:!0,provider:"playwright",instances:[{browser:"chromium"},{browser:"firefox"},{browser:"webkit"}]}}},e))}p(v,"vitestE2E");import h from"@vitejs/plugin-react-swc";import{defineConfig as y}from"vitest/config";var _=".cyberskill-storage";import I from"@dotenvx/dotenvx";import{bool as E,cleanEnv as b,str as C}from"envalid";import S from"node:os";import w from"node:path";import O from"node:process";var T=!1;function G(){T||(I.config(),T=!0)}p(G,"loadEnvFile");function R(){G();var e=b(O.env,{CWD:C({default:O.cwd()}),DEBUG:E({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:C({default:w.join(S.homedir(),_)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}p(R,"getEnv");var N=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as L}from"node:child_process";import k from"node:process";import*as P from"node:util";var D=function(e){return e.Error="error",e.Warning="warning",e}({});import U from"chalk";import j from"consola";import{GraphQLError as x}from"graphql";var A=R();A.DEBUG||(j.level=4);function F(e){var t=U[e];return typeof t=="function"?t:U.green}p(F,"chalkKeyword");var M={silent:j.silent,level:j.level,fatal:j.fatal,error:j.error,warn:j.warn,log:j.log,info:j.info,success:j.success,ready:j.ready,start:j.start,box:j.box,debug:j.debug,trace:j.trace,verbose:j.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){j.box(U.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,o=e.rule,c=e.message;j.log("".concat(U.gray("File:")," ").concat(U.blue("".concat(t).concat(r?":".concat(r):"")))),o&&j.log(" ".concat(F(n)("Rule:")," ").concat(o)),j.log(" ".concat(F(n)("Message:")," ").concat(c))}),j.box(F(n)("".concat(e," : ").concat(t.length))),j.log(U.gray("─".repeat(40)))}};var K={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};import Y from"node-fetch";import B from"fs-extra";var W=B.lstatSync,J=B.readdirSync,H=B.mkdirSync,$=B.readFileSync,q=B.writeFileSync,Q=B.appendFileSync,V=B.unlinkSync,z=B.statSync,X=B.readJsonSync,Z=B.writeJsonSync;function ee(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return B.pathExistsSync(e)})}p(ee,"pathExistsSync");var et=R();function en(e){var t=eT(et.CWD,eP);if(!ee(t))return!1;try{var n=X(t),r=n.name,o=n.dependencies,c=o===void 0?{}:o,a=n.devDependencies,i=a===void 0?{}:a,s=r===e,u=e in c,l=e in i;return s||u||l?{path:t,file:n,isCurrentProject:s,isDepend:u,isDevDepend:l}:!1}catch(e){return M.warn("Failed to read package.json: ".concat(e.message)),!1}}p(en,"getPackage");function er(e){return /*#__PURE__*/r(function(){var t,n,r,o;return f(this,function(c){switch(c.label){case 0:c.trys.push([0,3,,4]);return[4,Y("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=c.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=c.sent(),r=n.version;return[2,r];case 3:o=c.sent();throw M.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})})()}p(er,"getLatestPackageVersion");function eo(e,t){return /*#__PURE__*/r(function(){var n,r,o,c,a,s,u,l,d,p,m,g,v,h,y,_,I,E,b,C,S;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,4,,5]);n=en(e);if(!n)return[2,i({},K)];u=n.path,l=n.file,d=n.isCurrentProject,p=n.isDepend,m=n.isDevDepend,g=(r=l.dependencies)!==null&&r!==void 0?r:{},v=(o=l.devDependencies)!==null&&o!==void 0?o:{},h=d?(c=l.version)!==null&&c!==void 0?c:"0.0.0":p?(a=g[e])!==null&&a!==void 0?a:"0.0.0":m?(s=v[e])!==null&&s!==void 0?s:"0.0.0":"0.0.0";if(!d)return[3,1];I=h;return[3,3];case 1:return[4,er(e)];case 2:I=f.sent();f.label=3;case 3:y=I,_=d||h===y;if(!_&&(t===null||t===void 0?void 0:t.update)){;b=p?"dependencies":m?"devDependencies":null;b&&((E=l[b])===null||E===void 0?void 0:E[e])!==y&&(l[b]=(C=l[b])!==null&&C!==void 0?C:{},l[b][e]=y,Z(u,l),M.info('Updated "'.concat(e,'" to version ').concat(y)))}return[2,{isCurrentProject:d,installedPath:u,file:l,isUpToDate:_}];case 4:S=f.sent();return[2,(M.error('Error checking package "'.concat(e,'": ').concat(S.message)),i({},K))];case 5:return[2]}})})()}p(eo,"checkPackage");function ec(){return /*#__PURE__*/r(function(){var e,t,n,r,o,c,a,i,s,u,l,d;return f(this,function(f){switch(f.label){case 0:e=[{command:p(function(){return ti.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:p(function(){return ti.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:p(function(){return ti.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;f.label=1;case 1:f.trys.push([1,9,10,11]);o=e[Symbol.iterator]();f.label=2;case 2:if(!!(t=(c=o.next()).done))return[3,8];a=c.value,i=a.command,s=a.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();M.warn("Installation attempt failed: ".concat(s)),M.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=f.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&o.return!=null){o.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})})()}p(ec,"installDependencies");function ea(e,t){return /*#__PURE__*/r(function(){var n,r,o,c,a,u,l,d,p,m,g;return f(this,function(f){switch(f.label){case 0:if(!ee(to.PACKAGE_JSON)){M.error("package.json not found. Aborting setup.");return[2]}f.label=1;case 1:f.trys.push([1,13,,14]);n=s(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return eo(e,i({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=f.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,ec()];case 3:r=f.sent();f.label=4;case 4:r;c=true,a=false,u=undefined;f.label=5;case 5:f.trys.push([5,10,11,12]);l=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();f.label=6;case 6:if(!!(c=(d=l.next()).done))return[3,9];p=d.value;return[4,p()];case 7:f.sent();f.label=8;case 8:c=true;return[3,6];case 9:return[3,12];case 10:m=f.sent();a=true;u=m;return[3,12];case 11:try{if(!c&&l.return!=null){l.return()}}finally{if(a){throw u}}return[7];case 12:return[3,14];case 13:g=f.sent();throw M.error('Failed to setup "'.concat(e.join(", "),'": ').concat(g.message)),g;case 14:return[2]}})})()}p(ea,"setupPackages");import ei from"node-persist";var es=R();function eu(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:e=ei.defaultInstance;if(e)return[3,2];return[4,ei.init({dir:es.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})})()}p(eu,"initNodePersist");var el={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,eu()];case 1:r.sent();return[4,ei.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(M.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eu()];case 1:r.sent();return[4,ei.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();M.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/r(function(){var t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eu()];case 1:n.sent();return[4,ei.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();M.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/r(function(){var e,t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eu()];case 1:n.sent();return[4,ei.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(M.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(M.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/r(function(){return f(this,function(t){try{return[2,"".concat(es.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(M.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var ef=R(),ed=P.promisify(L);function ep(e){return"error_list:".concat(e)}p(ep,"getErrorListKey");function em(e){return /*#__PURE__*/r(function(){var t,n,o;return f(this,function(c){switch(c.label){case 0:if(e.length===0)return[2];t=Date.now(),n=ep(t);c.label=1;case 1:c.trys.push([1,3,,4]);return[4,el.set(n,{errors:e,timestamp:t})];case 2:c.sent(),setTimeout(function(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:return[4,el.getLogLink(n)];case 1:e=t.sent();e&&M.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:o=c.sent();M.error("Failed to save errors: ".concat(o.message));return[3,4];case 4:return[2]}})})()}p(em,"saveErrorListToStorage");function eg(e){var t=[],n=[],r="",o=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,c=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,a=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,s,u,l,f;var d=o.exec(e)||[],p=c.exec(e)||[],m=a.exec(e)||[];var g,v,h,y,_,I;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===D.Error?D.Error:D.Warning,message:(g=d===null||d===void 0?void 0:(i=d[4])===null||i===void 0?void 0:i.trim())!==null&&g!==void 0?g:"",rule:(v=d===null||d===void 0?void 0:(s=d[5])===null||s===void 0?void 0:s.trim())!==null&&v!==void 0?v:""}):p.length?t.push({file:(h=p===null||p===void 0?void 0:p[1])!==null&&h!==void 0?h:"",position:"".concat(p[2],":").concat(p[3]),type:p[4]===D.Error?D.Error:D.Warning,message:(y=p===null||p===void 0?void 0:(u=p[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):m.length?t.push({file:"commitlint",type:D.Error,message:(_=m===null||m===void 0?void 0:(l=m[1])===null||l===void 0?void 0:l.trim())!==null&&_!==void 0?_:"",rule:(I=m===null||m===void 0?void 0:(f=m[2])===null||f===void 0?void 0:f.trim())!==null&&I!==void 0?I:""}):n.push(e.trim())}}),t.length&&em(t),ef.DEBUG&&n.length&&(M.warn("Unmatched lines:"),n.forEach(function(e){return M.info(" ".concat(e))}))}p(eg,"parseTextErrors");function ev(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,o=e.line,c=e.column,a=e.ruleId,i=e.message;n.push({type:r===2?D.Error:D.Warning,file:t,position:"".concat(o,":").concat(c),rule:a,message:i})})}),n.length&&em(n)}catch(t){eg(e)}}p(ev,"parseCommandOutput");function eh(e){return /*#__PURE__*/r(function(e){var t,n,r,o,c,a,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]:ev;n=new AbortController;k.on("SIGINT",function(){M.warn("Process interrupted. Terminating..."),n.abort(),k.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,ed(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),o=r.stdout,c=r.stderr;[o,c].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:a=f.sent();i=a.stdout,s=a.stderr,u=a.message;[i,s].forEach(function(e){return e&&t(e)}),!s&&!i&&M.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}p(eh,"executeCommand");function ey(e){return{raw:!0,cmd:e}}p(ey,"rawCommand");function e_(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(e5," ").concat(eN," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(e5," ").concat(e2," ").concat(eW," ").concat(e):"".concat(e5," ").concat(eB," ").concat(e)}p(e_,"formatCLI");function eI(e,t){return typeof e=="function"?e_(e(t),t):(typeof e==="undefined"?"undefined":u(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?e_(e,t):e}p(eI,"formatCommand");function eE(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);M.start("".concat(e)),ef.DEBUG&&M.info("→ ".concat(t));return[4,eh(t)];case 1:r.sent(),M.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw M.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}p(eE,"runCommand");import eb,{join as eC,resolve as eS}from"node:path";var ew=R();function eO(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return eS.apply(void 0,[ew.CWD].concat(s(t)))}p(eO,"resolveWorkingPath");function eT(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return eC.apply(void 0,s(t))}p(eT,"join");var eG=R(),eR=eG.CWD,eN="@cyberskill/shared",eL="node_modules",ek="dist",eP="package.json",eD="package-lock.json",eU="tsconfig.json",ej=".gitignore",ex=".simple-git-hooks.json",eA="pnpm-lock.yaml",eF=".git/hooks/",eM=".git/COMMIT_EDITMSG",eK=".migrate-mongo.config.js",eY=eT(eR,eL,eN,ek),eB="cyberskill",eW="src/nodejs/cli/index.ts",eJ="eslint",eH="eslint",e$="vitest",eq="playwright",eQ="vitest",eV="@commitlint/cli",ez="commitlint",eX="lint-staged",eZ="lint-staged",e0="typescript",e1="tsc",e2="tsx",e3="git",e4="pnpm",e5="pnpm exec",e6="simple-git-hooks",e7="simple-git-hooks",e8="@eslint/config-inspector",e9="eslint-config-inspector",te="node-modules-inspector",tt="node-modules-inspector",tn="migrate-mongo",tr="./node_modules/migrate-mongo/bin/migrate-mongo",to={CYBERSKILL_DIRECTORY:eY,WORKING_DIRECTORY:eR,TS_CONFIG:eO(eU),GIT_IGNORE:eO(ej),GIT_HOOK:eO(eF),GIT_COMMIT_MSG:eO(eM),SIMPLE_GIT_HOOKS_JSON:eO(ex),PACKAGE_JSON:eO(eP),PACKAGE_LOCK_JSON:eO(eD),PNPM_LOCK_YAML:eO(eA),NODE_MODULES:eO(eL),MIGRATE_MONGO_CONFIG:eO(eK),LINT_STAGED_CONFIG:eO("".concat(eY,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:eO("".concat(eY,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:eO("".concat(eY,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eO("".concat(eY,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eO("".concat(eY,"/react/vitest/vitest.e2e.js"))};function tc(e,t,n){return /*#__PURE__*/r(function(){return f(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case N.CLI:return[3,1];case N.STRING:return[3,3]}return[3,4];case 1:return[4,ea(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),eI(ey("".concat(e5," ").concat(n))))];case 3:return[2,eI(ey(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}p(tc,"buildCommand");function ta(e,t,n){return function(){return /*#__PURE__*/r(function(){return f(this,function(r){return[2,tc(e,t,n)]})})()}}p(ta,"commandFactory");var ti={simpleGitHooks:ta(N.CLI,e6,e7),eslintInspect:ta(N.CLI,e8,e9),nodeModulesInspect:ta(N.CLI,te,tt),eslintCheck:ta(N.CLI,eJ,"".concat(eH," ").concat(to.WORKING_DIRECTORY)),eslintFix:ta(N.CLI,eJ,"".concat(eH," ").concat(to.WORKING_DIRECTORY," --fix")),typescriptCheck:ta(N.CLI,e0,"".concat(e1," -p ").concat(to.TS_CONFIG," --noEmit")),configureGitHook:ta(N.STRING,"".concat(e3," config core.hooksPath ").concat(to.GIT_HOOK)),testUnit:ta(N.CLI,e$,"".concat(eQ," --config ").concat(to.UNIT_TEST_CONFIG)),testE2e:ta(N.CLI,"".concat(e$," ").concat(eq),"".concat(eQ," --config ").concat(to.E2E_TEST_CONFIG)),mongoMigrateCreate:p(function(e){return ta(N.CLI,tn,"".concat(e2," ").concat(tr," create ").concat(e," -f ").concat(to.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:ta(N.CLI,tn,"".concat(e2," ").concat(tr," up -f ").concat(to.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:ta(N.CLI,tn,"".concat(e2," ").concat(tr," down -f ").concat(to.MIGRATE_MONGO_CONFIG)),commitLint:ta(N.CLI,eV,"".concat(ez," --edit ").concat(to.GIT_COMMIT_MSG," --config ").concat(to.COMMITLINT_CONFIG)),lintStaged:ta(N.CLI,eX,"".concat(eZ," --config ").concat(to.LINT_STAGED_CONFIG)),stageBuildDirectory:ta(N.STRING,"".concat(e3," add ").concat(ek)),build:ta(N.STRING,"".concat(e4," run build")),pnpmInstallStandard:ta(N.STRING,"".concat(e4," install")),pnpmInstallLegacy:ta(N.STRING,"".concat(e4," install --legacy-peer-deps")),pnpmInstallForce:ta(N.STRING,"".concat(e4," install --force"))};function ts(e){return y(i({plugins:[h()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[to.UNIT_TEST_SETUP_CONFIG]}},e))}p(ts,"vitestUnit");export{v as vitestE2E,ts 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,o,a,c){try{var i=e[a](c);var u=i.value}catch(e){n(e);return}if(i.done){t(u)}else{Promise.resolve(u).then(r,o)}}function r(e){return function(){var t=this,r=arguments;return new Promise(function(o,a){var c=e.apply(t,r);function i(e){n(c,o,a,i,u,"next",e)}function u(e){n(c,o,a,i,u,"throw",e)}i(undefined)})}}function o(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function a(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function c(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){o(e,t,n[t])})}return e}function u(e){return t(e)||a(e)||l(e)||c()}function s(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function l(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function f(e,t){var n,r,o,a={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},c=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return c.next=i(0),c["throw"]=i(1),c["return"]=i(2),typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function i(e){return function(t){return u([e,t])}}function u(i){if(n)throw new TypeError("Generator is already executing.");while(c&&(c=0,i[0]&&(a=0)),a)try{if(n=1,r&&(o=i[0]&2?r["return"]:i[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;if(r=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:a.label++;return{value:i[1],done:false};case 5:a.label++;r=i[1];i=[0];continue;case 7:i=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){a=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(i[0]===6&&a.label<o[1]){a.label=o[1];o=i;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(i);break}if(o[2])a.ops.pop();a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e];r=0}finally{n=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var d=Object.create;var p=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var m=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var y=function(e,t){return p(e,"name",{value:t,configurable:!0})};var _=function(e,t){for(var n in t)p(e,n,{get:t[n],enumerable:!0})},I=function(e,t,n,r){var o=true,a=false,c=undefined;if(t&&(typeof t==="undefined"?"undefined":s(t))=="object"||typeof t=="function")try{var i=function(){var o=l.value;!h.call(e,o)&&o!==n&&p(e,o,{get:function(){return t[o]},enumerable:!(r=v(t,o))||r.enumerable})};for(var u=g(t)[Symbol.iterator](),l;!(o=(l=u.next()).done);o=true)i()}catch(e){a=true;c=e}finally{try{if(!o&&u.return!=null){u.return()}}finally{if(a){throw c}}}return e};var E=function(e,t,n){return n=e!=null?d(m(e)):{},I(t||!e||!e.__esModule?p(n,"default",{value:e,enumerable:!0}):n,e)},b=function(e){return I(p({},"__esModule",{value:!0}),e)};var O={};_(O,{vitestUnit:function(){return td}});module.exports=b(O);var S=E(require("@vitejs/plugin-react-swc"),1),C=require("vitest/config");var T=".cyberskill-storage";var w=E(require("@dotenvx/dotenvx"),1),G=require("envalid"),R=E(require("os"),1),N=E(require("path"),1),P=E(require("process"),1);function L(){w.default.config()}y(L,"loadEnvFile");function k(){L();var e=(0,G.cleanEnv)(P.default.env,{CWD:(0,G.str)({default:P.default.cwd()}),DEBUG:(0,G.bool)({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:(0,G.str)({default:N.default.join(R.default.homedir(),T)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}y(k,"getEnv");var j=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var D=require("child_process"),U=E(require("process"),1),x=E(require("util"),1);var A=function(e){return e.Error="error",e.Warning="warning",e}({});var M=E(require("chalk"),1),F=E(require("consola"),1),q=require("graphql");var K=k();K.DEBUG||(F.default.level=4);function Y(e){var t=M.default[e];return typeof t=="function"?t:M.default.green}y(Y,"chalkKeyword");var B={silent:F.default.silent,level:F.default.level,fatal:F.default.fatal,error:F.default.error,warn:F.default.warn,log:F.default.log,info:F.default.info,success:F.default.success,ready:F.default.ready,start:F.default.start,box:F.default.box,debug:F.default.debug,trace:F.default.trace,verbose:F.default.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){F.default.box(M.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,o=e.rule,a=e.message;F.default.log("".concat(M.default.gray("File:")," ").concat(M.default.blue("".concat(t).concat(r?":".concat(r):"")))),o&&F.default.log(" ".concat(Y(n)("Rule:")," ").concat(o)),F.default.log(" ".concat(Y(n)("Message:")," ").concat(a))}),F.default.box(Y(n)("".concat(e," : ").concat(t.length))),F.default.log(M.default.gray("─".repeat(40)))}};var W={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var J=E(require("node-fetch"),1);var H=E(require("fs-extra"),1),$=require("path");var V=H.default,z=V.lstatSync,Q=V.readdirSync,X=V.mkdirSync,Z=V.readFileSync,ee=V.writeFileSync,et=V.appendFileSync,en=V.unlinkSync,er=V.statSync,eo=H.default.readJsonSync,ea=H.default.writeJsonSync;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 H.default.pathExistsSync(e)})}y(ec,"pathExistsSync");var ei=k();function eu(e){var t=eP(ei.CWD,ex);if(!ec(t))return!1;try{var n=eo(t),r=n.name,o=n.dependencies,a=o===void 0?{}:o,c=n.devDependencies,i=c===void 0?{}:c,u=r===e,s=e in a,l=e in i;return u||s||l?{path:t,file:n,isCurrentProject:u,isDepend:s,isDevDepend:l}:!1}catch(e){return B.warn("Failed to read package.json: ".concat(e.message)),!1}}y(eu,"getPackage");function es(e){return /*#__PURE__*/r(function(){var t,n,r,o;return f(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,(0,J.default)("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=a.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=a.sent(),r=n.version;return[2,r];case 3:o=a.sent();throw B.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})})()}y(es,"getLatestPackageVersion");function el(e,t){return /*#__PURE__*/r(function(){var n,r,o,a,c,u,s,l,d,p,v,g,m,h,y,_,I,E,b,O,S;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,4,,5]);n=eu(e);if(!n)return[2,i({},W)];s=n.path,l=n.file,d=n.isCurrentProject,p=n.isDepend,v=n.isDevDepend,g=(r=l.dependencies)!==null&&r!==void 0?r:{},m=(o=l.devDependencies)!==null&&o!==void 0?o:{},h=d?(a=l.version)!==null&&a!==void 0?a:"0.0.0":p?(c=g[e])!==null&&c!==void 0?c:"0.0.0":v?(u=m[e])!==null&&u!==void 0?u:"0.0.0":"0.0.0";if(!d)return[3,1];I=h;return[3,3];case 1:return[4,es(e)];case 2:I=f.sent();f.label=3;case 3:y=I,_=d||h===y;if(!_&&(t===null||t===void 0?void 0:t.update)){;b=p?"dependencies":v?"devDependencies":null;b&&((E=l[b])===null||E===void 0?void 0:E[e])!==y&&(l[b]=(O=l[b])!==null&&O!==void 0?O:{},l[b][e]=y,ea(s,l),B.info('Updated "'.concat(e,'" to version ').concat(y)))}return[2,{isCurrentProject:d,installedPath:s,file:l,isUpToDate:_}];case 4:S=f.sent();return[2,(B.error('Error checking package "'.concat(e,'": ').concat(S.message)),i({},W))];case 5:return[2]}})})()}y(el,"checkPackage");function ef(){return /*#__PURE__*/r(function(){var e,t,n,r,o,a,c,i,u,s,l,d;return f(this,function(f){switch(f.label){case 0:e=[{command: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]);o=e[Symbol.iterator]();f.label=2;case 2:if(!!(t=(a=o.next()).done))return[3,8];c=a.value,i=c.command,u=c.message;f.label=3;case 3:f.trys.push([3,6,,7]);return[4,i()];case 4:s=f.sent();return[4,ew("".concat(u," using: ").concat(s),s)];case 5:f.sent();return[2];case 6:l=f.sent();B.warn("Installation attempt failed: ".concat(u)),B.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=f.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&o.return!=null){o.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})})()}y(ef,"installDependencies");function ed(e,t){return /*#__PURE__*/r(function(){var n,r,o,a,c,s,l,d,p,v,g;return f(this,function(f){switch(f.label){case 0:if(!ec(tu.PACKAGE_JSON)){B.error("package.json not found. Aborting setup.");return[2]}f.label=1;case 1:f.trys.push([1,13,,14]);n=u(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return el(e,i({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=f.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,ef()];case 3:r=f.sent();f.label=4;case 4:r;a=true,c=false,s=undefined;f.label=5;case 5:f.trys.push([5,10,11,12]);l=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();f.label=6;case 6:if(!!(a=(d=l.next()).done))return[3,9];p=d.value;return[4,p()];case 7:f.sent();f.label=8;case 8:a=true;return[3,6];case 9:return[3,12];case 10:v=f.sent();c=true;s=v;return[3,12];case 11:try{if(!a&&l.return!=null){l.return()}}finally{if(c){throw s}}return[7];case 12:return[3,14];case 13:g=f.sent();throw B.error('Failed to setup "'.concat(e.join(", "),'": ').concat(g.message)),g;case 14:return[2]}})})()}y(ed,"setupPackages");var ep=E(require("node-persist"),1);var ev=k();function eg(){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:ev.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(eg,"initNodePersist");var em={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,eg()];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,(B.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eg()];case 1:r.sent();return[4,ep.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();B.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/r(function(){var t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eg()];case 1:n.sent();return[4,ep.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();B.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/r(function(){var e,t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eg()];case 1:n.sent();return[4,ep.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(B.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(B.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/r(function(){return f(this,function(t){try{return[2,"".concat(ev.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(B.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eh=k(),ey=x.promisify(D.exec);function e_(e){return"error_list:".concat(e)}y(e_,"getErrorListKey");function eI(e){return /*#__PURE__*/r(function(){var t,n,o;return f(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];t=Date.now(),n=e_(t);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,em.set(n,{errors:e,timestamp:t})];case 2:a.sent(),setTimeout(function(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:return[4,em.getLogLink(n)];case 1:e=t.sent();e&&B.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:o=a.sent();B.error("Failed to save errors: ".concat(o.message));return[3,4];case 4:return[2]}})})()}y(eI,"saveErrorListToStorage");function eE(e){var t=[],n=[],r="",o=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,a=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,c=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,u,s,l,f;var d=o.exec(e)||[],p=a.exec(e)||[],v=c.exec(e)||[];var g,m,h,y,_,I;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===A.Error?A.Error:A.Warning,message:(g=d===null||d===void 0?void 0:(i=d[4])===null||i===void 0?void 0:i.trim())!==null&&g!==void 0?g:"",rule:(m=d===null||d===void 0?void 0:(u=d[5])===null||u===void 0?void 0:u.trim())!==null&&m!==void 0?m:""}):p.length?t.push({file:(h=p===null||p===void 0?void 0:p[1])!==null&&h!==void 0?h:"",position:"".concat(p[2],":").concat(p[3]),type:p[4]===A.Error?A.Error:A.Warning,message:(y=p===null||p===void 0?void 0:(s=p[5])===null||s===void 0?void 0:s.trim())!==null&&y!==void 0?y:""}):v.length?t.push({file:"commitlint",type:A.Error,message:(_=v===null||v===void 0?void 0:(l=v[1])===null||l===void 0?void 0:l.trim())!==null&&_!==void 0?_:"",rule:(I=v===null||v===void 0?void 0:(f=v[2])===null||f===void 0?void 0:f.trim())!==null&&I!==void 0?I:""}):n.push(e.trim())}}),t.length&&eI(t),eh.DEBUG&&n.length&&(B.warn("Unmatched lines:"),n.forEach(function(e){return B.info(" ".concat(e))}))}y(eE,"parseTextErrors");function eb(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,o=e.line,a=e.column,c=e.ruleId,i=e.message;n.push({type:r===2?A.Error:A.Warning,file:t,position:"".concat(o,":").concat(a),rule:c,message:i})})}),n.length&&eI(n)}catch(t){eE(e)}}y(eb,"parseCommandOutput");function eO(e){return /*#__PURE__*/r(function(e){var t,n,r,o,a,c,i,u,s;var l=arguments;return f(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:eb;n=new AbortController;U.default.on("SIGINT",function(){B.warn("Process interrupted. Terminating..."),n.abort(),U.default.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,ey(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),o=r.stdout,a=r.stderr;[o,a].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:c=f.sent();i=c.stdout,u=c.stderr,s=c.message;[i,u].forEach(function(e){return e&&t(e)}),!u&&!i&&B.error("Command failed: ".concat(s));return[3,5];case 5:return[2]}})}).apply(this,arguments)}y(eO,"executeCommand");function eS(e){return{raw:!0,cmd:e}}y(eS,"rawCommand");function eC(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(e9," ").concat(ej," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(e9," ").concat(e6," ").concat(e$," ").concat(e):"".concat(e9," ").concat(eH," ").concat(e)}y(eC,"formatCLI");function eT(e,t){return typeof e=="function"?eC(e(t),t):(typeof e==="undefined"?"undefined":s(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?eC(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]);B.start("".concat(e)),eh.DEBUG&&B.info("→ ".concat(t));return[4,eO(t)];case 1:r.sent(),B.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw B.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}y(ew,"runCommand");var eG=E(require("path"),1);var eR=k();function eN(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,eG.resolve).apply(this,[eR.CWD].concat(u(t)))}y(eN,"resolveWorkingPath");function eP(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,eG.join).apply(this,u(t))}y(eP,"join");var eL=k(),ek=eL.CWD,ej="@cyberskill/shared",eD="node_modules",eU="dist",ex="package.json",eA="package-lock.json",eM="tsconfig.json",eF=".gitignore",eq=".simple-git-hooks.json",eK="pnpm-lock.yaml",eY=".git/hooks/",eB=".git/COMMIT_EDITMSG",eW=".migrate-mongo.config.js",eJ=eP(ek,eD,ej,eU),eH="cyberskill",e$="src/nodejs/cli/index.ts",eV="eslint",ez="eslint",eQ="vitest",eX="playwright",eZ="vitest",e0="@commitlint/cli",e1="commitlint",e2="lint-staged",e3="lint-staged",e4="typescript",e5="tsc",e6="tsx",e7="git",e8="pnpm",e9="pnpm exec",te="simple-git-hooks",tt="simple-git-hooks",tn="@eslint/config-inspector",tr="eslint-config-inspector",to="node-modules-inspector",ta="node-modules-inspector",tc="migrate-mongo",ti="./node_modules/migrate-mongo/bin/migrate-mongo",tu={CYBERSKILL_DIRECTORY:eJ,WORKING_DIRECTORY:ek,TS_CONFIG:eN(eM),GIT_IGNORE:eN(eF),GIT_HOOK:eN(eY),GIT_COMMIT_MSG:eN(eB),SIMPLE_GIT_HOOKS_JSON:eN(eq),PACKAGE_JSON:eN(ex),PACKAGE_LOCK_JSON:eN(eA),PNPM_LOCK_YAML:eN(eK),NODE_MODULES:eN(eD),MIGRATE_MONGO_CONFIG:eN(eW),LINT_STAGED_CONFIG:eN("".concat(eJ,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:eN("".concat(eJ,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:eN("".concat(eJ,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eN("".concat(eJ,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eN("".concat(eJ,"/react/vitest/vitest.e2e.js"))};function ts(e,t,n){return /*#__PURE__*/r(function(){return f(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case j.CLI:return[3,1];case j.STRING:return[3,3]}return[3,4];case 1:return[4,ed(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),eT(eS("".concat(e9," ").concat(n))))];case 3:return[2,eT(eS(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}y(ts,"buildCommand");function tl(e,t,n){return function(){return /*#__PURE__*/r(function(){return f(this,function(r){return[2,ts(e,t,n)]})})()}}y(tl,"commandFactory");var tf={simpleGitHooks:tl(j.CLI,te,tt),eslintInspect:tl(j.CLI,tn,tr),nodeModulesInspect:tl(j.CLI,to,ta),eslintCheck:tl(j.CLI,eV,"".concat(ez," ").concat(tu.WORKING_DIRECTORY)),eslintFix:tl(j.CLI,eV,"".concat(ez," ").concat(tu.WORKING_DIRECTORY," --fix")),typescriptCheck:tl(j.CLI,e4,"".concat(e5," -p ").concat(tu.TS_CONFIG," --noEmit")),configureGitHook:tl(j.STRING,"".concat(e7," config core.hooksPath ").concat(tu.GIT_HOOK)),testUnit:tl(j.CLI,eQ,"".concat(eZ," --config ").concat(tu.UNIT_TEST_CONFIG)),testE2e:tl(j.CLI,"".concat(eQ," ").concat(eX),"".concat(eZ," --config ").concat(tu.E2E_TEST_CONFIG)),mongoMigrateCreate:y(function(e){return tl(j.CLI,tc,"".concat(e6," ").concat(ti," create ").concat(e," -f ").concat(tu.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tl(j.CLI,tc,"".concat(e6," ").concat(ti," up -f ").concat(tu.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tl(j.CLI,tc,"".concat(e6," ").concat(ti," down -f ").concat(tu.MIGRATE_MONGO_CONFIG)),commitLint:tl(j.CLI,e0,"".concat(e1," --edit ").concat(tu.GIT_COMMIT_MSG," --config ").concat(tu.COMMITLINT_CONFIG)),lintStaged:tl(j.CLI,e2,"".concat(e3," --config ").concat(tu.LINT_STAGED_CONFIG)),stageBuildDirectory:tl(j.STRING,"".concat(e7," add ").concat(eU)),build:tl(j.STRING,"".concat(e8," run build")),pnpmInstallStandard:tl(j.STRING,"".concat(e8," install")),pnpmInstallLegacy:tl(j.STRING,"".concat(e8," install --legacy-peer-deps")),pnpmInstallForce:tl(j.STRING,"".concat(e8," install --force"))};function td(e){return(0,C.defineConfig)(i({plugins:[(0,S.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,o,a,c){try{var i=e[a](c);var u=i.value}catch(e){n(e);return}if(i.done){t(u)}else{Promise.resolve(u).then(r,o)}}function r(e){return function(){var t=this,r=arguments;return new Promise(function(o,a){var c=e.apply(t,r);function i(e){n(c,o,a,i,u,"next",e)}function u(e){n(c,o,a,i,u,"throw",e)}i(undefined)})}}function o(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function a(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function c(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){o(e,t,n[t])})}return e}function u(e){return t(e)||a(e)||l(e)||c()}function s(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function l(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function f(e,t){var n,r,o,a={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},c=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return c.next=i(0),c["throw"]=i(1),c["return"]=i(2),typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function i(e){return function(t){return u([e,t])}}function u(i){if(n)throw new TypeError("Generator is already executing.");while(c&&(c=0,i[0]&&(a=0)),a)try{if(n=1,r&&(o=i[0]&2?r["return"]:i[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;if(r=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:a.label++;return{value:i[1],done:false};case 5:a.label++;r=i[1];i=[0];continue;case 7:i=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){a=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(i[0]===6&&a.label<o[1]){a.label=o[1];o=i;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(i);break}if(o[2])a.ops.pop();a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e];r=0}finally{n=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var d=Object.create;var p=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var m=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var y=function(e,t){return p(e,"name",{value:t,configurable:!0})};var _=function(e,t){for(var n in t)p(e,n,{get:t[n],enumerable:!0})},I=function(e,t,n,r){var o=true,a=false,c=undefined;if(t&&(typeof t==="undefined"?"undefined":s(t))=="object"||typeof t=="function")try{var i=function(){var o=l.value;!h.call(e,o)&&o!==n&&p(e,o,{get:function(){return t[o]},enumerable:!(r=v(t,o))||r.enumerable})};for(var u=g(t)[Symbol.iterator](),l;!(o=(l=u.next()).done);o=true)i()}catch(e){a=true;c=e}finally{try{if(!o&&u.return!=null){u.return()}}finally{if(a){throw c}}}return e};var E=function(e,t,n){return n=e!=null?d(m(e)):{},I(t||!e||!e.__esModule?p(n,"default",{value:e,enumerable:!0}):n,e)},b=function(e){return I(p({},"__esModule",{value:!0}),e)};var O={};_(O,{vitestUnit:function(){return tp}});module.exports=b(O);var S=E(require("@vitejs/plugin-react-swc"),1),C=require("vitest/config");var T=".cyberskill-storage";var w=E(require("@dotenvx/dotenvx"),1),G=require("envalid"),R=E(require("os"),1),N=E(require("path"),1),P=E(require("process"),1);var L=!1;function k(){L||(w.default.config(),L=!0)}y(k,"loadEnvFile");function j(){k();var e=(0,G.cleanEnv)(P.default.env,{CWD:(0,G.str)({default:P.default.cwd()}),DEBUG:(0,G.bool)({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:(0,G.str)({default:N.default.join(R.default.homedir(),T)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}y(j,"getEnv");var D=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var U=require("child_process"),x=E(require("process"),1),A=E(require("util"),1);var M=function(e){return e.Error="error",e.Warning="warning",e}({});var F=E(require("chalk"),1),q=E(require("consola"),1),K=require("graphql");var Y=j();Y.DEBUG||(q.default.level=4);function B(e){var t=F.default[e];return typeof t=="function"?t:F.default.green}y(B,"chalkKeyword");var W={silent:q.default.silent,level:q.default.level,fatal:q.default.fatal,error:q.default.error,warn:q.default.warn,log:q.default.log,info:q.default.info,success:q.default.success,ready:q.default.ready,start:q.default.start,box:q.default.box,debug:q.default.debug,trace:q.default.trace,verbose:q.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)){q.default.box(F.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,o=e.rule,a=e.message;q.default.log("".concat(F.default.gray("File:")," ").concat(F.default.blue("".concat(t).concat(r?":".concat(r):"")))),o&&q.default.log(" ".concat(B(n)("Rule:")," ").concat(o)),q.default.log(" ".concat(B(n)("Message:")," ").concat(a))}),q.default.box(B(n)("".concat(e," : ").concat(t.length))),q.default.log(F.default.gray("─".repeat(40)))}};var J={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var H=E(require("node-fetch"),1);var $=E(require("fs-extra"),1),V=require("path");var z=$.default,Q=z.lstatSync,X=z.readdirSync,Z=z.mkdirSync,ee=z.readFileSync,et=z.writeFileSync,en=z.appendFileSync,er=z.unlinkSync,eo=z.statSync,ea=$.default.readJsonSync,ec=$.default.writeJsonSync;function ei(){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(ei,"pathExistsSync");var eu=j();function es(e){var t=eL(eu.CWD,eA);if(!ei(t))return!1;try{var n=ea(t),r=n.name,o=n.dependencies,a=o===void 0?{}:o,c=n.devDependencies,i=c===void 0?{}:c,u=r===e,s=e in a,l=e in i;return u||s||l?{path:t,file:n,isCurrentProject:u,isDepend:s,isDevDepend:l}:!1}catch(e){return W.warn("Failed to read package.json: ".concat(e.message)),!1}}y(es,"getPackage");function el(e){return /*#__PURE__*/r(function(){var t,n,r,o;return f(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,(0,H.default)("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=a.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=a.sent(),r=n.version;return[2,r];case 3:o=a.sent();throw W.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})})()}y(el,"getLatestPackageVersion");function ef(e,t){return /*#__PURE__*/r(function(){var n,r,o,a,c,u,s,l,d,p,v,g,m,h,y,_,I,E,b,O,S;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,4,,5]);n=es(e);if(!n)return[2,i({},J)];s=n.path,l=n.file,d=n.isCurrentProject,p=n.isDepend,v=n.isDevDepend,g=(r=l.dependencies)!==null&&r!==void 0?r:{},m=(o=l.devDependencies)!==null&&o!==void 0?o:{},h=d?(a=l.version)!==null&&a!==void 0?a:"0.0.0":p?(c=g[e])!==null&&c!==void 0?c:"0.0.0":v?(u=m[e])!==null&&u!==void 0?u:"0.0.0":"0.0.0";if(!d)return[3,1];I=h;return[3,3];case 1:return[4,el(e)];case 2:I=f.sent();f.label=3;case 3:y=I,_=d||h===y;if(!_&&(t===null||t===void 0?void 0:t.update)){;b=p?"dependencies":v?"devDependencies":null;b&&((E=l[b])===null||E===void 0?void 0:E[e])!==y&&(l[b]=(O=l[b])!==null&&O!==void 0?O:{},l[b][e]=y,ec(s,l),W.info('Updated "'.concat(e,'" to version ').concat(y)))}return[2,{isCurrentProject:d,installedPath:s,file:l,isUpToDate:_}];case 4:S=f.sent();return[2,(W.error('Error checking package "'.concat(e,'": ').concat(S.message)),i({},J))];case 5:return[2]}})})()}y(ef,"checkPackage");function ed(){return /*#__PURE__*/r(function(){var e,t,n,r,o,a,c,i,u,s,l,d;return f(this,function(f){switch(f.label){case 0:e=[{command:y(function(){return td.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:y(function(){return td.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:y(function(){return td.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;f.label=1;case 1:f.trys.push([1,9,10,11]);o=e[Symbol.iterator]();f.label=2;case 2:if(!!(t=(a=o.next()).done))return[3,8];c=a.value,i=c.command,u=c.message;f.label=3;case 3:f.trys.push([3,6,,7]);return[4,i()];case 4:s=f.sent();return[4,eG("".concat(u," using: ").concat(s),s)];case 5:f.sent();return[2];case 6:l=f.sent();W.warn("Installation attempt failed: ".concat(u)),W.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=f.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&o.return!=null){o.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})})()}y(ed,"installDependencies");function ep(e,t){return /*#__PURE__*/r(function(){var n,r,o,a,c,s,l,d,p,v,g;return f(this,function(f){switch(f.label){case 0:if(!ei(ts.PACKAGE_JSON)){W.error("package.json not found. Aborting setup.");return[2]}f.label=1;case 1:f.trys.push([1,13,,14]);n=u(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return ef(e,i({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=f.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,ed()];case 3:r=f.sent();f.label=4;case 4:r;a=true,c=false,s=undefined;f.label=5;case 5:f.trys.push([5,10,11,12]);l=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();f.label=6;case 6:if(!!(a=(d=l.next()).done))return[3,9];p=d.value;return[4,p()];case 7:f.sent();f.label=8;case 8:a=true;return[3,6];case 9:return[3,12];case 10:v=f.sent();c=true;s=v;return[3,12];case 11:try{if(!a&&l.return!=null){l.return()}}finally{if(c){throw s}}return[7];case 12:return[3,14];case 13:g=f.sent();throw W.error('Failed to setup "'.concat(e.join(", "),'": ').concat(g.message)),g;case 14:return[2]}})})()}y(ep,"setupPackages");var ev=E(require("node-persist"),1);var eg=j();function em(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:e=ev.default.defaultInstance;if(e)return[3,2];return[4,ev.default.init({dir:eg.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(em,"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,em()];case 1:r.sent();return[4,ev.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(W.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,em()];case 1:r.sent();return[4,ev.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();W.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/r(function(){var t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,em()];case 1:n.sent();return[4,ev.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();W.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/r(function(){var e,t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,em()];case 1:n.sent();return[4,ev.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(W.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(W.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/r(function(){return f(this,function(t){try{return[2,"".concat(eg.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(W.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var ey=j(),e_=A.promisify(U.exec);function eI(e){return"error_list:".concat(e)}y(eI,"getErrorListKey");function eE(e){return /*#__PURE__*/r(function(){var t,n,o;return f(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];t=Date.now(),n=eI(t);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,eh.set(n,{errors:e,timestamp:t})];case 2:a.sent(),setTimeout(function(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:return[4,eh.getLogLink(n)];case 1:e=t.sent();e&&W.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:o=a.sent();W.error("Failed to save errors: ".concat(o.message));return[3,4];case 4:return[2]}})})()}y(eE,"saveErrorListToStorage");function eb(e){var t=[],n=[],r="",o=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,a=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,c=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,u,s,l,f;var d=o.exec(e)||[],p=a.exec(e)||[],v=c.exec(e)||[];var g,m,h,y,_,I;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===M.Error?M.Error:M.Warning,message:(g=d===null||d===void 0?void 0:(i=d[4])===null||i===void 0?void 0:i.trim())!==null&&g!==void 0?g:"",rule:(m=d===null||d===void 0?void 0:(u=d[5])===null||u===void 0?void 0:u.trim())!==null&&m!==void 0?m:""}):p.length?t.push({file:(h=p===null||p===void 0?void 0:p[1])!==null&&h!==void 0?h:"",position:"".concat(p[2],":").concat(p[3]),type:p[4]===M.Error?M.Error:M.Warning,message:(y=p===null||p===void 0?void 0:(s=p[5])===null||s===void 0?void 0:s.trim())!==null&&y!==void 0?y:""}):v.length?t.push({file:"commitlint",type:M.Error,message:(_=v===null||v===void 0?void 0:(l=v[1])===null||l===void 0?void 0:l.trim())!==null&&_!==void 0?_:"",rule:(I=v===null||v===void 0?void 0:(f=v[2])===null||f===void 0?void 0:f.trim())!==null&&I!==void 0?I:""}):n.push(e.trim())}}),t.length&&eE(t),ey.DEBUG&&n.length&&(W.warn("Unmatched lines:"),n.forEach(function(e){return W.info(" ".concat(e))}))}y(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,o=e.line,a=e.column,c=e.ruleId,i=e.message;n.push({type:r===2?M.Error:M.Warning,file:t,position:"".concat(o,":").concat(a),rule:c,message:i})})}),n.length&&eE(n)}catch(t){eb(e)}}y(eO,"parseCommandOutput");function eS(e){return /*#__PURE__*/r(function(e){var t,n,r,o,a,c,i,u,s;var l=arguments;return f(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:eO;n=new AbortController;x.default.on("SIGINT",function(){W.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,e_(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),o=r.stdout,a=r.stderr;[o,a].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:c=f.sent();i=c.stdout,u=c.stderr,s=c.message;[i,u].forEach(function(e){return e&&t(e)}),!u&&!i&&W.error("Command failed: ".concat(s));return[3,5];case 5:return[2]}})}).apply(this,arguments)}y(eS,"executeCommand");function eC(e){return{raw:!0,cmd:e}}y(eC,"rawCommand");function eT(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(te," ").concat(eD," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(te," ").concat(e7," ").concat(eV," ").concat(e):"".concat(te," ").concat(e$," ").concat(e)}y(eT,"formatCLI");function ew(e,t){return typeof e=="function"?eT(e(t),t):(typeof e==="undefined"?"undefined":s(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?eT(e,t):e}y(ew,"formatCommand");function eG(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);W.start("".concat(e)),ey.DEBUG&&W.info("→ ".concat(t));return[4,eS(t)];case 1:r.sent(),W.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw W.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}y(eG,"runCommand");var eR=E(require("path"),1);var eN=j();function eP(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,eR.resolve).apply(this,[eN.CWD].concat(u(t)))}y(eP,"resolveWorkingPath");function eL(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,eR.join).apply(this,u(t))}y(eL,"join");var ek=j(),ej=ek.CWD,eD="@cyberskill/shared",eU="node_modules",ex="dist",eA="package.json",eM="package-lock.json",eF="tsconfig.json",eq=".gitignore",eK=".simple-git-hooks.json",eY="pnpm-lock.yaml",eB=".git/hooks/",eW=".git/COMMIT_EDITMSG",eJ=".migrate-mongo.config.js",eH=eL(ej,eU,eD,ex),e$="cyberskill",eV="src/nodejs/cli/index.ts",ez="eslint",eQ="eslint",eX="vitest",eZ="playwright",e0="vitest",e1="@commitlint/cli",e2="commitlint",e3="lint-staged",e4="lint-staged",e5="typescript",e6="tsc",e7="tsx",e8="git",e9="pnpm",te="pnpm exec",tt="simple-git-hooks",tn="simple-git-hooks",tr="@eslint/config-inspector",to="eslint-config-inspector",ta="node-modules-inspector",tc="node-modules-inspector",ti="migrate-mongo",tu="./node_modules/migrate-mongo/bin/migrate-mongo",ts={CYBERSKILL_DIRECTORY:eH,WORKING_DIRECTORY:ej,TS_CONFIG:eP(eF),GIT_IGNORE:eP(eq),GIT_HOOK:eP(eB),GIT_COMMIT_MSG:eP(eW),SIMPLE_GIT_HOOKS_JSON:eP(eK),PACKAGE_JSON:eP(eA),PACKAGE_LOCK_JSON:eP(eM),PNPM_LOCK_YAML:eP(eY),NODE_MODULES:eP(eU),MIGRATE_MONGO_CONFIG:eP(eJ),LINT_STAGED_CONFIG:eP("".concat(eH,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:eP("".concat(eH,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:eP("".concat(eH,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eP("".concat(eH,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eP("".concat(eH,"/react/vitest/vitest.e2e.js"))};function tl(e,t,n){return /*#__PURE__*/r(function(){return f(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case D.CLI:return[3,1];case D.STRING:return[3,3]}return[3,4];case 1:return[4,ep(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),ew(eC("".concat(te," ").concat(n))))];case 3:return[2,ew(eC(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}y(tl,"buildCommand");function tf(e,t,n){return function(){return /*#__PURE__*/r(function(){return f(this,function(r){return[2,tl(e,t,n)]})})()}}y(tf,"commandFactory");var td={simpleGitHooks:tf(D.CLI,tt,tn),eslintInspect:tf(D.CLI,tr,to),nodeModulesInspect:tf(D.CLI,ta,tc),eslintCheck:tf(D.CLI,ez,"".concat(eQ," ").concat(ts.WORKING_DIRECTORY)),eslintFix:tf(D.CLI,ez,"".concat(eQ," ").concat(ts.WORKING_DIRECTORY," --fix")),typescriptCheck:tf(D.CLI,e5,"".concat(e6," -p ").concat(ts.TS_CONFIG," --noEmit")),configureGitHook:tf(D.STRING,"".concat(e8," config core.hooksPath ").concat(ts.GIT_HOOK)),testUnit:tf(D.CLI,eX,"".concat(e0," --config ").concat(ts.UNIT_TEST_CONFIG)),testE2e:tf(D.CLI,"".concat(eX," ").concat(eZ),"".concat(e0," --config ").concat(ts.E2E_TEST_CONFIG)),mongoMigrateCreate:y(function(e){return tf(D.CLI,ti,"".concat(e7," ").concat(tu," create ").concat(e," -f ").concat(ts.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tf(D.CLI,ti,"".concat(e7," ").concat(tu," up -f ").concat(ts.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tf(D.CLI,ti,"".concat(e7," ").concat(tu," down -f ").concat(ts.MIGRATE_MONGO_CONFIG)),commitLint:tf(D.CLI,e1,"".concat(e2," --edit ").concat(ts.GIT_COMMIT_MSG," --config ").concat(ts.COMMITLINT_CONFIG)),lintStaged:tf(D.CLI,e3,"".concat(e4," --config ").concat(ts.LINT_STAGED_CONFIG)),stageBuildDirectory:tf(D.STRING,"".concat(e8," add ").concat(ex)),build:tf(D.STRING,"".concat(e9," run build")),pnpmInstallStandard:tf(D.STRING,"".concat(e9," install")),pnpmInstallLegacy:tf(D.STRING,"".concat(e9," install --legacy-peer-deps")),pnpmInstallForce:tf(D.STRING,"".concat(e9," install --force"))};function tp(e){return(0,C.defineConfig)(i({plugins:[(0,S.default)()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[ts.UNIT_TEST_SETUP_CONFIG]}},e))}y(tp,"vitestUnit");0&&(module.exports={vitestUnit:vitestUnit});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(t){if(Array.isArray(t))return e(t)}function n(e,t,n,r,o,c,a){try{var i=e[c](a);var s=i.value}catch(e){n(e);return}if(i.done){t(s)}else{Promise.resolve(s).then(r,o)}}function r(e){return function(){var t=this,r=arguments;return new Promise(function(o,c){var a=e.apply(t,r);function i(e){n(a,o,c,i,s,"next",e)}function s(e){n(a,o,c,i,s,"throw",e)}i(undefined)})}}function o(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function c(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function a(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){o(e,t,n[t])})}return e}function s(e){return t(e)||c(e)||l(e)||a()}function u(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function l(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function f(e,t){var n,r,o,c={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},a=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return a.next=i(0),a["throw"]=i(1),a["return"]=i(2),typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function i(e){return function(t){return s([e,t])}}function s(i){if(n)throw new TypeError("Generator is already executing.");while(a&&(a=0,i[0]&&(c=0)),c)try{if(n=1,r&&(o=i[0]&2?r["return"]:i[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;if(r=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:c.label++;return{value:i[1],done:false};case 5:c.label++;r=i[1];i=[0];continue;case 7:i=c.ops.pop();c.trys.pop();continue;default:if(!(o=c.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){c=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){c.label=i[1];break}if(i[0]===6&&c.label<o[1]){c.label=o[1];o=i;break}if(o&&c.label<o[2]){c.label=o[2];c.ops.push(i);break}if(o[2])c.ops.pop();c.trys.pop();continue}i=t.call(e,c)}catch(e){i=[6,e];r=0}finally{n=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var d=Object.defineProperty;var p=function(e,t){return d(e,"name",{value:t,configurable:!0})};import m from"@vitejs/plugin-react-swc";import{defineConfig as g}from"vitest/config";var v=".cyberskill-storage";import h from"@dotenvx/dotenvx";import{bool as y,cleanEnv as _,str as I}from"envalid";import E from"node:os";import b from"node:path";import C from"node:process";function S(){h.config()}p(S,"loadEnvFile");function O(){S();var e=_(C.env,{CWD:I({default:C.cwd()}),DEBUG:y({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:I({default:b.join(E.homedir(),v)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}p(O,"getEnv");var T=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as w}from"node:child_process";import G from"node:process";import*as R from"node:util";var N=function(e){return e.Error="error",e.Warning="warning",e}({});import L from"chalk";import k from"consola";import{GraphQLError as P}from"graphql";var D=O();D.DEBUG||(k.level=4);function U(e){var t=L[e];return typeof t=="function"?t:L.green}p(U,"chalkKeyword");var j={silent:k.silent,level:k.level,fatal:k.fatal,error:k.error,warn:k.warn,log:k.log,info:k.info,success:k.success,ready:k.ready,start:k.start,box:k.box,debug:k.debug,trace:k.trace,verbose:k.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){k.box(L.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,o=e.rule,c=e.message;k.log("".concat(L.gray("File:")," ").concat(L.blue("".concat(t).concat(r?":".concat(r):"")))),o&&k.log(" ".concat(U(n)("Rule:")," ").concat(o)),k.log(" ".concat(U(n)("Message:")," ").concat(c))}),k.box(U(n)("".concat(e," : ").concat(t.length))),k.log(L.gray("─".repeat(40)))}};var A={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};import x from"node-fetch";import F from"fs-extra";var M=F.lstatSync,K=F.readdirSync,Y=F.mkdirSync,B=F.readFileSync,W=F.writeFileSync,J=F.appendFileSync,H=F.unlinkSync,$=F.statSync,q=F.readJsonSync,Q=F.writeJsonSync;function V(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return F.pathExistsSync(e)})}p(V,"pathExistsSync");var z=O();function X(e){var t=eC(z.CWD,eR);if(!V(t))return!1;try{var n=q(t),r=n.name,o=n.dependencies,c=o===void 0?{}:o,a=n.devDependencies,i=a===void 0?{}:a,s=r===e,u=e in c,l=e in i;return s||u||l?{path:t,file:n,isCurrentProject:s,isDepend:u,isDevDepend:l}:!1}catch(e){return j.warn("Failed to read package.json: ".concat(e.message)),!1}}p(X,"getPackage");function Z(e){return /*#__PURE__*/r(function(){var t,n,r,o;return f(this,function(c){switch(c.label){case 0:c.trys.push([0,3,,4]);return[4,x("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=c.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=c.sent(),r=n.version;return[2,r];case 3:o=c.sent();throw j.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})})()}p(Z,"getLatestPackageVersion");function ee(e,t){return /*#__PURE__*/r(function(){var n,r,o,c,a,s,u,l,d,p,m,g,v,h,y,_,I,E,b,C,S;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,4,,5]);n=X(e);if(!n)return[2,i({},A)];u=n.path,l=n.file,d=n.isCurrentProject,p=n.isDepend,m=n.isDevDepend,g=(r=l.dependencies)!==null&&r!==void 0?r:{},v=(o=l.devDependencies)!==null&&o!==void 0?o:{},h=d?(c=l.version)!==null&&c!==void 0?c:"0.0.0":p?(a=g[e])!==null&&a!==void 0?a:"0.0.0":m?(s=v[e])!==null&&s!==void 0?s:"0.0.0":"0.0.0";if(!d)return[3,1];I=h;return[3,3];case 1:return[4,Z(e)];case 2:I=f.sent();f.label=3;case 3:y=I,_=d||h===y;if(!_&&(t===null||t===void 0?void 0:t.update)){;b=p?"dependencies":m?"devDependencies":null;b&&((E=l[b])===null||E===void 0?void 0:E[e])!==y&&(l[b]=(C=l[b])!==null&&C!==void 0?C:{},l[b][e]=y,Q(u,l),j.info('Updated "'.concat(e,'" to version ').concat(y)))}return[2,{isCurrentProject:d,installedPath:u,file:l,isUpToDate:_}];case 4:S=f.sent();return[2,(j.error('Error checking package "'.concat(e,'": ').concat(S.message)),i({},A))];case 5:return[2]}})})()}p(ee,"checkPackage");function et(){return /*#__PURE__*/r(function(){var e,t,n,r,o,c,a,i,s,u,l,d;return f(this,function(f){switch(f.label){case 0:e=[{command:p(function(){return tr.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:p(function(){return tr.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:p(function(){return tr.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;f.label=1;case 1:f.trys.push([1,9,10,11]);o=e[Symbol.iterator]();f.label=2;case 2:if(!!(t=(c=o.next()).done))return[3,8];a=c.value,i=a.command,s=a.message;f.label=3;case 3:f.trys.push([3,6,,7]);return[4,i()];case 4:u=f.sent();return[4,eh("".concat(s," using: ").concat(u),u)];case 5:f.sent();return[2];case 6:l=f.sent();j.warn("Installation attempt failed: ".concat(s)),j.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=f.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&o.return!=null){o.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})})()}p(et,"installDependencies");function en(e,t){return /*#__PURE__*/r(function(){var n,r,o,c,a,u,l,d,p,m,g;return f(this,function(f){switch(f.label){case 0:if(!V(te.PACKAGE_JSON)){j.error("package.json not found. Aborting setup.");return[2]}f.label=1;case 1:f.trys.push([1,13,,14]);n=s(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return ee(e,i({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=f.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,et()];case 3:r=f.sent();f.label=4;case 4:r;c=true,a=false,u=undefined;f.label=5;case 5:f.trys.push([5,10,11,12]);l=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();f.label=6;case 6:if(!!(c=(d=l.next()).done))return[3,9];p=d.value;return[4,p()];case 7:f.sent();f.label=8;case 8:c=true;return[3,6];case 9:return[3,12];case 10:m=f.sent();a=true;u=m;return[3,12];case 11:try{if(!c&&l.return!=null){l.return()}}finally{if(a){throw u}}return[7];case 12:return[3,14];case 13:g=f.sent();throw j.error('Failed to setup "'.concat(e.join(", "),'": ').concat(g.message)),g;case 14:return[2]}})})()}p(en,"setupPackages");import er from"node-persist";var eo=O();function ec(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:e=er.defaultInstance;if(e)return[3,2];return[4,er.init({dir:eo.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})})()}p(ec,"initNodePersist");var ea={get:function e(e){return /*#__PURE__*/r(function(){var t,n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ec()];case 1:r.sent();return[4,er.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(j.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ec()];case 1:r.sent();return[4,er.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();j.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/r(function(){var t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ec()];case 1:n.sent();return[4,er.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();j.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/r(function(){var e,t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ec()];case 1:n.sent();return[4,er.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(j.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(j.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/r(function(){return f(this,function(t){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=R.promisify(w);function eu(e){return"error_list:".concat(e)}p(eu,"getErrorListKey");function el(e){return /*#__PURE__*/r(function(){var t,n,o;return f(this,function(c){switch(c.label){case 0:if(e.length===0)return[2];t=Date.now(),n=eu(t);c.label=1;case 1:c.trys.push([1,3,,4]);return[4,ea.set(n,{errors:e,timestamp:t})];case 2:c.sent(),setTimeout(function(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:return[4,ea.getLogLink(n)];case 1:e=t.sent();e&&j.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:o=c.sent();j.error("Failed to save errors: ".concat(o.message));return[3,4];case 4:return[2]}})})()}p(el,"saveErrorListToStorage");function ef(e){var t=[],n=[],r="",o=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,c=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,a=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,s,u,l,f;var d=o.exec(e)||[],p=c.exec(e)||[],m=a.exec(e)||[];var g,v,h,y,_,I;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===N.Error?N.Error:N.Warning,message:(g=d===null||d===void 0?void 0:(i=d[4])===null||i===void 0?void 0:i.trim())!==null&&g!==void 0?g:"",rule:(v=d===null||d===void 0?void 0:(s=d[5])===null||s===void 0?void 0:s.trim())!==null&&v!==void 0?v:""}):p.length?t.push({file:(h=p===null||p===void 0?void 0:p[1])!==null&&h!==void 0?h:"",position:"".concat(p[2],":").concat(p[3]),type:p[4]===N.Error?N.Error:N.Warning,message:(y=p===null||p===void 0?void 0:(u=p[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):m.length?t.push({file:"commitlint",type:N.Error,message:(_=m===null||m===void 0?void 0:(l=m[1])===null||l===void 0?void 0:l.trim())!==null&&_!==void 0?_:"",rule:(I=m===null||m===void 0?void 0:(f=m[2])===null||f===void 0?void 0:f.trim())!==null&&I!==void 0?I:""}):n.push(e.trim())}}),t.length&&el(t),ei.DEBUG&&n.length&&(j.warn("Unmatched lines:"),n.forEach(function(e){return j.info(" ".concat(e))}))}p(ef,"parseTextErrors");function ed(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,o=e.line,c=e.column,a=e.ruleId,i=e.message;n.push({type:r===2?N.Error:N.Warning,file:t,position:"".concat(o,":").concat(c),rule:a,message:i})})}),n.length&&el(n)}catch(t){ef(e)}}p(ed,"parseCommandOutput");function ep(e){return /*#__PURE__*/r(function(e){var t,n,r,o,c,a,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]:ed;n=new AbortController;G.on("SIGINT",function(){j.warn("Process interrupted. Terminating..."),n.abort(),G.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,es(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),o=r.stdout,c=r.stderr;[o,c].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:a=f.sent();i=a.stdout,s=a.stderr,u=a.message;[i,s].forEach(function(e){return e&&t(e)}),!s&&!i&&j.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}p(ep,"executeCommand");function em(e){return{raw:!0,cmd:e}}p(em,"rawCommand");function eg(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(e1," ").concat(eT," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(e1," ").concat(eX," ").concat(eM," ").concat(e):"".concat(e1," ").concat(eF," ").concat(e)}p(eg,"formatCLI");function ev(e,t){return typeof e=="function"?eg(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"?eg(e,t):e}p(ev,"formatCommand");function eh(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)),ei.DEBUG&&j.info("→ ".concat(t));return[4,ep(t)];case 1:r.sent(),j.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw j.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}p(eh,"runCommand");import ey,{join as e_,resolve as eI}from"node:path";var eE=O();function eb(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return eI.apply(void 0,[eE.CWD].concat(s(t)))}p(eb,"resolveWorkingPath");function eC(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return e_.apply(void 0,s(t))}p(eC,"join");var eS=O(),eO=eS.CWD,eT="@cyberskill/shared",ew="node_modules",eG="dist",eR="package.json",eN="package-lock.json",eL="tsconfig.json",ek=".gitignore",eP=".simple-git-hooks.json",eD="pnpm-lock.yaml",eU=".git/hooks/",ej=".git/COMMIT_EDITMSG",eA=".migrate-mongo.config.js",ex=eC(eO,ew,eT,eG),eF="cyberskill",eM="src/nodejs/cli/index.ts",eK="eslint",eY="eslint",eB="vitest",eW="playwright",eJ="vitest",eH="@commitlint/cli",e$="commitlint",eq="lint-staged",eQ="lint-staged",eV="typescript",ez="tsc",eX="tsx",eZ="git",e0="pnpm",e1="pnpm exec",e2="simple-git-hooks",e3="simple-git-hooks",e4="@eslint/config-inspector",e5="eslint-config-inspector",e6="node-modules-inspector",e7="node-modules-inspector",e8="migrate-mongo",e9="./node_modules/migrate-mongo/bin/migrate-mongo",te={CYBERSKILL_DIRECTORY:ex,WORKING_DIRECTORY:eO,TS_CONFIG:eb(eL),GIT_IGNORE:eb(ek),GIT_HOOK:eb(eU),GIT_COMMIT_MSG:eb(ej),SIMPLE_GIT_HOOKS_JSON:eb(eP),PACKAGE_JSON:eb(eR),PACKAGE_LOCK_JSON:eb(eN),PNPM_LOCK_YAML:eb(eD),NODE_MODULES:eb(ew),MIGRATE_MONGO_CONFIG:eb(eA),LINT_STAGED_CONFIG:eb("".concat(ex,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:eb("".concat(ex,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:eb("".concat(ex,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eb("".concat(ex,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eb("".concat(ex,"/react/vitest/vitest.e2e.js"))};function tt(e,t,n){return /*#__PURE__*/r(function(){return f(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case T.CLI:return[3,1];case T.STRING:return[3,3]}return[3,4];case 1:return[4,en(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),ev(em("".concat(e1," ").concat(n))))];case 3:return[2,ev(em(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}p(tt,"buildCommand");function tn(e,t,n){return function(){return /*#__PURE__*/r(function(){return f(this,function(r){return[2,tt(e,t,n)]})})()}}p(tn,"commandFactory");var tr={simpleGitHooks:tn(T.CLI,e2,e3),eslintInspect:tn(T.CLI,e4,e5),nodeModulesInspect:tn(T.CLI,e6,e7),eslintCheck:tn(T.CLI,eK,"".concat(eY," ").concat(te.WORKING_DIRECTORY)),eslintFix:tn(T.CLI,eK,"".concat(eY," ").concat(te.WORKING_DIRECTORY," --fix")),typescriptCheck:tn(T.CLI,eV,"".concat(ez," -p ").concat(te.TS_CONFIG," --noEmit")),configureGitHook:tn(T.STRING,"".concat(eZ," config core.hooksPath ").concat(te.GIT_HOOK)),testUnit:tn(T.CLI,eB,"".concat(eJ," --config ").concat(te.UNIT_TEST_CONFIG)),testE2e:tn(T.CLI,"".concat(eB," ").concat(eW),"".concat(eJ," --config ").concat(te.E2E_TEST_CONFIG)),mongoMigrateCreate:p(function(e){return tn(T.CLI,e8,"".concat(eX," ").concat(e9," create ").concat(e," -f ").concat(te.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tn(T.CLI,e8,"".concat(eX," ").concat(e9," up -f ").concat(te.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tn(T.CLI,e8,"".concat(eX," ").concat(e9," down -f ").concat(te.MIGRATE_MONGO_CONFIG)),commitLint:tn(T.CLI,eH,"".concat(e$," --edit ").concat(te.GIT_COMMIT_MSG," --config ").concat(te.COMMITLINT_CONFIG)),lintStaged:tn(T.CLI,eq,"".concat(eQ," --config ").concat(te.LINT_STAGED_CONFIG)),stageBuildDirectory:tn(T.STRING,"".concat(eZ," add ").concat(eG)),build:tn(T.STRING,"".concat(e0," run build")),pnpmInstallStandard:tn(T.STRING,"".concat(e0," install")),pnpmInstallLegacy:tn(T.STRING,"".concat(e0," install --legacy-peer-deps")),pnpmInstallForce:tn(T.STRING,"".concat(e0," install --force"))};function to(e){return g(i({plugins:[m()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[te.UNIT_TEST_SETUP_CONFIG]}},e))}p(to,"vitestUnit");export{to as vitestUnit};
|
|
1
|
+
function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(t){if(Array.isArray(t))return e(t)}function n(e,t,n,r,o,c,a){try{var i=e[c](a);var s=i.value}catch(e){n(e);return}if(i.done){t(s)}else{Promise.resolve(s).then(r,o)}}function r(e){return function(){var t=this,r=arguments;return new Promise(function(o,c){var a=e.apply(t,r);function i(e){n(a,o,c,i,s,"next",e)}function s(e){n(a,o,c,i,s,"throw",e)}i(undefined)})}}function o(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function c(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function a(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){o(e,t,n[t])})}return e}function s(e){return t(e)||c(e)||l(e)||a()}function u(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function l(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function f(e,t){var n,r,o,c={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},a=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return a.next=i(0),a["throw"]=i(1),a["return"]=i(2),typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function i(e){return function(t){return s([e,t])}}function s(i){if(n)throw new TypeError("Generator is already executing.");while(a&&(a=0,i[0]&&(c=0)),c)try{if(n=1,r&&(o=i[0]&2?r["return"]:i[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;if(r=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:c.label++;return{value:i[1],done:false};case 5:c.label++;r=i[1];i=[0];continue;case 7:i=c.ops.pop();c.trys.pop();continue;default:if(!(o=c.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){c=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){c.label=i[1];break}if(i[0]===6&&c.label<o[1]){c.label=o[1];o=i;break}if(o&&c.label<o[2]){c.label=o[2];c.ops.push(i);break}if(o[2])c.ops.pop();c.trys.pop();continue}i=t.call(e,c)}catch(e){i=[6,e];r=0}finally{n=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var d=Object.defineProperty;var p=function(e,t){return d(e,"name",{value:t,configurable:!0})};import m from"@vitejs/plugin-react-swc";import{defineConfig as g}from"vitest/config";var v=".cyberskill-storage";import h from"@dotenvx/dotenvx";import{bool as y,cleanEnv as _,str as I}from"envalid";import E from"node:os";import b from"node:path";import C from"node:process";var S=!1;function O(){S||(h.config(),S=!0)}p(O,"loadEnvFile");function T(){O();var e=_(C.env,{CWD:I({default:C.cwd()}),DEBUG:y({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:I({default:b.join(E.homedir(),v)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}p(T,"getEnv");var w=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as G}from"node:child_process";import R from"node:process";import*as N from"node:util";var L=function(e){return e.Error="error",e.Warning="warning",e}({});import k from"chalk";import P from"consola";import{GraphQLError as D}from"graphql";var U=T();U.DEBUG||(P.level=4);function j(e){var t=k[e];return typeof t=="function"?t:k.green}p(j,"chalkKeyword");var A={silent:P.silent,level:P.level,fatal:P.fatal,error:P.error,warn:P.warn,log:P.log,info:P.info,success:P.success,ready:P.ready,start:P.start,box:P.box,debug:P.debug,trace:P.trace,verbose:P.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){P.box(k.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,o=e.rule,c=e.message;P.log("".concat(k.gray("File:")," ").concat(k.blue("".concat(t).concat(r?":".concat(r):"")))),o&&P.log(" ".concat(j(n)("Rule:")," ").concat(o)),P.log(" ".concat(j(n)("Message:")," ").concat(c))}),P.box(j(n)("".concat(e," : ").concat(t.length))),P.log(k.gray("─".repeat(40)))}};var x={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};import F from"node-fetch";import M from"fs-extra";var K=M.lstatSync,Y=M.readdirSync,B=M.mkdirSync,W=M.readFileSync,J=M.writeFileSync,H=M.appendFileSync,$=M.unlinkSync,q=M.statSync,Q=M.readJsonSync,V=M.writeJsonSync;function z(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return M.pathExistsSync(e)})}p(z,"pathExistsSync");var X=T();function Z(e){var t=eS(X.CWD,eN);if(!z(t))return!1;try{var n=Q(t),r=n.name,o=n.dependencies,c=o===void 0?{}:o,a=n.devDependencies,i=a===void 0?{}:a,s=r===e,u=e in c,l=e in i;return s||u||l?{path:t,file:n,isCurrentProject:s,isDepend:u,isDevDepend:l}:!1}catch(e){return A.warn("Failed to read package.json: ".concat(e.message)),!1}}p(Z,"getPackage");function ee(e){return /*#__PURE__*/r(function(){var t,n,r,o;return f(this,function(c){switch(c.label){case 0:c.trys.push([0,3,,4]);return[4,F("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=c.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=c.sent(),r=n.version;return[2,r];case 3:o=c.sent();throw A.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})})()}p(ee,"getLatestPackageVersion");function et(e,t){return /*#__PURE__*/r(function(){var n,r,o,c,a,s,u,l,d,p,m,g,v,h,y,_,I,E,b,C,S;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,4,,5]);n=Z(e);if(!n)return[2,i({},x)];u=n.path,l=n.file,d=n.isCurrentProject,p=n.isDepend,m=n.isDevDepend,g=(r=l.dependencies)!==null&&r!==void 0?r:{},v=(o=l.devDependencies)!==null&&o!==void 0?o:{},h=d?(c=l.version)!==null&&c!==void 0?c:"0.0.0":p?(a=g[e])!==null&&a!==void 0?a:"0.0.0":m?(s=v[e])!==null&&s!==void 0?s:"0.0.0":"0.0.0";if(!d)return[3,1];I=h;return[3,3];case 1:return[4,ee(e)];case 2:I=f.sent();f.label=3;case 3:y=I,_=d||h===y;if(!_&&(t===null||t===void 0?void 0:t.update)){;b=p?"dependencies":m?"devDependencies":null;b&&((E=l[b])===null||E===void 0?void 0:E[e])!==y&&(l[b]=(C=l[b])!==null&&C!==void 0?C:{},l[b][e]=y,V(u,l),A.info('Updated "'.concat(e,'" to version ').concat(y)))}return[2,{isCurrentProject:d,installedPath:u,file:l,isUpToDate:_}];case 4:S=f.sent();return[2,(A.error('Error checking package "'.concat(e,'": ').concat(S.message)),i({},x))];case 5:return[2]}})})()}p(et,"checkPackage");function en(){return /*#__PURE__*/r(function(){var e,t,n,r,o,c,a,i,s,u,l,d;return f(this,function(f){switch(f.label){case 0:e=[{command:p(function(){return to.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:p(function(){return to.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:p(function(){return to.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;f.label=1;case 1:f.trys.push([1,9,10,11]);o=e[Symbol.iterator]();f.label=2;case 2:if(!!(t=(c=o.next()).done))return[3,8];a=c.value,i=a.command,s=a.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();A.warn("Installation attempt failed: ".concat(s)),A.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=f.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&o.return!=null){o.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})})()}p(en,"installDependencies");function er(e,t){return /*#__PURE__*/r(function(){var n,r,o,c,a,u,l,d,p,m,g;return f(this,function(f){switch(f.label){case 0:if(!z(tt.PACKAGE_JSON)){A.error("package.json not found. Aborting setup.");return[2]}f.label=1;case 1:f.trys.push([1,13,,14]);n=s(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return et(e,i({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=f.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,en()];case 3:r=f.sent();f.label=4;case 4:r;c=true,a=false,u=undefined;f.label=5;case 5:f.trys.push([5,10,11,12]);l=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();f.label=6;case 6:if(!!(c=(d=l.next()).done))return[3,9];p=d.value;return[4,p()];case 7:f.sent();f.label=8;case 8:c=true;return[3,6];case 9:return[3,12];case 10:m=f.sent();a=true;u=m;return[3,12];case 11:try{if(!c&&l.return!=null){l.return()}}finally{if(a){throw u}}return[7];case 12:return[3,14];case 13:g=f.sent();throw A.error('Failed to setup "'.concat(e.join(", "),'": ').concat(g.message)),g;case 14:return[2]}})})()}p(er,"setupPackages");import eo from"node-persist";var ec=T();function ea(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:e=eo.defaultInstance;if(e)return[3,2];return[4,eo.init({dir:ec.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})})()}p(ea,"initNodePersist");var ei={get:function e(e){return /*#__PURE__*/r(function(){var t,n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ea()];case 1:r.sent();return[4,eo.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(A.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ea()];case 1:r.sent();return[4,eo.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();A.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/r(function(){var t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ea()];case 1:n.sent();return[4,eo.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();A.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/r(function(){var e,t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ea()];case 1:n.sent();return[4,eo.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(A.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(A.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/r(function(){return f(this,function(t){try{return[2,"".concat(ec.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(A.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var es=T(),eu=N.promisify(G);function el(e){return"error_list:".concat(e)}p(el,"getErrorListKey");function ef(e){return /*#__PURE__*/r(function(){var t,n,o;return f(this,function(c){switch(c.label){case 0:if(e.length===0)return[2];t=Date.now(),n=el(t);c.label=1;case 1:c.trys.push([1,3,,4]);return[4,ei.set(n,{errors:e,timestamp:t})];case 2:c.sent(),setTimeout(function(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:return[4,ei.getLogLink(n)];case 1:e=t.sent();e&&A.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:o=c.sent();A.error("Failed to save errors: ".concat(o.message));return[3,4];case 4:return[2]}})})()}p(ef,"saveErrorListToStorage");function ed(e){var t=[],n=[],r="",o=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,c=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,a=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,s,u,l,f;var d=o.exec(e)||[],p=c.exec(e)||[],m=a.exec(e)||[];var g,v,h,y,_,I;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===L.Error?L.Error:L.Warning,message:(g=d===null||d===void 0?void 0:(i=d[4])===null||i===void 0?void 0:i.trim())!==null&&g!==void 0?g:"",rule:(v=d===null||d===void 0?void 0:(s=d[5])===null||s===void 0?void 0:s.trim())!==null&&v!==void 0?v:""}):p.length?t.push({file:(h=p===null||p===void 0?void 0:p[1])!==null&&h!==void 0?h:"",position:"".concat(p[2],":").concat(p[3]),type:p[4]===L.Error?L.Error:L.Warning,message:(y=p===null||p===void 0?void 0:(u=p[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):m.length?t.push({file:"commitlint",type:L.Error,message:(_=m===null||m===void 0?void 0:(l=m[1])===null||l===void 0?void 0:l.trim())!==null&&_!==void 0?_:"",rule:(I=m===null||m===void 0?void 0:(f=m[2])===null||f===void 0?void 0:f.trim())!==null&&I!==void 0?I:""}):n.push(e.trim())}}),t.length&&ef(t),es.DEBUG&&n.length&&(A.warn("Unmatched lines:"),n.forEach(function(e){return A.info(" ".concat(e))}))}p(ed,"parseTextErrors");function ep(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,o=e.line,c=e.column,a=e.ruleId,i=e.message;n.push({type:r===2?L.Error:L.Warning,file:t,position:"".concat(o,":").concat(c),rule:a,message:i})})}),n.length&&ef(n)}catch(t){ed(e)}}p(ep,"parseCommandOutput");function em(e){return /*#__PURE__*/r(function(e){var t,n,r,o,c,a,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]:ep;n=new AbortController;R.on("SIGINT",function(){A.warn("Process interrupted. Terminating..."),n.abort(),R.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,eu(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),o=r.stdout,c=r.stderr;[o,c].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:a=f.sent();i=a.stdout,s=a.stderr,u=a.message;[i,s].forEach(function(e){return e&&t(e)}),!s&&!i&&A.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}p(em,"executeCommand");function eg(e){return{raw:!0,cmd:e}}p(eg,"rawCommand");function ev(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(e2," ").concat(ew," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(e2," ").concat(eZ," ").concat(eK," ").concat(e):"".concat(e2," ").concat(eM," ").concat(e)}p(ev,"formatCLI");function eh(e,t){return typeof e=="function"?ev(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"?ev(e,t):e}p(eh,"formatCommand");function ey(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);A.start("".concat(e)),es.DEBUG&&A.info("→ ".concat(t));return[4,em(t)];case 1:r.sent(),A.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw A.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}p(ey,"runCommand");import e_,{join as eI,resolve as eE}from"node:path";var eb=T();function eC(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return eE.apply(void 0,[eb.CWD].concat(s(t)))}p(eC,"resolveWorkingPath");function eS(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return eI.apply(void 0,s(t))}p(eS,"join");var eO=T(),eT=eO.CWD,ew="@cyberskill/shared",eG="node_modules",eR="dist",eN="package.json",eL="package-lock.json",ek="tsconfig.json",eP=".gitignore",eD=".simple-git-hooks.json",eU="pnpm-lock.yaml",ej=".git/hooks/",eA=".git/COMMIT_EDITMSG",ex=".migrate-mongo.config.js",eF=eS(eT,eG,ew,eR),eM="cyberskill",eK="src/nodejs/cli/index.ts",eY="eslint",eB="eslint",eW="vitest",eJ="playwright",eH="vitest",e$="@commitlint/cli",eq="commitlint",eQ="lint-staged",eV="lint-staged",ez="typescript",eX="tsc",eZ="tsx",e0="git",e1="pnpm",e2="pnpm exec",e3="simple-git-hooks",e4="simple-git-hooks",e5="@eslint/config-inspector",e6="eslint-config-inspector",e7="node-modules-inspector",e8="node-modules-inspector",e9="migrate-mongo",te="./node_modules/migrate-mongo/bin/migrate-mongo",tt={CYBERSKILL_DIRECTORY:eF,WORKING_DIRECTORY:eT,TS_CONFIG:eC(ek),GIT_IGNORE:eC(eP),GIT_HOOK:eC(ej),GIT_COMMIT_MSG:eC(eA),SIMPLE_GIT_HOOKS_JSON:eC(eD),PACKAGE_JSON:eC(eN),PACKAGE_LOCK_JSON:eC(eL),PNPM_LOCK_YAML:eC(eU),NODE_MODULES:eC(eG),MIGRATE_MONGO_CONFIG:eC(ex),LINT_STAGED_CONFIG:eC("".concat(eF,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:eC("".concat(eF,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:eC("".concat(eF,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eC("".concat(eF,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eC("".concat(eF,"/react/vitest/vitest.e2e.js"))};function tn(e,t,n){return /*#__PURE__*/r(function(){return f(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case w.CLI:return[3,1];case w.STRING:return[3,3]}return[3,4];case 1:return[4,er(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),eh(eg("".concat(e2," ").concat(n))))];case 3:return[2,eh(eg(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}p(tn,"buildCommand");function tr(e,t,n){return function(){return /*#__PURE__*/r(function(){return f(this,function(r){return[2,tn(e,t,n)]})})()}}p(tr,"commandFactory");var to={simpleGitHooks:tr(w.CLI,e3,e4),eslintInspect:tr(w.CLI,e5,e6),nodeModulesInspect:tr(w.CLI,e7,e8),eslintCheck:tr(w.CLI,eY,"".concat(eB," ").concat(tt.WORKING_DIRECTORY)),eslintFix:tr(w.CLI,eY,"".concat(eB," ").concat(tt.WORKING_DIRECTORY," --fix")),typescriptCheck:tr(w.CLI,ez,"".concat(eX," -p ").concat(tt.TS_CONFIG," --noEmit")),configureGitHook:tr(w.STRING,"".concat(e0," config core.hooksPath ").concat(tt.GIT_HOOK)),testUnit:tr(w.CLI,eW,"".concat(eH," --config ").concat(tt.UNIT_TEST_CONFIG)),testE2e:tr(w.CLI,"".concat(eW," ").concat(eJ),"".concat(eH," --config ").concat(tt.E2E_TEST_CONFIG)),mongoMigrateCreate:p(function(e){return tr(w.CLI,e9,"".concat(eZ," ").concat(te," create ").concat(e," -f ").concat(tt.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tr(w.CLI,e9,"".concat(eZ," ").concat(te," up -f ").concat(tt.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tr(w.CLI,e9,"".concat(eZ," ").concat(te," down -f ").concat(tt.MIGRATE_MONGO_CONFIG)),commitLint:tr(w.CLI,e$,"".concat(eq," --edit ").concat(tt.GIT_COMMIT_MSG," --config ").concat(tt.COMMITLINT_CONFIG)),lintStaged:tr(w.CLI,eQ,"".concat(eV," --config ").concat(tt.LINT_STAGED_CONFIG)),stageBuildDirectory:tr(w.STRING,"".concat(e0," add ").concat(eR)),build:tr(w.STRING,"".concat(e1," run build")),pnpmInstallStandard:tr(w.STRING,"".concat(e1," install")),pnpmInstallLegacy:tr(w.STRING,"".concat(e1," install --legacy-peer-deps")),pnpmInstallForce:tr(w.STRING,"".concat(e1," install --force"))};function tc(e){return g(i({plugins:[m()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[tt.UNIT_TEST_SETUP_CONFIG]}},e))}p(tc,"vitestUnit");export{tc as vitestUnit};
|