mwoffliner 1.17.4 → 2.0.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 (227) hide show
  1. package/README.md +355 -62
  2. package/docs/functional_architecture.md +34 -38
  3. package/extensions/wiktionary_fr.js +18 -17
  4. package/jest.config.cjs +2 -2
  5. package/lib/DOMUtils.js +0 -1
  6. package/lib/DOMUtils.js.map +1 -1
  7. package/lib/Downloader.d.ts +39 -31
  8. package/lib/Downloader.js +418 -349
  9. package/lib/Downloader.js.map +1 -1
  10. package/lib/Dump.d.ts +24 -10
  11. package/lib/Dump.js +95 -50
  12. package/lib/Dump.js.map +1 -1
  13. package/lib/Gadgets.d.ts +2 -1
  14. package/lib/Gadgets.js +7 -5
  15. package/lib/Gadgets.js.map +1 -1
  16. package/lib/Logger.d.ts +6 -6
  17. package/lib/Logger.js +33 -33
  18. package/lib/Logger.js.map +1 -1
  19. package/lib/MediaWiki.d.ts +14 -31
  20. package/lib/MediaWiki.js +119 -172
  21. package/lib/MediaWiki.js.map +1 -1
  22. package/lib/RedisStore.d.ts +3 -3
  23. package/lib/RedisStore.js +21 -23
  24. package/lib/RedisStore.js.map +1 -1
  25. package/lib/S3.js +1 -1
  26. package/lib/S3.js.map +1 -1
  27. package/lib/Templates.d.ts +3 -10
  28. package/lib/Templates.js +5 -14
  29. package/lib/Templates.js.map +1 -1
  30. package/lib/cli.js +7 -6
  31. package/lib/cli.js.map +1 -1
  32. package/lib/config.d.ts +10 -16
  33. package/lib/config.js +33 -55
  34. package/lib/config.js.map +1 -1
  35. package/lib/error.manager.d.ts +2 -2
  36. package/lib/error.manager.js +42 -49
  37. package/lib/error.manager.js.map +1 -1
  38. package/lib/i18n.d.ts +2 -0
  39. package/lib/i18n.js +53 -0
  40. package/lib/i18n.js.map +1 -0
  41. package/lib/mutex.d.ts +2 -1
  42. package/lib/mutex.js +2 -1
  43. package/lib/mutex.js.map +1 -1
  44. package/lib/mwoffliner.lib.js +370 -222
  45. package/lib/mwoffliner.lib.js.map +1 -1
  46. package/lib/parameterList.d.ts +20 -8
  47. package/lib/parameterList.js +30 -18
  48. package/lib/parameterList.js.map +1 -1
  49. package/lib/renderers/abstract.renderer.d.ts +48 -55
  50. package/lib/renderers/abstract.renderer.js +377 -98
  51. package/lib/renderers/abstract.renderer.js.map +1 -1
  52. package/lib/renderers/action-parse.renderer.d.ts +22 -3
  53. package/lib/renderers/action-parse.renderer.js +123 -81
  54. package/lib/renderers/action-parse.renderer.js.map +1 -1
  55. package/lib/renderers/renderer.builder.js +6 -69
  56. package/lib/renderers/renderer.builder.js.map +1 -1
  57. package/lib/renderers/rendering.context.d.ts +2 -3
  58. package/lib/renderers/rendering.context.js +6 -14
  59. package/lib/renderers/rendering.context.js.map +1 -1
  60. package/lib/sanitize-argument.d.ts +7 -4
  61. package/lib/sanitize-argument.js +99 -41
  62. package/lib/sanitize-argument.js.map +1 -1
  63. package/lib/util/FileManager.d.ts +36 -0
  64. package/lib/util/FileManager.js +246 -0
  65. package/lib/util/FileManager.js.map +1 -0
  66. package/lib/util/RedisKvs.js +4 -4
  67. package/lib/util/RedisKvs.js.map +1 -1
  68. package/lib/util/RedisQueue.js +1 -1
  69. package/lib/util/RedisQueue.js.map +1 -1
  70. package/lib/util/builders/url/action-parse.director.d.ts +2 -2
  71. package/lib/util/builders/url/action-parse.director.js +7 -7
  72. package/lib/util/builders/url/action-parse.director.js.map +1 -1
  73. package/lib/util/builders/url/api.director.d.ts +2 -4
  74. package/lib/util/builders/url/api.director.js +10 -17
  75. package/lib/util/builders/url/api.director.js.map +1 -1
  76. package/lib/util/builders/url/base.director.d.ts +0 -4
  77. package/lib/util/builders/url/base.director.js +0 -25
  78. package/lib/util/builders/url/base.director.js.map +1 -1
  79. package/lib/util/builders/url/basic.director.d.ts +1 -1
  80. package/lib/util/builders/url/basic.director.js +1 -1
  81. package/lib/util/builders/url/web.director.d.ts +1 -1
  82. package/lib/util/builders/url/web.director.js +2 -2
  83. package/lib/util/builders/url/web.director.js.map +1 -1
  84. package/lib/util/categories.d.ts +5 -5
  85. package/lib/util/categories.js +175 -174
  86. package/lib/util/categories.js.map +1 -1
  87. package/lib/util/const.d.ts +4 -8
  88. package/lib/util/const.js +9 -17
  89. package/lib/util/const.js.map +1 -1
  90. package/lib/util/customCssJs.d.ts +6 -0
  91. package/lib/util/customCssJs.js +70 -0
  92. package/lib/util/customCssJs.js.map +1 -0
  93. package/lib/util/dump.d.ts +15 -4
  94. package/lib/util/dump.js +282 -86
  95. package/lib/util/dump.js.map +1 -1
  96. package/lib/util/index.d.ts +1 -1
  97. package/lib/util/index.js +1 -1
  98. package/lib/util/index.js.map +1 -1
  99. package/lib/util/metaData.js.map +1 -1
  100. package/lib/util/misc.d.ts +23 -13
  101. package/lib/util/misc.js +90 -59
  102. package/lib/util/misc.js.map +1 -1
  103. package/lib/util/mw-api.d.ts +7 -5
  104. package/lib/util/mw-api.js +167 -221
  105. package/lib/util/mw-api.js.map +1 -1
  106. package/lib/util/pageListMainPage.d.ts +3 -0
  107. package/lib/util/pageListMainPage.js +10 -0
  108. package/lib/util/pageListMainPage.js.map +1 -0
  109. package/lib/util/pages.d.ts +30 -0
  110. package/lib/util/pages.js +146 -0
  111. package/lib/util/pages.js.map +1 -0
  112. package/lib/util/rewriteUrls.d.ts +2 -2
  113. package/lib/util/rewriteUrls.js +33 -31
  114. package/lib/util/rewriteUrls.js.map +1 -1
  115. package/lib/util/savePages.d.ts +8 -0
  116. package/lib/util/savePages.js +182 -0
  117. package/lib/util/savePages.js.map +1 -0
  118. package/lib/version.d.ts +1 -1
  119. package/lib/version.js +1 -1
  120. package/lib/version.js.map +1 -1
  121. package/offliner-definition.json +178 -90
  122. package/package.json +50 -49
  123. package/res/page_list_home.js +20 -0
  124. package/res/{article_not_found.svg → page_not_found.svg} +1 -1
  125. package/res/script.js +30 -45
  126. package/res/style.css +52 -68
  127. package/res/templates/download_error_placeholder.html +7 -8
  128. package/res/templates/javaScript.html +19 -0
  129. package/res/templates/pageFallback.html +9 -7
  130. package/res/templates/pageVector2022.html +9 -7
  131. package/res/templates/pageVectorLegacy.html +9 -7
  132. package/res/templates/{article_list_home.html → page_list_home.html} +1 -2
  133. package/translation/ar.json +21 -21
  134. package/translation/bn.json +1 -1
  135. package/translation/de.json +46 -19
  136. package/translation/en.json +54 -21
  137. package/translation/es.json +17 -19
  138. package/translation/fi.json +23 -3
  139. package/translation/fr.json +57 -21
  140. package/translation/he.json +8 -6
  141. package/translation/ia.json +19 -19
  142. package/translation/id.json +13 -13
  143. package/translation/it.json +13 -8
  144. package/translation/ko.json +55 -3
  145. package/translation/lb.json +5 -2
  146. package/translation/mk.json +5 -5
  147. package/translation/nl.json +57 -22
  148. package/translation/or.json +2 -2
  149. package/translation/pt.json +2 -2
  150. package/translation/qqq.json +55 -22
  151. package/translation/ru.json +2 -2
  152. package/translation/sc.json +2 -2
  153. package/translation/sk.json +62 -0
  154. package/translation/sl.json +54 -21
  155. package/translation/sv.json +20 -19
  156. package/translation/sw.json +45 -2
  157. package/translation/zh-hans.json +56 -22
  158. package/translation/zh-hant.json +26 -19
  159. package/lib/renderers/abstractDesktop.render.d.ts +0 -12
  160. package/lib/renderers/abstractDesktop.render.js +0 -67
  161. package/lib/renderers/abstractDesktop.render.js.map +0 -1
  162. package/lib/renderers/abstractMobile.render.d.ts +0 -12
  163. package/lib/renderers/abstractMobile.render.js +0 -54
  164. package/lib/renderers/abstractMobile.render.js.map +0 -1
  165. package/lib/renderers/rest-api.renderer.d.ts +0 -7
  166. package/lib/renderers/rest-api.renderer.js +0 -68
  167. package/lib/renderers/rest-api.renderer.js.map +0 -1
  168. package/lib/renderers/visual-editor.renderer.d.ts +0 -7
  169. package/lib/renderers/visual-editor.renderer.js +0 -76
  170. package/lib/renderers/visual-editor.renderer.js.map +0 -1
  171. package/lib/renderers/wikimedia-desktop.renderer.d.ts +0 -4
  172. package/lib/renderers/wikimedia-desktop.renderer.js +0 -7
  173. package/lib/renderers/wikimedia-desktop.renderer.js.map +0 -1
  174. package/lib/renderers/wikimedia-mobile.renderer.d.ts +0 -19
  175. package/lib/renderers/wikimedia-mobile.renderer.js +0 -243
  176. package/lib/renderers/wikimedia-mobile.renderer.js.map +0 -1
  177. package/lib/util/articleListMainPage.d.ts +0 -3
  178. package/lib/util/articleListMainPage.js +0 -10
  179. package/lib/util/articleListMainPage.js.map +0 -1
  180. package/lib/util/articles.d.ts +0 -26
  181. package/lib/util/articles.js +0 -102
  182. package/lib/util/articles.js.map +0 -1
  183. package/lib/util/builders/url/desktop.director.d.ts +0 -8
  184. package/lib/util/builders/url/desktop.director.js +0 -15
  185. package/lib/util/builders/url/desktop.director.js.map +0 -1
  186. package/lib/util/builders/url/mobile.director.d.ts +0 -8
  187. package/lib/util/builders/url/mobile.director.js +0 -15
  188. package/lib/util/builders/url/mobile.director.js.map +0 -1
  189. package/lib/util/builders/url/rest-api.director.d.ts +0 -8
  190. package/lib/util/builders/url/rest-api.director.js +0 -18
  191. package/lib/util/builders/url/rest-api.director.js.map +0 -1
  192. package/lib/util/builders/url/visual-editor.director.d.ts +0 -9
  193. package/lib/util/builders/url/visual-editor.director.js +0 -18
  194. package/lib/util/builders/url/visual-editor.director.js.map +0 -1
  195. package/lib/util/saveArticles.d.ts +0 -8
  196. package/lib/util/saveArticles.js +0 -411
  197. package/lib/util/saveArticles.js.map +0 -1
  198. package/res/article_list_home.js +0 -24
  199. package/res/content.parsoid.css +0 -196
  200. package/res/inserted_style.css +0 -45
  201. package/res/templates/categories.html +0 -11
  202. package/res/templates/lead_section_wrapper.html +0 -6
  203. package/res/templates/pageWikimediaDesktop.html +0 -24
  204. package/res/templates/pageWikimediaMobile.html +0 -24
  205. package/res/templates/section_wrapper.html +0 -5
  206. package/res/templates/subcategories.html +0 -23
  207. package/res/templates/subpages.html +0 -17
  208. package/res/templates/subsection_wrapper.html +0 -5
  209. package/res/webpHandler.js +0 -165
  210. package/res/wm_mobile_override_script.js +0 -15
  211. package/res/wm_mobile_override_style.css +0 -20
  212. package/translation/br.json +0 -8
  213. package/translation/dag.json +0 -9
  214. package/translation/es-formal.json +0 -29
  215. package/translation/ha.json +0 -10
  216. package/translation/hi.json +0 -9
  217. package/translation/ig.json +0 -10
  218. package/translation/kaa.json +0 -9
  219. package/translation/nb.json +0 -9
  220. package/translation/nqo.json +0 -8
  221. package/translation/pt-br.json +0 -10
  222. package/translation/ro.json +0 -9
  223. package/translation/scn.json +0 -8
  224. package/translation/sq.json +0 -9
  225. package/translation/te.json +0 -9
  226. package/translation/tn.json +0 -9
  227. package/translation/tr.json +0 -10
@@ -1,7 +1,7 @@
1
1
  import { downloadErrorPlaceholderTemplate } from './Templates.js';
2
- import { getRelativeFilePath, interpolateTranslationString } from './util/misc.js';
2
+ import { getRelativeFilePath, makeZimPath } from './util/misc.js';
3
3
  import MediaWiki from './MediaWiki.js';
4
- import { DELETED_ARTICLE_ERROR } from './util/const.js';
4
+ import { DELETED_PAGE_ERROR } from './util/const.js';
5
5
  const matchingRules = [
6
6
  {
7
7
  name: '404 return code',
@@ -12,20 +12,20 @@ const matchingRules = [
12
12
  responseIsEmpty: false,
13
13
  rawResponseDataContains: null,
14
14
  jsonResponseDataContains: null,
15
- detailsMessageKey: 'DELETED_ARTICLE',
15
+ detailsMessageKey: 'DELETED_PAGE',
16
16
  displayThirdLine: false,
17
17
  isHardFailure: false,
18
18
  },
19
19
  {
20
- name: 'deleted article error',
20
+ name: 'deleted page error',
21
21
  errorCodes: null,
22
22
  urlContains: null,
23
23
  httpReturnCodes: null,
24
24
  contentTypes: null,
25
25
  responseIsEmpty: false,
26
- rawResponseDataContains: [DELETED_ARTICLE_ERROR],
26
+ rawResponseDataContains: [DELETED_PAGE_ERROR],
27
27
  jsonResponseDataContains: null,
28
- detailsMessageKey: 'DELETED_ARTICLE',
28
+ detailsMessageKey: 'DELETED_PAGE',
29
29
  displayThirdLine: false,
30
30
  isHardFailure: false,
31
31
  },
@@ -38,46 +38,46 @@ const matchingRules = [
38
38
  responseIsEmpty: false,
39
39
  rawResponseDataContains: null,
40
40
  jsonResponseDataContains: [{ key: 'error.code', valueContains: ['missingtitle'] }],
41
- detailsMessageKey: 'DELETED_ARTICLE',
41
+ detailsMessageKey: 'DELETED_PAGE',
42
42
  displayThirdLine: false,
43
43
  isHardFailure: false,
44
44
  },
45
45
  {
46
- name: 'Client-side timeout',
47
- errorCodes: ['ERR_CANCELED'],
46
+ name: 'permission denied error',
47
+ errorCodes: null,
48
48
  urlContains: null,
49
49
  httpReturnCodes: null,
50
50
  contentTypes: null,
51
- responseIsEmpty: false, // we don't mind if response is empty or not, even if it probably is
51
+ responseIsEmpty: false,
52
52
  rawResponseDataContains: null,
53
- jsonResponseDataContains: null,
54
- detailsMessageKey: 'CLIENT_SIDE_TIMEOUT',
55
- displayThirdLine: true,
56
- isHardFailure: true,
53
+ jsonResponseDataContains: [{ key: 'error.code', valueContains: ['permissiondenied'] }],
54
+ detailsMessageKey: 'PERMISSION_DENIED',
55
+ displayThirdLine: false,
56
+ isHardFailure: false,
57
57
  },
58
58
  {
59
- name: 'WikimediaDesktop API - HTML 500 error',
59
+ name: 'category lockdown error',
60
60
  errorCodes: null,
61
- urlContains: ['/api/rest_v1/page/html/'],
62
- httpReturnCodes: [{ min: 500, max: 500 }],
63
- contentTypes: ['text/html'],
61
+ urlContains: null,
62
+ httpReturnCodes: null,
63
+ contentTypes: null,
64
64
  responseIsEmpty: false,
65
- rawResponseDataContains: ['Our servers are currently under maintenance or experiencing a technical issue'],
66
- jsonResponseDataContains: null,
67
- detailsMessageKey: 'WIKIMEDIA_DESKTOP_API_HTML_500_ERROR',
68
- displayThirdLine: true,
69
- isHardFailure: true,
65
+ rawResponseDataContains: null,
66
+ jsonResponseDataContains: [{ key: 'error.code', valueContains: ['categorylockdown'] }],
67
+ detailsMessageKey: 'CATEGORY_LOCKDOWN',
68
+ displayThirdLine: false,
69
+ isHardFailure: false,
70
70
  },
71
71
  {
72
- name: 'WikimediaDesktop API - JSON 504 Upstream Request Timeout',
73
- errorCodes: null,
74
- urlContains: ['/api/rest_v1/page/html/'],
75
- httpReturnCodes: [{ min: 504, max: 504 }],
76
- contentTypes: ['application/json'],
77
- responseIsEmpty: false,
72
+ name: 'Client-side timeout',
73
+ errorCodes: ['ERR_CANCELED'],
74
+ urlContains: null,
75
+ httpReturnCodes: null,
76
+ contentTypes: null,
77
+ responseIsEmpty: false, // we don't mind if response is empty or not, even if it probably is
78
78
  rawResponseDataContains: null,
79
- jsonResponseDataContains: [{ key: 'httpReason', valueContains: ['upstream request timeout'] }],
80
- detailsMessageKey: 'WIKIMEDIA_DESKTOP_API_HTML_504_UPSTREAM_TIMEOUT',
79
+ jsonResponseDataContains: null,
80
+ detailsMessageKey: 'CLIENT_SIDE_TIMEOUT',
81
81
  displayThirdLine: true,
82
82
  isHardFailure: true,
83
83
  },
@@ -247,34 +247,27 @@ export function findFirstMatchingRule(err) {
247
247
  matchingRule.httpReturnCodes.findIndex((httpReturnCode) => err.httpReturnCode >= httpReturnCode.min && err.httpReturnCode <= httpReturnCode.max) >= 0) &&
248
248
  (!matchingRule.contentTypes ||
249
249
  matchingRule.contentTypes.findIndex((contentType) => (err.responseContentType || '').toLowerCase().includes(contentType.toLowerCase())) >= 0) &&
250
- (!matchingRule.responseIsEmpty || err.responseData == '') &&
250
+ (!matchingRule.responseIsEmpty || err.responseData === '') &&
251
251
  (!matchingRule.rawResponseDataContains ||
252
- matchingRule.rawResponseDataContains.findIndex((rawResponseDataContain) => typeof err.responseData == 'string' && err.responseData.includes(rawResponseDataContain)) >=
252
+ matchingRule.rawResponseDataContains.findIndex((rawResponseDataContain) => typeof err.responseData === 'string' && err.responseData.includes(rawResponseDataContain)) >=
253
253
  0) &&
254
254
  (!matchingRule.jsonResponseDataContains ||
255
- matchingRule.jsonResponseDataContains.findIndex((jsonResponseDataContain) => typeof err.responseData == 'object' && jsonMatch(err.responseData, jsonResponseDataContain.key, jsonResponseDataContain.valueContains)) >= 0)) {
255
+ matchingRule.jsonResponseDataContains.findIndex((jsonResponseDataContain) => typeof err.responseData === 'object' && jsonMatch(err.responseData, jsonResponseDataContain.key, jsonResponseDataContain.valueContains)) >= 0)) {
256
256
  return matchingRule;
257
257
  }
258
258
  }
259
259
  return null;
260
260
  }
261
- export function renderDownloadError(matchingRule, dump, articleId, articleTitle) {
261
+ export function renderDownloadError(matchingRule, dump, pageTitle) {
262
+ const pagePath = makeZimPath(pageTitle);
262
263
  return downloadErrorPlaceholderTemplate({
263
- heading: dump.strings.DOWNLOAD_ERRORS_HEADING,
264
- relative_file_path: getRelativeFilePath(articleId, ''),
265
- message: interpolateTranslationString(dump.strings.DOWNLOAD_ERRORS_MESSAGE, {
266
- articleTitle: articleTitle,
267
- server: MediaWiki.baseUrl.hostname,
268
- }),
269
- advice_line1: interpolateTranslationString(dump.strings[`DOWNLOAD_ERRORS_LINE1_${matchingRule.detailsMessageKey}`], {
270
- server: MediaWiki.baseUrl.hostname,
271
- }),
272
- advice_line2: dump.strings.DOWNLOAD_ERRORS_LINE2,
273
- advice_line3: interpolateTranslationString(dump.strings.DOWNLOAD_ERRORS_LINE3, {
274
- server: MediaWiki.baseUrl.hostname,
275
- }),
264
+ heading: dump.t('DOWNLOAD_ERRORS_HEADING'),
265
+ relative_file_path: getRelativeFilePath(pagePath, ''),
266
+ message: dump.t('DOWNLOAD_ERRORS_MESSAGE', { pageTitle, server: MediaWiki.baseUrl.hostname }),
267
+ advice_line1: dump.t(`DOWNLOAD_ERRORS_LINE1_${matchingRule.detailsMessageKey}`, { server: MediaWiki.baseUrl.hostname }),
268
+ advice_line2: dump.t('DOWNLOAD_ERRORS_LINE2'),
269
+ advice_line3: dump.t('DOWNLOAD_ERRORS_LINE3', { server: MediaWiki.baseUrl.hostname }),
276
270
  display_third_line: matchingRule.displayThirdLine,
277
- strings: dump.strings,
278
271
  });
279
272
  }
280
273
  //# sourceMappingURL=error.manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.manager.js","sourceRoot":"","sources":["../src/error.manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error.manager.js","sourceRoot":"","sources":["../src/error.manager.ts"],"names":[],"mappings":"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"}
package/lib/i18n.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export type Translator = (key: string, options?: Record<string, unknown>) => string;
2
+ export declare function createTranslator(lang: string, fallbackLang?: string): Promise<Translator>;
package/lib/i18n.js ADDED
@@ -0,0 +1,53 @@
1
+ import i18next from 'i18next';
2
+ import fs from 'fs';
3
+ import path from 'path';
4
+ import { fileURLToPath } from 'url';
5
+ import * as logger from './Logger.js';
6
+ const __filename = fileURLToPath(import.meta.url);
7
+ const __dirname = path.dirname(__filename);
8
+ const PLURAL_CATEGORIES = new Set(['zero', 'one', 'two', 'few', 'many', 'other']);
9
+ function flattenPlurals(data) {
10
+ const result = {};
11
+ for (const [key, value] of Object.entries(data)) {
12
+ if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
13
+ const nested = value;
14
+ const nestedKeys = Object.keys(nested);
15
+ if (nestedKeys.length > 0 && nestedKeys.every((k) => PLURAL_CATEGORIES.has(k))) {
16
+ for (const [pluralKey, pluralValue] of Object.entries(nested)) {
17
+ result[`${key}_${pluralKey}`] = String(pluralValue);
18
+ }
19
+ continue;
20
+ }
21
+ }
22
+ result[key] = String(value);
23
+ }
24
+ return result;
25
+ }
26
+ function loadTranslation(lang) {
27
+ try {
28
+ const fileContents = fs.readFileSync(path.join(__dirname, `../translation/${lang}.json`)).toString();
29
+ const data = JSON.parse(fileContents);
30
+ delete data['@metadata'];
31
+ return flattenPlurals(data);
32
+ }
33
+ catch {
34
+ logger.warn(`Couldn't find strings file for [${lang}]`);
35
+ return {};
36
+ }
37
+ }
38
+ export async function createTranslator(lang, fallbackLang = 'en') {
39
+ // Merge fallback first then primary language (primary keys override fallback),
40
+ // replicating the same strategy as the previous getStringsForLang helper.
41
+ const merged = { ...loadTranslation(fallbackLang) };
42
+ if (lang !== fallbackLang) {
43
+ Object.assign(merged, loadTranslation(lang));
44
+ }
45
+ const instance = i18next.createInstance();
46
+ await instance.init({
47
+ lng: lang,
48
+ resources: { [lang]: { translation: merged } },
49
+ interpolation: { escapeValue: false },
50
+ });
51
+ return (key, options) => instance.t(key, options);
52
+ }
53
+ //# sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"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"}
package/lib/mutex.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { Mutex } from 'async-mutex';
2
2
  declare const zimCreatorMutex: Mutex;
3
+ declare const fileAddMutex: Mutex;
3
4
  declare const fileDownloadMutex: Mutex;
4
- export { zimCreatorMutex, fileDownloadMutex };
5
+ export { zimCreatorMutex, fileAddMutex, fileDownloadMutex };
package/lib/mutex.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { Mutex } from 'async-mutex';
2
2
  const zimCreatorMutex = new Mutex();
3
+ const fileAddMutex = new Mutex();
3
4
  const fileDownloadMutex = new Mutex();
4
- export { zimCreatorMutex, fileDownloadMutex };
5
+ export { zimCreatorMutex, fileAddMutex, fileDownloadMutex };
5
6
  //# sourceMappingURL=mutex.js.map
package/lib/mutex.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mutex.js","sourceRoot":"","sources":["../src/mutex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEnC,MAAM,eAAe,GAAG,IAAI,KAAK,EAAE,CAAA;AACnC,MAAM,iBAAiB,GAAG,IAAI,KAAK,EAAE,CAAA;AAErC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAA"}
1
+ {"version":3,"file":"mutex.js","sourceRoot":"","sources":["../src/mutex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEnC,MAAM,eAAe,GAAG,IAAI,KAAK,EAAE,CAAA;AACnC,MAAM,YAAY,GAAG,IAAI,KAAK,EAAE,CAAA;AAChC,MAAM,iBAAiB,GAAG,IAAI,KAAK,EAAE,CAAA;AAErC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAA"}