Merge "output: Narrow Title type hint to LinkTarget"
[lhc/web/wiklou.git] / resources / lib / foreign-resources.yaml
1 # ## Format of this file
2 #
3 # The top-level keys in this file correspond with directories under resources/lib/.
4 # These in turn are registered as module bundles in Resources.php.
5 #
6 # ## How to install an foreign resource
7 #
8 # 1. Add or update the url(s) for the upstream module to this YAML file.
9 #
10 # Look at other modules for examples. To install a module from npm,
11 # we use the tarball distribution from npmjs.org. This is the same as what
12 # the npm CLI uses. For example, to install jquery-client@9.2.0, use:
13 # <https://registry.npmjs.org/jquery-client/-/jquery-client-9.2.0.tgz>.
14 #
15 # 2. If the upstream maintainers publish an integrity hash, set that as well.
16 # Otherwise, use manageForeignResources.php to compute the integrity hash.
17 #
18 # Run `php manageForeignResources.php make-sri "my module name"`
19 #
20 # This will download the specified file(s) and print their integrity hashes,
21 # already formatted in YAML, ready for copying to this file.
22 #
23 # 3. Last but not least, decide where files go.
24 #
25 # If you specified a direct url to JavaScript or CSS file, this step is
26 # optional. See the corresponding documentation section below for more
27 # information and examples for "dest" keys. Once you've set any "dest" keys,
28 # run `php manageForeignResources.php update "my module name"`.
29 #
30 # ## Package formats
31 #
32 # Each top-level key must use one of these types:
33 #
34 # - `file`: For a plain file.
35 # - `multi-file`: For multiple plain files.
36 # - `tar`: For a tarball archive (may be compressed).
37 #
38 # ### The "file" type
39 #
40 # * `src`: Full URL to the remote resource.
41 # * `integrity`: Cryptographic hash (integrity metadata format per <https://www.w3.org/TR/SRI/>).
42 # * `dest`: [optional] The file name to use in the module directory. Default: Basename of URL.
43 #
44 # For example, the following would produce resources/lib/mymodule/x.js:
45 #
46 # mymodule:
47 # type: file
48 # src: https://mymodule.example/1.2.3/x.js
49 # integrity: sha384-Je+NE+saisQuoi
50 #
51 # ### The "multi-file" type
52 #
53 # * `files`: An object mapping destination paths to `src` and `integrity` keys.
54 #
55 # For example:
56 #
57 # mymodule:
58 # type: multi-file
59 # files:
60 # x.js:
61 # src: https://mymodule.example/1.2.3/x.js
62 # integrity: sha384-Je+NE+saisQuoi
63 # x.css:
64 # src: https://mymodule.example/1.2.3/x.css
65 # integrity: sha384-Je+NE+saisQuoi
66 #
67 # ### The "tar" type
68 #
69 # * `src`: Full URL to the remote resource.
70 # * `integrity`: Cryptographic hash (integrity metadata format per <https://www.w3.org/TR/SRI/>).
71 # * `dest`: [optional] The default is to extract all files from the package.
72 # To only extract some of the files or directories, use "dest" to specify
73 # files, directories, and/or glob patterns. You can use a site like https://unpkg.com/
74 # to easily inspect an npm package, like <https://unpkg.com/jquery-client@2.0.2/>.
75 #
76 # For example:
77 #
78 # mymodule:
79 # type: tar
80 # src: https://registry.npmjs.org/jquery-client/-/jquery-client-9.2.0.tgz
81 # integrity: sha384-Je+NE+saisQuoi
82 # dest:
83 # package/dist/x.js:
84 # package/dist/i18n:
85 # package/dist/style/*.css:
86 #
87 # The would extract the "x.js" file, the "i18n" directory (recursive),
88 # and any "*.css" files from the "style" directory.
89 #
90
91 CLDRPluralRuleParser:
92 type: file
93 src: https://raw.githubusercontent.com/santhoshtr/CLDRPluralRuleParser/0dda851/src/CLDRPluralRuleParser.js
94 integrity: sha384-M4taeYYG2+9Ob1/La16iO+zlRRmBV5lBR3xUKkQT6kfkJ0aLbCi6yc0RYI1BDzdh
95
96 easy-deflate:
97 type: multi-file
98 files:
99 deflate.js:
100 src: https://raw.githubusercontent.com/edg2s/Easy-Deflate/7a6056e5302f6f385ff2efa60afda45b4ad81e51/deflate.js
101 integrity: sha384-sHnZLDSWMUhA2w9ygkzCK8YFvoh/fQKY6lXMbvmrYzjuNURiLB0DZFCDNMpGyZ77
102 easydeflate.js:
103 src: https://raw.githubusercontent.com/edg2s/Easy-Deflate/7a6056e5302f6f385ff2efa60afda45b4ad81e51/easydeflate.js
104 integrity: sha384-EwPfP2RMkDPa1HkzQsXgzTsy1KEjcIzQPA1HDS/JPHjvEMvVUsCxWwm1oXql/jk2
105 inflate.js:
106 src: https://raw.githubusercontent.com/edg2s/Easy-Deflate/7a6056e5302f6f385ff2efa60afda45b4ad81e51/inflate.js
107 integrity: sha384-hMg44Hw424mUYvmzKl0JT4J8UU/1YYhTiGRtR0YX/MXNLK9qWTK0d62FBCDGxmxw
108 README.md:
109 src: https://raw.githubusercontent.com/edg2s/Easy-Deflate/7a6056e5302f6f385ff2efa60afda45b4ad81e51/README.md
110 integrity: sha384-6kwcfCLivvqXBZy2ATyya+mTVWLk3eaQyBdC6tbpBtkygnBrM2SNkq3jz/l7IkvP
111
112 html5shiv:
113 type: file
114 src: https://raw.githubusercontent.com/aFarkas/html5shiv/3.7.3/src/html5shiv.js
115 integrity: sha384-RPXhaTf22QktT8KTwZ6bUz/C+7CnccaIw5W/y/t0FW5WSDGj3wc3YtRIJC0w47in
116
117 jquery:
118 type: multi-file
119 files:
120 # Integrities from link modals https://code.jquery.com/jquery/
121 jquery.migrate.js:
122 src: https://code.jquery.com/jquery-migrate-3.0.1.js
123 integrity: sha256-VvnF+Zgpd00LL73P2XULYXEn6ROvoFaa/vbfoiFlZZ4=
124 jquery.js:
125 src: https://code.jquery.com/jquery-3.3.1.js
126 integrity: sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60=
127
128 jquery.chosen:
129 type: multi-file
130 files:
131 LICENSE:
132 src: https://raw.githubusercontent.com/harvesthq/chosen/v1.8.2/LICENSE.md
133 integrity: sha384-hxUqOVbJZTd9clMlf9yV18PjyKQ2rUOCXLgFNYlV/blpyeCyiUCpmVjAmNP0yc8M
134 README.md:
135 src: https://raw.githubusercontent.com/harvesthq/chosen/v1.8.2/README.md
136 integrity: sha384-ps8fQiOF1anPibj6QMNii4OcAbZNcy+dkmdJUZzqBgmfjaPth9YDe0TRIk89lfID
137 # Following files taken from CDN because they're built, and don't exist in the repo
138 chosen-sprite.png:
139 src: https://cdnjs.cloudflare.com/ajax/libs/chosen/1.8.2/chosen-sprite.png
140 integrity: sha384-QL0lDMjIhfcd5uzKEIPehkhx7l0gHWxFo1taNsY2hdDuYdGAadNhiwKueQ91R8KW
141 chosen-sprite@2x.png:
142 src: https://cdnjs.cloudflare.com/ajax/libs/chosen/1.8.2/chosen-sprite%402x.png
143 integrity: sha384-MSDzP+ofFO+lRrCZQn3dztHS/GdR8Ai907bxrRZeuGSi87G8XffEKTxxM99GTvr1
144 chosen.css:
145 src: https://cdnjs.cloudflare.com/ajax/libs/chosen/1.8.2/chosen.css
146 integrity: sha384-VeNz/jFhcqEG5UB40sPZW8Bg8sdtbtXW1038aqBPAZy/z/6j1XsSQjRUJ7NEM3nE
147 chosen.jquery.js:
148 src: https://cdnjs.cloudflare.com/ajax/libs/chosen/1.8.2/chosen.jquery.js
149 integrity: sha384-EzfvMGW4mwDo/InJrmR/UvtxTUUYUA0cfybfS8aqPG1ItoAQYYYDImWl1gaBzMfQ
150
151 jquery.client:
152 type: tar
153 src: https://registry.npmjs.org/jquery-client/-/jquery-client-2.0.2.tgz
154 integrity: sha256-8c8nBbBykHEMc4I7ksdKJvvw/P7WkaC2X46RTPdz/pw=
155 dest:
156 package/AUTHORS.txt:
157 package/jquery.client.js:
158 package/LICENSE-MIT:
159 package/README.md:
160
161 jquery.cookie:
162 type: multi-file
163 files:
164 jquery.cookie.js:
165 src: https://raw.githubusercontent.com/carhartl/jquery-cookie/v1.3.1/jquery.cookie.js
166 integrity: sha384-Xxq63E9KDgzUJ6WPNPqVeOtRIwZyx6y9DzEwY2u6LYKSnWrjSoGtWSKmTindYBf2
167 MIT-LICENSE.txt:
168 src: https://raw.githubusercontent.com/carhartl/jquery-cookie/v1.3.1/MIT-LICENSE.txt
169 integrity: sha384-zYsGf3KJ7S0AhOICjcoh0kkn7aGZlzYUXXX5xz8dwR9KjLMM+/JPR2g/jVOGGeId
170 CHANGELOG.md:
171 src: https://raw.githubusercontent.com/carhartl/jquery-cookie/v1.3.1/CHANGELOG.md
172 integrity: sha384-SQOHhLc7PHxHDQpGE/zv9XfXKL0A7OBu8kuyVDnHVp+zSoWyRw4xUJ+LSm5ql4kS
173
174 jquery.form:
175 type: file
176 src: https://raw.githubusercontent.com/jquery-form/form/ff80d9ddf4/jquery.form.js
177 integrity: sha384-h4G2CrcSbixzMvrrK259cNBYaL/vS1D4+KdUN9NJDzQnTU1bQ6Avluget+Id13M7
178
179 jquery.fullscreen:
180 type: file
181 src: https://raw.githubusercontent.com/theopolisme/jquery-fullscreen/v2.1.0/jquery.fullscreen.js
182 integrity: sha384-G4KPs2d99tgcsyUnJ3eeZ1r2hEKDwZfc4+/xowL/LIemq2VVwEE8HpVAWt4WYNLR
183
184 jquery.hoverIntent:
185 type: file
186 src: https://raw.githubusercontent.com/briancherne/jquery-hoverIntent/823603fdac/jquery.hoverIntent.js
187 integrity: sha384-lca0haN0hqFGGh2aYUhtAgX9dhVHfQnTADH4svDeM6gcXnL7aFGeAi1NYwipDMyS
188
189 jquery.i18n:
190 type: tar
191 src: https://codeload.github.com/wikimedia/jquery.i18n/tar.gz/v1.0.5
192 integrity: sha384-bkmmKC2byOVjTg4di3o6sSISU49JwXynV9gNGH2zl4U9nh8vZJiauiIvoWgvhwsK
193 dest:
194 jquery.i18n-1.0.5/CODE_OF_CONDUCT.md:
195 jquery.i18n-1.0.5/CREDITS:
196 jquery.i18n-1.0.5/GPL-LICENSE:
197 jquery.i18n-1.0.5/MIT-LICENSE:
198 jquery.i18n-1.0.5/README.md:
199 jquery.i18n-1.0.5/src:
200
201 jquery.jStorage:
202 type: file
203 src: https://raw.githubusercontent.com/andris9/jStorage/v0.4.12/jstorage.js
204 integrity: sha384-geMeN8k803kPp6cqRL4VNfuSM1L8DcbKRk0St/KHJzxgpX9S0y9FA6HxA/JgucrJ
205
206 jquery.throttle-debounce:
207 type: file
208 src: https://raw.githubusercontent.com/cowboy/jquery-throttle-debounce/v1.1/jquery.ba-throttle-debounce.js
209 integrity: sha384-ULOy4DbAghrCqRcrTJLXOY9e4gDpWh0BeEf6xMSL0VtNudXWggcb6AmrVrl4KDAP
210
211 # TODO: jquery.ui (!)
212
213 moment:
214 type: tar
215 src: https://codeload.github.com/moment/moment/tar.gz/2.24.0
216 integrity: sha384-2/I9rfqkN8AAgh5wOXXphuo827uV7lMmOodrCfIvqC6W6JKKiDGOwd+lE3e8R0yz
217 dest:
218 moment-2.24.0/moment.js:
219 moment-2.24.0/CHANGELOG.md:
220 moment-2.24.0/README.md:
221 moment-2.24.0/LICENSE:
222 moment-2.24.0/locale/*.js: locale
223
224 mustache:
225 type: multi-file
226 files:
227 mustache.js:
228 src: https://raw.githubusercontent.com/janl/mustache.js/v3.0.1/mustache.js
229 integrity: sha384-YjAj6Nll7fkEWzxTlE9o3NWC9qdZt1Upat6Afjib9eLs8lTODpSKEBHeXq8o/VUH
230 LICENSE:
231 src: https://raw.githubusercontent.com/janl/mustache.js/v3.0.1/LICENSE
232 integrity: sha384-j2EDj6YtCRgFvYDtzo6pXzbskIj/K1Yg65BL0j3/L6UIHxbMtRMJwC/W+XoYx0FZ
233
234 oojs:
235 type: tar
236 src: https://registry.npmjs.org/oojs/-/oojs-3.0.0.tgz
237 integrity: sha256-cNQ5UOHczNGzfEvm6jKM5zcmg3tqFxnJ2UnEOSt9/1M=
238 dest:
239 package/dist/oojs.jquery.js:
240 package/AUTHORS.txt:
241 package/LICENSE-MIT:
242 package/README.md:
243
244 oojs-router:
245 type: tar
246 src: https://registry.npmjs.org/oojs-router/-/oojs-router-0.2.0.tgz
247 integrity: sha384-VngYqdQ3vTDMXbm4e4FUZCCGos7fB0Jkr9V+kBL5MElprK1h0yQZOzBNnMHtSJS/
248 dest:
249 package/dist/oojs-router.js:
250 package/LICENSE:
251 package/AUTHORS.txt:
252 package/History.md:
253
254 ooui:
255 type: tar
256 src: https://registry.npmjs.org/oojs-ui/-/oojs-ui-0.34.1.tgz
257 integrity: sha384-QXYp5vK60xpu4nkv/JStszI6U4TYGCNe7uXb5rYb7FYURLTR41mtNO74gl7HXgpz
258
259 dest:
260 # Main stuff
261 package/dist/oojs-ui-core.js{,.map.json}:
262 package/dist/oojs-ui-core-{wikimediaui,apex}.css:
263 package/dist/oojs-ui-widgets.js{,.map.json}:
264 package/dist/oojs-ui-widgets-{wikimediaui,apex}.css:
265 package/dist/oojs-ui-toolbars.js{,.map.json}:
266 package/dist/oojs-ui-toolbars-{wikimediaui,apex}.css:
267 package/dist/oojs-ui-windows.js{,.map.json}:
268 package/dist/oojs-ui-windows-{wikimediaui,apex}.css:
269 package/dist/oojs-ui-{wikimediaui,apex}.js{,.map.json}:
270 package/dist/i18n:
271 package/dist/images:
272 # WikimediaUI theme
273 package/dist/themes/wikimediaui/images/icons/*.{svg,png}: themes/wikimediaui/images/icons
274 package/dist/themes/wikimediaui/images/indicators/*.{svg,png}: themes/wikimediaui/images/indicators
275 package/dist/themes/wikimediaui/*.json: themes/wikimediaui
276 package/dist/wikimedia-ui-base.less:
277 # Apex theme (icons and indicators)
278 package/dist/themes/apex/*.json: themes/apex
279 # Misc stuff
280 package/dist/AUTHORS.txt:
281 package/dist/History.md:
282 package/dist/LICENSE-MIT:
283 package/dist/README.md:
284
285 qunitjs:
286 type: multi-file
287 # Integrity from link modals at https://code.jquery.com/qunit/
288 files:
289 qunit.js:
290 src: http://code.jquery.com/qunit/qunit-2.9.1.js
291 integrity: sha256-eNccBdxd8zReziWcVjEsPeyJDi3LKMYnzMXyDv8bzsU=
292 qunit.css:
293 src: https://code.jquery.com/qunit/qunit-2.9.1.css
294 integrity: sha256-SSS7o92V7wzcIFg3qnJL9mc4msePaT4klbxtuSGvVVo=
295
296 sinonjs:
297 type: file
298 src: https://sinonjs.org/releases/sinon-1.17.7.js
299 integrity: sha384-wR63Jwy75KqwBfzCmXd6gYws6uj3qV/XMAybzXrkEYGYG3AQ58ZWwr1fVpkHa5e8
300 dest: sinon.js