From ecc812f06e7dff587b3f31dc18189adbf4616351 Mon Sep 17 00:00:00 2001 From: Timo Tijhof Date: Sun, 20 May 2018 15:39:47 +0200 Subject: [PATCH] mediawiki.api: Merge modules into one These are all quite tiny and not worth providing separately to the system as deliverable file bundles. Mark the other mediawiki.api.* modules as alias to 'mediawiki.api' for back-compat, with deprecation warning. Highlights: * Change mediawiki.api.edit.js to not use mw.user, because that causes a circular dependency, given mw.user also depends on mediawiki.api. Bug: T192623 Change-Id: I0afdc8ab50bc1354bb5099bf39923c07eab0b665 --- RELEASE-NOTES-1.32 | 5 ++ resources/Resources.php | 78 +++++++++---------- .../category.js} | 0 .../edit.js} | 4 +- .../index.js} | 0 .../login.js} | 0 .../messages.js} | 0 .../options.js} | 0 .../parse.js} | 0 .../rollback.js} | 0 .../upload.js} | 0 .../user.js} | 0 .../watch.js} | 0 tests/qunit/QUnitTestResources.php | 6 -- 14 files changed, 43 insertions(+), 50 deletions(-) rename resources/src/{mediawiki.api.category.js => mediawiki.api/category.js} (100%) rename resources/src/{mediawiki.api.edit.js => mediawiki.api/edit.js} (97%) rename resources/src/{mediawiki.api.js => mediawiki.api/index.js} (100%) rename resources/src/{mediawiki.api.login.js => mediawiki.api/login.js} (100%) rename resources/src/{mediawiki.api.messages.js => mediawiki.api/messages.js} (100%) rename resources/src/{mediawiki.api.options.js => mediawiki.api/options.js} (100%) rename resources/src/{mediawiki.api.parse.js => mediawiki.api/parse.js} (100%) rename resources/src/{mediawiki.api.rollback.js => mediawiki.api/rollback.js} (100%) rename resources/src/{mediawiki.api.upload.js => mediawiki.api/upload.js} (100%) rename resources/src/{mediawiki.api.user.js => mediawiki.api/user.js} (100%) rename resources/src/{mediawiki.api.watch.js => mediawiki.api/watch.js} (100%) diff --git a/RELEASE-NOTES-1.32 b/RELEASE-NOTES-1.32 index 62e3df88bf..470b9c3b57 100644 --- a/RELEASE-NOTES-1.32 +++ b/RELEASE-NOTES-1.32 @@ -112,6 +112,11 @@ because of Phabricator reports. in extending classes is deprecated. Extend related doSearch* methods instead. * CollationFa has been removed completely as it's not needed anymore +* The following 'mediawiki.api' plugin modules were merged into mediawiki.api + and deprecated: mediawiki.api.category, mediawiki.api.edit, + mediawiki.api.login, mediawiki.api.options, mediawiki.api.parse, + mediawiki.api.upload, mediawiki.api.user, mediawiki.api.watch, + mediawiki.api.messages, and mediawiki.api.rollback. === Other changes in 1.32 === * Soft hyphens (U+00AD) are now automatically removed from titles; these diff --git a/resources/Resources.php b/resources/Resources.php index 132a15abd2..d718fb6530 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -890,75 +890,73 @@ return [ 'targets' => [ 'desktop', 'mobile' ], ], 'mediawiki.api' => [ - 'scripts' => 'resources/src/mediawiki.api.js', + 'scripts' => [ + 'resources/src/mediawiki.api/index.js', + 'resources/src/mediawiki.api/category.js', + 'resources/src/mediawiki.api/edit.js', + 'resources/src/mediawiki.api/login.js', + 'resources/src/mediawiki.api/messages.js', + 'resources/src/mediawiki.api/options.js', + 'resources/src/mediawiki.api/parse.js', + 'resources/src/mediawiki.api/rollback.js', + 'resources/src/mediawiki.api/upload.js', + 'resources/src/mediawiki.api/user.js', + 'resources/src/mediawiki.api/watch.js', + ], 'dependencies' => [ + 'mediawiki.Title', 'mediawiki.util', 'user.tokens', ], 'targets' => [ 'desktop', 'mobile' ], ], 'mediawiki.api.category' => [ - 'scripts' => 'resources/src/mediawiki.api.category.js', - 'dependencies' => [ - 'mediawiki.api', - 'mediawiki.Title', - ], + 'deprecated' => 'Use "mediawiki.api" instead.', + 'dependencies' => 'mediawiki.api', ], 'mediawiki.api.edit' => [ - 'scripts' => 'resources/src/mediawiki.api.edit.js', + 'deprecated' => 'Use "mediawiki.api" instead.', 'dependencies' => [ 'mediawiki.api', - 'mediawiki.user', ], 'targets' => [ 'desktop', 'mobile' ], ], 'mediawiki.api.login' => [ - 'scripts' => 'resources/src/mediawiki.api.login.js', + 'deprecated' => 'Use "mediawiki.api" instead.', 'dependencies' => 'mediawiki.api', ], 'mediawiki.api.options' => [ - 'scripts' => 'resources/src/mediawiki.api.options.js', + 'deprecated' => 'Use "mediawiki.api" instead.', 'dependencies' => 'mediawiki.api', 'targets' => [ 'desktop', 'mobile' ], ], 'mediawiki.api.parse' => [ - 'scripts' => 'resources/src/mediawiki.api.parse.js', + 'deprecated' => 'Use "mediawiki.api" instead.', 'dependencies' => 'mediawiki.api', 'targets' => [ 'desktop', 'mobile' ], ], 'mediawiki.api.upload' => [ - 'scripts' => 'resources/src/mediawiki.api.upload.js', - 'dependencies' => [ - 'mediawiki.api', - 'mediawiki.api.edit', - ], + 'deprecated' => 'Use "mediawiki.api" instead.', + 'dependencies' => 'mediawiki.api', 'targets' => [ 'desktop', 'mobile' ], ], 'mediawiki.api.user' => [ - 'scripts' => 'resources/src/mediawiki.api.user.js', - 'dependencies' => [ - 'mediawiki.api', - ], + 'deprecated' => 'Use "mediawiki.api" instead.', + 'dependencies' => 'mediawiki.api', 'targets' => [ 'desktop', 'mobile' ], ], 'mediawiki.api.watch' => [ - 'scripts' => 'resources/src/mediawiki.api.watch.js', - 'dependencies' => [ - 'mediawiki.api', - ], + 'deprecated' => 'Use "mediawiki.api" instead.', + 'dependencies' => 'mediawiki.api', ], 'mediawiki.api.messages' => [ - 'scripts' => 'resources/src/mediawiki.api.messages.js', - 'dependencies' => [ - 'mediawiki.api', - ], + 'deprecated' => 'Use "mediawiki.api" instead.', + 'dependencies' => 'mediawiki.api', 'targets' => [ 'desktop', 'mobile' ], ], 'mediawiki.api.rollback' => [ - 'scripts' => 'resources/src/mediawiki.api.rollback.js', - 'dependencies' => [ - 'mediawiki.api', - ], + 'deprecated' => 'Use "mediawiki.api" instead.', + 'dependencies' => 'mediawiki.api', ], 'mediawiki.content.json' => [ 'styles' => 'resources/src/mediawiki.content.json.less', @@ -1149,7 +1147,7 @@ return [ 'resources/src/mediawiki.messagePoster.wikitext/WikitextMessagePoster.js', ], 'dependencies' => [ - 'mediawiki.api.edit', + 'mediawiki.api', 'mediawiki.messagePoster', ], 'targets' => [ 'desktop', 'mobile' ], @@ -1230,7 +1228,7 @@ return [ 'mediawiki.Upload' => [ 'scripts' => 'resources/src/mediawiki.Upload.js', 'dependencies' => [ - 'mediawiki.api.upload', + 'mediawiki.api', ], ], 'mediawiki.ForeignUpload' => [ @@ -1330,7 +1328,7 @@ return [ 'mediawiki.widgets.CategoryMultiselectWidget', 'mediawiki.widgets.DateInputWidget', 'mediawiki.jqueryMsg', - 'mediawiki.api.messages', + 'mediawiki.api', 'moment', 'mediawiki.libs.jpegmeta', ], @@ -1371,7 +1369,6 @@ return [ 'scripts' => 'resources/src/mediawiki.user.js', 'dependencies' => [ 'mediawiki.api', - 'mediawiki.api.user', 'mediawiki.storage', 'user.options', 'user.tokens', @@ -1739,7 +1736,7 @@ return [ 'mediawiki.page.watch.ajax' => [ 'scripts' => 'resources/src/mediawiki.page.watch.ajax.js', 'dependencies' => [ - 'mediawiki.api.watch', + 'mediawiki.api', 'mediawiki.notify', 'mediawiki.util', 'mediawiki.Title', @@ -1764,7 +1761,7 @@ return [ 'mediawiki.page.rollback' => [ 'scripts' => 'resources/src/mediawiki.page.rollback.js', 'dependencies' => [ - 'mediawiki.api.rollback', + 'mediawiki.api', 'mediawiki.notify', 'mediawiki.util', 'jquery.spinner', @@ -1812,7 +1809,6 @@ return [ 'mediawiki.String', 'oojs', 'mediawiki.api', - 'mediawiki.api.options', 'mediawiki.jqueryMsg', 'mediawiki.Uri', 'mediawiki.user', @@ -2276,7 +2272,6 @@ return [ ], 'dependencies' => [ 'mediawiki.api', - 'mediawiki.api.watch', 'mediawiki.notify', 'mediawiki.Title', 'mediawiki.util', @@ -2303,7 +2298,6 @@ return [ 'jquery.spinner', 'mediawiki.jqueryMsg', 'mediawiki.api', - 'mediawiki.api.parse', 'mediawiki.libs.jpegmeta', 'mediawiki.Title', 'mediawiki.util', @@ -2364,7 +2358,7 @@ return [ 'watchlist-unwatch-undo', ], 'dependencies' => [ - 'mediawiki.api.watch', + 'mediawiki.api', 'mediawiki.jqueryMsg', 'mediawiki.Title', 'mediawiki.util', diff --git a/resources/src/mediawiki.api.category.js b/resources/src/mediawiki.api/category.js similarity index 100% rename from resources/src/mediawiki.api.category.js rename to resources/src/mediawiki.api/category.js diff --git a/resources/src/mediawiki.api.edit.js b/resources/src/mediawiki.api/edit.js similarity index 97% rename from resources/src/mediawiki.api.edit.js rename to resources/src/mediawiki.api/edit.js index 21c55c7001..e6f56680bd 100644 --- a/resources/src/mediawiki.api.edit.js +++ b/resources/src/mediawiki.api/edit.js @@ -52,7 +52,7 @@ formatversion: '2', // Protect against errors and conflicts - assert: mw.user.isAnon() ? undefined : 'user', + assert: mw.config.get( 'wgUserName' ) ? 'user' : undefined, createonly: true }, params ) ).then( function ( data ) { return data.edit; @@ -159,7 +159,7 @@ formatversion: '2', // Protect against errors and conflicts - assert: mw.user.isAnon() ? undefined : 'user', + assert: mw.config.get( 'wgUserName' ) ? 'user' : undefined, basetimestamp: basetimestamp, starttimestamp: curtimestamp, nocreate: true diff --git a/resources/src/mediawiki.api.js b/resources/src/mediawiki.api/index.js similarity index 100% rename from resources/src/mediawiki.api.js rename to resources/src/mediawiki.api/index.js diff --git a/resources/src/mediawiki.api.login.js b/resources/src/mediawiki.api/login.js similarity index 100% rename from resources/src/mediawiki.api.login.js rename to resources/src/mediawiki.api/login.js diff --git a/resources/src/mediawiki.api.messages.js b/resources/src/mediawiki.api/messages.js similarity index 100% rename from resources/src/mediawiki.api.messages.js rename to resources/src/mediawiki.api/messages.js diff --git a/resources/src/mediawiki.api.options.js b/resources/src/mediawiki.api/options.js similarity index 100% rename from resources/src/mediawiki.api.options.js rename to resources/src/mediawiki.api/options.js diff --git a/resources/src/mediawiki.api.parse.js b/resources/src/mediawiki.api/parse.js similarity index 100% rename from resources/src/mediawiki.api.parse.js rename to resources/src/mediawiki.api/parse.js diff --git a/resources/src/mediawiki.api.rollback.js b/resources/src/mediawiki.api/rollback.js similarity index 100% rename from resources/src/mediawiki.api.rollback.js rename to resources/src/mediawiki.api/rollback.js diff --git a/resources/src/mediawiki.api.upload.js b/resources/src/mediawiki.api/upload.js similarity index 100% rename from resources/src/mediawiki.api.upload.js rename to resources/src/mediawiki.api/upload.js diff --git a/resources/src/mediawiki.api.user.js b/resources/src/mediawiki.api/user.js similarity index 100% rename from resources/src/mediawiki.api.user.js rename to resources/src/mediawiki.api/user.js diff --git a/resources/src/mediawiki.api.watch.js b/resources/src/mediawiki.api/watch.js similarity index 100% rename from resources/src/mediawiki.api.watch.js rename to resources/src/mediawiki.api/watch.js diff --git a/tests/qunit/QUnitTestResources.php b/tests/qunit/QUnitTestResources.php index 785e11462d..1922de5c74 100644 --- a/tests/qunit/QUnitTestResources.php +++ b/tests/qunit/QUnitTestResources.php @@ -115,12 +115,6 @@ return [ 'jquery.tablesorter', 'jquery.textSelection', 'mediawiki.api', - 'mediawiki.api.category', - 'mediawiki.api.messages', - 'mediawiki.api.options', - 'mediawiki.api.parse', - 'mediawiki.api.upload', - 'mediawiki.api.watch', 'mediawiki.ForeignApi.core', 'mediawiki.jqueryMsg', 'mediawiki.messagePoster', -- 2.20.1