Supporting conformance testing is requiring adding extra code paths to `RuleTester` and main JS plugins code.
Previously, these paths were guarded by `if (DEBUG)` branches, so the extra code is not in release build. But ideally we don't want this code in debug build either, so the tests are testing a build that's identical to release build, except for enabling debug assertions.
Introduce a new build specifically for conformance testing, and gate code specific to conformance testing with `if (CONFORMANCE)` instead of `if (DEBUG)`.
Generate a debug build, in addition to the normal release build.
In the debug build, `DEBUG` global is defined as `true` and `assertIsNonNull` does a runtime assertion. In release build, `DEBUG === false` and minifier removes debug-only code.
Run the tests in debug mode.
Debug build is generated in a separate directory from `dist`, so is *not* included in NPM package.