@cyberskill/shared 1.107.0 → 1.109.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 (73) hide show
  1. package/dist/_tsup-dts-rollup.d.cts +19 -0
  2. package/dist/_tsup-dts-rollup.d.ts +19 -0
  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 +5 -2
  9. package/dist/index.d.ts +5 -2
  10. package/dist/index.js +1 -1
  11. package/dist/nodejs/apollo-server/apollo-server.util.cjs +1 -1
  12. package/dist/nodejs/apollo-server/apollo-server.util.js +1 -1
  13. package/dist/nodejs/apollo-server/index.cjs +1 -1
  14. package/dist/nodejs/apollo-server/index.js +1 -1
  15. package/dist/nodejs/cli/cli.util.cjs +1 -1
  16. package/dist/nodejs/cli/cli.util.js +1 -1
  17. package/dist/nodejs/cli/index.cjs +1 -1
  18. package/dist/nodejs/cli/index.js +1 -1
  19. package/dist/nodejs/command/command.util.cjs +1 -1
  20. package/dist/nodejs/command/command.util.js +1 -1
  21. package/dist/nodejs/command/index.cjs +1 -1
  22. package/dist/nodejs/command/index.js +1 -1
  23. package/dist/nodejs/fs/fs.util.cjs +1 -1
  24. package/dist/nodejs/fs/fs.util.d.cts +4 -2
  25. package/dist/nodejs/fs/fs.util.d.ts +4 -2
  26. package/dist/nodejs/fs/fs.util.js +1 -1
  27. package/dist/nodejs/fs/index.cjs +1 -1
  28. package/dist/nodejs/fs/index.d.cts +4 -2
  29. package/dist/nodejs/fs/index.d.ts +4 -2
  30. package/dist/nodejs/fs/index.js +1 -1
  31. package/dist/nodejs/index.cjs +1 -1
  32. package/dist/nodejs/index.d.cts +5 -2
  33. package/dist/nodejs/index.d.ts +5 -2
  34. package/dist/nodejs/index.js +1 -1
  35. package/dist/nodejs/mongo/index.cjs +1 -1
  36. package/dist/nodejs/mongo/index.js +1 -1
  37. package/dist/nodejs/mongo/mongo.util.cjs +1 -1
  38. package/dist/nodejs/mongo/mongo.util.js +1 -1
  39. package/dist/nodejs/package/index.cjs +1 -1
  40. package/dist/nodejs/package/index.js +1 -1
  41. package/dist/nodejs/package/package.util.cjs +1 -1
  42. package/dist/nodejs/package/package.util.js +1 -1
  43. package/dist/nodejs/path/index.cjs +1 -1
  44. package/dist/nodejs/path/index.d.cts +1 -0
  45. package/dist/nodejs/path/index.d.ts +1 -0
  46. package/dist/nodejs/path/index.js +1 -1
  47. package/dist/nodejs/path/path.constant.cjs +1 -1
  48. package/dist/nodejs/path/path.constant.js +1 -1
  49. package/dist/nodejs/path/path.util.cjs +1 -1
  50. package/dist/nodejs/path/path.util.d.cts +1 -0
  51. package/dist/nodejs/path/path.util.d.ts +1 -0
  52. package/dist/nodejs/path/path.util.js +1 -1
  53. package/dist/nodejs/storage/index.cjs +1 -1
  54. package/dist/nodejs/storage/index.js +1 -1
  55. package/dist/nodejs/storage/storage.util.cjs +1 -1
  56. package/dist/nodejs/storage/storage.util.js +1 -1
  57. package/dist/react/index.cjs +1 -1
  58. package/dist/react/index.js +1 -1
  59. package/dist/react/next-intl/index.cjs +1 -1
  60. package/dist/react/next-intl/index.js +1 -1
  61. package/dist/react/next-intl/next-intl.provider.cjs +1 -1
  62. package/dist/react/next-intl/next-intl.provider.js +1 -1
  63. package/dist/react/storage/index.cjs +1 -1
  64. package/dist/react/storage/index.js +1 -1
  65. package/dist/react/storage/storage.hook.cjs +1 -1
  66. package/dist/react/storage/storage.hook.js +1 -1
  67. package/dist/react/storage/storage.util.cjs +1 -1
  68. package/dist/react/storage/storage.util.js +1 -1
  69. package/dist/react/vitest/index.cjs +1 -1
  70. package/dist/react/vitest/index.js +1 -1
  71. package/dist/react/vitest/vitest.unit.cjs +1 -1
  72. package/dist/react/vitest/vitest.unit.js +1 -1
  73. package/package.json +5 -5
@@ -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,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 O={};module.exports=S(O);var C=E(require("process"),1),_=require("yargs/helpers"),T=E(require("yargs/yargs"),1);var k={name:"@cyberskill/shared",type:"module",version:"1.106.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.5.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 D=E(require("dotenv"),1),M=require("envalid"),P=E(require("os"),1),A=E(require("path"),1),F=E(require("process"),1);D.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,M.cleanEnv)(e,{DEBUG:(0,M.bool)(),CWD:(0,M.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,M.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.appendFileSync,et=Z.lstatSync,en=Z.mkdirSync,er=Z.readFileSync,es=Z.unlinkSync,ei=Z.writeFileSync,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 Q.default.pathExistsSync(e)})}I(eu,"pathExistsSync");function el(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}t.forEach(function(e){eu(e)&&Q.default.removeSync(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",eO=".git/hooks/",eC=".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",eD="vitest",eM="@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(eO),GIT_COMMIT_MSG:ef(eC),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(),tC(tS("".concat(eH," ").concat(n))))];case 3:return[2,tC(tS(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})});return e3.apply(this,arguments)}I(e4,"buildCommand");function e5(e,t,n){return /*#__PURE__*/s(function(){return m(this,function(r){return[2,e4(e,t,n)]})})}I(e5,"commandFactory");var e8={simpleGitHooks:e5(G.CLI,eJ,e$),eslintInspect:e5(G.CLI,eV,ez),nodeModulesInspect:e5(G.CLI,eQ,eX),eslintCheck:e5(G.CLI,eR,"".concat(eN," ").concat(e1.WORKING_DIRECTORY)),eslintFix:e5(G.CLI,eR,"".concat(eN," ").concat(e1.WORKING_DIRECTORY," --fix")),typescriptCheck:e5(G.CLI,eU,"".concat(eB," -p ").concat(e1.TS_CONFIG," --noEmit")),configureGitHook:e5(G.STRING,"".concat(eW," config core.hooksPath ").concat(e1.GIT_HOOK)),testUnit:e5(G.CLI,eL,"".concat(eD," --config ").concat(e1.UNIT_TEST_CONFIG)),testE2e:e5(G.CLI,"".concat(eL," ").concat(eq),"".concat(eD," --config ").concat(e1.E2E_TEST_CONFIG)),mongoMigrateCreate:I(function(e){return e5(G.CLI,eZ,"".concat(eK," ").concat(e0," create ").concat(e," -f ").concat(e1.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:e5(G.CLI,eZ,"".concat(eK," ").concat(e0," up -f ").concat(e1.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:e5(G.CLI,eZ,"".concat(eK," ").concat(e0," down -f ").concat(e1.MIGRATE_MONGO_CONFIG)),commitLint:e5(G.CLI,eM,"".concat(eP," --edit ").concat(e1.GIT_COMMIT_MSG," --config ").concat(e1.COMMITLINT_CONFIG)),lintStaged:e5(G.CLI,eA,"".concat(eF," --config ").concat(e1.LINT_STAGED_CONFIG)),stageBuildDirectory:e5(G.STRING,"".concat(eW," add ").concat(ex)),build:e5(G.STRING,"".concat(eY," run build")),pnpmInstallStandard:e5(G.STRING,"".concat(eY," install")),pnpmInstallLegacy:e5(G.STRING,"".concat(eY," install --legacy-peer-deps")),pnpmInstallForce:e5(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 e8.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:I(function(){return e8.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:I(function(){return e8.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 tO(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(tO,"formatCLI");function tC(e,t){return typeof e=="function"?tO(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"?tO(e,t):e}I(tC,"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,tC(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,e8.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,e8.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,e8.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 tD(e,t){if(!t.length)return;var n=e==="Errors"?"red":"yellow";$.printBoxedLog(e==="Errors"?"✖ Errors":"⚠ Warnings",t,n)}I(tD,"printIssues");function tM(){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"):(tD("Warnings",n),tD("Errors",t),(t.length>0||n.length>0)&&C.default.exit(1));return[2]}})});return tP.apply(this,arguments)}I(tM,"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,e8.build()];case 4:return[4,tk.apply(void 0,n.concat([o.sent()]))];case 5:o.sent();r=["Staging build artifacts"];return[4,e8.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,e8.lintStaged()];case 10:return[4,tk.apply(void 0,i.concat([o.sent()]))];case 11:o.sent(),tM();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,e8.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(),tM();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(),tM();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,e8.commitLint()];case 2:return[4,tk.apply(void 0,e.concat([t.sent()]))];case 3:t.sent(),tM();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,e8.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)?er(e1.GIT_IGNORE,"utf-8").split("\n").includes(eE)||ee(e1.GIT_IGNORE,n,"utf-8"):ei(e1.GIT_IGNORE,n,"utf-8");r=["Setting up simple-git-hooks"];return[4,e8.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,e8.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,e8.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 t5(){return t8.apply(this,arguments)}function t8(){t8=s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=["Running end-to-end tests"];return[4,e8.testE2e()];case 1:return[4,tk.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return t8.apply(this,arguments)}I(t5,"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,e8.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,e8.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,e8.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");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)(C.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",t5).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).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)),C.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 f(e){return n(e)||o(e)||g(e)||u()}function p(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 v=Object.create;var y=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,j=Object.prototype.hasOwnProperty;var b=function(e,t){return y(e,"name",{value:t,configurable:!0})};var E=function(e,t,n,r){var s=true,i=false,o=undefined;if(t&&(typeof t==="undefined"?"undefined":p(t))=="object"||typeof t=="function")try{var a=function(){var s=u.value;!j.call(e,s)&&s!==n&&y(e,s,{get:function(){return t[s]},enumerable:!(r=h(t,s))||r.enumerable})};for(var c=_(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 I=function(e,t,n){return n=e!=null?v(x(e)):{},E(t||!e||!e.__esModule?y(n,"default",{value:e,enumerable:!0}):n,e)},w=function(e){return E(y({},"__esModule",{value:!0}),e)};var S={};module.exports=w(S);var R=I(require("process"),1),O=require("yargs/helpers"),C=I(require("yargs/yargs"),1);var P={name:"@cyberskill/shared",type:"module",version:"1.108.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.22","@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.1.0","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.5.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.3",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.13.0"}};var T=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var k=require("child_process"),G=I(require("process"),1),U=I(require("util"),1);var N=".cyberskill-storage";var L=I(require("dotenv"),1),q=require("envalid"),D=I(require("os"),1),M=I(require("path"),1),A=I(require("process"),1);L.default.config();function F(){var e={DEBUG:A.default.env.DEBUG||!1,CWD:A.default.env.CWD||A.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:A.default.env.CYBERSKILL_STORAGE_DIRECTORY||M.default.join(D.default.homedir(),N)};return(0,q.cleanEnv)(e,{DEBUG:(0,q.bool)(),CWD:(0,q.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,q.str)()})}b(F,"getEnv");var B=function(e){return e.Error="error",e.Warning="warning",e}({});var K=I(require("chalk"),1),W=I(require("consola"),1),Y=require("graphql");var H=F();H.DEBUG||(W.default.level=4);function J(e){var t=K.default[e];return typeof t=="function"?t:K.default.green}b(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=I(require("node-fetch"),1);var Q=I(require("fs-extra"),1),X=require("path");var Z=Q.default,ee=Z.lstatSync,et=Z.readdirSync,en=Z.mkdirSync,er=Z.readFileSync,es=Z.writeFileSync,ei=Z.appendFileSync,eo=Z.unlinkSync,ea=Z.statSync,ec=Q.default.readJsonSync,eu=Q.default.writeJsonSync;function el(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return Q.default.pathExistsSync(e)})}b(el,"pathExistsSync");function ed(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}t.forEach(function(e){el(e)&&Q.default.removeSync(e)})}b(ed,"removeSync");var ef=I(require("path"),1);var ep=F();function eg(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,ef.resolve).apply(this,[ep.CWD].concat(f(t)))}b(eg,"resolveWorkingPath");function em(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,ef.join).apply(this,f(t))}b(em,"join");var ev=F(),ey=ev.CWD,eh="@cyberskill/shared",e_="node_modules",ex="dist",ej="package.json",eb="package-lock.json",eE="tsconfig.json",eI=".gitignore",ew=".simple-git-hooks.json",eS="pnpm-lock.yaml",eR=".git/hooks/",eO=".git/COMMIT_EDITMSG",eC=".migrate-mongo.config.js",eP=em(ey,e_,eh,ex),eT="cyberskill",ek="src/nodejs/cli/index.ts",eG="eslint",eU="eslint",eN="vitest",eL="playwright",eq="vitest",eD="@commitlint/cli",eM="commitlint",eA="lint-staged",eF="lint-staged",eB="typescript",eK="tsc",eW="tsx",eY="git",eH="pnpm",eJ="pnpm exec",e$="simple-git-hooks",eV="simple-git-hooks",ez="@eslint/config-inspector",eQ="eslint-config-inspector",eX="node-modules-inspector",eZ="node-modules-inspector",e0="migrate-mongo",e1="./node_modules/migrate-mongo/bin/migrate-mongo",e2={CYBERSKILL_DIRECTORY:eP,WORKING_DIRECTORY:ey,TS_CONFIG:eg(eE),GIT_IGNORE:eg(eI),GIT_HOOK:eg(eR),GIT_COMMIT_MSG:eg(eO),SIMPLE_GIT_HOOKS_JSON:eg(ew),PACKAGE_JSON:eg(ej),PACKAGE_LOCK_JSON:eg(eb),PNPM_LOCK_YAML:eg(eS),NODE_MODULES:eg(e_),MIGRATE_MONGO_CONFIG:eg(eC),LINT_STAGED_CONFIG:eg("".concat(eP,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:eg("".concat(eP,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:eg("".concat(eP,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eg("".concat(eP,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eg("".concat(eP,"/react/vitest/vitest.e2e.js"))};function e4(e){var t=e.isCurrentProject;return l({"pre-commit":eF,"commit-msg":eM},t&&{"pre-push":tv("".concat(eY," pull"))})}b(e4,"createGitHooksConfig");function e3(e,t,n){return /*#__PURE__*/s(function(){return m(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case T.CLI:return[3,1];case T.STRING:return[3,3]}return[3,4];case 1:return[4,tn(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),th(tv("".concat(eJ," ").concat(n))))];case 3:return[2,th(tv(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}b(e3,"buildCommand");function e8(e,t,n){return function(){return /*#__PURE__*/s(function(){return m(this,function(r){return[2,e3(e,t,n)]})})()}}b(e8,"commandFactory");var e5={simpleGitHooks:e8(T.CLI,e$,eV),eslintInspect:e8(T.CLI,ez,eQ),nodeModulesInspect:e8(T.CLI,eX,eZ),eslintCheck:e8(T.CLI,eG,"".concat(eU," ").concat(e2.WORKING_DIRECTORY)),eslintFix:e8(T.CLI,eG,"".concat(eU," ").concat(e2.WORKING_DIRECTORY," --fix")),typescriptCheck:e8(T.CLI,eB,"".concat(eK," -p ").concat(e2.TS_CONFIG," --noEmit")),configureGitHook:e8(T.STRING,"".concat(eY," config core.hooksPath ").concat(e2.GIT_HOOK)),testUnit:e8(T.CLI,eN,"".concat(eq," --config ").concat(e2.UNIT_TEST_CONFIG)),testE2e:e8(T.CLI,"".concat(eN," ").concat(eL),"".concat(eq," --config ").concat(e2.E2E_TEST_CONFIG)),mongoMigrateCreate:b(function(e){return e8(T.CLI,e0,"".concat(eW," ").concat(e1," create ").concat(e," -f ").concat(e2.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:e8(T.CLI,e0,"".concat(eW," ").concat(e1," up -f ").concat(e2.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:e8(T.CLI,e0,"".concat(eW," ").concat(e1," down -f ").concat(e2.MIGRATE_MONGO_CONFIG)),commitLint:e8(T.CLI,eD,"".concat(eM," --edit ").concat(e2.GIT_COMMIT_MSG," --config ").concat(e2.COMMITLINT_CONFIG)),lintStaged:e8(T.CLI,eA,"".concat(eF," --config ").concat(e2.LINT_STAGED_CONFIG)),stageBuildDirectory:e8(T.STRING,"".concat(eY," add ").concat(ex)),build:e8(T.STRING,"".concat(eH," run build")),pnpmInstallStandard:e8(T.STRING,"".concat(eH," install")),pnpmInstallLegacy:e8(T.STRING,"".concat(eH," install --legacy-peer-deps")),pnpmInstallForce:e8(T.STRING,"".concat(eH," install --force"))};var e6=F();function e9(e){var t=em(e6.CWD,ej);if(!el(t))return!1;try{var n=ec(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}}b(e9,"getPackage");function e7(e){return /*#__PURE__*/s(function(){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]}})})()}b(e7,"getLatestPackageVersion");function te(e,t){return /*#__PURE__*/s(function(){var n,r,s,i,o,a,c,u,d,f,p,g,v,y,h,_,x,j,b,E,I;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,f=n.isDepend,p=n.isDevDepend,g=(r=u.dependencies)!==null&&r!==void 0?r:{},v=(s=u.devDependencies)!==null&&s!==void 0?s:{},y=d?(i=u.version)!==null&&i!==void 0?i:"0.0.0":f?(o=g[e])!==null&&o!==void 0?o:"0.0.0":p?(a=v[e])!==null&&a!==void 0?a:"0.0.0":"0.0.0";if(!d)return[3,1];x=y;return[3,3];case 1:return[4,e7(e)];case 2:x=m.sent();m.label=3;case 3:h=x,_=d||y===h;if(!_&&(t===null||t===void 0?void 0:t.update)){;b=f?"dependencies":p?"devDependencies":null;b&&((j=u[b])===null||j===void 0?void 0:j[e])!==h&&(u[b]=(E=u[b])!==null&&E!==void 0?E:{},u[b][e]=h,eu(c,u),$.info('Updated "'.concat(e,'" to version ').concat(h)))}return[2,{isCurrentProject:d,installedPath:c,file:u,isUpToDate:_}];case 4:I=m.sent();return[2,($.error('Error checking package "'.concat(e,'": ').concat(I.message)),l({},V))];case 5:return[2]}})})()}b(te,"checkPackage");function tt(){return /*#__PURE__*/s(function(){var e,t,n,r,s,i,o,a,c,u,l,d;return m(this,function(f){switch(f.label){case 0:e=[{command:b(function(){return e5.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:b(function(){return e5.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:b(function(){return e5.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;f.label=1;case 1:f.trys.push([1,9,10,11]);s=e[Symbol.iterator]();f.label=2;case 2:if(!!(t=(i=s.next()).done))return[3,8];o=i.value,a=o.command,c=o.message;f.label=3;case 3:f.trys.push([3,6,,7]);return[4,a()];case 4:u=f.sent();return[4,tx("".concat(c," using: ").concat(u),u)];case 5:f.sent();return[2];case 6:l=f.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=f.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.")}})})()}b(tt,"installDependencies");function tn(e,t){return /*#__PURE__*/s(function(){var n,r,s,i,o,a,c,u,d,p,g;return m(this,function(m){switch(m.label){case 0:if(!el(e2.PACKAGE_JSON)){$.error("package.json not found. Aborting setup.");return[2]}m.label=1;case 1:m.trys.push([1,13,,14]);n=f(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return te(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,tt()];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:p=m.sent();o=true;a=p;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]}})})()}b(tn,"setupPackages");var tr=I(require("node-persist"),1);var ts=F();function ti(){return /*#__PURE__*/s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=tr.default.defaultInstance;if(e)return[3,2];return[4,tr.default.init({dir:ts.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]}})})()}b(ti,"initNodePersist");var to={get:function e(e){return /*#__PURE__*/s(function(){var t,n;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ti()];case 1:r.sent();return[4,tr.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,($.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/s(function(){var n;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ti()];case 1:r.sent();return[4,tr.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();$.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/s(function(){var t;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ti()];case 1:n.sent();return[4,tr.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();$.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/s(function(){var e,t;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ti()];case 1:n.sent();return[4,tr.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:($.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,($.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/s(function(){return m(this,function(t){try{return[2,"".concat(ts.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,($.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var ta=F(),tc=U.promisify(k.exec);function tu(e){return"error_list:".concat(e)}b(tu,"getErrorListKey");function tl(e){return /*#__PURE__*/s(function(){var t,n,r;return m(this,function(i){switch(i.label){case 0:if(e.length===0)return[2];t=Date.now(),n=tu(t);i.label=1;case 1:i.trys.push([1,3,,4]);return[4,to.set(n,{errors:e,timestamp:t})];case 2:i.sent(),setTimeout(function(){return /*#__PURE__*/s(function(){var e;return m(this,function(t){switch(t.label){case 0:return[4,to.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]}})})()}b(tl,"saveErrorListToStorage");function td(){return /*#__PURE__*/s(function(){var e,t,n;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,to.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 /*#__PURE__*/s(function(){var t;return m(this,function(n){switch(n.label){case 0:return[4,to.get(e)];case 1:return[2,((t=n.sent())===null||t===void 0?void 0:t.errors)||[]]}})})()}))];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]}})})()}b(td,"getStoredErrorLists");function tf(){return /*#__PURE__*/s(function(){var e,t,n;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,to.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 to.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]}})})()}b(tf,"clearAllErrorLists");function tp(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 f=s.exec(e)||[],p=i.exec(e)||[],g=o.exec(e)||[];var m,v,y,h,_,x;f.length&&r?t.push({file:r,position:"".concat(f[1],":").concat(f[2]),type:f[3]===B.Error?B.Error:B.Warning,message:(m=f===null||f===void 0?void 0:(a=f[4])===null||a===void 0?void 0:a.trim())!==null&&m!==void 0?m:"",rule:(v=f===null||f===void 0?void 0:(c=f[5])===null||c===void 0?void 0:c.trim())!==null&&v!==void 0?v:""}):p.length?t.push({file:(y=p===null||p===void 0?void 0:p[1])!==null&&y!==void 0?y:"",position:"".concat(p[2],":").concat(p[3]),type:p[4]===B.Error?B.Error:B.Warning,message:(h=p===null||p===void 0?void 0:(u=p[5])===null||u===void 0?void 0:u.trim())!==null&&h!==void 0?h:""}):g.length?t.push({file:"commitlint",type:B.Error,message:(_=g===null||g===void 0?void 0:(l=g[1])===null||l===void 0?void 0:l.trim())!==null&&_!==void 0?_:"",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&&tl(t),ta.DEBUG&&n.length&&($.warn("Unmatched lines:"),n.forEach(function(e){return $.info(" ".concat(e))}))}b(tp,"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,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&&tl(n)}catch(t){tp(e)}}b(tg,"parseCommandOutput");function tm(e){return /*#__PURE__*/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]:tg;n=new AbortController;G.default.on("SIGINT",function(){$.warn("Process interrupted. Terminating..."),n.abort(),G.default.exit()});d.label=1;case 1:d.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,tc(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]}})}).apply(this,arguments)}b(tm,"executeCommand");function tv(e){return{raw:!0,cmd:e}}b(tv,"rawCommand");function ty(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(eJ," ").concat(eh," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(eJ," ").concat(eW," ").concat(ek," ").concat(e):"".concat(eJ," ").concat(eT," ").concat(e)}b(ty,"formatCLI");function th(e,t){return typeof e=="function"?ty(e(t),t):(typeof e==="undefined"?"undefined":p(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?ty(e,t):e}b(th,"formatCommand");function t_(e){return /*#__PURE__*/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,te(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,th(r,i)]}))]}})}).apply(this,arguments)}b(t_,"resolveCommands");function tx(e,t){return /*#__PURE__*/s(function(){var n;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);$.start("".concat(e)),ta.DEBUG&&$.info("→ ".concat(t));return[4,tm(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]}})})()}b(tx,"runCommand");function tj(){return /*#__PURE__*/s(function(){var e,t;return m(this,function(n){switch(n.label){case 0:if(!el(e2.TS_CONFIG))return[3,3];t=["Performing TypeScript validation"];return[4,e5.typescriptCheck()];case 1:return[4,tx.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]}})})()}b(tj,"checkTypescript");function tb(){return /*#__PURE__*/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,tx.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,tx.apply(void 0,r.concat([i.sent()]))];case 5:t=i.sent();i.label=6;case 6:t;return[2]}})}).apply(this,arguments)}b(tb,"checkEslint");function tE(e,t){if(!t.length)return;var n=e==="Errors"?"red":"yellow";$.printBoxedLog(e==="Errors"?"✖ Errors":"⚠ Warnings",t,n)}b(tE,"printIssues");function tI(){return /*#__PURE__*/s(function(){var e,t,n;return m(this,function(r){switch(r.label){case 0:return[4,td()];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"):(tE("Warnings",n),tE("Errors",t),(t.length>0||n.length>0)&&R.default.exit(1));return[2]}})})()}b(tI,"showCheckResult");function tw(){return /*#__PURE__*/s(function(){var e,t,n,r,s,i;return m(this,function(o){switch(o.label){case 0:return[4,tf()];case 1:o.sent();return[4,te(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,tx.apply(void 0,n.concat([o.sent()]))];case 5:o.sent();r=["Staging build artifacts"];return[4,e5.stageBuildDirectory()];case 6:return[4,tx.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,tx.apply(void 0,i.concat([o.sent()]))];case 11:o.sent(),tI();return[2]}})})()}b(tw,"lintStaged");function tS(){return /*#__PURE__*/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,tx.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}b(tS,"inspectLint");function tR(){return /*#__PURE__*/s(function(){return m(this,function(e){switch(e.label){case 0:return[4,tf()];case 1:e.sent();return[4,Promise.all([tj(),tb()])];case 2:e.sent(),tI();return[2]}})})()}b(tR,"lintCheck");function tO(){return /*#__PURE__*/s(function(){return m(this,function(e){switch(e.label){case 0:return[4,tf()];case 1:e.sent();return[4,Promise.all([tj(),tb(!0)])];case 2:e.sent(),tI();return[2]}})})()}b(tO,"lintFix");function tC(){return /*#__PURE__*/s(function(){var e;return m(this,function(t){switch(t.label){case 0:return[4,tf()];case 1:t.sent();e=["Validating commit message"];return[4,e5.commitLint()];case 2:return[4,tx.apply(void 0,e.concat([t.sent()]))];case 3:t.sent(),tI();return[2]}})})()}b(tC,"commitLint");function tP(){return /*#__PURE__*/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,tx.apply(void 0,e.concat([s.sent()]))];case 2:s.sent(),ed(e2.GIT_HOOK);return[4,t_(e4)];case 3:t=s.sent();eu(e2.SIMPLE_GIT_HOOKS_JSON,t);n="\n".concat(ew,"\n");el(e2.GIT_IGNORE)?er(e2.GIT_IGNORE,"utf-8").split("\n").includes(ew)||ei(e2.GIT_IGNORE,n,"utf-8"):es(e2.GIT_IGNORE,n,"utf-8");r=["Setting up simple-git-hooks"];return[4,e5.simpleGitHooks()];case 4:return[4,tx.apply(void 0,r.concat([s.sent()]))];case 5:s.sent();return[2]}})})()}b(tP,"setupGitHook");function tT(){return /*#__PURE__*/s(function(){return m(this,function(e){switch(e.label){case 0:return[4,tn([eh],{update:!0,postInstallActions:[tP]})];case 1:e.sent();return[2]}})})()}b(tT,"setup");function tk(){return /*#__PURE__*/s(function(){return m(this,function(e){switch(e.label){case 0:ed(e2.NODE_MODULES,e2.PNPM_LOCK_YAML);return[4,tt()];case 1:e.sent();return[4,tP()];case 2:e.sent();return[2]}})})()}b(tk,"reset");function tG(){return /*#__PURE__*/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,tx.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}b(tG,"inspect");function tU(){return /*#__PURE__*/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,tx.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}b(tU,"testUnit");function tN(){return /*#__PURE__*/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,tx.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}b(tN,"testE2E");function tL(e){return /*#__PURE__*/s(function(){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,tx.apply(void 0,t.concat([n.sent()]))];case 2:n.sent();return[2]}})})()}b(tL,"mongoMigrateCreate");function tq(){return /*#__PURE__*/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,tx.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}b(tq,"mongoMigrateUp");function tD(){return /*#__PURE__*/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,tx.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}b(tD,"mongoMigrateDown");(function(){return /*#__PURE__*/s(function(){var e;return m(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,(0,C.default)((0,O.hideBin)(R.default.argv)).scriptName(eT).usage("$0 <command> [options]").command("lint","Check code for linting issues",tR).command("lint:fix","Fix linting issues automatically",tO).command("lint:inspect","View active ESLint configuration",tS).command("lint-staged","Run lint checks on staged files",tw).command("commitlint","Validate commit message format",tC).command("setup","Initialize project setup and dependencies",tT).command("reset","Reset the project and reinstall dependencies",tk).command("inspect","Analyze installed project dependencies",tG).command("test:unit","Run unit test suite",tU).command("test:e2e","Run end-to-end test suite",tN).command("mongo:migrate:create <name>","Create a MongoDB migration",function(e){return e.positional("name",{describe:"Migration name",type:"string"})},function(e){return /*#__PURE__*/s(function(){return m(this,function(t){switch(t.label){case 0:if(!e.name){$.error("Migration name is required.");return[2]}return[4,tL(e.name)];case 1:t.sent();return[2]}})})()}).command("mongo:migrate:up","Apply all MongoDB migrations",tq).command("mongo:migrate:down","Rollback last MongoDB migration",tD).demandCommand(1,"Please specify a valid command.").strict().help().alias("h","help").alias("v","version").version(P.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)),R.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,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.106.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.5.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.appendFileSync,H=W.lstatSync,J=W.mkdirSync,$=W.readFileSync,V=W.unlinkSync,z=W.writeFileSync,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 W.pathExistsSync(e)})}y(ee,"pathExistsSync");function et(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}t.forEach(function(e){ee(e)&&W.removeSync(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)),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 e5(){return e8.apply(this,arguments)}function e8(){e8=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 e8.apply(this,arguments)}y(e5,"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,e5()];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)?$(eJ.GIT_IGNORE,"utf-8").split("\n").includes(eh)||Y(eJ.GIT_IGNORE,n,"utf-8"):z(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,e5()];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");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).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]}})})();
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 v=Object.defineProperty;var h=function(e,t){return v(e,"name",{value:t,configurable:!0})};import y from"node:process";import{hideBin as _}from"yargs/helpers";import x from"yargs/yargs";var j={name:"@cyberskill/shared",type:"module",version:"1.108.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.22","@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.1.0","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.5.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.3",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.13.0"}};var b=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as E}from"node:child_process";import I from"node:process";import*as w from"node:util";var S=".cyberskill-storage";import R from"dotenv";import{bool as C,cleanEnv as O,str as T}from"envalid";import k from"node:os";import P from"node:path";import G from"node:process";R.config();function U(){var e={DEBUG:G.env.DEBUG||!1,CWD:G.env.CWD||G.cwd(),CYBERSKILL_STORAGE_DIRECTORY:G.env.CYBERSKILL_STORAGE_DIRECTORY||P.join(k.homedir(),S)};return O(e,{DEBUG:C(),CWD:T(),CYBERSKILL_STORAGE_DIRECTORY:T()})}h(U,"getEnv");var L=function(e){return e.Error="error",e.Warning="warning",e}({});import N from"chalk";import D from"consola";import{GraphQLError as M}from"graphql";var A=U();A.DEBUG||(D.level=4);function q(e){var t=N[e];return typeof t=="function"?t:N.green}h(q,"chalkKeyword");var F={silent:D.silent,level:D.level,fatal:D.fatal,error:D.error,warn:D.warn,log:D.log,info:D.info,success:D.success,ready:D.ready,start:D.start,box:D.box,debug:D.debug,trace:D.trace,verbose:D.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)){D.box(N.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,s=e.rule,i=e.message;D.log("".concat(N.gray("File:")," ").concat(N.blue("".concat(t).concat(r?":".concat(r):"")))),s&&D.log(" ".concat(q(n)("Rule:")," ").concat(s)),D.log(" ".concat(q(n)("Message:")," ").concat(i))}),D.box(q(n)("".concat(e," : ").concat(t.length))),D.log(N.gray("─".repeat(40)))}};var B={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};import K from"node-fetch";import W from"fs-extra";var Y=W.lstatSync,H=W.readdirSync,J=W.mkdirSync,$=W.readFileSync,V=W.writeFileSync,z=W.appendFileSync,Q=W.unlinkSync,X=W.statSync,Z=W.readJsonSync,ee=W.writeJsonSync;function et(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return W.pathExistsSync(e)})}h(et,"pathExistsSync");function en(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}t.forEach(function(e){et(e)&&W.removeSync(e)})}h(en,"removeSync");import er,{join as es,resolve as ei}from"node:path";var eo=U();function ec(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return ei.apply(void 0,[eo.CWD].concat(p(t)))}h(ec,"resolveWorkingPath");function ea(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return es.apply(void 0,p(t))}h(ea,"join");var eu=U(),el=eu.CWD,ed="@cyberskill/shared",ep="node_modules",ef="dist",eg="package.json",em="package-lock.json",ev="tsconfig.json",eh=".gitignore",ey=".simple-git-hooks.json",e_="pnpm-lock.yaml",ex=".git/hooks/",ej=".git/COMMIT_EDITMSG",eb=".migrate-mongo.config.js",eE=ea(el,ep,ed,ef),eI="cyberskill",ew="src/nodejs/cli/index.ts",eS="eslint",eR="eslint",eC="vitest",eO="playwright",eT="vitest",ek="@commitlint/cli",eP="commitlint",eG="lint-staged",eU="lint-staged",eL="typescript",eN="tsc",eD="tsx",eM="git",eA="pnpm",eq="pnpm exec",eF="simple-git-hooks",eB="simple-git-hooks",eK="@eslint/config-inspector",eW="eslint-config-inspector",eY="node-modules-inspector",eH="node-modules-inspector",eJ="migrate-mongo",e$="./node_modules/migrate-mongo/bin/migrate-mongo",eV={CYBERSKILL_DIRECTORY:eE,WORKING_DIRECTORY:el,TS_CONFIG:ec(ev),GIT_IGNORE:ec(eh),GIT_HOOK:ec(ex),GIT_COMMIT_MSG:ec(ej),SIMPLE_GIT_HOOKS_JSON:ec(ey),PACKAGE_JSON:ec(eg),PACKAGE_LOCK_JSON:ec(em),PNPM_LOCK_YAML:ec(e_),NODE_MODULES:ec(ep),MIGRATE_MONGO_CONFIG:ec(eb),LINT_STAGED_CONFIG:ec("".concat(eE,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:ec("".concat(eE,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:ec("".concat(eE,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:ec("".concat(eE,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:ec("".concat(eE,"/react/vitest/vitest.e2e.js"))};function ez(e){var t=e.isCurrentProject;return l({"pre-commit":eU,"commit-msg":eP},t&&{"pre-push":tu("".concat(eM," pull"))})}h(ez,"createGitHooksConfig");function eQ(e,t,n){return /*#__PURE__*/s(function(){return m(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case b.CLI:return[3,1];case b.STRING:return[3,3]}return[3,4];case 1:return[4,e8(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),td(tu("".concat(eq," ").concat(n))))];case 3:return[2,td(tu(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}h(eQ,"buildCommand");function eX(e,t,n){return function(){return /*#__PURE__*/s(function(){return m(this,function(r){return[2,eQ(e,t,n)]})})()}}h(eX,"commandFactory");var eZ={simpleGitHooks:eX(b.CLI,eF,eB),eslintInspect:eX(b.CLI,eK,eW),nodeModulesInspect:eX(b.CLI,eY,eH),eslintCheck:eX(b.CLI,eS,"".concat(eR," ").concat(eV.WORKING_DIRECTORY)),eslintFix:eX(b.CLI,eS,"".concat(eR," ").concat(eV.WORKING_DIRECTORY," --fix")),typescriptCheck:eX(b.CLI,eL,"".concat(eN," -p ").concat(eV.TS_CONFIG," --noEmit")),configureGitHook:eX(b.STRING,"".concat(eM," config core.hooksPath ").concat(eV.GIT_HOOK)),testUnit:eX(b.CLI,eC,"".concat(eT," --config ").concat(eV.UNIT_TEST_CONFIG)),testE2e:eX(b.CLI,"".concat(eC," ").concat(eO),"".concat(eT," --config ").concat(eV.E2E_TEST_CONFIG)),mongoMigrateCreate:h(function(e){return eX(b.CLI,eJ,"".concat(eD," ").concat(e$," create ").concat(e," -f ").concat(eV.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:eX(b.CLI,eJ,"".concat(eD," ").concat(e$," up -f ").concat(eV.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:eX(b.CLI,eJ,"".concat(eD," ").concat(e$," down -f ").concat(eV.MIGRATE_MONGO_CONFIG)),commitLint:eX(b.CLI,ek,"".concat(eP," --edit ").concat(eV.GIT_COMMIT_MSG," --config ").concat(eV.COMMITLINT_CONFIG)),lintStaged:eX(b.CLI,eG,"".concat(eU," --config ").concat(eV.LINT_STAGED_CONFIG)),stageBuildDirectory:eX(b.STRING,"".concat(eM," add ").concat(ef)),build:eX(b.STRING,"".concat(eA," run build")),pnpmInstallStandard:eX(b.STRING,"".concat(eA," install")),pnpmInstallLegacy:eX(b.STRING,"".concat(eA," install --legacy-peer-deps")),pnpmInstallForce:eX(b.STRING,"".concat(eA," install --force"))};var e0=U();function e1(e){var t=ea(e0.CWD,eg);if(!et(t))return!1;try{var n=Z(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 F.warn("Failed to read package.json: ".concat(e.message)),!1}}h(e1,"getPackage");function e2(e){return /*#__PURE__*/s(function(){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 F.error('Failed to fetch version for "'.concat(e,'": ').concat(s.message)),s;case 4:return[2]}})})()}h(e2,"getLatestPackageVersion");function e4(e,t){return /*#__PURE__*/s(function(){var n,r,s,i,o,c,a,u,d,p,f,g,v,h,y,_,x,j,b,E,I;return m(this,function(m){switch(m.label){case 0:m.trys.push([0,4,,5]);n=e1(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:{},v=(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?(c=v[e])!==null&&c!==void 0?c:"0.0.0":"0.0.0";if(!d)return[3,1];x=h;return[3,3];case 1:return[4,e2(e)];case 2:x=m.sent();m.label=3;case 3:y=x,_=d||h===y;if(!_&&(t===null||t===void 0?void 0:t.update)){;b=p?"dependencies":f?"devDependencies":null;b&&((j=u[b])===null||j===void 0?void 0:j[e])!==y&&(u[b]=(E=u[b])!==null&&E!==void 0?E:{},u[b][e]=y,ee(a,u),F.info('Updated "'.concat(e,'" to version ').concat(y)))}return[2,{isCurrentProject:d,installedPath:a,file:u,isUpToDate:_}];case 4:I=m.sent();return[2,(F.error('Error checking package "'.concat(e,'": ').concat(I.message)),l({},B))];case 5:return[2]}})})()}h(e4,"checkPackage");function e3(){return /*#__PURE__*/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:h(function(){return eZ.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:h(function(){return eZ.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:h(function(){return eZ.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,tf("".concat(a," using: ").concat(u),u)];case 5:p.sent();return[2];case 6:l=p.sent();F.warn("Installation attempt failed: ".concat(a)),F.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.")}})})()}h(e3,"installDependencies");function e8(e,t){return /*#__PURE__*/s(function(){var n,r,s,i,o,c,a,u,d,f,g;return m(this,function(m){switch(m.label){case 0:if(!et(eV.PACKAGE_JSON)){F.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,e3()];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 F.error('Failed to setup "'.concat(e.join(", "),'": ').concat(g.message)),g;case 14:return[2]}})})()}h(e8,"setupPackages");import e5 from"node-persist";var e6=U();function e9(){return /*#__PURE__*/s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=e5.defaultInstance;if(e)return[3,2];return[4,e5.init({dir:e6.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]}})})()}h(e9,"initNodePersist");var e7={get:function e(e){return /*#__PURE__*/s(function(){var t,n;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,e9()];case 1:r.sent();return[4,e5.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(F.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/s(function(){var n;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,e9()];case 1:r.sent();return[4,e5.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();F.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/s(function(){var t;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,e9()];case 1:n.sent();return[4,e5.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();F.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/s(function(){var e,t;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,e9()];case 1:n.sent();return[4,e5.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(F.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(F.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/s(function(){return m(this,function(t){try{return[2,"".concat(e6.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(F.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var te=U(),tt=w.promisify(E);function tn(e){return"error_list:".concat(e)}h(tn,"getErrorListKey");function tr(e){return /*#__PURE__*/s(function(){var t,n,r;return m(this,function(i){switch(i.label){case 0:if(e.length===0)return[2];t=Date.now(),n=tn(t);i.label=1;case 1:i.trys.push([1,3,,4]);return[4,e7.set(n,{errors:e,timestamp:t})];case 2:i.sent(),setTimeout(function(){return /*#__PURE__*/s(function(){var e;return m(this,function(t){switch(t.label){case 0:return[4,e7.getLogLink(n)];case 1:e=t.sent();e&&F.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:r=i.sent();F.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})})()}h(tr,"saveErrorListToStorage");function ts(){return /*#__PURE__*/s(function(){var e,t,n;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,e7.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 /*#__PURE__*/s(function(){var t;return m(this,function(n){switch(n.label){case 0:return[4,e7.get(e)];case 1:return[2,((t=n.sent())===null||t===void 0?void 0:t.errors)||[]]}})})()}))];case 2:return[2,r.sent().flat()];case 3:n=r.sent();return[2,(F.error("Failed to retrieve stored errors: ".concat(n.message)),[])];case 4:return[2]}})})()}h(ts,"getStoredErrorLists");function ti(){return /*#__PURE__*/s(function(){var e,t,n;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,e7.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 e7.remove(e)}))];case 2:r.sent();return[3,4];case 3:n=r.sent();F.error("Failed to clear error lists: ".concat(n.message));return[3,4];case 4:return[2]}})})()}h(ti,"clearAllErrorLists");function to(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,v,h,y,_,x;p.length&&r?t.push({file:r,position:"".concat(p[1],":").concat(p[2]),type:p[3]===L.Error?L.Error:L.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:(v=p===null||p===void 0?void 0:(a=p[5])===null||a===void 0?void 0:a.trim())!==null&&v!==void 0?v:""}):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]===L.Error?L.Error:L.Warning,message:(y=f===null||f===void 0?void 0:(u=f[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):g.length?t.push({file:"commitlint",type:L.Error,message:(_=g===null||g===void 0?void 0:(l=g[1])===null||l===void 0?void 0:l.trim())!==null&&_!==void 0?_:"",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&&tr(t),te.DEBUG&&n.length&&(F.warn("Unmatched lines:"),n.forEach(function(e){return F.info(" ".concat(e))}))}h(to,"parseTextErrors");function tc(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?L.Error:L.Warning,file:t,position:"".concat(s,":").concat(i),rule:o,message:c})})}),n.length&&tr(n)}catch(t){to(e)}}h(tc,"parseCommandOutput");function ta(e){return /*#__PURE__*/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]:tc;n=new AbortController;I.on("SIGINT",function(){F.warn("Process interrupted. Terminating..."),n.abort(),I.exit()});d.label=1;case 1:d.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,tt(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&&F.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}h(ta,"executeCommand");function tu(e){return{raw:!0,cmd:e}}h(tu,"rawCommand");function tl(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(eq," ").concat(ed," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(eq," ").concat(eD," ").concat(ew," ").concat(e):"".concat(eq," ").concat(eI," ").concat(e)}h(tl,"formatCLI");function td(e,t){return typeof e=="function"?tl(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"?tl(e,t):e}h(td,"formatCommand");function tp(e){return /*#__PURE__*/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(ed)];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,td(r,i)]}))]}})}).apply(this,arguments)}h(tp,"resolveCommands");function tf(e,t){return /*#__PURE__*/s(function(){var n;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);F.start("".concat(e)),te.DEBUG&&F.info("→ ".concat(t));return[4,ta(t)];case 1:r.sent(),F.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw F.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}h(tf,"runCommand");function tg(){return /*#__PURE__*/s(function(){var e,t;return m(this,function(n){switch(n.label){case 0:if(!et(eV.TS_CONFIG))return[3,3];t=["Performing TypeScript validation"];return[4,eZ.typescriptCheck()];case 1:return[4,tf.apply(void 0,t.concat([n.sent()]))];case 2:e=n.sent();return[3,4];case 3:e=F.warn("No TypeScript configuration found. Skipping type check.");n.label=4;case 4:e;return[2]}})})()}h(tg,"checkTypescript");function tm(){return /*#__PURE__*/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,eZ.eslintFix()];case 1:return[4,tf.apply(void 0,n.concat([i.sent()]))];case 2:t=i.sent();return[3,6];case 3:r=["Running ESLint check"];return[4,eZ.eslintCheck()];case 4:return[4,tf.apply(void 0,r.concat([i.sent()]))];case 5:t=i.sent();i.label=6;case 6:t;return[2]}})}).apply(this,arguments)}h(tm,"checkEslint");function tv(e,t){if(!t.length)return;var n=e==="Errors"?"red":"yellow";F.printBoxedLog(e==="Errors"?"✖ Errors":"⚠ Warnings",t,n)}h(tv,"printIssues");function th(){return /*#__PURE__*/s(function(){var e,t,n;return m(this,function(r){switch(r.label){case 0:return[4,ts()];case 1:e=r.sent(),t=e.filter(function(e){return e.type===L.Error}),n=e.filter(function(e){return e.type===L.Warning});!t.length&&!n.length?F.printBoxedLog("✔ NO ISSUES FOUND",[],"green"):(tv("Warnings",n),tv("Errors",t),(t.length>0||n.length>0)&&y.exit(1));return[2]}})})()}h(th,"showCheckResult");function ty(){return /*#__PURE__*/s(function(){var e,t,n,r,s,i;return m(this,function(o){switch(o.label){case 0:return[4,ti()];case 1:o.sent();return[4,e4(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,eZ.build()];case 4:return[4,tf.apply(void 0,n.concat([o.sent()]))];case 5:o.sent();r=["Staging build artifacts"];return[4,eZ.stageBuildDirectory()];case 6:return[4,tf.apply(void 0,r.concat([o.sent()]))];case 7:o.sent();return[3,9];case 8:s=o.sent();throw F.error("Error building and staging ".concat(ed,": ").concat(s.message)),s;case 9:i=["Executing lint-staged"];return[4,eZ.lintStaged()];case 10:return[4,tf.apply(void 0,i.concat([o.sent()]))];case 11:o.sent(),th();return[2]}})})()}h(ty,"lintStaged");function t_(){return /*#__PURE__*/s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=["Inspecting ESLint configuration"];return[4,eZ.eslintInspect()];case 1:return[4,tf.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}h(t_,"inspectLint");function tx(){return /*#__PURE__*/s(function(){return m(this,function(e){switch(e.label){case 0:return[4,ti()];case 1:e.sent();return[4,Promise.all([tg(),tm()])];case 2:e.sent(),th();return[2]}})})()}h(tx,"lintCheck");function tj(){return /*#__PURE__*/s(function(){return m(this,function(e){switch(e.label){case 0:return[4,ti()];case 1:e.sent();return[4,Promise.all([tg(),tm(!0)])];case 2:e.sent(),th();return[2]}})})()}h(tj,"lintFix");function tb(){return /*#__PURE__*/s(function(){var e;return m(this,function(t){switch(t.label){case 0:return[4,ti()];case 1:t.sent();e=["Validating commit message"];return[4,eZ.commitLint()];case 2:return[4,tf.apply(void 0,e.concat([t.sent()]))];case 3:t.sent(),th();return[2]}})})()}h(tb,"commitLint");function tE(){return /*#__PURE__*/s(function(){var e,t,n,r;return m(this,function(s){switch(s.label){case 0:e=["Configuring Git hooks"];return[4,eZ.configureGitHook()];case 1:return[4,tf.apply(void 0,e.concat([s.sent()]))];case 2:s.sent(),en(eV.GIT_HOOK);return[4,tp(ez)];case 3:t=s.sent();ee(eV.SIMPLE_GIT_HOOKS_JSON,t);n="\n".concat(ey,"\n");et(eV.GIT_IGNORE)?$(eV.GIT_IGNORE,"utf-8").split("\n").includes(ey)||z(eV.GIT_IGNORE,n,"utf-8"):V(eV.GIT_IGNORE,n,"utf-8");r=["Setting up simple-git-hooks"];return[4,eZ.simpleGitHooks()];case 4:return[4,tf.apply(void 0,r.concat([s.sent()]))];case 5:s.sent();return[2]}})})()}h(tE,"setupGitHook");function tI(){return /*#__PURE__*/s(function(){return m(this,function(e){switch(e.label){case 0:return[4,e8([ed],{update:!0,postInstallActions:[tE]})];case 1:e.sent();return[2]}})})()}h(tI,"setup");function tw(){return /*#__PURE__*/s(function(){return m(this,function(e){switch(e.label){case 0:en(eV.NODE_MODULES,eV.PNPM_LOCK_YAML);return[4,e3()];case 1:e.sent();return[4,tE()];case 2:e.sent();return[2]}})})()}h(tw,"reset");function tS(){return /*#__PURE__*/s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=["Inspecting project dependencies"];return[4,eZ.nodeModulesInspect()];case 1:return[4,tf.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}h(tS,"inspect");function tR(){return /*#__PURE__*/s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=["Running unit tests"];return[4,eZ.testUnit()];case 1:return[4,tf.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}h(tR,"testUnit");function tC(){return /*#__PURE__*/s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=["Running end-to-end tests"];return[4,eZ.testE2e()];case 1:return[4,tf.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}h(tC,"testE2E");function tO(e){return /*#__PURE__*/s(function(){var t;return m(this,function(n){switch(n.label){case 0:t=["Creating MongoDB migration"];return[4,eZ.mongoMigrateCreate(e)];case 1:return[4,tf.apply(void 0,t.concat([n.sent()]))];case 2:n.sent();return[2]}})})()}h(tO,"mongoMigrateCreate");function tT(){return /*#__PURE__*/s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=["Running MongoDB migrations"];return[4,eZ.mongoMigrateUp()];case 1:return[4,tf.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}h(tT,"mongoMigrateUp");function tk(){return /*#__PURE__*/s(function(){var e;return m(this,function(t){switch(t.label){case 0:e=["Rolling back MongoDB migration"];return[4,eZ.mongoMigrateDown()];case 1:return[4,tf.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}h(tk,"mongoMigrateDown");(function(){return /*#__PURE__*/s(function(){var e;return m(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,x(_(y.argv)).scriptName(eI).usage("$0 <command> [options]").command("lint","Check code for linting issues",tx).command("lint:fix","Fix linting issues automatically",tj).command("lint:inspect","View active ESLint configuration",t_).command("lint-staged","Run lint checks on staged files",ty).command("commitlint","Validate commit message format",tb).command("setup","Initialize project setup and dependencies",tI).command("reset","Reset the project and reinstall dependencies",tw).command("inspect","Analyze installed project dependencies",tS).command("test:unit","Run unit test suite",tR).command("test:e2e","Run end-to-end test suite",tC).command("mongo:migrate:create <name>","Create a MongoDB migration",function(e){return e.positional("name",{describe:"Migration name",type:"string"})},function(e){return /*#__PURE__*/s(function(){return m(this,function(t){switch(t.label){case 0:if(!e.name){F.error("Migration name is required.");return[2]}return[4,tO(e.name)];case 1:t.sent();return[2]}})})()}).command("mongo:migrate:up","Apply all MongoDB migrations",tT).command("mongo:migrate:down","Rollback last MongoDB migration",tk).demandCommand(1,"Please specify a valid command.").strict().help().alias("h","help").alias("v","version").version(j.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();F.error("Fatal: ".concat(e.message)),y.exit(1);return[3,3];case 3:return[2]}})})()})();
@@ -1 +1 @@
1
- "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function t(e){if(Array.isArray(e))return e}function r(t){if(Array.isArray(t))return e(t)}function n(e,t,r,n,a,o,i){try{var c=e[o](i);var u=c.value}catch(e){r(e);return}if(c.done){t(u)}else{Promise.resolve(u).then(n,a)}}function a(e){return function(){var t=this,r=arguments;return new Promise(function(a,o){var i=e.apply(t,r);function c(e){n(i,a,o,c,u,"next",e)}function u(e){n(i,a,o,c,u,"throw",e)}c(undefined)})}}function o(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}function i(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function c(e,t){var r=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(r==null)return;var n=[];var a=true;var o=false;var i,c;try{for(r=r.call(e);!(a=(i=r.next()).done);a=true){n.push(i.value);if(t&&n.length===t)break}}catch(e){o=true;c=e}finally{try{if(!a&&r["return"]!=null)r["return"]()}finally{if(o)throw c}}return n}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 s(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function l(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};var n=Object.keys(r);if(typeof Object.getOwnPropertySymbols==="function"){n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))}n.forEach(function(t){o(e,t,r[t])})}return e}function f(e,r){return t(e)||c(e,r)||v(e,r)||u()}function d(e){return r(e)||i(e)||v(e)||s()}function p(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function v(t,r){if(!t)return;if(typeof t==="string")return e(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor)n=t.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(t,r)}function m(e,t){var r,n,a,o={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},i=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return i.next=c(0),i["throw"]=c(1),i["return"]=c(2),typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function c(e){return function(t){return u([e,t])}}function u(c){if(r)throw new TypeError("Generator is already executing.");while(i&&(i=0,c[0]&&(o=0)),o)try{if(r=1,n&&(a=c[0]&2?n["return"]:c[0]?n["throw"]||((a=n["return"])&&a.call(n),0):n.next)&&!(a=a.call(n,c[1])).done)return a;if(n=0,a)c=[c[0]&2,a.value];switch(c[0]){case 0:case 1:a=c;break;case 4:o.label++;return{value:c[1],done:false};case 5:o.label++;n=c[1];c=[0];continue;case 7:c=o.ops.pop();o.trys.pop();continue;default:if(!(a=o.trys,a=a.length>0&&a[a.length-1])&&(c[0]===6||c[0]===2)){o=0;continue}if(c[0]===3&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(c[0]===6&&o.label<a[1]){o.label=a[1];a=c;break}if(a&&o.label<a[2]){o.label=a[2];o.ops.push(c);break}if(a[2])o.ops.pop();o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e];n=0}finally{r=a=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var h=Object.create;var g=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var I=Object.getPrototypeOf,E=Object.prototype.hasOwnProperty;var C=function(e,t){return g(e,"name",{value:t,configurable:!0})};var O=function(e,t){for(var r in t)g(e,r,{get:t[r],enumerable:!0})},S=function(e,t,r,n){var a=true,o=false,i=undefined;if(t&&(typeof t==="undefined"?"undefined":p(t))=="object"||typeof t=="function")try{var c=function(){var a=s.value;!E.call(e,a)&&a!==r&&g(e,a,{get:function(){return t[a]},enumerable:!(n=y(t,a))||n.enumerable})};for(var u=b(t)[Symbol.iterator](),s;!(a=(s=u.next()).done);a=true)c()}catch(e){o=true;i=e}finally{try{if(!a&&u.return!=null){u.return()}}finally{if(o){throw i}}}return e};var w=function(e,t,r){return r=e!=null?h(I(e)):{},S(t||!e||!e.__esModule?g(r,"default",{value:e,enumerable:!0}):r,e)},_=function(e){return S(g({},"__esModule",{value:!0}),e)};var T={};O(T,{clearAllErrorLists:function(){return tv},formatCommand:function(){return tC},getStoredErrorLists:function(){return td},rawCommand:function(){return tI},resolveCommands:function(){return tO},runCommand:function(){return tw}});module.exports=_(T);var G=require("child_process"),L=w(require("process"),1),N=w(require("util"),1);var R=".cyberskill-storage";var k=w(require("dotenv"),1),j=require("envalid"),D=w(require("os"),1),A=w(require("path"),1),P=w(require("process"),1);k.default.config();function M(){var e={DEBUG:P.default.env.DEBUG||!1,CWD:P.default.env.CWD||P.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:P.default.env.CYBERSKILL_STORAGE_DIRECTORY||A.default.join(D.default.homedir(),R)};return(0,j.cleanEnv)(e,{DEBUG:(0,j.bool)(),CWD:(0,j.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,j.str)()})}C(M,"getEnv");var x=function(e){return e.Error="error",e.Warning="warning",e}({});var F=w(require("chalk"),1),U=w(require("consola"),1),K=require("graphql");var q=M();q.DEBUG||(U.default.level=4);function W(e){var t=F.default[e];return typeof t=="function"?t:F.default.green}C(W,"chalkKeyword");var Y={silent:U.default.silent,level:U.default.level,fatal:U.default.fatal,error:U.default.error,warn:U.default.warn,log:U.default.log,info:U.default.info,success:U.default.success,ready:U.default.ready,start:U.default.start,box:U.default.box,debug:U.default.debug,trace:U.default.trace,verbose:U.default.verbose,printBoxedLog:function e(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){U.default.box(F.default.green(e));return}t.forEach(function(e){var t=e.file,n=e.position,a=e.rule,o=e.message;U.default.log("".concat(F.default.gray("File:")," ").concat(F.default.blue("".concat(t).concat(n?":".concat(n):"")))),a&&U.default.log(" ".concat(W(r)("Rule:")," ").concat(a)),U.default.log(" ".concat(W(r)("Message:")," ").concat(o))}),U.default.box(W(r)("".concat(e," : ").concat(t.length))),U.default.log(F.default.gray("─".repeat(40)))}};var B={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var J=w(require("node-fetch"),1);var H=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var $=w(require("fs-extra"),1),V=require("path");var z=$.default,Q=z.appendFileSync,X=z.lstatSync,Z=z.mkdirSync,ee=z.readFileSync,et=z.unlinkSync,er=z.writeFileSync,en=z.statSync,ea=$.default.readJsonSync,eo=$.default.writeJsonSync;function ei(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}return t.every(function(e){return $.default.pathExistsSync(e)})}C(ei,"pathExistsSync");var ec=require("path");var eu=M();function es(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}return(0,ec.resolve).apply(this,[eu.CWD].concat(d(t)))}C(es,"resolveWorkingPath");function el(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}return(0,ec.join).apply(this,d(t))}C(el,"join");var ef=M(),ed=ef.CWD,ep="@cyberskill/shared",ev="node_modules",em="dist",eh="package.json",eg="package-lock.json",ey="tsconfig.json",eb=".gitignore",eI=".simple-git-hooks.json",eE="pnpm-lock.yaml",eC=".git/hooks/",eO=".git/COMMIT_EDITMSG",eS=".migrate-mongo.config.js",ew=el(ed,ev,ep,em),e_="cyberskill",eT="src/nodejs/cli/index.ts",eG="eslint",eL="eslint",eN="vitest",eR="playwright",ek="vitest",ej="@commitlint/cli",eD="commitlint",eA="lint-staged",eP="lint-staged",eM="typescript",ex="tsc",eF="tsx",eU="git",eK="pnpm",eq="pnpm exec",eW="simple-git-hooks",eY="simple-git-hooks",eB="@eslint/config-inspector",eJ="eslint-config-inspector",eH="node-modules-inspector",e$="node-modules-inspector",eV="migrate-mongo",ez="./node_modules/migrate-mongo/bin/migrate-mongo",eQ={CYBERSKILL_DIRECTORY:ew,WORKING_DIRECTORY:ed,TS_CONFIG:es(ey),GIT_IGNORE:es(eb),GIT_HOOK:es(eC),GIT_COMMIT_MSG:es(eO),SIMPLE_GIT_HOOKS_JSON:es(eI),PACKAGE_JSON:es(eh),PACKAGE_LOCK_JSON:es(eg),PNPM_LOCK_YAML:es(eE),NODE_MODULES:es(ev),MIGRATE_MONGO_CONFIG:es(eS),LINT_STAGED_CONFIG:es("".concat(ew,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:es("".concat(ew,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:es("".concat(ew,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:es("".concat(ew,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:es("".concat(ew,"/react/vitest/vitest.e2e.js"))};function eX(e,t,r){return eZ.apply(this,arguments)}function eZ(){eZ=a(function(e,t,r){return m(this,function(n){switch(n.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case H.CLI:return[3,1];case H.STRING:return[3,3]}return[3,4];case 1:return[4,te(t.split(" "),{update:!0})];case 2:return[2,(n.sent(),tC(tI("".concat(eq," ").concat(r))))];case 3:return[2,tC(tI(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})});return eZ.apply(this,arguments)}C(eX,"buildCommand");function e0(e,t,r){return /*#__PURE__*/a(function(){return m(this,function(n){return[2,eX(e,t,r)]})})}C(e0,"commandFactory");var e1={simpleGitHooks:e0(H.CLI,eW,eY),eslintInspect:e0(H.CLI,eB,eJ),nodeModulesInspect:e0(H.CLI,eH,e$),eslintCheck:e0(H.CLI,eG,"".concat(eL," ").concat(eQ.WORKING_DIRECTORY)),eslintFix:e0(H.CLI,eG,"".concat(eL," ").concat(eQ.WORKING_DIRECTORY," --fix")),typescriptCheck:e0(H.CLI,eM,"".concat(ex," -p ").concat(eQ.TS_CONFIG," --noEmit")),configureGitHook:e0(H.STRING,"".concat(eU," config core.hooksPath ").concat(eQ.GIT_HOOK)),testUnit:e0(H.CLI,eN,"".concat(ek," --config ").concat(eQ.UNIT_TEST_CONFIG)),testE2e:e0(H.CLI,"".concat(eN," ").concat(eR),"".concat(ek," --config ").concat(eQ.E2E_TEST_CONFIG)),mongoMigrateCreate:C(function(e){return e0(H.CLI,eV,"".concat(eF," ").concat(ez," create ").concat(e," -f ").concat(eQ.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:e0(H.CLI,eV,"".concat(eF," ").concat(ez," up -f ").concat(eQ.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:e0(H.CLI,eV,"".concat(eF," ").concat(ez," down -f ").concat(eQ.MIGRATE_MONGO_CONFIG)),commitLint:e0(H.CLI,ej,"".concat(eD," --edit ").concat(eQ.GIT_COMMIT_MSG," --config ").concat(eQ.COMMITLINT_CONFIG)),lintStaged:e0(H.CLI,eA,"".concat(eP," --config ").concat(eQ.LINT_STAGED_CONFIG)),stageBuildDirectory:e0(H.STRING,"".concat(eU," add ").concat(em)),build:e0(H.STRING,"".concat(eK," run build")),pnpmInstallStandard:e0(H.STRING,"".concat(eK," install")),pnpmInstallLegacy:e0(H.STRING,"".concat(eK," install --legacy-peer-deps")),pnpmInstallForce:e0(H.STRING,"".concat(eK," install --force"))};var e2=M();function e3(e){var t=el(e2.CWD,eh);if(!ei(t))return!1;try{var r=ea(t),n=r.name,a=r.dependencies,o=a===void 0?{}:a,i=r.devDependencies,c=i===void 0?{}:i,u=n===e,s=e in o,l=e in c;return u||s||l?{path:t,file:r,isCurrentProject:u,isDepend:s,isDevDepend:l}:!1}catch(e){return Y.warn("Failed to read package.json: ".concat(e.message)),!1}}C(e3,"getPackage");function e4(e){return e5.apply(this,arguments)}function e5(){e5=a(function(e){var t,r,n,a;return m(this,function(o){switch(o.label){case 0:o.trys.push([0,3,,4]);return[4,(0,J.default)("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=o.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:r=o.sent(),n=r.version;return[2,n];case 3:a=o.sent();throw Y.error('Failed to fetch version for "'.concat(e,'": ').concat(a.message)),a;case 4:return[2]}})});return e5.apply(this,arguments)}C(e4,"getLatestPackageVersion");function e6(e,t){return e7.apply(this,arguments)}function e7(){e7=a(function(e,t){var r,n,a,o,i,c,u,s,f,d,p,v,h,g,y,b,I,E,C,O,S;return m(this,function(m){switch(m.label){case 0:m.trys.push([0,4,,5]);r=e3(e);if(!r)return[2,l({},B)];u=r.path,s=r.file,f=r.isCurrentProject,d=r.isDepend,p=r.isDevDepend,v=(n=s.dependencies)!==null&&n!==void 0?n:{},h=(a=s.devDependencies)!==null&&a!==void 0?a:{},g=f?(o=s.version)!==null&&o!==void 0?o:"0.0.0":d?(i=v[e])!==null&&i!==void 0?i:"0.0.0":p?(c=h[e])!==null&&c!==void 0?c:"0.0.0":"0.0.0";if(!f)return[3,1];I=g;return[3,3];case 1:return[4,e4(e)];case 2:I=m.sent();m.label=3;case 3:y=I,b=f||g===y;if(!b&&(t===null||t===void 0?void 0:t.update)){;C=d?"dependencies":p?"devDependencies":null;C&&((E=s[C])===null||E===void 0?void 0:E[e])!==y&&(s[C]=(O=s[C])!==null&&O!==void 0?O:{},s[C][e]=y,eo(u,s),Y.info('Updated "'.concat(e,'" to version ').concat(y)))}return[2,{isCurrentProject:f,installedPath:u,file:s,isUpToDate:b}];case 4:S=m.sent();return[2,(Y.error('Error checking package "'.concat(e,'": ').concat(S.message)),l({},B))];case 5:return[2]}})});return e7.apply(this,arguments)}C(e6,"checkPackage");function e8(){return e9.apply(this,arguments)}function e9(){e9=a(function(){var e,t,r,n,a,o,i,c,u,s,l,f;return m(this,function(d){switch(d.label){case 0:e=[{command:C(function(){return e1.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:C(function(){return e1.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:C(function(){return e1.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,r=false,n=undefined;d.label=1;case 1:d.trys.push([1,9,10,11]);a=e[Symbol.iterator]();d.label=2;case 2:if(!!(t=(o=a.next()).done))return[3,8];i=o.value,c=i.command,u=i.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,c()];case 4:s=d.sent();return[4,tw("".concat(u," using: ").concat(s),s)];case 5:d.sent();return[2];case 6:l=d.sent();Y.warn("Installation attempt failed: ".concat(u)),Y.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:f=d.sent();r=true;n=f;return[3,11];case 10:try{if(!t&&a.return!=null){a.return()}}finally{if(r){throw n}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})});return e9.apply(this,arguments)}C(e8,"installDependencies");function te(e,t){return tt.apply(this,arguments)}function tt(){tt=a(function(e,t){var r,n,a,o,i,c,u,s,f,p,v;return m(this,function(m){switch(m.label){case 0:if(!ei(eQ.PACKAGE_JSON)){Y.error("package.json not found. Aborting setup.");return[2]}m.label=1;case 1:m.trys.push([1,13,,14]);r=d(new Set(e)).sort();return[4,Promise.all(r.map(function(e){return e6(e,l({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:n=m.sent().every(function(e){return e.isUpToDate});if(n)return[3,4];return[4,e8()];case 3:n=m.sent();m.label=4;case 4:n;o=true,i=false,c=undefined;m.label=5;case 5:m.trys.push([5,10,11,12]);u=((a=t===null||t===void 0?void 0:t.postInstallActions)!==null&&a!==void 0?a:[])[Symbol.iterator]();m.label=6;case 6:if(!!(o=(s=u.next()).done))return[3,9];f=s.value;return[4,f()];case 7:m.sent();m.label=8;case 8:o=true;return[3,6];case 9:return[3,12];case 10:p=m.sent();i=true;c=p;return[3,12];case 11:try{if(!o&&u.return!=null){u.return()}}finally{if(i){throw c}}return[7];case 12:return[3,14];case 13:v=m.sent();throw Y.error('Failed to setup "'.concat(e.join(", "),'": ').concat(v.message)),v;case 14:return[2]}})});return tt.apply(this,arguments)}C(te,"setupPackages");var tr=w(require("node-persist"),1);var tn=M();function ta(){return to.apply(this,arguments)}function to(){to=a(function(){var e;return m(this,function(t){switch(t.label){case 0:e=tr.default.defaultInstance;if(e)return[3,2];return[4,tr.default.init({dir:tn.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 to.apply(this,arguments)}C(ta,"initNodePersist");var ti={get:function e(e){return a(function(){var t,r;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ta()];case 1:n.sent();return[4,tr.default.getItem(e)];case 2:return[2,(t=n.sent())!==null&&t!==void 0?t:null];case 3:r=n.sent();return[2,(Y.error('[Storage:get] Error getting key "'.concat(e,'":'),r),null)];case 4:return[2]}})})()},set:function e(e,t){return a(function(){var r;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ta()];case 1:n.sent();return[4,tr.default.setItem(e,t)];case 2:n.sent();return[3,4];case 3:r=n.sent();Y.error('[Storage:set] Error setting key "'.concat(e,'":'),r);return[3,4];case 4:return[2]}})})()},remove:function e(e){return a(function(){var t;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ta()];case 1:r.sent();return[4,tr.default.removeItem(e)];case 2:r.sent();return[3,4];case 3:t=r.sent();Y.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return a(function(){var e,t;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ta()];case 1:r.sent();return[4,tr.default.keys()];case 2:e=r.sent();return[2,Array.isArray(e)?e:(Y.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=r.sent();return[2,(Y.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return a(function(){return m(this,function(t){try{return[2,"".concat(tn.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(Y.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var tc=M(),tu=N.promisify(G.exec);function ts(e){return"error_list:".concat(e)}C(ts,"getErrorListKey");function tl(e){return tf.apply(this,arguments)}function tf(){tf=a(function(e){var t,r,n;return m(this,function(o){switch(o.label){case 0:if(e.length===0)return[2];t=Date.now(),r=ts(t);o.label=1;case 1:o.trys.push([1,3,,4]);return[4,ti.set(r,{errors:e,timestamp:t})];case 2:o.sent(),setTimeout(/*#__PURE__*/a(function(){var e;return m(this,function(t){switch(t.label){case 0:return[4,ti.getLogLink(r)];case 1:e=t.sent();e&&Y.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:n=o.sent();Y.error("Failed to save errors: ".concat(n.message));return[3,4];case 4:return[2]}})});return tf.apply(this,arguments)}C(tl,"saveErrorListToStorage");function td(){return tp.apply(this,arguments)}function tp(){tp=a(function(){var e,t,r;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ti.keys()];case 1:e=n.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=a(function(e){var t;return m(this,function(r){switch(r.label){case 0:return[4,ti.get(e)];case 1:return[2,((t=r.sent())===null||t===void 0?void 0:t.errors)||[]]}})});return function(t){return e.apply(this,arguments)}}()))];case 2:return[2,n.sent().flat()];case 3:r=n.sent();return[2,(Y.error("Failed to retrieve stored errors: ".concat(r.message)),[])];case 4:return[2]}})});return tp.apply(this,arguments)}C(td,"getStoredErrorLists");function tv(){return tm.apply(this,arguments)}function tm(){tm=a(function(){var e,t,r;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ti.keys()];case 1:e=n.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 ti.remove(e)}))];case 2:n.sent();return[3,4];case 3:r=n.sent();Y.error("Failed to clear error lists: ".concat(r.message));return[3,4];case 4:return[2]}})});return tm.apply(this,arguments)}C(tv,"clearAllErrorLists");function th(e){var t=[],r=[],n="",a=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,o=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,i=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))n=e.trim();else{var c,u,s,l,f;var d=a.exec(e)||[],p=o.exec(e)||[],v=i.exec(e)||[];var m,h,g,y,b,I;d.length&&n?t.push({file:n,position:"".concat(d[1],":").concat(d[2]),type:d[3]===x.Error?x.Error:x.Warning,message:(m=d===null||d===void 0?void 0:(c=d[4])===null||c===void 0?void 0:c.trim())!==null&&m!==void 0?m:"",rule:(h=d===null||d===void 0?void 0:(u=d[5])===null||u===void 0?void 0:u.trim())!==null&&h!==void 0?h:""}):p.length?t.push({file:(g=p===null||p===void 0?void 0:p[1])!==null&&g!==void 0?g:"",position:"".concat(p[2],":").concat(p[3]),type:p[4]===x.Error?x.Error:x.Warning,message:(y=p===null||p===void 0?void 0:(s=p[5])===null||s===void 0?void 0:s.trim())!==null&&y!==void 0?y:""}):v.length?t.push({file:"commitlint",type:x.Error,message:(b=v===null||v===void 0?void 0:(l=v[1])===null||l===void 0?void 0:l.trim())!==null&&b!==void 0?b:"",rule:(I=v===null||v===void 0?void 0:(f=v[2])===null||f===void 0?void 0:f.trim())!==null&&I!==void 0?I:""}):r.push(e.trim())}}),t.length&&tl(t),tc.DEBUG&&r.length&&(Y.warn("Unmatched lines:"),r.forEach(function(e){return Y.info(" ".concat(e))}))}C(th,"parseTextErrors");function tg(e){try{var t=JSON.parse(e),r=[];t.forEach(function(e){var t=e.filePath,n=e.messages;n.forEach(function(e){var n=e.severity,a=e.line,o=e.column,i=e.ruleId,c=e.message;r.push({type:n===2?x.Error:x.Warning,file:t,position:"".concat(a,":").concat(o),rule:i,message:c})})}),r.length&&tl(r)}catch(t){th(e)}}C(tg,"parseCommandOutput");function ty(e){return tb.apply(this,arguments)}function tb(){tb=a(function(e){var t,r,n,a,o,i,c,u,s;var l=arguments;return m(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:tg;r=new AbortController;L.default.on("SIGINT",function(){Y.warn("Process interrupted. Terminating..."),r.abort(),L.default.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,tu(e,{maxBuffer:0x6400000,signal:r.signal})];case 2:n=f.sent(),a=n.stdout,o=n.stderr;[a,o].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:i=f.sent();c=i.stdout,u=i.stderr,s=i.message;[c,u].forEach(function(e){return e&&t(e)}),!u&&!c&&Y.error("Command failed: ".concat(s));return[3,5];case 5:return[2]}})});return tb.apply(this,arguments)}C(ty,"executeCommand");function tI(e){return{raw:!0,cmd:e}}C(tI,"rawCommand");function tE(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(eq," ").concat(ep," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(eq," ").concat(eF," ").concat(eT," ").concat(e):"".concat(eq," ").concat(e_," ").concat(e)}C(tE,"formatCLI");function tC(e,t){return typeof e=="function"?tE(e(t),t):(typeof e==="undefined"?"undefined":p(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?tE(e,t):e}C(tC,"formatCommand");function tO(e){return tS.apply(this,arguments)}function tS(){tS=a(function(e){var t,r,n,a,o,i,c;var u=arguments;return m(this,function(s){switch(s.label){case 0:t=u.length>1&&u[1]!==void 0?u[1]:{};n=(r=t===null||t===void 0?void 0:t.isRemote)!==null&&r!==void 0?r:!1;if(!n)return[3,1];c=!1;return[3,3];case 1:return[4,e6(ep)];case 2:c=s.sent().isCurrentProject;s.label=3;case 3:a=c,o={isRemote:n,isCurrentProject:a},i=typeof e=="function"?e(o):e;return[2,Object.fromEntries(Object.entries(i).map(function(e){var t=f(e,2),r=t[0],n=t[1];return[r,tC(n,o)]}))]}})});return tS.apply(this,arguments)}C(tO,"resolveCommands");function tw(e,t){return t_.apply(this,arguments)}function t_(){t_=a(function(e,t){var r;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);Y.start("".concat(e)),tc.DEBUG&&Y.info("→ ".concat(t));return[4,ty(t)];case 1:n.sent(),Y.success("".concat(e," done."));return[3,3];case 2:r=n.sent();throw Y.error("".concat(e," failed: ").concat(r.message)),r;case 3:return[2]}})});return t_.apply(this,arguments)}C(tw,"runCommand");0&&(module.exports={clearAllErrorLists:clearAllErrorLists,formatCommand:formatCommand,getStoredErrorLists:getStoredErrorLists,rawCommand:rawCommand,resolveCommands:resolveCommands,runCommand:runCommand});
1
+ "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function t(e){if(Array.isArray(e))return e}function r(t){if(Array.isArray(t))return e(t)}function n(e,t,r,n,o,a,c){try{var i=e[a](c);var u=i.value}catch(e){r(e);return}if(i.done){t(u)}else{Promise.resolve(u).then(n,o)}}function o(e){return function(){var t=this,r=arguments;return new Promise(function(o,a){var c=e.apply(t,r);function i(e){n(c,o,a,i,u,"next",e)}function u(e){n(c,o,a,i,u,"throw",e)}i(undefined)})}}function a(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}function c(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function i(e,t){var r=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(r==null)return;var n=[];var o=true;var a=false;var c,i;try{for(r=r.call(e);!(o=(c=r.next()).done);o=true){n.push(c.value);if(t&&n.length===t)break}}catch(e){a=true;i=e}finally{try{if(!o&&r["return"]!=null)r["return"]()}finally{if(a)throw i}}return n}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 s(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function l(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};var n=Object.keys(r);if(typeof Object.getOwnPropertySymbols==="function"){n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))}n.forEach(function(t){a(e,t,r[t])})}return e}function f(e,r){return t(e)||i(e,r)||p(e,r)||u()}function d(e){return r(e)||c(e)||p(e)||s()}function v(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function p(t,r){if(!t)return;if(typeof t==="string")return e(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor)n=t.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(t,r)}function m(e,t){var r,n,o,a={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},c=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return c.next=i(0),c["throw"]=i(1),c["return"]=i(2),typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function i(e){return function(t){return u([e,t])}}function u(i){if(r)throw new TypeError("Generator is already executing.");while(c&&(c=0,i[0]&&(a=0)),a)try{if(r=1,n&&(o=i[0]&2?n["return"]:i[0]?n["throw"]||((o=n["return"])&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;if(n=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:a.label++;return{value:i[1],done:false};case 5:a.label++;n=i[1];i=[0];continue;case 7:i=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){a=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(i[0]===6&&a.label<o[1]){a.label=o[1];o=i;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(i);break}if(o[2])a.ops.pop();a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e];n=0}finally{r=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var g=Object.create;var h=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,E=Object.prototype.hasOwnProperty;var I=function(e,t){return h(e,"name",{value:t,configurable:!0})};var C=function(e,t){for(var r in t)h(e,r,{get:t[r],enumerable:!0})},O=function(e,t,r,n){var o=true,a=false,c=undefined;if(t&&(typeof t==="undefined"?"undefined":v(t))=="object"||typeof t=="function")try{var i=function(){var o=s.value;!E.call(e,o)&&o!==r&&h(e,o,{get:function(){return t[o]},enumerable:!(n=y(t,o))||n.enumerable})};for(var u=_(t)[Symbol.iterator](),s;!(o=(s=u.next()).done);o=true)i()}catch(e){a=true;c=e}finally{try{if(!o&&u.return!=null){u.return()}}finally{if(a){throw c}}}return e};var S=function(e,t,r){return r=e!=null?g(b(e)):{},O(t||!e||!e.__esModule?h(r,"default",{value:e,enumerable:!0}):r,e)},w=function(e){return O(h({},"__esModule",{value:!0}),e)};var T={};C(T,{clearAllErrorLists:function(){return ti},formatCommand:function(){return tv},getStoredErrorLists:function(){return tc},rawCommand:function(){return tf},resolveCommands:function(){return tp},runCommand:function(){return tm}});module.exports=w(T);var R=require("child_process"),G=S(require("process"),1),P=S(require("util"),1);var L=".cyberskill-storage";var N=S(require("dotenv"),1),k=require("envalid"),j=S(require("os"),1),D=S(require("path"),1),A=S(require("process"),1);N.default.config();function U(){var e={DEBUG:A.default.env.DEBUG||!1,CWD:A.default.env.CWD||A.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:A.default.env.CYBERSKILL_STORAGE_DIRECTORY||D.default.join(j.default.homedir(),L)};return(0,k.cleanEnv)(e,{DEBUG:(0,k.bool)(),CWD:(0,k.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,k.str)()})}I(U,"getEnv");var M=function(e){return e.Error="error",e.Warning="warning",e}({});var x=S(require("chalk"),1),F=S(require("consola"),1),K=require("graphql");var q=U();q.DEBUG||(F.default.level=4);function W(e){var t=x.default[e];return typeof t=="function"?t:x.default.green}I(W,"chalkKeyword");var Y={silent:F.default.silent,level:F.default.level,fatal:F.default.fatal,error:F.default.error,warn:F.default.warn,log:F.default.log,info:F.default.info,success:F.default.success,ready:F.default.ready,start:F.default.start,box:F.default.box,debug:F.default.debug,trace:F.default.trace,verbose:F.default.verbose,printBoxedLog:function e(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){F.default.box(x.default.green(e));return}t.forEach(function(e){var t=e.file,n=e.position,o=e.rule,a=e.message;F.default.log("".concat(x.default.gray("File:")," ").concat(x.default.blue("".concat(t).concat(n?":".concat(n):"")))),o&&F.default.log(" ".concat(W(r)("Rule:")," ").concat(o)),F.default.log(" ".concat(W(r)("Message:")," ").concat(a))}),F.default.box(W(r)("".concat(e," : ").concat(t.length))),F.default.log(x.default.gray("─".repeat(40)))}};var B={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var J=S(require("node-fetch"),1);var H=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var $=S(require("fs-extra"),1),V=require("path");var z=$.default,Q=z.lstatSync,X=z.readdirSync,Z=z.mkdirSync,ee=z.readFileSync,et=z.writeFileSync,er=z.appendFileSync,en=z.unlinkSync,eo=z.statSync,ea=$.default.readJsonSync,ec=$.default.writeJsonSync;function ei(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}return t.every(function(e){return $.default.pathExistsSync(e)})}I(ei,"pathExistsSync");var eu=S(require("path"),1);var es=U();function el(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}return(0,eu.resolve).apply(this,[es.CWD].concat(d(t)))}I(el,"resolveWorkingPath");function ef(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}return(0,eu.join).apply(this,d(t))}I(ef,"join");var ed=U(),ev=ed.CWD,ep="@cyberskill/shared",em="node_modules",eg="dist",eh="package.json",ey="package-lock.json",e_="tsconfig.json",eb=".gitignore",eE=".simple-git-hooks.json",eI="pnpm-lock.yaml",eC=".git/hooks/",eO=".git/COMMIT_EDITMSG",eS=".migrate-mongo.config.js",ew=ef(ev,em,ep,eg),eT="cyberskill",eR="src/nodejs/cli/index.ts",eG="eslint",eP="eslint",eL="vitest",eN="playwright",ek="vitest",ej="@commitlint/cli",eD="commitlint",eA="lint-staged",eU="lint-staged",eM="typescript",ex="tsc",eF="tsx",eK="git",eq="pnpm",eW="pnpm exec",eY="simple-git-hooks",eB="simple-git-hooks",eJ="@eslint/config-inspector",eH="eslint-config-inspector",e$="node-modules-inspector",eV="node-modules-inspector",ez="migrate-mongo",eQ="./node_modules/migrate-mongo/bin/migrate-mongo",eX={CYBERSKILL_DIRECTORY:ew,WORKING_DIRECTORY:ev,TS_CONFIG:el(e_),GIT_IGNORE:el(eb),GIT_HOOK:el(eC),GIT_COMMIT_MSG:el(eO),SIMPLE_GIT_HOOKS_JSON:el(eE),PACKAGE_JSON:el(eh),PACKAGE_LOCK_JSON:el(ey),PNPM_LOCK_YAML:el(eI),NODE_MODULES:el(em),MIGRATE_MONGO_CONFIG:el(eS),LINT_STAGED_CONFIG:el("".concat(ew,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:el("".concat(ew,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:el("".concat(ew,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:el("".concat(ew,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:el("".concat(ew,"/react/vitest/vitest.e2e.js"))};function eZ(e,t,r){return /*#__PURE__*/o(function(){return m(this,function(n){switch(n.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case H.CLI:return[3,1];case H.STRING:return[3,3]}return[3,4];case 1:return[4,e7(t.split(" "),{update:!0})];case 2:return[2,(n.sent(),tv(tf("".concat(eW," ").concat(r))))];case 3:return[2,tv(tf(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}I(eZ,"buildCommand");function e0(e,t,r){return function(){return /*#__PURE__*/o(function(){return m(this,function(n){return[2,eZ(e,t,r)]})})()}}I(e0,"commandFactory");var e1={simpleGitHooks:e0(H.CLI,eY,eB),eslintInspect:e0(H.CLI,eJ,eH),nodeModulesInspect:e0(H.CLI,e$,eV),eslintCheck:e0(H.CLI,eG,"".concat(eP," ").concat(eX.WORKING_DIRECTORY)),eslintFix:e0(H.CLI,eG,"".concat(eP," ").concat(eX.WORKING_DIRECTORY," --fix")),typescriptCheck:e0(H.CLI,eM,"".concat(ex," -p ").concat(eX.TS_CONFIG," --noEmit")),configureGitHook:e0(H.STRING,"".concat(eK," config core.hooksPath ").concat(eX.GIT_HOOK)),testUnit:e0(H.CLI,eL,"".concat(ek," --config ").concat(eX.UNIT_TEST_CONFIG)),testE2e:e0(H.CLI,"".concat(eL," ").concat(eN),"".concat(ek," --config ").concat(eX.E2E_TEST_CONFIG)),mongoMigrateCreate:I(function(e){return e0(H.CLI,ez,"".concat(eF," ").concat(eQ," create ").concat(e," -f ").concat(eX.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:e0(H.CLI,ez,"".concat(eF," ").concat(eQ," up -f ").concat(eX.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:e0(H.CLI,ez,"".concat(eF," ").concat(eQ," down -f ").concat(eX.MIGRATE_MONGO_CONFIG)),commitLint:e0(H.CLI,ej,"".concat(eD," --edit ").concat(eX.GIT_COMMIT_MSG," --config ").concat(eX.COMMITLINT_CONFIG)),lintStaged:e0(H.CLI,eA,"".concat(eU," --config ").concat(eX.LINT_STAGED_CONFIG)),stageBuildDirectory:e0(H.STRING,"".concat(eK," add ").concat(eg)),build:e0(H.STRING,"".concat(eq," run build")),pnpmInstallStandard:e0(H.STRING,"".concat(eq," install")),pnpmInstallLegacy:e0(H.STRING,"".concat(eq," install --legacy-peer-deps")),pnpmInstallForce:e0(H.STRING,"".concat(eq," install --force"))};var e2=U();function e3(e){var t=ef(e2.CWD,eh);if(!ei(t))return!1;try{var r=ea(t),n=r.name,o=r.dependencies,a=o===void 0?{}:o,c=r.devDependencies,i=c===void 0?{}:c,u=n===e,s=e in a,l=e in i;return u||s||l?{path:t,file:r,isCurrentProject:u,isDepend:s,isDevDepend:l}:!1}catch(e){return Y.warn("Failed to read package.json: ".concat(e.message)),!1}}I(e3,"getPackage");function e4(e){return /*#__PURE__*/o(function(){var t,r,n,o;return m(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,(0,J.default)("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=a.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:r=a.sent(),n=r.version;return[2,n];case 3:o=a.sent();throw Y.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})})()}I(e4,"getLatestPackageVersion");function e5(e,t){return /*#__PURE__*/o(function(){var r,n,o,a,c,i,u,s,f,d,v,p,g,h,y,_,b,E,I,C,O;return m(this,function(m){switch(m.label){case 0:m.trys.push([0,4,,5]);r=e3(e);if(!r)return[2,l({},B)];u=r.path,s=r.file,f=r.isCurrentProject,d=r.isDepend,v=r.isDevDepend,p=(n=s.dependencies)!==null&&n!==void 0?n:{},g=(o=s.devDependencies)!==null&&o!==void 0?o:{},h=f?(a=s.version)!==null&&a!==void 0?a:"0.0.0":d?(c=p[e])!==null&&c!==void 0?c:"0.0.0":v?(i=g[e])!==null&&i!==void 0?i:"0.0.0":"0.0.0";if(!f)return[3,1];b=h;return[3,3];case 1:return[4,e4(e)];case 2:b=m.sent();m.label=3;case 3:y=b,_=f||h===y;if(!_&&(t===null||t===void 0?void 0:t.update)){;I=d?"dependencies":v?"devDependencies":null;I&&((E=s[I])===null||E===void 0?void 0:E[e])!==y&&(s[I]=(C=s[I])!==null&&C!==void 0?C:{},s[I][e]=y,ec(u,s),Y.info('Updated "'.concat(e,'" to version ').concat(y)))}return[2,{isCurrentProject:f,installedPath:u,file:s,isUpToDate:_}];case 4:O=m.sent();return[2,(Y.error('Error checking package "'.concat(e,'": ').concat(O.message)),l({},B))];case 5:return[2]}})})()}I(e5,"checkPackage");function e6(){return /*#__PURE__*/o(function(){var e,t,r,n,o,a,c,i,u,s,l,f;return m(this,function(d){switch(d.label){case 0:e=[{command:I(function(){return e1.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:I(function(){return e1.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:I(function(){return e1.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,r=false,n=undefined;d.label=1;case 1:d.trys.push([1,9,10,11]);o=e[Symbol.iterator]();d.label=2;case 2:if(!!(t=(a=o.next()).done))return[3,8];c=a.value,i=c.command,u=c.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,i()];case 4:s=d.sent();return[4,tm("".concat(u," using: ").concat(s),s)];case 5:d.sent();return[2];case 6:l=d.sent();Y.warn("Installation attempt failed: ".concat(u)),Y.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:f=d.sent();r=true;n=f;return[3,11];case 10:try{if(!t&&o.return!=null){o.return()}}finally{if(r){throw n}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})})()}I(e6,"installDependencies");function e7(e,t){return /*#__PURE__*/o(function(){var r,n,o,a,c,i,u,s,f,v,p;return m(this,function(m){switch(m.label){case 0:if(!ei(eX.PACKAGE_JSON)){Y.error("package.json not found. Aborting setup.");return[2]}m.label=1;case 1:m.trys.push([1,13,,14]);r=d(new Set(e)).sort();return[4,Promise.all(r.map(function(e){return e5(e,l({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:n=m.sent().every(function(e){return e.isUpToDate});if(n)return[3,4];return[4,e6()];case 3:n=m.sent();m.label=4;case 4:n;a=true,c=false,i=undefined;m.label=5;case 5:m.trys.push([5,10,11,12]);u=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();m.label=6;case 6:if(!!(a=(s=u.next()).done))return[3,9];f=s.value;return[4,f()];case 7:m.sent();m.label=8;case 8:a=true;return[3,6];case 9:return[3,12];case 10:v=m.sent();c=true;i=v;return[3,12];case 11:try{if(!a&&u.return!=null){u.return()}}finally{if(c){throw i}}return[7];case 12:return[3,14];case 13:p=m.sent();throw Y.error('Failed to setup "'.concat(e.join(", "),'": ').concat(p.message)),p;case 14:return[2]}})})()}I(e7,"setupPackages");var e8=S(require("node-persist"),1);var e9=U();function te(){return /*#__PURE__*/o(function(){var e;return m(this,function(t){switch(t.label){case 0:e=e8.default.defaultInstance;if(e)return[3,2];return[4,e8.default.init({dir:e9.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]}})})()}I(te,"initNodePersist");var tt={get:function e(e){return /*#__PURE__*/o(function(){var t,r;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,te()];case 1:n.sent();return[4,e8.default.getItem(e)];case 2:return[2,(t=n.sent())!==null&&t!==void 0?t:null];case 3:r=n.sent();return[2,(Y.error('[Storage:get] Error getting key "'.concat(e,'":'),r),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/o(function(){var r;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,te()];case 1:n.sent();return[4,e8.default.setItem(e,t)];case 2:n.sent();return[3,4];case 3:r=n.sent();Y.error('[Storage:set] Error setting key "'.concat(e,'":'),r);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/o(function(){var t;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,te()];case 1:r.sent();return[4,e8.default.removeItem(e)];case 2:r.sent();return[3,4];case 3:t=r.sent();Y.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/o(function(){var e,t;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,te()];case 1:r.sent();return[4,e8.default.keys()];case 2:e=r.sent();return[2,Array.isArray(e)?e:(Y.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=r.sent();return[2,(Y.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/o(function(){return m(this,function(t){try{return[2,"".concat(e9.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(Y.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var tr=U(),tn=P.promisify(R.exec);function to(e){return"error_list:".concat(e)}I(to,"getErrorListKey");function ta(e){return /*#__PURE__*/o(function(){var t,r,n;return m(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];t=Date.now(),r=to(t);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,tt.set(r,{errors:e,timestamp:t})];case 2:a.sent(),setTimeout(function(){return /*#__PURE__*/o(function(){var e;return m(this,function(t){switch(t.label){case 0:return[4,tt.getLogLink(r)];case 1:e=t.sent();e&&Y.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:n=a.sent();Y.error("Failed to save errors: ".concat(n.message));return[3,4];case 4:return[2]}})})()}I(ta,"saveErrorListToStorage");function tc(){return /*#__PURE__*/o(function(){var e,t,r;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tt.keys()];case 1:e=n.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 /*#__PURE__*/o(function(){var t;return m(this,function(r){switch(r.label){case 0:return[4,tt.get(e)];case 1:return[2,((t=r.sent())===null||t===void 0?void 0:t.errors)||[]]}})})()}))];case 2:return[2,n.sent().flat()];case 3:r=n.sent();return[2,(Y.error("Failed to retrieve stored errors: ".concat(r.message)),[])];case 4:return[2]}})})()}I(tc,"getStoredErrorLists");function ti(){return /*#__PURE__*/o(function(){var e,t,r;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tt.keys()];case 1:e=n.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 tt.remove(e)}))];case 2:n.sent();return[3,4];case 3:r=n.sent();Y.error("Failed to clear error lists: ".concat(r.message));return[3,4];case 4:return[2]}})})()}I(ti,"clearAllErrorLists");function tu(e){var t=[],r=[],n="",o=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,a=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,c=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))n=e.trim();else{var i,u,s,l,f;var d=o.exec(e)||[],v=a.exec(e)||[],p=c.exec(e)||[];var m,g,h,y,_,b;d.length&&n?t.push({file:n,position:"".concat(d[1],":").concat(d[2]),type:d[3]===M.Error?M.Error:M.Warning,message:(m=d===null||d===void 0?void 0:(i=d[4])===null||i===void 0?void 0:i.trim())!==null&&m!==void 0?m:"",rule:(g=d===null||d===void 0?void 0:(u=d[5])===null||u===void 0?void 0:u.trim())!==null&&g!==void 0?g:""}):v.length?t.push({file:(h=v===null||v===void 0?void 0:v[1])!==null&&h!==void 0?h:"",position:"".concat(v[2],":").concat(v[3]),type:v[4]===M.Error?M.Error:M.Warning,message:(y=v===null||v===void 0?void 0:(s=v[5])===null||s===void 0?void 0:s.trim())!==null&&y!==void 0?y:""}):p.length?t.push({file:"commitlint",type:M.Error,message:(_=p===null||p===void 0?void 0:(l=p[1])===null||l===void 0?void 0:l.trim())!==null&&_!==void 0?_:"",rule:(b=p===null||p===void 0?void 0:(f=p[2])===null||f===void 0?void 0:f.trim())!==null&&b!==void 0?b:""}):r.push(e.trim())}}),t.length&&ta(t),tr.DEBUG&&r.length&&(Y.warn("Unmatched lines:"),r.forEach(function(e){return Y.info(" ".concat(e))}))}I(tu,"parseTextErrors");function ts(e){try{var t=JSON.parse(e),r=[];t.forEach(function(e){var t=e.filePath,n=e.messages;n.forEach(function(e){var n=e.severity,o=e.line,a=e.column,c=e.ruleId,i=e.message;r.push({type:n===2?M.Error:M.Warning,file:t,position:"".concat(o,":").concat(a),rule:c,message:i})})}),r.length&&ta(r)}catch(t){tu(e)}}I(ts,"parseCommandOutput");function tl(e){return /*#__PURE__*/o(function(e){var t,r,n,o,a,c,i,u,s;var l=arguments;return m(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:ts;r=new AbortController;G.default.on("SIGINT",function(){Y.warn("Process interrupted. Terminating..."),r.abort(),G.default.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,tn(e,{maxBuffer:0x6400000,signal:r.signal})];case 2:n=f.sent(),o=n.stdout,a=n.stderr;[o,a].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:c=f.sent();i=c.stdout,u=c.stderr,s=c.message;[i,u].forEach(function(e){return e&&t(e)}),!u&&!i&&Y.error("Command failed: ".concat(s));return[3,5];case 5:return[2]}})}).apply(this,arguments)}I(tl,"executeCommand");function tf(e){return{raw:!0,cmd:e}}I(tf,"rawCommand");function td(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(eW," ").concat(ep," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(eW," ").concat(eF," ").concat(eR," ").concat(e):"".concat(eW," ").concat(eT," ").concat(e)}I(td,"formatCLI");function tv(e,t){return typeof e=="function"?td(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"?td(e,t):e}I(tv,"formatCommand");function tp(e){return /*#__PURE__*/o(function(e){var t,r,n,o,a,c,i;var u=arguments;return m(this,function(s){switch(s.label){case 0:t=u.length>1&&u[1]!==void 0?u[1]:{};n=(r=t===null||t===void 0?void 0:t.isRemote)!==null&&r!==void 0?r:!1;if(!n)return[3,1];i=!1;return[3,3];case 1:return[4,e5(ep)];case 2:i=s.sent().isCurrentProject;s.label=3;case 3:o=i,a={isRemote:n,isCurrentProject:o},c=typeof e=="function"?e(a):e;return[2,Object.fromEntries(Object.entries(c).map(function(e){var t=f(e,2),r=t[0],n=t[1];return[r,tv(n,a)]}))]}})}).apply(this,arguments)}I(tp,"resolveCommands");function tm(e,t){return /*#__PURE__*/o(function(){var r;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);Y.start("".concat(e)),tr.DEBUG&&Y.info("→ ".concat(t));return[4,tl(t)];case 1:n.sent(),Y.success("".concat(e," done."));return[3,3];case 2:r=n.sent();throw Y.error("".concat(e," failed: ").concat(r.message)),r;case 3:return[2]}})})()}I(tm,"runCommand");0&&(module.exports={clearAllErrorLists:clearAllErrorLists,formatCommand:formatCommand,getStoredErrorLists:getStoredErrorLists,rawCommand:rawCommand,resolveCommands:resolveCommands,runCommand:runCommand});