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