@cyberskill/shared 1.102.0 → 1.103.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(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e,t,n,r,i,s,o){try{var a=e[s](o);var c=a.value}catch(e){n(e);return}if(a.done){t(c)}else{Promise.resolve(c).then(r,i)}}function i(e){return function(){var t=this,n=arguments;return new Promise(function(i,s){var o=e.apply(t,n);function a(e){r(o,i,s,a,c,"next",e)}function c(e){r(o,i,s,a,c,"throw",e)}a(undefined)})}}function s(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 a(e){if(typeof WeakMap!=="function")return null;var t=new WeakMap;var n=new WeakMap;return(a=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=a(t);if(n&&n.has(e)){return n.get(e)}var r={__proto__:null};var i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e){if(s!=="default"&&Object.prototype.hasOwnProperty.call(e,s)){var o=i?Object.getOwnPropertyDescriptor(e,s):null;if(o&&(o.get||o.set)){Object.defineProperty(r,s,o)}else{r[s]=e[s]}}}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 l(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var i=true;var s=false;var o,a;try{for(n=n.call(e);!(i=(o=n.next()).done);i=true){r.push(o.value);if(t&&r.length===t)break}}catch(e){s=true;a=e}finally{try{if(!i&&n["return"]!=null)n["return"]()}finally{if(s)throw a}}return r}function d(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function p(){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 f(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){s(e,t,n[t])})}return e}function g(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 m(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{g(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function h(e,n){return t(e)||l(e,n)||b(e,n)||d()}function y(e){return n(e)||u(e)||b(e)||p()}function v(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function b(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 j(e,t){var n,r,i,s={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=a(0),o["throw"]=a(1),o["return"]=a(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(e){return function(t){return c([e,t])}}function c(a){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,a[0]&&(s=0)),s)try{if(n=1,r&&(i=a[0]&2?r["return"]:a[0]?r["throw"]||((i=r["return"])&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;if(r=0,i)a=[a[0]&2,i.value];switch(a[0]){case 0:case 1:i=a;break;case 4:s.label++;return{value:a[1],done:false};case 5:s.label++;r=a[1];a=[0];continue;case 7:a=s.ops.pop();s.trys.pop();continue;default:if(!(i=s.trys,i=i.length>0&&i[i.length-1])&&(a[0]===6||a[0]===2)){s=0;continue}if(a[0]===3&&(!i||a[1]>i[0]&&a[1]<i[3])){s.label=a[1];break}if(a[0]===6&&s.label<i[1]){s.label=i[1];i=a;break}if(i&&s.label<i[2]){s.label=i[2];s.ops.push(a);break}if(i[2])s.ops.pop();s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e];r=0}finally{n=i=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}}var x=Object.create;var w=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var O=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty;var S=function(e,t){return w(e,"name",{value:t,configurable:!0})};var C=function(e,t,n,r){var i=true,s=false,o=undefined;if(t&&(typeof t==="undefined"?"undefined":v(t))=="object"||typeof t=="function")try{var a=function(){var i=u.value;!I.call(e,i)&&i!==n&&w(e,i,{get:function(){return t[i]},enumerable:!(r=_(t,i))||r.enumerable})};for(var c=E(t)[Symbol.iterator](),u;!(i=(u=c.next()).done);i=true)a()}catch(e){s=true;o=e}finally{try{if(!i&&c.return!=null){c.return()}}finally{if(s){throw o}}}return e};var T=function(e,t,n){return n=e!=null?x(O(e)):{},C(t||!e||!e.__esModule?w(n,"default",{value:e,enumerable:!0}):n,e)},k=function(e){return C(w({},"__esModule",{value:!0}),e)};var R={};module.exports=k(R);var P=T(require("process"),1),q=require("yargs/helpers"),G=T(require("yargs/yargs"),1);var D={name:"@cyberskill/shared",type:"module",version:"1.101.0",description:"CyberSkill Shared",author:"Stephen Cheng",license:"MIT",homepage:"https://github.com/cyberskill-world/shared#readme",repository:{type:"git",url:"git+https://github.com/cyberskill-world/shared.git"},bugs:{url:"https://github.com/cyberskill-world/shared/issues"},exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js",require:"./dist/index.cjs"},"./configs":{types:"./dist/configs/index.d.ts",import:"./dist/configs/index.js",require:"./dist/configs/index.cjs"},"./configs/commitlint":{types:"./dist/configs/commitlint/index.d.ts",import:"./dist/configs/commitlint/index.js",require:"./dist/configs/commitlint/index.cjs"},"./configs/eslint":{types:"./dist/configs/eslint/index.d.ts",import:"./dist/configs/eslint/index.js",require:"./dist/configs/eslint/index.cjs"},"./configs/graphql-codegen":{types:"./dist/configs/graphql-codegen/index.d.ts",import:"./dist/configs/graphql-codegen/index.js",require:"./dist/configs/graphql-codegen/index.cjs"},"./configs/lint-staged":{types:"./dist/configs/lint-staged/index.d.ts",import:"./dist/configs/lint-staged/index.js",require:"./dist/configs/lint-staged/index.cjs"},"./constants":{types:"./dist/constants/index.d.ts",import:"./dist/constants/index.js",require:"./dist/constants/index.cjs"},"./nodejs":{types:"./dist/nodejs/index.d.ts",import:"./dist/nodejs/index.js",require:"./dist/nodejs/index.cjs"},"./nodejs/apollo-server":{types:"./dist/nodejs/apollo-server/index.d.ts",import:"./dist/nodejs/apollo-server/index.js",require:"./dist/nodejs/apollo-server/index.cjs"},"./nodejs/cli":{types:"./dist/nodejs/cli/index.d.ts",import:"./dist/nodejs/cli/index.js",require:"./dist/nodejs/cli/index.cjs"},"./nodejs/command":{types:"./dist/nodejs/command/index.d.ts",import:"./dist/nodejs/command/index.js",require:"./dist/nodejs/command/index.cjs"},"./nodejs/express":{types:"./dist/nodejs/express/index.d.ts",import:"./dist/nodejs/express/index.js",require:"./dist/nodejs/express/index.cjs"},"./nodejs/fs":{types:"./dist/nodejs/fs/index.d.ts",import:"./dist/nodejs/fs/index.js",require:"./dist/nodejs/fs/index.cjs"},"./nodejs/log":{types:"./dist/nodejs/log/index.d.ts",import:"./dist/nodejs/log/index.js",require:"./dist/nodejs/log/index.cjs"},"./nodejs/mongo":{types:"./dist/nodejs/mongo/index.d.ts",import:"./dist/nodejs/mongo/index.js",require:"./dist/nodejs/mongo/index.cjs"},"./nodejs/package":{types:"./dist/nodejs/package/index.d.ts",import:"./dist/nodejs/package/index.js",require:"./dist/nodejs/package/index.cjs"},"./nodejs/path":{types:"./dist/nodejs/path/index.d.ts",import:"./dist/nodejs/path/index.js",require:"./dist/nodejs/path/index.cjs"},"./nodejs/storage":{types:"./dist/nodejs/storage/index.d.ts",import:"./dist/nodejs/storage/index.js",require:"./dist/nodejs/storage/index.cjs"},"./nodejs/ws":{types:"./dist/nodejs/ws/index.d.ts",import:"./dist/nodejs/ws/index.js",require:"./dist/nodejs/ws/index.cjs"},"./react":{types:"./dist/react/index.d.ts",import:"./dist/react/index.js",require:"./dist/react/index.cjs"},"./react/apollo-client":{types:"./dist/react/apollo-client/index.d.ts",import:"./dist/react/apollo-client/index.js",require:"./dist/react/apollo-client/index.cjs"},"./react/apollo-error":{types:"./dist/react/apollo-error/index.d.ts",import:"./dist/react/apollo-error/index.js",require:"./dist/react/apollo-error/index.cjs"},"./react/i18next":{types:"./dist/react/i18next/index.d.ts",import:"./dist/react/i18next/index.js",require:"./dist/react/i18next/index.cjs"},"./react/loading":{types:"./dist/react/loading/index.d.ts",import:"./dist/react/loading/index.js",require:"./dist/react/loading/index.cjs"},"./react/log":{types:"./dist/react/log/index.d.ts",import:"./dist/react/log/index.js",require:"./dist/react/log/index.cjs"},"./react/next-intl":{types:"./dist/react/next-intl/index.d.ts",import:"./dist/react/next-intl/index.js",require:"./dist/react/next-intl/index.cjs"},"./react/storage":{types:"./dist/react/storage/index.d.ts",import:"./dist/react/storage/index.js",require:"./dist/react/storage/index.cjs"},"./react/toast":{types:"./dist/react/toast/index.d.ts",import:"./dist/react/toast/index.js",require:"./dist/react/toast/index.cjs"},"./react/vitest":{types:"./dist/react/vitest/index.d.ts",import:"./dist/react/vitest/index.js",require:"./dist/react/vitest/index.cjs"},"./styles/reset.css":{import:"./dist/styles/reset.css",require:"./dist/styles/reset.css"},"./typescript":{types:"./dist/typescript/index.d.ts",import:"./dist/typescript/index.js",require:"./dist/typescript/index.cjs"},"./utils":{types:"./dist/utils/index.d.ts",import:"./dist/utils/index.js",require:"./dist/utils/index.cjs"}},main:"./dist/index.cjs",module:"./dist/index.js",types:"./dist/index.d.ts",bin:{cyberskill:"./dist/nodejs/cli/index.js"},files:["dist","public"],scripts:{build:"tsup",dev:"dotenv -e .env -- tsup --watch",lint:"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint","lint:fix":"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint:fix","lint:inspect":"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint:inspect",reset:"dotenv -e .env -- tsx src/nodejs/cli/index.ts reset",setup:"dotenv -e .env -- tsx src/nodejs/cli/index.ts setup",inspect:"dotenv -e .env -- tsx src/nodejs/cli/index.ts inspect","test:unit":"dotenv -e .env -- tsx src/nodejs/cli/index.ts test:unit","test:e2e":"dotenv -e .env -- tsx src/nodejs/cli/index.ts test:e2e",commitlint:"dotenv -e .env -- tsx src/nodejs/cli/index.ts commitlint","lint-staged":"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint-staged"},dependencies:{"@antfu/eslint-config":"4.12.0","@apollo/client":"3.13.8","@apollo/server":"4.12.0","@eddeee888/gcg-typescript-resolver-files":"0.12.0","@eslint-react/eslint-plugin":"1.48.4","@graphql-codegen/cli":"5.0.5","@graphql-codegen/client-preset":"4.8.0","@microsoft/api-extractor":"7.52.4","@next/eslint-plugin-next":"15.3.1","@swc/core":"1.11.21","@testing-library/jest-dom":"6.6.3","@testing-library/react":"16.3.0","@vitejs/plugin-react-swc":"3.9.0","@vitest/browser":"3.1.2",chalk:"5.4.1",classnames:"2.5.1",compression:"1.8.0",consola:"3.4.2",cors:"2.8.5","crypto-js":"4.2.0","date-fns":"4.1.0",dotenv:"16.5.0","dotenv-cli":"8.0.0",envalid:"8.0.0","eslint-config-next":"15.3.1","eslint-plugin-format":"1.0.1","eslint-plugin-react-hooks":"5.2.0","eslint-plugin-react-refresh":"0.4.19",express:"4.21.2","express-device":"0.4.2","express-session":"1.18.1","fs-extra":"11.3.0",globals:"16.0.0",graphql:"16.10.0","graphql-ws":"6.0.4",i18next:"25.0.1",jsdom:"26.1.0",localforage:"1.10.0","migrate-mongo":"12.1.3","modern-normalize":"3.0.1",mongodb:"6.15.0",mongoose:"8.13.2","mongoose-aggregate-paginate-v2":"1.1.4","mongoose-paginate-v2":"1.9.0","next-intl":"4.0.2","node-fetch":"3.3.2","node-persist":"4.0.4",ora:"8.2.0",playwright:"1.52.0","postcss-modules":"6.0.1",qs:"6.14.0",react:"19.1.0","react-dom":"19.1.0","react-hot-toast":"2.5.2","react-i18next":"15.4.1","react-icons":"5.5.0",sass:"1.86.3",slugify:"1.6.6","ts-node":"10.9.2",tsup:"8.4.0",tsx:"4.19.3",typescript:"5.8.3",unorm:"1.6.0",uuid:"11.1.0",vite:"6.3.2",vitest:"3.1.2","vitest-browser-react":"0.1.1",ws:"8.18.1",yargs:"17.7.2"},publishConfig:{access:"public",registry:"https://registry.npmjs.org/"},devDependencies:{"@commitlint/cli":"19.8.0","@eslint/config-inspector":"1.0.2","@types/compression":"1.7.5","@types/cors":"2.8.17","@types/crypto-js":"4.2.2","@types/express":"4.17.21","@types/express-session":"1.18.1","@types/fs-extra":"11.0.4","@types/migrate-mongo":"10.0.5","@types/mongoose-aggregate-paginate-v2":"1.0.12","@types/node-persist":"3.1.8","@types/react":"19.1.2","@types/react-dom":"19.1.2","@types/unorm":"1.3.31","@types/uuid":"10.0.0","@types/ws":"8.18.1","@types/yargs":"17.0.33",eslint:"9.25.0","lint-staged":"15.5.1","node-modules-inspector":"0.6.6","simple-git-hooks":"2.12.1"}};var N=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var L=require("child_process"),M=T(require("process"),1),A=T(require("util"),1);var U=".cyberskill-storage";var F=T(require("dotenv"),1),B=require("envalid"),K=T(require("os"),1),W=T(require("path"),1),Y=T(require("process"),1);F.default.config();function H(){var e={DEBUG:Y.default.env.DEBUG||!1,CWD:Y.default.env.CWD||Y.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:Y.default.env.CYBERSKILL_STORAGE_DIRECTORY||W.default.join(K.default.homedir(),U)};return(0,B.cleanEnv)(e,{DEBUG:(0,B.bool)(),CWD:(0,B.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,B.str)()})}S(H,"getEnv");var J=function(e){return e.Error="error",e.Warning="warning",e}({});var $=T(require("chalk"),1),V=T(require("consola"),1),z=require("graphql");var Q=H();Q.DEBUG||(V.default.level=4);function X(e){var t=$.default[e];return typeof t=="function"?t:$.default.green}S(X,"chalkKeyword");var Z={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($.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,i=e.rule,s=e.message;V.default.log("".concat($.default.gray("File:")," ").concat($.default.blue("".concat(t).concat(r?":".concat(r):"")))),i&&V.default.log(" ".concat(X(n)("Rule:")," ").concat(i)),V.default.log(" ".concat(X(n)("Message:")," ").concat(s))}),V.default.box(X(n)("".concat(e," : ").concat(t.length))),V.default.log($.default.gray("─".repeat(40)))}};var ee={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var et=T(require("node-fetch"),1);var en=T(require("fs-extra"),1),er=require("path");var ei=en.default,es=ei.readFileSync,eo=ei.writeFileSync,ea=ei.pathExistsSync,ec=ei.appendFileSync,eu=ei.copySync,el=ei.removeSync,ed=ei.statSync,ep=en.default.readJsonSync,ef=en.default.writeJsonSync;function eg(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return ea(e)})}S(eg,"existsSync");function em(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}t.forEach(function(e){ea(e)&&el(e)})}S(em,"removeSync");var eh="MONGO_MIGRATE_OPTIONS";var ey=require("mongodb"),ev=require("mongoose");var eb=require("date-fns"),ej=T(require("migrate-mongo"),1),ex=require("mongoose"),ew=T(require("mongoose-aggregate-paginate-v2"),1),e_=T(require("mongoose-paginate-v2"),1),eE=require("uuid");var eO=T(require("node-persist"),1);var eI=H();function eS(){return eC.apply(this,arguments)}function eC(){eC=i(function(){var e;return j(this,function(t){switch(t.label){case 0:e=eO.default.defaultInstance;if(e)return[3,2];return[4,eO.default.init({dir:eI.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})});return eC.apply(this,arguments)}S(eS,"initNodePersist");var eT={get:function e(e){return i(function(){var t,n;return j(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eS()];case 1:r.sent();return[4,eO.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(Z.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return i(function(){var n;return j(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eS()];case 1:r.sent();return[4,eO.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();Z.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return i(function(){var t;return j(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eS()];case 1:n.sent();return[4,eO.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();Z.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return i(function(){var e,t;return j(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eS()];case 1:n.sent();return[4,eO.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(Z.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(Z.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return i(function(){return j(this,function(t){try{return[2,"".concat(eI.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(Z.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var ek=T(require("crypto-js"),1),eR=T(require("slugify"),1);var eP=eR.default.default||eR.default;var eq={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 eG={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return(0,eb.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"?eG.getDateTime():new Date;return{id:(0,eE.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,i=t.post;n&&r&&e.pre(n,r),n&&i&&e.post(n,i)})},createGenericSchema:function e(e){return new e.Schema({id:{type:String,default:eE.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,i=r===void 0?[]:r,s=e.standalone,o=s===void 0?!1:s;var a=new t.Schema(n,{strict:!0});return i.forEach(function(e){var t=e.name,n=e.options,r=e.get;var i=a.virtual(t,n);r&&i.get(r)}),o||a.add(eG.createGenericSchema(t)),a},createModel:function e(e){var t=e.mongoose,n=e.name,r=e.schema,i=e.pagination,s=i===void 0?!1:i,o=e.aggregate,a=o===void 0?!1:o,c=e.virtuals,u=c===void 0?[]:c,l=e.middlewares,d=l===void 0?[]:l;if(!n)throw new Error("Model name is required.");if(t.models[n])return t.models[n];var p=eG.createSchema({mongoose:t,schema:r,virtuals:u});return eG.applyPlugins(p,[s&&e_.default,a&&ew.default]),eG.applyMiddlewares(p,d),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 m(f({},t,n&&{id:{$ne:n}}),{$or:[{slug:e},{slugHistory:e}]})},validator:{isEmpty:function e(){return /*#__PURE__*/function(){var e=i(function(e){return j(this,function(t){return[2,!eq.isEmpty(e)]})});return function(t){return e.apply(this,arguments)}}()},isUnique:function e(e){return /*#__PURE__*/function(){var t=i(function(t){var n;return j(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 s({},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=i(function(t){return j(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:S(/*#__PURE__*/function(){var e=i(function(e,t){var n,r,i,s;return j(this,function(o){switch(o.label){case 0:return[4,eT.get(eh)];case 1:n=o.sent();if(!n)throw new Error("Missing migrate config");if(ej.default.config.set(n),!t)return[2,e(void 0)];return[4,ej.default.database.connect()];case 2:r=o.sent(),i=r.db,s=r.client;o.label=3;case 3:o.trys.push([3,,5,7]);return[4,e({db:i,client:s})];case 4:return[2,o.sent()];case 5:return[4,s.close()];case 6:o.sent();return[7];case 7:return[2]}})});return function(t,n){return e.apply(this,arguments)}}(),"withConfig"),init:S(/*#__PURE__*/i(function(){return j(this,function(e){switch(e.label){case 0:return[4,ej.default.init()];case 1:e.sent();return[2]}})}),"init"),create:S(/*#__PURE__*/function(){var e=i(function(e){return j(this,function(t){switch(t.label){case 0:return[4,eG.migrate.withConfig(function(){return ej.default.create(e)})];case 1:t.sent();return[2]}})});return function(t){return e.apply(this,arguments)}}(),"create"),up:S(/*#__PURE__*/i(function(){return j(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,eG.migrate.withConfig(/*#__PURE__*/function(){var e=i(function(e){var t,n;return j(this,function(r){switch(r.label){case 0:t=e.db,n=e.client;return[4,ej.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:S(/*#__PURE__*/i(function(){return j(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,eG.migrate.withConfig(/*#__PURE__*/function(){var e=i(function(e){var t,n;return j(this,function(r){switch(r.label){case 0:t=e.db,n=e.client;return[4,ej.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:S(/*#__PURE__*/i(function(){return j(this,function(e){switch(e.label){case 0:return[4,eG.migrate.withConfig(/*#__PURE__*/function(){var e=i(function(e){var t;return j(this,function(n){switch(n.label){case 0:t=e.db;return[4,ej.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:S(function(e){eT.set(eh,e)},"config")}};var eD=require("path");var eN=H();function eL(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,eD.resolve).apply(this,[eN.CWD].concat(y(t)))}S(eL,"resolveWorkingPath");function eM(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,eD.join).apply(this,y(t))}S(eM,"join");var eA=H(),eU=eA.CWD,eF="@cyberskill/shared",eB="node_modules",eK="dist",eW="package.json",eY="package-lock.json",eH="tsconfig.json",eJ=".gitignore",e$=".simple-git-hooks.json",eV="pnpm-lock.yaml",ez=".git/hooks/",eQ=".git/COMMIT_EDITMSG",eX=eM(eU,eB,eF,eK),eZ="cyberskill",e0="src/nodejs/cli/index.ts",e1="eslint",e2="eslint",e4="vitest",e3="playwright",e5="vitest",e8="@commitlint/cli",e6="commitlint",e7="lint-staged",e9="lint-staged",te="typescript",tt="tsc",tn="tsx",tr="git",ti="pnpm",ts="pnpm exec",to="simple-git-hooks",ta="simple-git-hooks",tc="@eslint/config-inspector",tu="eslint-config-inspector",tl="node-modules-inspector",td="node-modules-inspector",tp="migrate-mongo";var tf={CYBERSKILL_DIRECTORY:eX,WORKING_DIRECTORY:eU,TS_CONFIG:eL(eH),GIT_IGNORE:eL(eJ),GIT_HOOK:eL(ez),GIT_COMMIT_MSG:eL(eQ),SIMPLE_GIT_HOOKS_JSON:eL(e$),PACKAGE_JSON:eL(eW),PACKAGE_LOCK_JSON:eL(eY),PNPM_LOCK_YAML:eL(eV),NODE_MODULES:eL(eB),LINT_STAGED_CONFIG:eL("".concat(eX,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:eL("".concat(eX,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:eL("".concat(eX,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eL("".concat(eX,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eL("".concat(eX,"/react/vitest/vitest.e2e.js"))};function tg(e){var t=e.isCurrentProject;return f({"pre-commit":e9,"commit-msg":e6},t&&{"pre-push":tB("".concat(tr," pull"))})}S(tg,"HOOK");function tm(e,t,n){return th.apply(this,arguments)}function th(){th=i(function(e,t,n){return j(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case N.CLI:return[3,1];case N.STRING:return[3,3];case N.FUNCTION:return[3,4]}return[3,6];case 1:return[4,tS(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),tW(tB("".concat(ts," ").concat(n))))];case 3:return[2,tW(tB(t))];case 4:return[4,tS(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 th.apply(this,arguments)}S(tm,"buildCommand");function ty(e,t,n){return /*#__PURE__*/i(function(){return j(this,function(r){return[2,tm(e,t,n)]})})}S(ty,"commandFactory");var tv={simpleGitHooks:ty(N.CLI,to,ta),eslintInspect:ty(N.CLI,tc,tu),nodeModulesInspect:ty(N.CLI,tl,td),eslintCheck:ty(N.CLI,e1,"".concat(e2," ").concat(tf.WORKING_DIRECTORY)),eslintFix:ty(N.CLI,e1,"".concat(e2," ").concat(tf.WORKING_DIRECTORY," --fix")),typescriptCheck:ty(N.CLI,te,"".concat(tt," -p ").concat(tf.TS_CONFIG," --noEmit")),configureGitHook:ty(N.STRING,"".concat(tr," config core.hooksPath ").concat(tf.GIT_HOOK)),testUnit:ty(N.CLI,e4,"".concat(e5," --config ").concat(tf.UNIT_TEST_CONFIG)),testE2e:ty(N.CLI,"".concat(e4," ").concat(e3),"".concat(e5," --config ").concat(tf.E2E_TEST_CONFIG)),mongoMigrateCreate:S(function(e){return ty(N.FUNCTION,"".concat(tp),function(){return eG.migrate.create(e)})()},"mongoMigrateCreate"),mongoMigrateUp:ty(N.FUNCTION,"".concat(tp),eG.migrate.up),mongoMigrateDown:ty(N.FUNCTION,"".concat(tp),eG.migrate.down),commitLint:ty(N.CLI,e8,"".concat(e6," --edit ").concat(tf.GIT_COMMIT_MSG," --config ").concat(tf.COMMITLINT_CONFIG)),lintStaged:ty(N.CLI,e7,"".concat(e9," --config ").concat(tf.LINT_STAGED_CONFIG)),stageBuildDirectory:ty(N.STRING,"".concat(tr," add ").concat(eK)),build:ty(N.STRING,"".concat(ti," run build")),pnpmInstallStandard:ty(N.STRING,"".concat(ti," install")),pnpmInstallLegacy:ty(N.STRING,"".concat(ti," install --legacy-peer-deps")),pnpmInstallForce:ty(N.STRING,"".concat(ti," install --force"))};var tb=H();function tj(e){var t=eM(tb.CWD,eW);if(!eg(t))return!1;try{var n=ep(t),r=n.name,i=n.dependencies,s=i===void 0?{}:i,o=n.devDependencies,a=o===void 0?{}:o,c=r===e,u=e in s,l=e in a;return c||u||l?{path:t,file:n,isCurrentProject:c,isDepend:u,isDevDepend:l}:!1}catch(e){return Z.warn("Failed to read package.json: ".concat(e.message)),!1}}S(tj,"getPackage");function tx(e){return tw.apply(this,arguments)}function tw(){tw=i(function(e){var t,n,r,i;return j(this,function(s){switch(s.label){case 0:s.trys.push([0,3,,4]);return[4,(0,et.default)("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=s.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=s.sent(),r=n.version;return[2,r];case 3:i=s.sent();throw Z.error('Failed to fetch version for "'.concat(e,'": ').concat(i.message)),i;case 4:return[2]}})});return tw.apply(this,arguments)}S(tx,"getLatestPackageVersion");function t_(e,t){return tE.apply(this,arguments)}function tE(){tE=i(function(e,t){var n,r,i,s,o,a,c,u,l,d,p,g,m,h,y,v,b,x,w,_,E;return j(this,function(j){switch(j.label){case 0:j.trys.push([0,4,,5]);n=tj(e);if(!n)return[2,f({},ee)];c=n.path,u=n.file,l=n.isCurrentProject,d=n.isDepend,p=n.isDevDepend,g=(r=u.dependencies)!==null&&r!==void 0?r:{},m=(i=u.devDependencies)!==null&&i!==void 0?i:{},h=l?(s=u.version)!==null&&s!==void 0?s:"0.0.0":d?(o=g[e])!==null&&o!==void 0?o:"0.0.0":p?(a=m[e])!==null&&a!==void 0?a:"0.0.0":"0.0.0";if(!l)return[3,1];b=h;return[3,3];case 1:return[4,tx(e)];case 2:b=j.sent();j.label=3;case 3:y=b,v=l||h===y;if(!v&&(t===null||t===void 0?void 0:t.update)){;w=d?"dependencies":p?"devDependencies":null;w&&((x=u[w])===null||x===void 0?void 0:x[e])!==y&&(u[w]=(_=u[w])!==null&&_!==void 0?_:{},u[w][e]=y,ef(c,u),Z.info('Updated "'.concat(e,'" to version ').concat(y)))}return[2,{isCurrentProject:l,installedPath:c,file:u,isUpToDate:v}];case 4:E=j.sent();return[2,(Z.error('Error checking package "'.concat(e,'": ').concat(E.message)),f({},ee))];case 5:return[2]}})});return tE.apply(this,arguments)}S(t_,"checkPackage");function tO(){return tI.apply(this,arguments)}function tI(){tI=i(function(){var e,t,n,r,i,s,o,a,c,u,l,d;return j(this,function(p){switch(p.label){case 0:e=[{command:S(function(){return tv.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:S(function(){return tv.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:S(function(){return tv.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]);i=e[Symbol.iterator]();p.label=2;case 2:if(!!(t=(s=i.next()).done))return[3,8];o=s.value,a=o.command,c=o.message;p.label=3;case 3:p.trys.push([3,6,,7]);return[4,a()];case 4:u=p.sent();return[4,tJ("".concat(c," using: ").concat(u),u)];case 5:p.sent();return[2];case 6:l=p.sent();Z.warn("Installation attempt failed: ".concat(c)),Z.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=p.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&i.return!=null){i.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})});return tI.apply(this,arguments)}S(tO,"installDependencies");function tS(e,t){return tC.apply(this,arguments)}function tC(){tC=i(function(e,t){var n,r,i,s,o,a,c,u,l,d,p;return j(this,function(g){switch(g.label){case 0:if(!eg(tf.PACKAGE_JSON)){Z.error("package.json not found. Aborting setup.");return[2]}g.label=1;case 1:g.trys.push([1,13,,14]);n=y(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return t_(e,f({},(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,tO()];case 3:r=g.sent();g.label=4;case 4:r;s=true,o=false,a=undefined;g.label=5;case 5:g.trys.push([5,10,11,12]);c=((i=t===null||t===void 0?void 0:t.postInstallActions)!==null&&i!==void 0?i:[])[Symbol.iterator]();g.label=6;case 6:if(!!(s=(u=c.next()).done))return[3,9];l=u.value;return[4,l()];case 7:g.sent();g.label=8;case 8:s=true;return[3,6];case 9:return[3,12];case 10:d=g.sent();o=true;a=d;return[3,12];case 11:try{if(!s&&c.return!=null){c.return()}}finally{if(o){throw a}}return[7];case 12:return[3,14];case 13:p=g.sent();throw Z.error('Failed to setup "'.concat(e.join(", "),'": ').concat(p.message)),p;case 14:return[2]}})});return tC.apply(this,arguments)}S(tS,"setupPackages");var tT=H(),tk=A.promisify(L.exec);function tR(e){return"error_list:".concat(e)}S(tR,"getErrorListKey");function tP(e){return tq.apply(this,arguments)}function tq(){tq=i(function(e){var t,n,r;return j(this,function(s){switch(s.label){case 0:if(e.length===0)return[2];t=Date.now(),n=tR(t);s.label=1;case 1:s.trys.push([1,3,,4]);return[4,eT.set(n,{errors:e,timestamp:t})];case 2:s.sent(),setTimeout(/*#__PURE__*/i(function(){var e;return j(this,function(t){switch(t.label){case 0:return[4,eT.getLogLink(n)];case 1:e=t.sent();e&&Z.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:r=s.sent();Z.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})});return tq.apply(this,arguments)}S(tP,"saveErrorListToStorage");function tG(){return tD.apply(this,arguments)}function tD(){tD=i(function(){var e,t,n;return j(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eT.keys()];case 1:e=r.sent(),t=Array.isArray(e)?e.filter(function(e){var t;return e===null||e===void 0?void 0:(t=e.startsWith)===null||t===void 0?void 0:t.call(e,"error_list:")}):[];return[4,Promise.all(t.map(/*#__PURE__*/function(){var e=i(function(e){var t;return j(this,function(n){switch(n.label){case 0:return[4,eT.get(e)];case 1:return[2,((t=n.sent())===null||t===void 0?void 0:t.errors)||[]]}})});return function(t){return e.apply(this,arguments)}}()))];case 2:return[2,r.sent().flat()];case 3:n=r.sent();return[2,(Z.error("Failed to retrieve stored errors: ".concat(n.message)),[])];case 4:return[2]}})});return tD.apply(this,arguments)}S(tG,"getStoredErrorLists");function tN(){return tL.apply(this,arguments)}function tL(){tL=i(function(){var e,t,n;return j(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eT.keys()];case 1:e=r.sent(),t=Array.isArray(e)?e.filter(function(e){var t;return e===null||e===void 0?void 0:(t=e.startsWith)===null||t===void 0?void 0:t.call(e,"error_list:")}):[];return[4,Promise.all(t.map(function(e){return eT.remove(e)}))];case 2:r.sent();return[3,4];case 3:n=r.sent();Z.error("Failed to clear error lists: ".concat(n.message));return[3,4];case 4:return[2]}})});return tL.apply(this,arguments)}S(tN,"clearAllErrorLists");function tM(e){var t=[],n=[],r="",i=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,s=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,o=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var a,c,u,l,d;var p=i.exec(e)||[],f=s.exec(e)||[],g=o.exec(e)||[];var m,h,y,v,b,j;p.length&&r?t.push({file:r,position:"".concat(p[1],":").concat(p[2]),type:p[3]===J.Error?J.Error:J.Warning,message:(m=p===null||p===void 0?void 0:(a=p[4])===null||a===void 0?void 0:a.trim())!==null&&m!==void 0?m:"",rule:(h=p===null||p===void 0?void 0:(c=p[5])===null||c===void 0?void 0:c.trim())!==null&&h!==void 0?h:""}):f.length?t.push({file:(y=f===null||f===void 0?void 0:f[1])!==null&&y!==void 0?y:"",position:"".concat(f[2],":").concat(f[3]),type:f[4]===J.Error?J.Error:J.Warning,message:(v=f===null||f===void 0?void 0:(u=f[5])===null||u===void 0?void 0:u.trim())!==null&&v!==void 0?v:""}):g.length?t.push({file:"commitlint",type:J.Error,message:(b=g===null||g===void 0?void 0:(l=g[1])===null||l===void 0?void 0:l.trim())!==null&&b!==void 0?b:"",rule:(j=g===null||g===void 0?void 0:(d=g[2])===null||d===void 0?void 0:d.trim())!==null&&j!==void 0?j:""}):n.push(e.trim())}}),t.length&&tP(t),tT.DEBUG&&n.length&&(Z.warn("Unmatched lines:"),n.forEach(function(e){return Z.info(" ".concat(e))}))}S(tM,"parseTextErrors");function tA(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,i=e.line,s=e.column,o=e.ruleId,a=e.message;n.push({type:r===2?J.Error:J.Warning,file:t,position:"".concat(i,":").concat(s),rule:o,message:a})})}),n.length&&tP(n)}catch(t){tM(e)}}S(tA,"parseCommandOutput");function tU(e){return tF.apply(this,arguments)}function tF(){tF=i(function(e){var t,n,r,i,s,o,a,c,u;var l=arguments;return j(this,function(d){switch(d.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:tA;n=new AbortController;M.default.on("SIGINT",function(){Z.warn("Process interrupted. Terminating..."),n.abort(),M.default.exit()});d.label=1;case 1:d.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,tk(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=d.sent(),i=r.stdout,s=r.stderr;[i,s].forEach(function(e){return e&&t(e)});d.label=3;case 3:return[3,5];case 4:o=d.sent();a=o.stdout,c=o.stderr,u=o.message;[a,c].forEach(function(e){return e&&t(e)}),!c&&!a&&Z.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})});return tF.apply(this,arguments)}S(tU,"executeCommand");function tB(e){return{raw:!0,cmd:e}}S(tB,"rawCommand");function tK(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(ts," ").concat(eF," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(ts," ").concat(tn," ").concat(e0," ").concat(e):"".concat(ts," ").concat(eZ," ").concat(e)}S(tK,"formatCLI");function tW(e,t){return typeof e=="function"?tK(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"?tK(e,t):e}S(tW,"formatCommand");function tY(e){return tH.apply(this,arguments)}function tH(){tH=i(function(e){var t,n,r,i,s,o,a;var c=arguments;return j(this,function(u){switch(u.label){case 0:t=c.length>1&&c[1]!==void 0?c[1]:{};r=(n=t===null||t===void 0?void 0:t.isRemote)!==null&&n!==void 0?n:!1;if(!r)return[3,1];a=!1;return[3,3];case 1:return[4,t_(eF)];case 2:a=u.sent().isCurrentProject;u.label=3;case 3:i=a,s={isRemote:r,isCurrentProject:i},o=typeof e=="function"?e(s):e;return[2,Object.fromEntries(Object.entries(o).map(function(e){var t=h(e,2),n=t[0],r=t[1];return[n,tW(r,s)]}))]}})});return tH.apply(this,arguments)}S(tY,"resolveCommands");function tJ(e,t){return t$.apply(this,arguments)}function t$(){t$=i(function(e,t){var n;return j(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);Z.start("".concat(e)),tT.DEBUG&&Z.info("→ ".concat(t));return[4,tU(t)];case 1:r.sent(),Z.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw Z.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})});return t$.apply(this,arguments)}S(tJ,"runCommand");function tV(){return tz.apply(this,arguments)}function tz(){tz=i(function(){var e,t;return j(this,function(n){switch(n.label){case 0:if(!eg(tf.TS_CONFIG))return[3,3];t=["Performing TypeScript validation"];return[4,tv.typescriptCheck()];case 1:return[4,tJ.apply(void 0,t.concat([n.sent()]))];case 2:e=n.sent();return[3,4];case 3:e=Z.warn("No TypeScript configuration found. Skipping type check.");n.label=4;case 4:e;return[2]}})});return tz.apply(this,arguments)}S(tV,"checkTypescript");function tQ(){return tX.apply(this,arguments)}function tX(){tX=i(function(){var e,t,n,r;var i=arguments;return j(this,function(s){switch(s.label){case 0:e=i.length>0&&i[0]!==void 0?i[0]:!1;if(!e)return[3,3];n=["Running ESLint with auto-fix"];return[4,tv.eslintFix()];case 1:return[4,tJ.apply(void 0,n.concat([s.sent()]))];case 2:t=s.sent();return[3,6];case 3:r=["Running ESLint check"];return[4,tv.eslintCheck()];case 4:return[4,tJ.apply(void 0,r.concat([s.sent()]))];case 5:t=s.sent();s.label=6;case 6:t;return[2]}})});return tX.apply(this,arguments)}S(tQ,"checkEslint");function tZ(e,t){if(!t.length)return;var n=e==="Errors"?"red":"yellow";Z.printBoxedLog(e==="Errors"?"✖ Errors":"⚠ Warnings",t,n)}S(tZ,"printIssues");function t0(){return t1.apply(this,arguments)}function t1(){t1=i(function(){var e,t,n;return j(this,function(r){switch(r.label){case 0:return[4,tG()];case 1:e=r.sent(),t=e.filter(function(e){return e.type===J.Error}),n=e.filter(function(e){return e.type===J.Warning});!t.length&&!n.length?Z.printBoxedLog("✔ NO ISSUES FOUND",[],"green"):(tZ("Warnings",n),tZ("Errors",t),(t.length>0||n.length>0)&&P.default.exit(1));return[2]}})});return t1.apply(this,arguments)}S(t0,"showCheckResult");function t2(){return t4.apply(this,arguments)}function t4(){t4=i(function(){var e,t,n,r,i,s;return j(this,function(o){switch(o.label){case 0:return[4,tN()];case 1:o.sent();return[4,t_(eF)];case 2:e=o.sent(),t=e.isCurrentProject;if(!t)return[3,9];o.label=3;case 3:o.trys.push([3,8,,9]);n=["Building package: ".concat(eF)];return[4,tv.build()];case 4:return[4,tJ.apply(void 0,n.concat([o.sent()]))];case 5:o.sent();r=["Staging build artifacts"];return[4,tv.stageBuildDirectory()];case 6:return[4,tJ.apply(void 0,r.concat([o.sent()]))];case 7:o.sent();return[3,9];case 8:i=o.sent();throw Z.error("Error building and staging ".concat(eF,": ").concat(i.message)),i;case 9:s=["Executing lint-staged"];return[4,tv.lintStaged()];case 10:return[4,tJ.apply(void 0,s.concat([o.sent()]))];case 11:o.sent(),t0();return[2]}})});return t4.apply(this,arguments)}S(t2,"lintStaged");function t3(){return t5.apply(this,arguments)}function t5(){t5=i(function(){var e;return j(this,function(t){switch(t.label){case 0:e=["Inspecting ESLint configuration"];return[4,tv.eslintInspect()];case 1:return[4,tJ.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return t5.apply(this,arguments)}S(t3,"inspectLint");function t8(){return t6.apply(this,arguments)}function t6(){t6=i(function(){return j(this,function(e){switch(e.label){case 0:return[4,tN()];case 1:e.sent();return[4,Promise.all([tV(),tQ()])];case 2:e.sent(),t0();return[2]}})});return t6.apply(this,arguments)}S(t8,"lintCheck");function t7(){return t9.apply(this,arguments)}function t9(){t9=i(function(){return j(this,function(e){switch(e.label){case 0:return[4,tN()];case 1:e.sent();return[4,Promise.all([tV(),tQ(!0)])];case 2:e.sent(),t0();return[2]}})});return t9.apply(this,arguments)}S(t7,"lintFix");function ne(){return nt.apply(this,arguments)}function nt(){nt=i(function(){var e;return j(this,function(t){switch(t.label){case 0:return[4,tN()];case 1:t.sent();e=["Validating commit message"];return[4,tv.commitLint()];case 2:return[4,tJ.apply(void 0,e.concat([t.sent()]))];case 3:t.sent(),t0();return[2]}})});return nt.apply(this,arguments)}S(ne,"commitLint");function nn(){return nr.apply(this,arguments)}function nr(){nr=i(function(){var e,t,n,r;return j(this,function(i){switch(i.label){case 0:e=["Configuring Git hooks"];return[4,tv.configureGitHook()];case 1:return[4,tJ.apply(void 0,e.concat([i.sent()]))];case 2:i.sent(),em(tf.GIT_HOOK);return[4,tY(tg)];case 3:t=i.sent();ef(tf.SIMPLE_GIT_HOOKS_JSON,t);n="\n".concat(e$,"\n");eg(tf.GIT_IGNORE)?es(tf.GIT_IGNORE,"utf-8").split("\n").includes(e$)||ec(tf.GIT_IGNORE,n,"utf-8"):eo(tf.GIT_IGNORE,n,"utf-8");r=["Setting up simple-git-hooks"];return[4,tv.simpleGitHooks()];case 4:return[4,tJ.apply(void 0,r.concat([i.sent()]))];case 5:i.sent();return[2]}})});return nr.apply(this,arguments)}S(nn,"setupGitHook");function ni(){return ns.apply(this,arguments)}function ns(){ns=i(function(){return j(this,function(e){switch(e.label){case 0:return[4,tS([eF],{update:!0,postInstallActions:[nn]})];case 1:e.sent();return[2]}})});return ns.apply(this,arguments)}S(ni,"setup");function no(){return na.apply(this,arguments)}function na(){na=i(function(){return j(this,function(e){switch(e.label){case 0:em(tf.NODE_MODULES,tf.PNPM_LOCK_YAML);return[4,tO()];case 1:e.sent();return[4,nn()];case 2:e.sent();return[2]}})});return na.apply(this,arguments)}S(no,"reset");function nc(){return nu.apply(this,arguments)}function nu(){nu=i(function(){var e;return j(this,function(t){switch(t.label){case 0:e=["Inspecting project dependencies"];return[4,tv.nodeModulesInspect()];case 1:return[4,tJ.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return nu.apply(this,arguments)}S(nc,"inspect");function nl(){return nd.apply(this,arguments)}function nd(){nd=i(function(){var e;return j(this,function(t){switch(t.label){case 0:e=["Running unit tests"];return[4,tv.testUnit()];case 1:return[4,tJ.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return nd.apply(this,arguments)}S(nl,"testUnit");function np(){return nf.apply(this,arguments)}function nf(){nf=i(function(){var e;return j(this,function(t){switch(t.label){case 0:e=["Running end-to-end tests"];return[4,tv.testE2e()];case 1:return[4,tJ.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return nf.apply(this,arguments)}S(np,"testE2E");function ng(e){return nm.apply(this,arguments)}function nm(){nm=i(function(e){var t;return j(this,function(n){switch(n.label){case 0:t=["Creating MongoDB migration"];return[4,tv.mongoMigrateCreate(e)];case 1:return[4,tJ.apply(void 0,t.concat([n.sent()]))];case 2:n.sent();return[2]}})});return nm.apply(this,arguments)}S(ng,"mongoMigrateCreate");function nh(){return ny.apply(this,arguments)}function ny(){ny=i(function(){var e;return j(this,function(t){switch(t.label){case 0:e=["Running MongoDB migrations"];return[4,tv.mongoMigrateUp()];case 1:return[4,tJ.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return ny.apply(this,arguments)}S(nh,"mongoMigrateUp");function nv(){return nb.apply(this,arguments)}function nb(){nb=i(function(){var e;return j(this,function(t){switch(t.label){case 0:e=["Rolling back MongoDB migration"];return[4,tv.mongoMigrateDown()];case 1:return[4,tJ.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return nb.apply(this,arguments)}S(nv,"mongoMigrateDown");i(function(){var e;return j(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,(0,G.default)((0,q.hideBin)(P.default.argv)).scriptName(eZ).usage("$0 <command> [options]").command("lint","Check code for linting issues",t8).command("lint:fix","Fix linting issues automatically",t7).command("lint:inspect","View active ESLint configuration",t3).command("lint-staged","Run lint checks on staged files",t2).command("commitlint","Validate commit message format",ne).command("setup","Initialize project setup and dependencies",ni).command("reset","Reset the project and reinstall dependencies",no).command("inspect","Analyze installed project dependencies",nc).command("test:unit","Run unit test suite",nl).command("test:e2e","Run end-to-end test suite",np).command("mongo:migrate:create <name>","Create a MongoDB migration",function(e){return e.positional("name",{describe:"Migration name",type:"string"})},/*#__PURE__*/function(){var e=i(function(e){return j(this,function(t){switch(t.label){case 0:if(!e.name){Z.error("Migration name is required.");return[2]}return[4,ng(e.name)];case 1:t.sent();return[2]}})});return function(t){return e.apply(this,arguments)}}()).command("mongo:migrate:up","Apply all MongoDB migrations",nh).command("mongo:migrate:down","Rollback last MongoDB migration",nv).demandCommand(1,"Please specify a valid command.").strict().help().alias("h","help").alias("v","version").version(D.version).epilog('\uD83D\uDCA1 Tip: Use "--help" with any command to see options\n').parse()];case 1:t.sent();return[3,3];case 2:e=t.sent();Z.error("Fatal: ".concat(e.message)),P.default.exit(1);return[3,3];case 3:return[2]}})})();
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(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e,t,n,r,s,i,o){try{var a=e[i](o);var c=a.value}catch(e){n(e);return}if(a.done){t(c)}else{Promise.resolve(c).then(r,s)}}function s(e){return function(){var t=this,n=arguments;return new Promise(function(s,i){var o=e.apply(t,n);function a(e){r(o,s,i,a,c,"next",e)}function c(e){r(o,s,i,a,c,"throw",e)}a(undefined)})}}function i(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 a(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var s=true;var i=false;var o,a;try{for(n=n.call(e);!(s=(o=n.next()).done);s=true){r.push(o.value);if(t&&r.length===t)break}}catch(e){i=true;a=e}finally{try{if(!s&&n["return"]!=null)n["return"]()}finally{if(i)throw a}}return r}function c(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function u(){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){i(e,t,n[t])})}return e}function d(e,n){return t(e)||a(e,n)||g(e,n)||c()}function p(e){return n(e)||o(e)||g(e)||u()}function f(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 m(e,t){var n,r,s,i={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=a(0),o["throw"]=a(1),o["return"]=a(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(e){return function(t){return c([e,t])}}function c(a){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,a[0]&&(i=0)),i)try{if(n=1,r&&(s=a[0]&2?r["return"]:a[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,a[1])).done)return s;if(r=0,s)a=[a[0]&2,s.value];switch(a[0]){case 0:case 1:s=a;break;case 4:i.label++;return{value:a[1],done:false};case 5:i.label++;r=a[1];a=[0];continue;case 7:a=i.ops.pop();i.trys.pop();continue;default:if(!(s=i.trys,s=s.length>0&&s[s.length-1])&&(a[0]===6||a[0]===2)){i=0;continue}if(a[0]===3&&(!s||a[1]>s[0]&&a[1]<s[3])){i.label=a[1];break}if(a[0]===6&&i.label<s[1]){i.label=s[1];s=a;break}if(s&&i.label<s[2]){i.label=s[2];i.ops.push(a);break}if(s[2])i.ops.pop();i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e];r=0}finally{n=s=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}}var y=Object.create;var h=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var I=function(e,t){return h(e,"name",{value:t,configurable:!0})};var w=function(e,t,n,r){var s=true,i=false,o=undefined;if(t&&(typeof t==="undefined"?"undefined":f(t))=="object"||typeof t=="function")try{var a=function(){var s=u.value;!b.call(e,s)&&s!==n&&h(e,s,{get:function(){return t[s]},enumerable:!(r=v(t,s))||r.enumerable})};for(var c=x(t)[Symbol.iterator](),u;!(s=(u=c.next()).done);s=true)a()}catch(e){i=true;o=e}finally{try{if(!s&&c.return!=null){c.return()}}finally{if(i){throw o}}}return e};var E=function(e,t,n){return n=e!=null?y(j(e)):{},w(t||!e||!e.__esModule?h(n,"default",{value:e,enumerable:!0}):n,e)},S=function(e){return w(h({},"__esModule",{value:!0}),e)};var C={};module.exports=S(C);var O=E(require("process"),1),_=require("yargs/helpers"),T=E(require("yargs/yargs"),1);var k={name:"@cyberskill/shared",type:"module",version:"1.102.0",description:"CyberSkill Shared",author:"Stephen Cheng",license:"MIT",homepage:"https://github.com/cyberskill-world/shared#readme",repository:{type:"git",url:"git+https://github.com/cyberskill-world/shared.git"},bugs:{url:"https://github.com/cyberskill-world/shared/issues"},exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js",require:"./dist/index.cjs"},"./configs":{types:"./dist/configs/index.d.ts",import:"./dist/configs/index.js",require:"./dist/configs/index.cjs"},"./configs/commitlint":{types:"./dist/configs/commitlint/index.d.ts",import:"./dist/configs/commitlint/index.js",require:"./dist/configs/commitlint/index.cjs"},"./configs/eslint":{types:"./dist/configs/eslint/index.d.ts",import:"./dist/configs/eslint/index.js",require:"./dist/configs/eslint/index.cjs"},"./configs/graphql-codegen":{types:"./dist/configs/graphql-codegen/index.d.ts",import:"./dist/configs/graphql-codegen/index.js",require:"./dist/configs/graphql-codegen/index.cjs"},"./configs/lint-staged":{types:"./dist/configs/lint-staged/index.d.ts",import:"./dist/configs/lint-staged/index.js",require:"./dist/configs/lint-staged/index.cjs"},"./constants":{types:"./dist/constants/index.d.ts",import:"./dist/constants/index.js",require:"./dist/constants/index.cjs"},"./nodejs":{types:"./dist/nodejs/index.d.ts",import:"./dist/nodejs/index.js",require:"./dist/nodejs/index.cjs"},"./nodejs/apollo-server":{types:"./dist/nodejs/apollo-server/index.d.ts",import:"./dist/nodejs/apollo-server/index.js",require:"./dist/nodejs/apollo-server/index.cjs"},"./nodejs/cli":{types:"./dist/nodejs/cli/index.d.ts",import:"./dist/nodejs/cli/index.js",require:"./dist/nodejs/cli/index.cjs"},"./nodejs/command":{types:"./dist/nodejs/command/index.d.ts",import:"./dist/nodejs/command/index.js",require:"./dist/nodejs/command/index.cjs"},"./nodejs/express":{types:"./dist/nodejs/express/index.d.ts",import:"./dist/nodejs/express/index.js",require:"./dist/nodejs/express/index.cjs"},"./nodejs/fs":{types:"./dist/nodejs/fs/index.d.ts",import:"./dist/nodejs/fs/index.js",require:"./dist/nodejs/fs/index.cjs"},"./nodejs/log":{types:"./dist/nodejs/log/index.d.ts",import:"./dist/nodejs/log/index.js",require:"./dist/nodejs/log/index.cjs"},"./nodejs/mongo":{types:"./dist/nodejs/mongo/index.d.ts",import:"./dist/nodejs/mongo/index.js",require:"./dist/nodejs/mongo/index.cjs"},"./nodejs/package":{types:"./dist/nodejs/package/index.d.ts",import:"./dist/nodejs/package/index.js",require:"./dist/nodejs/package/index.cjs"},"./nodejs/path":{types:"./dist/nodejs/path/index.d.ts",import:"./dist/nodejs/path/index.js",require:"./dist/nodejs/path/index.cjs"},"./nodejs/storage":{types:"./dist/nodejs/storage/index.d.ts",import:"./dist/nodejs/storage/index.js",require:"./dist/nodejs/storage/index.cjs"},"./nodejs/ws":{types:"./dist/nodejs/ws/index.d.ts",import:"./dist/nodejs/ws/index.js",require:"./dist/nodejs/ws/index.cjs"},"./react":{types:"./dist/react/index.d.ts",import:"./dist/react/index.js",require:"./dist/react/index.cjs"},"./react/apollo-client":{types:"./dist/react/apollo-client/index.d.ts",import:"./dist/react/apollo-client/index.js",require:"./dist/react/apollo-client/index.cjs"},"./react/apollo-error":{types:"./dist/react/apollo-error/index.d.ts",import:"./dist/react/apollo-error/index.js",require:"./dist/react/apollo-error/index.cjs"},"./react/i18next":{types:"./dist/react/i18next/index.d.ts",import:"./dist/react/i18next/index.js",require:"./dist/react/i18next/index.cjs"},"./react/loading":{types:"./dist/react/loading/index.d.ts",import:"./dist/react/loading/index.js",require:"./dist/react/loading/index.cjs"},"./react/log":{types:"./dist/react/log/index.d.ts",import:"./dist/react/log/index.js",require:"./dist/react/log/index.cjs"},"./react/next-intl":{types:"./dist/react/next-intl/index.d.ts",import:"./dist/react/next-intl/index.js",require:"./dist/react/next-intl/index.cjs"},"./react/storage":{types:"./dist/react/storage/index.d.ts",import:"./dist/react/storage/index.js",require:"./dist/react/storage/index.cjs"},"./react/toast":{types:"./dist/react/toast/index.d.ts",import:"./dist/react/toast/index.js",require:"./dist/react/toast/index.cjs"},"./react/vitest":{types:"./dist/react/vitest/index.d.ts",import:"./dist/react/vitest/index.js",require:"./dist/react/vitest/index.cjs"},"./styles/reset.css":{import:"./dist/styles/reset.css",require:"./dist/styles/reset.css"},"./typescript":{types:"./dist/typescript/index.d.ts",import:"./dist/typescript/index.js",require:"./dist/typescript/index.cjs"},"./utils":{types:"./dist/utils/index.d.ts",import:"./dist/utils/index.js",require:"./dist/utils/index.cjs"}},main:"./dist/index.cjs",module:"./dist/index.js",types:"./dist/index.d.ts",bin:{cyberskill:"./dist/nodejs/cli/index.js"},files:["dist","public"],scripts:{build:"tsup",dev:"dotenv -e .env -- tsup --watch",lint:"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint","lint:fix":"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint:fix","lint:inspect":"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint:inspect",reset:"dotenv -e .env -- tsx src/nodejs/cli/index.ts reset",setup:"dotenv -e .env -- tsx src/nodejs/cli/index.ts setup",inspect:"dotenv -e .env -- tsx src/nodejs/cli/index.ts inspect","test:unit":"dotenv -e .env -- tsx src/nodejs/cli/index.ts test:unit","test:e2e":"dotenv -e .env -- tsx src/nodejs/cli/index.ts test:e2e",commitlint:"dotenv -e .env -- tsx src/nodejs/cli/index.ts commitlint","lint-staged":"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint-staged"},dependencies:{"@antfu/eslint-config":"4.12.0","@apollo/client":"3.13.8","@apollo/server":"4.12.0","@eddeee888/gcg-typescript-resolver-files":"0.12.0","@eslint-react/eslint-plugin":"1.48.4","@graphql-codegen/cli":"5.0.5","@graphql-codegen/client-preset":"4.8.0","@microsoft/api-extractor":"7.52.5","@next/eslint-plugin-next":"15.3.1","@swc/core":"1.11.21","@testing-library/jest-dom":"6.6.3","@testing-library/react":"16.3.0","@vitejs/plugin-react-swc":"3.9.0","@vitest/browser":"3.1.2",chalk:"5.4.1",classnames:"2.5.1",compression:"1.8.0",consola:"3.4.2",cors:"2.8.5","crypto-js":"4.2.0","date-fns":"4.1.0",dotenv:"16.5.0","dotenv-cli":"8.0.0",envalid:"8.0.0","eslint-config-next":"15.3.1","eslint-plugin-format":"1.0.1","eslint-plugin-react-hooks":"5.2.0","eslint-plugin-react-refresh":"0.4.20",express:"4.21.2","express-device":"0.4.2","express-session":"1.18.1","fs-extra":"11.3.0",globals:"16.0.0",graphql:"16.10.0","graphql-ws":"6.0.4",i18next:"25.0.1",jsdom:"26.1.0",localforage:"1.10.0","migrate-mongo":"12.1.3","modern-normalize":"3.0.1",mongodb:"6.16.0",mongoose:"8.13.2","mongoose-aggregate-paginate-v2":"1.1.4","mongoose-paginate-v2":"1.9.0","next-intl":"4.0.3","node-fetch":"3.3.2","node-persist":"4.0.4",ora:"8.2.0",playwright:"1.52.0","postcss-modules":"6.0.1",qs:"6.14.0",react:"19.1.0","react-dom":"19.1.0","react-hot-toast":"2.5.2","react-i18next":"15.4.1","react-icons":"5.5.0",sass:"1.87.0",slugify:"1.6.6",tsup:"8.4.0",tsx:"4.19.3",typescript:"5.8.3",unorm:"1.6.0",uuid:"11.1.0",vite:"6.3.2",vitest:"3.1.2","vitest-browser-react":"0.1.1",ws:"8.18.1",yargs:"17.7.2"},publishConfig:{access:"public",registry:"https://registry.npmjs.org/"},devDependencies:{"@commitlint/cli":"19.8.0","@eslint/config-inspector":"1.0.2","@types/compression":"1.7.5","@types/cors":"2.8.17","@types/crypto-js":"4.2.2","@types/express":"4.17.21","@types/express-session":"1.18.1","@types/fs-extra":"11.0.4","@types/migrate-mongo":"10.0.5","@types/mongoose-aggregate-paginate-v2":"1.0.12","@types/node-persist":"3.1.8","@types/react":"19.1.2","@types/react-dom":"19.1.2","@types/unorm":"1.3.31","@types/uuid":"10.0.0","@types/ws":"8.18.1","@types/yargs":"17.0.33",eslint:"9.25.1","lint-staged":"15.5.1","node-modules-inspector":"0.6.6","simple-git-hooks":"2.12.1"}};var G=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var R=require("child_process"),N=E(require("process"),1),L=E(require("util"),1);var q=".cyberskill-storage";var M=E(require("dotenv"),1),D=require("envalid"),P=E(require("os"),1),A=E(require("path"),1),F=E(require("process"),1);M.default.config();function U(){var e={DEBUG:F.default.env.DEBUG||!1,CWD:F.default.env.CWD||F.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:F.default.env.CYBERSKILL_STORAGE_DIRECTORY||A.default.join(P.default.homedir(),q)};return(0,D.cleanEnv)(e,{DEBUG:(0,D.bool)(),CWD:(0,D.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,D.str)()})}I(U,"getEnv");var B=function(e){return e.Error="error",e.Warning="warning",e}({});var K=E(require("chalk"),1),W=E(require("consola"),1),Y=require("graphql");var H=U();H.DEBUG||(W.default.level=4);function J(e){var t=K.default[e];return typeof t=="function"?t:K.default.green}I(J,"chalkKeyword");var $={silent:W.default.silent,level:W.default.level,fatal:W.default.fatal,error:W.default.error,warn:W.default.warn,log:W.default.log,info:W.default.info,success:W.default.success,ready:W.default.ready,start:W.default.start,box:W.default.box,debug:W.default.debug,trace:W.default.trace,verbose:W.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)){W.default.box(K.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,s=e.rule,i=e.message;W.default.log("".concat(K.default.gray("File:")," ").concat(K.default.blue("".concat(t).concat(r?":".concat(r):"")))),s&&W.default.log(" ".concat(J(n)("Rule:")," ").concat(s)),W.default.log(" ".concat(J(n)("Message:")," ").concat(i))}),W.default.box(J(n)("".concat(e," : ").concat(t.length))),W.default.log(K.default.gray("─".repeat(40)))}};var V={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var z=E(require("node-fetch"),1);var Q=E(require("fs-extra"),1),X=require("path");var Z=Q.default,ee=Z.readFileSync,et=Z.writeFileSync,en=Z.pathExistsSync,er=Z.appendFileSync,es=Z.copySync,ei=Z.removeSync,eo=Z.statSync,ea=Q.default.readJsonSync,ec=Q.default.writeJsonSync;function eu(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return en(e)})}I(eu,"existsSync");function el(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}t.forEach(function(e){en(e)&&ei(e)})}I(el,"removeSync");var ed=require("path");var ep=U();function ef(){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(p(t)))}I(ef,"resolveWorkingPath");function eg(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,ed.join).apply(this,p(t))}I(eg,"join");var em=U(),ey=em.CWD,eh="@cyberskill/shared",ev="node_modules",ex="dist",ej="package.json",eb="package-lock.json",eI="tsconfig.json",ew=".gitignore",eE=".simple-git-hooks.json",eS="pnpm-lock.yaml",eC=".git/hooks/",eO=".git/COMMIT_EDITMSG",e_=".migrate-mongo.config.js",eT=eg(ey,ev,eh,ex),ek="cyberskill",eG="src/nodejs/cli/index.ts",eR="eslint",eN="eslint",eL="vitest",eq="playwright",eM="vitest",eD="@commitlint/cli",eP="commitlint",eA="lint-staged",eF="lint-staged",eU="typescript",eB="tsc",eK="tsx",eW="git",eY="pnpm",eH="pnpm exec",eJ="simple-git-hooks",e$="simple-git-hooks",eV="@eslint/config-inspector",ez="eslint-config-inspector",eQ="node-modules-inspector",eX="node-modules-inspector",eZ="migrate-mongo",e0="./node_modules/migrate-mongo/bin/migrate-mongo",e1={CYBERSKILL_DIRECTORY:eT,WORKING_DIRECTORY:ey,TS_CONFIG:ef(eI),GIT_IGNORE:ef(ew),GIT_HOOK:ef(eC),GIT_COMMIT_MSG:ef(eO),SIMPLE_GIT_HOOKS_JSON:ef(eE),PACKAGE_JSON:ef(ej),PACKAGE_LOCK_JSON:ef(eb),PNPM_LOCK_YAML:ef(eS),NODE_MODULES:ef(ev),MIGRATE_MONGO_CONFIG:ef(e_),LINT_STAGED_CONFIG:ef("".concat(eT,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:ef("".concat(eT,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:ef("".concat(eT,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:ef("".concat(eT,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:ef("".concat(eT,"/react/vitest/vitest.e2e.js"))};function e2(e){var t=e.isCurrentProject;return l({"pre-commit":eF,"commit-msg":eP},t&&{"pre-push":tS("".concat(eW," pull"))})}I(e2,"createGitHooksConfig");function e4(e,t,n){return e3.apply(this,arguments)}function e3(){e3=s(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 G.CLI:return[3,1];case G.STRING:return[3,3]}return[3,4];case 1:return[4,ti(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),tO(tS("".concat(eH," ").concat(n))))];case 3:return[2,tO(tS(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})});return e3.apply(this,arguments)}I(e4,"buildCommand");function e8(e,t,n){return /*#__PURE__*/s(function(){return m(this,function(r){return[2,e4(e,t,n)]})})}I(e8,"commandFactory");var e5={simpleGitHooks:e8(G.CLI,eJ,e$),eslintInspect:e8(G.CLI,eV,ez),nodeModulesInspect:e8(G.CLI,eQ,eX),eslintCheck:e8(G.CLI,eR,"".concat(eN," ").concat(e1.WORKING_DIRECTORY)),eslintFix:e8(G.CLI,eR,"".concat(eN," ").concat(e1.WORKING_DIRECTORY," --fix")),typescriptCheck:e8(G.CLI,eU,"".concat(eB," -p ").concat(e1.TS_CONFIG," --noEmit")),configureGitHook:e8(G.STRING,"".concat(eW," config core.hooksPath ").concat(e1.GIT_HOOK)),testUnit:e8(G.CLI,eL,"".concat(eM," --config ").concat(e1.UNIT_TEST_CONFIG)),testE2e:e8(G.CLI,"".concat(eL," ").concat(eq),"".concat(eM," --config ").concat(e1.E2E_TEST_CONFIG)),mongoMigrateCreate:I(function(e){return e8(G.CLI,eZ,"".concat(eK," ").concat(e0," create ").concat(e," -f ").concat(e1.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:e8(G.CLI,eZ,"".concat(eK," ").concat(e0," up -f ").concat(e1.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:e8(G.CLI,eZ,"".concat(eK," ").concat(e0," down -f ").concat(e1.MIGRATE_MONGO_CONFIG)),mongoMigrateStatus:e8(G.CLI,eZ,"".concat(eK," ").concat(e0," status -f ").concat(e1.MIGRATE_MONGO_CONFIG)),commitLint:e8(G.CLI,eD,"".concat(eP," --edit ").concat(e1.GIT_COMMIT_MSG," --config ").concat(e1.COMMITLINT_CONFIG)),lintStaged:e8(G.CLI,eA,"".concat(eF," --config ").concat(e1.LINT_STAGED_CONFIG)),stageBuildDirectory:e8(G.STRING,"".concat(eW," add ").concat(ex)),build:e8(G.STRING,"".concat(eY," run build")),pnpmInstallStandard:e8(G.STRING,"".concat(eY," install")),pnpmInstallLegacy:e8(G.STRING,"".concat(eY," install --legacy-peer-deps")),pnpmInstallForce:e8(G.STRING,"".concat(eY," install --force"))};var e6=U();function e9(e){var t=eg(e6.CWD,ej);if(!eu(t))return!1;try{var n=ea(t),r=n.name,s=n.dependencies,i=s===void 0?{}:s,o=n.devDependencies,a=o===void 0?{}:o,c=r===e,u=e in i,l=e in a;return c||u||l?{path:t,file:n,isCurrentProject:c,isDepend:u,isDevDepend:l}:!1}catch(e){return $.warn("Failed to read package.json: ".concat(e.message)),!1}}I(e9,"getPackage");function e7(e){return te.apply(this,arguments)}function te(){te=s(function(e){var t,n,r,s;return m(this,function(i){switch(i.label){case 0:i.trys.push([0,3,,4]);return[4,(0,z.default)("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:s=i.sent();throw $.error('Failed to fetch version for "'.concat(e,'": ').concat(s.message)),s;case 4:return[2]}})});return te.apply(this,arguments)}I(e7,"getLatestPackageVersion");function tt(e,t){return tn.apply(this,arguments)}function tn(){tn=s(function(e,t){var n,r,s,i,o,a,c,u,d,p,f,g,y,h,v,x,j,b,I,w,E;return m(this,function(m){switch(m.label){case 0:m.trys.push([0,4,,5]);n=e9(e);if(!n)return[2,l({},V)];c=n.path,u=n.file,d=n.isCurrentProject,p=n.isDepend,f=n.isDevDepend,g=(r=u.dependencies)!==null&&r!==void 0?r:{},y=(s=u.devDependencies)!==null&&s!==void 0?s:{},h=d?(i=u.version)!==null&&i!==void 0?i:"0.0.0":p?(o=g[e])!==null&&o!==void 0?o:"0.0.0":f?(a=y[e])!==null&&a!==void 0?a:"0.0.0":"0.0.0";if(!d)return[3,1];j=h;return[3,3];case 1:return[4,e7(e)];case 2:j=m.sent();m.label=3;case 3:v=j,x=d||h===v;if(!x&&(t===null||t===void 0?void 0:t.update)){;I=p?"dependencies":f?"devDependencies":null;I&&((b=u[I])===null||b===void 0?void 0:b[e])!==v&&(u[I]=(w=u[I])!==null&&w!==void 0?w:{},u[I][e]=v,ec(c,u),$.info('Updated "'.concat(e,'" to version ').concat(v)))}return[2,{isCurrentProject:d,installedPath:c,file:u,isUpToDate:x}];case 4:E=m.sent();return[2,($.error('Error checking package "'.concat(e,'": ').concat(E.message)),l({},V))];case 5:return[2]}})});return tn.apply(this,arguments)}I(tt,"checkPackage");function tr(){return ts.apply(this,arguments)}function ts(){ts=s(function(){var e,t,n,r,s,i,o,a,c,u,l,d;return m(this,function(p){switch(p.label){case 0:e=[{command:I(function(){return e5.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:I(function(){return e5.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:I(function(){return e5.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]);s=e[Symbol.iterator]();p.label=2;case 2:if(!!(t=(i=s.next()).done))return[3,8];o=i.value,a=o.command,c=o.message;p.label=3;case 3:p.trys.push([3,6,,7]);return[4,a()];case 4:u=p.sent();return[4,tk("".concat(c," using: ").concat(u),u)];case 5:p.sent();return[2];case 6:l=p.sent();$.warn("Installation attempt failed: ".concat(c)),$.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=p.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&s.return!=null){s.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})});return ts.apply(this,arguments)}I(tr,"installDependencies");function ti(e,t){return to.apply(this,arguments)}function to(){to=s(function(e,t){var n,r,s,i,o,a,c,u,d,f,g;return m(this,function(m){switch(m.label){case 0:if(!eu(e1.PACKAGE_JSON)){$.error("package.json not found. Aborting setup.");return[2]}m.label=1;case 1:m.trys.push([1,13,,14]);n=p(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return tt(e,l({},(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,tr()];case 3:r=m.sent();m.label=4;case 4:r;i=true,o=false,a=undefined;m.label=5;case 5:m.trys.push([5,10,11,12]);c=((s=t===null||t===void 0?void 0:t.postInstallActions)!==null&&s!==void 0?s:[])[Symbol.iterator]();m.label=6;case 6:if(!!(i=(u=c.next()).done))return[3,9];d=u.value;return[4,d()];case 7:m.sent();m.label=8;case 8:i=true;return[3,6];case 9:return[3,12];case 10:f=m.sent();o=true;a=f;return[3,12];case 11:try{if(!i&&c.return!=null){c.return()}}finally{if(o){throw a}}return[7];case 12:return[3,14];case 13:g=m.sent();throw $.error('Failed to setup "'.concat(e.join(", "),'": ').concat(g.message)),g;case 14:return[2]}})});return to.apply(this,arguments)}I(ti,"setupPackages");var ta=E(require("node-persist"),1);var tc=U();function tu(){return tl.apply(this,arguments)}function tl(){tl=s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=ta.default.defaultInstance;if(e)return[3,2];return[4,ta.default.init({dir:tc.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 tl.apply(this,arguments)}I(tu,"initNodePersist");var td={get:function e(e){return s(function(){var t,n;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tu()];case 1:r.sent();return[4,ta.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,($.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return s(function(){var n;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tu()];case 1:r.sent();return[4,ta.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();$.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return s(function(){var t;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tu()];case 1:n.sent();return[4,ta.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();$.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return s(function(){var e,t;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tu()];case 1:n.sent();return[4,ta.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:($.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,($.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return s(function(){return m(this,function(t){try{return[2,"".concat(tc.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,($.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var tp=U(),tf=L.promisify(R.exec);function tg(e){return"error_list:".concat(e)}I(tg,"getErrorListKey");function tm(e){return ty.apply(this,arguments)}function ty(){ty=s(function(e){var t,n,r;return m(this,function(i){switch(i.label){case 0:if(e.length===0)return[2];t=Date.now(),n=tg(t);i.label=1;case 1:i.trys.push([1,3,,4]);return[4,td.set(n,{errors:e,timestamp:t})];case 2:i.sent(),setTimeout(/*#__PURE__*/s(function(){var e;return m(this,function(t){switch(t.label){case 0:return[4,td.getLogLink(n)];case 1:e=t.sent();e&&$.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:r=i.sent();$.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})});return ty.apply(this,arguments)}I(tm,"saveErrorListToStorage");function th(){return tv.apply(this,arguments)}function tv(){tv=s(function(){var e,t,n;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,td.keys()];case 1:e=r.sent(),t=Array.isArray(e)?e.filter(function(e){var t;return e===null||e===void 0?void 0:(t=e.startsWith)===null||t===void 0?void 0:t.call(e,"error_list:")}):[];return[4,Promise.all(t.map(/*#__PURE__*/function(){var e=s(function(e){var t;return m(this,function(n){switch(n.label){case 0:return[4,td.get(e)];case 1:return[2,((t=n.sent())===null||t===void 0?void 0:t.errors)||[]]}})});return function(t){return e.apply(this,arguments)}}()))];case 2:return[2,r.sent().flat()];case 3:n=r.sent();return[2,($.error("Failed to retrieve stored errors: ".concat(n.message)),[])];case 4:return[2]}})});return tv.apply(this,arguments)}I(th,"getStoredErrorLists");function tx(){return tj.apply(this,arguments)}function tj(){tj=s(function(){var e,t,n;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,td.keys()];case 1:e=r.sent(),t=Array.isArray(e)?e.filter(function(e){var t;return e===null||e===void 0?void 0:(t=e.startsWith)===null||t===void 0?void 0:t.call(e,"error_list:")}):[];return[4,Promise.all(t.map(function(e){return td.remove(e)}))];case 2:r.sent();return[3,4];case 3:n=r.sent();$.error("Failed to clear error lists: ".concat(n.message));return[3,4];case 4:return[2]}})});return tj.apply(this,arguments)}I(tx,"clearAllErrorLists");function tb(e){var t=[],n=[],r="",s=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,i=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,o=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var a,c,u,l,d;var p=s.exec(e)||[],f=i.exec(e)||[],g=o.exec(e)||[];var m,y,h,v,x,j;p.length&&r?t.push({file:r,position:"".concat(p[1],":").concat(p[2]),type:p[3]===B.Error?B.Error:B.Warning,message:(m=p===null||p===void 0?void 0:(a=p[4])===null||a===void 0?void 0:a.trim())!==null&&m!==void 0?m:"",rule:(y=p===null||p===void 0?void 0:(c=p[5])===null||c===void 0?void 0:c.trim())!==null&&y!==void 0?y:""}):f.length?t.push({file:(h=f===null||f===void 0?void 0:f[1])!==null&&h!==void 0?h:"",position:"".concat(f[2],":").concat(f[3]),type:f[4]===B.Error?B.Error:B.Warning,message:(v=f===null||f===void 0?void 0:(u=f[5])===null||u===void 0?void 0:u.trim())!==null&&v!==void 0?v:""}):g.length?t.push({file:"commitlint",type:B.Error,message:(x=g===null||g===void 0?void 0:(l=g[1])===null||l===void 0?void 0:l.trim())!==null&&x!==void 0?x:"",rule:(j=g===null||g===void 0?void 0:(d=g[2])===null||d===void 0?void 0:d.trim())!==null&&j!==void 0?j:""}):n.push(e.trim())}}),t.length&&tm(t),tp.DEBUG&&n.length&&($.warn("Unmatched lines:"),n.forEach(function(e){return $.info(" ".concat(e))}))}I(tb,"parseTextErrors");function tI(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,s=e.line,i=e.column,o=e.ruleId,a=e.message;n.push({type:r===2?B.Error:B.Warning,file:t,position:"".concat(s,":").concat(i),rule:o,message:a})})}),n.length&&tm(n)}catch(t){tb(e)}}I(tI,"parseCommandOutput");function tw(e){return tE.apply(this,arguments)}function tE(){tE=s(function(e){var t,n,r,s,i,o,a,c,u;var l=arguments;return m(this,function(d){switch(d.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:tI;n=new AbortController;N.default.on("SIGINT",function(){$.warn("Process interrupted. Terminating..."),n.abort(),N.default.exit()});d.label=1;case 1:d.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,tf(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=d.sent(),s=r.stdout,i=r.stderr;[s,i].forEach(function(e){return e&&t(e)});d.label=3;case 3:return[3,5];case 4:o=d.sent();a=o.stdout,c=o.stderr,u=o.message;[a,c].forEach(function(e){return e&&t(e)}),!c&&!a&&$.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})});return tE.apply(this,arguments)}I(tw,"executeCommand");function tS(e){return{raw:!0,cmd:e}}I(tS,"rawCommand");function tC(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(eH," ").concat(eh," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(eH," ").concat(eK," ").concat(eG," ").concat(e):"".concat(eH," ").concat(ek," ").concat(e)}I(tC,"formatCLI");function tO(e,t){return typeof e=="function"?tC(e(t),t):(typeof e==="undefined"?"undefined":f(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?tC(e,t):e}I(tO,"formatCommand");function t_(e){return tT.apply(this,arguments)}function tT(){tT=s(function(e){var t,n,r,s,i,o,a;var c=arguments;return m(this,function(u){switch(u.label){case 0:t=c.length>1&&c[1]!==void 0?c[1]:{};r=(n=t===null||t===void 0?void 0:t.isRemote)!==null&&n!==void 0?n:!1;if(!r)return[3,1];a=!1;return[3,3];case 1:return[4,tt(eh)];case 2:a=u.sent().isCurrentProject;u.label=3;case 3:s=a,i={isRemote:r,isCurrentProject:s},o=typeof e=="function"?e(i):e;return[2,Object.fromEntries(Object.entries(o).map(function(e){var t=d(e,2),n=t[0],r=t[1];return[n,tO(r,i)]}))]}})});return tT.apply(this,arguments)}I(t_,"resolveCommands");function tk(e,t){return tG.apply(this,arguments)}function tG(){tG=s(function(e,t){var n;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);$.start("".concat(e)),tp.DEBUG&&$.info("→ ".concat(t));return[4,tw(t)];case 1:r.sent(),$.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw $.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})});return tG.apply(this,arguments)}I(tk,"runCommand");function tR(){return tN.apply(this,arguments)}function tN(){tN=s(function(){var e,t;return m(this,function(n){switch(n.label){case 0:if(!eu(e1.TS_CONFIG))return[3,3];t=["Performing TypeScript validation"];return[4,e5.typescriptCheck()];case 1:return[4,tk.apply(void 0,t.concat([n.sent()]))];case 2:e=n.sent();return[3,4];case 3:e=$.warn("No TypeScript configuration found. Skipping type check.");n.label=4;case 4:e;return[2]}})});return tN.apply(this,arguments)}I(tR,"checkTypescript");function tL(){return tq.apply(this,arguments)}function tq(){tq=s(function(){var e,t,n,r;var s=arguments;return m(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:!1;if(!e)return[3,3];n=["Running ESLint with auto-fix"];return[4,e5.eslintFix()];case 1:return[4,tk.apply(void 0,n.concat([i.sent()]))];case 2:t=i.sent();return[3,6];case 3:r=["Running ESLint check"];return[4,e5.eslintCheck()];case 4:return[4,tk.apply(void 0,r.concat([i.sent()]))];case 5:t=i.sent();i.label=6;case 6:t;return[2]}})});return tq.apply(this,arguments)}I(tL,"checkEslint");function tM(e,t){if(!t.length)return;var n=e==="Errors"?"red":"yellow";$.printBoxedLog(e==="Errors"?"✖ Errors":"⚠ Warnings",t,n)}I(tM,"printIssues");function tD(){return tP.apply(this,arguments)}function tP(){tP=s(function(){var e,t,n;return m(this,function(r){switch(r.label){case 0:return[4,th()];case 1:e=r.sent(),t=e.filter(function(e){return e.type===B.Error}),n=e.filter(function(e){return e.type===B.Warning});!t.length&&!n.length?$.printBoxedLog("✔ NO ISSUES FOUND",[],"green"):(tM("Warnings",n),tM("Errors",t),(t.length>0||n.length>0)&&O.default.exit(1));return[2]}})});return tP.apply(this,arguments)}I(tD,"showCheckResult");function tA(){return tF.apply(this,arguments)}function tF(){tF=s(function(){var e,t,n,r,s,i;return m(this,function(o){switch(o.label){case 0:return[4,tx()];case 1:o.sent();return[4,tt(eh)];case 2:e=o.sent(),t=e.isCurrentProject;if(!t)return[3,9];o.label=3;case 3:o.trys.push([3,8,,9]);n=["Building package: ".concat(eh)];return[4,e5.build()];case 4:return[4,tk.apply(void 0,n.concat([o.sent()]))];case 5:o.sent();r=["Staging build artifacts"];return[4,e5.stageBuildDirectory()];case 6:return[4,tk.apply(void 0,r.concat([o.sent()]))];case 7:o.sent();return[3,9];case 8:s=o.sent();throw $.error("Error building and staging ".concat(eh,": ").concat(s.message)),s;case 9:i=["Executing lint-staged"];return[4,e5.lintStaged()];case 10:return[4,tk.apply(void 0,i.concat([o.sent()]))];case 11:o.sent(),tD();return[2]}})});return tF.apply(this,arguments)}I(tA,"lintStaged");function tU(){return tB.apply(this,arguments)}function tB(){tB=s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=["Inspecting ESLint configuration"];return[4,e5.eslintInspect()];case 1:return[4,tk.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return tB.apply(this,arguments)}I(tU,"inspectLint");function tK(){return tW.apply(this,arguments)}function tW(){tW=s(function(){return m(this,function(e){switch(e.label){case 0:return[4,tx()];case 1:e.sent();return[4,Promise.all([tR(),tL()])];case 2:e.sent(),tD();return[2]}})});return tW.apply(this,arguments)}I(tK,"lintCheck");function tY(){return tH.apply(this,arguments)}function tH(){tH=s(function(){return m(this,function(e){switch(e.label){case 0:return[4,tx()];case 1:e.sent();return[4,Promise.all([tR(),tL(!0)])];case 2:e.sent(),tD();return[2]}})});return tH.apply(this,arguments)}I(tY,"lintFix");function tJ(){return t$.apply(this,arguments)}function t$(){t$=s(function(){var e;return m(this,function(t){switch(t.label){case 0:return[4,tx()];case 1:t.sent();e=["Validating commit message"];return[4,e5.commitLint()];case 2:return[4,tk.apply(void 0,e.concat([t.sent()]))];case 3:t.sent(),tD();return[2]}})});return t$.apply(this,arguments)}I(tJ,"commitLint");function tV(){return tz.apply(this,arguments)}function tz(){tz=s(function(){var e,t,n,r;return m(this,function(s){switch(s.label){case 0:e=["Configuring Git hooks"];return[4,e5.configureGitHook()];case 1:return[4,tk.apply(void 0,e.concat([s.sent()]))];case 2:s.sent(),el(e1.GIT_HOOK);return[4,t_(e2)];case 3:t=s.sent();ec(e1.SIMPLE_GIT_HOOKS_JSON,t);n="\n".concat(eE,"\n");eu(e1.GIT_IGNORE)?ee(e1.GIT_IGNORE,"utf-8").split("\n").includes(eE)||er(e1.GIT_IGNORE,n,"utf-8"):et(e1.GIT_IGNORE,n,"utf-8");r=["Setting up simple-git-hooks"];return[4,e5.simpleGitHooks()];case 4:return[4,tk.apply(void 0,r.concat([s.sent()]))];case 5:s.sent();return[2]}})});return tz.apply(this,arguments)}I(tV,"setupGitHook");function tQ(){return tX.apply(this,arguments)}function tX(){tX=s(function(){return m(this,function(e){switch(e.label){case 0:return[4,ti([eh],{update:!0,postInstallActions:[tV]})];case 1:e.sent();return[2]}})});return tX.apply(this,arguments)}I(tQ,"setup");function tZ(){return t0.apply(this,arguments)}function t0(){t0=s(function(){return m(this,function(e){switch(e.label){case 0:el(e1.NODE_MODULES,e1.PNPM_LOCK_YAML);return[4,tr()];case 1:e.sent();return[4,tV()];case 2:e.sent();return[2]}})});return t0.apply(this,arguments)}I(tZ,"reset");function t1(){return t2.apply(this,arguments)}function t2(){t2=s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=["Inspecting project dependencies"];return[4,e5.nodeModulesInspect()];case 1:return[4,tk.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return t2.apply(this,arguments)}I(t1,"inspect");function t4(){return t3.apply(this,arguments)}function t3(){t3=s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=["Running unit tests"];return[4,e5.testUnit()];case 1:return[4,tk.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return t3.apply(this,arguments)}I(t4,"testUnit");function t8(){return t5.apply(this,arguments)}function t5(){t5=s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=["Running end-to-end tests"];return[4,e5.testE2e()];case 1:return[4,tk.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return t5.apply(this,arguments)}I(t8,"testE2E");function t6(e){return t9.apply(this,arguments)}function t9(){t9=s(function(e){var t;return m(this,function(n){switch(n.label){case 0:t=["Creating MongoDB migration"];return[4,e5.mongoMigrateCreate(e)];case 1:return[4,tk.apply(void 0,t.concat([n.sent()]))];case 2:n.sent();return[2]}})});return t9.apply(this,arguments)}I(t6,"mongoMigrateCreate");function t7(){return ne.apply(this,arguments)}function ne(){ne=s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=["Running MongoDB migrations"];return[4,e5.mongoMigrateUp()];case 1:return[4,tk.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return ne.apply(this,arguments)}I(t7,"mongoMigrateUp");function nt(){return nn.apply(this,arguments)}function nn(){nn=s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=["Rolling back MongoDB migration"];return[4,e5.mongoMigrateDown()];case 1:return[4,tk.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return nn.apply(this,arguments)}I(nt,"mongoMigrateDown");function nr(){return ns.apply(this,arguments)}function ns(){ns=s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=["Checking MongoDB migration status"];return[4,e5.mongoMigrateStatus()];case 1:return[4,tk.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return ns.apply(this,arguments)}I(nr,"mongoMigrateStatus");s(function(){var e;return m(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,(0,T.default)((0,_.hideBin)(O.default.argv)).scriptName(ek).usage("$0 <command> [options]").command("lint","Check code for linting issues",tK).command("lint:fix","Fix linting issues automatically",tY).command("lint:inspect","View active ESLint configuration",tU).command("lint-staged","Run lint checks on staged files",tA).command("commitlint","Validate commit message format",tJ).command("setup","Initialize project setup and dependencies",tQ).command("reset","Reset the project and reinstall dependencies",tZ).command("inspect","Analyze installed project dependencies",t1).command("test:unit","Run unit test suite",t4).command("test:e2e","Run end-to-end test suite",t8).command("mongo:migrate:create <name>","Create a MongoDB migration",function(e){return e.positional("name",{describe:"Migration name",type:"string"})},/*#__PURE__*/function(){var e=s(function(e){return m(this,function(t){switch(t.label){case 0:if(!e.name){$.error("Migration name is required.");return[2]}return[4,t6(e.name)];case 1:t.sent();return[2]}})});return function(t){return e.apply(this,arguments)}}()).command("mongo:migrate:up","Apply all MongoDB migrations",t7).command("mongo:migrate:down","Rollback last MongoDB migration",nt).command("mongo:migrate:status","Check MongoDB migration status",nr).demandCommand(1,"Please specify a valid command.").strict().help().alias("h","help").alias("v","version").version(k.version).epilog('\uD83D\uDCA1 Tip: Use "--help" with any command to see options\n').parse()];case 1:t.sent();return[3,3];case 2:e=t.sent();$.error("Fatal: ".concat(e.message)),O.default.exit(1);return[3,3];case 3:return[2]}})})();
@@ -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(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e,t,n,r,i,s,o){try{var a=e[s](o);var c=a.value}catch(e){n(e);return}if(a.done){t(c)}else{Promise.resolve(c).then(r,i)}}function i(e){return function(){var t=this,n=arguments;return new Promise(function(i,s){var o=e.apply(t,n);function a(e){r(o,i,s,a,c,"next",e)}function c(e){r(o,i,s,a,c,"throw",e)}a(undefined)})}}function s(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 a(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function c(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var i=true;var s=false;var o,a;try{for(n=n.call(e);!(i=(o=n.next()).done);i=true){r.push(o.value);if(t&&r.length===t)break}}catch(e){s=true;a=e}finally{try{if(!i&&n["return"]!=null)n["return"]()}finally{if(s)throw a}}return r}function u(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function l(){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 d(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){s(e,t,n[t])})}return e}function p(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 f(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{p(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function g(e,n){return t(e)||c(e,n)||y(e,n)||u()}function m(e){return n(e)||a(e)||y(e)||l()}function h(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function y(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 v(e,t){var n,r,i,s={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=a(0),o["throw"]=a(1),o["return"]=a(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(e){return function(t){return c([e,t])}}function c(a){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,a[0]&&(s=0)),s)try{if(n=1,r&&(i=a[0]&2?r["return"]:a[0]?r["throw"]||((i=r["return"])&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;if(r=0,i)a=[a[0]&2,i.value];switch(a[0]){case 0:case 1:i=a;break;case 4:s.label++;return{value:a[1],done:false};case 5:s.label++;r=a[1];a=[0];continue;case 7:a=s.ops.pop();s.trys.pop();continue;default:if(!(i=s.trys,i=i.length>0&&i[i.length-1])&&(a[0]===6||a[0]===2)){s=0;continue}if(a[0]===3&&(!i||a[1]>i[0]&&a[1]<i[3])){s.label=a[1];break}if(a[0]===6&&s.label<i[1]){s.label=i[1];i=a;break}if(i&&s.label<i[2]){s.label=i[2];s.ops.push(a);break}if(i[2])s.ops.pop();s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e];r=0}finally{n=i=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}}var b=Object.defineProperty;var x=function(e,t){return b(e,"name",{value:t,configurable:!0})};import j from"node:process";import{hideBin as w}from"yargs/helpers";import E from"yargs/yargs";var _={name:"@cyberskill/shared",type:"module",version:"1.101.0",description:"CyberSkill Shared",author:"Stephen Cheng",license:"MIT",homepage:"https://github.com/cyberskill-world/shared#readme",repository:{type:"git",url:"git+https://github.com/cyberskill-world/shared.git"},bugs:{url:"https://github.com/cyberskill-world/shared/issues"},exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js",require:"./dist/index.cjs"},"./configs":{types:"./dist/configs/index.d.ts",import:"./dist/configs/index.js",require:"./dist/configs/index.cjs"},"./configs/commitlint":{types:"./dist/configs/commitlint/index.d.ts",import:"./dist/configs/commitlint/index.js",require:"./dist/configs/commitlint/index.cjs"},"./configs/eslint":{types:"./dist/configs/eslint/index.d.ts",import:"./dist/configs/eslint/index.js",require:"./dist/configs/eslint/index.cjs"},"./configs/graphql-codegen":{types:"./dist/configs/graphql-codegen/index.d.ts",import:"./dist/configs/graphql-codegen/index.js",require:"./dist/configs/graphql-codegen/index.cjs"},"./configs/lint-staged":{types:"./dist/configs/lint-staged/index.d.ts",import:"./dist/configs/lint-staged/index.js",require:"./dist/configs/lint-staged/index.cjs"},"./constants":{types:"./dist/constants/index.d.ts",import:"./dist/constants/index.js",require:"./dist/constants/index.cjs"},"./nodejs":{types:"./dist/nodejs/index.d.ts",import:"./dist/nodejs/index.js",require:"./dist/nodejs/index.cjs"},"./nodejs/apollo-server":{types:"./dist/nodejs/apollo-server/index.d.ts",import:"./dist/nodejs/apollo-server/index.js",require:"./dist/nodejs/apollo-server/index.cjs"},"./nodejs/cli":{types:"./dist/nodejs/cli/index.d.ts",import:"./dist/nodejs/cli/index.js",require:"./dist/nodejs/cli/index.cjs"},"./nodejs/command":{types:"./dist/nodejs/command/index.d.ts",import:"./dist/nodejs/command/index.js",require:"./dist/nodejs/command/index.cjs"},"./nodejs/express":{types:"./dist/nodejs/express/index.d.ts",import:"./dist/nodejs/express/index.js",require:"./dist/nodejs/express/index.cjs"},"./nodejs/fs":{types:"./dist/nodejs/fs/index.d.ts",import:"./dist/nodejs/fs/index.js",require:"./dist/nodejs/fs/index.cjs"},"./nodejs/log":{types:"./dist/nodejs/log/index.d.ts",import:"./dist/nodejs/log/index.js",require:"./dist/nodejs/log/index.cjs"},"./nodejs/mongo":{types:"./dist/nodejs/mongo/index.d.ts",import:"./dist/nodejs/mongo/index.js",require:"./dist/nodejs/mongo/index.cjs"},"./nodejs/package":{types:"./dist/nodejs/package/index.d.ts",import:"./dist/nodejs/package/index.js",require:"./dist/nodejs/package/index.cjs"},"./nodejs/path":{types:"./dist/nodejs/path/index.d.ts",import:"./dist/nodejs/path/index.js",require:"./dist/nodejs/path/index.cjs"},"./nodejs/storage":{types:"./dist/nodejs/storage/index.d.ts",import:"./dist/nodejs/storage/index.js",require:"./dist/nodejs/storage/index.cjs"},"./nodejs/ws":{types:"./dist/nodejs/ws/index.d.ts",import:"./dist/nodejs/ws/index.js",require:"./dist/nodejs/ws/index.cjs"},"./react":{types:"./dist/react/index.d.ts",import:"./dist/react/index.js",require:"./dist/react/index.cjs"},"./react/apollo-client":{types:"./dist/react/apollo-client/index.d.ts",import:"./dist/react/apollo-client/index.js",require:"./dist/react/apollo-client/index.cjs"},"./react/apollo-error":{types:"./dist/react/apollo-error/index.d.ts",import:"./dist/react/apollo-error/index.js",require:"./dist/react/apollo-error/index.cjs"},"./react/i18next":{types:"./dist/react/i18next/index.d.ts",import:"./dist/react/i18next/index.js",require:"./dist/react/i18next/index.cjs"},"./react/loading":{types:"./dist/react/loading/index.d.ts",import:"./dist/react/loading/index.js",require:"./dist/react/loading/index.cjs"},"./react/log":{types:"./dist/react/log/index.d.ts",import:"./dist/react/log/index.js",require:"./dist/react/log/index.cjs"},"./react/next-intl":{types:"./dist/react/next-intl/index.d.ts",import:"./dist/react/next-intl/index.js",require:"./dist/react/next-intl/index.cjs"},"./react/storage":{types:"./dist/react/storage/index.d.ts",import:"./dist/react/storage/index.js",require:"./dist/react/storage/index.cjs"},"./react/toast":{types:"./dist/react/toast/index.d.ts",import:"./dist/react/toast/index.js",require:"./dist/react/toast/index.cjs"},"./react/vitest":{types:"./dist/react/vitest/index.d.ts",import:"./dist/react/vitest/index.js",require:"./dist/react/vitest/index.cjs"},"./styles/reset.css":{import:"./dist/styles/reset.css",require:"./dist/styles/reset.css"},"./typescript":{types:"./dist/typescript/index.d.ts",import:"./dist/typescript/index.js",require:"./dist/typescript/index.cjs"},"./utils":{types:"./dist/utils/index.d.ts",import:"./dist/utils/index.js",require:"./dist/utils/index.cjs"}},main:"./dist/index.cjs",module:"./dist/index.js",types:"./dist/index.d.ts",bin:{cyberskill:"./dist/nodejs/cli/index.js"},files:["dist","public"],scripts:{build:"tsup",dev:"dotenv -e .env -- tsup --watch",lint:"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint","lint:fix":"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint:fix","lint:inspect":"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint:inspect",reset:"dotenv -e .env -- tsx src/nodejs/cli/index.ts reset",setup:"dotenv -e .env -- tsx src/nodejs/cli/index.ts setup",inspect:"dotenv -e .env -- tsx src/nodejs/cli/index.ts inspect","test:unit":"dotenv -e .env -- tsx src/nodejs/cli/index.ts test:unit","test:e2e":"dotenv -e .env -- tsx src/nodejs/cli/index.ts test:e2e",commitlint:"dotenv -e .env -- tsx src/nodejs/cli/index.ts commitlint","lint-staged":"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint-staged"},dependencies:{"@antfu/eslint-config":"4.12.0","@apollo/client":"3.13.8","@apollo/server":"4.12.0","@eddeee888/gcg-typescript-resolver-files":"0.12.0","@eslint-react/eslint-plugin":"1.48.4","@graphql-codegen/cli":"5.0.5","@graphql-codegen/client-preset":"4.8.0","@microsoft/api-extractor":"7.52.4","@next/eslint-plugin-next":"15.3.1","@swc/core":"1.11.21","@testing-library/jest-dom":"6.6.3","@testing-library/react":"16.3.0","@vitejs/plugin-react-swc":"3.9.0","@vitest/browser":"3.1.2",chalk:"5.4.1",classnames:"2.5.1",compression:"1.8.0",consola:"3.4.2",cors:"2.8.5","crypto-js":"4.2.0","date-fns":"4.1.0",dotenv:"16.5.0","dotenv-cli":"8.0.0",envalid:"8.0.0","eslint-config-next":"15.3.1","eslint-plugin-format":"1.0.1","eslint-plugin-react-hooks":"5.2.0","eslint-plugin-react-refresh":"0.4.19",express:"4.21.2","express-device":"0.4.2","express-session":"1.18.1","fs-extra":"11.3.0",globals:"16.0.0",graphql:"16.10.0","graphql-ws":"6.0.4",i18next:"25.0.1",jsdom:"26.1.0",localforage:"1.10.0","migrate-mongo":"12.1.3","modern-normalize":"3.0.1",mongodb:"6.15.0",mongoose:"8.13.2","mongoose-aggregate-paginate-v2":"1.1.4","mongoose-paginate-v2":"1.9.0","next-intl":"4.0.2","node-fetch":"3.3.2","node-persist":"4.0.4",ora:"8.2.0",playwright:"1.52.0","postcss-modules":"6.0.1",qs:"6.14.0",react:"19.1.0","react-dom":"19.1.0","react-hot-toast":"2.5.2","react-i18next":"15.4.1","react-icons":"5.5.0",sass:"1.86.3",slugify:"1.6.6","ts-node":"10.9.2",tsup:"8.4.0",tsx:"4.19.3",typescript:"5.8.3",unorm:"1.6.0",uuid:"11.1.0",vite:"6.3.2",vitest:"3.1.2","vitest-browser-react":"0.1.1",ws:"8.18.1",yargs:"17.7.2"},publishConfig:{access:"public",registry:"https://registry.npmjs.org/"},devDependencies:{"@commitlint/cli":"19.8.0","@eslint/config-inspector":"1.0.2","@types/compression":"1.7.5","@types/cors":"2.8.17","@types/crypto-js":"4.2.2","@types/express":"4.17.21","@types/express-session":"1.18.1","@types/fs-extra":"11.0.4","@types/migrate-mongo":"10.0.5","@types/mongoose-aggregate-paginate-v2":"1.0.12","@types/node-persist":"3.1.8","@types/react":"19.1.2","@types/react-dom":"19.1.2","@types/unorm":"1.3.31","@types/uuid":"10.0.0","@types/ws":"8.18.1","@types/yargs":"17.0.33",eslint:"9.25.0","lint-staged":"15.5.1","node-modules-inspector":"0.6.6","simple-git-hooks":"2.12.1"}};var I=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as S}from"node:child_process";import O from"node:process";import*as C from"node:util";var T=".cyberskill-storage";import k from"dotenv";import{bool as R,cleanEnv as G,str as D}from"envalid";import P from"node:os";import N from"node:path";import L from"node:process";k.config();function M(){var e={DEBUG:L.env.DEBUG||!1,CWD:L.env.CWD||L.cwd(),CYBERSKILL_STORAGE_DIRECTORY:L.env.CYBERSKILL_STORAGE_DIRECTORY||N.join(P.homedir(),T)};return G(e,{DEBUG:R(),CWD:D(),CYBERSKILL_STORAGE_DIRECTORY:D()})}x(M,"getEnv");var A=function(e){return e.Error="error",e.Warning="warning",e}({});import U from"chalk";import q from"consola";import{GraphQLError as F}from"graphql";var B=M();B.DEBUG||(q.level=4);function K(e){var t=U[e];return typeof t=="function"?t:U.green}x(K,"chalkKeyword");var W={silent:q.silent,level:q.level,fatal:q.fatal,error:q.error,warn:q.warn,log:q.log,info:q.info,success:q.success,ready:q.ready,start:q.start,box:q.box,debug:q.debug,trace:q.trace,verbose:q.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){q.box(U.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,i=e.rule,s=e.message;q.log("".concat(U.gray("File:")," ").concat(U.blue("".concat(t).concat(r?":".concat(r):"")))),i&&q.log(" ".concat(K(n)("Rule:")," ").concat(i)),q.log(" ".concat(K(n)("Message:")," ").concat(s))}),q.box(K(n)("".concat(e," : ").concat(t.length))),q.log(U.gray("─".repeat(40)))}};var Y={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};import H from"node-fetch";import J from"fs-extra";var $=J.readFileSync,V=J.writeFileSync,z=J.pathExistsSync,Q=J.appendFileSync,X=J.copySync,Z=J.removeSync,ee=J.statSync,et=J.readJsonSync,en=J.writeJsonSync;function er(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return z(e)})}x(er,"existsSync");function ei(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}t.forEach(function(e){z(e)&&Z(e)})}x(ei,"removeSync");var es="MONGO_MIGRATE_OPTIONS";import{Collection as eo,Db as ea}from"mongodb";import{Document as ec,Model as eu}from"mongoose";import{format as el}from"date-fns";import ed from"migrate-mongo";import{Document as ep}from"mongoose";import ef from"mongoose-aggregate-paginate-v2";import eg from"mongoose-paginate-v2";import{v4 as em}from"uuid";import eh from"node-persist";var ey=M();function ev(){return eb.apply(this,arguments)}function eb(){eb=i(function(){var e;return v(this,function(t){switch(t.label){case 0:e=eh.defaultInstance;if(e)return[3,2];return[4,eh.init({dir:ey.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})});return eb.apply(this,arguments)}x(ev,"initNodePersist");var ex={get:function e(e){return i(function(){var t,n;return v(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ev()];case 1:r.sent();return[4,eh.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(W.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return i(function(){var n;return v(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ev()];case 1:r.sent();return[4,eh.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();W.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return i(function(){var t;return v(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ev()];case 1:n.sent();return[4,eh.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();W.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return i(function(){var e,t;return v(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ev()];case 1:n.sent();return[4,eh.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(W.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(W.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return i(function(){return v(this,function(t){try{return[2,"".concat(ey.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(W.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};import ej from"crypto-js";import ew from"slugify";var eE=ew.default||ew;var e_={isEmpty:function e(e){return e==null?!0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":h(e))=="object"?o(e,Date)?!1:Object.keys(e).length===0:typeof e=="string"?e.trim().length===0:!1}};var eI={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return el(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"?eI.getDateTime():new Date;return{id:em(),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,i=t.post;n&&r&&e.pre(n,r),n&&i&&e.post(n,i)})},createGenericSchema:function e(e){return new e.Schema({id:{type:String,default:em,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,i=r===void 0?[]:r,s=e.standalone,o=s===void 0?!1:s;var a=new t.Schema(n,{strict:!0});return i.forEach(function(e){var t=e.name,n=e.options,r=e.get;var i=a.virtual(t,n);r&&i.get(r)}),o||a.add(eI.createGenericSchema(t)),a},createModel:function e(e){var t=e.mongoose,n=e.name,r=e.schema,i=e.pagination,s=i===void 0?!1:i,o=e.aggregate,a=o===void 0?!1:o,c=e.virtuals,u=c===void 0?[]:c,l=e.middlewares,d=l===void 0?[]:l;if(!n)throw new Error("Model name is required.");if(t.models[n])return t.models[n];var p=eI.createSchema({mongoose:t,schema:r,virtuals:u});return eI.applyPlugins(p,[s&&eg,a&&ef]),eI.applyMiddlewares(p,d),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 f(d({},t,n&&{id:{$ne:n}}),{$or:[{slug:e},{slugHistory:e}]})},validator:{isEmpty:function e(){return /*#__PURE__*/function(){var e=i(function(e){return v(this,function(t){return[2,!e_.isEmpty(e)]})});return function(t){return e.apply(this,arguments)}}()},isUnique:function e(e){return /*#__PURE__*/function(){var t=i(function(t){var n;return v(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 s({},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=i(function(t){return v(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:x(/*#__PURE__*/function(){var e=i(function(e,t){var n,r,i,s;return v(this,function(o){switch(o.label){case 0:return[4,ex.get(es)];case 1:n=o.sent();if(!n)throw new Error("Missing migrate config");if(ed.config.set(n),!t)return[2,e(void 0)];return[4,ed.database.connect()];case 2:r=o.sent(),i=r.db,s=r.client;o.label=3;case 3:o.trys.push([3,,5,7]);return[4,e({db:i,client:s})];case 4:return[2,o.sent()];case 5:return[4,s.close()];case 6:o.sent();return[7];case 7:return[2]}})});return function(t,n){return e.apply(this,arguments)}}(),"withConfig"),init:x(/*#__PURE__*/i(function(){return v(this,function(e){switch(e.label){case 0:return[4,ed.init()];case 1:e.sent();return[2]}})}),"init"),create:x(/*#__PURE__*/function(){var e=i(function(e){return v(this,function(t){switch(t.label){case 0:return[4,eI.migrate.withConfig(function(){return ed.create(e)})];case 1:t.sent();return[2]}})});return function(t){return e.apply(this,arguments)}}(),"create"),up:x(/*#__PURE__*/i(function(){return v(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,eI.migrate.withConfig(/*#__PURE__*/function(){var e=i(function(e){var t,n;return v(this,function(r){switch(r.label){case 0:t=e.db,n=e.client;return[4,ed.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:x(/*#__PURE__*/i(function(){return v(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,eI.migrate.withConfig(/*#__PURE__*/function(){var e=i(function(e){var t,n;return v(this,function(r){switch(r.label){case 0:t=e.db,n=e.client;return[4,ed.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:x(/*#__PURE__*/i(function(){return v(this,function(e){switch(e.label){case 0:return[4,eI.migrate.withConfig(/*#__PURE__*/function(){var e=i(function(e){var t;return v(this,function(n){switch(n.label){case 0:t=e.db;return[4,ed.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:x(function(e){ex.set(es,e)},"config")}};import{join as eS,resolve as eO}from"node:path";var eC=M();function eT(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return eO.apply(void 0,[eC.CWD].concat(m(t)))}x(eT,"resolveWorkingPath");function ek(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return eS.apply(void 0,m(t))}x(ek,"join");var eR=M(),eG=eR.CWD,eD="@cyberskill/shared",eP="node_modules",eN="dist",eL="package.json",eM="package-lock.json",eA="tsconfig.json",eU=".gitignore",eq=".simple-git-hooks.json",eF="pnpm-lock.yaml",eB=".git/hooks/",eK=".git/COMMIT_EDITMSG",eW=ek(eG,eP,eD,eN),eY="cyberskill",eH="src/nodejs/cli/index.ts",eJ="eslint",e$="eslint",eV="vitest",ez="playwright",eQ="vitest",eX="@commitlint/cli",eZ="commitlint",e0="lint-staged",e1="lint-staged",e2="typescript",e4="tsc",e3="tsx",e5="git",e8="pnpm",e6="pnpm exec",e7="simple-git-hooks",e9="simple-git-hooks",te="@eslint/config-inspector",tt="eslint-config-inspector",tn="node-modules-inspector",tr="node-modules-inspector",ti="migrate-mongo";var ts={CYBERSKILL_DIRECTORY:eW,WORKING_DIRECTORY:eG,TS_CONFIG:eT(eA),GIT_IGNORE:eT(eU),GIT_HOOK:eT(eB),GIT_COMMIT_MSG:eT(eK),SIMPLE_GIT_HOOKS_JSON:eT(eq),PACKAGE_JSON:eT(eL),PACKAGE_LOCK_JSON:eT(eM),PNPM_LOCK_YAML:eT(eF),NODE_MODULES:eT(eP),LINT_STAGED_CONFIG:eT("".concat(eW,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:eT("".concat(eW,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:eT("".concat(eW,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eT("".concat(eW,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eT("".concat(eW,"/react/vitest/vitest.e2e.js"))};function to(e){var t=e.isCurrentProject;return d({"pre-commit":e1,"commit-msg":eZ},t&&{"pre-push":tP("".concat(e5," pull"))})}x(to,"HOOK");function ta(e,t,n){return tc.apply(this,arguments)}function tc(){tc=i(function(e,t,n){return v(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case I.CLI:return[3,1];case I.STRING:return[3,3];case I.FUNCTION:return[3,4]}return[3,6];case 1:return[4,tb(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),tL(tP("".concat(e6," ").concat(n))))];case 3:return[2,tL(tP(t))];case 4:return[4,tb(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 tc.apply(this,arguments)}x(ta,"buildCommand");function tu(e,t,n){return /*#__PURE__*/i(function(){return v(this,function(r){return[2,ta(e,t,n)]})})}x(tu,"commandFactory");var tl={simpleGitHooks:tu(I.CLI,e7,e9),eslintInspect:tu(I.CLI,te,tt),nodeModulesInspect:tu(I.CLI,tn,tr),eslintCheck:tu(I.CLI,eJ,"".concat(e$," ").concat(ts.WORKING_DIRECTORY)),eslintFix:tu(I.CLI,eJ,"".concat(e$," ").concat(ts.WORKING_DIRECTORY," --fix")),typescriptCheck:tu(I.CLI,e2,"".concat(e4," -p ").concat(ts.TS_CONFIG," --noEmit")),configureGitHook:tu(I.STRING,"".concat(e5," config core.hooksPath ").concat(ts.GIT_HOOK)),testUnit:tu(I.CLI,eV,"".concat(eQ," --config ").concat(ts.UNIT_TEST_CONFIG)),testE2e:tu(I.CLI,"".concat(eV," ").concat(ez),"".concat(eQ," --config ").concat(ts.E2E_TEST_CONFIG)),mongoMigrateCreate:x(function(e){return tu(I.FUNCTION,"".concat(ti),function(){return eI.migrate.create(e)})()},"mongoMigrateCreate"),mongoMigrateUp:tu(I.FUNCTION,"".concat(ti),eI.migrate.up),mongoMigrateDown:tu(I.FUNCTION,"".concat(ti),eI.migrate.down),commitLint:tu(I.CLI,eX,"".concat(eZ," --edit ").concat(ts.GIT_COMMIT_MSG," --config ").concat(ts.COMMITLINT_CONFIG)),lintStaged:tu(I.CLI,e0,"".concat(e1," --config ").concat(ts.LINT_STAGED_CONFIG)),stageBuildDirectory:tu(I.STRING,"".concat(e5," add ").concat(eN)),build:tu(I.STRING,"".concat(e8," run build")),pnpmInstallStandard:tu(I.STRING,"".concat(e8," install")),pnpmInstallLegacy:tu(I.STRING,"".concat(e8," install --legacy-peer-deps")),pnpmInstallForce:tu(I.STRING,"".concat(e8," install --force"))};var td=M();function tp(e){var t=ek(td.CWD,eL);if(!er(t))return!1;try{var n=et(t),r=n.name,i=n.dependencies,s=i===void 0?{}:i,o=n.devDependencies,a=o===void 0?{}:o,c=r===e,u=e in s,l=e in a;return c||u||l?{path:t,file:n,isCurrentProject:c,isDepend:u,isDevDepend:l}:!1}catch(e){return W.warn("Failed to read package.json: ".concat(e.message)),!1}}x(tp,"getPackage");function tf(e){return tg.apply(this,arguments)}function tg(){tg=i(function(e){var t,n,r,i;return v(this,function(s){switch(s.label){case 0:s.trys.push([0,3,,4]);return[4,H("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=s.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=s.sent(),r=n.version;return[2,r];case 3:i=s.sent();throw W.error('Failed to fetch version for "'.concat(e,'": ').concat(i.message)),i;case 4:return[2]}})});return tg.apply(this,arguments)}x(tf,"getLatestPackageVersion");function tm(e,t){return th.apply(this,arguments)}function th(){th=i(function(e,t){var n,r,i,s,o,a,c,u,l,p,f,g,m,h,y,b,x,j,w,E,_;return v(this,function(v){switch(v.label){case 0:v.trys.push([0,4,,5]);n=tp(e);if(!n)return[2,d({},Y)];c=n.path,u=n.file,l=n.isCurrentProject,p=n.isDepend,f=n.isDevDepend,g=(r=u.dependencies)!==null&&r!==void 0?r:{},m=(i=u.devDependencies)!==null&&i!==void 0?i:{},h=l?(s=u.version)!==null&&s!==void 0?s:"0.0.0":p?(o=g[e])!==null&&o!==void 0?o:"0.0.0":f?(a=m[e])!==null&&a!==void 0?a:"0.0.0":"0.0.0";if(!l)return[3,1];x=h;return[3,3];case 1:return[4,tf(e)];case 2:x=v.sent();v.label=3;case 3:y=x,b=l||h===y;if(!b&&(t===null||t===void 0?void 0:t.update)){;w=p?"dependencies":f?"devDependencies":null;w&&((j=u[w])===null||j===void 0?void 0:j[e])!==y&&(u[w]=(E=u[w])!==null&&E!==void 0?E:{},u[w][e]=y,en(c,u),W.info('Updated "'.concat(e,'" to version ').concat(y)))}return[2,{isCurrentProject:l,installedPath:c,file:u,isUpToDate:b}];case 4:_=v.sent();return[2,(W.error('Error checking package "'.concat(e,'": ').concat(_.message)),d({},Y))];case 5:return[2]}})});return th.apply(this,arguments)}x(tm,"checkPackage");function ty(){return tv.apply(this,arguments)}function tv(){tv=i(function(){var e,t,n,r,i,s,o,a,c,u,l,d;return v(this,function(p){switch(p.label){case 0:e=[{command:x(function(){return tl.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:x(function(){return tl.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:x(function(){return tl.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]);i=e[Symbol.iterator]();p.label=2;case 2:if(!!(t=(s=i.next()).done))return[3,8];o=s.value,a=o.command,c=o.message;p.label=3;case 3:p.trys.push([3,6,,7]);return[4,a()];case 4:u=p.sent();return[4,tU("".concat(c," using: ").concat(u),u)];case 5:p.sent();return[2];case 6:l=p.sent();W.warn("Installation attempt failed: ".concat(c)),W.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=p.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&i.return!=null){i.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})});return tv.apply(this,arguments)}x(ty,"installDependencies");function tb(e,t){return tx.apply(this,arguments)}function tx(){tx=i(function(e,t){var n,r,i,s,o,a,c,u,l,p,f;return v(this,function(g){switch(g.label){case 0:if(!er(ts.PACKAGE_JSON)){W.error("package.json not found. Aborting setup.");return[2]}g.label=1;case 1:g.trys.push([1,13,,14]);n=m(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return tm(e,d({},(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,ty()];case 3:r=g.sent();g.label=4;case 4:r;s=true,o=false,a=undefined;g.label=5;case 5:g.trys.push([5,10,11,12]);c=((i=t===null||t===void 0?void 0:t.postInstallActions)!==null&&i!==void 0?i:[])[Symbol.iterator]();g.label=6;case 6:if(!!(s=(u=c.next()).done))return[3,9];l=u.value;return[4,l()];case 7:g.sent();g.label=8;case 8:s=true;return[3,6];case 9:return[3,12];case 10:p=g.sent();o=true;a=p;return[3,12];case 11:try{if(!s&&c.return!=null){c.return()}}finally{if(o){throw a}}return[7];case 12:return[3,14];case 13:f=g.sent();throw W.error('Failed to setup "'.concat(e.join(", "),'": ').concat(f.message)),f;case 14:return[2]}})});return tx.apply(this,arguments)}x(tb,"setupPackages");var tj=M(),tw=C.promisify(S);function tE(e){return"error_list:".concat(e)}x(tE,"getErrorListKey");function t_(e){return tI.apply(this,arguments)}function tI(){tI=i(function(e){var t,n,r;return v(this,function(s){switch(s.label){case 0:if(e.length===0)return[2];t=Date.now(),n=tE(t);s.label=1;case 1:s.trys.push([1,3,,4]);return[4,ex.set(n,{errors:e,timestamp:t})];case 2:s.sent(),setTimeout(/*#__PURE__*/i(function(){var e;return v(this,function(t){switch(t.label){case 0:return[4,ex.getLogLink(n)];case 1:e=t.sent();e&&W.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:r=s.sent();W.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})});return tI.apply(this,arguments)}x(t_,"saveErrorListToStorage");function tS(){return tO.apply(this,arguments)}function tO(){tO=i(function(){var e,t,n;return v(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ex.keys()];case 1:e=r.sent(),t=Array.isArray(e)?e.filter(function(e){var t;return e===null||e===void 0?void 0:(t=e.startsWith)===null||t===void 0?void 0:t.call(e,"error_list:")}):[];return[4,Promise.all(t.map(/*#__PURE__*/function(){var e=i(function(e){var t;return v(this,function(n){switch(n.label){case 0:return[4,ex.get(e)];case 1:return[2,((t=n.sent())===null||t===void 0?void 0:t.errors)||[]]}})});return function(t){return e.apply(this,arguments)}}()))];case 2:return[2,r.sent().flat()];case 3:n=r.sent();return[2,(W.error("Failed to retrieve stored errors: ".concat(n.message)),[])];case 4:return[2]}})});return tO.apply(this,arguments)}x(tS,"getStoredErrorLists");function tC(){return tT.apply(this,arguments)}function tT(){tT=i(function(){var e,t,n;return v(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ex.keys()];case 1:e=r.sent(),t=Array.isArray(e)?e.filter(function(e){var t;return e===null||e===void 0?void 0:(t=e.startsWith)===null||t===void 0?void 0:t.call(e,"error_list:")}):[];return[4,Promise.all(t.map(function(e){return ex.remove(e)}))];case 2:r.sent();return[3,4];case 3:n=r.sent();W.error("Failed to clear error lists: ".concat(n.message));return[3,4];case 4:return[2]}})});return tT.apply(this,arguments)}x(tC,"clearAllErrorLists");function tk(e){var t=[],n=[],r="",i=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,s=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,o=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var a,c,u,l,d;var p=i.exec(e)||[],f=s.exec(e)||[],g=o.exec(e)||[];var m,h,y,v,b,x;p.length&&r?t.push({file:r,position:"".concat(p[1],":").concat(p[2]),type:p[3]===A.Error?A.Error:A.Warning,message:(m=p===null||p===void 0?void 0:(a=p[4])===null||a===void 0?void 0:a.trim())!==null&&m!==void 0?m:"",rule:(h=p===null||p===void 0?void 0:(c=p[5])===null||c===void 0?void 0:c.trim())!==null&&h!==void 0?h:""}):f.length?t.push({file:(y=f===null||f===void 0?void 0:f[1])!==null&&y!==void 0?y:"",position:"".concat(f[2],":").concat(f[3]),type:f[4]===A.Error?A.Error:A.Warning,message:(v=f===null||f===void 0?void 0:(u=f[5])===null||u===void 0?void 0:u.trim())!==null&&v!==void 0?v:""}):g.length?t.push({file:"commitlint",type:A.Error,message:(b=g===null||g===void 0?void 0:(l=g[1])===null||l===void 0?void 0:l.trim())!==null&&b!==void 0?b:"",rule:(x=g===null||g===void 0?void 0:(d=g[2])===null||d===void 0?void 0:d.trim())!==null&&x!==void 0?x:""}):n.push(e.trim())}}),t.length&&t_(t),tj.DEBUG&&n.length&&(W.warn("Unmatched lines:"),n.forEach(function(e){return W.info(" ".concat(e))}))}x(tk,"parseTextErrors");function tR(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,i=e.line,s=e.column,o=e.ruleId,a=e.message;n.push({type:r===2?A.Error:A.Warning,file:t,position:"".concat(i,":").concat(s),rule:o,message:a})})}),n.length&&t_(n)}catch(t){tk(e)}}x(tR,"parseCommandOutput");function tG(e){return tD.apply(this,arguments)}function tD(){tD=i(function(e){var t,n,r,i,s,o,a,c,u;var l=arguments;return v(this,function(d){switch(d.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:tR;n=new AbortController;O.on("SIGINT",function(){W.warn("Process interrupted. Terminating..."),n.abort(),O.exit()});d.label=1;case 1:d.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,tw(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=d.sent(),i=r.stdout,s=r.stderr;[i,s].forEach(function(e){return e&&t(e)});d.label=3;case 3:return[3,5];case 4:o=d.sent();a=o.stdout,c=o.stderr,u=o.message;[a,c].forEach(function(e){return e&&t(e)}),!c&&!a&&W.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})});return tD.apply(this,arguments)}x(tG,"executeCommand");function tP(e){return{raw:!0,cmd:e}}x(tP,"rawCommand");function tN(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(e6," ").concat(eD," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(e6," ").concat(e3," ").concat(eH," ").concat(e):"".concat(e6," ").concat(eY," ").concat(e)}x(tN,"formatCLI");function tL(e,t){return typeof e=="function"?tN(e(t),t):(typeof e==="undefined"?"undefined":h(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?tN(e,t):e}x(tL,"formatCommand");function tM(e){return tA.apply(this,arguments)}function tA(){tA=i(function(e){var t,n,r,i,s,o,a;var c=arguments;return v(this,function(u){switch(u.label){case 0:t=c.length>1&&c[1]!==void 0?c[1]:{};r=(n=t===null||t===void 0?void 0:t.isRemote)!==null&&n!==void 0?n:!1;if(!r)return[3,1];a=!1;return[3,3];case 1:return[4,tm(eD)];case 2:a=u.sent().isCurrentProject;u.label=3;case 3:i=a,s={isRemote:r,isCurrentProject:i},o=typeof e=="function"?e(s):e;return[2,Object.fromEntries(Object.entries(o).map(function(e){var t=g(e,2),n=t[0],r=t[1];return[n,tL(r,s)]}))]}})});return tA.apply(this,arguments)}x(tM,"resolveCommands");function tU(e,t){return tq.apply(this,arguments)}function tq(){tq=i(function(e,t){var n;return v(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);W.start("".concat(e)),tj.DEBUG&&W.info("→ ".concat(t));return[4,tG(t)];case 1:r.sent(),W.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw W.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})});return tq.apply(this,arguments)}x(tU,"runCommand");function tF(){return tB.apply(this,arguments)}function tB(){tB=i(function(){var e,t;return v(this,function(n){switch(n.label){case 0:if(!er(ts.TS_CONFIG))return[3,3];t=["Performing TypeScript validation"];return[4,tl.typescriptCheck()];case 1:return[4,tU.apply(void 0,t.concat([n.sent()]))];case 2:e=n.sent();return[3,4];case 3:e=W.warn("No TypeScript configuration found. Skipping type check.");n.label=4;case 4:e;return[2]}})});return tB.apply(this,arguments)}x(tF,"checkTypescript");function tK(){return tW.apply(this,arguments)}function tW(){tW=i(function(){var e,t,n,r;var i=arguments;return v(this,function(s){switch(s.label){case 0:e=i.length>0&&i[0]!==void 0?i[0]:!1;if(!e)return[3,3];n=["Running ESLint with auto-fix"];return[4,tl.eslintFix()];case 1:return[4,tU.apply(void 0,n.concat([s.sent()]))];case 2:t=s.sent();return[3,6];case 3:r=["Running ESLint check"];return[4,tl.eslintCheck()];case 4:return[4,tU.apply(void 0,r.concat([s.sent()]))];case 5:t=s.sent();s.label=6;case 6:t;return[2]}})});return tW.apply(this,arguments)}x(tK,"checkEslint");function tY(e,t){if(!t.length)return;var n=e==="Errors"?"red":"yellow";W.printBoxedLog(e==="Errors"?"✖ Errors":"⚠ Warnings",t,n)}x(tY,"printIssues");function tH(){return tJ.apply(this,arguments)}function tJ(){tJ=i(function(){var e,t,n;return v(this,function(r){switch(r.label){case 0:return[4,tS()];case 1:e=r.sent(),t=e.filter(function(e){return e.type===A.Error}),n=e.filter(function(e){return e.type===A.Warning});!t.length&&!n.length?W.printBoxedLog("✔ NO ISSUES FOUND",[],"green"):(tY("Warnings",n),tY("Errors",t),(t.length>0||n.length>0)&&j.exit(1));return[2]}})});return tJ.apply(this,arguments)}x(tH,"showCheckResult");function t$(){return tV.apply(this,arguments)}function tV(){tV=i(function(){var e,t,n,r,i,s;return v(this,function(o){switch(o.label){case 0:return[4,tC()];case 1:o.sent();return[4,tm(eD)];case 2:e=o.sent(),t=e.isCurrentProject;if(!t)return[3,9];o.label=3;case 3:o.trys.push([3,8,,9]);n=["Building package: ".concat(eD)];return[4,tl.build()];case 4:return[4,tU.apply(void 0,n.concat([o.sent()]))];case 5:o.sent();r=["Staging build artifacts"];return[4,tl.stageBuildDirectory()];case 6:return[4,tU.apply(void 0,r.concat([o.sent()]))];case 7:o.sent();return[3,9];case 8:i=o.sent();throw W.error("Error building and staging ".concat(eD,": ").concat(i.message)),i;case 9:s=["Executing lint-staged"];return[4,tl.lintStaged()];case 10:return[4,tU.apply(void 0,s.concat([o.sent()]))];case 11:o.sent(),tH();return[2]}})});return tV.apply(this,arguments)}x(t$,"lintStaged");function tz(){return tQ.apply(this,arguments)}function tQ(){tQ=i(function(){var e;return v(this,function(t){switch(t.label){case 0:e=["Inspecting ESLint configuration"];return[4,tl.eslintInspect()];case 1:return[4,tU.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return tQ.apply(this,arguments)}x(tz,"inspectLint");function tX(){return tZ.apply(this,arguments)}function tZ(){tZ=i(function(){return v(this,function(e){switch(e.label){case 0:return[4,tC()];case 1:e.sent();return[4,Promise.all([tF(),tK()])];case 2:e.sent(),tH();return[2]}})});return tZ.apply(this,arguments)}x(tX,"lintCheck");function t0(){return t1.apply(this,arguments)}function t1(){t1=i(function(){return v(this,function(e){switch(e.label){case 0:return[4,tC()];case 1:e.sent();return[4,Promise.all([tF(),tK(!0)])];case 2:e.sent(),tH();return[2]}})});return t1.apply(this,arguments)}x(t0,"lintFix");function t2(){return t4.apply(this,arguments)}function t4(){t4=i(function(){var e;return v(this,function(t){switch(t.label){case 0:return[4,tC()];case 1:t.sent();e=["Validating commit message"];return[4,tl.commitLint()];case 2:return[4,tU.apply(void 0,e.concat([t.sent()]))];case 3:t.sent(),tH();return[2]}})});return t4.apply(this,arguments)}x(t2,"commitLint");function t3(){return t5.apply(this,arguments)}function t5(){t5=i(function(){var e,t,n,r;return v(this,function(i){switch(i.label){case 0:e=["Configuring Git hooks"];return[4,tl.configureGitHook()];case 1:return[4,tU.apply(void 0,e.concat([i.sent()]))];case 2:i.sent(),ei(ts.GIT_HOOK);return[4,tM(to)];case 3:t=i.sent();en(ts.SIMPLE_GIT_HOOKS_JSON,t);n="\n".concat(eq,"\n");er(ts.GIT_IGNORE)?$(ts.GIT_IGNORE,"utf-8").split("\n").includes(eq)||Q(ts.GIT_IGNORE,n,"utf-8"):V(ts.GIT_IGNORE,n,"utf-8");r=["Setting up simple-git-hooks"];return[4,tl.simpleGitHooks()];case 4:return[4,tU.apply(void 0,r.concat([i.sent()]))];case 5:i.sent();return[2]}})});return t5.apply(this,arguments)}x(t3,"setupGitHook");function t8(){return t6.apply(this,arguments)}function t6(){t6=i(function(){return v(this,function(e){switch(e.label){case 0:return[4,tb([eD],{update:!0,postInstallActions:[t3]})];case 1:e.sent();return[2]}})});return t6.apply(this,arguments)}x(t8,"setup");function t7(){return t9.apply(this,arguments)}function t9(){t9=i(function(){return v(this,function(e){switch(e.label){case 0:ei(ts.NODE_MODULES,ts.PNPM_LOCK_YAML);return[4,ty()];case 1:e.sent();return[4,t3()];case 2:e.sent();return[2]}})});return t9.apply(this,arguments)}x(t7,"reset");function ne(){return nt.apply(this,arguments)}function nt(){nt=i(function(){var e;return v(this,function(t){switch(t.label){case 0:e=["Inspecting project dependencies"];return[4,tl.nodeModulesInspect()];case 1:return[4,tU.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return nt.apply(this,arguments)}x(ne,"inspect");function nn(){return nr.apply(this,arguments)}function nr(){nr=i(function(){var e;return v(this,function(t){switch(t.label){case 0:e=["Running unit tests"];return[4,tl.testUnit()];case 1:return[4,tU.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return nr.apply(this,arguments)}x(nn,"testUnit");function ni(){return ns.apply(this,arguments)}function ns(){ns=i(function(){var e;return v(this,function(t){switch(t.label){case 0:e=["Running end-to-end tests"];return[4,tl.testE2e()];case 1:return[4,tU.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return ns.apply(this,arguments)}x(ni,"testE2E");function no(e){return na.apply(this,arguments)}function na(){na=i(function(e){var t;return v(this,function(n){switch(n.label){case 0:t=["Creating MongoDB migration"];return[4,tl.mongoMigrateCreate(e)];case 1:return[4,tU.apply(void 0,t.concat([n.sent()]))];case 2:n.sent();return[2]}})});return na.apply(this,arguments)}x(no,"mongoMigrateCreate");function nc(){return nu.apply(this,arguments)}function nu(){nu=i(function(){var e;return v(this,function(t){switch(t.label){case 0:e=["Running MongoDB migrations"];return[4,tl.mongoMigrateUp()];case 1:return[4,tU.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return nu.apply(this,arguments)}x(nc,"mongoMigrateUp");function nl(){return nd.apply(this,arguments)}function nd(){nd=i(function(){var e;return v(this,function(t){switch(t.label){case 0:e=["Rolling back MongoDB migration"];return[4,tl.mongoMigrateDown()];case 1:return[4,tU.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return nd.apply(this,arguments)}x(nl,"mongoMigrateDown");i(function(){var e;return v(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,E(w(j.argv)).scriptName(eY).usage("$0 <command> [options]").command("lint","Check code for linting issues",tX).command("lint:fix","Fix linting issues automatically",t0).command("lint:inspect","View active ESLint configuration",tz).command("lint-staged","Run lint checks on staged files",t$).command("commitlint","Validate commit message format",t2).command("setup","Initialize project setup and dependencies",t8).command("reset","Reset the project and reinstall dependencies",t7).command("inspect","Analyze installed project dependencies",ne).command("test:unit","Run unit test suite",nn).command("test:e2e","Run end-to-end test suite",ni).command("mongo:migrate:create <name>","Create a MongoDB migration",function(e){return e.positional("name",{describe:"Migration name",type:"string"})},/*#__PURE__*/function(){var e=i(function(e){return v(this,function(t){switch(t.label){case 0:if(!e.name){W.error("Migration name is required.");return[2]}return[4,no(e.name)];case 1:t.sent();return[2]}})});return function(t){return e.apply(this,arguments)}}()).command("mongo:migrate:up","Apply all MongoDB migrations",nc).command("mongo:migrate:down","Rollback last MongoDB migration",nl).demandCommand(1,"Please specify a valid command.").strict().help().alias("h","help").alias("v","version").version(_.version).epilog('\uD83D\uDCA1 Tip: Use "--help" with any command to see options\n').parse()];case 1:t.sent();return[3,3];case 2:e=t.sent();W.error("Fatal: ".concat(e.message)),j.exit(1);return[3,3];case 3:return[2]}})})();
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(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e,t,n,r,s,i,o){try{var c=e[i](o);var a=c.value}catch(e){n(e);return}if(c.done){t(a)}else{Promise.resolve(a).then(r,s)}}function s(e){return function(){var t=this,n=arguments;return new Promise(function(s,i){var o=e.apply(t,n);function c(e){r(o,s,i,c,a,"next",e)}function a(e){r(o,s,i,c,a,"throw",e)}c(undefined)})}}function i(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(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var s=true;var i=false;var o,c;try{for(n=n.call(e);!(s=(o=n.next()).done);s=true){r.push(o.value);if(t&&r.length===t)break}}catch(e){i=true;c=e}finally{try{if(!s&&n["return"]!=null)n["return"]()}finally{if(i)throw c}}return r}function a(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function u(){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){i(e,t,n[t])})}return e}function d(e,n){return t(e)||c(e,n)||g(e,n)||a()}function p(e){return n(e)||o(e)||g(e)||u()}function f(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 m(e,t){var n,r,s,i={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=c(0),o["throw"]=c(1),o["return"]=c(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function c(e){return function(t){return a([e,t])}}function a(c){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,c[0]&&(i=0)),i)try{if(n=1,r&&(s=c[0]&2?r["return"]:c[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,c[1])).done)return s;if(r=0,s)c=[c[0]&2,s.value];switch(c[0]){case 0:case 1:s=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(!(s=i.trys,s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){i=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){i.label=c[1];break}if(c[0]===6&&i.label<s[1]){i.label=s[1];s=c;break}if(s&&i.label<s[2]){i.label=s[2];i.ops.push(c);break}if(s[2])i.ops.pop();i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e];r=0}finally{n=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var h=Object.defineProperty;var y=function(e,t){return h(e,"name",{value:t,configurable:!0})};import v from"node:process";import{hideBin as x}from"yargs/helpers";import j from"yargs/yargs";var b={name:"@cyberskill/shared",type:"module",version:"1.102.0",description:"CyberSkill Shared",author:"Stephen Cheng",license:"MIT",homepage:"https://github.com/cyberskill-world/shared#readme",repository:{type:"git",url:"git+https://github.com/cyberskill-world/shared.git"},bugs:{url:"https://github.com/cyberskill-world/shared/issues"},exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js",require:"./dist/index.cjs"},"./configs":{types:"./dist/configs/index.d.ts",import:"./dist/configs/index.js",require:"./dist/configs/index.cjs"},"./configs/commitlint":{types:"./dist/configs/commitlint/index.d.ts",import:"./dist/configs/commitlint/index.js",require:"./dist/configs/commitlint/index.cjs"},"./configs/eslint":{types:"./dist/configs/eslint/index.d.ts",import:"./dist/configs/eslint/index.js",require:"./dist/configs/eslint/index.cjs"},"./configs/graphql-codegen":{types:"./dist/configs/graphql-codegen/index.d.ts",import:"./dist/configs/graphql-codegen/index.js",require:"./dist/configs/graphql-codegen/index.cjs"},"./configs/lint-staged":{types:"./dist/configs/lint-staged/index.d.ts",import:"./dist/configs/lint-staged/index.js",require:"./dist/configs/lint-staged/index.cjs"},"./constants":{types:"./dist/constants/index.d.ts",import:"./dist/constants/index.js",require:"./dist/constants/index.cjs"},"./nodejs":{types:"./dist/nodejs/index.d.ts",import:"./dist/nodejs/index.js",require:"./dist/nodejs/index.cjs"},"./nodejs/apollo-server":{types:"./dist/nodejs/apollo-server/index.d.ts",import:"./dist/nodejs/apollo-server/index.js",require:"./dist/nodejs/apollo-server/index.cjs"},"./nodejs/cli":{types:"./dist/nodejs/cli/index.d.ts",import:"./dist/nodejs/cli/index.js",require:"./dist/nodejs/cli/index.cjs"},"./nodejs/command":{types:"./dist/nodejs/command/index.d.ts",import:"./dist/nodejs/command/index.js",require:"./dist/nodejs/command/index.cjs"},"./nodejs/express":{types:"./dist/nodejs/express/index.d.ts",import:"./dist/nodejs/express/index.js",require:"./dist/nodejs/express/index.cjs"},"./nodejs/fs":{types:"./dist/nodejs/fs/index.d.ts",import:"./dist/nodejs/fs/index.js",require:"./dist/nodejs/fs/index.cjs"},"./nodejs/log":{types:"./dist/nodejs/log/index.d.ts",import:"./dist/nodejs/log/index.js",require:"./dist/nodejs/log/index.cjs"},"./nodejs/mongo":{types:"./dist/nodejs/mongo/index.d.ts",import:"./dist/nodejs/mongo/index.js",require:"./dist/nodejs/mongo/index.cjs"},"./nodejs/package":{types:"./dist/nodejs/package/index.d.ts",import:"./dist/nodejs/package/index.js",require:"./dist/nodejs/package/index.cjs"},"./nodejs/path":{types:"./dist/nodejs/path/index.d.ts",import:"./dist/nodejs/path/index.js",require:"./dist/nodejs/path/index.cjs"},"./nodejs/storage":{types:"./dist/nodejs/storage/index.d.ts",import:"./dist/nodejs/storage/index.js",require:"./dist/nodejs/storage/index.cjs"},"./nodejs/ws":{types:"./dist/nodejs/ws/index.d.ts",import:"./dist/nodejs/ws/index.js",require:"./dist/nodejs/ws/index.cjs"},"./react":{types:"./dist/react/index.d.ts",import:"./dist/react/index.js",require:"./dist/react/index.cjs"},"./react/apollo-client":{types:"./dist/react/apollo-client/index.d.ts",import:"./dist/react/apollo-client/index.js",require:"./dist/react/apollo-client/index.cjs"},"./react/apollo-error":{types:"./dist/react/apollo-error/index.d.ts",import:"./dist/react/apollo-error/index.js",require:"./dist/react/apollo-error/index.cjs"},"./react/i18next":{types:"./dist/react/i18next/index.d.ts",import:"./dist/react/i18next/index.js",require:"./dist/react/i18next/index.cjs"},"./react/loading":{types:"./dist/react/loading/index.d.ts",import:"./dist/react/loading/index.js",require:"./dist/react/loading/index.cjs"},"./react/log":{types:"./dist/react/log/index.d.ts",import:"./dist/react/log/index.js",require:"./dist/react/log/index.cjs"},"./react/next-intl":{types:"./dist/react/next-intl/index.d.ts",import:"./dist/react/next-intl/index.js",require:"./dist/react/next-intl/index.cjs"},"./react/storage":{types:"./dist/react/storage/index.d.ts",import:"./dist/react/storage/index.js",require:"./dist/react/storage/index.cjs"},"./react/toast":{types:"./dist/react/toast/index.d.ts",import:"./dist/react/toast/index.js",require:"./dist/react/toast/index.cjs"},"./react/vitest":{types:"./dist/react/vitest/index.d.ts",import:"./dist/react/vitest/index.js",require:"./dist/react/vitest/index.cjs"},"./styles/reset.css":{import:"./dist/styles/reset.css",require:"./dist/styles/reset.css"},"./typescript":{types:"./dist/typescript/index.d.ts",import:"./dist/typescript/index.js",require:"./dist/typescript/index.cjs"},"./utils":{types:"./dist/utils/index.d.ts",import:"./dist/utils/index.js",require:"./dist/utils/index.cjs"}},main:"./dist/index.cjs",module:"./dist/index.js",types:"./dist/index.d.ts",bin:{cyberskill:"./dist/nodejs/cli/index.js"},files:["dist","public"],scripts:{build:"tsup",dev:"dotenv -e .env -- tsup --watch",lint:"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint","lint:fix":"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint:fix","lint:inspect":"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint:inspect",reset:"dotenv -e .env -- tsx src/nodejs/cli/index.ts reset",setup:"dotenv -e .env -- tsx src/nodejs/cli/index.ts setup",inspect:"dotenv -e .env -- tsx src/nodejs/cli/index.ts inspect","test:unit":"dotenv -e .env -- tsx src/nodejs/cli/index.ts test:unit","test:e2e":"dotenv -e .env -- tsx src/nodejs/cli/index.ts test:e2e",commitlint:"dotenv -e .env -- tsx src/nodejs/cli/index.ts commitlint","lint-staged":"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint-staged"},dependencies:{"@antfu/eslint-config":"4.12.0","@apollo/client":"3.13.8","@apollo/server":"4.12.0","@eddeee888/gcg-typescript-resolver-files":"0.12.0","@eslint-react/eslint-plugin":"1.48.4","@graphql-codegen/cli":"5.0.5","@graphql-codegen/client-preset":"4.8.0","@microsoft/api-extractor":"7.52.5","@next/eslint-plugin-next":"15.3.1","@swc/core":"1.11.21","@testing-library/jest-dom":"6.6.3","@testing-library/react":"16.3.0","@vitejs/plugin-react-swc":"3.9.0","@vitest/browser":"3.1.2",chalk:"5.4.1",classnames:"2.5.1",compression:"1.8.0",consola:"3.4.2",cors:"2.8.5","crypto-js":"4.2.0","date-fns":"4.1.0",dotenv:"16.5.0","dotenv-cli":"8.0.0",envalid:"8.0.0","eslint-config-next":"15.3.1","eslint-plugin-format":"1.0.1","eslint-plugin-react-hooks":"5.2.0","eslint-plugin-react-refresh":"0.4.20",express:"4.21.2","express-device":"0.4.2","express-session":"1.18.1","fs-extra":"11.3.0",globals:"16.0.0",graphql:"16.10.0","graphql-ws":"6.0.4",i18next:"25.0.1",jsdom:"26.1.0",localforage:"1.10.0","migrate-mongo":"12.1.3","modern-normalize":"3.0.1",mongodb:"6.16.0",mongoose:"8.13.2","mongoose-aggregate-paginate-v2":"1.1.4","mongoose-paginate-v2":"1.9.0","next-intl":"4.0.3","node-fetch":"3.3.2","node-persist":"4.0.4",ora:"8.2.0",playwright:"1.52.0","postcss-modules":"6.0.1",qs:"6.14.0",react:"19.1.0","react-dom":"19.1.0","react-hot-toast":"2.5.2","react-i18next":"15.4.1","react-icons":"5.5.0",sass:"1.87.0",slugify:"1.6.6",tsup:"8.4.0",tsx:"4.19.3",typescript:"5.8.3",unorm:"1.6.0",uuid:"11.1.0",vite:"6.3.2",vitest:"3.1.2","vitest-browser-react":"0.1.1",ws:"8.18.1",yargs:"17.7.2"},publishConfig:{access:"public",registry:"https://registry.npmjs.org/"},devDependencies:{"@commitlint/cli":"19.8.0","@eslint/config-inspector":"1.0.2","@types/compression":"1.7.5","@types/cors":"2.8.17","@types/crypto-js":"4.2.2","@types/express":"4.17.21","@types/express-session":"1.18.1","@types/fs-extra":"11.0.4","@types/migrate-mongo":"10.0.5","@types/mongoose-aggregate-paginate-v2":"1.0.12","@types/node-persist":"3.1.8","@types/react":"19.1.2","@types/react-dom":"19.1.2","@types/unorm":"1.3.31","@types/uuid":"10.0.0","@types/ws":"8.18.1","@types/yargs":"17.0.33",eslint:"9.25.1","lint-staged":"15.5.1","node-modules-inspector":"0.6.6","simple-git-hooks":"2.12.1"}};var I=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as w}from"node:child_process";import E from"node:process";import*as S from"node:util";var C=".cyberskill-storage";import O from"dotenv";import{bool as _,cleanEnv as T,str as k}from"envalid";import G from"node:os";import R from"node:path";import L from"node:process";O.config();function N(){var e={DEBUG:L.env.DEBUG||!1,CWD:L.env.CWD||L.cwd(),CYBERSKILL_STORAGE_DIRECTORY:L.env.CYBERSKILL_STORAGE_DIRECTORY||R.join(G.homedir(),C)};return T(e,{DEBUG:_(),CWD:k(),CYBERSKILL_STORAGE_DIRECTORY:k()})}y(N,"getEnv");var D=function(e){return e.Error="error",e.Warning="warning",e}({});import M from"chalk";import P from"consola";import{GraphQLError as A}from"graphql";var q=N();q.DEBUG||(P.level=4);function F(e){var t=M[e];return typeof t=="function"?t:M.green}y(F,"chalkKeyword");var U={silent:P.silent,level:P.level,fatal:P.fatal,error:P.error,warn:P.warn,log:P.log,info:P.info,success:P.success,ready:P.ready,start:P.start,box:P.box,debug:P.debug,trace:P.trace,verbose:P.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){P.box(M.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,s=e.rule,i=e.message;P.log("".concat(M.gray("File:")," ").concat(M.blue("".concat(t).concat(r?":".concat(r):"")))),s&&P.log(" ".concat(F(n)("Rule:")," ").concat(s)),P.log(" ".concat(F(n)("Message:")," ").concat(i))}),P.box(F(n)("".concat(e," : ").concat(t.length))),P.log(M.gray("─".repeat(40)))}};var B={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};import K from"node-fetch";import W from"fs-extra";var Y=W.readFileSync,H=W.writeFileSync,J=W.pathExistsSync,$=W.appendFileSync,V=W.copySync,z=W.removeSync,Q=W.statSync,X=W.readJsonSync,Z=W.writeJsonSync;function ee(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return J(e)})}y(ee,"existsSync");function et(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}t.forEach(function(e){J(e)&&z(e)})}y(et,"removeSync");import{join as en,resolve as er}from"node:path";var es=N();function ei(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return er.apply(void 0,[es.CWD].concat(p(t)))}y(ei,"resolveWorkingPath");function eo(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return en.apply(void 0,p(t))}y(eo,"join");var ec=N(),ea=ec.CWD,eu="@cyberskill/shared",el="node_modules",ed="dist",ep="package.json",ef="package-lock.json",eg="tsconfig.json",em=".gitignore",eh=".simple-git-hooks.json",ey="pnpm-lock.yaml",ev=".git/hooks/",ex=".git/COMMIT_EDITMSG",ej=".migrate-mongo.config.js",eb=eo(ea,el,eu,ed),eI="cyberskill",ew="src/nodejs/cli/index.ts",eE="eslint",eS="eslint",eC="vitest",eO="playwright",e_="vitest",eT="@commitlint/cli",ek="commitlint",eG="lint-staged",eR="lint-staged",eL="typescript",eN="tsc",eD="tsx",eM="git",eP="pnpm",eA="pnpm exec",eq="simple-git-hooks",eF="simple-git-hooks",eU="@eslint/config-inspector",eB="eslint-config-inspector",eK="node-modules-inspector",eW="node-modules-inspector",eY="migrate-mongo",eH="./node_modules/migrate-mongo/bin/migrate-mongo",eJ={CYBERSKILL_DIRECTORY:eb,WORKING_DIRECTORY:ea,TS_CONFIG:ei(eg),GIT_IGNORE:ei(em),GIT_HOOK:ei(ev),GIT_COMMIT_MSG:ei(ex),SIMPLE_GIT_HOOKS_JSON:ei(eh),PACKAGE_JSON:ei(ep),PACKAGE_LOCK_JSON:ei(ef),PNPM_LOCK_YAML:ei(ey),NODE_MODULES:ei(el),MIGRATE_MONGO_CONFIG:ei(ej),LINT_STAGED_CONFIG:ei("".concat(eb,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:ei("".concat(eb,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:ei("".concat(eb,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:ei("".concat(eb,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:ei("".concat(eb,"/react/vitest/vitest.e2e.js"))};function e$(e){var t=e.isCurrentProject;return l({"pre-commit":eR,"commit-msg":ek},t&&{"pre-push":ty("".concat(eM," pull"))})}y(e$,"createGitHooksConfig");function eV(e,t,n){return ez.apply(this,arguments)}function ez(){ez=s(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 I.CLI:return[3,1];case I.STRING:return[3,3]}return[3,4];case 1:return[4,e6(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),tx(ty("".concat(eA," ").concat(n))))];case 3:return[2,tx(ty(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})});return ez.apply(this,arguments)}y(eV,"buildCommand");function eQ(e,t,n){return /*#__PURE__*/s(function(){return m(this,function(r){return[2,eV(e,t,n)]})})}y(eQ,"commandFactory");var eX={simpleGitHooks:eQ(I.CLI,eq,eF),eslintInspect:eQ(I.CLI,eU,eB),nodeModulesInspect:eQ(I.CLI,eK,eW),eslintCheck:eQ(I.CLI,eE,"".concat(eS," ").concat(eJ.WORKING_DIRECTORY)),eslintFix:eQ(I.CLI,eE,"".concat(eS," ").concat(eJ.WORKING_DIRECTORY," --fix")),typescriptCheck:eQ(I.CLI,eL,"".concat(eN," -p ").concat(eJ.TS_CONFIG," --noEmit")),configureGitHook:eQ(I.STRING,"".concat(eM," config core.hooksPath ").concat(eJ.GIT_HOOK)),testUnit:eQ(I.CLI,eC,"".concat(e_," --config ").concat(eJ.UNIT_TEST_CONFIG)),testE2e:eQ(I.CLI,"".concat(eC," ").concat(eO),"".concat(e_," --config ").concat(eJ.E2E_TEST_CONFIG)),mongoMigrateCreate:y(function(e){return eQ(I.CLI,eY,"".concat(eD," ").concat(eH," create ").concat(e," -f ").concat(eJ.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:eQ(I.CLI,eY,"".concat(eD," ").concat(eH," up -f ").concat(eJ.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:eQ(I.CLI,eY,"".concat(eD," ").concat(eH," down -f ").concat(eJ.MIGRATE_MONGO_CONFIG)),mongoMigrateStatus:eQ(I.CLI,eY,"".concat(eD," ").concat(eH," status -f ").concat(eJ.MIGRATE_MONGO_CONFIG)),commitLint:eQ(I.CLI,eT,"".concat(ek," --edit ").concat(eJ.GIT_COMMIT_MSG," --config ").concat(eJ.COMMITLINT_CONFIG)),lintStaged:eQ(I.CLI,eG,"".concat(eR," --config ").concat(eJ.LINT_STAGED_CONFIG)),stageBuildDirectory:eQ(I.STRING,"".concat(eM," add ").concat(ed)),build:eQ(I.STRING,"".concat(eP," run build")),pnpmInstallStandard:eQ(I.STRING,"".concat(eP," install")),pnpmInstallLegacy:eQ(I.STRING,"".concat(eP," install --legacy-peer-deps")),pnpmInstallForce:eQ(I.STRING,"".concat(eP," install --force"))};var eZ=N();function e0(e){var t=eo(eZ.CWD,ep);if(!ee(t))return!1;try{var n=X(t),r=n.name,s=n.dependencies,i=s===void 0?{}:s,o=n.devDependencies,c=o===void 0?{}:o,a=r===e,u=e in i,l=e in c;return a||u||l?{path:t,file:n,isCurrentProject:a,isDepend:u,isDevDepend:l}:!1}catch(e){return U.warn("Failed to read package.json: ".concat(e.message)),!1}}y(e0,"getPackage");function e1(e){return e2.apply(this,arguments)}function e2(){e2=s(function(e){var t,n,r,s;return m(this,function(i){switch(i.label){case 0:i.trys.push([0,3,,4]);return[4,K("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:s=i.sent();throw U.error('Failed to fetch version for "'.concat(e,'": ').concat(s.message)),s;case 4:return[2]}})});return e2.apply(this,arguments)}y(e1,"getLatestPackageVersion");function e4(e,t){return e3.apply(this,arguments)}function e3(){e3=s(function(e,t){var n,r,s,i,o,c,a,u,d,p,f,g,h,y,v,x,j,b,I,w,E;return m(this,function(m){switch(m.label){case 0:m.trys.push([0,4,,5]);n=e0(e);if(!n)return[2,l({},B)];a=n.path,u=n.file,d=n.isCurrentProject,p=n.isDepend,f=n.isDevDepend,g=(r=u.dependencies)!==null&&r!==void 0?r:{},h=(s=u.devDependencies)!==null&&s!==void 0?s:{},y=d?(i=u.version)!==null&&i!==void 0?i:"0.0.0":p?(o=g[e])!==null&&o!==void 0?o:"0.0.0":f?(c=h[e])!==null&&c!==void 0?c:"0.0.0":"0.0.0";if(!d)return[3,1];j=y;return[3,3];case 1:return[4,e1(e)];case 2:j=m.sent();m.label=3;case 3:v=j,x=d||y===v;if(!x&&(t===null||t===void 0?void 0:t.update)){;I=p?"dependencies":f?"devDependencies":null;I&&((b=u[I])===null||b===void 0?void 0:b[e])!==v&&(u[I]=(w=u[I])!==null&&w!==void 0?w:{},u[I][e]=v,Z(a,u),U.info('Updated "'.concat(e,'" to version ').concat(v)))}return[2,{isCurrentProject:d,installedPath:a,file:u,isUpToDate:x}];case 4:E=m.sent();return[2,(U.error('Error checking package "'.concat(e,'": ').concat(E.message)),l({},B))];case 5:return[2]}})});return e3.apply(this,arguments)}y(e4,"checkPackage");function e8(){return e5.apply(this,arguments)}function e5(){e5=s(function(){var e,t,n,r,s,i,o,c,a,u,l,d;return m(this,function(p){switch(p.label){case 0:e=[{command:y(function(){return eX.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:y(function(){return eX.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:y(function(){return eX.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]);s=e[Symbol.iterator]();p.label=2;case 2:if(!!(t=(i=s.next()).done))return[3,8];o=i.value,c=o.command,a=o.message;p.label=3;case 3:p.trys.push([3,6,,7]);return[4,c()];case 4:u=p.sent();return[4,tI("".concat(a," using: ").concat(u),u)];case 5:p.sent();return[2];case 6:l=p.sent();U.warn("Installation attempt failed: ".concat(a)),U.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=p.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&s.return!=null){s.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})});return e5.apply(this,arguments)}y(e8,"installDependencies");function e6(e,t){return e9.apply(this,arguments)}function e9(){e9=s(function(e,t){var n,r,s,i,o,c,a,u,d,f,g;return m(this,function(m){switch(m.label){case 0:if(!ee(eJ.PACKAGE_JSON)){U.error("package.json not found. Aborting setup.");return[2]}m.label=1;case 1:m.trys.push([1,13,,14]);n=p(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return e4(e,l({},(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,e8()];case 3:r=m.sent();m.label=4;case 4:r;i=true,o=false,c=undefined;m.label=5;case 5:m.trys.push([5,10,11,12]);a=((s=t===null||t===void 0?void 0:t.postInstallActions)!==null&&s!==void 0?s:[])[Symbol.iterator]();m.label=6;case 6:if(!!(i=(u=a.next()).done))return[3,9];d=u.value;return[4,d()];case 7:m.sent();m.label=8;case 8:i=true;return[3,6];case 9:return[3,12];case 10:f=m.sent();o=true;c=f;return[3,12];case 11:try{if(!i&&a.return!=null){a.return()}}finally{if(o){throw c}}return[7];case 12:return[3,14];case 13:g=m.sent();throw U.error('Failed to setup "'.concat(e.join(", "),'": ').concat(g.message)),g;case 14:return[2]}})});return e9.apply(this,arguments)}y(e6,"setupPackages");import e7 from"node-persist";var te=N();function tt(){return tn.apply(this,arguments)}function tn(){tn=s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=e7.defaultInstance;if(e)return[3,2];return[4,e7.init({dir:te.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 tn.apply(this,arguments)}y(tt,"initNodePersist");var tr={get:function e(e){return s(function(){var t,n;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tt()];case 1:r.sent();return[4,e7.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(U.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return s(function(){var n;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tt()];case 1:r.sent();return[4,e7.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();U.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return s(function(){var t;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tt()];case 1:n.sent();return[4,e7.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();U.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return s(function(){var e,t;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tt()];case 1:n.sent();return[4,e7.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(U.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(U.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return s(function(){return m(this,function(t){try{return[2,"".concat(te.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(U.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var ts=N(),ti=S.promisify(w);function to(e){return"error_list:".concat(e)}y(to,"getErrorListKey");function tc(e){return ta.apply(this,arguments)}function ta(){ta=s(function(e){var t,n,r;return m(this,function(i){switch(i.label){case 0:if(e.length===0)return[2];t=Date.now(),n=to(t);i.label=1;case 1:i.trys.push([1,3,,4]);return[4,tr.set(n,{errors:e,timestamp:t})];case 2:i.sent(),setTimeout(/*#__PURE__*/s(function(){var e;return m(this,function(t){switch(t.label){case 0:return[4,tr.getLogLink(n)];case 1:e=t.sent();e&&U.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:r=i.sent();U.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})});return ta.apply(this,arguments)}y(tc,"saveErrorListToStorage");function tu(){return tl.apply(this,arguments)}function tl(){tl=s(function(){var e,t,n;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tr.keys()];case 1:e=r.sent(),t=Array.isArray(e)?e.filter(function(e){var t;return e===null||e===void 0?void 0:(t=e.startsWith)===null||t===void 0?void 0:t.call(e,"error_list:")}):[];return[4,Promise.all(t.map(/*#__PURE__*/function(){var e=s(function(e){var t;return m(this,function(n){switch(n.label){case 0:return[4,tr.get(e)];case 1:return[2,((t=n.sent())===null||t===void 0?void 0:t.errors)||[]]}})});return function(t){return e.apply(this,arguments)}}()))];case 2:return[2,r.sent().flat()];case 3:n=r.sent();return[2,(U.error("Failed to retrieve stored errors: ".concat(n.message)),[])];case 4:return[2]}})});return tl.apply(this,arguments)}y(tu,"getStoredErrorLists");function td(){return tp.apply(this,arguments)}function tp(){tp=s(function(){var e,t,n;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tr.keys()];case 1:e=r.sent(),t=Array.isArray(e)?e.filter(function(e){var t;return e===null||e===void 0?void 0:(t=e.startsWith)===null||t===void 0?void 0:t.call(e,"error_list:")}):[];return[4,Promise.all(t.map(function(e){return tr.remove(e)}))];case 2:r.sent();return[3,4];case 3:n=r.sent();U.error("Failed to clear error lists: ".concat(n.message));return[3,4];case 4:return[2]}})});return tp.apply(this,arguments)}y(td,"clearAllErrorLists");function tf(e){var t=[],n=[],r="",s=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,i=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,o=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var c,a,u,l,d;var p=s.exec(e)||[],f=i.exec(e)||[],g=o.exec(e)||[];var m,h,y,v,x,j;p.length&&r?t.push({file:r,position:"".concat(p[1],":").concat(p[2]),type:p[3]===D.Error?D.Error:D.Warning,message:(m=p===null||p===void 0?void 0:(c=p[4])===null||c===void 0?void 0:c.trim())!==null&&m!==void 0?m:"",rule:(h=p===null||p===void 0?void 0:(a=p[5])===null||a===void 0?void 0:a.trim())!==null&&h!==void 0?h:""}):f.length?t.push({file:(y=f===null||f===void 0?void 0:f[1])!==null&&y!==void 0?y:"",position:"".concat(f[2],":").concat(f[3]),type:f[4]===D.Error?D.Error:D.Warning,message:(v=f===null||f===void 0?void 0:(u=f[5])===null||u===void 0?void 0:u.trim())!==null&&v!==void 0?v:""}):g.length?t.push({file:"commitlint",type:D.Error,message:(x=g===null||g===void 0?void 0:(l=g[1])===null||l===void 0?void 0:l.trim())!==null&&x!==void 0?x:"",rule:(j=g===null||g===void 0?void 0:(d=g[2])===null||d===void 0?void 0:d.trim())!==null&&j!==void 0?j:""}):n.push(e.trim())}}),t.length&&tc(t),ts.DEBUG&&n.length&&(U.warn("Unmatched lines:"),n.forEach(function(e){return U.info(" ".concat(e))}))}y(tf,"parseTextErrors");function tg(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,s=e.line,i=e.column,o=e.ruleId,c=e.message;n.push({type:r===2?D.Error:D.Warning,file:t,position:"".concat(s,":").concat(i),rule:o,message:c})})}),n.length&&tc(n)}catch(t){tf(e)}}y(tg,"parseCommandOutput");function tm(e){return th.apply(this,arguments)}function th(){th=s(function(e){var t,n,r,s,i,o,c,a,u;var l=arguments;return m(this,function(d){switch(d.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:tg;n=new AbortController;E.on("SIGINT",function(){U.warn("Process interrupted. Terminating..."),n.abort(),E.exit()});d.label=1;case 1:d.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,ti(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=d.sent(),s=r.stdout,i=r.stderr;[s,i].forEach(function(e){return e&&t(e)});d.label=3;case 3:return[3,5];case 4:o=d.sent();c=o.stdout,a=o.stderr,u=o.message;[c,a].forEach(function(e){return e&&t(e)}),!a&&!c&&U.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})});return th.apply(this,arguments)}y(tm,"executeCommand");function ty(e){return{raw:!0,cmd:e}}y(ty,"rawCommand");function tv(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(eA," ").concat(eu," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(eA," ").concat(eD," ").concat(ew," ").concat(e):"".concat(eA," ").concat(eI," ").concat(e)}y(tv,"formatCLI");function tx(e,t){return typeof e=="function"?tv(e(t),t):(typeof e==="undefined"?"undefined":f(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?tv(e,t):e}y(tx,"formatCommand");function tj(e){return tb.apply(this,arguments)}function tb(){tb=s(function(e){var t,n,r,s,i,o,c;var a=arguments;return m(this,function(u){switch(u.label){case 0:t=a.length>1&&a[1]!==void 0?a[1]:{};r=(n=t===null||t===void 0?void 0:t.isRemote)!==null&&n!==void 0?n:!1;if(!r)return[3,1];c=!1;return[3,3];case 1:return[4,e4(eu)];case 2:c=u.sent().isCurrentProject;u.label=3;case 3:s=c,i={isRemote:r,isCurrentProject:s},o=typeof e=="function"?e(i):e;return[2,Object.fromEntries(Object.entries(o).map(function(e){var t=d(e,2),n=t[0],r=t[1];return[n,tx(r,i)]}))]}})});return tb.apply(this,arguments)}y(tj,"resolveCommands");function tI(e,t){return tw.apply(this,arguments)}function tw(){tw=s(function(e,t){var n;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);U.start("".concat(e)),ts.DEBUG&&U.info("→ ".concat(t));return[4,tm(t)];case 1:r.sent(),U.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw U.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})});return tw.apply(this,arguments)}y(tI,"runCommand");function tE(){return tS.apply(this,arguments)}function tS(){tS=s(function(){var e,t;return m(this,function(n){switch(n.label){case 0:if(!ee(eJ.TS_CONFIG))return[3,3];t=["Performing TypeScript validation"];return[4,eX.typescriptCheck()];case 1:return[4,tI.apply(void 0,t.concat([n.sent()]))];case 2:e=n.sent();return[3,4];case 3:e=U.warn("No TypeScript configuration found. Skipping type check.");n.label=4;case 4:e;return[2]}})});return tS.apply(this,arguments)}y(tE,"checkTypescript");function tC(){return tO.apply(this,arguments)}function tO(){tO=s(function(){var e,t,n,r;var s=arguments;return m(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:!1;if(!e)return[3,3];n=["Running ESLint with auto-fix"];return[4,eX.eslintFix()];case 1:return[4,tI.apply(void 0,n.concat([i.sent()]))];case 2:t=i.sent();return[3,6];case 3:r=["Running ESLint check"];return[4,eX.eslintCheck()];case 4:return[4,tI.apply(void 0,r.concat([i.sent()]))];case 5:t=i.sent();i.label=6;case 6:t;return[2]}})});return tO.apply(this,arguments)}y(tC,"checkEslint");function t_(e,t){if(!t.length)return;var n=e==="Errors"?"red":"yellow";U.printBoxedLog(e==="Errors"?"✖ Errors":"⚠ Warnings",t,n)}y(t_,"printIssues");function tT(){return tk.apply(this,arguments)}function tk(){tk=s(function(){var e,t,n;return m(this,function(r){switch(r.label){case 0:return[4,tu()];case 1:e=r.sent(),t=e.filter(function(e){return e.type===D.Error}),n=e.filter(function(e){return e.type===D.Warning});!t.length&&!n.length?U.printBoxedLog("✔ NO ISSUES FOUND",[],"green"):(t_("Warnings",n),t_("Errors",t),(t.length>0||n.length>0)&&v.exit(1));return[2]}})});return tk.apply(this,arguments)}y(tT,"showCheckResult");function tG(){return tR.apply(this,arguments)}function tR(){tR=s(function(){var e,t,n,r,s,i;return m(this,function(o){switch(o.label){case 0:return[4,td()];case 1:o.sent();return[4,e4(eu)];case 2:e=o.sent(),t=e.isCurrentProject;if(!t)return[3,9];o.label=3;case 3:o.trys.push([3,8,,9]);n=["Building package: ".concat(eu)];return[4,eX.build()];case 4:return[4,tI.apply(void 0,n.concat([o.sent()]))];case 5:o.sent();r=["Staging build artifacts"];return[4,eX.stageBuildDirectory()];case 6:return[4,tI.apply(void 0,r.concat([o.sent()]))];case 7:o.sent();return[3,9];case 8:s=o.sent();throw U.error("Error building and staging ".concat(eu,": ").concat(s.message)),s;case 9:i=["Executing lint-staged"];return[4,eX.lintStaged()];case 10:return[4,tI.apply(void 0,i.concat([o.sent()]))];case 11:o.sent(),tT();return[2]}})});return tR.apply(this,arguments)}y(tG,"lintStaged");function tL(){return tN.apply(this,arguments)}function tN(){tN=s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=["Inspecting ESLint configuration"];return[4,eX.eslintInspect()];case 1:return[4,tI.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return tN.apply(this,arguments)}y(tL,"inspectLint");function tD(){return tM.apply(this,arguments)}function tM(){tM=s(function(){return m(this,function(e){switch(e.label){case 0:return[4,td()];case 1:e.sent();return[4,Promise.all([tE(),tC()])];case 2:e.sent(),tT();return[2]}})});return tM.apply(this,arguments)}y(tD,"lintCheck");function tP(){return tA.apply(this,arguments)}function tA(){tA=s(function(){return m(this,function(e){switch(e.label){case 0:return[4,td()];case 1:e.sent();return[4,Promise.all([tE(),tC(!0)])];case 2:e.sent(),tT();return[2]}})});return tA.apply(this,arguments)}y(tP,"lintFix");function tq(){return tF.apply(this,arguments)}function tF(){tF=s(function(){var e;return m(this,function(t){switch(t.label){case 0:return[4,td()];case 1:t.sent();e=["Validating commit message"];return[4,eX.commitLint()];case 2:return[4,tI.apply(void 0,e.concat([t.sent()]))];case 3:t.sent(),tT();return[2]}})});return tF.apply(this,arguments)}y(tq,"commitLint");function tU(){return tB.apply(this,arguments)}function tB(){tB=s(function(){var e,t,n,r;return m(this,function(s){switch(s.label){case 0:e=["Configuring Git hooks"];return[4,eX.configureGitHook()];case 1:return[4,tI.apply(void 0,e.concat([s.sent()]))];case 2:s.sent(),et(eJ.GIT_HOOK);return[4,tj(e$)];case 3:t=s.sent();Z(eJ.SIMPLE_GIT_HOOKS_JSON,t);n="\n".concat(eh,"\n");ee(eJ.GIT_IGNORE)?Y(eJ.GIT_IGNORE,"utf-8").split("\n").includes(eh)||$(eJ.GIT_IGNORE,n,"utf-8"):H(eJ.GIT_IGNORE,n,"utf-8");r=["Setting up simple-git-hooks"];return[4,eX.simpleGitHooks()];case 4:return[4,tI.apply(void 0,r.concat([s.sent()]))];case 5:s.sent();return[2]}})});return tB.apply(this,arguments)}y(tU,"setupGitHook");function tK(){return tW.apply(this,arguments)}function tW(){tW=s(function(){return m(this,function(e){switch(e.label){case 0:return[4,e6([eu],{update:!0,postInstallActions:[tU]})];case 1:e.sent();return[2]}})});return tW.apply(this,arguments)}y(tK,"setup");function tY(){return tH.apply(this,arguments)}function tH(){tH=s(function(){return m(this,function(e){switch(e.label){case 0:et(eJ.NODE_MODULES,eJ.PNPM_LOCK_YAML);return[4,e8()];case 1:e.sent();return[4,tU()];case 2:e.sent();return[2]}})});return tH.apply(this,arguments)}y(tY,"reset");function tJ(){return t$.apply(this,arguments)}function t$(){t$=s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=["Inspecting project dependencies"];return[4,eX.nodeModulesInspect()];case 1:return[4,tI.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return t$.apply(this,arguments)}y(tJ,"inspect");function tV(){return tz.apply(this,arguments)}function tz(){tz=s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=["Running unit tests"];return[4,eX.testUnit()];case 1:return[4,tI.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return tz.apply(this,arguments)}y(tV,"testUnit");function tQ(){return tX.apply(this,arguments)}function tX(){tX=s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=["Running end-to-end tests"];return[4,eX.testE2e()];case 1:return[4,tI.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return tX.apply(this,arguments)}y(tQ,"testE2E");function tZ(e){return t0.apply(this,arguments)}function t0(){t0=s(function(e){var t;return m(this,function(n){switch(n.label){case 0:t=["Creating MongoDB migration"];return[4,eX.mongoMigrateCreate(e)];case 1:return[4,tI.apply(void 0,t.concat([n.sent()]))];case 2:n.sent();return[2]}})});return t0.apply(this,arguments)}y(tZ,"mongoMigrateCreate");function t1(){return t2.apply(this,arguments)}function t2(){t2=s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=["Running MongoDB migrations"];return[4,eX.mongoMigrateUp()];case 1:return[4,tI.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return t2.apply(this,arguments)}y(t1,"mongoMigrateUp");function t4(){return t3.apply(this,arguments)}function t3(){t3=s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=["Rolling back MongoDB migration"];return[4,eX.mongoMigrateDown()];case 1:return[4,tI.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return t3.apply(this,arguments)}y(t4,"mongoMigrateDown");function t8(){return t5.apply(this,arguments)}function t5(){t5=s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=["Checking MongoDB migration status"];return[4,eX.mongoMigrateStatus()];case 1:return[4,tI.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return t5.apply(this,arguments)}y(t8,"mongoMigrateStatus");s(function(){var e;return m(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,j(x(v.argv)).scriptName(eI).usage("$0 <command> [options]").command("lint","Check code for linting issues",tD).command("lint:fix","Fix linting issues automatically",tP).command("lint:inspect","View active ESLint configuration",tL).command("lint-staged","Run lint checks on staged files",tG).command("commitlint","Validate commit message format",tq).command("setup","Initialize project setup and dependencies",tK).command("reset","Reset the project and reinstall dependencies",tY).command("inspect","Analyze installed project dependencies",tJ).command("test:unit","Run unit test suite",tV).command("test:e2e","Run end-to-end test suite",tQ).command("mongo:migrate:create <name>","Create a MongoDB migration",function(e){return e.positional("name",{describe:"Migration name",type:"string"})},/*#__PURE__*/function(){var e=s(function(e){return m(this,function(t){switch(t.label){case 0:if(!e.name){U.error("Migration name is required.");return[2]}return[4,tZ(e.name)];case 1:t.sent();return[2]}})});return function(t){return e.apply(this,arguments)}}()).command("mongo:migrate:up","Apply all MongoDB migrations",t1).command("mongo:migrate:down","Rollback last MongoDB migration",t4).command("mongo:migrate:status","Check MongoDB migration status",t8).demandCommand(1,"Please specify a valid command.").strict().help().alias("h","help").alias("v","version").version(b.version).epilog('\uD83D\uDCA1 Tip: Use "--help" with any command to see options\n').parse()];case 1:t.sent();return[3,3];case 2:e=t.sent();U.error("Fatal: ".concat(e.message)),v.exit(1);return[3,3];case 3:return[2]}})})();