Sometimes however, I'd rather keep the scripts in a separate (external) file to ease maintenance.
Differently from the "CSV Data Set Config" element, the "JSR223 Assertion" "Script File" property does not use the current running script directory as the base path, it uses the user.dir system property instead.
The problem is that I normally organize my test assets following this directory layout:
/my_project/my_test.jmx $jmx files
/my_project/js/script.js $script files
/my_project/data/my_test.csv $csv files