@digital-alchemy/core 26.2.17 → 26.5.28

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 (85) hide show
  1. package/CLAUDE.md +302 -0
  2. package/README.md +19 -3
  3. package/dist/helpers/async.d.mts +37 -0
  4. package/dist/helpers/async.mjs +50 -15
  5. package/dist/helpers/async.mjs.map +1 -1
  6. package/dist/helpers/config-environment-loader.d.mts +39 -0
  7. package/dist/helpers/config-environment-loader.mjs +51 -11
  8. package/dist/helpers/config-environment-loader.mjs.map +1 -1
  9. package/dist/helpers/config-file-loader.d.mts +65 -0
  10. package/dist/helpers/config-file-loader.mjs +80 -4
  11. package/dist/helpers/config-file-loader.mjs.map +1 -1
  12. package/dist/helpers/config.d.mts +202 -5
  13. package/dist/helpers/config.mjs +60 -0
  14. package/dist/helpers/config.mjs.map +1 -1
  15. package/dist/helpers/context.d.mts +12 -1
  16. package/dist/helpers/cron.d.mts +154 -7
  17. package/dist/helpers/cron.mjs +47 -4
  18. package/dist/helpers/cron.mjs.map +1 -1
  19. package/dist/helpers/errors.d.mts +45 -0
  20. package/dist/helpers/errors.mjs +45 -0
  21. package/dist/helpers/errors.mjs.map +1 -1
  22. package/dist/helpers/events.d.mts +23 -0
  23. package/dist/helpers/events.mjs +23 -0
  24. package/dist/helpers/events.mjs.map +1 -1
  25. package/dist/helpers/extend.d.mts +50 -0
  26. package/dist/helpers/extend.mjs +63 -0
  27. package/dist/helpers/extend.mjs.map +1 -1
  28. package/dist/helpers/index.d.mts +9 -0
  29. package/dist/helpers/index.mjs +9 -0
  30. package/dist/helpers/index.mjs.map +1 -1
  31. package/dist/helpers/lifecycle.d.mts +102 -16
  32. package/dist/helpers/lifecycle.mjs +19 -1
  33. package/dist/helpers/lifecycle.mjs.map +1 -1
  34. package/dist/helpers/logger.d.mts +182 -17
  35. package/dist/helpers/logger.mjs +45 -1
  36. package/dist/helpers/logger.mjs.map +1 -1
  37. package/dist/helpers/module.d.mts +110 -0
  38. package/dist/helpers/module.mjs +55 -6
  39. package/dist/helpers/module.mjs.map +1 -1
  40. package/dist/helpers/service-runner.d.mts +27 -1
  41. package/dist/helpers/service-runner.mjs +27 -1
  42. package/dist/helpers/service-runner.mjs.map +1 -1
  43. package/dist/helpers/utilities.d.mts +123 -3
  44. package/dist/helpers/utilities.mjs +110 -3
  45. package/dist/helpers/utilities.mjs.map +1 -1
  46. package/dist/helpers/wiring.d.mts +385 -0
  47. package/dist/helpers/wiring.mjs +120 -0
  48. package/dist/helpers/wiring.mjs.map +1 -1
  49. package/dist/services/als.service.d.mts +10 -0
  50. package/dist/services/als.service.mjs +49 -0
  51. package/dist/services/als.service.mjs.map +1 -1
  52. package/dist/services/configuration.service.d.mts +22 -0
  53. package/dist/services/configuration.service.mjs +140 -12
  54. package/dist/services/configuration.service.mjs.map +1 -1
  55. package/dist/services/index.d.mts +8 -0
  56. package/dist/services/index.mjs +8 -0
  57. package/dist/services/index.mjs.map +1 -1
  58. package/dist/services/internal.service.d.mts +98 -19
  59. package/dist/services/internal.service.mjs +91 -9
  60. package/dist/services/internal.service.mjs.map +1 -1
  61. package/dist/services/is.service.d.mts +64 -4
  62. package/dist/services/is.service.mjs +67 -4
  63. package/dist/services/is.service.mjs.map +1 -1
  64. package/dist/services/lifecycle.service.d.mts +26 -0
  65. package/dist/services/lifecycle.service.mjs +67 -9
  66. package/dist/services/lifecycle.service.mjs.map +1 -1
  67. package/dist/services/logger.service.d.mts +27 -0
  68. package/dist/services/logger.service.mjs +133 -9
  69. package/dist/services/logger.service.mjs.map +1 -1
  70. package/dist/services/scheduler.service.d.mts +19 -0
  71. package/dist/services/scheduler.service.mjs +87 -4
  72. package/dist/services/scheduler.service.mjs.map +1 -1
  73. package/dist/services/wiring.service.d.mts +28 -0
  74. package/dist/services/wiring.service.mjs +173 -19
  75. package/dist/services/wiring.service.mjs.map +1 -1
  76. package/dist/testing/index.d.mts +4 -0
  77. package/dist/testing/index.mjs +4 -0
  78. package/dist/testing/index.mjs.map +1 -1
  79. package/dist/testing/mock-logger.d.mts +8 -0
  80. package/dist/testing/mock-logger.mjs +9 -0
  81. package/dist/testing/mock-logger.mjs.map +1 -1
  82. package/dist/testing/test-module.d.mts +112 -27
  83. package/dist/testing/test-module.mjs +64 -2
  84. package/dist/testing/test-module.mjs.map +1 -1
  85. package/package.json +36 -34
@@ -1 +1 @@
1
- {"version":3,"file":"wiring.service.mjs","sourceRoot":"","sources":["../../src/services/wiring.service.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wiring.service.mjs","sourceRoot":"","sources":["../../src/services/wiring.service.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAmB3C,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,aAAa,EACb,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,SAAS,EACT,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EACL,aAAa,EACb,UAAU,EACV,oBAAoB,EACpB,YAAY,GACb,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,6EAA6E;AAC7E,qFAAqF;AACrF,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAQpD,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,MAAM,MAAM,GAAG,GAAG,CAAC;AACnB,MAAM,OAAO,GAAG,GAAG,CAAC;AAEpB,2BAA2B;AAC3B;;;;;;;;;;GAUG;AACH,SAAS,iBAAiB;IACxB,kCAAkC;IAClC,qFAAqF;IACrF,OAAO,aAAa,CAAC;QACnB,aAAa,EAAE;YACb;;;;;;;eAOG;YACH,MAAM,EAAE;gBACN,WAAW,EAAE;oBACX,kEAAkE;oBAClE,4DAA4D;iBAC7D,CAAC,IAAI,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,CAAC,MAAM,CAAC;gBAChB,IAAI,EAAE,QAAQ;aACf;YAED;;;;;;;;;;eAUG;YACH,OAAO,EAAE;gBACP,iBAAiB;gBACjB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC;gBACjD,WAAW,EAAE,qEAAqE;gBAClF,IAAI,EAAE,SAAS;aAChB;YAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA8BG;YACH,SAAS,EAAE;gBACT,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE,8BAA8B;gBAC3C,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;gBACpE,IAAI,EAAE,QAAQ;aAC0D;YAE1E;;eAEG;YACH,QAAQ,EAAE;gBACR,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO;gBACxC,IAAI,EAAE,QAAQ;aAC6B;SAC9C;QACD,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,CAAC;QAC7D,QAAQ,EAAE;YACR;;;;eAIG;YACH,GAAG,EAAE,GAAG;YAER;;;;;;eAMG;YACH,aAAa,EAAE,aAAa;YAE5B;;;;;;eAMG;YACH,MAAM,EAAE,MAAM;YAEd;;;;eAIG;YACH,SAAS,EAAE,SAAS;SACrB;KACF,CAAC,CAAC;AACL,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,IAAI,eAAqD,CAAC;AAEjE,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAsB,CAAC;AAE3D,uBAAuB;AACvB;;;;;;;;GAQG;AACH,KAAK,UAAU,aAAa,CAAC,MAAc;IACzC,MAAM,IAAI,CAAC,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAC,WAAW,EAAC,EAAE;QACjE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC;QACzD,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,uBAAuB;AACvB,oFAAoF;AACpF,mFAAmF;AACnF,6DAA6D;AAC7D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B;QACE,SAAS;QACT,KAAK,IAAI,EAAE;YACT,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;KACF;IACD;QACE,QAAQ;QACR,KAAK,IAAI,EAAE;YACT,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;KACF;IACD,mCAAmC;IACnC,mDAAmD;CACpD,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,WAAW,GAAG,CAAC,QAA4B,EAAE,EAAE,CACnD,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAkD,CAAC;AAElG,2BAA2B;AAC3B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,iBAAiB,CAA8D,EAC7F,IAAI,EACJ,QAAQ,GAAG,EAAO,EAClB,SAAS,GAAG,EAAE,EACd,aAAa,GAAG,EAAO,EACvB,YAAY,GAAG,EAAE,EACjB,GAAG,KAAK,EAC8B;IACtC,IAAI,QAA4B,CAAC;IAEjC,iFAAiF;IACjF,8EAA8E;IAC9E,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5B,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC1B,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,kBAAkB,CAC1B,cAAc,EACd,0BAA0B,EAC1B,GAAG,IAAI,6DAA6D,CACrE,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAG,EAA+B,CAAC;IACpD,MAAM,WAAW,GAAG;QAClB,gEAAgE;QAChE,GAAG,KAAK;QACR,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,QAA4B,EAAE,EAAE;YACrD,WAAW,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC,YAAY,CAAC,CAClD,IAA2B,EAC3B,aAAa,CACd,CAAC;YACF,MAAM,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;gBAC/E,WAAW,CAAC,OAAO,CAAC,GAAG,MAAM,WAAW,CACtC,IAAI,EACJ,OAAO,EACP,QAAQ,CAAC,OAAO,CAAC,EACjB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAC9B,QAAQ,CACT,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC;YACpD,2EAA2E;YAC3E,+CAA+C;YAC/C,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtB,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;oBACpD,MAAM,WAAW,CACf,IAAI,EACJ,OAAO,EACP,MAAM,CAAC,OAAO,CAAC,EACf,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAC9B,QAAQ,CACT,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,KAAK,EAAE,OAAyB,EAAE,EAAE;YAC7C,uEAAuE;YACvE,iFAAiF;YACjF,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;gBACvB,MAAM,IAAI,kBAAkB,CAC1B,cAAc,EACd,aAAa,EACb,uDAAuD,CACxD,CAAC;YACJ,CAAC;YACD,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAC;YACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC5D,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC;YAC1B,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAC5C,OAAO,GAAG,CAAC;QACb,CAAC;QACD,aAAa;QACb,SAAS;QACT,MAAM,EAAE,SAAS;QACjB,IAAI;QACJ,YAAY;QACZ,WAAW;QACX,QAAQ;QACR,KAAK,CAAC,QAAQ;YACZ,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;gBACxB,mEAAmE;gBACnE,iCAAiC;gBACjC,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACpF,OAAO;YACT,CAAC;YACD,MAAM,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;YAC7C,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,CAAC;YAC/C,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC;YAC3B,QAAQ,GAAG,SAAS,CAAC;QACvB,CAAC;QACD,IAAI,EAAE,aAAa;KACsB,CAAC;IAC5C,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,qBAAqB;AACrB;;;;;;;;;;;;;;;GAeG;AACH,KAAK,UAAU,WAAW,CACxB,OAAe,EACf,OAAe,EACf,UAA2B,EAC3B,SAAyB,EACzB,QAA4B;IAE5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACjE,QAAQ,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,OAAO,IAAI,OAAO,EAAE,CAAC,CAAC;IAExD,qFAAqF;IACrF,4EAA4E;IAC5E,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC9D,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,cAAc,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACvC,sEAAsE;QACtE,4EAA4E;QAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAC/B,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACrD,OAA+B;YAC/B,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC;SACzC,CAAC,CACH,CAAC;QAEF,MAAM,aAAa,GAAG;YACpB,GAAG,MAAM;YACT,GAAG,EAAE,WAAW,CAAC,GAAG;YACpB,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,oBAAoB,CAAC;YAC1D,OAAO;YACP,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK;YAC7B,QAAQ;YACR,SAAS;YACT,MAAM;YACN,MAAM,EAAE,SAAS;YACjB,mEAAmE;YACnE,mEAAmE;YACnE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC;SAC3B,CAAC;QACpB,2EAA2E;QAC3E,aAAa,CAAC,MAAM,GAAG,aAAa,CAAC;QAErC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,UAAU,CAAC,aAAa,CAAC,CAAmB,CAAC;QAEtE,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC;YAC1C,QAAQ,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI;YAClD,MAAM,EAAE,OAAO;YACf,OAAO;SACR,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,2FAA2F;QAC3F,oFAAoF;QACpF,0FAA0F;QAC1F,2FAA2F;QAC3F,qFAAqF;QACrF,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC;YACxC,MAAM,KAAK,CAAC;QACd,CAAC;QACD,0EAA0E;QAC1E,kDAAkD;QAClD,QAAQ,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,GAAG,KAAK,EAAE,QAA4B,EAAE,EAAE;IACxD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/D,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,aAAa,GAAG,KAAK,EAAE,QAA4B,EAAE,EAAE;IAC3D,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAClE,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACzD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,YAAY,GAAG,KAAK,EAAE,QAA4B,EAAE,EAAE;IAC1D,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjE,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,QAAQ,GAAG,KAAK,EAAE,QAA4B,EAAE,EAAE;IACtD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7D,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,mBAAmB;AACnB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,KAAK,UAAU,SAAS,CACtB,WAAwC,EACxC,OAAyB,EACzB,QAA4B;IAE5B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACnC,QAAQ,CAAC,IAAI,GAAG;QACd,WAAW;QACX,wBAAwB,EAAE,IAAI,GAAG,EAAE;QACnC,iBAAiB,EAAE,IAAI,GAAG,EAAE;QAC5B,SAAS,EAAE,eAAe,EAAE;QAC5B,aAAa,EAAE,IAAI,GAAG,EAAE;QACxB,cAAc,EAAE,IAAI,GAAG,EAAE;QACzB,OAAO;QACP,KAAK,EAAE,WAAW;QAClB,wBAAwB,EAAE,EAAE;QAC5B,OAAO,EAAE,IAAI,IAAI,EAAE;KACpB,CAAC;IAEF,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,EAA6B,CAAC;QAC5C,MAAM,SAAS,GAAG,EAA6B,CAAC;QAEhD,gFAAgF;QAChF,iFAAiF;QACjF,uEAAuE;QACvE,MAAM,GAAG,GAAG,EAAmD,CAAC;QAChE,QAAQ,CAAC,WAAW,GAAG,GAAG,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAEpD,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAC5B,+BAA+B;QAC/B,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;QAC1C,2EAA2E;QAC3E,wEAAwE;QACxE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE3C,sCAAsC;QACtC,eAAe,GAAG,iBAAiB,EAAE,CAAC;QAEtC,YAAY;QACZ,IAAI,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE3D,SAAS,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC7E,6EAA6E;QAC7E,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC;QACpC,kBAAkB;QAClB,GAAG,CAAC,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;QACvF,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAClD,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,+BAA+B,CAAC,CAAC;QAEnE,wEAAwE;QACxE,6EAA6E;QAC7E,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;YACxC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,yBAAyB,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,qBAAqB;QACrB,WAAW,CAAC,SAAS,KAAK,EAAE,CAAC;QAE7B,uEAAuE;QACvE,wEAAwE;QACxE,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;gBAC1C,CAAC,CAAC,OAAO,CAAC,aAAa;gBACvB,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACpB,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;oBAC5C,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;wBACjC,+DAA+D;wBAC/D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,mBAAmB,CAAC,CAAC;wBACxD,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;wBAC5C,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,mBAAmB,CAAC,CAAC;gBACxD,SAAS;gBACT,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,sEAAsE;QACtE,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,UAAU,CAAC,KAAK,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;YAChC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,mBAAmB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAC/D,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC7C,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,yBAAyB,CAAC,CAAC;QAE7D,4BAA4B;QAC5B,IAAI,OAAO,EAAE,kBAAkB,EAAE,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,oBAAoB,CAAC,CAAC;YACxD,qEAAqE;YACrE,kFAAkF;YAClF,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,kBAAkB,CAAC,CAAC;YACtD,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC1B,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACvD,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QACrF,CAAC;QAED,wFAAwF;QACxF,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC;YACtC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAClD,CAAC;QAED,uBAAuB;QACvB,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,uCAAuC,CAAC,CAAC;QAC3E,KAAK,CAAC,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3C,gCAAgC;QAChC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,uBAAuB,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;QACpD,KAAK,CAAC,SAAS,GAAG,MAAM,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;QAC1D,sCAAsC;QACtC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,0CAA0C,CAAC,CAAC;QAE9E,KAAK,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,yCAAyC,CAAC,CAAC;QAC7E,KAAK,CAAC,SAAS,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE/C,IAAI,OAAO,EAAE,kBAAkB,EAAE,CAAC;YAChC,4EAA4E;YAC5E,yEAAyE;YACzE,qEAAqE;YAErE,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,uBAAuB,CAAC,CAAC;YAC3D,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC1B,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACvD,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QACrF,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,qCAAqC,CAAC,CAAC;QACzE,KAAK,CAAC,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEvC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAEtE,kCAAkC;QAClC,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAChC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;QAC7C,CAAC;QAED,kBAAkB;QAClB,MAAM,CAAC,IAAI,CACT,OAAO,EAAE,kBAAkB;YACzB,CAAC,CAAC;gBACE,GAAG,KAAK;gBACR,SAAS,EAAE;oBACT,GAAG,SAAS;oBACZ,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,wBAAwB;iBACjD;gBACD,IAAI,EAAE,SAAS;aAChB;YACH,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAC3C,+BAA+B,EAC/B,WAAW,CAAC,IAAI,CACjB,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QAChC,0EAA0E;QAC1E,4EAA4E;QAC5E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CACxB,WAAW,CACT,WAAW,CAAC,IAAI,EAChB,WAAW,EACX,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EACZ,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAC9B,QAAQ,CACT,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,2FAA2F;QAC3F,yFAAyF;QACzF,2FAA2F;QAC3F,uFAAuF;QACvF,wEAAwE;QACxE,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;YAC1B,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,KAAK,QAAQ,EAAE,CAAC;YAChE,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,kBAAkB;AAClB;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,QAAQ,CAAC,QAA4B,EAAE,MAAe;IACnE,oEAAoE;IACpE,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO;IACT,CAAC;IACD,aAAa;IACb,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,2BAA2B,CAAC,CAAC;IAC7D,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;IACjC,IAAI,CAAC;QACH,gBAAgB;QAChB,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,2CAA2C,CAAC,CAAC;QAC9E,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClD,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAE1D,2BAA2B;QAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,0BAA0B,CAAC,CAAC;QAC5D,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,6CAA6C,CAAC,CAAC;QAChF,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpD,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAE5D,4EAA4E;QAC5E,8CAA8C;QAC9C,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAE3C,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,gDAAgD,CAAC,CAAC;QACnF,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACvD,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,+EAA+E;QAC/E,4EAA4E;QAC5E,UAAU,CAAC,OAAO,CAAC,KAAK,CACtB,EAAE,KAAK,EAAE,EACT,yEAAyE,CAC1E,CAAC;IACJ,CAAC;IACD,iEAAiE;IAEjE,MAAM,CAAC,IAAI,CACT;QACE,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;KAC/D,EACD,wBAAwB,CACzB,CAAC;IACF,8EAA8E;IAC9E,0CAA0C;IAC1C,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AACtF,CAAC"}
@@ -1,2 +1,6 @@
1
+ /**
2
+ * Test infrastructure: mock logger and test runner factory for isolated DI bootstrapping
3
+ * in test suites. Both tools are safe to use without configuration changes.
4
+ */
1
5
  export * from "./mock-logger.mts";
2
6
  export * from "./test-module.mts";
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Test infrastructure: mock logger and test runner factory for isolated DI bootstrapping
3
+ * in test suites. Both tools are safe to use without configuration changes.
4
+ */
1
5
  export * from "./mock-logger.mjs";
2
6
  export * from "./test-module.mjs";
3
7
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/testing/index.mts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/testing/index.mts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
@@ -1,2 +1,10 @@
1
1
  import type { ILogger } from "../index.mts";
2
+ /**
3
+ * Create a no-op logger for suppressing output in test specs.
4
+ *
5
+ * @remarks
6
+ * Returns an {@link ILogger} where every method is a stub function that discards
7
+ * all input. Use this in test runners or specs where logger output would pollute
8
+ * test output or stderr during a silent test run.
9
+ */
2
10
  export declare function createMockLogger(): ILogger;
@@ -1,4 +1,13 @@
1
+ /**
2
+ * Create a no-op logger for suppressing output in test specs.
3
+ *
4
+ * @remarks
5
+ * Returns an {@link ILogger} where every method is a stub function that discards
6
+ * all input. Use this in test runners or specs where logger output would pollute
7
+ * test output or stderr during a silent test run.
8
+ */
1
9
  export function createMockLogger() {
10
+ // every method is a stub to avoid any side effects during testing
2
11
  return {
3
12
  debug: () => { },
4
13
  error: () => { },
@@ -1 +1 @@
1
- {"version":3,"file":"mock-logger.mjs","sourceRoot":"","sources":["../../src/testing/mock-logger.mts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;QACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;KACf,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"mock-logger.mjs","sourceRoot":"","sources":["../../src/testing/mock-logger.mts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB;IAC9B,kEAAkE;IAClE,OAAO;QACL,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;QACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;KACf,CAAC;AACJ,CAAC"}
@@ -1,3 +1,17 @@
1
+ /**
2
+ * Test infrastructure for bootstrapping isolated DI graphs in test suites.
3
+ *
4
+ * @remarks
5
+ * {@link TestRunner} boots a **real** dependency-injection graph, not a mock framework.
6
+ * Every lifecycle stage fires in order, every service executes normally, and every
7
+ * scheduler registers real event listeners. This makes it safe to test complex
8
+ * initialization sequences, lifecycle interactions, and async service behavior without
9
+ * leaking state between tests. By default, config files and environment variables
10
+ * are NOT loaded; opt in with `loadConfigs: true` or `setOptions({ configSources })`.
11
+ *
12
+ * Always call `.teardown()` in `afterEach` — open handles and event listeners will
13
+ * keep vitest hanging if left uncleaned.
14
+ */
1
15
  import type { ApplicationDefinition, DataTypes, ILogger, LibraryDefinition, LoggerOptions, ModuleConfiguration, OptionalModuleConfiguration, PartialConfiguration, ServiceFunction, ServiceMap, TConfigLogLevel, TLibrary, TServiceParams } from "../index.mts";
2
16
  export type CreateTestingLibraryOptions<S extends ServiceMap, C extends OptionalModuleConfiguration> = {
3
17
  /**
@@ -10,43 +24,57 @@ type TestingBootstrapOptions = {
10
24
  /**
11
25
  * default: false
12
26
  *
13
- * set to true to have this test emit logs
27
+ * When false (the default), the runner installs a no-op customLogger AND sets
28
+ * boilerplate.LOG_LEVEL=silent so all framework output is suppressed. Both
29
+ * halves are required because fatalLog writes directly to stderr.fd and
30
+ * bypasses the customLogger entirely.
31
+ *
32
+ * Set to true to have this test emit logs to stdout. Useful for debugging
33
+ * test failures during interactive development.
14
34
  */
15
35
  emitLogs?: boolean;
16
36
  /**
17
- * pass through to bootstrap params
37
+ * Pass through to bootstrap params to customize logger output behavior.
18
38
  */
19
39
  loggerOptions?: LoggerOptions;
20
40
  /**
21
41
  * default: false
22
42
  *
23
- * Should testing apps consider config file / environment variables?
43
+ * Whether to load config from environment variables and config files.
44
+ * By default, all config sources are disabled — the test environment
45
+ * is isolated. Opt in with `loadConfigs: true` or individual sources
46
+ * via `setOptions({ configSources: { env: true } })`.
24
47
  */
25
48
  loadConfigs?: boolean;
26
49
  /**
27
- * replacement logger object to use
50
+ * Replacement logger object to use instead of the default no-op logger.
28
51
  *
29
- * default: **NOOP**
52
+ * default: **no-op ILogger** (all methods are stubs)
30
53
  */
31
54
  customLogger?: ILogger;
32
55
  /**
33
- * matches regular bootstrap options
56
+ * Matches regular bootstrap options for library load ordering.
34
57
  */
35
58
  bootLibrariesFirst?: boolean;
36
59
  /**
37
- * default values to use for configurations, before user values come in
60
+ * Default values to use for configurations, applied before user values.
61
+ * Deep-merged into the module configuration during bootstrap.
38
62
  */
39
63
  configuration?: PartialConfiguration;
40
64
  /**
41
65
  * @internal
42
66
  *
43
- * define a configuration for the unit tests
44
- *
45
- * > **note**: you probably don't need to do this, it's not even documented
67
+ * Explicit module configuration for the test runner. Only set this if you
68
+ * need to control the raw configuration shape; normally use `.configure()`
69
+ * instead.
46
70
  */
47
71
  module_config?: ModuleConfiguration;
48
72
  /**
49
- * all properties default true if not provided
73
+ * Control which config sources are loaded by the test runner.
74
+ * Defaults to **all disabled** unless `loadConfigs: true` is passed.
75
+ *
76
+ * Example: `setOptions({ configSources: { env: true } })` enables
77
+ * environment variable loading without file loading.
50
78
  */
51
79
  configSources?: Partial<Record<DataTypes, boolean>>;
52
80
  };
@@ -54,61 +82,118 @@ export type LibraryTestRunner<T> = T extends LibraryDefinition<infer S, infer C>
54
82
  export type ApplicationTestRunner<T> = T extends ApplicationDefinition<infer S, infer C> ? iTestRunner<S, C> : never;
55
83
  export type iTestRunner<S extends ServiceMap, C extends OptionalModuleConfiguration> = {
56
84
  /**
57
- * chained calls deep merge options together
85
+ * Merge configuration values into the test runner's config.
86
+ *
87
+ * @remarks
88
+ * Chained calls deep-merge together; order is left-to-right.
89
+ * Configuration is applied at bootstrap time via `onPostConfig`.
58
90
  */
59
91
  configure: (configuration: PartialConfiguration) => iTestRunner<S, C>;
60
92
  /**
61
- * chained calls deep merge options together
93
+ * Merge bootstrap options into the test runner.
94
+ *
95
+ * @remarks
96
+ * Chained calls deep-merge together. Use this to set logging behavior,
97
+ * config sources, and other bootstrap-level parameters.
62
98
  */
63
99
  setOptions: (options: TestingBootstrapOptions) => iTestRunner<S, C>;
64
100
  /**
65
- * sets flag to true
101
+ * Enable library-first bootstrap order for this test.
102
+ *
103
+ * @remarks
104
+ * Sets `bootLibrariesFirst: true` in the bootstrap options.
66
105
  */
67
106
  bootLibrariesFirst: () => iTestRunner<S, C>;
68
107
  /**
69
- * for debugging, single command to enable logging on this test
108
+ * Enable logger output and optionally set the log level.
109
+ *
110
+ * @remarks
111
+ * Convenience method for debugging test failures. Sets `emitLogs: true`
112
+ * and optionally sets `boilerplate.LOG_LEVEL` if a level is provided.
70
113
  */
71
114
  emitLogs: (log_level?: TConfigLogLevel) => iTestRunner<S, C>;
72
115
  /**
73
- * chained calls add multiple setup functions
116
+ * Register a service function to execute first during bootstrap.
117
+ *
118
+ * @remarks
119
+ * Chained calls add multiple setup functions; they execute in order
120
+ * via a synthetic `run_first` library that depends on all target libraries.
74
121
  */
75
122
  setup: (test: ServiceFunction) => iTestRunner<S, C>;
76
123
  /**
77
- * cannot be used with `.run`
124
+ * Bootstrap and return the fully-wired {@link TServiceParams} without running an inline service.
78
125
  *
79
- * returns params instead of running an inline service
126
+ * @remarks
127
+ * Cannot be used with `.run()`; they are mutually exclusive. Useful when
128
+ * you need to pass the params to multiple service calls or assertions.
129
+ * Always call `.teardown()` after you're done with the params.
80
130
  */
81
131
  serviceParams: () => Promise<TServiceParams>;
82
132
  /**
83
- * cannot be used with `.serviceParams`
133
+ * Bootstrap the test application and run the provided test service.
84
134
  *
85
- * returns reference to app that was booted
135
+ * @remarks
136
+ * Cannot be used with `.serviceParams()`; they are mutually exclusive.
137
+ * Returns the application so you can make assertions on its state after
138
+ * the test service completes. The returned app already has `.teardown()`
139
+ * wired to this runner; call it in `afterEach` to clean up.
140
+ *
141
+ * @throws Propagates any error thrown by the test service or during bootstrap.
86
142
  */
87
143
  run: (test: ServiceFunction) => Promise<ApplicationDefinition<ServiceMap, OptionalModuleConfiguration>>;
88
144
  /**
89
- * add a library to the runner beyond what the target module requested
145
+ * Register an additional library to wire into the test application.
146
+ *
147
+ * @remarks
148
+ * The library is appended to the dependency list; chained calls add
149
+ * multiple libraries. Useful for mocking or providing test doubles
150
+ * without modifying the target module's definition.
90
151
  */
91
152
  appendLibrary: (library: TLibrary) => iTestRunner<S, C>;
92
153
  /**
93
- * inject an extra service to your module
154
+ * Inject an extra service into the test application.
94
155
  *
95
- * by default will take the function name as context, can optionally provide the name as 2nd param (if it even matters)
156
+ * @remarks
157
+ * The service is added to the application's service map by name.
158
+ * If `name` is not provided, the function's `.name` property is used;
159
+ * if that's empty, a UUID is generated. Chained calls add multiple services.
96
160
  */
97
161
  appendService: (service: ServiceFunction, name?: string) => iTestRunner<S, C>;
98
162
  /**
99
- * substitute a library for another by name
163
+ * Substitute a library by name.
164
+ *
165
+ * @remarks
166
+ * Any library in the target module or appended libraries with matching name
167
+ * is replaced by the provided library. Chained calls build a replacement map.
100
168
  */
101
169
  replaceLibrary: (name: string, library: TLibrary) => iTestRunner<S, C>;
102
170
  /**
103
- * reference to the app teardown internally
171
+ * Tear down the bootstrapped application and clean up all resources.
104
172
  *
105
- * clean up your testing resources!
173
+ * @remarks
174
+ * Closes event listeners, cancels schedulers, and flushes any pending
175
+ * async work. **CRITICAL:** Call this in `afterEach` to prevent vitest
176
+ * hangs from unclosed file handles or event emitters. Safe to call
177
+ * multiple times (idempotent).
106
178
  */
107
179
  teardown: () => Promise<void>;
108
180
  type: "test";
109
181
  };
110
182
  /**
111
- * library optional
183
+ * Bootstrap a real dependency-injection graph for testing.
184
+ *
185
+ * @remarks
186
+ * Returns a chainable test runner that wires up a full application with all
187
+ * lifecycle stages executing in order. By default, config files and environment
188
+ * variables are NOT loaded — the test is isolated. Opt in with `loadConfigs: true`
189
+ * or `setOptions({ configSources: { env: true } })`.
190
+ *
191
+ * **Mocking depth matters:** when you spy on a service method, only that method
192
+ * is replaced, not the entire service. To substitute an entire service, use
193
+ * `.replaceLibrary()` or `.appendService()`.
194
+ *
195
+ * **CRITICAL:** Always call `.teardown()` in `afterEach`. Unclosed event listeners
196
+ * and scheduled tasks will hang the test runner.
112
197
  */
113
198
  export declare function TestRunner<S extends ServiceMap, C extends OptionalModuleConfiguration>(options?: CreateTestingLibraryOptions<S, C>): iTestRunner<S, C>;
114
199
  export {};
@@ -1,9 +1,38 @@
1
+ /**
2
+ * Test infrastructure for bootstrapping isolated DI graphs in test suites.
3
+ *
4
+ * @remarks
5
+ * {@link TestRunner} boots a **real** dependency-injection graph, not a mock framework.
6
+ * Every lifecycle stage fires in order, every service executes normally, and every
7
+ * scheduler registers real event listeners. This makes it safe to test complex
8
+ * initialization sequences, lifecycle interactions, and async service behavior without
9
+ * leaking state between tests. By default, config files and environment variables
10
+ * are NOT loaded; opt in with `loadConfigs: true` or `setOptions({ configSources })`.
11
+ *
12
+ * Always call `.teardown()` in `afterEach` — open handles and event listeners will
13
+ * keep vitest hanging if left uncleaned.
14
+ */
1
15
  import { v4 } from "uuid";
2
16
  import { CreateApplication, CreateLibrary, deepExtend, is, NONE } from "../index.mjs";
3
17
  /**
4
- * library optional
18
+ * Bootstrap a real dependency-injection graph for testing.
19
+ *
20
+ * @remarks
21
+ * Returns a chainable test runner that wires up a full application with all
22
+ * lifecycle stages executing in order. By default, config files and environment
23
+ * variables are NOT loaded — the test is isolated. Opt in with `loadConfigs: true`
24
+ * or `setOptions({ configSources: { env: true } })`.
25
+ *
26
+ * **Mocking depth matters:** when you spy on a service method, only that method
27
+ * is replaced, not the entire service. To substitute an entire service, use
28
+ * `.replaceLibrary()` or `.appendService()`.
29
+ *
30
+ * **CRITICAL:** Always call `.teardown()` in `afterEach`. Unclosed event listeners
31
+ * and scheduled tasks will hang the test runner.
5
32
  */
6
33
  export function TestRunner(options = {}) {
34
+ // disable max event listener warnings in test environments where many
35
+ // services register lifecycle callbacks and event handlers simultaneously
7
36
  process.setMaxListeners(NONE);
8
37
  let teardown;
9
38
  let bootOptions = {};
@@ -18,8 +47,12 @@ export function TestRunner(options = {}) {
18
47
  return target && "libraries" in target ? target.libraries : [];
19
48
  }
20
49
  function buildApp(name, target, test) {
50
+ // extract optional dependencies from the target; absent if target is undefined
21
51
  const optional = target && "optionalDepends" in target ? target.optionalDepends : [];
52
+ // gather the full library dependency tree from the target module
22
53
  const depends = [...getLibraries(target)];
54
+ // wrap the target's services and configuration into a library so it can be
55
+ // mixed with appended libraries and the run_first setup library
23
56
  const testLibrary = target
24
57
  ? CreateLibrary({
25
58
  configuration: target.configuration,
@@ -30,6 +63,8 @@ export function TestRunner(options = {}) {
30
63
  services: target.services,
31
64
  })
32
65
  : undefined;
66
+ // setup services (added via .setup()) run in a dedicated library that depends
67
+ // on the target library, ensuring they fire after the full graph is wired
33
68
  let LIB_RUN_FIRST;
34
69
  if (!is.empty(runFirst)) {
35
70
  LIB_RUN_FIRST = CreateLibrary({
@@ -39,60 +74,82 @@ export function TestRunner(options = {}) {
39
74
  services: Object.fromEntries([...runFirst.values()].map(service => [service.name || v4(), service])),
40
75
  });
41
76
  }
77
+ // build the application with appended libraries, the target library (if any),
78
+ // and the special test service that the caller provides to .run() or .serviceParams()
42
79
  const app = CreateApplication({
43
80
  configuration: bootOptions?.module_config ?? {},
81
+ // pass config sources from options; if loadConfigs is not set, all sources default to false
44
82
  configurationLoaders: bootOptions?.configSources,
45
83
  libraries: [
84
+ // map any replaced libraries; use the replacement if it exists in replaceLibrary map
46
85
  ...(is.empty(depends)
47
86
  ? []
48
87
  : depends.map(i => (replaceLibrary.has(i.name) ? replaceLibrary.get(i.name) : i))),
88
+ // include the target library to ensure its services and config are wired
49
89
  ...(testLibrary ? [testLibrary] : []),
50
90
  ],
51
91
  // @ts-expect-error it's life
52
92
  name,
93
+ // inject the test service so it receives TServiceParams at bootstrap time
53
94
  services: { test },
54
95
  });
55
96
  return { LIB_RUN_FIRST, app };
56
97
  }
57
98
  const libraryTestRunner = {
58
99
  appendLibrary(library) {
100
+ // store the library for wiring during bootstrap
59
101
  appendLibraries.set(library.name, library);
60
102
  return libraryTestRunner;
61
103
  },
62
104
  appendService(service, name) {
105
+ // use the service's own function name if no explicit name was provided
63
106
  if (is.empty(name) && !is.empty(service.name)) {
64
107
  name = service.name;
65
108
  }
109
+ // store the service for wiring; generate a UUID only if name is still empty
66
110
  appendServices.set(name || v4(), service);
67
111
  return libraryTestRunner;
68
112
  },
69
113
  bootLibrariesFirst() {
114
+ // set the flag to control library initialization order during bootstrap
70
115
  bootOptions.bootLibrariesFirst = true;
71
116
  return libraryTestRunner;
72
117
  },
73
118
  configure(configuration) {
119
+ // deep-merge the configuration into existing boot options
74
120
  bootOptions = deepExtend(bootOptions, { configuration });
75
121
  return libraryTestRunner;
76
122
  },
77
123
  emitLogs(LOG_LEVEL) {
124
+ // enable logger output for debugging
78
125
  libraryTestRunner.setOptions({ emitLogs: true });
126
+ // only set log level if a specific level was provided
79
127
  if (!is.empty({ level: LOG_LEVEL })) {
80
128
  libraryTestRunner.configure({ boilerplate: { LOG_LEVEL } });
81
129
  }
82
130
  return libraryTestRunner;
83
131
  },
84
132
  replaceLibrary(name, library) {
133
+ // store the replacement; lookup happens during app construction
85
134
  replaceLibrary.set(name, library);
86
135
  return libraryTestRunner;
87
136
  },
88
137
  async run(test) {
138
+ // build the application with all configured libraries, services, and the test service
89
139
  const { app, LIB_RUN_FIRST } = buildApp(options?.name ?? "testing", options?.target, test);
140
+ // when logs are suppressed, default LOG_LEVEL to "silent" so fatalLog (which writes
141
+ // directly to stderr.fd) is also gated; user configuration wins via deepExtend order
142
+ const effectiveConfiguration = bootOptions?.emitLogs
143
+ ? bootOptions?.configuration
144
+ : deepExtend({ boilerplate: { LOG_LEVEL: "silent" } }, bootOptions?.configuration ?? {});
145
+ // bootstrap the full application; all lifecycle stages fire here
90
146
  await app.bootstrap({
91
147
  appendLibrary: [...appendLibraries.values(), ...(LIB_RUN_FIRST ? [LIB_RUN_FIRST] : [])],
92
148
  appendService: Object.fromEntries(appendServices.entries()),
93
149
  bootLibrariesFirst: !!bootOptions?.bootLibrariesFirst,
94
150
  configSources: bootOptions?.configSources,
95
- configuration: bootOptions?.configuration,
151
+ configuration: effectiveConfiguration,
152
+ // if logging is disabled, provide a no-op logger; otherwise use the provided custom logger or default
96
153
  customLogger: bootOptions?.emitLogs
97
154
  ? undefined
98
155
  : (bootOptions?.customLogger ?? {
@@ -105,21 +162,26 @@ export function TestRunner(options = {}) {
105
162
  }),
106
163
  loggerOptions: bootOptions?.loggerOptions,
107
164
  });
165
+ // capture the teardown function so callers can clean up after the test
108
166
  teardown = async () => await app.teardown();
109
167
  return app;
110
168
  },
111
169
  serviceParams() {
170
+ // wrap a service that returns its TServiceParams immediately; run() will inject them
112
171
  return new Promise(done => libraryTestRunner.run(done));
113
172
  },
114
173
  setOptions(options) {
174
+ // deep-merge bootstrap options; chained calls accumulate settings
115
175
  bootOptions = deepExtend(bootOptions, options);
116
176
  return libraryTestRunner;
117
177
  },
118
178
  setup(service) {
179
+ // register the service to run first; it will be added to LIB_RUN_FIRST during buildApp
119
180
  runFirst.add(service);
120
181
  return libraryTestRunner;
121
182
  },
122
183
  async teardown() {
184
+ // close all event listeners, cancel schedulers, and clean up async work
123
185
  if (teardown) {
124
186
  await teardown();
125
187
  teardown = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"test-module.mjs","sourceRoot":"","sources":["../../src/testing/test-module.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-module.mjs","sourceRoot":"","sources":["../../src/testing/test-module.mts"],"names":[],"mappings":"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"}