MediaWiki file: manageForeignResources.php
Location: maintenance/
Source code: master 1.40.0 1.39.4 1.35.11
Classes: ManageForeignResources

Details

manageForeignResources.php is a maintenance script that manages foreign resources registered with ResourceLoader.

Options/Arguments

Option Description Required Default value
actionOne of "update", "verify" or "make-sri"Required
moduleName of a single moduleOptionalall
--extensionName of an extensionOptional
--skinName of an skinOptional
--verboseBe verboseOptional

Use the update action to download URLs specified in foreign-resources.yaml and unpack them to the resources directory. This will also verify them against the integrity hashes.

Use the verify action to verify that the files currently in the resources directory match what "update" would replace them with. This is effectively a dry run and will not change any module resources on disk.

Use the make-sri action to compute an integrity hash for upstreams that do not publish one themselves. Add or update the URLs in foreign-resources.yaml as needed, but omit (or leave empty) the "integrity" key. Then, run the "make-sri" action for the module, and copy the integrity into the file. Then, you can use "verify" or "update" normally.

--extension / --skin can be used to specify which extension or skin to update / verify foreign resources for; if neither is used, the script will operate on the foreign resources for MediaWiki core.

Usage

php maintenance/manageForeignResources.php actionName [ moduleName | --extension | --skin | --verbose ]

Updating foreign resources

Terminal
$ php maintenance/manageForeignResources.php update

... updating 'CLDRPluralRuleParser'
... updating 'html5shiv'
... updating 'jquery'
... updating 'jquery.chosen'
... updating 'jquery.client'
... updating 'jquery.cookie'
... updating 'jquery.form'
... updating 'jquery.fullscreen'
... updating 'jquery.hoverIntent'
... updating 'jquery.i18n'
... updating 'jquery.jStorage'
... updating 'jquery.throttle-debounce'
... updating 'moment'
... updating 'mustache'
... updating 'oojs'
... updating 'oojs-router'
... updating 'ooui'
... updating 'pako'
... updating 'promise-polyfill'
..............................

Verifying a module

Terminal
$ php maintenance/manageForeignResources.php verify oojs

... verifying 'oojs'

Done!

Common errors

Unknown module name

As of 25 Oct 2021, the module name must be one of:

CLDRPluralRuleParser, html5shiv, jquery, jquery.chosen, jquery.client,
jquery.cookie, jquery.form, jquery.fullscreen, jquery.hoverIntent, jquery.i18n,
jquery.jStorage, jquery.throttle-debounce, moment, mustache, oojs, oojs-router,
ooui, pako, promise-polyfill, qunitjs, sinonjs, vue, vuex.
Unknown component: <extension or skin name>

This probably means the given extension/skin did not set its ForeignResourceDirs attribute.

See also

  • Manual:Jsparse.php
  • ResourceLoader
  • ResourceLoader/Core modules
This article is issued from Mediawiki. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.