@cyberskill/shared 1.102.0 → 1.104.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 (49) hide show
  1. package/dist/_tsup-dts-rollup.d.cts +50 -51
  2. package/dist/_tsup-dts-rollup.d.ts +50 -51
  3. package/dist/configs/config.util.cjs +1 -1
  4. package/dist/configs/config.util.js +1 -1
  5. package/dist/configs/index.cjs +1 -1
  6. package/dist/configs/index.js +1 -1
  7. package/dist/index.cjs +1 -1
  8. package/dist/index.d.cts +2 -2
  9. package/dist/index.d.ts +2 -2
  10. package/dist/index.js +1 -1
  11. package/dist/nodejs/cli/cli.util.cjs +1 -1
  12. package/dist/nodejs/cli/cli.util.js +1 -1
  13. package/dist/nodejs/cli/index.cjs +1 -1
  14. package/dist/nodejs/cli/index.js +1 -1
  15. package/dist/nodejs/command/command.util.cjs +1 -1
  16. package/dist/nodejs/command/command.util.js +1 -1
  17. package/dist/nodejs/command/index.cjs +1 -1
  18. package/dist/nodejs/command/index.js +1 -1
  19. package/dist/nodejs/index.cjs +1 -1
  20. package/dist/nodejs/index.d.cts +2 -2
  21. package/dist/nodejs/index.d.ts +2 -2
  22. package/dist/nodejs/index.js +1 -1
  23. package/dist/nodejs/mongo/index.cjs +1 -1
  24. package/dist/nodejs/mongo/index.d.cts +0 -1
  25. package/dist/nodejs/mongo/index.d.ts +0 -1
  26. package/dist/nodejs/mongo/index.js +1 -1
  27. package/dist/nodejs/mongo/mongo.type.d.cts +0 -1
  28. package/dist/nodejs/mongo/mongo.type.d.ts +0 -1
  29. package/dist/nodejs/mongo/mongo.util.cjs +1 -1
  30. package/dist/nodejs/mongo/mongo.util.js +1 -1
  31. package/dist/nodejs/package/index.cjs +1 -1
  32. package/dist/nodejs/package/index.js +1 -1
  33. package/dist/nodejs/package/package.util.cjs +1 -1
  34. package/dist/nodejs/package/package.util.js +1 -1
  35. package/dist/nodejs/path/index.cjs +1 -1
  36. package/dist/nodejs/path/index.d.cts +2 -1
  37. package/dist/nodejs/path/index.d.ts +2 -1
  38. package/dist/nodejs/path/index.js +1 -1
  39. package/dist/nodejs/path/path.constant.cjs +1 -1
  40. package/dist/nodejs/path/path.constant.d.cts +2 -1
  41. package/dist/nodejs/path/path.constant.d.ts +2 -1
  42. package/dist/nodejs/path/path.constant.js +1 -1
  43. package/dist/react/index.cjs +1 -1
  44. package/dist/react/index.js +1 -1
  45. package/dist/react/vitest/index.cjs +1 -1
  46. package/dist/react/vitest/index.js +1 -1
  47. package/dist/react/vitest/vitest.unit.cjs +1 -1
  48. package/dist/react/vitest/vitest.unit.js +1 -1
  49. package/package.json +7 -8
@@ -1 +1 @@
1
- "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(t){if(Array.isArray(t))return e(t)}function n(e,t,n,r,a,o,i){try{var c=e[o](i);var u=c.value}catch(e){n(e);return}if(c.done){t(u)}else{Promise.resolve(u).then(r,a)}}function r(e){return function(){var t=this,r=arguments;return new Promise(function(a,o){var i=e.apply(t,r);function c(e){n(i,a,o,c,u,"next",e)}function u(e){n(i,a,o,c,u,"throw",e)}c(undefined)})}}function a(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function o(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function i(e){if(typeof WeakMap!=="function")return null;var t=new WeakMap;var n=new WeakMap;return(i=function(e){return e?n:t})(e)}function c(e,t){if(!t&&e&&e.__esModule){return e}if(e===null||typeof e!=="object"&&typeof e!=="function"){return{default:e}}var n=i(t);if(n&&n.has(e)){return n.get(e)}var r={__proto__:null};var a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e){if(o!=="default"&&Object.prototype.hasOwnProperty.call(e,o)){var c=a?Object.getOwnPropertyDescriptor(e,o):null;if(c&&(c.get||c.set)){Object.defineProperty(r,o,c)}else{r[o]=e[o]}}}r.default=e;if(n){n.set(e,r)}return r}function u(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function s(){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 l(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){a(e,t,n[t])})}return e}function f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}n.push.apply(n,r)}return n}function d(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{f(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function p(e){return t(e)||u(e)||g(e)||s()}function v(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function g(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 h(e,t){var n,r,a,o={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},i=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return i.next=c(0),i["throw"]=c(1),i["return"]=c(2),typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function c(e){return function(t){return u([e,t])}}function u(c){if(n)throw new TypeError("Generator is already executing.");while(i&&(i=0,c[0]&&(o=0)),o)try{if(n=1,r&&(a=c[0]&2?r["return"]:c[0]?r["throw"]||((a=r["return"])&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;if(r=0,a)c=[c[0]&2,a.value];switch(c[0]){case 0:case 1:a=c;break;case 4:o.label++;return{value:c[1],done:false};case 5:o.label++;r=c[1];c=[0];continue;case 7:c=o.ops.pop();o.trys.pop();continue;default:if(!(a=o.trys,a=a.length>0&&a[a.length-1])&&(c[0]===6||c[0]===2)){o=0;continue}if(c[0]===3&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(c[0]===6&&o.label<a[1]){o.label=a[1];a=c;break}if(a&&o.label<a[2]){o.label=a[2];o.ops.push(c);break}if(a[2])o.ops.pop();o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e];r=0}finally{n=a=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var y=Object.create;var m=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,E=Object.prototype.hasOwnProperty;var O=function(e,t){return m(e,"name",{value:t,configurable:!0})};var I=function(e,t){for(var n in t)m(e,n,{get:t[n],enumerable:!0})},S=function(e,t,n,r){var a=true,o=false,i=undefined;if(t&&(typeof t==="undefined"?"undefined":v(t))=="object"||typeof t=="function")try{var c=function(){var a=s.value;!E.call(e,a)&&a!==n&&m(e,a,{get:function(){return t[a]},enumerable:!(r=b(t,a))||r.enumerable})};for(var u=_(t)[Symbol.iterator](),s;!(a=(s=u.next()).done);a=true)c()}catch(e){o=true;i=e}finally{try{if(!a&&u.return!=null){u.return()}}finally{if(o){throw i}}}return e};var C=function(e,t,n){return n=e!=null?y(w(e)):{},S(t||!e||!e.__esModule?m(n,"default",{value:e,enumerable:!0}):n,e)},T=function(e){return S(m({},"__esModule",{value:!0}),e)};var P={};I(P,{vitestUnit:function(){return tL}});module.exports=T(P);var R=C(require("@vitejs/plugin-react-swc"),1),j=require("vitest/config");var D=".cyberskill-storage";var G=C(require("dotenv"),1),N=require("envalid"),k=C(require("os"),1),U=C(require("path"),1),L=C(require("process"),1);G.default.config();function A(){var e={DEBUG:L.default.env.DEBUG||!1,CWD:L.default.env.CWD||L.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:L.default.env.CYBERSKILL_STORAGE_DIRECTORY||U.default.join(k.default.homedir(),D)};return(0,N.cleanEnv)(e,{DEBUG:(0,N.bool)(),CWD:(0,N.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,N.str)()})}O(A,"getEnv");var M="MONGO_MIGRATE_OPTIONS";var x=require("mongodb"),q=require("mongoose");var F=require("date-fns"),K=C(require("migrate-mongo"),1),W=require("mongoose"),B=C(require("mongoose-aggregate-paginate-v2"),1),Y=C(require("mongoose-paginate-v2"),1),J=require("uuid");var H=C(require("node-persist"),1);var $=function(e){return e.Error="error",e.Warning="warning",e}({});var Q=C(require("chalk"),1),V=C(require("consola"),1),z=require("graphql");var X=A();X.DEBUG||(V.default.level=4);function Z(e){var t=Q.default[e];return typeof t=="function"?t:Q.default.green}O(Z,"chalkKeyword");var ee={silent:V.default.silent,level:V.default.level,fatal:V.default.fatal,error:V.default.error,warn:V.default.warn,log:V.default.log,info:V.default.info,success:V.default.success,ready:V.default.ready,start:V.default.start,box:V.default.box,debug:V.default.debug,trace:V.default.trace,verbose:V.default.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){V.default.box(Q.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,a=e.rule,o=e.message;V.default.log("".concat(Q.default.gray("File:")," ").concat(Q.default.blue("".concat(t).concat(r?":".concat(r):"")))),a&&V.default.log(" ".concat(Z(n)("Rule:")," ").concat(a)),V.default.log(" ".concat(Z(n)("Message:")," ").concat(o))}),V.default.box(Z(n)("".concat(e," : ").concat(t.length))),V.default.log(Q.default.gray("─".repeat(40)))}};var et=A();function en(){return er.apply(this,arguments)}function er(){er=r(function(){var e;return h(this,function(t){switch(t.label){case 0:e=H.default.defaultInstance;if(e)return[3,2];return[4,H.default.init({dir:et.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})});return er.apply(this,arguments)}O(en,"initNodePersist");var ea={get:function e(e){return r(function(){var t,n;return h(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,en()];case 1:r.sent();return[4,H.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(ee.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return r(function(){var n;return h(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,en()];case 1:r.sent();return[4,H.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();ee.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return r(function(){var t;return h(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,en()];case 1:n.sent();return[4,H.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();ee.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return r(function(){var e,t;return h(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,en()];case 1:n.sent();return[4,H.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(ee.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(ee.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return r(function(){return h(this,function(t){try{return[2,"".concat(et.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(ee.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eo=C(require("crypto-js"),1),ei=C(require("slugify"),1);var ec=ei.default.default||ei.default;var eu={isEmpty:function e(e){return e==null?!0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":v(e))=="object"?o(e,Date)?!1:Object.keys(e).length===0:typeof e=="string"?e.trim().length===0:!1}};var es={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return(0,F.format)(e,"yyyy-MM-dd HH:mm:ss.SSS")},createGenericFields:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.returnDateAs,n=t===void 0?"string":t;var r=n==="string"?es.getDateTime():new Date;return{id:(0,J.v4)(),isDel:!1,createdAt:r,updatedAt:r}},applyPlugins:function e(e,t){t.filter(function(e){return typeof e=="function"}).forEach(function(t){return e.plugin(t)})},applyMiddlewares:function e(e,t){t.forEach(function(t){var n=t.method,r=t.pre,a=t.post;n&&r&&e.pre(n,r),n&&a&&e.post(n,a)})},createGenericSchema:function e(e){return new e.Schema({id:{type:String,default:J.v4,required:!0,unique:!0},isDel:{type:Boolean,default:!1,required:!0}},{timestamps:!0})},createSchema:function e(e){var t=e.mongoose,n=e.schema,r=e.virtuals,a=r===void 0?[]:r,o=e.standalone,i=o===void 0?!1:o;var c=new t.Schema(n,{strict:!0});return a.forEach(function(e){var t=e.name,n=e.options,r=e.get;var a=c.virtual(t,n);r&&a.get(r)}),i||c.add(es.createGenericSchema(t)),c},createModel:function e(e){var t=e.mongoose,n=e.name,r=e.schema,a=e.pagination,o=a===void 0?!1:a,i=e.aggregate,c=i===void 0?!1:i,u=e.virtuals,s=u===void 0?[]:u,l=e.middlewares,f=l===void 0?[]:l;if(!n)throw new Error("Model name is required.");if(t.models[n])return t.models[n];var d=es.createSchema({mongoose:t,schema:r,virtuals:s});return es.applyPlugins(d,[o&&Y.default,c&&B.default]),es.applyMiddlewares(d,f),t.model(n,d)},createSlugQuery:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return d(l({},t,n&&{id:{$ne:n}}),{$or:[{slug:e},{slugHistory:e}]})},validator:{isEmpty:function e(){return /*#__PURE__*/function(){var e=r(function(e){return h(this,function(t){return[2,!eu.isEmpty(e)]})});return function(t){return e.apply(this,arguments)}}()},isUnique:function e(e){return /*#__PURE__*/function(){var t=r(function(t){var n;return h(this,function(r){switch(r.label){case 0:if(!Array.isArray(e)||e.length===0)throw new Error("Fields must be a non-empty array of strings.");n={$or:e.map(function(e){return a({},e,t)})};return[4,this.constructor.findOne(n)];case 1:return[2,!r.sent()]}})});return function(e){return t.apply(this,arguments)}}()},matchesRegex:function e(e){return /*#__PURE__*/function(){var t=r(function(t){return h(this,function(n){if(!Array.isArray(e)||e.some(function(e){return!o(e,RegExp)}))throw new Error("regexArray must be an array of valid RegExp objects.");return[2,e.every(function(e){return e.test(t)})]})});return function(e){return t.apply(this,arguments)}}()}},migrate:{withConfig:O(/*#__PURE__*/function(){var e=r(function(e,t){var n,r,a,o;return h(this,function(i){switch(i.label){case 0:return[4,ea.get(M)];case 1:n=i.sent();if(!n)throw new Error("Missing migrate config");if(K.default.config.set(n),!t)return[2,e(void 0)];return[4,K.default.database.connect()];case 2:r=i.sent(),a=r.db,o=r.client;i.label=3;case 3:i.trys.push([3,,5,7]);return[4,e({db:a,client:o})];case 4:return[2,i.sent()];case 5:return[4,o.close()];case 6:i.sent();return[7];case 7:return[2]}})});return function(t,n){return e.apply(this,arguments)}}(),"withConfig"),init:O(/*#__PURE__*/r(function(){return h(this,function(e){switch(e.label){case 0:return[4,K.default.init()];case 1:e.sent();return[2]}})}),"init"),create:O(/*#__PURE__*/function(){var e=r(function(e){return h(this,function(t){switch(t.label){case 0:return[4,es.migrate.withConfig(function(){return K.default.create(e)})];case 1:t.sent();return[2]}})});return function(t){return e.apply(this,arguments)}}(),"create"),up:O(/*#__PURE__*/r(function(){return h(this,function(e){switch(e.label){case 0:return[4,Promise.resolve().then(function(){return /*#__PURE__*/c(require("ts-node"))}).then(function(e){return e.register({transpileOnly:!0})})];case 1:e.sent();return[4,es.migrate.withConfig(/*#__PURE__*/function(){var e=r(function(e){var t,n;return h(this,function(r){switch(r.label){case 0:t=e.db,n=e.client;return[4,K.default.up(t,n)];case 1:r.sent();return[2]}})});return function(t){return e.apply(this,arguments)}}(),!0)];case 2:e.sent();return[2]}})}),"up"),down:O(/*#__PURE__*/r(function(){return h(this,function(e){switch(e.label){case 0:return[4,Promise.resolve().then(function(){return /*#__PURE__*/c(require("ts-node"))}).then(function(e){return e.register({transpileOnly:!0})})];case 1:e.sent();return[4,es.migrate.withConfig(/*#__PURE__*/function(){var e=r(function(e){var t,n;return h(this,function(r){switch(r.label){case 0:t=e.db,n=e.client;return[4,K.default.down(t,n)];case 1:r.sent();return[2]}})});return function(t){return e.apply(this,arguments)}}(),!0)];case 2:e.sent();return[2]}})}),"down"),status:O(/*#__PURE__*/r(function(){return h(this,function(e){switch(e.label){case 0:return[4,es.migrate.withConfig(/*#__PURE__*/function(){var e=r(function(e){var t;return h(this,function(n){switch(n.label){case 0:t=e.db;return[4,K.default.status(t)];case 1:n.sent();return[2]}})});return function(t){return e.apply(this,arguments)}}(),!0)];case 1:e.sent();return[2]}})}),"status"),config:O(function(e){ea.set(M,e)},"config")}};var el=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var ef=require("child_process"),ed=C(require("process"),1),ep=C(require("util"),1);var ev={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var eg=C(require("node-fetch"),1);var eh=C(require("fs-extra"),1),ey=require("path");var em=eh.default,eb=em.readFileSync,e_=em.writeFileSync,ew=em.pathExistsSync,eE=em.appendFileSync,eO=em.copySync,eI=em.removeSync,eS=em.statSync,eC=eh.default.readJsonSync,eT=eh.default.writeJsonSync;function eP(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return ew(e)})}O(eP,"existsSync");var eR=A();function ej(e){var t=e2(eR.CWD,e8);if(!eP(t))return!1;try{var n=eC(t),r=n.name,a=n.dependencies,o=a===void 0?{}:a,i=n.devDependencies,c=i===void 0?{}:i,u=r===e,s=e in o,l=e in c;return u||s||l?{path:t,file:n,isCurrentProject:u,isDepend:s,isDevDepend:l}:!1}catch(e){return ee.warn("Failed to read package.json: ".concat(e.message)),!1}}O(ej,"getPackage");function eD(e){return eG.apply(this,arguments)}function eG(){eG=r(function(e){var t,n,r,a;return h(this,function(o){switch(o.label){case 0:o.trys.push([0,3,,4]);return[4,(0,eg.default)("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=o.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=o.sent(),r=n.version;return[2,r];case 3:a=o.sent();throw ee.error('Failed to fetch version for "'.concat(e,'": ').concat(a.message)),a;case 4:return[2]}})});return eG.apply(this,arguments)}O(eD,"getLatestPackageVersion");function eN(e,t){return ek.apply(this,arguments)}function ek(){ek=r(function(e,t){var n,r,a,o,i,c,u,s,f,d,p,v,g,y,m,b,_,w,E,O,I;return h(this,function(h){switch(h.label){case 0:h.trys.push([0,4,,5]);n=ej(e);if(!n)return[2,l({},ev)];u=n.path,s=n.file,f=n.isCurrentProject,d=n.isDepend,p=n.isDevDepend,v=(r=s.dependencies)!==null&&r!==void 0?r:{},g=(a=s.devDependencies)!==null&&a!==void 0?a:{},y=f?(o=s.version)!==null&&o!==void 0?o:"0.0.0":d?(i=v[e])!==null&&i!==void 0?i:"0.0.0":p?(c=g[e])!==null&&c!==void 0?c:"0.0.0":"0.0.0";if(!f)return[3,1];_=y;return[3,3];case 1:return[4,eD(e)];case 2:_=h.sent();h.label=3;case 3:m=_,b=f||y===m;if(!b&&(t===null||t===void 0?void 0:t.update)){;E=d?"dependencies":p?"devDependencies":null;E&&((w=s[E])===null||w===void 0?void 0:w[e])!==m&&(s[E]=(O=s[E])!==null&&O!==void 0?O:{},s[E][e]=m,eT(u,s),ee.info('Updated "'.concat(e,'" to version ').concat(m)))}return[2,{isCurrentProject:f,installedPath:u,file:s,isUpToDate:b}];case 4:I=h.sent();return[2,(ee.error('Error checking package "'.concat(e,'": ').concat(I.message)),l({},ev))];case 5:return[2]}})});return ek.apply(this,arguments)}O(eN,"checkPackage");function eU(){return eL.apply(this,arguments)}function eL(){eL=r(function(){var e,t,n,r,a,o,i,c,u,s,l,f;return h(this,function(d){switch(d.label){case 0:e=[{command:O(function(){return tU.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:O(function(){return tU.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:O(function(){return tU.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=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(!!(t=(o=a.next()).done))return[3,8];i=o.value,c=i.command,u=i.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,c()];case 4:s=d.sent();return[4,ez("".concat(u," using: ").concat(s),s)];case 5:d.sent();return[2];case 6:l=d.sent();ee.warn("Installation attempt failed: ".concat(u)),ee.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:f=d.sent();n=true;r=f;return[3,11];case 10:try{if(!t&&a.return!=null){a.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})});return eL.apply(this,arguments)}O(eU,"installDependencies");function eA(e,t){return eM.apply(this,arguments)}function eM(){eM=r(function(e,t){var n,r,a,o,i,c,u,s,f,d,v;return h(this,function(g){switch(g.label){case 0:if(!eP(tD.PACKAGE_JSON)){ee.error("package.json not found. Aborting setup.");return[2]}g.label=1;case 1:g.trys.push([1,13,,14]);n=p(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return eN(e,l({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=g.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,eU()];case 3:r=g.sent();g.label=4;case 4:r;o=true,i=false,c=undefined;g.label=5;case 5:g.trys.push([5,10,11,12]);u=((a=t===null||t===void 0?void 0:t.postInstallActions)!==null&&a!==void 0?a:[])[Symbol.iterator]();g.label=6;case 6:if(!!(o=(s=u.next()).done))return[3,9];f=s.value;return[4,f()];case 7:g.sent();g.label=8;case 8:o=true;return[3,6];case 9:return[3,12];case 10:d=g.sent();i=true;c=d;return[3,12];case 11:try{if(!o&&u.return!=null){u.return()}}finally{if(i){throw c}}return[7];case 12:return[3,14];case 13:v=g.sent();throw ee.error('Failed to setup "'.concat(e.join(", "),'": ').concat(v.message)),v;case 14:return[2]}})});return eM.apply(this,arguments)}O(eA,"setupPackages");var ex=A(),eq=ep.promisify(ef.exec);function eF(e){return"error_list:".concat(e)}O(eF,"getErrorListKey");function eK(e){return eW.apply(this,arguments)}function eW(){eW=r(function(e){var t,n,a;return h(this,function(o){switch(o.label){case 0:if(e.length===0)return[2];t=Date.now(),n=eF(t);o.label=1;case 1:o.trys.push([1,3,,4]);return[4,ea.set(n,{errors:e,timestamp:t})];case 2:o.sent(),setTimeout(/*#__PURE__*/r(function(){var e;return h(this,function(t){switch(t.label){case 0:return[4,ea.getLogLink(n)];case 1:e=t.sent();e&&ee.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:a=o.sent();ee.error("Failed to save errors: ".concat(a.message));return[3,4];case 4:return[2]}})});return eW.apply(this,arguments)}O(eK,"saveErrorListToStorage");function eB(e){var t=[],n=[],r="",a=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,o=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,i=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var c,u,s,l,f;var d=a.exec(e)||[],p=o.exec(e)||[],v=i.exec(e)||[];var g,h,y,m,b,_;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===$.Error?$.Error:$.Warning,message:(g=d===null||d===void 0?void 0:(c=d[4])===null||c===void 0?void 0:c.trim())!==null&&g!==void 0?g:"",rule:(h=d===null||d===void 0?void 0:(u=d[5])===null||u===void 0?void 0:u.trim())!==null&&h!==void 0?h:""}):p.length?t.push({file:(y=p===null||p===void 0?void 0:p[1])!==null&&y!==void 0?y:"",position:"".concat(p[2],":").concat(p[3]),type:p[4]===$.Error?$.Error:$.Warning,message:(m=p===null||p===void 0?void 0:(s=p[5])===null||s===void 0?void 0:s.trim())!==null&&m!==void 0?m:""}):v.length?t.push({file:"commitlint",type:$.Error,message:(b=v===null||v===void 0?void 0:(l=v[1])===null||l===void 0?void 0:l.trim())!==null&&b!==void 0?b:"",rule:(_=v===null||v===void 0?void 0:(f=v[2])===null||f===void 0?void 0:f.trim())!==null&&_!==void 0?_:""}):n.push(e.trim())}}),t.length&&eK(t),ex.DEBUG&&n.length&&(ee.warn("Unmatched lines:"),n.forEach(function(e){return ee.info(" ".concat(e))}))}O(eB,"parseTextErrors");function eY(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,a=e.line,o=e.column,i=e.ruleId,c=e.message;n.push({type:r===2?$.Error:$.Warning,file:t,position:"".concat(a,":").concat(o),rule:i,message:c})})}),n.length&&eK(n)}catch(t){eB(e)}}O(eY,"parseCommandOutput");function eJ(e){return eH.apply(this,arguments)}function eH(){eH=r(function(e){var t,n,r,a,o,i,c,u,s;var l=arguments;return h(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:eY;n=new AbortController;ed.default.on("SIGINT",function(){ee.warn("Process interrupted. Terminating..."),n.abort(),ed.default.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,eq(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),a=r.stdout,o=r.stderr;[a,o].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:i=f.sent();c=i.stdout,u=i.stderr,s=i.message;[c,u].forEach(function(e){return e&&t(e)}),!u&&!c&&ee.error("Command failed: ".concat(s));return[3,5];case 5:return[2]}})});return eH.apply(this,arguments)}O(eJ,"executeCommand");function e$(e){return{raw:!0,cmd:e}}O(e$,"rawCommand");function eQ(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(tO," ").concat(e5," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tO," ").concat(t_," ").concat(tu," ").concat(e):"".concat(tO," ").concat(tc," ").concat(e)}O(eQ,"formatCLI");function eV(e,t){return typeof e=="function"?eQ(e(t),t):(typeof e==="undefined"?"undefined":v(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?eQ(e,t):e}O(eV,"formatCommand");function ez(e,t){return eX.apply(this,arguments)}function eX(){eX=r(function(e,t){var n;return h(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);ee.start("".concat(e)),ex.DEBUG&&ee.info("→ ".concat(t));return[4,eJ(t)];case 1:r.sent(),ee.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw ee.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})});return eX.apply(this,arguments)}O(ez,"runCommand");var eZ=require("path");var e0=A();function e1(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,eZ.resolve).apply(this,[e0.CWD].concat(p(t)))}O(e1,"resolveWorkingPath");function e2(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,eZ.join).apply(this,p(t))}O(e2,"join");var e4=A(),e3=e4.CWD,e5="@cyberskill/shared",e6="node_modules",e7="dist",e8="package.json",e9="package-lock.json",te="tsconfig.json",tt=".gitignore",tn=".simple-git-hooks.json",tr="pnpm-lock.yaml",ta=".git/hooks/",to=".git/COMMIT_EDITMSG",ti=e2(e3,e6,e5,e7),tc="cyberskill",tu="src/nodejs/cli/index.ts",ts="eslint",tl="eslint",tf="vitest",td="playwright",tp="vitest",tv="@commitlint/cli",tg="commitlint",th="lint-staged",ty="lint-staged",tm="typescript",tb="tsc",t_="tsx",tw="git",tE="pnpm",tO="pnpm exec",tI="simple-git-hooks",tS="simple-git-hooks",tC="@eslint/config-inspector",tT="eslint-config-inspector",tP="node-modules-inspector",tR="node-modules-inspector",tj="migrate-mongo";var tD={CYBERSKILL_DIRECTORY:ti,WORKING_DIRECTORY:e3,TS_CONFIG:e1(te),GIT_IGNORE:e1(tt),GIT_HOOK:e1(ta),GIT_COMMIT_MSG:e1(to),SIMPLE_GIT_HOOKS_JSON:e1(tn),PACKAGE_JSON:e1(e8),PACKAGE_LOCK_JSON:e1(e9),PNPM_LOCK_YAML:e1(tr),NODE_MODULES:e1(e6),LINT_STAGED_CONFIG:e1("".concat(ti,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:e1("".concat(ti,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:e1("".concat(ti,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:e1("".concat(ti,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:e1("".concat(ti,"/react/vitest/vitest.e2e.js"))};function tG(e,t,n){return tN.apply(this,arguments)}function tN(){tN=r(function(e,t,n){return h(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case el.CLI:return[3,1];case el.STRING:return[3,3];case el.FUNCTION:return[3,4]}return[3,6];case 1:return[4,eA(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),eV(e$("".concat(tO," ").concat(n))))];case 3:return[2,eV(e$(t))];case 4:return[4,eA(t.split(" "),{update:!0})];case 5:if(r.sent(),typeof n=="function")return[2,n()];throw new Error("'second' argument is not a callable function");case 6:throw new Error("Unsupported command type");case 7:return[2]}})});return tN.apply(this,arguments)}O(tG,"buildCommand");function tk(e,t,n){return /*#__PURE__*/r(function(){return h(this,function(r){return[2,tG(e,t,n)]})})}O(tk,"commandFactory");var tU={simpleGitHooks:tk(el.CLI,tI,tS),eslintInspect:tk(el.CLI,tC,tT),nodeModulesInspect:tk(el.CLI,tP,tR),eslintCheck:tk(el.CLI,ts,"".concat(tl," ").concat(tD.WORKING_DIRECTORY)),eslintFix:tk(el.CLI,ts,"".concat(tl," ").concat(tD.WORKING_DIRECTORY," --fix")),typescriptCheck:tk(el.CLI,tm,"".concat(tb," -p ").concat(tD.TS_CONFIG," --noEmit")),configureGitHook:tk(el.STRING,"".concat(tw," config core.hooksPath ").concat(tD.GIT_HOOK)),testUnit:tk(el.CLI,tf,"".concat(tp," --config ").concat(tD.UNIT_TEST_CONFIG)),testE2e:tk(el.CLI,"".concat(tf," ").concat(td),"".concat(tp," --config ").concat(tD.E2E_TEST_CONFIG)),mongoMigrateCreate:O(function(e){return tk(el.FUNCTION,"".concat(tj),function(){return es.migrate.create(e)})()},"mongoMigrateCreate"),mongoMigrateUp:tk(el.FUNCTION,"".concat(tj),es.migrate.up),mongoMigrateDown:tk(el.FUNCTION,"".concat(tj),es.migrate.down),commitLint:tk(el.CLI,tv,"".concat(tg," --edit ").concat(tD.GIT_COMMIT_MSG," --config ").concat(tD.COMMITLINT_CONFIG)),lintStaged:tk(el.CLI,th,"".concat(ty," --config ").concat(tD.LINT_STAGED_CONFIG)),stageBuildDirectory:tk(el.STRING,"".concat(tw," add ").concat(e7)),build:tk(el.STRING,"".concat(tE," run build")),pnpmInstallStandard:tk(el.STRING,"".concat(tE," install")),pnpmInstallLegacy:tk(el.STRING,"".concat(tE," install --legacy-peer-deps")),pnpmInstallForce:tk(el.STRING,"".concat(tE," install --force"))};function tL(e){return(0,j.defineConfig)(l({plugins:[(0,R.default)()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[tD.UNIT_TEST_SETUP_CONFIG]}},e))}O(tL,"vitestUnit");0&&(module.exports={vitestUnit:vitestUnit});
1
+ "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(t){if(Array.isArray(t))return e(t)}function n(e,t,n,r,a,o,c){try{var i=e[o](c);var s=i.value}catch(e){n(e);return}if(i.done){t(s)}else{Promise.resolve(s).then(r,a)}}function r(e){return function(){var t=this,r=arguments;return new Promise(function(a,o){var c=e.apply(t,r);function i(e){n(c,a,o,i,s,"next",e)}function s(e){n(c,a,o,i,s,"throw",e)}i(undefined)})}}function a(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function o(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function c(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){a(e,t,n[t])})}return e}function s(e){return t(e)||o(e)||l(e)||c()}function u(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function l(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function f(e,t){var n,r,a,o={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},c=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return c.next=i(0),c["throw"]=i(1),c["return"]=i(2),typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function i(e){return function(t){return s([e,t])}}function s(i){if(n)throw new TypeError("Generator is already executing.");while(c&&(c=0,i[0]&&(o=0)),o)try{if(n=1,r&&(a=i[0]&2?r["return"]:i[0]?r["throw"]||((a=r["return"])&&a.call(r),0):r.next)&&!(a=a.call(r,i[1])).done)return a;if(r=0,a)i=[i[0]&2,a.value];switch(i[0]){case 0:case 1:a=i;break;case 4:o.label++;return{value:i[1],done:false};case 5:o.label++;r=i[1];i=[0];continue;case 7:i=o.ops.pop();o.trys.pop();continue;default:if(!(a=o.trys,a=a.length>0&&a[a.length-1])&&(i[0]===6||i[0]===2)){o=0;continue}if(i[0]===3&&(!a||i[1]>a[0]&&i[1]<a[3])){o.label=i[1];break}if(i[0]===6&&o.label<a[1]){o.label=a[1];a=i;break}if(a&&o.label<a[2]){o.label=a[2];o.ops.push(i);break}if(a[2])o.ops.pop();o.trys.pop();continue}i=t.call(e,o)}catch(e){i=[6,e];r=0}finally{n=a=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var d=Object.create;var p=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var h=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty;var y=function(e,t){return p(e,"name",{value:t,configurable:!0})};var I=function(e,t){for(var n in t)p(e,n,{get:t[n],enumerable:!0})},b=function(e,t,n,r){var a=true,o=false,c=undefined;if(t&&(typeof t==="undefined"?"undefined":u(t))=="object"||typeof t=="function")try{var i=function(){var a=l.value;!m.call(e,a)&&a!==n&&p(e,a,{get:function(){return t[a]},enumerable:!(r=v(t,a))||r.enumerable})};for(var s=g(t)[Symbol.iterator](),l;!(a=(l=s.next()).done);a=true)i()}catch(e){o=true;c=e}finally{try{if(!a&&s.return!=null){s.return()}}finally{if(o){throw c}}}return e};var O=function(e,t,n){return n=e!=null?d(h(e)):{},b(t||!e||!e.__esModule?p(n,"default",{value:e,enumerable:!0}):n,e)},E=function(e){return b(p({},"__esModule",{value:!0}),e)};var C={};I(C,{vitestUnit:function(){return tI}});module.exports=E(C);var S=O(require("@vitejs/plugin-react-swc"),1),T=require("vitest/config");var _=".cyberskill-storage";var w=O(require("dotenv"),1),G=require("envalid"),N=O(require("os"),1),R=O(require("path"),1),L=O(require("process"),1);w.default.config();function k(){var e={DEBUG:L.default.env.DEBUG||!1,CWD:L.default.env.CWD||L.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:L.default.env.CYBERSKILL_STORAGE_DIRECTORY||R.default.join(N.default.homedir(),_)};return(0,G.cleanEnv)(e,{DEBUG:(0,G.bool)(),CWD:(0,G.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,G.str)()})}y(k,"getEnv");var j=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var D=require("child_process"),P=O(require("process"),1),M=O(require("util"),1);var A=function(e){return e.Error="error",e.Warning="warning",e}({});var x=O(require("chalk"),1),F=O(require("consola"),1),U=require("graphql");var q=k();q.DEBUG||(F.default.level=4);function K(e){var t=x.default[e];return typeof t=="function"?t:x.default.green}y(K,"chalkKeyword");var Y={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(x.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,a=e.rule,o=e.message;F.default.log("".concat(x.default.gray("File:")," ").concat(x.default.blue("".concat(t).concat(r?":".concat(r):"")))),a&&F.default.log(" ".concat(K(n)("Rule:")," ").concat(a)),F.default.log(" ".concat(K(n)("Message:")," ").concat(o))}),F.default.box(K(n)("".concat(e," : ").concat(t.length))),F.default.log(x.default.gray("─".repeat(40)))}};var B={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var W=O(require("node-fetch"),1);var J=O(require("fs-extra"),1),H=require("path");var $=J.default,V=$.readFileSync,z=$.writeFileSync,Q=$.pathExistsSync,X=$.appendFileSync,Z=$.copySync,ee=$.removeSync,et=$.statSync,en=J.default.readJsonSync,er=J.default.writeJsonSync;function ea(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return Q(e)})}y(ea,"existsSync");var eo=k();function ec(e){var t=eA(eo.CWD,eY);if(!ea(t))return!1;try{var n=en(t),r=n.name,a=n.dependencies,o=a===void 0?{}:a,c=n.devDependencies,i=c===void 0?{}:c,s=r===e,u=e in o,l=e in i;return s||u||l?{path:t,file:n,isCurrentProject:s,isDepend:u,isDevDepend:l}:!1}catch(e){return Y.warn("Failed to read package.json: ".concat(e.message)),!1}}y(ec,"getPackage");function ei(e){return es.apply(this,arguments)}function es(){es=r(function(e){var t,n,r,a;return f(this,function(o){switch(o.label){case 0:o.trys.push([0,3,,4]);return[4,(0,W.default)("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=o.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=o.sent(),r=n.version;return[2,r];case 3:a=o.sent();throw Y.error('Failed to fetch version for "'.concat(e,'": ').concat(a.message)),a;case 4:return[2]}})});return es.apply(this,arguments)}y(ei,"getLatestPackageVersion");function eu(e,t){return el.apply(this,arguments)}function el(){el=r(function(e,t){var n,r,a,o,c,s,u,l,d,p,v,g,h,m,y,I,b,O,E,C,S;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,4,,5]);n=ec(e);if(!n)return[2,i({},B)];u=n.path,l=n.file,d=n.isCurrentProject,p=n.isDepend,v=n.isDevDepend,g=(r=l.dependencies)!==null&&r!==void 0?r:{},h=(a=l.devDependencies)!==null&&a!==void 0?a:{},m=d?(o=l.version)!==null&&o!==void 0?o:"0.0.0":p?(c=g[e])!==null&&c!==void 0?c:"0.0.0":v?(s=h[e])!==null&&s!==void 0?s:"0.0.0":"0.0.0";if(!d)return[3,1];b=m;return[3,3];case 1:return[4,ei(e)];case 2:b=f.sent();f.label=3;case 3:y=b,I=d||m===y;if(!I&&(t===null||t===void 0?void 0:t.update)){;E=p?"dependencies":v?"devDependencies":null;E&&((O=l[E])===null||O===void 0?void 0:O[e])!==y&&(l[E]=(C=l[E])!==null&&C!==void 0?C:{},l[E][e]=y,er(u,l),Y.info('Updated "'.concat(e,'" to version ').concat(y)))}return[2,{isCurrentProject:d,installedPath:u,file:l,isUpToDate:I}];case 4:S=f.sent();return[2,(Y.error('Error checking package "'.concat(e,'": ').concat(S.message)),i({},B))];case 5:return[2]}})});return el.apply(this,arguments)}y(eu,"checkPackage");function ef(){return ed.apply(this,arguments)}function ed(){ed=r(function(){var e,t,n,r,a,o,c,i,s,u,l,d;return f(this,function(f){switch(f.label){case 0:e=[{command:y(function(){return ty.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:y(function(){return ty.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:y(function(){return ty.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;f.label=1;case 1:f.trys.push([1,9,10,11]);a=e[Symbol.iterator]();f.label=2;case 2:if(!!(t=(o=a.next()).done))return[3,8];c=o.value,i=c.command,s=c.message;f.label=3;case 3:f.trys.push([3,6,,7]);return[4,i()];case 4:u=f.sent();return[4,ek("".concat(s," using: ").concat(u),u)];case 5:f.sent();return[2];case 6:l=f.sent();Y.warn("Installation attempt failed: ".concat(s)),Y.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=f.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&a.return!=null){a.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})});return ed.apply(this,arguments)}y(ef,"installDependencies");function ep(e,t){return ev.apply(this,arguments)}function ev(){ev=r(function(e,t){var n,r,a,o,c,u,l,d,p,v,g;return f(this,function(f){switch(f.label){case 0:if(!ea(tv.PACKAGE_JSON)){Y.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 eu(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;o=true,c=false,u=undefined;f.label=5;case 5:f.trys.push([5,10,11,12]);l=((a=t===null||t===void 0?void 0:t.postInstallActions)!==null&&a!==void 0?a:[])[Symbol.iterator]();f.label=6;case 6:if(!!(o=(d=l.next()).done))return[3,9];p=d.value;return[4,p()];case 7:f.sent();f.label=8;case 8:o=true;return[3,6];case 9:return[3,12];case 10:v=f.sent();c=true;u=v;return[3,12];case 11:try{if(!o&&l.return!=null){l.return()}}finally{if(c){throw u}}return[7];case 12:return[3,14];case 13:g=f.sent();throw Y.error('Failed to setup "'.concat(e.join(", "),'": ').concat(g.message)),g;case 14:return[2]}})});return ev.apply(this,arguments)}y(ep,"setupPackages");var eg=O(require("node-persist"),1);var eh=k();function em(){return ey.apply(this,arguments)}function ey(){ey=r(function(){var e;return f(this,function(t){switch(t.label){case 0:e=eg.default.defaultInstance;if(e)return[3,2];return[4,eg.default.init({dir:eh.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})});return ey.apply(this,arguments)}y(em,"initNodePersist");var eI={get:function e(e){return r(function(){var t,n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,em()];case 1:r.sent();return[4,eg.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(Y.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,em()];case 1:r.sent();return[4,eg.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();Y.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return r(function(){var t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,em()];case 1:n.sent();return[4,eg.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();Y.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return r(function(){var e,t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,em()];case 1:n.sent();return[4,eg.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(Y.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(Y.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return r(function(){return f(this,function(t){try{return[2,"".concat(eh.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(Y.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eb=k(),eO=M.promisify(D.exec);function eE(e){return"error_list:".concat(e)}y(eE,"getErrorListKey");function eC(e){return eS.apply(this,arguments)}function eS(){eS=r(function(e){var t,n,a;return f(this,function(o){switch(o.label){case 0:if(e.length===0)return[2];t=Date.now(),n=eE(t);o.label=1;case 1:o.trys.push([1,3,,4]);return[4,eI.set(n,{errors:e,timestamp:t})];case 2:o.sent(),setTimeout(/*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:return[4,eI.getLogLink(n)];case 1:e=t.sent();e&&Y.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:a=o.sent();Y.error("Failed to save errors: ".concat(a.message));return[3,4];case 4:return[2]}})});return eS.apply(this,arguments)}y(eC,"saveErrorListToStorage");function eT(e){var t=[],n=[],r="",a=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,o=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,c=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,s,u,l,f;var d=a.exec(e)||[],p=o.exec(e)||[],v=c.exec(e)||[];var g,h,m,y,I,b;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===A.Error?A.Error:A.Warning,message:(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:(h=d===null||d===void 0?void 0:(s=d[5])===null||s===void 0?void 0:s.trim())!==null&&h!==void 0?h:""}):p.length?t.push({file:(m=p===null||p===void 0?void 0:p[1])!==null&&m!==void 0?m:"",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:(u=p[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):v.length?t.push({file:"commitlint",type:A.Error,message:(I=v===null||v===void 0?void 0:(l=v[1])===null||l===void 0?void 0:l.trim())!==null&&I!==void 0?I:"",rule:(b=v===null||v===void 0?void 0:(f=v[2])===null||f===void 0?void 0:f.trim())!==null&&b!==void 0?b:""}):n.push(e.trim())}}),t.length&&eC(t),eb.DEBUG&&n.length&&(Y.warn("Unmatched lines:"),n.forEach(function(e){return Y.info(" ".concat(e))}))}y(eT,"parseTextErrors");function e_(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,a=e.line,o=e.column,c=e.ruleId,i=e.message;n.push({type:r===2?A.Error:A.Warning,file:t,position:"".concat(a,":").concat(o),rule:c,message:i})})}),n.length&&eC(n)}catch(t){eT(e)}}y(e_,"parseCommandOutput");function ew(e){return eG.apply(this,arguments)}function eG(){eG=r(function(e){var t,n,r,a,o,c,i,s,u;var l=arguments;return f(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:e_;n=new AbortController;P.default.on("SIGINT",function(){Y.warn("Process interrupted. Terminating..."),n.abort(),P.default.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,eO(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),a=r.stdout,o=r.stderr;[a,o].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:c=f.sent();i=c.stdout,s=c.stderr,u=c.message;[i,s].forEach(function(e){return e&&t(e)}),!s&&!i&&Y.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})});return eG.apply(this,arguments)}y(ew,"executeCommand");function eN(e){return{raw:!0,cmd:e}}y(eN,"rawCommand");function eR(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(to," ").concat(eU," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(to," ").concat(tn," ").concat(e0," ").concat(e):"".concat(to," ").concat(eZ," ").concat(e)}y(eR,"formatCLI");function eL(e,t){return typeof e=="function"?eR(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"?eR(e,t):e}y(eL,"formatCommand");function ek(e,t){return ej.apply(this,arguments)}function ej(){ej=r(function(e,t){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);Y.start("".concat(e)),eb.DEBUG&&Y.info("→ ".concat(t));return[4,ew(t)];case 1:r.sent(),Y.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw Y.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})});return ej.apply(this,arguments)}y(ek,"runCommand");var eD=require("path");var eP=k();function eM(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,eD.resolve).apply(this,[eP.CWD].concat(s(t)))}y(eM,"resolveWorkingPath");function eA(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,eD.join).apply(this,s(t))}y(eA,"join");var ex=k(),eF=ex.CWD,eU="@cyberskill/shared",eq="node_modules",eK="dist",eY="package.json",eB="package-lock.json",eW="tsconfig.json",eJ=".gitignore",eH=".simple-git-hooks.json",e$="pnpm-lock.yaml",eV=".git/hooks/",ez=".git/COMMIT_EDITMSG",eQ=".migrate-mongo.config.js",eX=eA(eF,eq,eU,eK),eZ="cyberskill",e0="src/nodejs/cli/index.ts",e1="eslint",e2="eslint",e3="vitest",e4="playwright",e5="vitest",e6="@commitlint/cli",e7="commitlint",e8="lint-staged",e9="lint-staged",te="typescript",tt="tsc",tn="tsx",tr="git",ta="pnpm",to="pnpm exec",tc="simple-git-hooks",ti="simple-git-hooks",ts="@eslint/config-inspector",tu="eslint-config-inspector",tl="node-modules-inspector",tf="node-modules-inspector",td="migrate-mongo",tp="./node_modules/migrate-mongo/bin/migrate-mongo",tv={CYBERSKILL_DIRECTORY:eX,WORKING_DIRECTORY:eF,TS_CONFIG:eM(eW),GIT_IGNORE:eM(eJ),GIT_HOOK:eM(eV),GIT_COMMIT_MSG:eM(ez),SIMPLE_GIT_HOOKS_JSON:eM(eH),PACKAGE_JSON:eM(eY),PACKAGE_LOCK_JSON:eM(eB),PNPM_LOCK_YAML:eM(e$),NODE_MODULES:eM(eq),MIGRATE_MONGO_CONFIG:eM(eQ),LINT_STAGED_CONFIG:eM("".concat(eX,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:eM("".concat(eX,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:eM("".concat(eX,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eM("".concat(eX,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eM("".concat(eX,"/react/vitest/vitest.e2e.js"))};function tg(e,t,n){return th.apply(this,arguments)}function th(){th=r(function(e,t,n){return f(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case j.CLI:return[3,1];case j.STRING:return[3,3]}return[3,4];case 1:return[4,ep(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),eL(eN("".concat(to," ").concat(n))))];case 3:return[2,eL(eN(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})});return th.apply(this,arguments)}y(tg,"buildCommand");function tm(e,t,n){return /*#__PURE__*/r(function(){return f(this,function(r){return[2,tg(e,t,n)]})})}y(tm,"commandFactory");var ty={simpleGitHooks:tm(j.CLI,tc,ti),eslintInspect:tm(j.CLI,ts,tu),nodeModulesInspect:tm(j.CLI,tl,tf),eslintCheck:tm(j.CLI,e1,"".concat(e2," ").concat(tv.WORKING_DIRECTORY)),eslintFix:tm(j.CLI,e1,"".concat(e2," ").concat(tv.WORKING_DIRECTORY," --fix")),typescriptCheck:tm(j.CLI,te,"".concat(tt," -p ").concat(tv.TS_CONFIG," --noEmit")),configureGitHook:tm(j.STRING,"".concat(tr," config core.hooksPath ").concat(tv.GIT_HOOK)),testUnit:tm(j.CLI,e3,"".concat(e5," --config ").concat(tv.UNIT_TEST_CONFIG)),testE2e:tm(j.CLI,"".concat(e3," ").concat(e4),"".concat(e5," --config ").concat(tv.E2E_TEST_CONFIG)),mongoMigrateCreate:y(function(e){return tm(j.CLI,td,"".concat(tn," ").concat(tp," create ").concat(e," -f ").concat(tv.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tm(j.CLI,td,"".concat(tn," ").concat(tp," up -f ").concat(tv.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tm(j.CLI,td,"".concat(tn," ").concat(tp," down -f ").concat(tv.MIGRATE_MONGO_CONFIG)),mongoMigrateStatus:tm(j.CLI,td,"".concat(tn," ").concat(tp," status -f ").concat(tv.MIGRATE_MONGO_CONFIG)),commitLint:tm(j.CLI,e6,"".concat(e7," --edit ").concat(tv.GIT_COMMIT_MSG," --config ").concat(tv.COMMITLINT_CONFIG)),lintStaged:tm(j.CLI,e8,"".concat(e9," --config ").concat(tv.LINT_STAGED_CONFIG)),stageBuildDirectory:tm(j.STRING,"".concat(tr," add ").concat(eK)),build:tm(j.STRING,"".concat(ta," run build")),pnpmInstallStandard:tm(j.STRING,"".concat(ta," install")),pnpmInstallLegacy:tm(j.STRING,"".concat(ta," install --legacy-peer-deps")),pnpmInstallForce:tm(j.STRING,"".concat(ta," install --force"))};function tI(e){return(0,T.defineConfig)(i({plugins:[(0,S.default)()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[tv.UNIT_TEST_SETUP_CONFIG]}},e))}y(tI,"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,i,a){try{var c=e[i](a);var s=c.value}catch(e){n(e);return}if(c.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,i){var a=e.apply(t,r);function c(e){n(a,o,i,c,s,"next",e)}function s(e){n(a,o,i,c,s,"throw",e)}c(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 i(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function a(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function c(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function s(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){o(e,t,n[t])})}return e}function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}n.push.apply(n,r)}return n}function l(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{u(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function f(e){return t(e)||a(e)||d(e)||c()}function p(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function d(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 m(e,t){var n,r,o,i={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=c(0),a["throw"]=c(1),a["return"]=c(2),typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function c(e){return function(t){return s([e,t])}}function s(c){if(n)throw new TypeError("Generator is already executing.");while(a&&(a=0,c[0]&&(i=0)),i)try{if(n=1,r&&(o=c[0]&2?r["return"]:c[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;if(r=0,o)c=[c[0]&2,o.value];switch(c[0]){case 0:case 1:o=c;break;case 4:i.label++;return{value:c[1],done:false};case 5:i.label++;r=c[1];c=[0];continue;case 7:c=i.ops.pop();i.trys.pop();continue;default:if(!(o=i.trys,o=o.length>0&&o[o.length-1])&&(c[0]===6||c[0]===2)){i=0;continue}if(c[0]===3&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(c[0]===6&&i.label<o[1]){i.label=o[1];o=c;break}if(o&&i.label<o[2]){i.label=o[2];i.ops.push(c);break}if(o[2])i.ops.pop();i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e];r=0}finally{n=o=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var g=Object.defineProperty;var h=function(e,t){return g(e,"name",{value:t,configurable:!0})};import v from"@vitejs/plugin-react-swc";import{defineConfig as y}from"vitest/config";var b=".cyberskill-storage";import w from"dotenv";import{bool as _,cleanEnv as E,str as I}from"envalid";import S from"node:os";import O from"node:path";import C from"node:process";w.config();function T(){var e={DEBUG:C.env.DEBUG||!1,CWD:C.env.CWD||C.cwd(),CYBERSKILL_STORAGE_DIRECTORY:C.env.CYBERSKILL_STORAGE_DIRECTORY||O.join(S.homedir(),b)};return E(e,{DEBUG:_(),CWD:I(),CYBERSKILL_STORAGE_DIRECTORY:I()})}h(T,"getEnv");var R="MONGO_MIGRATE_OPTIONS";import{Collection as G,Db as D}from"mongodb";import{Document as N,Model as P}from"mongoose";import{format as j}from"date-fns";import k from"migrate-mongo";import{Document as L}from"mongoose";import U from"mongoose-aggregate-paginate-v2";import A from"mongoose-paginate-v2";import{v4 as x}from"uuid";import F from"node-persist";var M=function(e){return e.Error="error",e.Warning="warning",e}({});import K from"chalk";import B from"consola";import{GraphQLError as Y}from"graphql";var W=T();W.DEBUG||(B.level=4);function J(e){var t=K[e];return typeof t=="function"?t:K.green}h(J,"chalkKeyword");var H={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,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){B.box(K.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,o=e.rule,i=e.message;B.log("".concat(K.gray("File:")," ").concat(K.blue("".concat(t).concat(r?":".concat(r):"")))),o&&B.log(" ".concat(J(n)("Rule:")," ").concat(o)),B.log(" ".concat(J(n)("Message:")," ").concat(i))}),B.box(J(n)("".concat(e," : ").concat(t.length))),B.log(K.gray("─".repeat(40)))}};var $=T();function q(){return Q.apply(this,arguments)}function Q(){Q=r(function(){var e;return m(this,function(t){switch(t.label){case 0:e=F.defaultInstance;if(e)return[3,2];return[4,F.init({dir:$.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})});return Q.apply(this,arguments)}h(q,"initNodePersist");var V={get:function e(e){return r(function(){var t,n;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,q()];case 1:r.sent();return[4,F.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(H.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return r(function(){var n;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,q()];case 1:r.sent();return[4,F.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();H.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return r(function(){var t;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,q()];case 1:n.sent();return[4,F.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();H.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return r(function(){var e,t;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,q()];case 1:n.sent();return[4,F.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(H.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(H.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return r(function(){return m(this,function(t){try{return[2,"".concat($.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(H.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};import z from"crypto-js";import X from"slugify";var Z=X.default||X;var ee={isEmpty:function e(e){return e==null?!0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":p(e))=="object"?i(e,Date)?!1:Object.keys(e).length===0:typeof e=="string"?e.trim().length===0:!1}};var et={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return j(e,"yyyy-MM-dd HH:mm:ss.SSS")},createGenericFields:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.returnDateAs,n=t===void 0?"string":t;var r=n==="string"?et.getDateTime():new Date;return{id:x(),isDel:!1,createdAt:r,updatedAt:r}},applyPlugins:function e(e,t){t.filter(function(e){return typeof e=="function"}).forEach(function(t){return e.plugin(t)})},applyMiddlewares:function e(e,t){t.forEach(function(t){var n=t.method,r=t.pre,o=t.post;n&&r&&e.pre(n,r),n&&o&&e.post(n,o)})},createGenericSchema:function e(e){return new e.Schema({id:{type:String,default:x,required:!0,unique:!0},isDel:{type:Boolean,default:!1,required:!0}},{timestamps:!0})},createSchema:function e(e){var t=e.mongoose,n=e.schema,r=e.virtuals,o=r===void 0?[]:r,i=e.standalone,a=i===void 0?!1:i;var c=new t.Schema(n,{strict:!0});return o.forEach(function(e){var t=e.name,n=e.options,r=e.get;var o=c.virtual(t,n);r&&o.get(r)}),a||c.add(et.createGenericSchema(t)),c},createModel:function e(e){var t=e.mongoose,n=e.name,r=e.schema,o=e.pagination,i=o===void 0?!1:o,a=e.aggregate,c=a===void 0?!1:a,s=e.virtuals,u=s===void 0?[]:s,l=e.middlewares,f=l===void 0?[]:l;if(!n)throw new Error("Model name is required.");if(t.models[n])return t.models[n];var p=et.createSchema({mongoose:t,schema:r,virtuals:u});return et.applyPlugins(p,[i&&A,c&&U]),et.applyMiddlewares(p,f),t.model(n,p)},createSlugQuery:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return l(s({},t,n&&{id:{$ne:n}}),{$or:[{slug:e},{slugHistory:e}]})},validator:{isEmpty:function e(){return /*#__PURE__*/function(){var e=r(function(e){return m(this,function(t){return[2,!ee.isEmpty(e)]})});return function(t){return e.apply(this,arguments)}}()},isUnique:function e(e){return /*#__PURE__*/function(){var t=r(function(t){var n;return m(this,function(r){switch(r.label){case 0:if(!Array.isArray(e)||e.length===0)throw new Error("Fields must be a non-empty array of strings.");n={$or:e.map(function(e){return o({},e,t)})};return[4,this.constructor.findOne(n)];case 1:return[2,!r.sent()]}})});return function(e){return t.apply(this,arguments)}}()},matchesRegex:function e(e){return /*#__PURE__*/function(){var t=r(function(t){return m(this,function(n){if(!Array.isArray(e)||e.some(function(e){return!i(e,RegExp)}))throw new Error("regexArray must be an array of valid RegExp objects.");return[2,e.every(function(e){return e.test(t)})]})});return function(e){return t.apply(this,arguments)}}()}},migrate:{withConfig:h(/*#__PURE__*/function(){var e=r(function(e,t){var n,r,o,i;return m(this,function(a){switch(a.label){case 0:return[4,V.get(R)];case 1:n=a.sent();if(!n)throw new Error("Missing migrate config");if(k.config.set(n),!t)return[2,e(void 0)];return[4,k.database.connect()];case 2:r=a.sent(),o=r.db,i=r.client;a.label=3;case 3:a.trys.push([3,,5,7]);return[4,e({db:o,client:i})];case 4:return[2,a.sent()];case 5:return[4,i.close()];case 6:a.sent();return[7];case 7:return[2]}})});return function(t,n){return e.apply(this,arguments)}}(),"withConfig"),init:h(/*#__PURE__*/r(function(){return m(this,function(e){switch(e.label){case 0:return[4,k.init()];case 1:e.sent();return[2]}})}),"init"),create:h(/*#__PURE__*/function(){var e=r(function(e){return m(this,function(t){switch(t.label){case 0:return[4,et.migrate.withConfig(function(){return k.create(e)})];case 1:t.sent();return[2]}})});return function(t){return e.apply(this,arguments)}}(),"create"),up:h(/*#__PURE__*/r(function(){return m(this,function(e){switch(e.label){case 0:return[4,import("ts-node").then(function(e){return e.register({transpileOnly:!0})})];case 1:e.sent();return[4,et.migrate.withConfig(/*#__PURE__*/function(){var e=r(function(e){var t,n;return m(this,function(r){switch(r.label){case 0:t=e.db,n=e.client;return[4,k.up(t,n)];case 1:r.sent();return[2]}})});return function(t){return e.apply(this,arguments)}}(),!0)];case 2:e.sent();return[2]}})}),"up"),down:h(/*#__PURE__*/r(function(){return m(this,function(e){switch(e.label){case 0:return[4,import("ts-node").then(function(e){return e.register({transpileOnly:!0})})];case 1:e.sent();return[4,et.migrate.withConfig(/*#__PURE__*/function(){var e=r(function(e){var t,n;return m(this,function(r){switch(r.label){case 0:t=e.db,n=e.client;return[4,k.down(t,n)];case 1:r.sent();return[2]}})});return function(t){return e.apply(this,arguments)}}(),!0)];case 2:e.sent();return[2]}})}),"down"),status:h(/*#__PURE__*/r(function(){return m(this,function(e){switch(e.label){case 0:return[4,et.migrate.withConfig(/*#__PURE__*/function(){var e=r(function(e){var t;return m(this,function(n){switch(n.label){case 0:t=e.db;return[4,k.status(t)];case 1:n.sent();return[2]}})});return function(t){return e.apply(this,arguments)}}(),!0)];case 1:e.sent();return[2]}})}),"status"),config:h(function(e){V.set(R,e)},"config")}};var en=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as er}from"node:child_process";import eo from"node:process";import*as ei from"node:util";var ea={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};import ec from"node-fetch";import es from"fs-extra";var eu=es.readFileSync,el=es.writeFileSync,ef=es.pathExistsSync,ep=es.appendFileSync,ed=es.copySync,em=es.removeSync,eg=es.statSync,eh=es.readJsonSync,ev=es.writeJsonSync;function ey(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return ef(e)})}h(ey,"existsSync");var eb=T();function ew(e){var t=e$(eb.CWD,eZ);if(!ey(t))return!1;try{var n=eh(t),r=n.name,o=n.dependencies,i=o===void 0?{}:o,a=n.devDependencies,c=a===void 0?{}:a,s=r===e,u=e in i,l=e in c;return s||u||l?{path:t,file:n,isCurrentProject:s,isDepend:u,isDevDepend:l}:!1}catch(e){return H.warn("Failed to read package.json: ".concat(e.message)),!1}}h(ew,"getPackage");function e_(e){return eE.apply(this,arguments)}function eE(){eE=r(function(e){var t,n,r,o;return m(this,function(i){switch(i.label){case 0:i.trys.push([0,3,,4]);return[4,ec("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=i.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=i.sent(),r=n.version;return[2,r];case 3:o=i.sent();throw H.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})});return eE.apply(this,arguments)}h(e_,"getLatestPackageVersion");function eI(e,t){return eS.apply(this,arguments)}function eS(){eS=r(function(e,t){var n,r,o,i,a,c,u,l,f,p,d,g,h,v,y,b,w,_,E,I,S;return m(this,function(m){switch(m.label){case 0:m.trys.push([0,4,,5]);n=ew(e);if(!n)return[2,s({},ea)];u=n.path,l=n.file,f=n.isCurrentProject,p=n.isDepend,d=n.isDevDepend,g=(r=l.dependencies)!==null&&r!==void 0?r:{},h=(o=l.devDependencies)!==null&&o!==void 0?o:{},v=f?(i=l.version)!==null&&i!==void 0?i:"0.0.0":p?(a=g[e])!==null&&a!==void 0?a:"0.0.0":d?(c=h[e])!==null&&c!==void 0?c:"0.0.0":"0.0.0";if(!f)return[3,1];w=v;return[3,3];case 1:return[4,e_(e)];case 2:w=m.sent();m.label=3;case 3:y=w,b=f||v===y;if(!b&&(t===null||t===void 0?void 0:t.update)){;E=p?"dependencies":d?"devDependencies":null;E&&((_=l[E])===null||_===void 0?void 0:_[e])!==y&&(l[E]=(I=l[E])!==null&&I!==void 0?I:{},l[E][e]=y,ev(u,l),H.info('Updated "'.concat(e,'" to version ').concat(y)))}return[2,{isCurrentProject:f,installedPath:u,file:l,isUpToDate:b}];case 4:S=m.sent();return[2,(H.error('Error checking package "'.concat(e,'": ').concat(S.message)),s({},ea))];case 5:return[2]}})});return eS.apply(this,arguments)}h(eI,"checkPackage");function eO(){return eC.apply(this,arguments)}function eC(){eC=r(function(){var e,t,n,r,o,i,a,c,s,u,l,f;return m(this,function(p){switch(p.label){case 0:e=[{command:h(function(){return tC.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:h(function(){return tC.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:h(function(){return tC.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;p.label=1;case 1:p.trys.push([1,9,10,11]);o=e[Symbol.iterator]();p.label=2;case 2:if(!!(t=(i=o.next()).done))return[3,8];a=i.value,c=a.command,s=a.message;p.label=3;case 3:p.trys.push([3,6,,7]);return[4,c()];case 4:u=p.sent();return[4,eK("".concat(s," using: ").concat(u),u)];case 5:p.sent();return[2];case 6:l=p.sent();H.warn("Installation attempt failed: ".concat(s)),H.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:f=p.sent();n=true;r=f;return[3,11];case 10:try{if(!t&&o.return!=null){o.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})});return eC.apply(this,arguments)}h(eO,"installDependencies");function eT(e,t){return eR.apply(this,arguments)}function eR(){eR=r(function(e,t){var n,r,o,i,a,c,u,l,p,d,g;return m(this,function(m){switch(m.label){case 0:if(!ey(tE.PACKAGE_JSON)){H.error("package.json not found. Aborting setup.");return[2]}m.label=1;case 1:m.trys.push([1,13,,14]);n=f(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return eI(e,s({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=m.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,eO()];case 3:r=m.sent();m.label=4;case 4:r;i=true,a=false,c=undefined;m.label=5;case 5:m.trys.push([5,10,11,12]);u=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();m.label=6;case 6:if(!!(i=(l=u.next()).done))return[3,9];p=l.value;return[4,p()];case 7:m.sent();m.label=8;case 8:i=true;return[3,6];case 9:return[3,12];case 10:d=m.sent();a=true;c=d;return[3,12];case 11:try{if(!i&&u.return!=null){u.return()}}finally{if(a){throw c}}return[7];case 12:return[3,14];case 13:g=m.sent();throw H.error('Failed to setup "'.concat(e.join(", "),'": ').concat(g.message)),g;case 14:return[2]}})});return eR.apply(this,arguments)}h(eT,"setupPackages");var eG=T(),eD=ei.promisify(er);function eN(e){return"error_list:".concat(e)}h(eN,"getErrorListKey");function eP(e){return ej.apply(this,arguments)}function ej(){ej=r(function(e){var t,n,o;return m(this,function(i){switch(i.label){case 0:if(e.length===0)return[2];t=Date.now(),n=eN(t);i.label=1;case 1:i.trys.push([1,3,,4]);return[4,V.set(n,{errors:e,timestamp:t})];case 2:i.sent(),setTimeout(/*#__PURE__*/r(function(){var e;return m(this,function(t){switch(t.label){case 0:return[4,V.getLogLink(n)];case 1:e=t.sent();e&&H.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:o=i.sent();H.error("Failed to save errors: ".concat(o.message));return[3,4];case 4:return[2]}})});return ej.apply(this,arguments)}h(eP,"saveErrorListToStorage");function ek(e){var t=[],n=[],r="",o=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,i=/^(.+?)\((\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 c,s,u,l,f;var p=o.exec(e)||[],d=i.exec(e)||[],m=a.exec(e)||[];var g,h,v,y,b,w;p.length&&r?t.push({file:r,position:"".concat(p[1],":").concat(p[2]),type:p[3]===M.Error?M.Error:M.Warning,message:(g=p===null||p===void 0?void 0:(c=p[4])===null||c===void 0?void 0:c.trim())!==null&&g!==void 0?g:"",rule:(h=p===null||p===void 0?void 0:(s=p[5])===null||s===void 0?void 0:s.trim())!==null&&h!==void 0?h:""}):d.length?t.push({file:(v=d===null||d===void 0?void 0:d[1])!==null&&v!==void 0?v:"",position:"".concat(d[2],":").concat(d[3]),type:d[4]===M.Error?M.Error:M.Warning,message:(y=d===null||d===void 0?void 0:(u=d[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):m.length?t.push({file:"commitlint",type:M.Error,message:(b=m===null||m===void 0?void 0:(l=m[1])===null||l===void 0?void 0:l.trim())!==null&&b!==void 0?b:"",rule:(w=m===null||m===void 0?void 0:(f=m[2])===null||f===void 0?void 0:f.trim())!==null&&w!==void 0?w:""}):n.push(e.trim())}}),t.length&&eP(t),eG.DEBUG&&n.length&&(H.warn("Unmatched lines:"),n.forEach(function(e){return H.info(" ".concat(e))}))}h(ek,"parseTextErrors");function eL(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,i=e.column,a=e.ruleId,c=e.message;n.push({type:r===2?M.Error:M.Warning,file:t,position:"".concat(o,":").concat(i),rule:a,message:c})})}),n.length&&eP(n)}catch(t){ek(e)}}h(eL,"parseCommandOutput");function eU(e){return eA.apply(this,arguments)}function eA(){eA=r(function(e){var t,n,r,o,i,a,c,s,u;var l=arguments;return m(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:eL;n=new AbortController;eo.on("SIGINT",function(){H.warn("Process interrupted. Terminating..."),n.abort(),eo.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,i=r.stderr;[o,i].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:a=f.sent();c=a.stdout,s=a.stderr,u=a.message;[c,s].forEach(function(e){return e&&t(e)}),!s&&!c&&H.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})});return eA.apply(this,arguments)}h(eU,"executeCommand");function ex(e){return{raw:!0,cmd:e}}h(ex,"rawCommand");function eF(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(tm," ").concat(eV," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tm," ").concat(tf," ").concat(e9," ").concat(e):"".concat(tm," ").concat(e8," ").concat(e)}h(eF,"formatCLI");function eM(e,t){return typeof e=="function"?eF(e(t),t):(typeof e==="undefined"?"undefined":p(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?eF(e,t):e}h(eM,"formatCommand");function eK(e,t){return eB.apply(this,arguments)}function eB(){eB=r(function(e,t){var n;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);H.start("".concat(e)),eG.DEBUG&&H.info("→ ".concat(t));return[4,eU(t)];case 1:r.sent(),H.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw H.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})});return eB.apply(this,arguments)}h(eK,"runCommand");import{join as eY,resolve as eW}from"node:path";var eJ=T();function eH(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return eW.apply(void 0,[eJ.CWD].concat(f(t)))}h(eH,"resolveWorkingPath");function e$(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return eY.apply(void 0,f(t))}h(e$,"join");var eq=T(),eQ=eq.CWD,eV="@cyberskill/shared",ez="node_modules",eX="dist",eZ="package.json",e0="package-lock.json",e1="tsconfig.json",e2=".gitignore",e4=".simple-git-hooks.json",e3="pnpm-lock.yaml",e5=".git/hooks/",e6=".git/COMMIT_EDITMSG",e7=e$(eQ,ez,eV,eX),e8="cyberskill",e9="src/nodejs/cli/index.ts",te="eslint",tt="eslint",tn="vitest",tr="playwright",to="vitest",ti="@commitlint/cli",ta="commitlint",tc="lint-staged",ts="lint-staged",tu="typescript",tl="tsc",tf="tsx",tp="git",td="pnpm",tm="pnpm exec",tg="simple-git-hooks",th="simple-git-hooks",tv="@eslint/config-inspector",ty="eslint-config-inspector",tb="node-modules-inspector",tw="node-modules-inspector",t_="migrate-mongo";var tE={CYBERSKILL_DIRECTORY:e7,WORKING_DIRECTORY:eQ,TS_CONFIG:eH(e1),GIT_IGNORE:eH(e2),GIT_HOOK:eH(e5),GIT_COMMIT_MSG:eH(e6),SIMPLE_GIT_HOOKS_JSON:eH(e4),PACKAGE_JSON:eH(eZ),PACKAGE_LOCK_JSON:eH(e0),PNPM_LOCK_YAML:eH(e3),NODE_MODULES:eH(ez),LINT_STAGED_CONFIG:eH("".concat(e7,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:eH("".concat(e7,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:eH("".concat(e7,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eH("".concat(e7,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eH("".concat(e7,"/react/vitest/vitest.e2e.js"))};function tI(e,t,n){return tS.apply(this,arguments)}function tS(){tS=r(function(e,t,n){return m(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case en.CLI:return[3,1];case en.STRING:return[3,3];case en.FUNCTION:return[3,4]}return[3,6];case 1:return[4,eT(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),eM(ex("".concat(tm," ").concat(n))))];case 3:return[2,eM(ex(t))];case 4:return[4,eT(t.split(" "),{update:!0})];case 5:if(r.sent(),typeof n=="function")return[2,n()];throw new Error("'second' argument is not a callable function");case 6:throw new Error("Unsupported command type");case 7:return[2]}})});return tS.apply(this,arguments)}h(tI,"buildCommand");function tO(e,t,n){return /*#__PURE__*/r(function(){return m(this,function(r){return[2,tI(e,t,n)]})})}h(tO,"commandFactory");var tC={simpleGitHooks:tO(en.CLI,tg,th),eslintInspect:tO(en.CLI,tv,ty),nodeModulesInspect:tO(en.CLI,tb,tw),eslintCheck:tO(en.CLI,te,"".concat(tt," ").concat(tE.WORKING_DIRECTORY)),eslintFix:tO(en.CLI,te,"".concat(tt," ").concat(tE.WORKING_DIRECTORY," --fix")),typescriptCheck:tO(en.CLI,tu,"".concat(tl," -p ").concat(tE.TS_CONFIG," --noEmit")),configureGitHook:tO(en.STRING,"".concat(tp," config core.hooksPath ").concat(tE.GIT_HOOK)),testUnit:tO(en.CLI,tn,"".concat(to," --config ").concat(tE.UNIT_TEST_CONFIG)),testE2e:tO(en.CLI,"".concat(tn," ").concat(tr),"".concat(to," --config ").concat(tE.E2E_TEST_CONFIG)),mongoMigrateCreate:h(function(e){return tO(en.FUNCTION,"".concat(t_),function(){return et.migrate.create(e)})()},"mongoMigrateCreate"),mongoMigrateUp:tO(en.FUNCTION,"".concat(t_),et.migrate.up),mongoMigrateDown:tO(en.FUNCTION,"".concat(t_),et.migrate.down),commitLint:tO(en.CLI,ti,"".concat(ta," --edit ").concat(tE.GIT_COMMIT_MSG," --config ").concat(tE.COMMITLINT_CONFIG)),lintStaged:tO(en.CLI,tc,"".concat(ts," --config ").concat(tE.LINT_STAGED_CONFIG)),stageBuildDirectory:tO(en.STRING,"".concat(tp," add ").concat(eX)),build:tO(en.STRING,"".concat(td," run build")),pnpmInstallStandard:tO(en.STRING,"".concat(td," install")),pnpmInstallLegacy:tO(en.STRING,"".concat(td," install --legacy-peer-deps")),pnpmInstallForce:tO(en.STRING,"".concat(td," install --force"))};function tT(e){return y(s({plugins:[v()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[tE.UNIT_TEST_SETUP_CONFIG]}},e))}h(tT,"vitestUnit");export{tT 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,a,c){try{var i=e[a](c);var s=i.value}catch(e){n(e);return}if(i.done){t(s)}else{Promise.resolve(s).then(r,o)}}function r(e){return function(){var t=this,r=arguments;return new Promise(function(o,a){var c=e.apply(t,r);function i(e){n(c,o,a,i,s,"next",e)}function s(e){n(c,o,a,i,s,"throw",e)}i(undefined)})}}function o(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function a(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function c(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){o(e,t,n[t])})}return e}function s(e){return t(e)||a(e)||l(e)||c()}function u(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function l(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function f(e,t){var n,r,o,a={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},c=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return c.next=i(0),c["throw"]=i(1),c["return"]=i(2),typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function i(e){return function(t){return s([e,t])}}function s(i){if(n)throw new TypeError("Generator is already executing.");while(c&&(c=0,i[0]&&(a=0)),a)try{if(n=1,r&&(o=i[0]&2?r["return"]:i[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;if(r=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:a.label++;return{value:i[1],done:false};case 5:a.label++;r=i[1];i=[0];continue;case 7:i=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){a=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(i[0]===6&&a.label<o[1]){a.label=o[1];o=i;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(i);break}if(o[2])a.ops.pop();a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e];r=0}finally{n=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var p=Object.defineProperty;var d=function(e,t){return p(e,"name",{value:t,configurable:!0})};import m from"@vitejs/plugin-react-swc";import{defineConfig as g}from"vitest/config";var v=".cyberskill-storage";import h from"dotenv";import{bool as y,cleanEnv as I,str as b}from"envalid";import E from"node:os";import C from"node:path";import O from"node:process";h.config();function S(){var e={DEBUG:O.env.DEBUG||!1,CWD:O.env.CWD||O.cwd(),CYBERSKILL_STORAGE_DIRECTORY:O.env.CYBERSKILL_STORAGE_DIRECTORY||C.join(E.homedir(),v)};return I(e,{DEBUG:y(),CWD:b(),CYBERSKILL_STORAGE_DIRECTORY:b()})}d(S,"getEnv");var T=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as _}from"node:child_process";import w from"node:process";import*as G from"node:util";var N=function(e){return e.Error="error",e.Warning="warning",e}({});import L from"chalk";import R from"consola";import{GraphQLError as k}from"graphql";var D=S();D.DEBUG||(R.level=4);function j(e){var t=L[e];return typeof t=="function"?t:L.green}d(j,"chalkKeyword");var A={silent:R.silent,level:R.level,fatal:R.fatal,error:R.error,warn:R.warn,log:R.log,info:R.info,success:R.success,ready:R.ready,start:R.start,box:R.box,debug:R.debug,trace:R.trace,verbose:R.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){R.box(L.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,o=e.rule,a=e.message;R.log("".concat(L.gray("File:")," ").concat(L.blue("".concat(t).concat(r?":".concat(r):"")))),o&&R.log(" ".concat(j(n)("Rule:")," ").concat(o)),R.log(" ".concat(j(n)("Message:")," ").concat(a))}),R.box(j(n)("".concat(e," : ").concat(t.length))),R.log(L.gray("─".repeat(40)))}};var M={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};import P from"node-fetch";import F from"fs-extra";var x=F.readFileSync,U=F.writeFileSync,K=F.pathExistsSync,Y=F.appendFileSync,B=F.copySync,W=F.removeSync,J=F.statSync,H=F.readJsonSync,$=F.writeJsonSync;function q(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return K(e)})}d(q,"existsSync");var Q=S();function V(e){var t=eG(Q.CWD,ej);if(!q(t))return!1;try{var n=H(t),r=n.name,o=n.dependencies,a=o===void 0?{}:o,c=n.devDependencies,i=c===void 0?{}:c,s=r===e,u=e in a,l=e in i;return s||u||l?{path:t,file:n,isCurrentProject:s,isDepend:u,isDevDepend:l}:!1}catch(e){return A.warn("Failed to read package.json: ".concat(e.message)),!1}}d(V,"getPackage");function z(e){return X.apply(this,arguments)}function X(){X=r(function(e){var t,n,r,o;return f(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,P("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=a.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=a.sent(),r=n.version;return[2,r];case 3:o=a.sent();throw A.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})});return X.apply(this,arguments)}d(z,"getLatestPackageVersion");function Z(e,t){return ee.apply(this,arguments)}function ee(){ee=r(function(e,t){var n,r,o,a,c,s,u,l,p,d,m,g,v,h,y,I,b,E,C,O,S;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,4,,5]);n=V(e);if(!n)return[2,i({},M)];u=n.path,l=n.file,p=n.isCurrentProject,d=n.isDepend,m=n.isDevDepend,g=(r=l.dependencies)!==null&&r!==void 0?r:{},v=(o=l.devDependencies)!==null&&o!==void 0?o:{},h=p?(a=l.version)!==null&&a!==void 0?a:"0.0.0":d?(c=g[e])!==null&&c!==void 0?c:"0.0.0":m?(s=v[e])!==null&&s!==void 0?s:"0.0.0":"0.0.0";if(!p)return[3,1];b=h;return[3,3];case 1:return[4,z(e)];case 2:b=f.sent();f.label=3;case 3:y=b,I=p||h===y;if(!I&&(t===null||t===void 0?void 0:t.update)){;C=d?"dependencies":m?"devDependencies":null;C&&((E=l[C])===null||E===void 0?void 0:E[e])!==y&&(l[C]=(O=l[C])!==null&&O!==void 0?O:{},l[C][e]=y,$(u,l),A.info('Updated "'.concat(e,'" to version ').concat(y)))}return[2,{isCurrentProject:p,installedPath:u,file:l,isUpToDate:I}];case 4:S=f.sent();return[2,(A.error('Error checking package "'.concat(e,'": ').concat(S.message)),i({},M))];case 5:return[2]}})});return ee.apply(this,arguments)}d(Z,"checkPackage");function et(){return en.apply(this,arguments)}function en(){en=r(function(){var e,t,n,r,o,a,c,i,s,u,l,p;return f(this,function(f){switch(f.label){case 0:e=[{command:d(function(){return tu.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:d(function(){return tu.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:d(function(){return tu.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;f.label=1;case 1:f.trys.push([1,9,10,11]);o=e[Symbol.iterator]();f.label=2;case 2:if(!!(t=(a=o.next()).done))return[3,8];c=a.value,i=c.command,s=c.message;f.label=3;case 3:f.trys.push([3,6,,7]);return[4,i()];case 4:u=f.sent();return[4,eC("".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:p=f.sent();n=true;r=p;return[3,11];case 10:try{if(!t&&o.return!=null){o.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})});return en.apply(this,arguments)}d(et,"installDependencies");function er(e,t){return eo.apply(this,arguments)}function eo(){eo=r(function(e,t){var n,r,o,a,c,u,l,p,d,m,g;return f(this,function(f){switch(f.label){case 0:if(!q(ta.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 Z(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;a=true,c=false,u=undefined;f.label=5;case 5:f.trys.push([5,10,11,12]);l=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();f.label=6;case 6:if(!!(a=(p=l.next()).done))return[3,9];d=p.value;return[4,d()];case 7:f.sent();f.label=8;case 8:a=true;return[3,6];case 9:return[3,12];case 10:m=f.sent();c=true;u=m;return[3,12];case 11:try{if(!a&&l.return!=null){l.return()}}finally{if(c){throw u}}return[7];case 12:return[3,14];case 13:g=f.sent();throw A.error('Failed to setup "'.concat(e.join(", "),'": ').concat(g.message)),g;case 14:return[2]}})});return eo.apply(this,arguments)}d(er,"setupPackages");import ea from"node-persist";var ec=S();function ei(){return es.apply(this,arguments)}function es(){es=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: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]}})});return es.apply(this,arguments)}d(ei,"initNodePersist");var eu={get:function e(e){return r(function(){var t,n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ei()];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,(A.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ei()];case 1:r.sent();return[4,ea.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 r(function(){var t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ei()];case 1:n.sent();return[4,ea.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 r(function(){var e,t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ei()];case 1:n.sent();return[4,ea.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 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 el=S(),ef=G.promisify(_);function ep(e){return"error_list:".concat(e)}d(ep,"getErrorListKey");function ed(e){return em.apply(this,arguments)}function em(){em=r(function(e){var t,n,o;return f(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];t=Date.now(),n=ep(t);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,eu.set(n,{errors:e,timestamp:t})];case 2:a.sent(),setTimeout(/*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:return[4,eu.getLogLink(n)];case 1:e=t.sent();e&&A.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:o=a.sent();A.error("Failed to save errors: ".concat(o.message));return[3,4];case 4:return[2]}})});return em.apply(this,arguments)}d(ed,"saveErrorListToStorage");function eg(e){var t=[],n=[],r="",o=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,a=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,c=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,s,u,l,f;var p=o.exec(e)||[],d=a.exec(e)||[],m=c.exec(e)||[];var g,v,h,y,I,b;p.length&&r?t.push({file:r,position:"".concat(p[1],":").concat(p[2]),type:p[3]===N.Error?N.Error:N.Warning,message:(g=p===null||p===void 0?void 0:(i=p[4])===null||i===void 0?void 0:i.trim())!==null&&g!==void 0?g:"",rule:(v=p===null||p===void 0?void 0:(s=p[5])===null||s===void 0?void 0:s.trim())!==null&&v!==void 0?v:""}):d.length?t.push({file:(h=d===null||d===void 0?void 0:d[1])!==null&&h!==void 0?h:"",position:"".concat(d[2],":").concat(d[3]),type:d[4]===N.Error?N.Error:N.Warning,message:(y=d===null||d===void 0?void 0:(u=d[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):m.length?t.push({file:"commitlint",type:N.Error,message:(I=m===null||m===void 0?void 0:(l=m[1])===null||l===void 0?void 0:l.trim())!==null&&I!==void 0?I:"",rule:(b=m===null||m===void 0?void 0:(f=m[2])===null||f===void 0?void 0:f.trim())!==null&&b!==void 0?b:""}):n.push(e.trim())}}),t.length&&ed(t),el.DEBUG&&n.length&&(A.warn("Unmatched lines:"),n.forEach(function(e){return A.info(" ".concat(e))}))}d(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,a=e.column,c=e.ruleId,i=e.message;n.push({type:r===2?N.Error:N.Warning,file:t,position:"".concat(o,":").concat(a),rule:c,message:i})})}),n.length&&ed(n)}catch(t){eg(e)}}d(ev,"parseCommandOutput");function eh(e){return ey.apply(this,arguments)}function ey(){ey=r(function(e){var t,n,r,o,a,c,i,s,u;var l=arguments;return f(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:ev;n=new AbortController;w.on("SIGINT",function(){A.warn("Process interrupted. Terminating..."),n.abort(),w.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,ef(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),o=r.stdout,a=r.stderr;[o,a].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:c=f.sent();i=c.stdout,s=c.stderr,u=c.message;[i,s].forEach(function(e){return e&&t(e)}),!s&&!i&&A.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})});return ey.apply(this,arguments)}d(eh,"executeCommand");function eI(e){return{raw:!0,cmd:e}}d(eI,"rawCommand");function eb(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(e6," ").concat(eR," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(e6," ").concat(e3," ").concat(eJ," ").concat(e):"".concat(e6," ").concat(eW," ").concat(e)}d(eb,"formatCLI");function eE(e,t){return typeof e=="function"?eb(e(t),t):(typeof e==="undefined"?"undefined":u(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?eb(e,t):e}d(eE,"formatCommand");function eC(e,t){return eO.apply(this,arguments)}function eO(){eO=r(function(e,t){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);A.start("".concat(e)),el.DEBUG&&A.info("→ ".concat(t));return[4,eh(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]}})});return eO.apply(this,arguments)}d(eC,"runCommand");import{join as eS,resolve as eT}from"node:path";var e_=S();function ew(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return eT.apply(void 0,[e_.CWD].concat(s(t)))}d(ew,"resolveWorkingPath");function eG(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return eS.apply(void 0,s(t))}d(eG,"join");var eN=S(),eL=eN.CWD,eR="@cyberskill/shared",ek="node_modules",eD="dist",ej="package.json",eA="package-lock.json",eM="tsconfig.json",eP=".gitignore",eF=".simple-git-hooks.json",ex="pnpm-lock.yaml",eU=".git/hooks/",eK=".git/COMMIT_EDITMSG",eY=".migrate-mongo.config.js",eB=eG(eL,ek,eR,eD),eW="cyberskill",eJ="src/nodejs/cli/index.ts",eH="eslint",e$="eslint",eq="vitest",eQ="playwright",eV="vitest",ez="@commitlint/cli",eX="commitlint",eZ="lint-staged",e0="lint-staged",e1="typescript",e2="tsc",e3="tsx",e4="git",e5="pnpm",e6="pnpm exec",e7="simple-git-hooks",e8="simple-git-hooks",e9="@eslint/config-inspector",te="eslint-config-inspector",tt="node-modules-inspector",tn="node-modules-inspector",tr="migrate-mongo",to="./node_modules/migrate-mongo/bin/migrate-mongo",ta={CYBERSKILL_DIRECTORY:eB,WORKING_DIRECTORY:eL,TS_CONFIG:ew(eM),GIT_IGNORE:ew(eP),GIT_HOOK:ew(eU),GIT_COMMIT_MSG:ew(eK),SIMPLE_GIT_HOOKS_JSON:ew(eF),PACKAGE_JSON:ew(ej),PACKAGE_LOCK_JSON:ew(eA),PNPM_LOCK_YAML:ew(ex),NODE_MODULES:ew(ek),MIGRATE_MONGO_CONFIG:ew(eY),LINT_STAGED_CONFIG:ew("".concat(eB,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:ew("".concat(eB,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:ew("".concat(eB,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:ew("".concat(eB,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:ew("".concat(eB,"/react/vitest/vitest.e2e.js"))};function tc(e,t,n){return ti.apply(this,arguments)}function ti(){ti=r(function(e,t,n){return f(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case T.CLI:return[3,1];case T.STRING:return[3,3]}return[3,4];case 1:return[4,er(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),eE(eI("".concat(e6," ").concat(n))))];case 3:return[2,eE(eI(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})});return ti.apply(this,arguments)}d(tc,"buildCommand");function ts(e,t,n){return /*#__PURE__*/r(function(){return f(this,function(r){return[2,tc(e,t,n)]})})}d(ts,"commandFactory");var tu={simpleGitHooks:ts(T.CLI,e7,e8),eslintInspect:ts(T.CLI,e9,te),nodeModulesInspect:ts(T.CLI,tt,tn),eslintCheck:ts(T.CLI,eH,"".concat(e$," ").concat(ta.WORKING_DIRECTORY)),eslintFix:ts(T.CLI,eH,"".concat(e$," ").concat(ta.WORKING_DIRECTORY," --fix")),typescriptCheck:ts(T.CLI,e1,"".concat(e2," -p ").concat(ta.TS_CONFIG," --noEmit")),configureGitHook:ts(T.STRING,"".concat(e4," config core.hooksPath ").concat(ta.GIT_HOOK)),testUnit:ts(T.CLI,eq,"".concat(eV," --config ").concat(ta.UNIT_TEST_CONFIG)),testE2e:ts(T.CLI,"".concat(eq," ").concat(eQ),"".concat(eV," --config ").concat(ta.E2E_TEST_CONFIG)),mongoMigrateCreate:d(function(e){return ts(T.CLI,tr,"".concat(e3," ").concat(to," create ").concat(e," -f ").concat(ta.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:ts(T.CLI,tr,"".concat(e3," ").concat(to," up -f ").concat(ta.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:ts(T.CLI,tr,"".concat(e3," ").concat(to," down -f ").concat(ta.MIGRATE_MONGO_CONFIG)),mongoMigrateStatus:ts(T.CLI,tr,"".concat(e3," ").concat(to," status -f ").concat(ta.MIGRATE_MONGO_CONFIG)),commitLint:ts(T.CLI,ez,"".concat(eX," --edit ").concat(ta.GIT_COMMIT_MSG," --config ").concat(ta.COMMITLINT_CONFIG)),lintStaged:ts(T.CLI,eZ,"".concat(e0," --config ").concat(ta.LINT_STAGED_CONFIG)),stageBuildDirectory:ts(T.STRING,"".concat(e4," add ").concat(eD)),build:ts(T.STRING,"".concat(e5," run build")),pnpmInstallStandard:ts(T.STRING,"".concat(e5," install")),pnpmInstallLegacy:ts(T.STRING,"".concat(e5," install --legacy-peer-deps")),pnpmInstallForce:ts(T.STRING,"".concat(e5," install --force"))};function tl(e){return g(i({plugins:[m()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[ta.UNIT_TEST_SETUP_CONFIG]}},e))}d(tl,"vitestUnit");export{tl as vitestUnit};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cyberskill/shared",
3
3
  "type": "module",
4
- "version": "1.102.0",
4
+ "version": "1.104.0",
5
5
  "description": "CyberSkill Shared",
6
6
  "author": "Stephen Cheng",
7
7
  "license": "MIT",
@@ -206,7 +206,7 @@
206
206
  "@eslint-react/eslint-plugin": "1.48.4",
207
207
  "@graphql-codegen/cli": "5.0.5",
208
208
  "@graphql-codegen/client-preset": "4.8.0",
209
- "@microsoft/api-extractor": "7.52.4",
209
+ "@microsoft/api-extractor": "7.52.5",
210
210
  "@next/eslint-plugin-next": "15.3.1",
211
211
  "@swc/core": "1.11.21",
212
212
  "@testing-library/jest-dom": "6.6.3",
@@ -226,7 +226,7 @@
226
226
  "eslint-config-next": "15.3.1",
227
227
  "eslint-plugin-format": "1.0.1",
228
228
  "eslint-plugin-react-hooks": "5.2.0",
229
- "eslint-plugin-react-refresh": "0.4.19",
229
+ "eslint-plugin-react-refresh": "0.4.20",
230
230
  "express": "4.21.2",
231
231
  "express-device": "0.4.2",
232
232
  "express-session": "1.18.1",
@@ -239,11 +239,11 @@
239
239
  "localforage": "1.10.0",
240
240
  "migrate-mongo": "12.1.3",
241
241
  "modern-normalize": "3.0.1",
242
- "mongodb": "6.15.0",
242
+ "mongodb": "6.16.0",
243
243
  "mongoose": "8.13.2",
244
244
  "mongoose-aggregate-paginate-v2": "1.1.4",
245
245
  "mongoose-paginate-v2": "1.9.0",
246
- "next-intl": "4.0.2",
246
+ "next-intl": "4.0.3",
247
247
  "node-fetch": "3.3.2",
248
248
  "node-persist": "4.0.4",
249
249
  "ora": "8.2.0",
@@ -255,9 +255,8 @@
255
255
  "react-hot-toast": "2.5.2",
256
256
  "react-i18next": "15.4.1",
257
257
  "react-icons": "5.5.0",
258
- "sass": "1.86.3",
258
+ "sass": "1.87.0",
259
259
  "slugify": "1.6.6",
260
- "ts-node": "10.9.2",
261
260
  "tsup": "8.4.0",
262
261
  "tsx": "4.19.3",
263
262
  "typescript": "5.8.3",
@@ -291,7 +290,7 @@
291
290
  "@types/uuid": "10.0.0",
292
291
  "@types/ws": "8.18.1",
293
292
  "@types/yargs": "17.0.33",
294
- "eslint": "9.25.0",
293
+ "eslint": "9.25.1",
295
294
  "lint-staged": "15.5.1",
296
295
  "node-modules-inspector": "0.6.6",
297
296
  "simple-git-hooks": "2.12.1"