From c2c95bc37a1b137151cfa5467ad9bee9f9d03952 Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Mon, 18 Aug 2025 19:00:05 -0500 Subject: [PATCH 1/7] chore: support Node.js >=4 Signed-off-by: Sebastian Beltran --- .github/workflows/ci.yml | 14 -------- .github/workflows/iojs.yml | 70 -------------------------------------- package.json | 5 ++- 3 files changed, 2 insertions(+), 87 deletions(-) delete mode 100644 .github/workflows/iojs.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4a9749ae..8475d470 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -66,8 +66,6 @@ jobs: matrix: os: [ubuntu-latest] node-version: - - "0.10" - - "0.12" - "4" - "5" - "6" @@ -92,18 +90,6 @@ jobs: # Use supported versions of our testing tools under older versions of Node # Install npm in some specific cases where we need to include: - - node-version: "0.10" - npm-i: "mocha@3.5.3 nyc@10.3.2 supertest@2.0.0" - # Npm isn't being installed on windows w/ setup-node for - # 0.10 and 0.12, which will end up choking when npm uses es6 - npm-version: "npm@2.15.1" - npm-rm: 'iconv' - - - node-version: "0.12" - npm-i: "mocha@3.5.3 nyc@10.3.2" - npm-version: "npm@2.15.11" - npm-rm: 'iconv' - - node-version: "4" npm-i: "mocha@5.2.0 nyc@11.9.0" npm-rm: 'iconv' diff --git a/.github/workflows/iojs.yml b/.github/workflows/iojs.yml deleted file mode 100644 index 1c824288..00000000 --- a/.github/workflows/iojs.yml +++ /dev/null @@ -1,70 +0,0 @@ -name: iojs-ci - -on: - push: - branches: - - master - pull_request: - branches: - - master - -concurrency: - group: "${{ github.workflow }} iojs ✨ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}" - cancel-in-progress: true - -jobs: - test: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - node-version: ["1.8", "2.5", "3.3"] - include: - - node-version: "1.8" - npm-i: "mocha@3.5.3 nyc@10.3.2" - npm-rm: 'iconv' - - node-version: "2.5" - npm-i: "mocha@3.5.3 nyc@10.3.2" - npm-rm: 'iconv' - - node-version: "3.3" - npm-i: "mocha@3.5.3 nyc@10.3.2" - npm-rm: 'iconv' - - steps: - - uses: actions/checkout@v4 - - - name: Install iojs ${{ matrix.node-version }} - shell: bash -eo pipefail -l {0} - run: | - nvm install --default ${{ matrix.node-version }} - dirname "$(nvm which ${{ matrix.node-version }})" >> "$GITHUB_PATH" - - - name: Configure npm - run: | - npm config set loglevel error - npm config set shrinkwrap false - - - name: Remove npm module(s) ${{ matrix.npm-rm }} - run: npm rm --silent --save-dev ${{ matrix.npm-rm }} neostandard @stylistic/eslint-plugin-js @stylistic/eslint-plugin eslint - if: matrix.npm-rm != '' - - - name: Install npm module(s) ${{ matrix.npm-i }} - run: npm install --save-dev ${{ matrix.npm-i }} - if: matrix.npm-i != '' - - - name: Install Node.js dependencies - run: npm install - - - name: List environment - id: list_env - shell: bash - run: | - echo "node@$(node -v)" - echo "npm@$(npm -v)" - npm -s ls ||: - (npm -s ls --depth=0 ||:) | awk -F'[ @]' 'NR>1 && $2 { print $2 "=" $3 }' >> "$GITHUB_OUTPUT" - - - name: Run tests - shell: bash - run: npm run test - diff --git a/package.json b/package.json index f4ceee25..88152431 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "url": "git://github.com/ashtuchkin/iconv-lite.git" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" }, "scripts": { "lint": "eslint", @@ -50,7 +50,6 @@ "unorm": "^1.6.0" }, "dependencies": { - "object-assign": ">= 4.1.1 < 5.0.0", - "safer-buffer": ">= 2.1.2 < 3.0.0" + "safer-buffer": "^2.1.2" } } From f973b510535e83a1a74ac1a7325e2d03d74f4484 Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Mon, 18 Aug 2025 19:17:57 -0500 Subject: [PATCH 2/7] chore: support node.js >=6, remove safe-buffer Signed-off-by: Sebastian Beltran --- encodings/dbcs-codec.js | 2 +- encodings/internal.js | 2 +- encodings/sbcs-codec.js | 2 +- encodings/utf16.js | 2 +- encodings/utf32.js | 2 +- encodings/utf7.js | 2 +- generation/gen-sbcs.js | 2 +- generation/research/get-iconv-encodings.js | 2 +- lib/index.js | 2 +- lib/streams.js | 2 +- package.json | 5 +---- test/big5-test.js | 2 +- test/bom-test.js | 2 +- test/cesu8-test.js | 2 +- test/cyrillic-test.js | 2 +- test/dbcs-test.js | 2 +- test/gbk-test.js | 2 +- test/greek-test.js | 2 +- test/main-test.js | 2 +- test/sbcs-test.js | 2 +- test/shiftjis-test.js | 2 +- test/streams-test.js | 2 +- test/turkish-test.js | 2 +- test/utf16-test.js | 2 +- test/utf32-test.js | 2 +- test/utf7-test.js | 2 +- 26 files changed, 26 insertions(+), 29 deletions(-) diff --git a/encodings/dbcs-codec.js b/encodings/dbcs-codec.js index bfec7f2e..d7752f13 100644 --- a/encodings/dbcs-codec.js +++ b/encodings/dbcs-codec.js @@ -1,5 +1,5 @@ "use strict" -var Buffer = require("safer-buffer").Buffer +var Buffer = require("buffer").Buffer // Multibyte codec. In this scheme, a character is represented by 1 or more bytes. // Our codec supports UTF-16 surrogates, extensions for GB18030 and unicode sequences. diff --git a/encodings/internal.js b/encodings/internal.js index 4e5c3ff2..87ab0646 100644 --- a/encodings/internal.js +++ b/encodings/internal.js @@ -1,5 +1,5 @@ "use strict" -var Buffer = require("safer-buffer").Buffer +var Buffer = require("buffer").Buffer // Export Node.js internal encodings. diff --git a/encodings/sbcs-codec.js b/encodings/sbcs-codec.js index 0e2fc924..e59faf2e 100644 --- a/encodings/sbcs-codec.js +++ b/encodings/sbcs-codec.js @@ -1,5 +1,5 @@ "use strict" -var Buffer = require("safer-buffer").Buffer +var Buffer = require("buffer").Buffer // Single-byte codec. Needs a 'chars' string parameter that contains 256 or 128 chars that // correspond to encoded bytes (if 128 - then lower half is ASCII). diff --git a/encodings/utf16.js b/encodings/utf16.js index ae60d98e..5373a9d1 100644 --- a/encodings/utf16.js +++ b/encodings/utf16.js @@ -1,5 +1,5 @@ "use strict" -var Buffer = require("safer-buffer").Buffer +var Buffer = require("buffer").Buffer // Note: UTF16-LE (or UCS2) codec is Node.js native. See encodings/internal.js diff --git a/encodings/utf32.js b/encodings/utf32.js index 72317893..0a24bb9c 100644 --- a/encodings/utf32.js +++ b/encodings/utf32.js @@ -1,6 +1,6 @@ "use strict" -var Buffer = require("safer-buffer").Buffer +var Buffer = require("buffer").Buffer // == UTF32-LE/BE codec. ========================================================== diff --git a/encodings/utf7.js b/encodings/utf7.js index fe72a9d9..4aa1e018 100644 --- a/encodings/utf7.js +++ b/encodings/utf7.js @@ -1,5 +1,5 @@ "use strict" -var Buffer = require("safer-buffer").Buffer +var Buffer = require("buffer").Buffer // UTF-7 codec, according to https://tools.ietf.org/html/rfc2152 // See also below a UTF-7-IMAP codec, according to http://tools.ietf.org/html/rfc3501#section-5.1.3 diff --git a/generation/gen-sbcs.js b/generation/gen-sbcs.js index f82bd0f4..95a183c6 100644 --- a/generation/gen-sbcs.js +++ b/generation/gen-sbcs.js @@ -1,7 +1,7 @@ var fs = require("fs"); var path = require("path"); var Iconv = require("iconv").Iconv; -var Buffer = require("safer-buffer").Buffer; +var Buffer = require("buffer").Buffer; // Generate encoding families using original iconv. var destFileName = "encodings/sbcs-data-generated.js"; diff --git a/generation/research/get-iconv-encodings.js b/generation/research/get-iconv-encodings.js index da66df73..964c28e6 100644 --- a/generation/research/get-iconv-encodings.js +++ b/generation/research/get-iconv-encodings.js @@ -5,7 +5,7 @@ var iconv = require('iconv'), crypto = require('crypto'); -var Buffer = require("safer-buffer").Buffer; +var Buffer = require("buffer").Buffer; var skipEncodings = {}; diff --git a/lib/index.js b/lib/index.js index e3c5c4c4..2c513e1e 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,6 +1,6 @@ "use strict" -var Buffer = require("safer-buffer").Buffer +var Buffer = require("buffer").Buffer var objectAssign = require("object-assign") var bomHandling = require("./bom-handling") diff --git a/lib/streams.js b/lib/streams.js index ebfed8e0..7d21b7e3 100644 --- a/lib/streams.js +++ b/lib/streams.js @@ -1,6 +1,6 @@ "use strict" -var Buffer = require("safer-buffer").Buffer +var Buffer = require("buffer").Buffer // NOTE: Due to 'stream' module being pretty large (~100Kb, significant in browser environments), // we opt to dependency-inject it instead of creating a hard dependency. diff --git a/package.json b/package.json index 88152431..06830104 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "url": "git://github.com/ashtuchkin/iconv-lite.git" }, "engines": { - "node": ">=4" + "node": ">=6" }, "scripts": { "lint": "eslint", @@ -48,8 +48,5 @@ "request": "^2.88.2", "semver": "^6.3.0", "unorm": "^1.6.0" - }, - "dependencies": { - "safer-buffer": "^2.1.2" } } diff --git a/test/big5-test.js b/test/big5-test.js index 050a24aa..268eec5f 100644 --- a/test/big5-test.js +++ b/test/big5-test.js @@ -1,5 +1,5 @@ var assert = require("assert") -var Buffer = require("safer-buffer").Buffer +var Buffer = require("buffer").Buffer var join = require("path").join var iconv = require(join(__dirname, "/../")) diff --git a/test/bom-test.js b/test/bom-test.js index 9a08b3b7..0eeb1391 100644 --- a/test/bom-test.js +++ b/test/bom-test.js @@ -1,5 +1,5 @@ var assert = require("assert") -var Buffer = require("safer-buffer").Buffer +var Buffer = require("buffer").Buffer var join = require("path").join var iconv = require(join(__dirname, "/../")) diff --git a/test/cesu8-test.js b/test/cesu8-test.js index 58d8e8c8..20cabdf2 100644 --- a/test/cesu8-test.js +++ b/test/cesu8-test.js @@ -1,5 +1,5 @@ var assert = require("assert") -var Buffer = require("safer-buffer").Buffer +var Buffer = require("buffer").Buffer var join = require("path").join var iconv = require(join(__dirname, "/../")) diff --git a/test/cyrillic-test.js b/test/cyrillic-test.js index ad7129d9..8a9f2169 100644 --- a/test/cyrillic-test.js +++ b/test/cyrillic-test.js @@ -1,5 +1,5 @@ var assert = require("assert") -var Buffer = require("safer-buffer").Buffer +var Buffer = require("buffer").Buffer var join = require("path").join var iconv = require(join(__dirname, "/../")) diff --git a/test/dbcs-test.js b/test/dbcs-test.js index a969b76a..5d1be449 100644 --- a/test/dbcs-test.js +++ b/test/dbcs-test.js @@ -1,5 +1,5 @@ var assert = require("assert") -var Buffer = require("safer-buffer").Buffer +var Buffer = require("buffer").Buffer var join = require("path").join var iconv = require(join(__dirname, "/../")) diff --git a/test/gbk-test.js b/test/gbk-test.js index 8fa2bcfe..928c46aa 100644 --- a/test/gbk-test.js +++ b/test/gbk-test.js @@ -1,6 +1,6 @@ var fs = require("fs") var assert = require("assert") -var Buffer = require("safer-buffer").Buffer +var Buffer = require("buffer").Buffer var join = require("path").join var iconv = require(join(__dirname, "/../")) diff --git a/test/greek-test.js b/test/greek-test.js index 8ebfa158..2f880ddc 100644 --- a/test/greek-test.js +++ b/test/greek-test.js @@ -1,5 +1,5 @@ var assert = require("assert") -var Buffer = require("safer-buffer").Buffer +var Buffer = require("buffer").Buffer var join = require("path").join var iconv = require(join(__dirname, "/../")) diff --git a/test/main-test.js b/test/main-test.js index 1094cc9e..06147465 100644 --- a/test/main-test.js +++ b/test/main-test.js @@ -1,5 +1,5 @@ var assert = require("assert") -var Buffer = require("safer-buffer").Buffer +var Buffer = require("buffer").Buffer var join = require("path").join var iconv = require(join(__dirname, "/../")) diff --git a/test/sbcs-test.js b/test/sbcs-test.js index 190cd6ec..4ef39371 100644 --- a/test/sbcs-test.js +++ b/test/sbcs-test.js @@ -1,6 +1,6 @@ var assert = require("assert") var unorm = require("unorm") -var Buffer = require("safer-buffer").Buffer +var Buffer = require("buffer").Buffer var join = require("path").join var iconv = require(join(__dirname, "/../")) diff --git a/test/shiftjis-test.js b/test/shiftjis-test.js index 2cf926ba..6a18de69 100644 --- a/test/shiftjis-test.js +++ b/test/shiftjis-test.js @@ -1,5 +1,5 @@ var assert = require("assert") -var Buffer = require("safer-buffer").Buffer +var Buffer = require("buffer").Buffer var join = require("path").join var iconv = require(join(__dirname, "/../")) diff --git a/test/streams-test.js b/test/streams-test.js index 1c5276c0..2bef280f 100644 --- a/test/streams-test.js +++ b/test/streams-test.js @@ -1,7 +1,7 @@ var mocha = require("mocha") var describeMocha = mocha.describe var assert = require("assert") -var Buffer = require("safer-buffer").Buffer +var Buffer = require("buffer").Buffer var semver = require("semver") var join = require("path").join var iconv = require(join(__dirname, "/../")) diff --git a/test/turkish-test.js b/test/turkish-test.js index 6e170f20..4bb32a75 100644 --- a/test/turkish-test.js +++ b/test/turkish-test.js @@ -1,5 +1,5 @@ var assert = require("assert") -var Buffer = require("safer-buffer").Buffer +var Buffer = require("buffer").Buffer var join = require("path").join var iconv = require(join(__dirname, "/../")) diff --git a/test/utf16-test.js b/test/utf16-test.js index 0f98c76d..a930db8f 100644 --- a/test/utf16-test.js +++ b/test/utf16-test.js @@ -1,5 +1,5 @@ var assert = require("assert") -var Buffer = require("safer-buffer").Buffer +var Buffer = require("buffer").Buffer var join = require("path").join var iconv = require(join(__dirname, "/../")) diff --git a/test/utf32-test.js b/test/utf32-test.js index f43156c5..fcea0653 100644 --- a/test/utf32-test.js +++ b/test/utf32-test.js @@ -1,5 +1,5 @@ var assert = require("assert") -var Buffer = require("safer-buffer").Buffer +var Buffer = require("buffer").Buffer var join = require("path").join var iconv = require(join(__dirname, "/../")) diff --git a/test/utf7-test.js b/test/utf7-test.js index 41bf93d0..62b677bf 100644 --- a/test/utf7-test.js +++ b/test/utf7-test.js @@ -1,5 +1,5 @@ var assert = require("assert") -var Buffer = require("safer-buffer").Buffer +var Buffer = require("buffer").Buffer var join = require("path").join var iconv = require(join(__dirname, "/../")) From fd063a6a4fa0751e2ba04164dfc779af51c2ff8e Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Mon, 18 Aug 2025 19:21:55 -0500 Subject: [PATCH 3/7] lint: add back the object-shorthand rule Signed-off-by: Sebastian Beltran --- eslint.config.js | 1 - lib/streams.js | 4 ++-- test/bom-test.js | 4 ++-- test/dbcs-test.js | 4 ++-- test/sbcs-test.js | 4 ++-- test/streams-test.js | 2 +- test/turkish-test.js | 4 ++-- 7 files changed, 11 insertions(+), 12 deletions(-) diff --git a/eslint.config.js b/eslint.config.js index 34c0efd5..b789593f 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -12,7 +12,6 @@ module.exports = [ }), { rules: { - "object-shorthand": ["off"], // Compatibility with older code "@stylistic/quotes": [2, "double"], // Prevent many change of code "new-cap": ["off"], // We need improve this "no-labels": ["off"], // Can remove the labels? diff --git a/lib/streams.js b/lib/streams.js index 7d21b7e3..9e37a633 100644 --- a/lib/streams.js +++ b/lib/streams.js @@ -99,7 +99,7 @@ module.exports = function (streamModule) { } return { - IconvLiteEncoderStream: IconvLiteEncoderStream, - IconvLiteDecoderStream: IconvLiteDecoderStream + IconvLiteEncoderStream, + IconvLiteDecoderStream } } diff --git a/test/bom-test.js b/test/bom-test.js index 0eeb1391..58cb976c 100644 --- a/test/bom-test.js +++ b/test/bom-test.js @@ -71,13 +71,13 @@ describe("BOM Handling", function () { var stripBOM = function () { bomStripped = true } var body = Buffer.concat([utf8BOM, Buffer.from(sampleStr)]) - assert.equal(iconv.decode(body, "utf8", { stripBOM: stripBOM }), sampleStr) + assert.equal(iconv.decode(body, "utf8", { stripBOM }), sampleStr) assert(bomStripped) bomStripped = false body = Buffer.from(sampleStr) - assert.equal(iconv.decode(body, "utf8", { stripBOM: stripBOM }), sampleStr) + assert.equal(iconv.decode(body, "utf8", { stripBOM }), sampleStr) assert(!bomStripped) }) }) diff --git a/test/dbcs-test.js b/test/dbcs-test.js index 5d1be449..7c8e9c37 100644 --- a/test/dbcs-test.js +++ b/test/dbcs-test.js @@ -560,7 +560,7 @@ describe("Full DBCS encoding tests", function () { { return } } - errors.push({ input: inp.toString("hex"), strExpected: strExpected, strActual: strActual }) + errors.push({ input: inp.toString("hex"), strExpected, strActual }) }) if (errors.length > 0) { @@ -606,7 +606,7 @@ describe("Full DBCS encoding tests", function () { if (iconvChgs[str] == str1) { continue } // Skip iconv changes. - errors.push({ input: strToHex(str), inputChar: str, strExpected: strExpected, strActual: strActual }) + errors.push({ input: strToHex(str), inputChar: str, strExpected, strActual }) } if (errors.length > 0) { diff --git a/test/sbcs-test.js b/test/sbcs-test.js index 4ef39371..96cf4c4c 100644 --- a/test/sbcs-test.js +++ b/test/sbcs-test.js @@ -75,7 +75,7 @@ describe("Full SBCS encoding tests", function () { var strActual = iconv.decode(buf, enc) var strExpected = convertWithDefault(conv, buf, iconv.defaultCharUnicode).toString() - if (strActual != strExpected) { errors.push({ input: buf.toString("hex"), strExpected: strExpected, strActual: strActual }) } + if (strActual != strExpected) { errors.push({ input: buf.toString("hex"), strExpected, strActual }) } } if (errors.length > 0) { assert.fail(null, null, "Decoding mismatch: | | | | \n" + @@ -133,7 +133,7 @@ describe("Full SBCS encoding tests", function () { if (iconvEquivChars[enc] && iconvEquivChars[enc][str] && strExpected == iconv.encode(iconvEquivChars[enc][str], enc).toString("hex")) { continue } - errors.push({ input: strToHex(str), inputChar: str, strExpected: strExpected, strActual: strActual }) + errors.push({ input: strToHex(str), inputChar: str, strExpected, strActual }) } if (errors.length > 0) { diff --git a/test/streams-test.js b/test/streams-test.js index 2bef280f..3938fa3a 100644 --- a/test/streams-test.js +++ b/test/streams-test.js @@ -327,7 +327,7 @@ describe("Encoding using internal modules with surrogates in separate chunks:", function checkUtf8EncodeStream (input) { return checkEncodeStream({ encoding: "utf8", - input: input, + input, output: Buffer.from(input.join(""), "utf8").toString("hex") }) } diff --git a/test/turkish-test.js b/test/turkish-test.js index 4bb32a75..9f4577fa 100644 --- a/test/turkish-test.js +++ b/test/turkish-test.js @@ -11,7 +11,7 @@ var encodings = [{ variations: ["windows-1254", "win-1254", "win1254", "cp1254", "cp-1254", 1254], strings: { empty: "", - ascii: ascii, + ascii, turkish: "€‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ", untranslatable: "\x81\x8d\x8e\x8f\x90\x9d\x9e" }, @@ -34,7 +34,7 @@ var encodings = [{ variations: ["iso-8859-9", "turkish", "turkish8", "cp28599", "cp-28599", 28599], strings: { empty: "", - ascii: ascii, + ascii, turkish: "\xa0¡¢£¤¥¦§¨©ª«¬\xad®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ", untranslatable: "" }, From 7775219ebf4ca945d1247af79b3bbc7726576d95 Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Mon, 18 Aug 2025 19:28:15 -0500 Subject: [PATCH 4/7] ci: remove support node < 6 Signed-off-by: Sebastian Beltran --- .github/workflows/ci.yml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8475d470..8ed8d55a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -66,8 +66,6 @@ jobs: matrix: os: [ubuntu-latest] node-version: - - "4" - - "5" - "6" - "7" - "8" @@ -90,16 +88,6 @@ jobs: # Use supported versions of our testing tools under older versions of Node # Install npm in some specific cases where we need to include: - - node-version: "4" - npm-i: "mocha@5.2.0 nyc@11.9.0" - npm-rm: 'iconv' - - - node-version: "5" - npm-i: "mocha@5.2.0 nyc@11.9.0" - # fixes https://github.com/npm/cli/issues/681 - npm-version: npm@2.15.11 - npm-rm: 'iconv' - - node-version: "6" npm-i: "mocha@6.2.2 nyc@14.1.1" npm-version: npm@6.13.4 From 97e15d6562129239772ec3ee90d001eb40141b95 Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Mon, 18 Aug 2025 19:43:53 -0500 Subject: [PATCH 5/7] deps: remove object-assign dependencie Signed-off-by: Sebastian Beltran --- lib/index.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/index.js b/lib/index.js index 2c513e1e..9f36e45e 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,7 +1,6 @@ "use strict" var Buffer = require("buffer").Buffer -var objectAssign = require("object-assign") var bomHandling = require("./bom-handling") var iconv = module.exports @@ -64,7 +63,7 @@ iconv._codecDataCache = Object.create(null) iconv.getCodec = function getCodec (encoding) { if (!iconv.encodings) { var raw = require("../encodings") - iconv.encodings = objectAssign(Object.create(null), raw) // Lazy load all encoding definitions. + iconv.encodings = Object.assign(Object.create(null), raw) // Lazy load all encoding definitions. } // Canonicalize encoding name: strip all non-alphanumeric chars and appended year. From 63334b19ac1e64bfe3c4b07dff50880f614881ea Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Mon, 18 Aug 2025 20:58:10 -0500 Subject: [PATCH 6/7] ci: add windows, mac-os support Signed-off-by: Sebastian Beltran --- .github/workflows/ci.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8ed8d55a..5ce5f83c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,6 +37,9 @@ jobs: run: npm run lint performance: + needs: + - lint + - coverage name: Run performance test strategy: fail-fast: false @@ -64,7 +67,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest] + os: [ubuntu-latest, windows-latest, macos-latest] node-version: - "6" - "7" From 67ba2781d639c0b80ca06e3f8091b4b287e03b6e Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Mon, 18 Aug 2025 20:59:16 -0500 Subject: [PATCH 7/7] ci: remove macos for test Signed-off-by: Sebastian Beltran --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5ce5f83c..63816ac4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -67,7 +67,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest] + os: [ubuntu-latest, windows-latest] node-version: - "6" - "7"