MODULES: lib1, lib2, main

STEP 0:
    libs: lib1, lib2, main
    dirty js modules: lib1, lib2, main
    dirty js files:   lib1/InterfaceA, lib1/ClassB, lib2/MyClass, lib2/GetA, lib2/GetB, main/test, main/m, main/m.export, main
STEP 1..3:
    libs: lib1, lib2, main
    dirty js modules: lib1, main
    dirty js files:   lib1/InterfaceA, lib1/ClassB, main/test
STEP 4:
    libs: lib1, lib2, main
    dirty js modules: main
    dirty js files:   main/test
STEP 5:
    libs: lib1, lib2, main
    dirty js modules: lib1, lib2, main
    dirty js files:   lib1/InterfaceA, lib1/ClassB, lib2/MyClass, lib2/GetA, main/test
STEP 6:
    libs: lib1, lib2, main
    dirty js modules: lib1, main
    dirty js files:   lib1/InterfaceA, lib1/ClassB, main/test
STEP 7:
    libs: lib1, lib2, main
    dirty js modules: lib1, lib2, main
    dirty js files:   lib1/InterfaceA, lib1/ClassB, lib2/MyClass, main/test
