{"_id":"@denodecom/wasm-vips","_rev":"3-184cdffa45f032aa88b01810dcdd60d0","name":"@denodecom/wasm-vips","dist-tags":{"latest":"0.0.12"},"versions":{"0.0.9":{"name":"@denodecom/wasm-vips","version":"0.0.9","author":{"name":"Kleis Auke Wolthuizen"},"license":"MIT","_id":"@denodecom/wasm-vips@0.0.9","homepage":"https://github.com/kleisauke/wasm-vips","bugs":{"url":"https://github.com/kleisauke/wasm-vips/issues"},"dist":{"shasum":"959e9b692c5d298685841c217722c438580840fa","tarball":"https://registry.npmjs.org/@denodecom/wasm-vips/-/wasm-vips-0.0.9.tgz","fileCount":22,"integrity":"sha512-6SvkemI0iRmWNB+uDsjqUMEfB7tLNmxVuzwPPIc1oPZ/A12x5lXwRfeFTsMwoTjz2XDRErKUshPcsB1Fjtlr9A==","signatures":[{"sig":"MEUCIDE5A84v8YWplrXIx/rWFLvjoX8d77MNs7frP3ASqBwxAiEAv+j5DAlz3zjD1HT8XJpuIY3Gmdj6bPuMd+dyb1uom+Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27334196},"main":"lib/vips-node.js","type":"commonjs","types":"lib/vips.d.ts","browser":"lib/vips.js","engines":{"node":">=16.4.0"},"exports":{".":{"node":{"import":"./lib/vips-node.mjs","require":"./lib/vips-node.js"},"browser":{"import":"./lib/vips-es6.js","require":"./lib/vips.js"},"default":"./lib/vips.js"},"./nosimd":{"node":{"import":"./lib/nosimd/vips-node.mjs","require":"./lib/nosimd/vips-node.js"},"browser":{"import":"./lib/nosimd/vips-es6.js","require":"./lib/nosimd/vips.js"},"default":"./lib/nosimd/vips.js"},"./versions":"./versions.json"},"gitHead":"73c2d51ac70bd5681284823cdd112b868ae4e5d4","scripts":{"test":"npm run test:lint && npm run test:base && npm run test:nosimd","bench":"npm run bench:node","build":"npm run build:base && npm run build:nosimd","test:web":"serve -c test/unit/serve.json","bench:web":"serve -c test/bench/serve.json","test:base":"npm run test:node","test:lint":"semistandard","test:node":"npm --prefix test/unit test","bench:node":"npm --prefix test/bench test","build:base":"docker build -t wasm-vips . && docker run -it --rm -v $(pwd):/src wasm-vips ./build.sh --clean-build","test:nosimd":"VARIANT=nosimd npm run test:node","build:nosimd":"docker build -t wasm-vips . && docker run -it --rm -v $(pwd):/src wasm-vips ./build.sh --clean-build --variant nosimd --disable-simd"},"_npmUser":{"name":"marcosc90","email":"marcoscvp90@gmail.com"},"repository":{"url":"git+https://github.com/kleisauke/wasm-vips.git","type":"git"},"_npmVersion":"10.7.0","description":"libvips for the browser and Node.js, compiled to WebAssembly with Emscripten","directories":{},"_nodeVersion":"22.2.0","semistandard":{"env":["browser","node","mocha"],"ignore":["src/closure-externs/wasm-vips.js","src/fixed-threadpool-web.js","src/modules-pre.js","src/workaround-cors-pre.js"],"globals":["vips"]},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","mocha":"^10.4.0","serve":"^14.2.3","semistandard":"^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/wasm-vips_0.0.9_1719160566372_0.6785049360021145","host":"s3://npm-registry-packages"}},"0.0.10":{"name":"@denodecom/wasm-vips","version":"0.0.10","author":{"name":"Kleis Auke Wolthuizen"},"license":"MIT","_id":"@denodecom/wasm-vips@0.0.10","homepage":"https://github.com/kleisauke/wasm-vips","bugs":{"url":"https://github.com/kleisauke/wasm-vips/issues"},"dist":{"shasum":"ae0ec1d0e41e790adfc100c76db53fc5fe5d87bb","tarball":"https://registry.npmjs.org/@denodecom/wasm-vips/-/wasm-vips-0.0.10.tgz","fileCount":48,"integrity":"sha512-oovGWeGgzUqWoMlAnrTrxA12sRa6Pk/916t6JKUXjfBMFW3mw8zZpA01Y8pYrd/FCy7oz5xxrg/tPFORG7zc8w==","signatures":[{"sig":"MEQCIBBu6htqDUHDP7JVe6T6HFvzyK6an+ki/mf/W3FEPVDEAiBii3lfqLzqIPQgOspi/zlAExtzreBFYMC3c8ELNFRECA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58954045},"main":"lib/vips-node.js","type":"commonjs","types":"lib/vips.d.ts","browser":"lib/vips.js","engines":{"node":">=16.4.0"},"exports":{".":{"node":{"import":"./lib/vips-node.mjs","require":"./lib/vips-node.js"},"browser":{"import":"./lib/vips-es6.js","require":"./lib/vips.js"},"default":"./lib/vips.js"},"./slim":{"node":{"import":"./lib/slim/vips-node.mjs","require":"./lib/slim/vips-node.js"},"browser":{"import":"./lib/slim/vips-es6.js","require":"./lib/slim/vips.js"},"default":"./lib/slim/vips.js"},"./lowmem":{"node":{"import":"./lib/lowmem/vips-node.mjs","require":"./lib/lowmem/vips-node.js"},"browser":{"import":"./lib/lowmem/vips-es6.js","require":"./lib/lowmem/vips.js"},"default":"./lib/lowmem/vips.js"},"./nosimd":{"node":{"import":"./lib/nosimd/vips-node.mjs","require":"./lib/nosimd/vips-node.js"},"browser":{"import":"./lib/nosimd/vips-es6.js","require":"./lib/nosimd/vips.js"},"default":"./lib/nosimd/vips.js"},"./versions":"./versions.json","./nosimd/slim":{"node":{"import":"./lib/nosimd/slim/vips-node.mjs","require":"./lib/nosimd/slim/vips-node.js"},"browser":{"import":"./lib/nosimd/slim/vips-es6.js","require":"./lib/nosimd/slim/vips.js"},"default":"./lib/nosimd/slim/vips.js"},"./nosimd/lowmem":{"node":{"import":"./lib/nosimd/lowmem/vips-node.mjs","require":"./lib/nosimd/lowmem/vips-node.js"},"browser":{"import":"./lib/nosimd/lowmem/vips-es6.js","require":"./lib/nosimd/lowmem/vips.js"},"default":"./lib/nosimd/lowmem/vips.js"}},"gitHead":"55b9003f2eed281a8de0aa37430d198b16252c8a","scripts":{"test":"npm run test:lint && npm run test:all:base && npm run test:all:nosimd","bench":"npm run bench:node","build":"npm run build:all:base && npm run build:all:nosimd","test:web":"serve -c test/unit/serve.json","bench:web":"serve -c test/bench/serve.json","test:base":"npm run test:node","test:lint":"semistandard","test:node":"npm --prefix test/unit test","test:slim":"VARIANT=slim npm run test:node","bench:node":"npm --prefix test/bench test","build:base":"docker build -t wasm-vips . && docker run -it --rm -v $(pwd):/src wasm-vips ./build.sh","build:slim":"docker build -t wasm-vips . && docker run -it --rm -v $(pwd):/src wasm-vips ./build.sh --slim --variant slim --disable-modules --disable-jxl --disable-avif --disable-svg --disable-analyze --disable-radiance --disable-ppm --disable-gif --disable-tiff --disable-fs","test:lowmem":"VARIANT=lowmem npm run test:node","test:nosimd":"VARIANT=nosimd npm run test:node","build:lowmem":"docker build -t wasm-vips . && docker run -it --rm -v $(pwd):/src wasm-vips ./build.sh --slim --variant lowmem","build:nosimd":"npm run build:base -- --variant nosimd --disable-simd","test:all:base":"npm run test:base && npm run test:lowmem && npm run test:slim","build:all:base":"npm run build:base -- --clean-build && npm run build:slim -- --clean-build && npm run build:lowmem -- --clean-build","test:all:nosimd":"npm run test:nosimd && npm run test:nosimd:lowmem && npm run test:nosimd:slim","build:all:nosimd":"npm run build:nosimd -- --clean-build && npm run build:nosimd:slim -- --clean-build && npm run build:nosimd:lowmem -- --clean-build","test:nosimd:slim":"VARIANT=nosimd/slim npm run test:node","build:nosimd:slim":"npm run build:slim -- --variant nosimd/slim --disable-simd","test:nosimd:lowmem":"VARIANT=nosimd/lowmem npm run test:node","build:nosimd:lowmem":"npm run build:lowmem -- --variant nosimd/lowmem --disable-simd"},"_npmUser":{"name":"marcosc90","email":"marcoscvp90@gmail.com"},"repository":{"url":"git+https://github.com/kleisauke/wasm-vips.git","type":"git"},"_npmVersion":"10.7.0","description":"libvips for the browser and Node.js, compiled to WebAssembly with Emscripten","directories":{},"_nodeVersion":"22.2.0","semistandard":{"env":["browser","node","mocha"],"ignore":["src/closure-externs/wasm-vips.js","src/fixed-threadpool-web.js","src/modules-pre.js","src/workaround-cors-pre.js"],"globals":["vips"]},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","mocha":"^10.4.0","serve":"^14.2.3","semistandard":"^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/wasm-vips_0.0.10_1719256332206_0.6760050117828456","host":"s3://npm-registry-packages"}},"0.0.11":{"name":"@denodecom/wasm-vips","version":"0.0.11","author":{"name":"Kleis Auke Wolthuizen"},"license":"MIT","_id":"@denodecom/wasm-vips@0.0.11","maintainers":[{"name":"marcosc90","email":"marcoscvp90@gmail.com"}],"homepage":"https://github.com/kleisauke/wasm-vips","bugs":{"url":"https://github.com/kleisauke/wasm-vips/issues"},"dist":{"shasum":"7700cdbbe303d73d6ec84faba35d41cba2f7c418","tarball":"https://registry.npmjs.org/@denodecom/wasm-vips/-/wasm-vips-0.0.11.tgz","fileCount":48,"integrity":"sha512-QFK324GkYK75dBk8wQieqigpT5tyRrEtaoRwq3+ZRz3VJTU84VsW2z4pK13AsoH3kUC/zdnHFFsNbr8oUn9AGg==","signatures":[{"sig":"MEUCIQD+6IN0ou6CdTPFHUf8xlQfjp8zBNDGAxlrmRzSsftnGgIgSzk6gdFYyL5FqW8Mgx9m/apL1dKkgC2hayjzDSI7PnA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59111754},"main":"lib/vips-node.js","type":"commonjs","types":"lib/vips.d.ts","browser":"lib/vips.js","engines":{"node":">=16.4.0"},"exports":{".":{"node":{"import":"./lib/vips-node.mjs","require":"./lib/vips-node.js"},"browser":{"import":"./lib/vips-es6.js","require":"./lib/vips.js"},"default":"./lib/vips.js"},"./slim":{"node":{"import":"./lib/slim/vips-node.mjs","require":"./lib/slim/vips-node.js"},"browser":{"import":"./lib/slim/vips-es6.js","require":"./lib/slim/vips.js"},"default":"./lib/slim/vips.js"},"./lowmem":{"node":{"import":"./lib/lowmem/vips-node.mjs","require":"./lib/lowmem/vips-node.js"},"browser":{"import":"./lib/lowmem/vips-es6.js","require":"./lib/lowmem/vips.js"},"default":"./lib/lowmem/vips.js"},"./nosimd":{"node":{"import":"./lib/nosimd/vips-node.mjs","require":"./lib/nosimd/vips-node.js"},"browser":{"import":"./lib/nosimd/vips-es6.js","require":"./lib/nosimd/vips.js"},"default":"./lib/nosimd/vips.js"},"./versions":"./versions.json","./nosimd/slim":{"node":{"import":"./lib/nosimd/slim/vips-node.mjs","require":"./lib/nosimd/slim/vips-node.js"},"browser":{"import":"./lib/nosimd/slim/vips-es6.js","require":"./lib/nosimd/slim/vips.js"},"default":"./lib/nosimd/slim/vips.js"},"./nosimd/lowmem":{"node":{"import":"./lib/nosimd/lowmem/vips-node.mjs","require":"./lib/nosimd/lowmem/vips-node.js"},"browser":{"import":"./lib/nosimd/lowmem/vips-es6.js","require":"./lib/nosimd/lowmem/vips.js"},"default":"./lib/nosimd/lowmem/vips.js"}},"gitHead":"dd1244417d3dd154904060c4932ff0c300485959","scripts":{"test":"npm run test:lint && npm run test:all:base && npm run test:all:nosimd","bench":"npm run bench:node","build":"npm run build:all:base && npm run build:all:nosimd","test:web":"serve -c test/unit/serve.json","bench:web":"serve -c test/bench/serve.json","test:base":"npm run test:node","test:lint":"semistandard","test:node":"npm --prefix test/unit test","test:slim":"VARIANT=slim npm run test:node","bench:node":"npm --prefix test/bench test","build:base":"docker build -t wasm-vips . && docker run -it --rm -v $(pwd):/src wasm-vips ./build.sh","build:slim":"docker build -t wasm-vips . && docker run -it --rm -v $(pwd):/src wasm-vips ./build.sh --slim --variant slim --disable-modules --disable-jxl --disable-avif --disable-svg --disable-analyze --disable-radiance --disable-ppm --disable-gif --disable-tiff --disable-fs","test:lowmem":"VARIANT=lowmem npm run test:node","test:nosimd":"VARIANT=nosimd npm run test:node","build:lowmem":"docker build -t wasm-vips . && docker run -it --rm -v $(pwd):/src wasm-vips ./build.sh --slim --variant lowmem","build:nosimd":"npm run build:base -- --variant nosimd --disable-simd","test:all:base":"npm run test:base && npm run test:lowmem && npm run test:slim","build:all:base":"npm run build:base -- --clean-build && npm run build:slim -- --clean-build && npm run build:lowmem -- --clean-build","test:all:nosimd":"npm run test:nosimd && npm run test:nosimd:lowmem && npm run test:nosimd:slim","build:all:nosimd":"npm run build:nosimd -- --clean-build && npm run build:nosimd:slim -- --clean-build && npm run build:nosimd:lowmem -- --clean-build","test:nosimd:slim":"VARIANT=nosimd/slim npm run test:node","build:nosimd:slim":"npm run build:slim -- --variant nosimd/slim --disable-simd","test:nosimd:lowmem":"VARIANT=nosimd/lowmem npm run test:node","build:nosimd:lowmem":"npm run build:lowmem -- --variant nosimd/lowmem --disable-simd"},"_npmUser":{"name":"marcosc90","email":"marcoscvp90@gmail.com"},"repository":{"url":"git+https://github.com/kleisauke/wasm-vips.git","type":"git"},"_npmVersion":"10.8.1","description":"libvips for the browser and Node.js, compiled to WebAssembly with Emscripten","directories":{},"_nodeVersion":"22.3.0","semistandard":{"env":["browser","node","mocha"],"ignore":["src/closure-externs/wasm-vips.js","src/modules-pre.js","src/vips-library.js","src/workaround-cors-pre.js"],"globals":["vips"]},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.1","mocha":"^10.4.0","serve":"^14.2.3","semistandard":"^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/wasm-vips_0.0.11_1721593237614_0.5449828585715968","host":"s3://npm-registry-packages"}},"0.0.12":{"name":"@denodecom/wasm-vips","version":"0.0.12","description":"libvips for the browser and Node.js, compiled to WebAssembly with Emscripten","homepage":"https://github.com/kleisauke/wasm-vips","bugs":{"url":"https://github.com/kleisauke/wasm-vips/issues"},"repository":{"type":"git","url":"git+https://github.com/kleisauke/wasm-vips.git"},"license":"MIT","author":{"name":"Kleis Auke Wolthuizen"},"type":"commonjs","exports":{".":{"browser":{"import":"./lib/vips-es6.js","require":"./lib/vips.js"},"node":{"import":"./lib/vips-node.mjs","require":"./lib/vips-node.js"},"default":"./lib/vips.js"},"./nosimd/slim":{"browser":{"import":"./lib/nosimd/slim/vips-es6.js","require":"./lib/nosimd/slim/vips.js"},"node":{"import":"./lib/nosimd/slim/vips-node.mjs","require":"./lib/nosimd/slim/vips-node.js"},"default":"./lib/nosimd/slim/vips.js"},"./nosimd/lowmem":{"browser":{"import":"./lib/nosimd/lowmem/vips-es6.js","require":"./lib/nosimd/lowmem/vips.js"},"node":{"import":"./lib/nosimd/lowmem/vips-node.mjs","require":"./lib/nosimd/lowmem/vips-node.js"},"default":"./lib/nosimd/lowmem/vips.js"},"./nosimd":{"browser":{"import":"./lib/nosimd/vips-es6.js","require":"./lib/nosimd/vips.js"},"node":{"import":"./lib/nosimd/vips-node.mjs","require":"./lib/nosimd/vips-node.js"},"default":"./lib/nosimd/vips.js"},"./lowmem":{"browser":{"import":"./lib/lowmem/vips-es6.js","require":"./lib/lowmem/vips.js"},"node":{"import":"./lib/lowmem/vips-node.mjs","require":"./lib/lowmem/vips-node.js"},"default":"./lib/lowmem/vips.js"},"./slim":{"browser":{"import":"./lib/slim/vips-es6.js","require":"./lib/slim/vips.js"},"node":{"import":"./lib/slim/vips-node.mjs","require":"./lib/slim/vips-node.js"},"default":"./lib/slim/vips.js"},"./versions":"./versions.json"},"main":"lib/vips-node.js","browser":"lib/vips.js","types":"lib/vips.d.ts","scripts":{"build:base":"docker build -t wasm-vips . && docker run -it --rm -v $(pwd):/src wasm-vips ./build.sh","build:slim":"docker build -t wasm-vips . && docker run -it --rm -v $(pwd):/src wasm-vips ./build.sh --slim --variant slim --disable-modules --disable-jxl --disable-avif --disable-svg --disable-analyze --disable-radiance --disable-ppm --disable-gif --disable-tiff --disable-fs","build:lowmem":"docker build -t wasm-vips . && docker run -it --rm -v $(pwd):/src wasm-vips ./build.sh --slim --variant lowmem","build:nosimd:slim":"npm run build:slim -- --variant nosimd/slim --disable-simd","build:nosimd:lowmem":"npm run build:lowmem -- --variant nosimd/lowmem --disable-simd","build:nosimd":"npm run build:base -- --variant nosimd --disable-simd","build":"npm run build:all:base && npm run build:all:nosimd","build:all:base":"npm run build:base -- --clean-build && npm run build:slim -- --clean-build && npm run build:lowmem -- --clean-build","build:all:nosimd":"npm run build:nosimd -- --clean-build && npm run build:nosimd:slim -- --clean-build && npm run build:nosimd:lowmem -- --clean-build","test":"npm run test:lint && npm run test:all:base && npm run test:all:nosimd","test:all:base":"npm run test:base && npm run test:lowmem && npm run test:slim","test:all:nosimd":"npm run test:nosimd && npm run test:nosimd:lowmem && npm run test:nosimd:slim","test:base":"npm run test:node","test:lowmem":"VARIANT=lowmem npm run test:node","test:slim":"VARIANT=slim npm run test:node","test:nosimd:lowmem":"VARIANT=nosimd/lowmem npm run test:node","test:nosimd:slim":"VARIANT=nosimd/slim npm run test:node","test:nosimd":"VARIANT=nosimd npm run test:node","test:lint":"semistandard","test:node":"npm --prefix test/unit test","test:web":"serve -c test/unit/serve.json","bench":"npm run bench:node","bench:node":"npm --prefix test/bench test","bench:web":"serve -c test/bench/serve.json"},"devDependencies":{"chai":"^5.1.1","mocha":"^10.4.0","semistandard":"^17.0.0","serve":"^14.2.3"},"engines":{"node":">=16.4.0"},"semistandard":{"globals":["vips"],"ignore":["src/closure-externs/wasm-vips.js","src/modules-pre.js","src/vips-library.js","src/workaround-cors-pre.js"],"env":["browser","node","mocha"]},"_id":"@denodecom/wasm-vips@0.0.12","gitHead":"76ef0175d326d193d3697a79281959063dde266b","_nodeVersion":"22.3.0","_npmVersion":"10.8.1","dist":{"integrity":"sha512-9y0rj3d+FNclWkBybm62z3srfp8b0D+cJ300YEvsuoatD+NtbNujdhqHMKvhV9tWIQXh2yOrGhtF2HPFfejDKQ==","shasum":"bea1dac8a5f93ce5485756e988d8da071a497c3e","tarball":"https://registry.npmjs.org/@denodecom/wasm-vips/-/wasm-vips-0.0.12.tgz","fileCount":48,"unpackedSize":59111574,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICtVxO3ha4hdThvWUSGJfa4oem4GN5vUC8LI9OcqjJvRAiBsY7FT6XXqqUiOdi/3NpvrjLKTMy1k6ND9I1lCIyYMVw=="}]},"_npmUser":{"name":"marcosc90","email":"marcoscvp90@gmail.com"},"directories":{},"maintainers":[{"name":"marcosc90","email":"marcoscvp90@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/wasm-vips_0.0.12_1721599522783_0.8994878907415118"},"_hasShrinkwrap":false}},"time":{"created":"2024-06-23T16:36:06.275Z","modified":"2024-07-21T22:05:23.422Z","0.0.9":"2024-06-23T16:36:06.694Z","0.0.10":"2024-06-24T19:12:12.651Z","0.0.11":"2024-07-21T20:20:38.005Z","0.0.12":"2024-07-21T22:05:23.221Z"},"bugs":{"url":"https://github.com/kleisauke/wasm-vips/issues"},"author":{"name":"Kleis Auke Wolthuizen"},"license":"MIT","homepage":"https://github.com/kleisauke/wasm-vips","repository":{"type":"git","url":"git+https://github.com/kleisauke/wasm-vips.git"},"description":"libvips for the browser and Node.js, compiled to WebAssembly with Emscripten","maintainers":[{"name":"marcosc90","email":"marcoscvp90@gmail.com"}],"readme":"\n# wasm-vips\n\n[libvips](https://libvips.github.io/libvips) for the browser and Node.js,\ncompiled to WebAssembly with Emscripten.\n\nPrograms that use wasm-vips don't manipulate images directly, instead\nthey create pipelines of image processing operations building on a source\nimage. When the end of the pipe is connected to a destination, the whole\npipeline executes at once, streaming the image in parallel from source to\ndestination a section at a time. Because wasm-vips is parallel, it's quick,\nand because it doesn't need to keep entire images in memory, it's light.\n\n> [!NOTE]\n> This library is still under early development. See: [#1](\nhttps://github.com/kleisauke/wasm-vips/issues/1).\n\n\n## Package Variants\n\nThis **fork** of [`wasm-vips`](https://github.com/kleisauke/wasm-vips) provides different binaries in a single package to cater to different needs. Each variant is optimized for specific scenarios:\n- **`@denodecom/wasm-vips`**: The default build with full features and SIMD support.\n  - Supports all loaders.\n\n- **`@denodecom/wasm-vips/nosimd`**: Build without SIMD support.\n  - Supports all loaders.\n\n- **`@denodecom/wasm-vips/slim`**: A build with reduced features and memory usage.\n  - Supports only JPEG, PNG, and WebP loaders.\n  - Filesystem (FS) support is not available\n\n- **`@denodecom/wasm-vips/nosimd/slim`**: A slim build without SIMD support.\n  - Supports only JPEG, PNG, and WebP loaders.\n  - Filesystem (FS) support is not available\n\n- **`@denodecom/wasm-vips/lowmem`**: A low memory build with a maximum memory limit of 256MB to avoid out-of-memory (OOM) issues on iOS.\n  - Supports all loaders.\n\n- **`@denodecom/wasm-vips/nosimd/lowmem`**: A low memory build without SIMD support, with a maximum memory limit of 256MB to avoid out-of-memory (OOM) issues on iOS.\n  - Supports all loaders.\n\n\n## Engine support for default build\n\nAn engine that [supports WebAssembly SIMD](https://webassembly.org/roadmap/).\nThis is present on most major browser engines.\n\nFor V8-based engines, at least version 9.1.54 is required to match the final\nSIMD opcodes, this corresponds to Chrome 91, Node.js 16.4.0 and Deno 1.9.0.\n\nFor Spidermonkey-based engines, the JavaScript engine used in Mozilla Firefox\nand whose version numbers are aligned, at least version 89 is required.\n\nFor JavaScriptCore-based engines, the built-in JavaScript engine for WebKit,\nat least version 615.1.17 is required. This corresponds to Safari 16.4.\n\n| ![Chrome](https://github.com/alrra/browser-logos/raw/main/src/chrome/chrome_32x32.png)<br>Chrome | ![Firefox](https://github.com/alrra/browser-logos/raw/main/src/firefox/firefox_32x32.png)<br>Firefox | ![Safari](https://github.com/alrra/browser-logos/raw/main/src/safari/safari_32x32.png)<br>Safari | ![Edge](https://github.com/alrra/browser-logos/raw/main/src/edge/edge_32x32.png)<br>Edge | ![Node.js](https://github.com/alrra/browser-logos/raw/main/src/node.js/node.js_32x32.png)<br>Node.js | ![Deno](https://github.com/alrra/browser-logos/raw/main/src/deno/deno_32x32.png)<br>Deno |\n|:---:|:---:|:---:|:---:|:---:|:---:|\n| :heavy_check_mark:<br>[version 91+](https://www.chromestatus.com/feature/6533147810332672) | :heavy_check_mark:<br>[version 89+](https://bugzilla.mozilla.org/show_bug.cgi?id=1695585) | :heavy_check_mark:<br>[version 16.4+](https://webkit.org/blog/13966/webkit-features-in-safari-16-4/#javascript-and-webassembly) | :heavy_check_mark:<br>[version 91+](https://www.chromestatus.com/feature/6533147810332672) | :heavy_check_mark:<br>[version 16.4+](https://github.com/nodejs/node/pull/38273) | :heavy_check_mark:<br>[version 1.9+](https://github.com/denoland/deno/pull/10152) |\n\n## Installation\n\n`@denodecom/wasm-vips` can be installed with your favorite package manager.\n\n```shell\nnpm install @denodecom/wasm-vips\n```\n\n```shell\nyarn add @denodecom/wasm-vips\n```\n\n## Usage\n\n### Browser\n\nRequires `vips.js` (or `vips-es6.js`) and `vips.wasm` to be served from\nthe same directory.\n\nSince wasm-vips requires [the `SharedArrayBuffer` API](\nhttps://caniuse.com/sharedarraybuffer), the website needs to opt-in to\na cross-origin isolated state, by serving the following HTTP headers on\nboth the main document and `vips*.js` script:\n\n```http\nCross-Origin-Embedder-Policy: require-corp\nCross-Origin-Opener-Policy: same-origin\n```\n<sup>See <https://web.dev/coop-coep/> for more information.</sup>\n\nAfter that, wasm-vips can be imported and initialized like this:\n\n```html\n<script src=\"vips.js\"></script>\n<script type=\"module\">\n  const vips = await Vips();\n</script>\n```\n\nOr, if you prefer to use ES6 modules:\n\n```html\n<script type=\"module\">\n  import Vips from './vips-es6.js';\n  const vips = await Vips();\n</script>\n```\n<sup>This requires support for [`import()` in workers](https://caniuse.com/mdn-javascript_operators_import_worker_support).</sup>\n\n### Node.js\n\nOn Node.js, wasm-vips is published as [a dual-package](\nhttps://nodejs.org/api/packages.html#packages_conditional_exports), so it\ncan be imported as both CommonJS and ES6 module:\n\n```js\n// ES6 module\nimport Vips from '@denodecom/wasm-vips';\n\n// CommonJS module\nconst Vips = require('@denodecom/wasm-vips');\n```\n\nThen, wasm-vips can be initialized like this:\n\n```js\n// Usage with top-level await\nconst vips = await Vips();\n\n// Usage with .then\nVips().then(vips => {\n  // Code here\n});\n```\n\n### Deno\n\n```js\nimport Vips from 'npm:@denodecom/wasm-vips';\n\nconst vips = await Vips();\n```\n\n## Example\n\n```js\n// Load an image from a file\nlet im = vips.Image.newFromFile('owl.jpg');\n\n// Put im at position (100, 100) in a 3000 x 3000 pixel image,\n// make the other pixels in the image by mirroring im up / down /\n// left / right, see\n// https://libvips.github.io/libvips/API/current/libvips-conversion.html#vips-embed\nim = im.embed(100, 100, 3000, 3000, {\n  extend: 'mirror'\n});\n\n// Multiply the green (middle) band by 2, leave the other two alone\nim = im.multiply([1, 2, 1]);\n\n// Make an image from an array constant, convolve with it\nconst mask = vips.Image.newFromArray([\n  [-1, -1, -1],\n  [-1, 16, -1],\n  [-1, -1, -1]\n], 8.0);\n\nim = im.conv(mask, {\n  precision: 'integer'\n});\n\n// Finally, write the result to a buffer\nconst outBuffer = im.writeToBuffer('.jpg');\n```\n","readmeFilename":"README.md"}