@cyberskill/shared 1.95.0 → 1.97.0

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