Wikibase and Query are installed in extensions and the components (except for ValueView) are now installed to the vendor directory. This consequently creates a problem with a bit of code that is duplicated typically in the resources.php file of several JS components.
$remoteExtPathParts = explode(
DIRECTORY_SEPARATOR . 'extensions' . DIRECTORY_SEPARATOR, __DIR__, 2
);
$moduleTemplate = array(
'localBasePath' => __DIR__,
'remoteExtPath' => $remoteExtPathParts[1],
);
As you can see, this is looking for the component to reside in an path that contains "extensions". There are several questions to be answered.
1) Does this composer created directory structure work for everything (including testing and production deployment)? (i.e. keeping things in MW_INSTALL_PATH/vendor).
2) if so, should ValueView be moved to vendor?
3) How can the problem paths be fixed? Is this kind of flexible path magic still necessary for the components resource loader? Or can it be simplified by just statically defining the parent dir of the resource into the $resources array? (the way that core currently does it).
4) What is the best way to load all JS resources for Wikibase?
Christopher