Exemple #1
0
def calculate_deps(js_entrypoint_file_path):
    """TODO Documentation"""

    deps = _calculate_deps(js_entrypoint_file_path)

    js_deps = [loader.get_relative_path(js_source.GetPath()) for js_source in deps]

    #    js_deps = ["tic/web/client/tic.js"] + js_deps
    # calculate css deps
    css_source_to_path = dict()
    for css_path in loader.locate("*.css"):
        provide = source.CssSource(source.GetFileContents(css_path)).getProvideCssRule()
        if provide:
            css_source_to_path[provide] = css_path

    css_requires = set()
    css_deps = set()
    for js_source in deps:
        css_requires.update(js_source.require_csses)

    for css_req in css_requires:
        css_deps.add(loader.get_relative_path(css_source_to_path[css_req]))

    return (css_deps, js_deps)  # [loader.get_relative_path(js_source.GetPath()) for js_source in deps]
Exemple #2
0
def generate_instrumented_file(js_file):
    logging.info('Generating instrumentation code for [%s]' % js_file)
    command = ' '.join([NODE_EXECUTABLE, NODE_SCRIPT, js_file])
    instrumented = commands.getoutput(command)
    
    destination, filename = os.path.join(INSTRUMENTED_CODE_PATH, 
                                     loader.get_relative_path(js_file)).rsplit('/',1)
    
    if not os.path.exists(destination):
        os.makedirs(destination)
    
    file = open(os.path.join(destination, filename), 'w')
    file.write(instrumented)
    file.close()
    logging.info('done...')