Upgrade to libvips v8.16.0-rc2

CI: Add Node.js 22
Bump devDeps
Pin node-addon-api to prevent C++17 for now
This commit is contained in:
Lovell Fuller 2024-10-28 10:29:18 +00:00
parent 9582b5036f
commit 6480a94181
16 changed files with 86 additions and 56 deletions

View File

@ -14,39 +14,54 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- os: ubuntu-22.04 - os: ubuntu-24.04
container: rockylinux:8 container: rockylinux:8
nodejs_arch: x64 nodejs_arch: x64
nodejs_version: "^18.17.0" nodejs_version: "^18.17.0"
nodejs_version_major: 18 nodejs_version_major: 18
platform: linux-x64 platform: linux-x64
prebuild: true prebuild: true
- os: ubuntu-22.04 - os: ubuntu-24.04
container: rockylinux:8 container: rockylinux:8
nodejs_arch: x64 nodejs_arch: x64
nodejs_version: "^20.3.0" nodejs_version: "^20.3.0"
nodejs_version_major: 20 nodejs_version_major: 20
platform: linux-x64 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 container: node:18-alpine3.17
nodejs_version_major: 18 nodejs_version_major: 18
platform: linuxmusl-x64 platform: linuxmusl-x64
prebuild: true prebuild: true
- os: ubuntu-22.04 - os: ubuntu-24.04
container: node:20-alpine3.18 container: node:20-alpine3.18
nodejs_version_major: 20 nodejs_version_major: 20
platform: linuxmusl-x64 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_arch: x64
nodejs_version: "^18.17.0" nodejs_version: "^18.17.0"
nodejs_version_major: 18 nodejs_version_major: 18
platform: darwin-x64 platform: darwin-x64
prebuild: true prebuild: true
- os: macos-12 - os: macos-13
nodejs_arch: x64 nodejs_arch: x64
nodejs_version: "^20.3.0" nodejs_version: "^20.3.0"
nodejs_version_major: 20 nodejs_version_major: 20
platform: darwin-x64 platform: darwin-x64
- os: macos-13
nodejs_arch: x64
nodejs_version: "^22.9.0"
nodejs_version_major: 22
platform: darwin-x64
- os: macos-14 - os: macos-14
nodejs_arch: arm64 nodejs_arch: arm64
nodejs_version: "^18.17.0" nodejs_version: "^18.17.0"
@ -58,6 +73,11 @@ jobs:
nodejs_version: "^20.3.0" nodejs_version: "^20.3.0"
nodejs_version_major: 20 nodejs_version_major: 20
platform: darwin-arm64 platform: darwin-arm64
- os: macos-14
nodejs_arch: arm64
nodejs_version: "^22.9.0"
nodejs_version_major: 22
platform: darwin-arm64
- os: windows-2019 - os: windows-2019
nodejs_arch: x86 nodejs_arch: x86
nodejs_version: "18.18.2" # pinned to avoid 18.19.0 and npm 10 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: "^20.3.0"
nodejs_version_major: 20 nodejs_version_major: 20
platform: win32-ia32 platform: win32-ia32
- os: windows-2019
nodejs_arch: x86
nodejs_version: "^22.9.0"
nodejs_version_major: 22
platform: win32-ia32
- os: windows-2019 - os: windows-2019
nodejs_arch: x64 nodejs_arch: x64
nodejs_version: "^18.17.0" nodejs_version: "^18.17.0"
@ -80,6 +105,11 @@ jobs:
nodejs_version: "^20.3.0" nodejs_version: "^20.3.0"
nodejs_version_major: 20 nodejs_version_major: 20
platform: win32-x64 platform: win32-x64
- os: windows-2019
nodejs_arch: x64
nodejs_version: "^22.9.0"
nodejs_version_major: 22
platform: win32-x64
steps: steps:
- name: Dependencies (Rocky Linux glibc) - name: Dependencies (Rocky Linux glibc)
if: contains(matrix.container, 'rockylinux') if: contains(matrix.container, 'rockylinux')
@ -125,7 +155,7 @@ jobs:
permissions: permissions:
contents: write contents: write
name: ${{ matrix.platform }} - Node.js ${{ matrix.nodejs_version_major }} - prebuild name: ${{ matrix.platform }} - Node.js ${{ matrix.nodejs_version_major }} - prebuild
runs-on: ubuntu-22.04 runs-on: ubuntu-24.04
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@ -177,8 +207,8 @@ jobs:
permissions: permissions:
contents: write contents: write
name: wasm32 - prebuild name: wasm32 - prebuild
runs-on: ubuntu-22.04 runs-on: ubuntu-24.04
container: "emscripten/emsdk:3.1.68" container: "emscripten/emsdk:3.1.70"
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4

View File

@ -16,57 +16,57 @@ jobs:
matrix: matrix:
include: include:
- name: linux-x64-node-npm - name: linux-x64-node-npm
runs-on: ubuntu-22.04 runs-on: ubuntu-24.04
runtime: node runtime: node
package-manager: npm package-manager: npm
- name: linux-x64-node-pnpm - name: linux-x64-node-pnpm
runs-on: ubuntu-22.04 runs-on: ubuntu-24.04
runtime: node runtime: node
package-manager: pnpm package-manager: pnpm
- name: linux-x64-node-yarn - name: linux-x64-node-yarn
runs-on: ubuntu-22.04 runs-on: ubuntu-24.04
runtime: node runtime: node
package-manager: yarn package-manager: yarn
- name: linux-x64-node-yarn-pnp - name: linux-x64-node-yarn-pnp
runs-on: ubuntu-22.04 runs-on: ubuntu-24.04
runtime: node runtime: node
package-manager: yarn-pnp package-manager: yarn-pnp
- name: linux-x64-node-yarn-v1 - name: linux-x64-node-yarn-v1
runs-on: ubuntu-22.04 runs-on: ubuntu-24.04
runtime: node runtime: node
package-manager: yarn-v1 package-manager: yarn-v1
- name: linux-x64-deno - name: linux-x64-deno
runs-on: ubuntu-22.04 runs-on: ubuntu-24.04
runtime: deno runtime: deno
- name: linux-x64-bun - name: linux-x64-bun
runs-on: ubuntu-22.04 runs-on: ubuntu-24.04
runtime: bun runtime: bun
- name: darwin-x64-node-npm - name: darwin-x64-node-npm
runs-on: macos-12 runs-on: macos-13
runtime: node runtime: node
package-manager: npm package-manager: npm
- name: darwin-x64-node-pnpm - name: darwin-x64-node-pnpm
runs-on: macos-12 runs-on: macos-13
runtime: node runtime: node
package-manager: pnpm package-manager: pnpm
- name: darwin-x64-node-yarn - name: darwin-x64-node-yarn
runs-on: macos-12 runs-on: macos-13
runtime: node runtime: node
package-manager: yarn package-manager: yarn
- name: darwin-x64-node-yarn-pnp - name: darwin-x64-node-yarn-pnp
runs-on: macos-12 runs-on: macos-13
runtime: node runtime: node
package-manager: yarn-pnp package-manager: yarn-pnp
- name: darwin-x64-node-yarn-v1 - name: darwin-x64-node-yarn-v1
runs-on: macos-12 runs-on: macos-13
runtime: node runtime: node
package-manager: yarn-v1 package-manager: yarn-v1
- name: darwin-x64-deno - name: darwin-x64-deno
runs-on: macos-12 runs-on: macos-13
runtime: deno runtime: deno
- name: darwin-x64-bun - name: darwin-x64-bun
runs-on: macos-12 runs-on: macos-13
runtime: bun runtime: bun
- name: win32-x64-node-npm - name: win32-x64-node-npm

View File

@ -2,7 +2,7 @@
## v0.34 - *hat* ## v0.34 - *hat*
Requires libvips v8.16.0-rc1 Requires libvips v8.16.0-rc2
### v0.33.6 - TBD ### v0.33.6 - TBD

View File

@ -15,7 +15,7 @@
}, },
"preferUnplugged": true, "preferUnplugged": true,
"optionalDependencies": { "optionalDependencies": {
"@img/sharp-libvips-darwin-arm64": "1.1.0-rc1" "@img/sharp-libvips-darwin-arm64": "1.1.0-rc2"
}, },
"files": [ "files": [
"lib" "lib"

View File

@ -15,7 +15,7 @@
}, },
"preferUnplugged": true, "preferUnplugged": true,
"optionalDependencies": { "optionalDependencies": {
"@img/sharp-libvips-darwin-x64": "1.1.0-rc1" "@img/sharp-libvips-darwin-x64": "1.1.0-rc2"
}, },
"files": [ "files": [
"lib" "lib"

View File

@ -15,7 +15,7 @@
}, },
"preferUnplugged": true, "preferUnplugged": true,
"optionalDependencies": { "optionalDependencies": {
"@img/sharp-libvips-linux-arm": "1.1.0-rc1" "@img/sharp-libvips-linux-arm": "1.1.0-rc2"
}, },
"files": [ "files": [
"lib" "lib"

View File

@ -15,7 +15,7 @@
}, },
"preferUnplugged": true, "preferUnplugged": true,
"optionalDependencies": { "optionalDependencies": {
"@img/sharp-libvips-linux-arm64": "1.1.0-rc1" "@img/sharp-libvips-linux-arm64": "1.1.0-rc2"
}, },
"files": [ "files": [
"lib" "lib"

View File

@ -15,7 +15,7 @@
}, },
"preferUnplugged": true, "preferUnplugged": true,
"optionalDependencies": { "optionalDependencies": {
"@img/sharp-libvips-linux-ppc64": "1.1.0-rc1" "@img/sharp-libvips-linux-ppc64": "1.1.0-rc2"
}, },
"files": [ "files": [
"lib" "lib"

View File

@ -15,7 +15,7 @@
}, },
"preferUnplugged": true, "preferUnplugged": true,
"optionalDependencies": { "optionalDependencies": {
"@img/sharp-libvips-linux-s390x": "1.1.0-rc1" "@img/sharp-libvips-linux-s390x": "1.1.0-rc2"
}, },
"files": [ "files": [
"lib" "lib"

View File

@ -15,7 +15,7 @@
}, },
"preferUnplugged": true, "preferUnplugged": true,
"optionalDependencies": { "optionalDependencies": {
"@img/sharp-libvips-linux-x64": "1.1.0-rc1" "@img/sharp-libvips-linux-x64": "1.1.0-rc2"
}, },
"files": [ "files": [
"lib" "lib"

View File

@ -15,7 +15,7 @@
}, },
"preferUnplugged": true, "preferUnplugged": true,
"optionalDependencies": { "optionalDependencies": {
"@img/sharp-libvips-linuxmusl-arm64": "1.1.0-rc1" "@img/sharp-libvips-linuxmusl-arm64": "1.1.0-rc2"
}, },
"files": [ "files": [
"lib" "lib"

View File

@ -15,7 +15,7 @@
}, },
"preferUnplugged": true, "preferUnplugged": true,
"optionalDependencies": { "optionalDependencies": {
"@img/sharp-libvips-linuxmusl-x64": "1.1.0-rc1" "@img/sharp-libvips-linuxmusl-x64": "1.1.0-rc2"
}, },
"files": [ "files": [
"lib" "lib"

View File

@ -31,7 +31,7 @@
"node": "^18.17.0 || ^20.3.0 || >=21.0.0" "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
}, },
"dependencies": { "dependencies": {
"@emnapi/runtime": "^1.2.0" "@emnapi/runtime": "^1.3.1"
}, },
"cpu": [ "cpu": [
"wasm32" "wasm32"

View File

@ -144,15 +144,15 @@
"optionalDependencies": { "optionalDependencies": {
"@img/sharp-darwin-arm64": "0.33.5", "@img/sharp-darwin-arm64": "0.33.5",
"@img/sharp-darwin-x64": "0.33.5", "@img/sharp-darwin-x64": "0.33.5",
"@img/sharp-libvips-darwin-arm64": "1.1.0-rc1", "@img/sharp-libvips-darwin-arm64": "1.1.0-rc2",
"@img/sharp-libvips-darwin-x64": "1.1.0-rc1", "@img/sharp-libvips-darwin-x64": "1.1.0-rc2",
"@img/sharp-libvips-linux-arm": "1.1.0-rc1", "@img/sharp-libvips-linux-arm": "1.1.0-rc2",
"@img/sharp-libvips-linux-arm64": "1.1.0-rc1", "@img/sharp-libvips-linux-arm64": "1.1.0-rc2",
"@img/sharp-libvips-linux-ppc64": "1.1.0-rc1", "@img/sharp-libvips-linux-ppc64": "1.1.0-rc2",
"@img/sharp-libvips-linux-s390x": "1.1.0-rc1", "@img/sharp-libvips-linux-s390x": "1.1.0-rc2",
"@img/sharp-libvips-linux-x64": "1.1.0-rc1", "@img/sharp-libvips-linux-x64": "1.1.0-rc2",
"@img/sharp-libvips-linuxmusl-arm64": "1.1.0-rc1", "@img/sharp-libvips-linuxmusl-arm64": "1.1.0-rc2",
"@img/sharp-libvips-linuxmusl-x64": "1.1.0-rc1", "@img/sharp-libvips-linuxmusl-x64": "1.1.0-rc2",
"@img/sharp-linux-arm": "0.33.5", "@img/sharp-linux-arm": "0.33.5",
"@img/sharp-linux-arm64": "0.33.5", "@img/sharp-linux-arm64": "0.33.5",
"@img/sharp-linux-s390x": "0.33.5", "@img/sharp-linux-s390x": "0.33.5",
@ -164,22 +164,22 @@
"@img/sharp-win32-x64": "0.33.5" "@img/sharp-win32-x64": "0.33.5"
}, },
"devDependencies": { "devDependencies": {
"@emnapi/runtime": "^1.2.0", "@emnapi/runtime": "^1.3.1",
"@img/sharp-libvips-dev": "1.1.0-rc1", "@img/sharp-libvips-dev": "1.1.0-rc2",
"@img/sharp-libvips-dev-wasm32": "1.1.0-rc1", "@img/sharp-libvips-dev-wasm32": "1.1.0-rc2",
"@img/sharp-libvips-win32-ia32": "1.1.0-rc1", "@img/sharp-libvips-win32-ia32": "1.1.0-rc2",
"@img/sharp-libvips-win32-x64": "1.1.0-rc1", "@img/sharp-libvips-win32-x64": "1.1.0-rc2",
"@types/node": "*", "@types/node": "*",
"cc": "^3.0.1", "cc": "^3.0.1",
"emnapi": "^1.2.0", "emnapi": "^1.3.1",
"exif-reader": "^2.0.1", "exif-reader": "^2.0.1",
"extract-zip": "^2.0.1", "extract-zip": "^2.0.1",
"icc": "^3.0.0", "icc": "^3.0.0",
"jsdoc-to-markdown": "^9.0.0", "jsdoc-to-markdown": "^9.0.4",
"license-checker": "^25.0.1", "license-checker": "^25.0.1",
"mocha": "^10.7.3", "mocha": "^10.7.3",
"node-addon-api": "^8.1.0", "node-addon-api": "8.1.0",
"nyc": "^17.0.0", "nyc": "^17.1.0",
"prebuild": "^13.0.1", "prebuild": "^13.0.1",
"semistandard": "^17.0.0", "semistandard": "^17.0.0",
"tar-fs": "^3.0.6", "tar-fs": "^3.0.6",

View File

@ -72,7 +72,7 @@ describe('failOn', () => {
it('returns errors to callback for truncated JPEG', function (done) { it('returns errors to callback for truncated JPEG', function (done) {
sharp(fixtures.inputJpgTruncated, { failOn: 'truncated' }).toBuffer(function (err, data, info) { 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(data, undefined);
assert.strictEqual(info, undefined); assert.strictEqual(info, undefined);
done(); done();
@ -95,7 +95,7 @@ describe('failOn', () => {
throw new Error('Expected rejection'); throw new Error('Expected rejection');
}) })
.catch(err => { .catch(err => {
done(err.message.includes('VipsJpeg: Premature end of') ? undefined : err); done(err.message.includes('VipsJpeg: premature end of') ? undefined : err);
}); });
}); });

View File

@ -931,7 +931,7 @@ describe('Image metadata', function () {
sharp(fixtures.inputJpgWithCorruptHeader) sharp(fixtures.inputJpgWithCorruptHeader)
.metadata(function (err) { .metadata(function (err) {
assert.strictEqual(true, !!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(); done();
}); });
}); });
@ -940,7 +940,7 @@ describe('Image metadata', function () {
sharp(fs.readFileSync(fixtures.inputJpgWithCorruptHeader)) sharp(fs.readFileSync(fixtures.inputJpgWithCorruptHeader))
.metadata(function (err) { .metadata(function (err) {
assert.strictEqual(true, !!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(); done();
}); });
}); });