From: Bartosz Dziewoński Date: Thu, 28 Mar 2019 19:40:47 +0000 (+0100) Subject: Change 'mediawiki.Title' to use 'packageFiles' X-Git-Tag: 1.34.0-rc.0~2271^2 X-Git-Url: http://git.cyclocoop.org/%22%20.%20generer_url_ecrire%28%22sites_tous%22%29%20.%20%22?a=commitdiff_plain;h=67f1424f28e9658a26a3aae6c185d5f408506d57;p=lhc%2Fweb%2Fwiklou.git Change 'mediawiki.Title' to use 'packageFiles' Seems neater. Change-Id: Ib9a64f1b2efcc224e2d6eaf306eefa9527b6a2dd --- diff --git a/maintenance/mediawiki.Title/generatePhpCharToUpperMappings.php b/maintenance/mediawiki.Title/generatePhpCharToUpperMappings.php index ff875d8735..a04958c642 100755 --- a/maintenance/mediawiki.Title/generatePhpCharToUpperMappings.php +++ b/maintenance/mediawiki.Title/generatePhpCharToUpperMappings.php @@ -1,7 +1,7 @@ #!/usr/bin/env php [ 'desktop', 'mobile' ], ], 'mediawiki.Title' => [ - 'scripts' => [ - 'resources/src/mediawiki.Title/Title.js', - 'resources/src/mediawiki.Title/phpCharToUpper.js', + 'localBasePath' => "$IP/resources/src/mediawiki.Title", + 'remoteBasePath' => "$wgResourceBasePath/resources/src/mediawiki.Title", + 'packageFiles' => [ + 'Title.js', + 'phpCharToUpper.json' ], 'dependencies' => [ 'mediawiki.String', diff --git a/resources/src/mediawiki.Title/Title.js b/resources/src/mediawiki.Title/Title.js index 6bb3bce2a6..78ae135150 100644 --- a/resources/src/mediawiki.Title/Title.js +++ b/resources/src/mediawiki.Title/Title.js @@ -34,6 +34,8 @@ var mwString = require( 'mediawiki.String' ), + toUpperMapping = require( './phpCharToUpper.json' ), + namespaceIds = mw.config.get( 'wgNamespaceIds' ), /** @@ -783,6 +785,17 @@ } }; + /** + * PHP's strtoupper differs from String.toUpperCase in a number of cases (T147646). + * + * @param {string} chr Unicode character + * @return {string} Unicode character, in upper case, according to the same rules as in PHP + */ + Title.phpCharToUpper = function ( chr ) { + var mapped = toUpperMapping[ chr ]; + return mapped || chr.toUpperCase(); + }; + /* Public members */ Title.prototype = { @@ -827,8 +840,6 @@ ) { return this.title; } - // PHP's strtoupper differs from String.toUpperCase in a number of cases - // Bug: T147646 return mw.Title.phpCharToUpper( this.title[ 0 ] ) + this.title.slice( 1 ); }, diff --git a/resources/src/mediawiki.Title/phpCharToUpper.js b/resources/src/mediawiki.Title/phpCharToUpper.js deleted file mode 100644 index ed700f0f81..0000000000 --- a/resources/src/mediawiki.Title/phpCharToUpper.js +++ /dev/null @@ -1,255 +0,0 @@ -// This file can't be parsed by JSDuck due to . -// (It is excluded in jsduck.json.) -// ESLint suggests unquoting some object keys, which would render the file unparseable by Opera 12. -/* eslint-disable quote-props */ -( function () { - var toUpperMapping = { - 'ß': 'ß', - 'ʼn': 'ʼn', - 'Dž': 'Dž', - 'dž': 'Dž', - 'Lj': 'Lj', - 'lj': 'Lj', - 'Nj': 'Nj', - 'nj': 'Nj', - 'Ç°': 'Ç°', - 'Dz': 'Dz', - 'dz': 'Dz', - 'ʝ': 'Ʝ', - 'ͅ': 'ͅ', - 'ΐ': 'ΐ', - 'ΰ': 'ΰ', - 'և': 'և', - 'ᏸ': 'Ᏸ', - 'ᏹ': 'Ᏹ', - 'ᏺ': 'Ᏺ', - 'ᏻ': 'Ᏻ', - 'ᏼ': 'Ᏼ', - 'ᏽ': 'Ᏽ', - 'ẖ': 'ẖ', - 'ẗ': 'ẗ', - 'ẘ': 'ẘ', - 'ẙ': 'ẙ', - 'ẚ': 'ẚ', - 'ὐ': 'ὐ', - 'ὒ': 'ὒ', - 'ὔ': 'ὔ', - 'ὖ': 'ὖ', - 'ᾀ': 'ᾈ', - 'ᾁ': 'ᾉ', - 'ᾂ': 'ᾊ', - 'ᾃ': 'ᾋ', - 'ᾄ': 'ᾌ', - 'ᾅ': 'ᾍ', - 'ᾆ': 'ᾎ', - 'ᾇ': 'ᾏ', - 'ᾈ': 'ᾈ', - 'ᾉ': 'ᾉ', - 'ᾊ': 'ᾊ', - 'ᾋ': 'ᾋ', - 'ᾌ': 'ᾌ', - 'ᾍ': 'ᾍ', - 'ᾎ': 'ᾎ', - 'ᾏ': 'ᾏ', - 'ᾐ': 'ᾘ', - 'ᾑ': 'ᾙ', - 'ᾒ': 'ᾚ', - 'ᾓ': 'ᾛ', - 'ᾔ': 'ᾜ', - 'ᾕ': 'ᾝ', - 'ᾖ': 'ᾞ', - 'ᾗ': 'ᾟ', - 'ᾘ': 'ᾘ', - 'ᾙ': 'ᾙ', - 'ᾚ': 'ᾚ', - 'ᾛ': 'ᾛ', - 'ᾜ': 'ᾜ', - 'ᾝ': 'ᾝ', - 'ᾞ': 'ᾞ', - 'ᾟ': 'ᾟ', - 'á¾ ': 'ᾨ', - 'ᾡ': 'ᾩ', - 'á¾¢': 'ᾪ', - 'á¾£': 'ᾫ', - 'ᾤ': 'ᾬ', - 'á¾¥': 'á¾­', - 'ᾦ': 'á¾®', - 'ᾧ': 'ᾯ', - 'ᾨ': 'ᾨ', - 'ᾩ': 'ᾩ', - 'ᾪ': 'ᾪ', - 'ᾫ': 'ᾫ', - 'ᾬ': 'ᾬ', - 'á¾­': 'á¾­', - 'á¾®': 'á¾®', - 'ᾯ': 'ᾯ', - 'á¾²': 'á¾²', - 'á¾³': 'á¾¼', - 'á¾´': 'á¾´', - 'ᾶ': 'ᾶ', - 'á¾·': 'á¾·', - 'á¾¼': 'á¾¼', - 'ῂ': 'ῂ', - 'ῃ': 'ῌ', - 'ῄ': 'ῄ', - 'ῆ': 'ῆ', - 'ῇ': 'ῇ', - 'ῌ': 'ῌ', - 'ῒ': 'ῒ', - 'ΐ': 'ΐ', - 'ῖ': 'ῖ', - 'ῗ': 'ῗ', - 'á¿¢': 'á¿¢', - 'á¿£': 'á¿£', - 'ῤ': 'ῤ', - 'ῦ': 'ῦ', - 'ῧ': 'ῧ', - 'ῲ': 'ῲ', - 'ῳ': 'ῼ', - 'á¿´': 'á¿´', - 'ῶ': 'ῶ', - 'á¿·': 'á¿·', - 'ῼ': 'ῼ', - 'ⅰ': 'ⅰ', - 'ⅱ': 'ⅱ', - 'ⅲ': 'ⅲ', - 'ⅳ': 'ⅳ', - 'ⅴ': 'ⅴ', - 'ⅵ': 'ⅵ', - 'ⅶ': 'ⅶ', - 'ⅷ': 'ⅷ', - 'ⅸ': 'ⅸ', - 'ⅹ': 'ⅹ', - 'ⅺ': 'ⅺ', - 'ⅻ': 'ⅻ', - 'ⅼ': 'ⅼ', - 'ⅽ': 'ⅽ', - 'ⅾ': 'ⅾ', - 'ⅿ': 'ⅿ', - 'ⓐ': 'ⓐ', - 'ⓑ': 'ⓑ', - 'ⓒ': 'ⓒ', - 'ⓓ': 'ⓓ', - 'ⓔ': 'ⓔ', - 'ⓕ': 'ⓕ', - 'ⓖ': 'ⓖ', - 'ⓗ': 'ⓗ', - 'ⓘ': 'ⓘ', - 'ⓙ': 'ⓙ', - 'ⓚ': 'ⓚ', - 'ⓛ': 'ⓛ', - 'ⓜ': 'ⓜ', - 'ⓝ': 'ⓝ', - 'ⓞ': 'ⓞ', - 'ⓟ': 'ⓟ', - 'ⓠ': 'ⓠ', - 'ⓡ': 'ⓡ', - 'ⓢ': 'ⓢ', - 'ⓣ': 'ⓣ', - 'ⓤ': 'ⓤ', - 'ⓥ': 'ⓥ', - 'ⓦ': 'ⓦ', - 'ⓧ': 'ⓧ', - 'ⓨ': 'ⓨ', - 'ⓩ': 'ⓩ', - 'ꞵ': 'Ꞵ', - 'ꞷ': 'Ꞷ', - 'ꭓ': 'Ꭓ', - 'ê­°': 'Ꭰ', - 'ê­±': 'Ꭱ', - 'ê­²': 'Ꭲ', - 'ê­³': 'Ꭳ', - 'ê­´': 'Ꭴ', - 'ê­µ': 'Ꭵ', - 'ê­¶': 'Ꭶ', - 'ê­·': 'Ꭷ', - 'ê­¸': 'Ꭸ', - 'ê­¹': 'Ꭹ', - 'ê­º': 'Ꭺ', - 'ê­»': 'Ꭻ', - 'ê­¼': 'Ꭼ', - 'ê­½': 'Ꭽ', - 'ê­¾': 'Ꭾ', - 'ê­¿': 'Ꭿ', - 'ꮀ': 'Ꮀ', - 'ꮁ': 'Ꮁ', - 'ꮂ': 'Ꮂ', - 'ꮃ': 'Ꮃ', - 'ꮄ': 'Ꮄ', - 'ꮅ': 'Ꮅ', - 'ꮆ': 'Ꮆ', - 'ꮇ': 'Ꮇ', - 'ꮈ': 'Ꮈ', - 'ꮉ': 'Ꮉ', - 'ꮊ': 'Ꮊ', - 'ꮋ': 'Ꮋ', - 'ꮌ': 'Ꮌ', - 'ꮍ': 'Ꮍ', - 'ꮎ': 'Ꮎ', - 'ꮏ': 'Ꮏ', - 'ꮐ': 'Ꮐ', - 'ꮑ': 'Ꮑ', - 'ꮒ': 'Ꮒ', - 'ꮓ': 'Ꮓ', - 'ꮔ': 'Ꮔ', - 'ꮕ': 'Ꮕ', - 'ꮖ': 'Ꮖ', - 'ꮗ': 'Ꮗ', - 'ꮘ': 'Ꮘ', - 'ꮙ': 'Ꮙ', - 'ꮚ': 'Ꮚ', - 'ꮛ': 'Ꮛ', - 'ꮜ': 'Ꮜ', - 'ꮝ': 'Ꮝ', - 'ꮞ': 'Ꮞ', - 'ꮟ': 'Ꮟ', - 'ê® ': 'Ꮠ', - 'ꮡ': 'Ꮡ', - 'ꮢ': 'Ꮢ', - 'ꮣ': 'Ꮣ', - 'ꮤ': 'Ꮤ', - 'ꮥ': 'Ꮥ', - 'ꮦ': 'Ꮦ', - 'ꮧ': 'Ꮧ', - 'ꮨ': 'Ꮨ', - 'ꮩ': 'Ꮩ', - 'ꮪ': 'Ꮪ', - 'ꮫ': 'Ꮫ', - 'ꮬ': 'Ꮬ', - 'ê®­': 'Ꮭ', - 'ê®®': 'Ꮮ', - 'ꮯ': 'Ꮯ', - 'ê®°': 'Ꮰ', - 'ê®±': 'Ꮱ', - 'ꮲ': 'Ꮲ', - 'ꮳ': 'Ꮳ', - 'ê®´': 'Ꮴ', - 'ꮵ': 'Ꮵ', - 'ꮶ': 'Ꮶ', - 'ê®·': 'Ꮷ', - 'ꮸ': 'Ꮸ', - 'ꮹ': 'Ꮹ', - 'ꮺ': 'Ꮺ', - 'ê®»': 'Ꮻ', - 'ꮼ': 'Ꮼ', - 'ꮽ': 'Ꮽ', - 'ꮾ': 'Ꮾ', - 'ꮿ': 'Ꮿ', - 'ff': 'ff', - 'fi': 'fi', - 'fl': 'fl', - 'ffi': 'ffi', - 'ffl': 'ffl', - 'ſt': 'ſt', - 'st': 'st', - 'ﬓ': 'ﬓ', - 'ﬔ': 'ﬔ', - 'ﬕ': 'ﬕ', - 'ﬖ': 'ﬖ', - 'ﬗ': 'ﬗ' - }; - mw.Title.phpCharToUpper = function ( chr ) { - var mapped = toUpperMapping[ chr ]; - return mapped || chr.toUpperCase(); - }; -}() ); diff --git a/resources/src/mediawiki.Title/phpCharToUpper.json b/resources/src/mediawiki.Title/phpCharToUpper.json new file mode 100644 index 0000000000..b0887fa36a --- /dev/null +++ b/resources/src/mediawiki.Title/phpCharToUpper.json @@ -0,0 +1,245 @@ +{ + "ß": "ß", + "ʼn": "ʼn", + "Dž": "Dž", + "dž": "Dž", + "Lj": "Lj", + "lj": "Lj", + "Nj": "Nj", + "nj": "Nj", + "Ç°": "Ç°", + "Dz": "Dz", + "dz": "Dz", + "ʝ": "Ʝ", + "ͅ": "ͅ", + "ΐ": "ΐ", + "ΰ": "ΰ", + "և": "և", + "ᏸ": "Ᏸ", + "ᏹ": "Ᏹ", + "ᏺ": "Ᏺ", + "ᏻ": "Ᏻ", + "ᏼ": "Ᏼ", + "ᏽ": "Ᏽ", + "ẖ": "ẖ", + "ẗ": "ẗ", + "ẘ": "ẘ", + "ẙ": "ẙ", + "ẚ": "ẚ", + "ὐ": "ὐ", + "ὒ": "ὒ", + "ὔ": "ὔ", + "ὖ": "ὖ", + "ᾀ": "ᾈ", + "ᾁ": "ᾉ", + "ᾂ": "ᾊ", + "ᾃ": "ᾋ", + "ᾄ": "ᾌ", + "ᾅ": "ᾍ", + "ᾆ": "ᾎ", + "ᾇ": "ᾏ", + "ᾈ": "ᾈ", + "ᾉ": "ᾉ", + "ᾊ": "ᾊ", + "ᾋ": "ᾋ", + "ᾌ": "ᾌ", + "ᾍ": "ᾍ", + "ᾎ": "ᾎ", + "ᾏ": "ᾏ", + "ᾐ": "ᾘ", + "ᾑ": "ᾙ", + "ᾒ": "ᾚ", + "ᾓ": "ᾛ", + "ᾔ": "ᾜ", + "ᾕ": "ᾝ", + "ᾖ": "ᾞ", + "ᾗ": "ᾟ", + "ᾘ": "ᾘ", + "ᾙ": "ᾙ", + "ᾚ": "ᾚ", + "ᾛ": "ᾛ", + "ᾜ": "ᾜ", + "ᾝ": "ᾝ", + "ᾞ": "ᾞ", + "ᾟ": "ᾟ", + "á¾ ": "ᾨ", + "ᾡ": "ᾩ", + "á¾¢": "ᾪ", + "á¾£": "ᾫ", + "ᾤ": "ᾬ", + "á¾¥": "á¾­", + "ᾦ": "á¾®", + "ᾧ": "ᾯ", + "ᾨ": "ᾨ", + "ᾩ": "ᾩ", + "ᾪ": "ᾪ", + "ᾫ": "ᾫ", + "ᾬ": "ᾬ", + "á¾­": "á¾­", + "á¾®": "á¾®", + "ᾯ": "ᾯ", + "á¾²": "á¾²", + "á¾³": "á¾¼", + "á¾´": "á¾´", + "ᾶ": "ᾶ", + "á¾·": "á¾·", + "á¾¼": "á¾¼", + "ῂ": "ῂ", + "ῃ": "ῌ", + "ῄ": "ῄ", + "ῆ": "ῆ", + "ῇ": "ῇ", + "ῌ": "ῌ", + "ῒ": "ῒ", + "ΐ": "ΐ", + "ῖ": "ῖ", + "ῗ": "ῗ", + "á¿¢": "á¿¢", + "á¿£": "á¿£", + "ῤ": "ῤ", + "ῦ": "ῦ", + "ῧ": "ῧ", + "ῲ": "ῲ", + "ῳ": "ῼ", + "á¿´": "á¿´", + "ῶ": "ῶ", + "á¿·": "á¿·", + "ῼ": "ῼ", + "ⅰ": "ⅰ", + "ⅱ": "ⅱ", + "ⅲ": "ⅲ", + "ⅳ": "ⅳ", + "ⅴ": "ⅴ", + "ⅵ": "ⅵ", + "ⅶ": "ⅶ", + "ⅷ": "ⅷ", + "ⅸ": "ⅸ", + "ⅹ": "ⅹ", + "ⅺ": "ⅺ", + "ⅻ": "ⅻ", + "ⅼ": "ⅼ", + "ⅽ": "ⅽ", + "ⅾ": "ⅾ", + "ⅿ": "ⅿ", + "ⓐ": "ⓐ", + "ⓑ": "ⓑ", + "ⓒ": "ⓒ", + "ⓓ": "ⓓ", + "ⓔ": "ⓔ", + "ⓕ": "ⓕ", + "ⓖ": "ⓖ", + "ⓗ": "ⓗ", + "ⓘ": "ⓘ", + "ⓙ": "ⓙ", + "ⓚ": "ⓚ", + "ⓛ": "ⓛ", + "ⓜ": "ⓜ", + "ⓝ": "ⓝ", + "ⓞ": "ⓞ", + "ⓟ": "ⓟ", + "ⓠ": "ⓠ", + "ⓡ": "ⓡ", + "ⓢ": "ⓢ", + "ⓣ": "ⓣ", + "ⓤ": "ⓤ", + "ⓥ": "ⓥ", + "ⓦ": "ⓦ", + "ⓧ": "ⓧ", + "ⓨ": "ⓨ", + "ⓩ": "ⓩ", + "ꞵ": "Ꞵ", + "ꞷ": "Ꞷ", + "ꭓ": "Ꭓ", + "ê­°": "Ꭰ", + "ê­±": "Ꭱ", + "ê­²": "Ꭲ", + "ê­³": "Ꭳ", + "ê­´": "Ꭴ", + "ê­µ": "Ꭵ", + "ê­¶": "Ꭶ", + "ê­·": "Ꭷ", + "ê­¸": "Ꭸ", + "ê­¹": "Ꭹ", + "ê­º": "Ꭺ", + "ê­»": "Ꭻ", + "ê­¼": "Ꭼ", + "ê­½": "Ꭽ", + "ê­¾": "Ꭾ", + "ê­¿": "Ꭿ", + "ꮀ": "Ꮀ", + "ꮁ": "Ꮁ", + "ꮂ": "Ꮂ", + "ꮃ": "Ꮃ", + "ꮄ": "Ꮄ", + "ꮅ": "Ꮅ", + "ꮆ": "Ꮆ", + "ꮇ": "Ꮇ", + "ꮈ": "Ꮈ", + "ꮉ": "Ꮉ", + "ꮊ": "Ꮊ", + "ꮋ": "Ꮋ", + "ꮌ": "Ꮌ", + "ꮍ": "Ꮍ", + "ꮎ": "Ꮎ", + "ꮏ": "Ꮏ", + "ꮐ": "Ꮐ", + "ꮑ": "Ꮑ", + "ꮒ": "Ꮒ", + "ꮓ": "Ꮓ", + "ꮔ": "Ꮔ", + "ꮕ": "Ꮕ", + "ꮖ": "Ꮖ", + "ꮗ": "Ꮗ", + "ꮘ": "Ꮘ", + "ꮙ": "Ꮙ", + "ꮚ": "Ꮚ", + "ꮛ": "Ꮛ", + "ꮜ": "Ꮜ", + "ꮝ": "Ꮝ", + "ꮞ": "Ꮞ", + "ꮟ": "Ꮟ", + "ê® ": "Ꮠ", + "ꮡ": "Ꮡ", + "ꮢ": "Ꮢ", + "ꮣ": "Ꮣ", + "ꮤ": "Ꮤ", + "ꮥ": "Ꮥ", + "ꮦ": "Ꮦ", + "ꮧ": "Ꮧ", + "ꮨ": "Ꮨ", + "ꮩ": "Ꮩ", + "ꮪ": "Ꮪ", + "ꮫ": "Ꮫ", + "ꮬ": "Ꮬ", + "ê®­": "Ꮭ", + "ê®®": "Ꮮ", + "ꮯ": "Ꮯ", + "ê®°": "Ꮰ", + "ê®±": "Ꮱ", + "ꮲ": "Ꮲ", + "ꮳ": "Ꮳ", + "ê®´": "Ꮴ", + "ꮵ": "Ꮵ", + "ꮶ": "Ꮶ", + "ê®·": "Ꮷ", + "ꮸ": "Ꮸ", + "ꮹ": "Ꮹ", + "ꮺ": "Ꮺ", + "ê®»": "Ꮻ", + "ꮼ": "Ꮼ", + "ꮽ": "Ꮽ", + "ꮾ": "Ꮾ", + "ꮿ": "Ꮿ", + "ff": "ff", + "fi": "fi", + "fl": "fl", + "ffi": "ffi", + "ffl": "ffl", + "ſt": "ſt", + "st": "st", + "ﬓ": "ﬓ", + "ﬔ": "ﬔ", + "ﬕ": "ﬕ", + "ﬖ": "ﬖ", + "ﬗ": "ﬗ" +}