Finally I found the solution.
compile := ((compile in Compile) dependsOn npmBuildTask).value
This is working for me. The problem was in the following code:
run := ((run in Compile) dependsOn npmBuildTask).value
compile and run are different. compile has a return type as sbt.TaskKey[sbt.inc.Analysis] and run has a return type as sbt.InputKey[scala.Unit]. Because of this you should use this command:
run := ((run in Compile) dependsOn npmBuildTask).evaluated
Now everything is working fine.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…