From 7d8937ea98393d2827889144055de2ce5690e5d6 Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Sat, 9 Aug 2025 12:51:51 -0500 Subject: [PATCH 01/17] ci: use github actions instead travis Signed-off-by: Sebastian Beltran --- .github/workflows/ci.yml | 187 +++++++++++++++++++++++++++++++++++++ .github/workflows/iojs.yml | 65 +++++++++++++ .gitignore | 2 + .npmignore | 1 - .travis.yml | 19 ---- package.json | 10 +- 6 files changed, 260 insertions(+), 24 deletions(-) create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/iojs.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..fd9af422 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,187 @@ +name: ci + +on: + push: + branches: + - master + pull_request: + branches: + - master + +permissions: + contents: read + +# Cancel in progress workflows +# in the scenario where we already had a run going for that PR/branch/tag but then triggered a new run +concurrency: + group: "${{ github.workflow }} ✨ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}" + cancel-in-progress: true + +jobs: + lint: + name: Lint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 'lts/*' + + - name: Install dependencies + run: npm install --ignore-scripts --include=dev + + - name: Run lint + run: npm run lint + + test: + name: Run tests + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, windows-latest] + node-version: + - "0.10" + - "0.12" + - "4" + - "5" + - "6" + - "7" + - "8" + - "9" + - "10" + - "11" + - "12" + - "13" + - "14" + - "15" + - "16" + - "17" + - "18" + - "19" + - "20" + - "21" + - "22" + - "23" + - "24" + # 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" + + - node-version: "0.12" + npm-i: "mocha@3.5.3 nyc@10.3.2" + npm-version: "npm@2.15.11" + + - node-version: "4" + npm-i: "mocha@5.2.0 nyc@11.9.0" + + - node-version: "5" + npm-i: "mocha@5.2.0 nyc@11.9.0" + # fixes https://github.com/npm/cli/issues/681 + npm-version: "npm@3.10.10" + + - node-version: "6" + npm-i: "mocha@6.2.2 nyc@14.1.1" + + - node-version: "7" + npm-i: "mocha@6.2.2 nyc@14.1.1" + + - node-version: "8" + npm-i: "mocha@7.2.0 nyc@14.1.1" + + - node-version: "9" + npm-i: "mocha@7.2.0 nyc@14.1.1" + + - node-version: "10" + npm-i: "mocha@8.4.0" + + - node-version: "11" + npm-i: "mocha@8.4.0" + + - node-version: "12" + npm-i: "mocha@9.2.2" + + - node-version: "13" + npm-i: "mocha@9.2.2" + + - node-version: "15" + npm-i: " + + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + with: + persist-credentials: false + + - name: Setup Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + + - name: Npm version fixes + if: ${{matrix.npm-version != ''}} + run: npm install -g ${{ matrix.npm-version }} + + - name: Configure npm loglevel + run: | + npm config set loglevel error + shell: bash + + - name: Install Node version specific dev deps + if: ${{ matrix.npm-i != '' }} + run: npm install --save-dev ${{ matrix.npm-i }} + + - name: Install dependencies + run: npm install + + - name: Remove non-test dependencies + run: npm rm --silent --save-dev connect-redis + + - name: Output Node and NPM versions + run: | + echo "Node.js version: $(node -v)" + echo "NPM version: $(npm -v)" + + - name: Run tests + shell: bash + run: npm run test:ci + + - name: Upload code coverage + uses: actions/upload-artifact@v4 + with: + name: coverage-node-${{ matrix.node-version }}-${{ matrix.os }} + path: ./coverage/lcov.info + retention-days: 1 + + coverage: + needs: test + runs-on: ubuntu-latest + permissions: + contents: read + checks: write + steps: + - uses: actions/checkout@v4 + + - name: Install lcov + shell: bash + run: sudo apt-get -y install lcov + + - name: Collect coverage reports + uses: actions/download-artifact@v4 + with: + path: ./coverage + pattern: coverage-node-* + + - name: Merge coverage reports + shell: bash + run: find ./coverage -name lcov.info -exec printf '-a %q\n' {} \; | xargs lcov -o ./lcov.info + + - name: Upload coverage report + uses: coverallsapp/github-action@v2 + with: + file: ./lcov.info \ No newline at end of file diff --git a/.github/workflows/iojs.yml b/.github/workflows/iojs.yml new file mode 100644 index 00000000..3f05d192 --- /dev/null +++ b/.github/workflows/iojs.yml @@ -0,0 +1,65 @@ +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" + - node-version: "2.5" + npm-i: "mocha@3.5.3 nyc@10.3.2" + - node-version: "3.3" + npm-i: "mocha@3.5.3 nyc@10.3.2" + + 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: Install npm module(s) ${{ matrix.npm-i }} + run: npm install --save-dev ${{ matrix.npm-i }} + if: matrix.npm-i != '' + + - name: Remove non-test dependencies + run: npm rm --silent --save-dev connect-redis + + - 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/.gitignore b/.gitignore index 1f9dccef..218b009c 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,5 @@ package-lock.json /coverage /benchmarks/node_envs /generation/source-data + +.nyc_output \ No newline at end of file diff --git a/.npmignore b/.npmignore index b540d031..a4a0c8c1 100644 --- a/.npmignore +++ b/.npmignore @@ -6,4 +6,3 @@ wiki coverage .github .idea -.travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 670a4b3b..00000000 --- a/.travis.yml +++ /dev/null @@ -1,19 +0,0 @@ -language: node_js -node_js: - - "0.10" - - "0.11" - - "0.12" - - "iojs" - - "4" - - "6" - - "8" - - "10" - - "12" - - "node" - -jobs: - include: - - name: webpack - node_js: "12" - install: cd test/webpack; npm install - script: npm test \ No newline at end of file diff --git a/package.json b/package.json index d351115a..feed1a31 100644 --- a/package.json +++ b/package.json @@ -22,18 +22,20 @@ "node": ">=0.10.0" }, "scripts": { - "coverage": "c8 _mocha --grep .", - "test": "mocha --reporter spec --grep ." + "test": "mocha --reporter spec --check-leaks --grep .", + "test:ci": "nyc --exclude test --reporter=lcovonly --reporter=text npm test", + "test:cov": "nyc --exclude test --reporter=html --reporter=text npm test", + "test:tap": "mocha --reporter tap --check-leaks --grep ." }, "browser": { "stream": false }, "devDependencies": { "async": "^3.2.0", - "c8": "^7.2.0", "errto": "^0.2.1", "iconv": "^2.3.5", - "mocha": "^3.5.3", + "mocha": "^6.2.2", + "nyc": "^14.1.1", "request": "^2.88.2", "semver": "^6.3.0", "unorm": "^1.6.0" From 26f25c951a5ca894340d4e71155ce0696d4bae5e Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Sat, 9 Aug 2025 13:03:19 -0500 Subject: [PATCH 02/17] fixup Signed-off-by: Sebastian Beltran --- .github/workflows/ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fd9af422..b334dd3d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -110,7 +110,6 @@ jobs: npm-i: "mocha@9.2.2" - node-version: "15" - npm-i: " runs-on: ${{ matrix.os }} steps: From 28694859ca33fb0b25369232bda760b054ac29d6 Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Sat, 9 Aug 2025 13:36:03 -0500 Subject: [PATCH 03/17] remote lint step, and try to upgrade iconv Signed-off-by: Sebastian Beltran --- .github/workflows/ci.yml | 18 +----------------- package.json | 2 +- 2 files changed, 2 insertions(+), 18 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b334dd3d..23c04356 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,28 +18,12 @@ concurrency: cancel-in-progress: true jobs: - lint: - name: Lint - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: 'lts/*' - - - name: Install dependencies - run: npm install --ignore-scripts --include=dev - - - name: Run lint - run: npm run lint - test: name: Run tests strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest] + os: [ubuntu-latest] node-version: - "0.10" - "0.12" diff --git a/package.json b/package.json index feed1a31..815dc89b 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "devDependencies": { "async": "^3.2.0", "errto": "^0.2.1", - "iconv": "^2.3.5", + "iconv": "^3.0.1", "mocha": "^6.2.2", "nyc": "^14.1.1", "request": "^2.88.2", From 7224a453e7c16dc717349425645b5a9067b48a3f Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Sat, 9 Aug 2025 14:07:43 -0500 Subject: [PATCH 04/17] try install python version Signed-off-by: Sebastian Beltran --- .github/workflows/ci.yml | 30 +++++++++++++++++++++++++++--- .github/workflows/iojs.yml | 6 ++++++ package.json | 2 +- test/big5-test.js | 5 +++++ test/dbcs-test.js | 16 ++++++++++++++-- test/gbk-test.js | 5 +++++ test/sbcs-test.js | 10 ++++++++-- test/utf32-test.js | 34 ++++++++++++++++++++++++++++++++-- 8 files changed, 98 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 23c04356..1379c73e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,44 +56,61 @@ jobs: # 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' - node-version: "5" npm-i: "mocha@5.2.0 nyc@11.9.0" # fixes https://github.com/npm/cli/issues/681 npm-version: "npm@3.10.10" + npm-rm: 'iconv' - node-version: "6" npm-i: "mocha@6.2.2 nyc@14.1.1" + npm-rm: 'iconv' - node-version: "7" npm-i: "mocha@6.2.2 nyc@14.1.1" + npm-rm: 'iconv' - node-version: "8" npm-i: "mocha@7.2.0 nyc@14.1.1" + npm-rm: 'iconv' - node-version: "9" npm-i: "mocha@7.2.0 nyc@14.1.1" + npm-rm: 'iconv' - node-version: "10" npm-i: "mocha@8.4.0" + npm-rm: 'iconv' - node-version: "11" npm-i: "mocha@8.4.0" + npm-rm: 'iconv' + python-v: '3.7' - node-version: "12" npm-i: "mocha@9.2.2" + python-v: '3.7' - node-version: "13" npm-i: "mocha@9.2.2" + python-v: '3.7' + + - node-version: "14" + python-v: '3.7' - node-version: "15" + python-v: '3.7' runs-on: ${{ matrix.os }} steps: @@ -115,6 +132,16 @@ jobs: npm config set loglevel error shell: bash + - name: Set up python version + if: ${{ matrix.python-v != '' }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-v }} + + - name: Remove npm module(s) ${{ matrix.npm-rm }} + run: npm rm --silent --save-dev ${{ matrix.npm-rm }} + if: matrix.npm-rm != '' + - name: Install Node version specific dev deps if: ${{ matrix.npm-i != '' }} run: npm install --save-dev ${{ matrix.npm-i }} @@ -122,9 +149,6 @@ jobs: - name: Install dependencies run: npm install - - name: Remove non-test dependencies - run: npm rm --silent --save-dev connect-redis - - name: Output Node and NPM versions run: | echo "Node.js version: $(node -v)" diff --git a/.github/workflows/iojs.yml b/.github/workflows/iojs.yml index 3f05d192..e8cd99ad 100644 --- a/.github/workflows/iojs.yml +++ b/.github/workflows/iojs.yml @@ -22,10 +22,13 @@ jobs: 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 @@ -40,6 +43,9 @@ jobs: 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 }} + if: matrix.npm-rm != '' - name: Install npm module(s) ${{ matrix.npm-i }} run: npm install --save-dev ${{ matrix.npm-i }} diff --git a/package.json b/package.json index 815dc89b..feed1a31 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "devDependencies": { "async": "^3.2.0", "errto": "^0.2.1", - "iconv": "^3.0.1", + "iconv": "^2.3.5", "mocha": "^6.2.2", "nyc": "^14.1.1", "request": "^2.88.2", diff --git a/test/big5-test.js b/test/big5-test.js index 1ca9dd91..9867f909 100644 --- a/test/big5-test.js +++ b/test/big5-test.js @@ -21,6 +21,11 @@ describe("Big5 tests", function() { }); it("Big5 file read decoded,compare with iconv result", function() { + try { + require('iconv'); + } catch { + this.skip(); + } var contentBuffer = Buffer.from('PEhUTUw+DQo8SEVBRD4gICAgDQoJPFRJVExFPiBtZXRhILzQxdKquqjPpc6hR6SkpOW69K22IDwvVElUTEU+DQoJPG1ldGEgSFRUUC1FUVVJVj0iQ29udGVudC1UeXBlIiBDT05URU5UPSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9YmlnNSI+DQo8L0hFQUQ+DQo8Qk9EWT4NCg0Ks2+sT6RArdPBY8XppKSk5br0rbahSTxicj4NCihUaGlzIHBhZ2UgdXNlcyBiaWc1IGNoYXJhY3RlciBzZXQuKTxicj4NCmNoYXJzZXQ9YmlnNQ0KDQo8L0JPRFk+DQo8L0hUTUw+', 'base64'); var str = iconv.decode(contentBuffer, "big5"); var iconvc = new (require('iconv').Iconv)('big5','utf8'); diff --git a/test/dbcs-test.js b/test/dbcs-test.js index 3eadfb5c..3da0c55f 100644 --- a/test/dbcs-test.js +++ b/test/dbcs-test.js @@ -1,8 +1,7 @@ var fs = require('fs'), assert = require('assert'), Buffer = require('safer-buffer').Buffer, - iconv = require(__dirname+'/../'), - Iconv = require('iconv').Iconv; + iconv = require(__dirname+'/../'); // Make all valid input combinations for a given encoding and call fn with it. @@ -156,11 +155,20 @@ iconv.encode('', 'utf8'); // Load all encodings. describe("Full DBCS encoding tests", function() { this.timeout(10000); // These tests are pretty slow. + var Iconv; + try { + Iconv = require('iconv'); + } catch { + } for (var enc in iconv.encodings) { if (iconv.encodings[enc].type === '_dbcs') (function(enc) { // Create tests for this encoding. it("Decode DBCS encoding '" + enc + "'", function() { + if (!Iconv) { + this.skip() // Skip if Iconv is available + } + var iconvChgs = iconvChanges[enc] || {}; var iconvCannotDecodeChars = iconvCannotDecode[enc] || {}; var converter = new Iconv(aliases[enc] || enc, "utf-8"); @@ -203,6 +211,10 @@ describe("Full DBCS encoding tests", function() { }); it("Encode DBCS encoding '" + enc + "'", function() { + if (!Iconv) { + this.skip() // Skip if Iconv is available + } + var iconvChgs = iconvChanges[enc] || {}; var iconvCannotDecodeChars = iconvCannotDecode[enc] || {}; var converter = new Iconv("utf-8", aliases[enc] || enc); diff --git a/test/gbk-test.js b/test/gbk-test.js index 224b896d..7818ff4c 100644 --- a/test/gbk-test.js +++ b/test/gbk-test.js @@ -18,6 +18,11 @@ describe("GBK tests", function() { }); it("GBK file read decoded,compare with iconv result", function() { + try { + require('iconv'); + } catch { + this.skip(); + } var contentBuffer = fs.readFileSync(__dirname+"/gbkFile.txt"); var str = iconv.decode(contentBuffer, "GBK"); var iconvc = new (require('iconv').Iconv)('GBK','utf8'); diff --git a/test/sbcs-test.js b/test/sbcs-test.js index 46f419be..761883e1 100644 --- a/test/sbcs-test.js +++ b/test/sbcs-test.js @@ -1,8 +1,7 @@ var assert = require('assert'), unorm = require('unorm'), Buffer = require('safer-buffer').Buffer, - iconv = require(__dirname+'/../'), - Iconv = require('iconv').Iconv; + iconv = require(__dirname+'/../'); function convertWithDefault(converter, buf, def) { var res = converter.convert(buf); @@ -54,12 +53,19 @@ var sbcsEncodingTests = {}; describe("Full SBCS encoding tests", function() { this.timeout(10000); + var Iconv; + try { + Iconv = require('iconv'); + } catch { + } + for (var enc in iconv.encodings) if (iconv.encodings[enc].type === '_sbcs') (function(enc) { var iconvName = iconvAlias(enc), testEncName = enc + ((enc !== iconvName) ? " (" + iconvName + ")" : ""); it("Decode SBCS encoding " + testEncName, function() { + if (!Iconv) this.skip(); try { var conv = new Iconv(iconvName, "utf-8//IGNORE"); } catch (e) { diff --git a/test/utf32-test.js b/test/utf32-test.js index 6da093e5..0c5f509f 100644 --- a/test/utf32-test.js +++ b/test/utf32-test.js @@ -1,7 +1,6 @@ var assert = require('assert'), Buffer = require('safer-buffer').Buffer, - iconv = require(__dirname+'/../'), - Iconv = require('iconv').Iconv; + iconv = require(__dirname+'/../'); var testStr = '1aя中文☃💩', testStr2 = '❝Stray high \uD977😱 and low\uDDDD☔ surrogate values.❞', @@ -47,6 +46,13 @@ for (var i = 0; i <= 0x10F7FF; ++i) { } describe('UTF-32LE codec', function() { + var Iconv; + + try { + Iconv = require('iconv'); + } catch { + } + it('encodes basic strings correctly', function() { assert.equal(iconv.encode(testStr, 'UTF32-LE').toString('hex'), utf32leBuf.toString('hex')); }); @@ -69,6 +75,12 @@ describe('UTF-32LE codec', function() { }); it('handles encoding all valid codepoints', function() { + try { + require('iconv'); + } catch { + this.skip(); + } + assert.deepEqual(iconv.encode(allCharsStr, 'utf-32le'), allCharsLEBuf); var nodeIconv = new Iconv('UTF-8', 'UTF-32LE'); var nodeBuf = nodeIconv.convert(allCharsStr); @@ -76,6 +88,12 @@ describe('UTF-32LE codec', function() { }); it('handles decoding all valid codepoints', function() { + try { + require('iconv'); + } catch { + this.skip(); + } + assert.equal(iconv.decode(allCharsLEBuf, 'utf-32le'), allCharsStr); var nodeIconv = new Iconv('UTF-32LE', 'UTF-8'); var nodeStr = nodeIconv.convert(allCharsLEBuf).toString('utf8'); @@ -106,6 +124,12 @@ describe('UTF-32BE codec', function() { }); it('handles encoding all valid codepoints', function() { + try { + require('iconv'); + } catch { + this.skip(); + } + assert.deepEqual(iconv.encode(allCharsStr, 'utf-32be'), allCharsBEBuf); var nodeIconv = new Iconv('UTF-8', 'UTF-32BE'); var nodeBuf = nodeIconv.convert(allCharsStr); @@ -113,6 +137,12 @@ describe('UTF-32BE codec', function() { }); it('handles decoding all valid codepoints', function() { + try { + require('iconv'); + } catch { + this.skip(); + } + assert.equal(iconv.decode(allCharsBEBuf, 'utf-32be'), allCharsStr); var nodeIconv = new Iconv('UTF-32BE', 'UTF-8'); var nodeStr = nodeIconv.convert(allCharsBEBuf).toString('utf8'); From 8df1e87186167069f916b4790ec9cabe8eabef9b Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Sat, 9 Aug 2025 14:15:03 -0500 Subject: [PATCH 05/17] fixup Signed-off-by: Sebastian Beltran --- .github/workflows/ci.yml | 10 +++++----- test/dbcs-test.js | 2 +- test/sbcs-test.js | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1379c73e..62cb7f59 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -96,21 +96,21 @@ jobs: - node-version: "11" npm-i: "mocha@8.4.0" npm-rm: 'iconv' - python-v: '3.7' + python-v: '3.7.1' - node-version: "12" npm-i: "mocha@9.2.2" - python-v: '3.7' + python-v: '3.7.1' - node-version: "13" npm-i: "mocha@9.2.2" - python-v: '3.7' + python-v: '3.7.1' - node-version: "14" - python-v: '3.7' + python-v: '3.7.1' - node-version: "15" - python-v: '3.7' + python-v: '3.7.1' runs-on: ${{ matrix.os }} steps: diff --git a/test/dbcs-test.js b/test/dbcs-test.js index 3da0c55f..fdc19611 100644 --- a/test/dbcs-test.js +++ b/test/dbcs-test.js @@ -157,7 +157,7 @@ describe("Full DBCS encoding tests", function() { this.timeout(10000); // These tests are pretty slow. var Iconv; try { - Iconv = require('iconv'); + Iconv = require('iconv').Iconv; } catch { } diff --git a/test/sbcs-test.js b/test/sbcs-test.js index 761883e1..9c8b2ba3 100644 --- a/test/sbcs-test.js +++ b/test/sbcs-test.js @@ -55,7 +55,7 @@ describe("Full SBCS encoding tests", function() { var Iconv; try { - Iconv = require('iconv'); + Iconv = require('iconv').Iconv; } catch { } From 6d68a27aaaa12222855d13b0c338425f4976f955 Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Sat, 9 Aug 2025 14:21:21 -0500 Subject: [PATCH 06/17] fixup Signed-off-by: Sebastian Beltran --- test/big5-test.js | 2 +- test/dbcs-test.js | 3 +-- test/gbk-test.js | 2 +- test/sbcs-test.js | 3 +-- test/utf32-test.js | 30 +++++++++++++++--------------- 5 files changed, 19 insertions(+), 21 deletions(-) diff --git a/test/big5-test.js b/test/big5-test.js index 9867f909..a6c241f2 100644 --- a/test/big5-test.js +++ b/test/big5-test.js @@ -23,7 +23,7 @@ describe("Big5 tests", function() { it("Big5 file read decoded,compare with iconv result", function() { try { require('iconv'); - } catch { + } catch (_e) { this.skip(); } var contentBuffer = Buffer.from('PEhUTUw+DQo8SEVBRD4gICAgDQoJPFRJVExFPiBtZXRhILzQxdKquqjPpc6hR6SkpOW69K22IDwvVElUTEU+DQoJPG1ldGEgSFRUUC1FUVVJVj0iQ29udGVudC1UeXBlIiBDT05URU5UPSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9YmlnNSI+DQo8L0hFQUQ+DQo8Qk9EWT4NCg0Ks2+sT6RArdPBY8XppKSk5br0rbahSTxicj4NCihUaGlzIHBhZ2UgdXNlcyBiaWc1IGNoYXJhY3RlciBzZXQuKTxicj4NCmNoYXJzZXQ9YmlnNQ0KDQo8L0JPRFk+DQo8L0hUTUw+', 'base64'); diff --git a/test/dbcs-test.js b/test/dbcs-test.js index fdc19611..cb8e0e20 100644 --- a/test/dbcs-test.js +++ b/test/dbcs-test.js @@ -158,8 +158,7 @@ describe("Full DBCS encoding tests", function() { var Iconv; try { Iconv = require('iconv').Iconv; - } catch { - } + } catch (_e) {} for (var enc in iconv.encodings) { if (iconv.encodings[enc].type === '_dbcs') (function(enc) { diff --git a/test/gbk-test.js b/test/gbk-test.js index 7818ff4c..3ecc0784 100644 --- a/test/gbk-test.js +++ b/test/gbk-test.js @@ -20,7 +20,7 @@ describe("GBK tests", function() { it("GBK file read decoded,compare with iconv result", function() { try { require('iconv'); - } catch { + } catch (_e){ this.skip(); } var contentBuffer = fs.readFileSync(__dirname+"/gbkFile.txt"); diff --git a/test/sbcs-test.js b/test/sbcs-test.js index 9c8b2ba3..c70e19cd 100644 --- a/test/sbcs-test.js +++ b/test/sbcs-test.js @@ -56,8 +56,7 @@ describe("Full SBCS encoding tests", function() { var Iconv; try { Iconv = require('iconv').Iconv; - } catch { - } + } catch (_e) {} for (var enc in iconv.encodings) if (iconv.encodings[enc].type === '_sbcs') (function(enc) { diff --git a/test/utf32-test.js b/test/utf32-test.js index 0c5f509f..377620ba 100644 --- a/test/utf32-test.js +++ b/test/utf32-test.js @@ -49,9 +49,8 @@ describe('UTF-32LE codec', function() { var Iconv; try { - Iconv = require('iconv'); - } catch { - } + Iconv = require('iconv').Iconv; + } catch (_e) {} it('encodes basic strings correctly', function() { assert.equal(iconv.encode(testStr, 'UTF32-LE').toString('hex'), utf32leBuf.toString('hex')); @@ -75,12 +74,11 @@ describe('UTF-32LE codec', function() { }); it('handles encoding all valid codepoints', function() { - try { - require('iconv'); - } catch { + if (!Iconv) { this.skip(); } + assert.deepEqual(iconv.encode(allCharsStr, 'utf-32le'), allCharsLEBuf); var nodeIconv = new Iconv('UTF-8', 'UTF-32LE'); var nodeBuf = nodeIconv.convert(allCharsStr); @@ -88,9 +86,7 @@ describe('UTF-32LE codec', function() { }); it('handles decoding all valid codepoints', function() { - try { - require('iconv'); - } catch { + if (!Iconv) { this.skip(); } @@ -102,6 +98,12 @@ describe('UTF-32LE codec', function() { }); describe('UTF-32BE codec', function() { + var Iconv; + + try { + Iconv = require('iconv').Iconv; + } catch (_e) {} + it('encodes basic strings correctly', function() { assert.equal(iconv.encode(testStr, 'UTF32-BE').toString('hex'), utf32beBuf.toString('hex')); }); @@ -124,12 +126,11 @@ describe('UTF-32BE codec', function() { }); it('handles encoding all valid codepoints', function() { - try { - require('iconv'); - } catch { + if (!Iconv) { this.skip(); } + assert.deepEqual(iconv.encode(allCharsStr, 'utf-32be'), allCharsBEBuf); var nodeIconv = new Iconv('UTF-8', 'UTF-32BE'); var nodeBuf = nodeIconv.convert(allCharsStr); @@ -137,12 +138,11 @@ describe('UTF-32BE codec', function() { }); it('handles decoding all valid codepoints', function() { - try { - require('iconv'); - } catch { + if (!Iconv) { this.skip(); } + assert.equal(iconv.decode(allCharsBEBuf, 'utf-32be'), allCharsStr); var nodeIconv = new Iconv('UTF-32BE', 'UTF-8'); var nodeStr = nodeIconv.convert(allCharsBEBuf).toString('utf8'); From ca6e2c34a2f66a29bb67b7108b09fa30fb29825f Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Sat, 9 Aug 2025 14:32:48 -0500 Subject: [PATCH 07/17] fixup python version Signed-off-by: Sebastian Beltran --- .github/workflows/ci.yml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 62cb7f59..4d754e15 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -96,21 +96,21 @@ jobs: - node-version: "11" npm-i: "mocha@8.4.0" npm-rm: 'iconv' - python-v: '3.7.1' + python-v: '3.7' - node-version: "12" npm-i: "mocha@9.2.2" - python-v: '3.7.1' + python-v: '3.7' - node-version: "13" npm-i: "mocha@9.2.2" - python-v: '3.7.1' + python-v: '3.7' - node-version: "14" - python-v: '3.7.1' + python-v: '3.7' - node-version: "15" - python-v: '3.7.1' + python-v: '3.7' runs-on: ${{ matrix.os }} steps: @@ -134,9 +134,10 @@ jobs: - name: Set up python version if: ${{ matrix.python-v != '' }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-v }} + shell: bash -eo pipefail -l {0} + run: | + sudo apt-get update + sudo apt-get install python3.7 - name: Remove npm module(s) ${{ matrix.npm-rm }} run: npm rm --silent --save-dev ${{ matrix.npm-rm }} From 75006061b207bb2880a605b67a6c9089b07c54aa Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Sat, 9 Aug 2025 14:43:31 -0500 Subject: [PATCH 08/17] fixup python version Signed-off-by: Sebastian Beltran --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4d754e15..f49be306 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -138,6 +138,7 @@ jobs: run: | sudo apt-get update sudo apt-get install python3.7 + alias python=python3.7 - name: Remove npm module(s) ${{ matrix.npm-rm }} run: npm rm --silent --save-dev ${{ matrix.npm-rm }} From df7df654e954cb3b1a0f735eabf5f38a00ff7899 Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Sat, 9 Aug 2025 14:45:44 -0500 Subject: [PATCH 09/17] fixup python version Signed-off-by: Sebastian Beltran --- .github/workflows/ci.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f49be306..8588a5b2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -95,7 +95,6 @@ jobs: - node-version: "11" npm-i: "mocha@8.4.0" - npm-rm: 'iconv' python-v: '3.7' - node-version: "12" @@ -137,8 +136,8 @@ jobs: shell: bash -eo pipefail -l {0} run: | sudo apt-get update - sudo apt-get install python3.7 - alias python=python3.7 + sudo apt-get install python3.6 + alias python=python3.6 - name: Remove npm module(s) ${{ matrix.npm-rm }} run: npm rm --silent --save-dev ${{ matrix.npm-rm }} From 1e4e1c5e5bb886dce4b189539bbfa914f4eb634a Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Sat, 9 Aug 2025 14:50:30 -0500 Subject: [PATCH 10/17] fixup python version 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 8588a5b2..718be4cf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -137,7 +137,7 @@ jobs: run: | sudo apt-get update sudo apt-get install python3.6 - alias python=python3.6 + sudo ln -sf /usr/bin/python3.6 /usr/bin/python3 - name: Remove npm module(s) ${{ matrix.npm-rm }} run: npm rm --silent --save-dev ${{ matrix.npm-rm }} From 2d72793ead2af12b7e1e691fbd1de044a9226c1e Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Sat, 9 Aug 2025 14:55:20 -0500 Subject: [PATCH 11/17] fixup python dinamic version Signed-off-by: Sebastian Beltran --- .github/workflows/ci.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 718be4cf..bde3867d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -135,9 +135,14 @@ jobs: if: ${{ matrix.python-v != '' }} shell: bash -eo pipefail -l {0} run: | + sudo apt-get update sudo apt-get install python3.6 - sudo ln -sf /usr/bin/python3.6 /usr/bin/python3 + PY36_PATH=$(which python3.6) + PY3_PATH=$(which python3) + PY_PATH=$(which python) + sudo ln -sf "$PY36_PATH" "$PY3_PATH" + sudo ln -sf "$PY36_PATH" "$PY_PATH" - name: Remove npm module(s) ${{ matrix.npm-rm }} run: npm rm --silent --save-dev ${{ matrix.npm-rm }} From 21dc16acf549973c4d9568880198ae372631de16 Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Sat, 9 Aug 2025 14:57:03 -0500 Subject: [PATCH 12/17] disable iconv in some version of nodejs Signed-off-by: Sebastian Beltran --- .github/workflows/ci.yml | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bde3867d..ef861605 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -95,21 +95,21 @@ jobs: - node-version: "11" npm-i: "mocha@8.4.0" - python-v: '3.7' + npm-rm: 'iconv' - node-version: "12" npm-i: "mocha@9.2.2" - python-v: '3.7' + npm-rm: 'iconv' - node-version: "13" npm-i: "mocha@9.2.2" - python-v: '3.7' + npm-rm: 'iconv' - node-version: "14" - python-v: '3.7' + npm-rm: 'iconv' - node-version: "15" - python-v: '3.7' + npm-rm: 'iconv' runs-on: ${{ matrix.os }} steps: @@ -131,19 +131,6 @@ jobs: npm config set loglevel error shell: bash - - name: Set up python version - if: ${{ matrix.python-v != '' }} - shell: bash -eo pipefail -l {0} - run: | - - sudo apt-get update - sudo apt-get install python3.6 - PY36_PATH=$(which python3.6) - PY3_PATH=$(which python3) - PY_PATH=$(which python) - sudo ln -sf "$PY36_PATH" "$PY3_PATH" - sudo ln -sf "$PY36_PATH" "$PY_PATH" - - name: Remove npm module(s) ${{ matrix.npm-rm }} run: npm rm --silent --save-dev ${{ matrix.npm-rm }} if: matrix.npm-rm != '' From 90f759621d2d36448fca362255dd5f88790334fb Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Sat, 9 Aug 2025 15:22:48 -0500 Subject: [PATCH 13/17] ci: add more steps for complete the ci Signed-off-by: Sebastian Beltran --- .github/workflows/ci.yml | 29 ++++++++++++++++++++- .github/workflows/iojs.yml | 4 +++ .npmignore | 1 + package.json | 4 ++- test/performance.js => performance/index.js | 7 ++--- 5 files changed, 38 insertions(+), 7 deletions(-) rename test/performance.js => performance/index.js (95%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ef861605..d3ed84f1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,6 +18,29 @@ concurrency: cancel-in-progress: true jobs: + performance: + name: Run performance test + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + with: + persist-credentials: false + + - name: Setup Node.js 22 + uses: actions/setup-node@v4 + with: + node-version: 22 + + - name: Install dependencies + run: npm install + + - name: Run performance test + run: npm run test:performance + test: name: Run tests strategy: @@ -157,7 +180,11 @@ jobs: name: coverage-node-${{ matrix.node-version }}-${{ matrix.os }} path: ./coverage/lcov.info retention-days: 1 - + + - name: Webpack test + shell: bash + run: | + npm run test:webpack coverage: needs: test runs-on: ubuntu-latest diff --git a/.github/workflows/iojs.yml b/.github/workflows/iojs.yml index e8cd99ad..6adcef66 100644 --- a/.github/workflows/iojs.yml +++ b/.github/workflows/iojs.yml @@ -69,3 +69,7 @@ jobs: - name: Run tests shell: bash run: npm run test + + - name: Run webpack tests + shell: bash + run: npm run test:webpack diff --git a/.npmignore b/.npmignore index a4a0c8c1..12fca491 100644 --- a/.npmignore +++ b/.npmignore @@ -6,3 +6,4 @@ wiki coverage .github .idea +performance \ No newline at end of file diff --git a/package.json b/package.json index feed1a31..efd23be2 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,9 @@ "test": "mocha --reporter spec --check-leaks --grep .", "test:ci": "nyc --exclude test --reporter=lcovonly --reporter=text npm test", "test:cov": "nyc --exclude test --reporter=html --reporter=text npm test", - "test:tap": "mocha --reporter tap --check-leaks --grep ." + "test:performance": "node performance/index.js", + "test:tap": "mocha --reporter tap --check-leaks --grep .", + "test:webpack": "cd test/webpack && npm install && npm run test" }, "browser": { "stream": false diff --git a/test/performance.js b/performance/index.js similarity index 95% rename from test/performance.js rename to performance/index.js index 1a5bcf4d..4e5f541b 100644 --- a/test/performance.js +++ b/performance/index.js @@ -1,9 +1,5 @@ - -if (module.parent) // Skip this file from testing. - return; - var iconv = require('iconv'); -var iconv_lite = require("../"); +var iconv_lite = require("../lib"); var encoding = process.argv[2] || "windows-1251"; var convertTimes = 10000; @@ -30,6 +26,7 @@ var converter = new iconv.Iconv("utf8", encoding); for (var i = 0; i < convertTimes; i++) { var b = converter.convert(str); } + var duration = Date.now() - start; var mbs = convertTimes*b.length/duration/1024; From 2a9332954c6b8eb63a283871cc93e5279c04e417 Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Sat, 9 Aug 2025 15:37:11 -0500 Subject: [PATCH 14/17] fixup webpack test command Signed-off-by: Sebastian Beltran --- package.json | 2 +- test/webpack/package.json | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index efd23be2..e534b41f 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "test:cov": "nyc --exclude test --reporter=html --reporter=text npm test", "test:performance": "node performance/index.js", "test:tap": "mocha --reporter tap --check-leaks --grep .", - "test:webpack": "cd test/webpack && npm install && npm run test" + "test:webpack": "npm pack && mv iconv-lite-*.tgz iconv-lite.tgz && cd test/webpack && npm install && npm run test && rm -r iconv-lite.tgz" }, "browser": { "stream": false diff --git a/test/webpack/package.json b/test/webpack/package.json index ef01f4f7..4f782d2b 100644 --- a/test/webpack/package.json +++ b/test/webpack/package.json @@ -5,8 +5,6 @@ "scripts": { "!note1": "NOTE: We do `npm pack` of the main iconv-lite package followed by installing it to create a copy of the package (not symlink).", "!note2": "This is needed because webpack4/watchpack1.7 crashes when trying to enumerate circular symlink.", - "preinstall": "mv $(npm pack -pq ../../) iconv-lite.tgz", - "postinstall": "rm iconv-lite.tgz", "test": "karma start" }, "devDependencies": { @@ -19,6 +17,6 @@ "webpack": "^4.43.0" }, "dependencies": { - "iconv-lite": "file:iconv-lite.tgz" + "iconv-lite": "file:../../iconv-lite.tgz" } } From d178ff88b8deb84206ff2ea0b6b2c8183ddd33f5 Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Sat, 9 Aug 2025 15:50:17 -0500 Subject: [PATCH 15/17] karma in ci Signed-off-by: Sebastian Beltran --- test/webpack/karma.conf.js | 9 ++++++++- test/webpack/package.json | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/test/webpack/karma.conf.js b/test/webpack/karma.conf.js index 7bfab3bf..3cad7a89 100644 --- a/test/webpack/karma.conf.js +++ b/test/webpack/karma.conf.js @@ -65,7 +65,14 @@ module.exports = function(config) { // start these browsers // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher - browsers: ['ChromeHeadless'], + browsers: ['ChromeHeadless', 'ChromeHeadlessCI'], + + customLaunchers: { + ChromeHeadlessCI: { + base: 'ChromeHeadless', + flags: ['--no-sandbox'] + } + }, // Continuous Integration mode diff --git a/test/webpack/package.json b/test/webpack/package.json index 4f782d2b..9daa2ee8 100644 --- a/test/webpack/package.json +++ b/test/webpack/package.json @@ -5,7 +5,7 @@ "scripts": { "!note1": "NOTE: We do `npm pack` of the main iconv-lite package followed by installing it to create a copy of the package (not symlink).", "!note2": "This is needed because webpack4/watchpack1.7 crashes when trying to enumerate circular symlink.", - "test": "karma start" + "test": "karma start --browsers ChromeHeadlessCI" }, "devDependencies": { "karma": "^5.0.9", From 044d770a004743feaccbdb6d837e563e63dd7fc9 Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Sat, 9 Aug 2025 16:13:24 -0500 Subject: [PATCH 16/17] webpack test only in lts version Signed-off-by: Sebastian Beltran --- .github/workflows/ci.yml | 31 +++++++++++++++++++++++++------ package.json | 2 +- test/webpack/package.json | 2 +- 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d3ed84f1..abe3d0cc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -180,11 +180,7 @@ jobs: name: coverage-node-${{ matrix.node-version }}-${{ matrix.os }} path: ./coverage/lcov.info retention-days: 1 - - - name: Webpack test - shell: bash - run: | - npm run test:webpack + coverage: needs: test runs-on: ubuntu-latest @@ -211,4 +207,27 @@ jobs: - name: Upload coverage report uses: coverallsapp/github-action@v2 with: - file: ./lcov.info \ No newline at end of file + file: ./lcov.info + + test_webpack: + name: Run tests webpack + strategy: + fail-fast: false + matrix: + node-version: ["12", "*"] + + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + persist-credentials: false + + - name: Setup Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + + - name: Webpack test + shell: bash + run: | + npm run test:webpack \ No newline at end of file diff --git a/package.json b/package.json index e534b41f..b29b1136 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "test:cov": "nyc --exclude test --reporter=html --reporter=text npm test", "test:performance": "node performance/index.js", "test:tap": "mocha --reporter tap --check-leaks --grep .", - "test:webpack": "npm pack && mv iconv-lite-*.tgz iconv-lite.tgz && cd test/webpack && npm install && npm run test && rm -r iconv-lite.tgz" + "test:webpack": "npm pack && mv iconv-lite-*.tgz test/webpack/iconv-lite.tgz && cd test/webpack && npm install && npm run test && rm iconv-lite.tgz" }, "browser": { "stream": false diff --git a/test/webpack/package.json b/test/webpack/package.json index 9daa2ee8..89391622 100644 --- a/test/webpack/package.json +++ b/test/webpack/package.json @@ -17,6 +17,6 @@ "webpack": "^4.43.0" }, "dependencies": { - "iconv-lite": "file:../../iconv-lite.tgz" + "iconv-lite": "file:iconv-lite.tgz" } } From 23ead1d535d944c0b2c48d2d6d709a0291c394aa Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Sat, 9 Aug 2025 16:15:12 -0500 Subject: [PATCH 17/17] remove webpack step in iojs Signed-off-by: Sebastian Beltran --- .github/workflows/iojs.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/iojs.yml b/.github/workflows/iojs.yml index 6adcef66..26968f69 100644 --- a/.github/workflows/iojs.yml +++ b/.github/workflows/iojs.yml @@ -69,7 +69,4 @@ jobs: - name: Run tests shell: bash run: npm run test - - - name: Run webpack tests - shell: bash - run: npm run test:webpack +