velocious 1.0.383 → 1.0.384
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.
package/README.md
CHANGED
|
@@ -264,6 +264,8 @@ Install the SMTP peer dependency in your app:
|
|
|
264
264
|
npm install smtp-connection
|
|
265
265
|
```
|
|
266
266
|
|
|
267
|
+
When `connectionOptions.auth` is present, the SMTP backend authenticates before sending the message.
|
|
268
|
+
|
|
267
269
|
Test deliveries are stored in memory:
|
|
268
270
|
|
|
269
271
|
```js
|
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
export default class SmtpMailerBackend {
|
|
5
5
|
/**
|
|
6
6
|
* @param {object} args - Constructor args.
|
|
7
|
-
* @param {
|
|
7
|
+
* @param {SmtpConnectionOptions} args.connectionOptions - smtp-connection options.
|
|
8
8
|
* @param {string} [args.defaultFrom] - Default from address.
|
|
9
9
|
*/
|
|
10
10
|
constructor({ connectionOptions, defaultFrom, ...restArgs }: {
|
|
11
|
-
connectionOptions:
|
|
11
|
+
connectionOptions: SmtpConnectionOptions;
|
|
12
12
|
defaultFrom?: string | undefined;
|
|
13
13
|
});
|
|
14
|
-
connectionOptions:
|
|
14
|
+
connectionOptions: import("smtp-connection").SMTPConnectionOptions;
|
|
15
15
|
defaultFrom: string | undefined;
|
|
16
16
|
/**
|
|
17
17
|
* @param {object} args - Delivery args.
|
|
@@ -22,4 +22,5 @@ export default class SmtpMailerBackend {
|
|
|
22
22
|
payload: import("../index.js").MailerDeliveryPayload;
|
|
23
23
|
}): Promise<void>;
|
|
24
24
|
}
|
|
25
|
+
export type SmtpConnectionOptions = import("smtp-connection").SMTPConnectionOptions;
|
|
25
26
|
//# sourceMappingURL=smtp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smtp.d.ts","sourceRoot":"","sources":["../../../../src/mailer/backends/smtp.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"smtp.d.ts","sourceRoot":"","sources":["../../../../src/mailer/backends/smtp.js"],"names":[],"mappings":"AA2BA;;GAEG;AACH;IACE;;;;OAIG;IACH,6DAHG;QAAoC,iBAAiB,EAA7C,qBAAqB;QACP,WAAW;KACnC,EAUA;IAFC,mEAA0C;IAC1C,gCAA8B;IAGhC;;;;OAIG;IACH,kCAHG;QAA0D,OAAO,EAAzD,OAAO,aAAa,EAAE,qBAAqB;KACnD,GAAU,OAAO,CAAC,IAAI,CAAC,CAuHzB;CACF;oCAtKa,OAAO,iBAAiB,EAAE,qBAAqB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// @ts-check
|
|
2
2
|
import restArgsError from "../../utils/rest-args-error.js";
|
|
3
|
+
/** @typedef {import("smtp-connection").SMTPConnectionOptions} SmtpConnectionOptions */
|
|
3
4
|
/**
|
|
4
5
|
* @param {any} value - Recipient input.
|
|
5
6
|
* @returns {string[]} - Normalized recipients.
|
|
@@ -27,7 +28,7 @@ function headerLine(name, value) {
|
|
|
27
28
|
export default class SmtpMailerBackend {
|
|
28
29
|
/**
|
|
29
30
|
* @param {object} args - Constructor args.
|
|
30
|
-
* @param {
|
|
31
|
+
* @param {SmtpConnectionOptions} args.connectionOptions - smtp-connection options.
|
|
31
32
|
* @param {string} [args.defaultFrom] - Default from address.
|
|
32
33
|
*/
|
|
33
34
|
constructor({ connectionOptions, defaultFrom, ...restArgs }) {
|
|
@@ -71,29 +72,74 @@ export default class SmtpMailerBackend {
|
|
|
71
72
|
}
|
|
72
73
|
const message = `${headers.join("\r\n")}\r\n\r\n${payload.html}`;
|
|
73
74
|
const { default: SmtpConnection } = await import("smtp-connection");
|
|
74
|
-
const
|
|
75
|
+
const connectionOptions = this.connectionOptions;
|
|
76
|
+
const connection = new SmtpConnection(connectionOptions);
|
|
75
77
|
await new Promise((resolve, reject) => {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
78
|
+
let settled = false;
|
|
79
|
+
let shuttingDown = false;
|
|
80
|
+
const cleanup = () => {
|
|
81
|
+
connection.removeListener("end", onEnd);
|
|
82
|
+
connection.removeListener("error", onError);
|
|
83
|
+
};
|
|
84
|
+
const resolveDelivery = () => {
|
|
85
|
+
if (settled)
|
|
86
|
+
return;
|
|
87
|
+
settled = true;
|
|
88
|
+
cleanup();
|
|
89
|
+
resolve(undefined);
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* @param {Error} error - Error that failed delivery.
|
|
93
|
+
*/
|
|
94
|
+
const rejectDelivery = (error) => {
|
|
95
|
+
if (settled)
|
|
96
|
+
return;
|
|
97
|
+
settled = true;
|
|
98
|
+
cleanup();
|
|
99
|
+
connection.close();
|
|
100
|
+
reject(error);
|
|
101
|
+
};
|
|
102
|
+
const onEnd = () => resolveDelivery();
|
|
103
|
+
/**
|
|
104
|
+
* @param {Error} error - Error emitted by the SMTP connection.
|
|
105
|
+
*/
|
|
106
|
+
const onError = (error) => {
|
|
107
|
+
if (shuttingDown) {
|
|
108
|
+
resolveDelivery();
|
|
79
109
|
return;
|
|
80
110
|
}
|
|
111
|
+
rejectDelivery(error);
|
|
112
|
+
};
|
|
113
|
+
const quitAfterAcceptedMessage = () => {
|
|
114
|
+
shuttingDown = true;
|
|
115
|
+
connection.once("end", onEnd);
|
|
116
|
+
connection.quit();
|
|
117
|
+
};
|
|
118
|
+
const sendMessage = () => {
|
|
81
119
|
connection.send({ from, to: recipients }, /** @type {any} */ (message), (/** @type {Error | null | undefined} */ sendError) => {
|
|
82
120
|
if (sendError) {
|
|
83
|
-
|
|
121
|
+
rejectDelivery(sendError);
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
quitAfterAcceptedMessage();
|
|
125
|
+
});
|
|
126
|
+
};
|
|
127
|
+
const authenticateAndSend = () => {
|
|
128
|
+
if (!connectionOptions.auth) {
|
|
129
|
+
sendMessage();
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
connection.login(connectionOptions.auth, (loginError) => {
|
|
133
|
+
if (loginError) {
|
|
134
|
+
rejectDelivery(loginError);
|
|
84
135
|
return;
|
|
85
136
|
}
|
|
86
|
-
|
|
87
|
-
if (quitError) {
|
|
88
|
-
reject(quitError);
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
resolve(null);
|
|
92
|
-
}
|
|
93
|
-
});
|
|
137
|
+
sendMessage();
|
|
94
138
|
});
|
|
95
|
-
}
|
|
139
|
+
};
|
|
140
|
+
connection.on("error", onError);
|
|
141
|
+
connection.connect(authenticateAndSend);
|
|
96
142
|
});
|
|
97
143
|
}
|
|
98
144
|
}
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic210cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tYWlsZXIvYmFja2VuZHMvc210cC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxhQUFhLE1BQU0sZ0NBQWdDLENBQUE7QUFFMUQ7OztHQUdHO0FBQ0gsU0FBUyxtQkFBbUIsQ0FBQyxLQUFLO0lBQ2hDLElBQUksQ0FBQyxLQUFLO1FBQUUsT0FBTyxFQUFFLENBQUE7SUFDckIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUFFLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDL0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDekMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFTLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSztJQUM3QixJQUFJLENBQUMsS0FBSztRQUFFLE9BQU8sSUFBSSxDQUFBO0lBRXZCLE9BQU8sR0FBRyxJQUFJLEtBQUssS0FBSyxFQUFFLENBQUE7QUFDNUIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE9BQU8sT0FBTyxpQkFBaUI7SUFDcEM7Ozs7T0FJRztJQUNILFlBQVksRUFBQyxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsR0FBRyxRQUFRLEVBQUM7UUFDdkQsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBRXZCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUN2RixDQUFDO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFBO1FBQzFDLElBQUksQ0FBQyxX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TSxDQUFDLFlBQVksQ0FBQyxDQUFBO29CQUNwQixPQUFNO2dCQUNSLENBQUM7Z0JBRUQsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFDLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLHVDQUF1QyxDQUFDLFNBQVMsRUFBRSxFQUFFO29CQUMxSCxJQUFJLFNBQVMsRUFBRSxDQUFDO3dCQUNkLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7d0JBQ3hDLE9BQU07b0JBQ1IsQ0FBQztvQkFFRCxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7d0JBQzVCLElBQUksU0FBUyxFQUFFLENBQUM7NEJBQ2QsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO3dCQUNuQixDQUFDOzZCQUFNLENBQUM7NEJBQ04sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO3dCQUNmLENBQUM7b0JBQ0gsQ0FBQyxDQUFDLENBQUE7Z0JBQ0osQ0FBQyxDQUFDLENBQUE7WUFDSixDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCByZXN0QXJnc0Vycm9yIGZyb20gXCIuLi8uLi91dGlscy9yZXN0LWFyZ3MtZXJyb3IuanNcIlxuXG4vKipcbiAqIEBwYXJhbSB7YW55fSB2YWx1ZSAtIFJlY2lwaWVudCBpbnB1dC5cbiAqIEByZXR1cm5zIHtzdHJpbmdbXX0gLSBOb3JtYWxpemVkIHJlY2lwaWVudHMuXG4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZVJlY2lwaWVudHModmFsdWUpIHtcbiAgaWYgKCF2YWx1ZSkgcmV0dXJuIFtdXG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkgcmV0dXJuIHZhbHVlLmZpbHRlcigoZW50cnkpID0+IGVudHJ5KVxuICByZXR1cm4gW3ZhbHVlXS5maWx0ZXIoKGVudHJ5KSA9PiBlbnRyeSlcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIEhlYWRlciBuYW1lLlxuICogQHBhcmFtIHtzdHJpbmcgfCB1bmRlZmluZWR9IHZhbHVlIC0gSGVhZGVyIHZhbHVlLlxuICogQHJldHVybnMge3N0cmluZyB8IG51bGx9IC0gSGVhZGVyIGxpbmUuXG4gKi9cbmZ1bmN0aW9uIGhlYWRlckxpbmUobmFtZSwgdmFsdWUpIHtcbiAgaWYgKCF2YWx1ZSkgcmV0dXJuIG51bGxcblxuICByZXR1cm4gYCR7bmFtZX06ICR7dmFsdWV9YFxufVxuXG4vKipcbiAqIFNNVFAgbWFpbGVyIGJhY2tlbmQgdXNpbmcgc210cC1jb25uZWN0aW9uLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTbXRwTWFpbGVyQmFja2VuZCB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIENvbnN0cnVjdG9yIGFyZ3MuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzLmNvbm5lY3Rpb25PcHRpb25zIC0gc210cC1jb25uZWN0aW9uIG9wdGlvbnMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbYXJncy5kZWZhdWx0RnJvbV0gLSBEZWZhdWx0IGZyb20gYWRkcmVzcy5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHtjb25uZWN0aW9uT3B0aW9ucywgZGVmYXVsdEZyb20sIC4uLnJlc3RBcmdzfSkge1xuICAgIHJlc3RBcmdzRXJyb3IocmVzdEFyZ3MpXG5cbiAgICBpZiAoIWNvbm5lY3Rpb25PcHRpb25zKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3Npbmcgc210cCBjb25uZWN0aW9uIG9wdGlvbnMuIEdvdDogJHtTdHJpbmcoY29ubmVjdGlvbk9wdGlvbnMpfWApXG4gICAgfVxuXG4gICAgdGhpcy5jb25uZWN0aW9uT3B0aW9ucyA9IGNvbm5lY3Rpb25PcHRpb25zXG4gICAgdGhpcy5kZWZhdWx0RnJvbSA9IGRlZmF1bHRGcm9tXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBEZWxpdmVyeSBhcmdzLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2luZGV4LmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZH0gYXJncy5wYXlsb2FkIC0gTWFpbCBkZWxpdmVyeSBwYXlsb2FkLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLlxuICAgKi9cbiAgYXN5bmMgZGVsaXZlcih7cGF5bG9hZCwgLi4ucmVzdEFyZ3N9KSB7XG4gICAgcmVzdEFyZ3NFcnJvcihyZXN0QXJncylcblxuICAgIGNvbnN0IGZyb20gPSBwYXlsb2FkLmZyb20gfHwgdGhpcy5kZWZhdWx0RnJvbVxuXG4gICAgaWYgKCFmcm9tKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgbWFpbCBcImZyb21cIiBhZGRyZXNzLiBHb3Q6ICR7U3RyaW5nKGZyb20pfWApXG4gICAgfVxuXG4gICAgY29uc3QgdG9MaXN0ID0gbm9ybWFsaXplUmVjaXBpZW50cyhwYXlsb2FkLnRvKVxuICAgIGNvbnN0IGNjTGlzdCA9IG5vcm1hbGl6ZVJlY2lwaWVudHMocGF5bG9hZC5jYylcbiAgICBjb25zdCBiY2NMaXN0ID0gbm9ybWFsaXplUmVjaXBpZW50cyhwYXlsb2FkLmJjYylcbiAgICBjb25zdCByZWNpcGllbnRzID0gWy4uLnRvTGlzdCwgLi4uY2NMaXN0LCAuLi5iY2NMaXN0XVxuXG4gICAgaWYgKHJlY2lwaWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgbWFpbCByZWNpcGllbnRzLiBHb3Q6ICR7SlNPTi5zdHJpbmdpZnkoe3RvOiBwYXlsb2FkLnRvLCBjYzogcGF5bG9hZC5jYywgYmNjOiBwYXlsb2FkLmJjY30pfWApXG4gICAgfVxuXG4gICAgY29uc3QgaGVhZGVycyA9IFtcbiAgICAgIGhlYWRlckxpbmUoXCJGcm9tXCIsIGZyb20pLFxuICAgICAgaGVhZGVyTGluZShcIlRvXCIsIHRvTGlzdC5sZW5ndGggPiAwID8gdG9MaXN0LmpvaW4oXCIsIFwiKSA6IHVuZGVmaW5lZCksXG4gICAgICBoZWFkZXJMaW5lKFwiQ2NcIiwgY2NMaXN0Lmxlbmd0aCA+IDAgPyBjY0xpc3Quam9pbihcIiwgXCIpIDogdW5kZWZpbmVkKSxcbiAgICAgIGhlYWRlckxpbmUoXCJTdWJqZWN0XCIsIHBheWxvYWQuc3ViamVjdCksXG4gICAgICBcIk1JTUUtVmVyc2lvbjogMS4wXCIsXG4gICAgICBcIkNvbnRlbnQtVHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PVVURi04XCJcbiAgICBdLmZpbHRlcigobGluZSkgPT4gbGluZSlcblxuICAgIGlmIChwYXlsb2FkLmhlYWRlcnMpIHtcbiAgICAgIGZvciAoY29uc3QgW2hlYWRlck5hbWUsIGhlYWRlclZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhwYXlsb2FkLmhlYWRlcnMpKSB7XG4gICAgICAgIGhlYWRlcnMucHVzaChgJHtoZWFkZXJOYW1lfTogJHtoZWFkZXJWYWx1ZX1gKVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IG1lc3NhZ2UgPSBgJHtoZWFkZXJzLmpvaW4oXCJcXHJcXG5cIil9XFxyXFxuXFxyXFxuJHtwYXlsb2FkLmh0bWx9YFxuICAgIGNvbnN0IHtkZWZhdWx0OiBTbXRwQ29ubmVjdGlvbn0gPSBhd2FpdCBpbXBvcnQoXCJzbXRwLWNvbm5lY3Rpb25cIilcbiAgICBjb25zdCBjb25uZWN0aW9uID0gbmV3IFNtdHBDb25uZWN0aW9uKC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59ICovICh0aGlzLmNvbm5lY3Rpb25PcHRpb25zKSlcblxuICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbm5lY3Rpb24uY29ubmVjdCgoY29ubmVjdEVycm9yKSA9PiB7XG4gICAgICAgIGlmIChjb25uZWN0RXJyb3IpIHtcbiAgICAgICAgICByZWplY3QoY29ubmVjdEVycm9yKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgY29ubmVjdGlvbi5zZW5kKHtmcm9tLCB0bzogcmVjaXBpZW50c30sIC8qKiBAdHlwZSB7YW55fSAqLyAobWVzc2FnZSksICgvKiogQHR5cGUge0Vycm9yIHwgbnVsbCB8IHVuZGVmaW5lZH0gKi8gc2VuZEVycm9yKSA9PiB7XG4gICAgICAgICAgaWYgKHNlbmRFcnJvcikge1xuICAgICAgICAgICAgY29ubmVjdGlvbi5xdWl0KCgpID0+IHJlamVjdChzZW5kRXJyb3IpKVxuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29ubmVjdGlvbi5xdWl0KChxdWl0RXJyb3IpID0+IHtcbiAgICAgICAgICAgIGlmIChxdWl0RXJyb3IpIHtcbiAgICAgICAgICAgICAgcmVqZWN0KHF1aXRFcnJvcilcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlc29sdmUobnVsbClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG4iXX0=
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic210cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tYWlsZXIvYmFja2VuZHMvc210cC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxhQUFhLE1BQU0sZ0NBQWdDLENBQUE7QUFFMUQsdUZBQXVGO0FBRXZGOzs7R0FHRztBQUNILFNBQVMsbUJBQW1CLENBQUMsS0FBSztJQUNoQyxJQUFJLENBQUMsS0FBSztRQUFFLE9BQU8sRUFBRSxDQUFBO0lBQ3JCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQy9ELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBQ3pDLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBUyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUs7SUFDN0IsSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUV2QixPQUFPLEdBQUcsSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFBO0FBQzVCLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8saUJBQWlCO0lBQ3BDOzs7O09BSUc7SUFDSCxZQUFZLEVBQUMsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLEdBQUcsUUFBUSxFQUFDO1FBQ3ZELGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUV2QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxNQUFNLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDdkYsQ0FBQztRQUVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQTtRQUMx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QUFNLFdBQVcsR0FBRyxHQUFHLEVBQUU7Z0JBQ3ZCLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBQyxFQUFFLGtCQUFrQixDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtvQkFDMUgsSUFBSSxTQUFTLEVBQUUsQ0FBQzt3QkFDZCxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUE7d0JBQ3pCLE9BQU07b0JBQ1IsQ0FBQztvQkFFRCx3QkFBd0IsRUFBRSxDQUFBO2dCQUM1QixDQUFDLENBQUMsQ0FBQTtZQUNKLENBQUMsQ0FBQTtZQUVELE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxFQUFFO2dCQUMvQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQzVCLFdBQVcsRUFBRSxDQUFBO29CQUNiLE9BQU07Z0JBQ1IsQ0FBQztnQkFFRCxVQUFVLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFO29CQUN0RCxJQUFJLFVBQVUsRUFBRSxDQUFDO3dCQUNmLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQTt3QkFDMUIsT0FBTTtvQkFDUixDQUFDO29CQUVELFdBQVcsRUFBRSxDQUFBO2dCQUNmLENBQUMsQ0FBQyxDQUFBO1lBQ0osQ0FBQyxDQUFBO1lBRUQsVUFBVSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUE7WUFDL0IsVUFBVSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO1FBQ3pDLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCByZXN0QXJnc0Vycm9yIGZyb20gXCIuLi8uLi91dGlscy9yZXN0LWFyZ3MtZXJyb3IuanNcIlxuXG4vKiogQHR5cGVkZWYge2ltcG9ydChcInNtdHAtY29ubmVjdGlvblwiKS5TTVRQQ29ubmVjdGlvbk9wdGlvbnN9IFNtdHBDb25uZWN0aW9uT3B0aW9ucyAqL1xuXG4vKipcbiAqIEBwYXJhbSB7YW55fSB2YWx1ZSAtIFJlY2lwaWVudCBpbnB1dC5cbiAqIEByZXR1cm5zIHtzdHJpbmdbXX0gLSBOb3JtYWxpemVkIHJlY2lwaWVudHMuXG4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZVJlY2lwaWVudHModmFsdWUpIHtcbiAgaWYgKCF2YWx1ZSkgcmV0dXJuIFtdXG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkgcmV0dXJuIHZhbHVlLmZpbHRlcigoZW50cnkpID0+IGVudHJ5KVxuICByZXR1cm4gW3ZhbHVlXS5maWx0ZXIoKGVudHJ5KSA9PiBlbnRyeSlcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIEhlYWRlciBuYW1lLlxuICogQHBhcmFtIHtzdHJpbmcgfCB1bmRlZmluZWR9IHZhbHVlIC0gSGVhZGVyIHZhbHVlLlxuICogQHJldHVybnMge3N0cmluZyB8IG51bGx9IC0gSGVhZGVyIGxpbmUuXG4gKi9cbmZ1bmN0aW9uIGhlYWRlckxpbmUobmFtZSwgdmFsdWUpIHtcbiAgaWYgKCF2YWx1ZSkgcmV0dXJuIG51bGxcblxuICByZXR1cm4gYCR7bmFtZX06ICR7dmFsdWV9YFxufVxuXG4vKipcbiAqIFNNVFAgbWFpbGVyIGJhY2tlbmQgdXNpbmcgc210cC1jb25uZWN0aW9uLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTbXRwTWFpbGVyQmFja2VuZCB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIENvbnN0cnVjdG9yIGFyZ3MuXG4gICAqIEBwYXJhbSB7U210cENvbm5lY3Rpb25PcHRpb25zfSBhcmdzLmNvbm5lY3Rpb25PcHRpb25zIC0gc210cC1jb25uZWN0aW9uIG9wdGlvbnMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbYXJncy5kZWZhdWx0RnJvbV0gLSBEZWZhdWx0IGZyb20gYWRkcmVzcy5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHtjb25uZWN0aW9uT3B0aW9ucywgZGVmYXVsdEZyb20sIC4uLnJlc3RBcmdzfSkge1xuICAgIHJlc3RBcmdzRXJyb3IocmVzdEFyZ3MpXG5cbiAgICBpZiAoIWNvbm5lY3Rpb25PcHRpb25zKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3Npbmcgc210cCBjb25uZWN0aW9uIG9wdGlvbnMuIEdvdDogJHtTdHJpbmcoY29ubmVjdGlvbk9wdGlvbnMpfWApXG4gICAgfVxuXG4gICAgdGhpcy5jb25uZWN0aW9uT3B0aW9ucyA9IGNvbm5lY3Rpb25PcHRpb25zXG4gICAgdGhpcy5kZWZhdWx0RnJvbSA9IGRlZmF1bHRGcm9tXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBEZWxpdmVyeSBhcmdzLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2luZGV4LmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZH0gYXJncy5wYXlsb2FkIC0gTWFpbCBkZWxpdmVyeSBwYXlsb2FkLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLlxuICAgKi9cbiAgYXN5bmMgZGVsaXZlcih7cGF5bG9hZCwgLi4ucmVzdEFyZ3N9KSB7XG4gICAgcmVzdEFyZ3NFcnJvcihyZXN0QXJncylcblxuICAgIGNvbnN0IGZyb20gPSBwYXlsb2FkLmZyb20gfHwgdGhpcy5kZWZhdWx0RnJvbVxuXG4gICAgaWYgKCFmcm9tKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgbWFpbCBcImZyb21cIiBhZGRyZXNzLiBHb3Q6ICR7U3RyaW5nKGZyb20pfWApXG4gICAgfVxuXG4gICAgY29uc3QgdG9MaXN0ID0gbm9ybWFsaXplUmVjaXBpZW50cyhwYXlsb2FkLnRvKVxuICAgIGNvbnN0IGNjTGlzdCA9IG5vcm1hbGl6ZVJlY2lwaWVudHMocGF5bG9hZC5jYylcbiAgICBjb25zdCBiY2NMaXN0ID0gbm9ybWFsaXplUmVjaXBpZW50cyhwYXlsb2FkLmJjYylcbiAgICBjb25zdCByZWNpcGllbnRzID0gWy4uLnRvTGlzdCwgLi4uY2NMaXN0LCAuLi5iY2NMaXN0XVxuXG4gICAgaWYgKHJlY2lwaWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgbWFpbCByZWNpcGllbnRzLiBHb3Q6ICR7SlNPTi5zdHJpbmdpZnkoe3RvOiBwYXlsb2FkLnRvLCBjYzogcGF5bG9hZC5jYywgYmNjOiBwYXlsb2FkLmJjY30pfWApXG4gICAgfVxuXG4gICAgY29uc3QgaGVhZGVycyA9IFtcbiAgICAgIGhlYWRlckxpbmUoXCJGcm9tXCIsIGZyb20pLFxuICAgICAgaGVhZGVyTGluZShcIlRvXCIsIHRvTGlzdC5sZW5ndGggPiAwID8gdG9MaXN0LmpvaW4oXCIsIFwiKSA6IHVuZGVmaW5lZCksXG4gICAgICBoZWFkZXJMaW5lKFwiQ2NcIiwgY2NMaXN0Lmxlbmd0aCA+IDAgPyBjY0xpc3Quam9pbihcIiwgXCIpIDogdW5kZWZpbmVkKSxcbiAgICAgIGhlYWRlckxpbmUoXCJTdWJqZWN0XCIsIHBheWxvYWQuc3ViamVjdCksXG4gICAgICBcIk1JTUUtVmVyc2lvbjogMS4wXCIsXG4gICAgICBcIkNvbnRlbnQtVHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PVVURi04XCJcbiAgICBdLmZpbHRlcigobGluZSkgPT4gbGluZSlcblxuICAgIGlmIChwYXlsb2FkLmhlYWRlcnMpIHtcbiAgICAgIGZvciAoY29uc3QgW2hlYWRlck5hbWUsIGhlYWRlclZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhwYXlsb2FkLmhlYWRlcnMpKSB7XG4gICAgICAgIGhlYWRlcnMucHVzaChgJHtoZWFkZXJOYW1lfTogJHtoZWFkZXJWYWx1ZX1gKVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IG1lc3NhZ2UgPSBgJHtoZWFkZXJzLmpvaW4oXCJcXHJcXG5cIil9XFxyXFxuXFxyXFxuJHtwYXlsb2FkLmh0bWx9YFxuICAgIGNvbnN0IHtkZWZhdWx0OiBTbXRwQ29ubmVjdGlvbn0gPSBhd2FpdCBpbXBvcnQoXCJzbXRwLWNvbm5lY3Rpb25cIilcbiAgICBjb25zdCBjb25uZWN0aW9uT3B0aW9ucyA9IHRoaXMuY29ubmVjdGlvbk9wdGlvbnNcbiAgICBjb25zdCBjb25uZWN0aW9uID0gbmV3IFNtdHBDb25uZWN0aW9uKGNvbm5lY3Rpb25PcHRpb25zKVxuXG4gICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgbGV0IHNldHRsZWQgPSBmYWxzZVxuICAgICAgbGV0IHNodXR0aW5nRG93biA9IGZhbHNlXG5cbiAgICAgIGNvbnN0IGNsZWFudXAgPSAoKSA9PiB7XG4gICAgICAgIGNvbm5lY3Rpb24ucmVtb3ZlTGlzdGVuZXIoXCJlbmRcIiwgb25FbmQpXG4gICAgICAgIGNvbm5lY3Rpb24ucmVtb3ZlTGlzdGVuZXIoXCJlcnJvclwiLCBvbkVycm9yKVxuICAgICAgfVxuXG4gICAgICBjb25zdCByZXNvbHZlRGVsaXZlcnkgPSAoKSA9PiB7XG4gICAgICAgIGlmIChzZXR0bGVkKSByZXR1cm5cblxuICAgICAgICBzZXR0bGVkID0gdHJ1ZVxuICAgICAgICBjbGVhbnVwKClcbiAgICAgICAgcmVzb2x2ZSh1bmRlZmluZWQpXG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogQHBhcmFtIHtFcnJvcn0gZXJyb3IgLSBFcnJvciB0aGF0IGZhaWxlZCBkZWxpdmVyeS5cbiAgICAgICAqL1xuICAgICAgY29uc3QgcmVqZWN0RGVsaXZlcnkgPSAoZXJyb3IpID0+IHtcbiAgICAgICAgaWYgKHNldHRsZWQpIHJldHVyblxuXG4gICAgICAgIHNldHRsZWQgPSB0cnVlXG4gICAgICAgIGNsZWFudXAoKVxuICAgICAgICBjb25uZWN0aW9uLmNsb3NlKClcbiAgICAgICAgcmVqZWN0KGVycm9yKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBvbkVuZCA9ICgpID0+IHJlc29sdmVEZWxpdmVyeSgpXG5cbiAgICAgIC8qKlxuICAgICAgICogQHBhcmFtIHtFcnJvcn0gZXJyb3IgLSBFcnJvciBlbWl0dGVkIGJ5IHRoZSBTTVRQIGNvbm5lY3Rpb24uXG4gICAgICAgKi9cbiAgICAgIGNvbnN0IG9uRXJyb3IgPSAoZXJyb3IpID0+IHtcbiAgICAgICAgaWYgKHNodXR0aW5nRG93bikge1xuICAgICAgICAgIHJlc29sdmVEZWxpdmVyeSgpXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICByZWplY3REZWxpdmVyeShlcnJvcilcbiAgICAgIH1cblxuICAgICAgY29uc3QgcXVpdEFmdGVyQWNjZXB0ZWRNZXNzYWdlID0gKCkgPT4ge1xuICAgICAgICBzaHV0dGluZ0Rvd24gPSB0cnVlXG4gICAgICAgIGNvbm5lY3Rpb24ub25jZShcImVuZFwiLCBvbkVuZClcbiAgICAgICAgY29ubmVjdGlvbi5xdWl0KClcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc2VuZE1lc3NhZ2UgPSAoKSA9PiB7XG4gICAgICAgIGNvbm5lY3Rpb24uc2VuZCh7ZnJvbSwgdG86IHJlY2lwaWVudHN9LCAvKiogQHR5cGUge2FueX0gKi8gKG1lc3NhZ2UpLCAoLyoqIEB0eXBlIHtFcnJvciB8IG51bGwgfCB1bmRlZmluZWR9ICovIHNlbmRFcnJvcikgPT4ge1xuICAgICAgICAgIGlmIChzZW5kRXJyb3IpIHtcbiAgICAgICAgICAgIHJlamVjdERlbGl2ZXJ5KHNlbmRFcnJvcilcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cblxuICAgICAgICAgIHF1aXRBZnRlckFjY2VwdGVkTWVzc2FnZSgpXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGF1dGhlbnRpY2F0ZUFuZFNlbmQgPSAoKSA9PiB7XG4gICAgICAgIGlmICghY29ubmVjdGlvbk9wdGlvbnMuYXV0aCkge1xuICAgICAgICAgIHNlbmRNZXNzYWdlKClcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbm5lY3Rpb24ubG9naW4oY29ubmVjdGlvbk9wdGlvbnMuYXV0aCwgKGxvZ2luRXJyb3IpID0+IHtcbiAgICAgICAgICBpZiAobG9naW5FcnJvcikge1xuICAgICAgICAgICAgcmVqZWN0RGVsaXZlcnkobG9naW5FcnJvcilcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cblxuICAgICAgICAgIHNlbmRNZXNzYWdlKClcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgY29ubmVjdGlvbi5vbihcImVycm9yXCIsIG9uRXJyb3IpXG4gICAgICBjb25uZWN0aW9uLmNvbm5lY3QoYXV0aGVudGljYXRlQW5kU2VuZClcbiAgICB9KVxuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"velocious": "build/bin/velocious.js"
|
|
4
4
|
},
|
|
5
5
|
"name": "velocious",
|
|
6
|
-
"version": "1.0.
|
|
6
|
+
"version": "1.0.384",
|
|
7
7
|
"main": "build/index.js",
|
|
8
8
|
"types": "build/index.d.ts",
|
|
9
9
|
"files": [
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"copy:templates": "cpy \"src/templates/**/*.js\" build/src/templates",
|
|
18
18
|
"lint": "eslint",
|
|
19
19
|
"prepare": "npm run build",
|
|
20
|
-
"release:patch": "
|
|
20
|
+
"release:patch": "release-patch",
|
|
21
21
|
"test": "node scripts/run-tests.js",
|
|
22
22
|
"test:browser": "node scripts/test-browser.js",
|
|
23
23
|
"prepublishOnly": "npm run build && node scripts/ensure-bin-executable.js",
|
|
@@ -85,6 +85,7 @@
|
|
|
85
85
|
"mysql": "^2.18.1",
|
|
86
86
|
"node-fetch": "^3.3.1",
|
|
87
87
|
"pg": "^8.16.3",
|
|
88
|
+
"release-patch": "^1.0.0",
|
|
88
89
|
"require-context": "^1.1.0",
|
|
89
90
|
"sqlite": "^5.1.1",
|
|
90
91
|
"sqlite3": "^6.0.1",
|