You are here

protected function GutenbergLibraryManager::findDefinitions in Gutenberg 8.2

Finds plugin definitions.

Return value

array List of definitions to store in cache.

Overrides DefaultPluginManager::findDefinitions

File

src/GutenbergLibraryManager.php, line 122

Class

GutenbergLibraryManager
Provides the default .gutenberg.yml library plugin manager.

Namespace

Drupal\gutenberg

Code

protected function findDefinitions() {
  $definitions = $this
    ->getDiscovery()
    ->findAll();
  foreach ($definitions as $plugin_id => &$definition) {
    $definitions[$plugin_id] = $definition + [
      'id' => $plugin_id,
      'provider' => $plugin_id,
    ];
    $this
      ->processDefinition($definition, $plugin_id);
  }
  unset($definition);
  $this
    ->alterDefinitions($definitions);

  // If this plugin was provided by a module/theme that does not exist,
  // remove the plugin definition.
  foreach ($definitions as $plugin_id => $definition) {
    $plugin_id = $this
      ->extractProviderFromDefinition($definition);
    if ($plugin_id && !in_array($plugin_id, [
      'core',
      'component',
    ]) && !$this
      ->providerExists($plugin_id)) {
      unset($definitions[$plugin_id]);
    }
  }
  return $definitions;
}