11import { spawn } from 'child_process' ;
22import find from 'find-process' ;
33import path from 'path' ;
4- import fs , { WriteStream } from 'fs' ;
4+ import fs , { WriteStream } from 'fs' ;
55import which from 'which' ;
66import tcpPortUsed from 'tcp-port-used' ;
77import type { ChildProcess } from 'child_process' ;
@@ -33,10 +33,9 @@ const CARDANO_WALLET_START_CHECK_INTERVAL = 500; // 500 ms | unit: milliseconds
3333
3434const TOKEN_METADATA_SERVER_PORT = 65432 ;
3535const TOKEN_METADATA_SERVER = `http://localhost:${ TOKEN_METADATA_SERVER_PORT } /` ;
36- const TOKEN_METADATA_SERVER_PROCESS_NAME =
37- environment . isWindows
38- ? 'mock-token-metadata-server.exe'
39- : 'mock-token-metadata-server' ;
36+ const TOKEN_METADATA_SERVER_PROCESS_NAME = environment . isWindows
37+ ? 'mock-token-metadata-server.exe'
38+ : 'mock-token-metadata-server' ;
4039export async function CardanoSelfnodeLauncher (
4140 selfnodeOptions : SelfnodeOptions
4241) : Promise < {
@@ -57,13 +56,18 @@ export async function CardanoSelfnodeLauncher(
5756 const binDir = path . dirname ( which . sync ( selfnodeBin ) ) ;
5857 return firstExisting ( 'SHELLEY_TEST_DATA' , [
5958 path . resolve ( path . join ( binDir , 'data' , 'cardano-node-shelley' ) ) , // Windows installer
60- path . resolve ( path . join ( binDir , '..' , 'Resources' , 'data' , 'cardano-node-shelley' ) ) , // Darwin installer
59+ path . resolve (
60+ path . join ( binDir , '..' , 'Resources' , 'data' , 'cardano-node-shelley' )
61+ ) , // Darwin installer
6162 // Linux installer substitutes SHELLEY_TEST_DATA in the local-cluster Bash wrapper
62- '../../utils/cardano/selfnode' // nix-shell? but nix-shell has the substitute ↑ as well… Some other scenario?
63- ] )
63+ '../../utils/cardano/selfnode' , // nix-shell? but nix-shell has the substitute ↑ as well… Some other scenario?
64+ ] ) ;
6465 } ) ( ) ;
6566
66- setupMockTokenMetadataServer ( mockTokenMetadataServerBin , mockTokenMetadataServerLogFile ) ;
67+ setupMockTokenMetadataServer (
68+ mockTokenMetadataServerBin ,
69+ mockTokenMetadataServerLogFile
70+ ) ;
6771 // @ts -ignore ts-migrate(2322) FIXME: Type '{ pid: number; ppid?: number; uid?: number; ... Remove this comment to see the full error message
6872 const processList : Array < Process > = await find ( 'port' , CARDANO_WALLET_PORT ) ;
6973 const isSelfnodeRunning =
@@ -113,11 +117,16 @@ export async function CardanoSelfnodeLauncher(
113117 if ( environment . isDev ) {
114118 nodeProcess . unref ( ) ; // allows Daedalus to exit independently of selfnode (3/3)
115119 }
116- if ( ! environment . isDev && nodeProcess . stdout && nodeProcess . stderr && walletLogFile ) {
117- nodeProcess . stdout . on ( 'data' , data => {
120+ if (
121+ ! environment . isDev &&
122+ nodeProcess . stdout &&
123+ nodeProcess . stderr &&
124+ walletLogFile
125+ ) {
126+ nodeProcess . stdout . on ( 'data' , ( data ) => {
118127 walletLogFile . write ( data ) ;
119128 } ) ;
120- nodeProcess . stderr . on ( 'data' , data => {
129+ nodeProcess . stderr . on ( 'data' , ( data ) => {
121130 walletLogFile . write ( data ) ;
122131 } ) ;
123132 }
@@ -151,11 +160,18 @@ export async function CardanoSelfnodeLauncher(
151160/**
152161 * Return the first existing file path among candidates. If none exist, return the last one, and log a warning an identifier.
153162 */
154- const firstExisting = ( identifier : string , candidates : Array < string > ) : string => {
163+ const firstExisting = (
164+ identifier : string ,
165+ candidates : Array < string >
166+ ) : string => {
155167 const existing = candidates . filter ( fs . existsSync ) ;
156168 if ( existing . length > 0 ) return existing [ 0 ] ;
157169 const fallback = candidates [ candidates . length - 1 ] ;
158- logger . warn ( `${ identifier } candidates don’t exist, will use fallback` , { identifier, candidates, fallback } ) ;
170+ logger . warn ( `${ identifier } candidates don’t exist, will use fallback` , {
171+ identifier,
172+ candidates,
173+ fallback,
174+ } ) ;
159175 return fallback ;
160176} ;
161177
@@ -195,7 +211,7 @@ const setupMockTokenMetadataServer = async (
195211 return firstExisting ( 'TOKEN_METADATA_REGISTRY' , [
196212 path . resolve ( path . join ( binDir , 'token-metadata.json' ) ) , // Windows and Linux installers
197213 path . resolve ( path . join ( binDir , '..' , 'Resources' , 'token-metadata.json' ) ) , // Darwin installer
198- './utils/cardano/selfnode/token-metadata.json' // nix-shell
214+ './utils/cardano/selfnode/token-metadata.json' , // nix-shell
199215 ] ) ;
200216 } ) ( ) ;
201217
@@ -239,12 +255,17 @@ const setupMockTokenMetadataServer = async (
239255 if ( environment . isDev ) {
240256 mockTokenMetadataServerProcess . unref ( ) ;
241257 }
242- if ( ! environment . isDev && mockTokenMetadataServerProcess . stdout && mockTokenMetadataServerProcess . stderr && mockTokenMetadataServerLogFile ) {
243- mockTokenMetadataServerProcess . stdout . on ( 'data' , data => {
258+ if (
259+ ! environment . isDev &&
260+ mockTokenMetadataServerProcess . stdout &&
261+ mockTokenMetadataServerProcess . stderr &&
262+ mockTokenMetadataServerLogFile
263+ ) {
264+ mockTokenMetadataServerProcess . stdout . on ( 'data' , ( data ) => {
244265 mockTokenMetadataServerLogFile . write ( data ) ;
245266 } ) ;
246- mockTokenMetadataServerProcess . stderr . on ( 'data' , data => {
247- mockTokenMetadataServerLogFile . write ( data )
267+ mockTokenMetadataServerProcess . stderr . on ( 'data' , ( data ) => {
268+ mockTokenMetadataServerLogFile . write ( data ) ;
248269 } ) ;
249270 }
250271 mockTokenMetadataServer = mockTokenMetadataServerProcess ;
0 commit comments