@@ -67,34 +67,54 @@ async function syncInstallation(scope: Scope): Promise<void> {
6767 if ( ps . implicitlyLinked ) {
6868 const hookStatus = ps . platform . supportsHooks
6969 ? ps . hookInstalled
70- ? "hook up-to-date"
70+ ? ps . hookUpToDate
71+ ? "hook up-to-date"
72+ : "hook outdated"
7173 : "hook missing"
7274 : "" ;
7375 console . log (
7476 ` ${ ICONS . ok } ${ COLORS . success ( `${ ps . platform . displayName } :` ) } shared via parent symlink${ hookStatus ? `, ${ hookStatus } ` : "" } ` ,
7577 ) ;
7678
77- if ( ps . platform . supportsHooks && ! ps . hookInstalled ) {
78- await installPlatformHook ( ps . platform , scope ) ;
79- console . log (
80- ` ${ ICONS . ok } ${ COLORS . success ( `${ ps . platform . displayName } :` ) } hook restored` ,
81- ) ;
79+ if ( ps . platform . supportsHooks ) {
80+ if ( ! ps . hookInstalled ) {
81+ await installPlatformHook ( ps . platform , scope ) ;
82+ console . log (
83+ ` ${ ICONS . ok } ${ COLORS . success ( `${ ps . platform . displayName } :` ) } hook restored` ,
84+ ) ;
85+ } else if ( ! ps . hookUpToDate ) {
86+ await uninstallPlatformHook ( ps . platform , scope ) ;
87+ await installPlatformHook ( ps . platform , scope ) ;
88+ console . log (
89+ ` ${ ICONS . ok } ${ COLORS . success ( `${ ps . platform . displayName } :` ) } hook updated` ,
90+ ) ;
91+ }
8292 }
8393 } else if ( ps . symlinkValid ) {
8494 const hookStatus = ps . platform . supportsHooks
8595 ? ps . hookInstalled
86- ? "hook up-to-date"
96+ ? ps . hookUpToDate
97+ ? "hook up-to-date"
98+ : "hook outdated"
8799 : "hook missing"
88100 : "" ;
89101 console . log (
90102 ` ${ ICONS . ok } ${ COLORS . success ( `${ ps . platform . displayName } :` ) } symlink valid${ hookStatus ? `, ${ hookStatus } ` : "" } ` ,
91103 ) ;
92104
93- if ( ps . platform . supportsHooks && ! ps . hookInstalled ) {
94- await installPlatformHook ( ps . platform , scope ) ;
95- console . log (
96- ` ${ ICONS . ok } ${ COLORS . success ( `${ ps . platform . displayName } :` ) } hook restored` ,
97- ) ;
105+ if ( ps . platform . supportsHooks ) {
106+ if ( ! ps . hookInstalled ) {
107+ await installPlatformHook ( ps . platform , scope ) ;
108+ console . log (
109+ ` ${ ICONS . ok } ${ COLORS . success ( `${ ps . platform . displayName } :` ) } hook restored` ,
110+ ) ;
111+ } else if ( ! ps . hookUpToDate ) {
112+ await uninstallPlatformHook ( ps . platform , scope ) ;
113+ await installPlatformHook ( ps . platform , scope ) ;
114+ console . log (
115+ ` ${ ICONS . ok } ${ COLORS . success ( `${ ps . platform . displayName } :` ) } hook updated` ,
116+ ) ;
117+ }
98118 }
99119 } else {
100120 console . log (
@@ -107,6 +127,21 @@ async function syncInstallation(scope: Scope): Promise<void> {
107127 console . log (
108128 ` ${ ICONS . ok } ${ COLORS . success ( `${ ps . platform . displayName } :` ) } symlink restored` ,
109129 ) ;
130+
131+ if ( ps . platform . supportsHooks ) {
132+ if ( ! ps . hookInstalled ) {
133+ await installPlatformHook ( ps . platform , scope ) ;
134+ console . log (
135+ ` ${ ICONS . ok } ${ COLORS . success ( `${ ps . platform . displayName } :` ) } hook restored` ,
136+ ) ;
137+ } else if ( ! ps . hookUpToDate ) {
138+ await uninstallPlatformHook ( ps . platform , scope ) ;
139+ await installPlatformHook ( ps . platform , scope ) ;
140+ console . log (
141+ ` ${ ICONS . ok } ${ COLORS . success ( `${ ps . platform . displayName } :` ) } hook updated` ,
142+ ) ;
143+ }
144+ }
110145 }
111146 }
112147
0 commit comments