@@ -109,6 +109,22 @@ export default function (_local: any, _remote: any) {
109109 _ . set ( local , 'instanceLifecycleConfig.initializer.timeout' , initializerTimeout ) ;
110110 }
111111
112+ if (
113+ remote ?. instanceLifecycleConfig ?. initializer ?. command ||
114+ remote ?. instanceLifecycleConfig ?. initializer ?. timeout
115+ ) {
116+ if ( initializer ?. command ) {
117+ if ( ! initializer . timeout ) {
118+ _ . set ( local , 'instanceLifecycleConfig.initializer.timeout' , initializerTimeout ) ;
119+ }
120+ } else {
121+ _ . set ( local , 'instanceLifecycleConfig.initializer.command' , [ ] ) ;
122+ _ . set ( local , 'instanceLifecycleConfig.initializer.timeout' , 3 ) ;
123+ }
124+ } else if ( initializer ?. command && ! initializer . timeout ) {
125+ _ . set ( local , 'instanceLifecycleConfig.initializer.timeout' , initializerTimeout ) ;
126+ }
127+
112128 const preStopTimeout = _ . get ( remote , 'instanceLifecycleConfig.preStop.timeout' , 3 ) ;
113129 if (
114130 remote ?. instanceLifecycleConfig ?. preStop ?. handler ||
@@ -125,17 +141,43 @@ export default function (_local: any, _remote: any) {
125141 } else if ( preStop ?. handler && ! preStop . timeout ) {
126142 _ . set ( local , 'instanceLifecycleConfig.preStop.timeout' , preStopTimeout ) ;
127143 }
144+
145+ if (
146+ remote ?. instanceLifecycleConfig ?. preStop ?. command ||
147+ remote ?. instanceLifecycleConfig ?. preStop ?. timeout
148+ ) {
149+ if ( preStop ?. command ) {
150+ if ( ! preStop . timeout ) {
151+ _ . set ( local , 'instanceLifecycleConfig.preStop.timeout' , preStopTimeout ) ;
152+ }
153+ } else {
154+ _ . set ( local , 'instanceLifecycleConfig.preStop.command' , [ ] ) ;
155+ _ . set ( local , 'instanceLifecycleConfig.preStop.timeout' , 3 ) ;
156+ }
157+ } else if ( preStop ?. command && ! preStop . timeout ) {
158+ _ . set ( local , 'instanceLifecycleConfig.preStop.timeout' , preStopTimeout ) ;
159+ }
128160 }
129161
130- // 如果 local 和 remote 都是 handler 为 '', 则从 props 中删除
162+ // 如果 local 和 remote 都是 handler 和 command 为 '', 则从 props 中删除
131163 if ( local ?. instanceLifecycleConfig && remote ?. instanceLifecycleConfig ) {
132164 const { initializer : initializerL , preStop : preStopL } = local . instanceLifecycleConfig || { } ;
133165 const { initializer : initializerR , preStop : preStopR } = remote . instanceLifecycleConfig || { } ;
134- if ( initializerL ?. handler === initializerR ?. handler && initializerL ?. handler === '' ) {
166+ if (
167+ initializerL ?. handler === initializerR ?. handler &&
168+ initializerL ?. handler === '' &&
169+ initializerL ?. command === initializerR ?. command &&
170+ _ . isEmpty ( initializerL ?. command )
171+ ) {
135172 _ . unset ( local , 'instanceLifecycleConfig.initializer' ) ;
136173 _ . unset ( remote , 'instanceLifecycleConfig.initializer' ) ;
137174 }
138- if ( preStopL ?. handler === preStopR ?. handler && preStopL ?. handler === '' ) {
175+ if (
176+ preStopL ?. handler === preStopR ?. handler &&
177+ preStopL ?. handler === '' &&
178+ preStopL ?. command === preStopR ?. command &&
179+ _ . isEmpty ( preStopL ?. command )
180+ ) {
139181 _ . unset ( local , 'instanceLifecycleConfig.preStop' ) ;
140182 _ . unset ( remote , 'instanceLifecycleConfig.preStop' ) ;
141183 }
0 commit comments