MODULES: lib1, lib1-a, lib1-b, lib1-c, lib2, main

STEP 0:
    libs: lib1, lib2, main
    dirty js modules: lib1, lib2, main
    dirty js files:   lib1/l1a, lib1/l1b, lib1/l1c, lib2/l2, main/m, main/m.export, main
STEP 1:
    libs: lib1-a, lib1-b, lib1-c, lib2, main
    dirty js modules: lib1-a, lib1-b, lib1-c, lib2
    dirty js files:   lib1-a/l1a, lib1-b/l1b, lib1-c/l1c, lib2/l2
STEP 2..3:
    libs: lib1-a, lib1-b, lib1-c, lib2, main
    dirty js modules: lib1-b, lib2
    dirty js files:   lib1-b/l1b, lib2/l2
STEP 4:
    libs: lib1, lib2, main
    dirty js modules: lib1, lib2
    dirty js files:   lib1/l1, lib2/l2
STEP 5:
    libs: lib1, lib2, main
    dirty js modules: lib1
    dirty js files:   lib1/l1
