- $query = [
- 'modules' => ResourceLoader::makePackedModulesString( $moduleNames ),
- 'only' => 'scripts',
- 'lang' => $context->getLanguage(),
- 'skin' => $context->getSkin(),
- 'debug' => $context->getDebug() ? 'true' : 'false',
- 'version' => $rl->getCombinedVersion( $context, $moduleNames ),
- ];
- // Ensure uniform query order
- ksort( $query );
- return wfAppendQuery( wfScript( 'load' ), $query );
+ $derivative = new DerivativeResourceLoaderContext( $context );
+ $derivative->setModules( self::getStartupModules() );
+ $derivative->setOnly( 'scripts' );
+ // Must setModules() before makeVersionQuery()
+ $derivative->setVersion( $rl->makeVersionQuery( $derivative ) );
+
+ return $rl->createLoaderURL( 'local', $derivative );