diff --git a/src/patterns.js b/src/patterns.js index 1faceca..c13364c 100644 --- a/src/patterns.js +++ b/src/patterns.js @@ -344,6 +344,30 @@ module.exports = [ replacement: '$1mediawiki.api$2', summary: 'Updated deprecated module name' }, + { + // Replace old alias with new name (JS quoted) + regex: /(['"])(?:jquery\.ui\.core|jquery\.ui\.core\.styles|jquery\.ui\.accordion|jquery\.ui\.autocomplete|jquery\.ui\.button|jquery\.ui\.datepicker|jquery\.ui\.dialog|jquery\.ui\.draggable|jquery\.ui\.droppable|jquery\.ui\.menu|jquery\.ui\.mouse|jquery\.ui\.position|jquery\.ui\.progressbar|jquery\.ui\.resizable|jquery\.ui\.selectable|jquery\.ui\.slider|jquery\.ui\.sortable|jquery\.ui\.tabs|jquery\.ui\.tooltip|jquery\.ui\.widget|jquery\.effects\.blind|jquery\.effects\.clip|jquery\.effects\.drop|jquery\.effects\.highlight|jquery\.effects\.scale|jquery\.effects\.shake)(['"])/, + replacement: '$1jquery.ui$2', + summary: 'Updated deprecated module name' + }, + { + // Remove duplicate of a new name (JS quoted) + regex: /(['"]jquery\.ui['"].*),\s*['"]jquery\.ui['"]\s*/, + replacement: '$1', + summary: 'Updated deprecated module name' + }, + { + // Replace old alias with new name (Gadget definition) + regex: /(dependencies=[^|\]]*)(?:jquery\.ui\.core|jquery\.ui\.core\.styles|jquery\.ui\.accordion|jquery\.ui\.autocomplete|jquery\.ui\.button|jquery\.ui\.datepicker|jquery\.ui\.dialog|jquery\.ui\.draggable|jquery\.ui\.droppable|jquery\.ui\.menu|jquery\.ui\.mouse|jquery\.ui\.position|jquery\.ui\.progressbar|jquery\.ui\.resizable|jquery\.ui\.selectable|jquery\.ui\.slider|jquery\.ui\.sortable|jquery\.ui\.tabs|jquery\.ui\.tooltip|jquery\.ui\.widget|jquery\.effects\.blind|jquery\.effects\.clip|jquery\.effects\.drop|jquery\.effects\.highlight|jquery\.effects\.scale|jquery\.effects\.shake)([\s,|\]])/, + replacement: '$1jquery.ui$2', + summary: 'Updated deprecated module name' + }, + { + // Remove duplicate of a new name (Gadget definition) + regex: /(dependencies=[^|\]]*jquery\.ui\s*)(,\s*[^|,]+)?,\s*jquery\.ui([\s,|\]])/g, + replacement: '$1$2$3', + summary: 'Updated deprecated module name' + }, { regex: /(mw\s*\.\s*user\s*\.\s*tokens\s*\.\s*get\s*\(\s*)(?:(')editToken(')|(")editToken("))(\s*\))/, replacement: '$1$2$4csrfToken$3$5$6', diff --git a/test/fixture/modules-expect.txt b/test/fixture/modules-expect.txt index 147e8b2..c97726f 100644 --- a/test/fixture/modules-expect.txt +++ b/test/fixture/modules-expect.txt @@ -81,13 +81,22 @@ example[dependencies=x,mediawiki.util|misc] */ mw.loader.using('mediawiki.util'); -/* -example[dependencies=x,mediawiki.util|misc] -*/ - mw.loader.using(['mediawiki.util']); mw.loader.using(['mediawiki.util']); /* example[dependencies=x,mediawiki.util|misc] example[dependencies=x,mediawiki.util|misc] +example[dependencies=x,mediawiki.util|misc] +*/ + +mw.loader.using('jquery.ui'); +mw.loader.using(['jquery.ui']); +mw.loader.using(['jquery.ui', 'mediawiki.util']); +mw.loader.using(['mediawiki.util', 'jquery.ui']); +mediaWiki.loader.using(['jquery.ui'], fn); +/* +Twinkle-start3[ResourceLoader|dependencies=jquery.ui,jquery.tipsy,moment|rights=autoconfirmed]|Twinkle.js +Twinkle-end1[ResourceLoader|dependencies=mediawiki.user,mediawiki.util,jquery.ui,jquery.tipsy|rights=autoconfirmed]|Twinkle.js +Twinkle-mid2[ResourceLoader|dependencies=mediawiki.user,mediawiki.util,jquery.ui,jquery.tipsy,moment|rights=autoconfirmed]|Twinkle.js +misc-lone[ResourceLoader|default|hidden|dependencies=jquery.ui] */ diff --git a/test/fixture/modules-input.txt b/test/fixture/modules-input.txt index 3382982..d2da684 100644 --- a/test/fixture/modules-input.txt +++ b/test/fixture/modules-input.txt @@ -85,13 +85,22 @@ example[dependencies=x,jquery.accessKeyLabel|misc] */ mw.loader.using('mediawiki.RegExp'); -/* -example[dependencies=x,mediawiki.RegExp|misc] -*/ - mw.loader.using(['mediawiki.util', 'mediawiki.RegExp']); mw.loader.using(['mediawiki.RegExp', 'mediawiki.util']); /* +example[dependencies=x,mediawiki.RegExp|misc] example[dependencies=x,mediawiki.RegExp,mediawiki.util|misc] example[dependencies=x,mediawiki.util,mediawiki.RegExp|misc] */ + +mw.loader.using('jquery.ui.dialog'); +mw.loader.using(['jquery.ui.dialog']); +mw.loader.using(['jquery.ui.dialog', 'mediawiki.util']); +mw.loader.using(['mediawiki.util', 'jquery.ui.dialog']); +mediaWiki.loader.using(['jquery.ui.dialog', 'jquery.ui.autocomplete'], fn); +/* +Twinkle-start3[ResourceLoader|dependencies=jquery.ui.dialog,jquery.ui.button,jquery.ui.core,jquery.tipsy,moment|rights=autoconfirmed]|Twinkle.js +Twinkle-end1[ResourceLoader|dependencies=mediawiki.user,mediawiki.util,jquery.ui.dialog,jquery.tipsy|rights=autoconfirmed]|Twinkle.js +Twinkle-mid2[ResourceLoader|dependencies=mediawiki.user,mediawiki.util,jquery.ui.dialog,jquery.tipsy,jquery.ui.button,moment|rights=autoconfirmed]|Twinkle.js +misc-lone[ResourceLoader|default|hidden|dependencies=jquery.ui.button] +*/