libmime 5.2.0 → 5.3.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/.github/workflows/release.yaml +37 -0
- package/.github/workflows/test.yml +3 -3
- package/.ncurc.js +7 -0
- package/CHANGELOG.md +40 -0
- package/lib/charset.js +1 -0
- package/lib/libmime.js +7 -0
- package/package.json +13 -12
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
on:
|
|
2
|
+
push:
|
|
3
|
+
branches:
|
|
4
|
+
- master
|
|
5
|
+
|
|
6
|
+
permissions:
|
|
7
|
+
contents: write
|
|
8
|
+
pull-requests: write
|
|
9
|
+
id-token: write
|
|
10
|
+
|
|
11
|
+
name: release
|
|
12
|
+
jobs:
|
|
13
|
+
release-please:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
steps:
|
|
16
|
+
- uses: google-github-actions/release-please-action@v3
|
|
17
|
+
id: release
|
|
18
|
+
with:
|
|
19
|
+
release-type: node
|
|
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@v4
|
|
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@v4
|
|
28
|
+
with:
|
|
29
|
+
node-version: 20
|
|
30
|
+
registry-url: 'https://registry.npmjs.org'
|
|
31
|
+
if: ${{ steps.release.outputs.release_created }}
|
|
32
|
+
- run: npm ci
|
|
33
|
+
if: ${{ steps.release.outputs.release_created }}
|
|
34
|
+
- run: npm publish --provenance --access public
|
|
35
|
+
env:
|
|
36
|
+
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
|
|
37
|
+
if: ${{ steps.release.outputs.release_created }}
|
|
@@ -8,13 +8,13 @@ jobs:
|
|
|
8
8
|
test:
|
|
9
9
|
strategy:
|
|
10
10
|
matrix:
|
|
11
|
-
node: [
|
|
12
|
-
os: [ubuntu-latest
|
|
11
|
+
node: [16.x, 18.x, 20.x, 21.x]
|
|
12
|
+
os: [ubuntu-latest]
|
|
13
13
|
runs-on: ${{ matrix.os }}
|
|
14
14
|
steps:
|
|
15
15
|
- uses: actions/checkout@v2
|
|
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
ADDED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,45 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [5.3.4](https://github.com/nodemailer/libmime/compare/v5.3.3...v5.3.4) (2024-02-23)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **deploy:** fixed git repo url ([0f3e5f4](https://github.com/nodemailer/libmime/commit/0f3e5f4b3f5fabe91967cd9842ebe00622181796))
|
|
9
|
+
* **deploy:** fixed git repo url ([4d584ad](https://github.com/nodemailer/libmime/commit/4d584ad7dd51cf0ad60f756a5d7c9470cca30319))
|
|
10
|
+
|
|
11
|
+
## [5.3.3](https://github.com/nodemailer/libmime/compare/v5.3.2...v5.3.3) (2024-02-23)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* **deploy:** fixed git repo url ([f8f788f](https://github.com/nodemailer/libmime/commit/f8f788fd5d3f1148fb2e880e37c76cec6741a852))
|
|
17
|
+
|
|
18
|
+
## [5.3.2](https://github.com/nodemailer/libmime/compare/v5.3.1...v5.3.2) (2024-02-23)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Bug Fixes
|
|
22
|
+
|
|
23
|
+
* **deploy:** fixed git repo url ([2161a43](https://github.com/nodemailer/libmime/commit/2161a43a87083ff99125b5335d3a2e1dee4c5663))
|
|
24
|
+
|
|
25
|
+
## [5.3.1](https://github.com/nodemailer/libmime/compare/v5.3.0...v5.3.1) (2024-02-23)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Bug Fixes
|
|
29
|
+
|
|
30
|
+
* **deploy:** include package-lock.json ([8363bf4](https://github.com/nodemailer/libmime/commit/8363bf42c889e95fccf1c3f017db759434481bc1))
|
|
31
|
+
|
|
32
|
+
## [5.3.0](https://github.com/nodemailer/libmime/compare/v5.2.1...v5.3.0) (2024-02-23)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
### Features
|
|
36
|
+
|
|
37
|
+
* **deploy:** added autopublish ([3e8109f](https://github.com/nodemailer/libmime/commit/3e8109f19bc7b9fb313467f61177ab08459ecf21))
|
|
38
|
+
|
|
39
|
+
## v5.2.1 2023-01-27
|
|
40
|
+
|
|
41
|
+
- Fix base64 encoding for emoji bytes in encoded words
|
|
42
|
+
|
|
3
43
|
## v5.2.0 2022-12-08
|
|
4
44
|
|
|
5
45
|
- Bumped libqp to get rid of `new Buffer` warnings
|
package/lib/charset.js
CHANGED
package/lib/libmime.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* eslint no-control-regex: 0, no-div-regex: 0, quotes: 0 */
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
+
const { Buffer } = require('node:buffer');
|
|
4
5
|
const libcharset = require('./charset');
|
|
5
6
|
const libbase64 = require('libbase64');
|
|
6
7
|
const libqp = require('libqp');
|
|
@@ -148,6 +149,12 @@ class Libmime {
|
|
|
148
149
|
let chr = encodedStr.charAt(i);
|
|
149
150
|
// check if we can add this character to the existing string
|
|
150
151
|
// without breaking byte length limit
|
|
152
|
+
|
|
153
|
+
if (/[\ud83c\ud83d\ud83e]/.test(chr) && i < len - 1) {
|
|
154
|
+
// composite emoji byte, so add the next byte as well
|
|
155
|
+
chr += encodedStr.charAt(++i);
|
|
156
|
+
}
|
|
157
|
+
|
|
151
158
|
if (Buffer.byteLength(lpart + chr) <= maxLength || i === 0) {
|
|
152
159
|
lpart += chr;
|
|
153
160
|
} else {
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "libmime",
|
|
3
3
|
"description": "Encode and decode quoted printable and base64 strings",
|
|
4
|
-
"version": "5.
|
|
5
|
-
"main": "lib/libmime",
|
|
6
|
-
"homepage": "https://github.com/
|
|
4
|
+
"version": "5.3.4",
|
|
5
|
+
"main": "lib/libmime.js",
|
|
6
|
+
"homepage": "https://github.com/nodemailer/libmime",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
|
-
"url": "git://github.com/
|
|
9
|
+
"url": "git+https://github.com/nodemailer/libmime.git"
|
|
10
10
|
},
|
|
11
11
|
"license": "MIT",
|
|
12
12
|
"keywords": [
|
|
@@ -16,22 +16,23 @@
|
|
|
16
16
|
],
|
|
17
17
|
"author": "Andris Reinman <andris@kreata.ee>",
|
|
18
18
|
"scripts": {
|
|
19
|
-
"test": "grunt"
|
|
19
|
+
"test": "grunt",
|
|
20
|
+
"update": "rm -rf node_modules package-lock.json && ncu -u && npm install"
|
|
20
21
|
},
|
|
21
22
|
"dependencies": {
|
|
22
23
|
"encoding-japanese": "2.0.0",
|
|
23
24
|
"iconv-lite": "0.6.3",
|
|
24
|
-
"libbase64": "1.
|
|
25
|
-
"libqp": "2.0
|
|
25
|
+
"libbase64": "1.3.0",
|
|
26
|
+
"libqp": "2.1.0"
|
|
26
27
|
},
|
|
27
28
|
"devDependencies": {
|
|
28
|
-
"chai": "4.
|
|
29
|
+
"chai": "4.4.1",
|
|
29
30
|
"eslint-config-nodemailer": "1.2.0",
|
|
30
|
-
"eslint-config-prettier": "
|
|
31
|
-
"grunt": "1.
|
|
31
|
+
"eslint-config-prettier": "9.1.0",
|
|
32
|
+
"grunt": "1.6.1",
|
|
32
33
|
"grunt-cli": "1.4.3",
|
|
33
|
-
"grunt-eslint": "24.0
|
|
34
|
+
"grunt-eslint": "24.3.0",
|
|
34
35
|
"grunt-mocha-test": "0.13.3",
|
|
35
|
-
"mocha": "10.
|
|
36
|
+
"mocha": "10.3.0"
|
|
36
37
|
}
|
|
37
38
|
}
|