Skip to content

Commit 3ad200a

Browse files
DimitarTachevFatme
authored andcommitted
fix: fix binary files sync to the preview app
1 parent 4967b2c commit 3ad200a

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

lib/services/livesync/playground/preview-app-livesync-service.ts

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import * as path from "path";
22
import { FilePayload, Device } from "nativescript-preview-sdk";
33
import { PreviewSdkEventNames } from "./preview-app-constants";
44
import { APP_FOLDER_NAME, APP_RESOURCES_FOLDER_NAME, TNS_MODULES_FOLDER_NAME } from "../../../constants";
5+
const isTextOrBinary = require('istextorbinary');
56

67
export class PreviewAppLiveSyncService implements IPreviewAppLiveSyncService {
78
private excludedFileExtensions = [".ts", ".sass", ".scss", ".less"];
@@ -83,12 +84,22 @@ export class PreviewAppLiveSyncService implements IPreviewAppLiveSyncService {
8384

8485
const payloads = filesToTransfer
8586
.map(file => {
86-
return {
87+
const filePayload: FilePayload = {
8788
event: PreviewSdkEventNames.CHANGE_EVENT_NAME,
8889
file: path.relative(platformsAppFolderPath, file),
89-
fileContents: this.$fs.readText(file),
90-
binary: false
90+
binary: isTextOrBinary.isBinarySync(file),
91+
fileContents: ""
9192
};
93+
94+
if (filePayload.binary) {
95+
const bitmap = <string>this.$fs.readFile(file);
96+
const base64 = new Buffer(bitmap).toString('base64');
97+
filePayload.fileContents = base64;
98+
} else {
99+
filePayload.fileContents = this.$fs.readText(file);
100+
}
101+
102+
return filePayload;
92103
});
93104

94105
return payloads;

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
"ios-device-lib": "0.4.14",
4545
"ios-mobileprovision-finder": "1.0.10",
4646
"ios-sim-portable": "4.0.2",
47+
"istextorbinary": "^2.2.1",
4748
"jimp": "0.2.28",
4849
"lockfile": "1.0.3",
4950
"lodash": "4.17.10",

0 commit comments

Comments
 (0)