Browserify one or more library directories into a single
    javascript file. Generates source maps in debug mode. Minifies the
    output in release mode.

    The final directory name in each of lib_dirs is the library name
    for importing. Eg.::

        lib_dirs = ['cordova_libs/jskit']

        var MyClass = require('jskit/MyClass');

def browserify_libs(lib_dirs, output_file, babelify=False):
    """
    Browserify one or more library directories into a single
    javascript file. Generates source maps in debug mode. Minifies the
    output in release mode.

    The final directory name in each of lib_dirs is the library name
    for importing. Eg.::

        lib_dirs = ['cordova_libs/jskit']

        var MyClass = require('jskit/MyClass');
    """
    from .modules import browserify

    if not isinstance(lib_dirs, (list, tuple)):
        raise RuntimeError('Browserify Libs compiler takes a list of library directories as input.')

    return {
        'dependencies_fn': browserify.browserify_deps_libs,
        'compiler_fn': browserify.browserify_compile_libs,
        'input': lib_dirs,
        'output': output_file,
        'kwargs': {
            'babelify': babelify,
        },
    }