HomePhabricator

Split /resources into /resources/lib and /resources/src

Authored by Jdforrester-WMF.

Description

Split /resources into /resources/lib and /resources/src

Currently, MediaWiki has a mess of resources, some but not all of which are upstream libraries.
This means that occasionally people will attempt to make local modifications of the libraries
by accident, or deliberately but do not flag it, making dependency management a challenge (and
fixing upstream-related bugs a headache).

Instead, we now split the /resources directory into a /resources/lib directory for those items
which are used purely as intact upstream libraries, and a /resources/src directroy for those
which are either local libraries written for MediaWiki and mastered here, or downstream forks
of upstream libraries which require particular care and attention when being upgraded. Also,
some incidental files which are not to be loaded as part of a module have been moved to better
locations.

Upstream libaries

  • jquery

resources/jquery/jquery.js

  • jquery.appear

resources/jquery/jquery.appear.js

  • jquery.async

resources/jquery/jquery.async.js

  • jquery.chosen

resources/jquery.chosen/*

  • jquery.cookie

resources/jquery/jquery.cookie.js

  • jquery.form

resources/jquery/jquery.form.js

  • jquery.fullscreen.js

resources/jquery/jquery.fullscreen.js

  • jquery.hoverIntent

resources/jquery/jquery.hoverIntent.js

  • jquery.json

resources/jquery/jquery.json.js

  • jquery.mockjax

resources/jquery/jquery.mockjax.js

  • jquery.qunit

resources/jquery/jquery.qunit.css
resources/jquery/jquery.qunit.js

  • jquery.jStorage

resources/jquery/jquery.jStorage.js

  • jquery.throttle-debounce

resources/jquery/jquery.ba-throttle-debounce.js

  • jquery.validate

resources/jquery/jquery.validate.js

  • jquery.xmldom

resources/jquery/jquery.xmldom.js

  • moment

resources/moment/*

  • OOjs

resource/oojs/*

  • OOjs UI

resources/oojs-ui/*

  • jquery.ui.*

resources/jquery.ui/*

		resources/jquery.ui/themes/default moved to resources/lib/jquery.ui/themes/
		resources/jquery.ui/themes/vector moved to resources/src/jquery.ui-themes/
  • jquery.effects.*

resources/jquery.effects/*

  • sinon

resources/sinonjs/*

Upstream libraries forked for MediaWiki

  • jquery.color

resources/jquery/jquery.color.js

  • jquery.tipsy

resources/jquery.tipsy/*

Local libraries

  • jquery.arrowSteps

resources/jquery/jquery.arrowSteps.css
resources/jquery/jquery.arrowSteps.js
resources/jquery/images/jquery.arrowSteps.divider-ltr.png
resources/jquery/images/jquery.arrowSteps.divider-rtl.png
resources/jquery/images/jquery.arrowSteps.head-ltr.png
resources/jquery/images/jquery.arrowSteps.head-rtl.png
resources/jquery/images/jquery.arrowSteps.tail-ltr.png
resources/jquery/images/jquery.arrowSteps.tail-rtl.png

  • jquery.autoEllipsis

resources/jquery/jquery.autoEllipsis.js

  • jquery.badge

resources/jquery/jquery.badge.css
resources/jquery/jquery.badge.js

  • jquery.byteLength

resources/jquery/jquery.byteLength.js

  • jquery.byteLimit

resources/jquery/jquery.byteLimit.js

  • jquery.checkboxShiftClick

resources/jquery/jquery.checkboxShiftClick.js

  • jquery.client

resources/jquery/jquery.client.js

  • jquery.colorUtil

resources/jquery/jquery.colorUtil.js

  • jquery.delayedBind

resources/jquery/jquery.delayedBind.js

  • jquery.expandableField

resources/jquery/jquery.expandableField.js

  • jquery.farbtastic

resources/jquery/jquery.farbtastic.css
resources/jquery/jquery.farbtastic.js
resources/jquery/images/marker.png
resources/jquery/images/mask.png
resources/jquery/images/wheel.png

  • jquery.footHovzer

resources/jquery/jquery.footHovzer.css
resources/jquery/jquery.footHovzer.js

  • jquery.getAttrs

resources/jquery/jquery.getAttrs.js

  • jquery.hidpi

resources/jquery/jquery.hidpi.js

  • jquery.highlightText

resources/jquery/jquery.highlightText.js

  • jquery.localize

resources/jquery/jquery.localize.js

  • jquery.makeCollapsible

resources/jquery/jquery.makeCollapsible.css
resources/jquery/jquery.makeCollapsible.js

  • jquery.mw-jump

resources/jquery/jquery.mw-jump.js

  • jquery.mwExtension

resources/jquery/jquery.mwExtension.js

  • jquery.placeholder

resources/jquery/jquery.placeholder.js

  • jquery.spinner

resources/jquery/jquery.spinner.css
resources/jquery/jquery.spinner.js
resources/jquery/images/spinner-large.gif
resources/jquery/images/spinner.gif

  • jquery.suggestions

resources/jquery/jquery.suggestions.css
resources/jquery/jquery.suggestions.js

  • jquery.tabIndex

resources/jquery/jquery.tabIndex.js

  • jquery.tablesorter

resources/jquery/jquery.tablesorter.css
resources/jquery/jquery.tablesorter.js
resources/jquery/images/sort_both.gif
resources/jquery/images/sort_down.gif
resources/jquery/images/sort_none.gif
resources/jquery/images/sort_up.gif

  • jquery.textSelection

resources/jquery/jquery.textSelection.js

  • jquery.qunit.completenessTest

resources/jquery/jquery.qunit.completenessTest.js

  • mediawiki

resources/mediawiki/mediawiki.js
resources/mediawiki/mediawiki.log.js

  • mediawiki.api

resources/mediawiki.api/mediawiki.api.js

  • mediawiki.api.category

resources/mediawiki.api/mediawiki.api.category.js

  • mediawiki.api.edit

resources/mediawiki.api/mediawiki.api.edit.js

  • mediawiki.api.login

resources/mediawiki.api/mediawiki.api.login.js

  • mediawiki.api.parse

resources/mediawiki.api/mediawiki.api.parse.js

  • mediawiki.api.watch

resources/mediawiki.api/mediawiki.api.watch.js

  • mediawiki.debug

resources/mediawiki/mediawiki.debug.js
resources/mediawiki/mediawiki.debug.less
resources/mediawiki/mediawiki.debug.profile.css
resources/mediawiki/mediawiki.debug.profile.js

  • mediawiki.debug.init

resources/mediawiki/mediawiki.debug.init.js

  • mediawiki.feedback

resources/mediawiki/mediawiki.feedback.css
resources/mediawiki/mediawiki.feedback.js
resources/mediawiki/mediawiki.feedback.spinner.gif

  • mediawiki.hidpi

resources/mediawiki/mediawiki.hidpi.js

  • mediawiki.hlist

resources/mediawiki/mediawiki.hlist.css
resources/mediawiki/mediawiki.hlist.js

  • mediawiki.htmlform

resources/mediawiki/mediawiki.htmlform.js

  • mediawiki.icon

resources/mediawiki/mediawiki.icon.less
resources/mediawiki/images/arrow-collapsed-ltr.png
resources/mediawiki/images/arrow-collapsed-ltr.svg
resources/mediawiki/images/arrow-collapsed-rtl.png
resources/mediawiki/images/arrow-collapsed-rtl.svg
resources/mediawiki/images/arrow-expanded.png
resources/mediawiki/images/arrow-expanded.svg

  • mediawiki.inspect

resources/mediawiki/mediawiki.inspect.js

  • mediawiki.notification

resources/mediawiki/mediawiki.notification.css
resources/mediawiki/mediawiki.notification.hideForPrint.css
resources/mediawiki/mediawiki.notification.js

  • mediawiki.notify

resources/mediawiki/mediawiki.notify.js

  • mediawiki.searchSuggest

resources/mediawiki/mediawiki.searchSuggest.css
resources/mediawiki/mediawiki.searchSuggest.js

  • mediawiki.Title

resources/mediawiki/mediawiki.Title.js

  • mediawiki.toc

resources/mediawiki/mediawiki.toc.js

  • mediawiki.Uri

resources/mediawiki/mediawiki.Uri.js

  • mediawiki.user

resources/mediawiki/mediawiki.user.js

  • mediawiki.util

resources/mediawiki/mediawiki.util.js

  • mediawiki.action.edit

resources/mediawiki.action/mediawiki.action.edit.js

  • mediawiki.action.edit.styles

resources/mediawiki.action/mediawiki.action.edit.styles.css

  • mediawiki.action.edit.collapsibleFooter

resources/mediawiki.action/mediawiki.action.edit.collapsibleFooter.css
resources/mediawiki.action/mediawiki.action.edit.collapsibleFooter.js

  • mediawiki.action.edit.preview

resources/mediawiki.action/mediawiki.action.edit.preview.js

  • mediawiki.action.history

resources/mediawiki.action/mediawiki.action.history.js

  • mediawiki.action.history.diff

resources/mediawiki.action/mediawiki.action.history.diff.css

  • mediawiki.action.view.dblClickEdit

resources/mediawiki.action/mediawiki.action.view.dblClickEdit.js

  • mediawiki.action.view.metadata

resources/mediawiki.action/mediawiki.action.view.metadata.js

  • mediawiki.action.view.postEdit

resources/mediawiki.action/mediawiki.action.view.postEdit.css
resources/mediawiki.action/mediawiki.action.view.postEdit.js
resources/mediawiki.action/images/green-checkmark.png

  • mediawiki.action.view.redirectToFragment

resources/mediawiki.action/mediawiki.action.view.redirectToFragment.js

  • mediawiki.action.view.rightClickEdit

resources/mediawiki.action/mediawiki.action.view.rightClickEdit.js

  • mediawiki.action.edit.editWarning

resources/mediawiki.action/mediawiki.action.edit.editWarning.js

  • mediawiki.action.watch.ajax No files associated with this resource.
  • mediawiki.language

resources/mediawiki.language/mediawiki.language.js
resources/mediawiki.language/mediawiki.language.numbers.js
resources/mediawiki.language/languages/bs.js
resources/mediawiki.language/languages/dsb.js
resources/mediawiki.language/languages/fi.js
resources/mediawiki.language/languages/ga.js
resources/mediawiki.language/languages/he.js
resources/mediawiki.language/languages/hsb.js
resources/mediawiki.language/languages/hu.js
resources/mediawiki.language/languages/hy.js
resources/mediawiki.language/languages/la.js
resources/mediawiki.language/languages/os.js
resources/mediawiki.language/languages/ru.js
resources/mediawiki.language/languages/sl.js
resources/mediawiki.language/languages/uk.js

  • mediawiki.cldr

resources/mediawiki.language/mediawiki.cldr.js

  • mediawiki.libs.pluralruleparser Possibly should be moved to /lib

resources/mediawiki.libs/CLDRPluralRuleParser.js

  • mediawiki.language.init

resources/mediawiki.language/mediawiki.language.init.js

  • mediawiki.jqueryMsg

resources/mediawiki/mediawiki.jqueryMsg.js
resources/mediawiki/mediawiki.jqueryMsg.peg

  • mediawiki.language.months

resources/mediawiki.language/mediawiki.language.months.js

  • mediawiki.libs.jpegmeta

resources/mediawiki.libs/mediawiki.libs.jpegmeta.js

  • mediawiki.page.gallery

resources/mediawiki.page/mediawiki.page.gallery.js

  • mediawiki.page.ready

resources/mediawiki.page/mediawiki.page.ready.js

  • mediawiki.page.startup

resources/mediawiki.page/mediawiki.page.startup.js

  • mediawiki.page.patrol.ajax

resources/mediawiki.page/mediawiki.page.patrol.ajax.js

  • mediawiki.page.watch.ajax

resources/mediawiki.page/mediawiki.page.watch.ajax.js

  • mediawiki.page.image.pagination

resources/mediawiki.page/mediawiki.page.image.pagination.js

  • mediawiki.special

resources/mediawiki.special/mediawiki.special.css
resources/mediawiki.special/mediawiki.special.js

  • mediawiki.special.block

resources/mediawiki.special/mediawiki.special.block.css
resources/mediawiki.special/mediawiki.special.block.js

  • mediawiki.special.changeemail

resources/mediawiki.special/mediawiki.special.changeemail.css
resources/mediawiki.special/mediawiki.special.changeemail.js

  • mediawiki.special.changeslist

resources/mediawiki.special/mediawiki.special.changeslist.css

  • mediawiki.special.changeslist.legend

resources/mediawiki.special/mediawiki.special.changeslist.legend.css

  • mediawiki.special.changeslist.legend.js

resources/mediawiki.special/mediawiki.special.changeslist.legend.js

  • mediawiki.special.changeslist.enhanced

resources/mediawiki.special/mediawiki.special.changeslist.enhanced.css

  • mediawiki.special.movePage

resources/mediawiki.special/mediawiki.special.movePage.js

  • mediawiki.special.pagesWithProp

resources/mediawiki.special/mediawiki.special.pagesWithProp.css

  • mediawiki.special.preferences

resources/mediawiki.special/mediawiki.special.preferences.css
resources/mediawiki.special/mediawiki.special.preferences.js

  • mediawiki.special.recentchanges

resources/mediawiki.special/mediawiki.special.recentchanges.js

  • mediawiki.special.search

resources/mediawiki.special/mediawiki.special.search.css
resources/mediawiki.special/mediawiki.special.search.js

  • mediawiki.special.undelete

resources/mediawiki.special/mediawiki.special.undelete.js

  • mediawiki.special.upload

resources/mediawiki.special/mediawiki.special.upload.js

  • mediawiki.special.userlogin.common.styles

resources/mediawiki.special/mediawiki.special.userlogin.common.css
resources/mediawiki.special/images/icon-lock.png

  • mediawiki.special.userlogin.signup.styles

resources/mediawiki.special/mediawiki.special.userlogin.signup.css
resources/mediawiki.special/images/icon-edits.png
resources/mediawiki.special/images/icon-pages.png
resources/mediawiki.special/images/icon-contributors.png

  • mediawiki.special.userlogin.login.styles

resources/mediawiki.special/mediawiki.special.userlogin.login.css
resources/mediawiki.special/images/glyph-people-large.png

  • mediawiki.special.userlogin.common.js

resources/mediawiki.special/mediawiki.special.userlogin.common.js

  • mediawiki.special.userlogin.signup.js

resources/mediawiki.special/mediawiki.special.userlogin.signup.js

  • mediawiki.special.javaScriptTest

resources/mediawiki.special/mediawiki.special.javaScriptTest.js

  • mediawiki.special.version

resources/mediawiki.special/mediawiki.special.version.css

  • mediawiki.ui

resources/mediawiki.ui/default.less
resources/mediawiki.ui/vector.less
resources/mediawiki.ui/components/utilities.less
resources/mediawiki.ui/components/default/forms.less
resources/mediawiki.ui/components/vector/containers.less
resources/mediawiki.ui/components/vector/forms.less
resources/mediawiki.ui/mixins/effects.less
resources/mediawiki.ui/mixins/forms.less
resources/mediawiki.ui/mixins/type.less
resources/mediawiki.ui/mixins/utilities.less
resources/mediawiki.ui/settings/colors.less
resources/mediawiki.ui/settings/typography.less
resources/mediawiki.ui/styleguide.md

  • mediawiki.ui.button

resources/mediawiki.ui/components/default/buttons.less
resources/mediawiki.ui/components/vector/buttons.less

Legacy modules, untouched:

  • mediawiki.legacy.ajax
  • mediawiki.legacy.commonPrint
  • mediawiki.legacy.config
  • mediawiki.legacy.protect
  • mediawiki.legacy.shared
  • mediawiki.legacy.oldshared
  • mediawiki.legacy.upload
  • mediawiki.legacy.wikibits

Miscellaneous files moved elsewhere

  • A currently-failing (unused?) script attempting to build some kss style documentation. Previously in the root of the resources directory, now moved to a new folder, /docs/kss.

Makefile
README.txt
package.json
scripts/nodecheck.sh
styleguide-template/index.html
styleguide-template/public/kss.less
styleguide-template/public/less.js

  • ResourceLoader startup JS code was also moved to /src

resources/startup.js

  • mediawiki.mixins, hard-coded to be loaded by ResourceLoader, also moved to /src

resources/mediawiki.less/mediawiki.mixins.animation.less
resources/mediawiki.less/mediawiki.mixins.less
resources/mediawiki.less/mediawiki.mixins.rotation.less

  • jquery.cycle.all.js appears not to be refered to (?!): (added in 2f1f0abc6b)

resources/jquery/jquery.cycle.all.js

Change-Id: Id5ead1453412e763bdb3763084e43694517088fd

Details

Very Large Commit

This commit is very large, and affects more than 1000 files. Changes are not shown.