Since a compilation is required before launching a dart application, i wonder if compiler preprocessor is available, or is scheduled in a near future for Dart.
My search
At this time there is no preprocessor for Dart. I do not believe that one is planned in the near future either. See Issue 7238
Dart does not require compilation. Only to generate Javascript usable by apps outside of the Dart VM. For instance server side Dart scripts never require compilation. They can generate snapshots to decrease load times but that is less of a compilation step and more storing the state of the VM after the application has launched.
That said, there have been numerous discussions about dependency injection or other dependency management systems based on environment but no consensus or decisions have been reached at this point. See Issue 76
Edit:
1) I hesitate to use the term 'right order' on loading libraries. For the Dart VM itself, it essentially loads all of the library symbols on loading the script and then begins executing the code and matching the symbols to those in the table. The dart2js compiler does something similar but will then also implement treeshaking to try to isolate code that is not used and omit it from the final compilation. But I'm far from a VM or JavaScript compiler guru to have more information on how that process is completed.
2) Similar to other interpreted languages many/most checks are preformed at runtime as opposed to a compile time step. And in fact the Dart VM is designed to run with type checking disabled. It is only enabled for development and actually imposes a significant penalty on the speed of execution.
3) I believe you are referring to the build.dart file. You can find more information at Build.dart and the Dart Editor
Also note that the Dart editor is actually running a dart script called dart_analyzer to validate the code as you type. It is improving but still far from perfect. It does a number of steps to try and assume and associate types and values to the code, but it must also conform to the dart language specification. Thus even if the analyzer is able to assume a type based on surrounding code, it must still provide a warning for instance that type Node has no getter 'value' associated with it, even though the analyzer knows that Node being passed is actually a text input field.