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