refactor(compiler): pass DirectiveMap on compiler call instead of constructor