ac-ses 2.0.1 → 2.0.3
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/CHANGELOG.md +27 -0
- package/eslint.config.js +30 -0
- package/index.js +7 -6
- package/package.json +10 -8
- package/.eslintrc.js +0 -27
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,30 @@
|
|
|
1
|
+
|
|
2
|
+
## [2.0.3](https://github.com/admiralcloud/ac-ses/compare/v2.0.2..v2.0.3) (2025-05-05 17:49:00)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Bug Fix
|
|
6
|
+
|
|
7
|
+
* **App:** Use ACError class | MP | [43ab8d460541c151764df858067b955af81bd51c](https://github.com/admiralcloud/ac-ses/commit/43ab8d460541c151764df858067b955af81bd51c)
|
|
8
|
+
Use ACError class
|
|
9
|
+
Related issues:
|
|
10
|
+
### Chores
|
|
11
|
+
|
|
12
|
+
* **App:** Updated packages | MP | [fedcbc13d147597e4e1a36f63a17822583c0bfbb](https://github.com/admiralcloud/ac-ses/commit/fedcbc13d147597e4e1a36f63a17822583c0bfbb)
|
|
13
|
+
Updated packages
|
|
14
|
+
Related issues:
|
|
15
|
+
* **App:** Updated packages | MP | [0267ba27664bb11e59413a1d1effce5b1db916e4](https://github.com/admiralcloud/ac-ses/commit/0267ba27664bb11e59413a1d1effce5b1db916e4)
|
|
16
|
+
Updated packages
|
|
17
|
+
Related issues:
|
|
18
|
+
<a name="2.0.2"></a>
|
|
19
|
+
|
|
20
|
+
## [2.0.2](https://github.com/admiralcloud/ac-ses/compare/v2.0.1..v2.0.2) (2024-09-16 08:11:27)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### Bug Fix
|
|
24
|
+
|
|
25
|
+
* **App:** Package updates | MP | [e0c2598481e0f87cf5bdb698faf637c0faa5e604](https://github.com/admiralcloud/ac-ses/commit/e0c2598481e0f87cf5bdb698faf637c0faa5e604)
|
|
26
|
+
Package updates
|
|
27
|
+
Related issues: [undefined/undefined#master](undefined/browse/master)
|
|
1
28
|
<a name="2.0.1"></a>
|
|
2
29
|
|
|
3
30
|
## [2.0.1](https://github.com/admiralcloud/ac-ses/compare/v2.0.0..v2.0.1) (2024-01-07 08:57:43)
|
package/eslint.config.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
const globals = require('globals');
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
ignores: [
|
|
5
|
+
'config/env/**'
|
|
6
|
+
],
|
|
7
|
+
languageOptions: {
|
|
8
|
+
ecmaVersion: 2022,
|
|
9
|
+
sourceType: 'module',
|
|
10
|
+
globals: {
|
|
11
|
+
...globals.commonjs,
|
|
12
|
+
...globals.es6,
|
|
13
|
+
...globals.node,
|
|
14
|
+
expect: 'readonly',
|
|
15
|
+
describe: 'readonly',
|
|
16
|
+
it: 'readonly'
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
rules: {
|
|
20
|
+
'no-const-assign': 'error', // Ensure this rule is enabled
|
|
21
|
+
'space-before-function-paren': 'off',
|
|
22
|
+
'no-extra-semi': 'off',
|
|
23
|
+
'object-curly-spacing': ['error', 'always'],
|
|
24
|
+
'brace-style': ['error', 'stroustrup', { allowSingleLine: true }],
|
|
25
|
+
'no-useless-escape': 'off',
|
|
26
|
+
'standard/no-callback-literal': 'off',
|
|
27
|
+
'new-cap': 'off',
|
|
28
|
+
'no-console': ['warn', { allow: ['warn', 'error'] }]
|
|
29
|
+
}
|
|
30
|
+
};
|
package/index.js
CHANGED
|
@@ -5,6 +5,7 @@ const quotedPrintable = require('quoted-printable')
|
|
|
5
5
|
const utf8 = require('utf8')
|
|
6
6
|
|
|
7
7
|
const { SESv2Client, SendEmailCommand } = require("@aws-sdk/client-sesv2")
|
|
8
|
+
const { ACError } = require('ac-custom-error')
|
|
8
9
|
|
|
9
10
|
const acses = () => {
|
|
10
11
|
let ses
|
|
@@ -45,8 +46,8 @@ const acses = () => {
|
|
|
45
46
|
* @param {*} params
|
|
46
47
|
*/
|
|
47
48
|
const prepareEmailAddress = ({ address, name }) => {
|
|
48
|
-
if (!address) throw new
|
|
49
|
-
if (!_.isString(address)) throw new
|
|
49
|
+
if (!address) throw new ACError('ACSES.prepareEmailAddress - address_required')
|
|
50
|
+
if (!_.isString(address)) throw new ACError('ACSES.prepareEmailAddress - address_mustBeAString')
|
|
50
51
|
let email = name ? `${name} <${address}>` : address
|
|
51
52
|
return email
|
|
52
53
|
}
|
|
@@ -70,7 +71,7 @@ const acses = () => {
|
|
|
70
71
|
*
|
|
71
72
|
*/
|
|
72
73
|
const sendEmail = async(params) => {
|
|
73
|
-
if (!_.isObject(ses)) throw new
|
|
74
|
+
if (!_.isObject(ses)) throw new ACError('pleaseUseInitBeforeSendingEmail')
|
|
74
75
|
if (!_.get(params, 'from') && defaultSender) _.set(params, 'from', defaultSender)
|
|
75
76
|
const fieldCheck = [
|
|
76
77
|
{ field: 'from', type: _.isPlainObject, required: true },
|
|
@@ -87,8 +88,8 @@ const acses = () => {
|
|
|
87
88
|
]
|
|
88
89
|
|
|
89
90
|
_.some(fieldCheck, (field) => {
|
|
90
|
-
if (field.required && !_.has(params, field.field)) throw new
|
|
91
|
-
if (_.get(params, field.field) && !field.type(_.get(params, field.field))) throw new
|
|
91
|
+
if (field.required && !_.has(params, field.field)) throw new ACError(field.field + '_required')
|
|
92
|
+
if (_.get(params, field.field) && !field.type(_.get(params, field.field))) throw new ACError(field.field + '_typeInvalid')
|
|
92
93
|
})
|
|
93
94
|
|
|
94
95
|
const boundaryMixed = uuidV4()
|
|
@@ -115,7 +116,7 @@ const acses = () => {
|
|
|
115
116
|
|
|
116
117
|
raw += 'Subject: ' + (useEnvironmentPrefixInSubject ? (_.toUpper(environment) + ' | ') : '') + params.subject + '\n'
|
|
117
118
|
if (params?.debug) {
|
|
118
|
-
|
|
119
|
+
warn.log('ACSES | DEBUG Headers | %j', raw.split('/n'))
|
|
119
120
|
}
|
|
120
121
|
|
|
121
122
|
// announce multipart/mixed
|
package/package.json
CHANGED
|
@@ -4,20 +4,21 @@
|
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": "admiralcloud/ac-ses",
|
|
6
6
|
"homepage": "https://www.admiralcloud.com",
|
|
7
|
-
"version": "2.0.
|
|
7
|
+
"version": "2.0.3",
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@aws-sdk/client-sesv2": "^3.
|
|
9
|
+
"@aws-sdk/client-sesv2": "^3.800.0",
|
|
10
|
+
"ac-custom-error": "^1.0.3",
|
|
10
11
|
"lodash": "^4.17.21",
|
|
11
12
|
"quoted-printable": "^1.0.1",
|
|
12
13
|
"utf8": "^3.0.0",
|
|
13
|
-
"uuid": "^
|
|
14
|
+
"uuid": "^11.x"
|
|
14
15
|
},
|
|
15
16
|
"devDependencies": {
|
|
16
|
-
"ac-semantic-release": "^0.4.
|
|
17
|
-
"chai": "^4.
|
|
18
|
-
"eslint": "
|
|
17
|
+
"ac-semantic-release": "^0.4.6",
|
|
18
|
+
"chai": "^4.5.0",
|
|
19
|
+
"eslint": "9.x",
|
|
19
20
|
"expect": "^29.7.0",
|
|
20
|
-
"mocha": "^
|
|
21
|
+
"mocha": "^11.2.2",
|
|
21
22
|
"mocha-jenkins-reporter": "0.4.8"
|
|
22
23
|
},
|
|
23
24
|
"scripts": {
|
|
@@ -26,5 +27,6 @@
|
|
|
26
27
|
},
|
|
27
28
|
"engines": {
|
|
28
29
|
"node": ">=16.0.0"
|
|
29
|
-
}
|
|
30
|
+
},
|
|
31
|
+
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
|
|
30
32
|
}
|
package/.eslintrc.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
const config = {
|
|
2
|
-
root: true,
|
|
3
|
-
'env': {
|
|
4
|
-
'commonjs': true,
|
|
5
|
-
'es6': true,
|
|
6
|
-
'node': true
|
|
7
|
-
},
|
|
8
|
-
'extends': 'eslint:recommended',
|
|
9
|
-
"rules": {
|
|
10
|
-
"space-before-function-paren": 0,
|
|
11
|
-
"no-extra-semi": 0,
|
|
12
|
-
"object-curly-spacing": ["error", "always"],
|
|
13
|
-
"brace-style": ["error", "stroustrup", { "allowSingleLine": true }],
|
|
14
|
-
"no-useless-escape": 0,
|
|
15
|
-
"standard/no-callback-literal": 0,
|
|
16
|
-
"new-cap": 0
|
|
17
|
-
},
|
|
18
|
-
globals: {
|
|
19
|
-
describe: true,
|
|
20
|
-
it: true
|
|
21
|
-
},
|
|
22
|
-
'parserOptions': {
|
|
23
|
-
'ecmaVersion': 2022
|
|
24
|
-
},
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
module.exports = config
|