false, 'ignore_tests' => true, 'min_depth' => 1, 'ignore_dirs' => array('node_modules') ); public function acceptDir($basename, $pathname, $depth) { // Skip over the assets directory in the site root. if ($depth == 1 && $basename == ASSETS_DIR) { return false; } // Skip over any lang directories in the top level of the module. if ($depth == 2 && $basename == self::LANG_DIR) { return false; } // If we're not in testing mode, then skip over the tests directory in // the module root. if ($this->getOption('ignore_tests') && $depth == 2 && $basename == self::TESTS_DIR) { return false; } // Ignore any directories which contain a _manifest_exclude file. if (file_exists($pathname . '/' . self::EXCLUDE_FILE)) { return false; } // Only include top level module directories which have a configuration // _config.php file. However, if we're in themes mode then include // the themes dir without a config file. $lackingConfig = ( $depth == 1 && !($this->getOption('include_themes') && $basename == THEMES_DIR) && !file_exists($pathname . '/' . self::CONFIG_FILE) && !file_exists($pathname . '/' . self::CONFIG_DIR) ); if ($lackingConfig) { return false; } return parent::acceptDir($basename, $pathname, $depth); } }