mwoffliner 1.16.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/README.md +1 -1
  2. package/docs/functional_architecture.md +37 -3
  3. package/lib/Downloader.d.ts +2 -2
  4. package/lib/Downloader.js +24 -15
  5. package/lib/Downloader.js.map +1 -1
  6. package/lib/Gadgets.d.ts +1 -8
  7. package/lib/Gadgets.js +2 -8
  8. package/lib/Gadgets.js.map +1 -1
  9. package/lib/MediaWiki.d.ts +76 -10
  10. package/lib/MediaWiki.js +83 -41
  11. package/lib/MediaWiki.js.map +1 -1
  12. package/lib/RedisStore.d.ts +3 -1
  13. package/lib/RedisStore.js +12 -12
  14. package/lib/RedisStore.js.map +1 -1
  15. package/lib/Templates.d.ts +3 -1
  16. package/lib/Templates.js +7 -1
  17. package/lib/Templates.js.map +1 -1
  18. package/lib/cli.js +3 -1
  19. package/lib/cli.js.map +1 -1
  20. package/lib/config.d.ts +6 -0
  21. package/lib/config.js +9 -2
  22. package/lib/config.js.map +1 -1
  23. package/lib/mutex.d.ts +2 -1
  24. package/lib/mutex.js +2 -1
  25. package/lib/mutex.js.map +1 -1
  26. package/lib/mwoffliner.lib.js +55 -30
  27. package/lib/mwoffliner.lib.js.map +1 -1
  28. package/lib/parameterList.d.ts +2 -0
  29. package/lib/parameterList.js +7 -5
  30. package/lib/parameterList.js.map +1 -1
  31. package/lib/renderers/abstract.renderer.d.ts +18 -3
  32. package/lib/renderers/abstract.renderer.js +150 -77
  33. package/lib/renderers/abstract.renderer.js.map +1 -1
  34. package/lib/renderers/abstractDesktop.render.js +13 -6
  35. package/lib/renderers/abstractDesktop.render.js.map +1 -1
  36. package/lib/renderers/abstractMobile.render.js +12 -4
  37. package/lib/renderers/abstractMobile.render.js.map +1 -1
  38. package/lib/renderers/action-parse.renderer.d.ts +2 -1
  39. package/lib/renderers/action-parse.renderer.js +74 -20
  40. package/lib/renderers/action-parse.renderer.js.map +1 -1
  41. package/lib/renderers/rest-api.renderer.js +8 -1
  42. package/lib/renderers/rest-api.renderer.js.map +1 -1
  43. package/lib/renderers/visual-editor.renderer.js +8 -1
  44. package/lib/renderers/visual-editor.renderer.js.map +1 -1
  45. package/lib/renderers/wikimedia-mobile.renderer.js +8 -1
  46. package/lib/renderers/wikimedia-mobile.renderer.js.map +1 -1
  47. package/lib/sanitize-argument.d.ts +1 -1
  48. package/lib/sanitize-argument.js +15 -7
  49. package/lib/sanitize-argument.js.map +1 -1
  50. package/lib/util/RedisKvs.d.ts +13 -0
  51. package/lib/util/RedisKvs.js +14 -2
  52. package/lib/util/RedisKvs.js.map +1 -1
  53. package/lib/util/RedisQueue.d.ts +14 -0
  54. package/lib/util/RedisQueue.js +64 -0
  55. package/lib/util/RedisQueue.js.map +1 -0
  56. package/lib/util/articles.d.ts +4 -0
  57. package/lib/util/articles.js +38 -12
  58. package/lib/util/articles.js.map +1 -1
  59. package/lib/util/builders/url/action-parse.director.js +4 -1
  60. package/lib/util/builders/url/action-parse.director.js.map +1 -1
  61. package/lib/util/builders/url/api.director.d.ts +0 -2
  62. package/lib/util/builders/url/api.director.js +20 -11
  63. package/lib/util/builders/url/api.director.js.map +1 -1
  64. package/lib/util/categories.js +2 -2
  65. package/lib/util/categories.js.map +1 -1
  66. package/lib/util/const.d.ts +2 -2
  67. package/lib/util/const.js +5 -5
  68. package/lib/util/const.js.map +1 -1
  69. package/lib/util/dump.js +18 -14
  70. package/lib/util/dump.js.map +1 -1
  71. package/lib/util/misc.d.ts +7 -1
  72. package/lib/util/misc.js +51 -20
  73. package/lib/util/misc.js.map +1 -1
  74. package/lib/util/mw-api.js +6 -2
  75. package/lib/util/mw-api.js.map +1 -1
  76. package/lib/util/rewriteUrls.d.ts +1 -1
  77. package/lib/util/rewriteUrls.js +30 -25
  78. package/lib/util/rewriteUrls.js.map +1 -1
  79. package/lib/util/saveArticles.d.ts +1 -1
  80. package/lib/util/saveArticles.js +140 -91
  81. package/lib/util/saveArticles.js.map +1 -1
  82. package/lib/version.d.ts +1 -1
  83. package/lib/version.js +1 -1
  84. package/package.json +3 -3
  85. package/res/footer.css +10 -11
  86. package/res/templates/article_list_home.html +9 -10
  87. package/res/templates/html_redirect.html +9 -0
  88. package/res/templates/pageFallback.html +29 -0
  89. package/res/templates/pageVector2022.html +9 -7
  90. package/res/templates/pageVectorLegacy.html +9 -5
  91. package/res/templates/pageWikimediaDesktop.html +8 -8
  92. package/res/templates/pageWikimediaMobile.html +8 -8
  93. package/translation/ar.json +21 -1
  94. package/translation/de.json +2 -1
  95. package/translation/es-formal.json +29 -0
  96. package/translation/es.json +24 -2
  97. package/translation/fi.json +5 -2
  98. package/translation/fr.json +2 -2
  99. package/translation/he.json +4 -1
  100. package/translation/ia.json +21 -1
  101. package/translation/ko.json +2 -1
  102. package/translation/mk.json +4 -2
  103. package/translation/nl.json +22 -2
  104. package/translation/pt.json +4 -2
  105. package/translation/sl.json +22 -2
  106. package/translation/zh-hant.json +10 -2
package/README.md CHANGED
@@ -41,7 +41,7 @@ Run `mwoffliner --help` to get all the possible options.
41
41
 
42
42
  - *NIX Operating System (GNU/Linux, macOS, ...)
43
43
  - [Redis](https://redis.io/)
44
- - [NodeJS](https://nodejs.org/en/) version 22 (we support only one single Node.JS version, other versions might work or not)
44
+ - [NodeJS](https://nodejs.org/en/) version 24 (we support only one single Node.JS version, other versions might work or not)
45
45
  - [Libzim](https://github.com/openzim/libzim) (On GNU/Linux & macOS we automatically download it)
46
46
  - Various build tools which are probably already installed on your
47
47
  machine (packages `libjpeg-dev`, `libglu1`, `autoconf`, `automake`, `gcc` on
@@ -4,6 +4,7 @@ This document describes a high-level overview of how mwoffliner scraper works.
4
4
 
5
5
  At a high level, mwoffliner is divided into following sequence of actions.
6
6
 
7
+ - retrieve Mediawiki info
7
8
  - retrieve list of articles to include and their metadata
8
9
  - for every article:
9
10
  - retrieve its parsed HTML (Wikitext transformed into HTML) and JS/CSS dependencie
@@ -16,7 +17,28 @@ At a high level, mwoffliner is divided into following sequence of actions.
16
17
 
17
18
  The scraper supports flavours, which are variants of the ZIM (e.g. without images, with images but without videos, ...).
18
19
 
19
- The process above is repeated for every flavour requested.
20
+ For now, retrieval of articles and files dependencies is repeated for every flavour requested (even if content probably didn't changed).
21
+
22
+ ## Retrieve Mediawiki info
23
+
24
+ At scraper startup, it retrieves generic data about Mediawiki instance using `action=query` API.
25
+
26
+ Currently, scrape uses this call to retrieve:
27
+
28
+ - from `siteinfo`: `general` info (language, title, mainPage, site name, logo, text direction, ...), `skins` (to detect default skin), `rightsinfo` (to extract the license), `namespaces` and `namespacealiases` to build the list of namespaces
29
+ - from `allmessages`: the `tagline` (subtitle)
30
+
31
+ ## Retrive list of articles to include and their metadata
32
+
33
+ First, the scraper needs a list of article IDs and their details (redirects, ...).
34
+
35
+ "Article ID" refers to the page title with underscores instead of spaces, not the numeric page ID.
36
+
37
+ If user specified the exact list of articles to retrieve, then scraper simply request details about every articles in the list, in batches of about 50 articles (with `action=query&titles=titleX|titleY|...` ; batch sizes may vary due to constraints on query parameters size).
38
+
39
+ Otherwise, the scraper enumerates articles in given namespaces (by default, all content namespaces) with the `allpages` generator, requesting one namespace content at a time (`action=query&generator=allpages&gapnamespace=xx`).
40
+
41
+ The details we retrieve at this stage about every articles are their title, subtitle, revisions, redirects, thumbnail, categories, coordinates (when it applies), text language, text direction and contentmodel (to consider only on wikitext ones).
20
42
 
21
43
  ## Retrieving article HTML and rendering
22
44
 
@@ -36,15 +58,26 @@ Availability of RestApi and VisualEditor is subject to Mediawiki admin decision
36
58
 
37
59
  ActionParse is available since 1.16.0 (2010) and is anyway a requirement for other APIs.
38
60
 
39
- Only ActionParse (most recent renderer) implements a thorough skin support (see below about skin).
61
+ Only ActionParse (most recent renderer at mwoffliner level) implements a thorough skin support (see below about skin).
40
62
 
41
63
  All renderers but ActionParse needs two HTTP queries: one to retrieve the article HTML and one to retrieve its metadata (to a 'simplified' ActionParse URL in fact).
42
64
 
65
+ The article metadata we retrieve at this stage is the article are:
66
+
67
+ - `displaytitle` and `subtitle`
68
+ - `headhtml`: used to extract proper CSS classes we have to set on `<html>` and `<body>` tags + some JS configuration variables which are part of the HTML head
69
+ - `jsconfigvars`: other JS configuration variables which comes from other parts of the Mediawiki codebase
70
+ - `modules`: list of JS and CSS modules to apply on current article
71
+
43
72
  Renderer is automatically selected based on its availability and mwoffliner own preference. ActionParse is the preferred renderer since 1.15.0 due to its general availability and support of skins.
44
73
 
74
+ ### ActionParse parser
75
+
76
+ When using ActionParse renderer, we pass `usearticle=1`, which means that we ask the Mediawiki to use the parser configured for this article. This allows the scraper to retrieve article `text` (inner of the HTML containing the article itself) that is as close as possible to what is used online, either Parsoid or legacy parser (see https://www.mediawiki.org/wiki/Parsoid). This is mandatory because if we use a parser different than the one used online, we will de-facto get bugs which are "normal", either because parser still has a bug, or an extension is not compatible, or because Wikitext contains some workaround understandable only by a given parser. This should be avoided at all price if we want to have a versatile scraper capable of processing any Mediawiki. Even focusing only on Wikimedia wikis, not all of them have already transitioned to Parsoid for instance.
77
+
45
78
  ### Skins
46
79
 
47
- In Mediwikis, rendering of Wikitext into HTML works around a concept of skin. A skin is a mix of HTML template and CSS+JS dependencies. It defines both the visual appareance of the rendered Wikitext but also everything "around it".
80
+ In Mediawikis, rendering of Wikitext into HTML works around a concept of skin. A skin is a mix of HTML template and CSS+JS dependencies. It defines both the visual appareance of the rendered Wikitext but also everything "around it".
48
81
 
49
82
  Since most wikis have adapted their content to their skin (and vice versa), it is mostly mandatory to use the skin inside the ZIM, both for proper rendering and for a visual appareance similar to online website (users don't mind about technical details, they want the wiki to be the same inside the ZIM than online).
50
83
 
@@ -52,6 +85,7 @@ Skin detection is automated in mwoffliner for now (see https://github.com/openzi
52
85
 
53
86
  For now, only `vector` (legacy) and `vector-2022` are supported, and only with ActionParse renderer. Only `vector-2022` is the truely responsive skin, providing ultimate rendering on mostly all screen sizes.
54
87
 
88
+ With ActionParse renderer, other skins have a `fallback` skin implemented in the scraper. This means that the scraper will render the article HTML inside an HTML structure which looks like an expected structure (which comes from `vector` legacy). The consequence is that if the skins uses only article HTML structure to attach CSS rules or JS code, then everything will render fine. If the skins uses HTML structures coming from the "surrounding HTML" (headers, ...) then things will not apply 100% correctly.
55
89
 
56
90
  ### JS / CSS dependencies
57
91
 
@@ -1,6 +1,7 @@
1
1
  import type { BackoffStrategy } from 'backoff';
2
2
  import { AxiosRequestConfig, AxiosResponse } from 'axios';
3
3
  import S3 from './S3.js';
4
+ import { SiteInfoResponse } from './MediaWiki.js';
4
5
  import { Dump } from './Dump.js';
5
6
  import ApiURLDirector from './util/builders/url/api.director.js';
6
7
  import { Renderer } from './renderers/abstract.renderer.js';
@@ -12,7 +13,6 @@ interface DownloaderOpts {
12
13
  s3?: S3;
13
14
  webp: boolean;
14
15
  backoffOptions?: BackoffOptions;
15
- mwWikiPath?: string;
16
16
  insecure?: boolean;
17
17
  }
18
18
  interface BackoffOptions {
@@ -77,7 +77,7 @@ declare class Downloader {
77
77
  getArticleUrl(articleId: string, articleUrlOpts?: RendererArticleOpts): string;
78
78
  getMainPageUrl(articleId: string): string;
79
79
  removeEtagWeakPrefix(etag: string): string;
80
- querySiteInfo(): KVS<any>;
80
+ querySiteInfo(): Promise<SiteInfoResponse>;
81
81
  getArticleDetailsIds(articleIds: string[], shouldGetThumbnail?: boolean): Promise<QueryMwRet>;
82
82
  getArticleDetailsNS(ns: number, gapcontinue?: string): Promise<{
83
83
  gapContinue: string;
package/lib/Downloader.js CHANGED
@@ -132,22 +132,28 @@ class Downloader {
132
132
  failAfter: 10,
133
133
  retryIf: (err) => {
134
134
  const requestedUrl = err.urlCalled || err.config?.url || 'unknown';
135
- if (err instanceof AxiosError && err.code && !['ERR_BAD_REQUEST', 'ERR_BAD_RESPONSE', 'ERR_CANCELED'].includes(err.code)) {
135
+ if (err instanceof AxiosError && err.code && !['ERR_BAD_REQUEST', 'ERR_BAD_RESPONSE'].includes(err.code)) {
136
136
  logger.log(`Retrying ${requestedUrl} URL due to ${err.code} error`);
137
137
  return true; // retry all connection issues
138
138
  }
139
+ if (err.responseData?.error?.code == 'maxlag') {
140
+ logger.log(`Mediawiki server is lagging ${err.responseData?.error?.lag}s; retrying in few seconds`);
141
+ return true; // note that we do not honor Retry-After header value because it is not possible in current code architecture
142
+ }
139
143
  const httpReturnCode = err.response?.status || err.httpReturnCode;
140
- if ([429, 500, 502, 503, 504].includes(httpReturnCode)) {
144
+ if ([429, 500, 502, 503, 504, 524].includes(httpReturnCode)) {
141
145
  logger.log(`Retrying ${requestedUrl} URL due to HTTP ${httpReturnCode} error`);
142
146
  return true; // retry these HTTP status codes
143
147
  }
144
- if ([
145
- 'internal_api_error_DBConnectionError',
146
- 'internal_api_error_DBUnexpectedError',
147
- 'internal_api_error_Wikibase\\DataModel\\Services\\Lookup\\EntityLookupException',
148
- 'internal_api_error_Shellbox\\ShellboxError',
149
- 'internal_api_error_Wikimedia\\FileBackend\\FileBackendError',
150
- ].includes(err.responseData?.error?.code)) {
148
+ if (err.responseData?.error?.code &&
149
+ ![
150
+ 'missingtitle',
151
+ 'readapidenied',
152
+ 'internal_api_error_MediaWiki\\Revision\\BadRevisionException',
153
+ 'internal_api_error_Wikimedia\\Assert\\UnreachableException',
154
+ 'internal_api_error_Wikimedia\\Assert\\InvariantException',
155
+ 'internal_api_error_Wikimedia\\Parsoid\\Core\\ResourceLimitExceededException',
156
+ ].includes(err.responseData?.error?.code)) {
151
157
  logger.log(`Retrying ${requestedUrl} URL due to ${err.responseData?.error?.code} Mediawiki error`);
152
158
  return true; // retry these Mediawiki codes which are known to be transient
153
159
  }
@@ -348,7 +354,7 @@ class Downloader {
348
354
  async getArticle(articleId, articleDetailXId, articleRenderer, articleUrl, dump, articleDetail) {
349
355
  logger.info(`Getting article [${articleId}] from ${articleUrl}`);
350
356
  try {
351
- const { data, moduleDependencies, redirects, displayTitle, bodyCssClass, htmlCssClass } = await articleRenderer.download({
357
+ const { data, moduleDependencies, redirects, displayTitle, articleSubtitle, bodyCssClass, htmlCssClass } = await articleRenderer.download({
352
358
  articleId,
353
359
  articleUrl,
354
360
  articleDetail,
@@ -361,7 +367,7 @@ class Downloader {
361
367
  // from new location to original location. Note that only ActionParse API gives proper redirects info.
362
368
  for (const redirect of redirects) {
363
369
  if (!(await RedisStore.articleDetailXId.exists(redirect.to)) && !(await RedisStore.redirectsXId.exists(redirect.to))) {
364
- RedisStore.redirectsXId.set(redirect.to, { targetId: redirect.from, title: redirect.to });
370
+ RedisStore.redirectsXId.set(redirect.to, { targetId: redirect.from, title: redirect.to, fragment: '' });
365
371
  }
366
372
  }
367
373
  return await articleRenderer.render({
@@ -371,6 +377,7 @@ class Downloader {
371
377
  articleDetailXId,
372
378
  articleDetail,
373
379
  displayTitle,
380
+ articleSubtitle,
374
381
  bodyCssClass,
375
382
  htmlCssClass,
376
383
  dump,
@@ -527,15 +534,13 @@ class Downloader {
527
534
  if (resp.error)
528
535
  logger.log(`Got error from MW Query ${JSON.stringify(resp.warnings, null, '\t')}`);
529
536
  }
530
- async getArticleQueryOpts(includePageimages = false, redirects = false) {
531
- const validNamespaceIds = MediaWiki.namespacesToMirror.map((ns) => MediaWiki.namespaces[ns].num);
537
+ async getArticleQueryOpts(includePageimages = false, followRedirects = false) {
532
538
  const prop = `${includePageimages ? '|pageimages' : ''}${(await MediaWiki.hasCoordinates()) ? '|coordinates' : ''}${MediaWiki.getCategories ? '|categories' : ''}`;
533
539
  return {
534
540
  ...MediaWiki.queryOpts,
535
541
  prop: MediaWiki.queryOpts.prop.concat(prop),
536
- rdnamespace: validNamespaceIds.join('|'),
537
542
  formatversion: '2',
538
- redirects: redirects ? true : undefined,
543
+ redirects: followRedirects ? true : undefined,
539
544
  };
540
545
  }
541
546
  async setArticleSubCategories(articleDetails) {
@@ -580,6 +585,10 @@ class Downloader {
580
585
  };
581
586
  async getImageMimeType(data) {
582
587
  const fileType = await fileTypeFromBuffer(data);
588
+ if (fileType && fileType.mime === 'application/xml') {
589
+ // File type is known to be wrong, might be SVG
590
+ return null;
591
+ }
583
592
  return fileType ? fileType.mime : null;
584
593
  }
585
594
  async getCompressedBody(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"Downloader.js","sourceRoot":"","sources":["../src/Downloader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Downloader.js","sourceRoot":"","sources":["../src/Downloader.ts"],"names":[],"mappings":"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"}
package/lib/Gadgets.d.ts CHANGED
@@ -2,19 +2,12 @@ declare class Gadgets {
2
2
  private static instance;
3
3
  private gadgets;
4
4
  static getInstance(): Gadgets;
5
- fetchGadgets(): Promise<void>;
5
+ setGadgets(gadgets: Gadget[]): void;
6
6
  getActiveGadgetsByType(articleDetail: ArticleDetail): {
7
7
  cssGadgets: any[];
8
8
  jsGadgets: any[];
9
9
  };
10
10
  }
11
- export interface GadgetQueryResult {
12
- batchcomplete: boolean;
13
- query: Query;
14
- }
15
- export interface Query {
16
- gadgets: Gadget[];
17
- }
18
11
  export interface Gadget {
19
12
  id: string;
20
13
  metadata: Metadata;
package/lib/Gadgets.js CHANGED
@@ -1,4 +1,3 @@
1
- import Downloader from './Downloader.js';
2
1
  import * as logger from './Logger.js';
3
2
  import MediaWiki from './MediaWiki.js';
4
3
  class Gadgets {
@@ -10,13 +9,8 @@ class Gadgets {
10
9
  }
11
10
  return Gadgets.instance;
12
11
  }
13
- async fetchGadgets() {
14
- const gadgetsUrl = Downloader.apiUrlDirector.buildGadgetsUrl();
15
- const gadgetsResponse = await Downloader.getJSON(gadgetsUrl);
16
- if (!gadgetsResponse.batchcomplete) {
17
- throw new Error(`Error while fetching gadgets with ${gadgetsUrl}, batch seems to be incomplete, scraper does not expect/support pagination here`);
18
- }
19
- this.gadgets = gadgetsResponse.query?.gadgets;
12
+ setGadgets(gadgets) {
13
+ this.gadgets = gadgets;
20
14
  logger.info(this.gadgets === undefined ? 'Gadgets are not supported on this wiki' : `${this.gadgets.length} gadgets retrieved`);
21
15
  }
22
16
  /*
@@ -1 +1 @@
1
- {"version":3,"file":"Gadgets.js","sourceRoot":"","sources":["../src/Gadgets.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,iBAAiB,CAAA;AACxC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAEtC,MAAM,OAAO;IACH,MAAM,CAAC,QAAQ,CAAS;IACxB,OAAO,CAAsB;IAE9B,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO,CAAC,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAA;QAClC,CAAC;QACD,OAAO,OAAO,CAAC,QAAQ,CAAA;IACzB,CAAC;IAEM,KAAK,CAAC,YAAY;QACvB,MAAM,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC,eAAe,EAAE,CAAA;QAC9D,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,OAAO,CAAoB,UAAU,CAAC,CAAA;QAC/E,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,qCAAqC,UAAU,iFAAiF,CAAC,CAAA;QACnJ,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,OAAO,CAAA;QAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,oBAAoB,CAAC,CAAA;IACjI,CAAC;IAED;;OAEG;IACI,sBAAsB,CAAC,aAA4B;QACxD,MAAM,UAAU,GAAG,EAAE,CAAA;QACrB,MAAM,SAAS,GAAG,EAAE,CAAA;QAEpB,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAA;YACzC,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAA;YACrG,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO,KAAK,CAAA;YACnG,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAA;YAC3H,IAAI,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,IAAI,UAAU,CAAC;gBAAE,OAAO,KAAK,CAAA;YACvJ,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;QAEF,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAA;YACrC,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACxC,iCAAiC;gBACjC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAC/B,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAClC,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC7E,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACvF,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACzE,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC/E,yCAAyC;YACzC,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM;gBAAE,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC9E,CAAC,CAAC,CAAA;QAEF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAA;IAClC,CAAC;CACF;AA8CD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,CAAA;AAElC,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;AACrC,eAAe,OAAkB,CAAA"}
1
+ {"version":3,"file":"Gadgets.js","sourceRoot":"","sources":["../src/Gadgets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAEtC,MAAM,OAAO;IACH,MAAM,CAAC,QAAQ,CAAS;IACxB,OAAO,CAAsB;IAE9B,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO,CAAC,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAA;QAClC,CAAC;QACD,OAAO,OAAO,CAAC,QAAQ,CAAA;IACzB,CAAC;IAEM,UAAU,CAAC,OAAiB;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,oBAAoB,CAAC,CAAA;IACjI,CAAC;IAED;;OAEG;IACI,sBAAsB,CAAC,aAA4B;QACxD,MAAM,UAAU,GAAG,EAAE,CAAA;QACrB,MAAM,SAAS,GAAG,EAAE,CAAA;QAEpB,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAA;YACzC,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAA;YACrG,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO,KAAK,CAAA;YACnG,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAA;YAC3H,IAAI,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,IAAI,UAAU,CAAC;gBAAE,OAAO,KAAK,CAAA;YACvJ,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;QAEF,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAA;YACrC,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACxC,iCAAiC;gBACjC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAC/B,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAClC,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC7E,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACvF,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACzE,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC/E,yCAAyC;YACzC,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM;gBAAE,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC9E,CAAC,CAAC,CAAA;QAEF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAA;IAClC,CAAC;CACF;AAqCD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,CAAA;AAElC,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;AACrC,eAAe,OAAkB,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { Gadget } from './Gadgets.js';
1
2
  import BaseURLDirector from './util/builders/url/base.director.js';
2
3
  import WikimediaDesktopURLDirector from './util/builders/url/desktop.director.js';
3
4
  import WikimediaMobileURLDirector from './util/builders/url/mobile.director.js';
@@ -10,8 +11,69 @@ export interface QueryOpts {
10
11
  prop: string;
11
12
  rdlimit: string;
12
13
  rdnamespace: string | number;
14
+ rdprop: string;
13
15
  redirects?: boolean;
14
16
  formatversion: string;
17
+ maxlag: string;
18
+ }
19
+ export interface SiteInfoResponse {
20
+ batchcomplete: boolean;
21
+ query: SiteInfoQueryResponse;
22
+ warnings?: {
23
+ [key: string]: {
24
+ [key: string]: string;
25
+ };
26
+ };
27
+ }
28
+ export interface SiteInfoQueryResponse {
29
+ general: SiteInfoGeneral;
30
+ skins: SiteInfoSkin[];
31
+ rightsinfo: {
32
+ url: string;
33
+ text: string;
34
+ };
35
+ namespaces: {
36
+ [key: string]: {
37
+ id: number;
38
+ name: string;
39
+ canonical: string;
40
+ content: boolean;
41
+ subpages: boolean;
42
+ };
43
+ };
44
+ namespacealiases: {
45
+ id: number;
46
+ alias: string;
47
+ }[];
48
+ allmessages: {
49
+ name: string;
50
+ content: string;
51
+ }[];
52
+ gadgets?: Gadget[];
53
+ }
54
+ export interface SiteInfoGeneral {
55
+ generator: string;
56
+ mainpage: string;
57
+ mainpageisdomainroot: boolean;
58
+ sitename: string;
59
+ logo: string;
60
+ lang: string;
61
+ rtl: boolean;
62
+ articlepath: string;
63
+ script: string;
64
+ scriptpath: string;
65
+ fallback: {
66
+ code: string;
67
+ }[];
68
+ variants?: {
69
+ code: string;
70
+ }[];
71
+ }
72
+ export interface SiteInfoSkin {
73
+ code: string;
74
+ name: string;
75
+ default?: boolean;
76
+ unusable?: boolean;
15
77
  }
16
78
  declare class MediaWiki {
17
79
  #private;
@@ -41,6 +103,7 @@ declare class MediaWiki {
41
103
  mobileModulePath: string;
42
104
  set username(value: string);
43
105
  set password(value: string);
106
+ get actionApiPath(): string;
44
107
  set actionApiPath(value: string);
45
108
  set restApiPath(value: string);
46
109
  set domain(value: string);
@@ -64,22 +127,25 @@ declare class MediaWiki {
64
127
  private setModuleURL;
65
128
  private setMobileModuleUrl;
66
129
  login(): Promise<void>;
67
- getNamespaces(addNamespaces: number[]): Promise<void>;
130
+ setNamespaces(json: SiteInfoQueryResponse, addNamespaces: number[]): void;
68
131
  extractPageTitleFromHref(href: any): any;
69
132
  getCreatorName(): string;
70
- getSiteInfo(): Promise<{
71
- mainPage: any;
72
- siteName: any;
133
+ getDefaultSkin(skins: SiteInfoSkin[]): string;
134
+ getSiteInfo({ mwWikiPath, mwIndexPhpPath, addNamespaces, mwRestApiPath, mwModulePath, forceSkin, langVariant }?: SiteInfoArgv): Promise<{
135
+ mainPage: string;
136
+ mainPageIsDomainRoot: boolean;
137
+ siteName: string;
73
138
  textDir: string;
74
- langMw: any;
139
+ langMw: string;
140
+ langVar: string;
75
141
  langIso2: any;
76
142
  langIso3: any;
77
- logo: any;
78
- licenseName: any;
79
- licenseUrl: any;
143
+ logo: string;
144
+ licenseName: string;
145
+ licenseUrl: string;
146
+ subTitle: string;
80
147
  }>;
81
- getSubTitle(): Promise<string>;
82
- getMwMetaData(): Promise<MWMetaData>;
148
+ getMwMetaData(argvOpts?: SiteInfoArgv): Promise<MWMetaData>;
83
149
  reset(): void;
84
150
  }
85
151
  declare const _default: MediaWiki;