mirror of
https://github.com/lovell/sharp.git
synced 2025-07-09 10:30:15 +02:00
Add support for prebuilt Windows ARM64 binaries #4375
This commit is contained in:
parent
73bec629cf
commit
e922ef7450
11
.github/workflows/ci.yml
vendored
11
.github/workflows/ci.yml
vendored
@ -110,6 +110,17 @@ jobs:
|
|||||||
nodejs_version: "^22.9.0"
|
nodejs_version: "^22.9.0"
|
||||||
nodejs_version_major: 22
|
nodejs_version_major: 22
|
||||||
platform: win32-x64
|
platform: win32-x64
|
||||||
|
- os: windows-11-arm
|
||||||
|
nodejs_arch: arm64
|
||||||
|
nodejs_version: "^20.3.0"
|
||||||
|
nodejs_version_major: 20
|
||||||
|
platform: win32-arm64
|
||||||
|
prebuild: true
|
||||||
|
- os: windows-11-arm
|
||||||
|
nodejs_arch: arm64
|
||||||
|
nodejs_version: "^22.9.0"
|
||||||
|
nodejs_version_major: 22
|
||||||
|
platform: win32-arm64
|
||||||
steps:
|
steps:
|
||||||
- name: Dependencies (Rocky Linux glibc)
|
- name: Dependencies (Rocky Linux glibc)
|
||||||
if: contains(matrix.container, 'rockylinux')
|
if: contains(matrix.container, 'rockylinux')
|
||||||
|
@ -317,3 +317,6 @@ GitHub: https://github.com/florentzabera
|
|||||||
|
|
||||||
Name: Quentin Pinçon
|
Name: Quentin Pinçon
|
||||||
GitHub: https://github.com/qpincon
|
GitHub: https://github.com/qpincon
|
||||||
|
|
||||||
|
Name: Hans Chen
|
||||||
|
GitHub: https://github.com/hans00
|
||||||
|
@ -14,6 +14,10 @@ Requires libvips v8.16.1
|
|||||||
* Ensure `pdfBackground` constructor property is used.
|
* Ensure `pdfBackground` constructor property is used.
|
||||||
[#4207](https://github.com/lovell/sharp/pull/4207)
|
[#4207](https://github.com/lovell/sharp/pull/4207)
|
||||||
|
|
||||||
|
* Add support for prebuilt Windows ARM64 binaries.
|
||||||
|
[#4375](https://github.com/lovell/sharp/pull/4375)
|
||||||
|
[@hans00](https://github.com/hans00)
|
||||||
|
|
||||||
* TypeScript: Ensure `smartDeblock` property is included in WebP definition.
|
* TypeScript: Ensure `smartDeblock` property is included in WebP definition.
|
||||||
[#4387](https://github.com/lovell/sharp/pull/4387)
|
[#4387](https://github.com/lovell/sharp/pull/4387)
|
||||||
[@Stephen-X](https://github.com/Stephen-X)
|
[@Stephen-X](https://github.com/Stephen-X)
|
||||||
|
@ -53,6 +53,7 @@ Ready-compiled sharp and libvips binaries are provided for use on the most commo
|
|||||||
* Linux x64 (glibc >= 2.26, musl >= 1.2.2, CPU with SSE4.2)
|
* Linux x64 (glibc >= 2.26, musl >= 1.2.2, CPU with SSE4.2)
|
||||||
* Windows x64
|
* Windows x64
|
||||||
* Windows x86
|
* Windows x86
|
||||||
|
* Windows ARM64
|
||||||
|
|
||||||
This provides support for the
|
This provides support for the
|
||||||
JPEG, PNG, WebP, AVIF (limited to 8-bit depth), TIFF, GIF and SVG (input) image formats.
|
JPEG, PNG, WebP, AVIF (limited to 8-bit depth), TIFF, GIF and SVG (input) image formats.
|
||||||
|
@ -20,7 +20,7 @@ const prebuiltPlatforms = [
|
|||||||
'darwin-arm64', 'darwin-x64',
|
'darwin-arm64', 'darwin-x64',
|
||||||
'linux-arm', 'linux-arm64', 'linux-s390x', 'linux-x64',
|
'linux-arm', 'linux-arm64', 'linux-s390x', 'linux-x64',
|
||||||
'linuxmusl-arm64', 'linuxmusl-x64',
|
'linuxmusl-arm64', 'linuxmusl-x64',
|
||||||
'win32-ia32', 'win32-x64'
|
'win32-arm64', 'win32-ia32', 'win32-x64'
|
||||||
];
|
];
|
||||||
|
|
||||||
const spawnSyncOptions = {
|
const spawnSyncOptions = {
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
"linuxmusl-arm64",
|
"linuxmusl-arm64",
|
||||||
"linuxmusl-x64",
|
"linuxmusl-x64",
|
||||||
"wasm32",
|
"wasm32",
|
||||||
|
"win32-arm64",
|
||||||
"win32-ia32",
|
"win32-ia32",
|
||||||
"win32-x64"
|
"win32-x64"
|
||||||
]
|
]
|
||||||
|
39
npm/win32-arm64/package.json
Normal file
39
npm/win32-arm64/package.json
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
{
|
||||||
|
"name": "@img/sharp-win32-arm64",
|
||||||
|
"version": "0.34.1",
|
||||||
|
"description": "Prebuilt sharp for use with Windows 64-bit ARM",
|
||||||
|
"author": "Lovell Fuller <npm@lovell.info>",
|
||||||
|
"homepage": "https://sharp.pixelplumbing.com",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git+https://github.com/lovell/sharp.git",
|
||||||
|
"directory": "npm/win32-arm64"
|
||||||
|
},
|
||||||
|
"license": "Apache-2.0 AND LGPL-3.0-or-later",
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
},
|
||||||
|
"preferUnplugged": true,
|
||||||
|
"files": [
|
||||||
|
"lib",
|
||||||
|
"versions.json"
|
||||||
|
],
|
||||||
|
"publishConfig": {
|
||||||
|
"access": "public"
|
||||||
|
},
|
||||||
|
"type": "commonjs",
|
||||||
|
"exports": {
|
||||||
|
"./sharp.node": "./lib/sharp-win32-arm64.node",
|
||||||
|
"./package": "./package.json",
|
||||||
|
"./versions": "./versions.json"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
]
|
||||||
|
}
|
@ -160,6 +160,7 @@
|
|||||||
"@img/sharp-linuxmusl-arm64": "0.34.1",
|
"@img/sharp-linuxmusl-arm64": "0.34.1",
|
||||||
"@img/sharp-linuxmusl-x64": "0.34.1",
|
"@img/sharp-linuxmusl-x64": "0.34.1",
|
||||||
"@img/sharp-wasm32": "0.34.1",
|
"@img/sharp-wasm32": "0.34.1",
|
||||||
|
"@img/sharp-win32-arm64": "0.34.1",
|
||||||
"@img/sharp-win32-ia32": "0.34.1",
|
"@img/sharp-win32-ia32": "0.34.1",
|
||||||
"@img/sharp-win32-x64": "0.34.1"
|
"@img/sharp-win32-x64": "0.34.1"
|
||||||
},
|
},
|
||||||
@ -167,6 +168,7 @@
|
|||||||
"@emnapi/runtime": "^1.4.0",
|
"@emnapi/runtime": "^1.4.0",
|
||||||
"@img/sharp-libvips-dev": "1.1.0",
|
"@img/sharp-libvips-dev": "1.1.0",
|
||||||
"@img/sharp-libvips-dev-wasm32": "1.1.0",
|
"@img/sharp-libvips-dev-wasm32": "1.1.0",
|
||||||
|
"@img/sharp-libvips-win32-arm64": "1.1.0",
|
||||||
"@img/sharp-libvips-win32-ia32": "1.1.0",
|
"@img/sharp-libvips-win32-ia32": "1.1.0",
|
||||||
"@img/sharp-libvips-win32-x64": "1.1.0",
|
"@img/sharp-libvips-win32-x64": "1.1.0",
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
|
@ -59,7 +59,7 @@ describe('Text to image', function () {
|
|||||||
assert.strictEqual('png', info.format);
|
assert.strictEqual('png', info.format);
|
||||||
assert.strictEqual(3, info.channels);
|
assert.strictEqual(3, info.channels);
|
||||||
assert.ok(inRange(info.width, 400, 600), `Actual width ${info.width}`);
|
assert.ok(inRange(info.width, 400, 600), `Actual width ${info.width}`);
|
||||||
assert.ok(inRange(info.height, 300, 500), `Actual height ${info.height}`);
|
assert.ok(inRange(info.height, 290, 500), `Actual height ${info.height}`);
|
||||||
assert.ok(inRange(info.textAutofitDpi, 900, 1300), `Actual textAutofitDpi ${info.textAutofitDpi}`);
|
assert.ok(inRange(info.textAutofitDpi, 900, 1300), `Actual textAutofitDpi ${info.textAutofitDpi}`);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user