@cyberskill/shared 1.174.0 → 1.176.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/_tsup-dts-rollup.d.cts +25 -5
  2. package/dist/_tsup-dts-rollup.d.ts +25 -5
  3. package/dist/config/config.util.cjs +1 -1
  4. package/dist/config/config.util.js +1 -1
  5. package/dist/config/index.cjs +1 -1
  6. package/dist/config/index.d.cts +1 -0
  7. package/dist/config/index.d.ts +1 -0
  8. package/dist/config/index.js +1 -1
  9. package/dist/config/vitest/index.cjs +1 -1
  10. package/dist/config/vitest/index.d.cts +1 -0
  11. package/dist/config/vitest/index.d.ts +1 -0
  12. package/dist/config/vitest/index.js +1 -1
  13. package/dist/config/vitest/storybook/index.cjs +1 -0
  14. package/dist/config/vitest/storybook/index.d.cts +1 -0
  15. package/dist/config/vitest/storybook/index.d.ts +1 -0
  16. package/dist/config/vitest/storybook/index.js +1 -0
  17. package/dist/config/vitest/storybook/nextjs/index.cjs +1 -0
  18. package/dist/config/vitest/storybook/nextjs/index.d.cts +1 -0
  19. package/dist/config/vitest/storybook/nextjs/index.d.ts +1 -0
  20. package/dist/config/vitest/storybook/nextjs/index.js +1 -0
  21. package/dist/config/vitest/storybook/nextjs/main.cjs +1 -0
  22. package/dist/config/vitest/storybook/nextjs/main.d.cts +1 -0
  23. package/dist/config/vitest/storybook/nextjs/main.d.ts +1 -0
  24. package/dist/config/vitest/storybook/nextjs/main.js +1 -0
  25. package/dist/config/vitest/storybook/nextjs/preview.cjs +1 -0
  26. package/dist/config/vitest/storybook/nextjs/preview.d.cts +1 -0
  27. package/dist/config/vitest/storybook/nextjs/preview.d.ts +1 -0
  28. package/dist/config/vitest/storybook/nextjs/preview.js +1 -0
  29. package/dist/config/vitest/storybook/nextjs/vitest.setup.cjs +1 -0
  30. package/dist/config/vitest/storybook/nextjs/vitest.setup.d.cts +1 -0
  31. package/dist/config/vitest/storybook/nextjs/vitest.setup.d.ts +1 -0
  32. package/dist/config/vitest/storybook/nextjs/vitest.setup.js +1 -0
  33. package/dist/config/vitest/vitest.unit.cjs +1 -1
  34. package/dist/config/vitest/vitest.unit.js +1 -1
  35. package/dist/node/cli/cli.util.cjs +1 -1
  36. package/dist/node/cli/cli.util.js +1 -1
  37. package/dist/node/cli/index.cjs +1 -1
  38. package/dist/node/cli/index.js +1 -1
  39. package/dist/node/command/command.util.cjs +1 -1
  40. package/dist/node/command/command.util.js +1 -1
  41. package/dist/node/command/index.cjs +1 -1
  42. package/dist/node/command/index.js +1 -1
  43. package/dist/node/index.cjs +1 -1
  44. package/dist/node/index.d.cts +1 -0
  45. package/dist/node/index.d.ts +1 -0
  46. package/dist/node/index.js +1 -1
  47. package/dist/node/mongo/index.cjs +1 -1
  48. package/dist/node/mongo/index.js +1 -1
  49. package/dist/node/mongo/mongo.util.cjs +1 -1
  50. package/dist/node/mongo/mongo.util.js +1 -1
  51. package/dist/node/package/index.cjs +1 -1
  52. package/dist/node/package/index.js +1 -1
  53. package/dist/node/package/package.util.cjs +1 -1
  54. package/dist/node/package/package.util.js +1 -1
  55. package/dist/node/path/index.cjs +1 -1
  56. package/dist/node/path/index.d.cts +1 -0
  57. package/dist/node/path/index.d.ts +1 -0
  58. package/dist/node/path/index.js +1 -1
  59. package/dist/node/path/path.constant.cjs +1 -1
  60. package/dist/node/path/path.constant.d.cts +1 -0
  61. package/dist/node/path/path.constant.d.ts +1 -0
  62. package/dist/node/path/path.constant.js +1 -1
  63. package/package.json +28 -18
@@ -1 +1 @@
1
- function e(e,n){if(n==null||n>e.length)n=e.length;for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function n(n){if(Array.isArray(n))return e(n)}function t(e,n,t,r,a,o,s){try{var i=e[o](s);var c=i.value}catch(e){t(e);return}if(i.done){n(c)}else{Promise.resolve(c).then(r,a)}}function r(e){return function(){var n=this,r=arguments;return new Promise(function(a,o){var s=e.apply(n,r);function i(e){t(s,a,o,i,c,"next",e)}function c(e){t(s,a,o,i,c,"throw",e)}i(undefined)})}}function a(e,n,t){if(n in e){Object.defineProperty(e,n,{value:t,enumerable:true,configurable:true,writable:true})}else{e[n]=t}return e}function o(e,n){if(n!=null&&typeof Symbol!=="undefined"&&n[Symbol.hasInstance]){return!!n[Symbol.hasInstance](e)}else{return e instanceof n}}function s(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function i(){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 c(e){for(var n=1;n<arguments.length;n++){var t=arguments[n]!=null?arguments[n]:{};var r=Object.keys(t);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))}r.forEach(function(n){a(e,n,t[n])})}return e}function u(e){return n(e)||s(e)||l(e)||i()}function E(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function l(n,t){if(!n)return;if(typeof n==="string")return e(n,t);var r=Object.prototype.toString.call(n).slice(8,-1);if(r==="Object"&&n.constructor)r=n.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(n,t)}function d(e,n){var t,r,a,o={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},s=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return s.next=i(0),s["throw"]=i(1),s["return"]=i(2),typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function i(e){return function(n){return c([e,n])}}function c(i){if(t)throw new TypeError("Generator is already executing.");while(s&&(s=0,i[0]&&(o=0)),o)try{if(t=1,r&&(a=i[0]&2?r["return"]:i[0]?r["throw"]||((a=r["return"])&&a.call(r),0):r.next)&&!(a=a.call(r,i[1])).done)return a;if(r=0,a)i=[i[0]&2,a.value];switch(i[0]){case 0:case 1:a=i;break;case 4:o.label++;return{value:i[1],done:false};case 5:o.label++;r=i[1];i=[0];continue;case 7:i=o.ops.pop();o.trys.pop();continue;default:if(!(a=o.trys,a=a.length>0&&a[a.length-1])&&(i[0]===6||i[0]===2)){o=0;continue}if(i[0]===3&&(!a||i[1]>a[0]&&i[1]<a[3])){o.label=i[1];break}if(i[0]===6&&o.label<a[1]){o.label=a[1];a=i;break}if(a&&o.label<a[2]){o.label=a[2];o.ops.push(i);break}if(a[2])o.ops.pop();o.trys.pop();continue}i=n.call(e,o)}catch(e){i=[6,e];r=0}finally{t=a=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var p=Object.defineProperty;var f=function(e,n){return p(e,"name",{value:n,configurable:!0})};import S from"fs-extra";var m=".cyberskill-storage";import O from"@dotenvx/dotenvx";import{bool as C,cleanEnv as I,str as D}from"envalid";import _ from"os";import N from"path";import T from"process";var A=function(e){return e.PRODUCTION="production",e.STAGING="staging",e.DEVELOPMENT="development",e}({});var y=!1;function v(){T.env.NODE_ENV!==A.PRODUCTION&&!y&&(O.config(),y=!0)}f(v,"loadEnvFile");function h(){v();var e=I(T.env,{CWD:D({default:T.cwd()}),DEBUG:C({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:D({default:N.join(_.homedir(),m)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}f(h,"getEnv");var G=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as g}from"child_process";import R from"process";import*as P from"util";var M=function(e){return e.Error="error",e.Warning="warning",e}({});import L from"chalk";import b from"consola";import{GraphQLError as U}from"graphql";var w={GRAPHQL_PARSE_FAILED:{CODE:"GRAPHQL_PARSE_FAILED",MESSAGE:"The GraphQL operation string contains a syntax error."},GRAPHQL_VALIDATION_FAILED:{CODE:"GRAPHQL_VALIDATION_FAILED",MESSAGE:"The GraphQL operation is not valid against the server's schema."},BAD_USER_INPUT:{CODE:"BAD_USER_INPUT",MESSAGE:"The GraphQL operation includes an invalid value for a field argument."},PERSISTED_QUERY_NOT_FOUND:{CODE:"PERSISTED_QUERY_NOT_FOUND",MESSAGE:"A client sent the hash of a query string to execute via automatic persisted queries, but the query was not in the APQ cache."},PERSISTED_QUERY_NOT_SUPPORTED:{CODE:"PERSISTED_QUERY_NOT_SUPPORTED",MESSAGE:"A client sent the hash of a query string to execute via automatic persisted queries, but the server has disabled APQ."},OPERATION_RESOLUTION_FAILURE:{CODE:"OPERATION_RESOLUTION_FAILURE",MESSAGE:"The request was parsed successfully and is valid against the server's schema, but the server couldn't resolve which operation to run. This occurs when a request containing multiple named operations doesn't specify which operation to run (i.e.,operationName), or if the named operation isn't included in the request."},CONTINUE:{CODE:100,MESSAGE:"Continue"},SWITCHING_PROTOCOLS:{CODE:101,MESSAGE:"Switching Protocols"},PROCESSING:{CODE:102,MESSAGE:"Processing"},OK:{CODE:200,MESSAGE:"OK"},CREATED:{CODE:201,MESSAGE:"Created"},ACCEPTED:{CODE:202,MESSAGE:"Accepted"},NON_AUTHORITATIVE_INFORMATION:{CODE:203,MESSAGE:"Non Authoritative Information"},NO_CONTENT:{CODE:204,MESSAGE:"No Content"},RESET_CONTENT:{CODE:205,MESSAGE:"Reset Content"},PARTIAL_CONTENT:{CODE:206,MESSAGE:"Partial Content"},MULTI_STATUS:{CODE:207,MESSAGE:"Multi-Status"},MULTIPLE_CHOICES:{CODE:300,MESSAGE:"Multiple Choices"},MOVED_PERMANENTLY:{CODE:301,MESSAGE:"Moved Permanently"},MOVED_TEMPORARILY:{CODE:302,MESSAGE:"Moved Temporarily"},SEE_OTHER:{CODE:303,MESSAGE:"See Other"},NOT_MODIFIED:{CODE:304,MESSAGE:"Not Modified"},USE_PROXY:{CODE:305,MESSAGE:"Use Proxy"},TEMPORARY_REDIRECT:{CODE:307,MESSAGE:"Temporary Redirect"},PERMANENT_REDIRECT:{CODE:308,MESSAGE:"Permanent Redirect"},BAD_REQUEST:{CODE:400,MESSAGE:"Bad Request"},UNAUTHORIZED:{CODE:401,MESSAGE:"Unauthorized"},PAYMENT_REQUIRED:{CODE:402,MESSAGE:"Payment Required"},FORBIDDEN:{CODE:403,MESSAGE:"Forbidden"},NOT_FOUND:{CODE:404,MESSAGE:"Not Found"},METHOD_NOT_ALLOWED:{CODE:405,MESSAGE:"Method Not Allowed"},NOT_ACCEPTABLE:{CODE:406,MESSAGE:"Not Acceptable"},PROXY_AUTHENTICATION_REQUIRED:{CODE:407,MESSAGE:"Proxy Authentication Required"},REQUEST_TIMEOUT:{CODE:408,MESSAGE:"Request Timeout"},CONFLICT:{CODE:409,MESSAGE:"Conflict"},GONE:{CODE:410,MESSAGE:"Gone"},LENGTH_REQUIRED:{CODE:411,MESSAGE:"Length Required"},PRECONDITION_FAILED:{CODE:412,MESSAGE:"Precondition Failed"},REQUEST_TOO_LONG:{CODE:413,MESSAGE:"Request Entity Too Large"},REQUEST_URI_TOO_LONG:{CODE:414,MESSAGE:"Request-URI Too Long"},UNSUPPORTED_MEDIA_TYPE:{CODE:415,MESSAGE:"Unsupported Media Type"},REQUESTED_RANGE_NOT_SATISFIABLE:{CODE:416,MESSAGE:"Requested Range Not Satisfiable"},EXPECTATION_FAILED:{CODE:417,MESSAGE:"Expectation Failed"},IM_A_TEAPOT:{CODE:418,MESSAGE:"I'm a teapot"},INSUFFICIENT_SPACE_ON_RESOURCE:{CODE:419,MESSAGE:"Insufficient Space on Resource"},METHOD_FAILURE:{CODE:420,MESSAGE:"Method Failure"},MISDIRECTED_REQUEST:{CODE:421,MESSAGE:"Misdirected Request"},UNPROCESSABLE_ENTITY:{CODE:422,MESSAGE:"Unprocessable Entity"},LOCKED:{CODE:423,MESSAGE:"Locked"},FAILED_DEPENDENCY:{CODE:424,MESSAGE:"Failed Dependency"},PRECONDITION_REQUIRED:{CODE:428,MESSAGE:"Precondition Required"},TOO_MANY_REQUESTS:{CODE:429,MESSAGE:"Too Many Requests"},REQUEST_HEADER_FIELDS_TOO_LARGE:{CODE:431,MESSAGE:"Request Header Fields Too Large"},UNAVAILABLE_FOR_LEGAL_REASONS:{CODE:451,MESSAGE:"Unavailable For Legal Reasons"},INTERNAL_SERVER_ERROR:{CODE:500,MESSAGE:"Internal Server Error"},NOT_IMPLEMENTED:{CODE:501,MESSAGE:"Not Implemented"},BAD_GATEWAY:{CODE:502,MESSAGE:"Bad Gateway"},SERVICE_UNAVAILABLE:{CODE:503,MESSAGE:"Service Unavailable"},GATEWAY_TIMEOUT:{CODE:504,MESSAGE:"Gateway Timeout"},HTTP_VERSION_NOT_SUPPORTED:{CODE:505,MESSAGE:"HTTP Version Not Supported"},INSUFFICIENT_STORAGE:{CODE:507,MESSAGE:"Insufficient Storage"},NETWORK_AUTHENTICATION_REQUIRED:{CODE:511,MESSAGE:"Network Authentication Required"}};var Y=h();Y.DEBUG||(b.level=4);function F(e){var n=L[e];return typeof n=="function"?n:L.green}f(F,"chalkKeyword");var k={silent:b.silent,level:b.level,fatal:b.fatal,error:b.error,warn:b.warn,log:b.log,info:b.info,success:b.success,ready:b.ready,start:b.start,box:b.box,debug:b.debug,trace:b.trace,verbose:b.verbose,printBoxedLog:function e(e,n){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(n===null||n===void 0?void 0:n.length)){b.box(L.green(e));return}n.forEach(function(e){var n=e.file,r=e.position,a=e.rule,o=e.message;b.log("".concat(L.gray("File:")," ").concat(L.blue("".concat(n).concat(r?":".concat(r):"")))),a&&b.log(" ".concat(F(t)("Rule:")," ").concat(a)),b.log(" ".concat(F(t)("Message:")," ").concat(o))}),b.box(F(t)("".concat(e," : ").concat(n.length))),b.log(L.gray("─".repeat(40)))}};function V(e,n){var t=n!==null&&n!==void 0?n:{},r=t.shouldLog,a=r===void 0?!0:r,s=t.returnValue,i=t.callback,c=o(e,Error)?e:new Error(typeof e=="string"?e:"Unknown error");return a&&k.error(c.message),i&&typeof i=="function"&&i(c),s||{success:!1,message:c.message,code:w.INTERNAL_SERVER_ERROR.CODE}}f(V,"catchError");var K=function(e){return e.DEPENDENCY="dependencies",e.DEV_DEPENDENCY="devDependencies",e.PEER_DEPENDENCY="peerDependencies",e.BUNDLE_DEPENDENCY="bundleDependencies",e.OPTIONAL_DEPENDENCY="optionalDependencies",e}({});import x from"node-fetch";import j from"fs-extra";import H from"path";var B=j.lstatSync,Q=j.readdirSync,q=j.mkdirSync,W=j.readFileSync,J=j.unlinkSync,X=j.statSync,$=j.readJsonSync;function z(e,n,t){j.writeFileSync(e,n,t!==null&&t!==void 0?t:"utf-8")}f(z,"writeFileSync");function Z(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}return n.every(function(e){return j.pathExistsSync(e)})}f(Z,"pathExistsSync");import ee from"path";var en=h(),et=ee;function er(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}var r;return(r=et).resolve.apply(r,[en.CWD].concat(u(n)))}f(er,"resolveWorkingPath");function ea(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}var r;return(r=et).join.apply(r,u(n))}f(ea,"join");var eo=h();function es(e){return r(function(){var n,t,r,a;return d(this,function(o){switch(o.label){case 0:o.trys.push([0,3,,4]);return[4,x("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:n=o.sent();if(!n.ok)throw new Error("Failed to fetch latest version: ".concat(n.status," ").concat(n.statusText));return[4,n.json()];case 2:t=o.sent(),r=t.version;return[2,{success:!0,result:r}];case 3:a=o.sent();return[2,V(a)];case 4:return[2]}})})()}f(es,"getLatestPackageVersion");function ei(e){return r(function(){var n,t,r,a,o,s,i,c,u,E,l,p,f,S,m,O,C,I,D,_,N,T,A,y;return d(this,function(d){switch(d.label){case 0:d.trys.push([0,2,,3]);if(!e){if(Z(nr.PACKAGE_JSON)){n=$(nr.PACKAGE_JSON),t=n.name,r=t===void 0?"":t,a=n.version,o=a===void 0?"":a;return[2,{success:!0,result:{name:r,currentVersion:o,latestVersion:o,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:!1,isDevDependency:!1,installedPath:nr.PACKAGE_JSON,file:n}}]}return[2,{success:!0,result:{name:"",currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:!1,isDevDependency:!1,installedPath:"",file:{}}}]}if(!Z(nr.PACKAGE_JSON))return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===K.DEPENDENCY,isDevDependency:e.type===K.DEV_DEPENDENCY,installedPath:"",file:{}}}];s=$(nr.PACKAGE_JSON),i=s.name,c=s.version,u=c===void 0?"":c,E=s.dependencies,l=E===void 0?{}:E,p=s.devDependencies,f=p===void 0?{}:p;if(e.name===i)return[2,{success:!0,result:{name:i,currentVersion:u,latestVersion:u,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:e.type===K.DEPENDENCY,isDevDependency:e.type===K.DEV_DEPENDENCY,installedPath:nr.PACKAGE_JSON,file:s}}];S=e.name in l,m=e.name in f;return[4,es(e.name)];case 1:O=d.sent();if(!O.success)return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:S,isDevDependency:m,installedPath:"",file:{}}}];if(!S&&!m)return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:O.result,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===K.DEPENDENCY,isDevDependency:e.type===K.DEV_DEPENDENCY,installedPath:"",file:{}}}];D=(I=(C=l[e.name])!==null&&C!==void 0?C:f[e.name])!==null&&I!==void 0?I:"",_=ea(eo.CWD,eg,e.name,eP);if(!Z(_))return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:O.result,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:S,isDevDependency:m,installedPath:"",file:{}}}];N=$(_),T=N.version,A=T===void 0?"":T;return[2,D!==A?{success:!0,result:{name:e.name,currentVersion:A||D,latestVersion:O.result,isCurrentProject:!1,isInstalled:!0,isUpToDate:!1,isDependency:S,isDevDependency:m,installedPath:_,file:N}}:{success:!0,result:{name:e.name,currentVersion:D,latestVersion:O.result,isCurrentProject:!1,isInstalled:!0,isUpToDate:D===O.result,isDependency:S,isDevDependency:m,installedPath:_,file:N}}];case 2:y=d.sent();return[2,V(y)];case 3:return[2]}})})()}f(ei,"getPackage");function ec(e){return r(function(){var n,t,r,a,o;return d(this,function(s){try{;r=$(nr.PACKAGE_JSON),a=(n=r.dependencies)!==null&&n!==void 0?n:{},o=(t=r.devDependencies)!==null&&t!==void 0?t:{};e.isDependency?a[e.name]=e.latestVersion:e.isDevDependency&&(o[e.name]=e.latestVersion),z(nr.PACKAGE_JSON,JSON.stringify(r,null,4)),k.info('Updated "'.concat(e.name,'" to version ').concat(e.latestVersion))}catch(e){V(e)}return[2]})})()}f(ec,"updatePackage");function eu(){return r(function(){var e,n,t,r,a,o,s,i,c,u,E,l,p;return d(this,function(d){switch(d.label){case 0:d.trys.push([0,12,,13]);e=[{command:f(function(){return ns.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:f(function(){return ns.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:f(function(){return ns.pnpmInstallForce()},"command"),message:"Retrying with force install"}];n=true,t=false,r=undefined;d.label=1;case 1:d.trys.push([1,9,10,11]);a=e[Symbol.iterator]();d.label=2;case 2:if(!!(n=(o=a.next()).done))return[3,8];s=o.value,i=s.command,c=s.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,i()];case 4:u=d.sent();return[4,ey("".concat(c," using: ").concat(u),u)];case 5:d.sent();return[2];case 6:E=d.sent();V(E);return[3,7];case 7:n=true;return[3,2];case 8:return[3,11];case 9:l=d.sent();t=true;r=l;return[3,11];case 10:try{if(!n&&a.return!=null){a.return()}}finally{if(t){throw r}}return[7];case 11:return[3,13];case 12:p=d.sent();V(p);return[3,13];case 13:return[2]}})})()}f(eu,"installDependencies");function eE(e,n){return r(function(){var t,r,a,o,s,i,c,E,l,p,f,S,m,O,C,I,D;return d(this,function(d){switch(d.label){case 0:d.trys.push([0,15,,16]);if(!Z(nr.PACKAGE_JSON)){k.error("package.json not found. Aborting setup.");return[2]}return[4,Promise.all(e.map(ei))];case 1:a=d.sent().filter(function(e){return e.success&&!!e.result&&!e.result.isCurrentProject}).map(function(e){return e.result}),o=a.filter(function(e){return!e.isInstalled}),s=a.filter(function(e){return!e.isUpToDate}),i=[];(n===null||n===void 0?void 0:n.install)&&o.length>0&&(t=i).push.apply(t,u(o.map(ec))),(n===null||n===void 0?void 0:n.update)&&s.length>0&&(r=i).push.apply(r,u(s.map(ec)));c=i.length>0;if(!c)return[3,6];return[4,Promise.all(i)];case 2:d.sent();return[4,eu()];case 3:d.sent();E=["Running ESLint with auto-fix"];return[4,ns.eslintFix()];case 4:return[4,ey.apply(void 0,E.concat([d.sent()]))];case 5:c=d.sent();d.label=6;case 6:c;p=true,f=false,S=undefined;d.label=7;case 7:d.trys.push([7,12,13,14]);m=((l=n===null||n===void 0?void 0:n.callbacks)!==null&&l!==void 0?l:[])[Symbol.iterator]();d.label=8;case 8:if(!!(p=(O=m.next()).done))return[3,11];C=O.value;return[4,C()];case 9:d.sent();d.label=10;case 10:p=true;return[3,8];case 11:return[3,14];case 12:I=d.sent();f=true;S=I;return[3,14];case 13:try{if(!p&&m.return!=null){m.return()}}finally{if(f){throw S}}return[7];case 14:return[3,16];case 15:D=d.sent();V(D);return[3,16];case 16:return[2]}})})()}f(eE,"setupPackages");import el from"node-persist";var ed=h();function ep(){return r(function(){var e;return d(this,function(n){switch(n.label){case 0:e=el.defaultInstance;if(e)return[3,2];return[4,el.init({dir:ed.CYBERSKILL_STORAGE_DIRECTORY})];case 1:e=n.sent();n.label=2;case 2:e;return[2]}})})()}f(ep,"initNodePersist");var ef={get:function e(e){return r(function(){var n,t;return d(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ep()];case 1:r.sent();return[4,el.getItem(e)];case 2:return[2,(n=r.sent())!==null&&n!==void 0?n:null];case 3:t=r.sent();return[2,V(t,{returnValue:null})];case 4:return[2]}})})()},set:function e(e,n){return r(function(){var t;return d(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ep()];case 1:r.sent();return[4,el.setItem(e,n)];case 2:r.sent();return[3,4];case 3:t=r.sent();V(t);return[3,4];case 4:return[2]}})})()},remove:function e(e){return r(function(){var n;return d(this,function(t){switch(t.label){case 0:t.trys.push([0,3,,4]);return[4,ep()];case 1:t.sent();return[4,el.removeItem(e)];case 2:t.sent();return[3,4];case 3:n=t.sent();V(n);return[3,4];case 4:return[2]}})})()},keys:function e(){return r(function(){var e,n;return d(this,function(t){switch(t.label){case 0:t.trys.push([0,3,,4]);return[4,ep()];case 1:t.sent();return[4,el.keys()];case 2:e=t.sent();return[2,Array.isArray(e)?e:(k.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:n=t.sent();return[2,V(n,{returnValue:[]})];case 4:return[2]}})})()},getLogLink:function e(e){return r(function(){return d(this,function(n){try{return[2,"".concat(ed.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,V(e,{returnValue:null})]}return[2]})})()}};var eS=h(),em=P.promisify(g);function eO(){return r(function(){var e;return d(this,function(n){switch(n.label){case 0:return[4,ei()];case 1:e=n.sent();return[2,e.success?e.result.name:Date.now().toString()]}})})()}f(eO,"getPackageName");function eC(e){return r(function(){var n,t;return d(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];return[4,eO()];case 1:n=a.sent();a.label=2;case 2:a.trys.push([2,4,,5]);return[4,ef.set(n,e)];case 3:a.sent(),setTimeout(function(){return r(function(){var e;return d(this,function(t){switch(t.label){case 0:return[4,ef.getLogLink(n)];case 1:e=t.sent();e&&k.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},0);return[3,5];case 4:t=a.sent();V(t);return[3,5];case 5:return[2]}})})()}f(eC,"saveErrorListToStorage");function eI(e){var n=[],t=[],r="",a=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,o=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,s=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,c,u,E,l;var d=a.exec(e)||[],p=o.exec(e)||[],f=s.exec(e)||[];var S,m,O,C,I,D;d.length&&r?n.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===M.Error?M.Error:M.Warning,message:(S=d===null||d===void 0?void 0:(i=d[4])===null||i===void 0?void 0:i.trim())!==null&&S!==void 0?S:"",rule:(m=d===null||d===void 0?void 0:(c=d[5])===null||c===void 0?void 0:c.trim())!==null&&m!==void 0?m:""}):p.length?n.push({file:(O=p===null||p===void 0?void 0:p[1])!==null&&O!==void 0?O:"",position:"".concat(p[2],":").concat(p[3]),type:p[4]===M.Error?M.Error:M.Warning,message:(C=p===null||p===void 0?void 0:(u=p[5])===null||u===void 0?void 0:u.trim())!==null&&C!==void 0?C:""}):f.length?n.push({file:"commitlint",type:M.Error,message:(I=f===null||f===void 0?void 0:(E=f[1])===null||E===void 0?void 0:E.trim())!==null&&I!==void 0?I:"",rule:(D=f===null||f===void 0?void 0:(l=f[2])===null||l===void 0?void 0:l.trim())!==null&&D!==void 0?D:""}):t.push(e.trim())}}),n.length&&eC(n),eS.DEBUG&&t.length&&(k.warn("Unmatched lines:"),t.forEach(function(e){return k.info(" ".concat(e))}))}f(eI,"parseTextErrors");function eD(e){try{var n=JSON.parse(e),t=[];n.forEach(function(e){var n=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,a=e.line,o=e.column,s=e.ruleId,i=e.message;t.push({type:r===2?M.Error:M.Warning,file:n,position:"".concat(a,":").concat(o),rule:s,message:i})})}),t.length&&eC(t)}catch(n){eI(e)}}f(eD,"parseCommandOutput");function e_(e){return r(function(e){var n,t,r,a,o,s,i,c,u;var E=arguments;return d(this,function(l){switch(l.label){case 0:n=E.length>1&&E[1]!==void 0?E[1]:eD;t=new AbortController;R.on("SIGINT",function(){k.warn("Process interrupted. Terminating..."),t.abort(),R.exit()});l.label=1;case 1:l.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,em(e,{maxBuffer:0x6400000,signal:t.signal})];case 2:r=l.sent(),a=r.stdout,o=r.stderr;[a,o].forEach(function(e){return e&&n(e)});l.label=3;case 3:return[3,5];case 4:s=l.sent();i=s.stdout,c=s.stderr,u=s.message;[i,c].forEach(function(e){return e&&n(e)}),!c&&!i&&k.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}f(e_,"executeCommand");function eN(e){return{raw:!0,cmd:e}}f(eN,"rawCommand");function eT(e,n){return(n===null||n===void 0?void 0:n.isCurrentProject)?"".concat(e3," ").concat(e1," ").concat(ex," ").concat(e):"".concat(e3," ").concat(eK," ").concat(e)}f(eT,"formatCLI");function eA(e,n){return typeof e=="function"?eT(e(n),n):(typeof e==="undefined"?"undefined":E(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?eT(e,n):e}f(eA,"formatCommand");function ey(e,n){return r(function(){var t;return d(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);k.start("".concat(e)),eS.DEBUG&&k.info("→ ".concat(n));return[4,e_(n)];case 1:r.sent(),k.success("".concat(e," done."));return[3,3];case 2:t=r.sent();V(t);return[3,3];case 3:return[2]}})})()}f(ey,"runCommand");var ev=h(),eh=ev.CWD,eG="@cyberskill/shared",eg="node_modules",eR="dist",eP="package.json",eM="package-lock.json",eL="tsconfig.json",eb=".gitignore",eU=".simple-git-hooks.json",ew="pnpm-lock.yaml",eY=".git/hooks/",eF=".git/COMMIT_EDITMSG",ek=".migrate-mongo.config.js",eV=function(){var e=S.readJsonSync(er(eP)).name===eG?eh:ea(eh,eg,eG);return ea(e,eR)}(),eK="cyberskill",ex="src/node/cli/index.ts",ej="eslint",eH="eslint",eB="vitest",eQ="playwright",eq="vitest",eW="@commitlint/cli",eJ="@commitlint/config-conventional",eX="commitlint",e$="lint-staged",ez="lint-staged",eZ="typescript",e0="tsc",e1="tsx",e2="git",e4="pnpm",e3="pnpm exec",e5="simple-git-hooks",e6="simple-git-hooks",e7="@eslint/config-inspector",e8="eslint-config-inspector",e9="node-modules-inspector",ne="node-modules-inspector",nn="migrate-mongo",nt="./node_modules/migrate-mongo/bin/migrate-mongo",nr={CYBERSKILL_DIRECTORY:eV,WORKING_DIRECTORY:eh,TS_CONFIG:er(eL),GIT_IGNORE:er(eb),GIT_HOOK:er(eY),GIT_COMMIT_MSG:er(eF),SIMPLE_GIT_HOOKS_JSON:er(eU),PACKAGE_JSON:er(eP),PACKAGE_LOCK_JSON:er(eM),PNPM_LOCK_YAML:er(ew),NODE_MODULES:er(eg),MIGRATE_MONGO_CONFIG:er(ek),LINT_STAGED_CONFIG:er("".concat(eV,"/config/lint-staged/index.js")),COMMITLINT_CONFIG:er("".concat(eV,"/config/commitlint/index.js")),UNIT_TEST_CONFIG:er("".concat(eV,"/config/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:er("".concat(eV,"/config/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:er("".concat(eV,"/config/vitest/vitest.e2e.js"))};function na(e){var n=e.isCurrentProject;return c({"pre-commit":ez,"commit-msg":eX},n&&{"pre-push":eN("".concat(e2," pull"))})}f(na,"createGitHooksConfig");function no(e){var n=e.type,t=e.packages,a=e.command;var o=t===null||t===void 0?void 0:t.reduce(function(e,n){return e.some(function(e){return e.name===n.name})||e.push(n),e},[]);return function(){return r(function(){var e;return d(this,function(t){switch(t.label){case 0:switch(n){case G.CLI:return[3,1];case G.STRING:return[3,4]}return[3,5];case 1:e=o===null||o===void 0?void 0:o.length;if(!e)return[3,3];return[4,eE(o,{install:!0})];case 2:e=t.sent();t.label=3;case 3:return[2,(e,eA(eN("".concat(e3," ").concat(a))))];case 4:return[2,eA(eN(a))];case 5:throw new Error("Unsupported command type");case 6:return[2]}})})()}}f(no,"buildCommand");var ns={simpleGitHooks:no({type:G.CLI,packages:[{name:e5,type:K.DEV_DEPENDENCY}],command:e6}),eslintInspect:no({type:G.CLI,packages:[{name:e7,type:K.DEV_DEPENDENCY}],command:e8}),nodeModulesInspect:no({type:G.CLI,packages:[{name:e9,type:K.DEV_DEPENDENCY}],command:ne}),eslintCheck:no({type:G.CLI,packages:[{name:ej,type:K.DEV_DEPENDENCY}],command:"".concat(eH," ").concat(nr.WORKING_DIRECTORY," --no-cache")}),eslintFix:no({type:G.CLI,packages:[{name:ej,type:K.DEV_DEPENDENCY}],command:"".concat(eH," ").concat(nr.WORKING_DIRECTORY," --fix --no-cache")}),typescriptCheck:no({type:G.CLI,packages:[{name:eZ,type:K.DEPENDENCY}],command:"".concat(e0," -p ").concat(nr.TS_CONFIG," --noEmit")}),testUnit:no({type:G.CLI,packages:[{name:eB,type:K.DEV_DEPENDENCY}],command:"".concat(eq," --config ").concat(nr.UNIT_TEST_CONFIG)}),testE2e:no({type:G.CLI,packages:[{name:eB,type:K.DEV_DEPENDENCY}],command:"".concat(eq," --config ").concat(nr.E2E_TEST_CONFIG)}),mongoMigrateCreate:f(function(e){return no({type:G.CLI,packages:[{name:nn,type:K.DEPENDENCY}],command:"".concat(e1," ").concat(nt," create ").concat(e," -f ").concat(nr.MIGRATE_MONGO_CONFIG)})()},"mongoMigrateCreate"),mongoMigrateUp:no({type:G.CLI,packages:[{name:nn,type:K.DEPENDENCY}],command:"".concat(e1," ").concat(nt," up -f ").concat(nr.MIGRATE_MONGO_CONFIG)}),mongoMigrateDown:no({type:G.CLI,packages:[{name:nn,type:K.DEPENDENCY}],command:"".concat(e1," ").concat(nt," down -f ").concat(nr.MIGRATE_MONGO_CONFIG)}),commitLint:no({type:G.CLI,packages:[{name:eW,type:K.DEV_DEPENDENCY},{name:eJ,type:K.DEV_DEPENDENCY}],command:"".concat(eX," --edit ").concat(nr.GIT_COMMIT_MSG," --config ").concat(nr.COMMITLINT_CONFIG)}),lintStaged:no({type:G.CLI,packages:[{name:e$,type:K.DEV_DEPENDENCY}],command:"".concat(ez," --config ").concat(nr.LINT_STAGED_CONFIG)}),configureGitHook:no({type:G.STRING,command:"".concat(e2," config core.hooksPath ").concat(nr.GIT_HOOK)}),build:no({type:G.STRING,command:"".concat(e4," run --if-present build")}),pnpmInstallStandard:no({type:G.STRING,command:"".concat(e4," install --ignore-scripts")}),pnpmInstallLegacy:no({type:G.STRING,command:"".concat(e4," install --ignore-scripts --legacy-peer-deps")}),pnpmInstallForce:no({type:G.STRING,command:"".concat(e4," install --ignore-scripts --force")}),pnpmPruneStore:no({type:G.STRING,command:"".concat(e4," store prune")}),pnpmCleanCache:no({type:G.STRING,command:"".concat(e4," cache delete")})};export{eR as BUILD_DIRECTORY,eX as COMMIT_LINT_CLI,eJ as COMMIT_LINT_CONVENTIONAL_CONFIG_PACKAGE_NAME,eW as COMMIT_LINT_PACKAGE_NAME,eK as CYBERSKILL_CLI,ex as CYBERSKILL_CLI_PATH,eV as CYBERSKILL_DIRECTORY,eG as CYBERSKILL_PACKAGE_NAME,eH as ESLINT_CLI,e8 as ESLINT_INSPECT_CLI,e7 as ESLINT_INSPECT_PACKAGE_NAME,ej as ESLINT_PACKAGE_NAME,e2 as GIT_CLI,eF as GIT_COMMIT_EDITMSG,eY as GIT_HOOK,eb as GIT_IGNORE,ez as LINT_STAGED_CLI,e$ as LINT_STAGED_PACKAGE_NAME,nt as MIGRATE_MONGO_CLI,ek as MIGRATE_MONGO_CONFIG,nn as MIGRATE_MONGO_PACKAGE_NAME,eg as NODE_MODULES,ne as NODE_MODULES_INSPECT_CLI,e9 as NODE_MODULES_INSPECT_PACKAGE_NAME,eP as PACKAGE_JSON,eM as PACKAGE_LOCK_JSON,nr as PATH,eQ as PLAYWRIGHT_PACKAGE_NAME,e4 as PNPM_CLI,e3 as PNPM_EXEC_CLI,ew as PNPM_LOCK_YAML,e5 as SIMPLE_GIT_HOOKS_PACKAGE_NAME,e6 as SIMPLE_GIT_HOOK_CLI,eU as SIMPLE_GIT_HOOK_JSON,eL as TSCONFIG_JSON,e0 as TSC_CLI,eZ as TSC_PACKAGE_NAME,e1 as TSX_CLI,eq as VITEST_CLI,eB as VITEST_PACKAGE_NAME,eh as WORKING_DIRECTORY,ns as command,na as createGitHooksConfig};
1
+ function e(e,n){if(n==null||n>e.length)n=e.length;for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function n(n){if(Array.isArray(n))return e(n)}function t(e,n,t,r,a,o,s){try{var i=e[o](s);var c=i.value}catch(e){t(e);return}if(i.done){n(c)}else{Promise.resolve(c).then(r,a)}}function r(e){return function(){var n=this,r=arguments;return new Promise(function(a,o){var s=e.apply(n,r);function i(e){t(s,a,o,i,c,"next",e)}function c(e){t(s,a,o,i,c,"throw",e)}i(undefined)})}}function a(e,n,t){if(n in e){Object.defineProperty(e,n,{value:t,enumerable:true,configurable:true,writable:true})}else{e[n]=t}return e}function o(e,n){if(n!=null&&typeof Symbol!=="undefined"&&n[Symbol.hasInstance]){return!!n[Symbol.hasInstance](e)}else{return e instanceof n}}function s(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function i(){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 c(e){for(var n=1;n<arguments.length;n++){var t=arguments[n]!=null?arguments[n]:{};var r=Object.keys(t);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))}r.forEach(function(n){a(e,n,t[n])})}return e}function u(e){return n(e)||s(e)||l(e)||i()}function E(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function l(n,t){if(!n)return;if(typeof n==="string")return e(n,t);var r=Object.prototype.toString.call(n).slice(8,-1);if(r==="Object"&&n.constructor)r=n.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(n,t)}function d(e,n){var t,r,a,o={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},s=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return s.next=i(0),s["throw"]=i(1),s["return"]=i(2),typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function i(e){return function(n){return c([e,n])}}function c(i){if(t)throw new TypeError("Generator is already executing.");while(s&&(s=0,i[0]&&(o=0)),o)try{if(t=1,r&&(a=i[0]&2?r["return"]:i[0]?r["throw"]||((a=r["return"])&&a.call(r),0):r.next)&&!(a=a.call(r,i[1])).done)return a;if(r=0,a)i=[i[0]&2,a.value];switch(i[0]){case 0:case 1:a=i;break;case 4:o.label++;return{value:i[1],done:false};case 5:o.label++;r=i[1];i=[0];continue;case 7:i=o.ops.pop();o.trys.pop();continue;default:if(!(a=o.trys,a=a.length>0&&a[a.length-1])&&(i[0]===6||i[0]===2)){o=0;continue}if(i[0]===3&&(!a||i[1]>a[0]&&i[1]<a[3])){o.label=i[1];break}if(i[0]===6&&o.label<a[1]){o.label=a[1];a=i;break}if(a&&o.label<a[2]){o.label=a[2];o.ops.push(i);break}if(a[2])o.ops.pop();o.trys.pop();continue}i=n.call(e,o)}catch(e){i=[6,e];r=0}finally{t=a=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var p=Object.defineProperty;var f=function(e,n){return p(e,"name",{value:n,configurable:!0})};import S from"fs-extra";var m=".cyberskill-storage";import O from"@dotenvx/dotenvx";import{bool as C,cleanEnv as I,str as D}from"envalid";import _ from"os";import T from"path";import N from"process";var A=function(e){return e.PRODUCTION="production",e.STAGING="staging",e.DEVELOPMENT="development",e}({});var y=!1;function v(){N.env.NODE_ENV!==A.PRODUCTION&&!y&&(O.config(),y=!0)}f(v,"loadEnvFile");function h(){v();var e=I(N.env,{CWD:D({default:N.cwd()}),DEBUG:C({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:D({default:T.join(_.homedir(),m)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}f(h,"getEnv");var G=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as g}from"child_process";import R from"process";import*as P from"util";var M=function(e){return e.Error="error",e.Warning="warning",e}({});import L from"chalk";import b from"consola";import{GraphQLError as U}from"graphql";var w={GRAPHQL_PARSE_FAILED:{CODE:"GRAPHQL_PARSE_FAILED",MESSAGE:"The GraphQL operation string contains a syntax error."},GRAPHQL_VALIDATION_FAILED:{CODE:"GRAPHQL_VALIDATION_FAILED",MESSAGE:"The GraphQL operation is not valid against the server's schema."},BAD_USER_INPUT:{CODE:"BAD_USER_INPUT",MESSAGE:"The GraphQL operation includes an invalid value for a field argument."},PERSISTED_QUERY_NOT_FOUND:{CODE:"PERSISTED_QUERY_NOT_FOUND",MESSAGE:"A client sent the hash of a query string to execute via automatic persisted queries, but the query was not in the APQ cache."},PERSISTED_QUERY_NOT_SUPPORTED:{CODE:"PERSISTED_QUERY_NOT_SUPPORTED",MESSAGE:"A client sent the hash of a query string to execute via automatic persisted queries, but the server has disabled APQ."},OPERATION_RESOLUTION_FAILURE:{CODE:"OPERATION_RESOLUTION_FAILURE",MESSAGE:"The request was parsed successfully and is valid against the server's schema, but the server couldn't resolve which operation to run. This occurs when a request containing multiple named operations doesn't specify which operation to run (i.e.,operationName), or if the named operation isn't included in the request."},CONTINUE:{CODE:100,MESSAGE:"Continue"},SWITCHING_PROTOCOLS:{CODE:101,MESSAGE:"Switching Protocols"},PROCESSING:{CODE:102,MESSAGE:"Processing"},OK:{CODE:200,MESSAGE:"OK"},CREATED:{CODE:201,MESSAGE:"Created"},ACCEPTED:{CODE:202,MESSAGE:"Accepted"},NON_AUTHORITATIVE_INFORMATION:{CODE:203,MESSAGE:"Non Authoritative Information"},NO_CONTENT:{CODE:204,MESSAGE:"No Content"},RESET_CONTENT:{CODE:205,MESSAGE:"Reset Content"},PARTIAL_CONTENT:{CODE:206,MESSAGE:"Partial Content"},MULTI_STATUS:{CODE:207,MESSAGE:"Multi-Status"},MULTIPLE_CHOICES:{CODE:300,MESSAGE:"Multiple Choices"},MOVED_PERMANENTLY:{CODE:301,MESSAGE:"Moved Permanently"},MOVED_TEMPORARILY:{CODE:302,MESSAGE:"Moved Temporarily"},SEE_OTHER:{CODE:303,MESSAGE:"See Other"},NOT_MODIFIED:{CODE:304,MESSAGE:"Not Modified"},USE_PROXY:{CODE:305,MESSAGE:"Use Proxy"},TEMPORARY_REDIRECT:{CODE:307,MESSAGE:"Temporary Redirect"},PERMANENT_REDIRECT:{CODE:308,MESSAGE:"Permanent Redirect"},BAD_REQUEST:{CODE:400,MESSAGE:"Bad Request"},UNAUTHORIZED:{CODE:401,MESSAGE:"Unauthorized"},PAYMENT_REQUIRED:{CODE:402,MESSAGE:"Payment Required"},FORBIDDEN:{CODE:403,MESSAGE:"Forbidden"},NOT_FOUND:{CODE:404,MESSAGE:"Not Found"},METHOD_NOT_ALLOWED:{CODE:405,MESSAGE:"Method Not Allowed"},NOT_ACCEPTABLE:{CODE:406,MESSAGE:"Not Acceptable"},PROXY_AUTHENTICATION_REQUIRED:{CODE:407,MESSAGE:"Proxy Authentication Required"},REQUEST_TIMEOUT:{CODE:408,MESSAGE:"Request Timeout"},CONFLICT:{CODE:409,MESSAGE:"Conflict"},GONE:{CODE:410,MESSAGE:"Gone"},LENGTH_REQUIRED:{CODE:411,MESSAGE:"Length Required"},PRECONDITION_FAILED:{CODE:412,MESSAGE:"Precondition Failed"},REQUEST_TOO_LONG:{CODE:413,MESSAGE:"Request Entity Too Large"},REQUEST_URI_TOO_LONG:{CODE:414,MESSAGE:"Request-URI Too Long"},UNSUPPORTED_MEDIA_TYPE:{CODE:415,MESSAGE:"Unsupported Media Type"},REQUESTED_RANGE_NOT_SATISFIABLE:{CODE:416,MESSAGE:"Requested Range Not Satisfiable"},EXPECTATION_FAILED:{CODE:417,MESSAGE:"Expectation Failed"},IM_A_TEAPOT:{CODE:418,MESSAGE:"I'm a teapot"},INSUFFICIENT_SPACE_ON_RESOURCE:{CODE:419,MESSAGE:"Insufficient Space on Resource"},METHOD_FAILURE:{CODE:420,MESSAGE:"Method Failure"},MISDIRECTED_REQUEST:{CODE:421,MESSAGE:"Misdirected Request"},UNPROCESSABLE_ENTITY:{CODE:422,MESSAGE:"Unprocessable Entity"},LOCKED:{CODE:423,MESSAGE:"Locked"},FAILED_DEPENDENCY:{CODE:424,MESSAGE:"Failed Dependency"},PRECONDITION_REQUIRED:{CODE:428,MESSAGE:"Precondition Required"},TOO_MANY_REQUESTS:{CODE:429,MESSAGE:"Too Many Requests"},REQUEST_HEADER_FIELDS_TOO_LARGE:{CODE:431,MESSAGE:"Request Header Fields Too Large"},UNAVAILABLE_FOR_LEGAL_REASONS:{CODE:451,MESSAGE:"Unavailable For Legal Reasons"},INTERNAL_SERVER_ERROR:{CODE:500,MESSAGE:"Internal Server Error"},NOT_IMPLEMENTED:{CODE:501,MESSAGE:"Not Implemented"},BAD_GATEWAY:{CODE:502,MESSAGE:"Bad Gateway"},SERVICE_UNAVAILABLE:{CODE:503,MESSAGE:"Service Unavailable"},GATEWAY_TIMEOUT:{CODE:504,MESSAGE:"Gateway Timeout"},HTTP_VERSION_NOT_SUPPORTED:{CODE:505,MESSAGE:"HTTP Version Not Supported"},INSUFFICIENT_STORAGE:{CODE:507,MESSAGE:"Insufficient Storage"},NETWORK_AUTHENTICATION_REQUIRED:{CODE:511,MESSAGE:"Network Authentication Required"}};var Y=h();Y.DEBUG||(b.level=4);function V(e){var n=L[e];return typeof n=="function"?n:L.green}f(V,"chalkKeyword");var k={silent:b.silent,level:b.level,fatal:b.fatal,error:b.error,warn:b.warn,log:b.log,info:b.info,success:b.success,ready:b.ready,start:b.start,box:b.box,debug:b.debug,trace:b.trace,verbose:b.verbose,printBoxedLog:function e(e,n){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(n===null||n===void 0?void 0:n.length)){b.box(L.green(e));return}n.forEach(function(e){var n=e.file,r=e.position,a=e.rule,o=e.message;b.log("".concat(L.gray("File:")," ").concat(L.blue("".concat(n).concat(r?":".concat(r):"")))),a&&b.log(" ".concat(V(t)("Rule:")," ").concat(a)),b.log(" ".concat(V(t)("Message:")," ").concat(o))}),b.box(V(t)("".concat(e," : ").concat(n.length))),b.log(L.gray("─".repeat(40)))}};function F(e,n){var t=n!==null&&n!==void 0?n:{},r=t.shouldLog,a=r===void 0?!0:r,s=t.returnValue,i=t.callback,c=o(e,Error)?e:new Error(typeof e=="string"?e:"Unknown error");return a&&k.error(c.message),i&&typeof i=="function"&&i(c),s||{success:!1,message:c.message,code:w.INTERNAL_SERVER_ERROR.CODE}}f(F,"catchError");var K=function(e){return e.DEPENDENCY="dependencies",e.DEV_DEPENDENCY="devDependencies",e.PEER_DEPENDENCY="peerDependencies",e.BUNDLE_DEPENDENCY="bundleDependencies",e.OPTIONAL_DEPENDENCY="optionalDependencies",e}({});import x from"node-fetch";import j from"fs-extra";import B from"path";var H=j.lstatSync,Q=j.readdirSync,q=j.mkdirSync,J=j.readFileSync,W=j.unlinkSync,X=j.statSync,$=j.readJsonSync;function z(e,n,t){j.writeFileSync(e,n,t!==null&&t!==void 0?t:"utf-8")}f(z,"writeFileSync");function Z(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}return n.every(function(e){return j.pathExistsSync(e)})}f(Z,"pathExistsSync");import ee from"path";var en=h(),et=ee;function er(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}var r;return(r=et).resolve.apply(r,[en.CWD].concat(u(n)))}f(er,"resolveWorkingPath");function ea(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}var r;return(r=et).join.apply(r,u(n))}f(ea,"join");var eo=h();function es(e){return r(function(){var n,t,r,a;return d(this,function(o){switch(o.label){case 0:o.trys.push([0,3,,4]);return[4,x("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:n=o.sent();if(!n.ok)throw new Error("Failed to fetch latest version: ".concat(n.status," ").concat(n.statusText));return[4,n.json()];case 2:t=o.sent(),r=t.version;return[2,{success:!0,result:r}];case 3:a=o.sent();return[2,F(a)];case 4:return[2]}})})()}f(es,"getLatestPackageVersion");function ei(e){return r(function(){var n,t,r,a,o,s,i,c,u,E,l,p,f,S,m,O,C,I,D,_,T,N,A,y;return d(this,function(d){switch(d.label){case 0:d.trys.push([0,2,,3]);if(!e){if(Z(na.PACKAGE_JSON)){n=$(na.PACKAGE_JSON),t=n.name,r=t===void 0?"":t,a=n.version,o=a===void 0?"":a;return[2,{success:!0,result:{name:r,currentVersion:o,latestVersion:o,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:!1,isDevDependency:!1,installedPath:na.PACKAGE_JSON,file:n}}]}return[2,{success:!0,result:{name:"",currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:!1,isDevDependency:!1,installedPath:"",file:{}}}]}if(!Z(na.PACKAGE_JSON))return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===K.DEPENDENCY,isDevDependency:e.type===K.DEV_DEPENDENCY,installedPath:"",file:{}}}];s=$(na.PACKAGE_JSON),i=s.name,c=s.version,u=c===void 0?"":c,E=s.dependencies,l=E===void 0?{}:E,p=s.devDependencies,f=p===void 0?{}:p;if(e.name===i)return[2,{success:!0,result:{name:i,currentVersion:u,latestVersion:u,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:e.type===K.DEPENDENCY,isDevDependency:e.type===K.DEV_DEPENDENCY,installedPath:na.PACKAGE_JSON,file:s}}];S=e.name in l,m=e.name in f;return[4,es(e.name)];case 1:O=d.sent();if(!O.success)return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:S,isDevDependency:m,installedPath:"",file:{}}}];if(!S&&!m)return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:O.result,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===K.DEPENDENCY,isDevDependency:e.type===K.DEV_DEPENDENCY,installedPath:"",file:{}}}];D=(I=(C=l[e.name])!==null&&C!==void 0?C:f[e.name])!==null&&I!==void 0?I:"",_=ea(eo.CWD,eg,e.name,eM);if(!Z(_))return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:O.result,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:S,isDevDependency:m,installedPath:"",file:{}}}];T=$(_),N=T.version,A=N===void 0?"":N;return[2,D!==A?{success:!0,result:{name:e.name,currentVersion:A||D,latestVersion:O.result,isCurrentProject:!1,isInstalled:!0,isUpToDate:!1,isDependency:S,isDevDependency:m,installedPath:_,file:T}}:{success:!0,result:{name:e.name,currentVersion:D,latestVersion:O.result,isCurrentProject:!1,isInstalled:!0,isUpToDate:D===O.result,isDependency:S,isDevDependency:m,installedPath:_,file:T}}];case 2:y=d.sent();return[2,F(y)];case 3:return[2]}})})()}f(ei,"getPackage");function ec(e){return r(function(){var n,t,r,a,o;return d(this,function(s){try{;r=$(na.PACKAGE_JSON),a=(n=r.dependencies)!==null&&n!==void 0?n:{},o=(t=r.devDependencies)!==null&&t!==void 0?t:{};e.isDependency?a[e.name]=e.latestVersion:e.isDevDependency&&(o[e.name]=e.latestVersion),z(na.PACKAGE_JSON,JSON.stringify(r,null,4)),k.info('Updated "'.concat(e.name,'" to version ').concat(e.latestVersion))}catch(e){F(e)}return[2]})})()}f(ec,"updatePackage");function eu(){return r(function(){var e,n,t,r,a,o,s,i,c,u,E,l,p;return d(this,function(d){switch(d.label){case 0:d.trys.push([0,12,,13]);e=[{command:f(function(){return ni.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:f(function(){return ni.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:f(function(){return ni.pnpmInstallForce()},"command"),message:"Retrying with force install"}];n=true,t=false,r=undefined;d.label=1;case 1:d.trys.push([1,9,10,11]);a=e[Symbol.iterator]();d.label=2;case 2:if(!!(n=(o=a.next()).done))return[3,8];s=o.value,i=s.command,c=s.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,i()];case 4:u=d.sent();return[4,ey("".concat(c," using: ").concat(u),u)];case 5:d.sent();return[2];case 6:E=d.sent();F(E);return[3,7];case 7:n=true;return[3,2];case 8:return[3,11];case 9:l=d.sent();t=true;r=l;return[3,11];case 10:try{if(!n&&a.return!=null){a.return()}}finally{if(t){throw r}}return[7];case 11:return[3,13];case 12:p=d.sent();F(p);return[3,13];case 13:return[2]}})})()}f(eu,"installDependencies");function eE(e,n){return r(function(){var t,r,a,o,s,i,c,E,l,p,f,S,m,O,C,I,D;return d(this,function(d){switch(d.label){case 0:d.trys.push([0,15,,16]);if(!Z(na.PACKAGE_JSON)){k.error("package.json not found. Aborting setup.");return[2]}return[4,Promise.all(e.map(ei))];case 1:a=d.sent().filter(function(e){return e.success&&!!e.result&&!e.result.isCurrentProject}).map(function(e){return e.result}),o=a.filter(function(e){return!e.isInstalled}),s=a.filter(function(e){return!e.isUpToDate}),i=[];(n===null||n===void 0?void 0:n.install)&&o.length>0&&(t=i).push.apply(t,u(o.map(ec))),(n===null||n===void 0?void 0:n.update)&&s.length>0&&(r=i).push.apply(r,u(s.map(ec)));c=i.length>0;if(!c)return[3,6];return[4,Promise.all(i)];case 2:d.sent();return[4,eu()];case 3:d.sent();E=["Running ESLint with auto-fix"];return[4,ni.eslintFix()];case 4:return[4,ey.apply(void 0,E.concat([d.sent()]))];case 5:c=d.sent();d.label=6;case 6:c;p=true,f=false,S=undefined;d.label=7;case 7:d.trys.push([7,12,13,14]);m=((l=n===null||n===void 0?void 0:n.callbacks)!==null&&l!==void 0?l:[])[Symbol.iterator]();d.label=8;case 8:if(!!(p=(O=m.next()).done))return[3,11];C=O.value;return[4,C()];case 9:d.sent();d.label=10;case 10:p=true;return[3,8];case 11:return[3,14];case 12:I=d.sent();f=true;S=I;return[3,14];case 13:try{if(!p&&m.return!=null){m.return()}}finally{if(f){throw S}}return[7];case 14:return[3,16];case 15:D=d.sent();F(D);return[3,16];case 16:return[2]}})})()}f(eE,"setupPackages");import el from"node-persist";var ed=h();function ep(){return r(function(){var e;return d(this,function(n){switch(n.label){case 0:e=el.defaultInstance;if(e)return[3,2];return[4,el.init({dir:ed.CYBERSKILL_STORAGE_DIRECTORY})];case 1:e=n.sent();n.label=2;case 2:e;return[2]}})})()}f(ep,"initNodePersist");var ef={get:function e(e){return r(function(){var n,t;return d(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ep()];case 1:r.sent();return[4,el.getItem(e)];case 2:return[2,(n=r.sent())!==null&&n!==void 0?n:null];case 3:t=r.sent();return[2,F(t,{returnValue:null})];case 4:return[2]}})})()},set:function e(e,n){return r(function(){var t;return d(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ep()];case 1:r.sent();return[4,el.setItem(e,n)];case 2:r.sent();return[3,4];case 3:t=r.sent();F(t);return[3,4];case 4:return[2]}})})()},remove:function e(e){return r(function(){var n;return d(this,function(t){switch(t.label){case 0:t.trys.push([0,3,,4]);return[4,ep()];case 1:t.sent();return[4,el.removeItem(e)];case 2:t.sent();return[3,4];case 3:n=t.sent();F(n);return[3,4];case 4:return[2]}})})()},keys:function e(){return r(function(){var e,n;return d(this,function(t){switch(t.label){case 0:t.trys.push([0,3,,4]);return[4,ep()];case 1:t.sent();return[4,el.keys()];case 2:e=t.sent();return[2,Array.isArray(e)?e:(k.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:n=t.sent();return[2,F(n,{returnValue:[]})];case 4:return[2]}})})()},getLogLink:function e(e){return r(function(){return d(this,function(n){try{return[2,"".concat(ed.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,F(e,{returnValue:null})]}return[2]})})()}};var eS=h(),em=P.promisify(g);function eO(){return r(function(){var e;return d(this,function(n){switch(n.label){case 0:return[4,ei()];case 1:e=n.sent();return[2,e.success?e.result.name:Date.now().toString()]}})})()}f(eO,"getPackageName");function eC(e){return r(function(){var n,t;return d(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];return[4,eO()];case 1:n=a.sent();a.label=2;case 2:a.trys.push([2,4,,5]);return[4,ef.set(n,e)];case 3:a.sent(),setTimeout(function(){return r(function(){var e;return d(this,function(t){switch(t.label){case 0:return[4,ef.getLogLink(n)];case 1:e=t.sent();e&&k.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},0);return[3,5];case 4:t=a.sent();F(t);return[3,5];case 5:return[2]}})})()}f(eC,"saveErrorListToStorage");function eI(e){var n=[],t=[],r="",a=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,o=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,s=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,c,u,E,l;var d=a.exec(e)||[],p=o.exec(e)||[],f=s.exec(e)||[];var S,m,O,C,I,D;d.length&&r?n.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===M.Error?M.Error:M.Warning,message:(S=d===null||d===void 0?void 0:(i=d[4])===null||i===void 0?void 0:i.trim())!==null&&S!==void 0?S:"",rule:(m=d===null||d===void 0?void 0:(c=d[5])===null||c===void 0?void 0:c.trim())!==null&&m!==void 0?m:""}):p.length?n.push({file:(O=p===null||p===void 0?void 0:p[1])!==null&&O!==void 0?O:"",position:"".concat(p[2],":").concat(p[3]),type:p[4]===M.Error?M.Error:M.Warning,message:(C=p===null||p===void 0?void 0:(u=p[5])===null||u===void 0?void 0:u.trim())!==null&&C!==void 0?C:""}):f.length?n.push({file:"commitlint",type:M.Error,message:(I=f===null||f===void 0?void 0:(E=f[1])===null||E===void 0?void 0:E.trim())!==null&&I!==void 0?I:"",rule:(D=f===null||f===void 0?void 0:(l=f[2])===null||l===void 0?void 0:l.trim())!==null&&D!==void 0?D:""}):t.push(e.trim())}}),n.length&&eC(n),eS.DEBUG&&t.length&&(k.warn("Unmatched lines:"),t.forEach(function(e){return k.info(" ".concat(e))}))}f(eI,"parseTextErrors");function eD(e){try{var n=JSON.parse(e),t=[];n.forEach(function(e){var n=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,a=e.line,o=e.column,s=e.ruleId,i=e.message;t.push({type:r===2?M.Error:M.Warning,file:n,position:"".concat(a,":").concat(o),rule:s,message:i})})}),t.length&&eC(t)}catch(n){eI(e)}}f(eD,"parseCommandOutput");function e_(e){return r(function(e){var n,t,r,a,o,s,i,c,u;var E=arguments;return d(this,function(l){switch(l.label){case 0:n=E.length>1&&E[1]!==void 0?E[1]:eD;t=new AbortController;R.on("SIGINT",function(){k.warn("Process interrupted. Terminating..."),t.abort(),R.exit()});l.label=1;case 1:l.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,em(e,{maxBuffer:0x6400000,signal:t.signal})];case 2:r=l.sent(),a=r.stdout,o=r.stderr;[a,o].forEach(function(e){return e&&n(e)});l.label=3;case 3:return[3,5];case 4:s=l.sent();i=s.stdout,c=s.stderr,u=s.message;[i,c].forEach(function(e){return e&&n(e)}),!c&&!i&&k.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}f(e_,"executeCommand");function eT(e){return{raw:!0,cmd:e}}f(eT,"rawCommand");function eN(e,n){return(n===null||n===void 0?void 0:n.isCurrentProject)?"".concat(e5," ").concat(e2," ").concat(ej," ").concat(e):"".concat(e5," ").concat(ex," ").concat(e)}f(eN,"formatCLI");function eA(e,n){return typeof e=="function"?eN(e(n),n):(typeof e==="undefined"?"undefined":E(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?eN(e,n):e}f(eA,"formatCommand");function ey(e,n){return r(function(){var t;return d(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);k.start("".concat(e)),eS.DEBUG&&k.info("→ ".concat(n));return[4,e_(n)];case 1:r.sent(),k.success("".concat(e," done."));return[3,3];case 2:t=r.sent();F(t);return[3,3];case 3:return[2]}})})()}f(ey,"runCommand");var ev=h(),eh=ev.CWD,eG="@cyberskill/shared",eg="node_modules",eR="dist",eP="public",eM="package.json",eL="package-lock.json",eb="tsconfig.json",eU=".gitignore",ew=".simple-git-hooks.json",eY="pnpm-lock.yaml",eV=".git/hooks/",ek=".git/COMMIT_EDITMSG",eF=".migrate-mongo.config.js",eK=function(){var e=S.readJsonSync(er(eM)).name===eG?eh:ea(eh,eg,eG);return ea(e,eR)}(),ex="cyberskill",ej="src/node/cli/index.ts",eB="eslint",eH="eslint",eQ="vitest",eq="playwright",eJ="vitest",eW="@commitlint/cli",eX="@commitlint/config-conventional",e$="commitlint",ez="lint-staged",eZ="lint-staged",e0="typescript",e1="tsc",e2="tsx",e4="git",e3="pnpm",e5="pnpm exec",e6="simple-git-hooks",e7="simple-git-hooks",e8="@eslint/config-inspector",e9="eslint-config-inspector",ne="node-modules-inspector",nn="node-modules-inspector",nt="migrate-mongo",nr="./node_modules/migrate-mongo/bin/migrate-mongo",na={CYBERSKILL_DIRECTORY:eK,WORKING_DIRECTORY:eh,PUBLIC_DIRECTORY:er(eP),TS_CONFIG:er(eb),GIT_IGNORE:er(eU),GIT_HOOK:er(eV),GIT_COMMIT_MSG:er(ek),SIMPLE_GIT_HOOKS_JSON:er(ew),PACKAGE_JSON:er(eM),PACKAGE_LOCK_JSON:er(eL),PNPM_LOCK_YAML:er(eY),NODE_MODULES:er(eg),MIGRATE_MONGO_CONFIG:er(eF),LINT_STAGED_CONFIG:er("".concat(eK,"/config/lint-staged/index.js")),COMMITLINT_CONFIG:er("".concat(eK,"/config/commitlint/index.js")),VITEST_UNIT_CONFIG:er("".concat(eK,"/config/vitest/vitest.unit.js")),VITEST_UNIT_SETUP_CONFIG:er("".concat(eK,"/config/vitest/vitest.unit.setup.ts")),VITEST_E2E_CONFIG:er("".concat(eK,"/config/vitest/vitest.e2e.js")),VITEST_STORYBOOK_NEXTJS:er("".concat(eK,"/config/vitest/storybook/nextjs")),VITEST_STORYBOOK_NEXTJS_CONFIG:er("".concat(eK,"/config/vitest/storybook/nextjs/index.js"))};function no(e){var n=e.isCurrentProject;return c({"pre-commit":eZ,"commit-msg":e$},n&&{"pre-push":eT("".concat(e4," pull"))})}f(no,"createGitHooksConfig");function ns(e){var n=e.type,t=e.packages,a=e.command;var o=t===null||t===void 0?void 0:t.reduce(function(e,n){return e.some(function(e){return e.name===n.name})||e.push(n),e},[]);return function(){return r(function(){var e;return d(this,function(t){switch(t.label){case 0:switch(n){case G.CLI:return[3,1];case G.STRING:return[3,4]}return[3,5];case 1:e=o===null||o===void 0?void 0:o.length;if(!e)return[3,3];return[4,eE(o,{install:!0})];case 2:e=t.sent();t.label=3;case 3:return[2,(e,eA(eT("".concat(e5," ").concat(a))))];case 4:return[2,eA(eT(a))];case 5:throw new Error("Unsupported command type");case 6:return[2]}})})()}}f(ns,"buildCommand");var ni={simpleGitHooks:ns({type:G.CLI,packages:[{name:e6,type:K.DEV_DEPENDENCY}],command:e7}),eslintInspect:ns({type:G.CLI,packages:[{name:e8,type:K.DEV_DEPENDENCY}],command:e9}),nodeModulesInspect:ns({type:G.CLI,packages:[{name:ne,type:K.DEV_DEPENDENCY}],command:nn}),eslintCheck:ns({type:G.CLI,packages:[{name:eB,type:K.DEV_DEPENDENCY}],command:"".concat(eH," ").concat(na.WORKING_DIRECTORY," --no-cache")}),eslintFix:ns({type:G.CLI,packages:[{name:eB,type:K.DEV_DEPENDENCY}],command:"".concat(eH," ").concat(na.WORKING_DIRECTORY," --fix --no-cache")}),typescriptCheck:ns({type:G.CLI,packages:[{name:e0,type:K.DEPENDENCY}],command:"".concat(e1," -p ").concat(na.TS_CONFIG," --noEmit")}),testUnit:ns({type:G.CLI,packages:[{name:eQ,type:K.DEV_DEPENDENCY}],command:"".concat(eJ," --config ").concat(na.VITEST_UNIT_CONFIG)}),testE2e:ns({type:G.CLI,packages:[{name:eQ,type:K.DEV_DEPENDENCY}],command:"".concat(eJ," --config ").concat(na.VITEST_E2E_CONFIG)}),mongoMigrateCreate:f(function(e){return ns({type:G.CLI,packages:[{name:nt,type:K.DEPENDENCY}],command:"".concat(e2," ").concat(nr," create ").concat(e," -f ").concat(na.MIGRATE_MONGO_CONFIG)})()},"mongoMigrateCreate"),mongoMigrateUp:ns({type:G.CLI,packages:[{name:nt,type:K.DEPENDENCY}],command:"".concat(e2," ").concat(nr," up -f ").concat(na.MIGRATE_MONGO_CONFIG)}),mongoMigrateDown:ns({type:G.CLI,packages:[{name:nt,type:K.DEPENDENCY}],command:"".concat(e2," ").concat(nr," down -f ").concat(na.MIGRATE_MONGO_CONFIG)}),commitLint:ns({type:G.CLI,packages:[{name:eW,type:K.DEV_DEPENDENCY},{name:eX,type:K.DEV_DEPENDENCY}],command:"".concat(e$," --edit ").concat(na.GIT_COMMIT_MSG," --config ").concat(na.COMMITLINT_CONFIG)}),lintStaged:ns({type:G.CLI,packages:[{name:ez,type:K.DEV_DEPENDENCY}],command:"".concat(eZ," --config ").concat(na.LINT_STAGED_CONFIG)}),configureGitHook:ns({type:G.STRING,command:"".concat(e4," config core.hooksPath ").concat(na.GIT_HOOK)}),build:ns({type:G.STRING,command:"".concat(e3," run --if-present build")}),pnpmInstallStandard:ns({type:G.STRING,command:"".concat(e3," install --ignore-scripts")}),pnpmInstallLegacy:ns({type:G.STRING,command:"".concat(e3," install --ignore-scripts --legacy-peer-deps")}),pnpmInstallForce:ns({type:G.STRING,command:"".concat(e3," install --ignore-scripts --force")}),pnpmPruneStore:ns({type:G.STRING,command:"".concat(e3," store prune")}),pnpmCleanCache:ns({type:G.STRING,command:"".concat(e3," cache delete")})};export{eR as BUILD_DIRECTORY,e$ as COMMIT_LINT_CLI,eX as COMMIT_LINT_CONVENTIONAL_CONFIG_PACKAGE_NAME,eW as COMMIT_LINT_PACKAGE_NAME,ex as CYBERSKILL_CLI,ej as CYBERSKILL_CLI_PATH,eK as CYBERSKILL_DIRECTORY,eG as CYBERSKILL_PACKAGE_NAME,eH as ESLINT_CLI,e9 as ESLINT_INSPECT_CLI,e8 as ESLINT_INSPECT_PACKAGE_NAME,eB as ESLINT_PACKAGE_NAME,e4 as GIT_CLI,ek as GIT_COMMIT_EDITMSG,eV as GIT_HOOK,eU as GIT_IGNORE,eZ as LINT_STAGED_CLI,ez as LINT_STAGED_PACKAGE_NAME,nr as MIGRATE_MONGO_CLI,eF as MIGRATE_MONGO_CONFIG,nt as MIGRATE_MONGO_PACKAGE_NAME,eg as NODE_MODULES,nn as NODE_MODULES_INSPECT_CLI,ne as NODE_MODULES_INSPECT_PACKAGE_NAME,eM as PACKAGE_JSON,eL as PACKAGE_LOCK_JSON,na as PATH,eq as PLAYWRIGHT_PACKAGE_NAME,e3 as PNPM_CLI,e5 as PNPM_EXEC_CLI,eY as PNPM_LOCK_YAML,eP as PUBLIC_DIRECTORY,e6 as SIMPLE_GIT_HOOKS_PACKAGE_NAME,e7 as SIMPLE_GIT_HOOK_CLI,ew as SIMPLE_GIT_HOOK_JSON,eb as TSCONFIG_JSON,e1 as TSC_CLI,e0 as TSC_PACKAGE_NAME,e2 as TSX_CLI,eJ as VITEST_CLI,eQ as VITEST_PACKAGE_NAME,eh as WORKING_DIRECTORY,ni as command,no as createGitHooksConfig};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cyberskill/shared",
3
3
  "type": "module",
4
- "version": "1.174.0",
4
+ "version": "1.176.0",
5
5
  "description": "CyberSkill Shared",
6
6
  "author": "Stephen Cheng",
7
7
  "license": "MIT",
@@ -222,22 +222,32 @@
222
222
  "commitlint": "tsx src/node/cli/index.ts commitlint"
223
223
  },
224
224
  "dependencies": {
225
- "@antfu/eslint-config": "4.13.3",
225
+ "@antfu/eslint-config": "4.14.1",
226
226
  "@apollo/client": "3.13.8",
227
227
  "@apollo/server": "4.12.2",
228
+ "@chromatic-com/storybook": "4.0.0",
229
+ "@commitlint/cli": "19.8.1",
230
+ "@commitlint/config-conventional": "19.8.1",
228
231
  "@dotenvx/dotenvx": "1.44.1",
229
232
  "@eddeee888/gcg-typescript-resolver-files": "0.12.1",
230
- "@eslint-react/eslint-plugin": "1.51.0",
233
+ "@eslint-react/eslint-plugin": "1.51.2",
234
+ "@eslint/config-inspector": "1.1.0",
231
235
  "@graphql-codegen/cli": "5.0.7",
232
236
  "@graphql-codegen/client-preset": "4.8.2",
233
237
  "@microsoft/api-extractor": "7.52.8",
234
- "@nestjs/common": "11.1.2",
235
- "@nestjs/core": "11.1.2",
238
+ "@nestjs/common": "11.1.3",
239
+ "@nestjs/core": "11.1.3",
236
240
  "@next/eslint-plugin-next": "15.3.3",
241
+ "@storybook/addon-a11y": "9.0.6",
242
+ "@storybook/addon-docs": "9.0.6",
243
+ "@storybook/addon-onboarding": "9.0.6",
244
+ "@storybook/addon-vitest": "9.0.6",
245
+ "@storybook/nextjs-vite": "9.0.6",
237
246
  "@testing-library/jest-dom": "6.6.3",
238
247
  "@testing-library/react": "16.3.0",
239
248
  "@vitejs/plugin-react-swc": "3.10.1",
240
249
  "@vitest/browser": "3.2.2",
250
+ "@vitest/coverage-v8": "3.2.2",
241
251
  "body-parser": "2.2.0",
242
252
  "chalk": "5.4.1",
243
253
  "clsx": "2.1.1",
@@ -249,10 +259,12 @@
249
259
  "date-fns": "4.1.0",
250
260
  "dotenv-cli": "8.0.0",
251
261
  "envalid": "8.0.0",
262
+ "eslint": "9.28.0",
252
263
  "eslint-config-next": "15.3.3",
253
264
  "eslint-plugin-format": "1.0.1",
254
265
  "eslint-plugin-react-hooks": "5.2.0",
255
266
  "eslint-plugin-react-refresh": "0.4.20",
267
+ "eslint-plugin-storybook": "9.0.6",
256
268
  "express": "4.21.2",
257
269
  "express-session": "1.18.1",
258
270
  "express-useragent": "1.0.15",
@@ -262,6 +274,7 @@
262
274
  "graphql-ws": "6.0.5",
263
275
  "i18next": "25.2.1",
264
276
  "jsdom": "26.1.0",
277
+ "lint-staged": "16.1.0",
265
278
  "localforage": "1.10.0",
266
279
  "migrate-mongo": "12.1.3",
267
280
  "modern-normalize": "3.0.1",
@@ -271,6 +284,7 @@
271
284
  "mongoose-paginate-v2": "1.9.1",
272
285
  "next-intl": "4.1.0",
273
286
  "node-fetch": "3.3.2",
287
+ "node-modules-inspector": "0.6.8",
274
288
  "node-persist": "4.0.4",
275
289
  "playwright": "1.52.0",
276
290
  "postcss-modules": "6.0.1",
@@ -281,7 +295,10 @@
281
295
  "react-i18next": "15.5.2",
282
296
  "react-icons": "5.5.0",
283
297
  "sass": "1.89.1",
298
+ "simple-git-hooks": "2.13.0",
284
299
  "slugify": "1.6.6",
300
+ "storybook": "9.0.6",
301
+ "styled-jsx": "5.1.7",
285
302
  "tsup": "8.5.0",
286
303
  "tsx": "4.19.4",
287
304
  "typescript": "5.8.3",
@@ -298,16 +315,13 @@
298
315
  "registry": "https://registry.npmjs.org/"
299
316
  },
300
317
  "devDependencies": {
301
- "@commitlint/cli": "19.8.1",
302
- "@commitlint/config-conventional": "19.8.1",
303
- "@eslint/config-inspector": "1.0.2",
304
- "@types/body-parser": "1.19.5",
305
- "@types/compression": "1.8.0",
306
- "@types/cookie-parser": "1.4.8",
307
- "@types/cors": "2.8.18",
318
+ "@types/body-parser": "1.19.6",
319
+ "@types/compression": "1.8.1",
320
+ "@types/cookie-parser": "1.4.9",
321
+ "@types/cors": "2.8.19",
308
322
  "@types/crypto-js": "4.2.2",
309
323
  "@types/express": "4.17.21",
310
- "@types/express-session": "1.18.1",
324
+ "@types/express-session": "1.18.2",
311
325
  "@types/express-useragent": "1.0.5",
312
326
  "@types/fs-extra": "11.0.4",
313
327
  "@types/migrate-mongo": "10.0.5",
@@ -318,10 +332,6 @@
318
332
  "@types/unorm": "1.3.31",
319
333
  "@types/uuid": "10.0.0",
320
334
  "@types/ws": "8.18.1",
321
- "@types/yargs": "17.0.33",
322
- "eslint": "9.28.0",
323
- "lint-staged": "16.1.0",
324
- "node-modules-inspector": "0.6.8",
325
- "simple-git-hooks": "2.13.0"
335
+ "@types/yargs": "17.0.33"
326
336
  }
327
337
  }