mailparser 3.7.5 → 3.8.1
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/.github/workflows/release.yaml +16 -17
- package/.github/workflows/stale.yml +24 -0
- package/.github/workflows/test.yml +3 -3
- package/.ncurc.js +3 -6
- package/.prettierignore +3 -0
- package/.prettierrc.js +2 -0
- package/.release-please-manifest.json +3 -0
- package/CHANGELOG.md +38 -0
- package/LICENSE +1 -1
- package/eslint.config.js +33 -0
- package/lib/mail-parser.js +2 -2
- package/package.json +11 -7
- package/release-please-config.json +9 -0
|
@@ -6,32 +6,31 @@ on:
|
|
|
6
6
|
permissions:
|
|
7
7
|
contents: write
|
|
8
8
|
pull-requests: write
|
|
9
|
+
issues: write
|
|
9
10
|
id-token: write
|
|
10
11
|
|
|
11
12
|
name: release
|
|
12
13
|
jobs:
|
|
13
14
|
release-please:
|
|
14
15
|
runs-on: ubuntu-latest
|
|
16
|
+
outputs:
|
|
17
|
+
release_created: ${{ steps.release.outputs.release_created }}
|
|
15
18
|
steps:
|
|
16
|
-
- uses:
|
|
19
|
+
- uses: googleapis/release-please-action@v4
|
|
17
20
|
id: release
|
|
21
|
+
|
|
22
|
+
publish:
|
|
23
|
+
needs: release-please
|
|
24
|
+
if: ${{ needs.release-please.outputs.release_created }}
|
|
25
|
+
runs-on: ubuntu-latest
|
|
26
|
+
permissions:
|
|
27
|
+
contents: read
|
|
28
|
+
id-token: write
|
|
29
|
+
steps:
|
|
30
|
+
- uses: actions/checkout@v4
|
|
31
|
+
- uses: actions/setup-node@v4
|
|
18
32
|
with:
|
|
19
|
-
|
|
20
|
-
package-name: ${{vars.NPM_MODULE_NAME}}
|
|
21
|
-
pull-request-title-pattern: 'chore${scope}: release ${version} [skip-ci]'
|
|
22
|
-
# The logic below handles the npm publication:
|
|
23
|
-
- uses: actions/checkout@v3
|
|
24
|
-
# these if statements ensure that a publication only occurs when
|
|
25
|
-
# a new release is created:
|
|
26
|
-
if: ${{ steps.release.outputs.release_created }}
|
|
27
|
-
- uses: actions/setup-node@v3
|
|
28
|
-
with:
|
|
29
|
-
node-version: 18
|
|
33
|
+
node-version: 24
|
|
30
34
|
registry-url: 'https://registry.npmjs.org'
|
|
31
|
-
if: ${{ steps.release.outputs.release_created }}
|
|
32
35
|
- run: npm ci
|
|
33
|
-
if: ${{ steps.release.outputs.release_created }}
|
|
34
36
|
- run: npm publish --provenance --access public
|
|
35
|
-
env:
|
|
36
|
-
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
|
|
37
|
-
if: ${{ steps.release.outputs.release_created }}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
name: 'Close stale issues and PRs'
|
|
2
|
+
on:
|
|
3
|
+
schedule:
|
|
4
|
+
- cron: '30 1 * * *'
|
|
5
|
+
|
|
6
|
+
jobs:
|
|
7
|
+
stale:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
steps:
|
|
10
|
+
- uses: actions/stale@v8
|
|
11
|
+
with:
|
|
12
|
+
stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.'
|
|
13
|
+
stale-pr-message: 'This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days.'
|
|
14
|
+
close-issue-message: 'This issue was closed because it has been stalled for 15 days with no activity.'
|
|
15
|
+
close-pr-message: 'This PR was closed because it has been stalled for 20 days with no activity.'
|
|
16
|
+
days-before-issue-stale: 30
|
|
17
|
+
days-before-pr-stale: 45
|
|
18
|
+
days-before-issue-close: 15
|
|
19
|
+
days-before-pr-close: 20
|
|
20
|
+
stale-issue-label: 'no-issue-activity'
|
|
21
|
+
exempt-issue-labels: 'pending,work-in-progress'
|
|
22
|
+
stale-pr-label: 'no-pr-activity'
|
|
23
|
+
exempt-pr-labels: 'awaiting-approval,work-in-progress'
|
|
24
|
+
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -8,13 +8,13 @@ jobs:
|
|
|
8
8
|
test:
|
|
9
9
|
strategy:
|
|
10
10
|
matrix:
|
|
11
|
-
node: [
|
|
11
|
+
node: [22.x, 24.x]
|
|
12
12
|
os: [ubuntu-latest]
|
|
13
13
|
runs-on: ${{ matrix.os }}
|
|
14
14
|
steps:
|
|
15
|
-
- uses: actions/checkout@
|
|
15
|
+
- uses: actions/checkout@v4
|
|
16
16
|
- name: Use Node.js ${{ matrix.node }}
|
|
17
|
-
uses: actions/setup-node@
|
|
17
|
+
uses: actions/setup-node@v4
|
|
18
18
|
with:
|
|
19
19
|
node-version: ${{ matrix.node }}
|
|
20
20
|
- run: npm install
|
package/.ncurc.js
CHANGED
package/.prettierignore
ADDED
package/.prettierrc.js
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,43 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [3.8.1](https://github.com/nodemailer/mailparser/compare/mailparser-v3.8.0...mailparser-v3.8.1) (2025-11-05)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* trigger new build ([7f2eb78](https://github.com/nodemailer/mailparser/commit/7f2eb78eda722e369b532b836e02b631d2cbb31c))
|
|
9
|
+
|
|
10
|
+
## [3.8.0](https://github.com/nodemailer/mailparser/compare/mailparser-v3.7.5...mailparser-v3.8.0) (2025-11-04)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* **events:** Emit a new headerLines event to gain access the raw headers ([#364](https://github.com/nodemailer/mailparser/issues/364)) ([d33d7ec](https://github.com/nodemailer/mailparser/commit/d33d7ec4b8e32a4eb7a9a664cec5fdb545c274af))
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* :arrow_up: update nodemailer dependency to resolve security issue GHSA-9h6g-pr28-7cqp ([#357](https://github.com/nodemailer/mailparser/issues/357)) ([8bc4225](https://github.com/nodemailer/mailparser/commit/8bc42251fca6f538ece599f0a5bebe09b0aeff4f))
|
|
21
|
+
* 150 ([919f69a](https://github.com/nodemailer/mailparser/commit/919f69a49eb1326431c27c7034050498ca504822))
|
|
22
|
+
* 272: Throw TypeError for invalid input. ([abd7e43](https://github.com/nodemailer/mailparser/commit/abd7e43d90e533921c13ed8044a892761ef0535d))
|
|
23
|
+
* 34, bump version ([09aa0bd](https://github.com/nodemailer/mailparser/commit/09aa0bd59c1a70229567ff830adfd44c01605c2f))
|
|
24
|
+
* bumped deps ([9a13f4e](https://github.com/nodemailer/mailparser/commit/9a13f4efca4b209a40f4d57d2edbd019706a82c7))
|
|
25
|
+
* Bumped deps ([bb9c014](https://github.com/nodemailer/mailparser/commit/bb9c014c061def565183205a3ba3d269680f8271))
|
|
26
|
+
* Bumped deps ([9e084f9](https://github.com/nodemailer/mailparser/commit/9e084f9f265ddcfbf8ad3a3e68fc0645d4eb9d1d))
|
|
27
|
+
* Bumped mailsplit to fix flowed parser ([da753e4](https://github.com/nodemailer/mailparser/commit/da753e45ab6d335429bbdb38c5457d04d893d05e))
|
|
28
|
+
* capture decoder end event to use on cleanup ([4e367f7](https://github.com/nodemailer/mailparser/commit/4e367f7fda2505b9edb8e195eb5b1a8e1d1531fc))
|
|
29
|
+
* **deploy:** added auto-deployment ([d6eb56f](https://github.com/nodemailer/mailparser/commit/d6eb56fe09fe8b415e5bbf2e53704f6788ca0fee))
|
|
30
|
+
* **deps:** Bumped deps ([db842ad](https://github.com/nodemailer/mailparser/commit/db842addd36e2fe94d0c4b466da80719a36f47ac))
|
|
31
|
+
* **deps:** Bumped deps to fix issue with missing whitespace ([92884d0](https://github.com/nodemailer/mailparser/commit/92884d0619efa77042ecc35fbc887e93a59e5a93))
|
|
32
|
+
* **deps:** Bumped Nodemailer to fix issue with long data URI's ([d24f96e](https://github.com/nodemailer/mailparser/commit/d24f96e1ff6becccf3ba7f10798481287e0c96b0))
|
|
33
|
+
* **deps:** Replaced 'punycode' with 'punycode.js' module ([4a15157](https://github.com/nodemailer/mailparser/commit/4a15157dc9a815aa0e756d9e6ae0e8631842c447))
|
|
34
|
+
* error on ks_c_5601-1987 ([89572e0](https://github.com/nodemailer/mailparser/commit/89572e000d815704378261c753f59442397b8564))
|
|
35
|
+
* Fix produced text address list string according to rfc 2822 ([#340](https://github.com/nodemailer/mailparser/issues/340)) ([6bae600](https://github.com/nodemailer/mailparser/commit/6bae600a3f4a0452ee7ca43634a11939de7bcc6d))
|
|
36
|
+
* handle simpleParser input stream error ([faf9fc5](https://github.com/nodemailer/mailparser/commit/faf9fc5d8a27c1f88b7a126782d84ce2fef4d4bd))
|
|
37
|
+
* **punycode:** Fixes [#355](https://github.com/nodemailer/mailparser/issues/355) Deprecation warning of the punycode module ([#356](https://github.com/nodemailer/mailparser/issues/356)) ([0f35330](https://github.com/nodemailer/mailparser/commit/0f35330c87d715d38e8c853ae6c2f64d098b971d))
|
|
38
|
+
* **simple-parser:** Buffer.from(string) default encode is utf-8,when input string‘s encode is gbk,result has some garbled ([633e436](https://github.com/nodemailer/mailparser/commit/633e4369c93dc5122c8c8bee0fd2b057761e1223))
|
|
39
|
+
* **test:** updated test matrix (18, 20, 21) ([a2ba9c2](https://github.com/nodemailer/mailparser/commit/a2ba9c236dcd7f990c9d53a386ffaa5b564181b3))
|
|
40
|
+
|
|
3
41
|
## [3.7.5](https://github.com/nodemailer/mailparser/compare/v3.7.4...v3.7.5) (2025-10-09)
|
|
4
42
|
|
|
5
43
|
|
package/LICENSE
CHANGED
package/eslint.config.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const { FlatCompat } = require('@eslint/eslintrc');
|
|
4
|
+
const js = require('@eslint/js');
|
|
5
|
+
|
|
6
|
+
const compat = new FlatCompat({
|
|
7
|
+
baseDirectory: __dirname,
|
|
8
|
+
recommendedConfig: js.configs.recommended
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
module.exports = [
|
|
12
|
+
{
|
|
13
|
+
ignores: ['node_modules/**', 'CHANGELOG.md']
|
|
14
|
+
},
|
|
15
|
+
...compat.extends('nodemailer', 'prettier'),
|
|
16
|
+
{
|
|
17
|
+
languageOptions: {
|
|
18
|
+
ecmaVersion: 2017,
|
|
19
|
+
sourceType: 'script'
|
|
20
|
+
},
|
|
21
|
+
rules: {
|
|
22
|
+
'no-useless-concat': 0,
|
|
23
|
+
'no-unused-vars': ['error', { caughtErrors: 'none' }],
|
|
24
|
+
indent: 'off',
|
|
25
|
+
quotes: 'off',
|
|
26
|
+
'linebreak-style': 'off',
|
|
27
|
+
semi: 'off',
|
|
28
|
+
'comma-dangle': 'off',
|
|
29
|
+
'comma-style': 'off',
|
|
30
|
+
'arrow-parens': 'off'
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
];
|
package/lib/mail-parser.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const mailsplit = require('mailsplit');
|
|
3
|
+
const mailsplit = require('@zone-eu/mailsplit');
|
|
4
4
|
const libmime = require('libmime');
|
|
5
5
|
const addressparser = require('nodemailer/lib/addressparser');
|
|
6
6
|
const Transform = require('stream').Transform;
|
|
7
7
|
const Splitter = mailsplit.Splitter;
|
|
8
8
|
const ChunkedPassthrough = mailsplit.ChunkedPassthrough;
|
|
9
9
|
const punycode = require('punycode.js');
|
|
10
|
-
const FlowedDecoder = require('mailsplit/lib/flowed-decoder');
|
|
10
|
+
const FlowedDecoder = require('@zone-eu/mailsplit/lib/flowed-decoder');
|
|
11
11
|
const StreamHash = require('./stream-hash');
|
|
12
12
|
const iconv = require('iconv-lite');
|
|
13
13
|
const { htmlToText } = require('html-to-text');
|
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mailparser",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.8.1",
|
|
4
4
|
"description": "Parse e-mails",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"test": "grunt",
|
|
8
|
+
"format": "prettier --write .",
|
|
8
9
|
"update": "rm -rf node_modules package-lock.json && ncu -u && npm install"
|
|
9
10
|
},
|
|
10
11
|
"author": "Andris Reinman",
|
|
@@ -23,21 +24,24 @@
|
|
|
23
24
|
"iconv-lite": "0.7.0",
|
|
24
25
|
"libmime": "5.3.7",
|
|
25
26
|
"linkify-it": "5.0.0",
|
|
26
|
-
"mailsplit": "5.4.
|
|
27
|
-
"nodemailer": "7.0.
|
|
27
|
+
"@zone-eu/mailsplit": "5.4.7",
|
|
28
|
+
"nodemailer": "7.0.10",
|
|
28
29
|
"punycode.js": "2.3.1",
|
|
29
|
-
"tlds": "1.
|
|
30
|
+
"tlds": "1.261.0"
|
|
30
31
|
},
|
|
31
32
|
"devDependencies": {
|
|
33
|
+
"@eslint/eslintrc": "^3.3.1",
|
|
34
|
+
"@eslint/js": "^9.39.1",
|
|
32
35
|
"ajv": "8.17.1",
|
|
33
|
-
"eslint": "
|
|
36
|
+
"eslint": "^9.39.1",
|
|
34
37
|
"eslint-config-nodemailer": "1.2.0",
|
|
35
|
-
"eslint-config-prettier": "
|
|
38
|
+
"eslint-config-prettier": "10.1.8",
|
|
36
39
|
"grunt": "1.6.1",
|
|
37
40
|
"grunt-cli": "1.5.0",
|
|
38
41
|
"grunt-contrib-nodeunit": "5.0.0",
|
|
39
|
-
"grunt-eslint": "
|
|
42
|
+
"grunt-eslint": "26.0.0",
|
|
40
43
|
"iconv": "3.0.1",
|
|
44
|
+
"prettier": "^3.6.2",
|
|
41
45
|
"random-message": "1.1.0"
|
|
42
46
|
},
|
|
43
47
|
"repository": {
|