die( 'Not an entry point.' );
}
+global $wgResourceBasePath;
+
return [
/**
'upload-foreign-cant-upload',
]
],
- 'mediawiki.ForeignStructuredUpload.config' => [
- 'class' => ResourceLoaderUploadDialogModule::class,
- ],
'mediawiki.ForeignStructuredUpload' => [
- 'scripts' => 'resources/src/mediawiki.ForeignStructuredUpload.js',
+ 'localBasePath' => "$IP/resources/src",
+ 'remoteBasePath' => "$wgResourceBasePath/resources/src",
+ 'packageFiles' => [
+ 'mediawiki.ForeignStructuredUpload.js',
+ 'config.json' => [ 'config' => [ 'UploadDialog' ] ],
+ ],
'dependencies' => [
'mediawiki.ForeignUpload',
- 'mediawiki.ForeignStructuredUpload.config',
],
'messages' => [
'upload-foreign-cant-load-config',
'dependencies' => [
'mediawiki.api',
'mediawiki.storage',
+ // The two user.* modules are not used by mediawiki.user itself,
+ // but kept as explicit dependencies because they provide part
+ // of the mw.user API that consumers of this module expect.
'user.options',
'user.tokens',
],
]
],
'mediawiki.util' => [
- 'class' => ResourceLoaderMediaWikiUtilModule::class,
- 'scripts' => 'resources/src/mediawiki.util.js',
+ 'localBasePath' => "$IP/resources/src",
+ 'remoteBasePath' => "$wgResourceBasePath/resources/src",
+ 'packageFiles' => [
+ 'mediawiki.util.js',
+ 'config.json' => [ 'config' => [ 'FragmentMode' ] ],
+ ],
'dependencies' => [
'jquery.accessKeyLabel',
'mediawiki.RegExp',
],
'mediawiki.jqueryMsg' => [
- // Add data for mediawiki.jqueryMsg, such as allowed tags
- 'class' => ResourceLoaderJqueryMsgModule::class,
- 'scripts' => 'resources/src/mediawiki.jqueryMsg/mediawiki.jqueryMsg.js',
+ 'localBasePath' => "$IP/resources/src/mediawiki.jqueryMsg",
+ 'remoteBasePath' => "$wgResourceBasePath/resources/src/mediawiki.jqueryMsg",
+ 'packageFiles' => [
+ 'mediawiki.jqueryMsg.js',
+ 'parserDefaults.json' => [ 'callback' => function ( ResourceLoaderContext $context ) {
+ $tagData = Sanitizer::getRecognizedTagData();
+ $allowedHtmlElements = array_merge(
+ array_keys( $tagData['htmlpairs'] ),
+ array_diff(
+ array_keys( $tagData['htmlsingle'] ),
+ array_keys( $tagData['htmlsingleonly'] )
+ )
+ );
+
+ $magicWords = [
+ 'SITENAME' => $context->getConfig()->get( 'Sitename' ),
+ ];
+ Hooks::run( 'ResourceLoaderJqueryMsgModuleMagicWords', [ $context, &$magicWords ] );
+
+ return [
+ 'allowedHtmlElements' => $allowedHtmlElements,
+ 'magic' => $magicWords,
+ ];
+ } ],
+ ],
'dependencies' => [
'mediawiki.util',
'mediawiki.language',
)
],
- 'mediawiki.language.names' => [ 'class' => ResourceLoaderLanguageNamesModule::class ],
+ 'mediawiki.language.names' => [
+ 'localBasePath' => "$IP/resources/src/mediawiki.language",
+ 'remoteBasePath' => "$wgResourceBasePath/resources/src/mediawiki.language",
+ 'packageFiles' => [
+ 'mediawiki.language.names.js',
+ 'names.json' => [ 'callback' => function ( ResourceLoaderContext $context ) {
+ return Language::fetchLanguageNames( $context->getLanguage(), 'all' );
+ } ],
+ ],
+ 'dependencies' => 'mediawiki.language',
+ 'targets' => [ 'desktop', 'mobile' ],
+ ],
'mediawiki.language.specialCharacters' => [
- 'class' => ResourceLoaderSpecialCharacterDataModule::class
+ 'localBasePath' => "$IP/resources/src/mediawiki.language",
+ 'remoteBasePath' => "$wgResourceBasePath/resources/src/mediawiki.language",
+ 'packageFiles' => [
+ 'mediawiki.language.specialCharacters.js',
+ 'specialcharacters.json'
+ ],
+ 'dependencies' => 'mediawiki.language',
+ 'targets' => [ 'desktop', 'mobile' ],
+ 'messages' => [
+ 'special-characters-group-latin',
+ 'special-characters-group-latinextended',
+ 'special-characters-group-ipa',
+ 'special-characters-group-symbols',
+ 'special-characters-group-greek',
+ 'special-characters-group-greekextended',
+ 'special-characters-group-cyrillic',
+ 'special-characters-group-arabic',
+ 'special-characters-group-arabicextended',
+ 'special-characters-group-persian',
+ 'special-characters-group-hebrew',
+ 'special-characters-group-bangla',
+ 'special-characters-group-tamil',
+ 'special-characters-group-telugu',
+ 'special-characters-group-sinhala',
+ 'special-characters-group-devanagari',
+ 'special-characters-group-gujarati',
+ 'special-characters-group-thai',
+ 'special-characters-group-lao',
+ 'special-characters-group-khmer',
+ 'special-characters-group-canadianaboriginal',
+ 'special-characters-title-endash',
+ 'special-characters-title-emdash',
+ 'special-characters-title-minus'
+ ]
],
/* MediaWiki Libs */
],
],
'mediawiki.rcfilters.filters.dm' => [
- 'scripts' => [
- 'resources/src/mediawiki.rcfilters/mw.rcfilters.js',
- 'resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ItemModel.js',
- 'resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FilterItem.js',
- 'resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FilterGroup.js',
- 'resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FiltersViewModel.js',
- 'resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.SavedQueryItemModel.js',
- 'resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.SavedQueriesModel.js',
- 'resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ChangesListViewModel.js',
- 'resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js',
- 'resources/src/mediawiki.rcfilters/mw.rcfilters.UriProcessor.js',
+ 'localBasePath' => "$IP/resources/src/mediawiki.rcfilters",
+ 'remoteBasePath' => "$wgResourceBasePath/resources/src/mediawiki.rcfilters",
+ 'packageFiles' => [
+ 'mw.rcfilters.js',
+ 'Controller.js',
+ 'UriProcessor.js',
+ 'dm/ChangesListViewModel.js',
+ 'dm/FilterGroup.js',
+ 'dm/FilterItem.js',
+ 'dm/FiltersViewModel.js',
+ 'dm/ItemModel.js',
+ 'dm/SavedQueriesModel.js',
+ 'dm/SavedQueryItemModel.js',
],
'dependencies' => [
'mediawiki.String',
],
],
'mediawiki.rcfilters.filters.ui' => [
- 'scripts' => [
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.GroupWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.CheckboxInputWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagMultiselectWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ItemMenuOptionWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterMenuOptionWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterMenuSectionOptionWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.TagItemWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagItemWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterMenuHeaderWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.MenuSelectWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.MainWrapperWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ViewSwitchWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ValuePickerWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesLimitPopupWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesLimitAndDateButtonWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.DatePopupWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterWrapperWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesListWrapperWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.SavedLinksListWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.SavedLinksListItemWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.SaveFiltersPopupButtonWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FormWrapperWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterItemHighlightButton.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.HighlightPopupWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.HighlightColorPickerWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.LiveUpdateButtonWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.MarkSeenButtonWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.RcTopSectionWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.RclTopSectionWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.RclTargetPageWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.RclToOrFromWidget.js',
- 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.WatchlistTopSectionWidget.js',
- 'resources/src/mediawiki.rcfilters/mw.rcfilters.HighlightColors.js',
- 'resources/src/mediawiki.rcfilters/mw.rcfilters.init.js',
+ 'localBasePath' => "$IP/resources/src/mediawiki.rcfilters",
+ 'remoteBasePath' => "$wgResourceBasePath/resources/src/mediawiki.rcfilters",
+ 'packageFiles' => [
+ 'mw.rcfilters.init.js',
+ 'HighlightColors.js',
+ 'ui/GroupWidget.js',
+ 'ui/CheckboxInputWidget.js',
+ 'ui/FilterTagMultiselectWidget.js',
+ 'ui/ItemMenuOptionWidget.js',
+ 'ui/FilterMenuOptionWidget.js',
+ 'ui/FilterMenuSectionOptionWidget.js',
+ 'ui/TagItemWidget.js',
+ 'ui/FilterTagItemWidget.js',
+ 'ui/FilterMenuHeaderWidget.js',
+ 'ui/MenuSelectWidget.js',
+ 'ui/MainWrapperWidget.js',
+ 'ui/ViewSwitchWidget.js',
+ 'ui/ValuePickerWidget.js',
+ 'ui/ChangesLimitPopupWidget.js',
+ 'ui/ChangesLimitAndDateButtonWidget.js',
+ 'ui/DatePopupWidget.js',
+ 'ui/FilterWrapperWidget.js',
+ 'ui/ChangesListWrapperWidget.js',
+ 'ui/SavedLinksListWidget.js',
+ 'ui/SavedLinksListItemWidget.js',
+ 'ui/SaveFiltersPopupButtonWidget.js',
+ 'ui/FormWrapperWidget.js',
+ 'ui/FilterItemHighlightButton.js',
+ 'ui/HighlightPopupWidget.js',
+ 'ui/HighlightColorPickerWidget.js',
+ 'ui/LiveUpdateButtonWidget.js',
+ 'ui/MarkSeenButtonWidget.js',
+ 'ui/RcTopSectionWidget.js',
+ 'ui/RclTopSectionWidget.js',
+ 'ui/RclTargetPageWidget.js',
+ 'ui/RclToOrFromWidget.js',
+ 'ui/WatchlistTopSectionWidget.js',
],
'styles' => [
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.mixins.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.variables.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.Overlay.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterTagMultiselectWidget.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ItemMenuOptionWidget.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterMenuOptionWidget.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterMenuSectionOptionWidget.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.TagItemWidget.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterMenuHeaderWidget.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.MenuSelectWidget.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ViewSwitchWidget.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ValuePickerWidget.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ChangesLimitPopupWidget.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.DatePopupWidget.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterWrapperWidget.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ChangesListWrapperWidget.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.HighlightColorPickerWidget.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterItemHighlightButton.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.SavedLinksListWidget.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.SavedLinksListItemWidget.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.SaveFiltersPopupButtonWidget.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.LiveUpdateButtonWidget.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.RcTopSectionWidget.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.RclToOrFromWidget.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.RclTargetPageWidget.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.WatchlistTopSectionWidget.less',
+ 'styles/mw.rcfilters.mixins.less',
+ 'styles/mw.rcfilters.variables.less',
+ 'styles/mw.rcfilters.ui.less',
+ 'styles/mw.rcfilters.ui.Overlay.less',
+ 'styles/mw.rcfilters.ui.FilterTagMultiselectWidget.less',
+ 'styles/mw.rcfilters.ui.ItemMenuOptionWidget.less',
+ 'styles/mw.rcfilters.ui.FilterMenuOptionWidget.less',
+ 'styles/mw.rcfilters.ui.FilterMenuSectionOptionWidget.less',
+ 'styles/mw.rcfilters.ui.TagItemWidget.less',
+ 'styles/mw.rcfilters.ui.FilterMenuHeaderWidget.less',
+ 'styles/mw.rcfilters.ui.MenuSelectWidget.less',
+ 'styles/mw.rcfilters.ui.ViewSwitchWidget.less',
+ 'styles/mw.rcfilters.ui.ValuePickerWidget.less',
+ 'styles/mw.rcfilters.ui.ChangesLimitPopupWidget.less',
+ 'styles/mw.rcfilters.ui.DatePopupWidget.less',
+ 'styles/mw.rcfilters.ui.FilterWrapperWidget.less',
+ 'styles/mw.rcfilters.ui.ChangesListWrapperWidget.less',
+ 'styles/mw.rcfilters.ui.HighlightColorPickerWidget.less',
+ 'styles/mw.rcfilters.ui.FilterItemHighlightButton.less',
+ 'styles/mw.rcfilters.ui.SavedLinksListWidget.less',
+ 'styles/mw.rcfilters.ui.SavedLinksListItemWidget.less',
+ 'styles/mw.rcfilters.ui.SaveFiltersPopupButtonWidget.less',
+ 'styles/mw.rcfilters.ui.LiveUpdateButtonWidget.less',
+ 'styles/mw.rcfilters.ui.RcTopSectionWidget.less',
+ 'styles/mw.rcfilters.ui.RclToOrFromWidget.less',
+ 'styles/mw.rcfilters.ui.RclTargetPageWidget.less',
+ 'styles/mw.rcfilters.ui.WatchlistTopSectionWidget.less',
],
'skinStyles' => [
'vector' => [
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.Overlay.vector.less',
+ 'styles/mw.rcfilters.ui.Overlay.vector.less',
],
'monobook' => [
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.Overlay.monobook.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.CapsuleItemWidget.monobook.less',
- 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterMenuOptionWidget.monobook.less',
+ 'styles/mw.rcfilters.ui.Overlay.monobook.less',
+ 'styles/mw.rcfilters.ui.CapsuleItemWidget.monobook.less',
+ 'styles/mw.rcfilters.ui.FilterMenuOptionWidget.monobook.less',
],
],
'messages' => [
'targets' => [ 'desktop', 'mobile' ],
],
'mediawiki.special.changeslist.enhanced' => [
- 'styles' => 'resources/src/mediawiki.special.changeslist.enhanced.css',
+ 'styles' => 'resources/src/mediawiki.special.changeslist.enhanced.less',
],
'mediawiki.special.changeslist.legend' => [
- 'styles' => 'resources/src/mediawiki.special.changeslist.legend.css',
+ 'styles' => 'resources/src/mediawiki.special.changeslist.legend.less',
'targets' => [ 'desktop', 'mobile' ],
],
'mediawiki.special.changeslist.legend.js' => [
'dependencies' => [
'mediawiki.api',
'mediawiki.jqueryMsg',
+ 'mediawiki.notify',
'mediawiki.Title',
'mediawiki.util',
'oojs-ui-core',
],
],
'mediawiki.legacy.protect' => [
- 'scripts' => 'resources/src/mediawiki.legacy/protect.js',
+ 'localBasePath' => "$IP/resources/src/mediawiki.legacy",
+ 'remoteBasePath' => "$wgResourceBasePath/resources/src/mediawiki.legacy",
+ 'packageFiles' => [
+ 'protect.js',
+ 'config.json' => [ 'config' => [ 'CascadingRestrictionLevels' ] ],
+ ],
'dependencies' => 'jquery.lengthLimit',
'messages' => [ 'protect-unchain-permissions' ]
],