chore: upgrade all deps (#170)

* chore: upgrade all deps
This commit is contained in:
LongYinan 2025-12-08 15:28:44 +08:00 committed by GitHub
parent cb45c5e587
commit 2cb265e472
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
23 changed files with 2374 additions and 1909 deletions

View File

@ -104,9 +104,6 @@ jobs:
build: |
export TARGET_CC=clang
export TARGET_CXX=clang++
export HOME_DIR=$(node -e "console.log(os.homedir())")
export CROSS_TOOLCHAIN_VERSION=$(node -e "console.log(require('@napi-rs/cross-toolchain/package.json').version)")
export BINDGEN_EXTRA_CLANG_ARGS="--sysroot=$HOME_DIR/.napi-rs/cross-toolchain/$CROSS_TOOLCHAIN_VERSION/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/sysroot"
yarn workspace @napi-rs/image build --features with_simd --target aarch64-unknown-linux-gnu --use-napi-cross
- host: ubuntu-latest
target: aarch64-linux-android
@ -155,7 +152,7 @@ jobs:
uses: KyleMayes/install-llvm-action@v2
if: ${{ matrix.settings.target == 'x86_64-unknown-linux-musl' }}
with:
version: "20"
version: '20'
- name: Install cargo-xwin
uses: taiki-e/install-action@v2
if: matrix.settings.target == 'i686-pc-windows-msvc' || matrix.settings.target == 'aarch64-pc-windows-msvc'
@ -221,8 +218,7 @@ jobs:
packages/binding/*.node
packages/binding/image.wasm32-wasi.wasm
if-no-files-found: error
build-armv7-linux-gnueabihf:
name: Build armv7-unknown-linux-gnueabihf
runs-on: ubuntu-latest

View File

@ -12,20 +12,20 @@
"website"
],
"devDependencies": {
"@napi-rs/cli": "^3.0.4",
"@napi-rs/cli": "^3.5.0",
"@taplo/cli": "^0.7.0",
"@types/node": "^24.1.0",
"@types/node": "^24.10.1",
"@types/sharp": "^0.32.0",
"ava": "^6.4.1",
"blurhash": "^2.0.5",
"chalk": "^5.4.1",
"electron": "^39.0.0",
"lerna": "^9.0.0",
"chalk": "^5.6.2",
"electron": "^39.2.6",
"lerna": "^9.0.3",
"npm-run-all2": "^8.0.4",
"prettier": "^3.6.2",
"prettier": "^3.7.4",
"rxjs": "^7.8.2",
"sharp": "^0.34.3",
"typescript": "^5.8.3"
"sharp": "^0.34.5",
"typescript": "^5.9.3"
},
"scripts": {
"artifacts": "lerna run artifacts",

View File

@ -43,7 +43,7 @@ svgtypes = "0.16"
version = "2"
[target.'cfg(not(all(target_os = "macos", target_arch = "x86_64")))'.dependencies]
libwebp-sys = { version = "0.14", default-features = false, features = ["std", "parallel", "avx2", "sse41", "neon", "generate-bindings"] }
libwebp-sys = { version = "0.14", default-features = false, features = ["std", "parallel", "avx2", "sse41", "neon"] }
[target.'cfg(all(target_os = "macos", target_arch = "x86_64"))'.dependencies]
libwebp-sys = { version = "0.14", default-features = false, features = ["std", "parallel", "generate-bindings"] }

View File

@ -53,15 +53,19 @@ test('should be able to lossless encode webp from jpeg', (t) => {
})
test('should be able to encode avif from png', (t) => {
t.true(new Transformer(PNG).avifSync({
speed: 10,
threads: 1,
}).length < PNG.length)
t.true(
new Transformer(PNG).avifSync({
speed: 10,
threads: 1,
}).length < PNG.length,
)
})
test('should be able to encode avif from jpeg', (t) => {
t.true(new Transformer(JPEG).avifSync({
speed: 10,
threads: 1,
}).length < JPEG.length)
t.true(
new Transformer(JPEG).avifSync({
speed: 10,
threads: 1,
}).length < JPEG.length,
)
})

View File

@ -3,9 +3,6 @@
// @ts-nocheck
/* auto-generated by NAPI-RS */
const { createRequire } = require('node:module')
require = createRequire(__filename)
const { readFileSync } = require('node:fs')
let nativeBinding = null
const loadErrors = []
@ -66,7 +63,7 @@ const isMuslFromChildProcess = () => {
function requireNative() {
if (process.env.NAPI_RS_NATIVE_LIBRARY_PATH) {
try {
nativeBinding = require(process.env.NAPI_RS_NATIVE_LIBRARY_PATH);
return require(process.env.NAPI_RS_NATIVE_LIBRARY_PATH);
} catch (err) {
loadErrors.push(err)
}
@ -108,7 +105,24 @@ function requireNative() {
}
} else if (process.platform === 'win32') {
if (process.arch === 'x64') {
if (process.config?.variables?.shlib_suffix === 'dll.a' || process.config?.variables?.node_target_type === 'shared_library') {
try {
return require('./image.win32-x64-gnu.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@napi-rs/image-win32-x64-gnu')
const bindingPackageVersion = require('@napi-rs/image-win32-x64-gnu/package.json').version
if (bindingPackageVersion !== '1.11.2' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 1.11.2 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
} else {
try {
return require('./image.win32-x64-msvc.node')
} catch (e) {
loadErrors.push(e)
@ -123,6 +137,7 @@ function requireNative() {
} catch (e) {
loadErrors.push(e)
}
}
} else if (process.arch === 'ia32') {
try {
return require('./image.win32-ia32-msvc.node')
@ -348,6 +363,40 @@ function requireNative() {
loadErrors.push(e)
}
}
} else if (process.arch === 'loong64') {
if (isMusl()) {
try {
return require('./image.linux-loong64-musl.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@napi-rs/image-linux-loong64-musl')
const bindingPackageVersion = require('@napi-rs/image-linux-loong64-musl/package.json').version
if (bindingPackageVersion !== '1.11.2' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 1.11.2 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
} else {
try {
return require('./image.linux-loong64-gnu.node')
} catch (e) {
loadErrors.push(e)
}
try {
const binding = require('@napi-rs/image-linux-loong64-gnu')
const bindingPackageVersion = require('@napi-rs/image-linux-loong64-gnu/package.json').version
if (bindingPackageVersion !== '1.11.2' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 1.11.2 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
return binding
} catch (e) {
loadErrors.push(e)
}
}
} else if (process.arch === 'riscv64') {
if (isMusl()) {
try {
@ -477,22 +526,32 @@ function requireNative() {
nativeBinding = requireNative()
if (!nativeBinding || process.env.NAPI_RS_FORCE_WASI) {
let wasiBinding = null
let wasiBindingError = null
try {
nativeBinding = require('./image.wasi.cjs')
wasiBinding = require('./image.wasi.cjs')
nativeBinding = wasiBinding
} catch (err) {
if (process.env.NAPI_RS_FORCE_WASI) {
loadErrors.push(err)
wasiBindingError = err
}
}
if (!nativeBinding) {
try {
nativeBinding = require('@napi-rs/image-wasm32-wasi')
wasiBinding = require('@napi-rs/image-wasm32-wasi')
nativeBinding = wasiBinding
} catch (err) {
if (process.env.NAPI_RS_FORCE_WASI) {
wasiBindingError.cause = err
loadErrors.push(err)
}
}
}
if (process.env.NAPI_RS_FORCE_WASI === 'error' && !wasiBinding) {
const error = new Error('WASI binding not found and NAPI_RS_FORCE_WASI is set to error')
error.cause = wasiBindingError
throw error
}
}
if (!nativeBinding) {
@ -501,7 +560,12 @@ if (!nativeBinding) {
`Cannot find native binding. ` +
`npm has a bug related to optional dependencies (https://github.com/npm/cli/issues/4828). ` +
'Please try `npm i` again after removing both package-lock.json and node_modules directory.',
{ cause: loadErrors }
{
cause: loadErrors.reduce((err, cur) => {
cur.cause = err
return cur
}),
},
)
}
throw new Error(`Failed to load native binding`)

View File

@ -72,7 +72,7 @@
},
"repository": "git@github.com:Brooooooklyn/Image.git",
"devDependencies": {
"@napi-rs/cli": "^3.1.2",
"@napi-rs/wasm-runtime": "^1.0.3"
"@napi-rs/cli": "^3.5.0",
"@napi-rs/wasm-runtime": "^1.1.0"
}
}

View File

@ -0,0 +1,23 @@
import { generateStaticParamsFor, importPage } from 'nextra/pages'
import { useMDXComponents as getMDXComponents } from '../../mdx-components'
export const generateStaticParams = generateStaticParamsFor('mdxPath')
export async function generateMetadata(props) {
const params = await props.params
const { metadata } = await importPage(params.mdxPath)
return metadata
}
const Wrapper = getMDXComponents().wrapper
export default async function Page(props) {
const params = await props.params
const result = await importPage(params.mdxPath)
const { default: MDXContent, toc, metadata } = result
return (
<Wrapper toc={toc} metadata={metadata}>
<MDXContent {...props} params={params} />
</Wrapper>
)
}

98
website/app/layout.jsx Normal file
View File

@ -0,0 +1,98 @@
import { Footer, Layout, Navbar } from 'nextra-theme-docs'
import { Head } from 'nextra/components'
import { getPageMap } from 'nextra/page-map'
import Script from 'next/script'
import 'nextra-theme-docs/style.css'
import '../style.css'
export const metadata = {
title: '@napi-rs/image',
description: 'Fast image processing library',
openGraph: {
title: '@napi-rs/image',
description: 'Fast image processing library',
url: 'https://image.napi.rs',
siteName: 'Image',
type: 'website',
images: [
{
url: 'https://image.napi.rs/img/og.png',
},
],
},
twitter: {
card: 'summary_large_image',
site: '@Brooooook_lyn',
creator: '@Brooooook_lyn',
},
icons: {
icon: [
{ url: '/img/favicon-32x32.png', sizes: '32x32', type: 'image/png' },
{ url: '/img/favicon-16x16.png', sizes: '16x16', type: 'image/png' },
],
apple: '/img/apple-touch-icon.png',
},
}
const navbar = (
<Navbar
logo={
<>
<img src="/img/favicon.png" width={32} alt="@napi-rs/image" />
<span style={{ width: 170 }} className="x:mx-2 x:font-extrabold x:md:inline x:select-none">
@napi-rs/image
</span>
</>
}
projectLink="https://github.com/Brooooooklyn/Image"
chatLink="https://discord.gg/w8DAD7auZc"
/>
)
const footer = (
<Footer>
<p>
<a href="https://vercel.com?utm_source=napi-rs&utm_campaign=oss">
<img src="/img/powered-by-vercel.svg" alt="Powered by Vercel" />
</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Powered by{' '}
<a
href="https://nextra.site"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]"
target="_blank"
rel="noreferrer"
>
Nextra
</a>
</p>
</Footer>
)
export default async function RootLayout({ children }) {
return (
<html lang="en" dir="ltr" suppressHydrationWarning>
<Head color={{ hue: 300, saturation: 100 }}>
<meta name="msapplication-TileColor" content="#ffffff" />
<Script src="https://www.googletagmanager.com/gtag/js?id=G-50ZQKJLY5K" strategy="afterInteractive" />
<Script
id="gtag-init"
strategy="afterInteractive"
dangerouslySetInnerHTML={{
__html: `window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', 'G-50ZQKJLY5K');`,
}}
/>
</Head>
<body>
<Layout
navbar={navbar}
pageMap={await getPageMap()}
docsRepositoryBase="https://github.com/Brooooooklyn/Image/blob/main/website"
editLink="Edit this page on GitHub"
footer={footer}
>
{children}
</Layout>
</body>
</html>
)
}

View File

@ -21,7 +21,7 @@ const changelog = releases
href="$&"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">$1</a>`,
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">$1</a>`,
)
.replace(
/https:\/\/github\.com\/(.+?)\/(.+?)\/compare\/(.+?)@(.+?)\.\.\.(.+?)@(.+?)$/g,
@ -29,7 +29,7 @@ const changelog = releases
href="$&"
target="_blank"
rel="noopener"
className="nx-text-primary-600">$3@$4...$5@$6</a>`,
className="x:text-primary-600">$3@$4...$5@$6</a>`,
)
return `## <a href="${release.html_url}" target="_blank" rel="noopener">${release.tag_name}</a>
${new Date(release.published_at).toLocaleDateString(locale)} \n${body}`
@ -37,7 +37,7 @@ const changelog = releases
.join('\n\n')
await writeFile(
join(fileURLToPath(import.meta.url), '..', 'pages', 'changelog', 'index.md'),
join(fileURLToPath(import.meta.url), '..', 'content', 'changelog', 'index.md'),
`---
title: '@napi-rs/image'
description: '@napi-rs/image changelog.'

View File

@ -1,39 +1,43 @@
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.9.2" target="_blank" rel="noopener">@napi-rs/image@1.9.2</a>
4/20/2024
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.9.2" target="_blank" rel="noopener">@napi-rs/image@1.9.2</a>
4/20/2024
## What's Changed
* chore: remove libdeflater patch by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
- chore: remove libdeflater patch by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/89"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/89</a>
* chore: bump up Yarn to v4.1.1 by [@renovate](https://github.com/renovate) in <a
- chore: bump up Yarn to v4.1.1 by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/90"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/90</a>
* chore: bump up electron version to v30 by [@renovate](https://github.com/renovate) in <a
- chore: bump up electron version to v30 by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/92"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/92</a>
* chore: bump up all non-major dependencies by [@renovate](https://github.com/renovate) in <a
- chore: bump up all non-major dependencies by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/91"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/91</a>
* chore: bump up @napi-rs/wasm-runtime version to ^0.2.0 by [@renovate](https://github.com/renovate) in <a
- chore: bump up @napi-rs/wasm-runtime version to ^0.2.0 by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/93"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/93</a>
* refactor: use `no-const-enum` by [@kyranet](https://github.com/kyranet) in <a
- refactor: use `no-const-enum` by [@kyranet](https://github.com/kyranet) in <a
href="https://github.com/Brooooooklyn/Image/pull/94"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/94</a>
## New Contributors
* [@kyranet](https://github.com/kyranet) made their first contribution in <a
- [@kyranet](https://github.com/kyranet) made their first contribution in <a
href="https://github.com/Brooooooklyn/Image/pull/94"
target="_blank"
rel="noopener"
@ -45,134 +49,145 @@
rel="noopener"
className="nx-text-primary-600">@napi-rs/image@1.9.1...@napi-rs/image@1.9.2</a>
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.9.1" target="_blank" rel="noopener">@napi-rs/image@1.9.1</a>
2/22/2024
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.9.1" target="_blank" rel="noopener">@napi-rs/image@1.9.1</a>
2/22/2024
## What's Changed
* chore: bump up electron version to v29 by [@renovate](https://github.com/renovate) in <a
- chore: bump up electron version to v29 by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/87"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/87</a>
* fix(image): wasm fallback logic in js-binding file by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
- fix(image): wasm fallback logic in js-binding file by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/88"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/88</a>
**Full Changelog**: <a
href="https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.9.0...@napi-rs/image@1.9.1"
target="_blank"
rel="noopener"
className="nx-text-primary-600">@napi-rs/image@1.9.0...@napi-rs/image@1.9.1</a>
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.9.0" target="_blank" rel="noopener">@napi-rs/image@1.9.0</a>
2/19/2024
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.9.0" target="_blank" rel="noopener">@napi-rs/image@1.9.0</a>
2/19/2024
## What's Changed
* docs: update examples and site by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
- docs: update examples and site by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/85"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/85</a>
* feat: upgrade resvg by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
- feat: upgrade resvg by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/86"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/86</a>
**Full Changelog**: <a
href="https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.8.0...@napi-rs/image@1.9.0"
target="_blank"
rel="noopener"
className="nx-text-primary-600">@napi-rs/image@1.8.0...@napi-rs/image@1.9.0</a>
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.8.0" target="_blank" rel="noopener">@napi-rs/image@1.8.0</a>
2/14/2024
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.8.0" target="_blank" rel="noopener">@napi-rs/image@1.8.0</a>
2/14/2024
## What's Changed
* chore: bump up all non-major dependencies by [@renovate](https://github.com/renovate) in <a
- chore: bump up all non-major dependencies by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/66"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/66</a>
* chore: upgrade dependencies and CI template by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
- chore: upgrade dependencies and CI template by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/73"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/73</a>
* chore: Replace npm-run-all version with npm-run-all2 ^5.0.0 by [@renovate](https://github.com/renovate) in <a
- chore: Replace npm-run-all version with npm-run-all2 ^5.0.0 by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/80"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/80</a>
* chore: bump up npm-run-all2 version to v6 by [@renovate](https://github.com/renovate) in <a
- chore: bump up npm-run-all2 version to v6 by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/82"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/82</a>
* feat: add wasm build by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
- feat: add wasm build by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/81"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/81</a>
**Full Changelog**: <a
href="https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.7.0...@napi-rs/image@1.8.0"
target="_blank"
rel="noopener"
className="nx-text-primary-600">@napi-rs/image@1.7.0...@napi-rs/image@1.8.0</a>
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.7.0" target="_blank" rel="noopener">@napi-rs/image@1.7.0</a>
9/27/2023
## 🚨Security update for CVE-2023-4863
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.7.0" target="_blank" rel="noopener">@napi-rs/image@1.7.0</a>
9/27/2023
## 🚨Security update for CVE-2023-4863
- https://github.com/advisories/GHSA-j7hp-h8jx-5ppr
- https://blog.isosceles.com/the-webp-0day/
## What's Changed
* feat: upgrade dependencies by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
- feat: upgrade dependencies by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/50"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/50</a>
* chore: bump up electron version to v26 by [@renovate](https://github.com/renovate) in <a
- chore: bump up electron version to v26 by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/58"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/58</a>
* chore: bump up Yarn to v3.6.2 by [@renovate](https://github.com/renovate) in <a
- chore: bump up Yarn to v3.6.2 by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/59"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/59</a>
* chore: bump up Yarn to v3.6.3 by [@renovate](https://github.com/renovate) in <a
- chore: bump up Yarn to v3.6.3 by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/60"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/60</a>
* chore: bump up actions/checkout action to v4 by [@renovate](https://github.com/renovate) in <a
- chore: bump up actions/checkout action to v4 by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/62"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/62</a>
* chore: bump up docker/setup-qemu-action action to v3 by [@renovate](https://github.com/renovate) in <a
- chore: bump up docker/setup-qemu-action action to v3 by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/63"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/63</a>
* chore: bump up Rust crate mozjpeg-sys to v2 by [@renovate](https://github.com/renovate) in <a
- chore: bump up Rust crate mozjpeg-sys to v2 by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/61"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/61</a>
* chore: upgrade dependencies by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
- chore: upgrade dependencies by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/64"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/64</a>
## New Contributors
* [@renovate](https://github.com/renovate) made their first contribution in <a
- [@renovate](https://github.com/renovate) made their first contribution in <a
href="https://github.com/Brooooooklyn/Image/pull/58"
target="_blank"
rel="noopener"
@ -184,32 +199,36 @@
rel="noopener"
className="nx-text-primary-600">@napi-rs/image@1.6.1...@napi-rs/image@1.7.0</a>
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.6.1" target="_blank" rel="noopener">@napi-rs/image@1.6.1</a>
3/12/2023
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.6.1" target="_blank" rel="noopener">@napi-rs/image@1.6.1</a>
3/12/2023
## What's Changed
* chore: bump Nextra to 2.2.16 by [@liby](https://github.com/liby) in <a
- chore: bump Nextra to 2.2.16 by [@liby](https://github.com/liby) in <a
href="https://github.com/Brooooooklyn/Image/pull/45"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/45</a>
* docs: improve changelog parser by [@liby](https://github.com/liby) in <a
- docs: improve changelog parser by [@liby](https://github.com/liby) in <a
href="https://github.com/Brooooooklyn/Image/pull/46"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/46</a>
* fix(docs): typo correction by [@ggallon](https://github.com/ggallon) in <a
- fix(docs): typo correction by [@ggallon](https://github.com/ggallon) in <a
href="https://github.com/Brooooooklyn/Image/pull/47"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/47</a>
* perf(image): lazy load fontdb Database by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
- perf(image): lazy load fontdb Database by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/49"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/49</a>
## New Contributors
* [@ggallon](https://github.com/ggallon) made their first contribution in <a
- [@ggallon](https://github.com/ggallon) made their first contribution in <a
href="https://github.com/Brooooooklyn/Image/pull/47"
target="_blank"
rel="noopener"
@ -221,22 +240,26 @@
rel="noopener"
className="nx-text-primary-600">@napi-rs/image@1.6.0...@napi-rs/image@1.6.1</a>
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.6.0" target="_blank" rel="noopener">@napi-rs/image@1.6.0</a>
2/27/2023
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.6.0" target="_blank" rel="noopener">@napi-rs/image@1.6.0</a>
2/27/2023
## What's Changed
* change Buffer to Uint8Array in fromRgbaPixels by [@KhafraDev](https://github.com/KhafraDev) in <a
- change Buffer to Uint8Array in fromRgbaPixels by [@KhafraDev](https://github.com/KhafraDev) in <a
href="https://github.com/Brooooooklyn/Image/pull/41"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/41</a>
* feat(image): support Transformer from SVG by [@liby](https://github.com/liby) in <a
- feat(image): support Transformer from SVG by [@liby](https://github.com/liby) in <a
href="https://github.com/Brooooooklyn/Image/pull/44"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/44</a>
## New Contributors
* [@KhafraDev](https://github.com/KhafraDev) made their first contribution in <a
- [@KhafraDev](https://github.com/KhafraDev) made their first contribution in <a
href="https://github.com/Brooooooklyn/Image/pull/41"
target="_blank"
rel="noopener"
@ -248,27 +271,28 @@
rel="noopener"
className="nx-text-primary-600">@napi-rs/image@1.5.1...@napi-rs/image@1.6.0</a>
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.5.1" target="_blank" rel="noopener">@napi-rs/image@1.5.1</a>
1/29/2023
## [1.5.1](https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.5.0...@napi-rs/image@1.5.1) (2023-01-29)
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.5.1" target="_blank" rel="noopener">@napi-rs/image@1.5.1</a>
1/29/2023
## [1.5.1](https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.5.0...@napi-rs/image@1.5.1) (2023-01-29)
### Bug Fixes
* **image:** update napi to fix electron create Buffer issues ([#39](https://github.com/Brooooooklyn/Image/issues/39)) ([e710222](https://github.com/Brooooooklyn/Image/commit/e7102224d67e390e0f897aea21a8da375676479d))
- **image:** update napi to fix electron create Buffer issues ([#39](https://github.com/Brooooooklyn/Image/issues/39)) ([e710222](https://github.com/Brooooooklyn/Image/commit/e7102224d67e390e0f897aea21a8da375676479d))
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.5.0" target="_blank" rel="noopener">@napi-rs/image@1.5.0</a>
1/17/2023
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.5.0" target="_blank" rel="noopener">@napi-rs/image@1.5.0</a>
1/17/2023
## Core updates
### Fast Resize
Powered by https://github.com/Cykooz/fast_image_resize
**Performance**
#### x86_64 (AVX2)
```
@ -301,49 +325,50 @@ fast resize: 431.185ms
```
```js
const output = await new Transformer(NASA).fastResize({
width: 1024,
filter: FastResizeFilter.Lanczos3,
}).png()
const output = await new Transformer(NASA)
.fastResize({
width: 1024,
filter: FastResizeFilter.Lanczos3,
})
.png()
```
We are keeping the `resize` API because the `ResizeFilter` algorithm is different between the `fast_image_resize` and `image` crates.
### overlay
```js
writeFileSync(
'output-overlay-png.png',
await new Transformer(PNG).overlay(PNG, 200, 200).png()
)
writeFileSync('output-overlay-png.png', await new Transformer(PNG).overlay(PNG, 200, 200).png())
```
![image](https://user-images.githubusercontent.com/3468483/212720571-b8fa3a6e-e9a9-44b3-b80f-b765f09d2ce3.png)
## What's Changed
* chore: add issue form templates by [@liby](https://github.com/liby) in <a
- chore: add issue form templates by [@liby](https://github.com/liby) in <a
href="https://github.com/Brooooooklyn/Image/pull/32"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/32</a>
* feat(image): implement `overlay` by [@liby](https://github.com/liby) in <a
- feat(image): implement `overlay` by [@liby](https://github.com/liby) in <a
href="https://github.com/Brooooooklyn/Image/pull/33"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/33</a>
* feat(image): provide fast resize method by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
- feat(image): provide fast resize method by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/34"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/34</a>
* perf(image): make overlay lazy by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
- perf(image): make overlay lazy by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/35"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/35</a>
## New Contributors
* [@liby](https://github.com/liby) made their first contribution in <a
- [@liby](https://github.com/liby) made their first contribution in <a
href="https://github.com/Brooooooklyn/Image/pull/32"
target="_blank"
rel="noopener"
@ -355,143 +380,125 @@ writeFileSync(
rel="noopener"
className="nx-text-primary-600">@napi-rs/image@1.4.4...@napi-rs/image@1.5.0</a>
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.4.4" target="_blank" rel="noopener">@napi-rs/image@1.4.4</a>
1/3/2023
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.4.4" target="_blank" rel="noopener">@napi-rs/image@1.4.4</a>
1/3/2023
## What's Changed
* chore(image): fix android build by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
- chore(image): fix android build by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/30"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/30</a>
**Full Changelog**: <a
href="https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.4.3...@napi-rs/image@1.4.4"
target="_blank"
rel="noopener"
className="nx-text-primary-600">@napi-rs/image@1.4.3...@napi-rs/image@1.4.4</a>
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.4.3" target="_blank" rel="noopener">@napi-rs/image@1.4.3</a>
1/3/2023
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.4.3" target="_blank" rel="noopener">@napi-rs/image@1.4.3</a>
1/3/2023
## What's Changed
* Update oxipng by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
- Update oxipng by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/29"
target="_blank"
rel="noopener"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/29</a>
**Full Changelog**: <a
href="https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.4.2...@napi-rs/image@1.4.3"
target="_blank"
rel="noopener"
className="nx-text-primary-600">@napi-rs/image@1.4.2...@napi-rs/image@1.4.3</a>
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.4.2" target="_blank" rel="noopener">@napi-rs/image@1.4.2</a>
12/20/2022
## [1.4.2](https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.4.1...@napi-rs/image@1.4.2) (2022-12-20)
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.4.2" target="_blank" rel="noopener">@napi-rs/image@1.4.2</a>
12/20/2022
## [1.4.2](https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.4.1...@napi-rs/image@1.4.2) (2022-12-20)
### Bug Fixes
* **binding:** early return when input images are optimized ([#28](https://github.com/Brooooooklyn/Image/issues/28)) ([b695642](https://github.com/Brooooooklyn/Image/commit/b695642560e5aa43741e6a166119aa7b6d55145f))
- **binding:** early return when input images are optimized ([#28](https://github.com/Brooooooklyn/Image/issues/28)) ([b695642](https://github.com/Brooooooklyn/Image/commit/b695642560e5aa43741e6a166119aa7b6d55145f))
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.4.1" target="_blank" rel="noopener">@napi-rs/image@1.4.1</a>
10/7/2022
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.4.1" target="_blank" rel="noopener">@napi-rs/image@1.4.1</a>
10/7/2022
## [1.4.1](https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.4.0...@napi-rs/image@1.4.1) (2022-10-07)
**Note:** Version bump only for package @napi-rs/image
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.4.0" target="_blank" rel="noopener">@napi-rs/image@1.4.0</a>
8/23/2022
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.4.0" target="_blank" rel="noopener">@napi-rs/image@1.4.0</a>
8/23/2022
# [1.4.0](https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.3.0...@napi-rs/image@1.4.0) (2022-08-23)
### Features
* **image:** upgrade libwebp to 0.7 ([#22](https://github.com/Brooooooklyn/Image/issues/22)) ([d3cde1c](https://github.com/Brooooooklyn/Image/commit/d3cde1c0e22bbd2b0e42ce604dcc668b6e364eb7))
- **image:** upgrade libwebp to 0.7 ([#22](https://github.com/Brooooooklyn/Image/issues/22)) ([d3cde1c](https://github.com/Brooooooklyn/Image/commit/d3cde1c0e22bbd2b0e42ce604dcc668b6e364eb7))
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.3.0" target="_blank" rel="noopener">@napi-rs/image@1.3.0</a>
5/18/2022
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.3.0" target="_blank" rel="noopener">@napi-rs/image@1.3.0</a>
5/18/2022
# [1.3.0](https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.2.0...@napi-rs/image@1.3.0) (2022-05-18)
### Features
* **image:** implement rawPixels and rawPixelsSync ([43e3938](https://github.com/Brooooooklyn/Image/commit/43e393860029cd3668aabf4d4362f8048faf4a6b))
- **image:** implement rawPixels and rawPixelsSync ([43e3938](https://github.com/Brooooooklyn/Image/commit/43e393860029cd3668aabf4d4362f8048faf4a6b))
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.2.0" target="_blank" rel="noopener">@napi-rs/image@1.2.0</a>
5/2/2022
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.2.0" target="_blank" rel="noopener">@napi-rs/image@1.2.0</a>
5/2/2022
# [1.2.0](https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.1.2...@napi-rs/image@1.2.0) (2022-05-02)
### Features
* **image:** implement crop ([8bccc89](https://github.com/Brooooooklyn/Image/commit/8bccc89f54ede29897e156c01ce024ce9f13143b))
* **image:** support decode avif and webp ([#18](https://github.com/Brooooooklyn/Image/issues/18)) ([2813560](https://github.com/Brooooooklyn/Image/commit/2813560b9240c143d2c62fbea48d08918a9556af))
- **image:** implement crop ([8bccc89](https://github.com/Brooooooklyn/Image/commit/8bccc89f54ede29897e156c01ce024ce9f13143b))
- **image:** support decode avif and webp ([#18](https://github.com/Brooooooklyn/Image/issues/18)) ([2813560](https://github.com/Brooooooklyn/Image/commit/2813560b9240c143d2c62fbea48d08918a9556af))
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.1.2" target="_blank" rel="noopener">@napi-rs/image@1.1.2</a>
4/22/2022
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.1.2" target="_blank" rel="noopener">@napi-rs/image@1.1.2</a>
4/22/2022
## [1.1.2](https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.1.1...@napi-rs/image@1.1.2) (2022-04-22)
### Bug Fixes
* **image:** manipulate image has no effect ([e224c25](https://github.com/Brooooooklyn/Image/commit/e224c259d709bba704549ca34fa7851da41a6a3d))
* **image:** webp encode LumaA8 and Luma8 ([2473680](https://github.com/Brooooooklyn/Image/commit/24736809eaa38237bd618b5860b12ae0ebe91bd6))
- **image:** manipulate image has no effect ([e224c25](https://github.com/Brooooooklyn/Image/commit/e224c259d709bba704549ca34fa7851da41a6a3d))
- **image:** webp encode LumaA8 and Luma8 ([2473680](https://github.com/Brooooooklyn/Image/commit/24736809eaa38237bd618b5860b12ae0ebe91bd6))
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.1.1" target="_blank" rel="noopener">@napi-rs/image@1.1.1</a>
4/21/2022
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.1.1" target="_blank" rel="noopener">@napi-rs/image@1.1.1</a>
4/21/2022
## [1.1.1](https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.1.0...@napi-rs/image@1.1.1) (2022-04-21)
### Bug Fixes
* **binding:** resize options and jpeg compress implementation ([b23c53b](https://github.com/Brooooooklyn/Image/commit/b23c53bf1085ef16b345a995fe130144dcf16a8f))
- **binding:** resize options and jpeg compress implementation ([b23c53b](https://github.com/Brooooooklyn/Image/commit/b23c53bf1085ef16b345a995fe130144dcf16a8f))
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.1.0" target="_blank" rel="noopener">@napi-rs/image@1.1.0</a>
4/19/2022
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.1.0" target="_blank" rel="noopener">@napi-rs/image@1.1.0</a>
4/19/2022
# 1.1.0 (2022-04-19)
### Features
* async Transformer class ([#9](https://github.com/Brooooooklyn/Image/issues/9)) ([7cd00d4](https://github.com/Brooooooklyn/Image/commit/7cd00d41814fb4a683c8b26762bbea558ebb87e2))
* **image:** implement png_quantize ([66f5e0f](https://github.com/Brooooooklyn/Image/commit/66f5e0f2ef1e8c692c87963f63994e030203cf14))
* **image:** implement svg_min ([5b916b3](https://github.com/Brooooooklyn/Image/commit/5b916b3c3cb93582eb0cbfccdf6a14e2d4deea65))
* **image:** support more operations on Transformer ([af8ed99](https://github.com/Brooooooklyn/Image/commit/af8ed994b74a3c8493bd5597b490ac636574c8a2))
* **image:** support Transformer from raw rgba pixels ([8d49a8c](https://github.com/Brooooooklyn/Image/commit/8d49a8c4d3e5e04f0c9ff66a07a1620d01241d67))
* support avif ([81fc73a](https://github.com/Brooooooklyn/Image/commit/81fc73a7ec3632160fbf17264ff7ec9306c08710))
* support webp ([e90ecdc](https://github.com/Brooooooklyn/Image/commit/e90ecdc4b97630a390982e5420790390891ade7c))
* transform into monorepo ([#3](https://github.com/Brooooooklyn/Image/issues/3)) ([d0de72e](https://github.com/Brooooooklyn/Image/commit/d0de72e2a884476878f49539c8bf4e85a7e1b2d1))
- async Transformer class ([#9](https://github.com/Brooooooklyn/Image/issues/9)) ([7cd00d4](https://github.com/Brooooooklyn/Image/commit/7cd00d41814fb4a683c8b26762bbea558ebb87e2))
- **image:** implement png_quantize ([66f5e0f](https://github.com/Brooooooklyn/Image/commit/66f5e0f2ef1e8c692c87963f63994e030203cf14))
- **image:** implement svg_min ([5b916b3](https://github.com/Brooooooklyn/Image/commit/5b916b3c3cb93582eb0cbfccdf6a14e2d4deea65))
- **image:** support more operations on Transformer ([af8ed99](https://github.com/Brooooooklyn/Image/commit/af8ed994b74a3c8493bd5597b490ac636574c8a2))
- **image:** support Transformer from raw rgba pixels ([8d49a8c](https://github.com/Brooooooklyn/Image/commit/8d49a8c4d3e5e04f0c9ff66a07a1620d01241d67))
- support avif ([81fc73a](https://github.com/Brooooooklyn/Image/commit/81fc73a7ec3632160fbf17264ff7ec9306c08710))
- support webp ([e90ecdc](https://github.com/Brooooooklyn/Image/commit/e90ecdc4b97630a390982e5420790390891ade7c))
- transform into monorepo ([#3](https://github.com/Brooooooklyn/Image/issues/3)) ([d0de72e](https://github.com/Brooooooklyn/Image/commit/d0de72e2a884476878f49539c8bf4e85a7e1b2d1))

View File

@ -1,7 +1,7 @@
export default {
'index': {
index: {
theme: {
sidebar: false,
}
}
}
},
},
}

View File

@ -0,0 +1,608 @@
---
title: '@napi-rs/image'
description: '@napi-rs/image changelog.'
---
# @napi-rs/image
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.11.2" target="_blank" rel="noopener">@napi-rs/image@1.11.2</a>
8/9/2025
## What's Changed
- chore: bump up actions/download-artifact action to v5 by @renovate[bot] in <a
href="https://github.com/Brooooooklyn/Image/pull/144"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/144</a>
- chore: bump up Rust crate libwebp-sys to 0.13 by @renovate[bot] in <a
href="https://github.com/Brooooooklyn/Image/pull/143"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/143</a>
**Full Changelog**: <a
href="https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.11.1...@napi-rs/image@1.11.2"
target="_blank"
rel="noopener"
className="x:text-primary-600">@napi-rs/image@1.11.1...@napi-rs/image@1.11.2</a>
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.11.1" target="_blank" rel="noopener">@napi-rs/image@1.11.1</a>
7/25/2025
## What's Changed
- ci: upgrade wasi-sdk to v25 by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/139"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/139</a>
- chore: upgrade to NAPI-RS 3.0 stable by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/142"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/142</a>
**Full Changelog**: <a
href="https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.11.0...@napi-rs/image@1.11.1"
target="_blank"
rel="noopener"
className="x:text-primary-600">@napi-rs/image@1.11.0...@napi-rs/image@1.11.1</a>
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.11.0" target="_blank" rel="noopener">@napi-rs/image@1.11.0</a>
7/7/2025
## What's Changed
- feat: metadataSync by [@vsn4ik](https://github.com/vsn4ik) in <a
href="https://github.com/Brooooooklyn/Image/pull/137"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/137</a>
## New Contributors
- [@vsn4ik](https://github.com/vsn4ik) made their first contribution in <a
href="https://github.com/Brooooooklyn/Image/pull/137"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/137</a>
**Full Changelog**: <a
href="https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.10.0...@napi-rs/image@1.11.0"
target="_blank"
rel="noopener"
className="x:text-primary-600">@napi-rs/image@1.10.0...@napi-rs/image@1.11.0</a>
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.10.0" target="_blank" rel="noopener">@napi-rs/image@1.10.0</a>
6/28/2025
## What's Changed
### Add aarch64-pc-windows-msvc target
- feat: upgrade all deps by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/132"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/132</a>
- chore(image): use slice rather than Uint8Array by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/134"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/134</a>
**Full Changelog**: <a
href="https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.9.2...@napi-rs/image@1.10.0"
target="_blank"
rel="noopener"
className="x:text-primary-600">@napi-rs/image@1.9.2...@napi-rs/image@1.10.0</a>
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.9.2" target="_blank" rel="noopener">@napi-rs/image@1.9.2</a>
4/20/2024
## What's Changed
- chore: remove libdeflater patch by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/89"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/89</a>
- chore: bump up Yarn to v4.1.1 by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/90"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/90</a>
- chore: bump up electron version to v30 by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/92"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/92</a>
- chore: bump up all non-major dependencies by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/91"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/91</a>
- chore: bump up @napi-rs/wasm-runtime version to ^0.2.0 by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/93"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/93</a>
- refactor: use `no-const-enum` by [@kyranet](https://github.com/kyranet) in <a
href="https://github.com/Brooooooklyn/Image/pull/94"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/94</a>
## New Contributors
- [@kyranet](https://github.com/kyranet) made their first contribution in <a
href="https://github.com/Brooooooklyn/Image/pull/94"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/94</a>
**Full Changelog**: <a
href="https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.9.1...@napi-rs/image@1.9.2"
target="_blank"
rel="noopener"
className="x:text-primary-600">@napi-rs/image@1.9.1...@napi-rs/image@1.9.2</a>
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.9.1" target="_blank" rel="noopener">@napi-rs/image@1.9.1</a>
2/22/2024
## What's Changed
- chore: bump up electron version to v29 by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/87"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/87</a>
- fix(image): wasm fallback logic in js-binding file by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/88"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/88</a>
**Full Changelog**: <a
href="https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.9.0...@napi-rs/image@1.9.1"
target="_blank"
rel="noopener"
className="x:text-primary-600">@napi-rs/image@1.9.0...@napi-rs/image@1.9.1</a>
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.9.0" target="_blank" rel="noopener">@napi-rs/image@1.9.0</a>
2/19/2024
## What's Changed
- docs: update examples and site by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/85"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/85</a>
- feat: upgrade resvg by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/86"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/86</a>
**Full Changelog**: <a
href="https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.8.0...@napi-rs/image@1.9.0"
target="_blank"
rel="noopener"
className="x:text-primary-600">@napi-rs/image@1.8.0...@napi-rs/image@1.9.0</a>
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.8.0" target="_blank" rel="noopener">@napi-rs/image@1.8.0</a>
2/14/2024
## What's Changed
- chore: bump up all non-major dependencies by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/66"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/66</a>
- chore: upgrade dependencies and CI template by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/73"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/73</a>
- chore: Replace npm-run-all version with npm-run-all2 ^5.0.0 by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/80"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/80</a>
- chore: bump up npm-run-all2 version to v6 by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/82"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/82</a>
- feat: add wasm build by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/81"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/81</a>
**Full Changelog**: <a
href="https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.7.0...@napi-rs/image@1.8.0"
target="_blank"
rel="noopener"
className="x:text-primary-600">@napi-rs/image@1.7.0...@napi-rs/image@1.8.0</a>
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.7.0" target="_blank" rel="noopener">@napi-rs/image@1.7.0</a>
9/27/2023
## 🚨Security update for CVE-2023-4863
- https://github.com/advisories/GHSA-j7hp-h8jx-5ppr
- https://blog.isosceles.com/the-webp-0day/
## What's Changed
- feat: upgrade dependencies by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/50"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/50</a>
- chore: bump up electron version to v26 by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/58"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/58</a>
- chore: bump up Yarn to v3.6.2 by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/59"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/59</a>
- chore: bump up Yarn to v3.6.3 by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/60"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/60</a>
- chore: bump up actions/checkout action to v4 by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/62"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/62</a>
- chore: bump up docker/setup-qemu-action action to v3 by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/63"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/63</a>
- chore: bump up Rust crate mozjpeg-sys to v2 by [@renovate](https://github.com/renovate) in <a
href="https://github.com/Brooooooklyn/Image/pull/61"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/61</a>
- chore: upgrade dependencies by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/64"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/64</a>
## New Contributors
- [@renovate](https://github.com/renovate) made their first contribution in <a
href="https://github.com/Brooooooklyn/Image/pull/58"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/58</a>
**Full Changelog**: <a
href="https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.6.1...@napi-rs/image@1.7.0"
target="_blank"
rel="noopener"
className="x:text-primary-600">@napi-rs/image@1.6.1...@napi-rs/image@1.7.0</a>
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.6.1" target="_blank" rel="noopener">@napi-rs/image@1.6.1</a>
3/12/2023
## What's Changed
- chore: bump Nextra to 2.2.16 by [@liby](https://github.com/liby) in <a
href="https://github.com/Brooooooklyn/Image/pull/45"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/45</a>
- docs: improve changelog parser by [@liby](https://github.com/liby) in <a
href="https://github.com/Brooooooklyn/Image/pull/46"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/46</a>
- fix(docs): typo correction by [@ggallon](https://github.com/ggallon) in <a
href="https://github.com/Brooooooklyn/Image/pull/47"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/47</a>
- perf(image): lazy load fontdb Database by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/49"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/49</a>
## New Contributors
- [@ggallon](https://github.com/ggallon) made their first contribution in <a
href="https://github.com/Brooooooklyn/Image/pull/47"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/47</a>
**Full Changelog**: <a
href="https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.6.0...@napi-rs/image@1.6.1"
target="_blank"
rel="noopener"
className="x:text-primary-600">@napi-rs/image@1.6.0...@napi-rs/image@1.6.1</a>
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.6.0" target="_blank" rel="noopener">@napi-rs/image@1.6.0</a>
2/27/2023
## What's Changed
- change Buffer to Uint8Array in fromRgbaPixels by [@KhafraDev](https://github.com/KhafraDev) in <a
href="https://github.com/Brooooooklyn/Image/pull/41"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/41</a>
- feat(image): support Transformer from SVG by [@liby](https://github.com/liby) in <a
href="https://github.com/Brooooooklyn/Image/pull/44"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/44</a>
## New Contributors
- [@KhafraDev](https://github.com/KhafraDev) made their first contribution in <a
href="https://github.com/Brooooooklyn/Image/pull/41"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/41</a>
**Full Changelog**: <a
href="https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.5.1...@napi-rs/image@1.6.0"
target="_blank"
rel="noopener"
className="x:text-primary-600">@napi-rs/image@1.5.1...@napi-rs/image@1.6.0</a>
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.5.1" target="_blank" rel="noopener">@napi-rs/image@1.5.1</a>
1/29/2023
## [1.5.1](https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.5.0...@napi-rs/image@1.5.1) (2023-01-29)
### Bug Fixes
- **image:** update napi to fix electron create Buffer issues ([#39](https://github.com/Brooooooklyn/Image/issues/39)) ([e710222](https://github.com/Brooooooklyn/Image/commit/e7102224d67e390e0f897aea21a8da375676479d))
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.5.0" target="_blank" rel="noopener">@napi-rs/image@1.5.0</a>
1/17/2023
## Core updates
### Fast Resize
Powered by https://github.com/Cykooz/fast_image_resize
**Performance**
#### x86_64 (AVX2)
```
OS: Windows 11 x86_64
Kernel: 10.0.22621
CPU: AMD Ryzen 9 5950X (32) @ 3.400GHz
Memory: 2535MiB / 32055MiB
```
```
sharp resize: 415.966ms
@napi-rs/image resize: 529.884ms
fast resize: 316.731ms
```
#### ARM64 (NEON)
```
OS: macOS 13.1 22C65 arm64
Host: MacBookPro18,2
Kernel: 22.2.0
CPU: Apple M1 Max
Memory: 8915MiB / 65536MiB
```
```
sharp resize: 616.549ms
@napi-rs/image resize: 525.776ms
fast resize: 431.185ms
```
```js
const output = await new Transformer(NASA)
.fastResize({
width: 1024,
filter: FastResizeFilter.Lanczos3,
})
.png()
```
We are keeping the `resize` API because the `ResizeFilter` algorithm is different between the `fast_image_resize` and `image` crates.
### overlay
```js
writeFileSync('output-overlay-png.png', await new Transformer(PNG).overlay(PNG, 200, 200).png())
```
![image](https://user-images.githubusercontent.com/3468483/212720571-b8fa3a6e-e9a9-44b3-b80f-b765f09d2ce3.png)
## What's Changed
- chore: add issue form templates by [@liby](https://github.com/liby) in <a
href="https://github.com/Brooooooklyn/Image/pull/32"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/32</a>
- feat(image): implement `overlay` by [@liby](https://github.com/liby) in <a
href="https://github.com/Brooooooklyn/Image/pull/33"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/33</a>
- feat(image): provide fast resize method by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/34"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/34</a>
- perf(image): make overlay lazy by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/35"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/35</a>
## New Contributors
- [@liby](https://github.com/liby) made their first contribution in <a
href="https://github.com/Brooooooklyn/Image/pull/32"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/32</a>
**Full Changelog**: <a
href="https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.4.4...@napi-rs/image@1.5.0"
target="_blank"
rel="noopener"
className="x:text-primary-600">@napi-rs/image@1.4.4...@napi-rs/image@1.5.0</a>
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.4.4" target="_blank" rel="noopener">@napi-rs/image@1.4.4</a>
1/3/2023
## What's Changed
- chore(image): fix android build by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/30"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/30</a>
**Full Changelog**: <a
href="https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.4.3...@napi-rs/image@1.4.4"
target="_blank"
rel="noopener"
className="x:text-primary-600">@napi-rs/image@1.4.3...@napi-rs/image@1.4.4</a>
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.4.3" target="_blank" rel="noopener">@napi-rs/image@1.4.3</a>
1/3/2023
## What's Changed
- Update oxipng by [@Brooooooklyn](https://github.com/Brooooooklyn) in <a
href="https://github.com/Brooooooklyn/Image/pull/29"
target="_blank"
rel="noopener"
className="x:text-primary-600 x:underline x:decoration-from-font [text-underline-position:from-font]">Brooooooklyn/Image/pull/29</a>
**Full Changelog**: <a
href="https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.4.2...@napi-rs/image@1.4.3"
target="_blank"
rel="noopener"
className="x:text-primary-600">@napi-rs/image@1.4.2...@napi-rs/image@1.4.3</a>
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.4.2" target="_blank" rel="noopener">@napi-rs/image@1.4.2</a>
12/20/2022
## [1.4.2](https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.4.1...@napi-rs/image@1.4.2) (2022-12-20)
### Bug Fixes
- **binding:** early return when input images are optimized ([#28](https://github.com/Brooooooklyn/Image/issues/28)) ([b695642](https://github.com/Brooooooklyn/Image/commit/b695642560e5aa43741e6a166119aa7b6d55145f))
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.4.1" target="_blank" rel="noopener">@napi-rs/image@1.4.1</a>
10/7/2022
## [1.4.1](https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.4.0...@napi-rs/image@1.4.1) (2022-10-07)
**Note:** Version bump only for package @napi-rs/image
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.4.0" target="_blank" rel="noopener">@napi-rs/image@1.4.0</a>
8/23/2022
# [1.4.0](https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.3.0...@napi-rs/image@1.4.0) (2022-08-23)
### Features
- **image:** upgrade libwebp to 0.7 ([#22](https://github.com/Brooooooklyn/Image/issues/22)) ([d3cde1c](https://github.com/Brooooooklyn/Image/commit/d3cde1c0e22bbd2b0e42ce604dcc668b6e364eb7))
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.3.0" target="_blank" rel="noopener">@napi-rs/image@1.3.0</a>
5/18/2022
# [1.3.0](https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.2.0...@napi-rs/image@1.3.0) (2022-05-18)
### Features
- **image:** implement rawPixels and rawPixelsSync ([43e3938](https://github.com/Brooooooklyn/Image/commit/43e393860029cd3668aabf4d4362f8048faf4a6b))
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.2.0" target="_blank" rel="noopener">@napi-rs/image@1.2.0</a>
5/2/2022
# [1.2.0](https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.1.2...@napi-rs/image@1.2.0) (2022-05-02)
### Features
- **image:** implement crop ([8bccc89](https://github.com/Brooooooklyn/Image/commit/8bccc89f54ede29897e156c01ce024ce9f13143b))
- **image:** support decode avif and webp ([#18](https://github.com/Brooooooklyn/Image/issues/18)) ([2813560](https://github.com/Brooooooklyn/Image/commit/2813560b9240c143d2c62fbea48d08918a9556af))
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.1.2" target="_blank" rel="noopener">@napi-rs/image@1.1.2</a>
4/22/2022
## [1.1.2](https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.1.1...@napi-rs/image@1.1.2) (2022-04-22)
### Bug Fixes
- **image:** manipulate image has no effect ([e224c25](https://github.com/Brooooooklyn/Image/commit/e224c259d709bba704549ca34fa7851da41a6a3d))
- **image:** webp encode LumaA8 and Luma8 ([2473680](https://github.com/Brooooooklyn/Image/commit/24736809eaa38237bd618b5860b12ae0ebe91bd6))
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.1.1" target="_blank" rel="noopener">@napi-rs/image@1.1.1</a>
4/21/2022
## [1.1.1](https://github.com/Brooooooklyn/Image/compare/@napi-rs/image@1.1.0...@napi-rs/image@1.1.1) (2022-04-21)
### Bug Fixes
- **binding:** resize options and jpeg compress implementation ([b23c53b](https://github.com/Brooooooklyn/Image/commit/b23c53bf1085ef16b345a995fe130144dcf16a8f))
## <a href="https://github.com/Brooooooklyn/Image/releases/tag/%40napi-rs/image%401.1.0" target="_blank" rel="noopener">@napi-rs/image@1.1.0</a>
4/19/2022
# 1.1.0 (2022-04-19)
### Features
- async Transformer class ([#9](https://github.com/Brooooooklyn/Image/issues/9)) ([7cd00d4](https://github.com/Brooooooklyn/Image/commit/7cd00d41814fb4a683c8b26762bbea558ebb87e2))
- **image:** implement png_quantize ([66f5e0f](https://github.com/Brooooooklyn/Image/commit/66f5e0f2ef1e8c692c87963f63994e030203cf14))
- **image:** implement svg_min ([5b916b3](https://github.com/Brooooooklyn/Image/commit/5b916b3c3cb93582eb0cbfccdf6a14e2d4deea65))
- **image:** support more operations on Transformer ([af8ed99](https://github.com/Brooooooklyn/Image/commit/af8ed994b74a3c8493bd5597b490ac636574c8a2))
- **image:** support Transformer from raw rgba pixels ([8d49a8c](https://github.com/Brooooooklyn/Image/commit/8d49a8c4d3e5e04f0c9ff66a07a1620d01241d67))
- support avif ([81fc73a](https://github.com/Brooooooklyn/Image/commit/81fc73a7ec3632160fbf17264ff7ec9306c08710))
- support webp ([e90ecdc](https://github.com/Brooooooklyn/Image/commit/e90ecdc4b97630a390982e5420790390891ade7c))
- transform into monorepo ([#3](https://github.com/Brooooooklyn/Image/issues/3)) ([d0de72e](https://github.com/Brooooooklyn/Image/commit/d0de72e2a884476878f49539c8bf4e85a7e1b2d1))

View File

@ -98,8 +98,8 @@ You can clone this repo and run the following command to taste the example below
>
> <img src="img/un-optimized.png" width="300" /> <br />
| Optimization | <div style={{ width: '80px' }}>Raw</div> | <div style={{ width: '80px' }}>Optimized</div> | Raw Size | Optimized Size |
| ------------------------------------------------------------------------------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------- | -------- | -------------- |
| Optimization | <div style={{ width: '80px' }}>Raw</div> | <div style={{ width: '80px' }}>Optimized</div> | Raw Size | Optimized Size |
| ------------------------------------------------------------------------------------------------------- | ------------------------------------------- | ----------------------------------------------------------------- | -------- | -------------- |
| `losslessCompressPng()` <br/>**Lossless** | ![un-optimized.png](./img/un-optimized.png) | ![optimized-lossless.png](./img/optimized-lossless.png) | `1.2M` | `876K` |
| `pngQuantize({ maxQuality: 75 })` <br/>**Lossy** | ![un-optimized.png](./img/un-optimized.png) | ![optimized-lossy.png](./img/optimized-lossy.png) | `1.2M` | `228K` |
| `compressJpeg()` <br/>**Lossless** | ![un-optimized.jpg](./img/un-optimized.jpg) | ![optimized-lossless.jpg](./img/optimized-lossless.jpg) | `192K` | `184K` |

View File

@ -0,0 +1,7 @@
import { useMDXComponents as getThemeComponents } from 'nextra-theme-docs'
const themeComponents = getThemeComponents()
export function useMDXComponents(components) {
return { ...themeComponents, ...components }
}

View File

@ -1,8 +1,6 @@
import nextra from 'nextra'
const withNextra = nextra({
theme: 'nextra-theme-docs',
themeConfig: './nextra.config.js',
staticImage: false,
latex: true,
search: {
@ -12,9 +10,6 @@ const withNextra = nextra({
})
export default withNextra({
experimental: {
esmExternals: true,
},
images: {
unoptimized: true,
},

View File

@ -1,83 +0,0 @@
import Script from 'next/script'
import { useConfig } from 'nextra-theme-docs'
/** @type {import('nextra-theme-docs').DocsThemeConfig} */
export default {
docsRepositoryBase: 'https://github.com/Brooooooklyn/Image/blob/main/website',
project: {
link: 'https://github.com/Brooooooklyn/Image',
},
chat: {
link: 'https://discord.gg/w8DAD7auZc',
},
logo: () => {
return (
<>
<img src="/img/favicon.png" width={32} />
<span style={{ width: 170 }} className="nx-mx-2 nx-font-extrabold nx-md:inline nx-select-none">
@napi-rs/image
</span>
</>
)
},
head: () => {
const { title, description } = useConfig()
return (
<>
{/* Favicons, meta */}
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@Brooooook_lyn" />
<meta name="twitter:creator" content="@Brooooook_lyn" />
<link rel="apple-touch-icon" sizes="180x180" href="/img/apple-touch-icon.png" />
<link rel="icon" type="image/png" sizes="32x32" href="/img/favicon-32x32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="/img/favicon-16x16.png" />
<meta name="msapplication-TileColor" content="#ffffff" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta httpEquiv="Content-Language" content="en" />
<meta name="description" content={description || 'Fast image processing library'} />
<meta property="og:title" content={title} />
<meta
property="og:image"
content={`https://${
process.env.VERCEL_URL && process.env.VERCEL_ENV !== 'production' ? process.env.VERCEL_URL : 'image.napi.rs'
}/img/og.png`}
/>
<meta property="og:description" content={description || 'Fast image processing library'} />
<meta property="og:url" content="https://image.napi.rs" />
<meta property="og:site_name" content="Image" />
<meta property="og:type" content="website" />
<Script src="https://www.googletagmanager.com/gtag/js?id=G-50ZQKJLY5K" />
<Script
dangerouslySetInnerHTML={{
__html: `window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', 'G-50ZQKJLY5K');`,
}}
/>
</>
)
},
editLink: {
text: () => {
return 'Edit this page on GitHub →'
},
},
footer: {
text: () => {
return (
<p>
<a href="https://vercel.com?utm_source=napi-rs&utm_campaign=oss">
<img src="/img/powered-by-vercel.svg" />
</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Powered by{' '}
<a
href="https://nextra.vercel.app"
className="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]"
target="_blank"
>
Nextra
</a>
</p>
)
},
},
}

View File

@ -4,15 +4,15 @@
"version": "0.0.0",
"type": "module",
"dependencies": {
"@napi-rs/canvas": "^0.1.74",
"@napi-rs/image": "^1.11.0",
"chalk": "^5.4.1",
"next": "^15.4.3",
"nextra": "^3",
"nextra-theme-docs": "^3",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"sharp": "^0.34.3"
"@napi-rs/canvas": "^0.1.84",
"@napi-rs/image": "^1.11.2",
"chalk": "^5.6.2",
"next": "^16.0.7",
"nextra": "^4.6.1",
"nextra-theme-docs": "^4.6.1",
"react": "^19.2.1",
"react-dom": "^19.2.1",
"sharp": "^0.34.5"
},
"scripts": {
"build": "node generate-img.js && node changelog.js && next build",

View File

@ -1,10 +0,0 @@
import 'nextra-theme-docs/style.css'
import '../style.css'
export default function App({ Component, pageProps }) {
// Use the layout defined at the page level, if available
const getLayout = Component.getLayout || ((page) => page)
return getLayout(<Component {...pageProps} />)
}

3002
yarn.lock

File diff suppressed because it is too large Load Diff