parse options.level on the fly instead of making options mutable
revert eslint config
minor cleanup and bugfix
allow for pluggable transports