From 6480a941815d4ea920e45010ce0172d9bef9f3aa Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 28 Oct 2024 10:29:18 +0000 Subject: [PATCH] Upgrade to libvips v8.16.0-rc2 CI: Add Node.js 22 Bump devDeps Pin node-addon-api to prevent C++17 for now --- .github/workflows/ci.yml | 48 ++++++++++++++++++++++++++------ .github/workflows/npm.yml | 28 +++++++++---------- docs/changelog.md | 2 +- npm/darwin-arm64/package.json | 2 +- npm/darwin-x64/package.json | 2 +- npm/linux-arm/package.json | 2 +- npm/linux-arm64/package.json | 2 +- npm/linux-ppc64/package.json | 2 +- npm/linux-s390x/package.json | 2 +- npm/linux-x64/package.json | 2 +- npm/linuxmusl-arm64/package.json | 2 +- npm/linuxmusl-x64/package.json | 2 +- npm/wasm32/package.json | 2 +- package.json | 36 ++++++++++++------------ test/unit/failOn.js | 4 +-- test/unit/metadata.js | 4 +-- 16 files changed, 86 insertions(+), 56 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 54f81deba..5affb577a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,39 +14,54 @@ jobs: fail-fast: false matrix: include: - - os: ubuntu-22.04 + - os: ubuntu-24.04 container: rockylinux:8 nodejs_arch: x64 nodejs_version: "^18.17.0" nodejs_version_major: 18 platform: linux-x64 prebuild: true - - os: ubuntu-22.04 + - os: ubuntu-24.04 container: rockylinux:8 nodejs_arch: x64 nodejs_version: "^20.3.0" nodejs_version_major: 20 platform: linux-x64 - - os: ubuntu-22.04 + - os: ubuntu-24.04 + container: rockylinux:8 + nodejs_arch: x64 + nodejs_version: "^22.9.0" + nodejs_version_major: 22 + platform: linux-x64 + - os: ubuntu-24.04 container: node:18-alpine3.17 nodejs_version_major: 18 platform: linuxmusl-x64 prebuild: true - - os: ubuntu-22.04 + - os: ubuntu-24.04 container: node:20-alpine3.18 nodejs_version_major: 20 platform: linuxmusl-x64 - - os: macos-12 + - os: ubuntu-24.04 + container: node:22-alpine3.20 + nodejs_version_major: 22 + platform: linuxmusl-x64 + - os: macos-13 nodejs_arch: x64 nodejs_version: "^18.17.0" nodejs_version_major: 18 platform: darwin-x64 prebuild: true - - os: macos-12 + - os: macos-13 nodejs_arch: x64 nodejs_version: "^20.3.0" nodejs_version_major: 20 platform: darwin-x64 + - os: macos-13 + nodejs_arch: x64 + nodejs_version: "^22.9.0" + nodejs_version_major: 22 + platform: darwin-x64 - os: macos-14 nodejs_arch: arm64 nodejs_version: "^18.17.0" @@ -58,6 +73,11 @@ jobs: nodejs_version: "^20.3.0" nodejs_version_major: 20 platform: darwin-arm64 + - os: macos-14 + nodejs_arch: arm64 + nodejs_version: "^22.9.0" + nodejs_version_major: 22 + platform: darwin-arm64 - os: windows-2019 nodejs_arch: x86 nodejs_version: "18.18.2" # pinned to avoid 18.19.0 and npm 10 @@ -69,6 +89,11 @@ jobs: nodejs_version: "^20.3.0" nodejs_version_major: 20 platform: win32-ia32 + - os: windows-2019 + nodejs_arch: x86 + nodejs_version: "^22.9.0" + nodejs_version_major: 22 + platform: win32-ia32 - os: windows-2019 nodejs_arch: x64 nodejs_version: "^18.17.0" @@ -80,6 +105,11 @@ jobs: nodejs_version: "^20.3.0" nodejs_version_major: 20 platform: win32-x64 + - os: windows-2019 + nodejs_arch: x64 + nodejs_version: "^22.9.0" + nodejs_version_major: 22 + platform: win32-x64 steps: - name: Dependencies (Rocky Linux glibc) if: contains(matrix.container, 'rockylinux') @@ -125,7 +155,7 @@ jobs: permissions: contents: write name: ${{ matrix.platform }} - Node.js ${{ matrix.nodejs_version_major }} - prebuild - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: @@ -177,8 +207,8 @@ jobs: permissions: contents: write name: wasm32 - prebuild - runs-on: ubuntu-22.04 - container: "emscripten/emsdk:3.1.68" + runs-on: ubuntu-24.04 + container: "emscripten/emsdk:3.1.70" steps: - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/npm.yml b/.github/workflows/npm.yml index a5a805183..f74916713 100644 --- a/.github/workflows/npm.yml +++ b/.github/workflows/npm.yml @@ -16,57 +16,57 @@ jobs: matrix: include: - name: linux-x64-node-npm - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 runtime: node package-manager: npm - name: linux-x64-node-pnpm - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 runtime: node package-manager: pnpm - name: linux-x64-node-yarn - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 runtime: node package-manager: yarn - name: linux-x64-node-yarn-pnp - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 runtime: node package-manager: yarn-pnp - name: linux-x64-node-yarn-v1 - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 runtime: node package-manager: yarn-v1 - name: linux-x64-deno - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 runtime: deno - name: linux-x64-bun - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 runtime: bun - name: darwin-x64-node-npm - runs-on: macos-12 + runs-on: macos-13 runtime: node package-manager: npm - name: darwin-x64-node-pnpm - runs-on: macos-12 + runs-on: macos-13 runtime: node package-manager: pnpm - name: darwin-x64-node-yarn - runs-on: macos-12 + runs-on: macos-13 runtime: node package-manager: yarn - name: darwin-x64-node-yarn-pnp - runs-on: macos-12 + runs-on: macos-13 runtime: node package-manager: yarn-pnp - name: darwin-x64-node-yarn-v1 - runs-on: macos-12 + runs-on: macos-13 runtime: node package-manager: yarn-v1 - name: darwin-x64-deno - runs-on: macos-12 + runs-on: macos-13 runtime: deno - name: darwin-x64-bun - runs-on: macos-12 + runs-on: macos-13 runtime: bun - name: win32-x64-node-npm diff --git a/docs/changelog.md b/docs/changelog.md index 283469d18..4f86aaf1f 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -2,7 +2,7 @@ ## v0.34 - *hat* -Requires libvips v8.16.0-rc1 +Requires libvips v8.16.0-rc2 ### v0.33.6 - TBD diff --git a/npm/darwin-arm64/package.json b/npm/darwin-arm64/package.json index 97ef71d1c..15a0e6e26 100644 --- a/npm/darwin-arm64/package.json +++ b/npm/darwin-arm64/package.json @@ -15,7 +15,7 @@ }, "preferUnplugged": true, "optionalDependencies": { - "@img/sharp-libvips-darwin-arm64": "1.1.0-rc1" + "@img/sharp-libvips-darwin-arm64": "1.1.0-rc2" }, "files": [ "lib" diff --git a/npm/darwin-x64/package.json b/npm/darwin-x64/package.json index ec40a8453..20cb21e82 100644 --- a/npm/darwin-x64/package.json +++ b/npm/darwin-x64/package.json @@ -15,7 +15,7 @@ }, "preferUnplugged": true, "optionalDependencies": { - "@img/sharp-libvips-darwin-x64": "1.1.0-rc1" + "@img/sharp-libvips-darwin-x64": "1.1.0-rc2" }, "files": [ "lib" diff --git a/npm/linux-arm/package.json b/npm/linux-arm/package.json index 4df197fd8..43581b309 100644 --- a/npm/linux-arm/package.json +++ b/npm/linux-arm/package.json @@ -15,7 +15,7 @@ }, "preferUnplugged": true, "optionalDependencies": { - "@img/sharp-libvips-linux-arm": "1.1.0-rc1" + "@img/sharp-libvips-linux-arm": "1.1.0-rc2" }, "files": [ "lib" diff --git a/npm/linux-arm64/package.json b/npm/linux-arm64/package.json index 47547d4dc..f645e34bb 100644 --- a/npm/linux-arm64/package.json +++ b/npm/linux-arm64/package.json @@ -15,7 +15,7 @@ }, "preferUnplugged": true, "optionalDependencies": { - "@img/sharp-libvips-linux-arm64": "1.1.0-rc1" + "@img/sharp-libvips-linux-arm64": "1.1.0-rc2" }, "files": [ "lib" diff --git a/npm/linux-ppc64/package.json b/npm/linux-ppc64/package.json index 07a38f1cd..c0119404b 100644 --- a/npm/linux-ppc64/package.json +++ b/npm/linux-ppc64/package.json @@ -15,7 +15,7 @@ }, "preferUnplugged": true, "optionalDependencies": { - "@img/sharp-libvips-linux-ppc64": "1.1.0-rc1" + "@img/sharp-libvips-linux-ppc64": "1.1.0-rc2" }, "files": [ "lib" diff --git a/npm/linux-s390x/package.json b/npm/linux-s390x/package.json index fa302a82c..ccce64d32 100644 --- a/npm/linux-s390x/package.json +++ b/npm/linux-s390x/package.json @@ -15,7 +15,7 @@ }, "preferUnplugged": true, "optionalDependencies": { - "@img/sharp-libvips-linux-s390x": "1.1.0-rc1" + "@img/sharp-libvips-linux-s390x": "1.1.0-rc2" }, "files": [ "lib" diff --git a/npm/linux-x64/package.json b/npm/linux-x64/package.json index 8b09cc1f4..b120b94a5 100644 --- a/npm/linux-x64/package.json +++ b/npm/linux-x64/package.json @@ -15,7 +15,7 @@ }, "preferUnplugged": true, "optionalDependencies": { - "@img/sharp-libvips-linux-x64": "1.1.0-rc1" + "@img/sharp-libvips-linux-x64": "1.1.0-rc2" }, "files": [ "lib" diff --git a/npm/linuxmusl-arm64/package.json b/npm/linuxmusl-arm64/package.json index 21ec0a3a7..5aa1e30b6 100644 --- a/npm/linuxmusl-arm64/package.json +++ b/npm/linuxmusl-arm64/package.json @@ -15,7 +15,7 @@ }, "preferUnplugged": true, "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-arm64": "1.1.0-rc1" + "@img/sharp-libvips-linuxmusl-arm64": "1.1.0-rc2" }, "files": [ "lib" diff --git a/npm/linuxmusl-x64/package.json b/npm/linuxmusl-x64/package.json index 39b89dec5..1228c1394 100644 --- a/npm/linuxmusl-x64/package.json +++ b/npm/linuxmusl-x64/package.json @@ -15,7 +15,7 @@ }, "preferUnplugged": true, "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-x64": "1.1.0-rc1" + "@img/sharp-libvips-linuxmusl-x64": "1.1.0-rc2" }, "files": [ "lib" diff --git a/npm/wasm32/package.json b/npm/wasm32/package.json index 6e869887e..1e707dfd2 100644 --- a/npm/wasm32/package.json +++ b/npm/wasm32/package.json @@ -31,7 +31,7 @@ "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "dependencies": { - "@emnapi/runtime": "^1.2.0" + "@emnapi/runtime": "^1.3.1" }, "cpu": [ "wasm32" diff --git a/package.json b/package.json index cd166c5dd..790d835c5 100644 --- a/package.json +++ b/package.json @@ -144,15 +144,15 @@ "optionalDependencies": { "@img/sharp-darwin-arm64": "0.33.5", "@img/sharp-darwin-x64": "0.33.5", - "@img/sharp-libvips-darwin-arm64": "1.1.0-rc1", - "@img/sharp-libvips-darwin-x64": "1.1.0-rc1", - "@img/sharp-libvips-linux-arm": "1.1.0-rc1", - "@img/sharp-libvips-linux-arm64": "1.1.0-rc1", - "@img/sharp-libvips-linux-ppc64": "1.1.0-rc1", - "@img/sharp-libvips-linux-s390x": "1.1.0-rc1", - "@img/sharp-libvips-linux-x64": "1.1.0-rc1", - "@img/sharp-libvips-linuxmusl-arm64": "1.1.0-rc1", - "@img/sharp-libvips-linuxmusl-x64": "1.1.0-rc1", + "@img/sharp-libvips-darwin-arm64": "1.1.0-rc2", + "@img/sharp-libvips-darwin-x64": "1.1.0-rc2", + "@img/sharp-libvips-linux-arm": "1.1.0-rc2", + "@img/sharp-libvips-linux-arm64": "1.1.0-rc2", + "@img/sharp-libvips-linux-ppc64": "1.1.0-rc2", + "@img/sharp-libvips-linux-s390x": "1.1.0-rc2", + "@img/sharp-libvips-linux-x64": "1.1.0-rc2", + "@img/sharp-libvips-linuxmusl-arm64": "1.1.0-rc2", + "@img/sharp-libvips-linuxmusl-x64": "1.1.0-rc2", "@img/sharp-linux-arm": "0.33.5", "@img/sharp-linux-arm64": "0.33.5", "@img/sharp-linux-s390x": "0.33.5", @@ -164,22 +164,22 @@ "@img/sharp-win32-x64": "0.33.5" }, "devDependencies": { - "@emnapi/runtime": "^1.2.0", - "@img/sharp-libvips-dev": "1.1.0-rc1", - "@img/sharp-libvips-dev-wasm32": "1.1.0-rc1", - "@img/sharp-libvips-win32-ia32": "1.1.0-rc1", - "@img/sharp-libvips-win32-x64": "1.1.0-rc1", + "@emnapi/runtime": "^1.3.1", + "@img/sharp-libvips-dev": "1.1.0-rc2", + "@img/sharp-libvips-dev-wasm32": "1.1.0-rc2", + "@img/sharp-libvips-win32-ia32": "1.1.0-rc2", + "@img/sharp-libvips-win32-x64": "1.1.0-rc2", "@types/node": "*", "cc": "^3.0.1", - "emnapi": "^1.2.0", + "emnapi": "^1.3.1", "exif-reader": "^2.0.1", "extract-zip": "^2.0.1", "icc": "^3.0.0", - "jsdoc-to-markdown": "^9.0.0", + "jsdoc-to-markdown": "^9.0.4", "license-checker": "^25.0.1", "mocha": "^10.7.3", - "node-addon-api": "^8.1.0", - "nyc": "^17.0.0", + "node-addon-api": "8.1.0", + "nyc": "^17.1.0", "prebuild": "^13.0.1", "semistandard": "^17.0.0", "tar-fs": "^3.0.6", diff --git a/test/unit/failOn.js b/test/unit/failOn.js index 51f4f4989..650ba057f 100644 --- a/test/unit/failOn.js +++ b/test/unit/failOn.js @@ -72,7 +72,7 @@ describe('failOn', () => { it('returns errors to callback for truncated JPEG', function (done) { sharp(fixtures.inputJpgTruncated, { failOn: 'truncated' }).toBuffer(function (err, data, info) { - assert.ok(err.message.includes('VipsJpeg: Premature end of'), err); + assert.ok(err.message.includes('VipsJpeg: premature end of'), err); assert.strictEqual(data, undefined); assert.strictEqual(info, undefined); done(); @@ -95,7 +95,7 @@ describe('failOn', () => { throw new Error('Expected rejection'); }) .catch(err => { - done(err.message.includes('VipsJpeg: Premature end of') ? undefined : err); + done(err.message.includes('VipsJpeg: premature end of') ? undefined : err); }); }); diff --git a/test/unit/metadata.js b/test/unit/metadata.js index 83fddf30f..ca8bc413c 100644 --- a/test/unit/metadata.js +++ b/test/unit/metadata.js @@ -931,7 +931,7 @@ describe('Image metadata', function () { sharp(fixtures.inputJpgWithCorruptHeader) .metadata(function (err) { assert.strictEqual(true, !!err); - assert.ok(err.message.includes('Input file has corrupt header: VipsJpeg: Premature end of'), err); + assert.ok(err.message.includes('Input file has corrupt header: VipsJpeg: premature end of'), err); done(); }); }); @@ -940,7 +940,7 @@ describe('Image metadata', function () { sharp(fs.readFileSync(fixtures.inputJpgWithCorruptHeader)) .metadata(function (err) { assert.strictEqual(true, !!err); - assert.ok(err.message.includes('Input buffer has corrupt header: VipsJpeg: Premature end of'), err); + assert.ok(err.message.includes('Input buffer has corrupt header: VipsJpeg: premature end of'), err); done(); }); });