@bgord/bun 0.18.8 → 0.18.9

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 (38) hide show
  1. package/dist/{command-logger.d.ts → command-logger.service.d.ts} +1 -1
  2. package/dist/command-logger.service.d.ts.map +1 -0
  3. package/dist/{command-logger.js → command-logger.service.js} +1 -1
  4. package/dist/command-logger.service.js.map +1 -0
  5. package/dist/index.d.ts +4 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +4 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/mailer.port.d.ts +6 -0
  10. package/dist/mailer.port.d.ts.map +1 -0
  11. package/dist/mailer.port.js +2 -0
  12. package/dist/mailer.port.js.map +1 -0
  13. package/dist/noop-mailer.adapter.d.ts +12 -0
  14. package/dist/noop-mailer.adapter.d.ts.map +1 -0
  15. package/dist/noop-mailer.adapter.js +13 -0
  16. package/dist/noop-mailer.adapter.js.map +1 -0
  17. package/dist/prerequisites/mailer.d.ts +2 -2
  18. package/dist/prerequisites/mailer.d.ts.map +1 -1
  19. package/dist/rate-limit-shield.middleware.d.ts +1 -1
  20. package/dist/rate-limit-shield.middleware.js +1 -1
  21. package/dist/{mailer.service.d.ts → smtp-mailer.adapter.d.ts} +4 -3
  22. package/dist/smtp-mailer.adapter.d.ts.map +1 -0
  23. package/dist/{mailer.service.js → smtp-mailer.adapter.js} +4 -4
  24. package/dist/smtp-mailer.adapter.js.map +1 -0
  25. package/dist/tsconfig.tsbuildinfo +1 -1
  26. package/package.json +5 -5
  27. package/readme.md +4 -2
  28. package/src/index.ts +4 -2
  29. package/src/mailer.port.ts +7 -0
  30. package/src/noop-mailer.adapter.ts +17 -0
  31. package/src/prerequisites/mailer.ts +2 -2
  32. package/src/rate-limit-shield.middleware.ts +1 -1
  33. package/src/{mailer.service.ts → smtp-mailer.adapter.ts} +4 -3
  34. package/dist/command-logger.d.ts.map +0 -1
  35. package/dist/command-logger.js.map +0 -1
  36. package/dist/mailer.service.d.ts.map +0 -1
  37. package/dist/mailer.service.js.map +0 -1
  38. /package/src/{command-logger.ts → command-logger.service.ts} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bgord/bun",
3
- "version": "0.18.8",
3
+ "version": "0.18.9",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "author": "Bartosz Gordon",
@@ -27,7 +27,7 @@
27
27
  "@types/lodash": "4.17.20",
28
28
  "@types/mime-types": "3.0.1",
29
29
  "@types/nodemailer": "6.4.17",
30
- "@types/yazl": "^3.3.0",
30
+ "@types/yazl": "3.3.0",
31
31
  "cspell": "9.2.0",
32
32
  "knip": "5.62.0",
33
33
  "lefthook": "1.12.2",
@@ -39,11 +39,11 @@
39
39
  "@axiomhq/winston": "1.3.1",
40
40
  "@bgord/tools": "0.12.5",
41
41
  "@hono/ua-blocker": "0.1.6",
42
- "better-auth": "1.3.3",
42
+ "better-auth": "1.3.4",
43
43
  "check-disk-space": "3.4.0",
44
44
  "croner": "9.1.0",
45
45
  "hcaptcha": "0.2.0",
46
- "hono": "4.8.5",
46
+ "hono": "4.8.10",
47
47
  "lodash": "4.17.21",
48
48
  "mime-types": "3.0.1",
49
49
  "node-cache": "5.1.2",
@@ -51,6 +51,6 @@
51
51
  "sharp": "0.34.3",
52
52
  "ssl-checker": "2.0.10",
53
53
  "winston": "3.17.0",
54
- "yazl": "^3.3.1"
54
+ "yazl": "3.3.1"
55
55
  }
56
56
  }
package/readme.md CHANGED
@@ -33,7 +33,7 @@ src/
33
33
  ├── cache-resolver.service.ts
34
34
  ├── cache-response.middleware.ts
35
35
  ├── cache-static-files.middleware.ts
36
- ├── command-logger.ts
36
+ ├── command-logger.service.ts
37
37
  ├── command.types.ts
38
38
  ├── context.middleware.ts
39
39
  ├── correlation-id.vo.ts
@@ -62,9 +62,10 @@ src/
62
62
  ├── image-exif.service.ts
63
63
  ├── jobs.service.ts
64
64
  ├── logger.service.ts
65
- ├── mailer.service.ts
65
+ ├── mailer.port.ts
66
66
  ├── memory-consumption.service.ts
67
67
  ├── node-env.vo.ts
68
+ ├── noop-mailer.adapter.ts
68
69
  ├── open-graph.service.ts
69
70
  ├── path.vo.ts
70
71
  ├── policy-error-handler.service.ts
@@ -97,6 +98,7 @@ src/
97
98
  ├── simulated-error.middleware.ts
98
99
  ├── sitemap.service.ts
99
100
  ├── slower.middleware.ts
101
+ ├── smtp-mailer.adapter.ts
100
102
  ├── time-zone-offset.middleware.ts
101
103
  ├── to-event-map.types.ts
102
104
  ├── translations.service.ts
package/src/index.ts CHANGED
@@ -9,7 +9,7 @@ export * from "./cache-resolver.service";
9
9
  export * from "./cache-response.middleware";
10
10
  export * from "./cache-static-files.middleware";
11
11
  export * from "./command.types";
12
- export * from "./command-logger";
12
+ export * from "./command-logger.service";
13
13
  export * from "./context.middleware";
14
14
  export * from "./correlation-id.vo";
15
15
  export * from "./correlation-storage.service";
@@ -36,9 +36,10 @@ export * from "./image-compressor.service";
36
36
  export * from "./image-exif.service";
37
37
  export * from "./jobs.service";
38
38
  export * from "./logger.service";
39
- export * from "./mailer.service";
39
+ export * from "./mailer.port";
40
40
  export * from "./memory-consumption.service";
41
41
  export * from "./node-env.vo";
42
+ export * from "./noop-mailer.adapter";
42
43
  export * from "./open-graph.service";
43
44
  export * from "./path.vo";
44
45
  export * from "./policy.service";
@@ -53,6 +54,7 @@ export * from "./setup.service";
53
54
  export * from "./simulated-error.middleware";
54
55
  export * from "./sitemap.service";
55
56
  export * from "./slower.middleware";
57
+ export * from "./smtp-mailer.adapter";
56
58
  export * from "./time-zone-offset.middleware";
57
59
  export * from "./to-event-map.types";
58
60
  export * from "./translations.service";
@@ -0,0 +1,7 @@
1
+ import type { SendMailOptions } from "nodemailer";
2
+
3
+ export interface MailerPort {
4
+ send(message: SendMailOptions): Promise<unknown>;
5
+
6
+ verify(): Promise<boolean>;
7
+ }
@@ -0,0 +1,17 @@
1
+ import { SendMailOptions } from "nodemailer";
2
+ import { Logger } from "./logger.service";
3
+ import { MailerPort } from "./mailer.port";
4
+
5
+ type MailerSendOptionsType = SendMailOptions;
6
+
7
+ export class NoopMailerAdapter implements MailerPort {
8
+ constructor(private readonly logger: Logger) {}
9
+
10
+ async send(message: MailerSendOptionsType): Promise<unknown> {
11
+ return this.logger.info({ message: "[NOOP] Mailer adapter", operation: "write", metadata: message });
12
+ }
13
+
14
+ async verify() {
15
+ return true;
16
+ }
17
+ }
@@ -1,8 +1,8 @@
1
- import { Mailer } from "../mailer.service";
1
+ import { MailerPort } from "../mailer.port";
2
2
  import * as prereqs from "../prerequisites.service";
3
3
 
4
4
  type PrerequisiteMailerConfigType = {
5
- mailer: Mailer;
5
+ mailer: MailerPort;
6
6
  label: prereqs.PrerequisiteLabelType;
7
7
  enabled?: boolean;
8
8
  };
@@ -11,7 +11,7 @@ export const TooManyRequestsError = new HTTPException(429, {
11
11
  message: "app.too_many_requests",
12
12
  });
13
13
 
14
- export const rateLimitShield = (options: RateLimitShieldOptionsType) => {
14
+ export const RateLimitShield = (options: RateLimitShieldOptionsType) => {
15
15
  const enabled = options.enabled;
16
16
  const rateLimiter = new tools.RateLimiter(options.time);
17
17
 
@@ -1,5 +1,6 @@
1
1
  import nodemailer, { SendMailOptions } from "nodemailer";
2
2
  import { z } from "zod/v4";
3
+ import { MailerPort } from "./mailer.port";
3
4
 
4
5
  import { Path } from "./path.vo";
5
6
  import { Port } from "./port.vo";
@@ -49,7 +50,7 @@ export const EmailAttachment = z.object({ filename: Path, path: Path });
49
50
 
50
51
  export type EmailAttachmentType = z.infer<typeof EmailAttachment>;
51
52
 
52
- export class Mailer {
53
+ export class SmtpMailerAdapter implements MailerPort {
53
54
  private readonly transport: nodemailer.Transporter;
54
55
 
55
56
  constructor(config: MailerConfigType) {
@@ -63,8 +64,8 @@ export class Mailer {
63
64
  });
64
65
  }
65
66
 
66
- async send(options: MailerSendOptionsType): Promise<unknown> {
67
- return this.transport.sendMail(options);
67
+ async send(message: MailerSendOptionsType): Promise<unknown> {
68
+ return this.transport.sendMail(message);
68
69
  }
69
70
 
70
71
  async verify() {
@@ -1 +0,0 @@
1
- {"version":3,"file":"command-logger.d.ts","sourceRoot":"","sources":["../src/command-logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C,OAAO,CAAC,OAAO;IAiBf,MAAM,SAhBE,MAAM,cACA,MAAM,eACL,MAAM,GAAG,SAAS,eAClB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,UAab;CAClC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"command-logger.js","sourceRoot":"","sources":["../src/command-logger.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAEvC,OAAO,CACb,IAAY,EACZ,UAAkB,EAClB,WAA+B,EAC/B,WAA4C;QAE5C,IAAI,IAAI,KAAK,WAAW;YAAE,OAAO;QAEjC,IAAI,OAAO,WAAW,KAAK,QAAQ;YAAE,OAAO;QAE5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,OAAO,EAAE,GAAG,WAAW,UAAU;YACjC,SAAS,EAAE,iBAAiB;YAC5B,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;CAClC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mailer.service.d.ts","sourceRoot":"","sources":["../src/mailer.service.ts"],"names":[],"mappings":"AAAA,OAAmB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAK3B,eAAO,MAAM,QAAQ,aAA2B,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEpD,eAAO,MAAM,QAAQ,yDAAO,CAAC;AAE7B,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEpD,eAAO,MAAM,QAAQ,aAA2B,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEpD,eAAO,MAAM,QAAQ,aAA2B,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEpD,KAAK,gBAAgB,GAAG;IACtB,SAAS,EAAE,YAAY,CAAC;IACxB,SAAS,EAAE,YAAY,CAAC;IACxB,SAAS,EAAE,YAAY,CAAC;IACxB,SAAS,EAAE,YAAY,CAAC;CACzB,CAAC;AAEF,KAAK,qBAAqB,GAAG,eAAe,CAAC;AAE7C,eAAO,MAAM,YAAY,aAA6B,CAAC;AAEvD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAE5D,eAAO,MAAM,gBAAgB,aAAgC,CAAC;AAE9D,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEpE,eAAO,MAAM,SAAS,YAAY,CAAC;AAEnC,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAEtD,eAAO,MAAM,OAAO,YAAY,CAAC;AAEjC,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;AAElD,eAAO,MAAM,eAAe;;;iBAA2C,CAAC;AAExE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAElE,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;gBAEvC,MAAM,EAAE,gBAAgB;IAW9B,IAAI,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC;IAItD,MAAM;CAGb"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mailer.service.js","sourceRoot":"","sources":["../src/mailer.service.ts"],"names":[],"mappings":"AAAA,OAAO,UAA+B,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAIjD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAI7B,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAIjD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAajD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAIvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAI9D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;AAInC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;AAIjC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAIxE,MAAM,OAAO,MAAM;IACA,SAAS,CAAyB;IAEnD,YAAY,MAAwB;QAClC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,eAAe,CAAC;YAC1C,IAAI,EAAE,MAAM,CAAC,SAAS;YACtB,IAAI,EAAE,MAAM,CAAC,SAAS;YACtB,IAAI,EAAE;gBACJ,IAAI,EAAE,MAAM,CAAC,SAAS;gBACtB,IAAI,EAAE,MAAM,CAAC,SAAS;aACvB;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAA8B;QACvC,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IACjC,CAAC;CACF"}