function convertRT(html, reportContext, options) {
    options = getOptions(options);

    var context = defaultContext(html, options, reportContext);
    var body = parseAndConvertHtmlToReact(html, context);

    var requirePaths = _.map(context.defines, function (d) {
        return '"' + d.moduleName + '"';
    }).join(',');
    var requireNames = _.map(context.defines, function (d) {
        return '' + d.alias;
    }).join(',');
    var buildImport = reactSupport.buildImport[options.modules] || reactSupport.buildImport.commonjs;
    var requires = _.map(context.defines, buildImport).join('\n');
    var header = options.flow ? '/* @flow */\n' : '';
    var vars = header + requires;
    var data = {
        body: body,
        injectedFunctions: context.injectedFunctions.join('\n'),
        requireNames: requireNames,
        requirePaths: requirePaths,
        vars: vars,
        name: options.name,
        statelessProps: context.stateless ? 'props' : ''
    };
    var code = templates[options.modules](data);
    if (options.modules !== 'typescript' && options.modules !== 'jsrt') {
        code = parseJS(code);
    }
    return code;
}
@param {string} html
@param {CONTEXT} reportContext
@param {Options?} options
@return {string}