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.
- package/README.md +355 -62
- package/docs/functional_architecture.md +34 -38
- package/extensions/wiktionary_fr.js +18 -17
- package/jest.config.cjs +2 -2
- package/lib/DOMUtils.js +0 -1
- package/lib/DOMUtils.js.map +1 -1
- package/lib/Downloader.d.ts +39 -31
- package/lib/Downloader.js +418 -349
- package/lib/Downloader.js.map +1 -1
- package/lib/Dump.d.ts +24 -10
- package/lib/Dump.js +95 -50
- package/lib/Dump.js.map +1 -1
- package/lib/Gadgets.d.ts +2 -1
- package/lib/Gadgets.js +7 -5
- package/lib/Gadgets.js.map +1 -1
- package/lib/Logger.d.ts +6 -6
- package/lib/Logger.js +33 -33
- package/lib/Logger.js.map +1 -1
- package/lib/MediaWiki.d.ts +14 -31
- package/lib/MediaWiki.js +119 -172
- package/lib/MediaWiki.js.map +1 -1
- package/lib/RedisStore.d.ts +3 -3
- package/lib/RedisStore.js +21 -23
- package/lib/RedisStore.js.map +1 -1
- package/lib/S3.js +1 -1
- package/lib/S3.js.map +1 -1
- package/lib/Templates.d.ts +3 -10
- package/lib/Templates.js +5 -14
- package/lib/Templates.js.map +1 -1
- package/lib/cli.js +7 -6
- package/lib/cli.js.map +1 -1
- package/lib/config.d.ts +10 -16
- package/lib/config.js +33 -55
- package/lib/config.js.map +1 -1
- package/lib/error.manager.d.ts +2 -2
- package/lib/error.manager.js +42 -49
- package/lib/error.manager.js.map +1 -1
- package/lib/i18n.d.ts +2 -0
- package/lib/i18n.js +53 -0
- package/lib/i18n.js.map +1 -0
- package/lib/mutex.d.ts +2 -1
- package/lib/mutex.js +2 -1
- package/lib/mutex.js.map +1 -1
- package/lib/mwoffliner.lib.js +370 -222
- package/lib/mwoffliner.lib.js.map +1 -1
- package/lib/parameterList.d.ts +20 -8
- package/lib/parameterList.js +30 -18
- package/lib/parameterList.js.map +1 -1
- package/lib/renderers/abstract.renderer.d.ts +48 -55
- package/lib/renderers/abstract.renderer.js +377 -98
- package/lib/renderers/abstract.renderer.js.map +1 -1
- package/lib/renderers/action-parse.renderer.d.ts +22 -3
- package/lib/renderers/action-parse.renderer.js +123 -81
- package/lib/renderers/action-parse.renderer.js.map +1 -1
- package/lib/renderers/renderer.builder.js +6 -69
- package/lib/renderers/renderer.builder.js.map +1 -1
- package/lib/renderers/rendering.context.d.ts +2 -3
- package/lib/renderers/rendering.context.js +6 -14
- package/lib/renderers/rendering.context.js.map +1 -1
- package/lib/sanitize-argument.d.ts +7 -4
- package/lib/sanitize-argument.js +99 -41
- package/lib/sanitize-argument.js.map +1 -1
- package/lib/util/FileManager.d.ts +36 -0
- package/lib/util/FileManager.js +246 -0
- package/lib/util/FileManager.js.map +1 -0
- package/lib/util/RedisKvs.js +4 -4
- package/lib/util/RedisKvs.js.map +1 -1
- package/lib/util/RedisQueue.js +1 -1
- package/lib/util/RedisQueue.js.map +1 -1
- package/lib/util/builders/url/action-parse.director.d.ts +2 -2
- package/lib/util/builders/url/action-parse.director.js +7 -7
- package/lib/util/builders/url/action-parse.director.js.map +1 -1
- package/lib/util/builders/url/api.director.d.ts +2 -4
- package/lib/util/builders/url/api.director.js +10 -17
- package/lib/util/builders/url/api.director.js.map +1 -1
- package/lib/util/builders/url/base.director.d.ts +0 -4
- package/lib/util/builders/url/base.director.js +0 -25
- package/lib/util/builders/url/base.director.js.map +1 -1
- package/lib/util/builders/url/basic.director.d.ts +1 -1
- package/lib/util/builders/url/basic.director.js +1 -1
- package/lib/util/builders/url/web.director.d.ts +1 -1
- package/lib/util/builders/url/web.director.js +2 -2
- package/lib/util/builders/url/web.director.js.map +1 -1
- package/lib/util/categories.d.ts +5 -5
- package/lib/util/categories.js +175 -174
- package/lib/util/categories.js.map +1 -1
- package/lib/util/const.d.ts +4 -8
- package/lib/util/const.js +9 -17
- package/lib/util/const.js.map +1 -1
- package/lib/util/customCssJs.d.ts +6 -0
- package/lib/util/customCssJs.js +70 -0
- package/lib/util/customCssJs.js.map +1 -0
- package/lib/util/dump.d.ts +15 -4
- package/lib/util/dump.js +282 -86
- package/lib/util/dump.js.map +1 -1
- package/lib/util/index.d.ts +1 -1
- package/lib/util/index.js +1 -1
- package/lib/util/index.js.map +1 -1
- package/lib/util/metaData.js.map +1 -1
- package/lib/util/misc.d.ts +23 -13
- package/lib/util/misc.js +90 -59
- package/lib/util/misc.js.map +1 -1
- package/lib/util/mw-api.d.ts +7 -5
- package/lib/util/mw-api.js +167 -221
- package/lib/util/mw-api.js.map +1 -1
- package/lib/util/pageListMainPage.d.ts +3 -0
- package/lib/util/pageListMainPage.js +10 -0
- package/lib/util/pageListMainPage.js.map +1 -0
- package/lib/util/pages.d.ts +30 -0
- package/lib/util/pages.js +146 -0
- package/lib/util/pages.js.map +1 -0
- package/lib/util/rewriteUrls.d.ts +2 -2
- package/lib/util/rewriteUrls.js +33 -31
- package/lib/util/rewriteUrls.js.map +1 -1
- package/lib/util/savePages.d.ts +8 -0
- package/lib/util/savePages.js +182 -0
- package/lib/util/savePages.js.map +1 -0
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/offliner-definition.json +178 -90
- package/package.json +50 -49
- package/res/page_list_home.js +20 -0
- package/res/{article_not_found.svg → page_not_found.svg} +1 -1
- package/res/script.js +30 -45
- package/res/style.css +52 -68
- package/res/templates/download_error_placeholder.html +7 -8
- package/res/templates/javaScript.html +19 -0
- package/res/templates/pageFallback.html +9 -7
- package/res/templates/pageVector2022.html +9 -7
- package/res/templates/pageVectorLegacy.html +9 -7
- package/res/templates/{article_list_home.html → page_list_home.html} +1 -2
- package/translation/ar.json +21 -21
- package/translation/bn.json +1 -1
- package/translation/de.json +46 -19
- package/translation/en.json +54 -21
- package/translation/es.json +17 -19
- package/translation/fi.json +23 -3
- package/translation/fr.json +57 -21
- package/translation/he.json +8 -6
- package/translation/ia.json +19 -19
- package/translation/id.json +13 -13
- package/translation/it.json +13 -8
- package/translation/ko.json +55 -3
- package/translation/lb.json +5 -2
- package/translation/mk.json +5 -5
- package/translation/nl.json +57 -22
- package/translation/or.json +2 -2
- package/translation/pt.json +2 -2
- package/translation/qqq.json +55 -22
- package/translation/ru.json +2 -2
- package/translation/sc.json +2 -2
- package/translation/sk.json +62 -0
- package/translation/sl.json +54 -21
- package/translation/sv.json +20 -19
- package/translation/sw.json +45 -2
- package/translation/zh-hans.json +56 -22
- package/translation/zh-hant.json +26 -19
- package/lib/renderers/abstractDesktop.render.d.ts +0 -12
- package/lib/renderers/abstractDesktop.render.js +0 -67
- package/lib/renderers/abstractDesktop.render.js.map +0 -1
- package/lib/renderers/abstractMobile.render.d.ts +0 -12
- package/lib/renderers/abstractMobile.render.js +0 -54
- package/lib/renderers/abstractMobile.render.js.map +0 -1
- package/lib/renderers/rest-api.renderer.d.ts +0 -7
- package/lib/renderers/rest-api.renderer.js +0 -68
- package/lib/renderers/rest-api.renderer.js.map +0 -1
- package/lib/renderers/visual-editor.renderer.d.ts +0 -7
- package/lib/renderers/visual-editor.renderer.js +0 -76
- package/lib/renderers/visual-editor.renderer.js.map +0 -1
- package/lib/renderers/wikimedia-desktop.renderer.d.ts +0 -4
- package/lib/renderers/wikimedia-desktop.renderer.js +0 -7
- package/lib/renderers/wikimedia-desktop.renderer.js.map +0 -1
- package/lib/renderers/wikimedia-mobile.renderer.d.ts +0 -19
- package/lib/renderers/wikimedia-mobile.renderer.js +0 -243
- package/lib/renderers/wikimedia-mobile.renderer.js.map +0 -1
- package/lib/util/articleListMainPage.d.ts +0 -3
- package/lib/util/articleListMainPage.js +0 -10
- package/lib/util/articleListMainPage.js.map +0 -1
- package/lib/util/articles.d.ts +0 -26
- package/lib/util/articles.js +0 -102
- package/lib/util/articles.js.map +0 -1
- package/lib/util/builders/url/desktop.director.d.ts +0 -8
- package/lib/util/builders/url/desktop.director.js +0 -15
- package/lib/util/builders/url/desktop.director.js.map +0 -1
- package/lib/util/builders/url/mobile.director.d.ts +0 -8
- package/lib/util/builders/url/mobile.director.js +0 -15
- package/lib/util/builders/url/mobile.director.js.map +0 -1
- package/lib/util/builders/url/rest-api.director.d.ts +0 -8
- package/lib/util/builders/url/rest-api.director.js +0 -18
- package/lib/util/builders/url/rest-api.director.js.map +0 -1
- package/lib/util/builders/url/visual-editor.director.d.ts +0 -9
- package/lib/util/builders/url/visual-editor.director.js +0 -18
- package/lib/util/builders/url/visual-editor.director.js.map +0 -1
- package/lib/util/saveArticles.d.ts +0 -8
- package/lib/util/saveArticles.js +0 -411
- package/lib/util/saveArticles.js.map +0 -1
- package/res/article_list_home.js +0 -24
- package/res/content.parsoid.css +0 -196
- package/res/inserted_style.css +0 -45
- package/res/templates/categories.html +0 -11
- package/res/templates/lead_section_wrapper.html +0 -6
- package/res/templates/pageWikimediaDesktop.html +0 -24
- package/res/templates/pageWikimediaMobile.html +0 -24
- package/res/templates/section_wrapper.html +0 -5
- package/res/templates/subcategories.html +0 -23
- package/res/templates/subpages.html +0 -17
- package/res/templates/subsection_wrapper.html +0 -5
- package/res/webpHandler.js +0 -165
- package/res/wm_mobile_override_script.js +0 -15
- package/res/wm_mobile_override_style.css +0 -20
- package/translation/br.json +0 -8
- package/translation/dag.json +0 -9
- package/translation/es-formal.json +0 -29
- package/translation/ha.json +0 -10
- package/translation/hi.json +0 -9
- package/translation/ig.json +0 -10
- package/translation/kaa.json +0 -9
- package/translation/nb.json +0 -9
- package/translation/nqo.json +0 -8
- package/translation/pt-br.json +0 -10
- package/translation/ro.json +0 -9
- package/translation/scn.json +0 -8
- package/translation/sq.json +0 -9
- package/translation/te.json +0 -9
- package/translation/tn.json +0 -9
- package/translation/tr.json +0 -10
package/lib/error.manager.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { downloadErrorPlaceholderTemplate } from './Templates.js';
|
|
2
|
-
import { getRelativeFilePath,
|
|
2
|
+
import { getRelativeFilePath, makeZimPath } from './util/misc.js';
|
|
3
3
|
import MediaWiki from './MediaWiki.js';
|
|
4
|
-
import {
|
|
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: '
|
|
15
|
+
detailsMessageKey: 'DELETED_PAGE',
|
|
16
16
|
displayThirdLine: false,
|
|
17
17
|
isHardFailure: false,
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
|
-
name: 'deleted
|
|
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: [
|
|
26
|
+
rawResponseDataContains: [DELETED_PAGE_ERROR],
|
|
27
27
|
jsonResponseDataContains: null,
|
|
28
|
-
detailsMessageKey: '
|
|
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: '
|
|
41
|
+
detailsMessageKey: 'DELETED_PAGE',
|
|
42
42
|
displayThirdLine: false,
|
|
43
43
|
isHardFailure: false,
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
|
-
name: '
|
|
47
|
-
errorCodes:
|
|
46
|
+
name: 'permission denied error',
|
|
47
|
+
errorCodes: null,
|
|
48
48
|
urlContains: null,
|
|
49
49
|
httpReturnCodes: null,
|
|
50
50
|
contentTypes: null,
|
|
51
|
-
responseIsEmpty: false,
|
|
51
|
+
responseIsEmpty: false,
|
|
52
52
|
rawResponseDataContains: null,
|
|
53
|
-
jsonResponseDataContains:
|
|
54
|
-
detailsMessageKey: '
|
|
55
|
-
displayThirdLine:
|
|
56
|
-
isHardFailure:
|
|
53
|
+
jsonResponseDataContains: [{ key: 'error.code', valueContains: ['permissiondenied'] }],
|
|
54
|
+
detailsMessageKey: 'PERMISSION_DENIED',
|
|
55
|
+
displayThirdLine: false,
|
|
56
|
+
isHardFailure: false,
|
|
57
57
|
},
|
|
58
58
|
{
|
|
59
|
-
name: '
|
|
59
|
+
name: 'category lockdown error',
|
|
60
60
|
errorCodes: null,
|
|
61
|
-
urlContains:
|
|
62
|
-
httpReturnCodes:
|
|
63
|
-
contentTypes:
|
|
61
|
+
urlContains: null,
|
|
62
|
+
httpReturnCodes: null,
|
|
63
|
+
contentTypes: null,
|
|
64
64
|
responseIsEmpty: false,
|
|
65
|
-
rawResponseDataContains:
|
|
66
|
-
jsonResponseDataContains:
|
|
67
|
-
detailsMessageKey: '
|
|
68
|
-
displayThirdLine:
|
|
69
|
-
isHardFailure:
|
|
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: '
|
|
73
|
-
errorCodes:
|
|
74
|
-
urlContains:
|
|
75
|
-
httpReturnCodes:
|
|
76
|
-
contentTypes:
|
|
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:
|
|
80
|
-
detailsMessageKey: '
|
|
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
|
|
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
|
|
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,
|
|
261
|
+
export function renderDownloadError(matchingRule, dump, pageTitle) {
|
|
262
|
+
const pagePath = makeZimPath(pageTitle);
|
|
262
263
|
return downloadErrorPlaceholderTemplate({
|
|
263
|
-
heading: dump.
|
|
264
|
-
relative_file_path: getRelativeFilePath(
|
|
265
|
-
message:
|
|
266
|
-
|
|
267
|
-
|
|
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
|
package/lib/error.manager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.manager.js","sourceRoot":"","sources":["../src/error.manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"error.manager.js","sourceRoot":"","sources":["../src/error.manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AA0BpD,MAAM,aAAa,GAAmB;IACpC;QACE,IAAI,EAAE,iBAAiB;QACvB,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,IAAI;QACjB,eAAe,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACzC,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,uBAAuB,EAAE,IAAI;QAC7B,wBAAwB,EAAE,IAAI;QAC9B,iBAAiB,EAAE,cAAc;QACjC,gBAAgB,EAAE,KAAK;QACvB,aAAa,EAAE,KAAK;KACrB;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,IAAI;QACjB,eAAe,EAAE,IAAI;QACrB,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,uBAAuB,EAAE,CAAC,kBAAkB,CAAC;QAC7C,wBAAwB,EAAE,IAAI;QAC9B,iBAAiB,EAAE,cAAc;QACjC,gBAAgB,EAAE,KAAK;QACvB,aAAa,EAAE,KAAK;KACrB;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,IAAI;QACjB,eAAe,EAAE,IAAI;QACrB,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,uBAAuB,EAAE,IAAI;QAC7B,wBAAwB,EAAE,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;QAClF,iBAAiB,EAAE,cAAc;QACjC,gBAAgB,EAAE,KAAK;QACvB,aAAa,EAAE,KAAK;KACrB;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,IAAI;QACjB,eAAe,EAAE,IAAI;QACrB,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,uBAAuB,EAAE,IAAI;QAC7B,wBAAwB,EAAE,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACtF,iBAAiB,EAAE,mBAAmB;QACtC,gBAAgB,EAAE,KAAK;QACvB,aAAa,EAAE,KAAK;KACrB;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,IAAI;QACjB,eAAe,EAAE,IAAI;QACrB,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,uBAAuB,EAAE,IAAI;QAC7B,wBAAwB,EAAE,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACtF,iBAAiB,EAAE,mBAAmB;QACtC,gBAAgB,EAAE,KAAK;QACvB,aAAa,EAAE,KAAK;KACrB;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,UAAU,EAAE,CAAC,cAAc,CAAC;QAC5B,WAAW,EAAE,IAAI;QACjB,eAAe,EAAE,IAAI;QACrB,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK,EAAE,oEAAoE;QAC5F,uBAAuB,EAAE,IAAI;QAC7B,wBAAwB,EAAE,IAAI;QAC9B,iBAAiB,EAAE,qBAAqB;QACxC,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,IAAI;KACpB;IACD;QACE,IAAI,EAAE,iDAAiD;QACvD,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,CAAC,kCAAkC,CAAC;QACjD,eAAe,EAAE;YACf,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;YACtB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;SACvB;QACD,YAAY,EAAE,CAAC,kBAAkB,CAAC;QAClC,eAAe,EAAE,KAAK;QACtB,uBAAuB,EAAE,IAAI;QAC7B,wBAAwB,EAAE,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,uEAAuE,CAAC,EAAE,CAAC;QAC3I,iBAAiB,EAAE,+BAA+B;QAClD,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,IAAI;KACpB;IACD;QACE,IAAI,EAAE,uCAAuC;QAC7C,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,CAAC,kCAAkC,CAAC;QACjD,eAAe,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACzC,YAAY,EAAE,CAAC,WAAW,CAAC;QAC3B,eAAe,EAAE,KAAK;QACtB,uBAAuB,EAAE,CAAC,iFAAiF,CAAC;QAC5G,wBAAwB,EAAE,IAAI;QAC9B,iBAAiB,EAAE,6BAA6B;QAChD,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,IAAI;KACpB;IACD;QACE,IAAI,EAAE,mDAAmD;QACzD,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,CAAC,kCAAkC,CAAC;QACjD,eAAe,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACzC,YAAY,EAAE,CAAC,kBAAkB,CAAC;QAClC,eAAe,EAAE,KAAK;QACtB,uBAAuB,EAAE,IAAI;QAC7B,wBAAwB,EAAE,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,8DAA8D,CAAC,EAAE,CAAC;QAClI,iBAAiB,EAAE,iCAAiC;QACpD,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,IAAI;KACpB;IACD;QACE,IAAI,EAAE,mDAAmD;QACzD,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,CAAC,kCAAkC,CAAC;QACjD,eAAe,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACzC,YAAY,EAAE,CAAC,kBAAkB,CAAC;QAClC,eAAe,EAAE,KAAK;QACtB,uBAAuB,EAAE,IAAI;QAC7B,wBAAwB,EAAE,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,4DAA4D,CAAC,EAAE,CAAC;QAChI,iBAAiB,EAAE,0CAA0C;QAC7D,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,IAAI;KACpB;IACD;QACE,IAAI,EAAE,iDAAiD;QACvD,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,CAAC,kCAAkC,CAAC;QACjD,eAAe,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACzC,YAAY,EAAE,CAAC,kBAAkB,CAAC;QAClC,eAAe,EAAE,KAAK;QACtB,uBAAuB,EAAE,IAAI;QAC7B,wBAAwB,EAAE,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,0DAA0D,CAAC,EAAE,CAAC;QAC9H,iBAAiB,EAAE,wCAAwC;QAC3D,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,IAAI;KACpB;IACD;QACE,IAAI,EAAE,8DAA8D;QACpE,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,CAAC,kCAAkC,CAAC;QACjD,eAAe,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACzC,YAAY,EAAE,CAAC,kBAAkB,CAAC;QAClC,eAAe,EAAE,KAAK;QACtB,uBAAuB,EAAE,IAAI;QAC7B,wBAAwB,EAAE,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,6EAA6E,CAAC,EAAE,CAAC;QACjJ,iBAAiB,EAAE,8CAA8C;QACjE,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,IAAI;KACpB;IACD;QACE,IAAI,EAAE,mDAAmD;QACzD,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,CAAC,kCAAkC,CAAC;QACjD,eAAe,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACzC,YAAY,EAAE,CAAC,kBAAkB,CAAC;QAClC,eAAe,EAAE,KAAK;QACtB,uBAAuB,EAAE,IAAI;QAC7B,wBAAwB,EAAE,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,0BAA0B,CAAC,EAAE,CAAC;QAC9F,iBAAiB,EAAE,yCAAyC;QAC5D,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,IAAI;KACpB;IACD;QACE,IAAI,EAAE,uDAAuD;QAC7D,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,CAAC,kCAAkC,CAAC;QACjD,eAAe,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACzC,YAAY,EAAE,CAAC,kBAAkB,CAAC;QAClC,eAAe,EAAE,KAAK;QACtB,uBAAuB,EAAE,IAAI;QAC7B,wBAAwB,EAAE,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,6CAA6C,CAAC,EAAE,CAAC;QACjH,iBAAiB,EAAE,+CAA+C;QAClE,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,IAAI;KACpB;IACD;QACE,IAAI,EAAE,gDAAgD;QACtD,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,CAAC,kCAAkC,CAAC;QACjD,eAAe,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACzC,YAAY,EAAE,CAAC,kBAAkB,CAAC;QAClC,eAAe,EAAE,KAAK;QACtB,uBAAuB,EAAE,IAAI;QAC7B,wBAAwB,EAAE,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,8BAA8B,CAAC,EAAE,CAAC;QAClG,iBAAiB,EAAE,sCAAsC;QACzD,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,IAAI;KACpB;IACD;QACE,IAAI,EAAE,sCAAsC;QAC5C,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,CAAC,kCAAkC,CAAC;QACjD,eAAe,EAAE,IAAI;QACrB,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,uBAAuB,EAAE,IAAI;QAC7B,wBAAwB,EAAE,CAAC,EAAE,GAAG,EAAE,mBAAmB,EAAE,aAAa,EAAE,CAAC,2BAA2B,CAAC,EAAE,CAAC;QACtG,iBAAiB,EAAE,iCAAiC;QACpD,gBAAgB,EAAE,KAAK;QACvB,aAAa,EAAE,IAAI;KACpB;IACD;QACE,IAAI,EAAE,wCAAwC;QAC9C,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,CAAC,kCAAkC,CAAC;QACjD,eAAe,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACzC,YAAY,EAAE,CAAC,WAAW,CAAC;QAC3B,eAAe,EAAE,IAAI;QACrB,uBAAuB,EAAE,IAAI;QAC7B,wBAAwB,EAAE,IAAI;QAC9B,iBAAiB,EAAE,iCAAiC;QACpD,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,IAAI;KACpB;CACF,CAAA;AAED,SAAS,SAAS,CAAC,UAAe,EAAE,OAAe,EAAE,aAAuB;IAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC/B,IAAI,OAAO,GAAG,UAAU,CAAA;IACxB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IACD,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAA;AACvF,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAyB;IAC7D,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,IACE,CAAC,CAAC,YAAY,CAAC,WAAW,IAAI,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1H,CAAC,CAAC,YAAY,CAAC,UAAU,IAAI,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;YAC/H,CAAC,CAAC,YAAY,CAAC,eAAe;gBAC5B,YAAY,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,IAAI,cAAc,CAAC,GAAG,IAAI,GAAG,CAAC,cAAc,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACxJ,CAAC,CAAC,YAAY,CAAC,YAAY;gBACzB,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAC/I,CAAC,CAAC,YAAY,CAAC,eAAe,IAAI,GAAG,CAAC,YAAY,KAAK,EAAE,CAAC;YAC1D,CAAC,CAAC,YAAY,CAAC,uBAAuB;gBACpC,YAAY,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,sBAAsB,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,IAAI,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;oBACnK,CAAC,CAAC;YACN,CAAC,CAAC,YAAY,CAAC,wBAAwB;gBACrC,YAAY,CAAC,wBAAwB,CAAC,SAAS,CAC7C,CAAC,uBAAuB,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,uBAAuB,CAAC,GAAG,EAAE,uBAAuB,CAAC,aAAa,CAAC,CACrK,IAAI,CAAC,CAAC,EACT,CAAC;YACD,OAAO,YAAY,CAAA;QACrB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,YAA0B,EAAE,IAAU,EAAE,SAAoB;IAC9F,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAA;IACvC,OAAO,gCAAgC,CAAC;QACtC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,yBAAyB,CAAC;QAC1C,kBAAkB,EAAE,mBAAmB,CAAC,QAAQ,EAAE,EAAE,CAAC;QACrD,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,yBAAyB,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC7F,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,yBAAyB,YAAY,CAAC,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvH,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC;QAC7C,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrF,kBAAkB,EAAE,YAAY,CAAC,gBAAgB;KAClD,CAAC,CAAA;AACJ,CAAC"}
|
package/lib/i18n.d.ts
ADDED
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
|
package/lib/i18n.js.map
ADDED
|
@@ -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
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"}
|