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