feat(compiler): initial version of Compiler.js