@@ -172,9 +172,52 @@ app.whenReady().then(async () => {
172172 await handleProtocolUrl ( url )
173173 } )
174174
175- if ( ! is . dev || process . env . APP_UPDATE_URL || process . env . PIPELAB_OVERRIDE_RELEASE ) {
175+ const config = {
176+ options : {
177+ /** project: path to file .pipelab */
178+ project : {
179+ type : 'string' ,
180+ short : 'p'
181+ } ,
182+ /** action: run | open */
183+ action : {
184+ type : 'string' ,
185+ short : 'a'
186+ } ,
187+ /** output: path to output result */
188+ output : {
189+ type : 'string' ,
190+ short : 'o'
191+ } ,
192+ inspect : {
193+ type : 'boolean'
194+ } ,
195+ prerelease : {
196+ type : 'boolean'
197+ } ,
198+ 'override-release' : {
199+ type : 'string'
200+ } ,
201+ 'app-update-url' : {
202+ type : 'boolean'
203+ }
204+ }
205+ } satisfies ParseArgsConfig
206+
207+ const { values } = parseArgs ( config )
208+
209+ const hasAppUpdateUrlFlag = ! ! values [ 'app-update-url' ]
210+ const hasOverrideReleaseFlag = ! ! values [ 'override-release' ]
211+ const hasPrereleaseFlag = ! ! values [ 'prerelease' ]
212+ const overrideReleaseVal = values [ 'override-release' ]
213+
214+ if ( ! is . dev || hasAppUpdateUrlFlag || hasOverrideReleaseFlag || hasPrereleaseFlag ) {
176215 try {
177- const latestRelease = await fetchLatestRelease ( '@pipelab/app' )
216+ const latestRelease = await fetchLatestRelease ( {
217+ packageName : '@pipelab/app' ,
218+ prerelease : hasPrereleaseFlag ,
219+ overrideRelease : overrideReleaseVal
220+ } )
178221 if ( latestRelease ) {
179222 logger ( ) . info ( 'Found latest release:' , latestRelease . tag_name )
180223 logger ( ) . info ( 'Release API URL:' , latestRelease . url )
@@ -294,39 +337,13 @@ app.whenReady().then(async () => {
294337 logger ( ) . error ( 'Failed to start WebSocket server:' , error )
295338 }
296339
297- const config = {
298- options : {
299- /** project: path to file .pipelab */
300- project : {
301- type : 'string' ,
302- short : 'p'
303- } ,
304- /** action: run | open */
305- action : {
306- type : 'string' ,
307- short : 'a'
308- } ,
309- /** output: path to output result */
310- output : {
311- type : 'string' ,
312- short : 'o'
313- } ,
314- inspect : {
315- type : 'boolean'
316- }
317- }
318- } satisfies ParseArgsConfig
319-
320- const { values } = parseArgs ( config )
321-
322340 logger ( ) . info ( 'values' , values )
323341
324342 createWindow ( )
325343
326- delete values [ 'inspect' ]
327-
328- // exit if values are passed
329- if ( Object . keys ( values ) . length > 0 ) {
344+ // exit if values are passed for batch execution
345+ const hasPipelineArgs = values . action || values . project || values . output
346+ if ( hasPipelineArgs ) {
330347 logger ( ) . info ( 'Processing graph...' )
331348
332349 const { action, project, output } = values
@@ -406,7 +423,7 @@ app.whenReady().then(async () => {
406423 mainWindow . show ( )
407424 mainWindow . maximize ( )
408425
409- if ( app . isPackaged || process . env . APP_UPDATE_URL || process . env . PIPELAB_OVERRIDE_RELEASE ) {
426+ if ( app . isPackaged || hasAppUpdateUrlFlag || hasOverrideReleaseFlag || hasPrereleaseFlag ) {
410427 autoUpdater . checkForUpdates ( )
411428 setTimeout ( ( ) => {
412429 autoUpdater . checkForUpdates ( )
0 commit comments