@cyberskill/shared 1.169.0 → 1.171.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/_tsup-dts-rollup.d.cts +44 -2
  2. package/dist/_tsup-dts-rollup.d.ts +44 -2
  3. package/dist/node/cli/cli.util.cjs +1 -1
  4. package/dist/node/cli/cli.util.js +1 -1
  5. package/dist/node/cli/index.cjs +1 -1
  6. package/dist/node/cli/index.js +1 -1
  7. package/dist/node/index.cjs +1 -1
  8. package/dist/node/index.js +1 -1
  9. package/dist/node/mongo/index.cjs +1 -1
  10. package/dist/node/mongo/index.js +1 -1
  11. package/dist/node/mongo/mongo.util.cjs +1 -1
  12. package/dist/node/mongo/mongo.util.js +1 -1
  13. package/dist/react/index.cjs +1 -1
  14. package/dist/react/index.js +1 -1
  15. package/dist/react/loading/index.cjs +1 -1
  16. package/dist/react/loading/index.js +1 -1
  17. package/dist/react/loading/loading.component.cjs +1 -1
  18. package/dist/react/loading/loading.component.js +1 -1
  19. package/dist/react/loading/loading.provider.cjs +1 -1
  20. package/dist/react/loading/loading.provider.js +1 -1
  21. package/dist/util/common/common.type.d.cts +2 -2
  22. package/dist/util/common/common.type.d.ts +2 -2
  23. package/dist/util/common/index.d.cts +2 -0
  24. package/dist/util/common/index.d.ts +2 -0
  25. package/dist/util/index.cjs +1 -1
  26. package/dist/util/index.d.cts +5 -0
  27. package/dist/util/index.d.ts +5 -0
  28. package/dist/util/index.js +1 -1
  29. package/dist/util/object/index.cjs +1 -1
  30. package/dist/util/object/index.d.cts +3 -0
  31. package/dist/util/object/index.d.ts +3 -0
  32. package/dist/util/object/index.js +1 -1
  33. package/dist/util/object/object.util.cjs +1 -1
  34. package/dist/util/object/object.util.d.cts +3 -0
  35. package/dist/util/object/object.util.d.ts +3 -0
  36. package/dist/util/object/object.util.js +1 -1
  37. package/package.json +9 -9
  38. package/public/renovate.base.json +1 -6
  39. package/public/wiki/clone-project.md +0 -99
  40. package/public/wiki/convention.md +0 -185
  41. package/public/wiki/setup-mongo.md +0 -29
  42. package/public/wiki/setup-nginx.md +0 -50
  43. package/public/wiki/setup-node.md +0 -29
  44. package/public/wiki/setup-pm2.md +0 -27
  45. package/public/wiki/setup-redis.md +0 -17
  46. package/public/wiki/setup-ssl.md +0 -102
@@ -322,6 +322,17 @@ export { CYBERSKILL_STORAGE_DIRECTORY }
322
322
  export { CYBERSKILL_STORAGE_DIRECTORY as CYBERSKILL_STORAGE_DIRECTORY_alias_1 }
323
323
  export { CYBERSKILL_STORAGE_DIRECTORY as CYBERSKILL_STORAGE_DIRECTORY_alias_2 }
324
324
 
325
+ /**
326
+ * This function uses JSON.stringify and JSON.parse to create a deep clone.
327
+ * This method is not suitable for objects with circular references or functions.
328
+ * @param obj - The object to clone.
329
+ * @returns A deep clone of the object.
330
+ */
331
+ declare function deepClone<T>(obj: T): T;
332
+ export { deepClone }
333
+ export { deepClone as deepClone_alias_1 }
334
+ export { deepClone as deepClone_alias_2 }
335
+
325
336
  /**
326
337
  * Merges multiple objects deeply.
327
338
  * If a property is an array, it will be merged without duplicates.
@@ -1663,6 +1674,17 @@ export { getLatestPackageVersion }
1663
1674
  export { getLatestPackageVersion as getLatestPackageVersion_alias_1 }
1664
1675
  export { getLatestPackageVersion as getLatestPackageVersion_alias_2 }
1665
1676
 
1677
+ /**
1678
+ * Gets a nested value from an object.
1679
+ * @param obj - The object to get the value from.
1680
+ * @param path - The path to the value.
1681
+ * @returns The value at the specified path, or undefined if it does not exist.
1682
+ */
1683
+ declare function getNestedValue<T>(obj: T, path: (string | number)[]): unknown;
1684
+ export { getNestedValue }
1685
+ export { getNestedValue as getNestedValue_alias_1 }
1686
+ export { getNestedValue as getNestedValue_alias_2 }
1687
+
1666
1688
  declare function getPackage(inputPackage?: I_PackageInput): Promise<I_Return_2<I_PackageInfo>>;
1667
1689
  export { getPackage }
1668
1690
  export { getPackage as getPackage_alias_1 }
@@ -1827,11 +1849,14 @@ export { I_DeleteOptionsExtended }
1827
1849
  export { I_DeleteOptionsExtended as I_DeleteOptionsExtended_alias_1 }
1828
1850
  export { I_DeleteOptionsExtended as I_DeleteOptionsExtended_alias_2 }
1829
1851
 
1830
- export declare interface I_EnvFlags {
1852
+ declare interface I_EnvFlags {
1831
1853
  IS_DEV: boolean;
1832
1854
  IS_STAG: boolean;
1833
1855
  IS_PROD: boolean;
1834
1856
  }
1857
+ export { I_EnvFlags }
1858
+ export { I_EnvFlags as I_EnvFlags_alias_1 }
1859
+ export { I_EnvFlags as I_EnvFlags_alias_2 }
1835
1860
 
1836
1861
  declare interface I_Environment {
1837
1862
  CWD: string;
@@ -2148,10 +2173,13 @@ export { I_NextIntlProviderProps }
2148
2173
  export { I_NextIntlProviderProps as I_NextIntlProviderProps_alias_1 }
2149
2174
  export { I_NextIntlProviderProps as I_NextIntlProviderProps_alias_2 }
2150
2175
 
2151
- export declare interface I_NodeEnvInput {
2176
+ declare interface I_NodeEnvInput {
2152
2177
  NODE_ENV?: string;
2153
2178
  NODE_ENV_MODE?: string;
2154
2179
  }
2180
+ export { I_NodeEnvInput }
2181
+ export { I_NodeEnvInput as I_NodeEnvInput_alias_1 }
2182
+ export { I_NodeEnvInput as I_NodeEnvInput_alias_2 }
2155
2183
 
2156
2184
  declare interface I_PackageInfo {
2157
2185
  name: string;
@@ -2435,6 +2463,7 @@ declare const mongo: {
2435
2463
  database: typeof migrate.database;
2436
2464
  config: typeof migrate.config;
2437
2465
  };
2466
+ regexify<T>(filter?: T_FilterQuery<T>, fields?: (keyof T | string)[]): T_FilterQuery<T>;
2438
2467
  };
2439
2468
  export { mongo }
2440
2469
  export { mongo as mongo_alias_1 }
@@ -3100,6 +3129,19 @@ export { setGlobalApolloErrorCallback }
3100
3129
  export { setGlobalApolloErrorCallback as setGlobalApolloErrorCallback_alias_1 }
3101
3130
  export { setGlobalApolloErrorCallback as setGlobalApolloErrorCallback_alias_2 }
3102
3131
 
3132
+ /**
3133
+ * Sets a nested value in an object.
3134
+ * If the path does not exist, it will be created.
3135
+ * @param obj - The object to set the value in.
3136
+ * @param path - The path to the value.
3137
+ * @param value - The value to set.
3138
+ * @returns The updated object.
3139
+ */
3140
+ declare function setNestedValue<T>(obj: T, path: (string | number)[], value: unknown): T;
3141
+ export { setNestedValue }
3142
+ export { setNestedValue as setNestedValue_alias_1 }
3143
+ export { setNestedValue as setNestedValue_alias_2 }
3144
+
3103
3145
  declare function setupPackages(packages: I_PackageInput[], options?: {
3104
3146
  install?: boolean;
3105
3147
  update?: boolean;
@@ -322,6 +322,17 @@ export { CYBERSKILL_STORAGE_DIRECTORY }
322
322
  export { CYBERSKILL_STORAGE_DIRECTORY as CYBERSKILL_STORAGE_DIRECTORY_alias_1 }
323
323
  export { CYBERSKILL_STORAGE_DIRECTORY as CYBERSKILL_STORAGE_DIRECTORY_alias_2 }
324
324
 
325
+ /**
326
+ * This function uses JSON.stringify and JSON.parse to create a deep clone.
327
+ * This method is not suitable for objects with circular references or functions.
328
+ * @param obj - The object to clone.
329
+ * @returns A deep clone of the object.
330
+ */
331
+ declare function deepClone<T>(obj: T): T;
332
+ export { deepClone }
333
+ export { deepClone as deepClone_alias_1 }
334
+ export { deepClone as deepClone_alias_2 }
335
+
325
336
  /**
326
337
  * Merges multiple objects deeply.
327
338
  * If a property is an array, it will be merged without duplicates.
@@ -1663,6 +1674,17 @@ export { getLatestPackageVersion }
1663
1674
  export { getLatestPackageVersion as getLatestPackageVersion_alias_1 }
1664
1675
  export { getLatestPackageVersion as getLatestPackageVersion_alias_2 }
1665
1676
 
1677
+ /**
1678
+ * Gets a nested value from an object.
1679
+ * @param obj - The object to get the value from.
1680
+ * @param path - The path to the value.
1681
+ * @returns The value at the specified path, or undefined if it does not exist.
1682
+ */
1683
+ declare function getNestedValue<T>(obj: T, path: (string | number)[]): unknown;
1684
+ export { getNestedValue }
1685
+ export { getNestedValue as getNestedValue_alias_1 }
1686
+ export { getNestedValue as getNestedValue_alias_2 }
1687
+
1666
1688
  declare function getPackage(inputPackage?: I_PackageInput): Promise<I_Return_2<I_PackageInfo>>;
1667
1689
  export { getPackage }
1668
1690
  export { getPackage as getPackage_alias_1 }
@@ -1827,11 +1849,14 @@ export { I_DeleteOptionsExtended }
1827
1849
  export { I_DeleteOptionsExtended as I_DeleteOptionsExtended_alias_1 }
1828
1850
  export { I_DeleteOptionsExtended as I_DeleteOptionsExtended_alias_2 }
1829
1851
 
1830
- export declare interface I_EnvFlags {
1852
+ declare interface I_EnvFlags {
1831
1853
  IS_DEV: boolean;
1832
1854
  IS_STAG: boolean;
1833
1855
  IS_PROD: boolean;
1834
1856
  }
1857
+ export { I_EnvFlags }
1858
+ export { I_EnvFlags as I_EnvFlags_alias_1 }
1859
+ export { I_EnvFlags as I_EnvFlags_alias_2 }
1835
1860
 
1836
1861
  declare interface I_Environment {
1837
1862
  CWD: string;
@@ -2148,10 +2173,13 @@ export { I_NextIntlProviderProps }
2148
2173
  export { I_NextIntlProviderProps as I_NextIntlProviderProps_alias_1 }
2149
2174
  export { I_NextIntlProviderProps as I_NextIntlProviderProps_alias_2 }
2150
2175
 
2151
- export declare interface I_NodeEnvInput {
2176
+ declare interface I_NodeEnvInput {
2152
2177
  NODE_ENV?: string;
2153
2178
  NODE_ENV_MODE?: string;
2154
2179
  }
2180
+ export { I_NodeEnvInput }
2181
+ export { I_NodeEnvInput as I_NodeEnvInput_alias_1 }
2182
+ export { I_NodeEnvInput as I_NodeEnvInput_alias_2 }
2155
2183
 
2156
2184
  declare interface I_PackageInfo {
2157
2185
  name: string;
@@ -2435,6 +2463,7 @@ declare const mongo: {
2435
2463
  database: typeof migrate.database;
2436
2464
  config: typeof migrate.config;
2437
2465
  };
2466
+ regexify<T>(filter?: T_FilterQuery<T>, fields?: (keyof T | string)[]): T_FilterQuery<T>;
2438
2467
  };
2439
2468
  export { mongo }
2440
2469
  export { mongo as mongo_alias_1 }
@@ -3100,6 +3129,19 @@ export { setGlobalApolloErrorCallback }
3100
3129
  export { setGlobalApolloErrorCallback as setGlobalApolloErrorCallback_alias_1 }
3101
3130
  export { setGlobalApolloErrorCallback as setGlobalApolloErrorCallback_alias_2 }
3102
3131
 
3132
+ /**
3133
+ * Sets a nested value in an object.
3134
+ * If the path does not exist, it will be created.
3135
+ * @param obj - The object to set the value in.
3136
+ * @param path - The path to the value.
3137
+ * @param value - The value to set.
3138
+ * @returns The updated object.
3139
+ */
3140
+ declare function setNestedValue<T>(obj: T, path: (string | number)[], value: unknown): T;
3141
+ export { setNestedValue }
3142
+ export { setNestedValue as setNestedValue_alias_1 }
3143
+ export { setNestedValue as setNestedValue_alias_2 }
3144
+
3103
3145
  declare function setupPackages(packages: I_PackageInput[], options?: {
3104
3146
  install?: boolean;
3105
3147
  update?: boolean;
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e,t,n,r,i,s,o){try{var a=e[s](o);var c=a.value}catch(e){n(e);return}if(a.done){t(c)}else{Promise.resolve(c).then(r,i)}}function i(e){return function(){var t=this,n=arguments;return new Promise(function(i,s){var o=e.apply(t,n);function a(e){r(o,i,s,a,c,"next",e)}function c(e){r(o,i,s,a,c,"throw",e)}a(undefined)})}}function s(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function o(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function a(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function c(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var i=true;var s=false;var o,a;try{for(n=n.call(e);!(i=(o=n.next()).done);i=true){r.push(o.value);if(t&&r.length===t)break}}catch(e){s=true;a=e}finally{try{if(!i&&n["return"]!=null)n["return"]()}finally{if(s)throw a}}return r}function u(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function l(){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 d(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){s(e,t,n[t])})}return e}function p(e,n){return t(e)||c(e,n)||m(e,n)||u()}function E(e){return n(e)||a(e)||m(e)||l()}function f(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function m(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 g(e,t){var n,r,i,s={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=a(0),o["throw"]=a(1),o["return"]=a(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(e){return function(t){return c([e,t])}}function c(a){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,a[0]&&(s=0)),s)try{if(n=1,r&&(i=a[0]&2?r["return"]:a[0]?r["throw"]||((i=r["return"])&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;if(r=0,i)a=[a[0]&2,i.value];switch(a[0]){case 0:case 1:i=a;break;case 4:s.label++;return{value:a[1],done:false};case 5:s.label++;r=a[1];a=[0];continue;case 7:a=s.ops.pop();s.trys.pop();continue;default:if(!(i=s.trys,i=i.length>0&&i[i.length-1])&&(a[0]===6||a[0]===2)){s=0;continue}if(a[0]===3&&(!i||a[1]>i[0]&&a[1]<i[3])){s.label=a[1];break}if(a[0]===6&&s.label<i[1]){s.label=i[1];i=a;break}if(i&&s.label<i[2]){s.label=i[2];s.ops.push(a);break}if(i[2])s.ops.pop();s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e];r=0}finally{n=i=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}}var y=Object.create;var h=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var D=Object.getPrototypeOf,O=Object.prototype.hasOwnProperty;var C=function(e,t){return h(e,"name",{value:t,configurable:!0})};var I=function(e,t,n,r){var i=true,s=false,o=undefined;if(t&&(typeof t==="undefined"?"undefined":f(t))=="object"||typeof t=="function")try{var a=function(){var i=u.value;!O.call(e,i)&&i!==n&&h(e,i,{get:function(){return t[i]},enumerable:!(r=v(t,i))||r.enumerable})};for(var c=S(t)[Symbol.iterator](),u;!(i=(u=c.next()).done);i=true)a()}catch(e){s=true;o=e}finally{try{if(!i&&c.return!=null){c.return()}}finally{if(s){throw o}}}return e};var N=function(e,t,n){return n=e!=null?y(D(e)):{},I(t||!e||!e.__esModule?h(n,"default",{value:e,enumerable:!0}):n,e)};var T=N(require("process"),1),x=require("yargs/helpers"),A=N(require("yargs/yargs"),1);var _={name:"@cyberskill/shared",type:"module",version:"1.168.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.1","@apollo/client":"3.13.8","@apollo/server":"4.12.1","@dotenvx/dotenvx":"1.44.0","@eddeee888/gcg-typescript-resolver-files":"0.12.1","@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.8","@nestjs/common":"11.1.1","@nestjs/core":"11.1.1","@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.5",i18next:"25.2.0",jsdom:"26.1.0",localforage:"1.10.0","migrate-mongo":"12.1.3","modern-normalize":"3.0.1",mongodb:"6.16.0",mongoose:"8.15.0","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.89.0",slugify:"1.6.6",tsup:"8.5.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.2.0",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.19","@types/node-persist":"3.1.8","@types/react":"19.1.4","@types/react-dom":"19.1.5","@types/unorm":"1.3.31","@types/uuid":"10.0.0","@types/ws":"8.18.1","@types/yargs":"17.0.33",eslint:"9.27.0","lint-staged":"16.0.0","node-modules-inspector":"0.6.8","simple-git-hooks":"2.13.0"}};var R=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var b=require("child_process"),G=N(require("process"),1),P=N(require("util"),1);var M=".cyberskill-storage";var w=N(require("@dotenvx/dotenvx"),1),j=require("envalid"),L=N(require("os"),1),U=N(require("path"),1),k=N(require("process"),1);var q=function(e){return e.PRODUCTION="production",e.STAGING="staging",e.DEVELOPMENT="development",e}({});var F=!1;function V(){k.default.env.NODE_ENV!==q.PRODUCTION&&!F&&(w.default.config(),F=!0)}C(V,"loadEnvFile");function Y(){V();var e=(0,j.cleanEnv)(k.default.env,{CWD:(0,j.str)({default:k.default.cwd()}),DEBUG:(0,j.bool)({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:(0,j.str)({default:U.default.join(L.default.homedir(),M)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}C(Y,"getEnv");var B=function(e){return e.Error="error",e.Warning="warning",e}({});var K=N(require("chalk"),1),H=N(require("consola"),1),Q=require("graphql");var W={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 J=Y();J.DEBUG||(H.default.level=4);function $(e){var t=K.default[e];return typeof t=="function"?t:K.default.green}C($,"chalkKeyword");var z={silent:H.default.silent,level:H.default.level,fatal:H.default.fatal,error:H.default.error,warn:H.default.warn,log:H.default.log,info:H.default.info,success:H.default.success,ready:H.default.ready,start:H.default.start,box:H.default.box,debug:H.default.debug,trace:H.default.trace,verbose:H.default.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){H.default.box(K.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,i=e.rule,s=e.message;H.default.log("".concat(K.default.gray("File:")," ").concat(K.default.blue("".concat(t).concat(r?":".concat(r):"")))),i&&H.default.log(" ".concat($(n)("Rule:")," ").concat(i)),H.default.log(" ".concat($(n)("Message:")," ").concat(s))}),H.default.box($(n)("".concat(e," : ").concat(t.length))),H.default.log(K.default.gray("─".repeat(40)))}};function X(e,t){var n=t!==null&&t!==void 0?t:{},r=n.shouldLog,i=r===void 0?!0:r,s=n.returnValue,a=n.callback,c=o(e,Error)?e:new Error(typeof e=="string"?e:"Unknown error");return i&&z.error(c.message),a&&typeof a=="function"&&a(c),s||{success:!1,message:c.message,code:W.INTERNAL_SERVER_ERROR.CODE}}C(X,"catchError");var Z=function(e){return e.DEPENDENCY="dependencies",e.DEV_DEPENDENCY="devDependencies",e.PEER_DEPENDENCY="peerDependencies",e.BUNDLE_DEPENDENCY="bundleDependencies",e.OPTIONAL_DEPENDENCY="optionalDependencies",e}({});var ee=N(require("node-fetch"),1);var et=N(require("fs-extra"),1),en=N(require("path"),1);var er=et.default,ei=er.lstatSync,es=er.readdirSync,eo=er.mkdirSync,ea=er.readFileSync,ec=er.unlinkSync,eu=er.statSync,el=et.default.readJsonSync;function ed(e,t,n){et.default.writeFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}C(ed,"writeFileSync");function ep(e,t,n){et.default.appendFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}C(ep,"appendFileSync");function eE(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return et.default.pathExistsSync(e)})}C(eE,"pathExistsSync");function ef(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}t.forEach(function(e){eE(e)&&et.default.removeSync(e)})}C(ef,"removeSync");var em=N(require("fs-extra"),1);var eg=N(require("path"),1);var ey=Y(),eh=eg.default;function ev(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=eh).resolve.apply(r,[ey.CWD].concat(E(t)))}C(ev,"resolveWorkingPath");function eS(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=eh).join.apply(r,E(t))}C(eS,"join");var eD=Y(),eO=eD.CWD,eC="@cyberskill/shared",eI="node_modules",eN="dist",eT="package.json",ex="package-lock.json",eA="tsconfig.json",e_=".gitignore",eR=".simple-git-hooks.json",eb="pnpm-lock.yaml",eG=".git/hooks/",eP=".git/COMMIT_EDITMSG",eM=".migrate-mongo.config.js",ew=function(){var e=em.default.readJsonSync(ev(eT)).name===eC?eO:eS(eO,eI,eC);return eS(e,eN)}(),ej="cyberskill",eL="src/node/cli/index.ts",eU="eslint",ek="eslint",eq="vitest";var eF="vitest",eV="@commitlint/cli",eY="@commitlint/config-conventional",eB="commitlint",eK="lint-staged",eH="lint-staged",eQ="typescript",eW="tsc",eJ="tsx",e$="git",ez="pnpm",eX="pnpm exec",eZ="simple-git-hooks",e0="simple-git-hooks",e1="@eslint/config-inspector",e2="eslint-config-inspector",e4="node-modules-inspector",e3="node-modules-inspector",e5="migrate-mongo",e8="./node_modules/migrate-mongo/bin/migrate-mongo",e6={CYBERSKILL_DIRECTORY:ew,WORKING_DIRECTORY:eO,TS_CONFIG:ev(eA),GIT_IGNORE:ev(e_),GIT_HOOK:ev(eG),GIT_COMMIT_MSG:ev(eP),SIMPLE_GIT_HOOKS_JSON:ev(eR),PACKAGE_JSON:ev(eT),PACKAGE_LOCK_JSON:ev(ex),PNPM_LOCK_YAML:ev(eb),NODE_MODULES:ev(eI),MIGRATE_MONGO_CONFIG:ev(eM),LINT_STAGED_CONFIG:ev("".concat(ew,"/config/lint-staged/index.js")),COMMITLINT_CONFIG:ev("".concat(ew,"/config/commitlint/index.js")),UNIT_TEST_CONFIG:ev("".concat(ew,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:ev("".concat(ew,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:ev("".concat(ew,"/react/vitest/vitest.e2e.js"))};function e7(e){var t=e.isCurrentProject;return d({"pre-commit":eH,"commit-msg":eB},t&&{"pre-push":tS("".concat(e$," pull"))})}C(e7,"createGitHooksConfig");function e9(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 g(this,function(n){switch(n.label){case 0:switch(t){case R.CLI:return[3,1];case R.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,to(s,{install:!0})];case 2:e=n.sent();n.label=3;case 3:return[2,(e,tO(tS("".concat(eX," ").concat(r))))];case 4:return[2,tO(tS(r))];case 5:throw new Error("Unsupported command type");case 6:return[2]}})})()}}C(e9,"buildCommand");var te={simpleGitHooks:e9({type:R.CLI,packages:[{name:eZ,type:Z.DEV_DEPENDENCY}],command:e0}),eslintInspect:e9({type:R.CLI,packages:[{name:e1,type:Z.DEV_DEPENDENCY}],command:e2}),nodeModulesInspect:e9({type:R.CLI,packages:[{name:e4,type:Z.DEV_DEPENDENCY}],command:e3}),eslintCheck:e9({type:R.CLI,packages:[{name:eU,type:Z.DEV_DEPENDENCY}],command:"".concat(ek," ").concat(e6.WORKING_DIRECTORY," --no-cache")}),eslintFix:e9({type:R.CLI,packages:[{name:eU,type:Z.DEV_DEPENDENCY}],command:"".concat(ek," ").concat(e6.WORKING_DIRECTORY," --fix --no-cache")}),typescriptCheck:e9({type:R.CLI,packages:[{name:eQ,type:Z.DEPENDENCY}],command:"".concat(eW," -p ").concat(e6.TS_CONFIG," --noEmit")}),testUnit:e9({type:R.CLI,packages:[{name:eq,type:Z.DEV_DEPENDENCY}],command:"".concat(eF," --config ").concat(e6.UNIT_TEST_CONFIG)}),testE2e:e9({type:R.CLI,packages:[{name:eq,type:Z.DEV_DEPENDENCY}],command:"".concat(eF," --config ").concat(e6.E2E_TEST_CONFIG)}),mongoMigrateCreate:C(function(e){return e9({type:R.CLI,packages:[{name:e5,type:Z.DEPENDENCY}],command:"".concat(eJ," ").concat(e8," create ").concat(e," -f ").concat(e6.MIGRATE_MONGO_CONFIG)})()},"mongoMigrateCreate"),mongoMigrateUp:e9({type:R.CLI,packages:[{name:e5,type:Z.DEPENDENCY}],command:"".concat(eJ," ").concat(e8," up -f ").concat(e6.MIGRATE_MONGO_CONFIG)}),mongoMigrateDown:e9({type:R.CLI,packages:[{name:e5,type:Z.DEPENDENCY}],command:"".concat(eJ," ").concat(e8," down -f ").concat(e6.MIGRATE_MONGO_CONFIG)}),commitLint:e9({type:R.CLI,packages:[{name:eV,type:Z.DEV_DEPENDENCY},{name:eY,type:Z.DEV_DEPENDENCY}],command:"".concat(eB," --edit ").concat(e6.GIT_COMMIT_MSG," --config ").concat(e6.COMMITLINT_CONFIG)}),lintStaged:e9({type:R.CLI,packages:[{name:eK,type:Z.DEV_DEPENDENCY}],command:"".concat(eH," --config ").concat(e6.LINT_STAGED_CONFIG)}),configureGitHook:e9({type:R.STRING,command:"".concat(e$," config core.hooksPath ").concat(e6.GIT_HOOK)}),build:e9({type:R.STRING,command:"".concat(ez," run --if-present build")}),pnpmInstallStandard:e9({type:R.STRING,command:"".concat(ez," install --ignore-scripts")}),pnpmInstallLegacy:e9({type:R.STRING,command:"".concat(ez," install --ignore-scripts --legacy-peer-deps")}),pnpmInstallForce:e9({type:R.STRING,command:"".concat(ez," install --ignore-scripts --force")}),pnpmPruneStore:e9({type:R.STRING,command:"".concat(ez," store prune")}),pnpmCleanCache:e9({type:R.STRING,command:"".concat(ez," cache delete")})};var tt=Y();function tn(e){return i(function(){var t,n,r,i;return g(this,function(s){switch(s.label){case 0:s.trys.push([0,3,,4]);return[4,(0,ee.default)("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=s.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=s.sent(),r=n.version;return[2,{success:!0,result:r}];case 3:i=s.sent();return[2,X(i)];case 4:return[2]}})})()}C(tn,"getLatestPackageVersion");function tr(e){return i(function(){var t,n,r,i,s,o,a,c,u,l,d,p,E,f,m,y,h,v,S,D,O,C,I,N;return g(this,function(g){switch(g.label){case 0:g.trys.push([0,2,,3]);if(!e){if(eE(e6.PACKAGE_JSON)){t=el(e6.PACKAGE_JSON),n=t.name,r=n===void 0?"":n,i=t.version,s=i===void 0?"":i;return[2,{success:!0,result:{name:r,currentVersion:s,latestVersion:s,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:!1,isDevDependency:!1,installedPath:e6.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(!eE(e6.PACKAGE_JSON))return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===Z.DEPENDENCY,isDevDependency:e.type===Z.DEV_DEPENDENCY,installedPath:"",file:{}}}];o=el(e6.PACKAGE_JSON),a=o.name,c=o.version,u=c===void 0?"":c,l=o.dependencies,d=l===void 0?{}:l,p=o.devDependencies,E=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===Z.DEPENDENCY,isDevDependency:e.type===Z.DEV_DEPENDENCY,installedPath:e6.PACKAGE_JSON,file:o}}];f=e.name in d,m=e.name in E;return[4,tn(e.name)];case 1:y=g.sent();if(!y.success)return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:f,isDevDependency:m,installedPath:"",file:{}}}];if(!f&&!m)return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:y.result,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===Z.DEPENDENCY,isDevDependency:e.type===Z.DEV_DEPENDENCY,installedPath:"",file:{}}}];S=(v=(h=d[e.name])!==null&&h!==void 0?h:E[e.name])!==null&&v!==void 0?v:"",D=eS(tt.CWD,eI,e.name,eT);if(!eE(D))return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:y.result,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:f,isDevDependency:m,installedPath:"",file:{}}}];O=el(D),C=O.version,I=C===void 0?"":C;return[2,S!==I?{success:!0,result:{name:e.name,currentVersion:I||S,latestVersion:y.result,isCurrentProject:!1,isInstalled:!0,isUpToDate:!1,isDependency:f,isDevDependency:m,installedPath:D,file:O}}:{success:!0,result:{name:e.name,currentVersion:S,latestVersion:y.result,isCurrentProject:!1,isInstalled:!0,isUpToDate:S===y.result,isDependency:f,isDevDependency:m,installedPath:D,file:O}}];case 2:N=g.sent();return[2,X(N)];case 3:return[2]}})})()}C(tr,"getPackage");function ti(e){return i(function(){var t,n,r,i,s;return g(this,function(o){try{;r=el(e6.PACKAGE_JSON),i=(t=r.dependencies)!==null&&t!==void 0?t:{},s=(n=r.devDependencies)!==null&&n!==void 0?n:{};e.isDependency?i[e.name]=e.latestVersion:e.isDevDependency&&(s[e.name]=e.latestVersion),ed(e6.PACKAGE_JSON,JSON.stringify(r,null,4)),z.info('Updated "'.concat(e.name,'" to version ').concat(e.latestVersion))}catch(e){X(e)}return[2]})})()}C(ti,"updatePackage");function ts(){return i(function(){var e,t,n,r,i,s,o,a,c,u,l,d,p;return g(this,function(E){switch(E.label){case 0:E.trys.push([0,12,,13]);e=[{command:C(function(){return te.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:C(function(){return te.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:C(function(){return te.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;E.label=1;case 1:E.trys.push([1,9,10,11]);i=e[Symbol.iterator]();E.label=2;case 2:if(!!(t=(s=i.next()).done))return[3,8];o=s.value,a=o.command,c=o.message;E.label=3;case 3:E.trys.push([3,6,,7]);return[4,a()];case 4:u=E.sent();return[4,tI("".concat(c," using: ").concat(u),u)];case 5:E.sent();return[2];case 6:l=E.sent();X(l);return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=E.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&i.return!=null){i.return()}}finally{if(n){throw r}}return[7];case 11:return[3,13];case 12:p=E.sent();X(p);return[3,13];case 13:return[2]}})})()}C(ts,"installDependencies");function to(e,t){return i(function(){var n,r,i,s,o,a,c,u,l,d,p,f,m,y,h,v,S;return g(this,function(g){switch(g.label){case 0:g.trys.push([0,15,,16]);if(!eE(e6.PACKAGE_JSON)){z.error("package.json not found. Aborting setup.");return[2]}return[4,Promise.all(e.map(tr))];case 1:i=g.sent().filter(function(e){return e.success&&!!e.result&&!e.result.isCurrentProject}).map(function(e){return e.result}),s=i.filter(function(e){return!e.isInstalled}),o=i.filter(function(e){return!e.isUpToDate}),a=[];(t===null||t===void 0?void 0:t.install)&&s.length>0&&(n=a).push.apply(n,E(s.map(ti))),(t===null||t===void 0?void 0:t.update)&&o.length>0&&(r=a).push.apply(r,E(o.map(ti)));c=a.length>0;if(!c)return[3,6];return[4,Promise.all(a)];case 2:g.sent();return[4,ts()];case 3:g.sent();u=["Running ESLint with auto-fix"];return[4,te.eslintFix()];case 4:return[4,tI.apply(void 0,u.concat([g.sent()]))];case 5:c=g.sent();g.label=6;case 6:c;d=true,p=false,f=undefined;g.label=7;case 7:g.trys.push([7,12,13,14]);m=((l=t===null||t===void 0?void 0:t.callbacks)!==null&&l!==void 0?l:[])[Symbol.iterator]();g.label=8;case 8:if(!!(d=(y=m.next()).done))return[3,11];h=y.value;return[4,h()];case 9:g.sent();g.label=10;case 10:d=true;return[3,8];case 11:return[3,14];case 12:v=g.sent();p=true;f=v;return[3,14];case 13:try{if(!d&&m.return!=null){m.return()}}finally{if(p){throw f}}return[7];case 14:return[3,16];case 15:S=g.sent();X(S);return[3,16];case 16:return[2]}})})()}C(to,"setupPackages");var ta=N(require("node-persist"),1);var tc=Y();function tu(){return i(function(){var e;return g(this,function(t){switch(t.label){case 0:e=ta.default.defaultInstance;if(e)return[3,2];return[4,ta.default.init({dir:tc.CYBERSKILL_STORAGE_DIRECTORY})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})})()}C(tu,"initNodePersist");var tl={get:function e(e){return i(function(){var t,n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tu()];case 1:r.sent();return[4,ta.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,X(n,{returnValue:null})];case 4:return[2]}})})()},set:function e(e,t){return i(function(){var n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tu()];case 1:r.sent();return[4,ta.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();X(n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return i(function(){var t;return g(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tu()];case 1:n.sent();return[4,ta.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();X(t);return[3,4];case 4:return[2]}})})()},keys:function e(){return i(function(){var e,t;return g(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tu()];case 1:n.sent();return[4,ta.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(z.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,X(t,{returnValue:[]})];case 4:return[2]}})})()},getLogLink:function e(e){return i(function(){return g(this,function(t){try{return[2,"".concat(tc.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,X(e,{returnValue:null})]}return[2]})})()}};var td=Y(),tp=P.promisify(b.exec);function tE(){return i(function(){var e;return g(this,function(t){switch(t.label){case 0:return[4,tr()];case 1:e=t.sent();return[2,e.success?e.result.name:Date.now().toString()]}})})()}C(tE,"getPackageName");function tf(e){return i(function(){var t,n;return g(this,function(r){switch(r.label){case 0:if(e.length===0)return[2];return[4,tE()];case 1:t=r.sent();r.label=2;case 2:r.trys.push([2,4,,5]);return[4,tl.set(t,e)];case 3:r.sent(),setTimeout(function(){return i(function(){var e;return g(this,function(n){switch(n.label){case 0:return[4,tl.getLogLink(t)];case 1:e=n.sent();e&&z.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},0);return[3,5];case 4:n=r.sent();X(n);return[3,5];case 5:return[2]}})})()}C(tf,"saveErrorListToStorage");function tm(){return i(function(){var e,t,n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tE()];case 1:e=r.sent();return[4,tl.get(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:[]];case 3:n=r.sent();return[2,X(n,{returnValue:[]})];case 4:return[2]}})})()}C(tm,"getStoredErrorLists");function tg(){return i(function(){var e,t;return g(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tE()];case 1:e=n.sent();return[4,tl.remove(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();X(t);return[3,4];case 4:return[2]}})})()}C(tg,"clearAllErrorLists");function ty(e){var t=[],n=[],r="",i=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,s=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,o=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var a,c,u,l,d;var p=i.exec(e)||[],E=s.exec(e)||[],f=o.exec(e)||[];var m,g,y,h,v,S;p.length&&r?t.push({file:r,position:"".concat(p[1],":").concat(p[2]),type:p[3]===B.Error?B.Error:B.Warning,message:(m=p===null||p===void 0?void 0:(a=p[4])===null||a===void 0?void 0:a.trim())!==null&&m!==void 0?m:"",rule:(g=p===null||p===void 0?void 0:(c=p[5])===null||c===void 0?void 0:c.trim())!==null&&g!==void 0?g:""}):E.length?t.push({file:(y=E===null||E===void 0?void 0:E[1])!==null&&y!==void 0?y:"",position:"".concat(E[2],":").concat(E[3]),type:E[4]===B.Error?B.Error:B.Warning,message:(h=E===null||E===void 0?void 0:(u=E[5])===null||u===void 0?void 0:u.trim())!==null&&h!==void 0?h:""}):f.length?t.push({file:"commitlint",type:B.Error,message:(v=f===null||f===void 0?void 0:(l=f[1])===null||l===void 0?void 0:l.trim())!==null&&v!==void 0?v:"",rule:(S=f===null||f===void 0?void 0:(d=f[2])===null||d===void 0?void 0:d.trim())!==null&&S!==void 0?S:""}):n.push(e.trim())}}),t.length&&tf(t),td.DEBUG&&n.length&&(z.warn("Unmatched lines:"),n.forEach(function(e){return z.info(" ".concat(e))}))}C(ty,"parseTextErrors");function th(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,i=e.line,s=e.column,o=e.ruleId,a=e.message;n.push({type:r===2?B.Error:B.Warning,file:t,position:"".concat(i,":").concat(s),rule:o,message:a})})}),n.length&&tf(n)}catch(t){ty(e)}}C(th,"parseCommandOutput");function tv(e){return i(function(e){var t,n,r,i,s,o,a,c,u;var l=arguments;return g(this,function(d){switch(d.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:th;n=new AbortController;G.default.on("SIGINT",function(){z.warn("Process interrupted. Terminating..."),n.abort(),G.default.exit()});d.label=1;case 1:d.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,tp(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=d.sent(),i=r.stdout,s=r.stderr;[i,s].forEach(function(e){return e&&t(e)});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&&z.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}C(tv,"executeCommand");function tS(e){return{raw:!0,cmd:e}}C(tS,"rawCommand");function tD(e,t){return(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(eX," ").concat(eJ," ").concat(eL," ").concat(e):"".concat(eX," ").concat(ej," ").concat(e)}C(tD,"formatCLI");function tO(e,t){return typeof e=="function"?tD(e(t),t):(typeof e==="undefined"?"undefined":f(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?tD(e,t):e}C(tO,"formatCommand");function tC(e){return i(function(){var t,n,r;return g(this,function(i){switch(i.label){case 0:return[4,tr({name:eC})];case 1:t=i.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=p(e,2),r=t[0],i=t[1];return[r,tO(i,n)]}))]}return[2]}})})()}C(tC,"resolveCommands");function tI(e,t){return i(function(){var n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);z.start("".concat(e)),td.DEBUG&&z.info("→ ".concat(t));return[4,tv(t)];case 1:r.sent(),z.success("".concat(e," done."));return[3,3];case 2:n=r.sent();X(n);return[3,3];case 3:return[2]}})})()}C(tI,"runCommand");function tN(){return i(function(){var e,t;return g(this,function(n){switch(n.label){case 0:if(!eE(e6.TS_CONFIG))return[3,3];t=["Performing TypeScript validation"];return[4,te.typescriptCheck()];case 1:return[4,tI.apply(void 0,t.concat([n.sent()]))];case 2:e=n.sent();return[3,4];case 3:e=z.warn("No TypeScript configuration found. Skipping type check.");n.label=4;case 4:e;return[2]}})})()}C(tN,"checkTypescript");function tT(){return i(function(){var e,t,n,r;var i=arguments;return g(this,function(s){switch(s.label){case 0:e=i.length>0&&i[0]!==void 0?i[0]:!1;if(!e)return[3,3];n=["Running ESLint with auto-fix"];return[4,te.eslintFix()];case 1:return[4,tI.apply(void 0,n.concat([s.sent()]))];case 2:t=s.sent();return[3,6];case 3:r=["Running ESLint check"];return[4,te.eslintCheck()];case 4:return[4,tI.apply(void 0,r.concat([s.sent()]))];case 5:t=s.sent();s.label=6;case 6:t;return[2]}})}).apply(this,arguments)}C(tT,"checkEslint");function tx(e,t){if(!t.length)return;var n=e==="Errors"?"red":"yellow";z.printBoxedLog(e==="Errors"?"✖ Errors":"⚠ Warnings",t,n)}C(tx,"printIssues");function tA(){return i(function(){return g(this,function(e){setTimeout(function(){return i(function(){var e,t,n;return g(this,function(r){switch(r.label){case 0:return[4,tm()];case 1:e=r.sent(),t=e.filter(function(e){return e.type===B.Error}),n=e.filter(function(e){return e.type===B.Warning});!t.length&&!n.length?z.printBoxedLog("✔ NO ISSUES FOUND",[],"green"):(tx("Warnings",n),tx("Errors",t),(t.length>0||n.length>0)&&T.default.exit(1));return[2]}})})()},0);return[2]})})()}C(tA,"showCheckResult");function t_(){return i(function(){var e,t,n,r;return g(this,function(i){switch(i.label){case 0:return[4,tg()];case 1:i.sent();return[4,tr({name:eC})];case 2:e=i.sent();if(!e.success){z.error("Failed to retrieve package information. Aborting lint-staged.");return[2]}t=e.result.isCurrentProject;if(!t)return[3,5];n=["Building package: ".concat(eC)];return[4,te.build()];case 3:return[4,tI.apply(void 0,n.concat([i.sent()]))];case 4:t=i.sent();i.label=5;case 5:t;r=["Executing lint-staged"];return[4,te.lintStaged()];case 6:return[4,tI.apply(void 0,r.concat([i.sent()]))];case 7:i.sent(),tA();return[2]}})})()}C(t_,"lintStaged");function tR(){return i(function(){var e;return g(this,function(t){switch(t.label){case 0:e=["Inspecting ESLint configuration"];return[4,te.eslintInspect()];case 1:return[4,tI.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}C(tR,"inspectLint");function tb(){return i(function(){return g(this,function(e){switch(e.label){case 0:return[4,tg()];case 1:e.sent();return[4,Promise.all([tN(),tT()])];case 2:e.sent(),tA();return[2]}})})()}C(tb,"lintCheck");function tG(){return i(function(){return g(this,function(e){switch(e.label){case 0:return[4,tg()];case 1:e.sent();return[4,Promise.all([tN(),tT(!0)])];case 2:e.sent(),tA();return[2]}})})()}C(tG,"lintFix");function tP(){return i(function(){var e;return g(this,function(t){switch(t.label){case 0:return[4,tg()];case 1:t.sent();e=["Validating commit message"];return[4,te.commitLint()];case 2:return[4,tI.apply(void 0,e.concat([t.sent()]))];case 3:t.sent(),tA();return[2]}})})()}C(tP,"commitLint");function tM(){return i(function(){var e,t,n,r;return g(this,function(i){switch(i.label){case 0:e=["Configuring Git hooks"];return[4,te.configureGitHook()];case 1:return[4,tI.apply(void 0,e.concat([i.sent()]))];case 2:i.sent(),ef(e6.GIT_HOOK);return[4,tC(e7)];case 3:t=i.sent();ed(e6.SIMPLE_GIT_HOOKS_JSON,JSON.stringify(t,null,4));n="\n".concat(eR,"\n");eE(e6.GIT_IGNORE)?ea(e6.GIT_IGNORE,"utf-8").split("\n").includes(eR)||ep(e6.GIT_IGNORE,n):ed(e6.GIT_IGNORE,n);r=["Setting up simple-git-hooks"];return[4,te.simpleGitHooks()];case 4:return[4,tI.apply(void 0,r.concat([i.sent()]))];case 5:i.sent();return[2]}})})()}C(tM,"setupGitHook");function tw(){return i(function(){return g(this,function(e){switch(e.label){case 0:return[4,ts()];case 1:e.sent();return[4,tM()];case 2:e.sent();return[2]}})})()}C(tw,"prepare");function tj(){return i(function(){var e,t;return g(this,function(n){switch(n.label){case 0:ef(e6.NODE_MODULES,e6.PNPM_LOCK_YAML);e=["Pruning pnpm store"];return[4,te.pnpmPruneStore()];case 1:return[4,tI.apply(void 0,e.concat([n.sent()]))];case 2:n.sent();t=["Clearing pnpm cache"];return[4,te.pnpmCleanCache()];case 3:return[4,tI.apply(void 0,t.concat([n.sent()]))];case 4:n.sent();return[4,ts()];case 5:n.sent();return[4,tM()];case 6:n.sent();return[2]}})})()}C(tj,"reset");function tL(){return i(function(){var e;return g(this,function(t){switch(t.label){case 0:e=["Inspecting project dependencies"];return[4,te.nodeModulesInspect()];case 1:return[4,tI.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}C(tL,"inspect");function tU(){return i(function(){var e;return g(this,function(t){switch(t.label){case 0:e=["Running unit tests"];return[4,te.testUnit()];case 1:return[4,tI.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}C(tU,"testUnit");function tk(){return i(function(){var e;return g(this,function(t){switch(t.label){case 0:e=["Running end-to-end tests"];return[4,te.testE2e()];case 1:return[4,tI.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}C(tk,"testE2E");function tq(e){return i(function(){var t;return g(this,function(n){switch(n.label){case 0:t=["Creating MongoDB migration"];return[4,te.mongoMigrateCreate(e)];case 1:return[4,tI.apply(void 0,t.concat([n.sent()]))];case 2:n.sent();return[2]}})})()}C(tq,"mongoMigrateCreate");function tF(){return i(function(){var e;return g(this,function(t){switch(t.label){case 0:e=["Running MongoDB migrations"];return[4,te.mongoMigrateUp()];case 1:return[4,tI.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}C(tF,"mongoMigrateUp");function tV(){return i(function(){var e;return g(this,function(t){switch(t.label){case 0:e=["Rolling back MongoDB migration"];return[4,te.mongoMigrateDown()];case 1:return[4,tI.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}C(tV,"mongoMigrateDown");(function(){return i(function(){var e;return g(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,(0,A.default)((0,x.hideBin)(T.default.argv)).scriptName(ej).usage("$0 <command> [options]").command("lint","Check code for linting issues",tb).command("lint:fix","Fix linting issues automatically",tG).command("lint:inspect","View active ESLint configuration",tR).command("lint-staged","Run lint checks on staged files",t_).command("commitlint","Validate commit message format",tP).command("prepare","Initialize project and dependencies",tw).command("reset","Reset the project and reinstall dependencies",tj).command("inspect","Analyze installed project dependencies",tL).command("test:unit","Run unit test suite",tU).command("test:e2e","Run end-to-end test suite",tk).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 g(this,function(t){switch(t.label){case 0:if(!e.name){z.error("Migration name is required.");return[2]}return[4,tq(e.name)];case 1:t.sent();return[2]}})})()}).command("mongo:migrate:up","Apply all MongoDB migrations",tF).command("mongo:migrate:down","Rollback last MongoDB migration",tV).demandCommand(1,"Please specify a valid command.").strict().help().alias("h","help").alias("v","version").version(_.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();X(e),T.default.exit(1);return[3,3];case 3:return[2]}})})()})();
2
+ "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e,t,n,r,i,s,o){try{var a=e[s](o);var c=a.value}catch(e){n(e);return}if(a.done){t(c)}else{Promise.resolve(c).then(r,i)}}function i(e){return function(){var t=this,n=arguments;return new Promise(function(i,s){var o=e.apply(t,n);function a(e){r(o,i,s,a,c,"next",e)}function c(e){r(o,i,s,a,c,"throw",e)}a(undefined)})}}function s(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function o(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function a(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function c(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var i=true;var s=false;var o,a;try{for(n=n.call(e);!(i=(o=n.next()).done);i=true){r.push(o.value);if(t&&r.length===t)break}}catch(e){s=true;a=e}finally{try{if(!i&&n["return"]!=null)n["return"]()}finally{if(s)throw a}}return r}function u(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function l(){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 d(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){s(e,t,n[t])})}return e}function p(e,n){return t(e)||c(e,n)||m(e,n)||u()}function E(e){return n(e)||a(e)||m(e)||l()}function f(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function m(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 g(e,t){var n,r,i,s={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=a(0),o["throw"]=a(1),o["return"]=a(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(e){return function(t){return c([e,t])}}function c(a){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,a[0]&&(s=0)),s)try{if(n=1,r&&(i=a[0]&2?r["return"]:a[0]?r["throw"]||((i=r["return"])&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;if(r=0,i)a=[a[0]&2,i.value];switch(a[0]){case 0:case 1:i=a;break;case 4:s.label++;return{value:a[1],done:false};case 5:s.label++;r=a[1];a=[0];continue;case 7:a=s.ops.pop();s.trys.pop();continue;default:if(!(i=s.trys,i=i.length>0&&i[i.length-1])&&(a[0]===6||a[0]===2)){s=0;continue}if(a[0]===3&&(!i||a[1]>i[0]&&a[1]<i[3])){s.label=a[1];break}if(a[0]===6&&s.label<i[1]){s.label=i[1];i=a;break}if(i&&s.label<i[2]){s.label=i[2];s.ops.push(a);break}if(i[2])s.ops.pop();s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e];r=0}finally{n=i=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}}var y=Object.create;var h=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var D=Object.getPrototypeOf,O=Object.prototype.hasOwnProperty;var C=function(e,t){return h(e,"name",{value:t,configurable:!0})};var I=function(e,t,n,r){var i=true,s=false,o=undefined;if(t&&(typeof t==="undefined"?"undefined":f(t))=="object"||typeof t=="function")try{var a=function(){var i=u.value;!O.call(e,i)&&i!==n&&h(e,i,{get:function(){return t[i]},enumerable:!(r=v(t,i))||r.enumerable})};for(var c=S(t)[Symbol.iterator](),u;!(i=(u=c.next()).done);i=true)a()}catch(e){s=true;o=e}finally{try{if(!i&&c.return!=null){c.return()}}finally{if(s){throw o}}}return e};var N=function(e,t,n){return n=e!=null?y(D(e)):{},I(t||!e||!e.__esModule?h(n,"default",{value:e,enumerable:!0}):n,e)};var T=N(require("process"),1),x=require("yargs/helpers"),A=N(require("yargs/yargs"),1);var _={name:"@cyberskill/shared",type:"module",version:"1.170.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.2","@apollo/client":"3.13.8","@apollo/server":"4.12.1","@dotenvx/dotenvx":"1.44.1","@eddeee888/gcg-typescript-resolver-files":"0.12.1","@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.8","@nestjs/common":"11.1.1","@nestjs/core":"11.1.1","@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.4","body-parser":"2.2.0",chalk:"5.4.1",clsx:"2.1.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.5",i18next:"25.2.0",jsdom:"26.1.0",localforage:"1.10.0","migrate-mongo":"12.1.3","modern-normalize":"3.0.1",mongodb:"6.16.0",mongoose:"8.15.0","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.89.0",slugify:"1.6.6",tsup:"8.5.0",tsx:"4.19.4",typescript:"5.8.3",unorm:"1.6.0",uuid:"11.1.0",vite:"6.3.5",vitest:"3.1.4","vitest-browser-react":"0.2.0",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.8.0","@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.21","@types/node-persist":"3.1.8","@types/react":"19.1.5","@types/react-dom":"19.1.5","@types/unorm":"1.3.31","@types/uuid":"10.0.0","@types/ws":"8.18.1","@types/yargs":"17.0.33",eslint:"9.27.0","lint-staged":"16.0.0","node-modules-inspector":"0.6.8","simple-git-hooks":"2.13.0"}};var R=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var b=require("child_process"),G=N(require("process"),1),P=N(require("util"),1);var M=".cyberskill-storage";var w=N(require("@dotenvx/dotenvx"),1),j=require("envalid"),L=N(require("os"),1),U=N(require("path"),1),k=N(require("process"),1);var q=function(e){return e.PRODUCTION="production",e.STAGING="staging",e.DEVELOPMENT="development",e}({});var F=!1;function V(){k.default.env.NODE_ENV!==q.PRODUCTION&&!F&&(w.default.config(),F=!0)}C(V,"loadEnvFile");function Y(){V();var e=(0,j.cleanEnv)(k.default.env,{CWD:(0,j.str)({default:k.default.cwd()}),DEBUG:(0,j.bool)({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:(0,j.str)({default:U.default.join(L.default.homedir(),M)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}C(Y,"getEnv");var B=function(e){return e.Error="error",e.Warning="warning",e}({});var K=N(require("chalk"),1),H=N(require("consola"),1),Q=require("graphql");var W={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 J=Y();J.DEBUG||(H.default.level=4);function $(e){var t=K.default[e];return typeof t=="function"?t:K.default.green}C($,"chalkKeyword");var z={silent:H.default.silent,level:H.default.level,fatal:H.default.fatal,error:H.default.error,warn:H.default.warn,log:H.default.log,info:H.default.info,success:H.default.success,ready:H.default.ready,start:H.default.start,box:H.default.box,debug:H.default.debug,trace:H.default.trace,verbose:H.default.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){H.default.box(K.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,i=e.rule,s=e.message;H.default.log("".concat(K.default.gray("File:")," ").concat(K.default.blue("".concat(t).concat(r?":".concat(r):"")))),i&&H.default.log(" ".concat($(n)("Rule:")," ").concat(i)),H.default.log(" ".concat($(n)("Message:")," ").concat(s))}),H.default.box($(n)("".concat(e," : ").concat(t.length))),H.default.log(K.default.gray("─".repeat(40)))}};function X(e,t){var n=t!==null&&t!==void 0?t:{},r=n.shouldLog,i=r===void 0?!0:r,s=n.returnValue,a=n.callback,c=o(e,Error)?e:new Error(typeof e=="string"?e:"Unknown error");return i&&z.error(c.message),a&&typeof a=="function"&&a(c),s||{success:!1,message:c.message,code:W.INTERNAL_SERVER_ERROR.CODE}}C(X,"catchError");var Z=function(e){return e.DEPENDENCY="dependencies",e.DEV_DEPENDENCY="devDependencies",e.PEER_DEPENDENCY="peerDependencies",e.BUNDLE_DEPENDENCY="bundleDependencies",e.OPTIONAL_DEPENDENCY="optionalDependencies",e}({});var ee=N(require("node-fetch"),1);var et=N(require("fs-extra"),1),en=N(require("path"),1);var er=et.default,ei=er.lstatSync,es=er.readdirSync,eo=er.mkdirSync,ea=er.readFileSync,ec=er.unlinkSync,eu=er.statSync,el=et.default.readJsonSync;function ed(e,t,n){et.default.writeFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}C(ed,"writeFileSync");function ep(e,t,n){et.default.appendFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}C(ep,"appendFileSync");function eE(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return et.default.pathExistsSync(e)})}C(eE,"pathExistsSync");function ef(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}t.forEach(function(e){eE(e)&&et.default.removeSync(e)})}C(ef,"removeSync");var em=N(require("fs-extra"),1);var eg=N(require("path"),1);var ey=Y(),eh=eg.default;function ev(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=eh).resolve.apply(r,[ey.CWD].concat(E(t)))}C(ev,"resolveWorkingPath");function eS(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=eh).join.apply(r,E(t))}C(eS,"join");var eD=Y(),eO=eD.CWD,eC="@cyberskill/shared",eI="node_modules",eN="dist",eT="package.json",ex="package-lock.json",eA="tsconfig.json",e_=".gitignore",eR=".simple-git-hooks.json",eb="pnpm-lock.yaml",eG=".git/hooks/",eP=".git/COMMIT_EDITMSG",eM=".migrate-mongo.config.js",ew=function(){var e=em.default.readJsonSync(ev(eT)).name===eC?eO:eS(eO,eI,eC);return eS(e,eN)}(),ej="cyberskill",eL="src/node/cli/index.ts",eU="eslint",ek="eslint",eq="vitest";var eF="vitest",eV="@commitlint/cli",eY="@commitlint/config-conventional",eB="commitlint",eK="lint-staged",eH="lint-staged",eQ="typescript",eW="tsc",eJ="tsx",e$="git",ez="pnpm",eX="pnpm exec",eZ="simple-git-hooks",e0="simple-git-hooks",e1="@eslint/config-inspector",e2="eslint-config-inspector",e4="node-modules-inspector",e3="node-modules-inspector",e5="migrate-mongo",e8="./node_modules/migrate-mongo/bin/migrate-mongo",e6={CYBERSKILL_DIRECTORY:ew,WORKING_DIRECTORY:eO,TS_CONFIG:ev(eA),GIT_IGNORE:ev(e_),GIT_HOOK:ev(eG),GIT_COMMIT_MSG:ev(eP),SIMPLE_GIT_HOOKS_JSON:ev(eR),PACKAGE_JSON:ev(eT),PACKAGE_LOCK_JSON:ev(ex),PNPM_LOCK_YAML:ev(eb),NODE_MODULES:ev(eI),MIGRATE_MONGO_CONFIG:ev(eM),LINT_STAGED_CONFIG:ev("".concat(ew,"/config/lint-staged/index.js")),COMMITLINT_CONFIG:ev("".concat(ew,"/config/commitlint/index.js")),UNIT_TEST_CONFIG:ev("".concat(ew,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:ev("".concat(ew,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:ev("".concat(ew,"/react/vitest/vitest.e2e.js"))};function e7(e){var t=e.isCurrentProject;return d({"pre-commit":eH,"commit-msg":eB},t&&{"pre-push":tS("".concat(e$," pull"))})}C(e7,"createGitHooksConfig");function e9(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 g(this,function(n){switch(n.label){case 0:switch(t){case R.CLI:return[3,1];case R.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,to(s,{install:!0})];case 2:e=n.sent();n.label=3;case 3:return[2,(e,tO(tS("".concat(eX," ").concat(r))))];case 4:return[2,tO(tS(r))];case 5:throw new Error("Unsupported command type");case 6:return[2]}})})()}}C(e9,"buildCommand");var te={simpleGitHooks:e9({type:R.CLI,packages:[{name:eZ,type:Z.DEV_DEPENDENCY}],command:e0}),eslintInspect:e9({type:R.CLI,packages:[{name:e1,type:Z.DEV_DEPENDENCY}],command:e2}),nodeModulesInspect:e9({type:R.CLI,packages:[{name:e4,type:Z.DEV_DEPENDENCY}],command:e3}),eslintCheck:e9({type:R.CLI,packages:[{name:eU,type:Z.DEV_DEPENDENCY}],command:"".concat(ek," ").concat(e6.WORKING_DIRECTORY," --no-cache")}),eslintFix:e9({type:R.CLI,packages:[{name:eU,type:Z.DEV_DEPENDENCY}],command:"".concat(ek," ").concat(e6.WORKING_DIRECTORY," --fix --no-cache")}),typescriptCheck:e9({type:R.CLI,packages:[{name:eQ,type:Z.DEPENDENCY}],command:"".concat(eW," -p ").concat(e6.TS_CONFIG," --noEmit")}),testUnit:e9({type:R.CLI,packages:[{name:eq,type:Z.DEV_DEPENDENCY}],command:"".concat(eF," --config ").concat(e6.UNIT_TEST_CONFIG)}),testE2e:e9({type:R.CLI,packages:[{name:eq,type:Z.DEV_DEPENDENCY}],command:"".concat(eF," --config ").concat(e6.E2E_TEST_CONFIG)}),mongoMigrateCreate:C(function(e){return e9({type:R.CLI,packages:[{name:e5,type:Z.DEPENDENCY}],command:"".concat(eJ," ").concat(e8," create ").concat(e," -f ").concat(e6.MIGRATE_MONGO_CONFIG)})()},"mongoMigrateCreate"),mongoMigrateUp:e9({type:R.CLI,packages:[{name:e5,type:Z.DEPENDENCY}],command:"".concat(eJ," ").concat(e8," up -f ").concat(e6.MIGRATE_MONGO_CONFIG)}),mongoMigrateDown:e9({type:R.CLI,packages:[{name:e5,type:Z.DEPENDENCY}],command:"".concat(eJ," ").concat(e8," down -f ").concat(e6.MIGRATE_MONGO_CONFIG)}),commitLint:e9({type:R.CLI,packages:[{name:eV,type:Z.DEV_DEPENDENCY},{name:eY,type:Z.DEV_DEPENDENCY}],command:"".concat(eB," --edit ").concat(e6.GIT_COMMIT_MSG," --config ").concat(e6.COMMITLINT_CONFIG)}),lintStaged:e9({type:R.CLI,packages:[{name:eK,type:Z.DEV_DEPENDENCY}],command:"".concat(eH," --config ").concat(e6.LINT_STAGED_CONFIG)}),configureGitHook:e9({type:R.STRING,command:"".concat(e$," config core.hooksPath ").concat(e6.GIT_HOOK)}),build:e9({type:R.STRING,command:"".concat(ez," run --if-present build")}),pnpmInstallStandard:e9({type:R.STRING,command:"".concat(ez," install --ignore-scripts")}),pnpmInstallLegacy:e9({type:R.STRING,command:"".concat(ez," install --ignore-scripts --legacy-peer-deps")}),pnpmInstallForce:e9({type:R.STRING,command:"".concat(ez," install --ignore-scripts --force")}),pnpmPruneStore:e9({type:R.STRING,command:"".concat(ez," store prune")}),pnpmCleanCache:e9({type:R.STRING,command:"".concat(ez," cache delete")})};var tt=Y();function tn(e){return i(function(){var t,n,r,i;return g(this,function(s){switch(s.label){case 0:s.trys.push([0,3,,4]);return[4,(0,ee.default)("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=s.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=s.sent(),r=n.version;return[2,{success:!0,result:r}];case 3:i=s.sent();return[2,X(i)];case 4:return[2]}})})()}C(tn,"getLatestPackageVersion");function tr(e){return i(function(){var t,n,r,i,s,o,a,c,u,l,d,p,E,f,m,y,h,v,S,D,O,C,I,N;return g(this,function(g){switch(g.label){case 0:g.trys.push([0,2,,3]);if(!e){if(eE(e6.PACKAGE_JSON)){t=el(e6.PACKAGE_JSON),n=t.name,r=n===void 0?"":n,i=t.version,s=i===void 0?"":i;return[2,{success:!0,result:{name:r,currentVersion:s,latestVersion:s,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:!1,isDevDependency:!1,installedPath:e6.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(!eE(e6.PACKAGE_JSON))return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===Z.DEPENDENCY,isDevDependency:e.type===Z.DEV_DEPENDENCY,installedPath:"",file:{}}}];o=el(e6.PACKAGE_JSON),a=o.name,c=o.version,u=c===void 0?"":c,l=o.dependencies,d=l===void 0?{}:l,p=o.devDependencies,E=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===Z.DEPENDENCY,isDevDependency:e.type===Z.DEV_DEPENDENCY,installedPath:e6.PACKAGE_JSON,file:o}}];f=e.name in d,m=e.name in E;return[4,tn(e.name)];case 1:y=g.sent();if(!y.success)return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:f,isDevDependency:m,installedPath:"",file:{}}}];if(!f&&!m)return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:y.result,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===Z.DEPENDENCY,isDevDependency:e.type===Z.DEV_DEPENDENCY,installedPath:"",file:{}}}];S=(v=(h=d[e.name])!==null&&h!==void 0?h:E[e.name])!==null&&v!==void 0?v:"",D=eS(tt.CWD,eI,e.name,eT);if(!eE(D))return[2,{success:!0,result:{name:e.name,currentVersion:"",latestVersion:y.result,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:f,isDevDependency:m,installedPath:"",file:{}}}];O=el(D),C=O.version,I=C===void 0?"":C;return[2,S!==I?{success:!0,result:{name:e.name,currentVersion:I||S,latestVersion:y.result,isCurrentProject:!1,isInstalled:!0,isUpToDate:!1,isDependency:f,isDevDependency:m,installedPath:D,file:O}}:{success:!0,result:{name:e.name,currentVersion:S,latestVersion:y.result,isCurrentProject:!1,isInstalled:!0,isUpToDate:S===y.result,isDependency:f,isDevDependency:m,installedPath:D,file:O}}];case 2:N=g.sent();return[2,X(N)];case 3:return[2]}})})()}C(tr,"getPackage");function ti(e){return i(function(){var t,n,r,i,s;return g(this,function(o){try{;r=el(e6.PACKAGE_JSON),i=(t=r.dependencies)!==null&&t!==void 0?t:{},s=(n=r.devDependencies)!==null&&n!==void 0?n:{};e.isDependency?i[e.name]=e.latestVersion:e.isDevDependency&&(s[e.name]=e.latestVersion),ed(e6.PACKAGE_JSON,JSON.stringify(r,null,4)),z.info('Updated "'.concat(e.name,'" to version ').concat(e.latestVersion))}catch(e){X(e)}return[2]})})()}C(ti,"updatePackage");function ts(){return i(function(){var e,t,n,r,i,s,o,a,c,u,l,d,p;return g(this,function(E){switch(E.label){case 0:E.trys.push([0,12,,13]);e=[{command:C(function(){return te.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:C(function(){return te.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:C(function(){return te.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;E.label=1;case 1:E.trys.push([1,9,10,11]);i=e[Symbol.iterator]();E.label=2;case 2:if(!!(t=(s=i.next()).done))return[3,8];o=s.value,a=o.command,c=o.message;E.label=3;case 3:E.trys.push([3,6,,7]);return[4,a()];case 4:u=E.sent();return[4,tI("".concat(c," using: ").concat(u),u)];case 5:E.sent();return[2];case 6:l=E.sent();X(l);return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=E.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&i.return!=null){i.return()}}finally{if(n){throw r}}return[7];case 11:return[3,13];case 12:p=E.sent();X(p);return[3,13];case 13:return[2]}})})()}C(ts,"installDependencies");function to(e,t){return i(function(){var n,r,i,s,o,a,c,u,l,d,p,f,m,y,h,v,S;return g(this,function(g){switch(g.label){case 0:g.trys.push([0,15,,16]);if(!eE(e6.PACKAGE_JSON)){z.error("package.json not found. Aborting setup.");return[2]}return[4,Promise.all(e.map(tr))];case 1:i=g.sent().filter(function(e){return e.success&&!!e.result&&!e.result.isCurrentProject}).map(function(e){return e.result}),s=i.filter(function(e){return!e.isInstalled}),o=i.filter(function(e){return!e.isUpToDate}),a=[];(t===null||t===void 0?void 0:t.install)&&s.length>0&&(n=a).push.apply(n,E(s.map(ti))),(t===null||t===void 0?void 0:t.update)&&o.length>0&&(r=a).push.apply(r,E(o.map(ti)));c=a.length>0;if(!c)return[3,6];return[4,Promise.all(a)];case 2:g.sent();return[4,ts()];case 3:g.sent();u=["Running ESLint with auto-fix"];return[4,te.eslintFix()];case 4:return[4,tI.apply(void 0,u.concat([g.sent()]))];case 5:c=g.sent();g.label=6;case 6:c;d=true,p=false,f=undefined;g.label=7;case 7:g.trys.push([7,12,13,14]);m=((l=t===null||t===void 0?void 0:t.callbacks)!==null&&l!==void 0?l:[])[Symbol.iterator]();g.label=8;case 8:if(!!(d=(y=m.next()).done))return[3,11];h=y.value;return[4,h()];case 9:g.sent();g.label=10;case 10:d=true;return[3,8];case 11:return[3,14];case 12:v=g.sent();p=true;f=v;return[3,14];case 13:try{if(!d&&m.return!=null){m.return()}}finally{if(p){throw f}}return[7];case 14:return[3,16];case 15:S=g.sent();X(S);return[3,16];case 16:return[2]}})})()}C(to,"setupPackages");var ta=N(require("node-persist"),1);var tc=Y();function tu(){return i(function(){var e;return g(this,function(t){switch(t.label){case 0:e=ta.default.defaultInstance;if(e)return[3,2];return[4,ta.default.init({dir:tc.CYBERSKILL_STORAGE_DIRECTORY})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})})()}C(tu,"initNodePersist");var tl={get:function e(e){return i(function(){var t,n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tu()];case 1:r.sent();return[4,ta.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,X(n,{returnValue:null})];case 4:return[2]}})})()},set:function e(e,t){return i(function(){var n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tu()];case 1:r.sent();return[4,ta.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();X(n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return i(function(){var t;return g(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tu()];case 1:n.sent();return[4,ta.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();X(t);return[3,4];case 4:return[2]}})})()},keys:function e(){return i(function(){var e,t;return g(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tu()];case 1:n.sent();return[4,ta.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(z.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,X(t,{returnValue:[]})];case 4:return[2]}})})()},getLogLink:function e(e){return i(function(){return g(this,function(t){try{return[2,"".concat(tc.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,X(e,{returnValue:null})]}return[2]})})()}};var td=Y(),tp=P.promisify(b.exec);function tE(){return i(function(){var e;return g(this,function(t){switch(t.label){case 0:return[4,tr()];case 1:e=t.sent();return[2,e.success?e.result.name:Date.now().toString()]}})})()}C(tE,"getPackageName");function tf(e){return i(function(){var t,n;return g(this,function(r){switch(r.label){case 0:if(e.length===0)return[2];return[4,tE()];case 1:t=r.sent();r.label=2;case 2:r.trys.push([2,4,,5]);return[4,tl.set(t,e)];case 3:r.sent(),setTimeout(function(){return i(function(){var e;return g(this,function(n){switch(n.label){case 0:return[4,tl.getLogLink(t)];case 1:e=n.sent();e&&z.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},0);return[3,5];case 4:n=r.sent();X(n);return[3,5];case 5:return[2]}})})()}C(tf,"saveErrorListToStorage");function tm(){return i(function(){var e,t,n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tE()];case 1:e=r.sent();return[4,tl.get(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:[]];case 3:n=r.sent();return[2,X(n,{returnValue:[]})];case 4:return[2]}})})()}C(tm,"getStoredErrorLists");function tg(){return i(function(){var e,t;return g(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tE()];case 1:e=n.sent();return[4,tl.remove(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();X(t);return[3,4];case 4:return[2]}})})()}C(tg,"clearAllErrorLists");function ty(e){var t=[],n=[],r="",i=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,s=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,o=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var a,c,u,l,d;var p=i.exec(e)||[],E=s.exec(e)||[],f=o.exec(e)||[];var m,g,y,h,v,S;p.length&&r?t.push({file:r,position:"".concat(p[1],":").concat(p[2]),type:p[3]===B.Error?B.Error:B.Warning,message:(m=p===null||p===void 0?void 0:(a=p[4])===null||a===void 0?void 0:a.trim())!==null&&m!==void 0?m:"",rule:(g=p===null||p===void 0?void 0:(c=p[5])===null||c===void 0?void 0:c.trim())!==null&&g!==void 0?g:""}):E.length?t.push({file:(y=E===null||E===void 0?void 0:E[1])!==null&&y!==void 0?y:"",position:"".concat(E[2],":").concat(E[3]),type:E[4]===B.Error?B.Error:B.Warning,message:(h=E===null||E===void 0?void 0:(u=E[5])===null||u===void 0?void 0:u.trim())!==null&&h!==void 0?h:""}):f.length?t.push({file:"commitlint",type:B.Error,message:(v=f===null||f===void 0?void 0:(l=f[1])===null||l===void 0?void 0:l.trim())!==null&&v!==void 0?v:"",rule:(S=f===null||f===void 0?void 0:(d=f[2])===null||d===void 0?void 0:d.trim())!==null&&S!==void 0?S:""}):n.push(e.trim())}}),t.length&&tf(t),td.DEBUG&&n.length&&(z.warn("Unmatched lines:"),n.forEach(function(e){return z.info(" ".concat(e))}))}C(ty,"parseTextErrors");function th(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,i=e.line,s=e.column,o=e.ruleId,a=e.message;n.push({type:r===2?B.Error:B.Warning,file:t,position:"".concat(i,":").concat(s),rule:o,message:a})})}),n.length&&tf(n)}catch(t){ty(e)}}C(th,"parseCommandOutput");function tv(e){return i(function(e){var t,n,r,i,s,o,a,c,u;var l=arguments;return g(this,function(d){switch(d.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:th;n=new AbortController;G.default.on("SIGINT",function(){z.warn("Process interrupted. Terminating..."),n.abort(),G.default.exit()});d.label=1;case 1:d.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,tp(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=d.sent(),i=r.stdout,s=r.stderr;[i,s].forEach(function(e){return e&&t(e)});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&&z.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}C(tv,"executeCommand");function tS(e){return{raw:!0,cmd:e}}C(tS,"rawCommand");function tD(e,t){return(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(eX," ").concat(eJ," ").concat(eL," ").concat(e):"".concat(eX," ").concat(ej," ").concat(e)}C(tD,"formatCLI");function tO(e,t){return typeof e=="function"?tD(e(t),t):(typeof e==="undefined"?"undefined":f(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?tD(e,t):e}C(tO,"formatCommand");function tC(e){return i(function(){var t,n,r;return g(this,function(i){switch(i.label){case 0:return[4,tr({name:eC})];case 1:t=i.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=p(e,2),r=t[0],i=t[1];return[r,tO(i,n)]}))]}return[2]}})})()}C(tC,"resolveCommands");function tI(e,t){return i(function(){var n;return g(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);z.start("".concat(e)),td.DEBUG&&z.info("→ ".concat(t));return[4,tv(t)];case 1:r.sent(),z.success("".concat(e," done."));return[3,3];case 2:n=r.sent();X(n);return[3,3];case 3:return[2]}})})()}C(tI,"runCommand");function tN(){return i(function(){var e,t;return g(this,function(n){switch(n.label){case 0:if(!eE(e6.TS_CONFIG))return[3,3];t=["Performing TypeScript validation"];return[4,te.typescriptCheck()];case 1:return[4,tI.apply(void 0,t.concat([n.sent()]))];case 2:e=n.sent();return[3,4];case 3:e=z.warn("No TypeScript configuration found. Skipping type check.");n.label=4;case 4:e;return[2]}})})()}C(tN,"checkTypescript");function tT(){return i(function(){var e,t,n,r;var i=arguments;return g(this,function(s){switch(s.label){case 0:e=i.length>0&&i[0]!==void 0?i[0]:!1;if(!e)return[3,3];n=["Running ESLint with auto-fix"];return[4,te.eslintFix()];case 1:return[4,tI.apply(void 0,n.concat([s.sent()]))];case 2:t=s.sent();return[3,6];case 3:r=["Running ESLint check"];return[4,te.eslintCheck()];case 4:return[4,tI.apply(void 0,r.concat([s.sent()]))];case 5:t=s.sent();s.label=6;case 6:t;return[2]}})}).apply(this,arguments)}C(tT,"checkEslint");function tx(e,t){if(!t.length)return;var n=e==="Errors"?"red":"yellow";z.printBoxedLog(e==="Errors"?"✖ Errors":"⚠ Warnings",t,n)}C(tx,"printIssues");function tA(){return i(function(){return g(this,function(e){setTimeout(function(){return i(function(){var e,t,n;return g(this,function(r){switch(r.label){case 0:return[4,tm()];case 1:e=r.sent(),t=e.filter(function(e){return e.type===B.Error}),n=e.filter(function(e){return e.type===B.Warning});!t.length&&!n.length?z.printBoxedLog("✔ NO ISSUES FOUND",[],"green"):(tx("Warnings",n),tx("Errors",t),(t.length>0||n.length>0)&&T.default.exit(1));return[2]}})})()},0);return[2]})})()}C(tA,"showCheckResult");function t_(){return i(function(){var e,t,n,r;return g(this,function(i){switch(i.label){case 0:return[4,tg()];case 1:i.sent();return[4,tr({name:eC})];case 2:e=i.sent();if(!e.success){z.error("Failed to retrieve package information. Aborting lint-staged.");return[2]}t=e.result.isCurrentProject;if(!t)return[3,5];n=["Building package: ".concat(eC)];return[4,te.build()];case 3:return[4,tI.apply(void 0,n.concat([i.sent()]))];case 4:t=i.sent();i.label=5;case 5:t;r=["Executing lint-staged"];return[4,te.lintStaged()];case 6:return[4,tI.apply(void 0,r.concat([i.sent()]))];case 7:i.sent(),tA();return[2]}})})()}C(t_,"lintStaged");function tR(){return i(function(){var e;return g(this,function(t){switch(t.label){case 0:e=["Inspecting ESLint configuration"];return[4,te.eslintInspect()];case 1:return[4,tI.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}C(tR,"inspectLint");function tb(){return i(function(){return g(this,function(e){switch(e.label){case 0:return[4,tg()];case 1:e.sent();return[4,Promise.all([tN(),tT()])];case 2:e.sent(),tA();return[2]}})})()}C(tb,"lintCheck");function tG(){return i(function(){return g(this,function(e){switch(e.label){case 0:return[4,tg()];case 1:e.sent();return[4,Promise.all([tN(),tT(!0)])];case 2:e.sent(),tA();return[2]}})})()}C(tG,"lintFix");function tP(){return i(function(){var e;return g(this,function(t){switch(t.label){case 0:return[4,tg()];case 1:t.sent();e=["Validating commit message"];return[4,te.commitLint()];case 2:return[4,tI.apply(void 0,e.concat([t.sent()]))];case 3:t.sent(),tA();return[2]}})})()}C(tP,"commitLint");function tM(){return i(function(){var e,t,n,r;return g(this,function(i){switch(i.label){case 0:e=["Configuring Git hooks"];return[4,te.configureGitHook()];case 1:return[4,tI.apply(void 0,e.concat([i.sent()]))];case 2:i.sent(),ef(e6.GIT_HOOK);return[4,tC(e7)];case 3:t=i.sent();ed(e6.SIMPLE_GIT_HOOKS_JSON,JSON.stringify(t,null,4));n="\n".concat(eR,"\n");eE(e6.GIT_IGNORE)?ea(e6.GIT_IGNORE,"utf-8").split("\n").includes(eR)||ep(e6.GIT_IGNORE,n):ed(e6.GIT_IGNORE,n);r=["Setting up simple-git-hooks"];return[4,te.simpleGitHooks()];case 4:return[4,tI.apply(void 0,r.concat([i.sent()]))];case 5:i.sent();return[2]}})})()}C(tM,"setupGitHook");function tw(){return i(function(){return g(this,function(e){switch(e.label){case 0:return[4,ts()];case 1:e.sent();return[4,tM()];case 2:e.sent();return[2]}})})()}C(tw,"prepare");function tj(){return i(function(){var e,t;return g(this,function(n){switch(n.label){case 0:ef(e6.NODE_MODULES,e6.PNPM_LOCK_YAML);e=["Pruning pnpm store"];return[4,te.pnpmPruneStore()];case 1:return[4,tI.apply(void 0,e.concat([n.sent()]))];case 2:n.sent();t=["Clearing pnpm cache"];return[4,te.pnpmCleanCache()];case 3:return[4,tI.apply(void 0,t.concat([n.sent()]))];case 4:n.sent();return[4,ts()];case 5:n.sent();return[4,tM()];case 6:n.sent();return[2]}})})()}C(tj,"reset");function tL(){return i(function(){var e;return g(this,function(t){switch(t.label){case 0:e=["Inspecting project dependencies"];return[4,te.nodeModulesInspect()];case 1:return[4,tI.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}C(tL,"inspect");function tU(){return i(function(){var e;return g(this,function(t){switch(t.label){case 0:e=["Running unit tests"];return[4,te.testUnit()];case 1:return[4,tI.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}C(tU,"testUnit");function tk(){return i(function(){var e;return g(this,function(t){switch(t.label){case 0:e=["Running end-to-end tests"];return[4,te.testE2e()];case 1:return[4,tI.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}C(tk,"testE2E");function tq(e){return i(function(){var t;return g(this,function(n){switch(n.label){case 0:t=["Creating MongoDB migration"];return[4,te.mongoMigrateCreate(e)];case 1:return[4,tI.apply(void 0,t.concat([n.sent()]))];case 2:n.sent();return[2]}})})()}C(tq,"mongoMigrateCreate");function tF(){return i(function(){var e;return g(this,function(t){switch(t.label){case 0:e=["Running MongoDB migrations"];return[4,te.mongoMigrateUp()];case 1:return[4,tI.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}C(tF,"mongoMigrateUp");function tV(){return i(function(){var e;return g(this,function(t){switch(t.label){case 0:e=["Rolling back MongoDB migration"];return[4,te.mongoMigrateDown()];case 1:return[4,tI.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}C(tV,"mongoMigrateDown");(function(){return i(function(){var e;return g(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,(0,A.default)((0,x.hideBin)(T.default.argv)).scriptName(ej).usage("$0 <command> [options]").command("lint","Check code for linting issues",tb).command("lint:fix","Fix linting issues automatically",tG).command("lint:inspect","View active ESLint configuration",tR).command("lint-staged","Run lint checks on staged files",t_).command("commitlint","Validate commit message format",tP).command("prepare","Initialize project and dependencies",tw).command("reset","Reset the project and reinstall dependencies",tj).command("inspect","Analyze installed project dependencies",tL).command("test:unit","Run unit test suite",tU).command("test:e2e","Run end-to-end test suite",tk).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 g(this,function(t){switch(t.label){case 0:if(!e.name){z.error("Migration name is required.");return[2]}return[4,tq(e.name)];case 1:t.sent();return[2]}})})()}).command("mongo:migrate:up","Apply all MongoDB migrations",tF).command("mongo:migrate:down","Rollback last MongoDB migration",tV).demandCommand(1,"Please specify a valid command.").strict().help().alias("h","help").alias("v","version").version(_.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();X(e),T.default.exit(1);return[3,3];case 3:return[2]}})})()})();