66 * the root directory of this source tree.
77 */
88
9+ import { getHomeDir , runPIOCommand } from './core' ;
10+
911import SockJS from 'sockjs-client' ;
12+ import fs from 'fs-plus' ;
1013import jsonrpc from 'jsonrpc-lite' ;
14+ import path from 'path' ;
1115import request from 'request' ;
12- import spawn from 'cross-spawn' ;
1316import tcpPortUsed from 'tcp-port-used' ;
1417
1518
@@ -108,9 +111,9 @@ export async function ensureServerStarted(options) {
108111 if ( await isServerStarted ( ) ) {
109112 return params ;
110113 }
111- spawn ( 'platformio' , [ 'home' , '--port' , HTTP_PORT , '--no-open' ] ) ;
114+ runPIOCommand ( [ 'home' , '--port' , HTTP_PORT , '--no-open' ] ) ;
112115 await new Promise ( ( resolve , reject ) => {
113- tcpPortUsed . waitUntilUsed ( HTTP_PORT , 500 , 10000 )
116+ tcpPortUsed . waitUntilUsed ( HTTP_PORT , 500 , 15000 )
114117 . then ( ( ) => {
115118 resolve ( true ) ;
116119 } , ( err ) => {
@@ -126,3 +129,17 @@ export async function ensureServerStarted(options) {
126129export function shutdownServer ( ) {
127130 request . get ( `http://${ HTTP_HOST } :${ HTTP_PORT } ?__shutdown__=1` ) ;
128131}
132+
133+ export function showAtStartup ( caller ) {
134+ const statePath = path . join ( getHomeDir ( ) , 'homestate.json' ) ;
135+ if ( ! fs . isFileSync ( statePath ) ) {
136+ return true ;
137+ }
138+ try {
139+ const state = JSON . parse ( fs . readFileSync ( statePath , 'utf8' ) ) ;
140+ return ! state || ! state . storage || ! state . storage . showOnStartup || ! state . storage . showOnStartup . hasOwnProperty ( caller ) || state . storage . showOnStartup [ caller ] ;
141+ } catch ( err ) {
142+ console . error ( err ) ;
143+ return true ;
144+ }
145+ }
0 commit comments