Missing dependency of various require JS modules on FormEngineValidation
Some module require the requireJS module FormEngine. Those modules use the "submodule"
FormEngine.Validation in their initialization.
The problem is that
FormEngine.Validation is initialized in a separate requireJS module "FormEngineValidation", which itself depends on the FormEngine module to be available.
So for requireJS the dependency tree resolves to this:
As by definition the loading and execution order of modules without dependency is undefined.
Since e.g. Editor specifies a dependency on FormEngine, but uses actually only FormEngineValidation, there can be race conditions, FormEngineValidation is actually not yet there.
This can be reproduced using Chrome 57 (on Windows) on latest master, TYPO3 in dev context and with network throttling set to 2G, caching disabled.
You will receive JS errors in the console where Editor.js is reported to access
FormEngine.Validation is undefined.
This is actually totally clear, when inspecting the dependencies close enough.