change to readonly deps
merge from zhangjiayin