@cyberskill/shared 1.108.0 → 1.109.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/_tsup-dts-rollup.d.cts +13 -0
  2. package/dist/_tsup-dts-rollup.d.ts +13 -0
  3. package/dist/configs/config.util.cjs +1 -1
  4. package/dist/configs/config.util.js +1 -1
  5. package/dist/configs/index.cjs +1 -1
  6. package/dist/configs/index.js +1 -1
  7. package/dist/index.cjs +1 -1
  8. package/dist/index.d.cts +2 -0
  9. package/dist/index.d.ts +2 -0
  10. package/dist/index.js +1 -1
  11. package/dist/nodejs/cli/cli.util.cjs +1 -1
  12. package/dist/nodejs/cli/cli.util.js +1 -1
  13. package/dist/nodejs/cli/index.cjs +1 -1
  14. package/dist/nodejs/cli/index.js +1 -1
  15. package/dist/nodejs/command/command.util.cjs +1 -1
  16. package/dist/nodejs/command/command.util.js +1 -1
  17. package/dist/nodejs/command/index.cjs +1 -1
  18. package/dist/nodejs/command/index.js +1 -1
  19. package/dist/nodejs/fs/fs.util.cjs +1 -1
  20. package/dist/nodejs/fs/fs.util.d.cts +1 -0
  21. package/dist/nodejs/fs/fs.util.d.ts +1 -0
  22. package/dist/nodejs/fs/fs.util.js +1 -1
  23. package/dist/nodejs/fs/index.cjs +1 -1
  24. package/dist/nodejs/fs/index.d.cts +1 -0
  25. package/dist/nodejs/fs/index.d.ts +1 -0
  26. package/dist/nodejs/fs/index.js +1 -1
  27. package/dist/nodejs/index.cjs +1 -1
  28. package/dist/nodejs/index.d.cts +2 -0
  29. package/dist/nodejs/index.d.ts +2 -0
  30. package/dist/nodejs/index.js +1 -1
  31. package/dist/nodejs/mongo/index.cjs +1 -1
  32. package/dist/nodejs/mongo/index.js +1 -1
  33. package/dist/nodejs/mongo/mongo.util.cjs +1 -1
  34. package/dist/nodejs/mongo/mongo.util.js +1 -1
  35. package/dist/nodejs/package/index.cjs +1 -1
  36. package/dist/nodejs/package/index.js +1 -1
  37. package/dist/nodejs/package/package.util.cjs +1 -1
  38. package/dist/nodejs/package/package.util.js +1 -1
  39. package/dist/nodejs/path/index.cjs +1 -1
  40. package/dist/nodejs/path/index.d.cts +1 -0
  41. package/dist/nodejs/path/index.d.ts +1 -0
  42. package/dist/nodejs/path/index.js +1 -1
  43. package/dist/nodejs/path/path.constant.cjs +1 -1
  44. package/dist/nodejs/path/path.constant.js +1 -1
  45. package/dist/nodejs/path/path.util.cjs +1 -1
  46. package/dist/nodejs/path/path.util.d.cts +1 -0
  47. package/dist/nodejs/path/path.util.d.ts +1 -0
  48. package/dist/nodejs/path/path.util.js +1 -1
  49. package/dist/react/index.cjs +1 -1
  50. package/dist/react/index.js +1 -1
  51. package/dist/react/vitest/index.cjs +1 -1
  52. package/dist/react/vitest/index.js +1 -1
  53. package/dist/react/vitest/vitest.unit.cjs +1 -1
  54. package/dist/react/vitest/vitest.unit.js +1 -1
  55. package/package.json +2 -2
@@ -1 +1 @@
1
- function e(e,r){if(r==null||r>e.length)r=e.length;for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function r(e){if(Array.isArray(e))return e}function t(r){if(Array.isArray(r))return e(r)}function n(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function o(e,r,t,n,o,a,i){try{var s=e[a](i);var c=s.value}catch(e){t(e);return}if(s.done){r(c)}else{Promise.resolve(c).then(n,o)}}function a(e){return function(){var r=this,t=arguments;return new Promise(function(n,a){var i=e.apply(r,t);function s(e){o(i,n,a,s,c,"next",e)}function c(e){o(i,n,a,s,c,"throw",e)}s(undefined)})}}function i(e,r,t){r=f(r);return b(e,O()?Reflect.construct(r,t||[],f(e).constructor):r.apply(e,t))}function s(e,r){if(!(e instanceof r)){throw new TypeError("Cannot call a class as a function")}}function c(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||false;n.configurable=true;if("value"in n)n.writable=true;Object.defineProperty(e,n.key,n)}}function u(e,r,t){if(r)c(e.prototype,r);if(t)c(e,t);return e}function l(e,r,t){if(r in e){Object.defineProperty(e,r,{value:t,enumerable:true,configurable:true,writable:true})}else{e[r]=t}return e}function f(e){f=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return f(e)}function d(e,r){if(typeof r!=="function"&&r!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:true,configurable:true}});if(r)w(e,r)}function m(e,r){if(r!=null&&typeof Symbol!=="undefined"&&r[Symbol.hasInstance]){return!!r[Symbol.hasInstance](e)}else{return e instanceof r}}function p(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function v(e,r){var t=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(t==null)return;var n=[];var o=true;var a=false;var i,s;try{for(t=t.call(e);!(o=(i=t.next()).done);o=true){n.push(i.value);if(r&&n.length===r)break}}catch(e){a=true;s=e}finally{try{if(!o&&t["return"]!=null)t["return"]()}finally{if(a)throw s}}return n}function g(){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 h(){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 y(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};var n=Object.keys(t);if(typeof Object.getOwnPropertySymbols==="function"){n=n.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))}n.forEach(function(r){l(e,r,t[r])})}return e}function E(e,r){if(e==null)return{};var t=_(e,r);var n,o;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++){n=a[o];if(r.indexOf(n)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,n))continue;t[n]=e[n]}}return t}function _(e,r){if(e==null)return{};var t={};var n=Object.keys(e);var o,a;for(a=0;a<n.length;a++){o=n[a];if(r.indexOf(o)>=0)continue;t[o]=e[o]}return t}function b(e,r){if(r&&(C(r)==="object"||typeof r==="function")){return r}return n(e)}function w(e,r){w=Object.setPrototypeOf||function e(e,r){e.__proto__=r;return e};return w(e,r)}function I(e,t){return r(e)||v(e,t)||k(e,t)||g()}function S(e){return t(e)||p(e)||k(e)||h()}function C(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function k(r,t){if(!r)return;if(typeof r==="string")return e(r,t);var n=Object.prototype.toString.call(r).slice(8,-1);if(n==="Object"&&r.constructor)n=r.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(r,t)}function O(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(O=function(){return!!e})()}function N(e,r){var t,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=s(0),i["throw"]=s(1),i["return"]=s(2),typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function s(e){return function(r){return c([e,r])}}function c(s){if(t)throw new TypeError("Generator is already executing.");while(i&&(i=0,s[0]&&(a=0)),a)try{if(t=1,n&&(o=s[0]&2?n["return"]:s[0]?n["throw"]||((o=n["return"])&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;if(n=0,o)s=[s[0]&2,o.value];switch(s[0]){case 0:case 1:o=s;break;case 4:a.label++;return{value:s[1],done:false};case 5:a.label++;n=s[1];s=[0];continue;case 7:s=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(s[0]===6||s[0]===2)){a=0;continue}if(s[0]===3&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(s[0]===6&&a.label<o[1]){a.label=o[1];o=s;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(s);break}if(o[2])a.ops.pop();a.trys.pop();continue}s=r.call(e,a)}catch(e){s=[6,e];n=0}finally{t=o=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}}var L=Object.defineProperty;var T=function(e,r,t){return r in e?L(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t};var R=function(e,r){return L(e,"name",{value:r,configurable:!0})};var P=function(e,r,t){return T(e,(typeof r==="undefined"?"undefined":C(r))!="symbol"?r+"":r,t)};import{ApolloClient as x,ApolloError as G,ApolloLink as A,ApolloProvider as U,from as j,HttpLink as D,InMemoryCache as M,split as F}from"@apollo/client";import{onError as z}from"@apollo/client/link/error";import{removeTypenameFromVariables as B}from"@apollo/client/link/remove-typename";import{GraphQLWsLink as K}from"@apollo/client/link/subscriptions";import{getMainDefinition as W}from"@apollo/client/utilities";import{createClient as Y}from"graphql-ws";import J,{useMemo as Q}from"react";import{FaInfo as H}from"react-icons/fa6";import q,{use as V}from"react";import{FaRepeat as $}from"react-icons/fa6";import{createContext as X}from"react";var Z=X(void 0);import ee from"./apollo-error/apollo-error.module.scss";function er(){var e=V(Z),r=e===null||e===void 0?void 0:e.error;if(!r)return null;var t=R(function(e,r){return(r===null||r===void 0?void 0:r.length)?q.createElement("div",null,q.createElement("strong",null,e,":"),q.createElement("ul",null,r.map(function(e){return q.createElement("li",{key:e.message},e.message)}))):null},"renderErrorList");return q.createElement("div",{className:ee["modal-backdrop"]},q.createElement("div",{className:ee["modal-content"]},q.createElement("button",{type:"button",className:ee["btn-close"],onClick:e.hideError},"✕"),q.createElement("div",{className:ee["error-title"]},q.createElement("button",{type:"button",className:ee["btn-retry"],onClick:R(function(){return window.location.reload()},"onClick")},q.createElement($,null))," ",r.message),q.createElement("div",{className:ee["error-details"]},r.networkError&&q.createElement("pre",{className:"network"},q.createElement("strong",null,"Network Error:")," ",r.networkError.message),t("GraphQL Errors",S(r.graphQLErrors)),t("Protocol Errors",S(r.protocolErrors)),t("Client Errors",S(r.clientErrors)),r.extraInfo&&q.createElement("pre",{className:"extra"},q.createElement("strong",null,"Extra Info:")," ",JSON.stringify(r.extraInfo,null,4)))))}R(er,"ApolloError");import{use as et}from"react";function en(){var e=et(Z);if(!e)throw new Error("useApolloError must be used within ApolloErrorProvider");return e}R(en,"useApolloError");import eo,{useEffect as ea,useMemo as ei,useState as es}from"react";var ec=null;function eu(e){ec=e}R(eu,"setGlobalApolloErrorCallback");function el(e){ec===null||ec===void 0?void 0:ec(e)}R(el,"showGlobalApolloError");function ef(e){var r=e.children;var t=I(es(null),2),n=t[0],o=t[1];ea(function(){eu(o)},[]);var a=ei(function(){return{error:n,showError:o,hideError:R(function(){return o(null)},"hideError")}},[n]);return eo.createElement(Z,{value:a},r)}R(ef,"ApolloErrorProvider");import{consola as ed}from"consola/browser";var em={silent:ed.silent,level:ed.level,fatal:ed.fatal,error:ed.error,warn:ed.warn,log:ed.log,info:ed.info,success:ed.success,ready:ed.ready,start:ed.start,box:ed.box,debug:ed.debug,trace:ed.trace,verbose:ed.verbose};import{toast as ep,Toaster as ev}from"react-hot-toast";var eg="/graphql";var eh,ey=(eh=/*#__PURE__*/function(e){"use strict";d(r,e);function r(){s(this,r);var e;e=i(this,r,arguments);P(e,"count",0);return e}u(r,[{key:"request",value:function e(e,r){var t=this;var n=Date.now();return this.count+=1,r(e).map(function(r){var o=Date.now()-n,a=e.operationName||"Unnamed";return em.info("[Apollo] #".concat(t.count,": ").concat(a," (").concat(o,"ms)")),r})}}]);return r}(A),R(eh,"DevLoggerLink"),eh);function eE(e){var r=e.uri,t=e.wsUrl,n=e.customLinks,o=new ey,a=z(function(e){var r=e.graphQLErrors,t=e.networkError,n=e.protocolErrors,o=e.operation;var a=(o===null||o===void 0?void 0:o.operationName)||"Unknown";if(r&&r.forEach(function(e){var r=e.message,t=e.locations,n=e.path;em.error("[GraphQL error] ".concat(a,": ").concat(r,", Location: ").concat(JSON.stringify(t),", Path: ").concat(n))}),n&&n.forEach(function(e){var r=e.message,t=e.extensions;em.error("[Protocol error]: ".concat(r,", Extensions: ").concat(JSON.stringify(t)))}),t&&em.error("[Network error]: ".concat(t)),r||n||t){var i,s;var c=(r===null||r===void 0?void 0:(i=r[0])===null||i===void 0?void 0:i.message)||(n===null||n===void 0?void 0:(s=n[0])===null||s===void 0?void 0:s.message)||(t===null||t===void 0?void 0:t.message)||"Unexpected error",u=new G({graphQLErrors:r||[],protocolErrors:n||[],clientErrors:[],networkError:t||null,errorMessage:c,extraInfo:{operation:o}});ep.error(function(e){return J.createElement(J.Fragment,null,c,"\xa0",J.createElement(H,{cursor:"pointer",onClick:R(function(){setTimeout(function(){el(u)},0),ep.dismiss(e.id)},"onClick")}))})}}),i=B();r||em.warn('[Apollo] No GraphQL URI provided — using "'.concat(eg,'" as default'));var s=new D({uri:r!==null&&r!==void 0?r:eg,credentials:"include"}),c=t?new K(Y({url:t})):A.empty(),u=m(c,A)?F(function(e){var r=e.query;var t=W(r);return t.kind==="OperationDefinition"&&t.operation==="subscription"},c,s):s;return u===s&&t&&em.warn("[Apollo] WS URL is set, but subscriptions fallback to HTTP. Check your wsLink config."),[o,a,i].concat(S(n!==null&&n!==void 0?n:[]),[u])}R(eE,"createApolloLinks");function e_(e){var r=e.isNextJS,t=e.options,n=e.children,o=e.client,a=e.provider,i=e.cache;var s=t||{},c=s.uri,u=s.wsUrl,l=s.customLinks,f=E(s,["uri","wsUrl","customLinks"]),d=o!==null&&o!==void 0?o:x;if(typeof d!="function")throw new TypeError("Invalid ApolloClient provided. Ensure CustomClient is a class.");var p=a||U,v=Q(function(){return j(eE({uri:c!==null&&c!==void 0?c:eg,wsUrl:u!==null&&u!==void 0?u:"",customLinks:l!==null&&l!==void 0?l:[]}))},[c,u,l]),g=Q(function(){return m(i,M)?i:new M},[i]),h=Q(function(){return new d(y({link:v,cache:g},f))},[d,v,g,f]),_=r?J.createElement(p,{makeClient:R(function(){return h},"makeClient")},n):J.createElement(p,{client:h},n);return J.createElement(J.Fragment,null,J.createElement(ef,null,_,J.createElement(er,null)),J.createElement(ev,{position:"top-right"}))}R(e_,"ApolloProvider");import{useTranslation as eb}from"react-i18next";var ew=eb;import eI from"i18next";import{initReactI18next as eS}from"react-i18next";function eC(e){return eI.use(eS).init(e)}R(eC,"initI18next");import ek from"classnames";import eO from"react";import eN from"./loading/loading.module.scss";function eL(e){var r=e.full,t=r===void 0?!1:r,n=e.block,o=n===void 0?!1:n,a=e.className,i=a===void 0?"":a,s=e.message,c=s===void 0?"Loading":s,u=E(e,["full","block","className","message"]);function l(){return eO.createElement("div",y({className:eN.container},u),eO.createElement("div",{className:eN.ring}),eO.createElement("div",{className:eN.ring}),eO.createElement("div",{className:eN.ring}),eO.createElement("div",{className:eN.ring}),c&&eO.createElement("div",{className:eN.message},c))}return R(l,"_renderLoading"),t?eO.createElement("div",{className:ek(eN.fullscreen,i)},l()):o?eO.createElement("div",{className:ek(eN.block,i)},l()):l()}R(eL,"Loading");import{createContext as eT}from"react";var eR=eT(void 0);import{use as eP}from"react";function ex(){var e=eP(eR);if(!e)throw new Error("useLoading must be used within a LoadingProvider");return e}R(ex,"useLoading");import eG,{useCallback as eA,useMemo as eU,useState as ej}from"react";function eD(e){var r=e.children;var t=I(ej(!1),2),n=t[0],o=t[1],a=I(ej(!1),2),i=a[0],s=a[1],c=eA(function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;o(!0),s(e)},[]),u=eA(function(){o(!1),s(!1)},[]),l=eU(function(){return{isLoading:n,isGlobalLoading:i,showLoading:c,hideLoading:u}},[n,i,c,u]);return eG.createElement(eR,{value:l},n?eG.createElement(eL,{full:i}):r)}R(eD,"LoadingProvider");import{enUS as eM}from"date-fns/locale";var eF={label:"English",value:"en",flag:"\uD83C\uDDFA\uD83C\uDDF8",adapterLocale:eM,icon:"flagpack:gb-nir",numberFormat:{code:"en-US",currency:"USD"},timezone:"America/New_York"};import{createContext as ez}from"react";var eB=ez(void 0);import{NextIntlClientProvider as eK}from"next-intl";import eW from"react";import{useTranslations as eY}from"next-intl";import{use as eJ}from"react";function eQ(){var e=eJ(eB);if(!e)throw new Error("useNextIntl must be used within a NextIntlProvider");return e}R(eQ,"useNextIntl");var eH=eY;function eq(e){var r=R(function(r){var t;var n;var o=eQ(),a=o.currentLanguage,i=r.messages,s=r.languages,c="en",u=i[(a===null||a===void 0?void 0:a.value)||c],l=(n=(t=s.find(function(e){return e.value===(a===null||a===void 0?void 0:a.value)}))===null||t===void 0?void 0:t.timezone)!==null&&n!==void 0?n:eF.timezone;return i?eW.createElement(eK,{locale:(a===null||a===void 0?void 0:a.value)||c,messages:u||null,timeZone:l},eW.createElement(e,r)):(em.warn("Missing messages for language: ".concat((a===null||a===void 0?void 0:a.value)||c)),null)},"PageWithI18n");return r.displayName="withNextIntl(".concat(e.displayName||e.name||"Component",")"),r}R(eq,"withNextIntl");import eV,{useMemo as e$}from"react";import{useCallback as eX,useEffect as eZ,useState as e0}from"react";import{Buffer as e1}from"node:buffer";var e2={Date:{is:R(function(e){return m(e,Date)},"is"),serialize:R(function(e){return{__type:"Date",value:e.toISOString()}},"serialize"),deserialize:R(function(e){return new Date(e)},"deserialize")},Map:{is:R(function(e){return m(e,Map)},"is"),serialize:R(function(e){return{__type:"Map",value:Array.from(e.entries())}},"serialize"),deserialize:R(function(e){return new Map(e)},"deserialize")},Set:{is:R(function(e){return m(e,Set)},"is"),serialize:R(function(e){return{__type:"Set",value:Array.from(e)}},"serialize"),deserialize:R(function(e){return new Set(e)},"deserialize")},RegExp:{is:R(function(e){return m(e,RegExp)},"is"),serialize:R(function(e){return{__type:"RegExp",value:{source:e.source,flags:e.flags}}},"serialize"),deserialize:R(function(e){var r=e.source,t=e.flags;return new RegExp(r,t)},"deserialize")},BigInt:{is:R(function(e){return(typeof e==="undefined"?"undefined":C(e))=="bigint"},"is"),serialize:R(function(e){return{__type:"BigInt",value:e.toString()}},"serialize"),deserialize:R(function(e){return BigInt(e)},"deserialize")},Buffer:{is:R(function(e){return e1.isBuffer(e)},"is"),serialize:R(function(e){return{__type:"Buffer",value:e.toString("base64")}},"serialize"),deserialize:R(function(e){return e1.from(e,"base64")},"deserialize")}},e3={serialize:function e(e){return JSON.stringify(e,function(e,r){var t=true,n=false,o=undefined;try{for(var a=Object.keys(e2)[Symbol.iterator](),i;!(t=(i=a.next()).done);t=true){var s=i.value;var c=e2[s];if(c.is(r))return c.serialize(r)}}catch(e){n=true;o=e}finally{try{if(!t&&a.return!=null){a.return()}}finally{if(n){throw o}}}return r})},deserialize:function e(e){return JSON.parse(e,function(e,r){if(r&&(typeof r==="undefined"?"undefined":C(r))=="object"&&"__type"in r&&typeof r.__type=="string"){var t=r.__type,n=e2[t];if(n)return n.deserialize(r.value)}return r})}};import e4 from"localforage";var e5={get:function e(e){return /*#__PURE__*/a(function(){var r;return N(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,e4.getItem(e)];case 1:return[2,t.sent()];case 2:r=t.sent();return[2,(em.error('[Storage:get] Error getting key "'.concat(e,'":'),r),null)];case 3:return[2]}})})()},set:function e(e,r){return /*#__PURE__*/a(function(){var t;return N(this,function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);return[4,e4.setItem(e,r)];case 1:n.sent();return[3,3];case 2:t=n.sent();em.error('[Storage:set] Error setting key "'.concat(e,'":'),t);return[3,3];case 3:return[2]}})})()},remove:function e(e){return /*#__PURE__*/a(function(){var r;return N(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,e4.removeItem(e)];case 1:t.sent();return[3,3];case 2:r=t.sent();em.error('[Storage:remove] Error removing key "'.concat(e,'":'),r);return[3,3];case 3:return[2]}})})()},keys:function e(){return /*#__PURE__*/a(function(){var e,r;return N(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,e4.keys()];case 1:return[2,(e=t.sent())!==null&&e!==void 0?e:[]];case 2:r=t.sent();return[2,(em.error("[Storage:keys] Error getting keys:",r),[])];case 3:return[2]}})})()}};function e8(e,r){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e3;var n=I(e0(r),2),o=n[0],i=n[1],s=I(e0(!1),2),c=s[0],u=s[1];eZ(function(){var n=!0;return R(function(){return /*#__PURE__*/a(function(){var o,a,s,c;return N(this,function(l){switch(l.label){case 0:l.trys.push([0,6,7,8]);return[4,e5.get(e)];case 1:o=l.sent();if(!n)return[3,5];if(!(o!==null))return[3,2];a=t.deserialize(o);i(a);return[3,5];case 2:if(!(r!==void 0))return[3,4];s=t.serialize(r);return[4,e5.set(e,s)];case 3:l.sent(),i(r);return[3,5];case 4:i(void 0);l.label=5;case 5:return[3,8];case 6:c=l.sent();em.error('Error loading value for key "'.concat(e,'":'),c),n&&i(r);return[3,8];case 7:n&&u(!0);return[7];case 8:return[2]}})})()},"loadValue")(),function(){n=!1,u(!1)}},[e,r,t]),eZ(function(){if(!c)return;R(function(){return /*#__PURE__*/a(function(){var r,n;return N(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);if(!(o!==void 0))return[3,2];r=t.serialize(o);return[4,e5.set(e,r)];case 1:a.sent();a.label=2;case 2:return[3,4];case 3:n=a.sent();em.error('Error saving value for key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},"saveValue")()},[o,e,t,c]);var l=eX(function(e){i(function(r){return typeof e=="function"?e(r):e})},[]),f=eX(function(){return /*#__PURE__*/a(function(){var r;return N(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,e5.remove(e)];case 1:t.sent(),i(void 0);return[3,3];case 2:r=t.sent();em.error('Error removing key "'.concat(e,'":'),r);return[3,3];case 3:return[2]}})})()},[e]);return{value:o,set:l,remove:f}}R(e8,"useStorage");function e6(e){var r=e.children;return eV.createElement(eV.Fragment,null,r)}R(e6,"LanguageWrapperBase");var e7=eq(e6);function e9(e){var r=e.children,t=e.languages,n=e.messages;var o=e8("lang",t[0]),a=o.value,i=o.set,s=e$(function(){return{languages:t,currentLanguage:a!==null&&a!==void 0?a:eF,setCurrentLanguage:i}},[t,i,a]);return eV.createElement(eB,{value:s},eV.createElement(e7,{languages:t,messages:n},r))}R(e9,"NextIntlProvider");import re from"@vitejs/plugin-react-swc";import{defineConfig as rr}from"vitest/config";function rt(e){return rr(y({plugins:[re()],test:{include:["**/*.test.e2e.?(c|m)[jt]s?(x)"],browser:{enabled:!0,provider:"playwright",instances:[{browser:"chromium"},{browser:"firefox"},{browser:"webkit"}]}}},e))}R(rt,"vitestE2E");import rn from"@vitejs/plugin-react-swc";import{defineConfig as ro}from"vitest/config";var ra=".cyberskill-storage";import ri from"dotenv";import{bool as rs,cleanEnv as rc,str as ru}from"envalid";import rl from"node:os";import rf from"node:path";import rd from"node:process";ri.config();function rm(){var e={DEBUG:rd.env.DEBUG||!1,CWD:rd.env.CWD||rd.cwd(),CYBERSKILL_STORAGE_DIRECTORY:rd.env.CYBERSKILL_STORAGE_DIRECTORY||rf.join(rl.homedir(),ra)};return rc(e,{DEBUG:rs(),CWD:ru(),CYBERSKILL_STORAGE_DIRECTORY:ru()})}R(rm,"getEnv");var rp=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as rv}from"node:child_process";import rg from"node:process";import*as rh from"node:util";var ry=function(e){return e.Error="error",e.Warning="warning",e}({});import rE from"chalk";import r_ from"consola";import{GraphQLError as rb}from"graphql";var rw=rm();rw.DEBUG||(r_.level=4);function rI(e){var r=rE[e];return typeof r=="function"?r:rE.green}R(rI,"chalkKeyword");var rS={silent:r_.silent,level:r_.level,fatal:r_.fatal,error:r_.error,warn:r_.warn,log:r_.log,info:r_.info,success:r_.success,ready:r_.ready,start:r_.start,box:r_.box,debug:r_.debug,trace:r_.trace,verbose:r_.verbose,printBoxedLog:function e(e,r){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(r===null||r===void 0?void 0:r.length)){r_.box(rE.green(e));return}r.forEach(function(e){var r=e.file,n=e.position,o=e.rule,a=e.message;r_.log("".concat(rE.gray("File:")," ").concat(rE.blue("".concat(r).concat(n?":".concat(n):"")))),o&&r_.log(" ".concat(rI(t)("Rule:")," ").concat(o)),r_.log(" ".concat(rI(t)("Message:")," ").concat(a))}),r_.box(rI(t)("".concat(e," : ").concat(r.length))),r_.log(rE.gray("─".repeat(40)))}};var rC={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};import rk from"node-fetch";import rO from"fs-extra";var rN=rO.lstatSync,rL=rO.readdirSync,rT=rO.mkdirSync,rR=rO.readFileSync,rP=rO.writeFileSync,rx=rO.appendFileSync,rG=rO.unlinkSync,rA=rO.statSync,rU=rO.readJsonSync,rj=rO.writeJsonSync;function rD(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++){r[t]=arguments[t]}return r.every(function(e){return rO.pathExistsSync(e)})}R(rD,"pathExistsSync");var rM=rm();function rF(e){var r=te(rM.CWD,ti);if(!rD(r))return!1;try{var t=rU(r),n=t.name,o=t.dependencies,a=o===void 0?{}:o,i=t.devDependencies,s=i===void 0?{}:i,c=n===e,u=e in a,l=e in s;return c||u||l?{path:r,file:t,isCurrentProject:c,isDepend:u,isDevDepend:l}:!1}catch(e){return rS.warn("Failed to read package.json: ".concat(e.message)),!1}}R(rF,"getPackage");function rz(e){return /*#__PURE__*/a(function(){var r,t,n,o;return N(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,rk("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:r=a.sent();if(!r.ok)throw new Error("Failed to fetch latest version: ".concat(r.status," ").concat(r.statusText));return[4,r.json()];case 2:t=a.sent(),n=t.version;return[2,n];case 3:o=a.sent();throw rS.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})})()}R(rz,"getLatestPackageVersion");function rB(e,r){return /*#__PURE__*/a(function(){var t,n,o,a,i,s,c,u,l,f,d,m,p,v,g,h,E,_,b,w,I;return N(this,function(S){switch(S.label){case 0:S.trys.push([0,4,,5]);t=rF(e);if(!t)return[2,y({},rC)];c=t.path,u=t.file,l=t.isCurrentProject,f=t.isDepend,d=t.isDevDepend,m=(n=u.dependencies)!==null&&n!==void 0?n:{},p=(o=u.devDependencies)!==null&&o!==void 0?o:{},v=l?(a=u.version)!==null&&a!==void 0?a:"0.0.0":f?(i=m[e])!==null&&i!==void 0?i:"0.0.0":d?(s=p[e])!==null&&s!==void 0?s:"0.0.0":"0.0.0";if(!l)return[3,1];E=v;return[3,3];case 1:return[4,rz(e)];case 2:E=S.sent();S.label=3;case 3:g=E,h=l||v===g;if(!h&&(r===null||r===void 0?void 0:r.update)){;b=f?"dependencies":d?"devDependencies":null;b&&((_=u[b])===null||_===void 0?void 0:_[e])!==g&&(u[b]=(w=u[b])!==null&&w!==void 0?w:{},u[b][e]=g,rj(c,u),rS.info('Updated "'.concat(e,'" to version ').concat(g)))}return[2,{isCurrentProject:l,installedPath:c,file:u,isUpToDate:h}];case 4:I=S.sent();return[2,(rS.error('Error checking package "'.concat(e,'": ').concat(I.message)),y({},rC))];case 5:return[2]}})})()}R(rB,"checkPackage");function rK(){return /*#__PURE__*/a(function(){var e,r,t,n,o,a,i,s,c,u,l,f;return N(this,function(d){switch(d.label){case 0:e=[{command:R(function(){return tW.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:R(function(){return tW.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:R(function(){return tW.pnpmInstallForce()},"command"),message:"Retrying with force install"}];r=true,t=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(!!(r=(a=o.next()).done))return[3,8];i=a.value,s=i.command,c=i.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,s()];case 4:u=d.sent();return[4,r5("".concat(c," using: ").concat(u),u)];case 5:d.sent();return[2];case 6:l=d.sent();rS.warn("Installation attempt failed: ".concat(c)),rS.error("Details: ".concat(l.message));return[3,7];case 7:r=true;return[3,2];case 8:return[3,11];case 9:f=d.sent();t=true;n=f;return[3,11];case 10:try{if(!r&&o.return!=null){o.return()}}finally{if(t){throw n}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})})()}R(rK,"installDependencies");function rW(e,r){return /*#__PURE__*/a(function(){var t,n,o,a,i,s,c,u,l,f,d;return N(this,function(m){switch(m.label){case 0:if(!rD(tz.PACKAGE_JSON)){rS.error("package.json not found. Aborting setup.");return[2]}m.label=1;case 1:m.trys.push([1,13,,14]);t=S(new Set(e)).sort();return[4,Promise.all(t.map(function(e){return rB(e,y({},(r===null||r===void 0?void 0:r.update)&&{update:r.update}))}))];case 2:n=m.sent().every(function(e){return e.isUpToDate});if(n)return[3,4];return[4,rK()];case 3:n=m.sent();m.label=4;case 4:n;a=true,i=false,s=undefined;m.label=5;case 5:m.trys.push([5,10,11,12]);c=((o=r===null||r===void 0?void 0:r.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();m.label=6;case 6:if(!!(a=(u=c.next()).done))return[3,9];l=u.value;return[4,l()];case 7:m.sent();m.label=8;case 8:a=true;return[3,6];case 9:return[3,12];case 10:f=m.sent();i=true;s=f;return[3,12];case 11:try{if(!a&&c.return!=null){c.return()}}finally{if(i){throw s}}return[7];case 12:return[3,14];case 13:d=m.sent();throw rS.error('Failed to setup "'.concat(e.join(", "),'": ').concat(d.message)),d;case 14:return[2]}})})()}R(rW,"setupPackages");import rY from"node-persist";var rJ=rm();function rQ(){return /*#__PURE__*/a(function(){var e;return N(this,function(r){switch(r.label){case 0:e=rY.defaultInstance;if(e)return[3,2];return[4,rY.init({dir:rJ.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=r.sent();r.label=2;case 2:e;return[2]}})})()}R(rQ,"initNodePersist");var rH={get:function e(e){return /*#__PURE__*/a(function(){var r,t;return N(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,rQ()];case 1:n.sent();return[4,rY.getItem(e)];case 2:return[2,(r=n.sent())!==null&&r!==void 0?r:null];case 3:t=n.sent();return[2,(rS.error('[Storage:get] Error getting key "'.concat(e,'":'),t),null)];case 4:return[2]}})})()},set:function e(e,r){return /*#__PURE__*/a(function(){var t;return N(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,rQ()];case 1:n.sent();return[4,rY.setItem(e,r)];case 2:n.sent();return[3,4];case 3:t=n.sent();rS.error('[Storage:set] Error setting key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/a(function(){var r;return N(this,function(t){switch(t.label){case 0:t.trys.push([0,3,,4]);return[4,rQ()];case 1:t.sent();return[4,rY.removeItem(e)];case 2:t.sent();return[3,4];case 3:r=t.sent();rS.error('[Storage:remove] Error removing key "'.concat(e,'":'),r);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/a(function(){var e,r;return N(this,function(t){switch(t.label){case 0:t.trys.push([0,3,,4]);return[4,rQ()];case 1:t.sent();return[4,rY.keys()];case 2:e=t.sent();return[2,Array.isArray(e)?e:(rS.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:r=t.sent();return[2,(rS.error("[Storage:keys] Error getting keys:",r),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/a(function(){return N(this,function(r){try{return[2,"".concat(rJ.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(rS.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var rq=rm(),rV=rh.promisify(rv);function r$(e){return"error_list:".concat(e)}R(r$,"getErrorListKey");function rX(e){return /*#__PURE__*/a(function(){var r,t,n;return N(this,function(o){switch(o.label){case 0:if(e.length===0)return[2];r=Date.now(),t=r$(r);o.label=1;case 1:o.trys.push([1,3,,4]);return[4,rH.set(t,{errors:e,timestamp:r})];case 2:o.sent(),setTimeout(function(){return /*#__PURE__*/a(function(){var e;return N(this,function(r){switch(r.label){case 0:return[4,rH.getLogLink(t)];case 1:e=r.sent();e&&rS.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:n=o.sent();rS.error("Failed to save errors: ".concat(n.message));return[3,4];case 4:return[2]}})})()}R(rX,"saveErrorListToStorage");function rZ(e){var r=[],t=[],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 s,c,u,l,f;var d=o.exec(e)||[],m=a.exec(e)||[],p=i.exec(e)||[];var v,g,h,y,E,_;d.length&&n?r.push({file:n,position:"".concat(d[1],":").concat(d[2]),type:d[3]===ry.Error?ry.Error:ry.Warning,message:(v=d===null||d===void 0?void 0:(s=d[4])===null||s===void 0?void 0:s.trim())!==null&&v!==void 0?v:"",rule:(g=d===null||d===void 0?void 0:(c=d[5])===null||c===void 0?void 0:c.trim())!==null&&g!==void 0?g:""}):m.length?r.push({file:(h=m===null||m===void 0?void 0:m[1])!==null&&h!==void 0?h:"",position:"".concat(m[2],":").concat(m[3]),type:m[4]===ry.Error?ry.Error:ry.Warning,message:(y=m===null||m===void 0?void 0:(u=m[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):p.length?r.push({file:"commitlint",type:ry.Error,message:(E=p===null||p===void 0?void 0:(l=p[1])===null||l===void 0?void 0:l.trim())!==null&&E!==void 0?E:"",rule:(_=p===null||p===void 0?void 0:(f=p[2])===null||f===void 0?void 0:f.trim())!==null&&_!==void 0?_:""}):t.push(e.trim())}}),r.length&&rX(r),rq.DEBUG&&t.length&&(rS.warn("Unmatched lines:"),t.forEach(function(e){return rS.info(" ".concat(e))}))}R(rZ,"parseTextErrors");function r0(e){try{var r=JSON.parse(e),t=[];r.forEach(function(e){var r=e.filePath,n=e.messages;n.forEach(function(e){var n=e.severity,o=e.line,a=e.column,i=e.ruleId,s=e.message;t.push({type:n===2?ry.Error:ry.Warning,file:r,position:"".concat(o,":").concat(a),rule:i,message:s})})}),t.length&&rX(t)}catch(r){rZ(e)}}R(r0,"parseCommandOutput");function r1(e){return /*#__PURE__*/a(function(e){var r,t,n,o,a,i,s,c,u;var l=arguments;return N(this,function(f){switch(f.label){case 0:r=l.length>1&&l[1]!==void 0?l[1]:r0;t=new AbortController;rg.on("SIGINT",function(){rS.warn("Process interrupted. Terminating..."),t.abort(),rg.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,rV(e,{maxBuffer:0x6400000,signal:t.signal})];case 2:n=f.sent(),o=n.stdout,a=n.stderr;[o,a].forEach(function(e){return e&&r(e)});f.label=3;case 3:return[3,5];case 4:i=f.sent();s=i.stdout,c=i.stderr,u=i.message;[s,c].forEach(function(e){return e&&r(e)}),!c&&!s&&rS.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}R(r1,"executeCommand");function r2(e){return{raw:!0,cmd:e}}R(r2,"rawCommand");function r3(e,r){return(r===null||r===void 0?void 0:r.isRemote)?"".concat(tP," ").concat(tn," ").concat(e):(r===null||r===void 0?void 0:r.isCurrentProject)?"".concat(tP," ").concat(tL," ").concat(th," ").concat(e):"".concat(tP," ").concat(tg," ").concat(e)}R(r3,"formatCLI");function r4(e,r){return typeof e=="function"?r3(e(r),r):(typeof e==="undefined"?"undefined":C(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?r3(e,r):e}R(r4,"formatCommand");function r5(e,r){return /*#__PURE__*/a(function(){var t;return N(this,function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);rS.start("".concat(e)),rq.DEBUG&&rS.info("→ ".concat(r));return[4,r1(r)];case 1:n.sent(),rS.success("".concat(e," done."));return[3,3];case 2:t=n.sent();throw rS.error("".concat(e," failed: ").concat(t.message)),t;case 3:return[2]}})})()}R(r5,"runCommand");import{join as r8,resolve as r6}from"node:path";var r7=rm();function r9(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++){r[t]=arguments[t]}return r6.apply(void 0,[r7.CWD].concat(S(r)))}R(r9,"resolveWorkingPath");function te(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++){r[t]=arguments[t]}return r8.apply(void 0,S(r))}R(te,"join");var tr=rm(),tt=tr.CWD,tn="@cyberskill/shared",to="node_modules",ta="dist",ti="package.json",ts="package-lock.json",tc="tsconfig.json",tu=".gitignore",tl=".simple-git-hooks.json",tf="pnpm-lock.yaml",td=".git/hooks/",tm=".git/COMMIT_EDITMSG",tp=".migrate-mongo.config.js",tv=te(tt,to,tn,ta),tg="cyberskill",th="src/nodejs/cli/index.ts",ty="eslint",tE="eslint",t_="vitest",tb="playwright",tw="vitest",tI="@commitlint/cli",tS="commitlint",tC="lint-staged",tk="lint-staged",tO="typescript",tN="tsc",tL="tsx",tT="git",tR="pnpm",tP="pnpm exec",tx="simple-git-hooks",tG="simple-git-hooks",tA="@eslint/config-inspector",tU="eslint-config-inspector",tj="node-modules-inspector",tD="node-modules-inspector",tM="migrate-mongo",tF="./node_modules/migrate-mongo/bin/migrate-mongo",tz={CYBERSKILL_DIRECTORY:tv,WORKING_DIRECTORY:tt,TS_CONFIG:r9(tc),GIT_IGNORE:r9(tu),GIT_HOOK:r9(td),GIT_COMMIT_MSG:r9(tm),SIMPLE_GIT_HOOKS_JSON:r9(tl),PACKAGE_JSON:r9(ti),PACKAGE_LOCK_JSON:r9(ts),PNPM_LOCK_YAML:r9(tf),NODE_MODULES:r9(to),MIGRATE_MONGO_CONFIG:r9(tp),LINT_STAGED_CONFIG:r9("".concat(tv,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:r9("".concat(tv,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:r9("".concat(tv,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:r9("".concat(tv,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:r9("".concat(tv,"/react/vitest/vitest.e2e.js"))};function tB(e,r,t){return /*#__PURE__*/a(function(){return N(this,function(n){switch(n.label){case 0:if(!r)throw new Error("'first' argument is undefined");switch(e){case rp.CLI:return[3,1];case rp.STRING:return[3,3]}return[3,4];case 1:return[4,rW(r.split(" "),{update:!0})];case 2:return[2,(n.sent(),r4(r2("".concat(tP," ").concat(t))))];case 3:return[2,r4(r2(r))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}R(tB,"buildCommand");function tK(e,r,t){return function(){return /*#__PURE__*/a(function(){return N(this,function(n){return[2,tB(e,r,t)]})})()}}R(tK,"commandFactory");var tW={simpleGitHooks:tK(rp.CLI,tx,tG),eslintInspect:tK(rp.CLI,tA,tU),nodeModulesInspect:tK(rp.CLI,tj,tD),eslintCheck:tK(rp.CLI,ty,"".concat(tE," ").concat(tz.WORKING_DIRECTORY)),eslintFix:tK(rp.CLI,ty,"".concat(tE," ").concat(tz.WORKING_DIRECTORY," --fix")),typescriptCheck:tK(rp.CLI,tO,"".concat(tN," -p ").concat(tz.TS_CONFIG," --noEmit")),configureGitHook:tK(rp.STRING,"".concat(tT," config core.hooksPath ").concat(tz.GIT_HOOK)),testUnit:tK(rp.CLI,t_,"".concat(tw," --config ").concat(tz.UNIT_TEST_CONFIG)),testE2e:tK(rp.CLI,"".concat(t_," ").concat(tb),"".concat(tw," --config ").concat(tz.E2E_TEST_CONFIG)),mongoMigrateCreate:R(function(e){return tK(rp.CLI,tM,"".concat(tL," ").concat(tF," create ").concat(e," -f ").concat(tz.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tK(rp.CLI,tM,"".concat(tL," ").concat(tF," up -f ").concat(tz.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tK(rp.CLI,tM,"".concat(tL," ").concat(tF," down -f ").concat(tz.MIGRATE_MONGO_CONFIG)),commitLint:tK(rp.CLI,tI,"".concat(tS," --edit ").concat(tz.GIT_COMMIT_MSG," --config ").concat(tz.COMMITLINT_CONFIG)),lintStaged:tK(rp.CLI,tC,"".concat(tk," --config ").concat(tz.LINT_STAGED_CONFIG)),stageBuildDirectory:tK(rp.STRING,"".concat(tT," add ").concat(ta)),build:tK(rp.STRING,"".concat(tR," run build")),pnpmInstallStandard:tK(rp.STRING,"".concat(tR," install")),pnpmInstallLegacy:tK(rp.STRING,"".concat(tR," install --legacy-peer-deps")),pnpmInstallForce:tK(rp.STRING,"".concat(tR," install --force"))};function tY(e){return ro(y({plugins:[rn()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[tz.UNIT_TEST_SETUP_CONFIG]}},e))}R(tY,"vitestUnit");export{er as ApolloError,Z as ApolloErrorContext,ef as ApolloErrorProvider,e_ as ApolloProvider,eg as GRAPHQL_URI_DEFAULT,eL as Loading,eR as LoadingContext,eD as LoadingProvider,eF as NEXT_INTL_DEFAULT_LANGUAGE,eB as NextIntlContext,e9 as NextIntlProvider,ev as Toaster,eC as initI18next,em as log,eu as setGlobalApolloErrorCallback,el as showGlobalApolloError,e5 as storage,ep as toast,en as useApolloError,ex as useLoading,eQ as useNextIntl,e8 as useStorage,ew as useTranslateI18next,eH as useTranslateNextIntl,rt as vitestE2E,tY as vitestUnit,eq as withNextIntl};
1
+ function e(e,r){if(r==null||r>e.length)r=e.length;for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function r(e){if(Array.isArray(e))return e}function t(r){if(Array.isArray(r))return e(r)}function n(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function o(e,r,t,n,o,a,i){try{var s=e[a](i);var c=s.value}catch(e){t(e);return}if(s.done){r(c)}else{Promise.resolve(c).then(n,o)}}function a(e){return function(){var r=this,t=arguments;return new Promise(function(n,a){var i=e.apply(r,t);function s(e){o(i,n,a,s,c,"next",e)}function c(e){o(i,n,a,s,c,"throw",e)}s(undefined)})}}function i(e,r,t){r=f(r);return b(e,O()?Reflect.construct(r,t||[],f(e).constructor):r.apply(e,t))}function s(e,r){if(!(e instanceof r)){throw new TypeError("Cannot call a class as a function")}}function c(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||false;n.configurable=true;if("value"in n)n.writable=true;Object.defineProperty(e,n.key,n)}}function u(e,r,t){if(r)c(e.prototype,r);if(t)c(e,t);return e}function l(e,r,t){if(r in e){Object.defineProperty(e,r,{value:t,enumerable:true,configurable:true,writable:true})}else{e[r]=t}return e}function f(e){f=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return f(e)}function d(e,r){if(typeof r!=="function"&&r!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:true,configurable:true}});if(r)w(e,r)}function m(e,r){if(r!=null&&typeof Symbol!=="undefined"&&r[Symbol.hasInstance]){return!!r[Symbol.hasInstance](e)}else{return e instanceof r}}function p(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function v(e,r){var t=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(t==null)return;var n=[];var o=true;var a=false;var i,s;try{for(t=t.call(e);!(o=(i=t.next()).done);o=true){n.push(i.value);if(r&&n.length===r)break}}catch(e){a=true;s=e}finally{try{if(!o&&t["return"]!=null)t["return"]()}finally{if(a)throw s}}return n}function g(){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 h(){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 y(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};var n=Object.keys(t);if(typeof Object.getOwnPropertySymbols==="function"){n=n.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))}n.forEach(function(r){l(e,r,t[r])})}return e}function E(e,r){if(e==null)return{};var t=_(e,r);var n,o;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++){n=a[o];if(r.indexOf(n)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,n))continue;t[n]=e[n]}}return t}function _(e,r){if(e==null)return{};var t={};var n=Object.keys(e);var o,a;for(a=0;a<n.length;a++){o=n[a];if(r.indexOf(o)>=0)continue;t[o]=e[o]}return t}function b(e,r){if(r&&(C(r)==="object"||typeof r==="function")){return r}return n(e)}function w(e,r){w=Object.setPrototypeOf||function e(e,r){e.__proto__=r;return e};return w(e,r)}function I(e,t){return r(e)||v(e,t)||k(e,t)||g()}function S(e){return t(e)||p(e)||k(e)||h()}function C(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function k(r,t){if(!r)return;if(typeof r==="string")return e(r,t);var n=Object.prototype.toString.call(r).slice(8,-1);if(n==="Object"&&r.constructor)n=r.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(r,t)}function O(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(O=function(){return!!e})()}function N(e,r){var t,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=s(0),i["throw"]=s(1),i["return"]=s(2),typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function s(e){return function(r){return c([e,r])}}function c(s){if(t)throw new TypeError("Generator is already executing.");while(i&&(i=0,s[0]&&(a=0)),a)try{if(t=1,n&&(o=s[0]&2?n["return"]:s[0]?n["throw"]||((o=n["return"])&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;if(n=0,o)s=[s[0]&2,o.value];switch(s[0]){case 0:case 1:o=s;break;case 4:a.label++;return{value:s[1],done:false};case 5:a.label++;n=s[1];s=[0];continue;case 7:s=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(s[0]===6||s[0]===2)){a=0;continue}if(s[0]===3&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(s[0]===6&&a.label<o[1]){a.label=o[1];o=s;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(s);break}if(o[2])a.ops.pop();a.trys.pop();continue}s=r.call(e,a)}catch(e){s=[6,e];n=0}finally{t=o=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}}var L=Object.defineProperty;var T=function(e,r,t){return r in e?L(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t};var R=function(e,r){return L(e,"name",{value:r,configurable:!0})};var P=function(e,r,t){return T(e,(typeof r==="undefined"?"undefined":C(r))!="symbol"?r+"":r,t)};import{ApolloClient as x,ApolloError as G,ApolloLink as A,ApolloProvider as U,from as j,HttpLink as D,InMemoryCache as M,split as F}from"@apollo/client";import{onError as z}from"@apollo/client/link/error";import{removeTypenameFromVariables as B}from"@apollo/client/link/remove-typename";import{GraphQLWsLink as K}from"@apollo/client/link/subscriptions";import{getMainDefinition as W}from"@apollo/client/utilities";import{createClient as Y}from"graphql-ws";import J,{useMemo as H}from"react";import{FaInfo as Q}from"react-icons/fa6";import q,{use as V}from"react";import{FaRepeat as $}from"react-icons/fa6";import{createContext as X}from"react";var Z=X(void 0);import ee from"./apollo-error/apollo-error.module.scss";function er(){var e=V(Z),r=e===null||e===void 0?void 0:e.error;if(!r)return null;var t=R(function(e,r){return(r===null||r===void 0?void 0:r.length)?q.createElement("div",null,q.createElement("strong",null,e,":"),q.createElement("ul",null,r.map(function(e){return q.createElement("li",{key:e.message},e.message)}))):null},"renderErrorList");return q.createElement("div",{className:ee["modal-backdrop"]},q.createElement("div",{className:ee["modal-content"]},q.createElement("button",{type:"button",className:ee["btn-close"],onClick:e.hideError},"✕"),q.createElement("div",{className:ee["error-title"]},q.createElement("button",{type:"button",className:ee["btn-retry"],onClick:R(function(){return window.location.reload()},"onClick")},q.createElement($,null))," ",r.message),q.createElement("div",{className:ee["error-details"]},r.networkError&&q.createElement("pre",{className:"network"},q.createElement("strong",null,"Network Error:")," ",r.networkError.message),t("GraphQL Errors",S(r.graphQLErrors)),t("Protocol Errors",S(r.protocolErrors)),t("Client Errors",S(r.clientErrors)),r.extraInfo&&q.createElement("pre",{className:"extra"},q.createElement("strong",null,"Extra Info:")," ",JSON.stringify(r.extraInfo,null,4)))))}R(er,"ApolloError");import{use as et}from"react";function en(){var e=et(Z);if(!e)throw new Error("useApolloError must be used within ApolloErrorProvider");return e}R(en,"useApolloError");import eo,{useEffect as ea,useMemo as ei,useState as es}from"react";var ec=null;function eu(e){ec=e}R(eu,"setGlobalApolloErrorCallback");function el(e){ec===null||ec===void 0?void 0:ec(e)}R(el,"showGlobalApolloError");function ef(e){var r=e.children;var t=I(es(null),2),n=t[0],o=t[1];ea(function(){eu(o)},[]);var a=ei(function(){return{error:n,showError:o,hideError:R(function(){return o(null)},"hideError")}},[n]);return eo.createElement(Z,{value:a},r)}R(ef,"ApolloErrorProvider");import{consola as ed}from"consola/browser";var em={silent:ed.silent,level:ed.level,fatal:ed.fatal,error:ed.error,warn:ed.warn,log:ed.log,info:ed.info,success:ed.success,ready:ed.ready,start:ed.start,box:ed.box,debug:ed.debug,trace:ed.trace,verbose:ed.verbose};import{toast as ep,Toaster as ev}from"react-hot-toast";var eg="/graphql";var eh,ey=(eh=/*#__PURE__*/function(e){"use strict";d(r,e);function r(){s(this,r);var e;e=i(this,r,arguments);P(e,"count",0);return e}u(r,[{key:"request",value:function e(e,r){var t=this;var n=Date.now();return this.count+=1,r(e).map(function(r){var o=Date.now()-n,a=e.operationName||"Unnamed";return em.info("[Apollo] #".concat(t.count,": ").concat(a," (").concat(o,"ms)")),r})}}]);return r}(A),R(eh,"DevLoggerLink"),eh);function eE(e){var r=e.uri,t=e.wsUrl,n=e.customLinks,o=new ey,a=z(function(e){var r=e.graphQLErrors,t=e.networkError,n=e.protocolErrors,o=e.operation;var a=(o===null||o===void 0?void 0:o.operationName)||"Unknown";if(r&&r.forEach(function(e){var r=e.message,t=e.locations,n=e.path;em.error("[GraphQL error] ".concat(a,": ").concat(r,", Location: ").concat(JSON.stringify(t),", Path: ").concat(n))}),n&&n.forEach(function(e){var r=e.message,t=e.extensions;em.error("[Protocol error]: ".concat(r,", Extensions: ").concat(JSON.stringify(t)))}),t&&em.error("[Network error]: ".concat(t)),r||n||t){var i,s;var c=(r===null||r===void 0?void 0:(i=r[0])===null||i===void 0?void 0:i.message)||(n===null||n===void 0?void 0:(s=n[0])===null||s===void 0?void 0:s.message)||(t===null||t===void 0?void 0:t.message)||"Unexpected error",u=new G({graphQLErrors:r||[],protocolErrors:n||[],clientErrors:[],networkError:t||null,errorMessage:c,extraInfo:{operation:o}});ep.error(function(e){return J.createElement(J.Fragment,null,c,"\xa0",J.createElement(Q,{cursor:"pointer",onClick:R(function(){setTimeout(function(){el(u)},0),ep.dismiss(e.id)},"onClick")}))})}}),i=B();r||em.warn('[Apollo] No GraphQL URI provided — using "'.concat(eg,'" as default'));var s=new D({uri:r!==null&&r!==void 0?r:eg,credentials:"include"}),c=t?new K(Y({url:t})):A.empty(),u=m(c,A)?F(function(e){var r=e.query;var t=W(r);return t.kind==="OperationDefinition"&&t.operation==="subscription"},c,s):s;return u===s&&t&&em.warn("[Apollo] WS URL is set, but subscriptions fallback to HTTP. Check your wsLink config."),[o,a,i].concat(S(n!==null&&n!==void 0?n:[]),[u])}R(eE,"createApolloLinks");function e_(e){var r=e.isNextJS,t=e.options,n=e.children,o=e.client,a=e.provider,i=e.cache;var s=t||{},c=s.uri,u=s.wsUrl,l=s.customLinks,f=E(s,["uri","wsUrl","customLinks"]),d=o!==null&&o!==void 0?o:x;if(typeof d!="function")throw new TypeError("Invalid ApolloClient provided. Ensure CustomClient is a class.");var p=a||U,v=H(function(){return j(eE({uri:c!==null&&c!==void 0?c:eg,wsUrl:u!==null&&u!==void 0?u:"",customLinks:l!==null&&l!==void 0?l:[]}))},[c,u,l]),g=H(function(){return m(i,M)?i:new M},[i]),h=H(function(){return new d(y({link:v,cache:g},f))},[d,v,g,f]),_=r?J.createElement(p,{makeClient:R(function(){return h},"makeClient")},n):J.createElement(p,{client:h},n);return J.createElement(J.Fragment,null,J.createElement(ef,null,_,J.createElement(er,null)),J.createElement(ev,{position:"top-right"}))}R(e_,"ApolloProvider");import{useTranslation as eb}from"react-i18next";var ew=eb;import eI from"i18next";import{initReactI18next as eS}from"react-i18next";function eC(e){return eI.use(eS).init(e)}R(eC,"initI18next");import ek from"classnames";import eO from"react";import eN from"./loading/loading.module.scss";function eL(e){var r=e.full,t=r===void 0?!1:r,n=e.block,o=n===void 0?!1:n,a=e.className,i=a===void 0?"":a,s=e.message,c=s===void 0?"Loading":s,u=E(e,["full","block","className","message"]);function l(){return eO.createElement("div",y({className:eN.container},u),eO.createElement("div",{className:eN.ring}),eO.createElement("div",{className:eN.ring}),eO.createElement("div",{className:eN.ring}),eO.createElement("div",{className:eN.ring}),c&&eO.createElement("div",{className:eN.message},c))}return R(l,"_renderLoading"),t?eO.createElement("div",{className:ek(eN.fullscreen,i)},l()):o?eO.createElement("div",{className:ek(eN.block,i)},l()):l()}R(eL,"Loading");import{createContext as eT}from"react";var eR=eT(void 0);import{use as eP}from"react";function ex(){var e=eP(eR);if(!e)throw new Error("useLoading must be used within a LoadingProvider");return e}R(ex,"useLoading");import eG,{useCallback as eA,useMemo as eU,useState as ej}from"react";function eD(e){var r=e.children;var t=I(ej(!1),2),n=t[0],o=t[1],a=I(ej(!1),2),i=a[0],s=a[1],c=eA(function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;o(!0),s(e)},[]),u=eA(function(){o(!1),s(!1)},[]),l=eU(function(){return{isLoading:n,isGlobalLoading:i,showLoading:c,hideLoading:u}},[n,i,c,u]);return eG.createElement(eR,{value:l},n?eG.createElement(eL,{full:i}):r)}R(eD,"LoadingProvider");import{enUS as eM}from"date-fns/locale";var eF={label:"English",value:"en",flag:"\uD83C\uDDFA\uD83C\uDDF8",adapterLocale:eM,icon:"flagpack:gb-nir",numberFormat:{code:"en-US",currency:"USD"},timezone:"America/New_York"};import{createContext as ez}from"react";var eB=ez(void 0);import{NextIntlClientProvider as eK}from"next-intl";import eW from"react";import{useTranslations as eY}from"next-intl";import{use as eJ}from"react";function eH(){var e=eJ(eB);if(!e)throw new Error("useNextIntl must be used within a NextIntlProvider");return e}R(eH,"useNextIntl");var eQ=eY;function eq(e){var r=R(function(r){var t;var n;var o=eH(),a=o.currentLanguage,i=r.messages,s=r.languages,c="en",u=i[(a===null||a===void 0?void 0:a.value)||c],l=(n=(t=s.find(function(e){return e.value===(a===null||a===void 0?void 0:a.value)}))===null||t===void 0?void 0:t.timezone)!==null&&n!==void 0?n:eF.timezone;return i?eW.createElement(eK,{locale:(a===null||a===void 0?void 0:a.value)||c,messages:u||null,timeZone:l},eW.createElement(e,r)):(em.warn("Missing messages for language: ".concat((a===null||a===void 0?void 0:a.value)||c)),null)},"PageWithI18n");return r.displayName="withNextIntl(".concat(e.displayName||e.name||"Component",")"),r}R(eq,"withNextIntl");import eV,{useMemo as e$}from"react";import{useCallback as eX,useEffect as eZ,useState as e0}from"react";import{Buffer as e1}from"node:buffer";var e2={Date:{is:R(function(e){return m(e,Date)},"is"),serialize:R(function(e){return{__type:"Date",value:e.toISOString()}},"serialize"),deserialize:R(function(e){return new Date(e)},"deserialize")},Map:{is:R(function(e){return m(e,Map)},"is"),serialize:R(function(e){return{__type:"Map",value:Array.from(e.entries())}},"serialize"),deserialize:R(function(e){return new Map(e)},"deserialize")},Set:{is:R(function(e){return m(e,Set)},"is"),serialize:R(function(e){return{__type:"Set",value:Array.from(e)}},"serialize"),deserialize:R(function(e){return new Set(e)},"deserialize")},RegExp:{is:R(function(e){return m(e,RegExp)},"is"),serialize:R(function(e){return{__type:"RegExp",value:{source:e.source,flags:e.flags}}},"serialize"),deserialize:R(function(e){var r=e.source,t=e.flags;return new RegExp(r,t)},"deserialize")},BigInt:{is:R(function(e){return(typeof e==="undefined"?"undefined":C(e))=="bigint"},"is"),serialize:R(function(e){return{__type:"BigInt",value:e.toString()}},"serialize"),deserialize:R(function(e){return BigInt(e)},"deserialize")},Buffer:{is:R(function(e){return e1.isBuffer(e)},"is"),serialize:R(function(e){return{__type:"Buffer",value:e.toString("base64")}},"serialize"),deserialize:R(function(e){return e1.from(e,"base64")},"deserialize")}},e3={serialize:function e(e){return JSON.stringify(e,function(e,r){var t=true,n=false,o=undefined;try{for(var a=Object.keys(e2)[Symbol.iterator](),i;!(t=(i=a.next()).done);t=true){var s=i.value;var c=e2[s];if(c.is(r))return c.serialize(r)}}catch(e){n=true;o=e}finally{try{if(!t&&a.return!=null){a.return()}}finally{if(n){throw o}}}return r})},deserialize:function e(e){return JSON.parse(e,function(e,r){if(r&&(typeof r==="undefined"?"undefined":C(r))=="object"&&"__type"in r&&typeof r.__type=="string"){var t=r.__type,n=e2[t];if(n)return n.deserialize(r.value)}return r})}};import e4 from"localforage";var e5={get:function e(e){return /*#__PURE__*/a(function(){var r;return N(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,e4.getItem(e)];case 1:return[2,t.sent()];case 2:r=t.sent();return[2,(em.error('[Storage:get] Error getting key "'.concat(e,'":'),r),null)];case 3:return[2]}})})()},set:function e(e,r){return /*#__PURE__*/a(function(){var t;return N(this,function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);return[4,e4.setItem(e,r)];case 1:n.sent();return[3,3];case 2:t=n.sent();em.error('[Storage:set] Error setting key "'.concat(e,'":'),t);return[3,3];case 3:return[2]}})})()},remove:function e(e){return /*#__PURE__*/a(function(){var r;return N(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,e4.removeItem(e)];case 1:t.sent();return[3,3];case 2:r=t.sent();em.error('[Storage:remove] Error removing key "'.concat(e,'":'),r);return[3,3];case 3:return[2]}})})()},keys:function e(){return /*#__PURE__*/a(function(){var e,r;return N(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,e4.keys()];case 1:return[2,(e=t.sent())!==null&&e!==void 0?e:[]];case 2:r=t.sent();return[2,(em.error("[Storage:keys] Error getting keys:",r),[])];case 3:return[2]}})})()}};function e8(e,r){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e3;var n=I(e0(r),2),o=n[0],i=n[1],s=I(e0(!1),2),c=s[0],u=s[1];eZ(function(){var n=!0;return R(function(){return /*#__PURE__*/a(function(){var o,a,s,c;return N(this,function(l){switch(l.label){case 0:l.trys.push([0,6,7,8]);return[4,e5.get(e)];case 1:o=l.sent();if(!n)return[3,5];if(!(o!==null))return[3,2];a=t.deserialize(o);i(a);return[3,5];case 2:if(!(r!==void 0))return[3,4];s=t.serialize(r);return[4,e5.set(e,s)];case 3:l.sent(),i(r);return[3,5];case 4:i(void 0);l.label=5;case 5:return[3,8];case 6:c=l.sent();em.error('Error loading value for key "'.concat(e,'":'),c),n&&i(r);return[3,8];case 7:n&&u(!0);return[7];case 8:return[2]}})})()},"loadValue")(),function(){n=!1,u(!1)}},[e,r,t]),eZ(function(){if(!c)return;R(function(){return /*#__PURE__*/a(function(){var r,n;return N(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);if(!(o!==void 0))return[3,2];r=t.serialize(o);return[4,e5.set(e,r)];case 1:a.sent();a.label=2;case 2:return[3,4];case 3:n=a.sent();em.error('Error saving value for key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},"saveValue")()},[o,e,t,c]);var l=eX(function(e){i(function(r){return typeof e=="function"?e(r):e})},[]),f=eX(function(){return /*#__PURE__*/a(function(){var r;return N(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,e5.remove(e)];case 1:t.sent(),i(void 0);return[3,3];case 2:r=t.sent();em.error('Error removing key "'.concat(e,'":'),r);return[3,3];case 3:return[2]}})})()},[e]);return{value:o,set:l,remove:f}}R(e8,"useStorage");function e6(e){var r=e.children;return eV.createElement(eV.Fragment,null,r)}R(e6,"LanguageWrapperBase");var e7=eq(e6);function e9(e){var r=e.children,t=e.languages,n=e.messages;var o=e8("lang",t[0]),a=o.value,i=o.set,s=e$(function(){return{languages:t,currentLanguage:a!==null&&a!==void 0?a:eF,setCurrentLanguage:i}},[t,i,a]);return eV.createElement(eB,{value:s},eV.createElement(e7,{languages:t,messages:n},r))}R(e9,"NextIntlProvider");import re from"@vitejs/plugin-react-swc";import{defineConfig as rr}from"vitest/config";function rt(e){return rr(y({plugins:[re()],test:{include:["**/*.test.e2e.?(c|m)[jt]s?(x)"],browser:{enabled:!0,provider:"playwright",instances:[{browser:"chromium"},{browser:"firefox"},{browser:"webkit"}]}}},e))}R(rt,"vitestE2E");import rn from"@vitejs/plugin-react-swc";import{defineConfig as ro}from"vitest/config";var ra=".cyberskill-storage";import ri from"dotenv";import{bool as rs,cleanEnv as rc,str as ru}from"envalid";import rl from"node:os";import rf from"node:path";import rd from"node:process";ri.config();function rm(){var e={DEBUG:rd.env.DEBUG||!1,CWD:rd.env.CWD||rd.cwd(),CYBERSKILL_STORAGE_DIRECTORY:rd.env.CYBERSKILL_STORAGE_DIRECTORY||rf.join(rl.homedir(),ra)};return rc(e,{DEBUG:rs(),CWD:ru(),CYBERSKILL_STORAGE_DIRECTORY:ru()})}R(rm,"getEnv");var rp=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as rv}from"node:child_process";import rg from"node:process";import*as rh from"node:util";var ry=function(e){return e.Error="error",e.Warning="warning",e}({});import rE from"chalk";import r_ from"consola";import{GraphQLError as rb}from"graphql";var rw=rm();rw.DEBUG||(r_.level=4);function rI(e){var r=rE[e];return typeof r=="function"?r:rE.green}R(rI,"chalkKeyword");var rS={silent:r_.silent,level:r_.level,fatal:r_.fatal,error:r_.error,warn:r_.warn,log:r_.log,info:r_.info,success:r_.success,ready:r_.ready,start:r_.start,box:r_.box,debug:r_.debug,trace:r_.trace,verbose:r_.verbose,printBoxedLog:function e(e,r){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(r===null||r===void 0?void 0:r.length)){r_.box(rE.green(e));return}r.forEach(function(e){var r=e.file,n=e.position,o=e.rule,a=e.message;r_.log("".concat(rE.gray("File:")," ").concat(rE.blue("".concat(r).concat(n?":".concat(n):"")))),o&&r_.log(" ".concat(rI(t)("Rule:")," ").concat(o)),r_.log(" ".concat(rI(t)("Message:")," ").concat(a))}),r_.box(rI(t)("".concat(e," : ").concat(r.length))),r_.log(rE.gray("─".repeat(40)))}};var rC={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};import rk from"node-fetch";import rO from"fs-extra";var rN=rO.lstatSync,rL=rO.readdirSync,rT=rO.mkdirSync,rR=rO.readFileSync,rP=rO.writeFileSync,rx=rO.appendFileSync,rG=rO.unlinkSync,rA=rO.statSync,rU=rO.readJsonSync,rj=rO.writeJsonSync;function rD(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++){r[t]=arguments[t]}return r.every(function(e){return rO.pathExistsSync(e)})}R(rD,"pathExistsSync");var rM=rm();function rF(e){var r=tr(rM.CWD,ts);if(!rD(r))return!1;try{var t=rU(r),n=t.name,o=t.dependencies,a=o===void 0?{}:o,i=t.devDependencies,s=i===void 0?{}:i,c=n===e,u=e in a,l=e in s;return c||u||l?{path:r,file:t,isCurrentProject:c,isDepend:u,isDevDepend:l}:!1}catch(e){return rS.warn("Failed to read package.json: ".concat(e.message)),!1}}R(rF,"getPackage");function rz(e){return /*#__PURE__*/a(function(){var r,t,n,o;return N(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,rk("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:r=a.sent();if(!r.ok)throw new Error("Failed to fetch latest version: ".concat(r.status," ").concat(r.statusText));return[4,r.json()];case 2:t=a.sent(),n=t.version;return[2,n];case 3:o=a.sent();throw rS.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})})()}R(rz,"getLatestPackageVersion");function rB(e,r){return /*#__PURE__*/a(function(){var t,n,o,a,i,s,c,u,l,f,d,m,p,v,g,h,E,_,b,w,I;return N(this,function(S){switch(S.label){case 0:S.trys.push([0,4,,5]);t=rF(e);if(!t)return[2,y({},rC)];c=t.path,u=t.file,l=t.isCurrentProject,f=t.isDepend,d=t.isDevDepend,m=(n=u.dependencies)!==null&&n!==void 0?n:{},p=(o=u.devDependencies)!==null&&o!==void 0?o:{},v=l?(a=u.version)!==null&&a!==void 0?a:"0.0.0":f?(i=m[e])!==null&&i!==void 0?i:"0.0.0":d?(s=p[e])!==null&&s!==void 0?s:"0.0.0":"0.0.0";if(!l)return[3,1];E=v;return[3,3];case 1:return[4,rz(e)];case 2:E=S.sent();S.label=3;case 3:g=E,h=l||v===g;if(!h&&(r===null||r===void 0?void 0:r.update)){;b=f?"dependencies":d?"devDependencies":null;b&&((_=u[b])===null||_===void 0?void 0:_[e])!==g&&(u[b]=(w=u[b])!==null&&w!==void 0?w:{},u[b][e]=g,rj(c,u),rS.info('Updated "'.concat(e,'" to version ').concat(g)))}return[2,{isCurrentProject:l,installedPath:c,file:u,isUpToDate:h}];case 4:I=S.sent();return[2,(rS.error('Error checking package "'.concat(e,'": ').concat(I.message)),y({},rC))];case 5:return[2]}})})()}R(rB,"checkPackage");function rK(){return /*#__PURE__*/a(function(){var e,r,t,n,o,a,i,s,c,u,l,f;return N(this,function(d){switch(d.label){case 0:e=[{command:R(function(){return tY.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:R(function(){return tY.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:R(function(){return tY.pnpmInstallForce()},"command"),message:"Retrying with force install"}];r=true,t=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(!!(r=(a=o.next()).done))return[3,8];i=a.value,s=i.command,c=i.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,s()];case 4:u=d.sent();return[4,r5("".concat(c," using: ").concat(u),u)];case 5:d.sent();return[2];case 6:l=d.sent();rS.warn("Installation attempt failed: ".concat(c)),rS.error("Details: ".concat(l.message));return[3,7];case 7:r=true;return[3,2];case 8:return[3,11];case 9:f=d.sent();t=true;n=f;return[3,11];case 10:try{if(!r&&o.return!=null){o.return()}}finally{if(t){throw n}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})})()}R(rK,"installDependencies");function rW(e,r){return /*#__PURE__*/a(function(){var t,n,o,a,i,s,c,u,l,f,d;return N(this,function(m){switch(m.label){case 0:if(!rD(tB.PACKAGE_JSON)){rS.error("package.json not found. Aborting setup.");return[2]}m.label=1;case 1:m.trys.push([1,13,,14]);t=S(new Set(e)).sort();return[4,Promise.all(t.map(function(e){return rB(e,y({},(r===null||r===void 0?void 0:r.update)&&{update:r.update}))}))];case 2:n=m.sent().every(function(e){return e.isUpToDate});if(n)return[3,4];return[4,rK()];case 3:n=m.sent();m.label=4;case 4:n;a=true,i=false,s=undefined;m.label=5;case 5:m.trys.push([5,10,11,12]);c=((o=r===null||r===void 0?void 0:r.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();m.label=6;case 6:if(!!(a=(u=c.next()).done))return[3,9];l=u.value;return[4,l()];case 7:m.sent();m.label=8;case 8:a=true;return[3,6];case 9:return[3,12];case 10:f=m.sent();i=true;s=f;return[3,12];case 11:try{if(!a&&c.return!=null){c.return()}}finally{if(i){throw s}}return[7];case 12:return[3,14];case 13:d=m.sent();throw rS.error('Failed to setup "'.concat(e.join(", "),'": ').concat(d.message)),d;case 14:return[2]}})})()}R(rW,"setupPackages");import rY from"node-persist";var rJ=rm();function rH(){return /*#__PURE__*/a(function(){var e;return N(this,function(r){switch(r.label){case 0:e=rY.defaultInstance;if(e)return[3,2];return[4,rY.init({dir:rJ.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=r.sent();r.label=2;case 2:e;return[2]}})})()}R(rH,"initNodePersist");var rQ={get:function e(e){return /*#__PURE__*/a(function(){var r,t;return N(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,rH()];case 1:n.sent();return[4,rY.getItem(e)];case 2:return[2,(r=n.sent())!==null&&r!==void 0?r:null];case 3:t=n.sent();return[2,(rS.error('[Storage:get] Error getting key "'.concat(e,'":'),t),null)];case 4:return[2]}})})()},set:function e(e,r){return /*#__PURE__*/a(function(){var t;return N(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,rH()];case 1:n.sent();return[4,rY.setItem(e,r)];case 2:n.sent();return[3,4];case 3:t=n.sent();rS.error('[Storage:set] Error setting key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/a(function(){var r;return N(this,function(t){switch(t.label){case 0:t.trys.push([0,3,,4]);return[4,rH()];case 1:t.sent();return[4,rY.removeItem(e)];case 2:t.sent();return[3,4];case 3:r=t.sent();rS.error('[Storage:remove] Error removing key "'.concat(e,'":'),r);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/a(function(){var e,r;return N(this,function(t){switch(t.label){case 0:t.trys.push([0,3,,4]);return[4,rH()];case 1:t.sent();return[4,rY.keys()];case 2:e=t.sent();return[2,Array.isArray(e)?e:(rS.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:r=t.sent();return[2,(rS.error("[Storage:keys] Error getting keys:",r),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/a(function(){return N(this,function(r){try{return[2,"".concat(rJ.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(rS.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var rq=rm(),rV=rh.promisify(rv);function r$(e){return"error_list:".concat(e)}R(r$,"getErrorListKey");function rX(e){return /*#__PURE__*/a(function(){var r,t,n;return N(this,function(o){switch(o.label){case 0:if(e.length===0)return[2];r=Date.now(),t=r$(r);o.label=1;case 1:o.trys.push([1,3,,4]);return[4,rQ.set(t,{errors:e,timestamp:r})];case 2:o.sent(),setTimeout(function(){return /*#__PURE__*/a(function(){var e;return N(this,function(r){switch(r.label){case 0:return[4,rQ.getLogLink(t)];case 1:e=r.sent();e&&rS.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:n=o.sent();rS.error("Failed to save errors: ".concat(n.message));return[3,4];case 4:return[2]}})})()}R(rX,"saveErrorListToStorage");function rZ(e){var r=[],t=[],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 s,c,u,l,f;var d=o.exec(e)||[],m=a.exec(e)||[],p=i.exec(e)||[];var v,g,h,y,E,_;d.length&&n?r.push({file:n,position:"".concat(d[1],":").concat(d[2]),type:d[3]===ry.Error?ry.Error:ry.Warning,message:(v=d===null||d===void 0?void 0:(s=d[4])===null||s===void 0?void 0:s.trim())!==null&&v!==void 0?v:"",rule:(g=d===null||d===void 0?void 0:(c=d[5])===null||c===void 0?void 0:c.trim())!==null&&g!==void 0?g:""}):m.length?r.push({file:(h=m===null||m===void 0?void 0:m[1])!==null&&h!==void 0?h:"",position:"".concat(m[2],":").concat(m[3]),type:m[4]===ry.Error?ry.Error:ry.Warning,message:(y=m===null||m===void 0?void 0:(u=m[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):p.length?r.push({file:"commitlint",type:ry.Error,message:(E=p===null||p===void 0?void 0:(l=p[1])===null||l===void 0?void 0:l.trim())!==null&&E!==void 0?E:"",rule:(_=p===null||p===void 0?void 0:(f=p[2])===null||f===void 0?void 0:f.trim())!==null&&_!==void 0?_:""}):t.push(e.trim())}}),r.length&&rX(r),rq.DEBUG&&t.length&&(rS.warn("Unmatched lines:"),t.forEach(function(e){return rS.info(" ".concat(e))}))}R(rZ,"parseTextErrors");function r0(e){try{var r=JSON.parse(e),t=[];r.forEach(function(e){var r=e.filePath,n=e.messages;n.forEach(function(e){var n=e.severity,o=e.line,a=e.column,i=e.ruleId,s=e.message;t.push({type:n===2?ry.Error:ry.Warning,file:r,position:"".concat(o,":").concat(a),rule:i,message:s})})}),t.length&&rX(t)}catch(r){rZ(e)}}R(r0,"parseCommandOutput");function r1(e){return /*#__PURE__*/a(function(e){var r,t,n,o,a,i,s,c,u;var l=arguments;return N(this,function(f){switch(f.label){case 0:r=l.length>1&&l[1]!==void 0?l[1]:r0;t=new AbortController;rg.on("SIGINT",function(){rS.warn("Process interrupted. Terminating..."),t.abort(),rg.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,rV(e,{maxBuffer:0x6400000,signal:t.signal})];case 2:n=f.sent(),o=n.stdout,a=n.stderr;[o,a].forEach(function(e){return e&&r(e)});f.label=3;case 3:return[3,5];case 4:i=f.sent();s=i.stdout,c=i.stderr,u=i.message;[s,c].forEach(function(e){return e&&r(e)}),!c&&!s&&rS.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}R(r1,"executeCommand");function r2(e){return{raw:!0,cmd:e}}R(r2,"rawCommand");function r3(e,r){return(r===null||r===void 0?void 0:r.isRemote)?"".concat(tx," ").concat(to," ").concat(e):(r===null||r===void 0?void 0:r.isCurrentProject)?"".concat(tx," ").concat(tT," ").concat(ty," ").concat(e):"".concat(tx," ").concat(th," ").concat(e)}R(r3,"formatCLI");function r4(e,r){return typeof e=="function"?r3(e(r),r):(typeof e==="undefined"?"undefined":C(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?r3(e,r):e}R(r4,"formatCommand");function r5(e,r){return /*#__PURE__*/a(function(){var t;return N(this,function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);rS.start("".concat(e)),rq.DEBUG&&rS.info("→ ".concat(r));return[4,r1(r)];case 1:n.sent(),rS.success("".concat(e," done."));return[3,3];case 2:t=n.sent();throw rS.error("".concat(e," failed: ").concat(t.message)),t;case 3:return[2]}})})()}R(r5,"runCommand");import r8,{join as r6,resolve as r7}from"node:path";var r9=rm();function te(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++){r[t]=arguments[t]}return r7.apply(void 0,[r9.CWD].concat(S(r)))}R(te,"resolveWorkingPath");function tr(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++){r[t]=arguments[t]}return r6.apply(void 0,S(r))}R(tr,"join");var tt=rm(),tn=tt.CWD,to="@cyberskill/shared",ta="node_modules",ti="dist",ts="package.json",tc="package-lock.json",tu="tsconfig.json",tl=".gitignore",tf=".simple-git-hooks.json",td="pnpm-lock.yaml",tm=".git/hooks/",tp=".git/COMMIT_EDITMSG",tv=".migrate-mongo.config.js",tg=tr(tn,ta,to,ti),th="cyberskill",ty="src/nodejs/cli/index.ts",tE="eslint",t_="eslint",tb="vitest",tw="playwright",tI="vitest",tS="@commitlint/cli",tC="commitlint",tk="lint-staged",tO="lint-staged",tN="typescript",tL="tsc",tT="tsx",tR="git",tP="pnpm",tx="pnpm exec",tG="simple-git-hooks",tA="simple-git-hooks",tU="@eslint/config-inspector",tj="eslint-config-inspector",tD="node-modules-inspector",tM="node-modules-inspector",tF="migrate-mongo",tz="./node_modules/migrate-mongo/bin/migrate-mongo",tB={CYBERSKILL_DIRECTORY:tg,WORKING_DIRECTORY:tn,TS_CONFIG:te(tu),GIT_IGNORE:te(tl),GIT_HOOK:te(tm),GIT_COMMIT_MSG:te(tp),SIMPLE_GIT_HOOKS_JSON:te(tf),PACKAGE_JSON:te(ts),PACKAGE_LOCK_JSON:te(tc),PNPM_LOCK_YAML:te(td),NODE_MODULES:te(ta),MIGRATE_MONGO_CONFIG:te(tv),LINT_STAGED_CONFIG:te("".concat(tg,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:te("".concat(tg,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:te("".concat(tg,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:te("".concat(tg,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:te("".concat(tg,"/react/vitest/vitest.e2e.js"))};function tK(e,r,t){return /*#__PURE__*/a(function(){return N(this,function(n){switch(n.label){case 0:if(!r)throw new Error("'first' argument is undefined");switch(e){case rp.CLI:return[3,1];case rp.STRING:return[3,3]}return[3,4];case 1:return[4,rW(r.split(" "),{update:!0})];case 2:return[2,(n.sent(),r4(r2("".concat(tx," ").concat(t))))];case 3:return[2,r4(r2(r))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}R(tK,"buildCommand");function tW(e,r,t){return function(){return /*#__PURE__*/a(function(){return N(this,function(n){return[2,tK(e,r,t)]})})()}}R(tW,"commandFactory");var tY={simpleGitHooks:tW(rp.CLI,tG,tA),eslintInspect:tW(rp.CLI,tU,tj),nodeModulesInspect:tW(rp.CLI,tD,tM),eslintCheck:tW(rp.CLI,tE,"".concat(t_," ").concat(tB.WORKING_DIRECTORY)),eslintFix:tW(rp.CLI,tE,"".concat(t_," ").concat(tB.WORKING_DIRECTORY," --fix")),typescriptCheck:tW(rp.CLI,tN,"".concat(tL," -p ").concat(tB.TS_CONFIG," --noEmit")),configureGitHook:tW(rp.STRING,"".concat(tR," config core.hooksPath ").concat(tB.GIT_HOOK)),testUnit:tW(rp.CLI,tb,"".concat(tI," --config ").concat(tB.UNIT_TEST_CONFIG)),testE2e:tW(rp.CLI,"".concat(tb," ").concat(tw),"".concat(tI," --config ").concat(tB.E2E_TEST_CONFIG)),mongoMigrateCreate:R(function(e){return tW(rp.CLI,tF,"".concat(tT," ").concat(tz," create ").concat(e," -f ").concat(tB.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tW(rp.CLI,tF,"".concat(tT," ").concat(tz," up -f ").concat(tB.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tW(rp.CLI,tF,"".concat(tT," ").concat(tz," down -f ").concat(tB.MIGRATE_MONGO_CONFIG)),commitLint:tW(rp.CLI,tS,"".concat(tC," --edit ").concat(tB.GIT_COMMIT_MSG," --config ").concat(tB.COMMITLINT_CONFIG)),lintStaged:tW(rp.CLI,tk,"".concat(tO," --config ").concat(tB.LINT_STAGED_CONFIG)),stageBuildDirectory:tW(rp.STRING,"".concat(tR," add ").concat(ti)),build:tW(rp.STRING,"".concat(tP," run build")),pnpmInstallStandard:tW(rp.STRING,"".concat(tP," install")),pnpmInstallLegacy:tW(rp.STRING,"".concat(tP," install --legacy-peer-deps")),pnpmInstallForce:tW(rp.STRING,"".concat(tP," install --force"))};function tJ(e){return ro(y({plugins:[rn()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[tB.UNIT_TEST_SETUP_CONFIG]}},e))}R(tJ,"vitestUnit");export{er as ApolloError,Z as ApolloErrorContext,ef as ApolloErrorProvider,e_ as ApolloProvider,eg as GRAPHQL_URI_DEFAULT,eL as Loading,eR as LoadingContext,eD as LoadingProvider,eF as NEXT_INTL_DEFAULT_LANGUAGE,eB as NextIntlContext,e9 as NextIntlProvider,ev as Toaster,eC as initI18next,em as log,eu as setGlobalApolloErrorCallback,el as showGlobalApolloError,e5 as storage,ep as toast,en as useApolloError,ex as useLoading,eH as useNextIntl,e8 as useStorage,ew as useTranslateI18next,eQ as useTranslateNextIntl,rt as vitestE2E,tJ as vitestUnit,eq as withNextIntl};
@@ -1 +1 @@
1
- "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(t){if(Array.isArray(t))return e(t)}function n(e,t,n,r,o,a,c){try{var i=e[a](c);var s=i.value}catch(e){n(e);return}if(i.done){t(s)}else{Promise.resolve(s).then(r,o)}}function r(e){return function(){var t=this,r=arguments;return new Promise(function(o,a){var c=e.apply(t,r);function i(e){n(c,o,a,i,s,"next",e)}function s(e){n(c,o,a,i,s,"throw",e)}i(undefined)})}}function o(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function a(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function c(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){o(e,t,n[t])})}return e}function s(e){return t(e)||a(e)||l(e)||c()}function u(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function l(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function f(e,t){var n,r,o,a={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},c=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return c.next=i(0),c["throw"]=i(1),c["return"]=i(2),typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function i(e){return function(t){return s([e,t])}}function s(i){if(n)throw new TypeError("Generator is already executing.");while(c&&(c=0,i[0]&&(a=0)),a)try{if(n=1,r&&(o=i[0]&2?r["return"]:i[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;if(r=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:a.label++;return{value:i[1],done:false};case 5:a.label++;r=i[1];i=[0];continue;case 7:i=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){a=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(i[0]===6&&a.label<o[1]){a.label=o[1];o=i;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(i);break}if(o[2])a.ops.pop();a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e];r=0}finally{n=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var d=Object.create;var v=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var m=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var y=function(e,t){return v(e,"name",{value:t,configurable:!0})};var _=function(e,t){for(var n in t)v(e,n,{get:t[n],enumerable:!0})},E=function(e,t,n,r){var o=true,a=false,c=undefined;if(t&&(typeof t==="undefined"?"undefined":u(t))=="object"||typeof t=="function")try{var i=function(){var o=l.value;!h.call(e,o)&&o!==n&&v(e,o,{get:function(){return t[o]},enumerable:!(r=p(t,o))||r.enumerable})};for(var s=g(t)[Symbol.iterator](),l;!(o=(l=s.next()).done);o=true)i()}catch(e){a=true;c=e}finally{try{if(!o&&s.return!=null){s.return()}}finally{if(a){throw c}}}return e};var I=function(e,t,n){return n=e!=null?d(m(e)):{},E(t||!e||!e.__esModule?v(n,"default",{value:e,enumerable:!0}):n,e)},b=function(e){return E(v({},"__esModule",{value:!0}),e)};var O={};_(O,{vitestE2E:function(){return S},vitestUnit:function(){return tp}});module.exports=b(O);var w=I(require("@vitejs/plugin-react-swc"),1),C=require("vitest/config");function S(e){return(0,C.defineConfig)(i({plugins:[(0,w.default)()],test:{include:["**/*.test.e2e.?(c|m)[jt]s?(x)"],browser:{enabled:!0,provider:"playwright",instances:[{browser:"chromium"},{browser:"firefox"},{browser:"webkit"}]}}},e))}y(S,"vitestE2E");var T=I(require("@vitejs/plugin-react-swc"),1),G=require("vitest/config");var R=".cyberskill-storage";var N=I(require("dotenv"),1),P=require("envalid"),k=I(require("os"),1),L=I(require("path"),1),j=I(require("process"),1);N.default.config();function D(){var e={DEBUG:j.default.env.DEBUG||!1,CWD:j.default.env.CWD||j.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:j.default.env.CYBERSKILL_STORAGE_DIRECTORY||L.default.join(k.default.homedir(),R)};return(0,P.cleanEnv)(e,{DEBUG:(0,P.bool)(),CWD:(0,P.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,P.str)()})}y(D,"getEnv");var U=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var x=require("child_process"),A=I(require("process"),1),M=I(require("util"),1);var F=function(e){return e.Error="error",e.Warning="warning",e}({});var q=I(require("chalk"),1),K=I(require("consola"),1),Y=require("graphql");var B=D();B.DEBUG||(K.default.level=4);function W(e){var t=q.default[e];return typeof t=="function"?t:q.default.green}y(W,"chalkKeyword");var J={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(q.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,o=e.rule,a=e.message;K.default.log("".concat(q.default.gray("File:")," ").concat(q.default.blue("".concat(t).concat(r?":".concat(r):"")))),o&&K.default.log(" ".concat(W(n)("Rule:")," ").concat(o)),K.default.log(" ".concat(W(n)("Message:")," ").concat(a))}),K.default.box(W(n)("".concat(e," : ").concat(t.length))),K.default.log(q.default.gray("─".repeat(40)))}};var H={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var $=I(require("node-fetch"),1);var V=I(require("fs-extra"),1),z=require("path");var Q=V.default,X=Q.lstatSync,Z=Q.readdirSync,ee=Q.mkdirSync,et=Q.readFileSync,en=Q.writeFileSync,er=Q.appendFileSync,eo=Q.unlinkSync,ea=Q.statSync,ec=V.default.readJsonSync,ei=V.default.writeJsonSync;function es(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return V.default.pathExistsSync(e)})}y(es,"pathExistsSync");var eu=D();function el(e){var t=eL(eu.CWD,eM);if(!es(t))return!1;try{var n=ec(t),r=n.name,o=n.dependencies,a=o===void 0?{}:o,c=n.devDependencies,i=c===void 0?{}:c,s=r===e,u=e in a,l=e in i;return s||u||l?{path:t,file:n,isCurrentProject:s,isDepend:u,isDevDepend:l}:!1}catch(e){return J.warn("Failed to read package.json: ".concat(e.message)),!1}}y(el,"getPackage");function ef(e){return /*#__PURE__*/r(function(){var t,n,r,o;return f(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,(0,$.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:n=a.sent(),r=n.version;return[2,r];case 3:o=a.sent();throw J.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})})()}y(ef,"getLatestPackageVersion");function ed(e,t){return /*#__PURE__*/r(function(){var n,r,o,a,c,s,u,l,d,v,p,g,m,h,y,_,E,I,b,O,w;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,4,,5]);n=el(e);if(!n)return[2,i({},H)];u=n.path,l=n.file,d=n.isCurrentProject,v=n.isDepend,p=n.isDevDepend,g=(r=l.dependencies)!==null&&r!==void 0?r:{},m=(o=l.devDependencies)!==null&&o!==void 0?o:{},h=d?(a=l.version)!==null&&a!==void 0?a:"0.0.0":v?(c=g[e])!==null&&c!==void 0?c:"0.0.0":p?(s=m[e])!==null&&s!==void 0?s:"0.0.0":"0.0.0";if(!d)return[3,1];E=h;return[3,3];case 1:return[4,ef(e)];case 2:E=f.sent();f.label=3;case 3:y=E,_=d||h===y;if(!_&&(t===null||t===void 0?void 0:t.update)){;b=v?"dependencies":p?"devDependencies":null;b&&((I=l[b])===null||I===void 0?void 0:I[e])!==y&&(l[b]=(O=l[b])!==null&&O!==void 0?O:{},l[b][e]=y,ei(u,l),J.info('Updated "'.concat(e,'" to version ').concat(y)))}return[2,{isCurrentProject:d,installedPath:u,file:l,isUpToDate:_}];case 4:w=f.sent();return[2,(J.error('Error checking package "'.concat(e,'": ').concat(w.message)),i({},H))];case 5:return[2]}})})()}y(ed,"checkPackage");function ev(){return /*#__PURE__*/r(function(){var e,t,n,r,o,a,c,i,s,u,l,d;return f(this,function(f){switch(f.label){case 0:e=[{command:y(function(){return tv.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:y(function(){return tv.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:y(function(){return tv.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;f.label=1;case 1:f.trys.push([1,9,10,11]);o=e[Symbol.iterator]();f.label=2;case 2:if(!!(t=(a=o.next()).done))return[3,8];c=a.value,i=c.command,s=c.message;f.label=3;case 3:f.trys.push([3,6,,7]);return[4,i()];case 4:u=f.sent();return[4,eR("".concat(s," using: ").concat(u),u)];case 5:f.sent();return[2];case 6:l=f.sent();J.warn("Installation attempt failed: ".concat(s)),J.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=f.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&o.return!=null){o.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})})()}y(ev,"installDependencies");function ep(e,t){return /*#__PURE__*/r(function(){var n,r,o,a,c,u,l,d,v,p,g;return f(this,function(f){switch(f.label){case 0:if(!es(tl.PACKAGE_JSON)){J.error("package.json not found. Aborting setup.");return[2]}f.label=1;case 1:f.trys.push([1,13,,14]);n=s(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return ed(e,i({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=f.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,ev()];case 3:r=f.sent();f.label=4;case 4:r;a=true,c=false,u=undefined;f.label=5;case 5:f.trys.push([5,10,11,12]);l=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();f.label=6;case 6:if(!!(a=(d=l.next()).done))return[3,9];v=d.value;return[4,v()];case 7:f.sent();f.label=8;case 8:a=true;return[3,6];case 9:return[3,12];case 10:p=f.sent();c=true;u=p;return[3,12];case 11:try{if(!a&&l.return!=null){l.return()}}finally{if(c){throw u}}return[7];case 12:return[3,14];case 13:g=f.sent();throw J.error('Failed to setup "'.concat(e.join(", "),'": ').concat(g.message)),g;case 14:return[2]}})})()}y(ep,"setupPackages");var eg=I(require("node-persist"),1);var em=D();function eh(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:e=eg.default.defaultInstance;if(e)return[3,2];return[4,eg.default.init({dir:em.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]}})})()}y(eh,"initNodePersist");var ey={get:function e(e){return /*#__PURE__*/r(function(){var t,n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eh()];case 1:r.sent();return[4,eg.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(J.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eh()];case 1:r.sent();return[4,eg.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();J.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/r(function(){var t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eh()];case 1:n.sent();return[4,eg.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();J.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/r(function(){var e,t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eh()];case 1:n.sent();return[4,eg.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(J.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(J.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/r(function(){return f(this,function(t){try{return[2,"".concat(em.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(J.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var e_=D(),eE=M.promisify(x.exec);function eI(e){return"error_list:".concat(e)}y(eI,"getErrorListKey");function eb(e){return /*#__PURE__*/r(function(){var t,n,o;return f(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];t=Date.now(),n=eI(t);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,ey.set(n,{errors:e,timestamp:t})];case 2:a.sent(),setTimeout(function(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:return[4,ey.getLogLink(n)];case 1:e=t.sent();e&&J.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:o=a.sent();J.error("Failed to save errors: ".concat(o.message));return[3,4];case 4:return[2]}})})()}y(eb,"saveErrorListToStorage");function eO(e){var t=[],n=[],r="",o=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,a=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,c=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,s,u,l,f;var d=o.exec(e)||[],v=a.exec(e)||[],p=c.exec(e)||[];var g,m,h,y,_,E;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===F.Error?F.Error:F.Warning,message:(g=d===null||d===void 0?void 0:(i=d[4])===null||i===void 0?void 0:i.trim())!==null&&g!==void 0?g:"",rule:(m=d===null||d===void 0?void 0:(s=d[5])===null||s===void 0?void 0:s.trim())!==null&&m!==void 0?m:""}):v.length?t.push({file:(h=v===null||v===void 0?void 0:v[1])!==null&&h!==void 0?h:"",position:"".concat(v[2],":").concat(v[3]),type:v[4]===F.Error?F.Error:F.Warning,message:(y=v===null||v===void 0?void 0:(u=v[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):p.length?t.push({file:"commitlint",type:F.Error,message:(_=p===null||p===void 0?void 0:(l=p[1])===null||l===void 0?void 0:l.trim())!==null&&_!==void 0?_:"",rule:(E=p===null||p===void 0?void 0:(f=p[2])===null||f===void 0?void 0:f.trim())!==null&&E!==void 0?E:""}):n.push(e.trim())}}),t.length&&eb(t),e_.DEBUG&&n.length&&(J.warn("Unmatched lines:"),n.forEach(function(e){return J.info(" ".concat(e))}))}y(eO,"parseTextErrors");function ew(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,o=e.line,a=e.column,c=e.ruleId,i=e.message;n.push({type:r===2?F.Error:F.Warning,file:t,position:"".concat(o,":").concat(a),rule:c,message:i})})}),n.length&&eb(n)}catch(t){eO(e)}}y(ew,"parseCommandOutput");function eC(e){return /*#__PURE__*/r(function(e){var t,n,r,o,a,c,i,s,u;var l=arguments;return f(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:ew;n=new AbortController;A.default.on("SIGINT",function(){J.warn("Process interrupted. Terminating..."),n.abort(),A.default.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,eE(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),o=r.stdout,a=r.stderr;[o,a].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:c=f.sent();i=c.stdout,s=c.stderr,u=c.message;[i,s].forEach(function(e){return e&&t(e)}),!s&&!i&&J.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}y(eC,"executeCommand");function eS(e){return{raw:!0,cmd:e}}y(eS,"rawCommand");function eT(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(tt," ").concat(eU," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tt," ").concat(e8," ").concat(ez," ").concat(e):"".concat(tt," ").concat(eV," ").concat(e)}y(eT,"formatCLI");function eG(e,t){return typeof e=="function"?eT(e(t),t):(typeof e==="undefined"?"undefined":u(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?eT(e,t):e}y(eG,"formatCommand");function eR(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);J.start("".concat(e)),e_.DEBUG&&J.info("→ ".concat(t));return[4,eC(t)];case 1:r.sent(),J.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw J.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}y(eR,"runCommand");var eN=require("path");var eP=D();function ek(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,eN.resolve).apply(this,[eP.CWD].concat(s(t)))}y(ek,"resolveWorkingPath");function eL(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,eN.join).apply(this,s(t))}y(eL,"join");var ej=D(),eD=ej.CWD,eU="@cyberskill/shared",ex="node_modules",eA="dist",eM="package.json",eF="package-lock.json",eq="tsconfig.json",eK=".gitignore",eY=".simple-git-hooks.json",eB="pnpm-lock.yaml",eW=".git/hooks/",eJ=".git/COMMIT_EDITMSG",eH=".migrate-mongo.config.js",e$=eL(eD,ex,eU,eA),eV="cyberskill",ez="src/nodejs/cli/index.ts",eQ="eslint",eX="eslint",eZ="vitest",e0="playwright",e1="vitest",e2="@commitlint/cli",e3="commitlint",e4="lint-staged",e5="lint-staged",e6="typescript",e7="tsc",e8="tsx",e9="git",te="pnpm",tt="pnpm exec",tn="simple-git-hooks",tr="simple-git-hooks",to="@eslint/config-inspector",ta="eslint-config-inspector",tc="node-modules-inspector",ti="node-modules-inspector",ts="migrate-mongo",tu="./node_modules/migrate-mongo/bin/migrate-mongo",tl={CYBERSKILL_DIRECTORY:e$,WORKING_DIRECTORY:eD,TS_CONFIG:ek(eq),GIT_IGNORE:ek(eK),GIT_HOOK:ek(eW),GIT_COMMIT_MSG:ek(eJ),SIMPLE_GIT_HOOKS_JSON:ek(eY),PACKAGE_JSON:ek(eM),PACKAGE_LOCK_JSON:ek(eF),PNPM_LOCK_YAML:ek(eB),NODE_MODULES:ek(ex),MIGRATE_MONGO_CONFIG:ek(eH),LINT_STAGED_CONFIG:ek("".concat(e$,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:ek("".concat(e$,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:ek("".concat(e$,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:ek("".concat(e$,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:ek("".concat(e$,"/react/vitest/vitest.e2e.js"))};function tf(e,t,n){return /*#__PURE__*/r(function(){return f(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case U.CLI:return[3,1];case U.STRING:return[3,3]}return[3,4];case 1:return[4,ep(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),eG(eS("".concat(tt," ").concat(n))))];case 3:return[2,eG(eS(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}y(tf,"buildCommand");function td(e,t,n){return function(){return /*#__PURE__*/r(function(){return f(this,function(r){return[2,tf(e,t,n)]})})()}}y(td,"commandFactory");var tv={simpleGitHooks:td(U.CLI,tn,tr),eslintInspect:td(U.CLI,to,ta),nodeModulesInspect:td(U.CLI,tc,ti),eslintCheck:td(U.CLI,eQ,"".concat(eX," ").concat(tl.WORKING_DIRECTORY)),eslintFix:td(U.CLI,eQ,"".concat(eX," ").concat(tl.WORKING_DIRECTORY," --fix")),typescriptCheck:td(U.CLI,e6,"".concat(e7," -p ").concat(tl.TS_CONFIG," --noEmit")),configureGitHook:td(U.STRING,"".concat(e9," config core.hooksPath ").concat(tl.GIT_HOOK)),testUnit:td(U.CLI,eZ,"".concat(e1," --config ").concat(tl.UNIT_TEST_CONFIG)),testE2e:td(U.CLI,"".concat(eZ," ").concat(e0),"".concat(e1," --config ").concat(tl.E2E_TEST_CONFIG)),mongoMigrateCreate:y(function(e){return td(U.CLI,ts,"".concat(e8," ").concat(tu," create ").concat(e," -f ").concat(tl.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:td(U.CLI,ts,"".concat(e8," ").concat(tu," up -f ").concat(tl.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:td(U.CLI,ts,"".concat(e8," ").concat(tu," down -f ").concat(tl.MIGRATE_MONGO_CONFIG)),commitLint:td(U.CLI,e2,"".concat(e3," --edit ").concat(tl.GIT_COMMIT_MSG," --config ").concat(tl.COMMITLINT_CONFIG)),lintStaged:td(U.CLI,e4,"".concat(e5," --config ").concat(tl.LINT_STAGED_CONFIG)),stageBuildDirectory:td(U.STRING,"".concat(e9," add ").concat(eA)),build:td(U.STRING,"".concat(te," run build")),pnpmInstallStandard:td(U.STRING,"".concat(te," install")),pnpmInstallLegacy:td(U.STRING,"".concat(te," install --legacy-peer-deps")),pnpmInstallForce:td(U.STRING,"".concat(te," install --force"))};function tp(e){return(0,G.defineConfig)(i({plugins:[(0,T.default)()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[tl.UNIT_TEST_SETUP_CONFIG]}},e))}y(tp,"vitestUnit");0&&(module.exports={vitestE2E:vitestE2E,vitestUnit:vitestUnit});
1
+ "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(t){if(Array.isArray(t))return e(t)}function n(e,t,n,r,o,a,c){try{var i=e[a](c);var s=i.value}catch(e){n(e);return}if(i.done){t(s)}else{Promise.resolve(s).then(r,o)}}function r(e){return function(){var t=this,r=arguments;return new Promise(function(o,a){var c=e.apply(t,r);function i(e){n(c,o,a,i,s,"next",e)}function s(e){n(c,o,a,i,s,"throw",e)}i(undefined)})}}function o(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function a(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function c(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){o(e,t,n[t])})}return e}function s(e){return t(e)||a(e)||l(e)||c()}function u(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function l(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function f(e,t){var n,r,o,a={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},c=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return c.next=i(0),c["throw"]=i(1),c["return"]=i(2),typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function i(e){return function(t){return s([e,t])}}function s(i){if(n)throw new TypeError("Generator is already executing.");while(c&&(c=0,i[0]&&(a=0)),a)try{if(n=1,r&&(o=i[0]&2?r["return"]:i[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;if(r=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:a.label++;return{value:i[1],done:false};case 5:a.label++;r=i[1];i=[0];continue;case 7:i=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){a=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(i[0]===6&&a.label<o[1]){a.label=o[1];o=i;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(i);break}if(o[2])a.ops.pop();a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e];r=0}finally{n=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var d=Object.create;var v=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var m=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var y=function(e,t){return v(e,"name",{value:t,configurable:!0})};var _=function(e,t){for(var n in t)v(e,n,{get:t[n],enumerable:!0})},E=function(e,t,n,r){var o=true,a=false,c=undefined;if(t&&(typeof t==="undefined"?"undefined":u(t))=="object"||typeof t=="function")try{var i=function(){var o=l.value;!h.call(e,o)&&o!==n&&v(e,o,{get:function(){return t[o]},enumerable:!(r=p(t,o))||r.enumerable})};for(var s=g(t)[Symbol.iterator](),l;!(o=(l=s.next()).done);o=true)i()}catch(e){a=true;c=e}finally{try{if(!o&&s.return!=null){s.return()}}finally{if(a){throw c}}}return e};var I=function(e,t,n){return n=e!=null?d(m(e)):{},E(t||!e||!e.__esModule?v(n,"default",{value:e,enumerable:!0}):n,e)},b=function(e){return E(v({},"__esModule",{value:!0}),e)};var O={};_(O,{vitestE2E:function(){return S},vitestUnit:function(){return tp}});module.exports=b(O);var w=I(require("@vitejs/plugin-react-swc"),1),C=require("vitest/config");function S(e){return(0,C.defineConfig)(i({plugins:[(0,w.default)()],test:{include:["**/*.test.e2e.?(c|m)[jt]s?(x)"],browser:{enabled:!0,provider:"playwright",instances:[{browser:"chromium"},{browser:"firefox"},{browser:"webkit"}]}}},e))}y(S,"vitestE2E");var T=I(require("@vitejs/plugin-react-swc"),1),G=require("vitest/config");var R=".cyberskill-storage";var N=I(require("dotenv"),1),P=require("envalid"),k=I(require("os"),1),L=I(require("path"),1),j=I(require("process"),1);N.default.config();function D(){var e={DEBUG:j.default.env.DEBUG||!1,CWD:j.default.env.CWD||j.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:j.default.env.CYBERSKILL_STORAGE_DIRECTORY||L.default.join(k.default.homedir(),R)};return(0,P.cleanEnv)(e,{DEBUG:(0,P.bool)(),CWD:(0,P.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,P.str)()})}y(D,"getEnv");var U=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var x=require("child_process"),A=I(require("process"),1),M=I(require("util"),1);var F=function(e){return e.Error="error",e.Warning="warning",e}({});var q=I(require("chalk"),1),K=I(require("consola"),1),Y=require("graphql");var B=D();B.DEBUG||(K.default.level=4);function W(e){var t=q.default[e];return typeof t=="function"?t:q.default.green}y(W,"chalkKeyword");var J={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(q.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,o=e.rule,a=e.message;K.default.log("".concat(q.default.gray("File:")," ").concat(q.default.blue("".concat(t).concat(r?":".concat(r):"")))),o&&K.default.log(" ".concat(W(n)("Rule:")," ").concat(o)),K.default.log(" ".concat(W(n)("Message:")," ").concat(a))}),K.default.box(W(n)("".concat(e," : ").concat(t.length))),K.default.log(q.default.gray("─".repeat(40)))}};var H={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var $=I(require("node-fetch"),1);var V=I(require("fs-extra"),1),z=require("path");var Q=V.default,X=Q.lstatSync,Z=Q.readdirSync,ee=Q.mkdirSync,et=Q.readFileSync,en=Q.writeFileSync,er=Q.appendFileSync,eo=Q.unlinkSync,ea=Q.statSync,ec=V.default.readJsonSync,ei=V.default.writeJsonSync;function es(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return V.default.pathExistsSync(e)})}y(es,"pathExistsSync");var eu=D();function el(e){var t=eL(eu.CWD,eM);if(!es(t))return!1;try{var n=ec(t),r=n.name,o=n.dependencies,a=o===void 0?{}:o,c=n.devDependencies,i=c===void 0?{}:c,s=r===e,u=e in a,l=e in i;return s||u||l?{path:t,file:n,isCurrentProject:s,isDepend:u,isDevDepend:l}:!1}catch(e){return J.warn("Failed to read package.json: ".concat(e.message)),!1}}y(el,"getPackage");function ef(e){return /*#__PURE__*/r(function(){var t,n,r,o;return f(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,(0,$.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:n=a.sent(),r=n.version;return[2,r];case 3:o=a.sent();throw J.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})})()}y(ef,"getLatestPackageVersion");function ed(e,t){return /*#__PURE__*/r(function(){var n,r,o,a,c,s,u,l,d,v,p,g,m,h,y,_,E,I,b,O,w;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,4,,5]);n=el(e);if(!n)return[2,i({},H)];u=n.path,l=n.file,d=n.isCurrentProject,v=n.isDepend,p=n.isDevDepend,g=(r=l.dependencies)!==null&&r!==void 0?r:{},m=(o=l.devDependencies)!==null&&o!==void 0?o:{},h=d?(a=l.version)!==null&&a!==void 0?a:"0.0.0":v?(c=g[e])!==null&&c!==void 0?c:"0.0.0":p?(s=m[e])!==null&&s!==void 0?s:"0.0.0":"0.0.0";if(!d)return[3,1];E=h;return[3,3];case 1:return[4,ef(e)];case 2:E=f.sent();f.label=3;case 3:y=E,_=d||h===y;if(!_&&(t===null||t===void 0?void 0:t.update)){;b=v?"dependencies":p?"devDependencies":null;b&&((I=l[b])===null||I===void 0?void 0:I[e])!==y&&(l[b]=(O=l[b])!==null&&O!==void 0?O:{},l[b][e]=y,ei(u,l),J.info('Updated "'.concat(e,'" to version ').concat(y)))}return[2,{isCurrentProject:d,installedPath:u,file:l,isUpToDate:_}];case 4:w=f.sent();return[2,(J.error('Error checking package "'.concat(e,'": ').concat(w.message)),i({},H))];case 5:return[2]}})})()}y(ed,"checkPackage");function ev(){return /*#__PURE__*/r(function(){var e,t,n,r,o,a,c,i,s,u,l,d;return f(this,function(f){switch(f.label){case 0:e=[{command:y(function(){return tv.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:y(function(){return tv.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:y(function(){return tv.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;f.label=1;case 1:f.trys.push([1,9,10,11]);o=e[Symbol.iterator]();f.label=2;case 2:if(!!(t=(a=o.next()).done))return[3,8];c=a.value,i=c.command,s=c.message;f.label=3;case 3:f.trys.push([3,6,,7]);return[4,i()];case 4:u=f.sent();return[4,eR("".concat(s," using: ").concat(u),u)];case 5:f.sent();return[2];case 6:l=f.sent();J.warn("Installation attempt failed: ".concat(s)),J.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=f.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&o.return!=null){o.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})})()}y(ev,"installDependencies");function ep(e,t){return /*#__PURE__*/r(function(){var n,r,o,a,c,u,l,d,v,p,g;return f(this,function(f){switch(f.label){case 0:if(!es(tl.PACKAGE_JSON)){J.error("package.json not found. Aborting setup.");return[2]}f.label=1;case 1:f.trys.push([1,13,,14]);n=s(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return ed(e,i({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=f.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,ev()];case 3:r=f.sent();f.label=4;case 4:r;a=true,c=false,u=undefined;f.label=5;case 5:f.trys.push([5,10,11,12]);l=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();f.label=6;case 6:if(!!(a=(d=l.next()).done))return[3,9];v=d.value;return[4,v()];case 7:f.sent();f.label=8;case 8:a=true;return[3,6];case 9:return[3,12];case 10:p=f.sent();c=true;u=p;return[3,12];case 11:try{if(!a&&l.return!=null){l.return()}}finally{if(c){throw u}}return[7];case 12:return[3,14];case 13:g=f.sent();throw J.error('Failed to setup "'.concat(e.join(", "),'": ').concat(g.message)),g;case 14:return[2]}})})()}y(ep,"setupPackages");var eg=I(require("node-persist"),1);var em=D();function eh(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:e=eg.default.defaultInstance;if(e)return[3,2];return[4,eg.default.init({dir:em.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]}})})()}y(eh,"initNodePersist");var ey={get:function e(e){return /*#__PURE__*/r(function(){var t,n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eh()];case 1:r.sent();return[4,eg.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(J.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eh()];case 1:r.sent();return[4,eg.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();J.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/r(function(){var t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eh()];case 1:n.sent();return[4,eg.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();J.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/r(function(){var e,t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eh()];case 1:n.sent();return[4,eg.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(J.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(J.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/r(function(){return f(this,function(t){try{return[2,"".concat(em.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(J.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var e_=D(),eE=M.promisify(x.exec);function eI(e){return"error_list:".concat(e)}y(eI,"getErrorListKey");function eb(e){return /*#__PURE__*/r(function(){var t,n,o;return f(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];t=Date.now(),n=eI(t);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,ey.set(n,{errors:e,timestamp:t})];case 2:a.sent(),setTimeout(function(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:return[4,ey.getLogLink(n)];case 1:e=t.sent();e&&J.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:o=a.sent();J.error("Failed to save errors: ".concat(o.message));return[3,4];case 4:return[2]}})})()}y(eb,"saveErrorListToStorage");function eO(e){var t=[],n=[],r="",o=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,a=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,c=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,s,u,l,f;var d=o.exec(e)||[],v=a.exec(e)||[],p=c.exec(e)||[];var g,m,h,y,_,E;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===F.Error?F.Error:F.Warning,message:(g=d===null||d===void 0?void 0:(i=d[4])===null||i===void 0?void 0:i.trim())!==null&&g!==void 0?g:"",rule:(m=d===null||d===void 0?void 0:(s=d[5])===null||s===void 0?void 0:s.trim())!==null&&m!==void 0?m:""}):v.length?t.push({file:(h=v===null||v===void 0?void 0:v[1])!==null&&h!==void 0?h:"",position:"".concat(v[2],":").concat(v[3]),type:v[4]===F.Error?F.Error:F.Warning,message:(y=v===null||v===void 0?void 0:(u=v[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):p.length?t.push({file:"commitlint",type:F.Error,message:(_=p===null||p===void 0?void 0:(l=p[1])===null||l===void 0?void 0:l.trim())!==null&&_!==void 0?_:"",rule:(E=p===null||p===void 0?void 0:(f=p[2])===null||f===void 0?void 0:f.trim())!==null&&E!==void 0?E:""}):n.push(e.trim())}}),t.length&&eb(t),e_.DEBUG&&n.length&&(J.warn("Unmatched lines:"),n.forEach(function(e){return J.info(" ".concat(e))}))}y(eO,"parseTextErrors");function ew(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,o=e.line,a=e.column,c=e.ruleId,i=e.message;n.push({type:r===2?F.Error:F.Warning,file:t,position:"".concat(o,":").concat(a),rule:c,message:i})})}),n.length&&eb(n)}catch(t){eO(e)}}y(ew,"parseCommandOutput");function eC(e){return /*#__PURE__*/r(function(e){var t,n,r,o,a,c,i,s,u;var l=arguments;return f(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:ew;n=new AbortController;A.default.on("SIGINT",function(){J.warn("Process interrupted. Terminating..."),n.abort(),A.default.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,eE(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),o=r.stdout,a=r.stderr;[o,a].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:c=f.sent();i=c.stdout,s=c.stderr,u=c.message;[i,s].forEach(function(e){return e&&t(e)}),!s&&!i&&J.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}y(eC,"executeCommand");function eS(e){return{raw:!0,cmd:e}}y(eS,"rawCommand");function eT(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(tt," ").concat(eU," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tt," ").concat(e8," ").concat(ez," ").concat(e):"".concat(tt," ").concat(eV," ").concat(e)}y(eT,"formatCLI");function eG(e,t){return typeof e=="function"?eT(e(t),t):(typeof e==="undefined"?"undefined":u(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?eT(e,t):e}y(eG,"formatCommand");function eR(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);J.start("".concat(e)),e_.DEBUG&&J.info("→ ".concat(t));return[4,eC(t)];case 1:r.sent(),J.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw J.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}y(eR,"runCommand");var eN=I(require("path"),1);var eP=D();function ek(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,eN.resolve).apply(this,[eP.CWD].concat(s(t)))}y(ek,"resolveWorkingPath");function eL(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,eN.join).apply(this,s(t))}y(eL,"join");var ej=D(),eD=ej.CWD,eU="@cyberskill/shared",ex="node_modules",eA="dist",eM="package.json",eF="package-lock.json",eq="tsconfig.json",eK=".gitignore",eY=".simple-git-hooks.json",eB="pnpm-lock.yaml",eW=".git/hooks/",eJ=".git/COMMIT_EDITMSG",eH=".migrate-mongo.config.js",e$=eL(eD,ex,eU,eA),eV="cyberskill",ez="src/nodejs/cli/index.ts",eQ="eslint",eX="eslint",eZ="vitest",e0="playwright",e1="vitest",e2="@commitlint/cli",e3="commitlint",e4="lint-staged",e5="lint-staged",e6="typescript",e7="tsc",e8="tsx",e9="git",te="pnpm",tt="pnpm exec",tn="simple-git-hooks",tr="simple-git-hooks",to="@eslint/config-inspector",ta="eslint-config-inspector",tc="node-modules-inspector",ti="node-modules-inspector",ts="migrate-mongo",tu="./node_modules/migrate-mongo/bin/migrate-mongo",tl={CYBERSKILL_DIRECTORY:e$,WORKING_DIRECTORY:eD,TS_CONFIG:ek(eq),GIT_IGNORE:ek(eK),GIT_HOOK:ek(eW),GIT_COMMIT_MSG:ek(eJ),SIMPLE_GIT_HOOKS_JSON:ek(eY),PACKAGE_JSON:ek(eM),PACKAGE_LOCK_JSON:ek(eF),PNPM_LOCK_YAML:ek(eB),NODE_MODULES:ek(ex),MIGRATE_MONGO_CONFIG:ek(eH),LINT_STAGED_CONFIG:ek("".concat(e$,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:ek("".concat(e$,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:ek("".concat(e$,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:ek("".concat(e$,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:ek("".concat(e$,"/react/vitest/vitest.e2e.js"))};function tf(e,t,n){return /*#__PURE__*/r(function(){return f(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case U.CLI:return[3,1];case U.STRING:return[3,3]}return[3,4];case 1:return[4,ep(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),eG(eS("".concat(tt," ").concat(n))))];case 3:return[2,eG(eS(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}y(tf,"buildCommand");function td(e,t,n){return function(){return /*#__PURE__*/r(function(){return f(this,function(r){return[2,tf(e,t,n)]})})()}}y(td,"commandFactory");var tv={simpleGitHooks:td(U.CLI,tn,tr),eslintInspect:td(U.CLI,to,ta),nodeModulesInspect:td(U.CLI,tc,ti),eslintCheck:td(U.CLI,eQ,"".concat(eX," ").concat(tl.WORKING_DIRECTORY)),eslintFix:td(U.CLI,eQ,"".concat(eX," ").concat(tl.WORKING_DIRECTORY," --fix")),typescriptCheck:td(U.CLI,e6,"".concat(e7," -p ").concat(tl.TS_CONFIG," --noEmit")),configureGitHook:td(U.STRING,"".concat(e9," config core.hooksPath ").concat(tl.GIT_HOOK)),testUnit:td(U.CLI,eZ,"".concat(e1," --config ").concat(tl.UNIT_TEST_CONFIG)),testE2e:td(U.CLI,"".concat(eZ," ").concat(e0),"".concat(e1," --config ").concat(tl.E2E_TEST_CONFIG)),mongoMigrateCreate:y(function(e){return td(U.CLI,ts,"".concat(e8," ").concat(tu," create ").concat(e," -f ").concat(tl.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:td(U.CLI,ts,"".concat(e8," ").concat(tu," up -f ").concat(tl.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:td(U.CLI,ts,"".concat(e8," ").concat(tu," down -f ").concat(tl.MIGRATE_MONGO_CONFIG)),commitLint:td(U.CLI,e2,"".concat(e3," --edit ").concat(tl.GIT_COMMIT_MSG," --config ").concat(tl.COMMITLINT_CONFIG)),lintStaged:td(U.CLI,e4,"".concat(e5," --config ").concat(tl.LINT_STAGED_CONFIG)),stageBuildDirectory:td(U.STRING,"".concat(e9," add ").concat(eA)),build:td(U.STRING,"".concat(te," run build")),pnpmInstallStandard:td(U.STRING,"".concat(te," install")),pnpmInstallLegacy:td(U.STRING,"".concat(te," install --legacy-peer-deps")),pnpmInstallForce:td(U.STRING,"".concat(te," install --force"))};function tp(e){return(0,G.defineConfig)(i({plugins:[(0,T.default)()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[tl.UNIT_TEST_SETUP_CONFIG]}},e))}y(tp,"vitestUnit");0&&(module.exports={vitestE2E:vitestE2E,vitestUnit:vitestUnit});
@@ -1 +1 @@
1
- function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(t){if(Array.isArray(t))return e(t)}function n(e,t,n,r,o,c,a){try{var i=e[c](a);var s=i.value}catch(e){n(e);return}if(i.done){t(s)}else{Promise.resolve(s).then(r,o)}}function r(e){return function(){var t=this,r=arguments;return new Promise(function(o,c){var a=e.apply(t,r);function i(e){n(a,o,c,i,s,"next",e)}function s(e){n(a,o,c,i,s,"throw",e)}i(undefined)})}}function o(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function c(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function a(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){o(e,t,n[t])})}return e}function s(e){return t(e)||c(e)||l(e)||a()}function u(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function l(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function f(e,t){var n,r,o,c={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},a=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return a.next=i(0),a["throw"]=i(1),a["return"]=i(2),typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function i(e){return function(t){return s([e,t])}}function s(i){if(n)throw new TypeError("Generator is already executing.");while(a&&(a=0,i[0]&&(c=0)),c)try{if(n=1,r&&(o=i[0]&2?r["return"]:i[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;if(r=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:c.label++;return{value:i[1],done:false};case 5:c.label++;r=i[1];i=[0];continue;case 7:i=c.ops.pop();c.trys.pop();continue;default:if(!(o=c.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){c=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){c.label=i[1];break}if(i[0]===6&&c.label<o[1]){c.label=o[1];o=i;break}if(o&&c.label<o[2]){c.label=o[2];c.ops.push(i);break}if(o[2])c.ops.pop();c.trys.pop();continue}i=t.call(e,c)}catch(e){i=[6,e];r=0}finally{n=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var d=Object.defineProperty;var p=function(e,t){return d(e,"name",{value:t,configurable:!0})};import m from"@vitejs/plugin-react-swc";import{defineConfig as g}from"vitest/config";function v(e){return g(i({plugins:[m()],test:{include:["**/*.test.e2e.?(c|m)[jt]s?(x)"],browser:{enabled:!0,provider:"playwright",instances:[{browser:"chromium"},{browser:"firefox"},{browser:"webkit"}]}}},e))}p(v,"vitestE2E");import h from"@vitejs/plugin-react-swc";import{defineConfig as y}from"vitest/config";var _=".cyberskill-storage";import I from"dotenv";import{bool as E,cleanEnv as b,str as C}from"envalid";import S from"node:os";import w from"node:path";import O from"node:process";I.config();function T(){var e={DEBUG:O.env.DEBUG||!1,CWD:O.env.CWD||O.cwd(),CYBERSKILL_STORAGE_DIRECTORY:O.env.CYBERSKILL_STORAGE_DIRECTORY||w.join(S.homedir(),_)};return b(e,{DEBUG:E(),CWD:C(),CYBERSKILL_STORAGE_DIRECTORY:C()})}p(T,"getEnv");var G=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as R}from"node:child_process";import N from"node:process";import*as L from"node:util";var k=function(e){return e.Error="error",e.Warning="warning",e}({});import P from"chalk";import D from"consola";import{GraphQLError as U}from"graphql";var j=T();j.DEBUG||(D.level=4);function A(e){var t=P[e];return typeof t=="function"?t:P.green}p(A,"chalkKeyword");var x={silent:D.silent,level:D.level,fatal:D.fatal,error:D.error,warn:D.warn,log:D.log,info:D.info,success:D.success,ready:D.ready,start:D.start,box:D.box,debug:D.debug,trace:D.trace,verbose:D.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){D.box(P.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,o=e.rule,c=e.message;D.log("".concat(P.gray("File:")," ").concat(P.blue("".concat(t).concat(r?":".concat(r):"")))),o&&D.log(" ".concat(A(n)("Rule:")," ").concat(o)),D.log(" ".concat(A(n)("Message:")," ").concat(c))}),D.box(A(n)("".concat(e," : ").concat(t.length))),D.log(P.gray("─".repeat(40)))}};var F={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};import M from"node-fetch";import K from"fs-extra";var Y=K.lstatSync,B=K.readdirSync,W=K.mkdirSync,J=K.readFileSync,H=K.writeFileSync,$=K.appendFileSync,q=K.unlinkSync,Q=K.statSync,V=K.readJsonSync,z=K.writeJsonSync;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 K.pathExistsSync(e)})}p(X,"pathExistsSync");var Z=T();function ee(e){var t=eS(Z.CWD,eN);if(!X(t))return!1;try{var n=V(t),r=n.name,o=n.dependencies,c=o===void 0?{}:o,a=n.devDependencies,i=a===void 0?{}:a,s=r===e,u=e in c,l=e in i;return s||u||l?{path:t,file:n,isCurrentProject:s,isDepend:u,isDevDepend:l}:!1}catch(e){return x.warn("Failed to read package.json: ".concat(e.message)),!1}}p(ee,"getPackage");function et(e){return /*#__PURE__*/r(function(){var t,n,r,o;return f(this,function(c){switch(c.label){case 0:c.trys.push([0,3,,4]);return[4,M("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=c.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=c.sent(),r=n.version;return[2,r];case 3:o=c.sent();throw x.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})})()}p(et,"getLatestPackageVersion");function en(e,t){return /*#__PURE__*/r(function(){var n,r,o,c,a,s,u,l,d,p,m,g,v,h,y,_,I,E,b,C,S;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,4,,5]);n=ee(e);if(!n)return[2,i({},F)];u=n.path,l=n.file,d=n.isCurrentProject,p=n.isDepend,m=n.isDevDepend,g=(r=l.dependencies)!==null&&r!==void 0?r:{},v=(o=l.devDependencies)!==null&&o!==void 0?o:{},h=d?(c=l.version)!==null&&c!==void 0?c:"0.0.0":p?(a=g[e])!==null&&a!==void 0?a:"0.0.0":m?(s=v[e])!==null&&s!==void 0?s:"0.0.0":"0.0.0";if(!d)return[3,1];I=h;return[3,3];case 1:return[4,et(e)];case 2:I=f.sent();f.label=3;case 3:y=I,_=d||h===y;if(!_&&(t===null||t===void 0?void 0:t.update)){;b=p?"dependencies":m?"devDependencies":null;b&&((E=l[b])===null||E===void 0?void 0:E[e])!==y&&(l[b]=(C=l[b])!==null&&C!==void 0?C:{},l[b][e]=y,z(u,l),x.info('Updated "'.concat(e,'" to version ').concat(y)))}return[2,{isCurrentProject:d,installedPath:u,file:l,isUpToDate:_}];case 4:S=f.sent();return[2,(x.error('Error checking package "'.concat(e,'": ').concat(S.message)),i({},F))];case 5:return[2]}})})()}p(en,"checkPackage");function er(){return /*#__PURE__*/r(function(){var e,t,n,r,o,c,a,i,s,u,l,d;return f(this,function(f){switch(f.label){case 0:e=[{command:p(function(){return to.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:p(function(){return to.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:p(function(){return to.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;f.label=1;case 1:f.trys.push([1,9,10,11]);o=e[Symbol.iterator]();f.label=2;case 2:if(!!(t=(c=o.next()).done))return[3,8];a=c.value,i=a.command,s=a.message;f.label=3;case 3:f.trys.push([3,6,,7]);return[4,i()];case 4:u=f.sent();return[4,e_("".concat(s," using: ").concat(u),u)];case 5:f.sent();return[2];case 6:l=f.sent();x.warn("Installation attempt failed: ".concat(s)),x.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=f.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&o.return!=null){o.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})})()}p(er,"installDependencies");function eo(e,t){return /*#__PURE__*/r(function(){var n,r,o,c,a,u,l,d,p,m,g;return f(this,function(f){switch(f.label){case 0:if(!X(tt.PACKAGE_JSON)){x.error("package.json not found. Aborting setup.");return[2]}f.label=1;case 1:f.trys.push([1,13,,14]);n=s(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return en(e,i({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=f.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,er()];case 3:r=f.sent();f.label=4;case 4:r;c=true,a=false,u=undefined;f.label=5;case 5:f.trys.push([5,10,11,12]);l=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();f.label=6;case 6:if(!!(c=(d=l.next()).done))return[3,9];p=d.value;return[4,p()];case 7:f.sent();f.label=8;case 8:c=true;return[3,6];case 9:return[3,12];case 10:m=f.sent();a=true;u=m;return[3,12];case 11:try{if(!c&&l.return!=null){l.return()}}finally{if(a){throw u}}return[7];case 12:return[3,14];case 13:g=f.sent();throw x.error('Failed to setup "'.concat(e.join(", "),'": ').concat(g.message)),g;case 14:return[2]}})})()}p(eo,"setupPackages");import ec from"node-persist";var ea=T();function ei(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:e=ec.defaultInstance;if(e)return[3,2];return[4,ec.init({dir:ea.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]}})})()}p(ei,"initNodePersist");var es={get:function e(e){return /*#__PURE__*/r(function(){var t,n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ei()];case 1:r.sent();return[4,ec.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(x.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ei()];case 1:r.sent();return[4,ec.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();x.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/r(function(){var t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ei()];case 1:n.sent();return[4,ec.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();x.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/r(function(){var e,t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ei()];case 1:n.sent();return[4,ec.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(x.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(x.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/r(function(){return f(this,function(t){try{return[2,"".concat(ea.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(x.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eu=T(),el=L.promisify(R);function ef(e){return"error_list:".concat(e)}p(ef,"getErrorListKey");function ed(e){return /*#__PURE__*/r(function(){var t,n,o;return f(this,function(c){switch(c.label){case 0:if(e.length===0)return[2];t=Date.now(),n=ef(t);c.label=1;case 1:c.trys.push([1,3,,4]);return[4,es.set(n,{errors:e,timestamp:t})];case 2:c.sent(),setTimeout(function(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:return[4,es.getLogLink(n)];case 1:e=t.sent();e&&x.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:o=c.sent();x.error("Failed to save errors: ".concat(o.message));return[3,4];case 4:return[2]}})})()}p(ed,"saveErrorListToStorage");function ep(e){var t=[],n=[],r="",o=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,c=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,a=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,s,u,l,f;var d=o.exec(e)||[],p=c.exec(e)||[],m=a.exec(e)||[];var g,v,h,y,_,I;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===k.Error?k.Error:k.Warning,message:(g=d===null||d===void 0?void 0:(i=d[4])===null||i===void 0?void 0:i.trim())!==null&&g!==void 0?g:"",rule:(v=d===null||d===void 0?void 0:(s=d[5])===null||s===void 0?void 0:s.trim())!==null&&v!==void 0?v:""}):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]===k.Error?k.Error:k.Warning,message:(y=p===null||p===void 0?void 0:(u=p[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):m.length?t.push({file:"commitlint",type:k.Error,message:(_=m===null||m===void 0?void 0:(l=m[1])===null||l===void 0?void 0:l.trim())!==null&&_!==void 0?_:"",rule:(I=m===null||m===void 0?void 0:(f=m[2])===null||f===void 0?void 0:f.trim())!==null&&I!==void 0?I:""}):n.push(e.trim())}}),t.length&&ed(t),eu.DEBUG&&n.length&&(x.warn("Unmatched lines:"),n.forEach(function(e){return x.info(" ".concat(e))}))}p(ep,"parseTextErrors");function em(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,o=e.line,c=e.column,a=e.ruleId,i=e.message;n.push({type:r===2?k.Error:k.Warning,file:t,position:"".concat(o,":").concat(c),rule:a,message:i})})}),n.length&&ed(n)}catch(t){ep(e)}}p(em,"parseCommandOutput");function eg(e){return /*#__PURE__*/r(function(e){var t,n,r,o,c,a,i,s,u;var l=arguments;return f(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:em;n=new AbortController;N.on("SIGINT",function(){x.warn("Process interrupted. Terminating..."),n.abort(),N.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,el(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),o=r.stdout,c=r.stderr;[o,c].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:a=f.sent();i=a.stdout,s=a.stderr,u=a.message;[i,s].forEach(function(e){return e&&t(e)}),!s&&!i&&x.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}p(eg,"executeCommand");function ev(e){return{raw:!0,cmd:e}}p(ev,"rawCommand");function eh(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(e2," ").concat(eT," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(e2," ").concat(eZ," ").concat(eK," ").concat(e):"".concat(e2," ").concat(eM," ").concat(e)}p(eh,"formatCLI");function ey(e,t){return typeof e=="function"?eh(e(t),t):(typeof e==="undefined"?"undefined":u(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?eh(e,t):e}p(ey,"formatCommand");function e_(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);x.start("".concat(e)),eu.DEBUG&&x.info("→ ".concat(t));return[4,eg(t)];case 1:r.sent(),x.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw x.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}p(e_,"runCommand");import{join as eI,resolve as eE}from"node:path";var eb=T();function eC(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return eE.apply(void 0,[eb.CWD].concat(s(t)))}p(eC,"resolveWorkingPath");function eS(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return eI.apply(void 0,s(t))}p(eS,"join");var ew=T(),eO=ew.CWD,eT="@cyberskill/shared",eG="node_modules",eR="dist",eN="package.json",eL="package-lock.json",ek="tsconfig.json",eP=".gitignore",eD=".simple-git-hooks.json",eU="pnpm-lock.yaml",ej=".git/hooks/",eA=".git/COMMIT_EDITMSG",ex=".migrate-mongo.config.js",eF=eS(eO,eG,eT,eR),eM="cyberskill",eK="src/nodejs/cli/index.ts",eY="eslint",eB="eslint",eW="vitest",eJ="playwright",eH="vitest",e$="@commitlint/cli",eq="commitlint",eQ="lint-staged",eV="lint-staged",ez="typescript",eX="tsc",eZ="tsx",e0="git",e1="pnpm",e2="pnpm exec",e3="simple-git-hooks",e4="simple-git-hooks",e5="@eslint/config-inspector",e6="eslint-config-inspector",e7="node-modules-inspector",e8="node-modules-inspector",e9="migrate-mongo",te="./node_modules/migrate-mongo/bin/migrate-mongo",tt={CYBERSKILL_DIRECTORY:eF,WORKING_DIRECTORY:eO,TS_CONFIG:eC(ek),GIT_IGNORE:eC(eP),GIT_HOOK:eC(ej),GIT_COMMIT_MSG:eC(eA),SIMPLE_GIT_HOOKS_JSON:eC(eD),PACKAGE_JSON:eC(eN),PACKAGE_LOCK_JSON:eC(eL),PNPM_LOCK_YAML:eC(eU),NODE_MODULES:eC(eG),MIGRATE_MONGO_CONFIG:eC(ex),LINT_STAGED_CONFIG:eC("".concat(eF,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:eC("".concat(eF,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:eC("".concat(eF,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eC("".concat(eF,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eC("".concat(eF,"/react/vitest/vitest.e2e.js"))};function tn(e,t,n){return /*#__PURE__*/r(function(){return f(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case G.CLI:return[3,1];case G.STRING:return[3,3]}return[3,4];case 1:return[4,eo(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),ey(ev("".concat(e2," ").concat(n))))];case 3:return[2,ey(ev(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}p(tn,"buildCommand");function tr(e,t,n){return function(){return /*#__PURE__*/r(function(){return f(this,function(r){return[2,tn(e,t,n)]})})()}}p(tr,"commandFactory");var to={simpleGitHooks:tr(G.CLI,e3,e4),eslintInspect:tr(G.CLI,e5,e6),nodeModulesInspect:tr(G.CLI,e7,e8),eslintCheck:tr(G.CLI,eY,"".concat(eB," ").concat(tt.WORKING_DIRECTORY)),eslintFix:tr(G.CLI,eY,"".concat(eB," ").concat(tt.WORKING_DIRECTORY," --fix")),typescriptCheck:tr(G.CLI,ez,"".concat(eX," -p ").concat(tt.TS_CONFIG," --noEmit")),configureGitHook:tr(G.STRING,"".concat(e0," config core.hooksPath ").concat(tt.GIT_HOOK)),testUnit:tr(G.CLI,eW,"".concat(eH," --config ").concat(tt.UNIT_TEST_CONFIG)),testE2e:tr(G.CLI,"".concat(eW," ").concat(eJ),"".concat(eH," --config ").concat(tt.E2E_TEST_CONFIG)),mongoMigrateCreate:p(function(e){return tr(G.CLI,e9,"".concat(eZ," ").concat(te," create ").concat(e," -f ").concat(tt.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tr(G.CLI,e9,"".concat(eZ," ").concat(te," up -f ").concat(tt.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tr(G.CLI,e9,"".concat(eZ," ").concat(te," down -f ").concat(tt.MIGRATE_MONGO_CONFIG)),commitLint:tr(G.CLI,e$,"".concat(eq," --edit ").concat(tt.GIT_COMMIT_MSG," --config ").concat(tt.COMMITLINT_CONFIG)),lintStaged:tr(G.CLI,eQ,"".concat(eV," --config ").concat(tt.LINT_STAGED_CONFIG)),stageBuildDirectory:tr(G.STRING,"".concat(e0," add ").concat(eR)),build:tr(G.STRING,"".concat(e1," run build")),pnpmInstallStandard:tr(G.STRING,"".concat(e1," install")),pnpmInstallLegacy:tr(G.STRING,"".concat(e1," install --legacy-peer-deps")),pnpmInstallForce:tr(G.STRING,"".concat(e1," install --force"))};function tc(e){return y(i({plugins:[h()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[tt.UNIT_TEST_SETUP_CONFIG]}},e))}p(tc,"vitestUnit");export{v as vitestE2E,tc as vitestUnit};
1
+ function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(t){if(Array.isArray(t))return e(t)}function n(e,t,n,r,o,c,a){try{var i=e[c](a);var s=i.value}catch(e){n(e);return}if(i.done){t(s)}else{Promise.resolve(s).then(r,o)}}function r(e){return function(){var t=this,r=arguments;return new Promise(function(o,c){var a=e.apply(t,r);function i(e){n(a,o,c,i,s,"next",e)}function s(e){n(a,o,c,i,s,"throw",e)}i(undefined)})}}function o(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function c(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function a(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){o(e,t,n[t])})}return e}function s(e){return t(e)||c(e)||l(e)||a()}function u(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function l(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function f(e,t){var n,r,o,c={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},a=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return a.next=i(0),a["throw"]=i(1),a["return"]=i(2),typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function i(e){return function(t){return s([e,t])}}function s(i){if(n)throw new TypeError("Generator is already executing.");while(a&&(a=0,i[0]&&(c=0)),c)try{if(n=1,r&&(o=i[0]&2?r["return"]:i[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;if(r=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:c.label++;return{value:i[1],done:false};case 5:c.label++;r=i[1];i=[0];continue;case 7:i=c.ops.pop();c.trys.pop();continue;default:if(!(o=c.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){c=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){c.label=i[1];break}if(i[0]===6&&c.label<o[1]){c.label=o[1];o=i;break}if(o&&c.label<o[2]){c.label=o[2];c.ops.push(i);break}if(o[2])c.ops.pop();c.trys.pop();continue}i=t.call(e,c)}catch(e){i=[6,e];r=0}finally{n=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var d=Object.defineProperty;var p=function(e,t){return d(e,"name",{value:t,configurable:!0})};import m from"@vitejs/plugin-react-swc";import{defineConfig as g}from"vitest/config";function v(e){return g(i({plugins:[m()],test:{include:["**/*.test.e2e.?(c|m)[jt]s?(x)"],browser:{enabled:!0,provider:"playwright",instances:[{browser:"chromium"},{browser:"firefox"},{browser:"webkit"}]}}},e))}p(v,"vitestE2E");import h from"@vitejs/plugin-react-swc";import{defineConfig as y}from"vitest/config";var _=".cyberskill-storage";import I from"dotenv";import{bool as E,cleanEnv as b,str as C}from"envalid";import S from"node:os";import w from"node:path";import O from"node:process";I.config();function T(){var e={DEBUG:O.env.DEBUG||!1,CWD:O.env.CWD||O.cwd(),CYBERSKILL_STORAGE_DIRECTORY:O.env.CYBERSKILL_STORAGE_DIRECTORY||w.join(S.homedir(),_)};return b(e,{DEBUG:E(),CWD:C(),CYBERSKILL_STORAGE_DIRECTORY:C()})}p(T,"getEnv");var G=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as R}from"node:child_process";import N from"node:process";import*as L from"node:util";var k=function(e){return e.Error="error",e.Warning="warning",e}({});import P from"chalk";import D from"consola";import{GraphQLError as U}from"graphql";var j=T();j.DEBUG||(D.level=4);function A(e){var t=P[e];return typeof t=="function"?t:P.green}p(A,"chalkKeyword");var x={silent:D.silent,level:D.level,fatal:D.fatal,error:D.error,warn:D.warn,log:D.log,info:D.info,success:D.success,ready:D.ready,start:D.start,box:D.box,debug:D.debug,trace:D.trace,verbose:D.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){D.box(P.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,o=e.rule,c=e.message;D.log("".concat(P.gray("File:")," ").concat(P.blue("".concat(t).concat(r?":".concat(r):"")))),o&&D.log(" ".concat(A(n)("Rule:")," ").concat(o)),D.log(" ".concat(A(n)("Message:")," ").concat(c))}),D.box(A(n)("".concat(e," : ").concat(t.length))),D.log(P.gray("─".repeat(40)))}};var F={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};import M from"node-fetch";import K from"fs-extra";var Y=K.lstatSync,B=K.readdirSync,W=K.mkdirSync,J=K.readFileSync,H=K.writeFileSync,$=K.appendFileSync,q=K.unlinkSync,Q=K.statSync,V=K.readJsonSync,z=K.writeJsonSync;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 K.pathExistsSync(e)})}p(X,"pathExistsSync");var Z=T();function ee(e){var t=ew(Z.CWD,eL);if(!X(t))return!1;try{var n=V(t),r=n.name,o=n.dependencies,c=o===void 0?{}:o,a=n.devDependencies,i=a===void 0?{}:a,s=r===e,u=e in c,l=e in i;return s||u||l?{path:t,file:n,isCurrentProject:s,isDepend:u,isDevDepend:l}:!1}catch(e){return x.warn("Failed to read package.json: ".concat(e.message)),!1}}p(ee,"getPackage");function et(e){return /*#__PURE__*/r(function(){var t,n,r,o;return f(this,function(c){switch(c.label){case 0:c.trys.push([0,3,,4]);return[4,M("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=c.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=c.sent(),r=n.version;return[2,r];case 3:o=c.sent();throw x.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})})()}p(et,"getLatestPackageVersion");function en(e,t){return /*#__PURE__*/r(function(){var n,r,o,c,a,s,u,l,d,p,m,g,v,h,y,_,I,E,b,C,S;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,4,,5]);n=ee(e);if(!n)return[2,i({},F)];u=n.path,l=n.file,d=n.isCurrentProject,p=n.isDepend,m=n.isDevDepend,g=(r=l.dependencies)!==null&&r!==void 0?r:{},v=(o=l.devDependencies)!==null&&o!==void 0?o:{},h=d?(c=l.version)!==null&&c!==void 0?c:"0.0.0":p?(a=g[e])!==null&&a!==void 0?a:"0.0.0":m?(s=v[e])!==null&&s!==void 0?s:"0.0.0":"0.0.0";if(!d)return[3,1];I=h;return[3,3];case 1:return[4,et(e)];case 2:I=f.sent();f.label=3;case 3:y=I,_=d||h===y;if(!_&&(t===null||t===void 0?void 0:t.update)){;b=p?"dependencies":m?"devDependencies":null;b&&((E=l[b])===null||E===void 0?void 0:E[e])!==y&&(l[b]=(C=l[b])!==null&&C!==void 0?C:{},l[b][e]=y,z(u,l),x.info('Updated "'.concat(e,'" to version ').concat(y)))}return[2,{isCurrentProject:d,installedPath:u,file:l,isUpToDate:_}];case 4:S=f.sent();return[2,(x.error('Error checking package "'.concat(e,'": ').concat(S.message)),i({},F))];case 5:return[2]}})})()}p(en,"checkPackage");function er(){return /*#__PURE__*/r(function(){var e,t,n,r,o,c,a,i,s,u,l,d;return f(this,function(f){switch(f.label){case 0:e=[{command:p(function(){return tc.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:p(function(){return tc.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:p(function(){return tc.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;f.label=1;case 1:f.trys.push([1,9,10,11]);o=e[Symbol.iterator]();f.label=2;case 2:if(!!(t=(c=o.next()).done))return[3,8];a=c.value,i=a.command,s=a.message;f.label=3;case 3:f.trys.push([3,6,,7]);return[4,i()];case 4:u=f.sent();return[4,e_("".concat(s," using: ").concat(u),u)];case 5:f.sent();return[2];case 6:l=f.sent();x.warn("Installation attempt failed: ".concat(s)),x.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=f.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&o.return!=null){o.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})})()}p(er,"installDependencies");function eo(e,t){return /*#__PURE__*/r(function(){var n,r,o,c,a,u,l,d,p,m,g;return f(this,function(f){switch(f.label){case 0:if(!X(tn.PACKAGE_JSON)){x.error("package.json not found. Aborting setup.");return[2]}f.label=1;case 1:f.trys.push([1,13,,14]);n=s(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return en(e,i({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=f.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,er()];case 3:r=f.sent();f.label=4;case 4:r;c=true,a=false,u=undefined;f.label=5;case 5:f.trys.push([5,10,11,12]);l=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();f.label=6;case 6:if(!!(c=(d=l.next()).done))return[3,9];p=d.value;return[4,p()];case 7:f.sent();f.label=8;case 8:c=true;return[3,6];case 9:return[3,12];case 10:m=f.sent();a=true;u=m;return[3,12];case 11:try{if(!c&&l.return!=null){l.return()}}finally{if(a){throw u}}return[7];case 12:return[3,14];case 13:g=f.sent();throw x.error('Failed to setup "'.concat(e.join(", "),'": ').concat(g.message)),g;case 14:return[2]}})})()}p(eo,"setupPackages");import ec from"node-persist";var ea=T();function ei(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:e=ec.defaultInstance;if(e)return[3,2];return[4,ec.init({dir:ea.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]}})})()}p(ei,"initNodePersist");var es={get:function e(e){return /*#__PURE__*/r(function(){var t,n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ei()];case 1:r.sent();return[4,ec.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(x.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ei()];case 1:r.sent();return[4,ec.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();x.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/r(function(){var t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ei()];case 1:n.sent();return[4,ec.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();x.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/r(function(){var e,t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ei()];case 1:n.sent();return[4,ec.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(x.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(x.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/r(function(){return f(this,function(t){try{return[2,"".concat(ea.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(x.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eu=T(),el=L.promisify(R);function ef(e){return"error_list:".concat(e)}p(ef,"getErrorListKey");function ed(e){return /*#__PURE__*/r(function(){var t,n,o;return f(this,function(c){switch(c.label){case 0:if(e.length===0)return[2];t=Date.now(),n=ef(t);c.label=1;case 1:c.trys.push([1,3,,4]);return[4,es.set(n,{errors:e,timestamp:t})];case 2:c.sent(),setTimeout(function(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:return[4,es.getLogLink(n)];case 1:e=t.sent();e&&x.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:o=c.sent();x.error("Failed to save errors: ".concat(o.message));return[3,4];case 4:return[2]}})})()}p(ed,"saveErrorListToStorage");function ep(e){var t=[],n=[],r="",o=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,c=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,a=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,s,u,l,f;var d=o.exec(e)||[],p=c.exec(e)||[],m=a.exec(e)||[];var g,v,h,y,_,I;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===k.Error?k.Error:k.Warning,message:(g=d===null||d===void 0?void 0:(i=d[4])===null||i===void 0?void 0:i.trim())!==null&&g!==void 0?g:"",rule:(v=d===null||d===void 0?void 0:(s=d[5])===null||s===void 0?void 0:s.trim())!==null&&v!==void 0?v:""}):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]===k.Error?k.Error:k.Warning,message:(y=p===null||p===void 0?void 0:(u=p[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):m.length?t.push({file:"commitlint",type:k.Error,message:(_=m===null||m===void 0?void 0:(l=m[1])===null||l===void 0?void 0:l.trim())!==null&&_!==void 0?_:"",rule:(I=m===null||m===void 0?void 0:(f=m[2])===null||f===void 0?void 0:f.trim())!==null&&I!==void 0?I:""}):n.push(e.trim())}}),t.length&&ed(t),eu.DEBUG&&n.length&&(x.warn("Unmatched lines:"),n.forEach(function(e){return x.info(" ".concat(e))}))}p(ep,"parseTextErrors");function em(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,o=e.line,c=e.column,a=e.ruleId,i=e.message;n.push({type:r===2?k.Error:k.Warning,file:t,position:"".concat(o,":").concat(c),rule:a,message:i})})}),n.length&&ed(n)}catch(t){ep(e)}}p(em,"parseCommandOutput");function eg(e){return /*#__PURE__*/r(function(e){var t,n,r,o,c,a,i,s,u;var l=arguments;return f(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:em;n=new AbortController;N.on("SIGINT",function(){x.warn("Process interrupted. Terminating..."),n.abort(),N.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,el(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),o=r.stdout,c=r.stderr;[o,c].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:a=f.sent();i=a.stdout,s=a.stderr,u=a.message;[i,s].forEach(function(e){return e&&t(e)}),!s&&!i&&x.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}p(eg,"executeCommand");function ev(e){return{raw:!0,cmd:e}}p(ev,"rawCommand");function eh(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(e3," ").concat(eG," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(e3," ").concat(e0," ").concat(eY," ").concat(e):"".concat(e3," ").concat(eK," ").concat(e)}p(eh,"formatCLI");function ey(e,t){return typeof e=="function"?eh(e(t),t):(typeof e==="undefined"?"undefined":u(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?eh(e,t):e}p(ey,"formatCommand");function e_(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);x.start("".concat(e)),eu.DEBUG&&x.info("→ ".concat(t));return[4,eg(t)];case 1:r.sent(),x.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw x.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}p(e_,"runCommand");import eI,{join as eE,resolve as eb}from"node:path";var eC=T();function eS(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return eb.apply(void 0,[eC.CWD].concat(s(t)))}p(eS,"resolveWorkingPath");function ew(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return eE.apply(void 0,s(t))}p(ew,"join");var eO=T(),eT=eO.CWD,eG="@cyberskill/shared",eR="node_modules",eN="dist",eL="package.json",ek="package-lock.json",eP="tsconfig.json",eD=".gitignore",eU=".simple-git-hooks.json",ej="pnpm-lock.yaml",eA=".git/hooks/",ex=".git/COMMIT_EDITMSG",eF=".migrate-mongo.config.js",eM=ew(eT,eR,eG,eN),eK="cyberskill",eY="src/nodejs/cli/index.ts",eB="eslint",eW="eslint",eJ="vitest",eH="playwright",e$="vitest",eq="@commitlint/cli",eQ="commitlint",eV="lint-staged",ez="lint-staged",eX="typescript",eZ="tsc",e0="tsx",e1="git",e2="pnpm",e3="pnpm exec",e4="simple-git-hooks",e5="simple-git-hooks",e6="@eslint/config-inspector",e7="eslint-config-inspector",e8="node-modules-inspector",e9="node-modules-inspector",te="migrate-mongo",tt="./node_modules/migrate-mongo/bin/migrate-mongo",tn={CYBERSKILL_DIRECTORY:eM,WORKING_DIRECTORY:eT,TS_CONFIG:eS(eP),GIT_IGNORE:eS(eD),GIT_HOOK:eS(eA),GIT_COMMIT_MSG:eS(ex),SIMPLE_GIT_HOOKS_JSON:eS(eU),PACKAGE_JSON:eS(eL),PACKAGE_LOCK_JSON:eS(ek),PNPM_LOCK_YAML:eS(ej),NODE_MODULES:eS(eR),MIGRATE_MONGO_CONFIG:eS(eF),LINT_STAGED_CONFIG:eS("".concat(eM,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:eS("".concat(eM,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:eS("".concat(eM,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eS("".concat(eM,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eS("".concat(eM,"/react/vitest/vitest.e2e.js"))};function tr(e,t,n){return /*#__PURE__*/r(function(){return f(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case G.CLI:return[3,1];case G.STRING:return[3,3]}return[3,4];case 1:return[4,eo(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),ey(ev("".concat(e3," ").concat(n))))];case 3:return[2,ey(ev(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}p(tr,"buildCommand");function to(e,t,n){return function(){return /*#__PURE__*/r(function(){return f(this,function(r){return[2,tr(e,t,n)]})})()}}p(to,"commandFactory");var tc={simpleGitHooks:to(G.CLI,e4,e5),eslintInspect:to(G.CLI,e6,e7),nodeModulesInspect:to(G.CLI,e8,e9),eslintCheck:to(G.CLI,eB,"".concat(eW," ").concat(tn.WORKING_DIRECTORY)),eslintFix:to(G.CLI,eB,"".concat(eW," ").concat(tn.WORKING_DIRECTORY," --fix")),typescriptCheck:to(G.CLI,eX,"".concat(eZ," -p ").concat(tn.TS_CONFIG," --noEmit")),configureGitHook:to(G.STRING,"".concat(e1," config core.hooksPath ").concat(tn.GIT_HOOK)),testUnit:to(G.CLI,eJ,"".concat(e$," --config ").concat(tn.UNIT_TEST_CONFIG)),testE2e:to(G.CLI,"".concat(eJ," ").concat(eH),"".concat(e$," --config ").concat(tn.E2E_TEST_CONFIG)),mongoMigrateCreate:p(function(e){return to(G.CLI,te,"".concat(e0," ").concat(tt," create ").concat(e," -f ").concat(tn.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:to(G.CLI,te,"".concat(e0," ").concat(tt," up -f ").concat(tn.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:to(G.CLI,te,"".concat(e0," ").concat(tt," down -f ").concat(tn.MIGRATE_MONGO_CONFIG)),commitLint:to(G.CLI,eq,"".concat(eQ," --edit ").concat(tn.GIT_COMMIT_MSG," --config ").concat(tn.COMMITLINT_CONFIG)),lintStaged:to(G.CLI,eV,"".concat(ez," --config ").concat(tn.LINT_STAGED_CONFIG)),stageBuildDirectory:to(G.STRING,"".concat(e1," add ").concat(eN)),build:to(G.STRING,"".concat(e2," run build")),pnpmInstallStandard:to(G.STRING,"".concat(e2," install")),pnpmInstallLegacy:to(G.STRING,"".concat(e2," install --legacy-peer-deps")),pnpmInstallForce:to(G.STRING,"".concat(e2," install --force"))};function ta(e){return y(i({plugins:[h()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[tn.UNIT_TEST_SETUP_CONFIG]}},e))}p(ta,"vitestUnit");export{v as vitestE2E,ta as vitestUnit};
@@ -1 +1 @@
1
- "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(t){if(Array.isArray(t))return e(t)}function n(e,t,n,r,o,a,c){try{var i=e[a](c);var s=i.value}catch(e){n(e);return}if(i.done){t(s)}else{Promise.resolve(s).then(r,o)}}function r(e){return function(){var t=this,r=arguments;return new Promise(function(o,a){var c=e.apply(t,r);function i(e){n(c,o,a,i,s,"next",e)}function s(e){n(c,o,a,i,s,"throw",e)}i(undefined)})}}function o(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function a(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function c(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){o(e,t,n[t])})}return e}function s(e){return t(e)||a(e)||l(e)||c()}function u(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function l(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function f(e,t){var n,r,o,a={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},c=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return c.next=i(0),c["throw"]=i(1),c["return"]=i(2),typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function i(e){return function(t){return s([e,t])}}function s(i){if(n)throw new TypeError("Generator is already executing.");while(c&&(c=0,i[0]&&(a=0)),a)try{if(n=1,r&&(o=i[0]&2?r["return"]:i[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;if(r=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:a.label++;return{value:i[1],done:false};case 5:a.label++;r=i[1];i=[0];continue;case 7:i=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){a=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(i[0]===6&&a.label<o[1]){a.label=o[1];o=i;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(i);break}if(o[2])a.ops.pop();a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e];r=0}finally{n=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var d=Object.create;var p=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var m=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var y=function(e,t){return p(e,"name",{value:t,configurable:!0})};var _=function(e,t){for(var n in t)p(e,n,{get:t[n],enumerable:!0})},I=function(e,t,n,r){var o=true,a=false,c=undefined;if(t&&(typeof t==="undefined"?"undefined":u(t))=="object"||typeof t=="function")try{var i=function(){var o=l.value;!h.call(e,o)&&o!==n&&p(e,o,{get:function(){return t[o]},enumerable:!(r=v(t,o))||r.enumerable})};for(var s=g(t)[Symbol.iterator](),l;!(o=(l=s.next()).done);o=true)i()}catch(e){a=true;c=e}finally{try{if(!o&&s.return!=null){s.return()}}finally{if(a){throw c}}}return e};var b=function(e,t,n){return n=e!=null?d(m(e)):{},I(t||!e||!e.__esModule?p(n,"default",{value:e,enumerable:!0}):n,e)},E=function(e){return I(p({},"__esModule",{value:!0}),e)};var O={};_(O,{vitestUnit:function(){return tf}});module.exports=E(O);var S=b(require("@vitejs/plugin-react-swc"),1),C=require("vitest/config");var T=".cyberskill-storage";var w=b(require("dotenv"),1),G=require("envalid"),R=b(require("os"),1),N=b(require("path"),1),P=b(require("process"),1);w.default.config();function L(){var e={DEBUG:P.default.env.DEBUG||!1,CWD:P.default.env.CWD||P.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:P.default.env.CYBERSKILL_STORAGE_DIRECTORY||N.default.join(R.default.homedir(),T)};return(0,G.cleanEnv)(e,{DEBUG:(0,G.bool)(),CWD:(0,G.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,G.str)()})}y(L,"getEnv");var k=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var j=require("child_process"),D=b(require("process"),1),U=b(require("util"),1);var A=function(e){return e.Error="error",e.Warning="warning",e}({});var M=b(require("chalk"),1),x=b(require("consola"),1),F=require("graphql");var q=L();q.DEBUG||(x.default.level=4);function K(e){var t=M.default[e];return typeof t=="function"?t:M.default.green}y(K,"chalkKeyword");var Y={silent:x.default.silent,level:x.default.level,fatal:x.default.fatal,error:x.default.error,warn:x.default.warn,log:x.default.log,info:x.default.info,success:x.default.success,ready:x.default.ready,start:x.default.start,box:x.default.box,debug:x.default.debug,trace:x.default.trace,verbose:x.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)){x.default.box(M.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,o=e.rule,a=e.message;x.default.log("".concat(M.default.gray("File:")," ").concat(M.default.blue("".concat(t).concat(r?":".concat(r):"")))),o&&x.default.log(" ".concat(K(n)("Rule:")," ").concat(o)),x.default.log(" ".concat(K(n)("Message:")," ").concat(a))}),x.default.box(K(n)("".concat(e," : ").concat(t.length))),x.default.log(M.default.gray("─".repeat(40)))}};var B={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var W=b(require("node-fetch"),1);var J=b(require("fs-extra"),1),H=require("path");var $=J.default,V=$.lstatSync,z=$.readdirSync,Q=$.mkdirSync,X=$.readFileSync,Z=$.writeFileSync,ee=$.appendFileSync,et=$.unlinkSync,en=$.statSync,er=J.default.readJsonSync,eo=J.default.writeJsonSync;function ea(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return J.default.pathExistsSync(e)})}y(ea,"pathExistsSync");var ec=L();function ei(e){var t=eN(ec.CWD,eU);if(!ea(t))return!1;try{var n=er(t),r=n.name,o=n.dependencies,a=o===void 0?{}:o,c=n.devDependencies,i=c===void 0?{}:c,s=r===e,u=e in a,l=e in i;return s||u||l?{path:t,file:n,isCurrentProject:s,isDepend:u,isDevDepend:l}:!1}catch(e){return Y.warn("Failed to read package.json: ".concat(e.message)),!1}}y(ei,"getPackage");function es(e){return /*#__PURE__*/r(function(){var t,n,r,o;return f(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:n=a.sent(),r=n.version;return[2,r];case 3:o=a.sent();throw Y.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})})()}y(es,"getLatestPackageVersion");function eu(e,t){return /*#__PURE__*/r(function(){var n,r,o,a,c,s,u,l,d,p,v,g,m,h,y,_,I,b,E,O,S;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,4,,5]);n=ei(e);if(!n)return[2,i({},B)];u=n.path,l=n.file,d=n.isCurrentProject,p=n.isDepend,v=n.isDevDepend,g=(r=l.dependencies)!==null&&r!==void 0?r:{},m=(o=l.devDependencies)!==null&&o!==void 0?o:{},h=d?(a=l.version)!==null&&a!==void 0?a:"0.0.0":p?(c=g[e])!==null&&c!==void 0?c:"0.0.0":v?(s=m[e])!==null&&s!==void 0?s:"0.0.0":"0.0.0";if(!d)return[3,1];I=h;return[3,3];case 1:return[4,es(e)];case 2:I=f.sent();f.label=3;case 3:y=I,_=d||h===y;if(!_&&(t===null||t===void 0?void 0:t.update)){;E=p?"dependencies":v?"devDependencies":null;E&&((b=l[E])===null||b===void 0?void 0:b[e])!==y&&(l[E]=(O=l[E])!==null&&O!==void 0?O:{},l[E][e]=y,eo(u,l),Y.info('Updated "'.concat(e,'" to version ').concat(y)))}return[2,{isCurrentProject:d,installedPath:u,file:l,isUpToDate:_}];case 4:S=f.sent();return[2,(Y.error('Error checking package "'.concat(e,'": ').concat(S.message)),i({},B))];case 5:return[2]}})})()}y(eu,"checkPackage");function el(){return /*#__PURE__*/r(function(){var e,t,n,r,o,a,c,i,s,u,l,d;return f(this,function(f){switch(f.label){case 0:e=[{command:y(function(){return tl.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:y(function(){return tl.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:y(function(){return tl.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;f.label=1;case 1:f.trys.push([1,9,10,11]);o=e[Symbol.iterator]();f.label=2;case 2:if(!!(t=(a=o.next()).done))return[3,8];c=a.value,i=c.command,s=c.message;f.label=3;case 3:f.trys.push([3,6,,7]);return[4,i()];case 4:u=f.sent();return[4,eT("".concat(s," using: ").concat(u),u)];case 5:f.sent();return[2];case 6:l=f.sent();Y.warn("Installation attempt failed: ".concat(s)),Y.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=f.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&o.return!=null){o.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})})()}y(el,"installDependencies");function ef(e,t){return /*#__PURE__*/r(function(){var n,r,o,a,c,u,l,d,p,v,g;return f(this,function(f){switch(f.label){case 0:if(!ea(ti.PACKAGE_JSON)){Y.error("package.json not found. Aborting setup.");return[2]}f.label=1;case 1:f.trys.push([1,13,,14]);n=s(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return eu(e,i({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=f.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,el()];case 3:r=f.sent();f.label=4;case 4:r;a=true,c=false,u=undefined;f.label=5;case 5:f.trys.push([5,10,11,12]);l=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();f.label=6;case 6:if(!!(a=(d=l.next()).done))return[3,9];p=d.value;return[4,p()];case 7:f.sent();f.label=8;case 8:a=true;return[3,6];case 9:return[3,12];case 10:v=f.sent();c=true;u=v;return[3,12];case 11:try{if(!a&&l.return!=null){l.return()}}finally{if(c){throw u}}return[7];case 12:return[3,14];case 13:g=f.sent();throw Y.error('Failed to setup "'.concat(e.join(", "),'": ').concat(g.message)),g;case 14:return[2]}})})()}y(ef,"setupPackages");var ed=b(require("node-persist"),1);var ep=L();function ev(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:e=ed.default.defaultInstance;if(e)return[3,2];return[4,ed.default.init({dir:ep.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]}})})()}y(ev,"initNodePersist");var eg={get:function e(e){return /*#__PURE__*/r(function(){var t,n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ev()];case 1:r.sent();return[4,ed.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(Y.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ev()];case 1:r.sent();return[4,ed.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();Y.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/r(function(){var t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ev()];case 1:n.sent();return[4,ed.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();Y.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/r(function(){var e,t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ev()];case 1:n.sent();return[4,ed.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(Y.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(Y.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/r(function(){return f(this,function(t){try{return[2,"".concat(ep.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(Y.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var em=L(),eh=U.promisify(j.exec);function ey(e){return"error_list:".concat(e)}y(ey,"getErrorListKey");function e_(e){return /*#__PURE__*/r(function(){var t,n,o;return f(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];t=Date.now(),n=ey(t);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,eg.set(n,{errors:e,timestamp:t})];case 2:a.sent(),setTimeout(function(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:return[4,eg.getLogLink(n)];case 1:e=t.sent();e&&Y.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:o=a.sent();Y.error("Failed to save errors: ".concat(o.message));return[3,4];case 4:return[2]}})})()}y(e_,"saveErrorListToStorage");function eI(e){var t=[],n=[],r="",o=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,a=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,c=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,s,u,l,f;var d=o.exec(e)||[],p=a.exec(e)||[],v=c.exec(e)||[];var g,m,h,y,_,I;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===A.Error?A.Error:A.Warning,message:(g=d===null||d===void 0?void 0:(i=d[4])===null||i===void 0?void 0:i.trim())!==null&&g!==void 0?g:"",rule:(m=d===null||d===void 0?void 0:(s=d[5])===null||s===void 0?void 0:s.trim())!==null&&m!==void 0?m:""}):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]===A.Error?A.Error:A.Warning,message:(y=p===null||p===void 0?void 0:(u=p[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):v.length?t.push({file:"commitlint",type:A.Error,message:(_=v===null||v===void 0?void 0:(l=v[1])===null||l===void 0?void 0:l.trim())!==null&&_!==void 0?_:"",rule:(I=v===null||v===void 0?void 0:(f=v[2])===null||f===void 0?void 0:f.trim())!==null&&I!==void 0?I:""}):n.push(e.trim())}}),t.length&&e_(t),em.DEBUG&&n.length&&(Y.warn("Unmatched lines:"),n.forEach(function(e){return Y.info(" ".concat(e))}))}y(eI,"parseTextErrors");function eb(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,o=e.line,a=e.column,c=e.ruleId,i=e.message;n.push({type:r===2?A.Error:A.Warning,file:t,position:"".concat(o,":").concat(a),rule:c,message:i})})}),n.length&&e_(n)}catch(t){eI(e)}}y(eb,"parseCommandOutput");function eE(e){return /*#__PURE__*/r(function(e){var t,n,r,o,a,c,i,s,u;var l=arguments;return f(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:eb;n=new AbortController;D.default.on("SIGINT",function(){Y.warn("Process interrupted. Terminating..."),n.abort(),D.default.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,eh(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),o=r.stdout,a=r.stderr;[o,a].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:c=f.sent();i=c.stdout,s=c.stderr,u=c.message;[i,s].forEach(function(e){return e&&t(e)}),!s&&!i&&Y.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}y(eE,"executeCommand");function eO(e){return{raw:!0,cmd:e}}y(eO,"rawCommand");function eS(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(e8," ").concat(ek," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(e8," ").concat(e5," ").concat(eH," ").concat(e):"".concat(e8," ").concat(eJ," ").concat(e)}y(eS,"formatCLI");function eC(e,t){return typeof e=="function"?eS(e(t),t):(typeof e==="undefined"?"undefined":u(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?eS(e,t):e}y(eC,"formatCommand");function eT(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);Y.start("".concat(e)),em.DEBUG&&Y.info("→ ".concat(t));return[4,eE(t)];case 1:r.sent(),Y.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw Y.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}y(eT,"runCommand");var ew=require("path");var eG=L();function eR(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,ew.resolve).apply(this,[eG.CWD].concat(s(t)))}y(eR,"resolveWorkingPath");function eN(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,ew.join).apply(this,s(t))}y(eN,"join");var eP=L(),eL=eP.CWD,ek="@cyberskill/shared",ej="node_modules",eD="dist",eU="package.json",eA="package-lock.json",eM="tsconfig.json",ex=".gitignore",eF=".simple-git-hooks.json",eq="pnpm-lock.yaml",eK=".git/hooks/",eY=".git/COMMIT_EDITMSG",eB=".migrate-mongo.config.js",eW=eN(eL,ej,ek,eD),eJ="cyberskill",eH="src/nodejs/cli/index.ts",e$="eslint",eV="eslint",ez="vitest",eQ="playwright",eX="vitest",eZ="@commitlint/cli",e0="commitlint",e1="lint-staged",e2="lint-staged",e3="typescript",e4="tsc",e5="tsx",e6="git",e7="pnpm",e8="pnpm exec",e9="simple-git-hooks",te="simple-git-hooks",tt="@eslint/config-inspector",tn="eslint-config-inspector",tr="node-modules-inspector",to="node-modules-inspector",ta="migrate-mongo",tc="./node_modules/migrate-mongo/bin/migrate-mongo",ti={CYBERSKILL_DIRECTORY:eW,WORKING_DIRECTORY:eL,TS_CONFIG:eR(eM),GIT_IGNORE:eR(ex),GIT_HOOK:eR(eK),GIT_COMMIT_MSG:eR(eY),SIMPLE_GIT_HOOKS_JSON:eR(eF),PACKAGE_JSON:eR(eU),PACKAGE_LOCK_JSON:eR(eA),PNPM_LOCK_YAML:eR(eq),NODE_MODULES:eR(ej),MIGRATE_MONGO_CONFIG:eR(eB),LINT_STAGED_CONFIG:eR("".concat(eW,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:eR("".concat(eW,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:eR("".concat(eW,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eR("".concat(eW,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eR("".concat(eW,"/react/vitest/vitest.e2e.js"))};function ts(e,t,n){return /*#__PURE__*/r(function(){return f(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case k.CLI:return[3,1];case k.STRING:return[3,3]}return[3,4];case 1:return[4,ef(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),eC(eO("".concat(e8," ").concat(n))))];case 3:return[2,eC(eO(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}y(ts,"buildCommand");function tu(e,t,n){return function(){return /*#__PURE__*/r(function(){return f(this,function(r){return[2,ts(e,t,n)]})})()}}y(tu,"commandFactory");var tl={simpleGitHooks:tu(k.CLI,e9,te),eslintInspect:tu(k.CLI,tt,tn),nodeModulesInspect:tu(k.CLI,tr,to),eslintCheck:tu(k.CLI,e$,"".concat(eV," ").concat(ti.WORKING_DIRECTORY)),eslintFix:tu(k.CLI,e$,"".concat(eV," ").concat(ti.WORKING_DIRECTORY," --fix")),typescriptCheck:tu(k.CLI,e3,"".concat(e4," -p ").concat(ti.TS_CONFIG," --noEmit")),configureGitHook:tu(k.STRING,"".concat(e6," config core.hooksPath ").concat(ti.GIT_HOOK)),testUnit:tu(k.CLI,ez,"".concat(eX," --config ").concat(ti.UNIT_TEST_CONFIG)),testE2e:tu(k.CLI,"".concat(ez," ").concat(eQ),"".concat(eX," --config ").concat(ti.E2E_TEST_CONFIG)),mongoMigrateCreate:y(function(e){return tu(k.CLI,ta,"".concat(e5," ").concat(tc," create ").concat(e," -f ").concat(ti.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tu(k.CLI,ta,"".concat(e5," ").concat(tc," up -f ").concat(ti.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tu(k.CLI,ta,"".concat(e5," ").concat(tc," down -f ").concat(ti.MIGRATE_MONGO_CONFIG)),commitLint:tu(k.CLI,eZ,"".concat(e0," --edit ").concat(ti.GIT_COMMIT_MSG," --config ").concat(ti.COMMITLINT_CONFIG)),lintStaged:tu(k.CLI,e1,"".concat(e2," --config ").concat(ti.LINT_STAGED_CONFIG)),stageBuildDirectory:tu(k.STRING,"".concat(e6," add ").concat(eD)),build:tu(k.STRING,"".concat(e7," run build")),pnpmInstallStandard:tu(k.STRING,"".concat(e7," install")),pnpmInstallLegacy:tu(k.STRING,"".concat(e7," install --legacy-peer-deps")),pnpmInstallForce:tu(k.STRING,"".concat(e7," install --force"))};function tf(e){return(0,C.defineConfig)(i({plugins:[(0,S.default)()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[ti.UNIT_TEST_SETUP_CONFIG]}},e))}y(tf,"vitestUnit");0&&(module.exports={vitestUnit:vitestUnit});
1
+ "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(t){if(Array.isArray(t))return e(t)}function n(e,t,n,r,o,a,c){try{var i=e[a](c);var s=i.value}catch(e){n(e);return}if(i.done){t(s)}else{Promise.resolve(s).then(r,o)}}function r(e){return function(){var t=this,r=arguments;return new Promise(function(o,a){var c=e.apply(t,r);function i(e){n(c,o,a,i,s,"next",e)}function s(e){n(c,o,a,i,s,"throw",e)}i(undefined)})}}function o(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function a(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function c(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){o(e,t,n[t])})}return e}function s(e){return t(e)||a(e)||l(e)||c()}function u(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function l(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function f(e,t){var n,r,o,a={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},c=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return c.next=i(0),c["throw"]=i(1),c["return"]=i(2),typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function i(e){return function(t){return s([e,t])}}function s(i){if(n)throw new TypeError("Generator is already executing.");while(c&&(c=0,i[0]&&(a=0)),a)try{if(n=1,r&&(o=i[0]&2?r["return"]:i[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;if(r=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:a.label++;return{value:i[1],done:false};case 5:a.label++;r=i[1];i=[0];continue;case 7:i=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){a=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(i[0]===6&&a.label<o[1]){a.label=o[1];o=i;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(i);break}if(o[2])a.ops.pop();a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e];r=0}finally{n=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var d=Object.create;var p=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var m=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var y=function(e,t){return p(e,"name",{value:t,configurable:!0})};var _=function(e,t){for(var n in t)p(e,n,{get:t[n],enumerable:!0})},I=function(e,t,n,r){var o=true,a=false,c=undefined;if(t&&(typeof t==="undefined"?"undefined":u(t))=="object"||typeof t=="function")try{var i=function(){var o=l.value;!h.call(e,o)&&o!==n&&p(e,o,{get:function(){return t[o]},enumerable:!(r=v(t,o))||r.enumerable})};for(var s=g(t)[Symbol.iterator](),l;!(o=(l=s.next()).done);o=true)i()}catch(e){a=true;c=e}finally{try{if(!o&&s.return!=null){s.return()}}finally{if(a){throw c}}}return e};var b=function(e,t,n){return n=e!=null?d(m(e)):{},I(t||!e||!e.__esModule?p(n,"default",{value:e,enumerable:!0}):n,e)},E=function(e){return I(p({},"__esModule",{value:!0}),e)};var O={};_(O,{vitestUnit:function(){return tf}});module.exports=E(O);var S=b(require("@vitejs/plugin-react-swc"),1),C=require("vitest/config");var T=".cyberskill-storage";var w=b(require("dotenv"),1),G=require("envalid"),R=b(require("os"),1),N=b(require("path"),1),P=b(require("process"),1);w.default.config();function L(){var e={DEBUG:P.default.env.DEBUG||!1,CWD:P.default.env.CWD||P.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:P.default.env.CYBERSKILL_STORAGE_DIRECTORY||N.default.join(R.default.homedir(),T)};return(0,G.cleanEnv)(e,{DEBUG:(0,G.bool)(),CWD:(0,G.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,G.str)()})}y(L,"getEnv");var k=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var j=require("child_process"),D=b(require("process"),1),U=b(require("util"),1);var A=function(e){return e.Error="error",e.Warning="warning",e}({});var M=b(require("chalk"),1),x=b(require("consola"),1),F=require("graphql");var q=L();q.DEBUG||(x.default.level=4);function K(e){var t=M.default[e];return typeof t=="function"?t:M.default.green}y(K,"chalkKeyword");var Y={silent:x.default.silent,level:x.default.level,fatal:x.default.fatal,error:x.default.error,warn:x.default.warn,log:x.default.log,info:x.default.info,success:x.default.success,ready:x.default.ready,start:x.default.start,box:x.default.box,debug:x.default.debug,trace:x.default.trace,verbose:x.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)){x.default.box(M.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,o=e.rule,a=e.message;x.default.log("".concat(M.default.gray("File:")," ").concat(M.default.blue("".concat(t).concat(r?":".concat(r):"")))),o&&x.default.log(" ".concat(K(n)("Rule:")," ").concat(o)),x.default.log(" ".concat(K(n)("Message:")," ").concat(a))}),x.default.box(K(n)("".concat(e," : ").concat(t.length))),x.default.log(M.default.gray("─".repeat(40)))}};var B={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var W=b(require("node-fetch"),1);var J=b(require("fs-extra"),1),H=require("path");var $=J.default,V=$.lstatSync,z=$.readdirSync,Q=$.mkdirSync,X=$.readFileSync,Z=$.writeFileSync,ee=$.appendFileSync,et=$.unlinkSync,en=$.statSync,er=J.default.readJsonSync,eo=J.default.writeJsonSync;function ea(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return J.default.pathExistsSync(e)})}y(ea,"pathExistsSync");var ec=L();function ei(e){var t=eN(ec.CWD,eU);if(!ea(t))return!1;try{var n=er(t),r=n.name,o=n.dependencies,a=o===void 0?{}:o,c=n.devDependencies,i=c===void 0?{}:c,s=r===e,u=e in a,l=e in i;return s||u||l?{path:t,file:n,isCurrentProject:s,isDepend:u,isDevDepend:l}:!1}catch(e){return Y.warn("Failed to read package.json: ".concat(e.message)),!1}}y(ei,"getPackage");function es(e){return /*#__PURE__*/r(function(){var t,n,r,o;return f(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:n=a.sent(),r=n.version;return[2,r];case 3:o=a.sent();throw Y.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})})()}y(es,"getLatestPackageVersion");function eu(e,t){return /*#__PURE__*/r(function(){var n,r,o,a,c,s,u,l,d,p,v,g,m,h,y,_,I,b,E,O,S;return f(this,function(f){switch(f.label){case 0:f.trys.push([0,4,,5]);n=ei(e);if(!n)return[2,i({},B)];u=n.path,l=n.file,d=n.isCurrentProject,p=n.isDepend,v=n.isDevDepend,g=(r=l.dependencies)!==null&&r!==void 0?r:{},m=(o=l.devDependencies)!==null&&o!==void 0?o:{},h=d?(a=l.version)!==null&&a!==void 0?a:"0.0.0":p?(c=g[e])!==null&&c!==void 0?c:"0.0.0":v?(s=m[e])!==null&&s!==void 0?s:"0.0.0":"0.0.0";if(!d)return[3,1];I=h;return[3,3];case 1:return[4,es(e)];case 2:I=f.sent();f.label=3;case 3:y=I,_=d||h===y;if(!_&&(t===null||t===void 0?void 0:t.update)){;E=p?"dependencies":v?"devDependencies":null;E&&((b=l[E])===null||b===void 0?void 0:b[e])!==y&&(l[E]=(O=l[E])!==null&&O!==void 0?O:{},l[E][e]=y,eo(u,l),Y.info('Updated "'.concat(e,'" to version ').concat(y)))}return[2,{isCurrentProject:d,installedPath:u,file:l,isUpToDate:_}];case 4:S=f.sent();return[2,(Y.error('Error checking package "'.concat(e,'": ').concat(S.message)),i({},B))];case 5:return[2]}})})()}y(eu,"checkPackage");function el(){return /*#__PURE__*/r(function(){var e,t,n,r,o,a,c,i,s,u,l,d;return f(this,function(f){switch(f.label){case 0:e=[{command:y(function(){return tl.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:y(function(){return tl.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:y(function(){return tl.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;f.label=1;case 1:f.trys.push([1,9,10,11]);o=e[Symbol.iterator]();f.label=2;case 2:if(!!(t=(a=o.next()).done))return[3,8];c=a.value,i=c.command,s=c.message;f.label=3;case 3:f.trys.push([3,6,,7]);return[4,i()];case 4:u=f.sent();return[4,eT("".concat(s," using: ").concat(u),u)];case 5:f.sent();return[2];case 6:l=f.sent();Y.warn("Installation attempt failed: ".concat(s)),Y.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=f.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&o.return!=null){o.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})})()}y(el,"installDependencies");function ef(e,t){return /*#__PURE__*/r(function(){var n,r,o,a,c,u,l,d,p,v,g;return f(this,function(f){switch(f.label){case 0:if(!ea(ti.PACKAGE_JSON)){Y.error("package.json not found. Aborting setup.");return[2]}f.label=1;case 1:f.trys.push([1,13,,14]);n=s(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return eu(e,i({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=f.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,el()];case 3:r=f.sent();f.label=4;case 4:r;a=true,c=false,u=undefined;f.label=5;case 5:f.trys.push([5,10,11,12]);l=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();f.label=6;case 6:if(!!(a=(d=l.next()).done))return[3,9];p=d.value;return[4,p()];case 7:f.sent();f.label=8;case 8:a=true;return[3,6];case 9:return[3,12];case 10:v=f.sent();c=true;u=v;return[3,12];case 11:try{if(!a&&l.return!=null){l.return()}}finally{if(c){throw u}}return[7];case 12:return[3,14];case 13:g=f.sent();throw Y.error('Failed to setup "'.concat(e.join(", "),'": ').concat(g.message)),g;case 14:return[2]}})})()}y(ef,"setupPackages");var ed=b(require("node-persist"),1);var ep=L();function ev(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:e=ed.default.defaultInstance;if(e)return[3,2];return[4,ed.default.init({dir:ep.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]}})})()}y(ev,"initNodePersist");var eg={get:function e(e){return /*#__PURE__*/r(function(){var t,n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ev()];case 1:r.sent();return[4,ed.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(Y.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ev()];case 1:r.sent();return[4,ed.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();Y.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/r(function(){var t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ev()];case 1:n.sent();return[4,ed.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();Y.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/r(function(){var e,t;return f(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ev()];case 1:n.sent();return[4,ed.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(Y.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(Y.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/r(function(){return f(this,function(t){try{return[2,"".concat(ep.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(Y.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var em=L(),eh=U.promisify(j.exec);function ey(e){return"error_list:".concat(e)}y(ey,"getErrorListKey");function e_(e){return /*#__PURE__*/r(function(){var t,n,o;return f(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];t=Date.now(),n=ey(t);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,eg.set(n,{errors:e,timestamp:t})];case 2:a.sent(),setTimeout(function(){return /*#__PURE__*/r(function(){var e;return f(this,function(t){switch(t.label){case 0:return[4,eg.getLogLink(n)];case 1:e=t.sent();e&&Y.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:o=a.sent();Y.error("Failed to save errors: ".concat(o.message));return[3,4];case 4:return[2]}})})()}y(e_,"saveErrorListToStorage");function eI(e){var t=[],n=[],r="",o=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,a=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,c=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i,s,u,l,f;var d=o.exec(e)||[],p=a.exec(e)||[],v=c.exec(e)||[];var g,m,h,y,_,I;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===A.Error?A.Error:A.Warning,message:(g=d===null||d===void 0?void 0:(i=d[4])===null||i===void 0?void 0:i.trim())!==null&&g!==void 0?g:"",rule:(m=d===null||d===void 0?void 0:(s=d[5])===null||s===void 0?void 0:s.trim())!==null&&m!==void 0?m:""}):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]===A.Error?A.Error:A.Warning,message:(y=p===null||p===void 0?void 0:(u=p[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):v.length?t.push({file:"commitlint",type:A.Error,message:(_=v===null||v===void 0?void 0:(l=v[1])===null||l===void 0?void 0:l.trim())!==null&&_!==void 0?_:"",rule:(I=v===null||v===void 0?void 0:(f=v[2])===null||f===void 0?void 0:f.trim())!==null&&I!==void 0?I:""}):n.push(e.trim())}}),t.length&&e_(t),em.DEBUG&&n.length&&(Y.warn("Unmatched lines:"),n.forEach(function(e){return Y.info(" ".concat(e))}))}y(eI,"parseTextErrors");function eb(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,o=e.line,a=e.column,c=e.ruleId,i=e.message;n.push({type:r===2?A.Error:A.Warning,file:t,position:"".concat(o,":").concat(a),rule:c,message:i})})}),n.length&&e_(n)}catch(t){eI(e)}}y(eb,"parseCommandOutput");function eE(e){return /*#__PURE__*/r(function(e){var t,n,r,o,a,c,i,s,u;var l=arguments;return f(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:eb;n=new AbortController;D.default.on("SIGINT",function(){Y.warn("Process interrupted. Terminating..."),n.abort(),D.default.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,eh(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),o=r.stdout,a=r.stderr;[o,a].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:c=f.sent();i=c.stdout,s=c.stderr,u=c.message;[i,s].forEach(function(e){return e&&t(e)}),!s&&!i&&Y.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}y(eE,"executeCommand");function eO(e){return{raw:!0,cmd:e}}y(eO,"rawCommand");function eS(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(e8," ").concat(ek," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(e8," ").concat(e5," ").concat(eH," ").concat(e):"".concat(e8," ").concat(eJ," ").concat(e)}y(eS,"formatCLI");function eC(e,t){return typeof e=="function"?eS(e(t),t):(typeof e==="undefined"?"undefined":u(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?eS(e,t):e}y(eC,"formatCommand");function eT(e,t){return /*#__PURE__*/r(function(){var n;return f(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);Y.start("".concat(e)),em.DEBUG&&Y.info("→ ".concat(t));return[4,eE(t)];case 1:r.sent(),Y.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw Y.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}y(eT,"runCommand");var ew=b(require("path"),1);var eG=L();function eR(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,ew.resolve).apply(this,[eG.CWD].concat(s(t)))}y(eR,"resolveWorkingPath");function eN(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,ew.join).apply(this,s(t))}y(eN,"join");var eP=L(),eL=eP.CWD,ek="@cyberskill/shared",ej="node_modules",eD="dist",eU="package.json",eA="package-lock.json",eM="tsconfig.json",ex=".gitignore",eF=".simple-git-hooks.json",eq="pnpm-lock.yaml",eK=".git/hooks/",eY=".git/COMMIT_EDITMSG",eB=".migrate-mongo.config.js",eW=eN(eL,ej,ek,eD),eJ="cyberskill",eH="src/nodejs/cli/index.ts",e$="eslint",eV="eslint",ez="vitest",eQ="playwright",eX="vitest",eZ="@commitlint/cli",e0="commitlint",e1="lint-staged",e2="lint-staged",e3="typescript",e4="tsc",e5="tsx",e6="git",e7="pnpm",e8="pnpm exec",e9="simple-git-hooks",te="simple-git-hooks",tt="@eslint/config-inspector",tn="eslint-config-inspector",tr="node-modules-inspector",to="node-modules-inspector",ta="migrate-mongo",tc="./node_modules/migrate-mongo/bin/migrate-mongo",ti={CYBERSKILL_DIRECTORY:eW,WORKING_DIRECTORY:eL,TS_CONFIG:eR(eM),GIT_IGNORE:eR(ex),GIT_HOOK:eR(eK),GIT_COMMIT_MSG:eR(eY),SIMPLE_GIT_HOOKS_JSON:eR(eF),PACKAGE_JSON:eR(eU),PACKAGE_LOCK_JSON:eR(eA),PNPM_LOCK_YAML:eR(eq),NODE_MODULES:eR(ej),MIGRATE_MONGO_CONFIG:eR(eB),LINT_STAGED_CONFIG:eR("".concat(eW,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:eR("".concat(eW,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:eR("".concat(eW,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eR("".concat(eW,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eR("".concat(eW,"/react/vitest/vitest.e2e.js"))};function ts(e,t,n){return /*#__PURE__*/r(function(){return f(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case k.CLI:return[3,1];case k.STRING:return[3,3]}return[3,4];case 1:return[4,ef(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),eC(eO("".concat(e8," ").concat(n))))];case 3:return[2,eC(eO(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}y(ts,"buildCommand");function tu(e,t,n){return function(){return /*#__PURE__*/r(function(){return f(this,function(r){return[2,ts(e,t,n)]})})()}}y(tu,"commandFactory");var tl={simpleGitHooks:tu(k.CLI,e9,te),eslintInspect:tu(k.CLI,tt,tn),nodeModulesInspect:tu(k.CLI,tr,to),eslintCheck:tu(k.CLI,e$,"".concat(eV," ").concat(ti.WORKING_DIRECTORY)),eslintFix:tu(k.CLI,e$,"".concat(eV," ").concat(ti.WORKING_DIRECTORY," --fix")),typescriptCheck:tu(k.CLI,e3,"".concat(e4," -p ").concat(ti.TS_CONFIG," --noEmit")),configureGitHook:tu(k.STRING,"".concat(e6," config core.hooksPath ").concat(ti.GIT_HOOK)),testUnit:tu(k.CLI,ez,"".concat(eX," --config ").concat(ti.UNIT_TEST_CONFIG)),testE2e:tu(k.CLI,"".concat(ez," ").concat(eQ),"".concat(eX," --config ").concat(ti.E2E_TEST_CONFIG)),mongoMigrateCreate:y(function(e){return tu(k.CLI,ta,"".concat(e5," ").concat(tc," create ").concat(e," -f ").concat(ti.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tu(k.CLI,ta,"".concat(e5," ").concat(tc," up -f ").concat(ti.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tu(k.CLI,ta,"".concat(e5," ").concat(tc," down -f ").concat(ti.MIGRATE_MONGO_CONFIG)),commitLint:tu(k.CLI,eZ,"".concat(e0," --edit ").concat(ti.GIT_COMMIT_MSG," --config ").concat(ti.COMMITLINT_CONFIG)),lintStaged:tu(k.CLI,e1,"".concat(e2," --config ").concat(ti.LINT_STAGED_CONFIG)),stageBuildDirectory:tu(k.STRING,"".concat(e6," add ").concat(eD)),build:tu(k.STRING,"".concat(e7," run build")),pnpmInstallStandard:tu(k.STRING,"".concat(e7," install")),pnpmInstallLegacy:tu(k.STRING,"".concat(e7," install --legacy-peer-deps")),pnpmInstallForce:tu(k.STRING,"".concat(e7," install --force"))};function tf(e){return(0,C.defineConfig)(i({plugins:[(0,S.default)()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[ti.UNIT_TEST_SETUP_CONFIG]}},e))}y(tf,"vitestUnit");0&&(module.exports={vitestUnit:vitestUnit});