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]
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...')