rightsize 0.1.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 (216) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +4 -0
  3. package/README.md +255 -0
  4. package/dist/backend-docker/backend.d.ts +53 -0
  5. package/dist/backend-docker/backend.d.ts.map +1 -0
  6. package/dist/backend-docker/backend.js +336 -0
  7. package/dist/backend-docker/backend.js.map +1 -0
  8. package/dist/backend-docker/client.d.ts +82 -0
  9. package/dist/backend-docker/client.d.ts.map +1 -0
  10. package/dist/backend-docker/client.js +190 -0
  11. package/dist/backend-docker/client.js.map +1 -0
  12. package/dist/backend-docker/frames.d.ts +44 -0
  13. package/dist/backend-docker/frames.d.ts.map +1 -0
  14. package/dist/backend-docker/frames.js +105 -0
  15. package/dist/backend-docker/frames.js.map +1 -0
  16. package/dist/backend-docker/index.d.ts +5 -0
  17. package/dist/backend-docker/index.d.ts.map +1 -0
  18. package/dist/backend-docker/index.js +20 -0
  19. package/dist/backend-docker/index.js.map +1 -0
  20. package/dist/backend-docker/json.d.ts +13 -0
  21. package/dist/backend-docker/json.d.ts.map +1 -0
  22. package/dist/backend-docker/json.js +47 -0
  23. package/dist/backend-docker/json.js.map +1 -0
  24. package/dist/backend-docker/labels.d.ts +11 -0
  25. package/dist/backend-docker/labels.d.ts.map +1 -0
  26. package/dist/backend-docker/labels.js +13 -0
  27. package/dist/backend-docker/labels.js.map +1 -0
  28. package/dist/backend-docker/port-conflict.d.ts +9 -0
  29. package/dist/backend-docker/port-conflict.d.ts.map +1 -0
  30. package/dist/backend-docker/port-conflict.js +12 -0
  31. package/dist/backend-docker/port-conflict.js.map +1 -0
  32. package/dist/backend-docker/provider.d.ts +22 -0
  33. package/dist/backend-docker/provider.d.ts.map +1 -0
  34. package/dist/backend-docker/provider.js +36 -0
  35. package/dist/backend-docker/provider.js.map +1 -0
  36. package/dist/backend-msb/backend.d.ts +169 -0
  37. package/dist/backend-msb/backend.d.ts.map +1 -0
  38. package/dist/backend-msb/backend.js +664 -0
  39. package/dist/backend-msb/backend.js.map +1 -0
  40. package/dist/backend-msb/commands.d.ts +28 -0
  41. package/dist/backend-msb/commands.d.ts.map +1 -0
  42. package/dist/backend-msb/commands.js +67 -0
  43. package/dist/backend-msb/commands.js.map +1 -0
  44. package/dist/backend-msb/exec-tunnel.d.ts +33 -0
  45. package/dist/backend-msb/exec-tunnel.d.ts.map +1 -0
  46. package/dist/backend-msb/exec-tunnel.js +163 -0
  47. package/dist/backend-msb/exec-tunnel.js.map +1 -0
  48. package/dist/backend-msb/follow-replay.d.ts +14 -0
  49. package/dist/backend-msb/follow-replay.d.ts.map +1 -0
  50. package/dist/backend-msb/follow-replay.js +20 -0
  51. package/dist/backend-msb/follow-replay.js.map +1 -0
  52. package/dist/backend-msb/image-cache.d.ts +25 -0
  53. package/dist/backend-msb/image-cache.d.ts.map +1 -0
  54. package/dist/backend-msb/image-cache.js +27 -0
  55. package/dist/backend-msb/image-cache.js.map +1 -0
  56. package/dist/backend-msb/index.d.ts +6 -0
  57. package/dist/backend-msb/index.d.ts.map +1 -0
  58. package/dist/backend-msb/index.js +21 -0
  59. package/dist/backend-msb/index.js.map +1 -0
  60. package/dist/backend-msb/invoke.d.ts +24 -0
  61. package/dist/backend-msb/invoke.d.ts.map +1 -0
  62. package/dist/backend-msb/invoke.js +73 -0
  63. package/dist/backend-msb/invoke.js.map +1 -0
  64. package/dist/backend-msb/ls-json.d.ts +23 -0
  65. package/dist/backend-msb/ls-json.d.ts.map +1 -0
  66. package/dist/backend-msb/ls-json.js +113 -0
  67. package/dist/backend-msb/ls-json.js.map +1 -0
  68. package/dist/backend-msb/network-links.d.ts +7 -0
  69. package/dist/backend-msb/network-links.d.ts.map +1 -0
  70. package/dist/backend-msb/network-links.js +31 -0
  71. package/dist/backend-msb/network-links.js.map +1 -0
  72. package/dist/backend-msb/platform.d.ts +29 -0
  73. package/dist/backend-msb/platform.d.ts.map +1 -0
  74. package/dist/backend-msb/platform.js +128 -0
  75. package/dist/backend-msb/platform.js.map +1 -0
  76. package/dist/backend-msb/port-conflict.d.ts +10 -0
  77. package/dist/backend-msb/port-conflict.d.ts.map +1 -0
  78. package/dist/backend-msb/port-conflict.js +16 -0
  79. package/dist/backend-msb/port-conflict.js.map +1 -0
  80. package/dist/backend-msb/provider.d.ts +10 -0
  81. package/dist/backend-msb/provider.d.ts.map +1 -0
  82. package/dist/backend-msb/provider.js +40 -0
  83. package/dist/backend-msb/provider.js.map +1 -0
  84. package/dist/backend-msb/provisioner.d.ts +19 -0
  85. package/dist/backend-msb/provisioner.d.ts.map +1 -0
  86. package/dist/backend-msb/provisioner.js +332 -0
  87. package/dist/backend-msb/provisioner.js.map +1 -0
  88. package/dist/backend-msb/reaper.d.ts +10 -0
  89. package/dist/backend-msb/reaper.d.ts.map +1 -0
  90. package/dist/backend-msb/reaper.js +73 -0
  91. package/dist/backend-msb/reaper.js.map +1 -0
  92. package/dist/core/backend.d.ts +98 -0
  93. package/dist/core/backend.d.ts.map +1 -0
  94. package/dist/core/backend.js +2 -0
  95. package/dist/core/backend.js.map +1 -0
  96. package/dist/core/backends.d.ts +37 -0
  97. package/dist/core/backends.d.ts.map +1 -0
  98. package/dist/core/backends.js +127 -0
  99. package/dist/core/backends.js.map +1 -0
  100. package/dist/core/cleanup.d.ts +37 -0
  101. package/dist/core/cleanup.d.ts.map +1 -0
  102. package/dist/core/cleanup.js +86 -0
  103. package/dist/core/cleanup.js.map +1 -0
  104. package/dist/core/errors.d.ts +51 -0
  105. package/dist/core/errors.d.ts.map +1 -0
  106. package/dist/core/errors.js +66 -0
  107. package/dist/core/errors.js.map +1 -0
  108. package/dist/core/free-ports.d.ts +23 -0
  109. package/dist/core/free-ports.d.ts.map +1 -0
  110. package/dist/core/free-ports.js +63 -0
  111. package/dist/core/free-ports.js.map +1 -0
  112. package/dist/core/generic-container.d.ts +145 -0
  113. package/dist/core/generic-container.d.ts.map +1 -0
  114. package/dist/core/generic-container.js +385 -0
  115. package/dist/core/generic-container.js.map +1 -0
  116. package/dist/core/model.d.ts +60 -0
  117. package/dist/core/model.d.ts.map +1 -0
  118. package/dist/core/model.js +2 -0
  119. package/dist/core/model.js.map +1 -0
  120. package/dist/core/mountable-file.d.ts +25 -0
  121. package/dist/core/mountable-file.d.ts.map +1 -0
  122. package/dist/core/mountable-file.js +64 -0
  123. package/dist/core/mountable-file.js.map +1 -0
  124. package/dist/core/network.d.ts +58 -0
  125. package/dist/core/network.d.ts.map +1 -0
  126. package/dist/core/network.js +84 -0
  127. package/dist/core/network.js.map +1 -0
  128. package/dist/core/run-id.d.ts +18 -0
  129. package/dist/core/run-id.d.ts.map +1 -0
  130. package/dist/core/run-id.js +18 -0
  131. package/dist/core/run-id.js.map +1 -0
  132. package/dist/core/wait.d.ts +59 -0
  133. package/dist/core/wait.d.ts.map +1 -0
  134. package/dist/core/wait.js +239 -0
  135. package/dist/core/wait.js.map +1 -0
  136. package/dist/index.d.ts +26 -0
  137. package/dist/index.d.ts.map +1 -0
  138. package/dist/index.js +22 -0
  139. package/dist/index.js.map +1 -0
  140. package/dist/modules/arango.d.ts +14 -0
  141. package/dist/modules/arango.d.ts.map +1 -0
  142. package/dist/modules/arango.js +37 -0
  143. package/dist/modules/arango.js.map +1 -0
  144. package/dist/modules/clickhouse.d.ts +37 -0
  145. package/dist/modules/clickhouse.d.ts.map +1 -0
  146. package/dist/modules/clickhouse.js +69 -0
  147. package/dist/modules/clickhouse.js.map +1 -0
  148. package/dist/modules/flink.d.ts +65 -0
  149. package/dist/modules/flink.d.ts.map +1 -0
  150. package/dist/modules/flink.js +125 -0
  151. package/dist/modules/flink.js.map +1 -0
  152. package/dist/modules/floci.d.ts +46 -0
  153. package/dist/modules/floci.d.ts.map +1 -0
  154. package/dist/modules/floci.js +62 -0
  155. package/dist/modules/floci.js.map +1 -0
  156. package/dist/modules/index.d.ts +31 -0
  157. package/dist/modules/index.d.ts.map +1 -0
  158. package/dist/modules/index.js +31 -0
  159. package/dist/modules/index.js.map +1 -0
  160. package/dist/modules/kafka.d.ts +11 -0
  161. package/dist/modules/kafka.d.ts.map +1 -0
  162. package/dist/modules/kafka.js +41 -0
  163. package/dist/modules/kafka.js.map +1 -0
  164. package/dist/modules/keycloak.d.ts +40 -0
  165. package/dist/modules/keycloak.d.ts.map +1 -0
  166. package/dist/modules/keycloak.js +67 -0
  167. package/dist/modules/keycloak.js.map +1 -0
  168. package/dist/modules/mariadb.d.ts +56 -0
  169. package/dist/modules/mariadb.d.ts.map +1 -0
  170. package/dist/modules/mariadb.js +89 -0
  171. package/dist/modules/mariadb.js.map +1 -0
  172. package/dist/modules/memcached.d.ts +24 -0
  173. package/dist/modules/memcached.d.ts.map +1 -0
  174. package/dist/modules/memcached.js +105 -0
  175. package/dist/modules/memcached.js.map +1 -0
  176. package/dist/modules/mongodb.d.ts +19 -0
  177. package/dist/modules/mongodb.d.ts.map +1 -0
  178. package/dist/modules/mongodb.js +69 -0
  179. package/dist/modules/mongodb.js.map +1 -0
  180. package/dist/modules/mysql.d.ts +61 -0
  181. package/dist/modules/mysql.d.ts.map +1 -0
  182. package/dist/modules/mysql.js +101 -0
  183. package/dist/modules/mysql.js.map +1 -0
  184. package/dist/modules/neo4j.d.ts +60 -0
  185. package/dist/modules/neo4j.d.ts.map +1 -0
  186. package/dist/modules/neo4j.js +83 -0
  187. package/dist/modules/neo4j.js.map +1 -0
  188. package/dist/modules/pinot.d.ts +30 -0
  189. package/dist/modules/pinot.d.ts.map +1 -0
  190. package/dist/modules/pinot.js +49 -0
  191. package/dist/modules/pinot.js.map +1 -0
  192. package/dist/modules/postgres.d.ts +29 -0
  193. package/dist/modules/postgres.d.ts.map +1 -0
  194. package/dist/modules/postgres.js +73 -0
  195. package/dist/modules/postgres.js.map +1 -0
  196. package/dist/modules/rabbitmq.d.ts +46 -0
  197. package/dist/modules/rabbitmq.d.ts.map +1 -0
  198. package/dist/modules/rabbitmq.js +68 -0
  199. package/dist/modules/rabbitmq.js.map +1 -0
  200. package/dist/modules/redis.d.ts +15 -0
  201. package/dist/modules/redis.d.ts.map +1 -0
  202. package/dist/modules/redis.js +24 -0
  203. package/dist/modules/redis.js.map +1 -0
  204. package/dist/modules/redpanda.d.ts +27 -0
  205. package/dist/modules/redpanda.d.ts.map +1 -0
  206. package/dist/modules/redpanda.js +58 -0
  207. package/dist/modules/redpanda.js.map +1 -0
  208. package/dist/modules/spring-cloud-config.d.ts +18 -0
  209. package/dist/modules/spring-cloud-config.d.ts.map +1 -0
  210. package/dist/modules/spring-cloud-config.js +28 -0
  211. package/dist/modules/spring-cloud-config.js.map +1 -0
  212. package/dist/modules/wiremock.d.ts +21 -0
  213. package/dist/modules/wiremock.d.ts.map +1 -0
  214. package/dist/modules/wiremock.js +32 -0
  215. package/dist/modules/wiremock.js.map +1 -0
  216. package/package.json +104 -0
@@ -0,0 +1,18 @@
1
+ import { GenericContainer } from "../core/generic-container.js";
2
+ /**
3
+ * A Spring Cloud Config Server container, ready-checked via its actuator
4
+ * health endpoint.
5
+ *
6
+ * Paketo's memory calculator sizes this JVM image's fixed regions
7
+ * (measured ~704763K) above microsandbox's default microVM RAM (~450MB),
8
+ * so `withMemoryLimit(1024)` is set by default here — without it, the
9
+ * container never becomes ready on msb (times out around 180s); with it,
10
+ * boot completes in roughly 19s.
11
+ */
12
+ export declare class SpringCloudConfigContainer extends GenericContainer {
13
+ constructor(image?: string);
14
+ static start(image?: string): Promise<SpringCloudConfigContainer>;
15
+ /** The config server's base URI for the running container. */
16
+ get uri(): string;
17
+ }
18
+ //# sourceMappingURL=spring-cloud-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spring-cloud-config.d.ts","sourceRoot":"","sources":["../../src/modules/spring-cloud-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAKhE;;;;;;;;;GASG;AACH,qBAAa,0BAA2B,SAAQ,gBAAgB;gBAClD,KAAK,SAA6C;WAMxC,KAAK,CAAC,KAAK,SAA6C,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAIpH,8DAA8D;IAC9D,IAAI,GAAG,IAAI,MAAM,CAEhB;CACF"}
@@ -0,0 +1,28 @@
1
+ import { GenericContainer } from "../core/generic-container.js";
2
+ import { Wait } from "../core/wait.js";
3
+ const GUEST_PORT = 8888;
4
+ /**
5
+ * A Spring Cloud Config Server container, ready-checked via its actuator
6
+ * health endpoint.
7
+ *
8
+ * Paketo's memory calculator sizes this JVM image's fixed regions
9
+ * (measured ~704763K) above microsandbox's default microVM RAM (~450MB),
10
+ * so `withMemoryLimit(1024)` is set by default here — without it, the
11
+ * container never becomes ready on msb (times out around 180s); with it,
12
+ * boot completes in roughly 19s.
13
+ */
14
+ export class SpringCloudConfigContainer extends GenericContainer {
15
+ constructor(image = "hyness/spring-cloud-config-server:latest") {
16
+ super(image);
17
+ this.withExposedPorts(GUEST_PORT).waitingFor(Wait.forHttp("/actuator/health").forPort(GUEST_PORT));
18
+ this.withMemoryLimit(1024);
19
+ }
20
+ static async start(image = "hyness/spring-cloud-config-server:latest") {
21
+ return (await new SpringCloudConfigContainer(image).start());
22
+ }
23
+ /** The config server's base URI for the running container. */
24
+ get uri() {
25
+ return `http://${this.host}:${this.getMappedPort(GUEST_PORT)}`;
26
+ }
27
+ }
28
+ //# sourceMappingURL=spring-cloud-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spring-cloud-config.js","sourceRoot":"","sources":["../../src/modules/spring-cloud-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB;;;;;;;;;GASG;AACH,MAAM,OAAO,0BAA2B,SAAQ,gBAAgB;IAC9D,YAAY,KAAK,GAAG,0CAA0C;QAC5D,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QACnG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,CAAU,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,0CAA0C;QAC5E,OAAO,CAAC,MAAM,IAAI,0BAA0B,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAA+B,CAAC;IAC7F,CAAC;IAED,8DAA8D;IAC9D,IAAI,GAAG;QACL,OAAO,UAAU,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;IACjE,CAAC;CACF"}
@@ -0,0 +1,21 @@
1
+ import { GenericContainer } from "../core/generic-container.js";
2
+ /**
3
+ * A single-node WireMock container — the TypeScript ecosystem has no
4
+ * in-process WireMock equivalent (unlike the JVM, where WireMock runs
5
+ * embedded in the test process); this module is the closest thing:
6
+ * a real WireMock server, isolated per test run, reachable over HTTP.
7
+ *
8
+ * `/__admin/health` ships in 3.x (verified against 3.13.2) and is a small,
9
+ * dependency-free readiness signal, so it's preferred over polling
10
+ * `/__admin/mappings` (which would also return 200 once the admin API is
11
+ * up, but reads as "list of stubs" rather than "am I healthy").
12
+ */
13
+ export declare class WireMockContainer extends GenericContainer {
14
+ constructor(image?: string);
15
+ static start(image?: string): Promise<WireMockContainer>;
16
+ /** The stubbed API's base URL (mock endpoints are served from here). */
17
+ get baseUrl(): string;
18
+ /** The admin API's base URL (`/__admin/...` — mapping management, health, requests). */
19
+ get adminUrl(): string;
20
+ }
21
+ //# sourceMappingURL=wiremock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiremock.d.ts","sourceRoot":"","sources":["../../src/modules/wiremock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAKhE;;;;;;;;;;GAUG;AACH,qBAAa,iBAAkB,SAAQ,gBAAgB;gBACzC,KAAK,SAA6B;WAKxB,KAAK,CAAC,KAAK,SAA6B,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI3F,wEAAwE;IACxE,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,wFAAwF;IACxF,IAAI,QAAQ,IAAI,MAAM,CAErB;CACF"}
@@ -0,0 +1,32 @@
1
+ import { GenericContainer } from "../core/generic-container.js";
2
+ import { Wait } from "../core/wait.js";
3
+ const GUEST_PORT = 8080;
4
+ /**
5
+ * A single-node WireMock container — the TypeScript ecosystem has no
6
+ * in-process WireMock equivalent (unlike the JVM, where WireMock runs
7
+ * embedded in the test process); this module is the closest thing:
8
+ * a real WireMock server, isolated per test run, reachable over HTTP.
9
+ *
10
+ * `/__admin/health` ships in 3.x (verified against 3.13.2) and is a small,
11
+ * dependency-free readiness signal, so it's preferred over polling
12
+ * `/__admin/mappings` (which would also return 200 once the admin API is
13
+ * up, but reads as "list of stubs" rather than "am I healthy").
14
+ */
15
+ export class WireMockContainer extends GenericContainer {
16
+ constructor(image = "wiremock/wiremock:3.13.2") {
17
+ super(image);
18
+ this.withExposedPorts(GUEST_PORT).waitingFor(Wait.forHttp("/__admin/health").forPort(GUEST_PORT));
19
+ }
20
+ static async start(image = "wiremock/wiremock:3.13.2") {
21
+ return (await new WireMockContainer(image).start());
22
+ }
23
+ /** The stubbed API's base URL (mock endpoints are served from here). */
24
+ get baseUrl() {
25
+ return `http://${this.host}:${this.getMappedPort(GUEST_PORT)}`;
26
+ }
27
+ /** The admin API's base URL (`/__admin/...` — mapping management, health, requests). */
28
+ get adminUrl() {
29
+ return `${this.baseUrl}/__admin`;
30
+ }
31
+ }
32
+ //# sourceMappingURL=wiremock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiremock.js","sourceRoot":"","sources":["../../src/modules/wiremock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB;;;;;;;;;;GAUG;AACH,MAAM,OAAO,iBAAkB,SAAQ,gBAAgB;IACrD,YAAY,KAAK,GAAG,0BAA0B;QAC5C,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACpG,CAAC;IAED,MAAM,CAAU,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,0BAA0B;QAC5D,OAAO,CAAC,MAAM,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAsB,CAAC;IAC3E,CAAC;IAED,wEAAwE;IACxE,IAAI,OAAO;QACT,OAAO,UAAU,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,wFAAwF;IACxF,IAAI,QAAQ;QACV,OAAO,GAAG,IAAI,CAAC,OAAO,UAAU,CAAC;IACnC,CAAC;CACF"}
package/package.json ADDED
@@ -0,0 +1,104 @@
1
+ {
2
+ "name": "rightsize",
3
+ "version": "0.1.0",
4
+ "description": "Testcontainers-style integration testing on microsandbox microVMs, with a Docker fallback and an await-using lifecycle. No Docker required.",
5
+ "keywords": [
6
+ "testcontainers",
7
+ "microvm",
8
+ "microsandbox",
9
+ "docker",
10
+ "testing",
11
+ "integration-testing",
12
+ "containers"
13
+ ],
14
+ "homepage": "https://github.com/ngriaznov/rightsize-node#readme",
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/ngriaznov/rightsize-node.git"
18
+ },
19
+ "bugs": {
20
+ "url": "https://github.com/ngriaznov/rightsize-node/issues"
21
+ },
22
+ "license": "Apache-2.0",
23
+ "author": "Mykyta Hriaznov (https://github.com/ngriaznov)",
24
+ "type": "module",
25
+ "engines": {
26
+ "node": ">=22.11"
27
+ },
28
+ "exports": {
29
+ ".": {
30
+ "types": "./dist/index.d.ts",
31
+ "import": "./dist/index.js"
32
+ },
33
+ "./modules": {
34
+ "types": "./dist/modules/index.d.ts",
35
+ "import": "./dist/modules/index.js"
36
+ },
37
+ "./backend-msb": {
38
+ "types": "./dist/backend-msb/index.d.ts",
39
+ "import": "./dist/backend-msb/index.js"
40
+ },
41
+ "./backend-docker": {
42
+ "types": "./dist/backend-docker/index.d.ts",
43
+ "import": "./dist/backend-docker/index.js"
44
+ }
45
+ },
46
+ "sideEffects": [
47
+ "./dist/backend-msb/index.js",
48
+ "./dist/backend-docker/index.js"
49
+ ],
50
+ "files": [
51
+ "dist",
52
+ "LICENSE",
53
+ "NOTICE"
54
+ ],
55
+ "scripts": {
56
+ "prepublishOnly": "npm run build && npm run typecheck && npm run test:node",
57
+ "build": "tsc -p tsconfig.build.json",
58
+ "typecheck": "tsc -p tsconfig.json --noEmit",
59
+ "pretest:node": "tsc -p tsconfig.test.json && npm run copy-test-fixtures",
60
+ "test:node": "node --test 'dist-test/**/*.test.js'",
61
+ "test:node:it": "npm run pretest:node && cross-env RIGHTSIZE_IT=1 node --test --test-concurrency=1 --test-timeout=300000 'dist-test/**/*.test.js'",
62
+ "test:bun": "bun test --path-ignore-patterns='dist-test/**' --path-ignore-patterns='examples/**'",
63
+ "test:bun:it": "cross-env RIGHTSIZE_IT=1 bun test --path-ignore-patterns='dist-test/**' --path-ignore-patterns='examples/**' --timeout=300000",
64
+ "test": "npm run test:node && npm run test:bun",
65
+ "verify-async-dispose": "npm run pretest:node && node --test dist-test/src/core/async-dispose-verifier.test.js && bun test dist-test/src/core/async-dispose-verifier.test.js",
66
+ "copy-test-fixtures": "node scripts/copy-test-fixtures.mjs",
67
+ "precoverage": "tsc -p tsconfig.test.json && npm run copy-test-fixtures",
68
+ "coverage": "node --test --experimental-test-coverage 'dist-test/**/*.test.js'",
69
+ "precoverage:core": "tsc -p tsconfig.test.json && npm run copy-test-fixtures",
70
+ "coverage:core": "node --test --experimental-test-coverage --test-coverage-include='dist-test/src/core/**' --test-coverage-lines=80 'dist-test/**/*.test.js'",
71
+ "docs:dev": "vitepress dev docs",
72
+ "docs:build": "vitepress build docs",
73
+ "predocs:verify": "npm run build",
74
+ "docs:verify": "node scripts/verify-docs.mjs",
75
+ "docs:verify:run": "npm run build && cross-env RIGHTSIZE_DOCS_RUN=1 node scripts/verify-docs.mjs",
76
+ "docs:api-check": "typedoc --emit none",
77
+ "lint": "tsc -p tsconfig.json --noEmit",
78
+ "preexamples:build": "npm run build",
79
+ "examples:build": "node scripts/link-self.mjs && tsc -p tsconfig.examples.json",
80
+ "example:redis": "npm run examples:build && node dist-examples/redis-quickstart.js",
81
+ "example:network": "npm run examples:build && node dist-examples/network-alias.js",
82
+ "example:test": "npm run examples:build && node --test dist-examples/redis.test.js",
83
+ "examples:run": "npm run examples:build && node dist-examples/redis-quickstart.js && node dist-examples/network-alias.js && node --test dist-examples/redis.test.js"
84
+ },
85
+ "devDependencies": {
86
+ "@types/amqplib": "^0.10.8",
87
+ "@types/node": "^22.10.5",
88
+ "@types/pg": "^8.20.0",
89
+ "amqplib": "^2.0.1",
90
+ "bun-types": "^1.1.38",
91
+ "cross-env": "^10.1.0",
92
+ "kafkajs": "^2.2.4",
93
+ "mongodb": "^7.4.0",
94
+ "mysql2": "^3.22.5",
95
+ "pg": "^8.22.0",
96
+ "redis": "^6.1.0",
97
+ "typedoc": "^0.28.19",
98
+ "typescript": "^5.7.3",
99
+ "vitepress": "^1.5.0"
100
+ },
101
+ "dependencies": {
102
+ "tslib": "^2.8.1"
103
+ }
104
+ }