whole_func_string: function getModulesWithDependencies( root, fileList ) {
  	const filePromises = fileList.map( async fileWithPath => {
  		const fileSource = await readFileAsync( fspath.join( root, fileWithPath ), 'utf8' );
  		const deps = getDependencies( fileSource );
  
  		return [ fileWithPath, deps ];
  	} );
  
  	return Promise.all( filePromises ).then( _.fromPairs );
  }
func_code_string: function getModulesWithDependencies( root, fileList ) {
  	const filePromises = fileList.map( async fileWithPath => {
  		const fileSource = await readFileAsync( fspath.join( root, fileWithPath ), 'utf8' );
  		const deps = getDependencies( fileSource );
  
  		return [ fileWithPath, deps ];
  	} );
  
  	return Promise.all( filePromises ).then( _.fromPairs );
  }
func_documentation_string: Calculate the modules dependencies.
  Produces an object that has the following structure:
  {
  'A': [dep1, dep2, dep3, ...],
  'B': [dep1, dep2, dep3, ...]
  }
  @param {string} root BasePath to resolve the files' path
  @param {Array} fileList A list of file names
  @returns {Promise}