Executable.setCode failed when the compiler produced no code after a compile
error. This adopts that fix and the other general changes from the runtime
published to npm as @objj/runtime, without its Node-specific changes.
- CFDictionary.js: Add toJSObject, which returns the contents as a plain object
- Executable.js: Return early from setCode when no code was produced
- CPLog.js: Return early from CPLogPrint when CPLogDisable is set
- Bootstrap.js: Accept SourceMapIncludeSource in OBJJ_COMPILER_FLAGS
- The holy grail! I took Klaas' great autonib2cib and rolled it into nib2cib.
- Removed check for stream in CPLogColorize, it isn't necessary and reduces its general-purpose usage.
- A formatter function can be passed to the CPLogRegister functions. If the given level already has a provider for the given level, the formatter will be replaced with the one passed to the register function.
- Added CPLogColorize function to make it easy for users to colorize messages.
- CPLogRegisterRange now checks for min <= max, and now correctly starts iterating from min.
- Moved colorization of log level to _CPFormatLogMessage.
- Whitespace cleanup.