alepha 0.20.2 → 0.20.4
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 +0 -1
- package/assets/swagger-ui/swagger-ui-bundle.js +1 -1
- package/assets/swagger-ui/swagger-ui.css +1 -1
- package/dist/api/audits/index.browser.js +49 -0
- package/dist/api/audits/index.browser.js.map +1 -1
- package/dist/api/audits/index.js +49 -0
- package/dist/api/audits/index.js.map +1 -1
- package/dist/api/files/index.js.map +1 -1
- package/dist/api/jobs/index.d.ts +2 -61
- package/dist/api/jobs/index.d.ts.map +1 -1
- package/dist/api/jobs/index.js.map +1 -1
- package/dist/api/keys/index.d.ts +4 -4
- package/dist/api/keys/index.js.map +1 -1
- package/dist/api/notifications/index.d.ts +1 -10
- package/dist/api/notifications/index.d.ts.map +1 -1
- package/dist/api/parameters/index.browser.js +37 -0
- package/dist/api/parameters/index.browser.js.map +1 -1
- package/dist/api/parameters/index.d.ts +12 -68
- package/dist/api/parameters/index.d.ts.map +1 -1
- package/dist/api/parameters/index.js +57 -4
- package/dist/api/parameters/index.js.map +1 -1
- package/dist/api/payments/index.js.map +1 -1
- package/dist/api/users/index.browser.js +6 -0
- package/dist/api/users/index.browser.js.map +1 -1
- package/dist/api/users/index.d.ts +148 -227
- package/dist/api/users/index.d.ts.map +1 -1
- package/dist/api/users/index.js +60 -14
- package/dist/api/users/index.js.map +1 -1
- package/dist/api/verifications/index.d.ts.map +1 -1
- package/dist/api/verifications/index.js +2 -1
- package/dist/api/verifications/index.js.map +1 -1
- package/dist/bucket/index.d.ts +77 -107
- package/dist/bucket/index.d.ts.map +1 -1
- package/dist/bucket/index.js +153 -5
- package/dist/bucket/index.js.map +1 -1
- package/dist/bucket/index.workerd.js +12 -2
- package/dist/bucket/index.workerd.js.map +1 -1
- package/dist/cache/core/index.d.ts +26 -0
- package/dist/cache/core/index.d.ts.map +1 -1
- package/dist/cache/core/index.js +11 -1
- package/dist/cache/core/index.js.map +1 -1
- package/dist/cache/core/index.workerd.js +11 -1
- package/dist/cache/core/index.workerd.js.map +1 -1
- package/dist/captcha/index.js.map +1 -1
- package/dist/cli/config/index.d.ts +7 -5
- package/dist/cli/config/index.d.ts.map +1 -1
- package/dist/cli/config/index.js +2 -3
- package/dist/cli/config/index.js.map +1 -1
- package/dist/cli/core/index.d.ts +637 -11660
- package/dist/cli/core/index.d.ts.map +1 -1
- package/dist/cli/core/index.js +707 -532
- package/dist/cli/core/index.js.map +1 -1
- package/dist/cli/devtools/index.d.ts +4 -8
- package/dist/cli/devtools/index.d.ts.map +1 -1
- package/dist/cli/devtools/index.js +20 -16
- package/dist/cli/devtools/index.js.map +1 -1
- package/dist/cli/platform/index.d.ts +51 -77
- package/dist/cli/platform/index.d.ts.map +1 -1
- package/dist/cli/platform/index.js +65 -15
- package/dist/cli/platform/index.js.map +1 -1
- package/dist/cli/vendor/index.d.ts +10 -13
- package/dist/cli/vendor/index.d.ts.map +1 -1
- package/dist/cli/vendor/index.js +30 -12
- package/dist/cli/vendor/index.js.map +1 -1
- package/dist/command/index.js +1 -1
- package/dist/command/index.js.map +1 -1
- package/dist/core/index.browser.js +27 -3
- package/dist/core/index.browser.js.map +1 -1
- package/dist/core/index.d.ts +8 -11
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +27 -3
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.native.js +27 -3
- package/dist/core/index.native.js.map +1 -1
- package/dist/core/index.workerd.js +27 -3
- package/dist/core/index.workerd.js.map +1 -1
- package/dist/crypto/index.js.map +1 -1
- package/dist/datetime/index.d.ts +69 -10
- package/dist/datetime/index.d.ts.map +1 -1
- package/dist/datetime/index.js +135 -13
- package/dist/datetime/index.js.map +1 -1
- package/dist/email/core/index.js.map +1 -1
- package/dist/email/smtp/index.js +130 -16
- package/dist/email/smtp/index.js.map +1 -1
- package/dist/fake/index.js.map +1 -1
- package/dist/lock/core/index.d.ts +30 -2
- package/dist/lock/core/index.d.ts.map +1 -1
- package/dist/lock/core/index.js +35 -12
- package/dist/lock/core/index.js.map +1 -1
- package/dist/lock/redis/index.js.map +1 -1
- package/dist/logger/index.js +32 -1
- package/dist/logger/index.js.map +1 -1
- package/dist/mcp/index.d.ts +238 -31
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +198 -67
- package/dist/mcp/index.js.map +1 -1
- package/dist/orm/core/index.browser.js +2 -362
- package/dist/orm/core/index.browser.js.map +1 -1
- package/dist/orm/core/index.bun.js +18 -409
- package/dist/orm/core/index.bun.js.map +1 -1
- package/dist/orm/core/index.d.ts +41 -194
- package/dist/orm/core/index.d.ts.map +1 -1
- package/dist/orm/core/index.js +27 -422
- package/dist/orm/core/index.js.map +1 -1
- package/dist/orm/postgres/index.bun.js +17 -20
- package/dist/orm/postgres/index.bun.js.map +1 -1
- package/dist/orm/postgres/index.d.ts +1 -5
- package/dist/orm/postgres/index.d.ts.map +1 -1
- package/dist/orm/postgres/index.js +17 -20
- package/dist/orm/postgres/index.js.map +1 -1
- package/dist/react/core/index.d.ts +102 -1
- package/dist/react/core/index.d.ts.map +1 -1
- package/dist/react/core/index.js +65 -1
- package/dist/react/core/index.js.map +1 -1
- package/dist/react/form/index.d.ts +6 -0
- package/dist/react/form/index.d.ts.map +1 -1
- package/dist/react/form/index.js +7 -7
- package/dist/react/form/index.js.map +1 -1
- package/dist/react/i18n/index.d.ts +7 -1
- package/dist/react/i18n/index.d.ts.map +1 -1
- package/dist/react/i18n/index.js +6 -0
- package/dist/react/i18n/index.js.map +1 -1
- package/dist/react/intro/index.js +22 -17
- package/dist/react/intro/index.js.map +1 -1
- package/dist/react/router/index.browser.js +98 -4
- package/dist/react/router/index.browser.js.map +1 -1
- package/dist/react/router/index.d.ts +58 -5
- package/dist/react/router/index.d.ts.map +1 -1
- package/dist/react/router/index.js +122 -6
- package/dist/react/router/index.js.map +1 -1
- package/dist/react/testing/{chunk-DBEY4PJZ.js → chunk-6Ep1yQYe.js} +1 -1
- package/dist/react/testing/index.js +1 -1
- package/dist/react/testing/index.js.map +1 -1
- package/dist/react/ui/index.d.ts +195 -1
- package/dist/react/ui/index.d.ts.map +1 -1
- package/dist/react/ui/index.js +64 -1
- package/dist/react/ui/index.js.map +1 -1
- package/dist/react/websocket/index.js.map +1 -1
- package/dist/redis/index.js.map +1 -1
- package/dist/scheduler/index.d.ts +1 -2
- package/dist/scheduler/index.d.ts.map +1 -1
- package/dist/scheduler/index.js +1 -1
- package/dist/scheduler/index.js.map +1 -1
- package/dist/scheduler/index.workerd.js +1 -1
- package/dist/scheduler/index.workerd.js.map +1 -1
- package/dist/security/index.browser.js.map +1 -1
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +2 -2
- package/dist/security/index.js.map +1 -1
- package/dist/server/auth/index.d.ts.map +1 -1
- package/dist/server/auth/index.js +24 -10
- package/dist/server/auth/index.js.map +1 -1
- package/dist/server/cookies/index.js.map +1 -1
- package/dist/server/core/index.browser.js +10 -3
- package/dist/server/core/index.browser.js.map +1 -1
- package/dist/server/core/index.d.ts +1 -4
- package/dist/server/core/index.d.ts.map +1 -1
- package/dist/server/core/index.js +47 -9
- package/dist/server/core/index.js.map +1 -1
- package/dist/server/links/index.browser.js.map +1 -1
- package/dist/server/links/index.js.map +1 -1
- package/dist/server/metrics/index.js +19 -1
- package/dist/server/metrics/index.js.map +1 -1
- package/dist/server/rate-limit/index.js.map +1 -1
- package/dist/server/static/index.js.map +1 -1
- package/dist/server/swagger/index.d.ts.map +1 -1
- package/dist/server/swagger/index.js +4 -5
- package/dist/server/swagger/index.js.map +1 -1
- package/dist/sms/index.js.map +1 -1
- package/dist/system/index.browser.js.map +1 -1
- package/dist/system/index.js.map +1 -1
- package/dist/system/index.workerd.js.map +1 -1
- package/dist/topic/core/index.js.map +1 -1
- package/dist/websocket/index.browser.js +32 -5
- package/dist/websocket/index.browser.js.map +1 -1
- package/dist/websocket/index.d.ts +3 -1
- package/dist/websocket/index.d.ts.map +1 -1
- package/dist/websocket/index.js +42 -6
- package/dist/websocket/index.js.map +1 -1
- package/package.json +685 -274
- package/src/api/files/__tests__/FileController.spec.ts +1 -1
- package/src/api/jobs/__tests__/$job.spec.ts +5 -1
- package/src/api/parameters/services/ParameterProvider.ts +21 -4
- package/src/api/users/__tests__/SessionService.spec.ts +99 -0
- package/src/api/users/__tests__/UserJobs.spec.ts +67 -0
- package/src/api/users/atoms/realmAuthSettingsAtom.ts +15 -0
- package/src/api/users/entities/sessions.ts +6 -0
- package/src/api/users/jobs/UserJobs.ts +44 -17
- package/src/api/users/providers/RealmProvider.ts +4 -0
- package/src/api/users/schemas/userQuerySchema.ts +0 -1
- package/src/api/users/services/SessionService.ts +27 -0
- package/src/api/users/services/UserService.ts +1 -5
- package/src/api/verifications/__tests__/CodeVerification.spec.ts +14 -0
- package/src/api/verifications/__tests__/LinkVerification.spec.ts +14 -0
- package/src/api/verifications/services/VerificationService.ts +1 -0
- package/src/bucket/__tests__/NodeS3BucketProvider.spec.ts +74 -0
- package/src/bucket/index.ts +19 -2
- package/src/bucket/primitives/$bucket.ts +9 -1
- package/src/bucket/providers/CloudflareR2Provider.ts +2 -137
- package/src/bucket/providers/NodeS3BucketProvider.ts +218 -0
- package/src/cache/core/index.ts +29 -0
- package/src/cache/core/primitives/$cache.ts +14 -1
- package/src/cli/config/defineConfig.ts +13 -15
- package/src/cli/core/__tests__/init.spec.ts +214 -7
- package/src/cli/core/commands/init.ts +12 -0
- package/src/cli/core/services/PackageManagerUtils.ts +23 -6
- package/src/cli/core/services/ProjectScaffolder.ts +315 -33
- package/src/cli/core/tasks/BuildCloudflareTask.ts +5 -0
- package/src/cli/core/tasks/BuildDockerTask.ts +9 -10
- package/src/cli/core/tasks/BuildServerTask.ts +8 -0
- package/src/cli/core/templates/agentMd.ts +2 -10
- package/src/cli/core/templates/apiIndexTs.ts +23 -1
- package/src/cli/core/templates/componentsJsonTs.ts +39 -0
- package/src/cli/core/templates/mainCss.ts +1 -0
- package/src/cli/core/templates/saasAdminLayoutTsx.ts +77 -0
- package/src/cli/core/templates/saasAdminPagesTsx.ts +26 -0
- package/src/cli/core/templates/saasAuthLayoutTsx.ts +20 -0
- package/src/cli/core/templates/saasAuthPagesTsx.ts +62 -0
- package/src/cli/core/templates/saasRealmProviderTs.ts +46 -0
- package/src/cli/core/templates/webAppRouterTs.ts +104 -1
- package/src/cli/core/templates/webIndexTs.ts +23 -1
- package/src/cli/devtools/index.ts +12 -26
- package/src/cli/platform/__tests__/SecretsCommand.spec.ts +2 -0
- package/src/cli/platform/index.ts +15 -24
- package/src/cli/vendor/atoms/vendorOptions.ts +1 -1
- package/src/cli/vendor/index.ts +14 -23
- package/src/command/providers/CliProvider.ts +1 -1
- package/src/core/Alepha.ts +11 -1
- package/src/core/helpers/ref.ts +18 -0
- package/src/core/index.shared.ts +1 -0
- package/src/core/interfaces/Service.ts +3 -1
- package/src/core/providers/SchemaValidator.ts +9 -1
- package/src/core/providers/TypeProvider.ts +2 -3
- package/src/datetime/REFACTORING.md +118 -0
- package/src/datetime/providers/DateTimeProvider.ts +203 -24
- package/src/lock/core/index.ts +31 -0
- package/src/lock/core/primitives/$lock.ts +14 -1
- package/src/logger/services/Logger.ts +1 -1
- package/src/mcp/__tests__/$resource.spec.ts +1 -1
- package/src/mcp/__tests__/$tool.spec.ts +1 -1
- package/src/mcp/__tests__/McpServerProvider.spec.ts +1 -1
- package/src/mcp/__tests__/jsonrpc.spec.ts +1 -1
- package/src/mcp/helpers/jsonrpc.ts +26 -1
- package/src/mcp/index.ts +10 -5
- package/src/mcp/interfaces/McpTypes.ts +83 -6
- package/src/mcp/primitives/$prompt.ts +18 -1
- package/src/mcp/primitives/$resource.ts +18 -1
- package/src/mcp/primitives/$tool.ts +83 -7
- package/src/mcp/providers/McpServerProvider.ts +74 -16
- package/src/mcp/transports/StreamableHttpMcpTransport.ts +226 -0
- package/src/orm/REFACTORING.md +330 -0
- package/src/orm/__tests__/$repository-tests.ts +1 -0
- package/src/orm/__tests__/orm-next-tests.ts +2 -67
- package/src/orm/__tests__/orm-next.spec.ts +0 -21
- package/src/orm/core/index.shared.ts +0 -2
- package/src/orm/core/index.ts +1 -2
- package/src/orm/core/primitives/$repository.ts +3 -6
- package/src/orm/core/primitives/$transactional.ts +11 -0
- package/src/orm/core/providers/drivers/DatabaseProvider.ts +0 -5
- package/src/orm/core/providers/drivers/NodeSqliteProvider.ts +11 -13
- package/src/orm/core/schemas/updateSchema.ts +1 -1
- package/src/orm/core/services/ModelBuilder.ts +1 -13
- package/src/orm/core/services/PgRelationManager.ts +4 -2
- package/src/orm/core/services/Repository.ts +1 -42
- package/src/orm/core/services/SqliteModelBuilder.ts +2 -33
- package/src/orm/postgres/services/PostgresModelBuilder.ts +10 -45
- package/src/react/core/__tests__/useQuery.browser.spec.tsx +86 -0
- package/src/react/core/hooks/useQuery.ts +153 -0
- package/src/react/core/index.ts +1 -0
- package/src/react/form/services/FormModel.ts +15 -6
- package/src/react/form/services/parseField.ts +8 -0
- package/src/react/i18n/providers/I18nProvider.ts +8 -2
- package/src/react/intro/components/GettingStartedAuthSlide.tsx +11 -4
- package/src/react/router/__tests__/$page.spec.tsx +0 -16
- package/src/react/router/__tests__/ReactBrowserProvider.browser.spec.ts +213 -2
- package/src/react/router/__tests__/ssr.spec.tsx +339 -0
- package/src/react/router/primitives/$page.ts +28 -4
- package/src/react/router/providers/ReactBrowserProvider.ts +73 -0
- package/src/react/router/providers/ReactBrowserRouterProvider.ts +1 -1
- package/src/react/router/providers/ReactPageProvider.ts +27 -9
- package/src/react/router/providers/ReactPreloadProvider.ts +1 -1
- package/src/react/router/providers/ReactServerProvider.ts +1 -0
- package/src/react/ui/atoms/uiThemeListAtom.ts +36 -0
- package/src/react/ui/index.ts +6 -0
- package/src/react/ui/services/SchemaControl.ts +209 -0
- package/src/scheduler/providers/CronProvider.ts +1 -1
- package/src/security/primitives/$basicAuth.ts +1 -1
- package/src/security/primitives/$issuer.ts +6 -3
- package/src/server/auth/providers/ServerAuthProvider.ts +5 -1
- package/src/server/core/__tests__/ServerRouterProvider-serializationError.spec.ts +75 -0
- package/src/server/core/__tests__/ServerRouterProvider-validationError.spec.ts +306 -0
- package/src/server/core/errors/ValidationError.ts +13 -1
- package/src/server/core/interfaces/ServerRequest.ts +1 -0
- package/src/server/core/primitives/$action.ts +16 -5
- package/src/server/core/providers/ServerProvider.ts +1 -1
- package/src/server/core/providers/ServerRouterProvider.ts +28 -6
- package/src/server/core/services/HttpClient.ts +1 -1
- package/src/server/swagger/providers/ServerSwaggerProvider.ts +6 -8
- package/src/websocket/providers/NodeWebSocketServerProvider.ts +10 -4
- package/src/websocket/services/WebSocketClient.ts +11 -5
- package/src/mcp/transports/SseMcpTransport.ts +0 -182
- package/src/orm/core/__tests__/parseQueryString.spec.ts +0 -196
- package/src/orm/core/helpers/parseQueryString.ts +0 -502
- package/src/orm/core/primitives/$view.ts +0 -88
package/dist/email/smtp/index.js
CHANGED
|
@@ -9,7 +9,7 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
9
9
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
10
10
|
var __getProtoOf = Object.getPrototypeOf;
|
|
11
11
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
-
var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
12
|
+
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
13
13
|
var __copyProps = (to, from, except, desc) => {
|
|
14
14
|
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
15
15
|
key = keys[i];
|
|
@@ -203,7 +203,7 @@ var require_cookies = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
203
203
|
var require_package = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
204
204
|
module.exports = {
|
|
205
205
|
"name": "nodemailer",
|
|
206
|
-
"version": "8.0.
|
|
206
|
+
"version": "8.0.7",
|
|
207
207
|
"description": "Easy as cake e-mail sending from your Node.js applications",
|
|
208
208
|
"main": "lib/nodemailer.js",
|
|
209
209
|
"scripts": {
|
|
@@ -226,20 +226,19 @@ var require_package = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
226
226
|
"bugs": { "url": "https://github.com/nodemailer/nodemailer/issues" },
|
|
227
227
|
"homepage": "https://nodemailer.com/",
|
|
228
228
|
"devDependencies": {
|
|
229
|
-
"@aws-sdk/client-sesv2": "3.
|
|
229
|
+
"@aws-sdk/client-sesv2": "3.1037.0",
|
|
230
230
|
"bunyan": "1.8.15",
|
|
231
231
|
"c8": "11.0.0",
|
|
232
|
-
"eslint": "10.2.
|
|
232
|
+
"eslint": "10.2.1",
|
|
233
233
|
"eslint-config-prettier": "10.1.8",
|
|
234
|
-
"globals": "17.
|
|
234
|
+
"globals": "17.5.0",
|
|
235
235
|
"libbase64": "1.3.0",
|
|
236
|
-
"libmime": "5.3.
|
|
236
|
+
"libmime": "5.3.8",
|
|
237
237
|
"libqp": "2.1.1",
|
|
238
|
-
"
|
|
239
|
-
"prettier": "3.8.1",
|
|
238
|
+
"prettier": "3.8.3",
|
|
240
239
|
"proxy": "1.0.2",
|
|
241
240
|
"proxy-test-server": "1.0.0",
|
|
242
|
-
"smtp-server": "3.18.
|
|
241
|
+
"smtp-server": "3.18.4"
|
|
243
242
|
},
|
|
244
243
|
"engines": { "node": ">=6.0.0" }
|
|
245
244
|
};
|
|
@@ -3720,7 +3719,19 @@ var require_punycode = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
3720
3719
|
});
|
|
3721
3720
|
};
|
|
3722
3721
|
module.exports = {
|
|
3722
|
+
/**
|
|
3723
|
+
* A string representing the current Punycode.js version number.
|
|
3724
|
+
* @memberOf punycode
|
|
3725
|
+
* @type String
|
|
3726
|
+
*/
|
|
3723
3727
|
version: "2.3.1",
|
|
3728
|
+
/**
|
|
3729
|
+
* An object of methods to convert from JavaScript's internal character
|
|
3730
|
+
* representation (UCS-2) to Unicode code points, and back.
|
|
3731
|
+
* @see <https://mathiasbynens.be/notes/javascript-encoding>
|
|
3732
|
+
* @memberOf punycode
|
|
3733
|
+
* @type Object
|
|
3734
|
+
*/
|
|
3724
3735
|
ucs2: {
|
|
3725
3736
|
decode: ucs2decode,
|
|
3726
3737
|
encode: ucs2encode
|
|
@@ -3761,11 +3772,11 @@ var require_base64 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
3761
3772
|
const chunkLength = lineLength * 1024;
|
|
3762
3773
|
const wrapRegex = new RegExp(".{" + lineLength + "}", "g");
|
|
3763
3774
|
while (pos < str.length) {
|
|
3764
|
-
const wrappedLines = str.substr(pos, chunkLength).replace(wrapRegex, "$&\r\n");
|
|
3775
|
+
const wrappedLines = str.substr(pos, chunkLength).replace(wrapRegex, "$&\r\n").trim();
|
|
3765
3776
|
result.push(wrappedLines);
|
|
3766
3777
|
pos += chunkLength;
|
|
3767
3778
|
}
|
|
3768
|
-
return result.join("");
|
|
3779
|
+
return result.join("\r\n").trim();
|
|
3769
3780
|
}
|
|
3770
3781
|
/**
|
|
3771
3782
|
* Creates a transform stream for encoding data to base64 encoding
|
|
@@ -3803,12 +3814,12 @@ var require_base64 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
3803
3814
|
if (lastLF < 0) {
|
|
3804
3815
|
this._curLine = b64;
|
|
3805
3816
|
b64 = "";
|
|
3806
|
-
} else
|
|
3817
|
+
} else if (lastLF === b64.length - 1) this._curLine = "";
|
|
3818
|
+
else {
|
|
3807
3819
|
this._curLine = b64.substring(lastLF + 1);
|
|
3808
3820
|
b64 = b64.substring(0, lastLF + 1);
|
|
3809
|
-
if (b64 && !b64.endsWith("\r\n")) b64 += "\r\n";
|
|
3810
3821
|
}
|
|
3811
|
-
}
|
|
3822
|
+
}
|
|
3812
3823
|
if (b64) {
|
|
3813
3824
|
this.outputBytes += b64.length;
|
|
3814
3825
|
this.push(Buffer.from(b64, "ascii"));
|
|
@@ -3818,6 +3829,7 @@ var require_base64 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
3818
3829
|
_flush(done) {
|
|
3819
3830
|
if (this._remainingBytes && this._remainingBytes.length) this._curLine += encode(this._remainingBytes);
|
|
3820
3831
|
if (this._curLine) {
|
|
3832
|
+
this._curLine = wrap(this._curLine, this.options.lineLength);
|
|
3821
3833
|
this.outputBytes += this._curLine.length;
|
|
3822
3834
|
this.push(Buffer.from(this._curLine, "ascii"));
|
|
3823
3835
|
this._curLine = "";
|
|
@@ -3993,13 +4005,38 @@ var require_mime_funcs = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
3993
4005
|
const qp = require_qp();
|
|
3994
4006
|
const mimeTypes = require_mime_types();
|
|
3995
4007
|
module.exports = {
|
|
4008
|
+
/**
|
|
4009
|
+
* Checks if a value is plaintext string (uses only printable 7bit chars)
|
|
4010
|
+
*
|
|
4011
|
+
* @param {String} value String to be tested
|
|
4012
|
+
* @returns {Boolean} true if it is a plaintext string
|
|
4013
|
+
*/
|
|
3996
4014
|
isPlainText(value, isParam) {
|
|
3997
4015
|
return typeof value === "string" && !(isParam ? /[\x00-\x08\x0b\x0c\x0e-\x1f"\u0080-\uFFFF]/ : /[\x00-\x08\x0b\x0c\x0e-\x1f\u0080-\uFFFF]/).test(value);
|
|
3998
4016
|
},
|
|
4017
|
+
/**
|
|
4018
|
+
* Checks if a multi line string containes lines longer than the selected value.
|
|
4019
|
+
*
|
|
4020
|
+
* Useful when detecting if a mail message needs any processing at all –
|
|
4021
|
+
* if only plaintext characters are used and lines are short, then there is
|
|
4022
|
+
* no need to encode the values in any way. If the value is plaintext but has
|
|
4023
|
+
* longer lines then allowed, then use format=flowed
|
|
4024
|
+
*
|
|
4025
|
+
* @param {Number} lineLength Max line length to check for
|
|
4026
|
+
* @returns {Boolean} Returns true if there is at least one line longer than lineLength chars
|
|
4027
|
+
*/
|
|
3999
4028
|
hasLongerLines(str, lineLength) {
|
|
4000
4029
|
if (str.length > 128 * 1024) return true;
|
|
4001
4030
|
return new RegExp("^.{" + (lineLength + 1) + ",}", "m").test(str);
|
|
4002
4031
|
},
|
|
4032
|
+
/**
|
|
4033
|
+
* Encodes a string or an Buffer to an UTF-8 MIME Word (rfc2047)
|
|
4034
|
+
*
|
|
4035
|
+
* @param {String|Buffer} data String to be encoded
|
|
4036
|
+
* @param {String} mimeWordEncoding='Q' Encoding for the mime word, either Q or B
|
|
4037
|
+
* @param {Number} [maxLength=0] If set, split mime words into several chunks if needed
|
|
4038
|
+
* @return {String} Single or several mime words joined together
|
|
4039
|
+
*/
|
|
4003
4040
|
encodeWord(data, mimeWordEncoding, maxLength) {
|
|
4004
4041
|
mimeWordEncoding = (mimeWordEncoding || "Q").toString().toUpperCase().trim().charAt(0);
|
|
4005
4042
|
maxLength = maxLength || 0;
|
|
@@ -4035,6 +4072,15 @@ var require_mime_funcs = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
4035
4072
|
else if (mimeWordEncoding === "B") encodedStr = base64.encode(data);
|
|
4036
4073
|
return "=?" + toCharset + "?" + mimeWordEncoding + "?" + encodedStr + (encodedStr.substr(-2) === "?=" ? "" : "?=");
|
|
4037
4074
|
},
|
|
4075
|
+
/**
|
|
4076
|
+
* Finds word sequences with non ascii text and converts these to mime words
|
|
4077
|
+
*
|
|
4078
|
+
* @param {String} value String to be encoded
|
|
4079
|
+
* @param {String} mimeWordEncoding='Q' Encoding for the mime word, either Q or B
|
|
4080
|
+
* @param {Number} [maxLength=0] If set, split mime words into several chunks if needed
|
|
4081
|
+
* @param {Boolean} [encodeAll=false] If true and the value needs encoding then encodes entire string, not just the smallest match
|
|
4082
|
+
* @return {String} String with possible mime words
|
|
4083
|
+
*/
|
|
4038
4084
|
encodeWords(value, mimeWordEncoding, maxLength, encodeAll) {
|
|
4039
4085
|
maxLength = maxLength || 0;
|
|
4040
4086
|
const firstMatch = value.match(/(?:^|\s)([^\s]*["\u0080-\uFFFF])/);
|
|
@@ -4046,6 +4092,13 @@ var require_mime_funcs = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
4046
4092
|
const endIndex = lastMatch.index + (lastMatch[1] || "").length;
|
|
4047
4093
|
return (startIndex ? value.substr(0, startIndex) : "") + this.encodeWord(value.substring(startIndex, endIndex), mimeWordEncoding || "Q", maxLength) + (endIndex < value.length ? value.substr(endIndex) : "");
|
|
4048
4094
|
},
|
|
4095
|
+
/**
|
|
4096
|
+
* Joins parsed header value together as 'value; param1=value1; param2=value2'
|
|
4097
|
+
* PS: We are following RFC 822 for the list of special characters that we need to keep in quotes.
|
|
4098
|
+
* Refer: https://www.w3.org/Protocols/rfc1341/4_Content-Type.html
|
|
4099
|
+
* @param {Object} structured Parsed header value
|
|
4100
|
+
* @return {String} joined header value
|
|
4101
|
+
*/
|
|
4049
4102
|
buildHeaderValue(structured) {
|
|
4050
4103
|
const paramsArray = [];
|
|
4051
4104
|
Object.keys(structured.params || {}).forEach((param) => {
|
|
@@ -4059,6 +4112,21 @@ var require_mime_funcs = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
4059
4112
|
});
|
|
4060
4113
|
return structured.value + (paramsArray.length ? "; " + paramsArray.join("; ") : "");
|
|
4061
4114
|
},
|
|
4115
|
+
/**
|
|
4116
|
+
* Encodes a string or an Buffer to an UTF-8 Parameter Value Continuation encoding (rfc2231)
|
|
4117
|
+
* Useful for splitting long parameter values.
|
|
4118
|
+
*
|
|
4119
|
+
* For example
|
|
4120
|
+
* title="unicode string"
|
|
4121
|
+
* becomes
|
|
4122
|
+
* title*0*=utf-8''unicode
|
|
4123
|
+
* title*1*=%20string
|
|
4124
|
+
*
|
|
4125
|
+
* @param {String|Buffer} data String to be encoded
|
|
4126
|
+
* @param {Number} [maxLength=50] Max length for generated chunks
|
|
4127
|
+
* @param {String} [fromCharset='UTF-8'] Source sharacter set
|
|
4128
|
+
* @return {Array} A list of encoded keys and headers
|
|
4129
|
+
*/
|
|
4062
4130
|
buildHeaderParam(key, data, maxLength) {
|
|
4063
4131
|
const list = [];
|
|
4064
4132
|
let encodedStr = typeof data === "string" ? data : (data || "").toString();
|
|
@@ -4135,6 +4203,21 @@ var require_mime_funcs = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
4135
4203
|
value: item.line
|
|
4136
4204
|
}));
|
|
4137
4205
|
},
|
|
4206
|
+
/**
|
|
4207
|
+
* Parses a header value with key=value arguments into a structured
|
|
4208
|
+
* object.
|
|
4209
|
+
*
|
|
4210
|
+
* parseHeaderValue('content-type: text/plain; CHARSET='UTF-8'') ->
|
|
4211
|
+
* {
|
|
4212
|
+
* 'value': 'text/plain',
|
|
4213
|
+
* 'params': {
|
|
4214
|
+
* 'charset': 'UTF-8'
|
|
4215
|
+
* }
|
|
4216
|
+
* }
|
|
4217
|
+
*
|
|
4218
|
+
* @param {String} str Header value
|
|
4219
|
+
* @return {Object} Header value as a parsed structure
|
|
4220
|
+
*/
|
|
4138
4221
|
parseHeaderValue(str) {
|
|
4139
4222
|
const response = {
|
|
4140
4223
|
value: false,
|
|
@@ -4207,8 +4290,31 @@ var require_mime_funcs = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
4207
4290
|
});
|
|
4208
4291
|
return response;
|
|
4209
4292
|
},
|
|
4293
|
+
/**
|
|
4294
|
+
* Returns file extension for a content type string. If no suitable extensions
|
|
4295
|
+
* are found, 'bin' is used as the default extension
|
|
4296
|
+
*
|
|
4297
|
+
* @param {String} mimeType Content type to be checked for
|
|
4298
|
+
* @return {String} File extension
|
|
4299
|
+
*/
|
|
4210
4300
|
detectExtension: (mimeType) => mimeTypes.detectExtension(mimeType),
|
|
4301
|
+
/**
|
|
4302
|
+
* Returns content type for a file extension. If no suitable content types
|
|
4303
|
+
* are found, 'application/octet-stream' is used as the default content type
|
|
4304
|
+
*
|
|
4305
|
+
* @param {String} extension Extension to be checked for
|
|
4306
|
+
* @return {String} File extension
|
|
4307
|
+
*/
|
|
4211
4308
|
detectMimeType: (extension) => mimeTypes.detectMimeType(extension),
|
|
4309
|
+
/**
|
|
4310
|
+
* Folds long lines, useful for folding header lines (afterSpace=false) and
|
|
4311
|
+
* flowed text (afterSpace=true)
|
|
4312
|
+
*
|
|
4313
|
+
* @param {String} str String to be folded
|
|
4314
|
+
* @param {Number} [lineLength=76] Maximum length of a line
|
|
4315
|
+
* @param {Boolean} afterSpace If true, leave a space in th end of a line
|
|
4316
|
+
* @return {String} String with folded lines
|
|
4317
|
+
*/
|
|
4212
4318
|
foldLines(str, lineLength, afterSpace) {
|
|
4213
4319
|
str = (str || "").toString();
|
|
4214
4320
|
lineLength = lineLength || 76;
|
|
@@ -4235,6 +4341,13 @@ var require_mime_funcs = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
4235
4341
|
}
|
|
4236
4342
|
return result;
|
|
4237
4343
|
},
|
|
4344
|
+
/**
|
|
4345
|
+
* Splits a mime encoded string. Needed for dividing mime words into smaller chunks
|
|
4346
|
+
*
|
|
4347
|
+
* @param {String} str Mime encoded string to be split up
|
|
4348
|
+
* @param {Number} maxlen Maximum length of characters for one part (minimum 12)
|
|
4349
|
+
* @return {Array} Split string
|
|
4350
|
+
*/
|
|
4238
4351
|
splitMimeEncodedString: (str, maxlen) => {
|
|
4239
4352
|
const lines = [];
|
|
4240
4353
|
let curLine, match, chr, done;
|
|
@@ -5509,9 +5622,10 @@ var require_mime_node = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
5509
5622
|
if (lastAt < 0) return address;
|
|
5510
5623
|
let user = address.substr(0, lastAt);
|
|
5511
5624
|
const domain = address.substr(lastAt + 1);
|
|
5512
|
-
let encodedDomain;
|
|
5625
|
+
let encodedDomain = domain;
|
|
5513
5626
|
try {
|
|
5514
|
-
encodedDomain = punycode.
|
|
5627
|
+
if (/[\x80-\uFFFF]/.test(user)) encodedDomain = punycode.toUnicode(domain.toLowerCase());
|
|
5628
|
+
else encodedDomain = punycode.toASCII(domain.toLowerCase());
|
|
5515
5629
|
} catch (_err) {}
|
|
5516
5630
|
if (user.indexOf(" ") >= 0) {
|
|
5517
5631
|
if (user.charAt(0) !== "\"") user = "\"" + user;
|