Skip to content

Commit 00756b6

Browse files
committed
Fix bug that base64 encoding was not correct
1 parent af7c2be commit 00756b6

File tree

2 files changed

+19
-19
lines changed

2 files changed

+19
-19
lines changed

src/plugin/__snapshots__/metro.spec.js.snap

Lines changed: 8 additions & 9 deletions
Large diffs are not rendered by default.

src/plugin/transformer.js

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
const path = require("path");
2+
const fs = require("fs");
23
const metroTransformer = require("metro-react-native-babel-transformer");
34

45
module.exports.transform = async (args) => {
@@ -14,33 +15,33 @@ module.exports.transform = async (args) => {
1415
case ".bmp":
1516
return metroTransformer.transform({
1617
...args,
17-
src: injectImage(src, "bmp"),
18+
src: injectImage(filename, "bmp"),
1819
});
1920
case ".gif":
2021
return metroTransformer.transform({
2122
...args,
22-
src: injectImage(src, "gif"),
23+
src: injectImage(filename, "gif"),
2324
});
2425
case ".png":
2526
return metroTransformer.transform({
2627
...args,
27-
src: injectImage(src, "png"),
28+
src: injectImage(filename, "png"),
2829
});
2930
case ".jpg":
3031
case ".jpeg":
3132
return metroTransformer.transform({
3233
...args,
33-
src: injectImage(src, "jpeg"),
34+
src: injectImage(filename, "jpeg"),
3435
});
3536
case ".webp":
3637
return metroTransformer.transform({
3738
...args,
38-
src: injectImage(src, "webp"),
39+
src: injectImage(filename, "webp"),
3940
});
4041
case ".svg":
4142
return metroTransformer.transform({
4243
...args,
43-
src: injectImage(src, "svg+xml"),
44+
src: injectImage(filename, "svg+xml"),
4445
});
4546
default:
4647
break;
@@ -60,7 +61,7 @@ const injectCss = (css) => `
6061
})();
6162
`;
6263

63-
const injectImage = (src, ext) =>
64-
`export default String.raw\`data:image/${ext};base64,${Buffer.from(
65-
src
66-
).toString("base64")}\`;`;
64+
const injectImage = (filename, ext) => {
65+
const src = fs.readFileSync(filename, "base64");
66+
return `export default "data:image/${ext};base64,${src}";`;
67+
};

0 commit comments

Comments
 (0)