@cyberskill/shared 1.109.0 → 1.111.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 (44) hide show
  1. package/dist/_tsup-dts-rollup.d.cts +22 -43
  2. package/dist/_tsup-dts-rollup.d.ts +22 -43
  3. package/dist/configs/config.util.cjs +1 -1
  4. package/dist/configs/config.util.js +1 -1
  5. package/dist/configs/index.cjs +1 -1
  6. package/dist/configs/index.js +1 -1
  7. package/dist/index.cjs +1 -1
  8. package/dist/index.d.cts +1 -2
  9. package/dist/index.d.ts +1 -2
  10. package/dist/index.js +1 -1
  11. package/dist/nodejs/cli/cli.util.cjs +1 -1
  12. package/dist/nodejs/cli/cli.util.js +1 -1
  13. package/dist/nodejs/cli/index.cjs +1 -1
  14. package/dist/nodejs/cli/index.js +1 -1
  15. package/dist/nodejs/index.cjs +1 -1
  16. package/dist/nodejs/index.d.cts +0 -1
  17. package/dist/nodejs/index.d.ts +0 -1
  18. package/dist/nodejs/index.js +1 -1
  19. package/dist/nodejs/mongo/index.cjs +1 -1
  20. package/dist/nodejs/mongo/index.d.cts +0 -1
  21. package/dist/nodejs/mongo/index.d.ts +0 -1
  22. package/dist/nodejs/mongo/index.js +1 -1
  23. package/dist/nodejs/mongo/mongo.type.d.cts +0 -1
  24. package/dist/nodejs/mongo/mongo.type.d.ts +0 -1
  25. package/dist/nodejs/mongo/mongo.util.cjs +1 -1
  26. package/dist/nodejs/mongo/mongo.util.js +1 -1
  27. package/dist/utils/index.cjs +1 -1
  28. package/dist/utils/index.d.cts +1 -1
  29. package/dist/utils/index.d.ts +1 -1
  30. package/dist/utils/index.js +1 -1
  31. package/dist/utils/object/index.cjs +1 -1
  32. package/dist/utils/object/index.d.cts +1 -1
  33. package/dist/utils/object/index.d.ts +1 -1
  34. package/dist/utils/object/index.js +1 -1
  35. package/dist/utils/object/object.util.cjs +1 -1
  36. package/dist/utils/object/object.util.d.cts +1 -1
  37. package/dist/utils/object/object.util.d.ts +1 -1
  38. package/dist/utils/object/object.util.js +1 -1
  39. package/dist/utils/string/index.cjs +1 -1
  40. package/dist/utils/string/index.js +1 -1
  41. package/dist/utils/string/string.util.cjs +1 -1
  42. package/dist/utils/string/string.util.js +1 -1
  43. package/package.json +4 -4
  44. package/public/tsconfig.base.json +2 -1
@@ -42,7 +42,6 @@ import { Locale } from 'date-fns/locale';
42
42
  import type { Locale as Locale_2 } from 'date-fns';
43
43
  import migrate from 'migrate-mongo';
44
44
  import { Model } from 'mongoose';
45
- import { MongoClient } from 'mongodb';
46
45
  import type mongoose from 'mongoose';
47
46
  import mongoosePaginate from 'mongoose-paginate-v2';
48
47
  import type mongooseRaw from 'mongoose';
@@ -1597,14 +1596,13 @@ export { generateShortId as generateShortId_alias_2 }
1597
1596
  export { generateShortId as generateShortId_alias_3 }
1598
1597
 
1599
1598
  /**
1600
- * Generates a slug from a given string.
1599
+ * Generates a slug from a string or an object containing strings.
1601
1600
  * The slug is a URL-friendly version of the string.
1602
- * It replaces spaces with hyphens and removes special characters.
1603
- * @param str - The string to be slugified.
1604
- * @param options - Options for slugify.
1605
- * @returns The slugified string.
1601
+ * @param input - The string or object to be slugified.
1602
+ * @param options - Options for slugification.
1603
+ * @returns The slugified string or object.
1606
1604
  */
1607
- declare function generateSlug(str?: string, options?: I_SlugifyOptions): string;
1605
+ declare function generateSlug<T = string>(input: T, options?: I_SlugifyOptions): T;
1608
1606
  export { generateSlug }
1609
1607
  export { generateSlug as generateSlug_alias_1 }
1610
1608
  export { generateSlug as generateSlug_alias_2 }
@@ -2251,16 +2249,16 @@ export { isJson as isJson_alias_2 }
2251
2249
  export { isJson as isJson_alias_3 }
2252
2250
 
2253
2251
  /**
2254
- * Checks if a value is a plain object.
2255
- * A plain object is an object that is not an array, null, or a function.
2252
+ * Checks if a value is an object.
2253
+ * An object is an object that is not an array, null, or a function.
2256
2254
  * @param val - The value to check.
2257
- * @returns True if the value is a plain object, false otherwise.
2255
+ * @returns True if the value is an object, false otherwise.
2258
2256
  */
2259
- declare function isPlainObject(val: unknown): val is T_Object_2;
2260
- export { isPlainObject }
2261
- export { isPlainObject as isPlainObject_alias_1 }
2262
- export { isPlainObject as isPlainObject_alias_2 }
2263
- export { isPlainObject as isPlainObject_alias_3 }
2257
+ declare function isObject(val: unknown): val is T_Object_2;
2258
+ export { isObject }
2259
+ export { isObject as isObject_alias_1 }
2260
+ export { isObject as isObject_alias_2 }
2261
+ export { isObject as isObject_alias_3 }
2264
2262
 
2265
2263
  declare function join(...urls: string[]): string;
2266
2264
  export { join }
@@ -2352,23 +2350,22 @@ declare const mongo: {
2352
2350
  }): I_GenericDocument;
2353
2351
  applyPlugins<T>(schema: T_MongooseShema<T>, plugins: Array<T_MongoosePlugin | false>): void;
2354
2352
  applyMiddlewares<T extends Partial<C_Document>>(schema: T_MongooseShema<T>, middlewares: I_MongooseModelMiddleware<T>[]): void;
2355
- createGenericSchema(mongoose: typeof mongooseRaw): mongooseRaw.Schema<I_GenericDocument, mongooseRaw.Model<I_GenericDocument, any, any, any, mongooseRaw.Document<unknown, any, I_GenericDocument> & I_GenericDocument & Required<{
2353
+ createGenericSchema(mongoose: typeof mongooseRaw): mongooseRaw.Schema<I_GenericDocument, mongooseRaw.Model<I_GenericDocument, any, any, any, mongooseRaw.Document<unknown, any, I_GenericDocument, any> & I_GenericDocument & Required<{
2356
2354
  _id: unknown;
2357
2355
  }> & {
2358
2356
  __v: number;
2359
- }, any>, {}, {}, {}, {}, mongooseRaw.DefaultSchemaOptions, I_GenericDocument, mongooseRaw.Document<unknown, {}, mongooseRaw.FlatRecord<I_GenericDocument>> & mongooseRaw.FlatRecord<I_GenericDocument> & Required<{
2357
+ }, any>, {}, {}, {}, {}, mongooseRaw.DefaultSchemaOptions, I_GenericDocument, mongooseRaw.Document<unknown, {}, mongooseRaw.FlatRecord<I_GenericDocument>, {}> & mongooseRaw.FlatRecord<I_GenericDocument> & Required<{
2360
2358
  _id: unknown;
2361
2359
  }> & {
2362
2360
  __v: number;
2363
2361
  }>;
2364
2362
  createSchema<T extends Partial<C_Document>>({ mongoose, schema, virtuals, standalone, }: I_CreateSchemaOptions<T>): T_MongooseShema<T>;
2365
2363
  createModel<T extends Partial<C_Document>>({ mongoose: currentMongooseInstance, name, schema, pagination, aggregate, virtuals, middlewares, }: I_CreateModelOptions<T>): I_ExtendedModel<T>;
2366
- createSlugQuery<T>(slug: string, filters?: T_FilterQuery<T>, id?: string): T_CreateSlugQueryResponse<T>;
2367
2364
  validator: {
2368
2365
  isEmpty<T>(): (this: T, value: unknown) => Promise<boolean>;
2369
2366
  isUnique<T extends {
2370
2367
  constructor: {
2371
- findOne: (query: Record<string, unknown>) => Promise<unknown>;
2368
+ exists: (query: Record<string, unknown>) => Promise<unknown>;
2372
2369
  };
2373
2370
  }>(fields: string[]): (this: T, value: unknown) => Promise<boolean>;
2374
2371
  matchesRegex(regexArray: RegExp[]): (value: string) => Promise<boolean>;
@@ -2377,9 +2374,9 @@ declare const mongo: {
2377
2374
  setConfig: (options: Partial<migrate.config.Config>) => void;
2378
2375
  init(): Promise<void>;
2379
2376
  create(description: string): Promise<string>;
2380
- up(db: Db, client: MongoClient): Promise<string[]>;
2381
- down(db: Db, client: MongoClient): Promise<string[]>;
2382
- status(db: Db): Promise<migrate.MigrationStatus[]>;
2377
+ up(db: mongooseRaw.mongo.Db, client: mongooseRaw.mongo.MongoClient): Promise<string[]>;
2378
+ down(db: mongooseRaw.mongo.Db, client: mongooseRaw.mongo.MongoClient): Promise<string[]>;
2379
+ status(db: mongooseRaw.mongo.Db): Promise<migrate.MigrationStatus[]>;
2383
2380
  database: typeof migrate.database;
2384
2381
  config: typeof migrate.config;
2385
2382
  };
@@ -2465,9 +2462,7 @@ declare class MongooseController<T extends Partial<C_Document>> {
2465
2462
  deleteOne(filter?: T_FilterQuery<T>, options?: I_DeleteOptionsExtended): Promise<I_Return<T>>;
2466
2463
  deleteMany(filter?: T_FilterQuery<T>, options?: I_DeleteOptionsExtended): Promise<I_Return<T_DeleteResult>>;
2467
2464
  createShortId(id: string, length?: number): Promise<I_Return<string>>;
2468
- createSlug(fieldName: string, fields: T, filters?: T_FilterQuery<T>): Promise<I_Return<string | {
2469
- [key: string]: string;
2470
- }>>;
2465
+ createSlug<R = string>(fieldName: string, fields: T, filters?: T_FilterQuery<T>): Promise<I_Return<R>>;
2471
2466
  aggregate(pipeline: T_PipelineStage[]): Promise<I_Return<T[]>>;
2472
2467
  }
2473
2468
  export { MongooseController }
@@ -3093,22 +3088,6 @@ export { T_ConfigType }
3093
3088
  export { T_ConfigType as T_ConfigType_alias_1 }
3094
3089
  export { T_ConfigType as T_ConfigType_alias_2 }
3095
3090
 
3096
- declare type T_CreateSlugQueryResponse<T> = T_FilterQuery<T> & {
3097
- $or: Array<{
3098
- slug: string;
3099
- } | {
3100
- slugHistory: string;
3101
- }>;
3102
- } & {
3103
- id?: {
3104
- $ne: string;
3105
- };
3106
- };
3107
- export { T_CreateSlugQueryResponse }
3108
- export { T_CreateSlugQueryResponse as T_CreateSlugQueryResponse_alias_1 }
3109
- export { T_CreateSlugQueryResponse as T_CreateSlugQueryResponse_alias_2 }
3110
- export { T_CreateSlugQueryResponse as T_CreateSlugQueryResponse_alias_3 }
3111
-
3112
3091
  declare type T_DeleteResult = DeleteResult;
3113
3092
  export { T_DeleteResult }
3114
3093
  export { T_DeleteResult as T_DeleteResult_alias_1 }
@@ -3211,12 +3190,12 @@ export { T_NextIntlMessageList as T_NextIntlMessageList_alias_1 }
3211
3190
  export { T_NextIntlMessageList as T_NextIntlMessageList_alias_2 }
3212
3191
  export { T_NextIntlMessageList as T_NextIntlMessageList_alias_3 }
3213
3192
 
3214
- declare type T_Object = Record<string, any>;
3193
+ declare type T_Object<T = unknown> = Record<string, T>;
3215
3194
  export { T_Object }
3216
3195
  export { T_Object as T_Object_alias_1 }
3217
3196
  export { T_Object as T_Object_alias_2 }
3218
3197
 
3219
- declare type T_Object_2 = Record<string, any>;
3198
+ declare type T_Object_2<T = unknown> = Record<string, T>;
3220
3199
 
3221
3200
  declare type T_OptionalUnlessRequiredId<T> = OptionalUnlessRequiredId<T>;
3222
3201
  export { T_OptionalUnlessRequiredId }
@@ -42,7 +42,6 @@ import { Locale } from 'date-fns/locale';
42
42
  import type { Locale as Locale_2 } from 'date-fns';
43
43
  import migrate from 'migrate-mongo';
44
44
  import { Model } from 'mongoose';
45
- import { MongoClient } from 'mongodb';
46
45
  import type mongoose from 'mongoose';
47
46
  import mongoosePaginate from 'mongoose-paginate-v2';
48
47
  import type mongooseRaw from 'mongoose';
@@ -1597,14 +1596,13 @@ export { generateShortId as generateShortId_alias_2 }
1597
1596
  export { generateShortId as generateShortId_alias_3 }
1598
1597
 
1599
1598
  /**
1600
- * Generates a slug from a given string.
1599
+ * Generates a slug from a string or an object containing strings.
1601
1600
  * The slug is a URL-friendly version of the string.
1602
- * It replaces spaces with hyphens and removes special characters.
1603
- * @param str - The string to be slugified.
1604
- * @param options - Options for slugify.
1605
- * @returns The slugified string.
1601
+ * @param input - The string or object to be slugified.
1602
+ * @param options - Options for slugification.
1603
+ * @returns The slugified string or object.
1606
1604
  */
1607
- declare function generateSlug(str?: string, options?: I_SlugifyOptions): string;
1605
+ declare function generateSlug<T = string>(input: T, options?: I_SlugifyOptions): T;
1608
1606
  export { generateSlug }
1609
1607
  export { generateSlug as generateSlug_alias_1 }
1610
1608
  export { generateSlug as generateSlug_alias_2 }
@@ -2251,16 +2249,16 @@ export { isJson as isJson_alias_2 }
2251
2249
  export { isJson as isJson_alias_3 }
2252
2250
 
2253
2251
  /**
2254
- * Checks if a value is a plain object.
2255
- * A plain object is an object that is not an array, null, or a function.
2252
+ * Checks if a value is an object.
2253
+ * An object is an object that is not an array, null, or a function.
2256
2254
  * @param val - The value to check.
2257
- * @returns True if the value is a plain object, false otherwise.
2255
+ * @returns True if the value is an object, false otherwise.
2258
2256
  */
2259
- declare function isPlainObject(val: unknown): val is T_Object_2;
2260
- export { isPlainObject }
2261
- export { isPlainObject as isPlainObject_alias_1 }
2262
- export { isPlainObject as isPlainObject_alias_2 }
2263
- export { isPlainObject as isPlainObject_alias_3 }
2257
+ declare function isObject(val: unknown): val is T_Object_2;
2258
+ export { isObject }
2259
+ export { isObject as isObject_alias_1 }
2260
+ export { isObject as isObject_alias_2 }
2261
+ export { isObject as isObject_alias_3 }
2264
2262
 
2265
2263
  declare function join(...urls: string[]): string;
2266
2264
  export { join }
@@ -2352,23 +2350,22 @@ declare const mongo: {
2352
2350
  }): I_GenericDocument;
2353
2351
  applyPlugins<T>(schema: T_MongooseShema<T>, plugins: Array<T_MongoosePlugin | false>): void;
2354
2352
  applyMiddlewares<T extends Partial<C_Document>>(schema: T_MongooseShema<T>, middlewares: I_MongooseModelMiddleware<T>[]): void;
2355
- createGenericSchema(mongoose: typeof mongooseRaw): mongooseRaw.Schema<I_GenericDocument, mongooseRaw.Model<I_GenericDocument, any, any, any, mongooseRaw.Document<unknown, any, I_GenericDocument> & I_GenericDocument & Required<{
2353
+ createGenericSchema(mongoose: typeof mongooseRaw): mongooseRaw.Schema<I_GenericDocument, mongooseRaw.Model<I_GenericDocument, any, any, any, mongooseRaw.Document<unknown, any, I_GenericDocument, any> & I_GenericDocument & Required<{
2356
2354
  _id: unknown;
2357
2355
  }> & {
2358
2356
  __v: number;
2359
- }, any>, {}, {}, {}, {}, mongooseRaw.DefaultSchemaOptions, I_GenericDocument, mongooseRaw.Document<unknown, {}, mongooseRaw.FlatRecord<I_GenericDocument>> & mongooseRaw.FlatRecord<I_GenericDocument> & Required<{
2357
+ }, any>, {}, {}, {}, {}, mongooseRaw.DefaultSchemaOptions, I_GenericDocument, mongooseRaw.Document<unknown, {}, mongooseRaw.FlatRecord<I_GenericDocument>, {}> & mongooseRaw.FlatRecord<I_GenericDocument> & Required<{
2360
2358
  _id: unknown;
2361
2359
  }> & {
2362
2360
  __v: number;
2363
2361
  }>;
2364
2362
  createSchema<T extends Partial<C_Document>>({ mongoose, schema, virtuals, standalone, }: I_CreateSchemaOptions<T>): T_MongooseShema<T>;
2365
2363
  createModel<T extends Partial<C_Document>>({ mongoose: currentMongooseInstance, name, schema, pagination, aggregate, virtuals, middlewares, }: I_CreateModelOptions<T>): I_ExtendedModel<T>;
2366
- createSlugQuery<T>(slug: string, filters?: T_FilterQuery<T>, id?: string): T_CreateSlugQueryResponse<T>;
2367
2364
  validator: {
2368
2365
  isEmpty<T>(): (this: T, value: unknown) => Promise<boolean>;
2369
2366
  isUnique<T extends {
2370
2367
  constructor: {
2371
- findOne: (query: Record<string, unknown>) => Promise<unknown>;
2368
+ exists: (query: Record<string, unknown>) => Promise<unknown>;
2372
2369
  };
2373
2370
  }>(fields: string[]): (this: T, value: unknown) => Promise<boolean>;
2374
2371
  matchesRegex(regexArray: RegExp[]): (value: string) => Promise<boolean>;
@@ -2377,9 +2374,9 @@ declare const mongo: {
2377
2374
  setConfig: (options: Partial<migrate.config.Config>) => void;
2378
2375
  init(): Promise<void>;
2379
2376
  create(description: string): Promise<string>;
2380
- up(db: Db, client: MongoClient): Promise<string[]>;
2381
- down(db: Db, client: MongoClient): Promise<string[]>;
2382
- status(db: Db): Promise<migrate.MigrationStatus[]>;
2377
+ up(db: mongooseRaw.mongo.Db, client: mongooseRaw.mongo.MongoClient): Promise<string[]>;
2378
+ down(db: mongooseRaw.mongo.Db, client: mongooseRaw.mongo.MongoClient): Promise<string[]>;
2379
+ status(db: mongooseRaw.mongo.Db): Promise<migrate.MigrationStatus[]>;
2383
2380
  database: typeof migrate.database;
2384
2381
  config: typeof migrate.config;
2385
2382
  };
@@ -2465,9 +2462,7 @@ declare class MongooseController<T extends Partial<C_Document>> {
2465
2462
  deleteOne(filter?: T_FilterQuery<T>, options?: I_DeleteOptionsExtended): Promise<I_Return<T>>;
2466
2463
  deleteMany(filter?: T_FilterQuery<T>, options?: I_DeleteOptionsExtended): Promise<I_Return<T_DeleteResult>>;
2467
2464
  createShortId(id: string, length?: number): Promise<I_Return<string>>;
2468
- createSlug(fieldName: string, fields: T, filters?: T_FilterQuery<T>): Promise<I_Return<string | {
2469
- [key: string]: string;
2470
- }>>;
2465
+ createSlug<R = string>(fieldName: string, fields: T, filters?: T_FilterQuery<T>): Promise<I_Return<R>>;
2471
2466
  aggregate(pipeline: T_PipelineStage[]): Promise<I_Return<T[]>>;
2472
2467
  }
2473
2468
  export { MongooseController }
@@ -3093,22 +3088,6 @@ export { T_ConfigType }
3093
3088
  export { T_ConfigType as T_ConfigType_alias_1 }
3094
3089
  export { T_ConfigType as T_ConfigType_alias_2 }
3095
3090
 
3096
- declare type T_CreateSlugQueryResponse<T> = T_FilterQuery<T> & {
3097
- $or: Array<{
3098
- slug: string;
3099
- } | {
3100
- slugHistory: string;
3101
- }>;
3102
- } & {
3103
- id?: {
3104
- $ne: string;
3105
- };
3106
- };
3107
- export { T_CreateSlugQueryResponse }
3108
- export { T_CreateSlugQueryResponse as T_CreateSlugQueryResponse_alias_1 }
3109
- export { T_CreateSlugQueryResponse as T_CreateSlugQueryResponse_alias_2 }
3110
- export { T_CreateSlugQueryResponse as T_CreateSlugQueryResponse_alias_3 }
3111
-
3112
3091
  declare type T_DeleteResult = DeleteResult;
3113
3092
  export { T_DeleteResult }
3114
3093
  export { T_DeleteResult as T_DeleteResult_alias_1 }
@@ -3211,12 +3190,12 @@ export { T_NextIntlMessageList as T_NextIntlMessageList_alias_1 }
3211
3190
  export { T_NextIntlMessageList as T_NextIntlMessageList_alias_2 }
3212
3191
  export { T_NextIntlMessageList as T_NextIntlMessageList_alias_3 }
3213
3192
 
3214
- declare type T_Object = Record<string, any>;
3193
+ declare type T_Object<T = unknown> = Record<string, T>;
3215
3194
  export { T_Object }
3216
3195
  export { T_Object as T_Object_alias_1 }
3217
3196
  export { T_Object as T_Object_alias_2 }
3218
3197
 
3219
- declare type T_Object_2 = Record<string, any>;
3198
+ declare type T_Object_2<T = unknown> = Record<string, T>;
3220
3199
 
3221
3200
  declare type T_OptionalUnlessRequiredId<T> = OptionalUnlessRequiredId<T>;
3222
3201
  export { T_OptionalUnlessRequiredId }
@@ -1 +1 @@
1
- "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function t(e){if(Array.isArray(e))return e}function r(t){if(Array.isArray(t))return e(t)}function n(e,t,r,n,a,o,i){try{var c=e[o](i);var u=c.value}catch(e){r(e);return}if(c.done){t(u)}else{Promise.resolve(u).then(n,a)}}function a(e){return function(){var t=this,r=arguments;return new Promise(function(a,o){var i=e.apply(t,r);function c(e){n(i,a,o,c,u,"next",e)}function u(e){n(i,a,o,c,u,"throw",e)}c(undefined)})}}function o(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}function i(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function c(e,t){var r=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(r==null)return;var n=[];var a=true;var o=false;var i,c;try{for(r=r.call(e);!(a=(i=r.next()).done);a=true){n.push(i.value);if(t&&n.length===t)break}}catch(e){o=true;c=e}finally{try{if(!a&&r["return"]!=null)r["return"]()}finally{if(o)throw c}}return n}function u(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function s(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function l(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};var n=Object.keys(r);if(typeof Object.getOwnPropertySymbols==="function"){n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))}n.forEach(function(t){o(e,t,r[t])})}return e}function f(e,t){if(e==null)return{};var r=d(e,t);var n,a;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++){n=o[a];if(t.indexOf(n)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,n))continue;r[n]=e[n]}}return r}function d(e,t){if(e==null)return{};var r={};var n=Object.keys(e);var a,o;for(o=0;o<n.length;o++){a=n[o];if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}function v(e,r){return t(e)||c(e,r)||y(e,r)||u()}function p(e){return r(e)||i(e)||y(e)||s()}function g(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function y(t,r){if(!t)return;if(typeof t==="string")return e(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor)n=t.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(t,r)}function m(e,t){var r,n,a,o={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},i=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return i.next=c(0),i["throw"]=c(1),i["return"]=c(2),typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function c(e){return function(t){return u([e,t])}}function u(c){if(r)throw new TypeError("Generator is already executing.");while(i&&(i=0,c[0]&&(o=0)),o)try{if(r=1,n&&(a=c[0]&2?n["return"]:c[0]?n["throw"]||((a=n["return"])&&a.call(n),0):n.next)&&!(a=a.call(n,c[1])).done)return a;if(n=0,a)c=[c[0]&2,a.value];switch(c[0]){case 0:case 1:a=c;break;case 4:o.label++;return{value:c[1],done:false};case 5:o.label++;n=c[1];c=[0];continue;case 7:c=o.ops.pop();o.trys.pop();continue;default:if(!(a=o.trys,a=a.length>0&&a[a.length-1])&&(c[0]===6||c[0]===2)){o=0;continue}if(c[0]===3&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(c[0]===6&&o.label<a[1]){o.label=a[1];a=c;break}if(a&&o.label<a[2]){o.label=a[2];o.ops.push(c);break}if(a[2])o.ops.pop();o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e];n=0}finally{r=a=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var h=void 0;var _=Object.create;var b=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var T=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var O=function(e,t){return b(e,"name",{value:t,configurable:!0})};var S=function(e,t){for(var r in t)b(e,r,{get:t[r],enumerable:!0})},C=function(e,t,r,n){var a=true,o=false,i=undefined;if(t&&(typeof t==="undefined"?"undefined":g(t))=="object"||typeof t=="function")try{var c=function(){var a=s.value;!w.call(e,a)&&a!==r&&b(e,a,{get:function(){return t[a]},enumerable:!(n=E(t,a))||n.enumerable})};for(var u=I(t)[Symbol.iterator](),s;!(a=(s=u.next()).done);a=true)c()}catch(e){o=true;i=e}finally{try{if(!a&&u.return!=null){u.return()}}finally{if(o){throw i}}}return e};var R=function(e,t,r){return r=e!=null?_(T(e)):{},C(t||!e||!e.__esModule?b(r,"default",{value:e,enumerable:!0}):r,e)},G=function(e){return C(b({},"__esModule",{value:!0}),e)};var N={};S(N,{mergeConfigs:function(){return tj}});module.exports=G(N);var L=R(require("@antfu/eslint-config"),1);var P=R(require("@vitejs/plugin-react-swc"),1),A=require("vitest/config");function j(e){return(0,A.defineConfig)(l({plugins:[(0,P.default)()],test:{include:["**/*.test.e2e.?(c|m)[jt]s?(x)"],browser:{enabled:!0,provider:"playwright",instances:[{browser:"chromium"},{browser:"firefox"},{browser:"webkit"}]}}},e))}O(j,"vitestE2E");var k=R(require("@vitejs/plugin-react-swc"),1),D=require("vitest/config");var U=".cyberskill-storage";var x=R(require("dotenv"),1),M=require("envalid"),F=R(require("os"),1),q=R(require("path"),1),K=R(require("process"),1);x.default.config();function Y(){var e={DEBUG:K.default.env.DEBUG||!1,CWD:K.default.env.CWD||K.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:K.default.env.CYBERSKILL_STORAGE_DIRECTORY||q.default.join(F.default.homedir(),U)};return(0,M.cleanEnv)(e,{DEBUG:(0,M.bool)(),CWD:(0,M.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,M.str)()})}O(Y,"getEnv");var B=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var W=require("child_process"),J=R(require("process"),1),V=R(require("util"),1);var H=function(e){return e.Error="error",e.Warning="warning",e}({});var $=R(require("chalk"),1),z=R(require("consola"),1),Q=require("graphql");var X=Y();X.DEBUG||(z.default.level=4);function Z(e){var t=$.default[e];return typeof t=="function"?t:$.default.green}O(Z,"chalkKeyword");var ee={silent:z.default.silent,level:z.default.level,fatal:z.default.fatal,error:z.default.error,warn:z.default.warn,log:z.default.log,info:z.default.info,success:z.default.success,ready:z.default.ready,start:z.default.start,box:z.default.box,debug:z.default.debug,trace:z.default.trace,verbose:z.default.verbose,printBoxedLog:function e(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){z.default.box($.default.green(e));return}t.forEach(function(e){var t=e.file,n=e.position,a=e.rule,o=e.message;z.default.log("".concat($.default.gray("File:")," ").concat($.default.blue("".concat(t).concat(n?":".concat(n):"")))),a&&z.default.log(" ".concat(Z(r)("Rule:")," ").concat(a)),z.default.log(" ".concat(Z(r)("Message:")," ").concat(o))}),z.default.box(Z(r)("".concat(e," : ").concat(t.length))),z.default.log($.default.gray("─".repeat(40)))}};var et={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var er=R(require("node-fetch"),1);var en=R(require("fs-extra"),1),ea=require("path");var eo=en.default,ei=eo.lstatSync,ec=eo.readdirSync,eu=eo.mkdirSync,es=eo.readFileSync,el=eo.writeFileSync,ef=eo.appendFileSync,ed=eo.unlinkSync,ev=eo.statSync,ep=en.default.readJsonSync,eg=en.default.writeJsonSync;function ey(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}return t.every(function(e){return en.default.pathExistsSync(e)})}O(ey,"pathExistsSync");var em=Y();function eh(e){var t=eq(em.CWD,eV);if(!ey(t))return!1;try{var r=ep(t),n=r.name,a=r.dependencies,o=a===void 0?{}:a,i=r.devDependencies,c=i===void 0?{}:i,u=n===e,s=e in o,l=e in c;return u||s||l?{path:t,file:r,isCurrentProject:u,isDepend:s,isDevDepend:l}:!1}catch(e){return ee.warn("Failed to read package.json: ".concat(e.message)),!1}}O(eh,"getPackage");function e_(e){return /*#__PURE__*/a(function(){var t,r,n,a;return m(this,function(o){switch(o.label){case 0:o.trys.push([0,3,,4]);return[4,(0,er.default)("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=o.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:r=o.sent(),n=r.version;return[2,n];case 3:a=o.sent();throw ee.error('Failed to fetch version for "'.concat(e,'": ').concat(a.message)),a;case 4:return[2]}})})()}O(e_,"getLatestPackageVersion");function eb(e,t){return /*#__PURE__*/a(function(){var r,n,a,o,i,c,u,s,f,d,v,p,g,y,h,_,b,E,I,T,w;return m(this,function(m){switch(m.label){case 0:m.trys.push([0,4,,5]);r=eh(e);if(!r)return[2,l({},et)];u=r.path,s=r.file,f=r.isCurrentProject,d=r.isDepend,v=r.isDevDepend,p=(n=s.dependencies)!==null&&n!==void 0?n:{},g=(a=s.devDependencies)!==null&&a!==void 0?a:{},y=f?(o=s.version)!==null&&o!==void 0?o:"0.0.0":d?(i=p[e])!==null&&i!==void 0?i:"0.0.0":v?(c=g[e])!==null&&c!==void 0?c:"0.0.0":"0.0.0";if(!f)return[3,1];b=y;return[3,3];case 1:return[4,e_(e)];case 2:b=m.sent();m.label=3;case 3:h=b,_=f||y===h;if(!_&&(t===null||t===void 0?void 0:t.update)){;I=d?"dependencies":v?"devDependencies":null;I&&((E=s[I])===null||E===void 0?void 0:E[e])!==h&&(s[I]=(T=s[I])!==null&&T!==void 0?T:{},s[I][e]=h,eg(u,s),ee.info('Updated "'.concat(e,'" to version ').concat(h)))}return[2,{isCurrentProject:f,installedPath:u,file:s,isUpToDate:_}];case 4:w=m.sent();return[2,(ee.error('Error checking package "'.concat(e,'": ').concat(w.message)),l({},et))];case 5:return[2]}})})()}O(eb,"checkPackage");function eE(){return /*#__PURE__*/a(function(){var e,t,r,n,a,o,i,c,u,s,l,f;return m(this,function(d){switch(d.label){case 0:e=[{command:O(function(){return tE.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:O(function(){return tE.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:O(function(){return tE.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,r=false,n=undefined;d.label=1;case 1:d.trys.push([1,9,10,11]);a=e[Symbol.iterator]();d.label=2;case 2:if(!!(t=(o=a.next()).done))return[3,8];i=o.value,c=i.command,u=i.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,c()];case 4:s=d.sent();return[4,eU("".concat(u," using: ").concat(s),s)];case 5:d.sent();return[2];case 6:l=d.sent();ee.warn("Installation attempt failed: ".concat(u)),ee.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:f=d.sent();r=true;n=f;return[3,11];case 10:try{if(!t&&a.return!=null){a.return()}}finally{if(r){throw n}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})})()}O(eE,"installDependencies");function eI(e,t){return /*#__PURE__*/a(function(){var r,n,a,o,i,c,u,s,f,d,v;return m(this,function(g){switch(g.label){case 0:if(!ey(th.PACKAGE_JSON)){ee.error("package.json not found. Aborting setup.");return[2]}g.label=1;case 1:g.trys.push([1,13,,14]);r=p(new Set(e)).sort();return[4,Promise.all(r.map(function(e){return eb(e,l({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:n=g.sent().every(function(e){return e.isUpToDate});if(n)return[3,4];return[4,eE()];case 3:n=g.sent();g.label=4;case 4:n;o=true,i=false,c=undefined;g.label=5;case 5:g.trys.push([5,10,11,12]);u=((a=t===null||t===void 0?void 0:t.postInstallActions)!==null&&a!==void 0?a:[])[Symbol.iterator]();g.label=6;case 6:if(!!(o=(s=u.next()).done))return[3,9];f=s.value;return[4,f()];case 7:g.sent();g.label=8;case 8:o=true;return[3,6];case 9:return[3,12];case 10:d=g.sent();i=true;c=d;return[3,12];case 11:try{if(!o&&u.return!=null){u.return()}}finally{if(i){throw c}}return[7];case 12:return[3,14];case 13:v=g.sent();throw ee.error('Failed to setup "'.concat(e.join(", "),'": ').concat(v.message)),v;case 14:return[2]}})})()}O(eI,"setupPackages");var eT=R(require("node-persist"),1);var ew=Y();function eO(){return /*#__PURE__*/a(function(){var e;return m(this,function(t){switch(t.label){case 0:e=eT.default.defaultInstance;if(e)return[3,2];return[4,eT.default.init({dir:ew.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})})()}O(eO,"initNodePersist");var eS={get:function e(e){return /*#__PURE__*/a(function(){var t,r;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eO()];case 1:n.sent();return[4,eT.default.getItem(e)];case 2:return[2,(t=n.sent())!==null&&t!==void 0?t:null];case 3:r=n.sent();return[2,(ee.error('[Storage:get] Error getting key "'.concat(e,'":'),r),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/a(function(){var r;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eO()];case 1:n.sent();return[4,eT.default.setItem(e,t)];case 2:n.sent();return[3,4];case 3:r=n.sent();ee.error('[Storage:set] Error setting key "'.concat(e,'":'),r);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/a(function(){var t;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eO()];case 1:r.sent();return[4,eT.default.removeItem(e)];case 2:r.sent();return[3,4];case 3:t=r.sent();ee.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/a(function(){var e,t;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eO()];case 1:r.sent();return[4,eT.default.keys()];case 2:e=r.sent();return[2,Array.isArray(e)?e:(ee.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=r.sent();return[2,(ee.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/a(function(){return m(this,function(t){try{return[2,"".concat(ew.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(ee.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eC=Y(),eR=V.promisify(W.exec);function eG(e){return"error_list:".concat(e)}O(eG,"getErrorListKey");function eN(e){return /*#__PURE__*/a(function(){var t,r,n;return m(this,function(o){switch(o.label){case 0:if(e.length===0)return[2];t=Date.now(),r=eG(t);o.label=1;case 1:o.trys.push([1,3,,4]);return[4,eS.set(r,{errors:e,timestamp:t})];case 2:o.sent(),setTimeout(function(){return /*#__PURE__*/a(function(){var e;return m(this,function(t){switch(t.label){case 0:return[4,eS.getLogLink(r)];case 1:e=t.sent();e&&ee.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:n=o.sent();ee.error("Failed to save errors: ".concat(n.message));return[3,4];case 4:return[2]}})})()}O(eN,"saveErrorListToStorage");function eL(e){var t=[],r=[],n="",a=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,o=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,i=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))n=e.trim();else{var c,u,s,l,f;var d=a.exec(e)||[],v=o.exec(e)||[],p=i.exec(e)||[];var g,y,m,h,_,b;d.length&&n?t.push({file:n,position:"".concat(d[1],":").concat(d[2]),type:d[3]===H.Error?H.Error:H.Warning,message:(g=d===null||d===void 0?void 0:(c=d[4])===null||c===void 0?void 0:c.trim())!==null&&g!==void 0?g:"",rule:(y=d===null||d===void 0?void 0:(u=d[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):v.length?t.push({file:(m=v===null||v===void 0?void 0:v[1])!==null&&m!==void 0?m:"",position:"".concat(v[2],":").concat(v[3]),type:v[4]===H.Error?H.Error:H.Warning,message:(h=v===null||v===void 0?void 0:(s=v[5])===null||s===void 0?void 0:s.trim())!==null&&h!==void 0?h:""}):p.length?t.push({file:"commitlint",type:H.Error,message:(_=p===null||p===void 0?void 0:(l=p[1])===null||l===void 0?void 0:l.trim())!==null&&_!==void 0?_:"",rule:(b=p===null||p===void 0?void 0:(f=p[2])===null||f===void 0?void 0:f.trim())!==null&&b!==void 0?b:""}):r.push(e.trim())}}),t.length&&eN(t),eC.DEBUG&&r.length&&(ee.warn("Unmatched lines:"),r.forEach(function(e){return ee.info(" ".concat(e))}))}O(eL,"parseTextErrors");function eP(e){try{var t=JSON.parse(e),r=[];t.forEach(function(e){var t=e.filePath,n=e.messages;n.forEach(function(e){var n=e.severity,a=e.line,o=e.column,i=e.ruleId,c=e.message;r.push({type:n===2?H.Error:H.Warning,file:t,position:"".concat(a,":").concat(o),rule:i,message:c})})}),r.length&&eN(r)}catch(t){eL(e)}}O(eP,"parseCommandOutput");function eA(e){return /*#__PURE__*/a(function(e){var t,r,n,a,o,i,c,u,s;var l=arguments;return m(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:eP;r=new AbortController;J.default.on("SIGINT",function(){ee.warn("Process interrupted. Terminating..."),r.abort(),J.default.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,eR(e,{maxBuffer:0x6400000,signal:r.signal})];case 2:n=f.sent(),a=n.stdout,o=n.stderr;[a,o].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:i=f.sent();c=i.stdout,u=i.stderr,s=i.message;[c,u].forEach(function(e){return e&&t(e)}),!u&&!c&&ee.error("Command failed: ".concat(s));return[3,5];case 5:return[2]}})}).apply(this,arguments)}O(eA,"executeCommand");function ej(e){return{raw:!0,cmd:e}}O(ej,"rawCommand");function ek(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(ts," ").concat(eB," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(ts," ").concat(ti," ").concat(e4," ").concat(e):"".concat(ts," ").concat(e3," ").concat(e)}O(ek,"formatCLI");function eD(e,t){return typeof e=="function"?ek(e(t),t):(typeof e==="undefined"?"undefined":g(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?ek(e,t):e}O(eD,"formatCommand");function eU(e,t){return /*#__PURE__*/a(function(){var r;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);ee.start("".concat(e)),eC.DEBUG&&ee.info("→ ".concat(t));return[4,eA(t)];case 1:n.sent(),ee.success("".concat(e," done."));return[3,3];case 2:r=n.sent();throw ee.error("".concat(e," failed: ").concat(r.message)),r;case 3:return[2]}})})()}O(eU,"runCommand");var ex=R(require("path"),1);var eM=Y();function eF(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}return(0,ex.resolve).apply(this,[eM.CWD].concat(p(t)))}O(eF,"resolveWorkingPath");function eq(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}return(0,ex.join).apply(this,p(t))}O(eq,"join");var eK=Y(),eY=eK.CWD,eB="@cyberskill/shared",eW="node_modules",eJ="dist",eV="package.json",eH="package-lock.json",e$="tsconfig.json",ez=".gitignore",eQ=".simple-git-hooks.json",eX="pnpm-lock.yaml",eZ=".git/hooks/",e0=".git/COMMIT_EDITMSG",e1=".migrate-mongo.config.js",e2=eq(eY,eW,eB,eJ),e3="cyberskill",e4="src/nodejs/cli/index.ts",e5="eslint",e6="eslint",e7="vitest",e8="playwright",e9="vitest",te="@commitlint/cli",tt="commitlint",tr="lint-staged",tn="lint-staged",ta="typescript",to="tsc",ti="tsx",tc="git",tu="pnpm",ts="pnpm exec",tl="simple-git-hooks",tf="simple-git-hooks",td="@eslint/config-inspector",tv="eslint-config-inspector",tp="node-modules-inspector",tg="node-modules-inspector",ty="migrate-mongo",tm="./node_modules/migrate-mongo/bin/migrate-mongo",th={CYBERSKILL_DIRECTORY:e2,WORKING_DIRECTORY:eY,TS_CONFIG:eF(e$),GIT_IGNORE:eF(ez),GIT_HOOK:eF(eZ),GIT_COMMIT_MSG:eF(e0),SIMPLE_GIT_HOOKS_JSON:eF(eQ),PACKAGE_JSON:eF(eV),PACKAGE_LOCK_JSON:eF(eH),PNPM_LOCK_YAML:eF(eX),NODE_MODULES:eF(eW),MIGRATE_MONGO_CONFIG:eF(e1),LINT_STAGED_CONFIG:eF("".concat(e2,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:eF("".concat(e2,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:eF("".concat(e2,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eF("".concat(e2,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eF("".concat(e2,"/react/vitest/vitest.e2e.js"))};function t_(e,t,r){return /*#__PURE__*/a(function(){return m(this,function(n){switch(n.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case B.CLI:return[3,1];case B.STRING:return[3,3]}return[3,4];case 1:return[4,eI(t.split(" "),{update:!0})];case 2:return[2,(n.sent(),eD(ej("".concat(ts," ").concat(r))))];case 3:return[2,eD(ej(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}O(t_,"buildCommand");function tb(e,t,r){return function(){return /*#__PURE__*/a(function(){return m(this,function(n){return[2,t_(e,t,r)]})})()}}O(tb,"commandFactory");var tE={simpleGitHooks:tb(B.CLI,tl,tf),eslintInspect:tb(B.CLI,td,tv),nodeModulesInspect:tb(B.CLI,tp,tg),eslintCheck:tb(B.CLI,e5,"".concat(e6," ").concat(th.WORKING_DIRECTORY)),eslintFix:tb(B.CLI,e5,"".concat(e6," ").concat(th.WORKING_DIRECTORY," --fix")),typescriptCheck:tb(B.CLI,ta,"".concat(to," -p ").concat(th.TS_CONFIG," --noEmit")),configureGitHook:tb(B.STRING,"".concat(tc," config core.hooksPath ").concat(th.GIT_HOOK)),testUnit:tb(B.CLI,e7,"".concat(e9," --config ").concat(th.UNIT_TEST_CONFIG)),testE2e:tb(B.CLI,"".concat(e7," ").concat(e8),"".concat(e9," --config ").concat(th.E2E_TEST_CONFIG)),mongoMigrateCreate:O(function(e){return tb(B.CLI,ty,"".concat(ti," ").concat(tm," create ").concat(e," -f ").concat(th.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tb(B.CLI,ty,"".concat(ti," ").concat(tm," up -f ").concat(th.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tb(B.CLI,ty,"".concat(ti," ").concat(tm," down -f ").concat(th.MIGRATE_MONGO_CONFIG)),commitLint:tb(B.CLI,te,"".concat(tt," --edit ").concat(th.GIT_COMMIT_MSG," --config ").concat(th.COMMITLINT_CONFIG)),lintStaged:tb(B.CLI,tr,"".concat(tn," --config ").concat(th.LINT_STAGED_CONFIG)),stageBuildDirectory:tb(B.STRING,"".concat(tc," add ").concat(eJ)),build:tb(B.STRING,"".concat(tu," run build")),pnpmInstallStandard:tb(B.STRING,"".concat(tu," install")),pnpmInstallLegacy:tb(B.STRING,"".concat(tu," install --legacy-peer-deps")),pnpmInstallForce:tb(B.STRING,"".concat(tu," install --force"))};function tI(e){return(0,D.defineConfig)(l({plugins:[(0,k.default)()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[th.UNIT_TEST_SETUP_CONFIG]}},e))}O(tI,"vitestUnit");function tT(e){return(typeof e==="undefined"?"undefined":g(e))=="object"&&e!==null&&!Array.isArray(e)}O(tT,"isPlainObject");function tw(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}var n={};var a=true,o=false,i=undefined,c=true,u=false,s=undefined;try{for(var l=t.flat()[Symbol.iterator](),f;!(c=(f=l.next()).done);c=true){var d=f.value;try{for(var g=Object.entries(d)[Symbol.iterator](),y;!(a=(y=g.next()).done);a=true){var m=v(y.value,2),h=m[0],_=m[1];var b=n[h];if(Array.isArray(_)){var E=Array.isArray(b)?b:[];n[h]=p(new Set(p(E).concat(p(_))));continue}if(tT(_)){n[h]=tw(tT(b)?b:{},_);continue}n[h]=_}}catch(e){o=true;i=e}finally{try{if(!a&&g.return!=null){g.return()}}finally{if(o){throw i}}}}}catch(e){u=true;s=e}finally{try{if(!c&&l.return!=null){l.return()}}finally{if(u){throw s}}}return n}O(tw,"deepMerge");var tO=function(e){return e.ESLINT="eslint",e.COMMITLINT="commitlint",e.LINT_STAGED="lint-staged",e.VITEST_REACT_E2E="vitest-react-e2e",e.VITEST_REACT_UNIT="vitest-react-unit",e}({});var tS=R(require("globals"),1),tC=[{languageOptions:{globals:l({},tS.node,tS.browser)},rules:{"perfectionist/sort-imports":["error",{internalPattern:["^#.*","^@/.*"]}]},ignores:["build","dist"]}];var tR;var tG=O(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}return tw.apply(void 0,p(t))},"passThroughHandler"),tN=O(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}var n=tw.apply(void 0,[tC].concat(p(t))),a=n.ignores,o=f(n,["ignores"]),i=Array.isArray(a)&&a.every(function(e){return typeof e=="string"})?{ignores:a}:void 0,c=[o].concat(p(i?[i]:[]));return(0,L.default).apply(h,[{stylistic:{semi:!0,indent:4,quotes:"single"},formatters:{css:!0,html:!0,markdown:"prettier"},yaml:!1,react:!0}].concat(p(c)))},"handleESLint"),tL=O(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}return j.apply(void 0,p(t))},"handleVitestReactE2E"),tP=O(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}return tI.apply(void 0,p(t))},"handleVitestReactUnit"),tA=(tR={},o(tR,tO.ESLINT,tN),o(tR,tO.COMMITLINT,tG),o(tR,tO.LINT_STAGED,tG),o(tR,tO.VITEST_REACT_E2E,tL),o(tR,tO.VITEST_REACT_UNIT,tP),tR);function tj(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++){r[n-1]=arguments[n]}var a=tA[e];if(!a)throw new Error("Unknown config type: ".concat(e));return a.apply(void 0,p(r))}O(tj,"mergeConfigs");0&&(module.exports={mergeConfigs:mergeConfigs});
1
+ "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function t(e){if(Array.isArray(e))return e}function r(t){if(Array.isArray(t))return e(t)}function n(e,t,r,n,o,a,i){try{var c=e[a](i);var u=c.value}catch(e){r(e);return}if(c.done){t(u)}else{Promise.resolve(u).then(n,o)}}function o(e){return function(){var t=this,r=arguments;return new Promise(function(o,a){var i=e.apply(t,r);function c(e){n(i,o,a,c,u,"next",e)}function u(e){n(i,o,a,c,u,"throw",e)}c(undefined)})}}function a(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}function i(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function c(e,t){var r=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(r==null)return;var n=[];var o=true;var a=false;var i,c;try{for(r=r.call(e);!(o=(i=r.next()).done);o=true){n.push(i.value);if(t&&n.length===t)break}}catch(e){a=true;c=e}finally{try{if(!o&&r["return"]!=null)r["return"]()}finally{if(a)throw c}}return n}function u(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function s(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function l(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};var n=Object.keys(r);if(typeof Object.getOwnPropertySymbols==="function"){n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))}n.forEach(function(t){a(e,t,r[t])})}return e}function f(e,t){if(e==null)return{};var r=d(e,t);var n,o;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++){n=a[o];if(t.indexOf(n)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,n))continue;r[n]=e[n]}}return r}function d(e,t){if(e==null)return{};var r={};var n=Object.keys(e);var o,a;for(a=0;a<n.length;a++){o=n[a];if(t.indexOf(o)>=0)continue;r[o]=e[o]}return r}function v(e,r){return t(e)||c(e,r)||y(e,r)||u()}function p(e){return r(e)||i(e)||y(e)||s()}function g(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function y(t,r){if(!t)return;if(typeof t==="string")return e(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor)n=t.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(t,r)}function m(e,t){var r,n,o,a={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},i=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return i.next=c(0),i["throw"]=c(1),i["return"]=c(2),typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function c(e){return function(t){return u([e,t])}}function u(c){if(r)throw new TypeError("Generator is already executing.");while(i&&(i=0,c[0]&&(a=0)),a)try{if(r=1,n&&(o=c[0]&2?n["return"]:c[0]?n["throw"]||((o=n["return"])&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;if(n=0,o)c=[c[0]&2,o.value];switch(c[0]){case 0:case 1:o=c;break;case 4:a.label++;return{value:c[1],done:false};case 5:a.label++;n=c[1];c=[0];continue;case 7:c=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(c[0]===6||c[0]===2)){a=0;continue}if(c[0]===3&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(c[0]===6&&a.label<o[1]){a.label=o[1];o=c;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(c);break}if(o[2])a.ops.pop();a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e];n=0}finally{r=o=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var h=void 0;var _=Object.create;var b=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var T=Object.getPrototypeOf,O=Object.prototype.hasOwnProperty;var S=function(e,t){return b(e,"name",{value:t,configurable:!0})};var w=function(e,t){for(var r in t)b(e,r,{get:t[r],enumerable:!0})},C=function(e,t,r,n){var o=true,a=false,i=undefined;if(t&&(typeof t==="undefined"?"undefined":g(t))=="object"||typeof t=="function")try{var c=function(){var o=s.value;!O.call(e,o)&&o!==r&&b(e,o,{get:function(){return t[o]},enumerable:!(n=I(t,o))||n.enumerable})};for(var u=E(t)[Symbol.iterator](),s;!(o=(s=u.next()).done);o=true)c()}catch(e){a=true;i=e}finally{try{if(!o&&u.return!=null){u.return()}}finally{if(a){throw i}}}return e};var R=function(e,t,r){return r=e!=null?_(T(e)):{},C(t||!e||!e.__esModule?b(r,"default",{value:e,enumerable:!0}):r,e)},G=function(e){return C(b({},"__esModule",{value:!0}),e)};var N={};w(N,{mergeConfigs:function(){return tL}});module.exports=G(N);var L=R(require("@antfu/eslint-config"),1);var P=R(require("@vitejs/plugin-react-swc"),1),j=require("vitest/config");function k(e){return(0,j.defineConfig)(l({plugins:[(0,P.default)()],test:{include:["**/*.test.e2e.?(c|m)[jt]s?(x)"],browser:{enabled:!0,provider:"playwright",instances:[{browser:"chromium"},{browser:"firefox"},{browser:"webkit"}]}}},e))}S(k,"vitestE2E");var A=R(require("@vitejs/plugin-react-swc"),1),D=require("vitest/config");var U=".cyberskill-storage";var x=R(require("dotenv"),1),M=require("envalid"),F=R(require("os"),1),q=R(require("path"),1),K=R(require("process"),1);x.default.config();function Y(){var e={DEBUG:K.default.env.DEBUG||!1,CWD:K.default.env.CWD||K.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:K.default.env.CYBERSKILL_STORAGE_DIRECTORY||q.default.join(F.default.homedir(),U)};return(0,M.cleanEnv)(e,{DEBUG:(0,M.bool)(),CWD:(0,M.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,M.str)()})}S(Y,"getEnv");var B=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var W=require("child_process"),J=R(require("process"),1),H=R(require("util"),1);var V=function(e){return e.Error="error",e.Warning="warning",e}({});var $=R(require("chalk"),1),z=R(require("consola"),1),Q=require("graphql");var X=Y();X.DEBUG||(z.default.level=4);function Z(e){var t=$.default[e];return typeof t=="function"?t:$.default.green}S(Z,"chalkKeyword");var ee={silent:z.default.silent,level:z.default.level,fatal:z.default.fatal,error:z.default.error,warn:z.default.warn,log:z.default.log,info:z.default.info,success:z.default.success,ready:z.default.ready,start:z.default.start,box:z.default.box,debug:z.default.debug,trace:z.default.trace,verbose:z.default.verbose,printBoxedLog:function e(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){z.default.box($.default.green(e));return}t.forEach(function(e){var t=e.file,n=e.position,o=e.rule,a=e.message;z.default.log("".concat($.default.gray("File:")," ").concat($.default.blue("".concat(t).concat(n?":".concat(n):"")))),o&&z.default.log(" ".concat(Z(r)("Rule:")," ").concat(o)),z.default.log(" ".concat(Z(r)("Message:")," ").concat(a))}),z.default.box(Z(r)("".concat(e," : ").concat(t.length))),z.default.log($.default.gray("─".repeat(40)))}};var et={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var er=R(require("node-fetch"),1);var en=R(require("fs-extra"),1),eo=require("path");var ea=en.default,ei=ea.lstatSync,ec=ea.readdirSync,eu=ea.mkdirSync,es=ea.readFileSync,el=ea.writeFileSync,ef=ea.appendFileSync,ed=ea.unlinkSync,ev=ea.statSync,ep=en.default.readJsonSync,eg=en.default.writeJsonSync;function ey(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}return t.every(function(e){return en.default.pathExistsSync(e)})}S(ey,"pathExistsSync");var em=Y();function eh(e){var t=eq(em.CWD,eH);if(!ey(t))return!1;try{var r=ep(t),n=r.name,o=r.dependencies,a=o===void 0?{}:o,i=r.devDependencies,c=i===void 0?{}:i,u=n===e,s=e in a,l=e in c;return u||s||l?{path:t,file:r,isCurrentProject:u,isDepend:s,isDevDepend:l}:!1}catch(e){return ee.warn("Failed to read package.json: ".concat(e.message)),!1}}S(eh,"getPackage");function e_(e){return /*#__PURE__*/o(function(){var t,r,n,o;return m(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,(0,er.default)("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=a.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:r=a.sent(),n=r.version;return[2,n];case 3:o=a.sent();throw ee.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})})()}S(e_,"getLatestPackageVersion");function eb(e,t){return /*#__PURE__*/o(function(){var r,n,o,a,i,c,u,s,f,d,v,p,g,y,h,_,b,I,E,T,O;return m(this,function(m){switch(m.label){case 0:m.trys.push([0,4,,5]);r=eh(e);if(!r)return[2,l({},et)];u=r.path,s=r.file,f=r.isCurrentProject,d=r.isDepend,v=r.isDevDepend,p=(n=s.dependencies)!==null&&n!==void 0?n:{},g=(o=s.devDependencies)!==null&&o!==void 0?o:{},y=f?(a=s.version)!==null&&a!==void 0?a:"0.0.0":d?(i=p[e])!==null&&i!==void 0?i:"0.0.0":v?(c=g[e])!==null&&c!==void 0?c:"0.0.0":"0.0.0";if(!f)return[3,1];b=y;return[3,3];case 1:return[4,e_(e)];case 2:b=m.sent();m.label=3;case 3:h=b,_=f||y===h;if(!_&&(t===null||t===void 0?void 0:t.update)){;E=d?"dependencies":v?"devDependencies":null;E&&((I=s[E])===null||I===void 0?void 0:I[e])!==h&&(s[E]=(T=s[E])!==null&&T!==void 0?T:{},s[E][e]=h,eg(u,s),ee.info('Updated "'.concat(e,'" to version ').concat(h)))}return[2,{isCurrentProject:f,installedPath:u,file:s,isUpToDate:_}];case 4:O=m.sent();return[2,(ee.error('Error checking package "'.concat(e,'": ').concat(O.message)),l({},et))];case 5:return[2]}})})()}S(eb,"checkPackage");function eI(){return /*#__PURE__*/o(function(){var e,t,r,n,o,a,i,c,u,s,l,f;return m(this,function(d){switch(d.label){case 0:e=[{command:S(function(){return tI.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:S(function(){return tI.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:S(function(){return tI.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,r=false,n=undefined;d.label=1;case 1:d.trys.push([1,9,10,11]);o=e[Symbol.iterator]();d.label=2;case 2:if(!!(t=(a=o.next()).done))return[3,8];i=a.value,c=i.command,u=i.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,c()];case 4:s=d.sent();return[4,eU("".concat(u," using: ").concat(s),s)];case 5:d.sent();return[2];case 6:l=d.sent();ee.warn("Installation attempt failed: ".concat(u)),ee.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:f=d.sent();r=true;n=f;return[3,11];case 10:try{if(!t&&o.return!=null){o.return()}}finally{if(r){throw n}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})})()}S(eI,"installDependencies");function eE(e,t){return /*#__PURE__*/o(function(){var r,n,o,a,i,c,u,s,f,d,v;return m(this,function(g){switch(g.label){case 0:if(!ey(th.PACKAGE_JSON)){ee.error("package.json not found. Aborting setup.");return[2]}g.label=1;case 1:g.trys.push([1,13,,14]);r=p(new Set(e)).sort();return[4,Promise.all(r.map(function(e){return eb(e,l({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:n=g.sent().every(function(e){return e.isUpToDate});if(n)return[3,4];return[4,eI()];case 3:n=g.sent();g.label=4;case 4:n;a=true,i=false,c=undefined;g.label=5;case 5:g.trys.push([5,10,11,12]);u=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();g.label=6;case 6:if(!!(a=(s=u.next()).done))return[3,9];f=s.value;return[4,f()];case 7:g.sent();g.label=8;case 8:a=true;return[3,6];case 9:return[3,12];case 10:d=g.sent();i=true;c=d;return[3,12];case 11:try{if(!a&&u.return!=null){u.return()}}finally{if(i){throw c}}return[7];case 12:return[3,14];case 13:v=g.sent();throw ee.error('Failed to setup "'.concat(e.join(", "),'": ').concat(v.message)),v;case 14:return[2]}})})()}S(eE,"setupPackages");var eT=R(require("node-persist"),1);var eO=Y();function eS(){return /*#__PURE__*/o(function(){var e;return m(this,function(t){switch(t.label){case 0:e=eT.default.defaultInstance;if(e)return[3,2];return[4,eT.default.init({dir:eO.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})})()}S(eS,"initNodePersist");var ew={get:function e(e){return /*#__PURE__*/o(function(){var t,r;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eS()];case 1:n.sent();return[4,eT.default.getItem(e)];case 2:return[2,(t=n.sent())!==null&&t!==void 0?t:null];case 3:r=n.sent();return[2,(ee.error('[Storage:get] Error getting key "'.concat(e,'":'),r),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/o(function(){var r;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eS()];case 1:n.sent();return[4,eT.default.setItem(e,t)];case 2:n.sent();return[3,4];case 3:r=n.sent();ee.error('[Storage:set] Error setting key "'.concat(e,'":'),r);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/o(function(){var t;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eS()];case 1:r.sent();return[4,eT.default.removeItem(e)];case 2:r.sent();return[3,4];case 3:t=r.sent();ee.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/o(function(){var e,t;return m(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eS()];case 1:r.sent();return[4,eT.default.keys()];case 2:e=r.sent();return[2,Array.isArray(e)?e:(ee.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=r.sent();return[2,(ee.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/o(function(){return m(this,function(t){try{return[2,"".concat(eO.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(ee.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eC=Y(),eR=H.promisify(W.exec);function eG(e){return"error_list:".concat(e)}S(eG,"getErrorListKey");function eN(e){return /*#__PURE__*/o(function(){var t,r,n;return m(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];t=Date.now(),r=eG(t);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,ew.set(r,{errors:e,timestamp:t})];case 2:a.sent(),setTimeout(function(){return /*#__PURE__*/o(function(){var e;return m(this,function(t){switch(t.label){case 0:return[4,ew.getLogLink(r)];case 1:e=t.sent();e&&ee.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:n=a.sent();ee.error("Failed to save errors: ".concat(n.message));return[3,4];case 4:return[2]}})})()}S(eN,"saveErrorListToStorage");function eL(e){var t=[],r=[],n="",o=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,a=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,i=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))n=e.trim();else{var c,u,s,l,f;var d=o.exec(e)||[],v=a.exec(e)||[],p=i.exec(e)||[];var g,y,m,h,_,b;d.length&&n?t.push({file:n,position:"".concat(d[1],":").concat(d[2]),type:d[3]===V.Error?V.Error:V.Warning,message:(g=d===null||d===void 0?void 0:(c=d[4])===null||c===void 0?void 0:c.trim())!==null&&g!==void 0?g:"",rule:(y=d===null||d===void 0?void 0:(u=d[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):v.length?t.push({file:(m=v===null||v===void 0?void 0:v[1])!==null&&m!==void 0?m:"",position:"".concat(v[2],":").concat(v[3]),type:v[4]===V.Error?V.Error:V.Warning,message:(h=v===null||v===void 0?void 0:(s=v[5])===null||s===void 0?void 0:s.trim())!==null&&h!==void 0?h:""}):p.length?t.push({file:"commitlint",type:V.Error,message:(_=p===null||p===void 0?void 0:(l=p[1])===null||l===void 0?void 0:l.trim())!==null&&_!==void 0?_:"",rule:(b=p===null||p===void 0?void 0:(f=p[2])===null||f===void 0?void 0:f.trim())!==null&&b!==void 0?b:""}):r.push(e.trim())}}),t.length&&eN(t),eC.DEBUG&&r.length&&(ee.warn("Unmatched lines:"),r.forEach(function(e){return ee.info(" ".concat(e))}))}S(eL,"parseTextErrors");function eP(e){try{var t=JSON.parse(e),r=[];t.forEach(function(e){var t=e.filePath,n=e.messages;n.forEach(function(e){var n=e.severity,o=e.line,a=e.column,i=e.ruleId,c=e.message;r.push({type:n===2?V.Error:V.Warning,file:t,position:"".concat(o,":").concat(a),rule:i,message:c})})}),r.length&&eN(r)}catch(t){eL(e)}}S(eP,"parseCommandOutput");function ej(e){return /*#__PURE__*/o(function(e){var t,r,n,o,a,i,c,u,s;var l=arguments;return m(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:eP;r=new AbortController;J.default.on("SIGINT",function(){ee.warn("Process interrupted. Terminating..."),r.abort(),J.default.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,eR(e,{maxBuffer:0x6400000,signal:r.signal})];case 2:n=f.sent(),o=n.stdout,a=n.stderr;[o,a].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:i=f.sent();c=i.stdout,u=i.stderr,s=i.message;[c,u].forEach(function(e){return e&&t(e)}),!u&&!c&&ee.error("Command failed: ".concat(s));return[3,5];case 5:return[2]}})}).apply(this,arguments)}S(ej,"executeCommand");function ek(e){return{raw:!0,cmd:e}}S(ek,"rawCommand");function eA(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(ts," ").concat(eB," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(ts," ").concat(ti," ").concat(e4," ").concat(e):"".concat(ts," ").concat(e3," ").concat(e)}S(eA,"formatCLI");function eD(e,t){return typeof e=="function"?eA(e(t),t):(typeof e==="undefined"?"undefined":g(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?eA(e,t):e}S(eD,"formatCommand");function eU(e,t){return /*#__PURE__*/o(function(){var r;return m(this,function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);ee.start("".concat(e)),eC.DEBUG&&ee.info("→ ".concat(t));return[4,ej(t)];case 1:n.sent(),ee.success("".concat(e," done."));return[3,3];case 2:r=n.sent();throw ee.error("".concat(e," failed: ").concat(r.message)),r;case 3:return[2]}})})()}S(eU,"runCommand");var ex=R(require("path"),1);var eM=Y();function eF(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}return(0,ex.resolve).apply(this,[eM.CWD].concat(p(t)))}S(eF,"resolveWorkingPath");function eq(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}return(0,ex.join).apply(this,p(t))}S(eq,"join");var eK=Y(),eY=eK.CWD,eB="@cyberskill/shared",eW="node_modules",eJ="dist",eH="package.json",eV="package-lock.json",e$="tsconfig.json",ez=".gitignore",eQ=".simple-git-hooks.json",eX="pnpm-lock.yaml",eZ=".git/hooks/",e0=".git/COMMIT_EDITMSG",e1=".migrate-mongo.config.js",e2=eq(eY,eW,eB,eJ),e3="cyberskill",e4="src/nodejs/cli/index.ts",e5="eslint",e6="eslint",e7="vitest",e8="playwright",e9="vitest",te="@commitlint/cli",tt="commitlint",tr="lint-staged",tn="lint-staged",to="typescript",ta="tsc",ti="tsx",tc="git",tu="pnpm",ts="pnpm exec",tl="simple-git-hooks",tf="simple-git-hooks",td="@eslint/config-inspector",tv="eslint-config-inspector",tp="node-modules-inspector",tg="node-modules-inspector",ty="migrate-mongo",tm="./node_modules/migrate-mongo/bin/migrate-mongo",th={CYBERSKILL_DIRECTORY:e2,WORKING_DIRECTORY:eY,TS_CONFIG:eF(e$),GIT_IGNORE:eF(ez),GIT_HOOK:eF(eZ),GIT_COMMIT_MSG:eF(e0),SIMPLE_GIT_HOOKS_JSON:eF(eQ),PACKAGE_JSON:eF(eH),PACKAGE_LOCK_JSON:eF(eV),PNPM_LOCK_YAML:eF(eX),NODE_MODULES:eF(eW),MIGRATE_MONGO_CONFIG:eF(e1),LINT_STAGED_CONFIG:eF("".concat(e2,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:eF("".concat(e2,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:eF("".concat(e2,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eF("".concat(e2,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eF("".concat(e2,"/react/vitest/vitest.e2e.js"))};function t_(e,t,r){return /*#__PURE__*/o(function(){return m(this,function(n){switch(n.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case B.CLI:return[3,1];case B.STRING:return[3,3]}return[3,4];case 1:return[4,eE(t.split(" "),{update:!0})];case 2:return[2,(n.sent(),eD(ek("".concat(ts," ").concat(r))))];case 3:return[2,eD(ek(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}S(t_,"buildCommand");function tb(e,t,r){return function(){return /*#__PURE__*/o(function(){return m(this,function(n){return[2,t_(e,t,r)]})})()}}S(tb,"commandFactory");var tI={simpleGitHooks:tb(B.CLI,tl,tf),eslintInspect:tb(B.CLI,td,tv),nodeModulesInspect:tb(B.CLI,tp,tg),eslintCheck:tb(B.CLI,e5,"".concat(e6," ").concat(th.WORKING_DIRECTORY)),eslintFix:tb(B.CLI,e5,"".concat(e6," ").concat(th.WORKING_DIRECTORY," --fix")),typescriptCheck:tb(B.CLI,to,"".concat(ta," -p ").concat(th.TS_CONFIG," --noEmit")),configureGitHook:tb(B.STRING,"".concat(tc," config core.hooksPath ").concat(th.GIT_HOOK)),testUnit:tb(B.CLI,e7,"".concat(e9," --config ").concat(th.UNIT_TEST_CONFIG)),testE2e:tb(B.CLI,"".concat(e7," ").concat(e8),"".concat(e9," --config ").concat(th.E2E_TEST_CONFIG)),mongoMigrateCreate:S(function(e){return tb(B.CLI,ty,"".concat(ti," ").concat(tm," create ").concat(e," -f ").concat(th.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tb(B.CLI,ty,"".concat(ti," ").concat(tm," up -f ").concat(th.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tb(B.CLI,ty,"".concat(ti," ").concat(tm," down -f ").concat(th.MIGRATE_MONGO_CONFIG)),commitLint:tb(B.CLI,te,"".concat(tt," --edit ").concat(th.GIT_COMMIT_MSG," --config ").concat(th.COMMITLINT_CONFIG)),lintStaged:tb(B.CLI,tr,"".concat(tn," --config ").concat(th.LINT_STAGED_CONFIG)),stageBuildDirectory:tb(B.STRING,"".concat(tc," add ").concat(eJ)),build:tb(B.STRING,"".concat(tu," run build")),pnpmInstallStandard:tb(B.STRING,"".concat(tu," install")),pnpmInstallLegacy:tb(B.STRING,"".concat(tu," install --legacy-peer-deps")),pnpmInstallForce:tb(B.STRING,"".concat(tu," install --force"))};function tE(e){return(0,D.defineConfig)(l({plugins:[(0,A.default)()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[th.UNIT_TEST_SETUP_CONFIG]}},e))}S(tE,"vitestUnit");function tT(e){return(typeof e==="undefined"?"undefined":g(e))=="object"&&e!==null&&!Array.isArray(e)}S(tT,"isObject");function tO(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}var n={};var o=true,a=false,i=undefined,c=true,u=false,s=undefined;try{for(var l=t.flat()[Symbol.iterator](),f;!(c=(f=l.next()).done);c=true){var d=f.value;try{for(var g=Object.entries(d)[Symbol.iterator](),y;!(o=(y=g.next()).done);o=true){var m=v(y.value,2),h=m[0],_=m[1];var b=n[h];if(Array.isArray(_)){var I=Array.isArray(b)?b:[];n[h]=p(new Set(p(I).concat(p(_))));continue}if(tT(_)){n[h]=tO(tT(b)?b:{},_);continue}n[h]=_}}catch(e){a=true;i=e}finally{try{if(!o&&g.return!=null){g.return()}}finally{if(a){throw i}}}}}catch(e){u=true;s=e}finally{try{if(!c&&l.return!=null){l.return()}}finally{if(u){throw s}}}return n}S(tO,"deepMerge");var tS=function(e){return e.ESLINT="eslint",e.COMMITLINT="commitlint",e.LINT_STAGED="lint-staged",e.VITEST_REACT_E2E="vitest-react-e2e",e.VITEST_REACT_UNIT="vitest-react-unit",e}({});var tw=R(require("globals"),1),tC=[{languageOptions:{globals:l({},tw.node,tw.browser)},rules:{"perfectionist/sort-imports":["error",{internalPattern:["^#.*","^@/.*"]}]},ignores:["build","dist"]}];var tR;var tG=S(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}var n=tO.apply(void 0,[tC].concat(p(t.map(function(e){return e})))),o=n.ignores,a=f(n,["ignores"]),i=Array.isArray(o)&&o.every(function(e){return typeof e=="string"})?{ignores:o}:void 0,c=[a].concat(p(i?[i]:[]));return(0,L.default).apply(h,[{stylistic:{semi:!0,indent:4,quotes:"single"},formatters:{css:!0,html:!0,markdown:"prettier"},yaml:!1,react:!0}].concat(p(c)))},"handleESLint"),tN=(tR={},a(tR,tS.ESLINT,function(e){return tG(e)}),a(tR,tS.COMMITLINT,function(e){return tO(e)}),a(tR,tS.LINT_STAGED,function(e){return tO(e)}),a(tR,tS.VITEST_REACT_UNIT,function(e){return tE(e)}),a(tR,tS.VITEST_REACT_E2E,function(e){return k(e)}),tR);function tL(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++){r[n-1]=arguments[n]}var o=tN[e];if(!o)throw new Error("Unknown config type: ".concat(e));return o.apply(void 0,p(r))}S(tL,"mergeConfigs");0&&(module.exports={mergeConfigs:mergeConfigs});
@@ -1 +1 @@
1
- function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e,t,n,r,o,a,i){try{var c=e[a](i);var s=c.value}catch(e){n(e);return}if(c.done){t(s)}else{Promise.resolve(s).then(r,o)}}function o(e){return function(){var t=this,n=arguments;return new Promise(function(o,a){var i=e.apply(t,n);function c(e){r(i,o,a,c,s,"next",e)}function s(e){r(i,o,a,c,s,"throw",e)}c(undefined)})}}function a(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function i(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 o=true;var a=false;var i,c;try{for(n=n.call(e);!(o=(i=n.next()).done);o=true){r.push(i.value);if(t&&r.length===t)break}}catch(e){a=true;c=e}finally{try{if(!o&&n["return"]!=null)n["return"]()}finally{if(a)throw c}}return r}function s(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function u(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function l(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){a(e,t,n[t])})}return e}function f(e,t){if(e==null)return{};var n=d(e,t);var r,o;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++){r=a[o];if(t.indexOf(r)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,r))continue;n[r]=e[r]}}return n}function d(e,t){if(e==null)return{};var n={};var r=Object.keys(e);var o,a;for(a=0;a<r.length;a++){o=r[a];if(t.indexOf(o)>=0)continue;n[o]=e[o]}return n}function p(e,n){return t(e)||c(e,n)||g(e,n)||s()}function v(e){return n(e)||i(e)||g(e)||u()}function m(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function g(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function y(e,t){var n,r,o,a={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},i=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return i.next=c(0),i["throw"]=c(1),i["return"]=c(2),typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function c(e){return function(t){return s([e,t])}}function s(c){if(n)throw new TypeError("Generator is already executing.");while(i&&(i=0,c[0]&&(a=0)),a)try{if(n=1,r&&(o=c[0]&2?r["return"]:c[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;if(r=0,o)c=[c[0]&2,o.value];switch(c[0]){case 0:case 1:o=c;break;case 4:a.label++;return{value:c[1],done:false};case 5:a.label++;r=c[1];c=[0];continue;case 7:c=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(c[0]===6||c[0]===2)){a=0;continue}if(c[0]===3&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(c[0]===6&&a.label<o[1]){a.label=o[1];o=c;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(c);break}if(o[2])a.ops.pop();a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e];r=0}finally{n=o=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var h=Object.defineProperty;var _=function(e,t){return h(e,"name",{value:t,configurable:!0})};import E from"@antfu/eslint-config";import I from"@vitejs/plugin-react-swc";import{defineConfig as b}from"vitest/config";function T(e){return b(l({plugins:[I()],test:{include:["**/*.test.e2e.?(c|m)[jt]s?(x)"],browser:{enabled:!0,provider:"playwright",instances:[{browser:"chromium"},{browser:"firefox"},{browser:"webkit"}]}}},e))}_(T,"vitestE2E");import S from"@vitejs/plugin-react-swc";import{defineConfig as w}from"vitest/config";var C=".cyberskill-storage";import O from"dotenv";import{bool as R,cleanEnv as G,str as N}from"envalid";import L from"node:os";import A from"node:path";import k from"node:process";O.config();function P(){var e={DEBUG:k.env.DEBUG||!1,CWD:k.env.CWD||k.cwd(),CYBERSKILL_STORAGE_DIRECTORY:k.env.CYBERSKILL_STORAGE_DIRECTORY||A.join(L.homedir(),C)};return G(e,{DEBUG:R(),CWD:N(),CYBERSKILL_STORAGE_DIRECTORY:N()})}_(P,"getEnv");var j=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as D}from"node:child_process";import U from"node:process";import*as x from"node:util";var M=function(e){return e.Error="error",e.Warning="warning",e}({});import F from"chalk";import K from"consola";import{GraphQLError as Y}from"graphql";var B=P();B.DEBUG||(K.level=4);function W(e){var t=F[e];return typeof t=="function"?t:F.green}_(W,"chalkKeyword");var J={silent:K.silent,level:K.level,fatal:K.fatal,error:K.error,warn:K.warn,log:K.log,info:K.info,success:K.success,ready:K.ready,start:K.start,box:K.box,debug:K.debug,trace:K.trace,verbose:K.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){K.box(F.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,o=e.rule,a=e.message;K.log("".concat(F.gray("File:")," ").concat(F.blue("".concat(t).concat(r?":".concat(r):"")))),o&&K.log(" ".concat(W(n)("Rule:")," ").concat(o)),K.log(" ".concat(W(n)("Message:")," ").concat(a))}),K.box(W(n)("".concat(e," : ").concat(t.length))),K.log(F.gray("─".repeat(40)))}};var V={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};import H from"node-fetch";import $ from"fs-extra";var q=$.lstatSync,Q=$.readdirSync,z=$.mkdirSync,X=$.readFileSync,Z=$.writeFileSync,ee=$.appendFileSync,et=$.unlinkSync,en=$.statSync,er=$.readJsonSync,eo=$.writeJsonSync;function ea(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return $.pathExistsSync(e)})}_(ea,"pathExistsSync");var ei=P();function ec(e){var t=eA(ei.CWD,ex);if(!ea(t))return!1;try{var n=er(t),r=n.name,o=n.dependencies,a=o===void 0?{}:o,i=n.devDependencies,c=i===void 0?{}:i,s=r===e,u=e in a,l=e in c;return s||u||l?{path:t,file:n,isCurrentProject:s,isDepend:u,isDevDepend:l}:!1}catch(e){return J.warn("Failed to read package.json: ".concat(e.message)),!1}}_(ec,"getPackage");function es(e){return /*#__PURE__*/o(function(){var t,n,r,o;return y(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,H("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=a.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=a.sent(),r=n.version;return[2,r];case 3:o=a.sent();throw J.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})})()}_(es,"getLatestPackageVersion");function eu(e,t){return /*#__PURE__*/o(function(){var n,r,o,a,i,c,s,u,f,d,p,v,m,g,h,_,E,I,b,T,S;return y(this,function(y){switch(y.label){case 0:y.trys.push([0,4,,5]);n=ec(e);if(!n)return[2,l({},V)];s=n.path,u=n.file,f=n.isCurrentProject,d=n.isDepend,p=n.isDevDepend,v=(r=u.dependencies)!==null&&r!==void 0?r:{},m=(o=u.devDependencies)!==null&&o!==void 0?o:{},g=f?(a=u.version)!==null&&a!==void 0?a:"0.0.0":d?(i=v[e])!==null&&i!==void 0?i:"0.0.0":p?(c=m[e])!==null&&c!==void 0?c:"0.0.0":"0.0.0";if(!f)return[3,1];E=g;return[3,3];case 1:return[4,es(e)];case 2:E=y.sent();y.label=3;case 3:h=E,_=f||g===h;if(!_&&(t===null||t===void 0?void 0:t.update)){;b=d?"dependencies":p?"devDependencies":null;b&&((I=u[b])===null||I===void 0?void 0:I[e])!==h&&(u[b]=(T=u[b])!==null&&T!==void 0?T:{},u[b][e]=h,eo(s,u),J.info('Updated "'.concat(e,'" to version ').concat(h)))}return[2,{isCurrentProject:f,installedPath:s,file:u,isUpToDate:_}];case 4:S=y.sent();return[2,(J.error('Error checking package "'.concat(e,'": ').concat(S.message)),l({},V))];case 5:return[2]}})})()}_(eu,"checkPackage");function el(){return /*#__PURE__*/o(function(){var e,t,n,r,o,a,i,c,s,u,l,f;return y(this,function(d){switch(d.label){case 0:e=[{command:_(function(){return td.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:_(function(){return td.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:_(function(){return td.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;d.label=1;case 1:d.trys.push([1,9,10,11]);o=e[Symbol.iterator]();d.label=2;case 2:if(!!(t=(a=o.next()).done))return[3,8];i=a.value,c=i.command,s=i.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,c()];case 4:u=d.sent();return[4,eC("".concat(s," using: ").concat(u),u)];case 5:d.sent();return[2];case 6:l=d.sent();J.warn("Installation attempt failed: ".concat(s)),J.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:f=d.sent();n=true;r=f;return[3,11];case 10:try{if(!t&&o.return!=null){o.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})})()}_(el,"installDependencies");function ef(e,t){return /*#__PURE__*/o(function(){var n,r,o,a,i,c,s,u,f,d,p;return y(this,function(m){switch(m.label){case 0:if(!ea(tu.PACKAGE_JSON)){J.error("package.json not found. Aborting setup.");return[2]}m.label=1;case 1:m.trys.push([1,13,,14]);n=v(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return eu(e,l({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=m.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,el()];case 3:r=m.sent();m.label=4;case 4:r;a=true,i=false,c=undefined;m.label=5;case 5:m.trys.push([5,10,11,12]);s=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();m.label=6;case 6:if(!!(a=(u=s.next()).done))return[3,9];f=u.value;return[4,f()];case 7:m.sent();m.label=8;case 8:a=true;return[3,6];case 9:return[3,12];case 10:d=m.sent();i=true;c=d;return[3,12];case 11:try{if(!a&&s.return!=null){s.return()}}finally{if(i){throw c}}return[7];case 12:return[3,14];case 13:p=m.sent();throw J.error('Failed to setup "'.concat(e.join(", "),'": ').concat(p.message)),p;case 14:return[2]}})})()}_(ef,"setupPackages");import ed from"node-persist";var ep=P();function ev(){return /*#__PURE__*/o(function(){var e;return y(this,function(t){switch(t.label){case 0:e=ed.defaultInstance;if(e)return[3,2];return[4,ed.init({dir:ep.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})})()}_(ev,"initNodePersist");var em={get:function e(e){return /*#__PURE__*/o(function(){var t,n;return y(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ev()];case 1:r.sent();return[4,ed.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(J.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/o(function(){var n;return y(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ev()];case 1:r.sent();return[4,ed.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();J.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/o(function(){var t;return y(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ev()];case 1:n.sent();return[4,ed.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();J.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/o(function(){var e,t;return y(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,ev()];case 1:n.sent();return[4,ed.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(J.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(J.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/o(function(){return y(this,function(t){try{return[2,"".concat(ep.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(J.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eg=P(),ey=x.promisify(D);function eh(e){return"error_list:".concat(e)}_(eh,"getErrorListKey");function e_(e){return /*#__PURE__*/o(function(){var t,n,r;return y(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];t=Date.now(),n=eh(t);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,em.set(n,{errors:e,timestamp:t})];case 2:a.sent(),setTimeout(function(){return /*#__PURE__*/o(function(){var e;return y(this,function(t){switch(t.label){case 0:return[4,em.getLogLink(n)];case 1:e=t.sent();e&&J.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:r=a.sent();J.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})})()}_(e_,"saveErrorListToStorage");function eE(e){var t=[],n=[],r="",o=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,a=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,i=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var c,s,u,l,f;var d=o.exec(e)||[],p=a.exec(e)||[],v=i.exec(e)||[];var m,g,y,h,_,E;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===M.Error?M.Error:M.Warning,message:(m=d===null||d===void 0?void 0:(c=d[4])===null||c===void 0?void 0:c.trim())!==null&&m!==void 0?m:"",rule:(g=d===null||d===void 0?void 0:(s=d[5])===null||s===void 0?void 0:s.trim())!==null&&g!==void 0?g:""}):p.length?t.push({file:(y=p===null||p===void 0?void 0:p[1])!==null&&y!==void 0?y:"",position:"".concat(p[2],":").concat(p[3]),type:p[4]===M.Error?M.Error:M.Warning,message:(h=p===null||p===void 0?void 0:(u=p[5])===null||u===void 0?void 0:u.trim())!==null&&h!==void 0?h:""}):v.length?t.push({file:"commitlint",type:M.Error,message:(_=v===null||v===void 0?void 0:(l=v[1])===null||l===void 0?void 0:l.trim())!==null&&_!==void 0?_:"",rule:(E=v===null||v===void 0?void 0:(f=v[2])===null||f===void 0?void 0:f.trim())!==null&&E!==void 0?E:""}):n.push(e.trim())}}),t.length&&e_(t),eg.DEBUG&&n.length&&(J.warn("Unmatched lines:"),n.forEach(function(e){return J.info(" ".concat(e))}))}_(eE,"parseTextErrors");function eI(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,o=e.line,a=e.column,i=e.ruleId,c=e.message;n.push({type:r===2?M.Error:M.Warning,file:t,position:"".concat(o,":").concat(a),rule:i,message:c})})}),n.length&&e_(n)}catch(t){eE(e)}}_(eI,"parseCommandOutput");function eb(e){return /*#__PURE__*/o(function(e){var t,n,r,o,a,i,c,s,u;var l=arguments;return y(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:eI;n=new AbortController;U.on("SIGINT",function(){J.warn("Process interrupted. Terminating..."),n.abort(),U.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,ey(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),o=r.stdout,a=r.stderr;[o,a].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:i=f.sent();c=i.stdout,s=i.stderr,u=i.message;[c,s].forEach(function(e){return e&&t(e)}),!s&&!c&&J.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}_(eb,"executeCommand");function eT(e){return{raw:!0,cmd:e}}_(eT,"rawCommand");function eS(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(te," ").concat(ej," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(te," ").concat(e7," ").concat(eq," ").concat(e):"".concat(te," ").concat(e$," ").concat(e)}_(eS,"formatCLI");function ew(e,t){return typeof e=="function"?eS(e(t),t):(typeof e==="undefined"?"undefined":m(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?eS(e,t):e}_(ew,"formatCommand");function eC(e,t){return /*#__PURE__*/o(function(){var n;return y(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);J.start("".concat(e)),eg.DEBUG&&J.info("→ ".concat(t));return[4,eb(t)];case 1:r.sent(),J.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw J.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}_(eC,"runCommand");import eO,{join as eR,resolve as eG}from"node:path";var eN=P();function eL(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return eG.apply(void 0,[eN.CWD].concat(v(t)))}_(eL,"resolveWorkingPath");function eA(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return eR.apply(void 0,v(t))}_(eA,"join");var ek=P(),eP=ek.CWD,ej="@cyberskill/shared",eD="node_modules",eU="dist",ex="package.json",eM="package-lock.json",eF="tsconfig.json",eK=".gitignore",eY=".simple-git-hooks.json",eB="pnpm-lock.yaml",eW=".git/hooks/",eJ=".git/COMMIT_EDITMSG",eV=".migrate-mongo.config.js",eH=eA(eP,eD,ej,eU),e$="cyberskill",eq="src/nodejs/cli/index.ts",eQ="eslint",ez="eslint",eX="vitest",eZ="playwright",e0="vitest",e1="@commitlint/cli",e2="commitlint",e3="lint-staged",e4="lint-staged",e5="typescript",e6="tsc",e7="tsx",e8="git",e9="pnpm",te="pnpm exec",tt="simple-git-hooks",tn="simple-git-hooks",tr="@eslint/config-inspector",to="eslint-config-inspector",ta="node-modules-inspector",ti="node-modules-inspector",tc="migrate-mongo",ts="./node_modules/migrate-mongo/bin/migrate-mongo",tu={CYBERSKILL_DIRECTORY:eH,WORKING_DIRECTORY:eP,TS_CONFIG:eL(eF),GIT_IGNORE:eL(eK),GIT_HOOK:eL(eW),GIT_COMMIT_MSG:eL(eJ),SIMPLE_GIT_HOOKS_JSON:eL(eY),PACKAGE_JSON:eL(ex),PACKAGE_LOCK_JSON:eL(eM),PNPM_LOCK_YAML:eL(eB),NODE_MODULES:eL(eD),MIGRATE_MONGO_CONFIG:eL(eV),LINT_STAGED_CONFIG:eL("".concat(eH,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:eL("".concat(eH,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:eL("".concat(eH,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eL("".concat(eH,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eL("".concat(eH,"/react/vitest/vitest.e2e.js"))};function tl(e,t,n){return /*#__PURE__*/o(function(){return y(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case j.CLI:return[3,1];case j.STRING:return[3,3]}return[3,4];case 1:return[4,ef(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),ew(eT("".concat(te," ").concat(n))))];case 3:return[2,ew(eT(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}_(tl,"buildCommand");function tf(e,t,n){return function(){return /*#__PURE__*/o(function(){return y(this,function(r){return[2,tl(e,t,n)]})})()}}_(tf,"commandFactory");var td={simpleGitHooks:tf(j.CLI,tt,tn),eslintInspect:tf(j.CLI,tr,to),nodeModulesInspect:tf(j.CLI,ta,ti),eslintCheck:tf(j.CLI,eQ,"".concat(ez," ").concat(tu.WORKING_DIRECTORY)),eslintFix:tf(j.CLI,eQ,"".concat(ez," ").concat(tu.WORKING_DIRECTORY," --fix")),typescriptCheck:tf(j.CLI,e5,"".concat(e6," -p ").concat(tu.TS_CONFIG," --noEmit")),configureGitHook:tf(j.STRING,"".concat(e8," config core.hooksPath ").concat(tu.GIT_HOOK)),testUnit:tf(j.CLI,eX,"".concat(e0," --config ").concat(tu.UNIT_TEST_CONFIG)),testE2e:tf(j.CLI,"".concat(eX," ").concat(eZ),"".concat(e0," --config ").concat(tu.E2E_TEST_CONFIG)),mongoMigrateCreate:_(function(e){return tf(j.CLI,tc,"".concat(e7," ").concat(ts," create ").concat(e," -f ").concat(tu.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tf(j.CLI,tc,"".concat(e7," ").concat(ts," up -f ").concat(tu.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tf(j.CLI,tc,"".concat(e7," ").concat(ts," down -f ").concat(tu.MIGRATE_MONGO_CONFIG)),commitLint:tf(j.CLI,e1,"".concat(e2," --edit ").concat(tu.GIT_COMMIT_MSG," --config ").concat(tu.COMMITLINT_CONFIG)),lintStaged:tf(j.CLI,e3,"".concat(e4," --config ").concat(tu.LINT_STAGED_CONFIG)),stageBuildDirectory:tf(j.STRING,"".concat(e8," add ").concat(eU)),build:tf(j.STRING,"".concat(e9," run build")),pnpmInstallStandard:tf(j.STRING,"".concat(e9," install")),pnpmInstallLegacy:tf(j.STRING,"".concat(e9," install --legacy-peer-deps")),pnpmInstallForce:tf(j.STRING,"".concat(e9," install --force"))};function tp(e){return w(l({plugins:[S()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[tu.UNIT_TEST_SETUP_CONFIG]}},e))}_(tp,"vitestUnit");function tv(e){return(typeof e==="undefined"?"undefined":m(e))=="object"&&e!==null&&!Array.isArray(e)}_(tv,"isPlainObject");function tm(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r={};var o=true,a=false,i=undefined,c=true,s=false,u=undefined;try{for(var l=t.flat()[Symbol.iterator](),f;!(c=(f=l.next()).done);c=true){var d=f.value;try{for(var m=Object.entries(d)[Symbol.iterator](),g;!(o=(g=m.next()).done);o=true){var y=p(g.value,2),h=y[0],_=y[1];var E=r[h];if(Array.isArray(_)){var I=Array.isArray(E)?E:[];r[h]=v(new Set(v(I).concat(v(_))));continue}if(tv(_)){r[h]=tm(tv(E)?E:{},_);continue}r[h]=_}}catch(e){a=true;i=e}finally{try{if(!o&&m.return!=null){m.return()}}finally{if(a){throw i}}}}}catch(e){s=true;u=e}finally{try{if(!c&&l.return!=null){l.return()}}finally{if(s){throw u}}}return r}_(tm,"deepMerge");var tg=function(e){return e.ESLINT="eslint",e.COMMITLINT="commitlint",e.LINT_STAGED="lint-staged",e.VITEST_REACT_E2E="vitest-react-e2e",e.VITEST_REACT_UNIT="vitest-react-unit",e}({});import*as ty from"globals";var th=[{languageOptions:{globals:l({},ty.node,ty.browser)},rules:{"perfectionist/sort-imports":["error",{internalPattern:["^#.*","^@/.*"]}]},ignores:["build","dist"]}];var t_;var tE=_(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return tm.apply(void 0,v(t))},"passThroughHandler"),tI=_(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r=tm.apply(void 0,[th].concat(v(t))),o=r.ignores,a=f(r,["ignores"]),i=Array.isArray(o)&&o.every(function(e){return typeof e=="string"})?{ignores:o}:void 0,c=[a].concat(v(i?[i]:[]));return E.apply(void 0,[{stylistic:{semi:!0,indent:4,quotes:"single"},formatters:{css:!0,html:!0,markdown:"prettier"},yaml:!1,react:!0}].concat(v(c)))},"handleESLint"),tb=_(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return T.apply(void 0,v(t))},"handleVitestReactE2E"),tT=_(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return tp.apply(void 0,v(t))},"handleVitestReactUnit"),tS=(t_={},a(t_,tg.ESLINT,tI),a(t_,tg.COMMITLINT,tE),a(t_,tg.LINT_STAGED,tE),a(t_,tg.VITEST_REACT_E2E,tb),a(t_,tg.VITEST_REACT_UNIT,tT),t_);function tw(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++){n[r-1]=arguments[r]}var o=tS[e];if(!o)throw new Error("Unknown config type: ".concat(e));return o.apply(void 0,v(n))}_(tw,"mergeConfigs");export{tw as mergeConfigs};
1
+ function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e,t,n,r,o,a,i){try{var c=e[a](i);var s=c.value}catch(e){n(e);return}if(c.done){t(s)}else{Promise.resolve(s).then(r,o)}}function o(e){return function(){var t=this,n=arguments;return new Promise(function(o,a){var i=e.apply(t,n);function c(e){r(i,o,a,c,s,"next",e)}function s(e){r(i,o,a,c,s,"throw",e)}c(undefined)})}}function a(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function i(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 o=true;var a=false;var i,c;try{for(n=n.call(e);!(o=(i=n.next()).done);o=true){r.push(i.value);if(t&&r.length===t)break}}catch(e){a=true;c=e}finally{try{if(!o&&n["return"]!=null)n["return"]()}finally{if(a)throw c}}return r}function s(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function u(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function l(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){a(e,t,n[t])})}return e}function f(e,t){if(e==null)return{};var n=d(e,t);var r,o;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++){r=a[o];if(t.indexOf(r)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,r))continue;n[r]=e[r]}}return n}function d(e,t){if(e==null)return{};var n={};var r=Object.keys(e);var o,a;for(a=0;a<r.length;a++){o=r[a];if(t.indexOf(o)>=0)continue;n[o]=e[o]}return n}function p(e,n){return t(e)||c(e,n)||g(e,n)||s()}function m(e){return n(e)||i(e)||g(e)||u()}function v(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function g(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function y(e,t){var n,r,o,a={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},i=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return i.next=c(0),i["throw"]=c(1),i["return"]=c(2),typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function c(e){return function(t){return s([e,t])}}function s(c){if(n)throw new TypeError("Generator is already executing.");while(i&&(i=0,c[0]&&(a=0)),a)try{if(n=1,r&&(o=c[0]&2?r["return"]:c[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;if(r=0,o)c=[c[0]&2,o.value];switch(c[0]){case 0:case 1:o=c;break;case 4:a.label++;return{value:c[1],done:false};case 5:a.label++;r=c[1];c=[0];continue;case 7:c=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(c[0]===6||c[0]===2)){a=0;continue}if(c[0]===3&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(c[0]===6&&a.label<o[1]){a.label=o[1];o=c;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(c);break}if(o[2])a.ops.pop();a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e];r=0}finally{n=o=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var h=Object.defineProperty;var _=function(e,t){return h(e,"name",{value:t,configurable:!0})};import I from"@antfu/eslint-config";import E from"@vitejs/plugin-react-swc";import{defineConfig as b}from"vitest/config";function T(e){return b(l({plugins:[E()],test:{include:["**/*.test.e2e.?(c|m)[jt]s?(x)"],browser:{enabled:!0,provider:"playwright",instances:[{browser:"chromium"},{browser:"firefox"},{browser:"webkit"}]}}},e))}_(T,"vitestE2E");import S from"@vitejs/plugin-react-swc";import{defineConfig as w}from"vitest/config";var C=".cyberskill-storage";import O from"dotenv";import{bool as R,cleanEnv as G,str as N}from"envalid";import L from"node:os";import k from"node:path";import A from"node:process";O.config();function P(){var e={DEBUG:A.env.DEBUG||!1,CWD:A.env.CWD||A.cwd(),CYBERSKILL_STORAGE_DIRECTORY:A.env.CYBERSKILL_STORAGE_DIRECTORY||k.join(L.homedir(),C)};return G(e,{DEBUG:R(),CWD:N(),CYBERSKILL_STORAGE_DIRECTORY:N()})}_(P,"getEnv");var j=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as D}from"node:child_process";import U from"node:process";import*as x from"node:util";var M=function(e){return e.Error="error",e.Warning="warning",e}({});import F from"chalk";import K from"consola";import{GraphQLError as Y}from"graphql";var B=P();B.DEBUG||(K.level=4);function W(e){var t=F[e];return typeof t=="function"?t:F.green}_(W,"chalkKeyword");var J={silent:K.silent,level:K.level,fatal:K.fatal,error:K.error,warn:K.warn,log:K.log,info:K.info,success:K.success,ready:K.ready,start:K.start,box:K.box,debug:K.debug,trace:K.trace,verbose:K.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){K.box(F.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,o=e.rule,a=e.message;K.log("".concat(F.gray("File:")," ").concat(F.blue("".concat(t).concat(r?":".concat(r):"")))),o&&K.log(" ".concat(W(n)("Rule:")," ").concat(o)),K.log(" ".concat(W(n)("Message:")," ").concat(a))}),K.box(W(n)("".concat(e," : ").concat(t.length))),K.log(F.gray("─".repeat(40)))}};var H={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};import V from"node-fetch";import $ from"fs-extra";var q=$.lstatSync,Q=$.readdirSync,z=$.mkdirSync,X=$.readFileSync,Z=$.writeFileSync,ee=$.appendFileSync,et=$.unlinkSync,en=$.statSync,er=$.readJsonSync,eo=$.writeJsonSync;function ea(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return $.pathExistsSync(e)})}_(ea,"pathExistsSync");var ei=P();function ec(e){var t=ek(ei.CWD,ex);if(!ea(t))return!1;try{var n=er(t),r=n.name,o=n.dependencies,a=o===void 0?{}:o,i=n.devDependencies,c=i===void 0?{}:i,s=r===e,u=e in a,l=e in c;return s||u||l?{path:t,file:n,isCurrentProject:s,isDepend:u,isDevDepend:l}:!1}catch(e){return J.warn("Failed to read package.json: ".concat(e.message)),!1}}_(ec,"getPackage");function es(e){return /*#__PURE__*/o(function(){var t,n,r,o;return y(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,V("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=a.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=a.sent(),r=n.version;return[2,r];case 3:o=a.sent();throw J.error('Failed to fetch version for "'.concat(e,'": ').concat(o.message)),o;case 4:return[2]}})})()}_(es,"getLatestPackageVersion");function eu(e,t){return /*#__PURE__*/o(function(){var n,r,o,a,i,c,s,u,f,d,p,m,v,g,h,_,I,E,b,T,S;return y(this,function(y){switch(y.label){case 0:y.trys.push([0,4,,5]);n=ec(e);if(!n)return[2,l({},H)];s=n.path,u=n.file,f=n.isCurrentProject,d=n.isDepend,p=n.isDevDepend,m=(r=u.dependencies)!==null&&r!==void 0?r:{},v=(o=u.devDependencies)!==null&&o!==void 0?o:{},g=f?(a=u.version)!==null&&a!==void 0?a:"0.0.0":d?(i=m[e])!==null&&i!==void 0?i:"0.0.0":p?(c=v[e])!==null&&c!==void 0?c:"0.0.0":"0.0.0";if(!f)return[3,1];I=g;return[3,3];case 1:return[4,es(e)];case 2:I=y.sent();y.label=3;case 3:h=I,_=f||g===h;if(!_&&(t===null||t===void 0?void 0:t.update)){;b=d?"dependencies":p?"devDependencies":null;b&&((E=u[b])===null||E===void 0?void 0:E[e])!==h&&(u[b]=(T=u[b])!==null&&T!==void 0?T:{},u[b][e]=h,eo(s,u),J.info('Updated "'.concat(e,'" to version ').concat(h)))}return[2,{isCurrentProject:f,installedPath:s,file:u,isUpToDate:_}];case 4:S=y.sent();return[2,(J.error('Error checking package "'.concat(e,'": ').concat(S.message)),l({},H))];case 5:return[2]}})})()}_(eu,"checkPackage");function el(){return /*#__PURE__*/o(function(){var e,t,n,r,o,a,i,c,s,u,l,f;return y(this,function(d){switch(d.label){case 0:e=[{command:_(function(){return td.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:_(function(){return td.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:_(function(){return td.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;d.label=1;case 1:d.trys.push([1,9,10,11]);o=e[Symbol.iterator]();d.label=2;case 2:if(!!(t=(a=o.next()).done))return[3,8];i=a.value,c=i.command,s=i.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,c()];case 4:u=d.sent();return[4,eC("".concat(s," using: ").concat(u),u)];case 5:d.sent();return[2];case 6:l=d.sent();J.warn("Installation attempt failed: ".concat(s)),J.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:f=d.sent();n=true;r=f;return[3,11];case 10:try{if(!t&&o.return!=null){o.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})})()}_(el,"installDependencies");function ef(e,t){return /*#__PURE__*/o(function(){var n,r,o,a,i,c,s,u,f,d,p;return y(this,function(v){switch(v.label){case 0:if(!ea(tu.PACKAGE_JSON)){J.error("package.json not found. Aborting setup.");return[2]}v.label=1;case 1:v.trys.push([1,13,,14]);n=m(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return eu(e,l({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=v.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,el()];case 3:r=v.sent();v.label=4;case 4:r;a=true,i=false,c=undefined;v.label=5;case 5:v.trys.push([5,10,11,12]);s=((o=t===null||t===void 0?void 0:t.postInstallActions)!==null&&o!==void 0?o:[])[Symbol.iterator]();v.label=6;case 6:if(!!(a=(u=s.next()).done))return[3,9];f=u.value;return[4,f()];case 7:v.sent();v.label=8;case 8:a=true;return[3,6];case 9:return[3,12];case 10:d=v.sent();i=true;c=d;return[3,12];case 11:try{if(!a&&s.return!=null){s.return()}}finally{if(i){throw c}}return[7];case 12:return[3,14];case 13:p=v.sent();throw J.error('Failed to setup "'.concat(e.join(", "),'": ').concat(p.message)),p;case 14:return[2]}})})()}_(ef,"setupPackages");import ed from"node-persist";var ep=P();function em(){return /*#__PURE__*/o(function(){var e;return y(this,function(t){switch(t.label){case 0:e=ed.defaultInstance;if(e)return[3,2];return[4,ed.init({dir:ep.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})})()}_(em,"initNodePersist");var ev={get:function e(e){return /*#__PURE__*/o(function(){var t,n;return y(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,em()];case 1:r.sent();return[4,ed.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(J.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/o(function(){var n;return y(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,em()];case 1:r.sent();return[4,ed.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();J.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/o(function(){var t;return y(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,em()];case 1:n.sent();return[4,ed.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();J.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/o(function(){var e,t;return y(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,em()];case 1:n.sent();return[4,ed.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(J.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(J.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/o(function(){return y(this,function(t){try{return[2,"".concat(ep.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(J.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eg=P(),ey=x.promisify(D);function eh(e){return"error_list:".concat(e)}_(eh,"getErrorListKey");function e_(e){return /*#__PURE__*/o(function(){var t,n,r;return y(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];t=Date.now(),n=eh(t);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,ev.set(n,{errors:e,timestamp:t})];case 2:a.sent(),setTimeout(function(){return /*#__PURE__*/o(function(){var e;return y(this,function(t){switch(t.label){case 0:return[4,ev.getLogLink(n)];case 1:e=t.sent();e&&J.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:r=a.sent();J.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})})()}_(e_,"saveErrorListToStorage");function eI(e){var t=[],n=[],r="",o=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,a=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,i=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var c,s,u,l,f;var d=o.exec(e)||[],p=a.exec(e)||[],m=i.exec(e)||[];var v,g,y,h,_,I;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===M.Error?M.Error:M.Warning,message:(v=d===null||d===void 0?void 0:(c=d[4])===null||c===void 0?void 0:c.trim())!==null&&v!==void 0?v:"",rule:(g=d===null||d===void 0?void 0:(s=d[5])===null||s===void 0?void 0:s.trim())!==null&&g!==void 0?g:""}):p.length?t.push({file:(y=p===null||p===void 0?void 0:p[1])!==null&&y!==void 0?y:"",position:"".concat(p[2],":").concat(p[3]),type:p[4]===M.Error?M.Error:M.Warning,message:(h=p===null||p===void 0?void 0:(u=p[5])===null||u===void 0?void 0:u.trim())!==null&&h!==void 0?h:""}):m.length?t.push({file:"commitlint",type:M.Error,message:(_=m===null||m===void 0?void 0:(l=m[1])===null||l===void 0?void 0:l.trim())!==null&&_!==void 0?_:"",rule:(I=m===null||m===void 0?void 0:(f=m[2])===null||f===void 0?void 0:f.trim())!==null&&I!==void 0?I:""}):n.push(e.trim())}}),t.length&&e_(t),eg.DEBUG&&n.length&&(J.warn("Unmatched lines:"),n.forEach(function(e){return J.info(" ".concat(e))}))}_(eI,"parseTextErrors");function eE(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,o=e.line,a=e.column,i=e.ruleId,c=e.message;n.push({type:r===2?M.Error:M.Warning,file:t,position:"".concat(o,":").concat(a),rule:i,message:c})})}),n.length&&e_(n)}catch(t){eI(e)}}_(eE,"parseCommandOutput");function eb(e){return /*#__PURE__*/o(function(e){var t,n,r,o,a,i,c,s,u;var l=arguments;return y(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:eE;n=new AbortController;U.on("SIGINT",function(){J.warn("Process interrupted. Terminating..."),n.abort(),U.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,ey(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),o=r.stdout,a=r.stderr;[o,a].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:i=f.sent();c=i.stdout,s=i.stderr,u=i.message;[c,s].forEach(function(e){return e&&t(e)}),!s&&!c&&J.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}_(eb,"executeCommand");function eT(e){return{raw:!0,cmd:e}}_(eT,"rawCommand");function eS(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(te," ").concat(ej," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(te," ").concat(e7," ").concat(eq," ").concat(e):"".concat(te," ").concat(e$," ").concat(e)}_(eS,"formatCLI");function ew(e,t){return typeof e=="function"?eS(e(t),t):(typeof e==="undefined"?"undefined":v(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?eS(e,t):e}_(ew,"formatCommand");function eC(e,t){return /*#__PURE__*/o(function(){var n;return y(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);J.start("".concat(e)),eg.DEBUG&&J.info("→ ".concat(t));return[4,eb(t)];case 1:r.sent(),J.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw J.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}_(eC,"runCommand");import eO,{join as eR,resolve as eG}from"node:path";var eN=P();function eL(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return eG.apply(void 0,[eN.CWD].concat(m(t)))}_(eL,"resolveWorkingPath");function ek(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return eR.apply(void 0,m(t))}_(ek,"join");var eA=P(),eP=eA.CWD,ej="@cyberskill/shared",eD="node_modules",eU="dist",ex="package.json",eM="package-lock.json",eF="tsconfig.json",eK=".gitignore",eY=".simple-git-hooks.json",eB="pnpm-lock.yaml",eW=".git/hooks/",eJ=".git/COMMIT_EDITMSG",eH=".migrate-mongo.config.js",eV=ek(eP,eD,ej,eU),e$="cyberskill",eq="src/nodejs/cli/index.ts",eQ="eslint",ez="eslint",eX="vitest",eZ="playwright",e0="vitest",e1="@commitlint/cli",e2="commitlint",e3="lint-staged",e4="lint-staged",e5="typescript",e6="tsc",e7="tsx",e8="git",e9="pnpm",te="pnpm exec",tt="simple-git-hooks",tn="simple-git-hooks",tr="@eslint/config-inspector",to="eslint-config-inspector",ta="node-modules-inspector",ti="node-modules-inspector",tc="migrate-mongo",ts="./node_modules/migrate-mongo/bin/migrate-mongo",tu={CYBERSKILL_DIRECTORY:eV,WORKING_DIRECTORY:eP,TS_CONFIG:eL(eF),GIT_IGNORE:eL(eK),GIT_HOOK:eL(eW),GIT_COMMIT_MSG:eL(eJ),SIMPLE_GIT_HOOKS_JSON:eL(eY),PACKAGE_JSON:eL(ex),PACKAGE_LOCK_JSON:eL(eM),PNPM_LOCK_YAML:eL(eB),NODE_MODULES:eL(eD),MIGRATE_MONGO_CONFIG:eL(eH),LINT_STAGED_CONFIG:eL("".concat(eV,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:eL("".concat(eV,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:eL("".concat(eV,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eL("".concat(eV,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eL("".concat(eV,"/react/vitest/vitest.e2e.js"))};function tl(e,t,n){return /*#__PURE__*/o(function(){return y(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case j.CLI:return[3,1];case j.STRING:return[3,3]}return[3,4];case 1:return[4,ef(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),ew(eT("".concat(te," ").concat(n))))];case 3:return[2,ew(eT(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}_(tl,"buildCommand");function tf(e,t,n){return function(){return /*#__PURE__*/o(function(){return y(this,function(r){return[2,tl(e,t,n)]})})()}}_(tf,"commandFactory");var td={simpleGitHooks:tf(j.CLI,tt,tn),eslintInspect:tf(j.CLI,tr,to),nodeModulesInspect:tf(j.CLI,ta,ti),eslintCheck:tf(j.CLI,eQ,"".concat(ez," ").concat(tu.WORKING_DIRECTORY)),eslintFix:tf(j.CLI,eQ,"".concat(ez," ").concat(tu.WORKING_DIRECTORY," --fix")),typescriptCheck:tf(j.CLI,e5,"".concat(e6," -p ").concat(tu.TS_CONFIG," --noEmit")),configureGitHook:tf(j.STRING,"".concat(e8," config core.hooksPath ").concat(tu.GIT_HOOK)),testUnit:tf(j.CLI,eX,"".concat(e0," --config ").concat(tu.UNIT_TEST_CONFIG)),testE2e:tf(j.CLI,"".concat(eX," ").concat(eZ),"".concat(e0," --config ").concat(tu.E2E_TEST_CONFIG)),mongoMigrateCreate:_(function(e){return tf(j.CLI,tc,"".concat(e7," ").concat(ts," create ").concat(e," -f ").concat(tu.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tf(j.CLI,tc,"".concat(e7," ").concat(ts," up -f ").concat(tu.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tf(j.CLI,tc,"".concat(e7," ").concat(ts," down -f ").concat(tu.MIGRATE_MONGO_CONFIG)),commitLint:tf(j.CLI,e1,"".concat(e2," --edit ").concat(tu.GIT_COMMIT_MSG," --config ").concat(tu.COMMITLINT_CONFIG)),lintStaged:tf(j.CLI,e3,"".concat(e4," --config ").concat(tu.LINT_STAGED_CONFIG)),stageBuildDirectory:tf(j.STRING,"".concat(e8," add ").concat(eU)),build:tf(j.STRING,"".concat(e9," run build")),pnpmInstallStandard:tf(j.STRING,"".concat(e9," install")),pnpmInstallLegacy:tf(j.STRING,"".concat(e9," install --legacy-peer-deps")),pnpmInstallForce:tf(j.STRING,"".concat(e9," install --force"))};function tp(e){return w(l({plugins:[S()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[tu.UNIT_TEST_SETUP_CONFIG]}},e))}_(tp,"vitestUnit");function tm(e){return(typeof e==="undefined"?"undefined":v(e))=="object"&&e!==null&&!Array.isArray(e)}_(tm,"isObject");function tv(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r={};var o=true,a=false,i=undefined,c=true,s=false,u=undefined;try{for(var l=t.flat()[Symbol.iterator](),f;!(c=(f=l.next()).done);c=true){var d=f.value;try{for(var v=Object.entries(d)[Symbol.iterator](),g;!(o=(g=v.next()).done);o=true){var y=p(g.value,2),h=y[0],_=y[1];var I=r[h];if(Array.isArray(_)){var E=Array.isArray(I)?I:[];r[h]=m(new Set(m(E).concat(m(_))));continue}if(tm(_)){r[h]=tv(tm(I)?I:{},_);continue}r[h]=_}}catch(e){a=true;i=e}finally{try{if(!o&&v.return!=null){v.return()}}finally{if(a){throw i}}}}}catch(e){s=true;u=e}finally{try{if(!c&&l.return!=null){l.return()}}finally{if(s){throw u}}}return r}_(tv,"deepMerge");var tg=function(e){return e.ESLINT="eslint",e.COMMITLINT="commitlint",e.LINT_STAGED="lint-staged",e.VITEST_REACT_E2E="vitest-react-e2e",e.VITEST_REACT_UNIT="vitest-react-unit",e}({});import*as ty from"globals";var th=[{languageOptions:{globals:l({},ty.node,ty.browser)},rules:{"perfectionist/sort-imports":["error",{internalPattern:["^#.*","^@/.*"]}]},ignores:["build","dist"]}];var t_;var tI=_(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r=tv.apply(void 0,[th].concat(m(t.map(function(e){return e})))),o=r.ignores,a=f(r,["ignores"]),i=Array.isArray(o)&&o.every(function(e){return typeof e=="string"})?{ignores:o}:void 0,c=[a].concat(m(i?[i]:[]));return I.apply(void 0,[{stylistic:{semi:!0,indent:4,quotes:"single"},formatters:{css:!0,html:!0,markdown:"prettier"},yaml:!1,react:!0}].concat(m(c)))},"handleESLint"),tE=(t_={},a(t_,tg.ESLINT,function(e){return tI(e)}),a(t_,tg.COMMITLINT,function(e){return tv(e)}),a(t_,tg.LINT_STAGED,function(e){return tv(e)}),a(t_,tg.VITEST_REACT_UNIT,function(e){return tp(e)}),a(t_,tg.VITEST_REACT_E2E,function(e){return T(e)}),t_);function tb(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++){n[r-1]=arguments[r]}var o=tE[e];if(!o)throw new Error("Unknown config type: ".concat(e));return o.apply(void 0,m(n))}_(tb,"mergeConfigs");export{tb as mergeConfigs};