diff --git a/.changeset/inline-assets-scale-order.md b/.changeset/inline-assets-scale-order.md new file mode 100644 index 000000000..10d11f4dd --- /dev/null +++ b/.changeset/inline-assets-scale-order.md @@ -0,0 +1,5 @@ +--- +"@callstack/repack": patch +--- + +Pass scales of inlined assets to `AssetSourceResolver.pickScale` in ascending order. Previously, assets with fractional scales such as `@1.5x` resolved to the wrong variant, for example the `@1.5x` image on a device with a pixel ratio of 3.5. diff --git a/packages/repack/src/loaders/assetsLoader/__tests__/inlineAssets.test.ts b/packages/repack/src/loaders/assetsLoader/__tests__/inlineAssets.test.ts new file mode 100644 index 000000000..8d085bfb3 --- /dev/null +++ b/packages/repack/src/loaders/assetsLoader/__tests__/inlineAssets.test.ts @@ -0,0 +1,47 @@ +import vm from 'node:vm'; +import { inlineAssets } from '../inlineAssets.js'; +import type { Asset } from '../types.js'; + +// Same logic as `pickScale` from `react-native/Libraries/Image/AssetUtils`, +// which expects `scales` to be sorted in ascending order. +function pickScale(scales: number[], deviceScale: number) { + for (const scale of scales) { + if (scale >= deviceScale) { + return scale; + } + } + return scales[scales.length - 1] || 1; +} + +function evaluateInlinedAsset(code: string, pixelRatio: number) { + const module = { exports: {} as { scale?: number } }; + const require = (request: string) => + request === 'react-native' + ? { PixelRatio: { get: () => pixelRatio } } + : { pickScale }; + + vm.runInNewContext(code, { module, require }); + return module.exports; +} + +// out of order on purpose, `inlineAssets` must not rely on the caller sorting them +const assets: Asset[] = [2, 0.75, 3, 1.5, 1].map((scale) => ({ + data: Buffer.from(`star@${scale}x`), + dimensions: { width: 10, height: 10 }, + filename: `star@${scale}x.png`, + scale, +})); + +describe('inlineAssets', () => { + it.each([ + [0.75, 0.75], + [1, 1], + [1.5, 1.5], + [2.625, 3], + [3.5, 3], + ])('picks the right scale for pixel ratio %s', (pixelRatio, expected) => { + const code = inlineAssets({ assets, resourcePath: 'star.png' }); + + expect(evaluateInlinedAsset(code, pixelRatio).scale).toBe(expected); + }); +}); diff --git a/packages/repack/src/loaders/assetsLoader/inlineAssets.ts b/packages/repack/src/loaders/assetsLoader/inlineAssets.ts index 9dd776c5e..eaca12e1d 100644 --- a/packages/repack/src/loaders/assetsLoader/inlineAssets.ts +++ b/packages/repack/src/loaders/assetsLoader/inlineAssets.ts @@ -31,7 +31,12 @@ export function inlineAssets({ {} as Record ); - const scales = JSON.stringify(Object.keys(sourceSet).map(Number)); + // `pickScale` expects scales in ascending order. They are sorted here rather + // than read with `Object.keys`, which lists integer keys (1, 2, 3) before + // fractional ones (0.75, 1.5). + const scales = JSON.stringify( + assets.map(({ scale }) => scale).sort((a, b) => a - b) + ); /** * To enable scale resolution in runtime we need to import PixelRatio & AssetSourceResolver diff --git a/tests/integration/src/helpers.ts b/tests/integration/src/helpers.ts index fb8d71548..579bb6f74 100644 --- a/tests/integration/src/helpers.ts +++ b/tests/integration/src/helpers.ts @@ -109,7 +109,10 @@ export function getReactNativeVirtualModules( }; } static pickScale(scales, pixelRatio) { - return scales[pixelRatio - 1]; + for (var i = 0; i < scales.length; i++) { + if (scales[i] >= pixelRatio) return scales[i]; + } + return scales[scales.length - 1] || 1; } };`, }; diff --git a/tests/integration/src/loaders/__fixtures__/assets/star@1.5x.png b/tests/integration/src/loaders/__fixtures__/assets/star@1.5x.png new file mode 100644 index 000000000..57989bdab Binary files /dev/null and b/tests/integration/src/loaders/__fixtures__/assets/star@1.5x.png differ diff --git a/tests/integration/src/loaders/__snapshots__/rspack/assets-loader.test.ts.snap b/tests/integration/src/loaders/__snapshots__/rspack/assets-loader.test.ts.snap index d1d7631ce..405f17656 100644 --- a/tests/integration/src/loaders/__snapshots__/rspack/assets-loader.test.ts.snap +++ b/tests/integration/src/loaders/__snapshots__/rspack/assets-loader.test.ts.snap @@ -3,12 +3,13 @@ exports[`assetLoader > on android > should load and extract asset with scales 1`] = ` { "__packager_asset": true, - "hash": "86abef08a42e972a96c958d6fa9d43da,02ad731a8881911e488b51c48a4cc6c1,d9f7c31eebb3a41cc180431867b04f38", + "hash": "86abef08a42e972a96c958d6fa9d43da,9e7efe37227966bd2272d1f5915470cc,02ad731a8881911e488b51c48a4cc6c1,d9f7c31eebb3a41cc180431867b04f38", "height": 272, "httpServerLocation": "assets/__fixtures__/assets", "name": "star", "scales": [ 1, + 1.5, 2, 3, ], @@ -20,6 +21,8 @@ exports[`assetLoader > on android > should load and extract asset with scales 1` exports[`assetLoader > on android > should load and extract asset with scales 2`] = ` "/ └─ out/ + ├─ drawable-hdpi/ + │ └─ __fixtures___assets_star.png ├─ drawable-mdpi/ │ └─ __fixtures___assets_star.png ├─ drawable-xhdpi/ @@ -78,12 +81,13 @@ exports[`assetLoader > on android > should prefer platform specific asset 2`] = exports[`assetLoader > on ios > should load and extract asset with scales 1`] = ` { "__packager_asset": true, - "hash": "86abef08a42e972a96c958d6fa9d43da,02ad731a8881911e488b51c48a4cc6c1,d9f7c31eebb3a41cc180431867b04f38", + "hash": "86abef08a42e972a96c958d6fa9d43da,9e7efe37227966bd2272d1f5915470cc,02ad731a8881911e488b51c48a4cc6c1,d9f7c31eebb3a41cc180431867b04f38", "height": 272, "httpServerLocation": "assets/__fixtures__/assets", "name": "star", "scales": [ 1, + 1.5, 2, 3, ], @@ -99,6 +103,7 @@ exports[`assetLoader > on ios > should load and extract asset with scales 2`] = │ └─ __fixtures__/ │ └─ assets/ │ ├─ star.png + │ ├─ star@1.5x.png │ ├─ star@2x.png │ └─ star@3x.png └─ main.js" @@ -193,6 +198,7 @@ exports[`assetLoader > should convert to remote-asset > with scales 1 2`] = ` │ └─ __fixtures__/ │ └─ assets/ │ ├─ star.png + │ ├─ star@1.5x.png │ ├─ star@2x.png │ └─ star@3x.png └─ main.js" @@ -216,6 +222,7 @@ exports[`assetLoader > should convert to remote-asset > with scales 2 2`] = ` │ └─ __fixtures__/ │ └─ assets/ │ ├─ star.png + │ ├─ star@1.5x.png │ ├─ star@2x.png │ └─ star@3x.png └─ main.js" @@ -239,6 +246,7 @@ exports[`assetLoader > should convert to remote-asset > with scales 3 2`] = ` │ └─ __fixtures__/ │ └─ assets/ │ ├─ star.png + │ ├─ star@1.5x.png │ ├─ star@2x.png │ └─ star@3x.png └─ main.js" @@ -263,6 +271,7 @@ exports[`assetLoader > should convert to remote-asset > with specified assetPath │ └─ assets/ │ └─ nested-folder/ │ ├─ star-fake-hash.png + │ ├─ star-fake-hash@1.5x.png │ ├─ star-fake-hash@2x.png │ └─ star-fake-hash@3x.png └─ main.js" @@ -287,6 +296,7 @@ exports[`assetLoader > should convert to remote-asset > with specified assetPath │ └─ assets/ │ └─ nested-folder/ │ ├─ star-fake-hash.png + │ ├─ star-fake-hash@1.5x.png │ ├─ star-fake-hash@2x.png │ └─ star-fake-hash@3x.png └─ main.js" @@ -311,6 +321,7 @@ exports[`assetLoader > should convert to remote-asset > with specified assetPath │ └─ assets/ │ └─ nested-folder/ │ ├─ star-fake-hash.png + │ ├─ star-fake-hash@1.5x.png │ ├─ star-fake-hash@2x.png │ └─ star-fake-hash@3x.png └─ main.js" @@ -374,6 +385,21 @@ exports[`assetLoader > should inline asset > with scales (1) 2`] = ` └─ main.js" `; +exports[`assetLoader > should inline asset > with scales (1.5) 1`] = ` +{ + "height": 272, + "scale": 1.5, + "uri": "data:image/png;base64,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", + "width": 286, +} +`; + +exports[`assetLoader > should inline asset > with scales (1.5) 2`] = ` +"/ +└─ out/ + └─ main.js" +`; + exports[`assetLoader > should inline asset > with scales (2) 1`] = ` { "height": 407.5, @@ -389,6 +415,21 @@ exports[`assetLoader > should inline asset > with scales (2) 2`] = ` └─ main.js" `; +exports[`assetLoader > should inline asset > with scales (2.625) 1`] = ` +{ + "height": 362, + "scale": 3, + "uri": "data:image/png;base64,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", + "width": 380.6666666666667, +} +`; + +exports[`assetLoader > should inline asset > with scales (2.625) 2`] = ` +"/ +└─ out/ + └─ main.js" +`; + exports[`assetLoader > should inline asset > with scales (3) 1`] = ` { "height": 362, @@ -460,12 +501,13 @@ exports[`assetLoader > should inline asset based on maxInlineSize > inlines asse exports[`assetLoader > should inline asset based on maxInlineSize > uses largest variant to determine threshold (multi-scale asset) 1`] = ` { "__packager_asset": true, - "hash": "86abef08a42e972a96c958d6fa9d43da,02ad731a8881911e488b51c48a4cc6c1,d9f7c31eebb3a41cc180431867b04f38", + "hash": "86abef08a42e972a96c958d6fa9d43da,9e7efe37227966bd2272d1f5915470cc,02ad731a8881911e488b51c48a4cc6c1,d9f7c31eebb3a41cc180431867b04f38", "height": 272, "httpServerLocation": "assets/__fixtures__/assets", "name": "star", "scales": [ 1, + 1.5, 2, 3, ], @@ -477,6 +519,8 @@ exports[`assetLoader > should inline asset based on maxInlineSize > uses largest exports[`assetLoader > should inline asset based on maxInlineSize > uses largest variant to determine threshold (multi-scale asset) 2`] = ` "/ └─ out/ + ├─ drawable-hdpi/ + │ └─ __fixtures___assets_star.png ├─ drawable-mdpi/ │ └─ __fixtures___assets_star.png ├─ drawable-xhdpi/ diff --git a/tests/integration/src/loaders/__snapshots__/webpack/assets-loader.test.ts.snap b/tests/integration/src/loaders/__snapshots__/webpack/assets-loader.test.ts.snap index d1d7631ce..405f17656 100644 --- a/tests/integration/src/loaders/__snapshots__/webpack/assets-loader.test.ts.snap +++ b/tests/integration/src/loaders/__snapshots__/webpack/assets-loader.test.ts.snap @@ -3,12 +3,13 @@ exports[`assetLoader > on android > should load and extract asset with scales 1`] = ` { "__packager_asset": true, - "hash": "86abef08a42e972a96c958d6fa9d43da,02ad731a8881911e488b51c48a4cc6c1,d9f7c31eebb3a41cc180431867b04f38", + "hash": "86abef08a42e972a96c958d6fa9d43da,9e7efe37227966bd2272d1f5915470cc,02ad731a8881911e488b51c48a4cc6c1,d9f7c31eebb3a41cc180431867b04f38", "height": 272, "httpServerLocation": "assets/__fixtures__/assets", "name": "star", "scales": [ 1, + 1.5, 2, 3, ], @@ -20,6 +21,8 @@ exports[`assetLoader > on android > should load and extract asset with scales 1` exports[`assetLoader > on android > should load and extract asset with scales 2`] = ` "/ └─ out/ + ├─ drawable-hdpi/ + │ └─ __fixtures___assets_star.png ├─ drawable-mdpi/ │ └─ __fixtures___assets_star.png ├─ drawable-xhdpi/ @@ -78,12 +81,13 @@ exports[`assetLoader > on android > should prefer platform specific asset 2`] = exports[`assetLoader > on ios > should load and extract asset with scales 1`] = ` { "__packager_asset": true, - "hash": "86abef08a42e972a96c958d6fa9d43da,02ad731a8881911e488b51c48a4cc6c1,d9f7c31eebb3a41cc180431867b04f38", + "hash": "86abef08a42e972a96c958d6fa9d43da,9e7efe37227966bd2272d1f5915470cc,02ad731a8881911e488b51c48a4cc6c1,d9f7c31eebb3a41cc180431867b04f38", "height": 272, "httpServerLocation": "assets/__fixtures__/assets", "name": "star", "scales": [ 1, + 1.5, 2, 3, ], @@ -99,6 +103,7 @@ exports[`assetLoader > on ios > should load and extract asset with scales 2`] = │ └─ __fixtures__/ │ └─ assets/ │ ├─ star.png + │ ├─ star@1.5x.png │ ├─ star@2x.png │ └─ star@3x.png └─ main.js" @@ -193,6 +198,7 @@ exports[`assetLoader > should convert to remote-asset > with scales 1 2`] = ` │ └─ __fixtures__/ │ └─ assets/ │ ├─ star.png + │ ├─ star@1.5x.png │ ├─ star@2x.png │ └─ star@3x.png └─ main.js" @@ -216,6 +222,7 @@ exports[`assetLoader > should convert to remote-asset > with scales 2 2`] = ` │ └─ __fixtures__/ │ └─ assets/ │ ├─ star.png + │ ├─ star@1.5x.png │ ├─ star@2x.png │ └─ star@3x.png └─ main.js" @@ -239,6 +246,7 @@ exports[`assetLoader > should convert to remote-asset > with scales 3 2`] = ` │ └─ __fixtures__/ │ └─ assets/ │ ├─ star.png + │ ├─ star@1.5x.png │ ├─ star@2x.png │ └─ star@3x.png └─ main.js" @@ -263,6 +271,7 @@ exports[`assetLoader > should convert to remote-asset > with specified assetPath │ └─ assets/ │ └─ nested-folder/ │ ├─ star-fake-hash.png + │ ├─ star-fake-hash@1.5x.png │ ├─ star-fake-hash@2x.png │ └─ star-fake-hash@3x.png └─ main.js" @@ -287,6 +296,7 @@ exports[`assetLoader > should convert to remote-asset > with specified assetPath │ └─ assets/ │ └─ nested-folder/ │ ├─ star-fake-hash.png + │ ├─ star-fake-hash@1.5x.png │ ├─ star-fake-hash@2x.png │ └─ star-fake-hash@3x.png └─ main.js" @@ -311,6 +321,7 @@ exports[`assetLoader > should convert to remote-asset > with specified assetPath │ └─ assets/ │ └─ nested-folder/ │ ├─ star-fake-hash.png + │ ├─ star-fake-hash@1.5x.png │ ├─ star-fake-hash@2x.png │ └─ star-fake-hash@3x.png └─ main.js" @@ -374,6 +385,21 @@ exports[`assetLoader > should inline asset > with scales (1) 2`] = ` └─ main.js" `; +exports[`assetLoader > should inline asset > with scales (1.5) 1`] = ` +{ + "height": 272, + "scale": 1.5, + "uri": "data:image/png;base64,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", + "width": 286, +} +`; + +exports[`assetLoader > should inline asset > with scales (1.5) 2`] = ` +"/ +└─ out/ + └─ main.js" +`; + exports[`assetLoader > should inline asset > with scales (2) 1`] = ` { "height": 407.5, @@ -389,6 +415,21 @@ exports[`assetLoader > should inline asset > with scales (2) 2`] = ` └─ main.js" `; +exports[`assetLoader > should inline asset > with scales (2.625) 1`] = ` +{ + "height": 362, + "scale": 3, + "uri": "data:image/png;base64,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", + "width": 380.6666666666667, +} +`; + +exports[`assetLoader > should inline asset > with scales (2.625) 2`] = ` +"/ +└─ out/ + └─ main.js" +`; + exports[`assetLoader > should inline asset > with scales (3) 1`] = ` { "height": 362, @@ -460,12 +501,13 @@ exports[`assetLoader > should inline asset based on maxInlineSize > inlines asse exports[`assetLoader > should inline asset based on maxInlineSize > uses largest variant to determine threshold (multi-scale asset) 1`] = ` { "__packager_asset": true, - "hash": "86abef08a42e972a96c958d6fa9d43da,02ad731a8881911e488b51c48a4cc6c1,d9f7c31eebb3a41cc180431867b04f38", + "hash": "86abef08a42e972a96c958d6fa9d43da,9e7efe37227966bd2272d1f5915470cc,02ad731a8881911e488b51c48a4cc6c1,d9f7c31eebb3a41cc180431867b04f38", "height": 272, "httpServerLocation": "assets/__fixtures__/assets", "name": "star", "scales": [ 1, + 1.5, 2, 3, ], @@ -477,6 +519,8 @@ exports[`assetLoader > should inline asset based on maxInlineSize > uses largest exports[`assetLoader > should inline asset based on maxInlineSize > uses largest variant to determine threshold (multi-scale asset) 2`] = ` "/ └─ out/ + ├─ drawable-hdpi/ + │ └─ __fixtures___assets_star.png ├─ drawable-mdpi/ │ └─ __fixtures___assets_star.png ├─ drawable-xhdpi/ diff --git a/tests/integration/src/loaders/assets-loader.test.ts b/tests/integration/src/loaders/assets-loader.test.ts index 40d1a6c29..e339713d0 100644 --- a/tests/integration/src/loaders/assets-loader.test.ts +++ b/tests/integration/src/loaders/assets-loader.test.ts @@ -345,7 +345,9 @@ describe('assetLoader', () => { it.each([ { preferredScale: 1 }, + { preferredScale: 1.5 }, { preferredScale: 2 }, + { preferredScale: 2.625 }, { preferredScale: 3 }, ])('with scales ($preferredScale)', async ({ preferredScale }) => { const { code, volume } = await compileBundle(