UNPKG

1.93 kBJavaScriptView Raw
1#!/usr/bin/env node
2
3const args = require('minimist')(process.argv.slice(2));
4const ipc = require('node-ipc');
5const BRACKET_END = '$(B_R-A_C-K_E-T)';
6
7ipc.config.id = 'sfLibraryManagerClient';
8ipc.config.port = 8001;
9ipc.config.encoding = "binary";
10ipc.config.retry = 5000;
11ipc.config.logger = function() {};
12
13var stdinData = '';
14process.stdin.setEncoding('binary');
15process.stdin.on('data', message => {
16 stdinData += message;
17 if (stdinData.endsWith(BRACKET_END)) {
18 var splitted = stdinData.split(BRACKET_END);
19 splitted = splitted[splitted.length - 2];
20 writeTask(splitted);
21 stdinData = "";
22 }
23});
24
25function writeTask(data) {
26 ipc.of.sfLibraryManager.emit(
27 'writeTask',
28 data
29 );
30}
31//console.error(args);
32ipc.connectTo(
33 "sfLibraryManager",
34 "/tmp/app.sfLibraryManager",
35 function() {
36 ipc.of.sfLibraryManager.on(
37 'connect',
38 function() {
39 //console.error("connected",args);
40 if (args.task) {
41 ipc.of.sfLibraryManager.emit(
42 args.task, { libraryFolder: args.libraryFolder, name: args.name }
43 );
44 }
45 else {
46 ipc.of.sfLibraryManager.emit(
47 'init', {
48 initialLibraryData: args.initialLibraryData,
49 libraryFolder: args.libraryFolder,
50 name: args.name
51 }
52 );
53
54 }
55 }
56 );
57 ipc.of.sfLibraryManager.on(
58 'read',
59 function(data) {
60 process.stdout.write(data + BRACKET_END);
61 }
62 );
63 ipc.of.sfLibraryManager.on(
64 'error',
65 function(data) {
66 process.stderr.write(data.toString());
67 }
68 );
69 }
70);