File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -404,12 +404,6 @@ export async function installApplications() {
404404 continue ;
405405 }
406406
407- // Lock check: only install if not already installed with matching configuration
408- if ( harperApplicationLock . applications [ name ] && JSON . stringify ( harperApplicationLock . applications [ name ] ) === JSON . stringify ( applicationConfig ) ) {
409- logger . info ( `Application ${ name } is already installed with matching configuration; skipping installation` ) ;
410- continue ;
411- }
412-
413407 // Then do proper error-based validation with TypeScript `asserts` to provide type safety
414408 // This will throw if the config is invalid
415409 assertApplicationConfig ( name , applicationConfig ) ;
@@ -420,6 +414,12 @@ export async function installApplications() {
420414 install : applicationConfig . install ,
421415 } ) ;
422416
417+ // Lock check: only install if not already installed with matching configuration
418+ if ( existsSync ( application . dirPath ) && harperApplicationLock . applications [ name ] && JSON . stringify ( harperApplicationLock . applications [ name ] ) === JSON . stringify ( applicationConfig ) ) {
419+ logger . info ( `Application ${ name } is already installed with matching configuration; skipping installation` ) ;
420+ continue ;
421+ }
422+
423423 applicationInstallationPromises . push ( prepareApplication ( application ) ) ;
424424
425425 harperApplicationLock . applications [ name ] = applicationConfig ;
You can’t perform that action at this time.
0 commit comments