@cyberskill/shared 1.154.0 → 1.156.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function s(e,t,n,r,s,i,o){try{var a=e[i](o);var c=a.value}catch(e){n(e);return}if(a.done){t(c)}else{Promise.resolve(c).then(r,s)}}function i(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function a(e){s(o,r,i,a,c,"next",e)}function c(e){s(o,r,i,a,c,"throw",e)}a(undefined)})}}function o(e,t,n){t=d(t);return _(e,T()?Reflect.construct(t,n||[],d(e).constructor):t.apply(e,n))}function a(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function c(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(e,r.key,r)}}function u(e,t,n){if(t)c(e.prototype,t);if(n)c(e,n);return e}function l(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 d(e){d=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return d(e)}function p(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});if(t)D(e,t)}function f(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function m(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function E(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var s=true;var i=false;var o,a;try{for(n=n.call(e);!(s=(o=n.next()).done);s=true){r.push(o.value);if(t&&r.length===t)break}}catch(e){i=true;a=e}finally{try{if(!s&&n["return"]!=null)n["return"]()}finally{if(i)throw a}}return r}function 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 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){l(e,t,n[t])})}return e}function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}n.push.apply(n,r)}return n}function S(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{v(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function O(e,t){if(e==null)return{};var n=C(e,t);var r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++){r=i[s];if(t.indexOf(r)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,r))continue;n[r]=e[r]}}return n}function C(e,t){if(e==null)return{};var n={};var r=Object.keys(e);var s,i;for(i=0;i<r.length;i++){s=r[i];if(t.indexOf(s)>=0)continue;n[s]=e[s]}return n}function _(e,t){if(t&&(b(t)==="object"||typeof t==="function")){return t}return r(e)}function D(e,t){D=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return D(e,t)}function I(e,n){return t(e)||E(e,n)||A(e,n)||g()}function N(e){return n(e)||m(e)||A(e)||h()}function b(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function A(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 T(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(T=function(){return!!e})()}function R(e,t){var n,r,s,i={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=a(0),o["throw"]=a(1),o["return"]=a(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(e){return function(t){return c([e,t])}}function c(a){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,a[0]&&(i=0)),i)try{if(n=1,r&&(s=a[0]&2?r["return"]:a[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,a[1])).done)return s;if(r=0,s)a=[a[0]&2,s.value];switch(a[0]){case 0:case 1:s=a;break;case 4:i.label++;return{value:a[1],done:false};case 5:i.label++;r=a[1];a=[0];continue;case 7:a=i.ops.pop();i.trys.pop();continue;default:if(!(s=i.trys,s=s.length>0&&s[s.length-1])&&(a[0]===6||a[0]===2)){i=0;continue}if(a[0]===3&&(!s||a[1]>s[0]&&a[1]<s[3])){i.label=a[1];break}if(a[0]===6&&i.label<s[1]){i.label=s[1];s=a;break}if(s&&i.label<s[2]){i.label=s[2];i.ops.push(a);break}if(s[2])i.ops.pop();i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e];r=0}finally{n=s=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}}var x=Object.defineProperty;var G=function(e,t,n){return t in e?x(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var P=function(e,t){return x(e,"name",{value:t,configurable:!0})};var M=function(e,t,n){return G(e,(typeof t==="undefined"?"undefined":b(t))!="symbol"?t+"":t,n)};import{ApolloServer as w}from"@apollo/server";import{expressMiddleware as L}from"@apollo/server/express4";import{ApolloServerPluginDrainHttpServer as j}from"@apollo/server/plugin/drainHttpServer";import{ApolloServerPluginLandingPageLocalDefault as k,ApolloServerPluginLandingPageProductionDefault as U}from"@apollo/server/plugin/landingPage/default";var F=function(e){return e.Error="error",e.Warning="warning",e}({});import q from"chalk";import V from"consola";import{GraphQLError as Y}from"graphql";var K=".cyberskill-storage";import B from"@dotenvx/dotenvx";import{bool as H,cleanEnv as W,str as Q}from"envalid";import J from"node:os";import $ from"node:path";import X from"node:process";var z=!1;function Z(){z||(B.config(),z=!0)}P(Z,"loadEnvFile");function ee(){Z();var e=W(X.env,{CWD:Q({default:X.cwd()}),DEBUG:H({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:Q({default:$.join(J.homedir(),K)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}P(ee,"getEnv");var et={GRAPHQL_PARSE_FAILED:{CODE:"GRAPHQL_PARSE_FAILED",MESSAGE:"The GraphQL operation string contains a syntax error."},GRAPHQL_VALIDATION_FAILED:{CODE:"GRAPHQL_VALIDATION_FAILED",MESSAGE:"The GraphQL operation is not valid against the server's schema."},BAD_USER_INPUT:{CODE:"BAD_USER_INPUT",MESSAGE:"The GraphQL operation includes an invalid value for a field argument."},PERSISTED_QUERY_NOT_FOUND:{CODE:"PERSISTED_QUERY_NOT_FOUND",MESSAGE:"A client sent the hash of a query string to execute via automatic persisted queries, but the query was not in the APQ cache."},PERSISTED_QUERY_NOT_SUPPORTED:{CODE:"PERSISTED_QUERY_NOT_SUPPORTED",MESSAGE:"A client sent the hash of a query string to execute via automatic persisted queries, but the server has disabled APQ."},OPERATION_RESOLUTION_FAILURE:{CODE:"OPERATION_RESOLUTION_FAILURE",MESSAGE:"The request was parsed successfully and is valid against the server's schema, but the server couldn't resolve which operation to run. This occurs when a request containing multiple named operations doesn't specify which operation to run (i.e.,operationName), or if the named operation isn't included in the request."},CONTINUE:{CODE:100,MESSAGE:"Continue"},SWITCHING_PROTOCOLS:{CODE:101,MESSAGE:"Switching Protocols"},PROCESSING:{CODE:102,MESSAGE:"Processing"},OK:{CODE:200,MESSAGE:"OK"},CREATED:{CODE:201,MESSAGE:"Created"},ACCEPTED:{CODE:202,MESSAGE:"Accepted"},NON_AUTHORITATIVE_INFORMATION:{CODE:203,MESSAGE:"Non Authoritative Information"},NO_CONTENT:{CODE:204,MESSAGE:"No Content"},RESET_CONTENT:{CODE:205,MESSAGE:"Reset Content"},PARTIAL_CONTENT:{CODE:206,MESSAGE:"Partial Content"},MULTI_STATUS:{CODE:207,MESSAGE:"Multi-Status"},MULTIPLE_CHOICES:{CODE:300,MESSAGE:"Multiple Choices"},MOVED_PERMANENTLY:{CODE:301,MESSAGE:"Moved Permanently"},MOVED_TEMPORARILY:{CODE:302,MESSAGE:"Moved Temporarily"},SEE_OTHER:{CODE:303,MESSAGE:"See Other"},NOT_MODIFIED:{CODE:304,MESSAGE:"Not Modified"},USE_PROXY:{CODE:305,MESSAGE:"Use Proxy"},TEMPORARY_REDIRECT:{CODE:307,MESSAGE:"Temporary Redirect"},PERMANENT_REDIRECT:{CODE:308,MESSAGE:"Permanent Redirect"},BAD_REQUEST:{CODE:400,MESSAGE:"Bad Request"},UNAUTHORIZED:{CODE:401,MESSAGE:"Unauthorized"},PAYMENT_REQUIRED:{CODE:402,MESSAGE:"Payment Required"},FORBIDDEN:{CODE:403,MESSAGE:"Forbidden"},NOT_FOUND:{CODE:404,MESSAGE:"Not Found"},METHOD_NOT_ALLOWED:{CODE:405,MESSAGE:"Method Not Allowed"},NOT_ACCEPTABLE:{CODE:406,MESSAGE:"Not Acceptable"},PROXY_AUTHENTICATION_REQUIRED:{CODE:407,MESSAGE:"Proxy Authentication Required"},REQUEST_TIMEOUT:{CODE:408,MESSAGE:"Request Timeout"},CONFLICT:{CODE:409,MESSAGE:"Conflict"},GONE:{CODE:410,MESSAGE:"Gone"},LENGTH_REQUIRED:{CODE:411,MESSAGE:"Length Required"},PRECONDITION_FAILED:{CODE:412,MESSAGE:"Precondition Failed"},REQUEST_TOO_LONG:{CODE:413,MESSAGE:"Request Entity Too Large"},REQUEST_URI_TOO_LONG:{CODE:414,MESSAGE:"Request-URI Too Long"},UNSUPPORTED_MEDIA_TYPE:{CODE:415,MESSAGE:"Unsupported Media Type"},REQUESTED_RANGE_NOT_SATISFIABLE:{CODE:416,MESSAGE:"Requested Range Not Satisfiable"},EXPECTATION_FAILED:{CODE:417,MESSAGE:"Expectation Failed"},IM_A_TEAPOT:{CODE:418,MESSAGE:"I'm a teapot"},INSUFFICIENT_SPACE_ON_RESOURCE:{CODE:419,MESSAGE:"Insufficient Space on Resource"},METHOD_FAILURE:{CODE:420,MESSAGE:"Method Failure"},MISDIRECTED_REQUEST:{CODE:421,MESSAGE:"Misdirected Request"},UNPROCESSABLE_ENTITY:{CODE:422,MESSAGE:"Unprocessable Entity"},LOCKED:{CODE:423,MESSAGE:"Locked"},FAILED_DEPENDENCY:{CODE:424,MESSAGE:"Failed Dependency"},PRECONDITION_REQUIRED:{CODE:428,MESSAGE:"Precondition Required"},TOO_MANY_REQUESTS:{CODE:429,MESSAGE:"Too Many Requests"},REQUEST_HEADER_FIELDS_TOO_LARGE:{CODE:431,MESSAGE:"Request Header Fields Too Large"},UNAVAILABLE_FOR_LEGAL_REASONS:{CODE:451,MESSAGE:"Unavailable For Legal Reasons"},INTERNAL_SERVER_ERROR:{CODE:500,MESSAGE:"Internal Server Error"},NOT_IMPLEMENTED:{CODE:501,MESSAGE:"Not Implemented"},BAD_GATEWAY:{CODE:502,MESSAGE:"Bad Gateway"},SERVICE_UNAVAILABLE:{CODE:503,MESSAGE:"Service Unavailable"},GATEWAY_TIMEOUT:{CODE:504,MESSAGE:"Gateway Timeout"},HTTP_VERSION_NOT_SUPPORTED:{CODE:505,MESSAGE:"HTTP Version Not Supported"},INSUFFICIENT_STORAGE:{CODE:507,MESSAGE:"Insufficient Storage"},NETWORK_AUTHENTICATION_REQUIRED:{CODE:511,MESSAGE:"Network Authentication Required"}};var en=ee();function er(e){var t=e.message,n=e.status,r=n===void 0?et.INTERNAL_SERVER_ERROR:n,s=e.type,i=s===void 0?"graphql":s;var o;var a=(o=t!==null&&t!==void 0?t:r.MESSAGE)!==null&&o!==void 0?o:"Internal server error";throw i==="graphql"?new Y(a,{extensions:{code:r.CODE}}):new Error(a)}P(er,"throwError");en.DEBUG||(V.level=4);function es(e){var t=q[e];return typeof t=="function"?t:q.green}P(es,"chalkKeyword");var ei={silent:V.silent,level:V.level,fatal:V.fatal,error:V.error,warn:V.warn,log:V.log,info:V.info,success:V.success,ready:V.ready,start:V.start,box:V.box,debug:V.debug,trace:V.trace,verbose:V.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)){V.box(q.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,s=e.rule,i=e.message;V.log("".concat(q.gray("File:")," ").concat(q.blue("".concat(t).concat(r?":".concat(r):"")))),s&&V.log(" ".concat(es(n)("Rule:")," ").concat(s)),V.log(" ".concat(es(n)("Message:")," ").concat(i))}),V.box(es(n)("".concat(e," : ").concat(t.length))),V.log(q.gray("─".repeat(40)))}};function eo(e,t){var n=t!==null&&t!==void 0?t:{},r=n.shouldLog,s=r===void 0?!0:r,i=n.returnValue,o=n.callback,a=f(e,Error)?e:new Error(typeof e=="string"?e:"Unknown error");return s&&ei.error(a.message),o&&typeof o=="function"&&o(a),i||{success:!1,message:a.message,code:et.INTERNAL_SERVER_ERROR.CODE}}P(eo,"catchError");function ea(e){return new w(y({schema:e.schema,plugins:[e.isDev?k():U(),j({httpServer:e.server})].concat(N(e.drainServer?[{serverWillStart:function t(){return i(function(){return R(this,function(t){return[2,{drainServer:function t(){return i(function(){var t;return R(this,function(n){(t=e.drainServer)===null||t===void 0?void 0:t.call(e),ei.info("Apollo Server drainServer hook called");return[2]})})()}}]})})()}}]:[]))},e.isDev&&{introspection:!0,includeStacktraceInErrorResponses:!0}))}P(ea,"createApolloServer");import ec from"node:process";import{hideBin as eu}from"yargs/helpers";import el from"yargs/yargs";var ed={name:"@cyberskill/shared",type:"module",version:"1.153.0",description:"CyberSkill Shared",author:"Stephen Cheng",license:"MIT",homepage:"https://github.com/cyberskill-world/shared#readme",repository:{type:"git",url:"git+https://github.com/cyberskill-world/shared.git"},bugs:{url:"https://github.com/cyberskill-world/shared/issues"},exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js",require:"./dist/index.cjs"},"./config":{types:"./dist/config/index.d.ts",import:"./dist/config/index.js",require:"./dist/config/index.cjs"},"./config/commitlint":{types:"./dist/config/commitlint/index.d.ts",import:"./dist/config/commitlint/index.js",require:"./dist/config/commitlint/index.cjs"},"./config/env":{types:"./dist/config/env/index.d.ts",import:"./dist/config/env/index.js",require:"./dist/config/env/index.cjs"},"./config/eslint":{types:"./dist/config/eslint/index.d.ts",import:"./dist/config/eslint/index.js",require:"./dist/config/eslint/index.cjs"},"./config/graphql-codegen":{types:"./dist/config/graphql-codegen/index.d.ts",import:"./dist/config/graphql-codegen/index.js",require:"./dist/config/graphql-codegen/index.cjs"},"./config/lint-staged":{types:"./dist/config/lint-staged/index.d.ts",import:"./dist/config/lint-staged/index.js",require:"./dist/config/lint-staged/index.cjs"},"./constant":{types:"./dist/constant/index.d.ts",import:"./dist/constant/index.js",require:"./dist/constant/index.cjs"},"./node":{types:"./dist/node/index.d.ts",import:"./dist/node/index.js",require:"./dist/node/index.cjs"},"./node/apollo-server":{types:"./dist/node/apollo-server/index.d.ts",import:"./dist/node/apollo-server/index.js",require:"./dist/node/apollo-server/index.cjs"},"./node/cli":{types:"./dist/node/cli/index.d.ts",import:"./dist/node/cli/index.js",require:"./dist/node/cli/index.cjs"},"./node/command":{types:"./dist/node/command/index.d.ts",import:"./dist/node/command/index.js",require:"./dist/node/command/index.cjs"},"./node/express":{types:"./dist/node/express/index.d.ts",import:"./dist/node/express/index.js",require:"./dist/node/express/index.cjs"},"./node/fs":{types:"./dist/node/fs/index.d.ts",import:"./dist/node/fs/index.js",require:"./dist/node/fs/index.cjs"},"./node/log":{types:"./dist/node/log/index.d.ts",import:"./dist/node/log/index.js",require:"./dist/node/log/index.cjs"},"./node/mongo":{types:"./dist/node/mongo/index.d.ts",import:"./dist/node/mongo/index.js",require:"./dist/node/mongo/index.cjs"},"./node/package":{types:"./dist/node/package/index.d.ts",import:"./dist/node/package/index.js",require:"./dist/node/package/index.cjs"},"./node/path":{types:"./dist/node/path/index.d.ts",import:"./dist/node/path/index.js",require:"./dist/node/path/index.cjs"},"./node/storage":{types:"./dist/node/storage/index.d.ts",import:"./dist/node/storage/index.js",require:"./dist/node/storage/index.cjs"},"./node/ws":{types:"./dist/node/ws/index.d.ts",import:"./dist/node/ws/index.js",require:"./dist/node/ws/index.cjs"},"./react":{types:"./dist/react/index.d.ts",import:"./dist/react/index.js",require:"./dist/react/index.cjs"},"./react/apollo-client":{types:"./dist/react/apollo-client/index.d.ts",import:"./dist/react/apollo-client/index.js",require:"./dist/react/apollo-client/index.cjs"},"./react/apollo-error":{types:"./dist/react/apollo-error/index.d.ts",import:"./dist/react/apollo-error/index.js",require:"./dist/react/apollo-error/index.cjs"},"./react/i18next":{types:"./dist/react/i18next/index.d.ts",import:"./dist/react/i18next/index.js",require:"./dist/react/i18next/index.cjs"},"./react/loading":{types:"./dist/react/loading/index.d.ts",import:"./dist/react/loading/index.js",require:"./dist/react/loading/index.cjs"},"./react/log":{types:"./dist/react/log/index.d.ts",import:"./dist/react/log/index.js",require:"./dist/react/log/index.cjs"},"./react/next-intl":{types:"./dist/react/next-intl/index.d.ts",import:"./dist/react/next-intl/index.js",require:"./dist/react/next-intl/index.cjs"},"./react/storage":{types:"./dist/react/storage/index.d.ts",import:"./dist/react/storage/index.js",require:"./dist/react/storage/index.cjs"},"./react/toast":{types:"./dist/react/toast/index.d.ts",import:"./dist/react/toast/index.js",require:"./dist/react/toast/index.cjs"},"./react/vitest":{types:"./dist/react/vitest/index.d.ts",import:"./dist/react/vitest/index.js",require:"./dist/react/vitest/index.cjs"},"./style/reset.css":{import:"./dist/style/reset.css",require:"./dist/style/reset.css"},"./typescript":{types:"./dist/typescript/index.d.ts",import:"./dist/typescript/index.js",require:"./dist/typescript/index.cjs"},"./util":{types:"./dist/util/index.d.ts",import:"./dist/util/index.js",require:"./dist/util/index.cjs"}},typesVersions:{"*":{config:["dist/config/index.d.ts"],constant:["dist/constant/index.d.ts"],node:["dist/node/index.d.ts"],react:["dist/react/index.d.ts"],typescript:["dist/typescript/index.d.ts"],util:["dist/util/index.d.ts"]}},bin:{cyberskill:"dist/node/cli/index.js"},files:["dist","public"],scripts:{build:"tsup",dev:"tsup --watch",lint:"tsx src/node/cli/index.ts lint","lint:fix":"tsx src/node/cli/index.ts lint:fix","lint:inspect":"tsx src/node/cli/index.ts lint:inspect",reset:"tsx src/node/cli/index.ts reset",prepare:"tsx src/node/cli/index.ts prepare",inspect:"tsx src/node/cli/index.ts inspect","test:unit":"tsx src/node/cli/index.ts test:unit","test:e2e":"tsx src/node/cli/index.ts test:e2e",commitlint:"tsx src/node/cli/index.ts commitlint"},dependencies:{"@antfu/eslint-config":"4.13.0","@apollo/client":"3.13.8","@apollo/server":"4.12.0","@dotenvx/dotenvx":"1.43.0","@eddeee888/gcg-typescript-resolver-files":"0.12.0","@eslint-react/eslint-plugin":"1.49.0","@graphql-codegen/cli":"5.0.6","@graphql-codegen/client-preset":"4.8.1","@microsoft/api-extractor":"7.52.7","@nestjs/common":"11.1.0","@nestjs/core":"11.1.0","@next/eslint-plugin-next":"15.3.2","@testing-library/jest-dom":"6.6.3","@testing-library/react":"16.3.0","@vitejs/plugin-react-swc":"3.9.0","@vitest/browser":"3.1.3","body-parser":"2.2.0",chalk:"5.4.1",classnames:"2.5.1",compression:"1.8.0",consola:"3.4.2","cookie-parser":"1.4.7",cors:"2.8.5","crypto-js":"4.2.0","date-fns":"4.1.0","dotenv-cli":"8.0.0",envalid:"8.0.0","eslint-config-next":"15.3.2","eslint-plugin-format":"1.0.1","eslint-plugin-react-hooks":"5.2.0","eslint-plugin-react-refresh":"0.4.20",express:"4.21.2","express-session":"1.18.1","express-useragent":"1.0.15","fs-extra":"11.3.0",globals:"16.1.0",graphql:"16.11.0","graphql-ws":"6.0.4",i18next:"25.1.2",jsdom:"26.1.0",localforage:"1.10.0","migrate-mongo":"12.1.3","modern-normalize":"3.0.1",mongodb:"6.16.0",mongoose:"8.14.2","mongoose-aggregate-paginate-v2":"1.1.4","mongoose-paginate-v2":"1.9.0","next-intl":"4.1.0","node-fetch":"3.3.2","node-persist":"4.0.4",playwright:"1.52.0","postcss-modules":"6.0.1",qs:"6.14.0",react:"19.1.0","react-dom":"19.1.0","react-hot-toast":"2.5.2","react-i18next":"15.5.1","react-icons":"5.5.0",sass:"1.87.0",slugify:"1.6.6",tsup:"8.4.0",tsx:"4.19.4",typescript:"5.8.3",unorm:"1.6.0",uuid:"11.1.0",vite:"6.3.5",vitest:"3.1.3","vitest-browser-react":"0.1.1",ws:"8.18.2",yargs:"17.7.2"},publishConfig:{access:"public",registry:"https://registry.npmjs.org/"},devDependencies:{"@commitlint/cli":"19.8.1","@commitlint/config-conventional":"19.8.1","@eslint/config-inspector":"1.0.2","@types/body-parser":"1.19.5","@types/compression":"1.7.5","@types/cookie-parser":"1.4.8","@types/cors":"2.8.18","@types/crypto-js":"4.2.2","@types/express":"4.17.21","@types/express-session":"1.18.1","@types/express-useragent":"1.0.5","@types/fs-extra":"11.0.4","@types/migrate-mongo":"10.0.5","@types/node":"22.15.17","@types/node-persist":"3.1.8","@types/react":"19.1.3","@types/react-dom":"19.1.3","@types/unorm":"1.3.31","@types/uuid":"10.0.0","@types/ws":"8.18.1","@types/yargs":"17.0.33",eslint:"9.26.0","lint-staged":"15.5.2","node-modules-inspector":"0.6.8","simple-git-hooks":"2.13.0"}};var ep=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as ef}from"node:child_process";import em from"node:process";import*as eE from"node:util";var eg=function(e){return e.DEPENDENCY="dependencies",e.DEV_DEPENDENCY="devDependencies",e.PEER_DEPENDENCY="peerDependencies",e.BUNDLE_DEPENDENCY="bundleDependencies",e.OPTIONAL_DEPENDENCY="optionalDependencies",e}({});import eh from"node-fetch";import ey from"fs-extra";import ev from"node:path";var eS=ey,eO=ey.lstatSync,eC=ey.readdirSync,e_=ey.mkdirSync,eD=ey.readFileSync,eI=ey.unlinkSync,eN=ey.statSync,eb=ey.readJsonSync;function eA(e,t,n){ey.writeFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}P(eA,"writeFileSync");function eT(e,t,n){ey.appendFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}P(eT,"appendFileSync");function eR(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return ey.pathExistsSync(e)})}P(eR,"pathExistsSync");function ex(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}t.forEach(function(e){eR(e)&&ey.removeSync(e)})}P(ex,"removeSync");function eG(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=n.extensions,s=O(n,["extensions"]);ey.copySync(e,t,y({filter:P(function(e){return eN(e).isDirectory()||!r||r.length===0?!0:r.includes(ev.extname(e))},"filter")},s))}P(eG,"copySync");import eP from"fs-extra";import eM from"node:path";var ew=ee(),eL=eM;function ej(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=eL).resolve.apply(r,[ew.CWD].concat(N(t)))}P(ej,"resolveWorkingPath");function ek(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=eL).resolve.apply(r,N(t))}P(ek,"resolve");function eU(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=eL).join.apply(r,N(t))}P(eU,"join");var eF=ee(),eq=eF.CWD,eV="@cyberskill/shared",eY="node_modules",eK="dist",eB="package.json",eH="package-lock.json",eW="tsconfig.json",eQ=".gitignore",eJ=".simple-git-hooks.json",e$="pnpm-lock.yaml",eX=".git/hooks/",ez=".git/COMMIT_EDITMSG",eZ=".migrate-mongo.config.js",e0=function(){var e=eP.readJsonSync(ej(eB)).name===eV?eq:eU(eq,eY,eV);return eU(e,eK)}(),e1="cyberskill",e2="src/node/cli/index.ts",e4="eslint",e3="eslint",e5="vitest",e8="playwright",e6="vitest",e7="@commitlint/cli",e9="@commitlint/config-conventional",te="commitlint",tt="lint-staged",tn="lint-staged",tr="typescript",ts="tsc",ti="tsx",to="git",ta="pnpm",tc="pnpm exec",tu="simple-git-hooks",tl="simple-git-hooks",td="@eslint/config-inspector",tp="eslint-config-inspector",tf="node-modules-inspector",tm="node-modules-inspector",tE="migrate-mongo",tg="./node_modules/migrate-mongo/bin/migrate-mongo",th={CYBERSKILL_DIRECTORY:e0,WORKING_DIRECTORY:eq,TS_CONFIG:ej(eW),GIT_IGNORE:ej(eQ),GIT_HOOK:ej(eX),GIT_COMMIT_MSG:ej(ez),SIMPLE_GIT_HOOKS_JSON:ej(eJ),PACKAGE_JSON:ej(eB),PACKAGE_LOCK_JSON:ej(eH),PNPM_LOCK_YAML:ej(e$),NODE_MODULES:ej(eY),MIGRATE_MONGO_CONFIG:ej(eZ),LINT_STAGED_CONFIG:ej("".concat(e0,"/config/lint-staged/index.js")),COMMITLINT_CONFIG:ej("".concat(e0,"/config/commitlint/index.js")),UNIT_TEST_CONFIG:ej("".concat(e0,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:ej("".concat(e0,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:ej("".concat(e0,"/react/vitest/vitest.e2e.js"))};function ty(e){var t=e.isCurrentProject;return y({"pre-commit":tn,"commit-msg":te},t&&{"pre-push":tF("".concat(to," pull"))})}P(ty,"createGitHooksConfig");function tv(e){var t=e.type,n=e.packages,r=e.command;var s=n===null||n===void 0?void 0:n.reduce(function(e,t){return e.some(function(e){return e.name===t.name})||e.push(t),e},[]);return function(){return i(function(){var e;return R(this,function(n){switch(n.label){case 0:switch(t){case ep.CLI:return[3,1];case ep.STRING:return[3,4]}return[3,5];case 1:e=s===null||s===void 0?void 0:s.length;if(!e)return[3,3];return[4,tN(s,{update:!0})];case 2:e=n.sent();n.label=3;case 3:return[2,(e,tV(tF("".concat(tc," ").concat(r))))];case 4:return[2,tV(tF(r))];case 5:throw new Error("Unsupported command type");case 6:return[2]}})})()}}P(tv,"buildCommand");var tS={simpleGitHooks:tv({type:ep.CLI,packages:[{name:tu,type:eg.DEV_DEPENDENCY}],command:tl}),eslintInspect:tv({type:ep.CLI,packages:[{name:td,type:eg.DEV_DEPENDENCY}],command:tp}),nodeModulesInspect:tv({type:ep.CLI,packages:[{name:tf,type:eg.DEV_DEPENDENCY}],command:tm}),eslintCheck:tv({type:ep.CLI,packages:[{name:e4,type:eg.DEV_DEPENDENCY}],command:"".concat(e3," ").concat(th.WORKING_DIRECTORY," --no-cache")}),eslintFix:tv({type:ep.CLI,packages:[{name:e4,type:eg.DEV_DEPENDENCY}],command:"".concat(e3," ").concat(th.WORKING_DIRECTORY," --fix --no-cache")}),typescriptCheck:tv({type:ep.CLI,packages:[{name:tr,type:eg.DEPENDENCY}],command:"".concat(ts," -p ").concat(th.TS_CONFIG," --noEmit")}),testUnit:tv({type:ep.CLI,packages:[{name:e5,type:eg.DEV_DEPENDENCY}],command:"".concat(e6," --config ").concat(th.UNIT_TEST_CONFIG)}),testE2e:tv({type:ep.CLI,packages:[{name:e5,type:eg.DEV_DEPENDENCY}],command:"".concat(e6," --config ").concat(th.E2E_TEST_CONFIG)}),mongoMigrateCreate:P(function(e){return tv({type:ep.CLI,packages:[{name:tE,type:eg.DEPENDENCY}],command:"".concat(ti," ").concat(tg," create ").concat(e," -f ").concat(th.MIGRATE_MONGO_CONFIG)})()},"mongoMigrateCreate"),mongoMigrateUp:tv({type:ep.CLI,packages:[{name:tE,type:eg.DEPENDENCY}],command:"".concat(ti," ").concat(tg," up -f ").concat(th.MIGRATE_MONGO_CONFIG)}),mongoMigrateDown:tv({type:ep.CLI,packages:[{name:tE,type:eg.DEPENDENCY}],command:"".concat(ti," ").concat(tg," down -f ").concat(th.MIGRATE_MONGO_CONFIG)}),commitLint:tv({type:ep.CLI,packages:[{name:e7,type:eg.DEV_DEPENDENCY},{name:e9,type:eg.DEV_DEPENDENCY}],command:"".concat(te," --edit ").concat(th.GIT_COMMIT_MSG," --config ").concat(th.COMMITLINT_CONFIG)}),lintStaged:tv({type:ep.CLI,packages:[{name:tt,type:eg.DEV_DEPENDENCY}],command:"".concat(tn," --config ").concat(th.LINT_STAGED_CONFIG)}),configureGitHook:tv({type:ep.STRING,command:"".concat(to," config core.hooksPath ").concat(th.GIT_HOOK)}),build:tv({type:ep.STRING,command:"".concat(ta," run --if-present build")}),pnpmInstallStandard:tv({type:ep.STRING,command:"".concat(ta," install --ignore-scripts")}),pnpmInstallLegacy:tv({type:ep.STRING,command:"".concat(ta," install --ignore-scripts --legacy-peer-deps")}),pnpmInstallForce:tv({type:ep.STRING,command:"".concat(ta," install --ignore-scripts --force")})};var tO=ee();function tC(e){return i(function(){var t,n,r,s;return R(this,function(i){switch(i.label){case 0:i.trys.push([0,3,,4]);return[4,eh("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=i.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=i.sent(),r=n.version;return[2,{success:!0,result:r}];case 3:s=i.sent();return[2,eo(s)];case 4:return[2]}})})()}P(tC,"getLatestPackageVersion");function t_(e){return i(function(){var t,n,r,s,i,o,a,c,u,l,d,p,f,m,E,g,h,y,v,S,O,C,_,D;return R(this,function(I){switch(I.label){case 0:I.trys.push([0,2,,3]);if(!e){if(eR(th.PACKAGE_JSON)){t=eb(th.PACKAGE_JSON),n=t.name,r=n===void 0?"":n,s=t.version,i=s===void 0?"":s;return[2,{success:!0,result:{name:r,currentVersion:i,latestVersion:i,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:!1,isDevDependency:!1,installedPath:th.PACKAGE_JSON,file:t}}]}return[2,{success:!0,result:{name:"",currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:!1,isDevDependency:!1,installedPath:"",file:{}}}]}if(!eR(th.PACKAGE_JSON))return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===eg.DEPENDENCY,isDevDependency:e.type===eg.DEV_DEPENDENCY,installedPath:"",file:{}}}];o=eb(th.PACKAGE_JSON),a=o.name,c=o.version,u=c===void 0?"":c,l=o.dependencies,d=l===void 0?{}:l,p=o.devDependencies,f=p===void 0?{}:p;if(e.name===a)return[2,{success:!0,result:{name:a,currentVersion:u,latestVersion:u,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:e.type===eg.DEPENDENCY,isDevDependency:e.type===eg.DEV_DEPENDENCY,installedPath:th.PACKAGE_JSON,file:o}}];m=e.name in d,E=e.name in f;return[4,tC(e.name)];case 1:g=I.sent();if(!g.success)return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:m,isDevDependency:E,installedPath:"",file:{}}}];if(!m&&!E)return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:g.result,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===eg.DEPENDENCY,isDevDependency:e.type===eg.DEV_DEPENDENCY,installedPath:"",file:{}}}];v=(y=(h=d[e.name])!==null&&h!==void 0?h:f[e.name])!==null&&y!==void 0?y:"",S=eU(tO.CWD,eY,e.name,eB);if(!eR(S))return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:g.result,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:m,isDevDependency:E,installedPath:"",file:{}}}];O=eb(S),C=O.version,_=C===void 0?"":C;return[2,v!==_?{success:!0,result:{name:e.name,currentVersion:_||v,latestVersion:g.result,isCurrentProject:!1,isInstalled:!0,isUpToDate:!1,isDependency:m,isDevDependency:E,installedPath:S,file:O}}:{success:!0,result:{name:e.name,currentVersion:v,latestVersion:g.result,isCurrentProject:!1,isInstalled:!0,isUpToDate:v===g.result,isDependency:m,isDevDependency:E,installedPath:S,file:O}}];case 2:D=I.sent();return[2,eo(D)];case 3:return[2]}})})()}P(t_,"getPackage");function tD(e){return i(function(){var t,n,r,s,i;return R(this,function(o){try{;r=eb(th.PACKAGE_JSON),s=(t=r.dependencies)!==null&&t!==void 0?t:{},i=(n=r.devDependencies)!==null&&n!==void 0?n:{};e.isDependency?s[e.name]=e.latestVersion:e.isDevDependency&&(i[e.name]=e.latestVersion),eA(th.PACKAGE_JSON,JSON.stringify(r,null,4)),ei.info('Updated "'.concat(e.name,'" to version ').concat(e.latestVersion))}catch(e){eo(e)}return[2]})})()}P(tD,"updatePackage");function tI(){return i(function(){var e,t,n,r,s,i,o,a,c,u,l,d,p;return R(this,function(f){switch(f.label){case 0:f.trys.push([0,12,,13]);e=[{command:P(function(){return tS.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:P(function(){return tS.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:P(function(){return tS.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;f.label=1;case 1:f.trys.push([1,9,10,11]);s=e[Symbol.iterator]();f.label=2;case 2:if(!!(t=(i=s.next()).done))return[3,8];o=i.value,a=o.command,c=o.message;f.label=3;case 3:f.trys.push([3,6,,7]);return[4,a()];case 4:u=f.sent();return[4,tK("".concat(c," using: ").concat(u),u)];case 5:f.sent();return[2];case 6:l=f.sent();eo(l);return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=f.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&s.return!=null){s.return()}}finally{if(n){throw r}}return[7];case 11:return[3,13];case 12:p=f.sent();eo(p);return[3,13];case 13:return[2]}})})()}P(tI,"installDependencies");function tN(e,t){return i(function(){var n,r,s,i,o,a,c,u,l,d,p,f;return R(this,function(m){switch(m.label){case 0:if(!eR(th.PACKAGE_JSON)){ei.error("package.json not found. Aborting setup.");return[2]}m.label=1;case 1:m.trys.push([1,16,,17]);return[4,Promise.all(e.map(t_))];case 2:n=m.sent().filter(function(e){return e.success?!e.result.isCurrentProject&&(!e.result.isInstalled||!e.result.isUpToDate):!1});r=n.length>0;if(!r)return[3,7];return[4,Promise.all(n.map(function(e){return e.success?tD(e.result):Promise.resolve()}))];case 3:m.sent();return[4,tI()];case 4:m.sent();s=["Running ESLint with auto-fix"];return[4,tS.eslintFix()];case 5:return[4,tK.apply(void 0,s.concat([m.sent()]))];case 6:r=m.sent();m.label=7;case 7:r;o=true,a=false,c=undefined;m.label=8;case 8:m.trys.push([8,13,14,15]);u=((i=t===null||t===void 0?void 0:t.postInstallActions)!==null&&i!==void 0?i:[])[Symbol.iterator]();m.label=9;case 9:if(!!(o=(l=u.next()).done))return[3,12];d=l.value;return[4,d()];case 10:m.sent();m.label=11;case 11:o=true;return[3,9];case 12:return[3,15];case 13:p=m.sent();a=true;c=p;return[3,15];case 14:try{if(!o&&u.return!=null){u.return()}}finally{if(a){throw c}}return[7];case 15:return[3,17];case 16:f=m.sent();eo(f);return[3,17];case 17:return[2]}})})()}P(tN,"setupPackages");import tb from"node-persist";var tA=ee();function tT(){return i(function(){var e;return R(this,function(t){switch(t.label){case 0:e=tb.defaultInstance;if(e)return[3,2];return[4,tb.init({dir:tA.CYBERSKILL_STORAGE_DIRECTORY})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})})()}P(tT,"initNodePersist");var tR={get:function e(e){return i(function(){var t,n;return R(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tT()];case 1:r.sent();return[4,tb.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,eo(n,{returnValue:null})];case 4:return[2]}})})()},set:function e(e,t){return i(function(){var n;return R(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tT()];case 1:r.sent();return[4,tb.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();eo(n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return i(function(){var t;return R(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tT()];case 1:n.sent();return[4,tb.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();eo(t);return[3,4];case 4:return[2]}})})()},keys:function e(){return i(function(){var e,t;return R(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tT()];case 1:n.sent();return[4,tb.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(ei.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,eo(t,{returnValue:[]})];case 4:return[2]}})})()},getLogLink:function e(e){return i(function(){return R(this,function(t){try{return[2,"".concat(tA.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,eo(e,{returnValue:null})]}return[2]})})()}};var tx=ee(),tG=eE.promisify(ef);function tP(){return i(function(){var e;return R(this,function(t){switch(t.label){case 0:return[4,t_()];case 1:e=t.sent();return[2,e.success?e.result.name:Date.now().toString()]}})})()}P(tP,"getPackageName");function tM(e){return i(function(){var t,n;return R(this,function(r){switch(r.label){case 0:if(e.length===0)return[2];return[4,tP()];case 1:t=r.sent();r.label=2;case 2:r.trys.push([2,4,,5]);return[4,tR.set(t,e)];case 3:r.sent(),setTimeout(function(){return i(function(){var e;return R(this,function(n){switch(n.label){case 0:return[4,tR.getLogLink(t)];case 1:e=n.sent();e&&ei.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},0);return[3,5];case 4:n=r.sent();eo(n);return[3,5];case 5:return[2]}})})()}P(tM,"saveErrorListToStorage");function tw(){return i(function(){var e,t,n;return R(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tP()];case 1:e=r.sent();return[4,tR.get(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:[]];case 3:n=r.sent();return[2,eo(n,{returnValue:[]})];case 4:return[2]}})})()}P(tw,"getStoredErrorLists");function tL(){return i(function(){var e,t;return R(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tP()];case 1:e=n.sent();return[4,tR.remove(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();eo(t);return[3,4];case 4:return[2]}})})()}P(tL,"clearAllErrorLists");function tj(e){var t=[],n=[],r="",s=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,i=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,o=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var a,c,u,l,d;var p=s.exec(e)||[],f=i.exec(e)||[],m=o.exec(e)||[];var E,g,h,y,v,S;p.length&&r?t.push({file:r,position:"".concat(p[1],":").concat(p[2]),type:p[3]===F.Error?F.Error:F.Warning,message:(E=p===null||p===void 0?void 0:(a=p[4])===null||a===void 0?void 0:a.trim())!==null&&E!==void 0?E:"",rule:(g=p===null||p===void 0?void 0:(c=p[5])===null||c===void 0?void 0:c.trim())!==null&&g!==void 0?g:""}):f.length?t.push({file:(h=f===null||f===void 0?void 0:f[1])!==null&&h!==void 0?h:"",position:"".concat(f[2],":").concat(f[3]),type:f[4]===F.Error?F.Error:F.Warning,message:(y=f===null||f===void 0?void 0:(u=f[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):m.length?t.push({file:"commitlint",type:F.Error,message:(v=m===null||m===void 0?void 0:(l=m[1])===null||l===void 0?void 0:l.trim())!==null&&v!==void 0?v:"",rule:(S=m===null||m===void 0?void 0:(d=m[2])===null||d===void 0?void 0:d.trim())!==null&&S!==void 0?S:""}):n.push(e.trim())}}),t.length&&tM(t),tx.DEBUG&&n.length&&(ei.warn("Unmatched lines:"),n.forEach(function(e){return ei.info(" ".concat(e))}))}P(tj,"parseTextErrors");function tk(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,s=e.line,i=e.column,o=e.ruleId,a=e.message;n.push({type:r===2?F.Error:F.Warning,file:t,position:"".concat(s,":").concat(i),rule:o,message:a})})}),n.length&&tM(n)}catch(t){tj(e)}}P(tk,"parseCommandOutput");function tU(e){return i(function(e){var t,n,r,s,i,o,a,c,u;var l=arguments;return R(this,function(d){switch(d.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:tk;n=new AbortController;em.on("SIGINT",function(){ei.warn("Process interrupted. Terminating..."),n.abort(),em.exit()});d.label=1;case 1:d.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,tG(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=d.sent(),s=r.stdout,i=r.stderr;[s,i].forEach(function(e){return e&&t(e)});d.label=3;case 3:return[3,5];case 4:o=d.sent();a=o.stdout,c=o.stderr,u=o.message;[a,c].forEach(function(e){return e&&t(e)}),!c&&!a&&ei.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}P(tU,"executeCommand");function tF(e){return{raw:!0,cmd:e}}P(tF,"rawCommand");function tq(e,t){return(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tc," ").concat(ti," ").concat(e2," ").concat(e):"".concat(tc," ").concat(e1," ").concat(e)}P(tq,"formatCLI");function tV(e,t){return typeof e=="function"?tq(e(t),t):(typeof e==="undefined"?"undefined":b(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?tq(e,t):e}P(tV,"formatCommand");function tY(e){return i(function(){var t,n,r;return R(this,function(s){switch(s.label){case 0:return[4,t_({name:eV})];case 1:t=s.sent();if(t.success){n={isCurrentProject:t.result.isCurrentProject},r=typeof e=="function"?e(n):e;return[2,Object.fromEntries(Object.entries(r).map(function(e){var t=I(e,2),r=t[0],s=t[1];return[r,tV(s,n)]}))]}return[2]}})})()}P(tY,"resolveCommands");function tK(e,t){return i(function(){var n;return R(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);ei.start("".concat(e)),tx.DEBUG&&ei.info("→ ".concat(t));return[4,tU(t)];case 1:r.sent(),ei.success("".concat(e," done."));return[3,3];case 2:n=r.sent();eo(n);return[3,3];case 3:return[2]}})})()}P(tK,"runCommand");function tB(){return i(function(){var e,t;return R(this,function(n){switch(n.label){case 0:if(!eR(th.TS_CONFIG))return[3,3];t=["Performing TypeScript validation"];return[4,tS.typescriptCheck()];case 1:return[4,tK.apply(void 0,t.concat([n.sent()]))];case 2:e=n.sent();return[3,4];case 3:e=ei.warn("No TypeScript configuration found. Skipping type check.");n.label=4;case 4:e;return[2]}})})()}P(tB,"checkTypescript");function tH(){return i(function(){var e,t,n,r;var s=arguments;return R(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:!1;if(!e)return[3,3];n=["Running ESLint with auto-fix"];return[4,tS.eslintFix()];case 1:return[4,tK.apply(void 0,n.concat([i.sent()]))];case 2:t=i.sent();return[3,6];case 3:r=["Running ESLint check"];return[4,tS.eslintCheck()];case 4:return[4,tK.apply(void 0,r.concat([i.sent()]))];case 5:t=i.sent();i.label=6;case 6:t;return[2]}})}).apply(this,arguments)}P(tH,"checkEslint");function tW(e,t){if(!t.length)return;var n=e==="Errors"?"red":"yellow";ei.printBoxedLog(e==="Errors"?"✖ Errors":"⚠ Warnings",t,n)}P(tW,"printIssues");function tQ(){return i(function(){return R(this,function(e){setTimeout(function(){return i(function(){var e,t,n;return R(this,function(r){switch(r.label){case 0:return[4,tw()];case 1:e=r.sent(),t=e.filter(function(e){return e.type===F.Error}),n=e.filter(function(e){return e.type===F.Warning});!t.length&&!n.length?ei.printBoxedLog("✔ NO ISSUES FOUND",[],"green"):(tW("Warnings",n),tW("Errors",t),(t.length>0||n.length>0)&&ec.exit(1));return[2]}})})()},0);return[2]})})()}P(tQ,"showCheckResult");function tJ(){return i(function(){var e,t,n,r;return R(this,function(s){switch(s.label){case 0:return[4,tL()];case 1:s.sent();return[4,t_({name:eV})];case 2:e=s.sent();if(!e.success){ei.error("Failed to retrieve package information. Aborting lint-staged.");return[2]}t=e.result.isCurrentProject;if(!t)return[3,5];n=["Building package: ".concat(eV)];return[4,tS.build()];case 3:return[4,tK.apply(void 0,n.concat([s.sent()]))];case 4:t=s.sent();s.label=5;case 5:t;r=["Executing lint-staged"];return[4,tS.lintStaged()];case 6:return[4,tK.apply(void 0,r.concat([s.sent()]))];case 7:s.sent(),tQ();return[2]}})})()}P(tJ,"lintStaged");function t$(){return i(function(){var e;return R(this,function(t){switch(t.label){case 0:e=["Inspecting ESLint configuration"];return[4,tS.eslintInspect()];case 1:return[4,tK.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}P(t$,"inspectLint");function tX(){return i(function(){return R(this,function(e){switch(e.label){case 0:return[4,tL()];case 1:e.sent();return[4,Promise.all([tB(),tH()])];case 2:e.sent(),tQ();return[2]}})})()}P(tX,"lintCheck");function tz(){return i(function(){return R(this,function(e){switch(e.label){case 0:return[4,tL()];case 1:e.sent();return[4,Promise.all([tB(),tH(!0)])];case 2:e.sent(),tQ();return[2]}})})()}P(tz,"lintFix");function tZ(){return i(function(){var e;return R(this,function(t){switch(t.label){case 0:return[4,tL()];case 1:t.sent();e=["Validating commit message"];return[4,tS.commitLint()];case 2:return[4,tK.apply(void 0,e.concat([t.sent()]))];case 3:t.sent(),tQ();return[2]}})})()}P(tZ,"commitLint");function t0(){return i(function(){var e,t,n,r;return R(this,function(s){switch(s.label){case 0:e=["Configuring Git hooks"];return[4,tS.configureGitHook()];case 1:return[4,tK.apply(void 0,e.concat([s.sent()]))];case 2:s.sent(),ex(th.GIT_HOOK);return[4,tY(ty)];case 3:t=s.sent();eA(th.SIMPLE_GIT_HOOKS_JSON,JSON.stringify(t,null,4));n="\n".concat(eJ,"\n");eR(th.GIT_IGNORE)?eD(th.GIT_IGNORE,"utf-8").split("\n").includes(eJ)||eT(th.GIT_IGNORE,n):eA(th.GIT_IGNORE,n);r=["Setting up simple-git-hooks"];return[4,tS.simpleGitHooks()];case 4:return[4,tK.apply(void 0,r.concat([s.sent()]))];case 5:s.sent();return[2]}})})()}P(t0,"setupGitHook");function t1(){return i(function(){return R(this,function(e){switch(e.label){case 0:return[4,tN([{name:eV,type:eg.DEPENDENCY}],{update:!0,postInstallActions:[t0]})];case 1:e.sent();return[2]}})})()}P(t1,"prepare");function t2(){return i(function(){return R(this,function(e){switch(e.label){case 0:ex(th.NODE_MODULES,th.PNPM_LOCK_YAML);return[4,tI()];case 1:e.sent();return[4,t0()];case 2:e.sent();return[2]}})})()}P(t2,"reset");function t4(){return i(function(){var e;return R(this,function(t){switch(t.label){case 0:e=["Inspecting project dependencies"];return[4,tS.nodeModulesInspect()];case 1:return[4,tK.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}P(t4,"inspect");function t3(){return i(function(){var e;return R(this,function(t){switch(t.label){case 0:e=["Running unit tests"];return[4,tS.testUnit()];case 1:return[4,tK.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}P(t3,"testUnit");function t5(){return i(function(){var e;return R(this,function(t){switch(t.label){case 0:e=["Running end-to-end tests"];return[4,tS.testE2e()];case 1:return[4,tK.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}P(t5,"testE2E");function t8(e){return i(function(){var t;return R(this,function(n){switch(n.label){case 0:t=["Creating MongoDB migration"];return[4,tS.mongoMigrateCreate(e)];case 1:return[4,tK.apply(void 0,t.concat([n.sent()]))];case 2:n.sent();return[2]}})})()}P(t8,"mongoMigrateCreate");function t6(){return i(function(){var e;return R(this,function(t){switch(t.label){case 0:e=["Running MongoDB migrations"];return[4,tS.mongoMigrateUp()];case 1:return[4,tK.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}P(t6,"mongoMigrateUp");function t7(){return i(function(){var e;return R(this,function(t){switch(t.label){case 0:e=["Rolling back MongoDB migration"];return[4,tS.mongoMigrateDown()];case 1:return[4,tK.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}P(t7,"mongoMigrateDown");(function(){return i(function(){var e;return R(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,el(eu(ec.argv)).scriptName(e1).usage("$0 <command> [options]").command("lint","Check code for linting issues",tX).command("lint:fix","Fix linting issues automatically",tz).command("lint:inspect","View active ESLint configuration",t$).command("lint-staged","Run lint checks on staged files",tJ).command("commitlint","Validate commit message format",tZ).command("prepare","Initialize project and dependencies",t1).command("reset","Reset the project and reinstall dependencies",t2).command("inspect","Analyze installed project dependencies",t4).command("test:unit","Run unit test suite",t3).command("test:e2e","Run end-to-end test suite",t5).command("mongo:migrate:create <name>","Create a MongoDB migration",function(e){return e.positional("name",{describe:"Migration name",type:"string"})},function(e){return i(function(){return R(this,function(t){switch(t.label){case 0:if(!e.name){ei.error("Migration name is required.");return[2]}return[4,t8(e.name)];case 1:t.sent();return[2]}})})()}).command("mongo:migrate:up","Apply all MongoDB migrations",t6).command("mongo:migrate:down","Rollback last MongoDB migration",t7).demandCommand(1,"Please specify a valid command.").strict().help().alias("h","help").alias("v","version").version(ed.version).epilog('\uD83D\uDCA1 Tip: Use "--help" with any command to see options\n').parse()];case 1:t.sent();return[3,3];case 2:e=t.sent();eo(e),ec.exit(1);return[3,3];case 3:return[2]}})})()})();import{Router as t9}from"express";import{NestFactory as ne}from"@nestjs/core";import nt from"body-parser";import nn from"compression";import nr from"cookie-parser";import ns from"cors";import ni from"express";import no from"express-session";import na from"express-useragent";function nc(e){var t=e.isDev,n=e.whiteList,r=O(e,["isDev","whiteList"]);return y({origin:P(function(e,r){t||(n===null||n===void 0?void 0:n.includes(e!==null&&e!==void 0?e:""))?r(null,!0):r(new Error("Not allowed by CORS"),!1)},"origin"),credentials:!0},r)}P(nc,"createCorsOptions");function nu(e){return ns(nc(e))}P(nu,"createCors");function nl(e){return no(e)}P(nl,"createSession");function nd(e){var t=ni();return t.set("trust proxy",1),t.use(nr()),t.use(ni.urlencoded({extended:!0})),t.use(nn()),t.use(na.express()),(e===null||e===void 0?void 0:e.staticFolder)&&t.use(ni.static(e.staticFolder)),t}P(nd,"createExpress");function np(e){return i(function(){var t,n,r;return R(this,function(s){switch(s.label){case 0:return[4,ne.create(e.module)];case 1:r=s.sent();return[2,(r.getHttpAdapter().getInstance().set("trust proxy",1),r.use(ni.urlencoded({extended:!0})),r.use(nr()),r.use(nn()),r.use(na.express()),e.staticFolder&&r.use(ni.static(e.staticFolder)),e.filters&&(t=r).useGlobalFilters.apply(t,N(e.filters)),e.pipes&&(n=r).useGlobalPipes.apply(n,N(e.pipes)),r)]}})})()}P(np,"createNest");var nf="MONGO_MIGRATE_OPTIONS";import{Collection as nm,Db as nE}from"mongodb";import{Document as ng,Model as nh}from"mongoose";var ny=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(nE);P(ny,"C_Db");var nv=ny,nS=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(ng);P(nS,"C_Document");var nO=nS,nC=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(nh);P(nC,"C_Model");var n_=nC,nD=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(nm);P(nD,"C_Collection");var nI=nD;import{format as nN}from"date-fns";import nb from"migrate-mongo";import{Document as nA}from"mongoose";import nT from"mongoose-aggregate-paginate-v2";import nR from"mongoose-paginate-v2";import{v4 as nx}from"uuid";import nG from"unorm";var nP={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},nM=Object.entries(nP).reduce(function(e,t){var n=I(t,2),r=n[0],s=n[1];return e[r.toUpperCase()]=s.map(function(e){return e.toUpperCase()}),e},{});function nw(e){return(typeof e==="undefined"?"undefined":b(e))=="object"&&e!==null&&!Array.isArray(e)}P(nw,"isObject");import nL from"crypto-js";import nj from"slugify";var nk=nj.default||nj;function nU(e,t){var n=P(function(e){var n,r;return nk(e!==null&&e!==void 0?e:"",y({lower:(n=t===null||t===void 0?void 0:t.lower)!==null&&n!==void 0?n:!0,locale:(r=t===null||t===void 0?void 0:t.locale)!==null&&r!==void 0?r:"vi"},t))},"slugifyWithOptions");if(nw(e)){var r={};var s=true,i=false,o=undefined;try{for(var a=Object.entries(e)[Symbol.iterator](),c;!(s=(c=a.next()).done);s=true){var u=I(c.value,2),l=u[0],d=u[1];r[l]=n(d)}}catch(e){i=true;o=e}finally{try{if(!s&&a.return!=null){a.return()}}finally{if(i){throw o}}}return r}return n(e)}P(nU,"generateSlug");function nF(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return nL.SHA256(e).toString(nL.enc.Hex).slice(0,t)}P(nF,"generateShortId");var nq={isEmpty:function e(e){return e==null?!0:typeof e=="string"?e.trim().length===0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":b(e))=="object"?f(e,Date)?!1:f(e,Map)||f(e,Set)?e.size===0:f(e,WeakMap)||f(e,WeakSet)?!0:ArrayBuffer.isView(e)?e.byteLength===0:Object.keys(e).length===0:!1},isValidIP:function e(e){var t=e.split(".");return t.length===4&&t.every(function(e){return/^\d+$/.test(e)&&Number(e)>=0&&Number(e)<=255})?!0:/^(([a-f\d]{1,4}:){7}[a-f\d]{1,4}|((?:[a-f\d]{1,4}:){1,7}:)|((?:[a-f\d]{1,4}:){1,6}:[a-f\d]{1,4})|::)$/i.test(e)}};var nV={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return nN(e,"yyyy-MM-dd HH:mm:ss.SSS")},createGenericFields:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.returnDateAs,n=t===void 0?"string":t;var r=n==="string"?nV.getDateTime():new Date;return{id:nx(),isDel:!1,createdAt:r,updatedAt:r}},applyPlugins:function e(e,t){t.filter(function(e){return typeof e=="function"}).forEach(function(t){return e.plugin(t)})},applyMiddlewares:function e(e,t){t.forEach(function(t){var n=t.method,r=t.pre,s=t.post;n&&r&&e.pre(n,r),n&&s&&e.post(n,s)})},createGenericSchema:function e(e){return new e.Schema({id:{type:String,default:nx,required:!0,unique:!0},isDel:{type:Boolean,default:!1,required:!0}},{timestamps:!0})},createSchema:function e(e){var t=e.mongoose,n=e.schema,r=e.virtuals,s=r===void 0?[]:r,i=e.standalone,o=i===void 0?!1:i;var a=new t.Schema(n,{strict:!0});return s.forEach(function(e){var t=e.name,n=e.options,r=e.get;var s=a.virtual(t,n);r&&s.get(r)}),o||a.add(nV.createGenericSchema(t)),a},createModel:function e(e){var t=e.mongoose,n=e.name,r=e.schema,s=e.pagination,i=s===void 0?!1:s,o=e.aggregate,a=o===void 0?!1:o,c=e.virtuals,u=c===void 0?[]:c,l=e.middlewares,d=l===void 0?[]:l;if(!n)throw new Error("Model name is required.");if(t.models[n])return t.models[n];var p=nV.createSchema({mongoose:t,schema:r,virtuals:u});return nV.applyPlugins(p,[i&&nR,a&&nT]),nV.applyMiddlewares(p,d),t.model(n,p)},validator:{isEmpty:function e(){return function(e){return i(function(){return R(this,function(t){return[2,!nq.isEmpty(e)]})})()}},isUnique:function e(e){return function(t){return i(function(){var n;return R(this,function(r){switch(r.label){case 0:if(!Array.isArray(e)||e.length===0)throw new Error("Fields must be a non-empty array of strings.");n={$or:e.map(function(e){return l({},e,t)})};return[4,this.constructor.exists(n)];case 1:return[2,!r.sent()]}})}).call(this)}},matchesRegex:function e(e){return function(t){return i(function(){return R(this,function(n){if(!Array.isArray(e)||e.some(function(e){return!f(e,RegExp)}))throw new Error("regexArray must be an array of valid RegExp objects.");return[2,e.every(function(e){return e.test(t)})]})})()}}},migrate:S(y({},nb),{setConfig:P(function(e){var t="// This file is automatically generated by the Cyberskill CLI.\nmodule.exports = ".concat(JSON.stringify(e,null,4));eA(th.MIGRATE_MONGO_CONFIG,t);var n="\n".concat(eZ,"\n");eR(th.GIT_IGNORE)?eD(th.GIT_IGNORE,"utf-8").split("\n").includes(eZ)||eT(th.GIT_IGNORE,n):eA(th.GIT_IGNORE,n)},"setConfig")})},nY=/*#__PURE__*/function(){"use strict";function e(t,n){a(this,e);M(this,"collection");this.collection=t.collection(n)}u(e,[{key:"createOne",value:function e(e){return i(function(){var t,n,r;return R(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=y({},nV.createGenericFields(),e);n={success:!0,message:"Document created successfully"};return[4,this.collection.insertOne(t)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,eo(r)];case 3:return[2]}})}).call(this)}},{key:"createMany",value:function e(e){return i(function(){var t,n,r;return R(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=e.map(function(e){return y({},nV.createGenericFields(),e)});return[4,this.collection.insertMany(t)];case 1:n=s.sent();return[2,n.insertedCount===0?{success:!1,message:"No documents were inserted",code:et.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"".concat(n.insertedCount," documents created successfully"),result:n}];case 2:r=s.sent();return[2,eo(r)];case 3:return[2]}})}).call(this)}},{key:"findOne",value:function e(e){return i(function(){var t,n;return R(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.findOne(e)];case 1:t=r.sent();return[2,t?{success:!0,message:"Document found",result:t}:{success:!1,message:"Document not found",code:et.NOT_FOUND.CODE}];case 2:n=r.sent();return[2,eo(n)];case 3:return[2]}})}).call(this)}},{key:"findAll",value:function e(){return i(function(){var e,t,n;var r=arguments;return R(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Documents retrieved successfully"};return[4,this.collection.find(e).toArray()];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,eo(n)];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return i(function(){var e,t,n;var r=arguments;return R(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Count retrieved successfully"};return[4,this.collection.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,eo(n)];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(e,t){return i(function(){var n,r;return R(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateOne(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter",code:et.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"Document updated successfully",result:n}];case 2:r=s.sent();return[2,eo(r)];case 3:return[2]}})}).call(this)}},{key:"updateMany",value:function e(e,t){return i(function(){var n,r;return R(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateMany(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter",code:et.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"Documents updated successfully",result:n}];case 2:r=s.sent();return[2,eo(r)];case 3:return[2]}})}).call(this)}},{key:"deleteOne",value:function e(e){return i(function(){var t,n;return R(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteOne(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter",code:et.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"Document deleted successfully",result:t}];case 2:n=r.sent();return[2,eo(n)];case 3:return[2]}})}).call(this)}},{key:"deleteMany",value:function e(e){return i(function(){var t,n;return R(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteMany(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter",code:et.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"Documents deleted successfully",result:t}];case 2:n=r.sent();return[2,eo(n)];case 3:return[2]}})}).call(this)}}]);return e}();P(nY,"MongoController");var nK=nY,nB=/*#__PURE__*/function(){"use strict";function e(t){a(this,e);M(this,"model");this.model=t}u(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(e){return i(function(){var e,t,n,r,s,i,o;var a=arguments;return R(this,function(c){switch(c.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{},n=a.length>2&&a[2]!==void 0?a[2]:{},r=a.length>3?a[3]:void 0;c.label=1;case 1:c.trys.push([1,3,,4]);s=this.model.findOne(e,t,n);r&&s.populate(r);return[4,s.exec()];case 2:i=c.sent();return[2,i?{success:!0,result:i}:{success:!1,message:"No ".concat(this.getModelName()," found."),code:et.NOT_FOUND.CODE}];case 3:o=c.sent();return[2,eo(o)];case 4:return[2]}})}).apply(this,arguments)}},{key:"findAll",value:function e(e){return i(function(){var e,t,n,r,s,i,o;var a=arguments;return R(this,function(c){switch(c.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{},n=a.length>2&&a[2]!==void 0?a[2]:{},r=a.length>3?a[3]:void 0;c.label=1;case 1:c.trys.push([1,3,,4]);s=this.model.find(e,t,n);r&&s.populate(r);i={success:!0};return[4,s.exec()];case 2:return[2,(i.result=c.sent(),i)];case 3:o=c.sent();return[2,eo(o)];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPaging",value:function e(){return i(function(){var e,t,n,r;var s=arguments;return R(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);n={success:!0};return[4,this.model.paginate(e,t)];case 2:return[2,(n.result=i.sent(),n)];case 3:r=i.sent();return[2,eo(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPagingAggregate",value:function e(e){return i(function(e){var t,n,r;var s=arguments;return R(this,function(i){switch(i.label){case 0:t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);n={success:!0};return[4,this.model.aggregatePaginate(this.model.aggregate(e),t)];case 2:return[2,(n.result=i.sent(),n)];case 3:r=i.sent();return[2,eo(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return i(function(){var e,t,n;var r=arguments;return R(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0};return[4,this.model.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,eo(n)];case 4:return[2]}})}).apply(this,arguments)}},{key:"createOne",value:function e(e){return i(function(){var t,n;return R(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.create(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,eo(n)];case 3:return[2]}})}).call(this)}},{key:"createMany",value:function e(e){return i(function(e){var t,n,r;var s=arguments;return R(this,function(i){switch(i.label){case 0:t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);n={success:!0};return[4,this.model.insertMany(e,t)];case 2:return[2,(n.result=i.sent().map(function(e){return f(e,nA)?e.toObject():null}).filter(function(e){return e!==null}),n)];case 3:r=i.sent();return[2,eo(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(){return i(function(){var e,t,n,r,s;var i=arguments;return R(this,function(o){switch(o.label){case 0:e=i.length>0&&i[0]!==void 0?i[0]:{},t=i.length>1&&i[1]!==void 0?i[1]:{},n=i.length>2&&i[2]!==void 0?i[2]:{};o.label=1;case 1:o.trys.push([1,3,,4]);return[4,this.model.findOneAndUpdate(e,t,y({new:!0},n)).exec()];case 2:r=o.sent();return[2,r?{success:!0,result:r}:{success:!1,message:"Failed to update ".concat(this.getModelName(),"."),code:et.NOT_FOUND.CODE}];case 3:s=o.sent();return[2,eo(s)];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateMany",value:function e(){return i(function(){var e,t,n,r,s;var i=arguments;return R(this,function(o){switch(o.label){case 0:e=i.length>0&&i[0]!==void 0?i[0]:{},t=i.length>1&&i[1]!==void 0?i[1]:{},n=i.length>2&&i[2]!==void 0?i[2]:{};o.label=1;case 1:o.trys.push([1,3,,4]);r={success:!0};return[4,this.model.updateMany(e,t,n).exec()];case 2:return[2,(r.result=o.sent(),r)];case 3:s=o.sent();return[2,eo(s)];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteOne",value:function e(){return i(function(){var e,t,n,r;var s=arguments;return R(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);return[4,this.model.findOneAndDelete(e,t).exec()];case 2:n=i.sent();return[2,n?{success:!0,result:n}:{success:!1,message:"No ".concat(this.getModelName()," found to delete."),code:et.NOT_FOUND.CODE}];case 3:r=i.sent();return[2,eo(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteMany",value:function e(){return i(function(){var e,t,n,r;var s=arguments;return R(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);return[4,this.model.deleteMany(e,t).exec()];case 2:n=i.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents found to delete.",code:et.NOT_FOUND.CODE}:{success:!0,result:n}];case 3:r=i.sent();return[2,eo(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"createShortId",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return i(function(){var n,r,s,i,o;return R(this,function(a){switch(a.label){case 0:a.trys.push([0,6,,7]);n=new Set;r=0;a.label=1;case 1:if(!(r<10))return[3,5];s=nF(e,r+t);i=!n.has(s);if(!i)return[3,3];n.add(s);return[4,this.model.exists({shortId:s})];case 2:i=!a.sent();a.label=3;case 3:if(i)return[2,{success:!0,result:s}];a.label=4;case 4:r++;return[3,1];case 5:return[2,{success:!1,message:"Failed to create a unique shortId",code:et.INTERNAL_SERVER_ERROR.CODE}];case 6:o=a.sent();return[2,eo(o)];case 7:return[2]}})}).call(this)}},{key:"createSlugQuery",value:function e(e){var t=e.slug,n=e.field,r=e.isObject,s=e.filter;var i=y({},s!==null&&s!==void 0?s:{});return r?S(y({},i),{$or:[l({},"slug.".concat(n),t),{slugHistory:{$elemMatch:l({},"slug.".concat(n),t)}}]}):S(y({},i),{$or:[{slug:t},{slugHistory:t}]})}},{key:"createUniqueSlug",value:function e(e){return i(function(e){var t,n,r,s,i,o,a;return R(this,function(c){switch(c.label){case 0:t=e.slug,n=e.field,r=e.isObject,s=e.filter;i=nU(t),o=i,a=1;c.label=1;case 1:return[4,this.model.exists(this.createSlugQuery({slug:o,field:n,isObject:r,filter:s}))];case 2:if(!c.sent())return[3,4];o="".concat(i,"-").concat(a++);c.label=3;case 3:return[3,1];case 4:return[2,o]}})}).apply(this,arguments)}},{key:"createSlug",value:function e(e){return i(function(e){var t,n,r,s,o,a,c,u,l,d;return R(this,function(p){switch(p.label){case 0:t=this;n=e.field,r=e.from,s=e.filter;p.label=1;case 1:p.trys.push([1,6,,7]);o=r[n];if(!nw(o))return[3,3];c={success:!0};u=Object.fromEntries;return[4,Promise.all(Object.entries(o).map(function(e){var n=I(e,2),r=n[0],o=n[1];return i(function(){var e;return R(this,function(t){switch(t.label){case 0:return[4,this.createUniqueSlug({slug:o,field:r,isObject:!0,filter:s})];case 1:e=t.sent();return[2,[r,e]]}})}).call(t)}))];case 2:a=(c.result=u.apply(Object,[p.sent()]),c);return[3,5];case 3:l={success:!0};return[4,this.createUniqueSlug({slug:o,field:n,isObject:!1,filter:s})];case 4:a=(l.result=p.sent(),l);p.label=5;case 5:return[2,a];case 6:d=p.sent();return[2,eo(d)];case 7:return[2]}})}).apply(this,arguments)}},{key:"checkSlug",value:function e(e){return i(function(e){var t,n,r,s,i,o,a,c,u,l,d,p,f,m,E,g;return R(this,function(h){switch(h.label){case 0:t=e.slug,n=e.field,r=e.from,s=e.filter;h.label=1;case 1:h.trys.push([1,12,,13]);i=r[n];if(!nw(i))return[3,10];o=true,a=false,c=undefined;h.label=2;case 2:h.trys.push([2,7,8,9]);u=Object.values(i)[Symbol.iterator]();h.label=3;case 3:if(!!(o=(l=u.next()).done))return[3,6];d=l.value;p=nU(d);return[4,this.model.exists(this.createSlugQuery({slug:p,field:n,isObject:!0,filter:s}))];case 4:if(h.sent())return[2,{success:!0,result:!0}];h.label=5;case 5:o=true;return[3,3];case 6:return[3,9];case 7:f=h.sent();a=true;c=f;return[3,9];case 8:try{if(!o&&u.return!=null){u.return()}}finally{if(a){throw c}}return[7];case 9:return[2,{success:!0,result:!1}];case 10:m=nU(t);E={success:!0};return[4,this.model.exists(this.createSlugQuery({slug:m,field:n,isObject:!1,filter:s}))];case 11:return[2,(E.result=h.sent()!==null,E)];case 12:g=h.sent();return[2,eo(g)];case 13:return[2]}})}).apply(this,arguments)}},{key:"aggregate",value:function e(e){return i(function(){var t,n;return R(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.aggregate(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,eo(n)];case 3:return[2]}})}).call(this)}}]);return e}();P(nB,"MongooseController");var nH=nB;import{useServer as nW}from"graphql-ws/use/ws";import{WebSocketServer as nQ}from"ws";function nJ(e){return new nQ({server:e.server,path:e.path})}P(nJ,"createWSServer");function n$(e){return nW({schema:e.schema},e.server)}P(n$,"initGraphQLWS");export{eK as BUILD_DIRECTORY,te as COMMIT_LINT_CLI,e9 as COMMIT_LINT_CONVENTIONAL_CONFIG_PACKAGE_NAME,e7 as COMMIT_LINT_PACKAGE_NAME,e1 as CYBERSKILL_CLI,e2 as CYBERSKILL_CLI_PATH,e0 as CYBERSKILL_DIRECTORY,eV as CYBERSKILL_PACKAGE_NAME,nI as C_Collection,nv as C_Db,nO as C_Document,n_ as C_Model,e3 as ESLINT_CLI,tp as ESLINT_INSPECT_CLI,td as ESLINT_INSPECT_PACKAGE_NAME,e4 as ESLINT_PACKAGE_NAME,ep as E_CommandType,F as E_IssueType,eg as E_PackageType,to as GIT_CLI,ez as GIT_COMMIT_EDITMSG,eX as GIT_HOOK,eQ as GIT_IGNORE,tn as LINT_STAGED_CLI,tt as LINT_STAGED_PACKAGE_NAME,tg as MIGRATE_MONGO_CLI,eZ as MIGRATE_MONGO_CONFIG,tE as MIGRATE_MONGO_PACKAGE_NAME,nf as MONGO_MIGRATE_OPTIONS,nK as MongoController,nH as MongooseController,eY as NODE_MODULES,tm as NODE_MODULES_INSPECT_CLI,tf as NODE_MODULES_INSPECT_PACKAGE_NAME,eB as PACKAGE_JSON,eH as PACKAGE_LOCK_JSON,th as PATH,e8 as PLAYWRIGHT_PACKAGE_NAME,ta as PNPM_CLI,tc as PNPM_EXEC_CLI,e$ as PNPM_LOCK_YAML,t9 as Router,tu as SIMPLE_GIT_HOOKS_PACKAGE_NAME,tl as SIMPLE_GIT_HOOK_CLI,eJ as SIMPLE_GIT_HOOK_JSON,eW as TSCONFIG_JSON,ts as TSC_CLI,tr as TSC_PACKAGE_NAME,ti as TSX_CLI,e6 as VITEST_CLI,e5 as VITEST_PACKAGE_NAME,eq as WORKING_DIRECTORY,nT as aggregatePaginate,eT as appendFileSync,nt as bodyParser,eo as catchError,tL as clearAllErrorLists,tS as command,eG as copySync,ea as createApolloServer,nu as createCors,nc as createCorsOptions,nd as createExpress,ty as createGitHooksConfig,np as createNest,nl as createSession,nJ as createWSServer,ni as express,L as expressMiddleware,tV as formatCommand,eS as fs,tC as getLatestPackageVersion,t_ as getPackage,tw as getStoredErrorLists,n$ as initGraphQLWS,tI as installDependencies,eU as join,ei as log,eO as lstatSync,e_ as mkdirSync,nV as mongo,nR as mongoosePaginate,eL as path,eR as pathExistsSync,tF as rawCommand,eD as readFileSync,eb as readJsonSync,eC as readdirSync,ex as removeSync,ek as resolve,tY as resolveCommands,ej as resolveWorkingPath,tK as runCommand,tN as setupPackages,eN as statSync,tR as storage,er as throwError,eI as unlinkSync,tD as updatePackage,eA as writeFileSync};
1
+ function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function s(e,t,n,r,s,i,o){try{var a=e[i](o);var c=a.value}catch(e){n(e);return}if(a.done){t(c)}else{Promise.resolve(c).then(r,s)}}function i(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function a(e){s(o,r,i,a,c,"next",e)}function c(e){s(o,r,i,a,c,"throw",e)}a(undefined)})}}function o(e,t,n){t=d(t);return _(e,T()?Reflect.construct(t,n||[],d(e).constructor):t.apply(e,n))}function a(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function c(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(e,r.key,r)}}function u(e,t,n){if(t)c(e.prototype,t);if(n)c(e,n);return e}function l(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 d(e){d=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return d(e)}function p(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});if(t)D(e,t)}function f(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function m(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function E(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var s=true;var i=false;var o,a;try{for(n=n.call(e);!(s=(o=n.next()).done);s=true){r.push(o.value);if(t&&r.length===t)break}}catch(e){i=true;a=e}finally{try{if(!s&&n["return"]!=null)n["return"]()}finally{if(i)throw a}}return r}function 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 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){l(e,t,n[t])})}return e}function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}n.push.apply(n,r)}return n}function S(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{v(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function O(e,t){if(e==null)return{};var n=C(e,t);var r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++){r=i[s];if(t.indexOf(r)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,r))continue;n[r]=e[r]}}return n}function C(e,t){if(e==null)return{};var n={};var r=Object.keys(e);var s,i;for(i=0;i<r.length;i++){s=r[i];if(t.indexOf(s)>=0)continue;n[s]=e[s]}return n}function _(e,t){if(t&&(b(t)==="object"||typeof t==="function")){return t}return r(e)}function D(e,t){D=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return D(e,t)}function I(e,n){return t(e)||E(e,n)||A(e,n)||g()}function N(e){return n(e)||m(e)||A(e)||h()}function b(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function A(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 T(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(T=function(){return!!e})()}function R(e,t){var n,r,s,i={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=a(0),o["throw"]=a(1),o["return"]=a(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(e){return function(t){return c([e,t])}}function c(a){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,a[0]&&(i=0)),i)try{if(n=1,r&&(s=a[0]&2?r["return"]:a[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,a[1])).done)return s;if(r=0,s)a=[a[0]&2,s.value];switch(a[0]){case 0:case 1:s=a;break;case 4:i.label++;return{value:a[1],done:false};case 5:i.label++;r=a[1];a=[0];continue;case 7:a=i.ops.pop();i.trys.pop();continue;default:if(!(s=i.trys,s=s.length>0&&s[s.length-1])&&(a[0]===6||a[0]===2)){i=0;continue}if(a[0]===3&&(!s||a[1]>s[0]&&a[1]<s[3])){i.label=a[1];break}if(a[0]===6&&i.label<s[1]){i.label=s[1];s=a;break}if(s&&i.label<s[2]){i.label=s[2];i.ops.push(a);break}if(s[2])i.ops.pop();i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e];r=0}finally{n=s=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}}var x=Object.defineProperty;var G=function(e,t,n){return t in e?x(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var P=function(e,t){return x(e,"name",{value:t,configurable:!0})};var M=function(e,t,n){return G(e,(typeof t==="undefined"?"undefined":b(t))!="symbol"?t+"":t,n)};import{ApolloServer as w}from"@apollo/server";import{expressMiddleware as L}from"@apollo/server/express4";import{ApolloServerPluginDrainHttpServer as j}from"@apollo/server/plugin/drainHttpServer";import{ApolloServerPluginLandingPageLocalDefault as k,ApolloServerPluginLandingPageProductionDefault as U}from"@apollo/server/plugin/landingPage/default";var F=function(e){return e.Error="error",e.Warning="warning",e}({});import q from"chalk";import V from"consola";import{GraphQLError as Y}from"graphql";var K=".cyberskill-storage";import B from"@dotenvx/dotenvx";import{bool as H,cleanEnv as W,str as Q}from"envalid";import J from"node:os";import $ from"node:path";import X from"node:process";var z=!1;function Z(){z||(B.config(),z=!0)}P(Z,"loadEnvFile");function ee(){Z();var e=W(X.env,{CWD:Q({default:X.cwd()}),DEBUG:H({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:Q({default:$.join(J.homedir(),K)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}P(ee,"getEnv");var et={GRAPHQL_PARSE_FAILED:{CODE:"GRAPHQL_PARSE_FAILED",MESSAGE:"The GraphQL operation string contains a syntax error."},GRAPHQL_VALIDATION_FAILED:{CODE:"GRAPHQL_VALIDATION_FAILED",MESSAGE:"The GraphQL operation is not valid against the server's schema."},BAD_USER_INPUT:{CODE:"BAD_USER_INPUT",MESSAGE:"The GraphQL operation includes an invalid value for a field argument."},PERSISTED_QUERY_NOT_FOUND:{CODE:"PERSISTED_QUERY_NOT_FOUND",MESSAGE:"A client sent the hash of a query string to execute via automatic persisted queries, but the query was not in the APQ cache."},PERSISTED_QUERY_NOT_SUPPORTED:{CODE:"PERSISTED_QUERY_NOT_SUPPORTED",MESSAGE:"A client sent the hash of a query string to execute via automatic persisted queries, but the server has disabled APQ."},OPERATION_RESOLUTION_FAILURE:{CODE:"OPERATION_RESOLUTION_FAILURE",MESSAGE:"The request was parsed successfully and is valid against the server's schema, but the server couldn't resolve which operation to run. This occurs when a request containing multiple named operations doesn't specify which operation to run (i.e.,operationName), or if the named operation isn't included in the request."},CONTINUE:{CODE:100,MESSAGE:"Continue"},SWITCHING_PROTOCOLS:{CODE:101,MESSAGE:"Switching Protocols"},PROCESSING:{CODE:102,MESSAGE:"Processing"},OK:{CODE:200,MESSAGE:"OK"},CREATED:{CODE:201,MESSAGE:"Created"},ACCEPTED:{CODE:202,MESSAGE:"Accepted"},NON_AUTHORITATIVE_INFORMATION:{CODE:203,MESSAGE:"Non Authoritative Information"},NO_CONTENT:{CODE:204,MESSAGE:"No Content"},RESET_CONTENT:{CODE:205,MESSAGE:"Reset Content"},PARTIAL_CONTENT:{CODE:206,MESSAGE:"Partial Content"},MULTI_STATUS:{CODE:207,MESSAGE:"Multi-Status"},MULTIPLE_CHOICES:{CODE:300,MESSAGE:"Multiple Choices"},MOVED_PERMANENTLY:{CODE:301,MESSAGE:"Moved Permanently"},MOVED_TEMPORARILY:{CODE:302,MESSAGE:"Moved Temporarily"},SEE_OTHER:{CODE:303,MESSAGE:"See Other"},NOT_MODIFIED:{CODE:304,MESSAGE:"Not Modified"},USE_PROXY:{CODE:305,MESSAGE:"Use Proxy"},TEMPORARY_REDIRECT:{CODE:307,MESSAGE:"Temporary Redirect"},PERMANENT_REDIRECT:{CODE:308,MESSAGE:"Permanent Redirect"},BAD_REQUEST:{CODE:400,MESSAGE:"Bad Request"},UNAUTHORIZED:{CODE:401,MESSAGE:"Unauthorized"},PAYMENT_REQUIRED:{CODE:402,MESSAGE:"Payment Required"},FORBIDDEN:{CODE:403,MESSAGE:"Forbidden"},NOT_FOUND:{CODE:404,MESSAGE:"Not Found"},METHOD_NOT_ALLOWED:{CODE:405,MESSAGE:"Method Not Allowed"},NOT_ACCEPTABLE:{CODE:406,MESSAGE:"Not Acceptable"},PROXY_AUTHENTICATION_REQUIRED:{CODE:407,MESSAGE:"Proxy Authentication Required"},REQUEST_TIMEOUT:{CODE:408,MESSAGE:"Request Timeout"},CONFLICT:{CODE:409,MESSAGE:"Conflict"},GONE:{CODE:410,MESSAGE:"Gone"},LENGTH_REQUIRED:{CODE:411,MESSAGE:"Length Required"},PRECONDITION_FAILED:{CODE:412,MESSAGE:"Precondition Failed"},REQUEST_TOO_LONG:{CODE:413,MESSAGE:"Request Entity Too Large"},REQUEST_URI_TOO_LONG:{CODE:414,MESSAGE:"Request-URI Too Long"},UNSUPPORTED_MEDIA_TYPE:{CODE:415,MESSAGE:"Unsupported Media Type"},REQUESTED_RANGE_NOT_SATISFIABLE:{CODE:416,MESSAGE:"Requested Range Not Satisfiable"},EXPECTATION_FAILED:{CODE:417,MESSAGE:"Expectation Failed"},IM_A_TEAPOT:{CODE:418,MESSAGE:"I'm a teapot"},INSUFFICIENT_SPACE_ON_RESOURCE:{CODE:419,MESSAGE:"Insufficient Space on Resource"},METHOD_FAILURE:{CODE:420,MESSAGE:"Method Failure"},MISDIRECTED_REQUEST:{CODE:421,MESSAGE:"Misdirected Request"},UNPROCESSABLE_ENTITY:{CODE:422,MESSAGE:"Unprocessable Entity"},LOCKED:{CODE:423,MESSAGE:"Locked"},FAILED_DEPENDENCY:{CODE:424,MESSAGE:"Failed Dependency"},PRECONDITION_REQUIRED:{CODE:428,MESSAGE:"Precondition Required"},TOO_MANY_REQUESTS:{CODE:429,MESSAGE:"Too Many Requests"},REQUEST_HEADER_FIELDS_TOO_LARGE:{CODE:431,MESSAGE:"Request Header Fields Too Large"},UNAVAILABLE_FOR_LEGAL_REASONS:{CODE:451,MESSAGE:"Unavailable For Legal Reasons"},INTERNAL_SERVER_ERROR:{CODE:500,MESSAGE:"Internal Server Error"},NOT_IMPLEMENTED:{CODE:501,MESSAGE:"Not Implemented"},BAD_GATEWAY:{CODE:502,MESSAGE:"Bad Gateway"},SERVICE_UNAVAILABLE:{CODE:503,MESSAGE:"Service Unavailable"},GATEWAY_TIMEOUT:{CODE:504,MESSAGE:"Gateway Timeout"},HTTP_VERSION_NOT_SUPPORTED:{CODE:505,MESSAGE:"HTTP Version Not Supported"},INSUFFICIENT_STORAGE:{CODE:507,MESSAGE:"Insufficient Storage"},NETWORK_AUTHENTICATION_REQUIRED:{CODE:511,MESSAGE:"Network Authentication Required"}};var en=ee();function er(e){var t=e.message,n=e.status,r=n===void 0?et.INTERNAL_SERVER_ERROR:n,s=e.type,i=s===void 0?"graphql":s;var o;var a=(o=t!==null&&t!==void 0?t:r.MESSAGE)!==null&&o!==void 0?o:"Internal server error";throw i==="graphql"?new Y(a,{extensions:{code:r.CODE}}):new Error(a)}P(er,"throwError");en.DEBUG||(V.level=4);function es(e){var t=q[e];return typeof t=="function"?t:q.green}P(es,"chalkKeyword");var ei={silent:V.silent,level:V.level,fatal:V.fatal,error:V.error,warn:V.warn,log:V.log,info:V.info,success:V.success,ready:V.ready,start:V.start,box:V.box,debug:V.debug,trace:V.trace,verbose:V.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)){V.box(q.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,s=e.rule,i=e.message;V.log("".concat(q.gray("File:")," ").concat(q.blue("".concat(t).concat(r?":".concat(r):"")))),s&&V.log(" ".concat(es(n)("Rule:")," ").concat(s)),V.log(" ".concat(es(n)("Message:")," ").concat(i))}),V.box(es(n)("".concat(e," : ").concat(t.length))),V.log(q.gray("─".repeat(40)))}};function eo(e,t){var n=t!==null&&t!==void 0?t:{},r=n.shouldLog,s=r===void 0?!0:r,i=n.returnValue,o=n.callback,a=f(e,Error)?e:new Error(typeof e=="string"?e:"Unknown error");return s&&ei.error(a.message),o&&typeof o=="function"&&o(a),i||{success:!1,message:a.message,code:et.INTERNAL_SERVER_ERROR.CODE}}P(eo,"catchError");function ea(e){return new w(y({schema:e.schema,plugins:[e.isDev?k():U(),j({httpServer:e.server})].concat(N(e.drainServer?[{serverWillStart:function t(){return i(function(){return R(this,function(t){return[2,{drainServer:function t(){return i(function(){var t;return R(this,function(n){(t=e.drainServer)===null||t===void 0?void 0:t.call(e),ei.info("Apollo Server drainServer hook called");return[2]})})()}}]})})()}}]:[]))},e.isDev&&{introspection:!0,includeStacktraceInErrorResponses:!0}))}P(ea,"createApolloServer");import ec from"node:process";import{hideBin as eu}from"yargs/helpers";import el from"yargs/yargs";var ed={name:"@cyberskill/shared",type:"module",version:"1.155.0",description:"CyberSkill Shared",author:"Stephen Cheng",license:"MIT",homepage:"https://github.com/cyberskill-world/shared#readme",repository:{type:"git",url:"git+https://github.com/cyberskill-world/shared.git"},bugs:{url:"https://github.com/cyberskill-world/shared/issues"},exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js",require:"./dist/index.cjs"},"./config":{types:"./dist/config/index.d.ts",import:"./dist/config/index.js",require:"./dist/config/index.cjs"},"./config/commitlint":{types:"./dist/config/commitlint/index.d.ts",import:"./dist/config/commitlint/index.js",require:"./dist/config/commitlint/index.cjs"},"./config/env":{types:"./dist/config/env/index.d.ts",import:"./dist/config/env/index.js",require:"./dist/config/env/index.cjs"},"./config/eslint":{types:"./dist/config/eslint/index.d.ts",import:"./dist/config/eslint/index.js",require:"./dist/config/eslint/index.cjs"},"./config/graphql-codegen":{types:"./dist/config/graphql-codegen/index.d.ts",import:"./dist/config/graphql-codegen/index.js",require:"./dist/config/graphql-codegen/index.cjs"},"./config/lint-staged":{types:"./dist/config/lint-staged/index.d.ts",import:"./dist/config/lint-staged/index.js",require:"./dist/config/lint-staged/index.cjs"},"./constant":{types:"./dist/constant/index.d.ts",import:"./dist/constant/index.js",require:"./dist/constant/index.cjs"},"./node":{types:"./dist/node/index.d.ts",import:"./dist/node/index.js",require:"./dist/node/index.cjs"},"./node/apollo-server":{types:"./dist/node/apollo-server/index.d.ts",import:"./dist/node/apollo-server/index.js",require:"./dist/node/apollo-server/index.cjs"},"./node/cli":{types:"./dist/node/cli/index.d.ts",import:"./dist/node/cli/index.js",require:"./dist/node/cli/index.cjs"},"./node/command":{types:"./dist/node/command/index.d.ts",import:"./dist/node/command/index.js",require:"./dist/node/command/index.cjs"},"./node/express":{types:"./dist/node/express/index.d.ts",import:"./dist/node/express/index.js",require:"./dist/node/express/index.cjs"},"./node/fs":{types:"./dist/node/fs/index.d.ts",import:"./dist/node/fs/index.js",require:"./dist/node/fs/index.cjs"},"./node/log":{types:"./dist/node/log/index.d.ts",import:"./dist/node/log/index.js",require:"./dist/node/log/index.cjs"},"./node/mongo":{types:"./dist/node/mongo/index.d.ts",import:"./dist/node/mongo/index.js",require:"./dist/node/mongo/index.cjs"},"./node/package":{types:"./dist/node/package/index.d.ts",import:"./dist/node/package/index.js",require:"./dist/node/package/index.cjs"},"./node/path":{types:"./dist/node/path/index.d.ts",import:"./dist/node/path/index.js",require:"./dist/node/path/index.cjs"},"./node/storage":{types:"./dist/node/storage/index.d.ts",import:"./dist/node/storage/index.js",require:"./dist/node/storage/index.cjs"},"./node/ws":{types:"./dist/node/ws/index.d.ts",import:"./dist/node/ws/index.js",require:"./dist/node/ws/index.cjs"},"./react":{types:"./dist/react/index.d.ts",import:"./dist/react/index.js",require:"./dist/react/index.cjs"},"./react/apollo-client":{types:"./dist/react/apollo-client/index.d.ts",import:"./dist/react/apollo-client/index.js",require:"./dist/react/apollo-client/index.cjs"},"./react/apollo-error":{types:"./dist/react/apollo-error/index.d.ts",import:"./dist/react/apollo-error/index.js",require:"./dist/react/apollo-error/index.cjs"},"./react/i18next":{types:"./dist/react/i18next/index.d.ts",import:"./dist/react/i18next/index.js",require:"./dist/react/i18next/index.cjs"},"./react/loading":{types:"./dist/react/loading/index.d.ts",import:"./dist/react/loading/index.js",require:"./dist/react/loading/index.cjs"},"./react/log":{types:"./dist/react/log/index.d.ts",import:"./dist/react/log/index.js",require:"./dist/react/log/index.cjs"},"./react/next-intl":{types:"./dist/react/next-intl/index.d.ts",import:"./dist/react/next-intl/index.js",require:"./dist/react/next-intl/index.cjs"},"./react/storage":{types:"./dist/react/storage/index.d.ts",import:"./dist/react/storage/index.js",require:"./dist/react/storage/index.cjs"},"./react/toast":{types:"./dist/react/toast/index.d.ts",import:"./dist/react/toast/index.js",require:"./dist/react/toast/index.cjs"},"./react/vitest":{types:"./dist/react/vitest/index.d.ts",import:"./dist/react/vitest/index.js",require:"./dist/react/vitest/index.cjs"},"./style/reset.css":{import:"./dist/style/reset.css",require:"./dist/style/reset.css"},"./typescript":{types:"./dist/typescript/index.d.ts",import:"./dist/typescript/index.js",require:"./dist/typescript/index.cjs"},"./util":{types:"./dist/util/index.d.ts",import:"./dist/util/index.js",require:"./dist/util/index.cjs"}},typesVersions:{"*":{config:["dist/config/index.d.ts"],constant:["dist/constant/index.d.ts"],node:["dist/node/index.d.ts"],react:["dist/react/index.d.ts"],typescript:["dist/typescript/index.d.ts"],util:["dist/util/index.d.ts"]}},bin:{cyberskill:"dist/node/cli/index.js"},files:["dist","public"],scripts:{build:"tsup",dev:"tsup --watch",lint:"tsx src/node/cli/index.ts lint","lint:fix":"tsx src/node/cli/index.ts lint:fix","lint:inspect":"tsx src/node/cli/index.ts lint:inspect",reset:"tsx src/node/cli/index.ts reset",prepare:"tsx src/node/cli/index.ts prepare",inspect:"tsx src/node/cli/index.ts inspect","test:unit":"tsx src/node/cli/index.ts test:unit","test:e2e":"tsx src/node/cli/index.ts test:e2e",commitlint:"tsx src/node/cli/index.ts commitlint"},dependencies:{"@antfu/eslint-config":"4.13.0","@apollo/client":"3.13.8","@apollo/server":"4.12.0","@dotenvx/dotenvx":"1.43.0","@eddeee888/gcg-typescript-resolver-files":"0.12.0","@eslint-react/eslint-plugin":"1.49.0","@graphql-codegen/cli":"5.0.6","@graphql-codegen/client-preset":"4.8.1","@microsoft/api-extractor":"7.52.7","@nestjs/common":"11.1.0","@nestjs/core":"11.1.0","@next/eslint-plugin-next":"15.3.2","@testing-library/jest-dom":"6.6.3","@testing-library/react":"16.3.0","@vitejs/plugin-react-swc":"3.9.0","@vitest/browser":"3.1.3","body-parser":"2.2.0",chalk:"5.4.1",classnames:"2.5.1",compression:"1.8.0",consola:"3.4.2","cookie-parser":"1.4.7",cors:"2.8.5","crypto-js":"4.2.0","date-fns":"4.1.0","dotenv-cli":"8.0.0",envalid:"8.0.0","eslint-config-next":"15.3.2","eslint-plugin-format":"1.0.1","eslint-plugin-react-hooks":"5.2.0","eslint-plugin-react-refresh":"0.4.20",express:"4.21.2","express-session":"1.18.1","express-useragent":"1.0.15","fs-extra":"11.3.0",globals:"16.1.0",graphql:"16.11.0","graphql-ws":"6.0.4",i18next:"25.1.2",jsdom:"26.1.0",localforage:"1.10.0","migrate-mongo":"12.1.3","modern-normalize":"3.0.1",mongodb:"6.16.0",mongoose:"8.14.2","mongoose-aggregate-paginate-v2":"1.1.4","mongoose-paginate-v2":"1.9.0","next-intl":"4.1.0","node-fetch":"3.3.2","node-persist":"4.0.4",playwright:"1.52.0","postcss-modules":"6.0.1",qs:"6.14.0",react:"19.1.0","react-dom":"19.1.0","react-hot-toast":"2.5.2","react-i18next":"15.5.1","react-icons":"5.5.0",sass:"1.87.0",slugify:"1.6.6",tsup:"8.4.0",tsx:"4.19.4",typescript:"5.8.3",unorm:"1.6.0",uuid:"11.1.0",vite:"6.3.5",vitest:"3.1.3","vitest-browser-react":"0.1.1",ws:"8.18.2",yargs:"17.7.2"},publishConfig:{access:"public",registry:"https://registry.npmjs.org/"},devDependencies:{"@commitlint/cli":"19.8.1","@commitlint/config-conventional":"19.8.1","@eslint/config-inspector":"1.0.2","@types/body-parser":"1.19.5","@types/compression":"1.7.5","@types/cookie-parser":"1.4.8","@types/cors":"2.8.18","@types/crypto-js":"4.2.2","@types/express":"4.17.21","@types/express-session":"1.18.1","@types/express-useragent":"1.0.5","@types/fs-extra":"11.0.4","@types/migrate-mongo":"10.0.5","@types/node":"22.15.17","@types/node-persist":"3.1.8","@types/react":"19.1.3","@types/react-dom":"19.1.3","@types/unorm":"1.3.31","@types/uuid":"10.0.0","@types/ws":"8.18.1","@types/yargs":"17.0.33",eslint:"9.26.0","lint-staged":"15.5.2","node-modules-inspector":"0.6.8","simple-git-hooks":"2.13.0"}};var ep=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as ef}from"node:child_process";import em from"node:process";import*as eE from"node:util";var eg=function(e){return e.DEPENDENCY="dependencies",e.DEV_DEPENDENCY="devDependencies",e.PEER_DEPENDENCY="peerDependencies",e.BUNDLE_DEPENDENCY="bundleDependencies",e.OPTIONAL_DEPENDENCY="optionalDependencies",e}({});import eh from"node-fetch";import ey from"fs-extra";import ev from"node:path";var eS=ey,eO=ey.lstatSync,eC=ey.readdirSync,e_=ey.mkdirSync,eD=ey.readFileSync,eI=ey.unlinkSync,eN=ey.statSync,eb=ey.readJsonSync;function eA(e,t,n){ey.writeFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}P(eA,"writeFileSync");function eT(e,t,n){ey.appendFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}P(eT,"appendFileSync");function eR(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return ey.pathExistsSync(e)})}P(eR,"pathExistsSync");function ex(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}t.forEach(function(e){eR(e)&&ey.removeSync(e)})}P(ex,"removeSync");function eG(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=n.extensions,s=O(n,["extensions"]);ey.copySync(e,t,y({filter:P(function(e){return eN(e).isDirectory()||!r||r.length===0?!0:r.includes(ev.extname(e))},"filter")},s))}P(eG,"copySync");import eP from"fs-extra";import eM from"node:path";var ew=ee(),eL=eM;function ej(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=eL).resolve.apply(r,[ew.CWD].concat(N(t)))}P(ej,"resolveWorkingPath");function ek(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=eL).resolve.apply(r,N(t))}P(ek,"resolve");function eU(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=eL).join.apply(r,N(t))}P(eU,"join");var eF=ee(),eq=eF.CWD,eV="@cyberskill/shared",eY="node_modules",eK="dist",eB="package.json",eH="package-lock.json",eW="tsconfig.json",eQ=".gitignore",eJ=".simple-git-hooks.json",e$="pnpm-lock.yaml",eX=".git/hooks/",ez=".git/COMMIT_EDITMSG",eZ=".migrate-mongo.config.js",e0=function(){var e=eP.readJsonSync(ej(eB)).name===eV?eq:eU(eq,eY,eV);return eU(e,eK)}(),e1="cyberskill",e2="src/node/cli/index.ts",e4="eslint",e3="eslint",e5="vitest",e8="playwright",e6="vitest",e7="@commitlint/cli",e9="@commitlint/config-conventional",te="commitlint",tt="lint-staged",tn="lint-staged",tr="typescript",ts="tsc",ti="tsx",to="git",ta="pnpm",tc="pnpm exec",tu="simple-git-hooks",tl="simple-git-hooks",td="@eslint/config-inspector",tp="eslint-config-inspector",tf="node-modules-inspector",tm="node-modules-inspector",tE="migrate-mongo",tg="./node_modules/migrate-mongo/bin/migrate-mongo",th={CYBERSKILL_DIRECTORY:e0,WORKING_DIRECTORY:eq,TS_CONFIG:ej(eW),GIT_IGNORE:ej(eQ),GIT_HOOK:ej(eX),GIT_COMMIT_MSG:ej(ez),SIMPLE_GIT_HOOKS_JSON:ej(eJ),PACKAGE_JSON:ej(eB),PACKAGE_LOCK_JSON:ej(eH),PNPM_LOCK_YAML:ej(e$),NODE_MODULES:ej(eY),MIGRATE_MONGO_CONFIG:ej(eZ),LINT_STAGED_CONFIG:ej("".concat(e0,"/config/lint-staged/index.js")),COMMITLINT_CONFIG:ej("".concat(e0,"/config/commitlint/index.js")),UNIT_TEST_CONFIG:ej("".concat(e0,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:ej("".concat(e0,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:ej("".concat(e0,"/react/vitest/vitest.e2e.js"))};function ty(e){var t=e.isCurrentProject;return y({"pre-commit":tn,"commit-msg":te},t&&{"pre-push":tF("".concat(to," pull"))})}P(ty,"createGitHooksConfig");function tv(e){var t=e.type,n=e.packages,r=e.command;var s=n===null||n===void 0?void 0:n.reduce(function(e,t){return e.some(function(e){return e.name===t.name})||e.push(t),e},[]);return function(){return i(function(){var e;return R(this,function(n){switch(n.label){case 0:switch(t){case ep.CLI:return[3,1];case ep.STRING:return[3,4]}return[3,5];case 1:e=s===null||s===void 0?void 0:s.length;if(!e)return[3,3];return[4,tN(s,{update:!0})];case 2:e=n.sent();n.label=3;case 3:return[2,(e,tV(tF("".concat(tc," ").concat(r))))];case 4:return[2,tV(tF(r))];case 5:throw new Error("Unsupported command type");case 6:return[2]}})})()}}P(tv,"buildCommand");var tS={simpleGitHooks:tv({type:ep.CLI,packages:[{name:tu,type:eg.DEV_DEPENDENCY}],command:tl}),eslintInspect:tv({type:ep.CLI,packages:[{name:td,type:eg.DEV_DEPENDENCY}],command:tp}),nodeModulesInspect:tv({type:ep.CLI,packages:[{name:tf,type:eg.DEV_DEPENDENCY}],command:tm}),eslintCheck:tv({type:ep.CLI,packages:[{name:e4,type:eg.DEV_DEPENDENCY}],command:"".concat(e3," ").concat(th.WORKING_DIRECTORY," --no-cache")}),eslintFix:tv({type:ep.CLI,packages:[{name:e4,type:eg.DEV_DEPENDENCY}],command:"".concat(e3," ").concat(th.WORKING_DIRECTORY," --fix --no-cache")}),typescriptCheck:tv({type:ep.CLI,packages:[{name:tr,type:eg.DEPENDENCY}],command:"".concat(ts," -p ").concat(th.TS_CONFIG," --noEmit")}),testUnit:tv({type:ep.CLI,packages:[{name:e5,type:eg.DEV_DEPENDENCY}],command:"".concat(e6," --config ").concat(th.UNIT_TEST_CONFIG)}),testE2e:tv({type:ep.CLI,packages:[{name:e5,type:eg.DEV_DEPENDENCY}],command:"".concat(e6," --config ").concat(th.E2E_TEST_CONFIG)}),mongoMigrateCreate:P(function(e){return tv({type:ep.CLI,packages:[{name:tE,type:eg.DEPENDENCY}],command:"".concat(ti," ").concat(tg," create ").concat(e," -f ").concat(th.MIGRATE_MONGO_CONFIG)})()},"mongoMigrateCreate"),mongoMigrateUp:tv({type:ep.CLI,packages:[{name:tE,type:eg.DEPENDENCY}],command:"".concat(ti," ").concat(tg," up -f ").concat(th.MIGRATE_MONGO_CONFIG)}),mongoMigrateDown:tv({type:ep.CLI,packages:[{name:tE,type:eg.DEPENDENCY}],command:"".concat(ti," ").concat(tg," down -f ").concat(th.MIGRATE_MONGO_CONFIG)}),commitLint:tv({type:ep.CLI,packages:[{name:e7,type:eg.DEV_DEPENDENCY},{name:e9,type:eg.DEV_DEPENDENCY}],command:"".concat(te," --edit ").concat(th.GIT_COMMIT_MSG," --config ").concat(th.COMMITLINT_CONFIG)}),lintStaged:tv({type:ep.CLI,packages:[{name:tt,type:eg.DEV_DEPENDENCY}],command:"".concat(tn," --config ").concat(th.LINT_STAGED_CONFIG)}),configureGitHook:tv({type:ep.STRING,command:"".concat(to," config core.hooksPath ").concat(th.GIT_HOOK)}),build:tv({type:ep.STRING,command:"".concat(ta," run --if-present build")}),pnpmInstallStandard:tv({type:ep.STRING,command:"".concat(ta," install --ignore-scripts")}),pnpmInstallLegacy:tv({type:ep.STRING,command:"".concat(ta," install --ignore-scripts --legacy-peer-deps")}),pnpmInstallForce:tv({type:ep.STRING,command:"".concat(ta," install --ignore-scripts --force")})};var tO=ee();function tC(e){return i(function(){var t,n,r,s;return R(this,function(i){switch(i.label){case 0:i.trys.push([0,3,,4]);return[4,eh("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=i.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=i.sent(),r=n.version;return[2,{success:!0,result:r}];case 3:s=i.sent();return[2,eo(s)];case 4:return[2]}})})()}P(tC,"getLatestPackageVersion");function t_(e){return i(function(){var t,n,r,s,i,o,a,c,u,l,d,p,f,m,E,g,h,y,v,S,O,C,_,D;return R(this,function(I){switch(I.label){case 0:I.trys.push([0,2,,3]);if(!e){if(eR(th.PACKAGE_JSON)){t=eb(th.PACKAGE_JSON),n=t.name,r=n===void 0?"":n,s=t.version,i=s===void 0?"":s;return[2,{success:!0,result:{name:r,currentVersion:i,latestVersion:i,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:!1,isDevDependency:!1,installedPath:th.PACKAGE_JSON,file:t}}]}return[2,{success:!0,result:{name:"",currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:!1,isDevDependency:!1,installedPath:"",file:{}}}]}if(!eR(th.PACKAGE_JSON))return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===eg.DEPENDENCY,isDevDependency:e.type===eg.DEV_DEPENDENCY,installedPath:"",file:{}}}];o=eb(th.PACKAGE_JSON),a=o.name,c=o.version,u=c===void 0?"":c,l=o.dependencies,d=l===void 0?{}:l,p=o.devDependencies,f=p===void 0?{}:p;if(e.name===a)return[2,{success:!0,result:{name:a,currentVersion:u,latestVersion:u,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:e.type===eg.DEPENDENCY,isDevDependency:e.type===eg.DEV_DEPENDENCY,installedPath:th.PACKAGE_JSON,file:o}}];m=e.name in d,E=e.name in f;return[4,tC(e.name)];case 1:g=I.sent();if(!g.success)return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:m,isDevDependency:E,installedPath:"",file:{}}}];if(!m&&!E)return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:g.result,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===eg.DEPENDENCY,isDevDependency:e.type===eg.DEV_DEPENDENCY,installedPath:"",file:{}}}];v=(y=(h=d[e.name])!==null&&h!==void 0?h:f[e.name])!==null&&y!==void 0?y:"",S=eU(tO.CWD,eY,e.name,eB);if(!eR(S))return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:g.result,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:m,isDevDependency:E,installedPath:"",file:{}}}];O=eb(S),C=O.version,_=C===void 0?"":C;return[2,v!==_?{success:!0,result:{name:e.name,currentVersion:_||v,latestVersion:g.result,isCurrentProject:!1,isInstalled:!0,isUpToDate:!1,isDependency:m,isDevDependency:E,installedPath:S,file:O}}:{success:!0,result:{name:e.name,currentVersion:v,latestVersion:g.result,isCurrentProject:!1,isInstalled:!0,isUpToDate:v===g.result,isDependency:m,isDevDependency:E,installedPath:S,file:O}}];case 2:D=I.sent();return[2,eo(D)];case 3:return[2]}})})()}P(t_,"getPackage");function tD(e){return i(function(){var t,n,r,s,i;return R(this,function(o){try{;r=eb(th.PACKAGE_JSON),s=(t=r.dependencies)!==null&&t!==void 0?t:{},i=(n=r.devDependencies)!==null&&n!==void 0?n:{};e.isDependency?s[e.name]=e.latestVersion:e.isDevDependency&&(i[e.name]=e.latestVersion),eA(th.PACKAGE_JSON,JSON.stringify(r,null,4)),ei.info('Updated "'.concat(e.name,'" to version ').concat(e.latestVersion))}catch(e){eo(e)}return[2]})})()}P(tD,"updatePackage");function tI(){return i(function(){var e,t,n,r,s,i,o,a,c,u,l,d,p;return R(this,function(f){switch(f.label){case 0:f.trys.push([0,12,,13]);e=[{command:P(function(){return tS.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:P(function(){return tS.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:P(function(){return tS.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;f.label=1;case 1:f.trys.push([1,9,10,11]);s=e[Symbol.iterator]();f.label=2;case 2:if(!!(t=(i=s.next()).done))return[3,8];o=i.value,a=o.command,c=o.message;f.label=3;case 3:f.trys.push([3,6,,7]);return[4,a()];case 4:u=f.sent();return[4,tK("".concat(c," using: ").concat(u),u)];case 5:f.sent();return[2];case 6:l=f.sent();eo(l);return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=f.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&s.return!=null){s.return()}}finally{if(n){throw r}}return[7];case 11:return[3,13];case 12:p=f.sent();eo(p);return[3,13];case 13:return[2]}})})()}P(tI,"installDependencies");function tN(e,t){return i(function(){var n,r,s,i,o,a,c,u,l,d,p,f;return R(this,function(m){switch(m.label){case 0:if(!eR(th.PACKAGE_JSON)){ei.error("package.json not found. Aborting setup.");return[2]}m.label=1;case 1:m.trys.push([1,16,,17]);return[4,Promise.all(e.map(t_))];case 2:n=m.sent().filter(function(e){return e.success?!e.result.isCurrentProject&&(!e.result.isInstalled||!e.result.isUpToDate):!1});r=n.length>0;if(!r)return[3,7];return[4,Promise.all(n.map(function(e){return e.success?tD(e.result):Promise.resolve()}))];case 3:m.sent();return[4,tI()];case 4:m.sent();s=["Running ESLint with auto-fix"];return[4,tS.eslintFix()];case 5:return[4,tK.apply(void 0,s.concat([m.sent()]))];case 6:r=m.sent();m.label=7;case 7:r;o=true,a=false,c=undefined;m.label=8;case 8:m.trys.push([8,13,14,15]);u=((i=t===null||t===void 0?void 0:t.postInstallActions)!==null&&i!==void 0?i:[])[Symbol.iterator]();m.label=9;case 9:if(!!(o=(l=u.next()).done))return[3,12];d=l.value;return[4,d()];case 10:m.sent();m.label=11;case 11:o=true;return[3,9];case 12:return[3,15];case 13:p=m.sent();a=true;c=p;return[3,15];case 14:try{if(!o&&u.return!=null){u.return()}}finally{if(a){throw c}}return[7];case 15:return[3,17];case 16:f=m.sent();eo(f);return[3,17];case 17:return[2]}})})()}P(tN,"setupPackages");import tb from"node-persist";var tA=ee();function tT(){return i(function(){var e;return R(this,function(t){switch(t.label){case 0:e=tb.defaultInstance;if(e)return[3,2];return[4,tb.init({dir:tA.CYBERSKILL_STORAGE_DIRECTORY})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})})()}P(tT,"initNodePersist");var tR={get:function e(e){return i(function(){var t,n;return R(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tT()];case 1:r.sent();return[4,tb.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,eo(n,{returnValue:null})];case 4:return[2]}})})()},set:function e(e,t){return i(function(){var n;return R(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tT()];case 1:r.sent();return[4,tb.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();eo(n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return i(function(){var t;return R(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tT()];case 1:n.sent();return[4,tb.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();eo(t);return[3,4];case 4:return[2]}})})()},keys:function e(){return i(function(){var e,t;return R(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tT()];case 1:n.sent();return[4,tb.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(ei.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,eo(t,{returnValue:[]})];case 4:return[2]}})})()},getLogLink:function e(e){return i(function(){return R(this,function(t){try{return[2,"".concat(tA.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,eo(e,{returnValue:null})]}return[2]})})()}};var tx=ee(),tG=eE.promisify(ef);function tP(){return i(function(){var e;return R(this,function(t){switch(t.label){case 0:return[4,t_()];case 1:e=t.sent();return[2,e.success?e.result.name:Date.now().toString()]}})})()}P(tP,"getPackageName");function tM(e){return i(function(){var t,n;return R(this,function(r){switch(r.label){case 0:if(e.length===0)return[2];return[4,tP()];case 1:t=r.sent();r.label=2;case 2:r.trys.push([2,4,,5]);return[4,tR.set(t,e)];case 3:r.sent(),setTimeout(function(){return i(function(){var e;return R(this,function(n){switch(n.label){case 0:return[4,tR.getLogLink(t)];case 1:e=n.sent();e&&ei.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},0);return[3,5];case 4:n=r.sent();eo(n);return[3,5];case 5:return[2]}})})()}P(tM,"saveErrorListToStorage");function tw(){return i(function(){var e,t,n;return R(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tP()];case 1:e=r.sent();return[4,tR.get(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:[]];case 3:n=r.sent();return[2,eo(n,{returnValue:[]})];case 4:return[2]}})})()}P(tw,"getStoredErrorLists");function tL(){return i(function(){var e,t;return R(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tP()];case 1:e=n.sent();return[4,tR.remove(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();eo(t);return[3,4];case 4:return[2]}})})()}P(tL,"clearAllErrorLists");function tj(e){var t=[],n=[],r="",s=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,i=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,o=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var a,c,u,l,d;var p=s.exec(e)||[],f=i.exec(e)||[],m=o.exec(e)||[];var E,g,h,y,v,S;p.length&&r?t.push({file:r,position:"".concat(p[1],":").concat(p[2]),type:p[3]===F.Error?F.Error:F.Warning,message:(E=p===null||p===void 0?void 0:(a=p[4])===null||a===void 0?void 0:a.trim())!==null&&E!==void 0?E:"",rule:(g=p===null||p===void 0?void 0:(c=p[5])===null||c===void 0?void 0:c.trim())!==null&&g!==void 0?g:""}):f.length?t.push({file:(h=f===null||f===void 0?void 0:f[1])!==null&&h!==void 0?h:"",position:"".concat(f[2],":").concat(f[3]),type:f[4]===F.Error?F.Error:F.Warning,message:(y=f===null||f===void 0?void 0:(u=f[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):m.length?t.push({file:"commitlint",type:F.Error,message:(v=m===null||m===void 0?void 0:(l=m[1])===null||l===void 0?void 0:l.trim())!==null&&v!==void 0?v:"",rule:(S=m===null||m===void 0?void 0:(d=m[2])===null||d===void 0?void 0:d.trim())!==null&&S!==void 0?S:""}):n.push(e.trim())}}),t.length&&tM(t),tx.DEBUG&&n.length&&(ei.warn("Unmatched lines:"),n.forEach(function(e){return ei.info(" ".concat(e))}))}P(tj,"parseTextErrors");function tk(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,s=e.line,i=e.column,o=e.ruleId,a=e.message;n.push({type:r===2?F.Error:F.Warning,file:t,position:"".concat(s,":").concat(i),rule:o,message:a})})}),n.length&&tM(n)}catch(t){tj(e)}}P(tk,"parseCommandOutput");function tU(e){return i(function(e){var t,n,r,s,i,o,a,c,u;var l=arguments;return R(this,function(d){switch(d.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:tk;n=new AbortController;em.on("SIGINT",function(){ei.warn("Process interrupted. Terminating..."),n.abort(),em.exit()});d.label=1;case 1:d.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,tG(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=d.sent(),s=r.stdout,i=r.stderr;[s,i].forEach(function(e){return e&&t(e)});d.label=3;case 3:return[3,5];case 4:o=d.sent();a=o.stdout,c=o.stderr,u=o.message;[a,c].forEach(function(e){return e&&t(e)}),!c&&!a&&ei.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}P(tU,"executeCommand");function tF(e){return{raw:!0,cmd:e}}P(tF,"rawCommand");function tq(e,t){return(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tc," ").concat(ti," ").concat(e2," ").concat(e):"".concat(tc," ").concat(e1," ").concat(e)}P(tq,"formatCLI");function tV(e,t){return typeof e=="function"?tq(e(t),t):(typeof e==="undefined"?"undefined":b(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?tq(e,t):e}P(tV,"formatCommand");function tY(e){return i(function(){var t,n,r;return R(this,function(s){switch(s.label){case 0:return[4,t_({name:eV})];case 1:t=s.sent();if(t.success){n={isCurrentProject:t.result.isCurrentProject},r=typeof e=="function"?e(n):e;return[2,Object.fromEntries(Object.entries(r).map(function(e){var t=I(e,2),r=t[0],s=t[1];return[r,tV(s,n)]}))]}return[2]}})})()}P(tY,"resolveCommands");function tK(e,t){return i(function(){var n;return R(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);ei.start("".concat(e)),tx.DEBUG&&ei.info("→ ".concat(t));return[4,tU(t)];case 1:r.sent(),ei.success("".concat(e," done."));return[3,3];case 2:n=r.sent();eo(n);return[3,3];case 3:return[2]}})})()}P(tK,"runCommand");function tB(){return i(function(){var e,t;return R(this,function(n){switch(n.label){case 0:if(!eR(th.TS_CONFIG))return[3,3];t=["Performing TypeScript validation"];return[4,tS.typescriptCheck()];case 1:return[4,tK.apply(void 0,t.concat([n.sent()]))];case 2:e=n.sent();return[3,4];case 3:e=ei.warn("No TypeScript configuration found. Skipping type check.");n.label=4;case 4:e;return[2]}})})()}P(tB,"checkTypescript");function tH(){return i(function(){var e,t,n,r;var s=arguments;return R(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:!1;if(!e)return[3,3];n=["Running ESLint with auto-fix"];return[4,tS.eslintFix()];case 1:return[4,tK.apply(void 0,n.concat([i.sent()]))];case 2:t=i.sent();return[3,6];case 3:r=["Running ESLint check"];return[4,tS.eslintCheck()];case 4:return[4,tK.apply(void 0,r.concat([i.sent()]))];case 5:t=i.sent();i.label=6;case 6:t;return[2]}})}).apply(this,arguments)}P(tH,"checkEslint");function tW(e,t){if(!t.length)return;var n=e==="Errors"?"red":"yellow";ei.printBoxedLog(e==="Errors"?"✖ Errors":"⚠ Warnings",t,n)}P(tW,"printIssues");function tQ(){return i(function(){return R(this,function(e){setTimeout(function(){return i(function(){var e,t,n;return R(this,function(r){switch(r.label){case 0:return[4,tw()];case 1:e=r.sent(),t=e.filter(function(e){return e.type===F.Error}),n=e.filter(function(e){return e.type===F.Warning});!t.length&&!n.length?ei.printBoxedLog("✔ NO ISSUES FOUND",[],"green"):(tW("Warnings",n),tW("Errors",t),(t.length>0||n.length>0)&&ec.exit(1));return[2]}})})()},0);return[2]})})()}P(tQ,"showCheckResult");function tJ(){return i(function(){var e,t,n,r;return R(this,function(s){switch(s.label){case 0:return[4,tL()];case 1:s.sent();return[4,t_({name:eV})];case 2:e=s.sent();if(!e.success){ei.error("Failed to retrieve package information. Aborting lint-staged.");return[2]}t=e.result.isCurrentProject;if(!t)return[3,5];n=["Building package: ".concat(eV)];return[4,tS.build()];case 3:return[4,tK.apply(void 0,n.concat([s.sent()]))];case 4:t=s.sent();s.label=5;case 5:t;r=["Executing lint-staged"];return[4,tS.lintStaged()];case 6:return[4,tK.apply(void 0,r.concat([s.sent()]))];case 7:s.sent(),tQ();return[2]}})})()}P(tJ,"lintStaged");function t$(){return i(function(){var e;return R(this,function(t){switch(t.label){case 0:e=["Inspecting ESLint configuration"];return[4,tS.eslintInspect()];case 1:return[4,tK.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}P(t$,"inspectLint");function tX(){return i(function(){return R(this,function(e){switch(e.label){case 0:return[4,tL()];case 1:e.sent();return[4,Promise.all([tB(),tH()])];case 2:e.sent(),tQ();return[2]}})})()}P(tX,"lintCheck");function tz(){return i(function(){return R(this,function(e){switch(e.label){case 0:return[4,tL()];case 1:e.sent();return[4,Promise.all([tB(),tH(!0)])];case 2:e.sent(),tQ();return[2]}})})()}P(tz,"lintFix");function tZ(){return i(function(){var e;return R(this,function(t){switch(t.label){case 0:return[4,tL()];case 1:t.sent();e=["Validating commit message"];return[4,tS.commitLint()];case 2:return[4,tK.apply(void 0,e.concat([t.sent()]))];case 3:t.sent(),tQ();return[2]}})})()}P(tZ,"commitLint");function t0(){return i(function(){var e,t,n,r;return R(this,function(s){switch(s.label){case 0:e=["Configuring Git hooks"];return[4,tS.configureGitHook()];case 1:return[4,tK.apply(void 0,e.concat([s.sent()]))];case 2:s.sent(),ex(th.GIT_HOOK);return[4,tY(ty)];case 3:t=s.sent();eA(th.SIMPLE_GIT_HOOKS_JSON,JSON.stringify(t,null,4));n="\n".concat(eJ,"\n");eR(th.GIT_IGNORE)?eD(th.GIT_IGNORE,"utf-8").split("\n").includes(eJ)||eT(th.GIT_IGNORE,n):eA(th.GIT_IGNORE,n);r=["Setting up simple-git-hooks"];return[4,tS.simpleGitHooks()];case 4:return[4,tK.apply(void 0,r.concat([s.sent()]))];case 5:s.sent();return[2]}})})()}P(t0,"setupGitHook");function t1(){return i(function(){return R(this,function(e){switch(e.label){case 0:return[4,tN([{name:eV,type:eg.DEPENDENCY}],{update:!0,postInstallActions:[t0]})];case 1:e.sent();return[2]}})})()}P(t1,"prepare");function t2(){return i(function(){return R(this,function(e){switch(e.label){case 0:ex(th.NODE_MODULES,th.PNPM_LOCK_YAML);return[4,tI()];case 1:e.sent();return[4,t0()];case 2:e.sent();return[2]}})})()}P(t2,"reset");function t4(){return i(function(){var e;return R(this,function(t){switch(t.label){case 0:e=["Inspecting project dependencies"];return[4,tS.nodeModulesInspect()];case 1:return[4,tK.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}P(t4,"inspect");function t3(){return i(function(){var e;return R(this,function(t){switch(t.label){case 0:e=["Running unit tests"];return[4,tS.testUnit()];case 1:return[4,tK.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}P(t3,"testUnit");function t5(){return i(function(){var e;return R(this,function(t){switch(t.label){case 0:e=["Running end-to-end tests"];return[4,tS.testE2e()];case 1:return[4,tK.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}P(t5,"testE2E");function t8(e){return i(function(){var t;return R(this,function(n){switch(n.label){case 0:t=["Creating MongoDB migration"];return[4,tS.mongoMigrateCreate(e)];case 1:return[4,tK.apply(void 0,t.concat([n.sent()]))];case 2:n.sent();return[2]}})})()}P(t8,"mongoMigrateCreate");function t6(){return i(function(){var e;return R(this,function(t){switch(t.label){case 0:e=["Running MongoDB migrations"];return[4,tS.mongoMigrateUp()];case 1:return[4,tK.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}P(t6,"mongoMigrateUp");function t7(){return i(function(){var e;return R(this,function(t){switch(t.label){case 0:e=["Rolling back MongoDB migration"];return[4,tS.mongoMigrateDown()];case 1:return[4,tK.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}P(t7,"mongoMigrateDown");(function(){return i(function(){var e;return R(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,el(eu(ec.argv)).scriptName(e1).usage("$0 <command> [options]").command("lint","Check code for linting issues",tX).command("lint:fix","Fix linting issues automatically",tz).command("lint:inspect","View active ESLint configuration",t$).command("lint-staged","Run lint checks on staged files",tJ).command("commitlint","Validate commit message format",tZ).command("prepare","Initialize project and dependencies",t1).command("reset","Reset the project and reinstall dependencies",t2).command("inspect","Analyze installed project dependencies",t4).command("test:unit","Run unit test suite",t3).command("test:e2e","Run end-to-end test suite",t5).command("mongo:migrate:create <name>","Create a MongoDB migration",function(e){return e.positional("name",{describe:"Migration name",type:"string"})},function(e){return i(function(){return R(this,function(t){switch(t.label){case 0:if(!e.name){ei.error("Migration name is required.");return[2]}return[4,t8(e.name)];case 1:t.sent();return[2]}})})()}).command("mongo:migrate:up","Apply all MongoDB migrations",t6).command("mongo:migrate:down","Rollback last MongoDB migration",t7).demandCommand(1,"Please specify a valid command.").strict().help().alias("h","help").alias("v","version").version(ed.version).epilog('\uD83D\uDCA1 Tip: Use "--help" with any command to see options\n').parse()];case 1:t.sent();return[3,3];case 2:e=t.sent();eo(e),ec.exit(1);return[3,3];case 3:return[2]}})})()})();import{Router as t9}from"express";import{NestFactory as ne}from"@nestjs/core";import nt from"body-parser";import nn from"compression";import nr from"cookie-parser";import ns from"cors";import ni from"express";import no from"express-session";import na from"express-useragent";function nc(e){var t=e.isDev,n=e.whiteList,r=O(e,["isDev","whiteList"]);return y({origin:P(function(e,r){t||(n===null||n===void 0?void 0:n.includes(e!==null&&e!==void 0?e:""))?r(null,!0):r(new Error("Not allowed by CORS"),!1)},"origin"),credentials:!0},r)}P(nc,"createCorsOptions");function nu(e){return ns(nc(e))}P(nu,"createCors");function nl(e){return no(e)}P(nl,"createSession");function nd(e){var t=ni();return t.set("trust proxy",1),t.use(nr()),t.use(ni.urlencoded({extended:!0})),t.use(nn()),t.use(na.express()),(e===null||e===void 0?void 0:e.staticFolder)&&t.use(ni.static(e.staticFolder)),t}P(nd,"createExpress");function np(e){return i(function(){var t,n,r;return R(this,function(s){switch(s.label){case 0:return[4,ne.create(e.module)];case 1:r=s.sent();return[2,(r.getHttpAdapter().getInstance().set("trust proxy",1),r.use(ni.urlencoded({extended:!0})),r.use(nr()),r.use(nn()),r.use(na.express()),e.staticFolder&&r.use(ni.static(e.staticFolder)),e.filters&&(t=r).useGlobalFilters.apply(t,N(e.filters)),e.pipes&&(n=r).useGlobalPipes.apply(n,N(e.pipes)),r)]}})})()}P(np,"createNest");var nf="MONGO_MIGRATE_OPTIONS";import{Collection as nm,Db as nE}from"mongodb";import{Document as ng,Model as nh}from"mongoose";var ny=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(nE);P(ny,"C_Db");var nv=ny,nS=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(ng);P(nS,"C_Document");var nO=nS,nC=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(nh);P(nC,"C_Model");var n_=nC,nD=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(nm);P(nD,"C_Collection");var nI=nD;import{format as nN}from"date-fns";import nb from"migrate-mongo";import{Document as nA}from"mongoose";import nT from"mongoose-aggregate-paginate-v2";import nR from"mongoose-paginate-v2";import{v4 as nx}from"uuid";import nG from"unorm";var nP={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},nM=Object.entries(nP).reduce(function(e,t){var n=I(t,2),r=n[0],s=n[1];return e[r.toUpperCase()]=s.map(function(e){return e.toUpperCase()}),e},{});function nw(e){return(typeof e==="undefined"?"undefined":b(e))=="object"&&e!==null&&!Array.isArray(e)}P(nw,"isObject");import nL from"crypto-js";import nj from"slugify";var nk=nj.default||nj;function nU(e,t){var n=P(function(e){var n,r;return nk(e!==null&&e!==void 0?e:"",y({lower:(n=t===null||t===void 0?void 0:t.lower)!==null&&n!==void 0?n:!0,locale:(r=t===null||t===void 0?void 0:t.locale)!==null&&r!==void 0?r:"vi"},t))},"slugifyWithOptions");if(nw(e)){var r={};var s=true,i=false,o=undefined;try{for(var a=Object.entries(e)[Symbol.iterator](),c;!(s=(c=a.next()).done);s=true){var u=I(c.value,2),l=u[0],d=u[1];r[l]=n(d)}}catch(e){i=true;o=e}finally{try{if(!s&&a.return!=null){a.return()}}finally{if(i){throw o}}}return r}return n(e)}P(nU,"generateSlug");function nF(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return nL.SHA256(e).toString(nL.enc.Hex).slice(0,t)}P(nF,"generateShortId");var nq={isEmpty:function e(e){return e==null?!0:typeof e=="string"?e.trim().length===0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":b(e))=="object"?f(e,Date)?!1:f(e,Map)||f(e,Set)?e.size===0:f(e,WeakMap)||f(e,WeakSet)?!0:ArrayBuffer.isView(e)?e.byteLength===0:Object.keys(e).length===0:!1},isValidIP:function e(e){var t=e.split(".");return t.length===4&&t.every(function(e){return/^\d+$/.test(e)&&Number(e)>=0&&Number(e)<=255})?!0:/^(([a-f\d]{1,4}:){7}[a-f\d]{1,4}|((?:[a-f\d]{1,4}:){1,7}:)|((?:[a-f\d]{1,4}:){1,6}:[a-f\d]{1,4})|::)$/i.test(e)}};var nV={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return nN(e,"yyyy-MM-dd HH:mm:ss.SSS")},createGenericFields:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.returnDateAs,n=t===void 0?"string":t;var r=n==="string"?nV.getDateTime():new Date;return{id:nx(),isDel:!1,createdAt:r,updatedAt:r}},applyPlugins:function e(e,t){t.filter(function(e){return typeof e=="function"}).forEach(function(t){return e.plugin(t)})},applyMiddlewares:function e(e,t){t.forEach(function(t){var n=t.method,r=t.pre,s=t.post;n&&r&&e.pre(n,r),n&&s&&e.post(n,s)})},createGenericSchema:function e(e){return new e.Schema({id:{type:String,default:nx,required:!0,unique:!0},isDel:{type:Boolean,default:!1,required:!0}},{timestamps:!0})},createSchema:function e(e){var t=e.mongoose,n=e.schema,r=e.virtuals,s=r===void 0?[]:r,i=e.standalone,o=i===void 0?!1:i;var a=new t.Schema(n,{strict:!0});return s.forEach(function(e){var t=e.name,n=e.options,r=e.get;var s=a.virtual(t,n);r&&s.get(r)}),o||a.add(nV.createGenericSchema(t)),a},createModel:function e(e){var t=e.mongoose,n=e.name,r=e.schema,s=e.pagination,i=s===void 0?!1:s,o=e.aggregate,a=o===void 0?!1:o,c=e.virtuals,u=c===void 0?[]:c,l=e.middlewares,d=l===void 0?[]:l;if(!n)throw new Error("Model name is required.");if(t.models[n])return t.models[n];var p=nV.createSchema({mongoose:t,schema:r,virtuals:u});return nV.applyPlugins(p,[i&&nR,a&&nT]),nV.applyMiddlewares(p,d),t.model(n,p)},validator:{isEmpty:function e(){return function(e){return i(function(){return R(this,function(t){return[2,!nq.isEmpty(e)]})})()}},isUnique:function e(e){return function(t){return i(function(){var n;return R(this,function(r){switch(r.label){case 0:if(!Array.isArray(e)||e.length===0)throw new Error("Fields must be a non-empty array of strings.");n={$or:e.map(function(e){return l({},e,t)})};return[4,this.constructor.exists(n)];case 1:return[2,!r.sent()]}})}).call(this)}},matchesRegex:function e(e){return function(t){return i(function(){return R(this,function(n){if(!Array.isArray(e)||e.some(function(e){return!f(e,RegExp)}))throw new Error("regexArray must be an array of valid RegExp objects.");return[2,e.every(function(e){return e.test(t)})]})})()}}},migrate:S(y({},nb),{setConfig:P(function(e){var t="// This file is automatically generated by the Cyberskill CLI.\nmodule.exports = ".concat(JSON.stringify(e,null,4));eA(th.MIGRATE_MONGO_CONFIG,t);var n="\n".concat(eZ,"\n");eR(th.GIT_IGNORE)?eD(th.GIT_IGNORE,"utf-8").split("\n").includes(eZ)||eT(th.GIT_IGNORE,n):eA(th.GIT_IGNORE,n)},"setConfig")})},nY=/*#__PURE__*/function(){"use strict";function e(t,n){a(this,e);M(this,"collection");this.collection=t.collection(n)}u(e,[{key:"createOne",value:function e(e){return i(function(){var t,n,r;return R(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=y({},nV.createGenericFields(),e);n={success:!0,message:"Document created successfully"};return[4,this.collection.insertOne(t)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,eo(r)];case 3:return[2]}})}).call(this)}},{key:"createMany",value:function e(e){return i(function(){var t,n,r;return R(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=e.map(function(e){return y({},nV.createGenericFields(),e)});return[4,this.collection.insertMany(t)];case 1:n=s.sent();return[2,n.insertedCount===0?{success:!1,message:"No documents were inserted",code:et.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"".concat(n.insertedCount," documents created successfully"),result:n}];case 2:r=s.sent();return[2,eo(r)];case 3:return[2]}})}).call(this)}},{key:"findOne",value:function e(e){return i(function(){var t,n;return R(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.findOne(e)];case 1:t=r.sent();return[2,t?{success:!0,message:"Document found",result:t}:{success:!1,message:"Document not found",code:et.NOT_FOUND.CODE}];case 2:n=r.sent();return[2,eo(n)];case 3:return[2]}})}).call(this)}},{key:"findAll",value:function e(){return i(function(){var e,t,n;var r=arguments;return R(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Documents retrieved successfully"};return[4,this.collection.find(e).toArray()];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,eo(n)];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return i(function(){var e,t,n;var r=arguments;return R(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Count retrieved successfully"};return[4,this.collection.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,eo(n)];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(e,t){return i(function(){var n,r;return R(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateOne(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter",code:et.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"Document updated successfully",result:n}];case 2:r=s.sent();return[2,eo(r)];case 3:return[2]}})}).call(this)}},{key:"updateMany",value:function e(e,t){return i(function(){var n,r;return R(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateMany(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter",code:et.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"Documents updated successfully",result:n}];case 2:r=s.sent();return[2,eo(r)];case 3:return[2]}})}).call(this)}},{key:"deleteOne",value:function e(e){return i(function(){var t,n;return R(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteOne(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter",code:et.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"Document deleted successfully",result:t}];case 2:n=r.sent();return[2,eo(n)];case 3:return[2]}})}).call(this)}},{key:"deleteMany",value:function e(e){return i(function(){var t,n;return R(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteMany(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter",code:et.INTERNAL_SERVER_ERROR.CODE}:{success:!0,message:"Documents deleted successfully",result:t}];case 2:n=r.sent();return[2,eo(n)];case 3:return[2]}})}).call(this)}}]);return e}();P(nY,"MongoController");var nK=nY,nB=/*#__PURE__*/function(){"use strict";function e(t){a(this,e);M(this,"model");this.model=t}u(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(e){return i(function(){var e,t,n,r,s,i,o;var a=arguments;return R(this,function(c){switch(c.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{},n=a.length>2&&a[2]!==void 0?a[2]:{},r=a.length>3?a[3]:void 0;c.label=1;case 1:c.trys.push([1,3,,4]);s=this.model.findOne(e,t,n);r&&s.populate(r);return[4,s.exec()];case 2:i=c.sent();return[2,i?{success:!0,result:i}:{success:!1,message:"No ".concat(this.getModelName()," found."),code:et.NOT_FOUND.CODE}];case 3:o=c.sent();return[2,eo(o)];case 4:return[2]}})}).apply(this,arguments)}},{key:"findAll",value:function e(e){return i(function(){var e,t,n,r,s,i,o;var a=arguments;return R(this,function(c){switch(c.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{},n=a.length>2&&a[2]!==void 0?a[2]:{},r=a.length>3?a[3]:void 0;c.label=1;case 1:c.trys.push([1,3,,4]);s=this.model.find(e,t,n);r&&s.populate(r);i={success:!0};return[4,s.exec()];case 2:return[2,(i.result=c.sent(),i)];case 3:o=c.sent();return[2,eo(o)];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPaging",value:function e(){return i(function(){var e,t,n,r;var s=arguments;return R(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);n={success:!0};return[4,this.model.paginate(e,t)];case 2:return[2,(n.result=i.sent(),n)];case 3:r=i.sent();return[2,eo(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPagingAggregate",value:function e(e){return i(function(e){var t,n,r;var s=arguments;return R(this,function(i){switch(i.label){case 0:t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);n={success:!0};return[4,this.model.aggregatePaginate(this.model.aggregate(e),t)];case 2:return[2,(n.result=i.sent(),n)];case 3:r=i.sent();return[2,eo(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return i(function(){var e,t,n;var r=arguments;return R(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0};return[4,this.model.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,eo(n)];case 4:return[2]}})}).apply(this,arguments)}},{key:"createOne",value:function e(e){return i(function(){var t,n;return R(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.create(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,eo(n)];case 3:return[2]}})}).call(this)}},{key:"createMany",value:function e(e){return i(function(e){var t,n,r;var s=arguments;return R(this,function(i){switch(i.label){case 0:t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);n={success:!0};return[4,this.model.insertMany(e,t)];case 2:return[2,(n.result=i.sent().map(function(e){return f(e,nA)?e.toObject():null}).filter(function(e){return e!==null}),n)];case 3:r=i.sent();return[2,eo(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(){return i(function(){var e,t,n,r,s;var i=arguments;return R(this,function(o){switch(o.label){case 0:e=i.length>0&&i[0]!==void 0?i[0]:{},t=i.length>1&&i[1]!==void 0?i[1]:{},n=i.length>2&&i[2]!==void 0?i[2]:{};o.label=1;case 1:o.trys.push([1,3,,4]);return[4,this.model.findOneAndUpdate(e,t,y({new:!0},n)).exec()];case 2:r=o.sent();return[2,r?{success:!0,result:r}:{success:!1,message:"Failed to update ".concat(this.getModelName(),"."),code:et.NOT_FOUND.CODE}];case 3:s=o.sent();return[2,eo(s)];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateMany",value:function e(){return i(function(){var e,t,n,r,s;var i=arguments;return R(this,function(o){switch(o.label){case 0:e=i.length>0&&i[0]!==void 0?i[0]:{},t=i.length>1&&i[1]!==void 0?i[1]:{},n=i.length>2&&i[2]!==void 0?i[2]:{};o.label=1;case 1:o.trys.push([1,3,,4]);r={success:!0};return[4,this.model.updateMany(e,t,n).exec()];case 2:return[2,(r.result=o.sent(),r)];case 3:s=o.sent();return[2,eo(s)];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteOne",value:function e(){return i(function(){var e,t,n,r;var s=arguments;return R(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);return[4,this.model.findOneAndDelete(e,t).exec()];case 2:n=i.sent();return[2,n?{success:!0,result:n}:{success:!1,message:"No ".concat(this.getModelName()," found to delete."),code:et.NOT_FOUND.CODE}];case 3:r=i.sent();return[2,eo(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteMany",value:function e(){return i(function(){var e,t,n,r;var s=arguments;return R(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);return[4,this.model.deleteMany(e,t).exec()];case 2:n=i.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents found to delete.",code:et.NOT_FOUND.CODE}:{success:!0,result:n}];case 3:r=i.sent();return[2,eo(r)];case 4:return[2]}})}).apply(this,arguments)}},{key:"createShortId",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return i(function(){var n,r,s,i,o;return R(this,function(a){switch(a.label){case 0:a.trys.push([0,6,,7]);n=new Set;r=0;a.label=1;case 1:if(!(r<10))return[3,5];s=nF(e,r+t);i=!n.has(s);if(!i)return[3,3];n.add(s);return[4,this.model.exists({shortId:s})];case 2:i=!a.sent();a.label=3;case 3:if(i)return[2,{success:!0,result:s}];a.label=4;case 4:r++;return[3,1];case 5:return[2,{success:!1,message:"Failed to create a unique shortId",code:et.INTERNAL_SERVER_ERROR.CODE}];case 6:o=a.sent();return[2,eo(o)];case 7:return[2]}})}).call(this)}},{key:"createSlugQuery",value:function e(e){var t=e.slug,n=e.field,r=e.isObject,s=e.filter;var i=y({},s!==null&&s!==void 0?s:{});return r?S(y({},i),{$or:[l({},"slug.".concat(n),t),{slugHistory:{$elemMatch:l({},"slug.".concat(n),t)}}]}):S(y({},i),{$or:[{slug:t},{slugHistory:t}]})}},{key:"createUniqueSlug",value:function e(e){return i(function(e){var t,n,r,s,i,o,a;return R(this,function(c){switch(c.label){case 0:t=e.slug,n=e.field,r=e.isObject,s=e.filter;i=nU(t),o=i,a=1;c.label=1;case 1:return[4,this.model.exists(this.createSlugQuery({slug:o,field:n,isObject:r,filter:s}))];case 2:if(!c.sent())return[3,4];o="".concat(i,"-").concat(a++);c.label=3;case 3:return[3,1];case 4:return[2,o]}})}).apply(this,arguments)}},{key:"createSlug",value:function e(e){return i(function(e){var t,n,r,s,o,a,c,u,l,d;return R(this,function(p){switch(p.label){case 0:t=this;n=e.field,r=e.from,s=e.filter;p.label=1;case 1:p.trys.push([1,6,,7]);o=r[n];if(!nw(o))return[3,3];c={success:!0};u=Object.fromEntries;return[4,Promise.all(Object.entries(o).map(function(e){var n=I(e,2),r=n[0],o=n[1];return i(function(){var e;return R(this,function(t){switch(t.label){case 0:return[4,this.createUniqueSlug({slug:o,field:r,isObject:!0,filter:s})];case 1:e=t.sent();return[2,[r,e]]}})}).call(t)}))];case 2:a=(c.result=u.apply(Object,[p.sent()]),c);return[3,5];case 3:l={success:!0};return[4,this.createUniqueSlug({slug:o,field:n,isObject:!1,filter:s})];case 4:a=(l.result=p.sent(),l);p.label=5;case 5:return[2,a];case 6:d=p.sent();return[2,eo(d)];case 7:return[2]}})}).apply(this,arguments)}},{key:"checkSlug",value:function e(e){return i(function(e){var t,n,r,s,i,o,a,c,u,l,d,p,f,m,E,g;return R(this,function(h){switch(h.label){case 0:t=e.slug,n=e.field,r=e.from,s=e.filter;h.label=1;case 1:h.trys.push([1,12,,13]);i=r[n];if(!nw(i))return[3,10];o=true,a=false,c=undefined;h.label=2;case 2:h.trys.push([2,7,8,9]);u=Object.values(i)[Symbol.iterator]();h.label=3;case 3:if(!!(o=(l=u.next()).done))return[3,6];d=l.value;p=nU(d);return[4,this.model.exists(this.createSlugQuery({slug:p,field:n,isObject:!0,filter:s}))];case 4:if(h.sent())return[2,{success:!0,result:!0}];h.label=5;case 5:o=true;return[3,3];case 6:return[3,9];case 7:f=h.sent();a=true;c=f;return[3,9];case 8:try{if(!o&&u.return!=null){u.return()}}finally{if(a){throw c}}return[7];case 9:return[2,{success:!0,result:!1}];case 10:m=nU(t);E={success:!0};return[4,this.model.exists(this.createSlugQuery({slug:m,field:n,isObject:!1,filter:s}))];case 11:return[2,(E.result=h.sent()!==null,E)];case 12:g=h.sent();return[2,eo(g)];case 13:return[2]}})}).apply(this,arguments)}},{key:"aggregate",value:function e(e){return i(function(){var t,n;return R(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.aggregate(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,eo(n)];case 3:return[2]}})}).call(this)}}]);return e}();P(nB,"MongooseController");var nH=nB;import{useServer as nW}from"graphql-ws/use/ws";import{WebSocketServer as nQ}from"ws";function nJ(e){return new nQ({server:e.server,path:e.path})}P(nJ,"createWSServer");function n$(e){return nW({schema:e.schema},e.server)}P(n$,"initGraphQLWS");export{eK as BUILD_DIRECTORY,te as COMMIT_LINT_CLI,e9 as COMMIT_LINT_CONVENTIONAL_CONFIG_PACKAGE_NAME,e7 as COMMIT_LINT_PACKAGE_NAME,e1 as CYBERSKILL_CLI,e2 as CYBERSKILL_CLI_PATH,e0 as CYBERSKILL_DIRECTORY,eV as CYBERSKILL_PACKAGE_NAME,nI as C_Collection,nv as C_Db,nO as C_Document,n_ as C_Model,e3 as ESLINT_CLI,tp as ESLINT_INSPECT_CLI,td as ESLINT_INSPECT_PACKAGE_NAME,e4 as ESLINT_PACKAGE_NAME,ep as E_CommandType,F as E_IssueType,eg as E_PackageType,to as GIT_CLI,ez as GIT_COMMIT_EDITMSG,eX as GIT_HOOK,eQ as GIT_IGNORE,tn as LINT_STAGED_CLI,tt as LINT_STAGED_PACKAGE_NAME,tg as MIGRATE_MONGO_CLI,eZ as MIGRATE_MONGO_CONFIG,tE as MIGRATE_MONGO_PACKAGE_NAME,nf as MONGO_MIGRATE_OPTIONS,nK as MongoController,nH as MongooseController,eY as NODE_MODULES,tm as NODE_MODULES_INSPECT_CLI,tf as NODE_MODULES_INSPECT_PACKAGE_NAME,eB as PACKAGE_JSON,eH as PACKAGE_LOCK_JSON,th as PATH,e8 as PLAYWRIGHT_PACKAGE_NAME,ta as PNPM_CLI,tc as PNPM_EXEC_CLI,e$ as PNPM_LOCK_YAML,t9 as Router,tu as SIMPLE_GIT_HOOKS_PACKAGE_NAME,tl as SIMPLE_GIT_HOOK_CLI,eJ as SIMPLE_GIT_HOOK_JSON,eW as TSCONFIG_JSON,ts as TSC_CLI,tr as TSC_PACKAGE_NAME,ti as TSX_CLI,e6 as VITEST_CLI,e5 as VITEST_PACKAGE_NAME,eq as WORKING_DIRECTORY,nT as aggregatePaginate,eT as appendFileSync,nt as bodyParser,eo as catchError,tL as clearAllErrorLists,tS as command,eG as copySync,ea as createApolloServer,nu as createCors,nc as createCorsOptions,nd as createExpress,ty as createGitHooksConfig,np as createNest,nl as createSession,nJ as createWSServer,ni as express,L as expressMiddleware,tV as formatCommand,eS as fs,tC as getLatestPackageVersion,t_ as getPackage,tw as getStoredErrorLists,n$ as initGraphQLWS,tI as installDependencies,eU as join,ei as log,eO as lstatSync,e_ as mkdirSync,nV as mongo,nR as mongoosePaginate,eL as path,eR as pathExistsSync,tF as rawCommand,eD as readFileSync,eb as readJsonSync,eC as readdirSync,ex as removeSync,ek as resolve,tY as resolveCommands,ej as resolveWorkingPath,tK as runCommand,tN as setupPackages,eN as statSync,tR as storage,er as throwError,eI as unlinkSync,tD as updatePackage,eA as writeFileSync};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cyberskill/shared",
3
3
  "type": "module",
4
- "version": "1.154.0",
4
+ "version": "1.156.0",
5
5
  "description": "CyberSkill Shared",
6
6
  "author": "Stephen Cheng",
7
7
  "license": "MIT",
@@ -178,16 +178,7 @@ git checkout -b feature/new-feature
178
178
  git commit -m "feat(module): mô tả ngắn gọn"
179
179
  ```
180
180
 
181
- 3. **Rebase trước khi merge**:
182
-
183
- ```bash
184
- git checkout develop
185
- git pull origin develop
186
- git checkout feature/new-feature
187
- git rebase develop
188
- ```
189
-
190
- 4. **Tạo Pull Request (PR)** và đợi review trước khi merge vào `develop`.
181
+ 3. **Tạo Pull Request (PR)** và đợi review trước khi merge vào `develop`.
191
182
 
192
183
  ---
193
184