@cyberskill/shared 3.3.0 → 3.5.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 (65) hide show
  1. package/dist/config/graphql-codegen/graphql-codegen.type.d.ts +1 -1
  2. package/dist/config/storybook/storybook.preview.js +8 -15
  3. package/dist/config/storybook/storybook.preview.js.map +1 -1
  4. package/dist/config/vitest/vitest.unit.js.map +1 -1
  5. package/dist/constant/index.js +2 -2
  6. package/dist/constant/response-status.d.ts +254 -0
  7. package/dist/constant/response-status.js +65 -1
  8. package/dist/constant/response-status.js.map +1 -1
  9. package/dist/node/cli/index.js +10 -9
  10. package/dist/node/cli/index.js.map +1 -1
  11. package/dist/node/command/command.util.js +32 -20
  12. package/dist/node/command/command.util.js.map +1 -1
  13. package/dist/node/express/express.type.d.ts +2 -0
  14. package/dist/node/express/express.util.js +11 -4
  15. package/dist/node/express/express.util.js.map +1 -1
  16. package/dist/node/log/log.type.d.ts +1 -5
  17. package/dist/node/log/log.type.js.map +1 -1
  18. package/dist/node/log/log.util.d.ts +2 -4
  19. package/dist/node/log/log.util.js +38 -40
  20. package/dist/node/log/log.util.js.map +1 -1
  21. package/dist/node/mongo/mongo.controller.d.ts +3 -1
  22. package/dist/node/mongo/mongo.controller.mongoose.js +75 -78
  23. package/dist/node/mongo/mongo.controller.mongoose.js.map +1 -1
  24. package/dist/node/mongo/mongo.controller.native.d.ts +9 -1
  25. package/dist/node/mongo/mongo.controller.native.js +17 -14
  26. package/dist/node/mongo/mongo.controller.native.js.map +1 -1
  27. package/dist/node/mongo/mongo.controller.type.d.ts +76 -0
  28. package/dist/node/mongo/mongo.dynamic-populate.d.ts +2 -1
  29. package/dist/node/mongo/mongo.dynamic-populate.js +12 -12
  30. package/dist/node/mongo/mongo.dynamic-populate.js.map +1 -1
  31. package/dist/node/mongo/mongo.internal-types.d.ts +81 -0
  32. package/dist/node/mongo/mongo.internal-types.js +40 -0
  33. package/dist/node/mongo/mongo.internal-types.js.map +1 -0
  34. package/dist/node/mongo/mongo.populate.d.ts +2 -1
  35. package/dist/node/mongo/mongo.populate.js +130 -171
  36. package/dist/node/mongo/mongo.populate.js.map +1 -1
  37. package/dist/node/mongo/mongo.type.d.ts +1 -1
  38. package/dist/node/mongo/mongo.type.js.map +1 -1
  39. package/dist/node/mongo/mongo.util.d.ts +8 -8
  40. package/dist/node/mongo/mongo.util.js +34 -32
  41. package/dist/node/mongo/mongo.util.js.map +1 -1
  42. package/dist/node/path/path.constant.d.ts +3 -6
  43. package/dist/node/path/path.constant.js +31 -25
  44. package/dist/node/path/path.constant.js.map +1 -1
  45. package/dist/node/storage/index.js +2 -2
  46. package/dist/node/storage/storage.util.d.ts +6 -0
  47. package/dist/node/storage/storage.util.js +4 -1
  48. package/dist/node/storage/storage.util.js.map +1 -1
  49. package/dist/react/log/log.type.d.ts +1 -5
  50. package/dist/react/log/log.util.d.ts +2 -5
  51. package/dist/react/log/log.util.js +21 -25
  52. package/dist/react/log/log.util.js.map +1 -1
  53. package/dist/util/common/common.util.d.ts +8 -0
  54. package/dist/util/common/common.util.js +4 -1
  55. package/dist/util/common/common.util.js.map +1 -1
  56. package/dist/util/common/index.js +2 -2
  57. package/dist/util/index.d.ts +1 -0
  58. package/dist/util/index.js +7 -6
  59. package/dist/util/log/index.d.ts +2 -0
  60. package/dist/util/log/index.js +2 -0
  61. package/dist/util/log/log.type.d.ts +8 -0
  62. package/dist/util/log/log.util.d.ts +17 -0
  63. package/dist/util/log/log.util.js +14 -0
  64. package/dist/util/log/log.util.js.map +1 -0
  65. package/package.json +83 -40
@@ -2,5 +2,5 @@ export interface I_GraphqlCodegenConfig {
2
2
  uri: string;
3
3
  from: string;
4
4
  to: string;
5
- target: 'client' | 'server';
5
+ target?: 'client' | 'server';
6
6
  }
@@ -1,10 +1,11 @@
1
+ import { deepMerge as e } from "../../util/object/object.util.js";
1
2
  //#region src/config/storybook/storybook.preview.ts
2
- var e = /(background|color)$/i, t = /Date$/i;
3
- function n(n) {
4
- let r = { parameters: {
3
+ var t = /(background|color)$/i, n = /Date$/i;
4
+ function r(r) {
5
+ return e({ parameters: {
5
6
  controls: { matchers: {
6
- color: e,
7
- date: t
7
+ color: t,
8
+ date: n
8
9
  } },
9
10
  backgrounds: {
10
11
  default: "light",
@@ -16,17 +17,9 @@ function n(n) {
16
17
  value: "#333333"
17
18
  }]
18
19
  }
19
- } };
20
- return {
21
- ...r,
22
- ...n,
23
- parameters: {
24
- ...r.parameters,
25
- ...n?.parameters
26
- }
27
- };
20
+ } }, r ?? {});
28
21
  }
29
22
  //#endregion
30
- export { n as storybookPreview };
23
+ export { r as storybookPreview };
31
24
 
32
25
  //# sourceMappingURL=storybook.preview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storybook.preview.js","names":[],"sources":["../../../src/config/storybook/storybook.preview.ts"],"sourcesContent":["import type { Preview } from '@storybook/react';\n\nconst RE_COLOR_MATCHER = /(background|color)$/i;\nconst RE_DATE_MATCHER = /Date$/i;\n\n/**\n * Creates a Storybook preview configuration with preconfigured controls and background settings.\n * This function generates a preview configuration that provides default parameters\n * and decorators for Storybook stories. It sets up common controls, backgrounds,\n * and viewport settings for consistent story rendering.\n *\n * The configuration includes:\n * - Default control parameters for common props\n * - Background color options\n * - Viewport presets for responsive testing\n * - Actions configuration for event handlers\n * - Configurable options merging\n *\n * @param options - Additional preview configuration options to merge with the base config.\n * @returns A Storybook preview configuration object.\n */\nexport function storybookPreview(options?: Partial<Preview>): Preview {\n const preview: Preview = {\n parameters: {\n controls: {\n matchers: {\n color: RE_COLOR_MATCHER,\n date: RE_DATE_MATCHER,\n },\n },\n backgrounds: {\n default: 'light',\n values: [\n {\n name: 'light',\n value: '#ffffff',\n },\n {\n name: 'dark',\n value: '#333333',\n },\n ],\n },\n },\n };\n\n return {\n ...preview,\n ...options,\n parameters: {\n ...preview.parameters,\n ...options?.parameters,\n },\n };\n}\n"],"mappings":";AAEA,IAAM,IAAmB,wBACnB,IAAkB;AAkBxB,SAAgB,EAAiB,GAAqC;CAClE,IAAM,IAAmB,EACrB,YAAY;EACR,UAAU,EACN,UAAU;GACN,OAAO;GACP,MAAM;GACT,EACJ;EACD,aAAa;GACT,SAAS;GACT,QAAQ,CACJ;IACI,MAAM;IACN,OAAO;IACV,EACD;IACI,MAAM;IACN,OAAO;IACV,CACJ;GACJ;EACJ,EACJ;AAED,QAAO;EACH,GAAG;EACH,GAAG;EACH,YAAY;GACR,GAAG,EAAQ;GACX,GAAG,GAAS;GACf;EACJ"}
1
+ {"version":3,"file":"storybook.preview.js","names":[],"sources":["../../../src/config/storybook/storybook.preview.ts"],"sourcesContent":["import type { Preview } from '@storybook/react';\n\nimport { deepMerge } from '#util/object/index.js';\n\nconst RE_COLOR_MATCHER = /(background|color)$/i;\nconst RE_DATE_MATCHER = /Date$/i;\n\n/**\n * Creates a Storybook preview configuration with preconfigured controls and background settings.\n * This function generates a preview configuration that provides default parameters\n * and decorators for Storybook stories. It sets up common controls, backgrounds,\n * and viewport settings for consistent story rendering.\n *\n * The configuration includes:\n * - Default control parameters for common props\n * - Background color options\n * - Viewport presets for responsive testing\n * - Actions configuration for event handlers\n * - Configurable options merging\n *\n * @param options - Additional preview configuration options to merge with the base config.\n * @returns A Storybook preview configuration object.\n */\nexport function storybookPreview(options?: Partial<Preview>): Preview {\n const preview: Preview = {\n parameters: {\n controls: {\n matchers: {\n color: RE_COLOR_MATCHER,\n date: RE_DATE_MATCHER,\n },\n },\n backgrounds: {\n default: 'light',\n values: [\n {\n name: 'light',\n value: '#ffffff',\n },\n {\n name: 'dark',\n value: '#333333',\n },\n ],\n },\n },\n };\n\n return deepMerge(preview, options ?? {}) as Preview;\n}\n"],"mappings":";;AAIA,IAAM,IAAmB,wBACnB,IAAkB;AAkBxB,SAAgB,EAAiB,GAAqC;AAyBlE,QAAO,EAxBkB,EACrB,YAAY;EACR,UAAU,EACN,UAAU;GACN,OAAO;GACP,MAAM;GACT,EACJ;EACD,aAAa;GACT,SAAS;GACT,QAAQ,CACJ;IACI,MAAM;IACN,OAAO;IACV,EACD;IACI,MAAM;IACN,OAAO;IACV,CACJ;GACJ;EACJ,EACJ,EAEyB,KAAW,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"vitest.unit.js","names":[],"sources":["../../../src/config/vitest/vitest.unit.ts"],"sourcesContent":["import type { UserConfig } from 'vite';\n\nimport react from '@vitejs/plugin-react-swc';\nimport { defineConfig } from 'vitest/config';\n\nimport { deepMerge } from '../../util/object/index.js';\n\n/**\n * Creates a Vitest configuration for unit testing with React support.\n * This function generates a Vitest configuration specifically designed for unit testing\n * React components and JavaScript/TypeScript modules. It includes JSDOM environment\n * for DOM simulation and comprehensive testing setup.\n *\n * The configuration includes:\n * - React SWC plugin for fast React compilation\n * - JSDOM environment for DOM simulation\n * - Global test functions availability\n * - VM threads pool for parallel test execution\n * - Unit test file pattern matching\n * - Setup files for testing library configuration\n * - Configurable options merging\n *\n * @param options - Additional Vite configuration options to merge with the unit test config.\n * @returns A Vitest configuration object optimized for unit testing with React and DOM support.\n */\nexport function vitestUnit(options: UserConfig) {\n const config = {\n plugins: [react()],\n test: {\n globals: true,\n environment: 'jsdom',\n pool: 'vmThreads',\n include: ['**/*.test.unit.?(c|m)[jt]s?(x)'],\n setupFiles: ['./vitest.unit.setup.ts'],\n coverage: {\n provider: 'istanbul',\n reporter: ['text', 'lcov'],\n reportsDirectory: './coverage',\n thresholds: {\n statements: 80,\n branches: 80,\n functions: 80,\n lines: 80,\n },\n },\n },\n };\n\n return defineConfig(deepMerge(config as any, options as any) as UserConfig);\n}\n\nexport default vitestUnit({});\n"],"mappings":";;;;AAyBA,SAAgB,EAAW,GAAqB;AAuB5C,QAAO,EAAa,EAtBL;EACX,SAAS,CAAC,GAAO,CAAC;EAClB,MAAM;GACF,SAAS;GACT,aAAa;GACb,MAAM;GACN,SAAS,CAAC,iCAAiC;GAC3C,YAAY,CAAC,yBAAyB;GACtC,UAAU;IACN,UAAU;IACV,UAAU,CAAC,QAAQ,OAAO;IAC1B,kBAAkB;IAClB,YAAY;KACR,YAAY;KACZ,UAAU;KACV,WAAW;KACX,OAAO;KACV;IACJ;GACJ;EACJ,EAE4C,EAAe,CAAe;;AAG/E,IAAA,IAAe,EAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"vitest.unit.js","names":[],"sources":["../../../src/config/vitest/vitest.unit.ts"],"sourcesContent":["import type { UserConfig } from 'vite';\n\nimport react from '@vitejs/plugin-react-swc';\nimport { defineConfig } from 'vitest/config';\n\nimport { deepMerge } from '#util/object/index.js';\n\n/**\n * Creates a Vitest configuration for unit testing with React support.\n * This function generates a Vitest configuration specifically designed for unit testing\n * React components and JavaScript/TypeScript modules. It includes JSDOM environment\n * for DOM simulation and comprehensive testing setup.\n *\n * The configuration includes:\n * - React SWC plugin for fast React compilation\n * - JSDOM environment for DOM simulation\n * - Global test functions availability\n * - VM threads pool for parallel test execution\n * - Unit test file pattern matching\n * - Setup files for testing library configuration\n * - Configurable options merging\n *\n * @param options - Additional Vite configuration options to merge with the unit test config.\n * @returns A Vitest configuration object optimized for unit testing with React and DOM support.\n */\nexport function vitestUnit(options: UserConfig) {\n const config = {\n plugins: [react()],\n test: {\n globals: true,\n environment: 'jsdom',\n pool: 'vmThreads',\n include: ['**/*.test.unit.?(c|m)[jt]s?(x)'],\n setupFiles: ['./vitest.unit.setup.ts'],\n coverage: {\n provider: 'istanbul',\n reporter: ['text', 'lcov'],\n reportsDirectory: './coverage',\n thresholds: {\n statements: 80,\n branches: 80,\n functions: 80,\n lines: 80,\n },\n },\n },\n };\n\n return defineConfig(deepMerge(config as any, options as any) as UserConfig);\n}\n\nexport default vitestUnit({});\n"],"mappings":";;;;AAyBA,SAAgB,EAAW,GAAqB;AAuB5C,QAAO,EAAa,EAtBL;EACX,SAAS,CAAC,GAAO,CAAC;EAClB,MAAM;GACF,SAAS;GACT,aAAa;GACb,MAAM;GACN,SAAS,CAAC,iCAAiC;GAC3C,YAAY,CAAC,yBAAyB;GACtC,UAAU;IACN,UAAU;IACV,UAAU,CAAC,QAAQ,OAAO;IAC1B,kBAAkB;IAClB,YAAY;KACR,YAAY;KACZ,UAAU;KACV,WAAW;KACX,OAAO;KACV;IACJ;GACJ;EACJ,EAE4C,EAAe,CAAe;;AAG/E,IAAA,IAAe,EAAW,EAAE,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { IS_BROWSER as e } from "./common.js";
2
- import { RESPONSE_STATUS as t } from "./response-status.js";
3
- export { e as IS_BROWSER, t as RESPONSE_STATUS };
2
+ import { GRAPHQL_RESPONSE_STATUS as t, HTTP_RESPONSE_STATUS as n, RESPONSE_STATUS as r } from "./response-status.js";
3
+ export { t as GRAPHQL_RESPONSE_STATUS, n as HTTP_RESPONSE_STATUS, e as IS_BROWSER, r as RESPONSE_STATUS };
@@ -248,3 +248,257 @@ export declare const RESPONSE_STATUS: {
248
248
  readonly MESSAGE: "Network Authentication Required";
249
249
  };
250
250
  };
251
+ /** GraphQL error codes — CODE is always a string. */
252
+ export declare const GRAPHQL_RESPONSE_STATUS: {
253
+ readonly GRAPHQL_PARSE_FAILED: {
254
+ readonly CODE: "GRAPHQL_PARSE_FAILED";
255
+ readonly MESSAGE: "The GraphQL operation string contains a syntax error.";
256
+ };
257
+ readonly GRAPHQL_VALIDATION_FAILED: {
258
+ readonly CODE: "GRAPHQL_VALIDATION_FAILED";
259
+ readonly MESSAGE: "The GraphQL operation is not valid against the server's schema.";
260
+ };
261
+ readonly BAD_USER_INPUT: {
262
+ readonly CODE: "BAD_USER_INPUT";
263
+ readonly MESSAGE: "The GraphQL operation includes an invalid value for a field argument.";
264
+ };
265
+ readonly PERSISTED_QUERY_NOT_FOUND: {
266
+ readonly CODE: "PERSISTED_QUERY_NOT_FOUND";
267
+ readonly MESSAGE: "A client sent the hash of a query string to execute via automatic persisted queries, but the query was not in the APQ cache.";
268
+ };
269
+ readonly PERSISTED_QUERY_NOT_SUPPORTED: {
270
+ readonly CODE: "PERSISTED_QUERY_NOT_SUPPORTED";
271
+ readonly MESSAGE: "A client sent the hash of a query string to execute via automatic persisted queries, but the server has disabled APQ.";
272
+ };
273
+ readonly OPERATION_RESOLUTION_FAILURE: {
274
+ readonly CODE: "OPERATION_RESOLUTION_FAILURE";
275
+ readonly MESSAGE: "The request was parsed successfully and is valid against the server's schema, but the server couldn't resolve which operation to run. This occurs when a request containing multiple named operations doesn't specify which operation to run (i.e.,operationName), or if the named operation isn't included in the request.";
276
+ };
277
+ };
278
+ /** HTTP status codes — CODE is always a number. */
279
+ export declare const HTTP_RESPONSE_STATUS: {
280
+ readonly CONTINUE: {
281
+ readonly CODE: 100;
282
+ readonly MESSAGE: "Continue";
283
+ };
284
+ readonly SWITCHING_PROTOCOLS: {
285
+ readonly CODE: 101;
286
+ readonly MESSAGE: "Switching Protocols";
287
+ };
288
+ readonly PROCESSING: {
289
+ readonly CODE: 102;
290
+ readonly MESSAGE: "Processing";
291
+ };
292
+ readonly OK: {
293
+ readonly CODE: 200;
294
+ readonly MESSAGE: "OK";
295
+ };
296
+ readonly CREATED: {
297
+ readonly CODE: 201;
298
+ readonly MESSAGE: "Created";
299
+ };
300
+ readonly ACCEPTED: {
301
+ readonly CODE: 202;
302
+ readonly MESSAGE: "Accepted";
303
+ };
304
+ readonly NON_AUTHORITATIVE_INFORMATION: {
305
+ readonly CODE: 203;
306
+ readonly MESSAGE: "Non Authoritative Information";
307
+ };
308
+ readonly NO_CONTENT: {
309
+ readonly CODE: 204;
310
+ readonly MESSAGE: "No Content";
311
+ };
312
+ readonly RESET_CONTENT: {
313
+ readonly CODE: 205;
314
+ readonly MESSAGE: "Reset Content";
315
+ };
316
+ readonly PARTIAL_CONTENT: {
317
+ readonly CODE: 206;
318
+ readonly MESSAGE: "Partial Content";
319
+ };
320
+ readonly MULTI_STATUS: {
321
+ readonly CODE: 207;
322
+ readonly MESSAGE: "Multi-Status";
323
+ };
324
+ readonly MULTIPLE_CHOICES: {
325
+ readonly CODE: 300;
326
+ readonly MESSAGE: "Multiple Choices";
327
+ };
328
+ readonly MOVED_PERMANENTLY: {
329
+ readonly CODE: 301;
330
+ readonly MESSAGE: "Moved Permanently";
331
+ };
332
+ readonly MOVED_TEMPORARILY: {
333
+ readonly CODE: 302;
334
+ readonly MESSAGE: "Moved Temporarily";
335
+ };
336
+ readonly SEE_OTHER: {
337
+ readonly CODE: 303;
338
+ readonly MESSAGE: "See Other";
339
+ };
340
+ readonly NOT_MODIFIED: {
341
+ readonly CODE: 304;
342
+ readonly MESSAGE: "Not Modified";
343
+ };
344
+ readonly USE_PROXY: {
345
+ readonly CODE: 305;
346
+ readonly MESSAGE: "Use Proxy";
347
+ };
348
+ readonly TEMPORARY_REDIRECT: {
349
+ readonly CODE: 307;
350
+ readonly MESSAGE: "Temporary Redirect";
351
+ };
352
+ readonly PERMANENT_REDIRECT: {
353
+ readonly CODE: 308;
354
+ readonly MESSAGE: "Permanent Redirect";
355
+ };
356
+ readonly BAD_REQUEST: {
357
+ readonly CODE: 400;
358
+ readonly MESSAGE: "Bad Request";
359
+ };
360
+ readonly UNAUTHORIZED: {
361
+ readonly CODE: 401;
362
+ readonly MESSAGE: "Unauthorized";
363
+ };
364
+ readonly PAYMENT_REQUIRED: {
365
+ readonly CODE: 402;
366
+ readonly MESSAGE: "Payment Required";
367
+ };
368
+ readonly FORBIDDEN: {
369
+ readonly CODE: 403;
370
+ readonly MESSAGE: "Forbidden";
371
+ };
372
+ readonly NOT_FOUND: {
373
+ readonly CODE: 404;
374
+ readonly MESSAGE: "Not Found";
375
+ };
376
+ readonly METHOD_NOT_ALLOWED: {
377
+ readonly CODE: 405;
378
+ readonly MESSAGE: "Method Not Allowed";
379
+ };
380
+ readonly NOT_ACCEPTABLE: {
381
+ readonly CODE: 406;
382
+ readonly MESSAGE: "Not Acceptable";
383
+ };
384
+ readonly PROXY_AUTHENTICATION_REQUIRED: {
385
+ readonly CODE: 407;
386
+ readonly MESSAGE: "Proxy Authentication Required";
387
+ };
388
+ readonly REQUEST_TIMEOUT: {
389
+ readonly CODE: 408;
390
+ readonly MESSAGE: "Request Timeout";
391
+ };
392
+ readonly CONFLICT: {
393
+ readonly CODE: 409;
394
+ readonly MESSAGE: "Conflict";
395
+ };
396
+ readonly GONE: {
397
+ readonly CODE: 410;
398
+ readonly MESSAGE: "Gone";
399
+ };
400
+ readonly LENGTH_REQUIRED: {
401
+ readonly CODE: 411;
402
+ readonly MESSAGE: "Length Required";
403
+ };
404
+ readonly PRECONDITION_FAILED: {
405
+ readonly CODE: 412;
406
+ readonly MESSAGE: "Precondition Failed";
407
+ };
408
+ readonly REQUEST_TOO_LONG: {
409
+ readonly CODE: 413;
410
+ readonly MESSAGE: "Request Entity Too Large";
411
+ };
412
+ readonly REQUEST_URI_TOO_LONG: {
413
+ readonly CODE: 414;
414
+ readonly MESSAGE: "Request-URI Too Long";
415
+ };
416
+ readonly UNSUPPORTED_MEDIA_TYPE: {
417
+ readonly CODE: 415;
418
+ readonly MESSAGE: "Unsupported Media Type";
419
+ };
420
+ readonly REQUESTED_RANGE_NOT_SATISFIABLE: {
421
+ readonly CODE: 416;
422
+ readonly MESSAGE: "Requested Range Not Satisfiable";
423
+ };
424
+ readonly EXPECTATION_FAILED: {
425
+ readonly CODE: 417;
426
+ readonly MESSAGE: "Expectation Failed";
427
+ };
428
+ readonly IM_A_TEAPOT: {
429
+ readonly CODE: 418;
430
+ readonly MESSAGE: "I'm a teapot";
431
+ };
432
+ readonly INSUFFICIENT_SPACE_ON_RESOURCE: {
433
+ readonly CODE: 419;
434
+ readonly MESSAGE: "Insufficient Space on Resource";
435
+ };
436
+ readonly METHOD_FAILURE: {
437
+ readonly CODE: 420;
438
+ readonly MESSAGE: "Method Failure";
439
+ };
440
+ readonly MISDIRECTED_REQUEST: {
441
+ readonly CODE: 421;
442
+ readonly MESSAGE: "Misdirected Request";
443
+ };
444
+ readonly UNPROCESSABLE_ENTITY: {
445
+ readonly CODE: 422;
446
+ readonly MESSAGE: "Unprocessable Entity";
447
+ };
448
+ readonly LOCKED: {
449
+ readonly CODE: 423;
450
+ readonly MESSAGE: "Locked";
451
+ };
452
+ readonly FAILED_DEPENDENCY: {
453
+ readonly CODE: 424;
454
+ readonly MESSAGE: "Failed Dependency";
455
+ };
456
+ readonly PRECONDITION_REQUIRED: {
457
+ readonly CODE: 428;
458
+ readonly MESSAGE: "Precondition Required";
459
+ };
460
+ readonly TOO_MANY_REQUESTS: {
461
+ readonly CODE: 429;
462
+ readonly MESSAGE: "Too Many Requests";
463
+ };
464
+ readonly REQUEST_HEADER_FIELDS_TOO_LARGE: {
465
+ readonly CODE: 431;
466
+ readonly MESSAGE: "Request Header Fields Too Large";
467
+ };
468
+ readonly UNAVAILABLE_FOR_LEGAL_REASONS: {
469
+ readonly CODE: 451;
470
+ readonly MESSAGE: "Unavailable For Legal Reasons";
471
+ };
472
+ readonly INTERNAL_SERVER_ERROR: {
473
+ readonly CODE: 500;
474
+ readonly MESSAGE: "Internal Server Error";
475
+ };
476
+ readonly NOT_IMPLEMENTED: {
477
+ readonly CODE: 501;
478
+ readonly MESSAGE: "Not Implemented";
479
+ };
480
+ readonly BAD_GATEWAY: {
481
+ readonly CODE: 502;
482
+ readonly MESSAGE: "Bad Gateway";
483
+ };
484
+ readonly SERVICE_UNAVAILABLE: {
485
+ readonly CODE: 503;
486
+ readonly MESSAGE: "Service Unavailable";
487
+ };
488
+ readonly GATEWAY_TIMEOUT: {
489
+ readonly CODE: 504;
490
+ readonly MESSAGE: "Gateway Timeout";
491
+ };
492
+ readonly HTTP_VERSION_NOT_SUPPORTED: {
493
+ readonly CODE: 505;
494
+ readonly MESSAGE: "HTTP Version Not Supported";
495
+ };
496
+ readonly INSUFFICIENT_STORAGE: {
497
+ readonly CODE: 507;
498
+ readonly MESSAGE: "Insufficient Storage";
499
+ };
500
+ readonly NETWORK_AUTHENTICATION_REQUIRED: {
501
+ readonly CODE: 511;
502
+ readonly MESSAGE: "Network Authentication Required";
503
+ };
504
+ };
@@ -248,8 +248,72 @@ var e = {
248
248
  CODE: 511,
249
249
  MESSAGE: "Network Authentication Required"
250
250
  }
251
+ }, t = {
252
+ GRAPHQL_PARSE_FAILED: e.GRAPHQL_PARSE_FAILED,
253
+ GRAPHQL_VALIDATION_FAILED: e.GRAPHQL_VALIDATION_FAILED,
254
+ BAD_USER_INPUT: e.BAD_USER_INPUT,
255
+ PERSISTED_QUERY_NOT_FOUND: e.PERSISTED_QUERY_NOT_FOUND,
256
+ PERSISTED_QUERY_NOT_SUPPORTED: e.PERSISTED_QUERY_NOT_SUPPORTED,
257
+ OPERATION_RESOLUTION_FAILURE: e.OPERATION_RESOLUTION_FAILURE
258
+ }, n = {
259
+ CONTINUE: e.CONTINUE,
260
+ SWITCHING_PROTOCOLS: e.SWITCHING_PROTOCOLS,
261
+ PROCESSING: e.PROCESSING,
262
+ OK: e.OK,
263
+ CREATED: e.CREATED,
264
+ ACCEPTED: e.ACCEPTED,
265
+ NON_AUTHORITATIVE_INFORMATION: e.NON_AUTHORITATIVE_INFORMATION,
266
+ NO_CONTENT: e.NO_CONTENT,
267
+ RESET_CONTENT: e.RESET_CONTENT,
268
+ PARTIAL_CONTENT: e.PARTIAL_CONTENT,
269
+ MULTI_STATUS: e.MULTI_STATUS,
270
+ MULTIPLE_CHOICES: e.MULTIPLE_CHOICES,
271
+ MOVED_PERMANENTLY: e.MOVED_PERMANENTLY,
272
+ MOVED_TEMPORARILY: e.MOVED_TEMPORARILY,
273
+ SEE_OTHER: e.SEE_OTHER,
274
+ NOT_MODIFIED: e.NOT_MODIFIED,
275
+ USE_PROXY: e.USE_PROXY,
276
+ TEMPORARY_REDIRECT: e.TEMPORARY_REDIRECT,
277
+ PERMANENT_REDIRECT: e.PERMANENT_REDIRECT,
278
+ BAD_REQUEST: e.BAD_REQUEST,
279
+ UNAUTHORIZED: e.UNAUTHORIZED,
280
+ PAYMENT_REQUIRED: e.PAYMENT_REQUIRED,
281
+ FORBIDDEN: e.FORBIDDEN,
282
+ NOT_FOUND: e.NOT_FOUND,
283
+ METHOD_NOT_ALLOWED: e.METHOD_NOT_ALLOWED,
284
+ NOT_ACCEPTABLE: e.NOT_ACCEPTABLE,
285
+ PROXY_AUTHENTICATION_REQUIRED: e.PROXY_AUTHENTICATION_REQUIRED,
286
+ REQUEST_TIMEOUT: e.REQUEST_TIMEOUT,
287
+ CONFLICT: e.CONFLICT,
288
+ GONE: e.GONE,
289
+ LENGTH_REQUIRED: e.LENGTH_REQUIRED,
290
+ PRECONDITION_FAILED: e.PRECONDITION_FAILED,
291
+ REQUEST_TOO_LONG: e.REQUEST_TOO_LONG,
292
+ REQUEST_URI_TOO_LONG: e.REQUEST_URI_TOO_LONG,
293
+ UNSUPPORTED_MEDIA_TYPE: e.UNSUPPORTED_MEDIA_TYPE,
294
+ REQUESTED_RANGE_NOT_SATISFIABLE: e.REQUESTED_RANGE_NOT_SATISFIABLE,
295
+ EXPECTATION_FAILED: e.EXPECTATION_FAILED,
296
+ IM_A_TEAPOT: e.IM_A_TEAPOT,
297
+ INSUFFICIENT_SPACE_ON_RESOURCE: e.INSUFFICIENT_SPACE_ON_RESOURCE,
298
+ METHOD_FAILURE: e.METHOD_FAILURE,
299
+ MISDIRECTED_REQUEST: e.MISDIRECTED_REQUEST,
300
+ UNPROCESSABLE_ENTITY: e.UNPROCESSABLE_ENTITY,
301
+ LOCKED: e.LOCKED,
302
+ FAILED_DEPENDENCY: e.FAILED_DEPENDENCY,
303
+ PRECONDITION_REQUIRED: e.PRECONDITION_REQUIRED,
304
+ TOO_MANY_REQUESTS: e.TOO_MANY_REQUESTS,
305
+ REQUEST_HEADER_FIELDS_TOO_LARGE: e.REQUEST_HEADER_FIELDS_TOO_LARGE,
306
+ UNAVAILABLE_FOR_LEGAL_REASONS: e.UNAVAILABLE_FOR_LEGAL_REASONS,
307
+ INTERNAL_SERVER_ERROR: e.INTERNAL_SERVER_ERROR,
308
+ NOT_IMPLEMENTED: e.NOT_IMPLEMENTED,
309
+ BAD_GATEWAY: e.BAD_GATEWAY,
310
+ SERVICE_UNAVAILABLE: e.SERVICE_UNAVAILABLE,
311
+ GATEWAY_TIMEOUT: e.GATEWAY_TIMEOUT,
312
+ HTTP_VERSION_NOT_SUPPORTED: e.HTTP_VERSION_NOT_SUPPORTED,
313
+ INSUFFICIENT_STORAGE: e.INSUFFICIENT_STORAGE,
314
+ NETWORK_AUTHENTICATION_REQUIRED: e.NETWORK_AUTHENTICATION_REQUIRED
251
315
  };
252
316
  //#endregion
253
- export { e as RESPONSE_STATUS };
317
+ export { t as GRAPHQL_RESPONSE_STATUS, n as HTTP_RESPONSE_STATUS, e as RESPONSE_STATUS };
254
318
 
255
319
  //# sourceMappingURL=response-status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"response-status.js","names":[],"sources":["../../src/constant/response-status.ts"],"sourcesContent":["export const RESPONSE_STATUS = {\n GRAPHQL_PARSE_FAILED: {\n CODE: 'GRAPHQL_PARSE_FAILED',\n MESSAGE: 'The GraphQL operation string contains a syntax error.',\n },\n GRAPHQL_VALIDATION_FAILED: {\n CODE: 'GRAPHQL_VALIDATION_FAILED',\n MESSAGE: `The GraphQL operation is not valid against the server's schema.`,\n },\n BAD_USER_INPUT: {\n CODE: 'BAD_USER_INPUT',\n MESSAGE:\n 'The GraphQL operation includes an invalid value for a field argument.',\n },\n PERSISTED_QUERY_NOT_FOUND: {\n CODE: 'PERSISTED_QUERY_NOT_FOUND',\n MESSAGE:\n 'A client sent the hash of a query string to execute via automatic persisted queries, but the query was not in the APQ cache.',\n },\n PERSISTED_QUERY_NOT_SUPPORTED: {\n CODE: 'PERSISTED_QUERY_NOT_SUPPORTED',\n MESSAGE:\n 'A client sent the hash of a query string to execute via automatic persisted queries, but the server has disabled APQ.',\n },\n OPERATION_RESOLUTION_FAILURE: {\n CODE: 'OPERATION_RESOLUTION_FAILURE',\n MESSAGE: `The request was parsed successfully and is valid against the server's schema, but the server couldn't resolve which operation to run. This occurs when a request containing multiple named operations doesn't specify which operation to run (i.e.,operationName), or if the named operation isn't included in the request.`,\n },\n CONTINUE: {\n CODE: 100,\n MESSAGE: 'Continue',\n },\n SWITCHING_PROTOCOLS: {\n CODE: 101,\n MESSAGE: 'Switching Protocols',\n },\n PROCESSING: {\n CODE: 102,\n MESSAGE: 'Processing',\n },\n OK: {\n CODE: 200,\n MESSAGE: 'OK',\n },\n CREATED: {\n CODE: 201,\n MESSAGE: 'Created',\n },\n ACCEPTED: {\n CODE: 202,\n MESSAGE: 'Accepted',\n },\n NON_AUTHORITATIVE_INFORMATION: {\n CODE: 203,\n MESSAGE: 'Non Authoritative Information',\n },\n NO_CONTENT: {\n CODE: 204,\n MESSAGE: 'No Content',\n },\n RESET_CONTENT: {\n CODE: 205,\n MESSAGE: 'Reset Content',\n },\n PARTIAL_CONTENT: {\n CODE: 206,\n MESSAGE: 'Partial Content',\n },\n MULTI_STATUS: {\n CODE: 207,\n MESSAGE: 'Multi-Status',\n },\n MULTIPLE_CHOICES: {\n CODE: 300,\n MESSAGE: 'Multiple Choices',\n },\n MOVED_PERMANENTLY: {\n CODE: 301,\n MESSAGE: 'Moved Permanently',\n },\n MOVED_TEMPORARILY: {\n CODE: 302,\n MESSAGE: 'Moved Temporarily',\n },\n SEE_OTHER: {\n CODE: 303,\n MESSAGE: 'See Other',\n },\n NOT_MODIFIED: {\n CODE: 304,\n MESSAGE: 'Not Modified',\n },\n USE_PROXY: {\n CODE: 305,\n MESSAGE: 'Use Proxy',\n },\n TEMPORARY_REDIRECT: {\n CODE: 307,\n MESSAGE: 'Temporary Redirect',\n },\n PERMANENT_REDIRECT: {\n CODE: 308,\n MESSAGE: 'Permanent Redirect',\n },\n BAD_REQUEST: {\n CODE: 400,\n MESSAGE: 'Bad Request',\n },\n UNAUTHORIZED: {\n CODE: 401,\n MESSAGE: 'Unauthorized',\n },\n PAYMENT_REQUIRED: {\n CODE: 402,\n MESSAGE: 'Payment Required',\n },\n FORBIDDEN: {\n CODE: 403,\n MESSAGE: 'Forbidden',\n },\n NOT_FOUND: {\n CODE: 404,\n MESSAGE: 'Not Found',\n },\n METHOD_NOT_ALLOWED: {\n CODE: 405,\n MESSAGE: 'Method Not Allowed',\n },\n NOT_ACCEPTABLE: {\n CODE: 406,\n MESSAGE: 'Not Acceptable',\n },\n PROXY_AUTHENTICATION_REQUIRED: {\n CODE: 407,\n MESSAGE: 'Proxy Authentication Required',\n },\n REQUEST_TIMEOUT: {\n CODE: 408,\n MESSAGE: 'Request Timeout',\n },\n CONFLICT: {\n CODE: 409,\n MESSAGE: 'Conflict',\n },\n GONE: {\n CODE: 410,\n MESSAGE: 'Gone',\n },\n LENGTH_REQUIRED: {\n CODE: 411,\n MESSAGE: 'Length Required',\n },\n PRECONDITION_FAILED: {\n CODE: 412,\n MESSAGE: 'Precondition Failed',\n },\n REQUEST_TOO_LONG: {\n CODE: 413,\n MESSAGE: 'Request Entity Too Large',\n },\n REQUEST_URI_TOO_LONG: {\n CODE: 414,\n MESSAGE: 'Request-URI Too Long',\n },\n UNSUPPORTED_MEDIA_TYPE: {\n CODE: 415,\n MESSAGE: 'Unsupported Media Type',\n },\n REQUESTED_RANGE_NOT_SATISFIABLE: {\n CODE: 416,\n MESSAGE: 'Requested Range Not Satisfiable',\n },\n EXPECTATION_FAILED: {\n CODE: 417,\n MESSAGE: 'Expectation Failed',\n },\n IM_A_TEAPOT: {\n CODE: 418,\n MESSAGE: 'I\\'m a teapot',\n },\n INSUFFICIENT_SPACE_ON_RESOURCE: {\n CODE: 419,\n MESSAGE: 'Insufficient Space on Resource',\n },\n METHOD_FAILURE: {\n CODE: 420,\n MESSAGE: 'Method Failure',\n },\n MISDIRECTED_REQUEST: {\n CODE: 421,\n MESSAGE: 'Misdirected Request',\n },\n UNPROCESSABLE_ENTITY: {\n CODE: 422,\n MESSAGE: 'Unprocessable Entity',\n },\n LOCKED: {\n CODE: 423,\n MESSAGE: 'Locked',\n },\n FAILED_DEPENDENCY: {\n CODE: 424,\n MESSAGE: 'Failed Dependency',\n },\n PRECONDITION_REQUIRED: {\n CODE: 428,\n MESSAGE: 'Precondition Required',\n },\n TOO_MANY_REQUESTS: {\n CODE: 429,\n MESSAGE: 'Too Many Requests',\n },\n REQUEST_HEADER_FIELDS_TOO_LARGE: {\n CODE: 431,\n MESSAGE: 'Request Header Fields Too Large',\n },\n UNAVAILABLE_FOR_LEGAL_REASONS: {\n CODE: 451,\n MESSAGE: 'Unavailable For Legal Reasons',\n },\n INTERNAL_SERVER_ERROR: {\n CODE: 500,\n MESSAGE: 'Internal Server Error',\n },\n NOT_IMPLEMENTED: {\n CODE: 501,\n MESSAGE: 'Not Implemented',\n },\n BAD_GATEWAY: {\n CODE: 502,\n MESSAGE: 'Bad Gateway',\n },\n SERVICE_UNAVAILABLE: {\n CODE: 503,\n MESSAGE: 'Service Unavailable',\n },\n GATEWAY_TIMEOUT: {\n CODE: 504,\n MESSAGE: 'Gateway Timeout',\n },\n HTTP_VERSION_NOT_SUPPORTED: {\n CODE: 505,\n MESSAGE: 'HTTP Version Not Supported',\n },\n INSUFFICIENT_STORAGE: {\n CODE: 507,\n MESSAGE: 'Insufficient Storage',\n },\n NETWORK_AUTHENTICATION_REQUIRED: {\n CODE: 511,\n MESSAGE: 'Network Authentication Required',\n },\n} as const satisfies Record<string, { readonly CODE: number | string; readonly MESSAGE: string }>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"response-status.js","names":[],"sources":["../../src/constant/response-status.ts"],"sourcesContent":["export const RESPONSE_STATUS = {\n GRAPHQL_PARSE_FAILED: {\n CODE: 'GRAPHQL_PARSE_FAILED',\n MESSAGE: 'The GraphQL operation string contains a syntax error.',\n },\n GRAPHQL_VALIDATION_FAILED: {\n CODE: 'GRAPHQL_VALIDATION_FAILED',\n MESSAGE: `The GraphQL operation is not valid against the server's schema.`,\n },\n BAD_USER_INPUT: {\n CODE: 'BAD_USER_INPUT',\n MESSAGE:\n 'The GraphQL operation includes an invalid value for a field argument.',\n },\n PERSISTED_QUERY_NOT_FOUND: {\n CODE: 'PERSISTED_QUERY_NOT_FOUND',\n MESSAGE:\n 'A client sent the hash of a query string to execute via automatic persisted queries, but the query was not in the APQ cache.',\n },\n PERSISTED_QUERY_NOT_SUPPORTED: {\n CODE: 'PERSISTED_QUERY_NOT_SUPPORTED',\n MESSAGE:\n 'A client sent the hash of a query string to execute via automatic persisted queries, but the server has disabled APQ.',\n },\n OPERATION_RESOLUTION_FAILURE: {\n CODE: 'OPERATION_RESOLUTION_FAILURE',\n MESSAGE: `The request was parsed successfully and is valid against the server's schema, but the server couldn't resolve which operation to run. This occurs when a request containing multiple named operations doesn't specify which operation to run (i.e.,operationName), or if the named operation isn't included in the request.`,\n },\n CONTINUE: {\n CODE: 100,\n MESSAGE: 'Continue',\n },\n SWITCHING_PROTOCOLS: {\n CODE: 101,\n MESSAGE: 'Switching Protocols',\n },\n PROCESSING: {\n CODE: 102,\n MESSAGE: 'Processing',\n },\n OK: {\n CODE: 200,\n MESSAGE: 'OK',\n },\n CREATED: {\n CODE: 201,\n MESSAGE: 'Created',\n },\n ACCEPTED: {\n CODE: 202,\n MESSAGE: 'Accepted',\n },\n NON_AUTHORITATIVE_INFORMATION: {\n CODE: 203,\n MESSAGE: 'Non Authoritative Information',\n },\n NO_CONTENT: {\n CODE: 204,\n MESSAGE: 'No Content',\n },\n RESET_CONTENT: {\n CODE: 205,\n MESSAGE: 'Reset Content',\n },\n PARTIAL_CONTENT: {\n CODE: 206,\n MESSAGE: 'Partial Content',\n },\n MULTI_STATUS: {\n CODE: 207,\n MESSAGE: 'Multi-Status',\n },\n MULTIPLE_CHOICES: {\n CODE: 300,\n MESSAGE: 'Multiple Choices',\n },\n MOVED_PERMANENTLY: {\n CODE: 301,\n MESSAGE: 'Moved Permanently',\n },\n MOVED_TEMPORARILY: {\n CODE: 302,\n MESSAGE: 'Moved Temporarily',\n },\n SEE_OTHER: {\n CODE: 303,\n MESSAGE: 'See Other',\n },\n NOT_MODIFIED: {\n CODE: 304,\n MESSAGE: 'Not Modified',\n },\n USE_PROXY: {\n CODE: 305,\n MESSAGE: 'Use Proxy',\n },\n TEMPORARY_REDIRECT: {\n CODE: 307,\n MESSAGE: 'Temporary Redirect',\n },\n PERMANENT_REDIRECT: {\n CODE: 308,\n MESSAGE: 'Permanent Redirect',\n },\n BAD_REQUEST: {\n CODE: 400,\n MESSAGE: 'Bad Request',\n },\n UNAUTHORIZED: {\n CODE: 401,\n MESSAGE: 'Unauthorized',\n },\n PAYMENT_REQUIRED: {\n CODE: 402,\n MESSAGE: 'Payment Required',\n },\n FORBIDDEN: {\n CODE: 403,\n MESSAGE: 'Forbidden',\n },\n NOT_FOUND: {\n CODE: 404,\n MESSAGE: 'Not Found',\n },\n METHOD_NOT_ALLOWED: {\n CODE: 405,\n MESSAGE: 'Method Not Allowed',\n },\n NOT_ACCEPTABLE: {\n CODE: 406,\n MESSAGE: 'Not Acceptable',\n },\n PROXY_AUTHENTICATION_REQUIRED: {\n CODE: 407,\n MESSAGE: 'Proxy Authentication Required',\n },\n REQUEST_TIMEOUT: {\n CODE: 408,\n MESSAGE: 'Request Timeout',\n },\n CONFLICT: {\n CODE: 409,\n MESSAGE: 'Conflict',\n },\n GONE: {\n CODE: 410,\n MESSAGE: 'Gone',\n },\n LENGTH_REQUIRED: {\n CODE: 411,\n MESSAGE: 'Length Required',\n },\n PRECONDITION_FAILED: {\n CODE: 412,\n MESSAGE: 'Precondition Failed',\n },\n REQUEST_TOO_LONG: {\n CODE: 413,\n MESSAGE: 'Request Entity Too Large',\n },\n REQUEST_URI_TOO_LONG: {\n CODE: 414,\n MESSAGE: 'Request-URI Too Long',\n },\n UNSUPPORTED_MEDIA_TYPE: {\n CODE: 415,\n MESSAGE: 'Unsupported Media Type',\n },\n REQUESTED_RANGE_NOT_SATISFIABLE: {\n CODE: 416,\n MESSAGE: 'Requested Range Not Satisfiable',\n },\n EXPECTATION_FAILED: {\n CODE: 417,\n MESSAGE: 'Expectation Failed',\n },\n IM_A_TEAPOT: {\n CODE: 418,\n MESSAGE: 'I\\'m a teapot',\n },\n INSUFFICIENT_SPACE_ON_RESOURCE: {\n CODE: 419,\n MESSAGE: 'Insufficient Space on Resource',\n },\n METHOD_FAILURE: {\n CODE: 420,\n MESSAGE: 'Method Failure',\n },\n MISDIRECTED_REQUEST: {\n CODE: 421,\n MESSAGE: 'Misdirected Request',\n },\n UNPROCESSABLE_ENTITY: {\n CODE: 422,\n MESSAGE: 'Unprocessable Entity',\n },\n LOCKED: {\n CODE: 423,\n MESSAGE: 'Locked',\n },\n FAILED_DEPENDENCY: {\n CODE: 424,\n MESSAGE: 'Failed Dependency',\n },\n PRECONDITION_REQUIRED: {\n CODE: 428,\n MESSAGE: 'Precondition Required',\n },\n TOO_MANY_REQUESTS: {\n CODE: 429,\n MESSAGE: 'Too Many Requests',\n },\n REQUEST_HEADER_FIELDS_TOO_LARGE: {\n CODE: 431,\n MESSAGE: 'Request Header Fields Too Large',\n },\n UNAVAILABLE_FOR_LEGAL_REASONS: {\n CODE: 451,\n MESSAGE: 'Unavailable For Legal Reasons',\n },\n INTERNAL_SERVER_ERROR: {\n CODE: 500,\n MESSAGE: 'Internal Server Error',\n },\n NOT_IMPLEMENTED: {\n CODE: 501,\n MESSAGE: 'Not Implemented',\n },\n BAD_GATEWAY: {\n CODE: 502,\n MESSAGE: 'Bad Gateway',\n },\n SERVICE_UNAVAILABLE: {\n CODE: 503,\n MESSAGE: 'Service Unavailable',\n },\n GATEWAY_TIMEOUT: {\n CODE: 504,\n MESSAGE: 'Gateway Timeout',\n },\n HTTP_VERSION_NOT_SUPPORTED: {\n CODE: 505,\n MESSAGE: 'HTTP Version Not Supported',\n },\n INSUFFICIENT_STORAGE: {\n CODE: 507,\n MESSAGE: 'Insufficient Storage',\n },\n NETWORK_AUTHENTICATION_REQUIRED: {\n CODE: 511,\n MESSAGE: 'Network Authentication Required',\n },\n} as const satisfies Record<string, { readonly CODE: number | string; readonly MESSAGE: string }>;\n\n// ─── Typed subsets ───────────────────────────────────────────────────────────\n// Use these instead of `RESPONSE_STATUS` when you need compile-time\n// certainty that CODE is a number (HTTP) or string (GraphQL).\n\n/** GraphQL error codes — CODE is always a string. */\nexport const GRAPHQL_RESPONSE_STATUS = {\n GRAPHQL_PARSE_FAILED: RESPONSE_STATUS.GRAPHQL_PARSE_FAILED,\n GRAPHQL_VALIDATION_FAILED: RESPONSE_STATUS.GRAPHQL_VALIDATION_FAILED,\n BAD_USER_INPUT: RESPONSE_STATUS.BAD_USER_INPUT,\n PERSISTED_QUERY_NOT_FOUND: RESPONSE_STATUS.PERSISTED_QUERY_NOT_FOUND,\n PERSISTED_QUERY_NOT_SUPPORTED: RESPONSE_STATUS.PERSISTED_QUERY_NOT_SUPPORTED,\n OPERATION_RESOLUTION_FAILURE: RESPONSE_STATUS.OPERATION_RESOLUTION_FAILURE,\n} as const satisfies Record<string, { readonly CODE: string; readonly MESSAGE: string }>;\n\n/** HTTP status codes — CODE is always a number. */\nexport const HTTP_RESPONSE_STATUS = {\n CONTINUE: RESPONSE_STATUS.CONTINUE,\n SWITCHING_PROTOCOLS: RESPONSE_STATUS.SWITCHING_PROTOCOLS,\n PROCESSING: RESPONSE_STATUS.PROCESSING,\n OK: RESPONSE_STATUS.OK,\n CREATED: RESPONSE_STATUS.CREATED,\n ACCEPTED: RESPONSE_STATUS.ACCEPTED,\n NON_AUTHORITATIVE_INFORMATION: RESPONSE_STATUS.NON_AUTHORITATIVE_INFORMATION,\n NO_CONTENT: RESPONSE_STATUS.NO_CONTENT,\n RESET_CONTENT: RESPONSE_STATUS.RESET_CONTENT,\n PARTIAL_CONTENT: RESPONSE_STATUS.PARTIAL_CONTENT,\n MULTI_STATUS: RESPONSE_STATUS.MULTI_STATUS,\n MULTIPLE_CHOICES: RESPONSE_STATUS.MULTIPLE_CHOICES,\n MOVED_PERMANENTLY: RESPONSE_STATUS.MOVED_PERMANENTLY,\n MOVED_TEMPORARILY: RESPONSE_STATUS.MOVED_TEMPORARILY,\n SEE_OTHER: RESPONSE_STATUS.SEE_OTHER,\n NOT_MODIFIED: RESPONSE_STATUS.NOT_MODIFIED,\n USE_PROXY: RESPONSE_STATUS.USE_PROXY,\n TEMPORARY_REDIRECT: RESPONSE_STATUS.TEMPORARY_REDIRECT,\n PERMANENT_REDIRECT: RESPONSE_STATUS.PERMANENT_REDIRECT,\n BAD_REQUEST: RESPONSE_STATUS.BAD_REQUEST,\n UNAUTHORIZED: RESPONSE_STATUS.UNAUTHORIZED,\n PAYMENT_REQUIRED: RESPONSE_STATUS.PAYMENT_REQUIRED,\n FORBIDDEN: RESPONSE_STATUS.FORBIDDEN,\n NOT_FOUND: RESPONSE_STATUS.NOT_FOUND,\n METHOD_NOT_ALLOWED: RESPONSE_STATUS.METHOD_NOT_ALLOWED,\n NOT_ACCEPTABLE: RESPONSE_STATUS.NOT_ACCEPTABLE,\n PROXY_AUTHENTICATION_REQUIRED: RESPONSE_STATUS.PROXY_AUTHENTICATION_REQUIRED,\n REQUEST_TIMEOUT: RESPONSE_STATUS.REQUEST_TIMEOUT,\n CONFLICT: RESPONSE_STATUS.CONFLICT,\n GONE: RESPONSE_STATUS.GONE,\n LENGTH_REQUIRED: RESPONSE_STATUS.LENGTH_REQUIRED,\n PRECONDITION_FAILED: RESPONSE_STATUS.PRECONDITION_FAILED,\n REQUEST_TOO_LONG: RESPONSE_STATUS.REQUEST_TOO_LONG,\n REQUEST_URI_TOO_LONG: RESPONSE_STATUS.REQUEST_URI_TOO_LONG,\n UNSUPPORTED_MEDIA_TYPE: RESPONSE_STATUS.UNSUPPORTED_MEDIA_TYPE,\n REQUESTED_RANGE_NOT_SATISFIABLE: RESPONSE_STATUS.REQUESTED_RANGE_NOT_SATISFIABLE,\n EXPECTATION_FAILED: RESPONSE_STATUS.EXPECTATION_FAILED,\n IM_A_TEAPOT: RESPONSE_STATUS.IM_A_TEAPOT,\n INSUFFICIENT_SPACE_ON_RESOURCE: RESPONSE_STATUS.INSUFFICIENT_SPACE_ON_RESOURCE,\n METHOD_FAILURE: RESPONSE_STATUS.METHOD_FAILURE,\n MISDIRECTED_REQUEST: RESPONSE_STATUS.MISDIRECTED_REQUEST,\n UNPROCESSABLE_ENTITY: RESPONSE_STATUS.UNPROCESSABLE_ENTITY,\n LOCKED: RESPONSE_STATUS.LOCKED,\n FAILED_DEPENDENCY: RESPONSE_STATUS.FAILED_DEPENDENCY,\n PRECONDITION_REQUIRED: RESPONSE_STATUS.PRECONDITION_REQUIRED,\n TOO_MANY_REQUESTS: RESPONSE_STATUS.TOO_MANY_REQUESTS,\n REQUEST_HEADER_FIELDS_TOO_LARGE: RESPONSE_STATUS.REQUEST_HEADER_FIELDS_TOO_LARGE,\n UNAVAILABLE_FOR_LEGAL_REASONS: RESPONSE_STATUS.UNAVAILABLE_FOR_LEGAL_REASONS,\n INTERNAL_SERVER_ERROR: RESPONSE_STATUS.INTERNAL_SERVER_ERROR,\n NOT_IMPLEMENTED: RESPONSE_STATUS.NOT_IMPLEMENTED,\n BAD_GATEWAY: RESPONSE_STATUS.BAD_GATEWAY,\n SERVICE_UNAVAILABLE: RESPONSE_STATUS.SERVICE_UNAVAILABLE,\n GATEWAY_TIMEOUT: RESPONSE_STATUS.GATEWAY_TIMEOUT,\n HTTP_VERSION_NOT_SUPPORTED: RESPONSE_STATUS.HTTP_VERSION_NOT_SUPPORTED,\n INSUFFICIENT_STORAGE: RESPONSE_STATUS.INSUFFICIENT_STORAGE,\n NETWORK_AUTHENTICATION_REQUIRED: RESPONSE_STATUS.NETWORK_AUTHENTICATION_REQUIRED,\n} as const satisfies Record<string, { readonly CODE: number; readonly MESSAGE: string }>;\n"],"mappings":"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"}
@@ -28,7 +28,8 @@ async function O(e = !1) {
28
28
  throwOnError: !0
29
29
  });
30
30
  } catch (e) {
31
- e.code === "ETIMEDOUT" || e.killed || e.signal === "SIGTERM" ? (s.warn("Lint check timed out. Retrying with debug mode enabled..."), C.env.DEBUG = "true", await p(`${n} (Debug Mode)`, t)) : o(e);
31
+ let r = e;
32
+ r.code === "ETIMEDOUT" || r.killed || r.signal === "SIGTERM" ? (s.warn("Lint check timed out. Retrying with debug mode enabled..."), C.env.DEBUG = "true", await p(`${n} (Debug Mode)`, t)) : o(e);
32
33
  }
33
34
  }
34
35
  function k(e, t) {
@@ -46,19 +47,19 @@ async function j() {
46
47
  s.error("Failed to retrieve package information. Aborting lint-staged.");
47
48
  return;
48
49
  }
49
- e.result.isCurrentProject && await p(`Building package: ${_}`, await x.build()), await p("Executing lint-staged", await x.lintStaged()), A();
50
+ e.result.isCurrentProject && await p(`Building package: ${_}`, await x.build()), await p("Executing lint-staged", await x.lintStaged()), await A();
50
51
  }
51
52
  async function M() {
52
53
  await p("Inspecting ESLint configuration", await x.eslintInspect());
53
54
  }
54
55
  async function N() {
55
- await u(), await D(), await O(), A();
56
+ await u(), await D(), await O(), await A();
56
57
  }
57
58
  async function P() {
58
- await u(), await D(), await O(!0), A();
59
+ await u(), await D(), await O(!0), await A();
59
60
  }
60
61
  async function F() {
61
- await u(), await p("Validating commit message", await x.commitLint()), A();
62
+ await u(), await p("Validating commit message", await x.commitLint()), await A();
62
63
  }
63
64
  async function I() {
64
65
  await p("Configuring Git hooks", await x.configureGitHook()), r(y.GIT_HOOK);
@@ -86,16 +87,16 @@ async function V() {
86
87
  try {
87
88
  let e = await c({ name: _ });
88
89
  await p("Running unit tests", e.success && e.result.isCurrentProject ? "pnpm exec vitest run" : await x.testUnit(), { throwOnError: !0 });
89
- } catch {
90
- C.exit(1);
90
+ } catch (e) {
91
+ s.error(e), C.exit(1);
91
92
  }
92
93
  }
93
94
  async function H() {
94
95
  try {
95
96
  let e = await c({ name: _ });
96
97
  await p("Running end-to-end tests", e.success && e.result.isCurrentProject ? "pnpm exec vitest run --passWithNoTests --config src/config/vitest/vitest.e2e.ts" : await x.testE2e(), { throwOnError: !0 });
97
- } catch {
98
- C.exit(1);
98
+ } catch (e) {
99
+ s.error(e), C.exit(1);
99
100
  }
100
101
  }
101
102
  async function U(e) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/node/cli/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport process from 'node:process';\nimport { hideBin } from 'yargs/helpers';\nimport yargs from 'yargs/yargs';\n\nimport type { I_IssueEntry } from '../log/index.js';\n\nimport { clearAllErrorLists, getStoredErrorLists, resolveCommands, runCommand } from '../command/index.js';\nimport { addGitIgnoreEntry, pathExistsSync, readFileSync, removeSync, writeFileSync } from '../fs/index.js';\nimport { catchError, E_IssueType, log } from '../log/index.js';\nimport { getPackage, installDependencies } from '../package/index.js';\nimport { AG_KIT_PACKAGE_NAME, command, createGitHooksConfig, CYBERSKILL_CLI, CYBERSKILL_PACKAGE_NAME, DOT_AGENT, PATH, resolve, SIMPLE_GIT_HOOK_JSON } from '../path/index.js';\n\n/**\n * Retrieves the version from the package.json file.\n * This function reads the package.json file and extracts the version number.\n * If the file cannot be read or parsed, it returns a default version of '1.0.0'.\n *\n * @returns The version string from package.json or '1.0.0' as fallback.\n */\nfunction getVersion(): string {\n try {\n const pkg = JSON.parse(\n readFileSync(resolve(import.meta.dirname, '../../../package.json'), 'utf-8'),\n );\n return pkg.version;\n }\n catch {\n return '1.0.0';\n }\n}\n\n/**\n * Performs TypeScript validation if a TypeScript configuration file exists.\n * This function checks for the presence of a TypeScript configuration file\n * and runs TypeScript validation if found. If no configuration is found,\n * it logs a warning and skips the type check.\n *\n * @returns A promise that resolves when the TypeScript validation is complete.\n */\nasync function checkTypescript() {\n if (pathExistsSync(PATH.TS_CONFIG)) {\n await runCommand('Performing TypeScript validation', await command.typescriptCheck());\n }\n else {\n log.warn('No TypeScript configuration found. Skipping type check.');\n }\n}\n\n/**\n * Performs ESLint checking with optional auto-fix functionality.\n * This function runs ESLint checks on the codebase and optionally applies\n * automatic fixes to resolve linting issues.\n *\n * @param fix - Whether to apply automatic fixes to linting issues (default: false).\n * @returns A promise that resolves when the ESLint check is complete.\n */\nasync function checkEslint(fix = false) {\n const commandToRun = fix ? await command.eslintFix() : await command.eslintCheck();\n const label = fix ? 'Running ESLint with auto-fix' : 'Running ESLint check';\n\n try {\n await runCommand(label, commandToRun, { timeout: 60000, throwOnError: true });\n }\n catch (error: any) {\n if (error.code === 'ETIMEDOUT' || error.killed || error.signal === 'SIGTERM') {\n log.warn('Lint check timed out. Retrying with debug mode enabled...');\n process.env['DEBUG'] = 'true';\n await runCommand(`${label} (Debug Mode)`, commandToRun);\n }\n else {\n catchError(error);\n }\n }\n}\n\n/**\n * Prints a formatted list of issues (errors or warnings) to the console.\n * This function displays issues in a boxed format with appropriate color coding\n * based on the issue type. It only displays issues if the list is not empty.\n *\n * @param type - The type of issues to display ('Errors' or 'Warnings').\n * @param list - An array of issue entries to display.\n */\nfunction printIssues(type: 'Errors' | 'Warnings', list: I_IssueEntry[]) {\n if (!list.length) {\n return;\n }\n\n const color = type === 'Errors' ? 'red' : 'yellow';\n log.printBoxedLog(type === 'Errors' ? '✖ Errors' : '⚠ Warnings', list, color);\n}\n\n/**\n * Displays the final check results after all validation processes.\n * This function retrieves stored error lists and displays them in a formatted manner.\n * If no errors or warnings are found, it displays a success message. If errors are found,\n * it exits the process with code 1 to indicate failure.\n *\n * @returns A promise that resolves when the results are displayed.\n */\nasync function showCheckResult() {\n // Allow pending I/O (runCommand writes) to flush before reading results\n await new Promise(resolve => setImmediate(resolve));\n\n const allResults = (await getStoredErrorLists()) || [];\n const errors = allResults.filter(e => e.type === E_IssueType.Error);\n const warnings = allResults.filter(e => e.type === E_IssueType.Warning);\n\n if (!errors.length && !warnings.length) {\n log.printBoxedLog('✔ NO ISSUES FOUND', [], 'green');\n }\n else {\n printIssues('Warnings', warnings);\n printIssues('Errors', errors);\n\n if (errors.length > 0) {\n process.exit(1);\n }\n }\n}\n\n/**\n * Executes lint-staged to check only staged files.\n * This function runs lint-staged which executes linting tools only on files\n * that are staged for commit. It includes building the package if it's the current project\n * and displays the results after completion.\n *\n * @returns A promise that resolves when lint-staged execution is complete.\n */\nasync function lintStaged() {\n await clearAllErrorLists();\n const packageData = await getPackage({ name: CYBERSKILL_PACKAGE_NAME });\n\n if (!packageData.success) {\n log.error('Failed to retrieve package information. Aborting lint-staged.');\n return;\n }\n\n if (packageData.result.isCurrentProject) {\n await runCommand(`Building package: ${CYBERSKILL_PACKAGE_NAME}`, await command.build());\n }\n\n await runCommand('Executing lint-staged', await command.lintStaged());\n showCheckResult();\n}\n\n/**\n * Inspects the ESLint configuration to show active rules and settings.\n * This function runs ESLint inspection to display the current configuration,\n * including which rules are active and their settings.\n *\n * @returns A promise that resolves when the ESLint inspection is complete.\n */\nasync function inspectLint() {\n await runCommand('Inspecting ESLint configuration', await command.eslintInspect());\n}\n\n/**\n * Performs comprehensive linting checks including TypeScript and ESLint.\n * This function runs both TypeScript validation and ESLint checks in parallel,\n * then displays the combined results.\n *\n * @returns A promise that resolves when all linting checks are complete.\n */\nasync function lintCheck() {\n await clearAllErrorLists();\n await checkTypescript();\n await checkEslint();\n showCheckResult();\n}\n\n/**\n * Performs comprehensive linting checks with automatic fixes.\n * This function runs both TypeScript validation and ESLint checks with auto-fix\n * in parallel, then displays the combined results.\n *\n * @returns A promise that resolves when all linting checks with fixes are complete.\n */\nasync function lintFix() {\n await clearAllErrorLists();\n await checkTypescript();\n await checkEslint(true);\n showCheckResult();\n}\n\n/**\n * Validates commit message format using commitlint.\n * This function runs commitlint to check if the current commit message\n * follows the conventional commit format and displays the results.\n *\n * @returns A promise that resolves when commit message validation is complete.\n */\nasync function commitLint() {\n await clearAllErrorLists();\n await runCommand('Validating commit message', await command.commitLint());\n showCheckResult();\n}\n\n/**\n * Sets up Git hooks for automated code quality checks.\n * This function configures Git hooks using simple-git-hooks, creates the necessary\n * configuration files, and updates .gitignore to exclude hook configuration files.\n * It also sets up the hooks to run linting and commit validation automatically.\n *\n * @returns A promise that resolves when Git hook setup is complete.\n */\nasync function gitHookSetup() {\n await runCommand('Configuring Git hooks', await command.configureGitHook());\n\n removeSync(PATH.GIT_HOOK);\n\n const hooks = await resolveCommands(createGitHooksConfig);\n\n writeFileSync(PATH.SIMPLE_GIT_HOOKS_JSON, JSON.stringify(hooks, null, 4));\n\n addGitIgnoreEntry(PATH.GIT_IGNORE, SIMPLE_GIT_HOOK_JSON);\n\n await runCommand('Setting up simple-git-hooks', await command.simpleGitHooks());\n}\n\n/**\n * Sets up the AI agent environment.\n * This function ensures the ag-kit package is installed globally, initializes\n * or updates the AI agent configuration, and adds the agent directory\n * to .gitignore to exclude it from version control.\n *\n * @returns A promise that resolves when the AI agent setup is complete.\n */\nasync function aiSetup() {\n try {\n await runCommand(`Checking for ${AG_KIT_PACKAGE_NAME}`, `pnpm list -g ${AG_KIT_PACKAGE_NAME}`);\n }\n catch {\n await runCommand(`Installing ${AG_KIT_PACKAGE_NAME} globally`, `pnpm i -g ${AG_KIT_PACKAGE_NAME}`);\n }\n\n if (pathExistsSync(PATH.DOT_AGENT)) {\n await runCommand('Updating AI agent', 'echo y | ag-kit update');\n }\n else {\n await runCommand('Initializing AI agent', 'ag-kit init');\n }\n\n addGitIgnoreEntry(PATH.GIT_EXCLUDE, DOT_AGENT);\n}\n\n/**\n * Initializes the project with dependencies and Git hooks.\n * This function installs project dependencies and sets up Git hooks for\n * automated code quality checks. It's typically run when setting up a new project.\n *\n * @returns A promise that resolves when project initialization is complete.\n */\nasync function ready() {\n await installDependencies();\n await gitHookSetup();\n}\n\n/**\n * Resets the project by removing dependencies and reinstalling them.\n * This function removes node_modules and lock files, cleans the package manager cache,\n * reinstalls dependencies, and sets up Git hooks. It's useful for resolving\n * dependency-related issues.\n *\n * @returns A promise that resolves when project reset is complete.\n */\nasync function reset() {\n removeSync(PATH.NODE_MODULES, PATH.PNPM_LOCK_YAML);\n await runCommand('Pruning pnpm store', await command.pnpmPruneStore());\n await runCommand('Clearing pnpm cache', await command.pnpmCleanCache());\n await installDependencies();\n await gitHookSetup();\n // await aiSetup();\n}\n\n/**\n * Inspects project dependencies to analyze their status.\n * This function runs dependency inspection to check for outdated packages,\n * security vulnerabilities, and other dependency-related issues.\n *\n * @returns A promise that resolves when dependency inspection is complete.\n */\nasync function inspect() {\n await runCommand('Inspecting project dependencies', await command.nodeModulesInspect());\n}\n\n/**\n * Runs the unit test suite.\n * This function executes unit tests using the configured test runner\n * and displays the test results.\n *\n * @returns A promise that resolves when unit tests are complete.\n */\nasync function testUnit() {\n try {\n const packageData = await getPackage({ name: CYBERSKILL_PACKAGE_NAME });\n const cmd = packageData.success && packageData.result.isCurrentProject\n ? `pnpm exec vitest run`\n : await command.testUnit();\n\n await runCommand('Running unit tests', cmd, { throwOnError: true });\n }\n catch {\n process.exit(1);\n }\n}\n\n/**\n * Runs the end-to-end test suite.\n * This function executes end-to-end tests using the configured test runner\n * and displays the test results.\n *\n * @returns A promise that resolves when end-to-end tests are complete.\n */\nasync function testE2E() {\n try {\n const packageData = await getPackage({ name: CYBERSKILL_PACKAGE_NAME });\n const cmd = packageData.success && packageData.result.isCurrentProject\n ? `pnpm exec vitest run --passWithNoTests --config src/config/vitest/vitest.e2e.ts`\n : await command.testE2e();\n\n await runCommand('Running end-to-end tests', cmd, { throwOnError: true });\n }\n catch {\n process.exit(1);\n }\n}\n\n/**\n * Creates a new MongoDB migration file.\n * This function creates a new migration file with the specified name\n * for database schema changes.\n *\n * @param migrationName - The name for the new migration file.\n * @returns A promise that resolves when the migration file is created.\n */\nasync function mongoMigrateCreate(migrationName: string) {\n await runCommand('Creating MongoDB migration', await command.mongoMigrateCreate(migrationName));\n}\n\n/**\n * Applies all pending MongoDB migrations.\n * This function runs all pending database migrations to update the database schema\n * to the latest version.\n *\n * @returns A promise that resolves when all migrations are applied.\n */\nasync function mongoMigrateUp() {\n await runCommand('Running MongoDB migrations', await command.mongoMigrateUp());\n}\n\n/**\n * Rolls back the last applied MongoDB migration.\n * This function reverts the most recent database migration, undoing\n * the last schema change.\n *\n * @returns A promise that resolves when the migration is rolled back.\n */\nasync function mongoMigrateDown() {\n await runCommand('Rolling back MongoDB migration', await command.mongoMigrateDown());\n}\n\n/**\n * Starts the Storybook development server.\n * This function runs Storybook in development mode, allowing you to\n * view and interact with your component stories in a browser.\n *\n * @returns A promise that resolves when the Storybook dev server is started.\n */\nasync function storybookDev() {\n await runCommand('Starting Storybook development server', await command.storybookDev());\n}\n\n/**\n * Builds Storybook for production deployment.\n * This function creates a static build of Storybook that can be\n * deployed to a web server or hosting service.\n *\n * @returns A promise that resolves when the Storybook build is complete.\n */\nasync function storybookBuild() {\n await runCommand('Building Storybook', await command.storybookBuild());\n}\n\n(async () => {\n try {\n await yargs(hideBin(process.argv))\n .scriptName(CYBERSKILL_CLI)\n .usage('$0 <command> [options]')\n .command('ai:setup', 'Setup AI agent environment', aiSetup)\n .command('lint', 'Check code for linting issues', lintCheck)\n .command('lint:fix', 'Fix linting issues automatically', lintFix)\n .command('lint:inspect', 'View active ESLint configuration', inspectLint)\n .command('lint-staged', 'Run lint checks on staged files', lintStaged)\n .command('commitlint', 'Validate commit message format', commitLint)\n .command('ready', 'Initialize project and dependencies', ready)\n .command('reset', 'Reset the project and reinstall dependencies', reset)\n .command('inspect', 'Analyze installed project dependencies', inspect)\n .command('test:unit', 'Run unit test suite', testUnit)\n .command('test:e2e', 'Run end-to-end test suite', testE2E)\n .command('mongo:migrate:create <name>', 'Create a MongoDB migration', y =>\n y.positional('name', {\n describe: 'Migration name',\n type: 'string',\n }), async (argv) => {\n if (!argv.name) {\n log.error('Migration name is required.');\n\n return;\n }\n\n await mongoMigrateCreate(argv.name);\n })\n .command('mongo:migrate:up', 'Apply all MongoDB migrations', mongoMigrateUp)\n .command('mongo:migrate:down', 'Rollback last MongoDB migration', mongoMigrateDown)\n .command('storybook:dev', 'Start Storybook development server', storybookDev)\n .command('storybook:build', 'Build Storybook for production', storybookBuild)\n .demandCommand(1, 'Please specify a valid command.')\n .strict()\n .help()\n .alias('h', 'help')\n .alias('v', 'version')\n .version(getVersion())\n .epilog('💡 Tip: Use \"--help\" with any command to see options\\n')\n .parse();\n }\n catch (error) {\n catchError(error);\n process.exit(1);\n }\n})();\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/node/cli/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport process from 'node:process';\nimport { hideBin } from 'yargs/helpers';\nimport yargs from 'yargs/yargs';\n\nimport type { I_IssueEntry } from '../log/index.js';\n\nimport { clearAllErrorLists, getStoredErrorLists, resolveCommands, runCommand } from '../command/index.js';\nimport { addGitIgnoreEntry, pathExistsSync, readFileSync, removeSync, writeFileSync } from '../fs/index.js';\nimport { catchError, E_IssueType, log } from '../log/index.js';\nimport { getPackage, installDependencies } from '../package/index.js';\nimport { AG_KIT_PACKAGE_NAME, command, createGitHooksConfig, CYBERSKILL_CLI, CYBERSKILL_PACKAGE_NAME, DOT_AGENT, PATH, resolve, SIMPLE_GIT_HOOK_JSON } from '../path/index.js';\n\n/**\n * Retrieves the version from the package.json file.\n * This function reads the package.json file and extracts the version number.\n * If the file cannot be read or parsed, it returns a default version of '1.0.0'.\n *\n * @returns The version string from package.json or '1.0.0' as fallback.\n */\nfunction getVersion(): string {\n try {\n const pkg = JSON.parse(\n readFileSync(resolve(import.meta.dirname, '../../../package.json'), 'utf-8'),\n );\n return pkg.version;\n }\n catch {\n return '1.0.0';\n }\n}\n\n/**\n * Performs TypeScript validation if a TypeScript configuration file exists.\n * This function checks for the presence of a TypeScript configuration file\n * and runs TypeScript validation if found. If no configuration is found,\n * it logs a warning and skips the type check.\n *\n * @returns A promise that resolves when the TypeScript validation is complete.\n */\nasync function checkTypescript() {\n if (pathExistsSync(PATH.TS_CONFIG)) {\n await runCommand('Performing TypeScript validation', await command.typescriptCheck());\n }\n else {\n log.warn('No TypeScript configuration found. Skipping type check.');\n }\n}\n\n/**\n * Performs ESLint checking with optional auto-fix functionality.\n * This function runs ESLint checks on the codebase and optionally applies\n * automatic fixes to resolve linting issues.\n *\n * @param fix - Whether to apply automatic fixes to linting issues (default: false).\n * @returns A promise that resolves when the ESLint check is complete.\n */\nasync function checkEslint(fix = false) {\n const commandToRun = fix ? await command.eslintFix() : await command.eslintCheck();\n const label = fix ? 'Running ESLint with auto-fix' : 'Running ESLint check';\n\n try {\n await runCommand(label, commandToRun, { timeout: 60000, throwOnError: true });\n }\n catch (error: unknown) {\n const errObj = error as { code?: string; killed?: boolean; signal?: string };\n if (errObj.code === 'ETIMEDOUT' || errObj.killed || errObj.signal === 'SIGTERM') {\n log.warn('Lint check timed out. Retrying with debug mode enabled...');\n process.env['DEBUG'] = 'true';\n await runCommand(`${label} (Debug Mode)`, commandToRun);\n }\n else {\n catchError(error);\n }\n }\n}\n\n/**\n * Prints a formatted list of issues (errors or warnings) to the console.\n * This function displays issues in a boxed format with appropriate color coding\n * based on the issue type. It only displays issues if the list is not empty.\n *\n * @param type - The type of issues to display ('Errors' or 'Warnings').\n * @param list - An array of issue entries to display.\n */\nfunction printIssues(type: 'Errors' | 'Warnings', list: I_IssueEntry[]) {\n if (!list.length) {\n return;\n }\n\n const color = type === 'Errors' ? 'red' : 'yellow';\n log.printBoxedLog(type === 'Errors' ? '✖ Errors' : '⚠ Warnings', list, color);\n}\n\n/**\n * Displays the final check results after all validation processes.\n * This function retrieves stored error lists and displays them in a formatted manner.\n * If no errors or warnings are found, it displays a success message. If errors are found,\n * it exits the process with code 1 to indicate failure.\n *\n * @returns A promise that resolves when the results are displayed.\n */\nasync function showCheckResult() {\n // Allow pending I/O (runCommand writes) to flush before reading results\n await new Promise(resolve => setImmediate(resolve));\n\n const allResults = (await getStoredErrorLists()) || [];\n const errors = allResults.filter(e => e.type === E_IssueType.Error);\n const warnings = allResults.filter(e => e.type === E_IssueType.Warning);\n\n if (!errors.length && !warnings.length) {\n log.printBoxedLog('✔ NO ISSUES FOUND', [], 'green');\n }\n else {\n printIssues('Warnings', warnings);\n printIssues('Errors', errors);\n\n if (errors.length > 0) {\n process.exit(1);\n }\n }\n}\n\n/**\n * Executes lint-staged to check only staged files.\n * This function runs lint-staged which executes linting tools only on files\n * that are staged for commit. It includes building the package if it's the current project\n * and displays the results after completion.\n *\n * @returns A promise that resolves when lint-staged execution is complete.\n */\nasync function lintStaged() {\n await clearAllErrorLists();\n const packageData = await getPackage({ name: CYBERSKILL_PACKAGE_NAME });\n\n if (!packageData.success) {\n log.error('Failed to retrieve package information. Aborting lint-staged.');\n return;\n }\n\n if (packageData.result.isCurrentProject) {\n await runCommand(`Building package: ${CYBERSKILL_PACKAGE_NAME}`, await command.build());\n }\n\n await runCommand('Executing lint-staged', await command.lintStaged());\n await showCheckResult();\n}\n\n/**\n * Inspects the ESLint configuration to show active rules and settings.\n * This function runs ESLint inspection to display the current configuration,\n * including which rules are active and their settings.\n *\n * @returns A promise that resolves when the ESLint inspection is complete.\n */\nasync function inspectLint() {\n await runCommand('Inspecting ESLint configuration', await command.eslintInspect());\n}\n\n/**\n * Performs comprehensive linting checks including TypeScript and ESLint.\n * This function runs both TypeScript validation and ESLint checks in parallel,\n * then displays the combined results.\n *\n * @returns A promise that resolves when all linting checks are complete.\n */\nasync function lintCheck() {\n await clearAllErrorLists();\n await checkTypescript();\n await checkEslint();\n await showCheckResult();\n}\n\n/**\n * Performs comprehensive linting checks with automatic fixes.\n * This function runs both TypeScript validation and ESLint checks with auto-fix\n * in parallel, then displays the combined results.\n *\n * @returns A promise that resolves when all linting checks with fixes are complete.\n */\nasync function lintFix() {\n await clearAllErrorLists();\n await checkTypescript();\n await checkEslint(true);\n await showCheckResult();\n}\n\n/**\n * Validates commit message format using commitlint.\n * This function runs commitlint to check if the current commit message\n * follows the conventional commit format and displays the results.\n *\n * @returns A promise that resolves when commit message validation is complete.\n */\nasync function commitLint() {\n await clearAllErrorLists();\n await runCommand('Validating commit message', await command.commitLint());\n await showCheckResult();\n}\n\n/**\n * Sets up Git hooks for automated code quality checks.\n * This function configures Git hooks using simple-git-hooks, creates the necessary\n * configuration files, and updates .gitignore to exclude hook configuration files.\n * It also sets up the hooks to run linting and commit validation automatically.\n *\n * @returns A promise that resolves when Git hook setup is complete.\n */\nasync function gitHookSetup() {\n await runCommand('Configuring Git hooks', await command.configureGitHook());\n\n removeSync(PATH.GIT_HOOK);\n\n const hooks = await resolveCommands(createGitHooksConfig);\n\n writeFileSync(PATH.SIMPLE_GIT_HOOKS_JSON, JSON.stringify(hooks, null, 4));\n\n addGitIgnoreEntry(PATH.GIT_IGNORE, SIMPLE_GIT_HOOK_JSON);\n\n await runCommand('Setting up simple-git-hooks', await command.simpleGitHooks());\n}\n\n/**\n * Sets up the AI agent environment.\n * This function ensures the ag-kit package is installed globally, initializes\n * or updates the AI agent configuration, and adds the agent directory\n * to .gitignore to exclude it from version control.\n *\n * @returns A promise that resolves when the AI agent setup is complete.\n */\nasync function aiSetup() {\n try {\n await runCommand(`Checking for ${AG_KIT_PACKAGE_NAME}`, `pnpm list -g ${AG_KIT_PACKAGE_NAME}`);\n }\n catch {\n await runCommand(`Installing ${AG_KIT_PACKAGE_NAME} globally`, `pnpm i -g ${AG_KIT_PACKAGE_NAME}`);\n }\n\n if (pathExistsSync(PATH.DOT_AGENT)) {\n await runCommand('Updating AI agent', 'echo y | ag-kit update');\n }\n else {\n await runCommand('Initializing AI agent', 'ag-kit init');\n }\n\n addGitIgnoreEntry(PATH.GIT_EXCLUDE, DOT_AGENT);\n}\n\n/**\n * Initializes the project with dependencies and Git hooks.\n * This function installs project dependencies and sets up Git hooks for\n * automated code quality checks. It's typically run when setting up a new project.\n *\n * @returns A promise that resolves when project initialization is complete.\n */\nasync function ready() {\n await installDependencies();\n await gitHookSetup();\n}\n\n/**\n * Resets the project by removing dependencies and reinstalling them.\n * This function removes node_modules and lock files, cleans the package manager cache,\n * reinstalls dependencies, and sets up Git hooks. It's useful for resolving\n * dependency-related issues.\n *\n * @returns A promise that resolves when project reset is complete.\n */\nasync function reset() {\n removeSync(PATH.NODE_MODULES, PATH.PNPM_LOCK_YAML);\n await runCommand('Pruning pnpm store', await command.pnpmPruneStore());\n await runCommand('Clearing pnpm cache', await command.pnpmCleanCache());\n await installDependencies();\n await gitHookSetup();\n // await aiSetup();\n}\n\n/**\n * Inspects project dependencies to analyze their status.\n * This function runs dependency inspection to check for outdated packages,\n * security vulnerabilities, and other dependency-related issues.\n *\n * @returns A promise that resolves when dependency inspection is complete.\n */\nasync function inspect() {\n await runCommand('Inspecting project dependencies', await command.nodeModulesInspect());\n}\n\n/**\n * Runs the unit test suite.\n * This function executes unit tests using the configured test runner\n * and displays the test results.\n *\n * @returns A promise that resolves when unit tests are complete.\n */\nasync function testUnit() {\n try {\n const packageData = await getPackage({ name: CYBERSKILL_PACKAGE_NAME });\n const cmd = packageData.success && packageData.result.isCurrentProject\n ? `pnpm exec vitest run`\n : await command.testUnit();\n\n await runCommand('Running unit tests', cmd, { throwOnError: true });\n }\n catch (error) {\n log.error(error);\n process.exit(1);\n }\n}\n\n/**\n * Runs the end-to-end test suite.\n * This function executes end-to-end tests using the configured test runner\n * and displays the test results.\n *\n * @returns A promise that resolves when end-to-end tests are complete.\n */\nasync function testE2E() {\n try {\n const packageData = await getPackage({ name: CYBERSKILL_PACKAGE_NAME });\n const cmd = packageData.success && packageData.result.isCurrentProject\n ? `pnpm exec vitest run --passWithNoTests --config src/config/vitest/vitest.e2e.ts`\n : await command.testE2e();\n\n await runCommand('Running end-to-end tests', cmd, { throwOnError: true });\n }\n catch (error) {\n log.error(error);\n process.exit(1);\n }\n}\n\n/**\n * Creates a new MongoDB migration file.\n * This function creates a new migration file with the specified name\n * for database schema changes.\n *\n * @param migrationName - The name for the new migration file.\n * @returns A promise that resolves when the migration file is created.\n */\nasync function mongoMigrateCreate(migrationName: string) {\n await runCommand('Creating MongoDB migration', await command.mongoMigrateCreate(migrationName));\n}\n\n/**\n * Applies all pending MongoDB migrations.\n * This function runs all pending database migrations to update the database schema\n * to the latest version.\n *\n * @returns A promise that resolves when all migrations are applied.\n */\nasync function mongoMigrateUp() {\n await runCommand('Running MongoDB migrations', await command.mongoMigrateUp());\n}\n\n/**\n * Rolls back the last applied MongoDB migration.\n * This function reverts the most recent database migration, undoing\n * the last schema change.\n *\n * @returns A promise that resolves when the migration is rolled back.\n */\nasync function mongoMigrateDown() {\n await runCommand('Rolling back MongoDB migration', await command.mongoMigrateDown());\n}\n\n/**\n * Starts the Storybook development server.\n * This function runs Storybook in development mode, allowing you to\n * view and interact with your component stories in a browser.\n *\n * @returns A promise that resolves when the Storybook dev server is started.\n */\nasync function storybookDev() {\n await runCommand('Starting Storybook development server', await command.storybookDev());\n}\n\n/**\n * Builds Storybook for production deployment.\n * This function creates a static build of Storybook that can be\n * deployed to a web server or hosting service.\n *\n * @returns A promise that resolves when the Storybook build is complete.\n */\nasync function storybookBuild() {\n await runCommand('Building Storybook', await command.storybookBuild());\n}\n\n(async () => {\n try {\n await yargs(hideBin(process.argv))\n .scriptName(CYBERSKILL_CLI)\n .usage('$0 <command> [options]')\n .command('ai:setup', 'Setup AI agent environment', aiSetup)\n .command('lint', 'Check code for linting issues', lintCheck)\n .command('lint:fix', 'Fix linting issues automatically', lintFix)\n .command('lint:inspect', 'View active ESLint configuration', inspectLint)\n .command('lint-staged', 'Run lint checks on staged files', lintStaged)\n .command('commitlint', 'Validate commit message format', commitLint)\n .command('ready', 'Initialize project and dependencies', ready)\n .command('reset', 'Reset the project and reinstall dependencies', reset)\n .command('inspect', 'Analyze installed project dependencies', inspect)\n .command('test:unit', 'Run unit test suite', testUnit)\n .command('test:e2e', 'Run end-to-end test suite', testE2E)\n .command('mongo:migrate:create <name>', 'Create a MongoDB migration', y =>\n y.positional('name', {\n describe: 'Migration name',\n type: 'string',\n }), async (argv) => {\n if (!argv.name) {\n log.error('Migration name is required.');\n\n return;\n }\n\n await mongoMigrateCreate(argv.name);\n })\n .command('mongo:migrate:up', 'Apply all MongoDB migrations', mongoMigrateUp)\n .command('mongo:migrate:down', 'Rollback last MongoDB migration', mongoMigrateDown)\n .command('storybook:dev', 'Start Storybook development server', storybookDev)\n .command('storybook:build', 'Build Storybook for production', storybookBuild)\n .demandCommand(1, 'Please specify a valid command.')\n .strict()\n .help()\n .alias('h', 'help')\n .alias('v', 'version')\n .version(getVersion())\n .epilog('💡 Tip: Use \"--help\" with any command to see options\\n')\n .parse();\n }\n catch (error) {\n catchError(error);\n process.exit(1);\n }\n})();\n"],"mappings":"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"}