@cyberskill/shared 1.108.0 → 1.110.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 (75) hide show
  1. package/dist/_tsup-dts-rollup.d.cts +35 -43
  2. package/dist/_tsup-dts-rollup.d.ts +35 -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 +3 -2
  9. package/dist/index.d.ts +3 -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/command/command.util.cjs +1 -1
  16. package/dist/nodejs/command/command.util.js +1 -1
  17. package/dist/nodejs/command/index.cjs +1 -1
  18. package/dist/nodejs/command/index.js +1 -1
  19. package/dist/nodejs/fs/fs.util.cjs +1 -1
  20. package/dist/nodejs/fs/fs.util.d.cts +1 -0
  21. package/dist/nodejs/fs/fs.util.d.ts +1 -0
  22. package/dist/nodejs/fs/fs.util.js +1 -1
  23. package/dist/nodejs/fs/index.cjs +1 -1
  24. package/dist/nodejs/fs/index.d.cts +1 -0
  25. package/dist/nodejs/fs/index.d.ts +1 -0
  26. package/dist/nodejs/fs/index.js +1 -1
  27. package/dist/nodejs/index.cjs +1 -1
  28. package/dist/nodejs/index.d.cts +2 -1
  29. package/dist/nodejs/index.d.ts +2 -1
  30. package/dist/nodejs/index.js +1 -1
  31. package/dist/nodejs/mongo/index.cjs +1 -1
  32. package/dist/nodejs/mongo/index.d.cts +0 -1
  33. package/dist/nodejs/mongo/index.d.ts +0 -1
  34. package/dist/nodejs/mongo/index.js +1 -1
  35. package/dist/nodejs/mongo/mongo.type.d.cts +0 -1
  36. package/dist/nodejs/mongo/mongo.type.d.ts +0 -1
  37. package/dist/nodejs/mongo/mongo.util.cjs +1 -1
  38. package/dist/nodejs/mongo/mongo.util.js +1 -1
  39. package/dist/nodejs/package/index.cjs +1 -1
  40. package/dist/nodejs/package/index.js +1 -1
  41. package/dist/nodejs/package/package.util.cjs +1 -1
  42. package/dist/nodejs/package/package.util.js +1 -1
  43. package/dist/nodejs/path/index.cjs +1 -1
  44. package/dist/nodejs/path/index.d.cts +1 -0
  45. package/dist/nodejs/path/index.d.ts +1 -0
  46. package/dist/nodejs/path/index.js +1 -1
  47. package/dist/nodejs/path/path.constant.cjs +1 -1
  48. package/dist/nodejs/path/path.constant.js +1 -1
  49. package/dist/nodejs/path/path.util.cjs +1 -1
  50. package/dist/nodejs/path/path.util.d.cts +1 -0
  51. package/dist/nodejs/path/path.util.d.ts +1 -0
  52. package/dist/nodejs/path/path.util.js +1 -1
  53. package/dist/react/index.cjs +1 -1
  54. package/dist/react/index.js +1 -1
  55. package/dist/react/vitest/index.cjs +1 -1
  56. package/dist/react/vitest/index.js +1 -1
  57. package/dist/react/vitest/vitest.unit.cjs +1 -1
  58. package/dist/react/vitest/vitest.unit.js +1 -1
  59. package/dist/utils/index.cjs +1 -1
  60. package/dist/utils/index.d.cts +1 -1
  61. package/dist/utils/index.d.ts +1 -1
  62. package/dist/utils/index.js +1 -1
  63. package/dist/utils/object/index.cjs +1 -1
  64. package/dist/utils/object/index.d.cts +1 -1
  65. package/dist/utils/object/index.d.ts +1 -1
  66. package/dist/utils/object/index.js +1 -1
  67. package/dist/utils/object/object.util.cjs +1 -1
  68. package/dist/utils/object/object.util.d.cts +1 -1
  69. package/dist/utils/object/object.util.d.ts +1 -1
  70. package/dist/utils/object/object.util.js +1 -1
  71. package/dist/utils/string/index.cjs +1 -1
  72. package/dist/utils/string/index.js +1 -1
  73. package/dist/utils/string/string.util.cjs +1 -1
  74. package/dist/utils/string/string.util.js +1 -1
  75. package/package.json +4 -4
@@ -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';
@@ -52,6 +51,7 @@ import type { OptionalUnlessRequiredId } from 'mongodb';
52
51
  import type { PaginateModel } from 'mongoose';
53
52
  import type { PaginateOptions } from 'mongoose';
54
53
  import type { PaginateResult } from 'mongoose';
54
+ import pathNodeJS from 'node:path';
55
55
  import type { PipelineStage } from 'mongoose';
56
56
  import type { PopulateOption } from 'mongoose';
57
57
  import type { PopulateOptions } from 'mongoose';
@@ -1564,6 +1564,12 @@ export { formatCommand as formatCommand_alias_1 }
1564
1564
  export { formatCommand as formatCommand_alias_2 }
1565
1565
  export { formatCommand as formatCommand_alias_3 }
1566
1566
 
1567
+ declare const fs: typeof fsExtra;
1568
+ export { fs }
1569
+ export { fs as fs_alias_1 }
1570
+ export { fs as fs_alias_2 }
1571
+ export { fs as fs_alias_3 }
1572
+
1567
1573
  /**
1568
1574
  * Generates a random password of a given length.
1569
1575
  * The password contains a mix of letters, numbers, and special characters.
@@ -1590,14 +1596,13 @@ export { generateShortId as generateShortId_alias_2 }
1590
1596
  export { generateShortId as generateShortId_alias_3 }
1591
1597
 
1592
1598
  /**
1593
- * Generates a slug from a given string.
1599
+ * Generates a slug from a string or an object containing strings.
1594
1600
  * The slug is a URL-friendly version of the string.
1595
- * It replaces spaces with hyphens and removes special characters.
1596
- * @param str - The string to be slugified.
1597
- * @param options - Options for slugify.
1598
- * @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.
1599
1604
  */
1600
- declare function generateSlug(str?: string, options?: I_SlugifyOptions): string;
1605
+ declare function generateSlug<T = string>(input: T, options?: I_SlugifyOptions): T;
1601
1606
  export { generateSlug }
1602
1607
  export { generateSlug as generateSlug_alias_1 }
1603
1608
  export { generateSlug as generateSlug_alias_2 }
@@ -2244,16 +2249,16 @@ export { isJson as isJson_alias_2 }
2244
2249
  export { isJson as isJson_alias_3 }
2245
2250
 
2246
2251
  /**
2247
- * Checks if a value is a plain object.
2248
- * 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.
2249
2254
  * @param val - The value to check.
2250
- * @returns True if the value is a plain object, false otherwise.
2255
+ * @returns True if the value is an object, false otherwise.
2251
2256
  */
2252
- declare function isPlainObject(val: unknown): val is T_Object_2;
2253
- export { isPlainObject }
2254
- export { isPlainObject as isPlainObject_alias_1 }
2255
- export { isPlainObject as isPlainObject_alias_2 }
2256
- 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 }
2257
2262
 
2258
2263
  declare function join(...urls: string[]): string;
2259
2264
  export { join }
@@ -2345,23 +2350,22 @@ declare const mongo: {
2345
2350
  }): I_GenericDocument;
2346
2351
  applyPlugins<T>(schema: T_MongooseShema<T>, plugins: Array<T_MongoosePlugin | false>): void;
2347
2352
  applyMiddlewares<T extends Partial<C_Document>>(schema: T_MongooseShema<T>, middlewares: I_MongooseModelMiddleware<T>[]): void;
2348
- 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<{
2349
2354
  _id: unknown;
2350
2355
  }> & {
2351
2356
  __v: number;
2352
- }, 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<{
2353
2358
  _id: unknown;
2354
2359
  }> & {
2355
2360
  __v: number;
2356
2361
  }>;
2357
2362
  createSchema<T extends Partial<C_Document>>({ mongoose, schema, virtuals, standalone, }: I_CreateSchemaOptions<T>): T_MongooseShema<T>;
2358
2363
  createModel<T extends Partial<C_Document>>({ mongoose: currentMongooseInstance, name, schema, pagination, aggregate, virtuals, middlewares, }: I_CreateModelOptions<T>): I_ExtendedModel<T>;
2359
- createSlugQuery<T>(slug: string, filters?: T_FilterQuery<T>, id?: string): T_CreateSlugQueryResponse<T>;
2360
2364
  validator: {
2361
2365
  isEmpty<T>(): (this: T, value: unknown) => Promise<boolean>;
2362
2366
  isUnique<T extends {
2363
2367
  constructor: {
2364
- findOne: (query: Record<string, unknown>) => Promise<unknown>;
2368
+ exists: (query: Record<string, unknown>) => Promise<unknown>;
2365
2369
  };
2366
2370
  }>(fields: string[]): (this: T, value: unknown) => Promise<boolean>;
2367
2371
  matchesRegex(regexArray: RegExp[]): (value: string) => Promise<boolean>;
@@ -2370,9 +2374,9 @@ declare const mongo: {
2370
2374
  setConfig: (options: Partial<migrate.config.Config>) => void;
2371
2375
  init(): Promise<void>;
2372
2376
  create(description: string): Promise<string>;
2373
- up(db: Db, client: MongoClient): Promise<string[]>;
2374
- down(db: Db, client: MongoClient): Promise<string[]>;
2375
- 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[]>;
2376
2380
  database: typeof migrate.database;
2377
2381
  config: typeof migrate.config;
2378
2382
  };
@@ -2458,9 +2462,7 @@ declare class MongooseController<T extends Partial<C_Document>> {
2458
2462
  deleteOne(filter?: T_FilterQuery<T>, options?: I_DeleteOptionsExtended): Promise<I_Return<T>>;
2459
2463
  deleteMany(filter?: T_FilterQuery<T>, options?: I_DeleteOptionsExtended): Promise<I_Return<T_DeleteResult>>;
2460
2464
  createShortId(id: string, length?: number): Promise<I_Return<string>>;
2461
- createSlug(fieldName: string, fields: T, filters?: T_FilterQuery<T>): Promise<I_Return<string | {
2462
- [key: string]: string;
2463
- }>>;
2465
+ createSlug<R = string>(fieldName: string, fields: T, filters?: T_FilterQuery<T>): Promise<I_Return<R>>;
2464
2466
  aggregate(pipeline: T_PipelineStage[]): Promise<I_Return<T[]>>;
2465
2467
  }
2466
2468
  export { MongooseController }
@@ -2561,6 +2563,12 @@ export { PATH as PATH_alias_1 }
2561
2563
  export { PATH as PATH_alias_2 }
2562
2564
  export { PATH as PATH_alias_3 }
2563
2565
 
2566
+ declare const path: pathNodeJS.PlatformPath;
2567
+ export { path }
2568
+ export { path as path_alias_1 }
2569
+ export { path as path_alias_2 }
2570
+ export { path as path_alias_3 }
2571
+
2564
2572
  declare function pathExistsSync(...paths: string[]): boolean;
2565
2573
  export { pathExistsSync }
2566
2574
  export { pathExistsSync as pathExistsSync_alias_1 }
@@ -3080,22 +3088,6 @@ export { T_ConfigType }
3080
3088
  export { T_ConfigType as T_ConfigType_alias_1 }
3081
3089
  export { T_ConfigType as T_ConfigType_alias_2 }
3082
3090
 
3083
- declare type T_CreateSlugQueryResponse<T> = T_FilterQuery<T> & {
3084
- $or: Array<{
3085
- slug: string;
3086
- } | {
3087
- slugHistory: string;
3088
- }>;
3089
- } & {
3090
- id?: {
3091
- $ne: string;
3092
- };
3093
- };
3094
- export { T_CreateSlugQueryResponse }
3095
- export { T_CreateSlugQueryResponse as T_CreateSlugQueryResponse_alias_1 }
3096
- export { T_CreateSlugQueryResponse as T_CreateSlugQueryResponse_alias_2 }
3097
- export { T_CreateSlugQueryResponse as T_CreateSlugQueryResponse_alias_3 }
3098
-
3099
3091
  declare type T_DeleteResult = DeleteResult;
3100
3092
  export { T_DeleteResult }
3101
3093
  export { T_DeleteResult as T_DeleteResult_alias_1 }
@@ -3198,12 +3190,12 @@ export { T_NextIntlMessageList as T_NextIntlMessageList_alias_1 }
3198
3190
  export { T_NextIntlMessageList as T_NextIntlMessageList_alias_2 }
3199
3191
  export { T_NextIntlMessageList as T_NextIntlMessageList_alias_3 }
3200
3192
 
3201
- declare type T_Object = Record<string, any>;
3193
+ declare type T_Object<T = unknown> = Record<string, T>;
3202
3194
  export { T_Object }
3203
3195
  export { T_Object as T_Object_alias_1 }
3204
3196
  export { T_Object as T_Object_alias_2 }
3205
3197
 
3206
- declare type T_Object_2 = Record<string, any>;
3198
+ declare type T_Object_2<T = unknown> = Record<string, T>;
3207
3199
 
3208
3200
  declare type T_OptionalUnlessRequiredId<T> = OptionalUnlessRequiredId<T>;
3209
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';
@@ -52,6 +51,7 @@ import type { OptionalUnlessRequiredId } from 'mongodb';
52
51
  import type { PaginateModel } from 'mongoose';
53
52
  import type { PaginateOptions } from 'mongoose';
54
53
  import type { PaginateResult } from 'mongoose';
54
+ import pathNodeJS from 'node:path';
55
55
  import type { PipelineStage } from 'mongoose';
56
56
  import type { PopulateOption } from 'mongoose';
57
57
  import type { PopulateOptions } from 'mongoose';
@@ -1564,6 +1564,12 @@ export { formatCommand as formatCommand_alias_1 }
1564
1564
  export { formatCommand as formatCommand_alias_2 }
1565
1565
  export { formatCommand as formatCommand_alias_3 }
1566
1566
 
1567
+ declare const fs: typeof fsExtra;
1568
+ export { fs }
1569
+ export { fs as fs_alias_1 }
1570
+ export { fs as fs_alias_2 }
1571
+ export { fs as fs_alias_3 }
1572
+
1567
1573
  /**
1568
1574
  * Generates a random password of a given length.
1569
1575
  * The password contains a mix of letters, numbers, and special characters.
@@ -1590,14 +1596,13 @@ export { generateShortId as generateShortId_alias_2 }
1590
1596
  export { generateShortId as generateShortId_alias_3 }
1591
1597
 
1592
1598
  /**
1593
- * Generates a slug from a given string.
1599
+ * Generates a slug from a string or an object containing strings.
1594
1600
  * The slug is a URL-friendly version of the string.
1595
- * It replaces spaces with hyphens and removes special characters.
1596
- * @param str - The string to be slugified.
1597
- * @param options - Options for slugify.
1598
- * @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.
1599
1604
  */
1600
- declare function generateSlug(str?: string, options?: I_SlugifyOptions): string;
1605
+ declare function generateSlug<T = string>(input: T, options?: I_SlugifyOptions): T;
1601
1606
  export { generateSlug }
1602
1607
  export { generateSlug as generateSlug_alias_1 }
1603
1608
  export { generateSlug as generateSlug_alias_2 }
@@ -2244,16 +2249,16 @@ export { isJson as isJson_alias_2 }
2244
2249
  export { isJson as isJson_alias_3 }
2245
2250
 
2246
2251
  /**
2247
- * Checks if a value is a plain object.
2248
- * 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.
2249
2254
  * @param val - The value to check.
2250
- * @returns True if the value is a plain object, false otherwise.
2255
+ * @returns True if the value is an object, false otherwise.
2251
2256
  */
2252
- declare function isPlainObject(val: unknown): val is T_Object_2;
2253
- export { isPlainObject }
2254
- export { isPlainObject as isPlainObject_alias_1 }
2255
- export { isPlainObject as isPlainObject_alias_2 }
2256
- 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 }
2257
2262
 
2258
2263
  declare function join(...urls: string[]): string;
2259
2264
  export { join }
@@ -2345,23 +2350,22 @@ declare const mongo: {
2345
2350
  }): I_GenericDocument;
2346
2351
  applyPlugins<T>(schema: T_MongooseShema<T>, plugins: Array<T_MongoosePlugin | false>): void;
2347
2352
  applyMiddlewares<T extends Partial<C_Document>>(schema: T_MongooseShema<T>, middlewares: I_MongooseModelMiddleware<T>[]): void;
2348
- 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<{
2349
2354
  _id: unknown;
2350
2355
  }> & {
2351
2356
  __v: number;
2352
- }, 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<{
2353
2358
  _id: unknown;
2354
2359
  }> & {
2355
2360
  __v: number;
2356
2361
  }>;
2357
2362
  createSchema<T extends Partial<C_Document>>({ mongoose, schema, virtuals, standalone, }: I_CreateSchemaOptions<T>): T_MongooseShema<T>;
2358
2363
  createModel<T extends Partial<C_Document>>({ mongoose: currentMongooseInstance, name, schema, pagination, aggregate, virtuals, middlewares, }: I_CreateModelOptions<T>): I_ExtendedModel<T>;
2359
- createSlugQuery<T>(slug: string, filters?: T_FilterQuery<T>, id?: string): T_CreateSlugQueryResponse<T>;
2360
2364
  validator: {
2361
2365
  isEmpty<T>(): (this: T, value: unknown) => Promise<boolean>;
2362
2366
  isUnique<T extends {
2363
2367
  constructor: {
2364
- findOne: (query: Record<string, unknown>) => Promise<unknown>;
2368
+ exists: (query: Record<string, unknown>) => Promise<unknown>;
2365
2369
  };
2366
2370
  }>(fields: string[]): (this: T, value: unknown) => Promise<boolean>;
2367
2371
  matchesRegex(regexArray: RegExp[]): (value: string) => Promise<boolean>;
@@ -2370,9 +2374,9 @@ declare const mongo: {
2370
2374
  setConfig: (options: Partial<migrate.config.Config>) => void;
2371
2375
  init(): Promise<void>;
2372
2376
  create(description: string): Promise<string>;
2373
- up(db: Db, client: MongoClient): Promise<string[]>;
2374
- down(db: Db, client: MongoClient): Promise<string[]>;
2375
- 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[]>;
2376
2380
  database: typeof migrate.database;
2377
2381
  config: typeof migrate.config;
2378
2382
  };
@@ -2458,9 +2462,7 @@ declare class MongooseController<T extends Partial<C_Document>> {
2458
2462
  deleteOne(filter?: T_FilterQuery<T>, options?: I_DeleteOptionsExtended): Promise<I_Return<T>>;
2459
2463
  deleteMany(filter?: T_FilterQuery<T>, options?: I_DeleteOptionsExtended): Promise<I_Return<T_DeleteResult>>;
2460
2464
  createShortId(id: string, length?: number): Promise<I_Return<string>>;
2461
- createSlug(fieldName: string, fields: T, filters?: T_FilterQuery<T>): Promise<I_Return<string | {
2462
- [key: string]: string;
2463
- }>>;
2465
+ createSlug<R = string>(fieldName: string, fields: T, filters?: T_FilterQuery<T>): Promise<I_Return<R>>;
2464
2466
  aggregate(pipeline: T_PipelineStage[]): Promise<I_Return<T[]>>;
2465
2467
  }
2466
2468
  export { MongooseController }
@@ -2561,6 +2563,12 @@ export { PATH as PATH_alias_1 }
2561
2563
  export { PATH as PATH_alias_2 }
2562
2564
  export { PATH as PATH_alias_3 }
2563
2565
 
2566
+ declare const path: pathNodeJS.PlatformPath;
2567
+ export { path }
2568
+ export { path as path_alias_1 }
2569
+ export { path as path_alias_2 }
2570
+ export { path as path_alias_3 }
2571
+
2564
2572
  declare function pathExistsSync(...paths: string[]): boolean;
2565
2573
  export { pathExistsSync }
2566
2574
  export { pathExistsSync as pathExistsSync_alias_1 }
@@ -3080,22 +3088,6 @@ export { T_ConfigType }
3080
3088
  export { T_ConfigType as T_ConfigType_alias_1 }
3081
3089
  export { T_ConfigType as T_ConfigType_alias_2 }
3082
3090
 
3083
- declare type T_CreateSlugQueryResponse<T> = T_FilterQuery<T> & {
3084
- $or: Array<{
3085
- slug: string;
3086
- } | {
3087
- slugHistory: string;
3088
- }>;
3089
- } & {
3090
- id?: {
3091
- $ne: string;
3092
- };
3093
- };
3094
- export { T_CreateSlugQueryResponse }
3095
- export { T_CreateSlugQueryResponse as T_CreateSlugQueryResponse_alias_1 }
3096
- export { T_CreateSlugQueryResponse as T_CreateSlugQueryResponse_alias_2 }
3097
- export { T_CreateSlugQueryResponse as T_CreateSlugQueryResponse_alias_3 }
3098
-
3099
3091
  declare type T_DeleteResult = DeleteResult;
3100
3092
  export { T_DeleteResult }
3101
3093
  export { T_DeleteResult as T_DeleteResult_alias_1 }
@@ -3198,12 +3190,12 @@ export { T_NextIntlMessageList as T_NextIntlMessageList_alias_1 }
3198
3190
  export { T_NextIntlMessageList as T_NextIntlMessageList_alias_2 }
3199
3191
  export { T_NextIntlMessageList as T_NextIntlMessageList_alias_3 }
3200
3192
 
3201
- declare type T_Object = Record<string, any>;
3193
+ declare type T_Object<T = unknown> = Record<string, T>;
3202
3194
  export { T_Object }
3203
3195
  export { T_Object as T_Object_alias_1 }
3204
3196
  export { T_Object as T_Object_alias_2 }
3205
3197
 
3206
- declare type T_Object_2 = Record<string, any>;
3198
+ declare type T_Object_2<T = unknown> = Record<string, T>;
3207
3199
 
3208
3200
  declare type T_OptionalUnlessRequiredId<T> = OptionalUnlessRequiredId<T>;
3209
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=require("path");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 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 s=c.value}catch(e){r(e);return}if(c.done){t(s)}else{Promise.resolve(s).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,s,"next",e)}function s(e){n(i,o,a,c,s,"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 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 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 p(e,r){return t(e)||c(e,r)||g(e,r)||s()}function v(e){return r(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,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 y(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 s([e,t])}}function s(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=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 r=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,n=e.position,o=e.rule,a=e.message;K.log("".concat(F.gray("File:")," ").concat(F.blue("".concat(t).concat(n?":".concat(n):"")))),o&&K.log(" ".concat(W(r)("Rule:")," ").concat(o)),K.log(" ".concat(W(r)("Message:")," ").concat(a))}),K.box(W(r)("".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,er=$.statSync,en=$.readJsonSync,eo=$.writeJsonSync;function ea(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}return t.every(function(e){return $.pathExistsSync(e)})}_(ea,"pathExistsSync");var ei=P();function ec(e){var t=eL(ei.CWD,eU);if(!ea(t))return!1;try{var r=en(t),n=r.name,o=r.dependencies,a=o===void 0?{}:o,i=r.devDependencies,c=i===void 0?{}:i,s=n===e,u=e in a,l=e in c;return s||u||l?{path:t,file:r,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,r,n,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:r=a.sent(),n=r.version;return[2,n];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 r,n,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]);r=ec(e);if(!r)return[2,l({},V)];s=r.path,u=r.file,f=r.isCurrentProject,d=r.isDepend,p=r.isDevDepend,v=(n=u.dependencies)!==null&&n!==void 0?n:{},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,r,n,o,a,i,c,s,u,l,f;return y(this,function(d){switch(d.label){case 0:e=[{command:_(function(){return tf.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:_(function(){return tf.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:_(function(){return tf.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,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();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.")}})})()}_(el,"installDependencies");function ef(e,t){return /*#__PURE__*/o(function(){var r,n,o,a,i,c,s,u,f,d,p;return y(this,function(m){switch(m.label){case 0:if(!ea(ts.PACKAGE_JSON)){J.error("package.json not found. Aborting setup.");return[2]}m.label=1;case 1:m.trys.push([1,13,,14]);r=v(new Set(e)).sort();return[4,Promise.all(r.map(function(e){return eu(e,l({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:n=m.sent().every(function(e){return e.isUpToDate});if(n)return[3,4];return[4,el()];case 3:n=m.sent();m.label=4;case 4:n;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,r;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.getItem(e)];case 2:return[2,(t=n.sent())!==null&&t!==void 0?t:null];case 3:r=n.sent();return[2,(J.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 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.setItem(e,t)];case 2:n.sent();return[3,4];case 3:r=n.sent();J.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 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.removeItem(e)];case 2:r.sent();return[3,4];case 3:t=r.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(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ev()];case 1:r.sent();return[4,ed.keys()];case 2:e=r.sent();return[2,Array.isArray(e)?e:(J.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=r.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,r,n;return y(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];t=Date.now(),r=eh(t);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,em.set(r,{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(r)];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:n=a.sent();J.error("Failed to save errors: ".concat(n.message));return[3,4];case 4:return[2]}})})()}_(e_,"saveErrorListToStorage");function eE(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,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&&n?t.push({file:n,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:""}):r.push(e.trim())}}),t.length&&e_(t),eg.DEBUG&&r.length&&(J.warn("Unmatched lines:"),r.forEach(function(e){return J.info(" ".concat(e))}))}_(eE,"parseTextErrors");function eI(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?M.Error:M.Warning,file:t,position:"".concat(o,":").concat(a),rule:i,message:c})})}),r.length&&e_(r)}catch(t){eE(e)}}_(eI,"parseCommandOutput");function eb(e){return /*#__PURE__*/o(function(e){var t,r,n,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;r=new AbortController;U.on("SIGINT",function(){J.warn("Process interrupted. Terminating..."),r.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: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,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(e9," ").concat(eP," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(e9," ").concat(e6," ").concat(e$," ").concat(e):"".concat(e9," ").concat(eH," ").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 r;return y(this,function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);J.start("".concat(e)),eg.DEBUG&&J.info("→ ".concat(t));return[4,eb(t)];case 1:n.sent(),J.success("".concat(e," done."));return[3,3];case 2:r=n.sent();throw J.error("".concat(e," failed: ").concat(r.message)),r;case 3:return[2]}})})()}_(eC,"runCommand");import{join as eO,resolve as eR}from"node:path";var eG=P();function eN(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}return eR.apply(void 0,[eG.CWD].concat(v(t)))}_(eN,"resolveWorkingPath");function eL(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}return eO.apply(void 0,v(t))}_(eL,"join");var eA=P(),ek=eA.CWD,eP="@cyberskill/shared",ej="node_modules",eD="dist",eU="package.json",ex="package-lock.json",eM="tsconfig.json",eF=".gitignore",eK=".simple-git-hooks.json",eY="pnpm-lock.yaml",eB=".git/hooks/",eW=".git/COMMIT_EDITMSG",eJ=".migrate-mongo.config.js",eV=eL(ek,ej,eP,eD),eH="cyberskill",e$="src/nodejs/cli/index.ts",eq="eslint",eQ="eslint",ez="vitest",eX="playwright",eZ="vitest",e0="@commitlint/cli",e1="commitlint",e2="lint-staged",e3="lint-staged",e4="typescript",e5="tsc",e6="tsx",e7="git",e8="pnpm",e9="pnpm exec",te="simple-git-hooks",tt="simple-git-hooks",tr="@eslint/config-inspector",tn="eslint-config-inspector",to="node-modules-inspector",ta="node-modules-inspector",ti="migrate-mongo",tc="./node_modules/migrate-mongo/bin/migrate-mongo",ts={CYBERSKILL_DIRECTORY:eV,WORKING_DIRECTORY:ek,TS_CONFIG:eN(eM),GIT_IGNORE:eN(eF),GIT_HOOK:eN(eB),GIT_COMMIT_MSG:eN(eW),SIMPLE_GIT_HOOKS_JSON:eN(eK),PACKAGE_JSON:eN(eU),PACKAGE_LOCK_JSON:eN(ex),PNPM_LOCK_YAML:eN(eY),NODE_MODULES:eN(ej),MIGRATE_MONGO_CONFIG:eN(eJ),LINT_STAGED_CONFIG:eN("".concat(eV,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:eN("".concat(eV,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:eN("".concat(eV,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eN("".concat(eV,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eN("".concat(eV,"/react/vitest/vitest.e2e.js"))};function tu(e,t,r){return /*#__PURE__*/o(function(){return y(this,function(n){switch(n.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,(n.sent(),ew(eT("".concat(e9," ").concat(r))))];case 3:return[2,ew(eT(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}_(tu,"buildCommand");function tl(e,t,r){return function(){return /*#__PURE__*/o(function(){return y(this,function(n){return[2,tu(e,t,r)]})})()}}_(tl,"commandFactory");var tf={simpleGitHooks:tl(j.CLI,te,tt),eslintInspect:tl(j.CLI,tr,tn),nodeModulesInspect:tl(j.CLI,to,ta),eslintCheck:tl(j.CLI,eq,"".concat(eQ," ").concat(ts.WORKING_DIRECTORY)),eslintFix:tl(j.CLI,eq,"".concat(eQ," ").concat(ts.WORKING_DIRECTORY," --fix")),typescriptCheck:tl(j.CLI,e4,"".concat(e5," -p ").concat(ts.TS_CONFIG," --noEmit")),configureGitHook:tl(j.STRING,"".concat(e7," config core.hooksPath ").concat(ts.GIT_HOOK)),testUnit:tl(j.CLI,ez,"".concat(eZ," --config ").concat(ts.UNIT_TEST_CONFIG)),testE2e:tl(j.CLI,"".concat(ez," ").concat(eX),"".concat(eZ," --config ").concat(ts.E2E_TEST_CONFIG)),mongoMigrateCreate:_(function(e){return tl(j.CLI,ti,"".concat(e6," ").concat(tc," create ").concat(e," -f ").concat(ts.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tl(j.CLI,ti,"".concat(e6," ").concat(tc," up -f ").concat(ts.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tl(j.CLI,ti,"".concat(e6," ").concat(tc," down -f ").concat(ts.MIGRATE_MONGO_CONFIG)),commitLint:tl(j.CLI,e0,"".concat(e1," --edit ").concat(ts.GIT_COMMIT_MSG," --config ").concat(ts.COMMITLINT_CONFIG)),lintStaged:tl(j.CLI,e2,"".concat(e3," --config ").concat(ts.LINT_STAGED_CONFIG)),stageBuildDirectory:tl(j.STRING,"".concat(e7," add ").concat(eD)),build:tl(j.STRING,"".concat(e8," run build")),pnpmInstallStandard:tl(j.STRING,"".concat(e8," install")),pnpmInstallLegacy:tl(j.STRING,"".concat(e8," install --legacy-peer-deps")),pnpmInstallForce:tl(j.STRING,"".concat(e8," install --force"))};function td(e){return w(l({plugins:[S()],test:{globals:!0,environment:"jsdom",pool:"vmThreads",include:["**/*.test.unit.?(c|m)[jt]s?(x)"],setupFiles:[ts.UNIT_TEST_SETUP_CONFIG]}},e))}_(td,"vitestUnit");function tp(e){return(typeof e==="undefined"?"undefined":m(e))=="object"&&e!==null&&!Array.isArray(e)}_(tp,"isPlainObject");function tv(){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,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=n[h];if(Array.isArray(_)){var I=Array.isArray(E)?E:[];n[h]=v(new Set(v(I).concat(v(_))));continue}if(tp(_)){n[h]=tv(tp(E)?E:{},_);continue}n[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 n}_(tv,"deepMerge");var tm=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 tg from"globals";var ty=[{languageOptions:{globals:l({},tg.node,tg.browser)},rules:{"perfectionist/sort-imports":["error",{internalPattern:["^#.*","^@/.*"]}]},ignores:["build","dist"]}];var th;var t_=_(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}return tv.apply(void 0,v(t))},"passThroughHandler"),tE=_(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}var n=tv.apply(void 0,[ty].concat(v(t))),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(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"),tI=_(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}return T.apply(void 0,v(t))},"handleVitestReactE2E"),tb=_(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}return td.apply(void 0,v(t))},"handleVitestReactUnit"),tT=(th={},a(th,tm.ESLINT,tE),a(th,tm.COMMITLINT,t_),a(th,tm.LINT_STAGED,t_),a(th,tm.VITEST_REACT_E2E,tI),a(th,tm.VITEST_REACT_UNIT,tb),th);function tS(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=tT[e];if(!o)throw new Error("Unknown config type: ".concat(e));return o.apply(void 0,v(r))}_(tS,"mergeConfigs");export{tS 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};