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 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)
@@ -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 Error({ message: 'ACSES.prepareEmailAddress - address_required' })
49
- if (!_.isString(address)) throw new Error({ message: 'ACSES.prepareEmailAddress - address_mustBeAString' })
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 Error('pleaseUseInitBeforeSendingEmail')
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 Error(field.field + '_required')
91
- if (_.get(params, field.field) && !field.type(_.get(params, field.field))) throw new Error(field.field + '_typeInvalid')
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
- console.log('ACSES | DEBUG Headers | %j', raw.split('/n'))
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.1",
7
+ "version": "2.0.3",
8
8
  "dependencies": {
9
- "@aws-sdk/client-sesv2": "^3.485.0",
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": "^9.x"
14
+ "uuid": "^11.x"
14
15
  },
15
16
  "devDependencies": {
16
- "ac-semantic-release": "^0.4.2",
17
- "chai": "^4.4.0",
18
- "eslint": "8.x",
17
+ "ac-semantic-release": "^0.4.6",
18
+ "chai": "^4.5.0",
19
+ "eslint": "9.x",
19
20
  "expect": "^29.7.0",
20
- "mocha": "^10.2.0",
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