Compare commits

..

2 Commits

Author SHA1 Message Date
Lovell Fuller
63b0a11b5b Tests: remove a possible race condition 2025-05-19 23:21:55 +01:00
Lovell Fuller
c4d6aec48c Docs: Highlight that Windows ARM64 support is experimental 2025-05-19 22:04:08 +01:00
6 changed files with 22 additions and 14 deletions

View File

@ -626,6 +626,9 @@ Use these AVIF options for output image.
AVIF image sequences are not supported.
Prebuilt binaries support a bitdepth of 8 only.
This feature is experimental on the Windows ARM64 platform
and requires a CPU with ARM64v8.4 or later.
**Throws**:

View File

@ -15,7 +15,7 @@ Requires libvips v8.16.1
[#4207](https://github.com/lovell/sharp/pull/4207)
[#4398](https://github.com/lovell/sharp/issues/4398)
* Add support for prebuilt Windows ARM64 binaries.
* Add experimental support for prebuilt Windows ARM64 binaries.
[#4375](https://github.com/lovell/sharp/pull/4375)
[@hans00](https://github.com/hans00)

View File

@ -53,7 +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)
* Windows x64
* Windows x86
* Windows ARM64
* Windows ARM64 (experimental, CPU with ARMv8.4 required for all features)
This provides support for the
JPEG, PNG, WebP, AVIF (limited to 8-bit depth), TIFF, GIF and SVG (input) image formats.

View File

@ -1019,6 +1019,9 @@ function tiff (options) {
* AVIF image sequences are not supported.
* Prebuilt binaries support a bitdepth of 8 only.
*
* This feature is experimental on the Windows ARM64 platform
* and requires a CPU with ARM64v8.4 or later.
*
* @example
* const data = await sharp(input)
* .avif({ effort: 2 })

View File

@ -179,7 +179,7 @@
"icc": "^3.0.0",
"jsdoc-to-markdown": "^9.1.1",
"license-checker": "^25.0.1",
"mocha": "^11.2.2",
"mocha": "^11.4.0",
"node-addon-api": "^8.3.1",
"nyc": "^17.1.0",
"prebuild": "^13.0.1",

View File

@ -10,18 +10,20 @@ const sharp = require('../../');
describe('Utilities', function () {
describe('Cache', function () {
it('Can be disabled', function (done) {
queueMicrotask(() => {
sharp.cache(false);
const check = setInterval(() => {
const cache = sharp.cache(false);
assert.strictEqual(cache.memory.current, 0);
assert.strictEqual(cache.memory.max, 0);
assert.strictEqual(typeof cache.memory.high, 'number');
assert.strictEqual(cache.files.current, 0);
assert.strictEqual(cache.files.max, 0);
assert.strictEqual(cache.items.current, 0);
assert.strictEqual(cache.items.max, 0);
done();
});
const empty =
cache.memory.current +
cache.memory.max +
cache.files.current +
cache.files.max +
cache.items.current +
cache.items.max === 0;
if (empty) {
clearInterval(check);
done();
}
}, 2000);
});
it('Can be enabled with defaults', function () {
const cache = sharp.cache(true);