@@ -2,10 +2,13 @@ package io.plugin.tsnode.execution
22
33import com.intellij.execution.Executor
44import com.intellij.execution.configurations.RunConfigurationModule
5+ import com.intellij.execution.configurations.RuntimeConfigurationException
56import com.intellij.execution.runners.ExecutionEnvironment
67import com.intellij.javascript.nodejs.interpreter.NodeJsInterpreterRef
78import com.intellij.javascript.nodejs.util.NodePackage
9+ import com.intellij.openapi.util.text.StringUtil
810import io.plugin.base.runner.inter._RunConfiguration
11+ import java.io.File
912
1013class TsRunConfiguration (runConfigurationModule : RunConfigurationModule , factory : TsConfigurationFactory , name : String ) :
1114 _RunConfiguration <TsRunSettings >(runConfigurationModule, factory, name, TsRunSettings ())
@@ -16,6 +19,20 @@ class TsRunConfiguration(runConfigurationModule: RunConfigurationModule, factory
1619
1720 override fun getState (executor : Executor , environment : ExecutionEnvironment ) = TsRunProfileState (project, this , executor, environment)
1821
22+ @Throws(RuntimeConfigurationException ::class )
23+ override fun checkConfiguration ()
24+ {
25+ super .checkConfiguration()
26+
27+ if (! StringUtil .isEmptyOrSpaces(runSettings.workingDirectory))
28+ {
29+ if (! File (runSettings.workingDirectory).exists())
30+ {
31+ throw RuntimeConfigurationException (" Working directory not exists" )
32+ }
33+ }
34+ }
35+
1936 fun selectedTsNodePackage (): NodePackage
2037 {
2138 if (_tsPackage == null )
0 commit comments