class Opal::Builder
def tree_requires(asset, asset_path)
def tree_requires(asset, asset_path) dirname = asset_path.to_s.empty? ? Pathname.pwd : Pathname(asset_path).expand_path.dirname abs_base_paths = path_reader.paths.map { |p| File.expand_path(p) } asset.required_trees.flat_map do |tree| abs_tree_path = dirname.join(tree).expand_path.to_s abs_base_path = abs_base_paths.find { |p| abs_tree_path.start_with?(p) } if abs_base_path abs_base_path = Pathname(abs_base_path) entries_glob = Pathname(abs_tree_path).join('**', "*{.js,}.{#{extensions.join ','}}") Pathname.glob(entries_glob).map { |file| file.relative_path_from(abs_base_path).to_s } else [] # the tree is not part of any known base path end end end