@bleedingdev/ipx 3.2.0 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,7 +4,7 @@ A minimal, distributable sidecar fork of [`ipx`](https://github.com/unjs/ipx)
4
4
  performance, secure and easy-to-use image optimizer" — by Pooya Parsa and the UnJS
5
5
  contributors, MIT licensed. The upstream `LICENSE` is preserved verbatim next to this file.
6
6
 
7
- Forked from **`ipx@3.1.1`**. Published as **`@bleedingdev/ipx@3.2.0`**.
7
+ Forked from **`ipx@3.1.1`**. Published as **`@bleedingdev/ipx@3.2.1`**.
8
8
 
9
9
  The `dist/` tree here is the upstream published build, vendored byte-for-byte except for the
10
10
  hunks listed below. Upstream ships no TypeScript sources in the npm tarball, so this fork
@@ -13,7 +13,7 @@ against `ipx@3.1.1` small enough to re-audit by eye on every upstream bump.
13
13
 
14
14
  ## Why this fork exists
15
15
 
16
- `@modern-js/image` depends on `sharp@^0.35.3`, but `ipx@3.1.1` declares `"sharp": "^0.34.3"`
16
+ `@modern-js/image` depends on `sharp@^0.35.4`, but `ipx@3.1.1` declares `"sharp": "^0.34.3"`
17
17
  as a **plain dependency**. A `0.x` caret does not admit `0.35.x`
18
18
  (`semver.satisfies("0.35.3", "^0.34.3") === false`), so every consumer of the published
19
19
  `@modern-js/image` also installs a second, older `sharp` — currently `sharp@0.34.5` — behind
@@ -22,7 +22,7 @@ IPX. Plain dependencies cannot be redirected from a consumer's manifest: `pnpm.o
22
22
  package. Forking the dependency and aliasing it in `@modern-js/image` is the only distributable
23
23
  fix.
24
24
 
25
- The version is a **stable** `3.2.0` on purpose. Both `@rsbuild-image/core` and
25
+ The version is a **stable** `3.2.1` on purpose. Both `@rsbuild-image/core` and
26
26
  `@rsbuild-image/react` declare the peer range `"ipx": ">=3.0.3"`, and npm evaluates non-wildcard
27
27
  peer ranges with a loose-only `semver.satisfies` that **excludes prereleases**. A prerelease
28
28
  version such as `3.2.0-ultramodern.1` would pass pnpm but fail strict npm and yarn-classic
@@ -30,7 +30,7 @@ consumers.
30
30
 
31
31
  ## Fork delta vs `ipx@3.1.1`
32
32
 
33
- ### 1. `sharp` dependency range: `^0.34.3` → `^0.35.3` (`package.json`)
33
+ ### 1. `sharp` dependency range: `^0.34.3` → `^0.35.4` (`package.json`)
34
34
 
35
35
  Aligns IPX with the `sharp` version `@modern-js/image` already declares, so a single, current
36
36
  `sharp` is installed for the whole image pipeline.
@@ -69,7 +69,7 @@ Behaviour notes:
69
69
  - `flat`/`jagged` map to `m1`/`m2`, whose valid range widens to `0`–`1000000` (Sharp 0.34's
70
70
  deprecated path capped them at `10000`).
71
71
 
72
- ### 3. CLI banner version string `3.1.1` → `3.2.0` (`dist/cli.mjs`, `dist/cli.cjs`)
72
+ ### 3. CLI banner version string `3.1.1` → `3.2.1` (`dist/cli.mjs`, `dist/cli.cjs`)
73
73
 
74
74
  Cosmetic and non-functional: the version is inlined into the published CLI at build time, so
75
75
  without this hunk `ipx --version` would disagree with this package's manifest. The bin name
@@ -108,6 +108,9 @@ Running the same script against the unpatched `ipx@3.1.1` dist on `sharp@0.35.3`
108
108
  differentiation assertions — every `sharpen` variant returns the identical mild-sharpen buffer —
109
109
  which is exactly the silent regression this fork removes.
110
110
 
111
+ Version 3.2.1 advances the Sharp dependency floor to 0.35.4. It uses a new
112
+ stable version because the package manifest changes the immutable npm tarball.
113
+
111
114
  ## Maintenance
112
115
 
113
116
  On an upstream `ipx` release, re-vendor `bin/`, `dist/` and `LICENSE`, then re-apply the hunks in
package/dist/cli.cjs CHANGED
@@ -15,7 +15,7 @@ require('ofetch');
15
15
  require('pathe');
16
16
 
17
17
  const name = "ipx";
18
- const version = "3.2.0";
18
+ const version = "3.2.1";
19
19
  const description = "High performance, secure and easy-to-use image optimizer.";
20
20
 
21
21
  const serve = citty.defineCommand({
package/dist/cli.mjs CHANGED
@@ -13,7 +13,7 @@ import 'ofetch';
13
13
  import 'pathe';
14
14
 
15
15
  const name = "ipx";
16
- const version = "3.2.0";
16
+ const version = "3.2.1";
17
17
  const description = "High performance, secure and easy-to-use image optimizer.";
18
18
 
19
19
  const serve = defineCommand({
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bleedingdev/ipx",
3
- "version": "3.2.0",
4
- "description": "UltraModern sidecar fork of ipx: high performance, secure and easy-to-use image optimizer, built against sharp ^0.35.3.",
3
+ "version": "3.2.1",
4
+ "description": "UltraModern sidecar fork of ipx: high performance, secure and easy-to-use image optimizer, built against sharp ^0.35.4.",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -47,7 +47,7 @@
47
47
  "listhen": "^1.9.0",
48
48
  "ofetch": "^1.4.1",
49
49
  "pathe": "^2.0.3",
50
- "sharp": "^0.35.3",
50
+ "sharp": "^0.35.4",
51
51
  "svgo": "^4.0.0",
52
52
  "ufo": "^1.6.1",
53
53
  "unstorage": "^1.16.1",