def concatenate_worker(module_name, descriptors, application_dir, output_dir, minify): descriptor = descriptors.modules[module_name] scripts = descriptor.get('scripts') if not scripts: return worker_dir = path.join(application_dir, module_name) output_file_path = path.join(output_dir, module_name + '_module.js') output = StringIO() output.write('/* Worker %s */\n' % module_name) output.write('/* Runtime.js */\n') output.write(read_file(path.join(application_dir, 'Runtime.js'))) dependencies = descriptors.sorted_dependencies_closure(module_name) dep_descriptors = [] for dep_name in dependencies: dep_descriptor = descriptors.modules[dep_name] dep_descriptors.append(dep_descriptor) scripts = dep_descriptor.get('scripts') if scripts: output.write('\n/* Module %s */\n' % dep_name) modular_build.concatenate_scripts( scripts, path.join(application_dir, dep_name), output_dir, output) write_file(output_file_path, minify_if_needed(output.getvalue(), minify)) output.close()
def _concatenate_autostart_modules(self, output): non_autostart = set() sorted_module_names = self.descriptors.sorted_modules() for name in sorted_module_names: desc = self.descriptors.modules[name] name = desc['name'] type = self.descriptors.application[name].get('type') if type == 'autostart': deps = set(desc.get('dependencies', [])) non_autostart_deps = deps & non_autostart if len(non_autostart_deps): bail_error( 'Non-autostart dependencies specified for the autostarted module "%s": %s' % (name, non_autostart_deps)) namespace = name.replace('_lazy', '') if namespace == 'sdk' or namespace == 'ui': namespace = namespace.upper() namespace = "".join( map(lambda x: x[0].upper() + x[1:], namespace.split('_'))) output.write('\n/* Module %s */\n' % name) output.write('\nself[\'%s\'] = self[\'%s\'] || {};\n' % (namespace, namespace)) modular_build.concatenate_scripts( desc.get('scripts'), join(self.application_dir, name), self.output_dir, output) else: non_autostart.add(name)
def concatenate_dynamic_module(module_name, descriptors, application_dir, output_dir, minify): scripts = descriptors.modules[module_name].get('scripts') if not scripts: return module_dir = path.join(application_dir, module_name) output = StringIO() modular_build.concatenate_scripts(scripts, module_dir, output_dir, output) output_file_path = concatenated_module_filename(module_name, output_dir) write_file(output_file_path, minify_if_needed(output.getvalue(), minify)) output.close()
def _concatenate_dynamic_module(self, module_name): module = self.descriptors.modules[module_name] scripts = module.get('scripts') resources = self.descriptors.module_resources(module_name) module_dir = join(self.application_dir, module_name) output = StringIO() if scripts: modular_build.concatenate_scripts(scripts, module_dir, self.output_dir, output) if resources: self._write_module_resources(resources, output) output_file_path = concatenated_module_filename(module_name, self.output_dir) write_file(output_file_path, minify_js(output.getvalue())) output.close()
def _concatenate_dynamic_module(self, module_name): module = self.descriptors.modules[module_name] scripts = module.get('scripts') stylesheets = self.descriptors.module_stylesheets(module_name) if not scripts and not stylesheets: return module_dir = join(self.application_dir, module_name) output = StringIO() if scripts: modular_build.concatenate_scripts(scripts, module_dir, self.output_dir, output) if stylesheets: self._write_module_css_styles(stylesheets, output) output_file_path = concatenated_module_filename(module_name, self.output_dir) write_file(output_file_path, minify_js(output.getvalue())) output.close()
def _concatenate_autostart_modules(self, output): non_autostart = set() sorted_module_names = self.descriptors.sorted_modules() for name in sorted_module_names: desc = self.descriptors.modules[name] name = desc['name'] type = self.descriptors.application[name].get('type') if type == 'autostart': deps = set(desc.get('dependencies', [])) non_autostart_deps = deps & non_autostart if len(non_autostart_deps): bail_error('Non-autostart dependencies specified for the autostarted module "%s": %s' % (name, non_autostart_deps)) output.write('\n/* Module %s */\n' % name) modular_build.concatenate_scripts(desc.get('scripts'), join(self.application_dir, name), self.output_dir, output) else: non_autostart.add(name)
def _concatenate_dynamic_module(self, module_name): module = self.descriptors.modules[module_name] scripts = module.get('scripts') modules = module.get('modules') resources = self.descriptors.module_resources(module_name) module_dir = join(self.application_dir, module_name) output = StringIO() if scripts: modular_build.concatenate_scripts(scripts, module_dir, self.output_dir, output) if resources: output.write("import * as RootModule from '../root/root.js';") self._write_module_resources(resources, output) if modules: self._rollup_module(module_name, modules) output_file_path = concatenated_module_filename(module_name, self.output_dir) write_file(output_file_path, minify_js(output.getvalue())) output.close()
def _concatenate_worker(self, module_name): descriptor = self.descriptors.modules[module_name] scripts = descriptor.get('scripts') if not scripts: return output = StringIO() output.write('/* Worker %s */\n' % module_name) dep_descriptors = [] for dep_name in self.descriptors.sorted_dependencies_closure(module_name): dep_descriptor = self.descriptors.modules[dep_name] dep_descriptors.append(dep_descriptor) scripts = dep_descriptor.get('scripts') if scripts: output.write('\n/* Module %s */\n' % dep_name) modular_build.concatenate_scripts(scripts, join(self.application_dir, dep_name), self.output_dir, output) output_file_path = concatenated_module_filename(module_name, self.output_dir) write_file(output_file_path, minify_js(output.getvalue())) output.close()
def _concatenate_autostart_modules(self, output): non_autostart = set() sorted_module_names = self.descriptors.sorted_modules() for name in sorted_module_names: desc = self.descriptors.modules[name] name = desc['name'] type = self.descriptors.application[name].get('type') if type == 'autostart': deps = set(desc.get('dependencies', [])) non_autostart_deps = deps & non_autostart if len(non_autostart_deps): bail_error('Non-autostart dependencies specified for the autostarted module "%s": %s' % (name, non_autostart_deps)) namespace = name.replace('_lazy', '') if namespace == 'sdk' or namespace == 'ui': namespace = namespace.upper(); namespace = "".join(map(lambda x: x[0].upper() + x[1:], namespace.split('_'))) output.write('\n/* Module %s */\n' % name) output.write('\nself[\'%s\'] = self[\'%s\'] || {};\n' % (namespace, namespace)) modular_build.concatenate_scripts(desc.get('scripts'), join(self.application_dir, name), self.output_dir, output) else: non_autostart.add(name)
def concatenate_worker(module_name, descriptors, application_dir, output_dir, minify): descriptor = descriptors.modules[module_name] scripts = descriptor.get('scripts') if not scripts: return worker_dir = path.join(application_dir, module_name) output_file_path = concatenated_module_filename(module_name, output_dir) output = StringIO() output.write('/* Worker %s */\n' % module_name) dependencies = descriptors.sorted_dependencies_closure(module_name) dep_descriptors = [] for dep_name in dependencies: dep_descriptor = descriptors.modules[dep_name] dep_descriptors.append(dep_descriptor) scripts = dep_descriptor.get('scripts') if scripts: output.write('\n/* Module %s */\n' % dep_name) modular_build.concatenate_scripts(scripts, path.join(application_dir, dep_name), output_dir, output) write_file(output_file_path, minify_if_needed(output.getvalue(), minify)) output.close()