@nocobase/plugin-workflow-mailer 2.2.20 → 2.2.21

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 (173) hide show
  1. package/dist/externalVersion.js +6 -6
  2. package/dist/node_modules/joi/package.json +1 -1
  3. package/dist/node_modules/nodemailer/dist/cjs/addressparser/index.d.ts +59 -0
  4. package/dist/node_modules/nodemailer/dist/cjs/addressparser/index.js +790 -0
  5. package/dist/node_modules/nodemailer/dist/cjs/base64/index.d.ts +36 -0
  6. package/dist/node_modules/nodemailer/dist/cjs/base64/index.js +119 -0
  7. package/dist/node_modules/nodemailer/dist/cjs/dkim/index.d.ts +52 -0
  8. package/dist/node_modules/nodemailer/dist/cjs/dkim/index.js +228 -0
  9. package/dist/node_modules/nodemailer/dist/cjs/dkim/message-parser.d.ts +48 -0
  10. package/dist/node_modules/nodemailer/dist/cjs/dkim/message-parser.js +180 -0
  11. package/dist/node_modules/nodemailer/dist/cjs/dkim/relaxed-body.d.ts +36 -0
  12. package/dist/node_modules/nodemailer/dist/cjs/dkim/relaxed-body.js +148 -0
  13. package/dist/node_modules/nodemailer/dist/cjs/dkim/sign.d.ts +52 -0
  14. package/dist/node_modules/nodemailer/dist/cjs/dkim/sign.js +165 -0
  15. package/dist/node_modules/nodemailer/dist/cjs/errors.d.ts +96 -0
  16. package/dist/node_modules/nodemailer/dist/cjs/errors.js +70 -0
  17. package/dist/node_modules/nodemailer/dist/cjs/fetch/cookies.d.ts +107 -0
  18. package/dist/node_modules/nodemailer/dist/cjs/fetch/cookies.js +282 -0
  19. package/dist/node_modules/nodemailer/dist/cjs/fetch/index.d.ts +65 -0
  20. package/dist/node_modules/nodemailer/dist/cjs/fetch/index.js +384 -0
  21. package/dist/node_modules/nodemailer/dist/cjs/json-transport/index.d.ts +64 -0
  22. package/dist/node_modules/nodemailer/dist/cjs/json-transport/index.js +99 -0
  23. package/dist/node_modules/nodemailer/dist/cjs/mail-composer/index.d.ts +174 -0
  24. package/dist/node_modules/nodemailer/dist/cjs/mail-composer/index.js +613 -0
  25. package/dist/node_modules/nodemailer/dist/cjs/mailer/index.d.ts +237 -0
  26. package/dist/node_modules/nodemailer/dist/cjs/mailer/index.js +415 -0
  27. package/dist/node_modules/nodemailer/dist/cjs/mailer/mail-message.d.ts +97 -0
  28. package/dist/node_modules/nodemailer/dist/cjs/mailer/mail-message.js +342 -0
  29. package/dist/node_modules/nodemailer/dist/cjs/mime-funcs/index.d.ts +161 -0
  30. package/dist/node_modules/nodemailer/dist/cjs/mime-funcs/index.js +787 -0
  31. package/dist/node_modules/nodemailer/dist/cjs/mime-funcs/mime-types.d.ts +2 -0
  32. package/dist/node_modules/nodemailer/dist/cjs/mime-funcs/mime-types.js +2103 -0
  33. package/dist/node_modules/nodemailer/dist/cjs/mime-node/index.d.ts +333 -0
  34. package/dist/node_modules/nodemailer/dist/cjs/mime-node/index.js +1493 -0
  35. package/dist/node_modules/nodemailer/dist/cjs/mime-node/last-newline.d.ts +5 -0
  36. package/dist/node_modules/nodemailer/dist/cjs/mime-node/last-newline.js +32 -0
  37. package/dist/node_modules/nodemailer/dist/cjs/mime-node/le-unix.d.ts +9 -0
  38. package/dist/node_modules/nodemailer/dist/cjs/mime-node/le-unix.js +40 -0
  39. package/dist/node_modules/nodemailer/dist/cjs/mime-node/le-windows.d.ts +10 -0
  40. package/dist/node_modules/nodemailer/dist/cjs/mime-node/le-windows.js +47 -0
  41. package/dist/node_modules/nodemailer/dist/cjs/nodemailer.d.ts +124 -0
  42. package/dist/node_modules/nodemailer/dist/cjs/nodemailer.js +1 -0
  43. package/dist/node_modules/nodemailer/dist/cjs/package-info.d.ts +3 -0
  44. package/dist/node_modules/nodemailer/dist/cjs/package-info.js +7 -0
  45. package/dist/node_modules/nodemailer/dist/cjs/package.json +3 -0
  46. package/dist/node_modules/nodemailer/dist/cjs/punycode/index.d.ts +73 -0
  47. package/dist/node_modules/nodemailer/{lib → dist/cjs}/punycode/index.js +62 -111
  48. package/dist/node_modules/nodemailer/dist/cjs/qp/index.d.ts +32 -0
  49. package/dist/node_modules/nodemailer/dist/cjs/qp/index.js +207 -0
  50. package/dist/node_modules/nodemailer/dist/cjs/sendmail-transport/index.d.ts +69 -0
  51. package/dist/node_modules/nodemailer/dist/cjs/sendmail-transport/index.js +210 -0
  52. package/dist/node_modules/nodemailer/dist/cjs/ses-transport/index.d.ts +112 -0
  53. package/dist/node_modules/nodemailer/dist/cjs/ses-transport/index.js +252 -0
  54. package/dist/node_modules/nodemailer/dist/cjs/shared/index.d.ts +260 -0
  55. package/dist/node_modules/nodemailer/dist/cjs/shared/index.js +680 -0
  56. package/dist/node_modules/nodemailer/dist/cjs/shared/objects.d.ts +23 -0
  57. package/dist/node_modules/nodemailer/dist/cjs/shared/objects.js +43 -0
  58. package/dist/node_modules/nodemailer/dist/cjs/shared/url.d.ts +21 -0
  59. package/dist/node_modules/nodemailer/dist/cjs/shared/url.js +255 -0
  60. package/dist/node_modules/nodemailer/dist/cjs/smtp-connection/data-stream.d.ts +15 -0
  61. package/dist/node_modules/nodemailer/dist/cjs/smtp-connection/data-stream.js +108 -0
  62. package/dist/node_modules/nodemailer/dist/cjs/smtp-connection/http-proxy-client.d.ts +47 -0
  63. package/dist/node_modules/nodemailer/dist/cjs/smtp-connection/http-proxy-client.js +189 -0
  64. package/dist/node_modules/nodemailer/dist/cjs/smtp-connection/index.d.ts +416 -0
  65. package/dist/node_modules/nodemailer/dist/cjs/smtp-connection/index.js +1837 -0
  66. package/dist/node_modules/nodemailer/dist/cjs/smtp-pool/index.d.ts +133 -0
  67. package/dist/node_modules/nodemailer/dist/cjs/smtp-pool/index.js +569 -0
  68. package/dist/node_modules/nodemailer/dist/cjs/smtp-pool/pool-resource.d.ts +62 -0
  69. package/dist/node_modules/nodemailer/dist/cjs/smtp-pool/pool-resource.js +257 -0
  70. package/dist/node_modules/nodemailer/dist/cjs/smtp-transport/index.d.ts +156 -0
  71. package/dist/node_modules/nodemailer/dist/cjs/smtp-transport/index.js +371 -0
  72. package/dist/node_modules/nodemailer/dist/cjs/stream-transport/index.d.ts +65 -0
  73. package/dist/node_modules/nodemailer/dist/cjs/stream-transport/index.js +146 -0
  74. package/dist/node_modules/nodemailer/dist/cjs/well-known/index.d.ts +35 -0
  75. package/dist/node_modules/nodemailer/dist/cjs/well-known/index.js +41 -0
  76. package/dist/node_modules/nodemailer/dist/cjs/well-known/services.d.ts +2 -0
  77. package/dist/node_modules/nodemailer/dist/cjs/well-known/services.js +674 -0
  78. package/dist/node_modules/nodemailer/dist/cjs/xoauth2/index.d.ts +201 -0
  79. package/dist/node_modules/nodemailer/dist/cjs/xoauth2/index.js +426 -0
  80. package/dist/node_modules/nodemailer/dist/esm/addressparser/index.d.ts +59 -0
  81. package/dist/node_modules/nodemailer/{lib → dist/esm}/addressparser/index.js +361 -131
  82. package/dist/node_modules/nodemailer/dist/esm/base64/index.d.ts +36 -0
  83. package/dist/node_modules/nodemailer/{lib → dist/esm}/base64/index.js +31 -56
  84. package/dist/node_modules/nodemailer/dist/esm/dkim/index.d.ts +52 -0
  85. package/dist/node_modules/nodemailer/{lib → dist/esm}/dkim/index.js +49 -78
  86. package/dist/node_modules/nodemailer/dist/esm/dkim/message-parser.d.ts +48 -0
  87. package/dist/node_modules/nodemailer/{lib → dist/esm}/dkim/message-parser.js +64 -42
  88. package/dist/node_modules/nodemailer/dist/esm/dkim/relaxed-body.d.ts +36 -0
  89. package/dist/node_modules/nodemailer/dist/esm/dkim/relaxed-body.js +141 -0
  90. package/dist/node_modules/nodemailer/dist/esm/dkim/sign.d.ts +52 -0
  91. package/dist/node_modules/nodemailer/{lib → dist/esm}/dkim/sign.js +50 -46
  92. package/dist/node_modules/nodemailer/dist/esm/errors.d.ts +96 -0
  93. package/dist/node_modules/nodemailer/{lib → dist/esm}/errors.js +26 -18
  94. package/dist/node_modules/nodemailer/dist/esm/fetch/cookies.d.ts +107 -0
  95. package/dist/node_modules/nodemailer/dist/esm/fetch/cookies.js +242 -0
  96. package/dist/node_modules/nodemailer/dist/esm/fetch/index.d.ts +65 -0
  97. package/dist/node_modules/nodemailer/{lib → dist/esm}/fetch/index.js +80 -147
  98. package/dist/node_modules/nodemailer/dist/esm/json-transport/index.d.ts +64 -0
  99. package/dist/node_modules/nodemailer/{lib → dist/esm}/json-transport/index.js +19 -39
  100. package/dist/node_modules/nodemailer/dist/esm/mail-composer/index.d.ts +174 -0
  101. package/dist/node_modules/nodemailer/{lib → dist/esm}/mail-composer/index.js +199 -265
  102. package/dist/node_modules/nodemailer/dist/esm/mailer/index.d.ts +237 -0
  103. package/dist/node_modules/nodemailer/{lib → dist/esm}/mailer/index.js +128 -234
  104. package/dist/node_modules/nodemailer/dist/esm/mailer/mail-message.d.ts +97 -0
  105. package/dist/node_modules/nodemailer/{lib → dist/esm}/mailer/mail-message.js +62 -114
  106. package/dist/node_modules/nodemailer/dist/esm/mime-funcs/index.d.ts +161 -0
  107. package/dist/node_modules/nodemailer/dist/esm/mime-funcs/index.js +738 -0
  108. package/dist/node_modules/nodemailer/dist/esm/mime-funcs/mime-types.d.ts +2 -0
  109. package/dist/node_modules/nodemailer/{lib → dist/esm}/mime-funcs/mime-types.js +29 -42
  110. package/dist/node_modules/nodemailer/dist/esm/mime-node/index.d.ts +333 -0
  111. package/dist/node_modules/nodemailer/{lib → dist/esm}/mime-node/index.js +259 -372
  112. package/dist/node_modules/nodemailer/dist/esm/mime-node/last-newline.d.ts +5 -0
  113. package/dist/node_modules/nodemailer/{lib → dist/esm}/mime-node/last-newline.js +4 -10
  114. package/dist/node_modules/nodemailer/dist/esm/mime-node/le-unix.d.ts +9 -0
  115. package/dist/node_modules/nodemailer/{lib → dist/esm}/mime-node/le-unix.js +6 -11
  116. package/dist/node_modules/nodemailer/dist/esm/mime-node/le-windows.d.ts +10 -0
  117. package/dist/node_modules/nodemailer/{lib → dist/esm}/mime-node/le-windows.js +6 -13
  118. package/dist/node_modules/nodemailer/dist/esm/nodemailer.d.ts +124 -0
  119. package/dist/node_modules/nodemailer/dist/esm/nodemailer.js +166 -0
  120. package/dist/node_modules/nodemailer/dist/esm/package-info.d.ts +3 -0
  121. package/dist/node_modules/nodemailer/dist/esm/package-info.js +4 -0
  122. package/dist/node_modules/nodemailer/dist/esm/package.json +3 -0
  123. package/dist/node_modules/nodemailer/dist/esm/punycode/index.d.ts +73 -0
  124. package/dist/node_modules/nodemailer/dist/esm/punycode/index.js +405 -0
  125. package/dist/node_modules/nodemailer/dist/esm/qp/index.d.ts +32 -0
  126. package/dist/node_modules/nodemailer/{lib → dist/esm}/qp/index.js +38 -67
  127. package/dist/node_modules/nodemailer/dist/esm/sendmail-transport/index.d.ts +69 -0
  128. package/dist/node_modules/nodemailer/{lib → dist/esm}/sendmail-transport/index.js +51 -101
  129. package/dist/node_modules/nodemailer/dist/esm/ses-transport/index.d.ts +112 -0
  130. package/dist/node_modules/nodemailer/dist/esm/ses-transport/index.js +212 -0
  131. package/dist/node_modules/nodemailer/dist/esm/shared/index.d.ts +260 -0
  132. package/dist/node_modules/nodemailer/{lib → dist/esm}/shared/index.js +156 -272
  133. package/dist/node_modules/nodemailer/dist/esm/shared/objects.d.ts +23 -0
  134. package/dist/node_modules/nodemailer/{lib → dist/esm}/shared/objects.js +13 -17
  135. package/dist/node_modules/nodemailer/dist/esm/shared/url.d.ts +21 -0
  136. package/dist/node_modules/nodemailer/dist/esm/shared/url.js +214 -0
  137. package/dist/node_modules/nodemailer/dist/esm/smtp-connection/data-stream.d.ts +15 -0
  138. package/dist/node_modules/nodemailer/dist/esm/smtp-connection/data-stream.js +103 -0
  139. package/dist/node_modules/nodemailer/dist/esm/smtp-connection/http-proxy-client.d.ts +47 -0
  140. package/dist/node_modules/nodemailer/{lib → dist/esm}/smtp-connection/http-proxy-client.js +49 -74
  141. package/dist/node_modules/nodemailer/dist/esm/smtp-connection/index.d.ts +416 -0
  142. package/dist/node_modules/nodemailer/{lib → dist/esm}/smtp-connection/index.js +574 -794
  143. package/dist/node_modules/nodemailer/dist/esm/smtp-pool/index.d.ts +133 -0
  144. package/dist/node_modules/nodemailer/{lib → dist/esm}/smtp-pool/index.js +172 -284
  145. package/dist/node_modules/nodemailer/dist/esm/smtp-pool/pool-resource.d.ts +62 -0
  146. package/dist/node_modules/nodemailer/{lib → dist/esm}/smtp-pool/pool-resource.js +57 -97
  147. package/dist/node_modules/nodemailer/dist/esm/smtp-transport/index.d.ts +156 -0
  148. package/dist/node_modules/nodemailer/{lib → dist/esm}/smtp-transport/index.js +81 -179
  149. package/dist/node_modules/nodemailer/dist/esm/stream-transport/index.d.ts +65 -0
  150. package/dist/node_modules/nodemailer/{lib → dist/esm}/stream-transport/index.js +36 -74
  151. package/dist/node_modules/nodemailer/dist/esm/well-known/index.d.ts +35 -0
  152. package/dist/node_modules/nodemailer/{lib → dist/esm}/well-known/index.js +5 -16
  153. package/dist/node_modules/nodemailer/dist/esm/well-known/services.d.ts +2 -0
  154. package/dist/node_modules/nodemailer/dist/esm/well-known/services.js +671 -0
  155. package/dist/node_modules/nodemailer/dist/esm/xoauth2/index.d.ts +201 -0
  156. package/dist/node_modules/nodemailer/{lib → dist/esm}/xoauth2/index.js +125 -187
  157. package/dist/node_modules/nodemailer/{lib → dist}/well-known/services.json +9 -2
  158. package/dist/node_modules/nodemailer/package.json +1 -1
  159. package/package.json +3 -3
  160. package/dist/node_modules/nodemailer/.gitattributes +0 -6
  161. package/dist/node_modules/nodemailer/.ncurc.js +0 -9
  162. package/dist/node_modules/nodemailer/.prettierignore +0 -8
  163. package/dist/node_modules/nodemailer/.prettierrc +0 -12
  164. package/dist/node_modules/nodemailer/.prettierrc.js +0 -10
  165. package/dist/node_modules/nodemailer/.release-please-config.json +0 -9
  166. package/dist/node_modules/nodemailer/eslint.config.js +0 -88
  167. package/dist/node_modules/nodemailer/lib/dkim/relaxed-body.js +0 -154
  168. package/dist/node_modules/nodemailer/lib/fetch/cookies.js +0 -276
  169. package/dist/node_modules/nodemailer/lib/mime-funcs/index.js +0 -671
  170. package/dist/node_modules/nodemailer/lib/nodemailer.js +0 -1
  171. package/dist/node_modules/nodemailer/lib/ses-transport/index.js +0 -266
  172. package/dist/node_modules/nodemailer/lib/shared/url.js +0 -151
  173. package/dist/node_modules/nodemailer/lib/smtp-connection/data-stream.js +0 -105
@@ -1,10 +1,7 @@
1
- 'use strict';
2
-
3
- const packageData = require('../../package.json');
4
- const shared = require('../shared');
5
- const LeWindows = require('../mime-node/le-windows');
6
- const LeUnix = require('../mime-node/le-unix');
7
-
1
+ import * as packageData from '../package-info.js';
2
+ import * as shared from '../shared/index.js';
3
+ import LeWindows from '../mime-node/le-windows.js';
4
+ import LeUnix from '../mime-node/le-unix.js';
8
5
  /**
9
6
  * Generates a Transport object for streaming
10
7
  *
@@ -14,55 +11,41 @@ const LeUnix = require('../mime-node/le-unix');
14
11
  * * **newline** either 'windows' or 'unix'
15
12
  *
16
13
  * @constructor
17
- * @param {Object} optional config parameter
14
+ * @param optional config parameter
18
15
  */
19
16
  class StreamTransport {
20
17
  constructor(options) {
21
18
  options = options || {};
22
-
23
19
  this.options = options;
24
-
25
20
  this.name = 'StreamTransport';
26
21
  this.version = packageData.version;
27
-
28
22
  this.logger = shared.getLogger(this.options, {
29
23
  component: this.options.component || 'stream-transport'
30
24
  });
31
-
32
25
  this.winbreak = ['win', 'windows', 'dos', '\r\n'].includes((options.newline || '').toString().toLowerCase());
33
26
  }
34
-
35
27
  /**
36
28
  * Compiles a mailcomposer message and forwards it to handler that sends it
37
29
  *
38
- * @param {Object} emailMessage MailComposer object
39
- * @param {Function} callback Callback function to run when the sending is completed
30
+ * @param mail MailComposer object
31
+ * @param done Callback function to run when the sending is completed
40
32
  */
41
33
  send(mail, done) {
42
- // We probably need this in the output
34
+ // We probably need this in the output. send() runs after the message was compiled,
35
+ // so mail.message is set
43
36
  mail.message.keepBcc = true;
44
-
45
37
  const envelope = mail.message.getEnvelope();
46
38
  const messageId = mail.message.messageId();
47
-
48
39
  const recipients = [].concat(envelope.to || []);
49
40
  if (recipients.length > 3) {
50
41
  recipients.push('...and ' + recipients.splice(2).length + ' more');
51
42
  }
52
- this.logger.info(
53
- {
54
- tnx: 'send',
55
- messageId
56
- },
57
- 'Sending message %s to <%s> using %s line breaks',
58
- messageId,
59
- recipients.join(', '),
60
- this.winbreak ? '<CR><LF>' : '<LF>'
61
- );
62
-
43
+ this.logger.info({
44
+ tnx: 'send',
45
+ messageId
46
+ }, 'Sending message %s to <%s> using %s line breaks', messageId, recipients.join(', '), this.winbreak ? '<CR><LF>' : '<LF>');
63
47
  setImmediate(() => {
64
48
  let stream;
65
-
66
49
  try {
67
50
  stream = mail.message.createReadStream();
68
51
  if (this.options.newline) {
@@ -72,32 +55,22 @@ class StreamTransport {
72
55
  stream = sourceStream.pipe(this.winbreak ? new LeWindows() : new LeUnix());
73
56
  sourceStream.once('error', err => stream.emit('error', err));
74
57
  }
75
- } catch (E) {
76
- this.logger.error(
77
- {
78
- err: E,
79
- tnx: 'send',
80
- messageId
81
- },
82
- 'Creating send stream failed for %s. %s',
83
- messageId,
84
- E.message
85
- );
58
+ }
59
+ catch (E) {
60
+ this.logger.error({
61
+ err: E,
62
+ tnx: 'send',
63
+ messageId
64
+ }, 'Creating send stream failed for %s. %s', messageId, E.message);
86
65
  return done(E);
87
66
  }
88
-
89
67
  if (!this.options.buffer) {
90
68
  stream.once('error', err => {
91
- this.logger.error(
92
- {
93
- err,
94
- tnx: 'send',
95
- messageId
96
- },
97
- 'Failed creating message for %s. %s',
98
- messageId,
99
- err.message
100
- );
69
+ this.logger.error({
70
+ err,
71
+ tnx: 'send',
72
+ messageId
73
+ }, 'Failed creating message for %s. %s', messageId, err.message);
101
74
  });
102
75
  return done(null, {
103
76
  envelope,
@@ -105,7 +78,6 @@ class StreamTransport {
105
78
  message: stream
106
79
  });
107
80
  }
108
-
109
81
  const chunks = [];
110
82
  let chunklen = 0;
111
83
  stream.on('readable', () => {
@@ -115,30 +87,20 @@ class StreamTransport {
115
87
  chunklen += chunk.length;
116
88
  }
117
89
  });
118
-
119
90
  stream.once('error', err => {
120
- this.logger.error(
121
- {
122
- err,
123
- tnx: 'send',
124
- messageId
125
- },
126
- 'Failed creating message for %s. %s',
127
- messageId,
128
- err.message
129
- );
91
+ this.logger.error({
92
+ err,
93
+ tnx: 'send',
94
+ messageId
95
+ }, 'Failed creating message for %s. %s', messageId, err.message);
130
96
  return done(err);
131
97
  });
132
-
133
- stream.on('end', () =>
134
- done(null, {
135
- envelope,
136
- messageId,
137
- message: Buffer.concat(chunks, chunklen)
138
- })
139
- );
98
+ stream.on('end', () => done(null, {
99
+ envelope,
100
+ messageId,
101
+ message: Buffer.concat(chunks, chunklen)
102
+ }));
140
103
  });
141
104
  }
142
105
  }
143
-
144
- module.exports = StreamTransport;
106
+ export default StreamTransport;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Connection settings of a well-known e-mail service
3
+ */
4
+ export interface WellKnownServiceDefinition {
5
+ /** Human readable description of the service */
6
+ description?: string | undefined;
7
+ /** Domains of e-mail addresses hosted by the service */
8
+ domains?: string[] | undefined;
9
+ /** Alternative names the service can be looked up by */
10
+ aliases?: string[] | undefined;
11
+ /** SMTP hostname */
12
+ host?: string | undefined;
13
+ /** SMTP port (a numeric string in a few entries) */
14
+ port?: number | string | undefined;
15
+ /** true for implicit TLS (usually port 465) */
16
+ secure?: boolean | undefined;
17
+ /** Preferred authentication method */
18
+ authMethod?: string | undefined;
19
+ /** Set to true to require STARTTLS on a plaintext connection */
20
+ requireTLS?: boolean | undefined;
21
+ /** Set to true to skip STARTTLS */
22
+ ignoreTLS?: boolean | undefined;
23
+ }
24
+ /**
25
+ * SMTP settings of a well-known service, without the lookup keys
26
+ */
27
+ export type WellKnownService = Omit<WellKnownServiceDefinition, 'domains' | 'aliases'>;
28
+ /**
29
+ * Resolves SMTP config for given key. Key can be a name (like 'Gmail'), alias (like 'Google Mail') or
30
+ * an email address (like 'test@googlemail.com').
31
+ *
32
+ * @param key Service name, alias or an email address
33
+ * @returns SMTP config or false if not found
34
+ */
35
+ export default function wellKnown(key: string): WellKnownService | false;
@@ -1,47 +1,36 @@
1
- 'use strict';
2
-
3
- const services = require('./services.json');
1
+ import { services } from './services.js';
4
2
  const normalized = {};
5
-
6
3
  Object.keys(services).forEach(key => {
7
4
  const service = services[key];
8
5
  const normalizedService = normalizeService(service);
9
-
10
6
  normalized[normalizeKey(key)] = normalizedService;
11
-
12
7
  [].concat(service.aliases || []).forEach(alias => {
13
8
  normalized[normalizeKey(alias)] = normalizedService;
14
9
  });
15
-
16
10
  [].concat(service.domains || []).forEach(domain => {
17
11
  normalized[normalizeKey(domain)] = normalizedService;
18
12
  });
19
13
  });
20
-
21
14
  function normalizeKey(key) {
22
15
  return key.replace(/[^a-zA-Z0-9.-]/g, '').toLowerCase();
23
16
  }
24
-
25
17
  function normalizeService(service) {
26
18
  const response = {};
27
-
28
19
  Object.keys(service).forEach(key => {
29
20
  if (!['domains', 'aliases'].includes(key)) {
30
21
  response[key] = service[key];
31
22
  }
32
23
  });
33
-
34
24
  return response;
35
25
  }
36
-
37
26
  /**
38
27
  * Resolves SMTP config for given key. Key can be a name (like 'Gmail'), alias (like 'Google Mail') or
39
28
  * an email address (like 'test@googlemail.com').
40
29
  *
41
- * @param {String} key [description]
42
- * @returns {Object} SMTP config or false if not found
30
+ * @param key Service name, alias or an email address
31
+ * @returns SMTP config or false if not found
43
32
  */
44
- module.exports = function (key) {
33
+ export default function wellKnown(key) {
45
34
  key = normalizeKey(key.split('@').pop());
46
35
  return normalized[key] || false;
47
- };
36
+ }
@@ -0,0 +1,2 @@
1
+ import type { WellKnownServiceDefinition } from './index.js';
2
+ export declare const services: Record<string, WellKnownServiceDefinition>;