Some libraries do not appear to correctly declare their dependencies.

Graph of CSS library dependencies (excluding JavaScript)
(not embedded due to size)

For example, context-links has no relation to contextual-toolbar, and contextual-toolbar has no relation to toolbar...?


I'll try once more to create a graph of all libraries - my previous attempt didn't work out, due to too many relationships (the graph was literally spaghetti).

Comments

Wim Leers’s picture

Issue tags: +CSS, +JavaScript

Agreed! We need and want all library dependencies to be declared correctly. I think generally the dependencies are declared correctly for libraries containing JS, because otherwise the JS would fail due to missing dependee JS files. I think most missing dependencies are going to be in the area of CSS, because there is no such explicit failure in case of missing dependencies.

However, not everything is what it seems:

context-links has no relation to contextual-toolbar […] ?

This is intentional. The CSS is I think independent for obvious reasons. The JS is also independent, but for more subtle reasons: the toolbar must be renderable and cacheable without knowing anything about the contents of the page… including whether there are or aren't any contextual links on the page. The JS for contextual links, in turn, is only attached to the page and therefor loaded on the page if and only if there are any contextual links.
Therefor, these two libraries are independent.

contextual-toolbar has a check for this in its behavior attach() method:

    if (!Drupal.contextual || !Drupal.contextual.collection) {
      return;
    }
Cottser’s picture

Issue tags: +frontend

We can still do this, just bumping. Doing some triage now.

Is there any semi-automated way of doing this or do we just do a manual audit of some kind?

Version: 8.0.x-dev » 8.1.x-dev

Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.

Bug reports should be targeted against the 8.1.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.1.x-dev » 8.2.x-dev

Drupal 8.1.9 was released on September 7 and is the final bugfix release for the Drupal 8.1.x series. Drupal 8.1.x will not receive any further development aside from security fixes. Drupal 8.2.0-rc1 is now available and sites should prepare to upgrade to 8.2.0.

Bug reports should be targeted against the 8.2.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.6 was released on February 1, 2017 and is the final full bugfix release for the Drupal 8.2.x series. Drupal 8.2.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.3.0 on April 5, 2017. (Drupal 8.3.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.3.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.